diff -Nru shared-mime-info-1.15/ABOUT-NLS shared-mime-info-2.0/ABOUT-NLS --- shared-mime-info-1.15/ABOUT-NLS 2019-09-11 10:53:09.000000000 +0000 +++ shared-mime-info-2.0/ABOUT-NLS 1970-01-01 00:00:00.000000000 +0000 @@ -1,1379 +0,0 @@ -1 Notes on the Free Translation Project -*************************************** - -Free software is going international! The Free Translation Project is a -way to get maintainers of free software, translators, and users all -together, so that free software will gradually become able to speak many -languages. A few packages already provide translations for their -messages. - - If you found this 'ABOUT-NLS' file inside a distribution, you may -assume that the distributed package does use GNU 'gettext' internally, -itself available at your nearest GNU archive site. But you do _not_ -need to install GNU 'gettext' prior to configuring, installing or using -this package with messages translated. - - Installers will find here some useful hints. These notes also -explain how users should proceed for getting the programs to use the -available translations. They tell how people wanting to contribute and -work on translations can contact the appropriate team. - -1.1 INSTALL Matters -=================== - -Some packages are "localizable" when properly installed; the programs -they contain can be made to speak your own native language. Most such -packages use GNU 'gettext'. Other packages have their own ways to -internationalization, predating GNU 'gettext'. - - By default, this package will be installed to allow translation of -messages. It will automatically detect whether the system already -provides the GNU 'gettext' functions. Installers may use special -options at configuration time for changing the default behaviour. The -command: - - ./configure --disable-nls - -will _totally_ disable translation of messages. - - When you already have GNU 'gettext' installed on your system and run -configure without an option for your new package, 'configure' will -probably detect the previously built and installed 'libintl' library and -will decide to use it. If not, you may have to to use the -'--with-libintl-prefix' option to tell 'configure' where to look for it. - - Internationalized packages usually have many 'po/LL.po' files, where -LL gives an ISO 639 two-letter code identifying the language. Unless -translations have been forbidden at 'configure' time by using the -'--disable-nls' switch, all available translations are installed -together with the package. However, the environment variable 'LINGUAS' -may be set, prior to configuration, to limit the installed set. -'LINGUAS' should then contain a space separated list of two-letter -codes, stating which languages are allowed. - -1.2 Using This Package -====================== - -As a user, if your language has been installed for this package, you -only have to set the 'LANG' environment variable to the appropriate -'LL_CC' combination. If you happen to have the 'LC_ALL' or some other -'LC_xxx' environment variables set, you should unset them before setting -'LANG', otherwise the setting of 'LANG' will not have the desired -effect. Here 'LL' is an ISO 639 two-letter language code, and 'CC' is -an ISO 3166 two-letter country code. For example, let's suppose that -you speak German and live in Germany. At the shell prompt, merely -execute 'setenv LANG de_DE' (in 'csh'), 'export LANG; LANG=de_DE' (in -'sh') or 'export LANG=de_DE' (in 'bash'). This can be done from your -'.login' or '.profile' file, once and for all. - - You might think that the country code specification is redundant. -But in fact, some languages have dialects in different countries. For -example, 'de_AT' is used for Austria, and 'pt_BR' for Brazil. The -country code serves to distinguish the dialects. - - The locale naming convention of 'LL_CC', with 'LL' denoting the -language and 'CC' denoting the country, is the one use on systems based -on GNU libc. On other systems, some variations of this scheme are used, -such as 'LL' or 'LL_CC.ENCODING'. You can get the list of locales -supported by your system for your language by running the command -'locale -a | grep '^LL''. - - Not all programs have translations for all languages. By default, an -English message is shown in place of a nonexistent translation. If you -understand other languages, you can set up a priority list of languages. -This is done through a different environment variable, called -'LANGUAGE'. GNU 'gettext' gives preference to 'LANGUAGE' over 'LANG' -for the purpose of message handling, but you still need to have 'LANG' -set to the primary language; this is required by other parts of the -system libraries. For example, some Swedish users who would rather read -translations in German than English for when Swedish is not available, -set 'LANGUAGE' to 'sv:de' while leaving 'LANG' to 'sv_SE'. - - Special advice for Norwegian users: The language code for Norwegian -bokma*l changed from 'no' to 'nb' recently (in 2003). During the -transition period, while some message catalogs for this language are -installed under 'nb' and some older ones under 'no', it's recommended -for Norwegian users to set 'LANGUAGE' to 'nb:no' so that both newer and -older translations are used. - - In the 'LANGUAGE' environment variable, but not in the 'LANG' -environment variable, 'LL_CC' combinations can be abbreviated as 'LL' to -denote the language's main dialect. For example, 'de' is equivalent to -'de_DE' (German as spoken in Germany), and 'pt' to 'pt_PT' (Portuguese -as spoken in Portugal) in this context. - -1.3 Translating Teams -===================== - -For the Free Translation Project to be a success, we need interested -people who like their own language and write it well, and who are also -able to synergize with other translators speaking the same language. -Each translation team has its own mailing list. The up-to-date list of -teams can be found at the Free Translation Project's homepage, -'http://translationproject.org/', in the "Teams" area. - - If you'd like to volunteer to _work_ at translating messages, you -should become a member of the translating team for your own language. -The subscribing address is _not_ the same as the list itself, it has -'-request' appended. For example, speakers of Swedish can send a -message to 'sv-request@li.org', having this message body: - - subscribe - - Keep in mind that team members are expected to participate _actively_ -in translations, or at solving translational difficulties, rather than -merely lurking around. If your team does not exist yet and you want to -start one, or if you are unsure about what to do or how to get started, -please write to 'coordinator@translationproject.org' to reach the -coordinator for all translator teams. - - The English team is special. It works at improving and uniformizing -the terminology in use. Proven linguistic skills are praised more than -programming skills, here. - -1.4 Available Packages -====================== - -Languages are not equally supported in all packages. The following -matrix shows the current state of internationalization, as of Jun 2014. -The matrix shows, in regard of each package, for which languages PO -files have been submitted to translation coordination, with a -translation percentage of at least 50%. - - Ready PO files af am an ar as ast az be bg bn bn_IN bs ca crh cs - +---------------------------------------------------+ - a2ps | [] [] [] | - aegis | | - anubis | | - aspell | [] [] [] | - bash | [] [] [] | - bfd | | - binutils | [] | - bison | | - bison-runtime | [] | - buzztrax | [] | - ccd2cue | | - ccide | | - cflow | | - clisp | | - coreutils | [] [] | - cpio | | - cppi | | - cpplib | [] | - cryptsetup | [] | - datamash | | - denemo | [] [] | - dfarc | [] | - dialog | [] [] [] | - dico | | - diffutils | [] | - dink | [] | - direvent | | - doodle | [] | - dos2unix | | - dos2unix-man | | - e2fsprogs | [] [] | - enscript | [] | - exif | [] | - fetchmail | [] [] | - findutils | [] | - flex | [] | - freedink | [] [] | - fusionforge | | - gas | | - gawk | [] | - gcal | [] | - gcc | | - gdbm | | - gettext-examples | [] [] [] [] [] | - gettext-runtime | [] [] [] | - gettext-tools | [] [] | - gjay | | - glunarclock | [] [] [] | - gnubiff | [] | - gnubik | [] | - gnucash | () () [] | - gnuchess | | - gnulib | [] | - gnunet | | - gnunet-gtk | | - gold | | - gphoto2 | [] | - gprof | [] | - gramadoir | | - grep | [] [] [] | - grub | [] | - gsasl | | - gss | | - gst-plugins-bad | [] [] | - gst-plugins-base | [] [] [] | - gst-plugins-good | [] [] [] | - gst-plugins-ugly | [] [] [] | - gstreamer | [] [] [] [] | - gtick | [] | - gtkam | [] [] | - gtkspell | [] [] [] [] [] | - guix | | - guix-packages | | - gutenprint | [] | - hello | [] | - help2man | | - help2man-texi | | - hylafax | | - idutils | | - iso_15924 | [] | - iso_3166 | [] [] [] [] [] [] [] [] [] [] | - iso_3166_2 | | - iso_4217 | [] | - iso_639 | [] [] [] [] [] [] [] [] [] | - iso_639_3 | [] [] | - iso_639_5 | | - jwhois | | - kbd | [] | - klavaro | [] [] [] [] [] | - ld | [] | - leafpad | [] [] [] [] | - libc | [] [] [] | - libexif | () | - libextractor | | - libgnutls | [] | - libgphoto2 | [] | - libgphoto2_port | [] | - libgsasl | | - libiconv | [] [] | - libidn | [] | - liferea | [] [] [] [] | - lilypond | [] [] | - lordsawar | [] | - lprng | | - lynx | [] [] | - m4 | [] | - mailfromd | | - mailutils | | - make | [] | - man-db | [] [] | - man-db-manpages | | - midi-instruments | [] [] [] | - minicom | [] | - mkisofs | [] | - myserver | [] | - nano | [] [] [] | - opcodes | | - parted | [] | - pies | | - pnmixer | | - popt | [] | - procps-ng | | - procps-ng-man | | - psmisc | [] | - pspp | [] | - pushover | [] | - pwdutils | | - pyspread | | - radius | [] | - recode | [] [] [] | - recutils | | - rpm | | - rush | | - sarg | | - sed | [] [] [] [] | - sharutils | [] | - shishi | | - skribilo | | - solfege | [] [] | - solfege-manual | | - spotmachine | | - sudo | [] [] | - sudoers | [] [] | - sysstat | [] | - tar | [] [] [] | - texinfo | [] [] | - texinfo_document | [] [] | - tigervnc | [] | - tin | | - tin-man | | - tracgoogleappsa... | | - trader | | - util-linux | [] | - ve | | - vice | | - vmm | | - vorbis-tools | [] | - wastesedge | | - wcd | | - wcd-man | | - wdiff | [] [] | - wget | [] | - wyslij-po | | - xboard | | - xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] | - xkeyboard-config | [] [] [] | - +---------------------------------------------------+ - af am an ar as ast az be bg bn bn_IN bs ca crh cs - 4 0 2 5 3 11 0 8 25 3 3 1 55 4 74 - - da de el en en_GB en_ZA eo es et eu fa fi fr - +--------------------------------------------------+ - a2ps | [] [] [] [] [] [] [] [] [] | - aegis | [] [] [] [] | - anubis | [] [] [] [] [] | - aspell | [] [] [] [] [] [] [] | - bash | [] [] [] | - bfd | [] [] [] [] | - binutils | [] [] [] | - bison | [] [] [] [] [] [] [] [] | - bison-runtime | [] [] [] [] [] [] [] [] | - buzztrax | [] [] [] [] | - ccd2cue | [] [] [] [] | - ccide | [] [] [] [] [] [] | - cflow | [] [] [] [] [] | - clisp | [] [] [] [] [] | - coreutils | [] [] [] [] [] | - cpio | [] [] [] [] [] | - cppi | [] [] [] [] [] | - cpplib | [] [] [] [] [] [] | - cryptsetup | [] [] [] [] [] | - datamash | [] [] [] [] | - denemo | [] | - dfarc | [] [] [] [] [] [] | - dialog | [] [] [] [] [] [] [] [] [] | - dico | [] [] [] [] | - diffutils | [] [] [] [] [] [] | - dink | [] [] [] [] [] [] | - direvent | [] [] [] [] | - doodle | [] [] [] [] | - dos2unix | [] [] [] [] [] | - dos2unix-man | [] [] [] | - e2fsprogs | [] [] [] [] [] | - enscript | [] [] [] [] [] [] | - exif | [] [] [] [] [] [] | - fetchmail | [] () [] [] [] [] [] | - findutils | [] [] [] [] [] [] [] [] | - flex | [] [] [] [] [] [] | - freedink | [] [] [] [] [] [] [] [] | - fusionforge | [] [] [] | - gas | [] [] [] | - gawk | [] [] [] [] [] | - gcal | [] [] [] [] | - gcc | [] | - gdbm | [] [] [] [] [] | - gettext-examples | [] [] [] [] [] [] [] | - gettext-runtime | [] [] [] [] [] [] | - gettext-tools | [] [] [] [] [] | - gjay | [] [] [] [] | - glunarclock | [] [] [] [] [] | - gnubiff | () [] [] () | - gnubik | [] [] [] [] [] | - gnucash | [] () () () () () () | - gnuchess | [] [] [] [] | - gnulib | [] [] [] [] [] [] [] | - gnunet | [] | - gnunet-gtk | [] | - gold | [] [] [] | - gphoto2 | [] () [] [] | - gprof | [] [] [] [] [] [] | - gramadoir | [] [] [] [] [] | - grep | [] [] [] [] [] [] [] | - grub | [] [] [] [] [] | - gsasl | [] [] [] [] [] | - gss | [] [] [] [] [] | - gst-plugins-bad | [] [] [] | - gst-plugins-base | [] [] [] [] [] [] | - gst-plugins-good | [] [] [] [] [] [] [] | - gst-plugins-ugly | [] [] [] [] [] [] [] [] | - gstreamer | [] [] [] [] [] [] [] | - gtick | [] () [] [] [] | - gtkam | [] () [] [] [] [] | - gtkspell | [] [] [] [] [] [] [] [] | - guix | [] [] | - guix-packages | | - gutenprint | [] [] [] [] | - hello | [] [] [] [] [] [] [] [] | - help2man | [] [] [] [] [] [] [] | - help2man-texi | [] [] [] | - hylafax | [] [] | - idutils | [] [] [] [] [] | - iso_15924 | [] () [] [] () [] () | - iso_3166 | [] () [] [] [] [] () [] () | - iso_3166_2 | [] () () () | - iso_4217 | [] () [] [] [] () [] () | - iso_639 | [] () [] [] () [] () | - iso_639_3 | () () () | - iso_639_5 | () () () | - jwhois | [] [] [] [] [] | - kbd | [] [] [] [] [] [] | - klavaro | [] [] [] [] [] [] [] | - ld | [] [] [] [] | - leafpad | [] [] [] [] [] [] [] [] | - libc | [] [] [] [] [] | - libexif | [] [] () [] [] | - libextractor | [] | - libgnutls | [] [] [] [] | - libgphoto2 | [] () [] | - libgphoto2_port | [] () [] [] [] [] | - libgsasl | [] [] [] [] [] | - libiconv | [] [] [] [] [] [] [] | - libidn | [] [] [] [] [] | - liferea | [] () [] [] [] [] [] | - lilypond | [] [] [] [] [] [] | - lordsawar | [] [] | - lprng | | - lynx | [] [] [] [] [] [] | - m4 | [] [] [] [] [] [] | - mailfromd | [] | - mailutils | [] [] [] [] | - make | [] [] [] [] [] | - man-db | [] [] [] [] | - man-db-manpages | [] [] | - midi-instruments | [] [] [] [] [] [] [] [] [] | - minicom | [] [] [] [] [] | - mkisofs | [] [] [] | - myserver | [] [] [] [] | - nano | [] [] [] [] [] [] [] | - opcodes | [] [] [] [] [] | - parted | [] [] [] | - pies | [] | - pnmixer | [] [] | - popt | [] [] [] [] [] [] | - procps-ng | [] [] | - procps-ng-man | [] [] | - psmisc | [] [] [] [] [] [] [] | - pspp | [] [] [] | - pushover | () [] [] [] | - pwdutils | [] [] [] | - pyspread | [] [] [] | - radius | [] [] | - recode | [] [] [] [] [] [] [] | - recutils | [] [] [] [] | - rpm | [] [] [] [] [] | - rush | [] [] [] | - sarg | [] [] | - sed | [] [] [] [] [] [] [] [] | - sharutils | [] [] [] [] | - shishi | [] [] [] | - skribilo | [] [] [] | - solfege | [] [] [] [] [] [] [] [] | - solfege-manual | [] [] [] [] [] | - spotmachine | [] [] [] [] [] | - sudo | [] [] [] [] [] [] | - sudoers | [] [] [] [] [] [] | - sysstat | [] [] [] [] [] [] | - tar | [] [] [] [] [] [] [] | - texinfo | [] [] [] [] [] | - texinfo_document | [] [] [] [] | - tigervnc | [] [] [] [] [] [] | - tin | [] [] [] [] | - tin-man | [] | - tracgoogleappsa... | [] [] [] [] [] | - trader | [] [] [] [] [] [] | - util-linux | [] [] [] [] | - ve | [] [] [] [] [] | - vice | () () () | - vmm | [] [] | - vorbis-tools | [] [] [] [] | - wastesedge | [] | - wcd | [] [] [] [] | - wcd-man | [] | - wdiff | [] [] [] [] [] [] [] | - wget | [] [] [] [] [] [] | - wyslij-po | [] [] [] [] | - xboard | [] [] [] [] | - xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] | - xkeyboard-config | [] [] [] [] [] [] [] | - +--------------------------------------------------+ - da de el en en_GB en_ZA eo es et eu fa fi fr - 119 131 32 1 6 0 94 95 22 13 4 102 139 - - ga gd gl gu he hi hr hu hy ia id is it ja ka kk - +-------------------------------------------------+ - a2ps | [] [] [] [] | - aegis | [] | - anubis | [] [] [] [] | - aspell | [] [] [] [] [] | - bash | [] [] [] [] | - bfd | [] [] | - binutils | [] [] [] | - bison | [] | - bison-runtime | [] [] [] [] [] [] [] [] | - buzztrax | | - ccd2cue | [] | - ccide | [] [] | - cflow | [] [] [] | - clisp | | - coreutils | [] [] | - cpio | [] [] [] [] [] [] | - cppi | [] [] [] [] [] | - cpplib | [] [] | - cryptsetup | [] | - datamash | | - denemo | [] | - dfarc | [] [] [] | - dialog | [] [] [] [] [] [] [] [] [] [] | - dico | | - diffutils | [] [] [] [] | - dink | [] | - direvent | [] | - doodle | [] [] | - dos2unix | [] [] | - dos2unix-man | | - e2fsprogs | [] [] | - enscript | [] [] [] | - exif | [] [] [] [] [] [] | - fetchmail | [] [] [] | - findutils | [] [] [] [] [] [] [] | - flex | [] | - freedink | [] [] [] [] | - fusionforge | | - gas | [] | - gawk | [] () [] | - gcal | | - gcc | | - gdbm | | - gettext-examples | [] [] [] [] [] [] [] | - gettext-runtime | [] [] [] [] [] [] [] | - gettext-tools | [] [] [] | - gjay | [] | - glunarclock | [] [] [] [] [] [] | - gnubiff | [] [] () | - gnubik | [] [] [] | - gnucash | () () () () () | - gnuchess | | - gnulib | [] [] [] [] [] | - gnunet | | - gnunet-gtk | | - gold | [] [] | - gphoto2 | [] [] [] [] | - gprof | [] [] [] [] | - gramadoir | [] [] [] | - grep | [] [] [] [] [] [] [] | - grub | [] [] [] | - gsasl | [] [] [] [] [] | - gss | [] [] [] [] [] | - gst-plugins-bad | [] [] [] | - gst-plugins-base | [] [] [] [] | - gst-plugins-good | [] [] [] [] [] [] | - gst-plugins-ugly | [] [] [] [] [] [] | - gstreamer | [] [] [] [] [] | - gtick | [] [] [] [] [] | - gtkam | [] [] [] [] [] | - gtkspell | [] [] [] [] [] [] [] [] [] [] | - guix | | - guix-packages | | - gutenprint | [] [] [] | - hello | [] [] [] [] [] | - help2man | [] [] [] | - help2man-texi | | - hylafax | [] | - idutils | [] [] | - iso_15924 | [] [] [] [] [] [] | - iso_3166 | [] [] [] [] [] [] [] [] [] [] [] [] [] | - iso_3166_2 | [] [] | - iso_4217 | [] [] [] [] [] [] | - iso_639 | [] [] [] [] [] [] [] [] [] | - iso_639_3 | [] [] | - iso_639_5 | | - jwhois | [] [] [] [] | - kbd | [] [] [] | - klavaro | [] [] [] [] [] | - ld | [] [] [] [] | - leafpad | [] [] [] [] [] [] [] () | - libc | [] [] [] [] [] | - libexif | [] | - libextractor | | - libgnutls | [] | - libgphoto2 | [] [] | - libgphoto2_port | [] [] | - libgsasl | [] [] [] [] | - libiconv | [] [] [] [] [] [] [] | - libidn | [] [] [] [] | - liferea | [] [] [] [] [] | - lilypond | [] | - lordsawar | | - lprng | [] | - lynx | [] [] [] [] | - m4 | [] [] [] [] [] | - mailfromd | | - mailutils | | - make | [] [] [] [] | - man-db | [] [] | - man-db-manpages | [] [] | - midi-instruments | [] [] [] [] [] [] [] [] [] | - minicom | [] [] [] | - mkisofs | [] [] | - myserver | [] | - nano | [] [] [] [] [] [] | - opcodes | [] [] [] | - parted | [] [] [] [] [] | - pies | | - pnmixer | [] [] | - popt | [] [] [] [] [] [] [] [] [] [] | - procps-ng | | - procps-ng-man | | - psmisc | [] [] [] [] | - pspp | [] [] | - pushover | [] | - pwdutils | [] | - pyspread | | - radius | [] | - recode | [] [] [] [] [] [] [] | - recutils | | - rpm | [] | - rush | [] | - sarg | | - sed | [] [] [] [] [] [] [] | - sharutils | | - shishi | | - skribilo | [] | - solfege | [] [] | - solfege-manual | | - spotmachine | | - sudo | [] [] [] [] | - sudoers | [] [] [] | - sysstat | [] [] [] [] | - tar | [] [] [] [] [] [] | - texinfo | [] [] [] | - texinfo_document | [] [] [] | - tigervnc | | - tin | | - tin-man | | - tracgoogleappsa... | [] [] [] [] | - trader | [] [] | - util-linux | [] | - ve | [] | - vice | () () | - vmm | | - vorbis-tools | [] [] | - wastesedge | [] | - wcd | | - wcd-man | | - wdiff | [] [] [] | - wget | [] [] [] [] | - wyslij-po | [] [] [] | - xboard | | - xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] [] | - xkeyboard-config | [] [] [] [] [] [] | - +-------------------------------------------------+ - ga gd gl gu he hi hr hu hy ia id is it ja ka kk - 35 2 47 4 8 2 60 71 2 6 81 11 87 57 0 3 - - kn ko ku ky lg lt lv mk ml mn mr ms mt nb ne nl - +--------------------------------------------------+ - a2ps | [] [] | - aegis | [] | - anubis | [] [] [] | - aspell | [] [] | - bash | [] [] | - bfd | | - binutils | | - bison | [] | - bison-runtime | [] [] [] [] [] [] | - buzztrax | | - ccd2cue | | - ccide | [] [] | - cflow | [] | - clisp | [] | - coreutils | [] [] | - cpio | [] | - cppi | | - cpplib | [] | - cryptsetup | [] | - datamash | [] [] | - denemo | | - dfarc | [] [] | - dialog | [] [] [] [] [] [] | - dico | | - diffutils | [] [] [] | - dink | [] | - direvent | [] | - doodle | [] | - dos2unix | [] [] | - dos2unix-man | [] | - e2fsprogs | [] | - enscript | [] | - exif | [] [] [] | - fetchmail | [] | - findutils | [] [] | - flex | [] | - freedink | [] [] | - fusionforge | | - gas | | - gawk | [] | - gcal | | - gcc | | - gdbm | | - gettext-examples | [] [] [] [] [] [] | - gettext-runtime | [] [] [] | - gettext-tools | [] | - gjay | | - glunarclock | [] [] | - gnubiff | [] | - gnubik | [] [] | - gnucash | () () () () () () () [] | - gnuchess | [] [] | - gnulib | [] | - gnunet | | - gnunet-gtk | | - gold | | - gphoto2 | [] | - gprof | [] [] | - gramadoir | [] | - grep | [] [] | - grub | [] [] [] | - gsasl | [] | - gss | | - gst-plugins-bad | [] [] [] | - gst-plugins-base | [] [] [] | - gst-plugins-good | [] [] [] [] | - gst-plugins-ugly | [] [] [] [] [] | - gstreamer | [] [] [] | - gtick | [] | - gtkam | [] [] | - gtkspell | [] [] [] [] [] [] [] | - guix | | - guix-packages | | - gutenprint | [] | - hello | [] [] [] | - help2man | [] | - help2man-texi | | - hylafax | [] | - idutils | [] | - iso_15924 | () [] [] | - iso_3166 | [] [] [] () [] [] [] [] [] [] | - iso_3166_2 | () [] | - iso_4217 | () [] [] [] | - iso_639 | [] [] () [] [] [] [] | - iso_639_3 | [] () [] | - iso_639_5 | () | - jwhois | [] [] | - kbd | [] | - klavaro | [] [] | - ld | | - leafpad | [] [] [] [] [] | - libc | [] [] | - libexif | [] | - libextractor | [] | - libgnutls | [] [] | - libgphoto2 | [] | - libgphoto2_port | [] | - libgsasl | [] | - libiconv | [] [] | - libidn | [] | - liferea | [] [] [] | - lilypond | [] | - lordsawar | | - lprng | | - lynx | [] | - m4 | [] | - mailfromd | | - mailutils | | - make | [] [] | - man-db | [] | - man-db-manpages | [] | - midi-instruments | [] [] [] [] [] [] [] | - minicom | [] | - mkisofs | [] | - myserver | | - nano | [] [] [] | - opcodes | [] | - parted | [] [] | - pies | | - pnmixer | [] | - popt | [] [] [] [] [] | - procps-ng | | - procps-ng-man | | - psmisc | [] | - pspp | [] [] | - pushover | | - pwdutils | [] | - pyspread | | - radius | [] | - recode | [] [] | - recutils | [] | - rpm | [] | - rush | [] | - sarg | | - sed | [] [] | - sharutils | [] | - shishi | | - skribilo | | - solfege | [] [] | - solfege-manual | [] | - spotmachine | [] | - sudo | [] [] [] | - sudoers | [] [] [] | - sysstat | [] [] | - tar | [] [] [] | - texinfo | [] | - texinfo_document | [] | - tigervnc | [] | - tin | | - tin-man | | - tracgoogleappsa... | [] [] [] | - trader | [] | - util-linux | [] | - ve | [] | - vice | [] | - vmm | [] | - vorbis-tools | [] | - wastesedge | [] | - wcd | [] | - wcd-man | [] | - wdiff | [] | - wget | [] [] | - wyslij-po | [] | - xboard | [] | - xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] | - xkeyboard-config | [] [] [] | - +--------------------------------------------------+ - kn ko ku ky lg lt lv mk ml mn mr ms mt nb ne nl - 5 15 4 6 0 13 23 3 3 3 4 11 2 42 1 125 - - nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr - +------------------------------------------------+ - a2ps | [] [] [] [] [] [] [] | - aegis | [] [] | - anubis | [] [] [] | - aspell | [] [] [] [] [] [] [] | - bash | [] [] [] [] [] [] | - bfd | [] [] | - binutils | [] [] | - bison | [] [] [] | - bison-runtime | [] [] [] [] [] [] [] [] | - buzztrax | [] | - ccd2cue | [] [] | - ccide | [] [] [] | - cflow | [] [] [] | - clisp | [] | - coreutils | [] [] [] [] | - cpio | [] [] [] | - cppi | [] [] [] | - cpplib | [] [] [] | - cryptsetup | [] [] [] | - datamash | [] [] | - denemo | | - dfarc | [] [] [] | - dialog | [] [] [] [] [] [] [] | - dico | [] | - diffutils | [] [] [] | - dink | | - direvent | [] [] [] | - doodle | [] [] | - dos2unix | [] [] [] [] | - dos2unix-man | [] [] | - e2fsprogs | [] | - enscript | [] [] [] [] [] [] | - exif | [] [] [] [] [] [] | - fetchmail | [] [] [] | - findutils | [] [] [] [] [] [] | - flex | [] [] [] [] [] | - freedink | [] [] [] [] [] | - fusionforge | | - gas | | - gawk | [] | - gcal | | - gcc | | - gdbm | [] [] [] | - gettext-examples | [] [] [] [] [] [] [] [] | - gettext-runtime | [] [] [] [] [] [] [] [] [] | - gettext-tools | [] [] [] [] [] [] [] | - gjay | [] | - glunarclock | [] [] [] [] [] [] | - gnubiff | [] | - gnubik | [] [] [] [] | - gnucash | () () () () () [] | - gnuchess | [] [] | - gnulib | [] [] [] [] [] | - gnunet | | - gnunet-gtk | | - gold | | - gphoto2 | [] [] [] [] [] | - gprof | [] [] [] [] | - gramadoir | [] [] | - grep | [] [] [] [] [] [] | - grub | [] [] [] [] [] | - gsasl | [] [] [] | - gss | [] [] [] [] | - gst-plugins-bad | [] [] [] [] [] | - gst-plugins-base | [] [] [] [] [] [] | - gst-plugins-good | [] [] [] [] [] [] [] | - gst-plugins-ugly | [] [] [] [] [] [] [] | - gstreamer | [] [] [] [] [] [] [] | - gtick | [] [] [] [] [] | - gtkam | [] [] [] [] [] [] | - gtkspell | [] [] [] [] [] [] [] [] [] | - guix | | - guix-packages | | - gutenprint | [] [] | - hello | [] [] [] [] [] [] | - help2man | [] [] [] [] | - help2man-texi | [] | - hylafax | | - idutils | [] [] [] | - iso_15924 | [] () [] [] [] [] | - iso_3166 | [] [] [] [] () [] [] [] [] [] [] [] [] | - iso_3166_2 | [] () [] | - iso_4217 | [] [] () [] [] [] [] [] | - iso_639 | [] [] [] () [] [] [] [] [] [] | - iso_639_3 | [] () | - iso_639_5 | () [] | - jwhois | [] [] [] [] | - kbd | [] [] | - klavaro | [] [] [] [] [] | - ld | | - leafpad | [] [] [] [] [] [] [] [] | - libc | [] [] [] | - libexif | [] () [] | - libextractor | [] | - libgnutls | [] | - libgphoto2 | [] | - libgphoto2_port | [] [] [] [] [] | - libgsasl | [] [] [] [] | - libiconv | [] [] [] [] [] | - libidn | [] [] [] | - liferea | [] [] [] [] () [] [] | - lilypond | | - lordsawar | | - lprng | [] | - lynx | [] [] | - m4 | [] [] [] [] [] | - mailfromd | [] | - mailutils | [] | - make | [] [] [] | - man-db | [] [] [] | - man-db-manpages | [] [] [] | - midi-instruments | [] [] [] [] [] [] [] [] | - minicom | [] [] [] [] | - mkisofs | [] [] [] | - myserver | [] [] | - nano | [] [] [] [] [] [] | - opcodes | | - parted | [] [] [] [] [] [] | - pies | [] | - pnmixer | [] | - popt | [] [] [] [] [] [] | - procps-ng | [] | - procps-ng-man | [] | - psmisc | [] [] [] [] | - pspp | [] [] | - pushover | | - pwdutils | [] | - pyspread | [] [] | - radius | [] [] | - recode | [] [] [] [] [] [] [] [] | - recutils | [] [] | - rpm | [] | - rush | [] [] [] | - sarg | [] [] | - sed | [] [] [] [] [] [] [] [] | - sharutils | [] [] [] | - shishi | [] [] | - skribilo | [] | - solfege | [] [] [] | - solfege-manual | [] [] | - spotmachine | [] [] | - sudo | [] [] [] [] [] [] | - sudoers | [] [] [] [] | - sysstat | [] [] [] [] [] | - tar | [] [] [] [] [] | - texinfo | [] [] [] | - texinfo_document | [] [] | - tigervnc | [] [] [] | - tin | [] | - tin-man | | - tracgoogleappsa... | [] [] [] [] | - trader | [] [] | - util-linux | [] [] | - ve | [] [] [] | - vice | | - vmm | | - vorbis-tools | [] [] [] | - wastesedge | | - wcd | | - wcd-man | | - wdiff | [] [] [] [] [] | - wget | [] [] [] [] [] | - wyslij-po | [] [] [] [] | - xboard | [] [] [] | - xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] | - xkeyboard-config | [] [] [] [] | - +------------------------------------------------+ - nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr - 7 3 6 114 1 12 88 32 82 3 40 45 7 101 - - sv sw ta te tg th tr uk ur vi wa wo zh_CN - +----------------------------------------------+ - a2ps | [] [] [] [] [] | - aegis | [] | - anubis | [] [] [] [] | - aspell | [] [] [] [] [] | - bash | [] [] [] [] | - bfd | [] [] [] | - binutils | [] [] [] | - bison | [] [] [] [] | - bison-runtime | [] [] [] [] [] [] | - buzztrax | [] [] [] | - ccd2cue | [] [] [] | - ccide | [] [] [] [] | - cflow | [] [] [] [] | - clisp | | - coreutils | [] [] [] | - cpio | [] [] [] [] [] | - cppi | [] [] [] [] | - cpplib | [] [] [] [] [] | - cryptsetup | [] [] [] | - datamash | [] [] [] | - denemo | [] | - dfarc | [] [] | - dialog | [] [] [] [] [] [] | - dico | [] | - diffutils | [] [] [] [] [] | - dink | [] | - direvent | [] [] | - doodle | [] [] | - dos2unix | [] [] [] [] | - dos2unix-man | [] [] [] | - e2fsprogs | [] [] [] [] | - enscript | [] [] [] [] | - exif | [] [] [] [] [] | - fetchmail | [] [] [] [] | - findutils | [] [] [] [] [] | - flex | [] [] [] [] | - freedink | [] [] [] | - fusionforge | | - gas | [] | - gawk | [] [] [] | - gcal | [] [] [] | - gcc | [] | - gdbm | [] [] | - gettext-examples | [] [] [] [] [] | - gettext-runtime | [] [] [] [] [] | - gettext-tools | [] [] [] [] [] | - gjay | [] [] [] | - glunarclock | [] [] [] [] | - gnubiff | [] [] | - gnubik | [] [] [] [] | - gnucash | () () () () [] | - gnuchess | [] [] [] | - gnulib | [] [] [] [] | - gnunet | | - gnunet-gtk | | - gold | [] [] | - gphoto2 | [] [] [] [] | - gprof | [] [] [] [] | - gramadoir | [] [] [] | - grep | [] [] [] [] [] | - grub | [] [] [] [] | - gsasl | [] [] [] [] | - gss | [] [] [] | - gst-plugins-bad | [] [] [] [] [] | - gst-plugins-base | [] [] [] [] [] | - gst-plugins-good | [] [] [] [] [] | - gst-plugins-ugly | [] [] [] [] [] | - gstreamer | [] [] [] [] [] | - gtick | [] [] [] | - gtkam | [] [] [] [] | - gtkspell | [] [] [] [] [] [] [] | - guix | | - guix-packages | | - gutenprint | [] [] [] [] | - hello | [] [] [] [] [] [] | - help2man | [] [] [] | - help2man-texi | [] | - hylafax | [] | - idutils | [] [] [] | - iso_15924 | [] () [] [] () [] | - iso_3166 | [] [] () [] [] () [] [] | - iso_3166_2 | () [] [] () [] | - iso_4217 | [] () [] [] () [] | - iso_639 | [] [] [] () [] [] () [] [] | - iso_639_3 | [] () [] [] () | - iso_639_5 | () [] () | - jwhois | [] [] [] [] | - kbd | [] [] [] [] | - klavaro | [] [] [] [] [] [] | - ld | [] [] [] [] [] | - leafpad | [] [] [] [] [] [] | - libc | [] [] [] [] [] | - libexif | [] [] () | - libextractor | [] [] | - libgnutls | [] [] [] [] | - libgphoto2 | [] [] [] | - libgphoto2_port | [] [] [] [] | - libgsasl | [] [] [] [] | - libiconv | [] [] [] [] [] | - libidn | () [] [] [] | - liferea | [] [] [] [] [] | - lilypond | [] | - lordsawar | | - lprng | [] | - lynx | [] [] [] [] | - m4 | [] [] [] | - mailfromd | [] [] | - mailutils | [] | - make | [] [] [] [] | - man-db | [] [] [] | - man-db-manpages | [] [] | - midi-instruments | [] [] [] [] [] [] | - minicom | [] [] | - mkisofs | [] [] [] | - myserver | [] | - nano | [] [] [] [] | - opcodes | [] [] [] | - parted | [] [] [] [] [] | - pies | [] [] | - pnmixer | [] [] [] | - popt | [] [] [] [] [] [] [] | - procps-ng | [] [] | - procps-ng-man | [] | - psmisc | [] [] [] [] | - pspp | [] [] [] | - pushover | [] | - pwdutils | [] [] | - pyspread | [] | - radius | [] [] | - recode | [] [] [] [] | - recutils | [] [] [] | - rpm | [] [] [] [] | - rush | [] [] | - sarg | | - sed | [] [] [] [] [] | - sharutils | [] [] [] [] | - shishi | [] [] | - skribilo | [] [] | - solfege | [] [] [] [] | - solfege-manual | [] | - spotmachine | [] [] [] | - sudo | [] [] [] [] [] | - sudoers | [] [] [] [] | - sysstat | [] [] [] [] [] | - tar | [] [] [] [] [] | - texinfo | [] [] [] | - texinfo_document | [] | - tigervnc | [] [] [] | - tin | [] | - tin-man | | - tracgoogleappsa... | [] [] [] [] [] | - trader | [] | - util-linux | [] [] [] [] | - ve | [] [] [] [] | - vice | () () | - vmm | | - vorbis-tools | [] [] | - wastesedge | | - wcd | [] [] [] | - wcd-man | [] | - wdiff | [] [] [] [] | - wget | [] [] [] | - wyslij-po | [] [] | - xboard | [] [] | - xdg-user-dirs | [] [] [] [] [] [] [] [] | - xkeyboard-config | [] [] [] [] | - +----------------------------------------------+ - sv sw ta te tg th tr uk ur vi wa wo zh_CN - 106 1 4 3 0 13 51 115 1 125 7 1 100 - - zh_HK zh_TW - +-------------+ - a2ps | | 30 - aegis | | 9 - anubis | | 19 - aspell | | 29 - bash | [] | 23 - bfd | | 11 - binutils | | 12 - bison | [] | 18 - bison-runtime | [] | 38 - buzztrax | | 9 - ccd2cue | | 10 - ccide | | 17 - cflow | | 16 - clisp | | 10 - coreutils | | 18 - cpio | | 20 - cppi | | 17 - cpplib | [] | 19 - cryptsetup | | 14 - datamash | | 11 - denemo | | 5 - dfarc | | 17 - dialog | [] | 42 - dico | | 6 - diffutils | | 22 - dink | | 10 - direvent | | 11 - doodle | | 12 - dos2unix | [] | 18 - dos2unix-man | | 9 - e2fsprogs | | 15 - enscript | | 21 - exif | | 27 - fetchmail | | 19 - findutils | | 29 - flex | [] | 19 - freedink | | 24 - fusionforge | | 3 - gas | | 5 - gawk | | 13 - gcal | | 8 - gcc | | 2 - gdbm | | 10 - gettext-examples | [] [] | 40 - gettext-runtime | [] [] | 35 - gettext-tools | [] | 24 - gjay | | 9 - glunarclock | [] | 27 - gnubiff | | 9 - gnubik | | 19 - gnucash | () | 6 - gnuchess | | 11 - gnulib | | 23 - gnunet | | 1 - gnunet-gtk | | 1 - gold | | 7 - gphoto2 | [] | 19 - gprof | | 21 - gramadoir | | 14 - grep | [] | 31 - grub | | 21 - gsasl | [] | 19 - gss | | 17 - gst-plugins-bad | | 21 - gst-plugins-base | | 27 - gst-plugins-good | | 32 - gst-plugins-ugly | | 34 - gstreamer | [] | 32 - gtick | | 19 - gtkam | | 24 - gtkspell | [] [] | 48 - guix | | 2 - guix-packages | | 0 - gutenprint | | 15 - hello | [] | 30 - help2man | | 18 - help2man-texi | | 5 - hylafax | | 5 - idutils | | 14 - iso_15924 | [] | 23 - iso_3166 | [] [] | 58 - iso_3166_2 | | 9 - iso_4217 | [] [] | 28 - iso_639 | [] [] | 46 - iso_639_3 | | 10 - iso_639_5 | | 2 - jwhois | [] | 20 - kbd | | 17 - klavaro | | 30 - ld | [] | 15 - leafpad | [] | 39 - libc | [] | 24 - libexif | | 10 - libextractor | | 5 - libgnutls | | 13 - libgphoto2 | | 10 - libgphoto2_port | [] | 19 - libgsasl | | 18 - libiconv | [] | 29 - libidn | | 17 - liferea | | 29 - lilypond | | 11 - lordsawar | | 3 - lprng | | 3 - lynx | | 19 - m4 | [] | 22 - mailfromd | | 4 - mailutils | | 6 - make | | 19 - man-db | | 15 - man-db-manpages | | 10 - midi-instruments | [] | 43 - minicom | [] | 17 - mkisofs | | 13 - myserver | | 9 - nano | [] | 30 - opcodes | | 12 - parted | [] | 23 - pies | | 4 - pnmixer | | 9 - popt | [] | 36 - procps-ng | | 5 - procps-ng-man | | 4 - psmisc | [] | 22 - pspp | | 13 - pushover | | 6 - pwdutils | | 8 - pyspread | | 6 - radius | | 9 - recode | | 31 - recutils | | 10 - rpm | [] | 13 - rush | | 10 - sarg | | 4 - sed | [] | 35 - sharutils | | 13 - shishi | | 7 - skribilo | | 7 - solfege | | 21 - solfege-manual | | 9 - spotmachine | | 11 - sudo | | 26 - sudoers | | 22 - sysstat | | 23 - tar | [] | 30 - texinfo | | 17 - texinfo_document | | 13 - tigervnc | | 14 - tin | [] | 7 - tin-man | | 1 - tracgoogleappsa... | [] | 22 - trader | | 12 - util-linux | | 13 - ve | | 14 - vice | | 1 - vmm | | 3 - vorbis-tools | | 13 - wastesedge | | 3 - wcd | | 8 - wcd-man | | 3 - wdiff | [] | 23 - wget | | 21 - wyslij-po | | 14 - xboard | | 10 - xdg-user-dirs | [] [] | 68 - xkeyboard-config | [] | 28 - +-------------+ - 89 teams zh_HK zh_TW - 166 domains 7 42 2809 - - Some counters in the preceding matrix are higher than the number of -visible blocks let us expect. This is because a few extra PO files are -used for implementing regional variants of languages, or language -dialects. - - For a PO file in the matrix above to be effective, the package to -which it applies should also have been internationalized and distributed -as such by its maintainer. There might be an observable lag between the -mere existence a PO file and its wide availability in a distribution. - - If Jun 2014 seems to be old, you may fetch a more recent copy of this -'ABOUT-NLS' file on most GNU archive sites. The most up-to-date matrix -with full percentage details can be found at -'http://translationproject.org/extra/matrix.html'. - -1.5 Using 'gettext' in new packages -=================================== - -If you are writing a freely available program and want to -internationalize it you are welcome to use GNU 'gettext' in your -package. Of course you have to respect the GNU Lesser General Public -License which covers the use of the GNU 'gettext' library. This means -in particular that even non-free programs can use 'libintl' as a shared -library, whereas only free software can use 'libintl' as a static -library or use modified versions of 'libintl'. - - Once the sources are changed appropriately and the setup can handle -the use of 'gettext' the only thing missing are the translations. The -Free Translation Project is also available for packages which are not -developed inside the GNU project. Therefore the information given above -applies also for every other Free Software Project. Contact -'coordinator@translationproject.org' to make the '.pot' files available -to the translation teams. diff -Nru shared-mime-info-1.15/aclocal.m4 shared-mime-info-2.0/aclocal.m4 --- shared-mime-info-1.15/aclocal.m4 2019-10-30 10:45:13.000000000 +0000 +++ shared-mime-info-2.0/aclocal.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,1488 +0,0 @@ -# generated automatically by aclocal 1.16.1 -*- Autoconf -*- - -# Copyright (C) 1996-2018 Free Software Foundation, Inc. - -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) -m4_ifndef([AC_AUTOCONF_VERSION], - [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, -[m4_warning([this file was generated for autoconf 2.69. -You have another version of autoconf. It may work, but is not guaranteed to. -If you have problems, you may need to regenerate the build system entirely. -To do so, use the procedure documented by the package, typically 'autoreconf'.])]) - -# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- -# serial 11 (pkg-config-0.29.1) - -dnl Copyright © 2004 Scott James Remnant . -dnl Copyright © 2012-2015 Dan Nicholson -dnl -dnl This program is free software; you can redistribute it and/or modify -dnl it under the terms of the GNU General Public License as published by -dnl the Free Software Foundation; either version 2 of the License, or -dnl (at your option) any later version. -dnl -dnl This program is distributed in the hope that it will be useful, but -dnl WITHOUT ANY WARRANTY; without even the implied warranty of -dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -dnl General Public License for more details. -dnl -dnl You should have received a copy of the GNU General Public License -dnl along with this program; if not, write to the Free Software -dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -dnl 02111-1307, USA. -dnl -dnl As a special exception to the GNU General Public License, if you -dnl distribute this file as part of a program that contains a -dnl configuration script generated by Autoconf, you may include it under -dnl the same distribution terms that you use for the rest of that -dnl program. - -dnl PKG_PREREQ(MIN-VERSION) -dnl ----------------------- -dnl Since: 0.29 -dnl -dnl Verify that the version of the pkg-config macros are at least -dnl MIN-VERSION. Unlike PKG_PROG_PKG_CONFIG, which checks the user's -dnl installed version of pkg-config, this checks the developer's version -dnl of pkg.m4 when generating configure. -dnl -dnl To ensure that this macro is defined, also add: -dnl m4_ifndef([PKG_PREREQ], -dnl [m4_fatal([must install pkg-config 0.29 or later before running autoconf/autogen])]) -dnl -dnl See the "Since" comment for each macro you use to see what version -dnl of the macros you require. -m4_defun([PKG_PREREQ], -[m4_define([PKG_MACROS_VERSION], [0.29.1]) -m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1, - [m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])]) -])dnl PKG_PREREQ - -dnl PKG_PROG_PKG_CONFIG([MIN-VERSION]) -dnl ---------------------------------- -dnl Since: 0.16 -dnl -dnl Search for the pkg-config tool and set the PKG_CONFIG variable to -dnl first found in the path. Checks that the version of pkg-config found -dnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.9.0 is -dnl used since that's the first version where most current features of -dnl pkg-config existed. -AC_DEFUN([PKG_PROG_PKG_CONFIG], -[m4_pattern_forbid([^_?PKG_[A-Z_]+$]) -m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$]) -m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$]) -AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility]) -AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path]) -AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path]) - -if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then - AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) -fi -if test -n "$PKG_CONFIG"; then - _pkg_min_version=m4_default([$1], [0.9.0]) - AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) - if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - PKG_CONFIG="" - fi -fi[]dnl -])dnl PKG_PROG_PKG_CONFIG - -dnl PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) -dnl ------------------------------------------------------------------- -dnl Since: 0.18 -dnl -dnl Check to see whether a particular set of modules exists. Similar to -dnl PKG_CHECK_MODULES(), but does not set variables or print errors. -dnl -dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) -dnl only at the first occurence in configure.ac, so if the first place -dnl it's called might be skipped (such as if it is within an "if", you -dnl have to call PKG_CHECK_EXISTS manually -AC_DEFUN([PKG_CHECK_EXISTS], -[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl -if test -n "$PKG_CONFIG" && \ - AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then - m4_default([$2], [:]) -m4_ifvaln([$3], [else - $3])dnl -fi]) - -dnl _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) -dnl --------------------------------------------- -dnl Internal wrapper calling pkg-config via PKG_CONFIG and setting -dnl pkg_failed based on the result. -m4_define([_PKG_CONFIG], -[if test -n "$$1"; then - pkg_cv_[]$1="$$1" - elif test -n "$PKG_CONFIG"; then - PKG_CHECK_EXISTS([$3], - [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes ], - [pkg_failed=yes]) - else - pkg_failed=untried -fi[]dnl -])dnl _PKG_CONFIG - -dnl _PKG_SHORT_ERRORS_SUPPORTED -dnl --------------------------- -dnl Internal check to see if pkg-config supports short errors. -AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], -[AC_REQUIRE([PKG_PROG_PKG_CONFIG]) -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes -else - _pkg_short_errors_supported=no -fi[]dnl -])dnl _PKG_SHORT_ERRORS_SUPPORTED - - -dnl PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], -dnl [ACTION-IF-NOT-FOUND]) -dnl -------------------------------------------------------------- -dnl Since: 0.4.0 -dnl -dnl Note that if there is a possibility the first call to -dnl PKG_CHECK_MODULES might not happen, you should be sure to include an -dnl explicit call to PKG_PROG_PKG_CONFIG in your configure.ac -AC_DEFUN([PKG_CHECK_MODULES], -[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl -AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl -AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl - -pkg_failed=no -AC_MSG_CHECKING([for $1]) - -_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) -_PKG_CONFIG([$1][_LIBS], [libs], [$2]) - -m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS -and $1[]_LIBS to avoid the need to call pkg-config. -See the pkg-config man page for more details.]) - -if test $pkg_failed = yes; then - AC_MSG_RESULT([no]) - _PKG_SHORT_ERRORS_SUPPORTED - if test $_pkg_short_errors_supported = yes; then - $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1` - else - $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1` - fi - # Put the nasty error message in config.log where it belongs - echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD - - m4_default([$4], [AC_MSG_ERROR( -[Package requirements ($2) were not met: - -$$1_PKG_ERRORS - -Consider adjusting the PKG_CONFIG_PATH environment variable if you -installed software in a non-standard prefix. - -_PKG_TEXT])[]dnl - ]) -elif test $pkg_failed = untried; then - AC_MSG_RESULT([no]) - m4_default([$4], [AC_MSG_FAILURE( -[The pkg-config script could not be found or is too old. Make sure it -is in your PATH or set the PKG_CONFIG environment variable to the full -path to pkg-config. - -_PKG_TEXT - -To get pkg-config, see .])[]dnl - ]) -else - $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS - $1[]_LIBS=$pkg_cv_[]$1[]_LIBS - AC_MSG_RESULT([yes]) - $3 -fi[]dnl -])dnl PKG_CHECK_MODULES - - -dnl PKG_CHECK_MODULES_STATIC(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], -dnl [ACTION-IF-NOT-FOUND]) -dnl --------------------------------------------------------------------- -dnl Since: 0.29 -dnl -dnl Checks for existence of MODULES and gathers its build flags with -dnl static libraries enabled. Sets VARIABLE-PREFIX_CFLAGS from --cflags -dnl and VARIABLE-PREFIX_LIBS from --libs. -dnl -dnl Note that if there is a possibility the first call to -dnl PKG_CHECK_MODULES_STATIC might not happen, you should be sure to -dnl include an explicit call to PKG_PROG_PKG_CONFIG in your -dnl configure.ac. -AC_DEFUN([PKG_CHECK_MODULES_STATIC], -[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl -_save_PKG_CONFIG=$PKG_CONFIG -PKG_CONFIG="$PKG_CONFIG --static" -PKG_CHECK_MODULES($@) -PKG_CONFIG=$_save_PKG_CONFIG[]dnl -])dnl PKG_CHECK_MODULES_STATIC - - -dnl PKG_INSTALLDIR([DIRECTORY]) -dnl ------------------------- -dnl Since: 0.27 -dnl -dnl Substitutes the variable pkgconfigdir as the location where a module -dnl should install pkg-config .pc files. By default the directory is -dnl $libdir/pkgconfig, but the default can be changed by passing -dnl DIRECTORY. The user can override through the --with-pkgconfigdir -dnl parameter. -AC_DEFUN([PKG_INSTALLDIR], -[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])]) -m4_pushdef([pkg_description], - [pkg-config installation directory @<:@]pkg_default[@:>@]) -AC_ARG_WITH([pkgconfigdir], - [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],, - [with_pkgconfigdir=]pkg_default) -AC_SUBST([pkgconfigdir], [$with_pkgconfigdir]) -m4_popdef([pkg_default]) -m4_popdef([pkg_description]) -])dnl PKG_INSTALLDIR - - -dnl PKG_NOARCH_INSTALLDIR([DIRECTORY]) -dnl -------------------------------- -dnl Since: 0.27 -dnl -dnl Substitutes the variable noarch_pkgconfigdir as the location where a -dnl module should install arch-independent pkg-config .pc files. By -dnl default the directory is $datadir/pkgconfig, but the default can be -dnl changed by passing DIRECTORY. The user can override through the -dnl --with-noarch-pkgconfigdir parameter. -AC_DEFUN([PKG_NOARCH_INSTALLDIR], -[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])]) -m4_pushdef([pkg_description], - [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@]) -AC_ARG_WITH([noarch-pkgconfigdir], - [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],, - [with_noarch_pkgconfigdir=]pkg_default) -AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir]) -m4_popdef([pkg_default]) -m4_popdef([pkg_description]) -])dnl PKG_NOARCH_INSTALLDIR - - -dnl PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE, -dnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) -dnl ------------------------------------------- -dnl Since: 0.28 -dnl -dnl Retrieves the value of the pkg-config variable for the given module. -AC_DEFUN([PKG_CHECK_VAR], -[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl -AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl - -_PKG_CONFIG([$1], [variable="][$3]["], [$2]) -AS_VAR_COPY([$1], [pkg_cv_][$1]) - -AS_VAR_IF([$1], [""], [$5], [$4])dnl -])dnl PKG_CHECK_VAR - -dnl PKG_WITH_MODULES(VARIABLE-PREFIX, MODULES, -dnl [ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND], -dnl [DESCRIPTION], [DEFAULT]) -dnl ------------------------------------------ -dnl -dnl Prepare a "--with-" configure option using the lowercase -dnl [VARIABLE-PREFIX] name, merging the behaviour of AC_ARG_WITH and -dnl PKG_CHECK_MODULES in a single macro. -AC_DEFUN([PKG_WITH_MODULES], -[ -m4_pushdef([with_arg], m4_tolower([$1])) - -m4_pushdef([description], - [m4_default([$5], [build with ]with_arg[ support])]) - -m4_pushdef([def_arg], [m4_default([$6], [auto])]) -m4_pushdef([def_action_if_found], [AS_TR_SH([with_]with_arg)=yes]) -m4_pushdef([def_action_if_not_found], [AS_TR_SH([with_]with_arg)=no]) - -m4_case(def_arg, - [yes],[m4_pushdef([with_without], [--without-]with_arg)], - [m4_pushdef([with_without],[--with-]with_arg)]) - -AC_ARG_WITH(with_arg, - AS_HELP_STRING(with_without, description[ @<:@default=]def_arg[@:>@]),, - [AS_TR_SH([with_]with_arg)=def_arg]) - -AS_CASE([$AS_TR_SH([with_]with_arg)], - [yes],[PKG_CHECK_MODULES([$1],[$2],$3,$4)], - [auto],[PKG_CHECK_MODULES([$1],[$2], - [m4_n([def_action_if_found]) $3], - [m4_n([def_action_if_not_found]) $4])]) - -m4_popdef([with_arg]) -m4_popdef([description]) -m4_popdef([def_arg]) - -])dnl PKG_WITH_MODULES - -dnl PKG_HAVE_WITH_MODULES(VARIABLE-PREFIX, MODULES, -dnl [DESCRIPTION], [DEFAULT]) -dnl ----------------------------------------------- -dnl -dnl Convenience macro to trigger AM_CONDITIONAL after PKG_WITH_MODULES -dnl check._[VARIABLE-PREFIX] is exported as make variable. -AC_DEFUN([PKG_HAVE_WITH_MODULES], -[ -PKG_WITH_MODULES([$1],[$2],,,[$3],[$4]) - -AM_CONDITIONAL([HAVE_][$1], - [test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"]) -])dnl PKG_HAVE_WITH_MODULES - -dnl PKG_HAVE_DEFINE_WITH_MODULES(VARIABLE-PREFIX, MODULES, -dnl [DESCRIPTION], [DEFAULT]) -dnl ------------------------------------------------------ -dnl -dnl Convenience macro to run AM_CONDITIONAL and AC_DEFINE after -dnl PKG_WITH_MODULES check. HAVE_[VARIABLE-PREFIX] is exported as make -dnl and preprocessor variable. -AC_DEFUN([PKG_HAVE_DEFINE_WITH_MODULES], -[ -PKG_HAVE_WITH_MODULES([$1],[$2],[$3],[$4]) - -AS_IF([test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"], - [AC_DEFINE([HAVE_][$1], 1, [Enable ]m4_tolower([$1])[ support])]) -])dnl PKG_HAVE_DEFINE_WITH_MODULES - -# Copyright (C) 2002-2018 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.16' -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.16.1], [], - [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl -]) - -# _AM_AUTOCONF_VERSION(VERSION) -# ----------------------------- -# aclocal traces this macro to find the Autoconf version. -# This is a private macro too. Using m4_define simplifies -# the logic in aclocal, which can simply ignore this definition. -m4_define([_AM_AUTOCONF_VERSION], []) - -# AM_SET_CURRENT_AUTOMAKE_VERSION -# ------------------------------- -# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. -# This function is AC_REQUIREd by AM_INIT_AUTOMAKE. -AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.16.1])dnl -m4_ifndef([AC_AUTOCONF_VERSION], - [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) - -# AM_AUX_DIR_EXPAND -*- Autoconf -*- - -# Copyright (C) 2001-2018 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets -# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to -# '$srcdir', '$srcdir/..', or '$srcdir/../..'. -# -# Of course, Automake must honor this variable whenever it calls a -# tool from the auxiliary directory. The problem is that $srcdir (and -# therefore $ac_aux_dir as well) can be either absolute or relative, -# depending on how configure is run. This is pretty annoying, since -# it makes $ac_aux_dir quite unusable in subdirectories: in the top -# source directory, any form will work fine, but in subdirectories a -# relative path needs to be adjusted first. -# -# $ac_aux_dir/missing -# fails when called from a subdirectory if $ac_aux_dir is relative -# $top_srcdir/$ac_aux_dir/missing -# fails if $ac_aux_dir is absolute, -# fails when called from a subdirectory in a VPATH build with -# a relative $ac_aux_dir -# -# The reason of the latter failure is that $top_srcdir and $ac_aux_dir -# are both prefixed by $srcdir. In an in-source build this is usually -# harmless because $srcdir is '.', but things will broke when you -# start a VPATH build or use an absolute $srcdir. -# -# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, -# iff we strip the leading $srcdir from $ac_aux_dir. That would be: -# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` -# and then we would define $MISSING as -# MISSING="\${SHELL} $am_aux_dir/missing" -# This will work as long as MISSING is not called from configure, because -# unfortunately $(top_srcdir) has no meaning in configure. -# However there are other variables, like CC, which are often used in -# configure, and could therefore not use this "fixed" $ac_aux_dir. -# -# Another solution, used here, is to always expand $ac_aux_dir to an -# absolute PATH. The drawback is that using absolute paths prevent a -# configured tree to be moved without reconfiguration. - -AC_DEFUN([AM_AUX_DIR_EXPAND], -[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl -# Expand $ac_aux_dir to an absolute path. -am_aux_dir=`cd "$ac_aux_dir" && pwd` -]) - -# AM_CONDITIONAL -*- Autoconf -*- - -# Copyright (C) 1997-2018 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-2018 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-2018 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# _AM_OUTPUT_DEPENDENCY_COMMANDS -# ------------------------------ -AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], -[{ - # Older Autoconf quotes --file arguments for eval, but not when files - # are listed without --file. Let's play safe and only enable the eval - # if we detect the quoting. - # TODO: see whether this extra hack can be removed once we start - # requiring Autoconf 2.70 or later. - AS_CASE([$CONFIG_FILES], - [*\'*], [eval set x "$CONFIG_FILES"], - [*], [set x $CONFIG_FILES]) - shift - # Used to flag and report bootstrapping failures. - am_rc=0 - for am_mf - do - # Strip MF so we end up with the name of the file. - am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile which includes - # dependency-tracking related rules and includes. - # Grep'ing the whole file directly is not great: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ - || continue - am_dirpart=`AS_DIRNAME(["$am_mf"])` - am_filepart=`AS_BASENAME(["$am_mf"])` - AM_RUN_LOG([cd "$am_dirpart" \ - && sed -e '/# am--include-marker/d' "$am_filepart" \ - | $MAKE -f - am--depfiles]) || am_rc=$? - done - if test $am_rc -ne 0; then - AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments - for automatic dependency tracking. Try re-running configure with the - '--disable-dependency-tracking' option to at least be able to build - the package (albeit without support for automatic dependency tracking).]) - fi - AS_UNSET([am_dirpart]) - AS_UNSET([am_filepart]) - AS_UNSET([am_mf]) - AS_UNSET([am_rc]) - rm -f conftest-deps.mk -} -])# _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. -# This creates each '.Po' and '.Plo' makefile fragment that we'll 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" MAKE="${MAKE-make}"])]) - -# Do all the work for Automake. -*- Autoconf -*- - -# Copyright (C) 1996-2018 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This macro actually does too much. Some checks are only needed if -# your package does certain things. But this isn't really a big deal. - -dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O. -m4_define([AC_PROG_CC], -m4_defn([AC_PROG_CC]) -[_AM_PROG_CC_C_O -]) - -# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) -# AM_INIT_AUTOMAKE([OPTIONS]) -# ----------------------------------------------- -# The call with PACKAGE and VERSION arguments is the old style -# call (pre autoconf-2.50), which is being phased out. PACKAGE -# and VERSION should now be passed to AC_INIT and removed from -# the call to AM_INIT_AUTOMAKE. -# We support both call styles for the transition. After -# the next Automake release, Autoconf can make the AC_INIT -# arguments mandatory, and then we can depend on a new Autoconf -# release and drop the old call support. -AC_DEFUN([AM_INIT_AUTOMAKE], -[AC_PREREQ([2.65])dnl -dnl Autoconf wants to disallow AM_ names. We explicitly allow -dnl the ones we care about. -m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl -AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl -AC_REQUIRE([AC_PROG_INSTALL])dnl -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) - fi -fi - -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi -AC_SUBST([CYGPATH_W]) - -# Define the identity of the package. -dnl Distinguish between old-style and new-style calls. -m4_ifval([$2], -[AC_DIAGNOSE([obsolete], - [$0: two- and three-arguments forms are deprecated.]) -m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl - AC_SUBST([PACKAGE], [$1])dnl - AC_SUBST([VERSION], [$2])], -[_AM_SET_OPTIONS([$1])dnl -dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. -m4_if( - m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), - [ok:ok],, - [m4_fatal([AC_INIT should be called with package and version arguments])])dnl - AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl - AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl - -_AM_IF_OPTION([no-define],, -[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) - AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl - -# Some tools Automake needs. -AC_REQUIRE([AM_SANITY_CHECK])dnl -AC_REQUIRE([AC_ARG_PROGRAM])dnl -AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) -AM_MISSING_PROG([AUTOCONF], [autoconf]) -AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) -AM_MISSING_PROG([AUTOHEADER], [autoheader]) -AM_MISSING_PROG([MAKEINFO], [makeinfo]) -AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl -AC_REQUIRE([AC_PROG_MKDIR_P])dnl -# For better backward compatibility. To be removed once Automake 1.9.x -# dies out for good. For more background, see: -# -# -AC_SUBST([mkdir_p], ['$(MKDIR_P)']) -# We need awk for the "check" target (and possibly the TAP driver). The -# system "awk" is bad on some platforms. -AC_REQUIRE([AC_PROG_AWK])dnl -AC_REQUIRE([AC_PROG_MAKE_SET])dnl -AC_REQUIRE([AM_SET_LEADING_DOT])dnl -_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], - [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], - [_AM_PROG_TAR([v7])])]) -_AM_IF_OPTION([no-dependencies],, -[AC_PROVIDE_IFELSE([AC_PROG_CC], - [_AM_DEPENDENCIES([CC])], - [m4_define([AC_PROG_CC], - m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_CXX], - [_AM_DEPENDENCIES([CXX])], - [m4_define([AC_PROG_CXX], - m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_OBJC], - [_AM_DEPENDENCIES([OBJC])], - [m4_define([AC_PROG_OBJC], - m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], - [_AM_DEPENDENCIES([OBJCXX])], - [m4_define([AC_PROG_OBJCXX], - m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl -]) -AC_REQUIRE([AM_SILENT_RULES])dnl -dnl The testsuite driver may need to know about EXEEXT, so add the -dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This -dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. -AC_CONFIG_COMMANDS_PRE(dnl -[m4_provide_if([_AM_COMPILER_EXEEXT], - [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl - -# POSIX will say in a future version that running "rm -f" with no argument -# is OK; and we want to be able to make that assumption in our Makefile -# recipes. So use an aggressive probe to check that the usage we want is -# actually supported "in the wild" to an acceptable degree. -# See automake bug#10828. -# To make any issue more visible, cause the running configure to be aborted -# by default if the 'rm' program in use doesn't match our expectations; the -# user can still override this though. -if rm -f && rm -fr && rm -rf; then : OK; else - cat >&2 <<'END' -Oops! - -Your 'rm' program seems unable to run without file operands specified -on the command line, even when the '-f' option is present. This is contrary -to the behaviour of most rm programs out there, and not conforming with -the upcoming POSIX standard: - -Please tell bug-automake@gnu.org about your system, including the value -of your $PATH and any error possibly output before this message. This -can help us improve future automake versions. - -END - if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then - echo 'Configuration will proceed anyway, since you have set the' >&2 - echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 - echo >&2 - else - cat >&2 <<'END' -Aborting the configuration process, to ensure you take notice of the issue. - -You can download and install GNU coreutils to get an 'rm' implementation -that behaves properly: . - -If you want to complete the configuration process using your problematic -'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM -to "yes", and re-run configure. - -END - AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) - fi -fi -dnl The trailing newline in this macro's definition is deliberate, for -dnl backward compatibility and to allow trailing 'dnl'-style comments -dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841. -]) - -dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not -dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further -dnl mangled by Autoconf and run in a shell conditional statement. -m4_define([_AC_COMPILER_EXEEXT], -m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) - -# When config.status generates a header, we must update the stamp-h file. -# This file resides in the same directory as the config header -# that is generated. The stamp files are numbered to have different names. - -# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the -# loop where config.status creates the headers, so we can generate -# our stamp files there. -AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], -[# Compute $1's index in $config_headers. -_am_arg=$1 -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $_am_arg | $_am_arg:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) - -# Copyright (C) 2001-2018 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_PROG_INSTALL_SH -# ------------------ -# Define $install_sh. -AC_DEFUN([AM_PROG_INSTALL_SH], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -if test x"${install_sh+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; - *) - install_sh="\${SHELL} $am_aux_dir/install-sh" - esac -fi -AC_SUBST([install_sh])]) - -# Copyright (C) 2003-2018 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-2018 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 whether make has an 'include' directive that can support all -# the idioms we need for our automatic dependency tracking code. -AC_DEFUN([AM_MAKE_INCLUDE], -[AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive]) -cat > confinc.mk << 'END' -am__doit: - @echo this is the am__doit target >confinc.out -.PHONY: am__doit -END -am__include="#" -am__quote= -# BSD make does it like this. -echo '.include "confinc.mk" # ignored' > confmf.BSD -# Other make implementations (GNU, Solaris 10, AIX) do it like this. -echo 'include confinc.mk # ignored' > confmf.GNU -_am_result=no -for s in GNU BSD; do - AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out]) - AS_CASE([$?:`cat confinc.out 2>/dev/null`], - ['0:this is the am__doit target'], - [AS_CASE([$s], - [BSD], [am__include='.include' am__quote='"'], - [am__include='include' am__quote=''])]) - if test "$am__include" != "#"; then - _am_result="yes ($s style)" - break - fi -done -rm -f confinc.* confmf.* -AC_MSG_RESULT([${_am_result}]) -AC_SUBST([am__include])]) -AC_SUBST([am__quote])]) - -# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- - -# Copyright (C) 1997-2018 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_MISSING_PROG(NAME, PROGRAM) -# ------------------------------ -AC_DEFUN([AM_MISSING_PROG], -[AC_REQUIRE([AM_MISSING_HAS_RUN]) -$1=${$1-"${am_missing_run}$2"} -AC_SUBST($1)]) - -# AM_MISSING_HAS_RUN -# ------------------ -# Define MISSING if not defined so far and test if it is modern enough. -# If it is, set am_missing_run to use it, otherwise, to nothing. -AC_DEFUN([AM_MISSING_HAS_RUN], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([missing])dnl -if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac -fi -# Use eval to expand $SHELL -if eval "$MISSING --is-lightweight"; then - am_missing_run="$MISSING " -else - am_missing_run= - AC_MSG_WARN(['missing' script is too old or missing]) -fi -]) - -# Helper functions for option handling. -*- Autoconf -*- - -# Copyright (C) 2001-2018 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# _AM_MANGLE_OPTION(NAME) -# ----------------------- -AC_DEFUN([_AM_MANGLE_OPTION], -[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) - -# _AM_SET_OPTION(NAME) -# -------------------- -# Set option NAME. Presently that only means defining a flag for this option. -AC_DEFUN([_AM_SET_OPTION], -[m4_define(_AM_MANGLE_OPTION([$1]), [1])]) - -# _AM_SET_OPTIONS(OPTIONS) -# ------------------------ -# OPTIONS is a space-separated list of Automake options. -AC_DEFUN([_AM_SET_OPTIONS], -[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) - -# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) -# ------------------------------------------- -# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. -AC_DEFUN([_AM_IF_OPTION], -[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) - -# Copyright (C) 1999-2018 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# _AM_PROG_CC_C_O -# --------------- -# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC -# to automatically call this. -AC_DEFUN([_AM_PROG_CC_C_O], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([compile])dnl -AC_LANG_PUSH([C])dnl -AC_CACHE_CHECK( - [whether $CC understands -c and -o together], - [am_cv_prog_cc_c_o], - [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) - # Make sure it works both with $CC and with simple cc. - # Following AC_PROG_CC_C_O, we do the test twice because some - # compilers refuse to overwrite an existing .o file with -o, - # though they will create one. - am_cv_prog_cc_c_o=yes - for am_i in 1 2; do - if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ - && test -f conftest2.$ac_objext; then - : OK - else - am_cv_prog_cc_c_o=no - break - fi - done - rm -f core conftest* - unset am_i]) -if test "$am_cv_prog_cc_c_o" != yes; then - # Losing compiler, so override with the script. - # FIXME: It is wrong to rewrite CC. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__CC in this case, - # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" - CC="$am_aux_dir/compile $CC" -fi -AC_LANG_POP([C])]) - -# For backward compatibility. -AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) - -# Copyright (C) 2001-2018 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_RUN_LOG(COMMAND) -# ------------------- -# Run COMMAND, save the exit status in ac_status, and log it. -# (This has been adapted from Autoconf's _AC_RUN_LOG macro.) -AC_DEFUN([AM_RUN_LOG], -[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD - ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - (exit $ac_status); }]) - -# Check to make sure that the build environment is sane. -*- Autoconf -*- - -# Copyright (C) 1996-2018 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_SANITY_CHECK -# --------------- -AC_DEFUN([AM_SANITY_CHECK], -[AC_MSG_CHECKING([whether build environment is sane]) -# Reject unsafe characters in $srcdir or the absolute working directory -# name. Accept space and tab only in the latter. -am_lf=' -' -case `pwd` in - *[[\\\"\#\$\&\'\`$am_lf]]*) - AC_MSG_ERROR([unsafe absolute working directory name]);; -esac -case $srcdir in - *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) - AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; -esac - -# Do 'set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - am_has_slept=no - for am_try in 1 2; do - echo "timestamp, slept: $am_has_slept" > conftest.file - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$[*]" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - if test "$[*]" != "X $srcdir/configure conftest.file" \ - && test "$[*]" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken - alias in your environment]) - fi - if test "$[2]" = conftest.file || test $am_try -eq 2; then - break - fi - # Just in case. - sleep 1 - am_has_slept=yes - done - test "$[2]" = conftest.file - ) -then - # Ok. - : -else - AC_MSG_ERROR([newly created file is older than distributed files! -Check your system clock]) -fi -AC_MSG_RESULT([yes]) -# If we didn't sleep, we still need to ensure time stamps of config.status and -# generated files are strictly newer. -am_sleep_pid= -if grep 'slept: no' conftest.file >/dev/null 2>&1; then - ( sleep 1 ) & - am_sleep_pid=$! -fi -AC_CONFIG_COMMANDS_PRE( - [AC_MSG_CHECKING([that generated files are newer than configure]) - if test -n "$am_sleep_pid"; then - # Hide warnings about reused PIDs. - wait $am_sleep_pid 2>/dev/null - fi - AC_MSG_RESULT([done])]) -rm -f conftest.file -]) - -# Copyright (C) 2009-2018 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_SILENT_RULES([DEFAULT]) -# -------------------------- -# Enable less verbose build rules; with the default set to DEFAULT -# ("yes" being less verbose, "no" or empty being verbose). -AC_DEFUN([AM_SILENT_RULES], -[AC_ARG_ENABLE([silent-rules], [dnl -AS_HELP_STRING( - [--enable-silent-rules], - [less verbose build output (undo: "make V=1")]) -AS_HELP_STRING( - [--disable-silent-rules], - [verbose build output (undo: "make V=0")])dnl -]) -case $enable_silent_rules in @%:@ ((( - yes) AM_DEFAULT_VERBOSITY=0;; - no) AM_DEFAULT_VERBOSITY=1;; - *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; -esac -dnl -dnl A few 'make' implementations (e.g., NonStop OS and NextStep) -dnl do not support nested variable expansions. -dnl See automake bug#9928 and bug#10237. -am_make=${MAKE-make} -AC_CACHE_CHECK([whether $am_make supports nested variables], - [am_cv_make_support_nested_variables], - [if AS_ECHO([['TRUE=$(BAR$(V)) -BAR0=false -BAR1=true -V=1 -am__doit: - @$(TRUE) -.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then - am_cv_make_support_nested_variables=yes -else - am_cv_make_support_nested_variables=no -fi]) -if test $am_cv_make_support_nested_variables = yes; then - dnl Using '$V' instead of '$(V)' breaks IRIX make. - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi -AC_SUBST([AM_V])dnl -AM_SUBST_NOTMAKE([AM_V])dnl -AC_SUBST([AM_DEFAULT_V])dnl -AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl -AC_SUBST([AM_DEFAULT_VERBOSITY])dnl -AM_BACKSLASH='\' -AC_SUBST([AM_BACKSLASH])dnl -_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl -]) - -# Copyright (C) 2001-2018 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-2018 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-2018 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# _AM_PROG_TAR(FORMAT) -# -------------------- -# Check how to create a tarball in format FORMAT. -# FORMAT should be one of 'v7', 'ustar', or 'pax'. -# -# Substitute a variable $(am__tar) that is a command -# writing to stdout a FORMAT-tarball containing the directory -# $tardir. -# tardir=directory && $(am__tar) > result.tar -# -# Substitute a variable $(am__untar) that extract such -# a tarball read from stdin. -# $(am__untar) < result.tar -# -AC_DEFUN([_AM_PROG_TAR], -[# Always define AMTAR for backward compatibility. Yes, it's still used -# in the wild :-( We should find a proper way to deprecate it ... -AC_SUBST([AMTAR], ['$${TAR-tar}']) - -# We'll loop over all known methods to create a tar archive until one works. -_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' - -m4_if([$1], [v7], - [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], - - [m4_case([$1], - [ustar], - [# The POSIX 1988 'ustar' format is defined with fixed-size fields. - # There is notably a 21 bits limit for the UID and the GID. In fact, - # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 - # and bug#13588). - am_max_uid=2097151 # 2^21 - 1 - am_max_gid=$am_max_uid - # The $UID and $GID variables are not portable, so we need to resort - # to the POSIX-mandated id(1) utility. Errors in the 'id' calls - # below are definitely unexpected, so allow the users to see them - # (that is, avoid stderr redirection). - am_uid=`id -u || echo unknown` - am_gid=`id -g || echo unknown` - AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) - if test $am_uid -le $am_max_uid; then - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - _am_tools=none - fi - AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) - if test $am_gid -le $am_max_gid; then - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - _am_tools=none - fi], - - [pax], - [], - - [m4_fatal([Unknown tar format])]) - - AC_MSG_CHECKING([how to create a $1 tar archive]) - - # Go ahead even if we have the value already cached. We do so because we - # need to set the values for the 'am__tar' and 'am__untar' variables. - _am_tools=${am_cv_prog_tar_$1-$_am_tools} - - for _am_tool in $_am_tools; do - case $_am_tool in - gnutar) - for _am_tar in tar gnutar gtar; do - AM_RUN_LOG([$_am_tar --version]) && break - done - am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' - am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' - am__untar="$_am_tar -xf -" - ;; - plaintar) - # Must skip GNU tar: if it does not support --format= it doesn't create - # ustar tarball either. - (tar --version) >/dev/null 2>&1 && continue - am__tar='tar chf - "$$tardir"' - am__tar_='tar chf - "$tardir"' - am__untar='tar xf -' - ;; - pax) - am__tar='pax -L -x $1 -w "$$tardir"' - am__tar_='pax -L -x $1 -w "$tardir"' - am__untar='pax -r' - ;; - cpio) - am__tar='find "$$tardir" -print | cpio -o -H $1 -L' - am__tar_='find "$tardir" -print | cpio -o -H $1 -L' - am__untar='cpio -i -H $1 -d' - ;; - none) - am__tar=false - am__tar_=false - am__untar=false - ;; - esac - - # If the value was cached, stop now. We just wanted to have am__tar - # and am__untar set. - test -n "${am_cv_prog_tar_$1}" && break - - # tar/untar a dummy directory, and stop if the command works. - rm -rf conftest.dir - mkdir conftest.dir - echo GrepMe > conftest.dir/file - AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) - rm -rf conftest.dir - if test -s conftest.tar; then - AM_RUN_LOG([$am__untar /dev/null 2>&1 && break - fi - done - rm -rf conftest.dir - - AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) - AC_MSG_RESULT([$am_cv_prog_tar_$1])]) - -AC_SUBST([am__tar]) -AC_SUBST([am__untar]) -]) # _AM_PROG_TAR - -m4_include([m4/gettext.m4]) -m4_include([m4/iconv.m4]) -m4_include([m4/intlmacosx.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]) diff -Nru shared-mime-info-1.15/ChangeLog shared-mime-info-2.0/ChangeLog --- shared-mime-info-1.15/ChangeLog 2019-10-30 10:45:26.000000000 +0000 +++ shared-mime-info-2.0/ChangeLog 1970-01-01 00:00:00.000000000 +0000 @@ -1,11537 +0,0 @@ -commit 829b26d85e7d89a0caee03046c3bce373f04c80a (HEAD -> master) -Author: Bastien Nocera -Date: Wed Oct 30 11:45:01 2019 +0100 - - 1.15 - - NEWS | 4 ++++ - configure.ac | 2 +- - 2 files changed, 5 insertions(+), 1 deletion(-) - -commit 4bae2a489c52f8314a21a949223e846151bcccb9 (origin/wip/hadess/add-kindle-8-format, origin/master, origin/HEAD) -Author: Bastien Nocera -Date: Wed Oct 23 14:19:20 2019 +0200 - - Add Kindle Book Format mime-type - - Mime-type from: - https://www.iana.org/assignments/media-types/application/vnd.amazon.mobi8-ebook - Alias from: - https://github.com/kovidgoyal/calibre/commit/ddca079000ffd03611d19c5dfe29341b9c1c6e2e#diff-64773d34b80f6772011eb6c82d9fa5ddR37 - - freedesktop.org.xml.in | 7 +++++++ - ...-barrett-browning_sonnets-from-the-portuguese.azw3 | Bin 0 -> 1076265 bytes - tests/list | 2 ++ - 3 files changed, 9 insertions(+) - -commit 5c9e37f85de684f7fac707531e2950e68061a64d -Author: Nate Graham -Date: Wed Oct 16 19:55:29 2019 +0000 - - Add mimetype for AppleWorks documents - - freedesktop.org.xml.in | 6 ++++++ - tests/appleworks.cwk | Bin 0 -> 4731 bytes - tests/list | 1 + - 3 files changed, 7 insertions(+) - -commit be63d4d04cec02f3d84db44ca60719d7596d2399 (origin/wip/hadess/more-html-fun) -Author: Bastien Nocera -Date: Wed Oct 16 17:00:47 2019 +0200 - - Remove " - - make install - Makefile:939: warning: overriding commands for target `all' - Makefile:279: warning: ignoring old commands for target `all' - Making install in . - Makefile:939: warning: overriding commands for target `all' - Makefile:279: warning: ignoring old commands for target `all' - Makefile:939: warning: overriding commands for target `all' - Makefile:279: warning: ignoring old commands for target `all' - test -z "/usr/share/man/man1" || mkdir -p -- "/usr/share/man/man1" - test -z "/usr/share/mime/packages" || mkdir -p -- "/usr/share/mime/packages" - test -z "/usr/share/pkgconfig" || mkdir -p -- "/usr/share/pkgconfig" - /scratchbox/tools/bin/install -c -m 644 'freedesktop.org.xml' '/usr/share/mime/packages/freedesktop.org.xml' - /scratchbox/tools/bin/install -c -m 644 'shared-mime-info.pc' '/usr/share/pkgconfig/shared-mime-info.pc' - /scratchbox/tools/bin/install -c -m 644 './update-mime-database.1' '/usr/share/man/man1/update-mime-database.1' - test -z "/usr/bin" || mkdir -p -- "/usr/bin" - make install-data-hook - Makefile:939: warning: overriding commands for target `all' - Makefile:279: warning: ignoring old commands for target `all' - "/usr/bin/update-mime-database" -V "/usr/share/mime" - /scratchbox/tools/bin/sh: /usr/bin/update-mime-database: No such file or directory - make[4]: *** [install-data-hook] Error 127 - make[3]: *** [install-data-am] Error 2 - make[3]: *** Waiting for unfinished jobs.... - /scratchbox/tools/bin/install -c 'update-mime-database' '/usr/bin/update-mime-database' - make[2]: *** [install-am] Error 2 - make[1]: *** [install-recursive] Error 1 - make: *** [__matrix_install] Error 2 - - <-- snip --> - - http://bugs.freedesktop.org/show_bug.cgi?id=27252 - - Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 59d4c660cc7a0807330f5a2f2fbd00a90618c9ce -Author: Adrian Bunk -Date: Mon Mar 8 21:22:05 2010 +0200 - - remove the generated mkinstalldirs from git - - http://bugs.freedesktop.org/show_bug.cgi?id=27251 - - mkinstalldirs | 111 ---------------------------------------------------------- - 1 file changed, 111 deletions(-) - -commit 86f380015cf63192a2d3a7a750a2fe3d4681582c -Author: Ville Skyttä -Date: Sun Mar 21 23:19:00 2010 +0200 - - Add kk to LINGUAS. - - po/LINGUAS | 1 + - 1 file changed, 1 insertion(+) - -commit 64ed67024c36943f92db9421d1b7a042c2c10454 -Author: Petr Kovar -Date: Sat Mar 20 22:51:21 2010 +0000 - - l10n: Updates to Czech (cs) translation - - Transmitted-via: Transifex (www.transifex.net) - - po/cs.po | 1063 +++++++++++++++++++++++++++++++------------------------------- - 1 file changed, 540 insertions(+), 523 deletions(-) - -commit bbea014f7a52ef4aad0e370e29c30682adcf673f -Author: sotrud_nik -Date: Sat Mar 20 11:33:53 2010 +0000 - - l10n: Updates to kk translation - - Transmitted-via: Transifex (www.transifex.net) - - po/kk.po | 1354 ++++++++++++++++++++++++++++++++++++-------------------------- - 1 file changed, 796 insertions(+), 558 deletions(-) - -commit 17d8cc8d7df573a62fd0179c7e00565c23519784 -Author: sotrud_nik -Date: Sat Mar 20 11:16:25 2010 +0000 - - l10n: New translation to Kazakh language - - Transmitted-via: Transifex (www.transifex.net) - - po/kk.po | 2372 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 2372 insertions(+) - -commit eb22561c36a2ff8a137b8661640a48a2df2980b1 -Author: Iñaki Larrañaga Murgoitio -Date: Wed Mar 17 09:11:42 2010 +0000 - - l10n: Updates to Basque (eu) translation - - Transmitted-via: Transifex (www.transifex.net) - - po/eu.po | 1226 ++++++++++++++++++++++++++++++++++---------------------------- - 1 file changed, 668 insertions(+), 558 deletions(-) - -commit 6948841601336c937210a6261ef8bae14b4806ef -Author: Yuri Chornoivan -Date: Tue Mar 16 18:29:49 2010 +0000 - - l10n: Updates to Ukrainian (uk) translation - - Transmitted-via: Transifex (www.transifex.net) - - po/uk.po | 2494 +++++++++++++++++++++++++++++++++++++------------------------- - 1 file changed, 1499 insertions(+), 995 deletions(-) - -commit e81decfc2255d6d510833655bf9595d4eb18a4d8 -Author: Pino Toscano -Date: Sat Mar 13 14:16:54 2010 +0100 - - set XDG_DATA_HOME when running test-mime-data - - setting XDG_DATA_HOME to eg the same value of XDG_DATA_DIRS makes test-mime-data avoid looking in ~/.local for MIME types - this way the unit test run only using own stuff, instead of using by change also stuff from the system - - Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 8bd6545ad9a764361811994b17d12890ad73c04a -Author: Jorge González -Date: Tue Mar 9 19:43:29 2010 +0000 - - l10n: Updates to Spanish (Castilian) (es) translation - - Transmitted-via: Transifex (www.transifex.net) - - po/es.po | 1067 +++++++++++++++++++++++++++++++------------------------------- - 1 file changed, 541 insertions(+), 526 deletions(-) - -commit 8c8f107b792b00e4c6152690a9d8c8d61cdf6289 -Author: Luca Ferretti -Date: Mon Mar 8 20:35:29 2010 +0000 - - l10n: Updates to Italian (it) translation - - Transmitted-via: Transifex (www.transifex.net) - - po/it.po | 1112 +++++++++++++++++++++++++++++++------------------------------- - 1 file changed, 563 insertions(+), 549 deletions(-) - -commit 7e041c45d8a078aa616e2b06c47a2738421fc5a6 -Author: Piotr Drąg -Date: Mon Mar 8 11:35:31 2010 +0000 - - l10n: Updates to Polish (pl) translation - - Transmitted-via: Transifex (www.transifex.net) - - po/pl.po | 248 ++++++++++++++++++++++++++++++++------------------------------- - 1 file changed, 126 insertions(+), 122 deletions(-) - -commit 44dd8598272261dcbf5953c2754546b91bffbf72 -Author: Ville Skyttä -Date: Sun Mar 7 14:56:22 2010 +0200 - - Add text/cache-manifest. - - http://www.w3.org/TR/html5/iana.html#text-cache-manifest - - freedesktop.org.xml.in | 13 +++++++++++++ - tests/list | 2 ++ - tests/test.manifest | 7 +++++++ - 3 files changed, 22 insertions(+) - -commit ccba3abf68ef1beaf3363db5748804cbba54c937 -Author: Jorge González -Date: Tue Mar 2 23:03:23 2010 +0000 - - l10n: Updates to Spanish (Castilian) (es) translation - - Transmitted-via: Transifex (www.transifex.net) - - po/es.po | 1299 ++++++++++++++++++++++++++++++++++---------------------------- - 1 file changed, 708 insertions(+), 591 deletions(-) - -commit 383179c34418545d18c7e7145fb4094b4520fae9 -Author: Daniel Nylander -Date: Tue Mar 2 09:53:58 2010 +0000 - - l10n: Updated Swedish translation - - Transmitted-via: Transifex (www.transifex.net) - - po/sv.po | 1211 +++++++++++++++++++++++++++++++++----------------------------- - 1 file changed, 651 insertions(+), 560 deletions(-) - -commit 75f4ef9ff308f2751bcaa9d48cd65595c6624471 -Author: claudep -Date: Mon Mar 1 22:50:57 2010 +0000 - - l10n: Updates to French (fr) translation - - Transmitted-via: Transifex (www.transifex.net) - - po/fr.po | 1126 ++++++++++++++++++++++++++++++++------------------------------ - 1 file changed, 589 insertions(+), 537 deletions(-) - -commit 78d5edc453ebc12f4cb1b7fe44519b587e6ef9da -Author: kelemeng -Date: Mon Mar 1 22:47:21 2010 +0000 - - l10n: Updates to Hungarian (hu) translation - - Transmitted-via: Transifex (www.transifex.net) - - po/hu.po | 1194 ++++++++++++++++++++++++++++++++++---------------------------- - 1 file changed, 660 insertions(+), 534 deletions(-) - -commit b42f8d2cd7c3fa875ab522f2ec782e06a1fe562a -Author: Piotr Drąg -Date: Sun Feb 28 05:51:20 2010 +0000 - - l10n: Updates to Polish (pl) translation - - Transmitted-via: Transifex (www.transifex.net) - - po/pl.po | 192 ++++++++++++++++++++++++++++++++------------------------------- - 1 file changed, 98 insertions(+), 94 deletions(-) - -commit bc72075f8725e22da85a2b75c64106a157d1c92c -Author: Ville Skyttä -Date: Sat Feb 27 19:41:30 2010 +0200 - - Add application/x-xpinstall. - - https://developer.mozilla.org/en/Extension_Packaging - - freedesktop.org.xml.in | 5 +++++ - tests/helloworld.xpi | Bin 0 -> 3427 bytes - tests/list | 2 ++ - 3 files changed, 7 insertions(+) - -commit d1cefd75a15bd8cf48d9936a5f419a9bf9b907bf -Author: Ville Skyttä -Date: Sat Feb 27 19:22:26 2010 +0200 - - Add ro to LINGUAS. - - po/LINGUAS | 1 + - 1 file changed, 1 insertion(+) - -commit b2476b859f57c401489b00a513076022c79640aa -Author: Lucian Grijincu -Date: Tue Feb 23 00:51:26 2010 +0000 - - l10n: Bug fixes for Romanian translation - - Transmitted-via: Transifex (www.transifex.net) - - po/ro.po | 40 +++++++++++++++++++++------------------- - 1 file changed, 21 insertions(+), 19 deletions(-) - -commit 93cccad152275647e49b38541137cc180ea71b0f -Author: Lucian Grijincu -Date: Sat Feb 20 01:42:48 2010 +0000 - - l10n: Update Romanian translation - - Transmitted-via: Transifex (www.transifex.net) - - po/ro.po | 511 ++++++++++++++++++++++++++++++++------------------------------- - 1 file changed, 259 insertions(+), 252 deletions(-) - -commit 7b2014447fcb44ec97af74f8d0113a50e17e2d09 -Author: Lucian Grijincu -Date: Sat Feb 20 01:39:09 2010 +0000 - - l10n: First commit of Romanian translation - - Transmitted-via: Transifex (www.transifex.net) - - po/ro.po | 2478 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 2478 insertions(+) - -commit ef12958c9cadebdfaea5fb45dfa1615fc279f6c6 -Author: Achim Gaedke -Date: Tue Feb 16 22:52:00 2010 +1300 - - Add magic for hierarchical data file format (HDF) - - * HDF5 File Format Specification Version 2.0 Chapter II - * HDF4r15_SpecDG.pdf Chapter 2.2: 0x0E 0x03 0x13 0x01 - - test files created with hdfview - - http://bugs.freedesktop.org/show_bug.cgi?id=26571 - - freedesktop.org.xml.in | 8 ++++++++ - tests/list | 2 ++ - tests/test.h5 | Bin 0 -> 2368 bytes - tests/test.hdf4 | Bin 0 -> 1061 bytes - 4 files changed, 10 insertions(+) - -commit 295aa94ca96906714e54f04a448dc5a94dda0e74 -Author: Ville Skyttä -Date: Mon Feb 15 20:36:43 2010 +0200 - - Use audio/flac for FLAC, make audio/x-flac an alias for it. - - For consistency with other xiph.org types not yet registered in IANA: - http://wiki.xiph.org/MIME_Types_and_File_Extensions - - freedesktop.org.xml.in | 3 ++- - tests/list | 2 +- - 2 files changed, 3 insertions(+), 2 deletions(-) - -commit ee8b6a9eb8f97bd73009640e231e025894986d78 -Author: Ville Skyttä -Date: Mon Feb 15 20:32:03 2010 +0200 - - Add root-XML for XSPF. - - freedesktop.org.xml.in | 1 + - 1 file changed, 1 insertion(+) - -commit 0be96853e8562f1511d93095cc7227b75d9d3889 -Author: Ville Skyttä -Date: Mon Feb 15 20:27:13 2010 +0200 - - Add application/x-xspf+xml as an alias for application/xspf+xml. - - For consistency with other xiph.org types not yet registered in IANA: - http://wiki.xiph.org/MIME_Types_and_File_Extensions - - freedesktop.org.xml.in | 1 + - 1 file changed, 1 insertion(+) - -commit b9b01e4398455e390eda6531f29c2ad244da623e -Author: Ville Skyttä -Date: Mon Feb 15 19:07:30 2010 +0200 - - Remove no longer used .cvsignore. - - po/.cvsignore | 8 -------- - 1 file changed, 8 deletions(-) - -commit 958b069600f882001344a3d58c59797ee4f899d1 -Author: Ville Skyttä -Date: Mon Feb 15 19:06:08 2010 +0200 - - Tell git to ignore more generated files in po/. - - po/.gitignore | 2 ++ - 1 file changed, 2 insertions(+) - -commit 07cafcb275f19efaa4b7551af7d9d0955a9f0ccb -Author: Serguey G Basalaev -Date: Mon Feb 15 11:02:58 2010 +0000 - - application/x-linguist is an XML document - - Qt Linguist translation file is a valid XML, it should be a subclass of - application/xml. - - http://doc.trolltech.com/4.5/linguist-translators.html#file-types - http://doc.trolltech.com/4.5/linguist-ts-file-format.html - - http://bugs.freedesktop.org/show_bug.cgi?id=26567 - - freedesktop.org.xml.in | 1 + - 1 file changed, 1 insertion(+) - -commit e95d3ec9f819d57d43ffbab69444b24b9e9d2f00 -Author: Piotr Drąg -Date: Fri Feb 12 09:20:47 2010 +0000 - - l10n: Updates to Polish (pl) translation - - Transmitted-via: Transifex (www.transifex.net) - - po/pl.po | 274 ++++++++++++++++++++++++++++++++------------------------------- - 1 file changed, 139 insertions(+), 135 deletions(-) - -commit 4062201cb2637caea3fef1c144dec49171ee3f26 -Author: Vincent Untz -Date: Wed Feb 10 18:37:18 2010 +0100 - - Fix arabic translation - - Use ar.po instead of ara.po. The latter was probably added by mistake, - and the former is more complete. - - http://bugs.freedesktop.org/show_bug.cgi?id=26519 - - po/LINGUAS | 2 +- - po/ara.po | 2368 ------------------------------------------------------------ - 2 files changed, 1 insertion(+), 2369 deletions(-) - -commit d18bb96e8de8bf615d36c7363f6b60754c20bf1b -Author: Antti Kaijanmäki -Date: Thu Feb 11 09:42:27 2010 +0200 - - Add mime-type for Verilog documents + a test file. - - Signed-off-by: Antti Kaijanmäki - - http://bugs.freedesktop.org/show_bug.cgi?id=26513 - - freedesktop.org.xml.in | 5 +++++ - tests/list | 1 + - tests/test.v | 10 ++++++++++ - 3 files changed, 16 insertions(+) - -commit 4ec8edf87218717258f116e006c5b0f02c7e29f4 -Author: Ville Skyttä -Date: Mon Feb 8 21:36:29 2010 +0200 - - Bump priority of KOffice magics to give them precedence over gzip and zip. - - While at it, add some test cases from KOffice 2.1.1 source tarball. - - freedesktop.org.xml.in | 20 ++++++++++---------- - tests/Empty.chrt | Bin 0 -> 9031 bytes - tests/Presentation.kpt | Bin 0 -> 1043 bytes - tests/combined.karbon | Bin 0 -> 2731 bytes - tests/layersupdatesignals.flw | Bin 0 -> 10783 bytes - tests/list | 8 ++++++++ - tests/test-kounavail2.kwd | Bin 0 -> 1476 bytes - tests/testcases.ksp | Bin 0 -> 2002 bytes - tests/white_640x480.kra | Bin 0 -> 3164 bytes - 9 files changed, 18 insertions(+), 10 deletions(-) - -commit a7183f606dd6255e2beb414ecaeb334cacea8868 -Author: Piotr Drąg -Date: Mon Feb 8 13:32:23 2010 +0000 - - l10n: Updates to Polish (pl) translation - - Transmitted-via: Transifex (www.transifex.net) - - po/pl.po | 1050 +++++++++++++++++++++++++++++++------------------------------- - 1 file changed, 527 insertions(+), 523 deletions(-) - -commit c6b4e243036bf5dbceeb1c8ce3ad24774766392e -Author: Caolán McNamara -Date: Mon Feb 8 11:21:22 2010 +0000 - - Add dia shapes - - freedesktop.org.xml.in | 9 +++++++++ - tests/dia.shape | 27 +++++++++++++++++++++++++++ - tests/list | 2 ++ - 3 files changed, 38 insertions(+) - -commit 0fcd1ae13d56538edae8e04f386f729ab649ff3d -Author: Piotr Drąg -Date: Sun Feb 7 16:52:59 2010 +0000 - - l10n: Updates to Polish (pl) translation - - Transmitted-via: Transifex (www.transifex.net) - - po/pl.po | 690 ++++++++++++++++++++++++++++++++------------------------------- - 1 file changed, 353 insertions(+), 337 deletions(-) - -commit 7e8a340c46389b4157acc936b477a14ad78f7a72 -Author: Ville Skyttä -Date: Fri Feb 5 23:57:29 2010 +0200 - - Fix malformed D source test line. - - tests/list | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 8297ea8f335b55d72a8683ad02b33950a172eb65 -Author: Bastien Nocera -Date: Fri Feb 5 17:42:58 2010 +0000 - - Add magic and glob for F4V (Flash Video) files - - And globs for f4a and f4b file types. - - See http://en.wikipedia.org/wiki/Flash_Video#File_formats - - freedesktop.org.xml.in | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 1412c514f9f00cd7e2bfe5ed72df90b55b9b60aa -Author: Petr Kovar -Date: Thu Feb 4 23:53:04 2010 +0000 - - l10n: Updates to Czech (cs) translation - - Transmitted-via: Transifex (www.transifex.net) - - po/cs.po | 1109 ++++++++++++++++++++++++++++++++------------------------------ - 1 file changed, 572 insertions(+), 537 deletions(-) - -commit 5e78fdd9db8f174fd5ec3c1612bbdf2a6611080c -Author: Luca Ferretti -Date: Wed Feb 3 21:35:17 2010 +0000 - - l10n: Updates to Italian (it) translation - - Transmitted-via: Transifex (www.transifex.net) - - po/it.po | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -commit e3ea9da054317d44bda5650fec62afd2444c7047 -Author: Luca Ferretti -Date: Wed Feb 3 21:26:49 2010 +0000 - - l10n: Updates to Italian (it) translation - - Transmitted-via: Transifex (www.transifex.net) - - po/it.po | 24 +++++++++--------------- - 1 file changed, 9 insertions(+), 15 deletions(-) - -commit ef7fde0d0b539678a72973cab8e204ac5be2d309 -Author: Luca Ferretti -Date: Wed Feb 3 21:20:18 2010 +0000 - - l10n: Updates to Italian (it) translation - - Transmitted-via: Transifex (www.transifex.net) - - po/it.po | 1164 ++++++++++++++++++++++++++++++++------------------------------ - 1 file changed, 609 insertions(+), 555 deletions(-) - -commit 009fd196ca1f13f3d8a4b9c24208244fa40b0af3 (tag: Release-0-71) -Author: Bastien Nocera -Date: Mon Feb 1 17:40:40 2010 +0000 - - 0.71 - - NEWS | 23 +++++++++++++++++++++++ - configure.in | 2 +- - 2 files changed, 24 insertions(+), 1 deletion(-) - -commit 08561171f346a1535f224f0ef0c82d9b80e280f8 -Author: Florent Viard -Date: Mon Feb 1 17:26:46 2010 +0000 - - And another fix when fd.o.xml already exists in srcdir - - http://bugs.freedesktop.org/show_bug.cgi?id=26273 - - Makefile.am | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 706dd4ea26ae89ed99c35b5d31310725c9cb865a -Author: Daniel Leidert -Date: Mon Feb 1 13:39:09 2010 +0000 - - Make D sources a sub-class of C sources - - http://bugs.freedesktop.org/show_bug.cgi?id=13681 - - freedesktop.org.xml.in | 2 +- - tests/list | 2 ++ - tests/test.d | 95 ++++++++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 98 insertions(+), 1 deletion(-) - -commit 3f1155506f763604cb16824adfd98bd6b2d2dfb9 -Author: Bastien Nocera -Date: Mon Feb 1 13:31:25 2010 +0000 - - Fix test list - - tests/list | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -commit 2b30c4be04480e18fe8d06ad36d813239410a368 -Author: RALOVICH, Kristóf -Date: Sat Jan 30 18:44:48 2010 -0500 - - Add OpenDocument Flat XML test cases. - - http://bugs.freedesktop.org/show_bug.cgi?id=26340 - - tests/list | 5 + - tests/ooo-test.fodg | 450 +++++++++++++++++++ - tests/ooo-test.fodp | 1207 +++++++++++++++++++++++++++++++++++++++++++++++++++ - tests/ooo-test.fods | 292 +++++++++++++ - tests/ooo-test.fodt | 360 +++++++++++++++ - 5 files changed, 2314 insertions(+) - -commit 07812aeab649468e6601cf9be5ad7dd86c28b81c -Author: RALOVICH, Kristóf -Date: Sat Jan 30 18:17:28 2010 -0500 - - Enlist OpenDocument Flat XML file formats - - http://bugs.freedesktop.org/show_bug.cgi?id=26340 - - freedesktop.org.xml.in | 32 ++++++++++++++++++++++++++++++++ - 1 file changed, 32 insertions(+) - -commit b20b2b1bc58886dd52439cdb72a5753506a636a9 -Author: RALOVICH, Kristóf -Date: Sat Jan 30 17:07:31 2010 -0500 - - Add OpenDocument test cases. - - http://bugs.freedesktop.org/show_bug.cgi?id=26336 - - tests/list | 5 +++++ - tests/ooo-test.odg | Bin 0 -> 8746 bytes - tests/ooo-test.odp | Bin 0 -> 11334 bytes - tests/ooo-test.ods | Bin 0 -> 7522 bytes - tests/ooo-test.odt | Bin 0 -> 8372 bytes - 5 files changed, 5 insertions(+) - -commit 787c97105ce3673c2e37d762955c35c24586dd28 -Author: Piotr Drąg -Date: Thu Jan 28 21:34:34 2010 +0000 - - l10n: Updates to Polish (pl) translation - - Transmitted-via: Transifex (www.transifex.net) - - po/pl.po | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -commit 50fa3f6f90f3a9256966434d8690547eb8409e12 -Author: Piotr Drąg -Date: Thu Jan 28 21:31:33 2010 +0000 - - l10n: Updates to Polish (pl) translation - - Transmitted-via: Transifex (www.transifex.net) - - po/pl.po | 1095 ++++++++++++++++++++++++++++++++------------------------------ - 1 file changed, 558 insertions(+), 537 deletions(-) - -commit 62ddb0f83d287531762a41dce21bd7cf442bb0e3 -Author: Ville Skyttä -Date: Fri Nov 13 22:12:51 2009 +0200 - - Add application/x-java-keystore and application/x-java-jce-keystore. - - http://bugs.freedesktop.org/show_bug.cgi?id=22859 - - freedesktop.org.xml.in | 18 ++++++++++++++++++ - tests/list | 2 ++ - tests/test.jceks | Bin 0 -> 32 bytes - tests/test.jks | Bin 0 -> 32 bytes - 4 files changed, 20 insertions(+) - -commit 20cefa4aa428a19212eaf8286120a1f38349326a -Author: Ville Skyttä -Date: Fri Nov 13 22:06:05 2009 +0200 - - Update MathML MIME type to application/mathml+xml, add root-XML and acronym for it. - - See http://www.w3.org/TR/MathML2/chapter7.html#id.7.1.3 - - http://bugs.freedesktop.org/show_bug.cgi?id=25081 - - freedesktop.org.xml.in | 14 +++++++++----- - tests/list | 1 + - tests/test.mml | 2 ++ - 3 files changed, 12 insertions(+), 5 deletions(-) - -commit 412ebe4e6f6763afa23bcd6e813f2e122d1196fb -Author: Bastien Nocera -Date: Thu Jan 28 17:14:35 2010 +0000 - - Fix test suite for *.eml glob addition - - tests/list | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit e665d474b44d36c1510378865bd0bbbb79fd8ac5 -Author: Olivier Tilloy -Date: Wed Jan 27 18:09:18 2010 +0100 - - Add application/vnd.openxmlformats-officedocument.presentationml.slideshow - - and sample.ppsx test file (copied sample.pptx). - - http://bugs.freedesktop.org/show_bug.cgi?id=26276 - - freedesktop.org.xml.in | 6 ++++++ - tests/list | 2 ++ - tests/sample.ppsx | Bin 0 -> 47215 bytes - 3 files changed, 8 insertions(+) - -commit b84c52dd57208fe9697912d7be82daa1c74b9d6f -Author: Ville Skyttä -Date: Fri Nov 13 22:14:41 2009 +0200 - - Add *.eml glob for message/rfc822. - - http://bugs.freedesktop.org/show_bug.cgi?id=25861 - - freedesktop.org.xml.in | 1 + - 1 file changed, 1 insertion(+) - -commit a326a5c8ff045ae75c760c04241d9432bccc2287 -Author: Ville Skyttä -Date: Fri Nov 13 22:15:58 2009 +0200 - - Associate *.xsl and *.xslt with application/xslt+xml instead of application/xml. - - http://bugs.freedesktop.org/show_bug.cgi?id=25860 - - freedesktop.org.xml.in | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 28939fdabc6fd8e8540e0e3486f9e5f567ad610c -Author: Ville Skyttä -Date: Sat Jan 2 21:58:40 2010 +0200 - - Associate .cer with application/pkix-cert instead of application/x-x509-ca-cert (RFC 2585). - - http://bugs.freedesktop.org/show_bug.cgi?id=25859 - - freedesktop.org.xml.in | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -commit fa8d814ff02096a5c1bf679b774cef33e0a744fb -Author: Ville Skyttä -Date: Fri Nov 13 22:09:22 2009 +0200 - - Add application/pkix-crl. - - http://bugs.freedesktop.org/show_bug.cgi?id=25061 - - freedesktop.org.xml.in | 4 ++++ - 1 file changed, 4 insertions(+) - -commit b4c2ad132dcde0772c9473efc8cdf2071e2f19e3 -Author: Florent Viard -Date: Thu Jan 28 16:45:03 2010 +0000 - - Fix error at compilation time when builddir != srcdir - - http://bugs.freedesktop.org/show_bug.cgi?id=26273 - - Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 91d5397abb9fe13c01bd15316c7a9ff9ac81d800 -Author: Petr Kovar -Date: Sun Jan 17 22:11:09 2010 +0000 - - l10n: Updates to Czech (cs) translation - - Transmitted-via: Transifex (www.transifex.net) - - po/cs.po | 976 ++++++++++++++++++++++++++++++++++----------------------------- - 1 file changed, 527 insertions(+), 449 deletions(-) - -commit 93889dda99549cd6c3182a5da78dd3c85d1d3b49 -Author: Piotr Drąg -Date: Sat Dec 12 20:46:05 2009 +0000 - - l10n: Updates to Polish (pl) translation - - Transmitted-via: Transifex (www.transifex.net) - - po/pl.po | 924 ++++++++++++++++++++++++++++++++------------------------------- - 1 file changed, 464 insertions(+), 460 deletions(-) - -commit 0af859305338ad0b4a53d663acba1061587ae0d3 -Author: Bastien Nocera -Date: Fri Dec 4 14:22:59 2009 +0000 - - Add pre-git ChangeLog - - ChangeLog.pre-git | 3399 +++++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 3399 insertions(+) - -commit 2cbf80fc99d152dea3cbb92eb5670f1ebb83ea22 -Author: Bastien Nocera -Date: Fri Dec 4 14:22:34 2009 +0000 - - Add support for Apple's HTTP Live Streaming playlists - - freedesktop.org.xml.in | 8 ++++++++ - tests/list | 2 ++ - tests/live-streaming.m3u | 5 +++++ - 3 files changed, 15 insertions(+) - -commit 3e8a8f7f1df912b938883de1bd6cfc0f6e2e2267 -Author: Bastien Nocera -Date: Fri Dec 4 14:17:44 2009 +0000 - - Add comment for broken RSS file - - tests/list | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 0f3f6fe6c75f1150afe8a0f44f5e20755a862f35 -Author: Bastien Nocera -Date: Fri Dec 4 11:51:37 2009 +0000 - - Add a test case for RSS feeds - - tests/560051.xml | 2944 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ - tests/list | 1 + - 2 files changed, 2945 insertions(+) - -commit 88d20caaec5354b88ec9d9a556ab48163ac3d256 -Author: Piotr Drąg -Date: Fri Nov 20 23:44:51 2009 +0000 - - l10n: Updates to Polish (pl) translation - - Transmitted-via: Transifex (www.transifex.net) - - po/pl.po | 922 ++++++++++++++++++++++++++++++++------------------------------- - 1 file changed, 463 insertions(+), 459 deletions(-) - -commit 8ece0d43938fbe4b426f69d457d8846009fcb963 -Author: claudep -Date: Tue Nov 17 09:40:26 2009 +0000 - - l10n: Updates to French (fr) translation - - Transmitted-via: Transifex (www.transifex.net) - - po/fr.po | 937 +++++++++++++++++++++++++++++++++------------------------------ - 1 file changed, 484 insertions(+), 453 deletions(-) - -commit 531f05a4040b7e87878090ed7d9f78dd78807001 -Author: Richard Hughes -Date: Tue Nov 10 18:54:19 2009 +0000 - - Rename application/x-it87_2 to application/x-it87 as /2 is just a revision number - - freedesktop.org.xml.in | 8 ++++---- - tests/list | 2 +- - tests/{test.it872 => test.it87} | 0 - 3 files changed, 5 insertions(+), 5 deletions(-) - -commit e4bde384d99e430272909be9bc31438360a87b27 -Author: Richard Hughes -Date: Tue Nov 10 17:24:31 2009 +0000 - - Add application/x-it87_2 - - Matching values taken from the IT8.7/2 specification which is freely available. - - freedesktop.org.xml.in | 9 +++++++++ - tests/list | 2 ++ - tests/test.it872 | 17 +++++++++++++++++ - 3 files changed, 28 insertions(+) - -commit bf1808ba0270207094da9d097d2631b17d8fc719 -Author: Luca Ferretti -Date: Fri Nov 6 20:05:11 2009 +0000 - - l10n: Updates to Italian (it) translation - - Transmitted-via: Transifex (www.transifex.net) - - po/it.po | 747 ++++++++++++++++++++++++++++++++------------------------------- - 1 file changed, 375 insertions(+), 372 deletions(-) - -commit d21f78c5e8b8dd7de4f3ca24e54f53b59ee338f1 -Author: Bastien Nocera -Date: Sat Oct 31 02:47:34 2009 +0000 - - Remove duplicated XUL definition - - http://bugs.freedesktop.org/show_bug.cgi?id=24826 - - freedesktop.org.xml.in | 8 -------- - 1 file changed, 8 deletions(-) - -commit 35adf5bcf4ccfda4a0226a9594db5f9046f92e0d -Author: Pino Toscano -Date: Wed Oct 28 14:26:02 2009 +0100 - - rename .cvsignore into .gitignore and update it; add .gitignore for the po/ subdir - - .cvsignore => .gitignore | 10 ++++------ - po/.gitignore | 4 ++++ - 2 files changed, 8 insertions(+), 6 deletions(-) - -commit e4a4bb9c6f837ca561d071a18a383d66fcb4ad28 -Author: Richard Hughes -Date: Sat Oct 24 17:51:07 2009 +0100 - - Add application/vnd.iccprofile - - with matching values taken from the ICC specification, and test - file. - - freedesktop.org.xml.in | 8 ++++++++ - tests/bluish.icc | Bin 0 -> 3942 bytes - tests/list | 2 ++ - 3 files changed, 10 insertions(+) - -commit 3d1e26a9a7705586c7cd9d5764b2e0f51f01da6f -Author: Bastien Nocera -Date: Wed Oct 14 13:18:12 2009 +0100 - - Generate changelog from git history - - Makefile.am | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -commit f2201ab17100546cb60e2fc1409aec00c29d1304 -Author: Bastien Nocera -Date: Wed Oct 14 13:15:27 2009 +0100 - - Rename pre-git changelog - - ChangeLog | 3399 ------------------------------------------------------------- - 1 file changed, 3399 deletions(-) - -commit 50f03a46fcfa9825c121ffc0331d2f4d5723cf4d -Author: Bastien Nocera -Date: Wed Oct 14 13:14:59 2009 +0100 - - Update HACKING file with translation/git changes - - HACKING | 28 +++++++++++----------------- - 1 file changed, 11 insertions(+), 17 deletions(-) - -commit dc00493cd7d896d6207fc325574e99a5db9ed570 -Author: Bastien Nocera -Date: Tue Oct 13 12:33:48 2009 +0100 - - [mime] Add magic for FLAC files - - Provided by mitchell@kde.org - - freedesktop.org.xml.in | 3 +++ - tests/list | 2 ++ - tests/test.flac | Bin 0 -> 102400 bytes - 3 files changed, 5 insertions(+) - -commit d76de48a8e3386ddbb8d16ed4900e250726ebe1f -Author: Bastien Nocera -Date: Tue Oct 13 02:22:33 2009 +0100 - - [translations] Update LINGUAS - - po/LINGUAS | 1 + - po/POTFILES.skip | 1 + - 2 files changed, 2 insertions(+) - -commit 31f3a414d5b5abe9897fcfcb043b66eded0f9a15 -Author: Bastien Nocera -Date: Tue Oct 13 02:22:17 2009 +0100 - - [testsuite] Add a test for xml.in files - - tests/list | 2 + - tests/test.xml.in | 6314 +++++++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 6316 insertions(+) - -commit 30349a8810143c1f808a74c96bceba87d48e8364 -Author: Bastien Nocera -Date: Mon Oct 12 15:20:32 2009 +0100 - - [spec] Fix updated date - - shared-mime-info-spec.xml | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 59b40069315764925eea77fa4f1c3e1f33189872 -Author: Bastien Nocera -Date: Mon Oct 12 14:46:21 2009 +0100 - - [spec] Update version to 0.19 - - shared-mime-info-spec.xml | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit e34b434c21d534fec1e1fc7f35a6b6b1e41d0ab6 -Author: Luca Ferretti -Date: Sat Oct 10 17:52:18 2009 +0000 - - l10n: Updates to Italian (it) translation - - Transmitted-via: Transifex (www.transifex.net) - - po/it.po | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 5fef99ee05856b049ba589a206583fabefc60d11 -Author: Luca Ferretti -Date: Fri Oct 9 17:55:50 2009 +0000 - - l10n: Updates to Italian (it) translation - - Transmitted-via: Transifex (www.transifex.net) - - po/it.po | 913 ++++++++++++++++++++++++++++++++++----------------------------- - 1 file changed, 491 insertions(+), 422 deletions(-) - -commit 810469318960435c96d6011235591e86bba40b76 -Author: zayed -Date: Thu Oct 8 07:39:15 2009 +0000 - - l10n: updates Arabic translation. - - Transmitted-via: Transifex (www.transifex.net) - - po/ar.po | 2436 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 2436 insertions(+) - -commit dd59e9b5d10b22fb2fb4cba81ca6dcfed936400b -Author: Alexander Shopov -Date: Thu Oct 8 04:08:18 2009 +0000 - - l10n: Updates to Bulgarian (bg) translation - - Transmitted-via: Transifex (www.transifex.net) - - po/bg.po | 1230 ++++++++++++++++++++++++++++++++++---------------------------- - 1 file changed, 685 insertions(+), 545 deletions(-) - -commit 0601987026f7963bbf443e3d89d38c525006c89b -Author: zayed -Date: Thu Oct 8 03:29:56 2009 +0000 - - l10n: Arabic translation - - Transmitted-via: Transifex (www.transifex.net) - - po/ara.po | 2368 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 2368 insertions(+) - -commit 45ce7f788615b2519e6f670c8dfb36b32a363e60 -Author: claudep -Date: Wed Oct 7 18:55:35 2009 +0000 - - l10n: Updates to French (fr) translation - - Transmitted-via: Transifex (www.transifex.net) - - po/fr.po | 885 +++++++++++++++++++++++++++++++++------------------------------ - 1 file changed, 463 insertions(+), 422 deletions(-) - -commit db5bf81daef79c53395337d01ca0305856e64800 -Author: Piotr Drąg -Date: Wed Oct 7 11:57:00 2009 +0000 - - l10n: Updates to Polish (pl) translation - - Transmitted-via: Transifex (www.transifex.net) - - po/pl.po | 860 ++++++++++++++++++++++++++++++++------------------------------- - 1 file changed, 442 insertions(+), 418 deletions(-) - -commit 04da281d2783f35d4ad1acf00b5794f85dc54cdb -Author: Bastien Nocera -Date: Wed Oct 7 11:59:54 2009 +0100 - - Fix check target - - Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) diff -Nru shared-mime-info-1.15/code-of-conduct.md shared-mime-info-2.0/code-of-conduct.md --- shared-mime-info-1.15/code-of-conduct.md 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/code-of-conduct.md 2020-05-06 14:11:14.037908800 +0000 @@ -0,0 +1,3 @@ +This project and its community follow the [Freedesktop.org code of conduct] + +[Freedesktop.org code of conduct]: https://www.freedesktop.org/wiki/CodeOfConduct/ diff -Nru shared-mime-info-1.15/compile shared-mime-info-2.0/compile --- shared-mime-info-1.15/compile 2019-09-16 15:52:37.000000000 +0000 +++ shared-mime-info-2.0/compile 1970-01-01 00:00:00.000000000 +0000 @@ -1,348 +0,0 @@ -#! /bin/sh -# Wrapper for compilers which do not understand '-c -o'. - -scriptversion=2018-03-07.03; # UTC - -# Copyright (C) 1999-2018 Free Software Foundation, Inc. -# Written by Tom Tromey . -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# This file is maintained in Automake, please report -# bugs to or send patches to -# . - -nl=' -' - -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent tools from complaining about whitespace usage. -IFS=" "" $nl" - -file_conv= - -# func_file_conv build_file lazy -# Convert a $build file to $host form and store it in $file -# Currently only supports Windows hosts. If the determined conversion -# type is listed in (the comma separated) LAZY, no conversion will -# take place. -func_file_conv () -{ - file=$1 - case $file in - / | /[!/]*) # absolute file, and not a UNC file - if test -z "$file_conv"; then - # lazily determine how to convert abs files - case `uname -s` in - MINGW*) - file_conv=mingw - ;; - CYGWIN*) - file_conv=cygwin - ;; - *) - file_conv=wine - ;; - esac - fi - case $file_conv/,$2, in - *,$file_conv,*) - ;; - mingw/*) - file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` - ;; - cygwin/*) - file=`cygpath -m "$file" || echo "$file"` - ;; - wine/*) - file=`winepath -w "$file" || echo "$file"` - ;; - esac - ;; - esac -} - -# func_cl_dashL linkdir -# Make cl look for libraries in LINKDIR -func_cl_dashL () -{ - func_file_conv "$1" - if test -z "$lib_path"; then - lib_path=$file - else - lib_path="$lib_path;$file" - fi - linker_opts="$linker_opts -LIBPATH:$file" -} - -# func_cl_dashl library -# Do a library search-path lookup for cl -func_cl_dashl () -{ - lib=$1 - found=no - save_IFS=$IFS - IFS=';' - for dir in $lib_path $LIB - do - IFS=$save_IFS - if $shared && test -f "$dir/$lib.dll.lib"; then - found=yes - lib=$dir/$lib.dll.lib - break - fi - if test -f "$dir/$lib.lib"; then - found=yes - lib=$dir/$lib.lib - break - fi - if test -f "$dir/lib$lib.a"; then - found=yes - lib=$dir/lib$lib.a - break - fi - done - IFS=$save_IFS - - if test "$found" != yes; then - lib=$lib.lib - fi -} - -# func_cl_wrapper cl arg... -# Adjust compile command to suit cl -func_cl_wrapper () -{ - # Assume a capable shell - lib_path= - shared=: - linker_opts= - for arg - do - if test -n "$eat"; then - eat= - else - case $1 in - -o) - # configure might choose to run compile as 'compile cc -o foo foo.c'. - eat=1 - case $2 in - *.o | *.[oO][bB][jJ]) - func_file_conv "$2" - set x "$@" -Fo"$file" - shift - ;; - *) - func_file_conv "$2" - set x "$@" -Fe"$file" - shift - ;; - esac - ;; - -I) - eat=1 - func_file_conv "$2" mingw - set x "$@" -I"$file" - shift - ;; - -I*) - func_file_conv "${1#-I}" mingw - set x "$@" -I"$file" - shift - ;; - -l) - eat=1 - func_cl_dashl "$2" - set x "$@" "$lib" - shift - ;; - -l*) - func_cl_dashl "${1#-l}" - set x "$@" "$lib" - shift - ;; - -L) - eat=1 - func_cl_dashL "$2" - ;; - -L*) - func_cl_dashL "${1#-L}" - ;; - -static) - shared=false - ;; - -Wl,*) - arg=${1#-Wl,} - save_ifs="$IFS"; IFS=',' - for flag in $arg; do - IFS="$save_ifs" - linker_opts="$linker_opts $flag" - done - IFS="$save_ifs" - ;; - -Xlinker) - eat=1 - linker_opts="$linker_opts $2" - ;; - -*) - set x "$@" "$1" - shift - ;; - *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) - func_file_conv "$1" - set x "$@" -Tp"$file" - shift - ;; - *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) - func_file_conv "$1" mingw - set x "$@" "$file" - shift - ;; - *) - set x "$@" "$1" - shift - ;; - esac - fi - shift - done - if test -n "$linker_opts"; then - linker_opts="-link$linker_opts" - fi - exec "$@" $linker_opts - exit 1 -} - -eat= - -case $1 in - '') - echo "$0: No command. Try '$0 --help' for more information." 1>&2 - exit 1; - ;; - -h | --h*) - cat <<\EOF -Usage: compile [--help] [--version] PROGRAM [ARGS] - -Wrapper for compilers which do not understand '-c -o'. -Remove '-o dest.o' from ARGS, run PROGRAM with the remaining -arguments, and rename the output as expected. - -If you are trying to build a whole package this is not the -right script to run: please start by reading the file 'INSTALL'. - -Report bugs to . -EOF - exit $? - ;; - -v | --v*) - echo "compile $scriptversion" - exit $? - ;; - cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \ - icl | *[/\\]icl | icl.exe | *[/\\]icl.exe ) - func_cl_wrapper "$@" # Doesn't return... - ;; -esac - -ofile= -cfile= - -for arg -do - if test -n "$eat"; then - eat= - else - case $1 in - -o) - # configure might choose to run compile as 'compile cc -o foo foo.c'. - # So we strip '-o arg' only if arg is an object. - eat=1 - case $2 in - *.o | *.obj) - ofile=$2 - ;; - *) - set x "$@" -o "$2" - shift - ;; - esac - ;; - *.c) - cfile=$1 - set x "$@" "$1" - shift - ;; - *) - set x "$@" "$1" - shift - ;; - esac - fi - shift -done - -if test -z "$ofile" || test -z "$cfile"; then - # If no '-o' option was seen then we might have been invoked from a - # pattern rule where we don't need one. That is ok -- this is a - # normal compilation that the losing compiler can handle. If no - # '.c' file was seen then we are probably linking. That is also - # ok. - exec "$@" -fi - -# Name of file we expect compiler to create. -cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` - -# Create the lock directory. -# Note: use '[/\\:.-]' here to ensure that we don't use the same name -# that we are using for the .o file. Also, base the name on the expected -# object file name, since that is what matters with a parallel build. -lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d -while true; do - if mkdir "$lockdir" >/dev/null 2>&1; then - break - fi - sleep 1 -done -# FIXME: race condition here if user kills between mkdir and trap. -trap "rmdir '$lockdir'; exit 1" 1 2 15 - -# Run the compile. -"$@" -ret=$? - -if test -f "$cofile"; then - test "$cofile" = "$ofile" || mv "$cofile" "$ofile" -elif test -f "${cofile}bj"; then - test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" -fi - -rmdir "$lockdir" -exit $ret - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC0" -# time-stamp-end: "; # UTC" -# End: diff -Nru shared-mime-info-1.15/config.guess shared-mime-info-2.0/config.guess --- shared-mime-info-1.15/config.guess 2019-09-16 15:52:37.000000000 +0000 +++ shared-mime-info-2.0/config.guess 1970-01-01 00:00:00.000000000 +0000 @@ -1,1486 +0,0 @@ -#! /bin/sh -# Attempt to guess a canonical system name. -# Copyright 1992-2018 Free Software Foundation, Inc. - -timestamp='2018-08-29' - -# This file is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see . -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that -# program. This Exception is an additional permission under section 7 -# of the GNU General Public License, version 3 ("GPLv3"). -# -# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. -# -# You can get the latest version of this script from: -# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess -# -# Please send patches to . - - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] - -Output the configuration name of the system \`$me' is run on. - -Options: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.guess ($timestamp) - -Originally written by Per Bothner. -Copyright 1992-2018 Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" >&2 - exit 1 ;; - * ) - break ;; - esac -done - -if test $# != 0; then - echo "$me: too many arguments$help" >&2 - exit 1 -fi - -# CC_FOR_BUILD -- compiler used by this script. Note that the use of a -# compiler to aid in system detection is discouraged as it requires -# temporary files to be created and, as you can see below, it is a -# headache to deal with in a portable fashion. - -# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still -# use `HOST_CC' if defined, but it is deprecated. - -# Portable tmp directory creation inspired by the Autoconf team. - -tmp= -# shellcheck disable=SC2172 -trap 'test -z "$tmp" || rm -fr "$tmp"' 1 2 13 15 -trap 'exitcode=$?; test -z "$tmp" || rm -fr "$tmp"; exit $exitcode' 0 - -set_cc_for_build() { - : "${TMPDIR=/tmp}" - # shellcheck disable=SC2039 - { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } - dummy=$tmp/dummy - case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in - ,,) echo "int x;" > "$dummy.c" - for driver in cc gcc c89 c99 ; do - if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then - CC_FOR_BUILD="$driver" - break - fi - done - if test x"$CC_FOR_BUILD" = x ; then - CC_FOR_BUILD=no_compiler_found - fi - ;; - ,,*) CC_FOR_BUILD=$CC ;; - ,*,*) CC_FOR_BUILD=$HOST_CC ;; - esac -} - -# 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 ; then - PATH=$PATH:/.attbin ; export PATH -fi - -UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown -UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown -UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown -UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown - -case "$UNAME_SYSTEM" in -Linux|GNU|GNU/*) - # If the system lacks a compiler, then just pick glibc. - # We could probably try harder. - LIBC=gnu - - set_cc_for_build - cat <<-EOF > "$dummy.c" - #include - #if defined(__UCLIBC__) - LIBC=uclibc - #elif defined(__dietlibc__) - LIBC=dietlibc - #else - LIBC=gnu - #endif - EOF - eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`" - - # If ldd exists, use it to detect musl libc. - if command -v ldd >/dev/null && \ - ldd --version 2>&1 | grep -q ^musl - then - LIBC=musl - fi - ;; -esac - -# Note: order is significant - the case branches are not exclusive. - -case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in - *:NetBSD:*:*) - # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, - # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently - # switched to ELF, *-*-netbsd* would select the old - # object file format. This provides both forward - # compatibility and a consistent mechanism for selecting the - # object file format. - # - # Note: NetBSD doesn't particularly care about the vendor - # portion of the name. We always set it to "unknown". - sysctl="sysctl -n hw.machine_arch" - UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ - "/sbin/$sysctl" 2>/dev/null || \ - "/usr/sbin/$sysctl" 2>/dev/null || \ - echo unknown)` - case "$UNAME_MACHINE_ARCH" in - armeb) machine=armeb-unknown ;; - arm*) machine=arm-unknown ;; - sh3el) machine=shl-unknown ;; - sh3eb) machine=sh-unknown ;; - sh5el) machine=sh5le-unknown ;; - earmv*) - arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` - endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` - machine="${arch}${endian}"-unknown - ;; - *) machine="$UNAME_MACHINE_ARCH"-unknown ;; - esac - # The Operating System including object format, if it has switched - # to ELF recently (or will in the future) and ABI. - case "$UNAME_MACHINE_ARCH" in - earm*) - os=netbsdelf - ;; - arm*|i386|m68k|ns32k|sh3*|sparc|vax) - set_cc_for_build - if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ELF__ - then - # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). - # Return netbsd for either. FIX? - os=netbsd - else - os=netbsdelf - fi - ;; - *) - os=netbsd - ;; - esac - # Determine ABI tags. - case "$UNAME_MACHINE_ARCH" in - earm*) - expr='s/^earmv[0-9]/-eabi/;s/eb$//' - abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` - ;; - esac - # The OS release - # Debian GNU/NetBSD machines have a different userland, and - # thus, need a distinct triplet. However, they do not need - # kernel version information, so it can be replaced with a - # suitable tag, in the style of linux-gnu. - case "$UNAME_VERSION" in - Debian*) - release='-gnu' - ;; - *) - release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2` - ;; - esac - # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: - # contains redundant information, the shorter form: - # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "$machine-${os}${release}${abi-}" - exit ;; - *:Bitrig:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` - echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE" - exit ;; - *:OpenBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE" - exit ;; - *:LibertyBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` - echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE" - exit ;; - *:MidnightBSD:*:*) - echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE" - exit ;; - *:ekkoBSD:*:*) - echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE" - exit ;; - *:SolidBSD:*:*) - echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE" - exit ;; - macppc:MirBSD:*:*) - echo powerpc-unknown-mirbsd"$UNAME_RELEASE" - exit ;; - *:MirBSD:*:*) - echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE" - exit ;; - *:Sortix:*:*) - echo "$UNAME_MACHINE"-unknown-sortix - exit ;; - *:Redox:*:*) - echo "$UNAME_MACHINE"-unknown-redox - exit ;; - mips:OSF1:*.*) - echo mips-dec-osf1 - exit ;; - alpha:OSF1:*:*) - case $UNAME_RELEASE in - *4.0) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - ;; - *5.*) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` - ;; - esac - # According to Compaq, /usr/sbin/psrinfo has been available on - # OSF/1 and Tru64 systems produced since 1995. I hope that - # covers most systems running today. This code pipes the CPU - # types through head -n 1, so we only detect the type of CPU 0. - ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` - case "$ALPHA_CPU_TYPE" in - "EV4 (21064)") - UNAME_MACHINE=alpha ;; - "EV4.5 (21064)") - UNAME_MACHINE=alpha ;; - "LCA4 (21066/21068)") - UNAME_MACHINE=alpha ;; - "EV5 (21164)") - UNAME_MACHINE=alphaev5 ;; - "EV5.6 (21164A)") - UNAME_MACHINE=alphaev56 ;; - "EV5.6 (21164PC)") - UNAME_MACHINE=alphapca56 ;; - "EV5.7 (21164PC)") - UNAME_MACHINE=alphapca57 ;; - "EV6 (21264)") - UNAME_MACHINE=alphaev6 ;; - "EV6.7 (21264A)") - UNAME_MACHINE=alphaev67 ;; - "EV6.8CB (21264C)") - UNAME_MACHINE=alphaev68 ;; - "EV6.8AL (21264B)") - UNAME_MACHINE=alphaev68 ;; - "EV6.8CX (21264D)") - UNAME_MACHINE=alphaev68 ;; - "EV6.9A (21264/EV69A)") - UNAME_MACHINE=alphaev69 ;; - "EV7 (21364)") - UNAME_MACHINE=alphaev7 ;; - "EV7.9 (21364A)") - UNAME_MACHINE=alphaev79 ;; - esac - # A Pn.n version is a patched version. - # A Vn.n version is a released version. - # A Tn.n version is a released field test version. - # A Xn.n version is an unreleased experimental baselevel. - # 1.2 uses "1.2" for uname -r. - echo "$UNAME_MACHINE"-dec-osf"`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`" - # Reset EXIT trap before exiting to avoid spurious non-zero exit code. - exitcode=$? - trap '' 0 - exit $exitcode ;; - Amiga*:UNIX_System_V:4.0:*) - echo m68k-unknown-sysv4 - exit ;; - *:[Aa]miga[Oo][Ss]:*:*) - echo "$UNAME_MACHINE"-unknown-amigaos - exit ;; - *:[Mm]orph[Oo][Ss]:*:*) - echo "$UNAME_MACHINE"-unknown-morphos - exit ;; - *:OS/390:*:*) - echo i370-ibm-openedition - exit ;; - *:z/VM:*:*) - echo s390-ibm-zvmoe - exit ;; - *:OS400:*:*) - echo powerpc-ibm-os400 - exit ;; - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix"$UNAME_RELEASE" - exit ;; - arm*:riscos:*:*|arm*:RISCOS:*:*) - echo arm-unknown-riscos - exit ;; - SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) - echo hppa1.1-hitachi-hiuxmpp - exit ;; - Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) - # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. - if test "`(/bin/universe) 2>/dev/null`" = att ; then - echo pyramid-pyramid-sysv3 - else - echo pyramid-pyramid-bsd - fi - exit ;; - NILE*:*:*:dcosx) - echo pyramid-pyramid-svr4 - exit ;; - DRS?6000:unix:4.0:6*) - echo sparc-icl-nx6 - exit ;; - DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) - case `/usr/bin/uname -p` in - sparc) echo sparc-icl-nx7; exit ;; - esac ;; - s390x:SunOS:*:*) - echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" - exit ;; - sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" - exit ;; - sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" - exit ;; - i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) - echo i386-pc-auroraux"$UNAME_RELEASE" - exit ;; - i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) - UNAME_REL="`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" - case `isainfo -b` in - 32) - echo i386-pc-solaris2"$UNAME_REL" - ;; - 64) - echo x86_64-pc-solaris2"$UNAME_REL" - ;; - esac - exit ;; - sun4*:SunOS:6*:*) - # According to config.sub, this is the proper way to canonicalize - # SunOS6. Hard to guess exactly what SunOS6 will be like, but - # it's likely to be more like Solaris than SunOS4. - echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" - exit ;; - sun4*:SunOS:*:*) - case "`/usr/bin/arch -k`" in - Series*|S4*) - UNAME_RELEASE=`uname -v` - ;; - esac - # Japanese Language versions have a version number like `4.1.3-JL'. - echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`" - exit ;; - sun3*:SunOS:*:*) - echo m68k-sun-sunos"$UNAME_RELEASE" - exit ;; - sun*:*:4.2BSD:*) - UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 - case "`/bin/arch`" in - sun3) - echo m68k-sun-sunos"$UNAME_RELEASE" - ;; - sun4) - echo sparc-sun-sunos"$UNAME_RELEASE" - ;; - esac - exit ;; - aushp:SunOS:*:*) - echo sparc-auspex-sunos"$UNAME_RELEASE" - exit ;; - # The situation for MiNT is a little confusing. The machine name - # can be virtually everything (everything which is not - # "atarist" or "atariste" at least should have a processor - # > m68000). The system name ranges from "MiNT" over "FreeMiNT" - # to the lowercase version "mint" (or "freemint"). Finally - # the system name "TOS" denotes a system which is actually not - # MiNT. But MiNT is downward compatible to TOS, so this should - # be no problem. - atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint"$UNAME_RELEASE" - exit ;; - atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint"$UNAME_RELEASE" - exit ;; - *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint"$UNAME_RELEASE" - exit ;; - milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint"$UNAME_RELEASE" - exit ;; - hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint"$UNAME_RELEASE" - exit ;; - *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint"$UNAME_RELEASE" - exit ;; - m68k:machten:*:*) - echo m68k-apple-machten"$UNAME_RELEASE" - exit ;; - powerpc:machten:*:*) - echo powerpc-apple-machten"$UNAME_RELEASE" - exit ;; - RISC*:Mach:*:*) - echo mips-dec-mach_bsd4.3 - exit ;; - RISC*:ULTRIX:*:*) - echo mips-dec-ultrix"$UNAME_RELEASE" - exit ;; - VAX*:ULTRIX*:*:*) - echo vax-dec-ultrix"$UNAME_RELEASE" - exit ;; - 2020:CLIX:*:* | 2430:CLIX:*:*) - echo clipper-intergraph-clix"$UNAME_RELEASE" - exit ;; - mips:*:*:UMIPS | mips:*:*:RISCos) - set_cc_for_build - sed 's/^ //' << EOF > "$dummy.c" -#ifdef __cplusplus -#include /* for printf() prototype */ - int main (int argc, char *argv[]) { -#else - int main (argc, argv) int argc; char *argv[]; { -#endif - #if defined (host_mips) && defined (MIPSEB) - #if defined (SYSTYPE_SYSV) - printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_SVR4) - printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) - printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); - #endif - #endif - exit (-1); - } -EOF - $CC_FOR_BUILD -o "$dummy" "$dummy.c" && - dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` && - SYSTEM_NAME=`"$dummy" "$dummyarg"` && - { echo "$SYSTEM_NAME"; exit; } - echo mips-mips-riscos"$UNAME_RELEASE" - exit ;; - Motorola:PowerMAX_OS:*:*) - echo powerpc-motorola-powermax - exit ;; - Motorola:*:4.3:PL8-*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:Power_UNIX:*:*) - echo powerpc-harris-powerunix - exit ;; - m88k:CX/UX:7*:*) - echo m88k-harris-cxux7 - exit ;; - m88k:*:4*:R4*) - echo m88k-motorola-sysv4 - exit ;; - m88k:*:3*:R3*) - echo m88k-motorola-sysv3 - exit ;; - AViiON:dgux:*:*) - # DG/UX returns AViiON for all architectures - UNAME_PROCESSOR=`/usr/bin/uname -p` - if [ "$UNAME_PROCESSOR" = mc88100 ] || [ "$UNAME_PROCESSOR" = mc88110 ] - then - if [ "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx ] || \ - [ "$TARGET_BINARY_INTERFACE"x = x ] - then - echo m88k-dg-dgux"$UNAME_RELEASE" - else - echo m88k-dg-dguxbcs"$UNAME_RELEASE" - fi - else - echo i586-dg-dgux"$UNAME_RELEASE" - fi - exit ;; - M88*:DolphinOS:*:*) # DolphinOS (SVR3) - echo m88k-dolphin-sysv3 - exit ;; - M88*:*:R3*:*) - # Delta 88k system running SVR3 - echo m88k-motorola-sysv3 - exit ;; - XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) - echo m88k-tektronix-sysv3 - exit ;; - Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) - echo m68k-tektronix-bsd - exit ;; - *:IRIX*:*:*) - echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`" - exit ;; - ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. - echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id - exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' - i*86:AIX:*:*) - echo i386-ibm-aix - exit ;; - ia64:AIX:*:*) - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" - fi - echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV" - exit ;; - *:AIX:2:3) - if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - set_cc_for_build - sed 's/^ //' << EOF > "$dummy.c" - #include - - main() - { - if (!__power_pc()) - exit(1); - puts("powerpc-ibm-aix3.2.5"); - exit(0); - } -EOF - if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` - then - echo "$SYSTEM_NAME" - else - echo rs6000-ibm-aix3.2.5 - fi - elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then - echo rs6000-ibm-aix3.2.4 - else - echo rs6000-ibm-aix3.2 - fi - exit ;; - *:AIX:*:[4567]) - IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` - if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then - IBM_ARCH=rs6000 - else - IBM_ARCH=powerpc - fi - if [ -x /usr/bin/lslpp ] ; then - IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | - awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` - else - IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" - fi - echo "$IBM_ARCH"-ibm-aix"$IBM_REV" - exit ;; - *:AIX:*:*) - echo rs6000-ibm-aix - exit ;; - ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) - echo romp-ibm-bsd4.4 - exit ;; - ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - echo romp-ibm-bsd"$UNAME_RELEASE" # 4.3 with uname added to - exit ;; # report: romp-ibm BSD 4.3 - *:BOSX:*:*) - echo rs6000-bull-bosx - exit ;; - DPX/2?00:B.O.S.:*:*) - echo m68k-bull-sysv3 - exit ;; - 9000/[34]??:4.3bsd:1.*:*) - echo m68k-hp-bsd - exit ;; - hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) - echo m68k-hp-bsd4.4 - exit ;; - 9000/[34678]??:HP-UX:*:*) - HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'` - case "$UNAME_MACHINE" in - 9000/31?) HP_ARCH=m68000 ;; - 9000/[34]??) HP_ARCH=m68k ;; - 9000/[678][0-9][0-9]) - if [ -x /usr/bin/getconf ]; then - sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` - sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` - case "$sc_cpu_version" in - 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 - 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 - 532) # CPU_PA_RISC2_0 - case "$sc_kernel_bits" in - 32) HP_ARCH=hppa2.0n ;; - 64) HP_ARCH=hppa2.0w ;; - '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 - esac ;; - esac - fi - if [ "$HP_ARCH" = "" ]; then - set_cc_for_build - sed 's/^ //' << EOF > "$dummy.c" - - #define _HPUX_SOURCE - #include - #include - - int main () - { - #if defined(_SC_KERNEL_BITS) - long bits = sysconf(_SC_KERNEL_BITS); - #endif - long cpu = sysconf (_SC_CPU_VERSION); - - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1"); break; - case CPU_PA_RISC2_0: - #if defined(_SC_KERNEL_BITS) - switch (bits) - { - case 64: puts ("hppa2.0w"); break; - case 32: puts ("hppa2.0n"); break; - default: puts ("hppa2.0"); break; - } break; - #else /* !defined(_SC_KERNEL_BITS) */ - puts ("hppa2.0"); break; - #endif - default: puts ("hppa1.0"); break; - } - exit (0); - } -EOF - (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"` - test -z "$HP_ARCH" && HP_ARCH=hppa - fi ;; - esac - if [ "$HP_ARCH" = hppa2.0w ] - then - set_cc_for_build - - # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating - # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler - # generating 64-bit code. GNU and HP use different nomenclature: - # - # $ CC_FOR_BUILD=cc ./config.guess - # => hppa2.0w-hp-hpux11.23 - # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess - # => hppa64-hp-hpux11.23 - - if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | - grep -q __LP64__ - then - HP_ARCH=hppa2.0w - else - HP_ARCH=hppa64 - fi - fi - echo "$HP_ARCH"-hp-hpux"$HPUX_REV" - exit ;; - ia64:HP-UX:*:*) - HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'` - echo ia64-hp-hpux"$HPUX_REV" - exit ;; - 3050*:HI-UX:*:*) - set_cc_for_build - sed 's/^ //' << EOF > "$dummy.c" - #include - int - main () - { - long cpu = sysconf (_SC_CPU_VERSION); - /* The order matters, because CPU_IS_HP_MC68K erroneously returns - true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct - results, however. */ - if (CPU_IS_PA_RISC (cpu)) - { - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; - case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; - default: puts ("hppa-hitachi-hiuxwe2"); break; - } - } - else if (CPU_IS_HP_MC68K (cpu)) - puts ("m68k-hitachi-hiuxwe2"); - else puts ("unknown-hitachi-hiuxwe2"); - exit (0); - } -EOF - $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && - { echo "$SYSTEM_NAME"; exit; } - echo unknown-hitachi-hiuxwe2 - exit ;; - 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) - echo hppa1.1-hp-bsd - exit ;; - 9000/8??:4.3bsd:*:*) - echo hppa1.0-hp-bsd - exit ;; - *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) - echo hppa1.0-hp-mpeix - exit ;; - hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) - echo hppa1.1-hp-osf - exit ;; - hp8??:OSF1:*:*) - echo hppa1.0-hp-osf - exit ;; - i*86:OSF1:*:*) - if [ -x /usr/sbin/sysversion ] ; then - echo "$UNAME_MACHINE"-unknown-osf1mk - else - echo "$UNAME_MACHINE"-unknown-osf1 - fi - exit ;; - parisc*:Lites*:*:*) - echo hppa1.1-hp-lites - exit ;; - C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) - echo c1-convex-bsd - exit ;; - C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) - echo c34-convex-bsd - exit ;; - C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) - echo c38-convex-bsd - exit ;; - C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) - echo c4-convex-bsd - exit ;; - CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*[A-Z]90:*:*:*) - echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ - | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ - -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ - -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*TS:*:*:*) - echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*T3E:*:*:*) - echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*SV1:*:*:*) - echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' - exit ;; - *:UNICOS/mp:*:*) - echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' - exit ;; - F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) - FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` - FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` - FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'` - echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - 5000:UNIX_System_V:4.*:*) - FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` - FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` - echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE" - exit ;; - sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi"$UNAME_RELEASE" - exit ;; - *:BSD/OS:*:*) - echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE" - exit ;; - arm:FreeBSD:*:*) - UNAME_PROCESSOR=`uname -p` - set_cc_for_build - if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_PCS_VFP - then - echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabi - else - echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabihf - fi - exit ;; - *:FreeBSD:*:*) - UNAME_PROCESSOR=`/usr/bin/uname -p` - case "$UNAME_PROCESSOR" in - amd64) - UNAME_PROCESSOR=x86_64 ;; - i386) - UNAME_PROCESSOR=i586 ;; - esac - echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`" - exit ;; - i*:CYGWIN*:*) - echo "$UNAME_MACHINE"-pc-cygwin - exit ;; - *:MINGW64*:*) - echo "$UNAME_MACHINE"-pc-mingw64 - exit ;; - *:MINGW*:*) - echo "$UNAME_MACHINE"-pc-mingw32 - exit ;; - *:MSYS*:*) - echo "$UNAME_MACHINE"-pc-msys - exit ;; - i*:PW*:*) - echo "$UNAME_MACHINE"-pc-pw32 - exit ;; - *:Interix*:*) - case "$UNAME_MACHINE" in - x86) - echo i586-pc-interix"$UNAME_RELEASE" - exit ;; - authenticamd | genuineintel | EM64T) - echo x86_64-unknown-interix"$UNAME_RELEASE" - exit ;; - IA64) - echo ia64-unknown-interix"$UNAME_RELEASE" - exit ;; - esac ;; - i*:UWIN*:*) - echo "$UNAME_MACHINE"-pc-uwin - exit ;; - amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) - echo x86_64-unknown-cygwin - exit ;; - prep*:SunOS:5.*:*) - echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" - exit ;; - *:GNU:*:*) - # the GNU system - echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`" - exit ;; - *:GNU/*:*:*) - # other systems with GNU libc and userland - echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC" - exit ;; - *:Minix:*:*) - echo "$UNAME_MACHINE"-unknown-minix - exit ;; - aarch64:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - aarch64_be:Linux:*:*) - UNAME_MACHINE=aarch64_be - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in - EV5) UNAME_MACHINE=alphaev5 ;; - EV56) UNAME_MACHINE=alphaev56 ;; - PCA56) UNAME_MACHINE=alphapca56 ;; - PCA57) UNAME_MACHINE=alphapca56 ;; - EV6) UNAME_MACHINE=alphaev6 ;; - EV67) UNAME_MACHINE=alphaev67 ;; - EV68*) UNAME_MACHINE=alphaev68 ;; - esac - objdump --private-headers /bin/sh | grep -q ld.so.1 - if test "$?" = 0 ; then LIBC=gnulibc1 ; fi - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - arc:Linux:*:* | arceb:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - arm*:Linux:*:*) - set_cc_for_build - if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_EABI__ - then - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - else - if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_PCS_VFP - then - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi - else - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf - fi - fi - exit ;; - avr32*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - cris:Linux:*:*) - echo "$UNAME_MACHINE"-axis-linux-"$LIBC" - exit ;; - crisv32:Linux:*:*) - echo "$UNAME_MACHINE"-axis-linux-"$LIBC" - exit ;; - e2k:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - frv:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - hexagon:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - i*86:Linux:*:*) - echo "$UNAME_MACHINE"-pc-linux-"$LIBC" - exit ;; - ia64:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - k1om:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - m32r*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - m68*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - mips:Linux:*:* | mips64:Linux:*:*) - set_cc_for_build - sed 's/^ //' << EOF > "$dummy.c" - #undef CPU - #undef ${UNAME_MACHINE} - #undef ${UNAME_MACHINE}el - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=${UNAME_MACHINE}el - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=${UNAME_MACHINE} - #else - CPU= - #endif - #endif -EOF - eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU'`" - test "x$CPU" != x && { echo "$CPU-unknown-linux-$LIBC"; exit; } - ;; - mips64el:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - openrisc*:Linux:*:*) - echo or1k-unknown-linux-"$LIBC" - exit ;; - or32:Linux:*:* | or1k*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - padre:Linux:*:*) - echo sparc-unknown-linux-"$LIBC" - exit ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-"$LIBC" - exit ;; - parisc:Linux:*:* | hppa:Linux:*:*) - # Look for CPU level - case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;; - PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;; - *) echo hppa-unknown-linux-"$LIBC" ;; - esac - exit ;; - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-"$LIBC" - exit ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-"$LIBC" - exit ;; - ppc64le:Linux:*:*) - echo powerpc64le-unknown-linux-"$LIBC" - exit ;; - ppcle:Linux:*:*) - echo powerpcle-unknown-linux-"$LIBC" - exit ;; - riscv32:Linux:*:* | riscv64:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - s390:Linux:*:* | s390x:Linux:*:*) - echo "$UNAME_MACHINE"-ibm-linux-"$LIBC" - exit ;; - sh64*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - sh*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - sparc:Linux:*:* | sparc64:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - tile*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - vax:Linux:*:*) - echo "$UNAME_MACHINE"-dec-linux-"$LIBC" - exit ;; - x86_64:Linux:*:*) - echo "$UNAME_MACHINE"-pc-linux-"$LIBC" - exit ;; - xtensa*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - i*86:DYNIX/ptx:4*:*) - # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. - # earlier versions are messed up and put the nodename in both - # sysname and nodename. - echo i386-sequent-sysv4 - exit ;; - i*86:UNIX_SV:4.2MP:2.*) - # Unixware is an offshoot of SVR4, but it has its own version - # number series starting with 2... - # I am not positive that other SVR4 systems won't match this, - # I just have to hope. -- rms. - # Use sysv4.2uw... so that sysv4* matches it. - echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION" - exit ;; - i*86:OS/2:*:*) - # If we were able to find `uname', then EMX Unix compatibility - # is probably installed. - echo "$UNAME_MACHINE"-pc-os2-emx - exit ;; - i*86:XTS-300:*:STOP) - echo "$UNAME_MACHINE"-unknown-stop - exit ;; - i*86:atheos:*:*) - echo "$UNAME_MACHINE"-unknown-atheos - exit ;; - i*86:syllable:*:*) - echo "$UNAME_MACHINE"-pc-syllable - exit ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) - echo i386-unknown-lynxos"$UNAME_RELEASE" - exit ;; - i*86:*DOS:*:*) - echo "$UNAME_MACHINE"-pc-msdosdjgpp - exit ;; - i*86:*:4.*:*) - UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'` - if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then - echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL" - else - echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL" - fi - exit ;; - i*86:*:5:[678]*) - # UnixWare 7.x, OpenUNIX and OpenServer 6. - case `/bin/uname -X | grep "^Machine"` in - *486*) UNAME_MACHINE=i486 ;; - *Pentium) UNAME_MACHINE=i586 ;; - *Pent*|*Celeron) UNAME_MACHINE=i686 ;; - esac - echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}{$UNAME_VERSION}" - exit ;; - i*86:*:3.2:*) - if test -f /usr/options/cb.name; then - UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then - UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` - (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 - (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ - && UNAME_MACHINE=i586 - (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ - && UNAME_MACHINE=i686 - (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ - && UNAME_MACHINE=i686 - echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL" - else - echo "$UNAME_MACHINE"-pc-sysv32 - fi - exit ;; - pc:*:*:*) - # Left here for compatibility: - # uname -m prints for DJGPP always 'pc', but it prints nothing about - # the processor, so we play safe by assuming i586. - # Note: whatever this is, it MUST be the same as what config.sub - # prints for the "djgpp" host, or else GDB configure will decide that - # this is a cross-build. - echo i586-pc-msdosdjgpp - exit ;; - Intel:Mach:3*:*) - echo i386-pc-mach3 - exit ;; - paragon:*:*:*) - echo i860-intel-osf1 - exit ;; - i860:*:4.*:*) # i860-SVR4 - if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then - echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4 - else # Add other i860-SVR4 vendors below as they are discovered. - echo i860-unknown-sysv"$UNAME_RELEASE" # Unknown i860-SVR4 - fi - exit ;; - mini*:CTIX:SYS*5:*) - # "miniframe" - echo m68010-convergent-sysv - exit ;; - mc68k:UNIX:SYSTEM5:3.51m) - echo m68k-convergent-sysv - exit ;; - M680?0:D-NIX:5.3:*) - echo m68k-diab-dnix - exit ;; - M68*:*:R3V[5678]*:*) - test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; - 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) - OS_REL='' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; - 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4; exit; } ;; - NCR*:*:4.2:* | MPRAS*:*:4.2:*) - OS_REL='.3' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } - /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ - && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; - m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos"$UNAME_RELEASE" - exit ;; - mc68030:UNIX_System_V:4.*:*) - echo m68k-atari-sysv4 - exit ;; - TSUNAMI:LynxOS:2.*:*) - echo sparc-unknown-lynxos"$UNAME_RELEASE" - exit ;; - rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos"$UNAME_RELEASE" - exit ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) - echo powerpc-unknown-lynxos"$UNAME_RELEASE" - exit ;; - SM[BE]S:UNIX_SV:*:*) - echo mips-dde-sysv"$UNAME_RELEASE" - exit ;; - RM*:ReliantUNIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - RM*:SINIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - *:SINIX-*:*:*) - if uname -p 2>/dev/null >/dev/null ; then - UNAME_MACHINE=`(uname -p) 2>/dev/null` - echo "$UNAME_MACHINE"-sni-sysv4 - else - echo ns32k-sni-sysv - fi - exit ;; - PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort - # says - echo i586-unisys-sysv4 - exit ;; - *:UNIX_System_V:4*:FTX*) - # From Gerald Hewes . - # How about differentiating between stratus architectures? -djm - echo hppa1.1-stratus-sysv4 - exit ;; - *:*:*:FTX*) - # From seanf@swdc.stratus.com. - echo i860-stratus-sysv4 - exit ;; - i*86:VOS:*:*) - # From Paul.Green@stratus.com. - echo "$UNAME_MACHINE"-stratus-vos - exit ;; - *:VOS:*:*) - # From Paul.Green@stratus.com. - echo hppa1.1-stratus-vos - exit ;; - mc68*:A/UX:*:*) - echo m68k-apple-aux"$UNAME_RELEASE" - exit ;; - news*:NEWS-OS:6*:*) - echo mips-sony-newsos6 - exit ;; - R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) - if [ -d /usr/nec ]; then - echo mips-nec-sysv"$UNAME_RELEASE" - else - echo mips-unknown-sysv"$UNAME_RELEASE" - fi - exit ;; - BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. - echo powerpc-be-beos - exit ;; - BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. - echo powerpc-apple-beos - exit ;; - BePC:BeOS:*:*) # BeOS running on Intel PC compatible. - echo i586-pc-beos - exit ;; - BePC:Haiku:*:*) # Haiku running on Intel PC compatible. - echo i586-pc-haiku - exit ;; - x86_64:Haiku:*:*) - echo x86_64-unknown-haiku - exit ;; - SX-4:SUPER-UX:*:*) - echo sx4-nec-superux"$UNAME_RELEASE" - exit ;; - SX-5:SUPER-UX:*:*) - echo sx5-nec-superux"$UNAME_RELEASE" - exit ;; - SX-6:SUPER-UX:*:*) - echo sx6-nec-superux"$UNAME_RELEASE" - exit ;; - SX-7:SUPER-UX:*:*) - echo sx7-nec-superux"$UNAME_RELEASE" - exit ;; - SX-8:SUPER-UX:*:*) - echo sx8-nec-superux"$UNAME_RELEASE" - exit ;; - SX-8R:SUPER-UX:*:*) - echo sx8r-nec-superux"$UNAME_RELEASE" - exit ;; - SX-ACE:SUPER-UX:*:*) - echo sxace-nec-superux"$UNAME_RELEASE" - exit ;; - Power*:Rhapsody:*:*) - echo powerpc-apple-rhapsody"$UNAME_RELEASE" - exit ;; - *:Rhapsody:*:*) - echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE" - exit ;; - *:Darwin:*:*) - UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - set_cc_for_build - if test "$UNAME_PROCESSOR" = unknown ; then - UNAME_PROCESSOR=powerpc - fi - if test "`echo "$UNAME_RELEASE" | sed -e 's/\..*//'`" -le 10 ; then - if [ "$CC_FOR_BUILD" != no_compiler_found ]; then - if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - case $UNAME_PROCESSOR in - i386) UNAME_PROCESSOR=x86_64 ;; - powerpc) UNAME_PROCESSOR=powerpc64 ;; - esac - fi - # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc - if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_PPC >/dev/null - then - UNAME_PROCESSOR=powerpc - fi - fi - elif test "$UNAME_PROCESSOR" = i386 ; then - # Avoid executing cc on OS X 10.9, as it ships with a stub - # that puts up a graphical alert prompting to install - # developer tools. Any system running Mac OS X 10.7 or - # later (Darwin 11 and later) is required to have a 64-bit - # processor. This is not true of the ARM version of Darwin - # that Apple uses in portable devices. - UNAME_PROCESSOR=x86_64 - fi - echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE" - exit ;; - *:procnto*:*:* | *:QNX:[0123456789]*:*) - UNAME_PROCESSOR=`uname -p` - if test "$UNAME_PROCESSOR" = x86; then - UNAME_PROCESSOR=i386 - UNAME_MACHINE=pc - fi - echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE" - exit ;; - *:QNX:*:4*) - echo i386-pc-qnx - exit ;; - NEO-*:NONSTOP_KERNEL:*:*) - echo neo-tandem-nsk"$UNAME_RELEASE" - exit ;; - NSE-*:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk"$UNAME_RELEASE" - exit ;; - NSR-*:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk"$UNAME_RELEASE" - exit ;; - NSV-*:NONSTOP_KERNEL:*:*) - echo nsv-tandem-nsk"$UNAME_RELEASE" - exit ;; - NSX-*:NONSTOP_KERNEL:*:*) - echo nsx-tandem-nsk"$UNAME_RELEASE" - exit ;; - *:NonStop-UX:*:*) - echo mips-compaq-nonstopux - exit ;; - BS2000:POSIX*:*:*) - echo bs2000-siemens-sysv - exit ;; - DS/*:UNIX_System_V:*:*) - echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE" - exit ;; - *:Plan9:*:*) - # "uname -m" is not consistent, so use $cputype instead. 386 - # is converted to i386 for consistency with other x86 - # operating systems. - # shellcheck disable=SC2154 - if test "$cputype" = 386; then - UNAME_MACHINE=i386 - else - UNAME_MACHINE="$cputype" - fi - echo "$UNAME_MACHINE"-unknown-plan9 - exit ;; - *:TOPS-10:*:*) - echo pdp10-unknown-tops10 - exit ;; - *:TENEX:*:*) - echo pdp10-unknown-tenex - exit ;; - KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) - echo pdp10-dec-tops20 - exit ;; - XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) - echo pdp10-xkl-tops20 - exit ;; - *:TOPS-20:*:*) - echo pdp10-unknown-tops20 - exit ;; - *:ITS:*:*) - echo pdp10-unknown-its - exit ;; - SEI:*:*:SEIUX) - echo mips-sei-seiux"$UNAME_RELEASE" - exit ;; - *:DragonFly:*:*) - echo "$UNAME_MACHINE"-unknown-dragonfly"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`" - exit ;; - *:*VMS:*:*) - UNAME_MACHINE=`(uname -p) 2>/dev/null` - case "$UNAME_MACHINE" in - A*) echo alpha-dec-vms ; exit ;; - I*) echo ia64-dec-vms ; exit ;; - V*) echo vax-dec-vms ; exit ;; - esac ;; - *:XENIX:*:SysV) - echo i386-pc-xenix - exit ;; - i*86:skyos:*:*) - echo "$UNAME_MACHINE"-pc-skyos"`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`" - exit ;; - i*86:rdos:*:*) - echo "$UNAME_MACHINE"-pc-rdos - exit ;; - i*86:AROS:*:*) - echo "$UNAME_MACHINE"-pc-aros - exit ;; - x86_64:VMkernel:*:*) - echo "$UNAME_MACHINE"-unknown-esx - exit ;; - amd64:Isilon\ OneFS:*:*) - echo x86_64-unknown-onefs - exit ;; -esac - -echo "$0: unable to guess system type" >&2 - -case "$UNAME_MACHINE:$UNAME_SYSTEM" in - mips:Linux | mips64:Linux) - # If we got here on MIPS GNU/Linux, output extra information. - cat >&2 <&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 'before-save-hook 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff -Nru shared-mime-info-1.15/config.h.in shared-mime-info-2.0/config.h.in --- shared-mime-info-1.15/config.h.in 2019-10-30 10:45:22.000000000 +0000 +++ shared-mime-info-2.0/config.h.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,64 +0,0 @@ -/* 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 Mac OS X function CFLocaleCopyCurrent in the - CoreFoundation framework. */ -#undef HAVE_CFLOCALECOPYCURRENT - -/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in - the CoreFoundation framework. */ -#undef HAVE_CFPREFERENCESCOPYAPPVALUE - -/* Define if the GNU dcgettext() function is already present or preinstalled. - */ -#undef HAVE_DCGETTEXT - -/* Define to 1 if you have the `fdatasync' function. */ -#undef HAVE_FDATASYNC - -/* 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 - -/* 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 - -/* Version number of package */ -#undef VERSION - -/* Enable large inode numbers on Mac OS X 10.5. */ -#ifndef _DARWIN_USE_64_BIT_INODE -# define _DARWIN_USE_64_BIT_INODE 1 -#endif - -/* Number of bits in a file offset, on hosts where this is settable. */ -#undef _FILE_OFFSET_BITS - -/* Define for large files, on AIX-style hosts. */ -#undef _LARGE_FILES - -/* Define to empty if `const' does not conform to ANSI C. */ -#undef const diff -Nru shared-mime-info-1.15/config.rpath shared-mime-info-2.0/config.rpath --- shared-mime-info-1.15/config.rpath 2019-09-11 10:53:09.000000000 +0000 +++ shared-mime-info-2.0/config.rpath 1970-01-01 00:00:00.000000000 +0000 @@ -1,684 +0,0 @@ -#! /bin/sh -# Output a system dependent set of variables, describing how to set the -# run time search path of shared libraries in an executable. -# -# Copyright 1996-2016 Free Software Foundation, Inc. -# Taken from GNU libtool, 2001 -# Originally by Gordon Matzigkeit , 1996 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. -# -# The first argument passed to this file is the canonical host specification, -# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -# or -# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM -# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld -# should be set by the caller. -# -# The set of defined variables is at the end of this script. - -# Known limitations: -# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer -# than 256 bytes, otherwise the compiler driver will dump core. The only -# known workaround is to choose shorter directory names for the build -# directory and/or the installation directory. - -# All known linkers require a '.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a -shrext=.so - -host="$1" -host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` - -# Code taken from libtool.m4's _LT_CC_BASENAME. - -for cc_temp in $CC""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'` - -# Code taken from libtool.m4's _LT_COMPILER_PIC. - -wl= -if test "$GCC" = yes; then - wl='-Wl,' -else - case "$host_os" in - aix*) - wl='-Wl,' - ;; - mingw* | cygwin* | pw32* | os2* | cegcc*) - ;; - hpux9* | hpux10* | hpux11*) - wl='-Wl,' - ;; - irix5* | irix6* | nonstopux*) - wl='-Wl,' - ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu) - case $cc_basename in - ecc*) - wl='-Wl,' - ;; - icc* | ifort*) - wl='-Wl,' - ;; - lf95*) - wl='-Wl,' - ;; - nagfor*) - wl='-Wl,-Wl,,' - ;; - pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) - wl='-Wl,' - ;; - ccc*) - wl='-Wl,' - ;; - xl* | bgxl* | bgf* | mpixl*) - wl='-Wl,' - ;; - como) - wl='-lopt=' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ F* | *Sun*Fortran*) - wl= - ;; - *Sun\ C*) - wl='-Wl,' - ;; - esac - ;; - esac - ;; - newsos6) - ;; - *nto* | *qnx*) - ;; - osf3* | osf4* | osf5*) - wl='-Wl,' - ;; - rdos*) - ;; - solaris*) - case $cc_basename in - f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) - wl='-Qoption ld ' - ;; - *) - wl='-Wl,' - ;; - esac - ;; - sunos4*) - wl='-Qoption ld ' - ;; - sysv4 | sysv4.2uw2* | sysv4.3*) - wl='-Wl,' - ;; - sysv4*MP*) - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - wl='-Wl,' - ;; - unicos*) - wl='-Wl,' - ;; - uts4*) - ;; - esac -fi - -# Code taken from libtool.m4's _LT_LINKER_SHLIBS. - -hardcode_libdir_flag_spec= -hardcode_libdir_separator= -hardcode_direct=no -hardcode_minus_L=no - -case "$host_os" in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; -esac - -ld_shlibs=yes -if test "$with_gnu_ld" = yes; then - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - # Unlike libtool, we use -rpath here, not --rpath, since the documented - # option of GNU ld is called -rpath, not --rpath. - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - case "$host_os" in - aix[3-9]*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - ld_shlibs=no - fi - ;; - amigaos*) - case "$host_cpu" in - powerpc) - ;; - m68k) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - esac - ;; - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - : - else - ld_shlibs=no - fi - ;; - cygwin* | mingw* | pw32* | cegcc*) - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - : - else - ld_shlibs=no - fi - ;; - haiku*) - ;; - interix[3-9]*) - hardcode_direct=no - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - ;; - gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - : - else - ld_shlibs=no - fi - ;; - netbsd*) - ;; - solaris*) - if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then - ld_shlibs=no - elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - : - else - ld_shlibs=no - fi - ;; - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs=no - ;; - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' - else - ld_shlibs=no - fi - ;; - esac - ;; - sunos4*) - hardcode_direct=yes - ;; - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - : - else - ld_shlibs=no - fi - ;; - esac - if test "$ld_shlibs" = no; then - hardcode_libdir_flag_spec= - fi -else - case "$host_os" in - aix3*) - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L=yes - if test "$GCC" = yes; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct=unsupported - fi - ;; - aix[4-9]*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - else - aix_use_runtimelinking=no - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac - fi - hardcode_direct=yes - hardcode_libdir_separator=':' - if test "$GCC" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct=unsupported - hardcode_minus_L=yes - hardcode_libdir_flag_spec='-L$libdir' - hardcode_libdir_separator= - fi - ;; - esac - fi - # Begin _LT_AC_SYS_LIBPATH_AIX. - echo 'int main () { return 0; }' > conftest.c - ${CC} ${LDFLAGS} conftest.c -o conftest - aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` - if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` - fi - if test -z "$aix_libpath"; then - aix_libpath="/usr/lib:/lib" - fi - rm -f conftest.c conftest - # End _LT_AC_SYS_LIBPATH_AIX. - if test "$aix_use_runtimelinking" = yes; then - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' - else - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - fi - fi - ;; - amigaos*) - case "$host_cpu" in - powerpc) - ;; - m68k) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - esac - ;; - bsdi[45]*) - ;; - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec=' ' - libext=lib - ;; - darwin* | rhapsody*) - hardcode_direct=no - if { case $cc_basename in ifort*) true;; *) test "$GCC" = yes;; esac; }; then - : - else - ld_shlibs=no - fi - ;; - dgux*) - hardcode_libdir_flag_spec='-L$libdir' - ;; - freebsd2.[01]*) - hardcode_direct=yes - hardcode_minus_L=yes - ;; - freebsd* | dragonfly*) - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - ;; - hpux9*) - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - ;; - hpux10*) - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - fi - ;; - hpux11*) - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct=no - ;; - *) - hardcode_direct=yes - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - ;; - esac - fi - ;; - irix5* | irix6* | nonstopux*) - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - netbsd*) - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - ;; - newsos6) - hardcode_direct=yes - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - *nto* | *qnx*) - ;; - openbsd*) - if test -f /usr/libexec/ld.so; then - hardcode_direct=yes - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - else - case "$host_os" in - openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) - hardcode_libdir_flag_spec='-R$libdir' - ;; - *) - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - ;; - esac - fi - else - ld_shlibs=no - fi - ;; - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - osf3*) - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - osf4* | osf5*) - if test "$GCC" = yes; then - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - else - # Both cc and cxx compiler support -rpath directly - hardcode_libdir_flag_spec='-rpath $libdir' - fi - hardcode_libdir_separator=: - ;; - solaris*) - hardcode_libdir_flag_spec='-R$libdir' - ;; - sunos4*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_direct=yes - hardcode_minus_L=yes - ;; - sysv4) - case $host_vendor in - sni) - hardcode_direct=yes # is this really true??? - ;; - siemens) - hardcode_direct=no - ;; - motorola) - hardcode_direct=no #Motorola manual says yes, but my tests say they lie - ;; - esac - ;; - sysv4.3*) - ;; - sysv4*MP*) - if test -d /usr/nec; then - ld_shlibs=yes - fi - ;; - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - ;; - sysv5* | sco3.2v5* | sco5v6*) - hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' - hardcode_libdir_separator=':' - ;; - uts4*) - hardcode_libdir_flag_spec='-L$libdir' - ;; - *) - ld_shlibs=no - ;; - esac -fi - -# Check dynamic linker characteristics -# Code taken from libtool.m4's _LT_SYS_DYNAMIC_LINKER. -# Unlike libtool.m4, here we don't care about _all_ names of the library, but -# only about the one the linker finds when passed -lNAME. This is the last -# element of library_names_spec in libtool.m4, or possibly two of them if the -# linker has special search rules. -library_names_spec= # the last element of library_names_spec in libtool.m4 -libname_spec='lib$name' -case "$host_os" in - aix3*) - library_names_spec='$libname.a' - ;; - aix[4-9]*) - library_names_spec='$libname$shrext' - ;; - amigaos*) - case "$host_cpu" in - powerpc*) - library_names_spec='$libname$shrext' ;; - m68k) - library_names_spec='$libname.a' ;; - esac - ;; - beos*) - library_names_spec='$libname$shrext' - ;; - bsdi[45]*) - library_names_spec='$libname$shrext' - ;; - cygwin* | mingw* | pw32* | cegcc*) - shrext=.dll - library_names_spec='$libname.dll.a $libname.lib' - ;; - darwin* | rhapsody*) - shrext=.dylib - library_names_spec='$libname$shrext' - ;; - dgux*) - library_names_spec='$libname$shrext' - ;; - freebsd[23].*) - library_names_spec='$libname$shrext$versuffix' - ;; - freebsd* | dragonfly*) - library_names_spec='$libname$shrext' - ;; - gnu*) - library_names_spec='$libname$shrext' - ;; - haiku*) - library_names_spec='$libname$shrext' - ;; - hpux9* | hpux10* | hpux11*) - case $host_cpu in - ia64*) - shrext=.so - ;; - hppa*64*) - shrext=.sl - ;; - *) - shrext=.sl - ;; - esac - library_names_spec='$libname$shrext' - ;; - interix[3-9]*) - library_names_spec='$libname$shrext' - ;; - irix5* | irix6* | nonstopux*) - library_names_spec='$libname$shrext' - case "$host_os" in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;; - *) libsuff= shlibsuff= ;; - esac - ;; - esac - ;; - linux*oldld* | linux*aout* | linux*coff*) - ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu) - library_names_spec='$libname$shrext' - ;; - knetbsd*-gnu) - library_names_spec='$libname$shrext' - ;; - netbsd*) - library_names_spec='$libname$shrext' - ;; - newsos6) - library_names_spec='$libname$shrext' - ;; - *nto* | *qnx*) - library_names_spec='$libname$shrext' - ;; - openbsd*) - library_names_spec='$libname$shrext$versuffix' - ;; - os2*) - libname_spec='$name' - shrext=.dll - library_names_spec='$libname.a' - ;; - osf3* | osf4* | osf5*) - library_names_spec='$libname$shrext' - ;; - rdos*) - ;; - solaris*) - library_names_spec='$libname$shrext' - ;; - sunos4*) - library_names_spec='$libname$shrext$versuffix' - ;; - sysv4 | sysv4.3*) - library_names_spec='$libname$shrext' - ;; - sysv4*MP*) - library_names_spec='$libname$shrext' - ;; - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - library_names_spec='$libname$shrext' - ;; - tpf*) - library_names_spec='$libname$shrext' - ;; - uts4*) - library_names_spec='$libname$shrext' - ;; -esac - -sed_quote_subst='s/\(["`$\\]\)/\\\1/g' -escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` -shlibext=`echo "$shrext" | sed -e 's,^\.,,'` -escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` -escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` -escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` - -LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that -# program. This Exception is an additional permission under section 7 -# of the GNU General Public License, version 3 ("GPLv3"). - - -# Please send patches to . -# -# Configuration subroutine to validate and canonicalize a configuration type. -# Supply the specified configuration type as an argument. -# If it is invalid, we print an error message on stderr and exit with code 1. -# Otherwise, we print the canonical config type on stdout and succeed. - -# You can get the latest version of this script from: -# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub - -# This file is supposed to be the same for all GNU packages -# and recognize all the CPU types, system types and aliases -# that are meaningful with *any* GNU software. -# Each package is responsible for reporting which valid configurations -# it does not support. The user should be able to distinguish -# a failure to support a valid configuration from a meaningless -# configuration. - -# The goal of this file is to map all the various variations of a given -# machine specification into a single specification in the form: -# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -# or in some cases, the newer four-part form: -# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM -# It is wrong to echo any other type of specification. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS - -Canonicalize a configuration name. - -Options: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.sub ($timestamp) - -Copyright 1992-2018 Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" - exit 1 ;; - - *local*) - # First pass through any local machine types. - echo "$1" - exit ;; - - * ) - break ;; - esac -done - -case $# in - 0) echo "$me: missing argument$help" >&2 - exit 1;; - 1) ;; - *) echo "$me: too many arguments$help" >&2 - exit 1;; -esac - -# Split fields of configuration type -IFS="-" read -r field1 field2 field3 field4 <&2 - exit 1 - ;; - *-*-*-*) - basic_machine=$field1-$field2 - os=$field3-$field4 - ;; - *-*-*) - # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two - # parts - maybe_os=$field2-$field3 - case $maybe_os in - nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc \ - | linux-newlib* | linux-musl* | linux-uclibc* | uclinux-uclibc* \ - | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \ - | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \ - | storm-chaos* | os2-emx* | rtmk-nova*) - basic_machine=$field1 - os=$maybe_os - ;; - android-linux) - basic_machine=$field1-unknown - os=linux-android - ;; - *) - basic_machine=$field1-$field2 - os=$field3 - ;; - esac - ;; - *-*) - # A lone config we happen to match not fitting any patern - case $field1-$field2 in - decstation-3100) - basic_machine=mips-dec - os= - ;; - *-*) - # Second component is usually, but not always the OS - case $field2 in - # Prevent following clause from handling this valid os - sun*os*) - basic_machine=$field1 - os=$field2 - ;; - # Manufacturers - dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \ - | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \ - | unicom* | ibm* | next | hp | isi* | apollo | altos* \ - | convergent* | ncr* | news | 32* | 3600* | 3100* \ - | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \ - | ultra | tti* | harris | dolphin | highlevel | gould \ - | cbm | ns | masscomp | apple | axis | knuth | cray \ - | microblaze* | sim | cisco \ - | oki | wec | wrs | winbond) - basic_machine=$field1-$field2 - os= - ;; - *) - basic_machine=$field1 - os=$field2 - ;; - esac - ;; - esac - ;; - *) - # Convert single-component short-hands not valid as part of - # multi-component configurations. - case $field1 in - 386bsd) - basic_machine=i386-pc - os=bsd - ;; - a29khif) - basic_machine=a29k-amd - os=udi - ;; - adobe68k) - basic_machine=m68010-adobe - os=scout - ;; - alliant) - basic_machine=fx80-alliant - os= - ;; - altos | altos3068) - basic_machine=m68k-altos - os= - ;; - am29k) - basic_machine=a29k-none - os=bsd - ;; - amdahl) - basic_machine=580-amdahl - os=sysv - ;; - amiga) - basic_machine=m68k-unknown - os= - ;; - amigaos | amigados) - basic_machine=m68k-unknown - os=amigaos - ;; - amigaunix | amix) - basic_machine=m68k-unknown - os=sysv4 - ;; - apollo68) - basic_machine=m68k-apollo - os=sysv - ;; - apollo68bsd) - basic_machine=m68k-apollo - os=bsd - ;; - aros) - basic_machine=i386-pc - os=aros - ;; - aux) - basic_machine=m68k-apple - os=aux - ;; - balance) - basic_machine=ns32k-sequent - os=dynix - ;; - blackfin) - basic_machine=bfin-unknown - os=linux - ;; - cegcc) - basic_machine=arm-unknown - os=cegcc - ;; - convex-c1) - basic_machine=c1-convex - os=bsd - ;; - convex-c2) - basic_machine=c2-convex - os=bsd - ;; - convex-c32) - basic_machine=c32-convex - os=bsd - ;; - convex-c34) - basic_machine=c34-convex - os=bsd - ;; - convex-c38) - basic_machine=c38-convex - os=bsd - ;; - cray) - basic_machine=j90-cray - os=unicos - ;; - crds | unos) - basic_machine=m68k-crds - os= - ;; - da30) - basic_machine=m68k-da30 - os= - ;; - decstation | pmax | pmin | dec3100 | decstatn) - basic_machine=mips-dec - os= - ;; - delta88) - basic_machine=m88k-motorola - os=sysv3 - ;; - dicos) - basic_machine=i686-pc - os=dicos - ;; - djgpp) - basic_machine=i586-pc - os=msdosdjgpp - ;; - ebmon29k) - basic_machine=a29k-amd - os=ebmon - ;; - es1800 | OSE68k | ose68k | ose | OSE) - basic_machine=m68k-ericsson - os=ose - ;; - gmicro) - basic_machine=tron-gmicro - os=sysv - ;; - go32) - basic_machine=i386-pc - os=go32 - ;; - 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 - ;; - hppaosf) - basic_machine=hppa1.1-hp - os=osf - ;; - hppro) - basic_machine=hppa1.1-hp - os=proelf - ;; - i386mach) - basic_machine=i386-mach - os=mach - ;; - vsta) - basic_machine=i386-pc - os=vsta - ;; - isi68 | isi) - basic_machine=m68k-isi - os=sysv - ;; - m68knommu) - basic_machine=m68k-unknown - os=linux - ;; - magnum | m3230) - basic_machine=mips-mips - os=sysv - ;; - merlin) - basic_machine=ns32k-utek - os=sysv - ;; - mingw64) - basic_machine=x86_64-pc - os=mingw64 - ;; - mingw32) - basic_machine=i686-pc - os=mingw32 - ;; - mingw32ce) - basic_machine=arm-unknown - os=mingw32ce - ;; - monitor) - basic_machine=m68k-rom68k - os=coff - ;; - morphos) - basic_machine=powerpc-unknown - os=morphos - ;; - moxiebox) - basic_machine=moxie-unknown - os=moxiebox - ;; - msdos) - basic_machine=i386-pc - os=msdos - ;; - msys) - basic_machine=i686-pc - os=msys - ;; - mvs) - basic_machine=i370-ibm - os=mvs - ;; - nacl) - basic_machine=le32-unknown - os=nacl - ;; - ncr3000) - basic_machine=i486-ncr - os=sysv4 - ;; - netbsd386) - basic_machine=i386-pc - 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 - ;; - necv70) - basic_machine=v70-nec - os=sysv - ;; - 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 - ;; - os400) - basic_machine=powerpc-ibm - os=os400 - ;; - OSE68000 | ose68000) - basic_machine=m68000-ericsson - os=ose - ;; - os68k) - basic_machine=m68k-none - os=os68k - ;; - paragon) - basic_machine=i860-intel - os=osf - ;; - parisc) - basic_machine=hppa-unknown - os=linux - ;; - pw32) - basic_machine=i586-unknown - os=pw32 - ;; - rdos | rdos64) - basic_machine=x86_64-pc - os=rdos - ;; - rdos32) - basic_machine=i386-pc - os=rdos - ;; - rom68k) - basic_machine=m68k-rom68k - os=coff - ;; - sa29200) - basic_machine=a29k-amd - os=udi - ;; - sei) - basic_machine=mips-sei - os=seiux - ;; - sequent) - basic_machine=i386-sequent - os= - ;; - sps7) - basic_machine=m68k-bull - os=sysv2 - ;; - st2000) - basic_machine=m68k-tandem - os= - ;; - stratus) - basic_machine=i860-stratus - os=sysv4 - ;; - sun2) - basic_machine=m68000-sun - os= - ;; - sun2os3) - basic_machine=m68000-sun - os=sunos3 - ;; - sun2os4) - basic_machine=m68000-sun - os=sunos4 - ;; - sun3) - basic_machine=m68k-sun - os= - ;; - sun3os3) - basic_machine=m68k-sun - os=sunos3 - ;; - sun3os4) - basic_machine=m68k-sun - os=sunos4 - ;; - sun4) - basic_machine=sparc-sun - os= - ;; - sun4os3) - basic_machine=sparc-sun - os=sunos3 - ;; - sun4os4) - basic_machine=sparc-sun - os=sunos4 - ;; - sun4sol2) - basic_machine=sparc-sun - os=solaris2 - ;; - sun386 | sun386i | roadrunner) - basic_machine=i386-sun - os= - ;; - sv1) - basic_machine=sv1-cray - os=unicos - ;; - symmetry) - basic_machine=i386-sequent - os=dynix - ;; - t3e) - basic_machine=alphaev5-cray - os=unicos - ;; - t90) - basic_machine=t90-cray - os=unicos - ;; - toad1) - basic_machine=pdp10-xkl - os=tops20 - ;; - tpf) - basic_machine=s390x-ibm - os=tpf - ;; - udi29k) - basic_machine=a29k-amd - os=udi - ;; - ultra3) - basic_machine=a29k-nyu - os=sym1 - ;; - v810 | necv810) - basic_machine=v810-nec - os=none - ;; - vaxv) - basic_machine=vax-dec - os=sysv - ;; - vms) - basic_machine=vax-dec - os=vms - ;; - vxworks960) - basic_machine=i960-wrs - os=vxworks - ;; - vxworks68) - basic_machine=m68k-wrs - os=vxworks - ;; - vxworks29k) - basic_machine=a29k-wrs - os=vxworks - ;; - xbox) - basic_machine=i686-pc - os=mingw32 - ;; - ymp) - basic_machine=ymp-cray - os=unicos - ;; - *) - basic_machine=$1 - os= - ;; - esac - ;; -esac - -# Decode 1-component or ad-hoc basic machines -case $basic_machine in - # 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) - cpu=hppa1.1 - vendor=winbond - ;; - op50n) - cpu=hppa1.1 - vendor=oki - ;; - op60c) - cpu=hppa1.1 - vendor=oki - ;; - ibm*) - cpu=i370 - vendor=ibm - ;; - orion105) - cpu=clipper - vendor=highlevel - ;; - mac | mpw | mac-mpw) - cpu=m68k - vendor=apple - ;; - pmac | pmac-mpw) - cpu=powerpc - vendor=apple - ;; - - # Recognize the various machine names and aliases which stand - # for a CPU type and a company and sometimes even an OS. - 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) - cpu=m68000 - vendor=att - ;; - 3b*) - cpu=we32k - vendor=att - ;; - bluegene*) - cpu=powerpc - vendor=ibm - os=cnk - ;; - decsystem10* | dec10*) - cpu=pdp10 - vendor=dec - os=tops10 - ;; - decsystem20* | dec20*) - cpu=pdp10 - vendor=dec - os=tops20 - ;; - delta | 3300 | motorola-3300 | motorola-delta \ - | 3300-motorola | delta-motorola) - cpu=m68k - vendor=motorola - ;; - dpx2*) - cpu=m68k - vendor=bull - os=sysv3 - ;; - encore | umax | mmax) - cpu=ns32k - vendor=encore - ;; - elxsi) - cpu=elxsi - vendor=elxsi - os=${os:-bsd} - ;; - fx2800) - cpu=i860 - vendor=alliant - ;; - genix) - cpu=ns32k - vendor=ns - ;; - h3050r* | hiux*) - cpu=hppa1.1 - vendor=hitachi - os=hiuxwe2 - ;; - hp3k9[0-9][0-9] | hp9[0-9][0-9]) - cpu=hppa1.0 - vendor=hp - ;; - hp9k2[0-9][0-9] | hp9k31[0-9]) - cpu=m68000 - vendor=hp - ;; - hp9k3[2-9][0-9]) - cpu=m68k - vendor=hp - ;; - hp9k6[0-9][0-9] | hp6[0-9][0-9]) - cpu=hppa1.0 - vendor=hp - ;; - hp9k7[0-79][0-9] | hp7[0-79][0-9]) - cpu=hppa1.1 - vendor=hp - ;; - hp9k78[0-9] | hp78[0-9]) - # FIXME: really hppa2.0-hp - cpu=hppa1.1 - vendor=hp - ;; - hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) - # FIXME: really hppa2.0-hp - cpu=hppa1.1 - vendor=hp - ;; - hp9k8[0-9][13679] | hp8[0-9][13679]) - cpu=hppa1.1 - vendor=hp - ;; - hp9k8[0-9][0-9] | hp8[0-9][0-9]) - cpu=hppa1.0 - vendor=hp - ;; - i*86v32) - cpu=`echo "$1" | sed -e 's/86.*/86/'` - vendor=pc - os=sysv32 - ;; - i*86v4*) - cpu=`echo "$1" | sed -e 's/86.*/86/'` - vendor=pc - os=sysv4 - ;; - i*86v) - cpu=`echo "$1" | sed -e 's/86.*/86/'` - vendor=pc - os=sysv - ;; - i*86sol2) - cpu=`echo "$1" | sed -e 's/86.*/86/'` - vendor=pc - os=solaris2 - ;; - j90 | j90-cray) - cpu=j90 - vendor=cray - os=${os:-unicos} - ;; - iris | iris4d) - cpu=mips - vendor=sgi - case $os in - irix*) - ;; - *) - os=irix4 - ;; - esac - ;; - miniframe) - cpu=m68000 - vendor=convergent - ;; - *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*) - cpu=m68k - vendor=atari - os=mint - ;; - news-3600 | risc-news) - cpu=mips - vendor=sony - os=newsos - ;; - next | m*-next) - cpu=m68k - vendor=next - case $os in - nextstep* ) - ;; - ns2*) - os=nextstep2 - ;; - *) - os=nextstep3 - ;; - esac - ;; - np1) - cpu=np1 - vendor=gould - ;; - op50n-* | op60c-*) - cpu=hppa1.1 - vendor=oki - os=proelf - ;; - pa-hitachi) - cpu=hppa1.1 - vendor=hitachi - os=hiuxwe2 - ;; - pbd) - cpu=sparc - vendor=tti - ;; - pbb) - cpu=m68k - vendor=tti - ;; - pc532) - cpu=ns32k - vendor=pc532 - ;; - pn) - cpu=pn - vendor=gould - ;; - power) - cpu=power - vendor=ibm - ;; - ps2) - cpu=i386 - vendor=ibm - ;; - rm[46]00) - cpu=mips - vendor=siemens - ;; - rtpc | rtpc-*) - cpu=romp - vendor=ibm - ;; - sde) - cpu=mipsisa32 - vendor=sde - os=${os:-elf} - ;; - simso-wrs) - cpu=sparclite - vendor=wrs - os=vxworks - ;; - tower | tower-32) - cpu=m68k - vendor=ncr - ;; - vpp*|vx|vx-*) - cpu=f301 - vendor=fujitsu - ;; - w65) - cpu=w65 - vendor=wdc - ;; - w89k-*) - cpu=hppa1.1 - vendor=winbond - os=proelf - ;; - none) - cpu=none - vendor=none - ;; - leon|leon[3-9]) - cpu=sparc - vendor=$basic_machine - ;; - leon-*|leon[3-9]-*) - cpu=sparc - vendor=`echo "$basic_machine" | sed 's/-.*//'` - ;; - - *-*) - IFS="-" read -r cpu vendor <&2 - exit 1 - ;; - esac - ;; -esac - -# Here we canonicalize certain aliases for manufacturers. -case $vendor in - digital*) - vendor=dec - ;; - commodore*) - vendor=cbm - ;; - *) - ;; -esac - -# Decode manufacturer-specific aliases for certain operating systems. - -if [ x$os != x ] -then -case $os in - # First match some system type aliases that might get confused - # with valid system types. - # solaris* is a basic system type, with this one exception. - auroraux) - os=auroraux - ;; - bluegene*) - os=cnk - ;; - solaris1 | solaris1.*) - os=`echo $os | sed -e 's|solaris1|sunos4|'` - ;; - solaris) - os=solaris2 - ;; - unixware*) - os=sysv4.2uw - ;; - gnu/linux*) - os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` - ;; - # es1800 is here to avoid being matched by es* (a different OS) - es1800*) - os=ose - ;; - # Some version numbers need modification - chorusos*) - os=chorusos - ;; - isc) - os=isc2.2 - ;; - sco6) - os=sco5v6 - ;; - sco5) - os=sco3.2v5 - ;; - sco4) - os=sco3.2v4 - ;; - sco3.2.[4-9]*) - os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` - ;; - sco3.2v[4-9]* | sco5v6*) - # Don't forget version if it is 3.2v4 or newer. - ;; - scout) - # Don't match below - ;; - sco*) - os=sco3.2v2 - ;; - psos*) - os=psos - ;; - # Now 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* | esix* | aix* | cnk* | sunos | sunos[34]*\ - | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \ - | sym* | kopensolaris* | plan9* \ - | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \ - | aos* | aros* | cloudabi* | sortix* \ - | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \ - | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \ - | knetbsd* | mirbsd* | netbsd* \ - | bitrig* | openbsd* | solidbsd* | libertybsd* \ - | ekkobsd* | kfreebsd* | freebsd* | riscix* | lynxos* \ - | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \ - | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \ - | udi* | eabi* | lites* | ieee* | go32* | aux* | hcos* \ - | chorusrdb* | cegcc* | glidix* \ - | cygwin* | msys* | pe* | moss* | proelf* | rtems* \ - | midipix* | mingw32* | mingw64* | linux-gnu* | linux-android* \ - | linux-newlib* | linux-musl* | linux-uclibc* \ - | uxpv* | beos* | mpeix* | udk* | moxiebox* \ - | interix* | uwin* | mks* | rhapsody* | darwin* \ - | openstep* | oskit* | conix* | pw32* | nonstopux* \ - | storm-chaos* | tops10* | tenex* | tops20* | its* \ - | os2* | vos* | palmos* | uclinux* | nucleus* \ - | morphos* | superux* | rtmk* | windiss* \ - | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \ - | skyos* | haiku* | rdos* | toppers* | drops* | es* \ - | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ - | midnightbsd*) - # Remember, each alternative MUST END IN *, to match a version number. - ;; - qnx*) - case $cpu in - x86 | i*86) - ;; - *) - os=nto-$os - ;; - esac - ;; - hiux*) - os=hiuxwe2 - ;; - nto-qnx*) - ;; - nto*) - os=`echo $os | sed -e 's|nto|nto-qnx|'` - ;; - sim | xray | os68k* | v88r* \ - | windows* | osx | abug | netware* | os9* \ - | macos* | mpw* | magic* | mmixware* | mon960* | lnews*) - ;; - linux-dietlibc) - os=linux-dietlibc - ;; - linux*) - os=`echo $os | sed -e 's|linux|linux-gnu|'` - ;; - lynx*178) - os=lynxos178 - ;; - lynx*5) - os=lynxos5 - ;; - lynx*) - os=lynxos - ;; - mac*) - os=`echo "$os" | sed -e 's|mac|macos|'` - ;; - opened*) - os=openedition - ;; - os400*) - os=os400 - ;; - sunos5*) - os=`echo "$os" | sed -e 's|sunos5|solaris2|'` - ;; - sunos6*) - os=`echo "$os" | sed -e 's|sunos6|solaris3|'` - ;; - wince*) - os=wince - ;; - utek*) - os=bsd - ;; - dynix*) - os=bsd - ;; - acis*) - os=aos - ;; - atheos*) - os=atheos - ;; - syllable*) - os=syllable - ;; - 386bsd) - os=bsd - ;; - ctix* | uts*) - os=sysv - ;; - nova*) - os=rtmk-nova - ;; - ns2) - os=nextstep2 - ;; - nsk*) - os=nsk - ;; - # Preserve the version number of sinix5. - sinix5.*) - os=`echo $os | sed -e 's|sinix|sysv|'` - ;; - sinix*) - os=sysv4 - ;; - tpf*) - os=tpf - ;; - triton*) - os=sysv3 - ;; - oss*) - os=sysv3 - ;; - svr4*) - os=sysv4 - ;; - svr3) - os=sysv3 - ;; - sysvr4) - os=sysv4 - ;; - # This must come after sysvr4. - sysv*) - ;; - ose*) - os=ose - ;; - *mint | mint[0-9]* | *MiNT | MiNT[0-9]*) - os=mint - ;; - zvmoe) - os=zvmoe - ;; - dicos*) - os=dicos - ;; - pikeos*) - # Until real need of OS specific support for - # particular features comes up, bare metal - # configurations are quite functional. - case $cpu in - arm*) - os=eabi - ;; - *) - os=elf - ;; - esac - ;; - nacl*) - ;; - ios) - ;; - none) - ;; - *-eabi) - ;; - *) - 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 $cpu-$vendor in - score-*) - os=elf - ;; - spu-*) - os=elf - ;; - *-acorn) - os=riscix1.2 - ;; - arm*-rebel) - os=linux - ;; - arm*-semi) - os=aout - ;; - c4x-* | tic4x-*) - os=coff - ;; - c8051-*) - os=elf - ;; - clipper-intergraph) - os=clix - ;; - hexagon-*) - os=elf - ;; - tic54x-*) - os=coff - ;; - tic55x-*) - os=coff - ;; - tic6x-*) - os=coff - ;; - # This must come before the *-dec entry. - pdp10-*) - os=tops20 - ;; - pdp11-*) - os=none - ;; - *-dec | vax-*) - os=ultrix4.2 - ;; - m68*-apollo) - os=domain - ;; - i386-sun) - os=sunos4.0.2 - ;; - m68000-sun) - os=sunos3 - ;; - m68*-cisco) - os=aout - ;; - mep-*) - os=elf - ;; - mips*-cisco) - os=elf - ;; - mips*-*) - os=elf - ;; - or32-*) - os=coff - ;; - *-tti) # must be before sparc entry or we get the wrong os. - os=sysv3 - ;; - sparc-* | *-sun) - os=sunos4.1.1 - ;; - pru-*) - os=elf - ;; - *-be) - os=beos - ;; - *-ibm) - os=aix - ;; - *-knuth) - os=mmixware - ;; - *-wec) - os=proelf - ;; - *-winbond) - os=proelf - ;; - *-oki) - os=proelf - ;; - *-hp) - os=hpux - ;; - *-hitachi) - os=hiux - ;; - i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) - os=sysv - ;; - *-cbm) - os=amigaos - ;; - *-dg) - os=dgux - ;; - *-dolphin) - os=sysv3 - ;; - m68k-ccur) - os=rtu - ;; - m88k-omron*) - os=luna - ;; - *-next) - os=nextstep - ;; - *-sequent) - os=ptx - ;; - *-crds) - os=unos - ;; - *-ns) - os=genix - ;; - i370-*) - os=mvs - ;; - *-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 - ;; - *-wrs) - os=vxworks - ;; - *) - 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. -case $vendor in - unknown) - case $os in - riscix*) - vendor=acorn - ;; - sunos*) - vendor=sun - ;; - cnk*|-aix*) - vendor=ibm - ;; - beos*) - vendor=be - ;; - hpux*) - vendor=hp - ;; - mpeix*) - vendor=hp - ;; - hiux*) - vendor=hitachi - ;; - unos*) - vendor=crds - ;; - dgux*) - vendor=dg - ;; - luna*) - vendor=omron - ;; - genix*) - vendor=ns - ;; - clix*) - vendor=intergraph - ;; - mvs* | opened*) - vendor=ibm - ;; - os400*) - vendor=ibm - ;; - ptx*) - vendor=sequent - ;; - tpf*) - vendor=ibm - ;; - vxsim* | vxworks* | windiss*) - vendor=wrs - ;; - aux*) - vendor=apple - ;; - hms*) - vendor=hitachi - ;; - mpw* | macos*) - vendor=apple - ;; - *mint | mint[0-9]* | *MiNT | MiNT[0-9]*) - vendor=atari - ;; - vos*) - vendor=stratus - ;; - esac - ;; -esac - -echo "$cpu-$vendor-$os" -exit - -# Local variables: -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff -Nru shared-mime-info-1.15/configure shared-mime-info-2.0/configure --- shared-mime-info-1.15/configure 2019-10-30 10:45:14.000000000 +0000 +++ shared-mime-info-2.0/configure 1970-01-01 00:00:00.000000000 +0000 @@ -1,8642 +0,0 @@ -#! /bin/sh -# Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for shared-mime-info 1.15. -# -# Report bugs to . -# -# -# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. -# -# -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in #(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -# Use a proper internal environment variable to ensure we don't fall - # into an infinite loop, continuously re-executing ourselves. - if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then - _as_can_reexec=no; export _as_can_reexec; - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -as_fn_exit 255 - fi - # We don't want this to propagate to other subprocesses. - { _as_can_reexec=; unset _as_can_reexec;} -if test "x$CONFIG_SHELL" = x; then - as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi -" - as_required="as_fn_return () { (exit \$1); } -as_fn_success () { as_fn_return 0; } -as_fn_failure () { as_fn_return 1; } -as_fn_ret_success () { return 0; } -as_fn_ret_failure () { return 1; } - -exitcode=0 -as_fn_success || { exitcode=1; echo as_fn_success failed.; } -as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } -as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } -as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } -if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : - -else - exitcode=1; echo positional parameters were not saved. -fi -test x\$exitcode = x0 || exit 1 -test -x / || exit 1" - as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO - as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO - eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && - test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 -test \$(( 1 + 1 )) = 2 || exit 1" - if (eval "$as_required") 2>/dev/null; then : - as_have_required=yes -else - as_have_required=no -fi - if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : - -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -as_found=false -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - as_found=: - case $as_dir in #( - /*) - for as_base in sh bash ksh sh5; do - # Try only shells that exist, to save several forks. - as_shell=$as_dir/$as_base - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : - CONFIG_SHELL=$as_shell as_have_required=yes - if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : - break 2 -fi -fi - done;; - esac - as_found=false -done -$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : - CONFIG_SHELL=$SHELL as_have_required=yes -fi; } -IFS=$as_save_IFS - - - if test "x$CONFIG_SHELL" != x; then : - export CONFIG_SHELL - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -exit 255 -fi - - if test x$as_have_required = xno; then : - $as_echo "$0: This script requires a shell more modern than all" - $as_echo "$0: the shells that I found on your system." - if test x${ZSH_VERSION+set} = xset ; then - $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" - $as_echo "$0: be upgraded to zsh 4.3.4 or later." - else - $as_echo "$0: Please tell bug-autoconf@gnu.org and -$0: https://bugs.freedesktop.org/enter_bug.cgi?product=shared-mime-info -$0: about your system, including any error possibly output -$0: before this message. Then install a modern shell, or -$0: manually run the script under such a shell if you do -$0: have one." - fi - exit 1 -fi -fi -fi -SHELL=${CONFIG_SHELL-/bin/sh} -export SHELL -# Unset more variables known to interfere with behavior of common tools. -CLICOLOR_FORCE= GREP_OPTIONS= -unset CLICOLOR_FORCE GREP_OPTIONS - -## --------------------- ## -## M4sh Shell Functions. ## -## --------------------- ## -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} # as_fn_mkdir_p - -# as_fn_executable_p FILE -# ----------------------- -# Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} # as_fn_executable_p -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -# as_fn_error STATUS ERROR [LINENO LOG_FD] -# ---------------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} # as_fn_error - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - - - as_lineno_1=$LINENO as_lineno_1a=$LINENO - as_lineno_2=$LINENO as_lineno_2a=$LINENO - eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && - test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { - # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } - - # If we had to re-execute with $CONFIG_SHELL, we're ensured to have - # already done that, so ensure we don't try to do so again and fall - # in an infinite loop. This has already happened in practice. - _as_can_reexec=no; export _as_can_reexec - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi -else - as_ln_s='cp -pR' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -as_test_x='test -x' -as_executable_p=as_fn_executable_p - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -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='shared-mime-info' -PACKAGE_TARNAME='shared-mime-info' -PACKAGE_VERSION='1.15' -PACKAGE_STRING='shared-mime-info 1.15' -PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=shared-mime-info' -PACKAGE_URL='' - -gt_needs= -ac_subst_vars='am__EXEEXT_FALSE -am__EXEEXT_TRUE -LTLIBOBJS -LIBOBJS -XMLLINT -ENABLE_UPDATE_MIMEDB_FALSE -ENABLE_UPDATE_MIMEDB_TRUE -UPDATE_MIME_DATABASE -XDGMIME_PATH -HAVE_GIO_FALSE -HAVE_GIO_TRUE -GIO_LIBS -GIO_CFLAGS -ALL_LIBS -ALL_CFLAGS -PKG_CONFIG_LIBDIR -PKG_CONFIG_PATH -PKG_CONFIG -CROSS_COMPILING_FALSE -CROSS_COMPILING_TRUE -ITSTOOL -POSUB -LTLIBINTL -LIBINTL -INTLLIBS -LTLIBICONV -LIBICONV -INTL_MACOSX_LIBS -EGREP -GREP -CPP -host_os -host_vendor -host_cpu -host -build_os -build_vendor -build_cpu -build -XGETTEXT_EXTRA_OPTIONS -MSGMERGE -XGETTEXT_015 -XGETTEXT -GMSGFMT_015 -MSGFMT_015 -GMSGFMT -MSGFMT -GETTEXT_MACRO_VERSION -USE_NLS -SED -am__fastdepCC_FALSE -am__fastdepCC_TRUE -CCDEPMODE -am__nodep -AMDEPBACKSLASH -AMDEP_FALSE -AMDEP_TRUE -am__include -DEPDIR -OBJEXT -EXEEXT -ac_ct_CC -CPPFLAGS -LDFLAGS -CFLAGS -CC -AM_BACKSLASH -AM_DEFAULT_VERBOSITY -AM_DEFAULT_V -AM_V -am__untar -am__tar -AMTAR -am__leading_dot -SET_MAKE -AWK -mkdir_p -MKDIR_P -INSTALL_STRIP_PROGRAM -STRIP -install_sh -MAKEINFO -AUTOHEADER -AUTOMAKE -AUTOCONF -ACLOCAL -VERSION -PACKAGE -CYGPATH_W -am__isrc -INSTALL_DATA -INSTALL_SCRIPT -INSTALL_PROGRAM -target_alias -host_alias -build_alias -LIBS -ECHO_T -ECHO_N -ECHO_C -DEFS -mandir -localedir -libdir -psdir -pdfdir -dvidir -htmldir -infodir -docdir -oldincludedir -includedir -localstatedir -sharedstatedir -sysconfdir -datadir -datarootdir -libexecdir -sbindir -bindir -program_transform_name -prefix -exec_prefix -PACKAGE_URL -PACKAGE_BUGREPORT -PACKAGE_STRING -PACKAGE_VERSION -PACKAGE_TARNAME -PACKAGE_NAME -PATH_SEPARATOR -SHELL -am__quote' -ac_subst_files='' -ac_user_opts=' -enable_option_checking -enable_silent_rules -enable_dependency_tracking -enable_largefile -enable_nls -with_gnu_ld -enable_rpath -with_libiconv_prefix -with_libintl_prefix -enable_update_mimedb -' - ac_precious_vars='build_alias -host_alias -target_alias -CC -CFLAGS -LDFLAGS -LIBS -CPPFLAGS -CPP -PKG_CONFIG -PKG_CONFIG_PATH -PKG_CONFIG_LIBDIR -ALL_CFLAGS -ALL_LIBS -GIO_CFLAGS -GIO_LIBS' - - -# Initialize some variables set by options. -ac_init_help= -ac_init_version=false -ac_unrecognized_opts= -ac_unrecognized_sep= -# The variables have the same names as the options, with -# dashes changed to underlines. -cache_file=/dev/null -exec_prefix=NONE -no_create= -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -verbose= -x_includes=NONE -x_libraries=NONE - -# Installation directory options. -# These are left unexpanded so users can "make install exec_prefix=/foo" -# and all the variables that are supposed to be based on exec_prefix -# by default will actually change. -# Use braces instead of parens because sh, perl, etc. also accept them. -# (The list follows the same order as the GNU Coding Standards.) -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datarootdir='${prefix}/share' -datadir='${datarootdir}' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -includedir='${prefix}/include' -oldincludedir='/usr/include' -docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' -infodir='${datarootdir}/info' -htmldir='${docdir}' -dvidir='${docdir}' -pdfdir='${docdir}' -psdir='${docdir}' -libdir='${exec_prefix}/lib' -localedir='${datarootdir}/locale' -mandir='${datarootdir}/man' - -ac_prev= -ac_dashdash= -for ac_option -do - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval $ac_prev=\$ac_option - ac_prev= - continue - fi - - case $ac_option in - *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *=) ac_optarg= ;; - *) ac_optarg=yes ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case $ac_dashdash$ac_option in - --) - ac_dashdash=yes ;; - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir=$ac_optarg ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build_alias ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build_alias=$ac_optarg ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file=$ac_optarg ;; - - --config-cache | -C) - cache_file=config.cache ;; - - -datadir | --datadir | --datadi | --datad) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=*) - datadir=$ac_optarg ;; - - -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ - | --dataroo | --dataro | --datar) - ac_prev=datarootdir ;; - -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ - | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) - datarootdir=$ac_optarg ;; - - -disable-* | --disable-*) - ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=no ;; - - -docdir | --docdir | --docdi | --doc | --do) - ac_prev=docdir ;; - -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) - docdir=$ac_optarg ;; - - -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) - ac_prev=dvidir ;; - -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) - dvidir=$ac_optarg ;; - - -enable-* | --enable-*) - ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=\$ac_optarg ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix=$ac_optarg ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he | -h) - ac_init_help=long ;; - -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) - ac_init_help=recursive ;; - -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) - ac_init_help=short ;; - - -host | --host | --hos | --ho) - ac_prev=host_alias ;; - -host=* | --host=* | --hos=* | --ho=*) - host_alias=$ac_optarg ;; - - -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) - ac_prev=htmldir ;; - -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ - | --ht=*) - htmldir=$ac_optarg ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir=$ac_optarg ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir=$ac_optarg ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir=$ac_optarg ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir=$ac_optarg ;; - - -localedir | --localedir | --localedi | --localed | --locale) - ac_prev=localedir ;; - -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) - localedir=$ac_optarg ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst | --locals) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) - localstatedir=$ac_optarg ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir=$ac_optarg ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c | -n) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir=$ac_optarg ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix=$ac_optarg ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix=$ac_optarg ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix=$ac_optarg ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name=$ac_optarg ;; - - -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) - ac_prev=pdfdir ;; - -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) - pdfdir=$ac_optarg ;; - - -psdir | --psdir | --psdi | --psd | --ps) - ac_prev=psdir ;; - -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) - psdir=$ac_optarg ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir=$ac_optarg ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir=$ac_optarg ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site=$ac_optarg ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir=$ac_optarg ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir=$ac_optarg ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target_alias ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target_alias=$ac_optarg ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers | -V) - ac_init_version=: ;; - - -with-* | --with-*) - ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=\$ac_optarg ;; - - -without-* | --without-*) - ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=no ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes=$ac_optarg ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries=$ac_optarg ;; - - -*) as_fn_error $? "unrecognized option: \`$ac_option' -Try \`$0 --help' for more information" - ;; - - *=*) - ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` - # Reject names that are not valid shell variable names. - case $ac_envvar in #( - '' | [0-9]* | *[!_$as_cr_alnum]* ) - as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; - esac - eval $ac_envvar=\$ac_optarg - export $ac_envvar ;; - - *) - # FIXME: should be removed in autoconf 3.0. - $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 - expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" - ;; - - esac -done - -if test -n "$ac_prev"; then - ac_option=--`echo $ac_prev | sed 's/_/-/g'` - as_fn_error $? "missing argument to $ac_option" -fi - -if test -n "$ac_unrecognized_opts"; then - case $enable_option_checking in - no) ;; - fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; - *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; - esac -fi - -# Check all directory arguments for consistency. -for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ - datadir sysconfdir sharedstatedir localstatedir includedir \ - oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir -do - eval ac_val=\$$ac_var - # Remove trailing slashes. - case $ac_val in - */ ) - ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` - eval $ac_var=\$ac_val;; - esac - # Be sure to have absolute directory names. - case $ac_val in - [\\/$]* | ?:[\\/]* ) continue;; - NONE | '' ) case $ac_var in *prefix ) continue;; esac;; - esac - as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" -done - -# There might be people who depend on the old broken behavior: `$host' -# used to hold the argument of --host etc. -# FIXME: To remove some day. -build=$build_alias -host=$host_alias -target=$target_alias - -# FIXME: To remove some day. -if test "x$host_alias" != x; then - if test "x$build_alias" = x; then - cross_compiling=maybe - elif test "x$build_alias" != "x$host_alias"; then - cross_compiling=yes - fi -fi - -ac_tool_prefix= -test -n "$host_alias" && ac_tool_prefix=$host_alias- - -test "$silent" = yes && exec 6>/dev/null - - -ac_pwd=`pwd` && test -n "$ac_pwd" && -ac_ls_di=`ls -di .` && -ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - as_fn_error $? "working directory cannot be determined" -test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - as_fn_error $? "pwd does not report name of working directory" - - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then the parent directory. - ac_confdir=`$as_dirname -- "$as_myself" || -$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_myself" : 'X\(//\)[^/]' \| \ - X"$as_myself" : 'X\(//\)$' \| \ - X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_myself" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - srcdir=$ac_confdir - if test ! -r "$srcdir/$ac_unique_file"; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r "$srcdir/$ac_unique_file"; then - test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" -fi -ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" -ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" - pwd)` -# When building in place, set srcdir=. -if test "$ac_abs_confdir" = "$ac_pwd"; then - srcdir=. -fi -# Remove unnecessary trailing slashes from srcdir. -# Double slashes in file names in object file debugging info -# mess up M-x gdb in Emacs. -case $srcdir in -*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; -esac -for ac_var in $ac_precious_vars; do - eval ac_env_${ac_var}_set=\${${ac_var}+set} - eval ac_env_${ac_var}_value=\$${ac_var} - eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} - eval ac_cv_env_${ac_var}_value=\$${ac_var} -done - -# -# Report the --help message. -# -if test "$ac_init_help" = "long"; then - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat <<_ACEOF -\`configure' configures shared-mime-info 1.15 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/shared-mime-info] - --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 shared-mime-info 1.15:";; - esac - cat <<\_ACEOF - -Optional Features: - --disable-option-checking ignore unrecognized --enable/--with options - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --enable-silent-rules less verbose build output (undo: "make V=1") - --disable-silent-rules verbose build output (undo: "make V=0") - --enable-dependency-tracking - do not reject slow dependency extractors - --disable-dependency-tracking - speeds up one-time build - --disable-largefile omit support for large files - --disable-nls do not use Native Language Support - --disable-rpath do not hardcode runtime library paths - --disable-update-mimedb disable the update-mime-database after install - [default=no] - -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 - -Some influential environment variables: - CC C compiler command - CFLAGS C compiler flags - LDFLAGS linker flags, e.g. -L if you have libraries in a - nonstandard directory - LIBS libraries to pass to the linker, e.g. -l - CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if - you have headers in a nonstandard directory - CPP C preprocessor - PKG_CONFIG path to pkg-config utility - PKG_CONFIG_PATH - directories to add to pkg-config's search path - PKG_CONFIG_LIBDIR - path overriding pkg-config's built-in search path - ALL_CFLAGS C compiler flags for ALL, overriding pkg-config - ALL_LIBS linker flags for ALL, overriding pkg-config - GIO_CFLAGS C compiler flags for GIO, overriding pkg-config - GIO_LIBS linker flags for GIO, overriding pkg-config - -Use these variables to override the choices made by `configure' or to help -it to find libraries and programs with nonstandard names/locations. - -Report bugs to . -_ACEOF -ac_status=$? -fi - -if test "$ac_init_help" = "recursive"; then - # If there are subdirs, report their specific --help. - for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue - test -d "$ac_dir" || - { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || - continue - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - cd "$ac_dir" || { ac_status=$?; continue; } - # Check for guested configure. - if test -f "$ac_srcdir/configure.gnu"; then - echo && - $SHELL "$ac_srcdir/configure.gnu" --help=recursive - elif test -f "$ac_srcdir/configure"; then - echo && - $SHELL "$ac_srcdir/configure" --help=recursive - else - $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 - fi || ac_status=$? - cd "$ac_pwd" || { ac_status=$?; break; } - done -fi - -test -n "$ac_init_help" && exit $ac_status -if $ac_init_version; then - cat <<\_ACEOF -shared-mime-info configure 1.15 -generated by GNU Autoconf 2.69 - -Copyright (C) 2012 Free Software Foundation, Inc. -This configure script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it. -_ACEOF - exit -fi - -## ------------------------ ## -## Autoconf initialization. ## -## ------------------------ ## - -# ac_fn_c_try_compile LINENO -# -------------------------- -# Try to compile conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_compile - -# ac_fn_c_try_cpp LINENO -# ---------------------- -# Try to preprocess conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_cpp () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } > conftest.i && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_cpp - -# ac_fn_c_try_link LINENO -# ----------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - test -x conftest$ac_exeext - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_link - -# ac_fn_c_try_run LINENO -# ---------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes -# that executables *can* be run. -ac_fn_c_try_run () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then : - ac_retval=0 -else - $as_echo "$as_me: program exited with status $ac_status" >&5 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=$ac_status -fi - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_run - -# ac_fn_c_check_func LINENO FUNC VAR -# ---------------------------------- -# Tests whether FUNC exists, setting the cache variable VAR accordingly -ac_fn_c_check_func () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Define $2 to an innocuous variant, in case declares $2. - For example, HP-UX 11i declares gettimeofday. */ -#define $2 innocuous_$2 - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $2 (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $2 - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $2 (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$2 || defined __stub___$2 -choke me -#endif - -int -main () -{ -return $2 (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_func -cat >config.log <<_ACEOF -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. - -It was created by shared-mime-info $as_me 1.15, which was -generated by GNU Autoconf 2.69. Invocation command line was - - $ $0 $@ - -_ACEOF -exec 5>>config.log -{ -cat <<_ASUNAME -## --------- ## -## Platform. ## -## --------- ## - -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` - -/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` -/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` - -_ASUNAME - -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - $as_echo "PATH: $as_dir" - done -IFS=$as_save_IFS - -} >&5 - -cat >&5 <<_ACEOF - - -## ----------- ## -## Core tests. ## -## ----------- ## - -_ACEOF - - -# Keep a trace of the command line. -# Strip out --no-create and --no-recursion so they do not pile up. -# Strip out --silent because we don't want to record it for future runs. -# Also quote any args containing shell meta-characters. -# Make two passes to allow for proper duplicate-argument suppression. -ac_configure_args= -ac_configure_args0= -ac_configure_args1= -ac_must_keep_next=false -for ac_pass in 1 2 -do - for ac_arg - do - case $ac_arg in - -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - continue ;; - *\'*) - ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - case $ac_pass in - 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; - 2) - as_fn_append ac_configure_args1 " '$ac_arg'" - if test $ac_must_keep_next = true; then - ac_must_keep_next=false # Got value, back to normal. - else - case $ac_arg in - *=* | --config-cache | -C | -disable-* | --disable-* \ - | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ - | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ - | -with-* | --with-* | -without-* | --without-* | --x) - case "$ac_configure_args0 " in - "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; - esac - ;; - -* ) ac_must_keep_next=true ;; - esac - fi - as_fn_append ac_configure_args " '$ac_arg'" - ;; - esac - done -done -{ ac_configure_args0=; unset ac_configure_args0;} -{ ac_configure_args1=; unset ac_configure_args1;} - -# When interrupted or exit'd, cleanup temporary files, and complete -# config.log. We remove comments because anyway the quotes in there -# would cause problems or look ugly. -# WARNING: Use '\'' to represent an apostrophe within the trap. -# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. -trap 'exit_status=$? - # Save into config.log some information that might help in debugging. - { - echo - - $as_echo "## ---------------- ## -## Cache variables. ## -## ---------------- ##" - echo - # The following way of writing the cache mishandles newlines in values, -( - for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - (set) 2>&1 | - case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - sed -n \ - "s/'\''/'\''\\\\'\'''\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" - ;; #( - *) - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) - echo - - $as_echo "## ----------------- ## -## Output variables. ## -## ----------------- ##" - echo - for ac_var in $ac_subst_vars - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - - if test -n "$ac_subst_files"; then - $as_echo "## ------------------- ## -## File substitutions. ## -## ------------------- ##" - echo - for ac_var in $ac_subst_files - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - fi - - if test -s confdefs.h; then - $as_echo "## ----------- ## -## confdefs.h. ## -## ----------- ##" - echo - cat confdefs.h - echo - fi - test "$ac_signal" != 0 && - $as_echo "$as_me: caught signal $ac_signal" - $as_echo "$as_me: exit $exit_status" - } >&5 - rm -f core *.core core.conftest.* && - rm -f -r conftest* confdefs* conf$$* $ac_clean_files && - exit $exit_status -' 0 -for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal -done -ac_signal=0 - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -f -r conftest* confdefs.h - -$as_echo "/* confdefs.h */" > confdefs.h - -# Predefined preprocessor variables. - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_NAME "$PACKAGE_NAME" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_TARNAME "$PACKAGE_TARNAME" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_VERSION "$PACKAGE_VERSION" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_STRING "$PACKAGE_STRING" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_URL "$PACKAGE_URL" -_ACEOF - - -# Let the site file select an alternate cache file if it wants to. -# Prefer an explicitly selected file to automatically selected ones. -ac_site_file1=NONE -ac_site_file2=NONE -if test -n "$CONFIG_SITE"; then - # We do not want a PATH search for config.site. - case $CONFIG_SITE in #(( - -*) ac_site_file1=./$CONFIG_SITE;; - */*) ac_site_file1=$CONFIG_SITE;; - *) ac_site_file1=./$CONFIG_SITE;; - esac -elif test "x$prefix" != xNONE; then - ac_site_file1=$prefix/share/config.site - ac_site_file2=$prefix/etc/config.site -else - ac_site_file1=$ac_default_prefix/share/config.site - ac_site_file2=$ac_default_prefix/etc/config.site -fi -for ac_site_file in "$ac_site_file1" "$ac_site_file2" -do - test "x$ac_site_file" = xNONE && continue - if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 -$as_echo "$as_me: loading site script $ac_site_file" >&6;} - sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" \ - || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "failed to load site script $ac_site_file -See \`config.log' for more details" "$LINENO" 5; } - fi -done - -if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special files - # actually), so we avoid doing that. DJGPP emulates it as a regular file. - if test /dev/null != "$cache_file" && test -f "$cache_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 -$as_echo "$as_me: loading cache $cache_file" >&6;} - case $cache_file in - [\\/]* | ?:[\\/]* ) . "$cache_file";; - *) . "./$cache_file";; - esac - fi -else - { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 -$as_echo "$as_me: creating cache $cache_file" >&6;} - >$cache_file -fi - -gt_needs="$gt_needs " -# 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 - - - -am__api_version='1.16' - -ac_aux_dir= -for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do - if test -f "$ac_dir/install-sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f "$ac_dir/install.sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - elif test -f "$ac_dir/shtool"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" - break - fi -done -if test -z "$ac_aux_dir"; then - as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 -fi - -# These three variables are undocumented and unsupported, -# and are intended to be withdrawn in a future Autoconf release. -# They can cause serious problems if a builder's source tree is in a directory -# whose full name contains unusual characters. -ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. -ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. -ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. - - -# Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AmigaOS /C/install, which installs bootblocks on floppy discs -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -# AFS /usr/afsws/bin/install, which mishandles nonexistent args -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -# OS/2's system install, which has a completely different semantic -# ./install, which can be erroneously created by make from ./install.sh. -# Reject install programs that cannot install multiple files. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 -$as_echo_n "checking for a BSD-compatible install... " >&6; } -if test -z "$INSTALL"; then -if ${ac_cv_path_install+:} false; then : - $as_echo_n "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - # Account for people who put trailing slashes in PATH elements. -case $as_dir/ in #(( - ./ | .// | /[cC]/* | \ - /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ - ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ - /usr/ucb/* ) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then - if test $ac_prog = install && - grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - elif test $ac_prog = install && - grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # program-specific install script used by HP pwplus--don't use. - : - else - rm -rf conftest.one conftest.two conftest.dir - echo one > conftest.one - echo two > conftest.two - mkdir conftest.dir - if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && - test -s conftest.one && test -s conftest.two && - test -s conftest.dir/conftest.one && - test -s conftest.dir/conftest.two - then - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 - fi - fi - fi - done - done - ;; -esac - - done -IFS=$as_save_IFS - -rm -rf conftest.one conftest.two conftest.dir - -fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL=$ac_cv_path_install - else - # As a last resort, use the slow shell script. Don't cache a - # value for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - INSTALL=$ac_install_sh - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 -$as_echo "$INSTALL" >&6; } - -# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -# It thinks the first close brace ends the variable substitution. -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' - -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' - -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 -$as_echo_n "checking whether build environment is sane... " >&6; } -# Reject unsafe characters in $srcdir or the absolute working directory -# name. Accept space and tab only in the latter. -am_lf=' -' -case `pwd` in - *[\\\"\#\$\&\'\`$am_lf]*) - as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; -esac -case $srcdir in - *[\\\"\#\$\&\'\`$am_lf\ \ ]*) - as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; -esac - -# Do 'set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - am_has_slept=no - for am_try in 1 2; do - echo "timestamp, slept: $am_has_slept" > conftest.file - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$*" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - if test "$*" != "X $srcdir/configure conftest.file" \ - && test "$*" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - as_fn_error $? "ls -t appears to fail. Make sure there is not a broken - alias in your environment" "$LINENO" 5 - fi - if test "$2" = conftest.file || test $am_try -eq 2; then - break - fi - # Just in case. - sleep 1 - am_has_slept=yes - done - test "$2" = conftest.file - ) -then - # Ok. - : -else - as_fn_error $? "newly created file is older than distributed files! -Check your system clock" "$LINENO" 5 -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -# If we didn't sleep, we still need to ensure time stamps of config.status and -# generated files are strictly newer. -am_sleep_pid= -if grep 'slept: no' conftest.file >/dev/null 2>&1; then - ( sleep 1 ) & - am_sleep_pid=$! -fi - -rm -f conftest.file - -test "$program_prefix" != NONE && - program_transform_name="s&^&$program_prefix&;$program_transform_name" -# Use a double $ so make ignores it. -test "$program_suffix" != NONE && - program_transform_name="s&\$&$program_suffix&;$program_transform_name" -# Double any \ or $. -# By default was `s,x,x', remove it if useless. -ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' -program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` - -# Expand $ac_aux_dir to an absolute path. -am_aux_dir=`cd "$ac_aux_dir" && pwd` - -if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac -fi -# Use eval to expand $SHELL -if eval "$MISSING --is-lightweight"; then - am_missing_run="$MISSING " -else - am_missing_run= - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 -$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} -fi - -if test x"${install_sh+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; - *) - install_sh="\${SHELL} $am_aux_dir/install-sh" - esac -fi - -# Installed binaries are usually stripped using 'strip' when the user -# run "make install-strip". However 'strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the 'STRIP' environment variable to overrule this program. -if test "$cross_compiling" != no; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi - -fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 -$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } -if test -z "$MKDIR_P"; then - if ${ac_cv_path_mkdir+:} false; then : - $as_echo_n "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in mkdir gmkdir; do - for ac_exec_ext in '' $ac_executable_extensions; do - as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue - case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( - 'mkdir (GNU coreutils) '* | \ - 'mkdir (coreutils) '* | \ - 'mkdir (fileutils) '4.1*) - ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext - break 3;; - esac - done - done - done -IFS=$as_save_IFS - -fi - - test -d ./--version && rmdir ./--version - if test "${ac_cv_path_mkdir+set}" = set; then - MKDIR_P="$ac_cv_path_mkdir -p" - else - # As a last resort, use the slow shell script. Don't cache a - # value for MKDIR_P within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - MKDIR_P="$ac_install_sh -d" - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 -$as_echo "$MKDIR_P" >&6; } - -for ac_prog in gawk mawk nawk awk -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AWK+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AWK"; then - ac_cv_prog_AWK="$AWK" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AWK="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AWK=$ac_cv_prog_AWK -if test -n "$AWK"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 -$as_echo "$AWK" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$AWK" && break -done - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } -set x ${MAKE-make} -ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat >conftest.make <<\_ACEOF -SHELL = /bin/sh -all: - @echo '@@@%%%=$(MAKE)=@@@%%%' -_ACEOF -# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. -case `${MAKE-make} -f conftest.make 2>/dev/null` in - *@@@%%%=?*=@@@%%%*) - eval ac_cv_prog_make_${ac_make}_set=yes;; - *) - eval ac_cv_prog_make_${ac_make}_set=no;; -esac -rm -f conftest.make -fi -if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - SET_MAKE= -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - SET_MAKE="MAKE=${MAKE-make}" -fi - -rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. -else - am__leading_dot=_ -fi -rmdir .tst 2>/dev/null - -# Check whether --enable-silent-rules was given. -if test "${enable_silent_rules+set}" = set; then : - enableval=$enable_silent_rules; -fi - -case $enable_silent_rules in # ((( - yes) AM_DEFAULT_VERBOSITY=0;; - no) AM_DEFAULT_VERBOSITY=1;; - *) AM_DEFAULT_VERBOSITY=1;; -esac -am_make=${MAKE-make} -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 -$as_echo_n "checking whether $am_make supports nested variables... " >&6; } -if ${am_cv_make_support_nested_variables+:} false; then : - $as_echo_n "(cached) " >&6 -else - if $as_echo 'TRUE=$(BAR$(V)) -BAR0=false -BAR1=true -V=1 -am__doit: - @$(TRUE) -.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then - am_cv_make_support_nested_variables=yes -else - am_cv_make_support_nested_variables=no -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 -$as_echo "$am_cv_make_support_nested_variables" >&6; } -if test $am_cv_make_support_nested_variables = yes; then - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi -AM_BACKSLASH='\' - -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - am__isrc=' -I$(srcdir)' - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 - fi -fi - -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi - - -# Define the identity of the package. - PACKAGE='shared-mime-info' - VERSION='1.15' - - -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 (and possibly the TAP driver). The -# system "awk" is bad on some platforms. -# Always define AMTAR for backward compatibility. Yes, it's still used -# in the wild :-( We should find a proper way to deprecate it ... -AMTAR='$${TAR-tar}' - - -# We'll loop over all known methods to create a tar archive until one works. -_am_tools='gnutar pax cpio none' - -am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' - - - - - - -# POSIX will say in a future version that running "rm -f" with no argument -# is OK; and we want to be able to make that assumption in our Makefile -# recipes. So use an aggressive probe to check that the usage we want is -# actually supported "in the wild" to an acceptable degree. -# See automake bug#10828. -# To make any issue more visible, cause the running configure to be aborted -# by default if the 'rm' program in use doesn't match our expectations; the -# user can still override this though. -if rm -f && rm -fr && rm -rf; then : OK; else - cat >&2 <<'END' -Oops! - -Your 'rm' program seems unable to run without file operands specified -on the command line, even when the '-f' option is present. This is contrary -to the behaviour of most rm programs out there, and not conforming with -the upcoming POSIX standard: - -Please tell bug-automake@gnu.org about your system, including the value -of your $PATH and any error possibly output before this message. This -can help us improve future automake versions. - -END - if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then - echo 'Configuration will proceed anyway, since you have set the' >&2 - echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 - echo >&2 - else - cat >&2 <<'END' -Aborting the configuration process, to ensure you take notice of the issue. - -You can download and install GNU coreutils to get an 'rm' implementation -that behaves properly: . - -If you want to complete the configuration process using your problematic -'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM -to "yes", and re-run configure. - -END - as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 - fi -fi - - -ac_config_headers="$ac_config_headers config.h" - - -# Enable silent build when available (Automake 1.11) -# Check whether --enable-silent-rules was given. -if test "${enable_silent_rules+set}" = set; then : - enableval=$enable_silent_rules; -fi - -case $enable_silent_rules in # ((( - yes) AM_DEFAULT_VERBOSITY=0;; - no) AM_DEFAULT_VERBOSITY=1;; - *) AM_DEFAULT_VERBOSITY=0;; -esac -am_make=${MAKE-make} -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 -$as_echo_n "checking whether $am_make supports nested variables... " >&6; } -if ${am_cv_make_support_nested_variables+:} false; then : - $as_echo_n "(cached) " >&6 -else - if $as_echo 'TRUE=$(BAR$(V)) -BAR0=false -BAR1=true -V=1 -am__doit: - @$(TRUE) -.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then - am_cv_make_support_nested_variables=yes -else - am_cv_make_support_nested_variables=no -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 -$as_echo "$am_cv_make_support_nested_variables" >&6; } -if test $am_cv_make_support_nested_variables = yes; then - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi -AM_BACKSLASH='\' - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -else - CC="$ac_cv_prog_CC" -fi - -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. -set dummy ${ac_tool_prefix}cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - fi -fi -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_prog_rejected=no -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $# != 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" - fi -fi -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl.exe - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl.exe -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_CC" && break -done - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -fi - -fi - - -test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "no acceptable C compiler found in \$PATH -See \`config.log' for more details" "$LINENO" 5; } - -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done - -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" -# Try to create an executable without -o first, disregard a.out. -# It will help us diagnose broken compilers, and finding out an intuition -# of exeext. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 -$as_echo_n "checking whether the C compiler works... " >&6; } -ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` - -# The possible output files: -ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" - -ac_rmfiles= -for ac_file in $ac_files -do - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - * ) ac_rmfiles="$ac_rmfiles $ac_file";; - esac -done -rm -f $ac_rmfiles - -if { { ac_try="$ac_link_default" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link_default") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. -# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' -# in a Makefile. We should not override ac_cv_exeext if it was cached, -# so that the user can short-circuit this test for compilers unknown to -# Autoconf. -for ac_file in $ac_files '' -do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) - ;; - [ab].out ) - # We found the default executable, but exeext='' is most - # certainly right. - break;; - *.* ) - if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; - then :; else - ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - fi - # We set ac_cv_exeext here because the later test for it is not - # safe: cross compilers may not add the suffix if given an `-o' - # argument, so we may need to know it at that point already. - # Even if this section looks crufty: it has the advantage of - # actually working. - break;; - * ) - break;; - esac -done -test "$ac_cv_exeext" = no && ac_cv_exeext= - -else - ac_file='' -fi -if test -z "$ac_file"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "C compiler cannot create executables -See \`config.log' for more details" "$LINENO" 5; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 -$as_echo_n "checking for C compiler default output file name... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 -$as_echo "$ac_file" >&6; } -ac_exeext=$ac_cv_exeext - -rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 -$as_echo_n "checking for suffix of executables... " >&6; } -if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - # If both `conftest.exe' and `conftest' are `present' (well, observable) -# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will -# work properly (i.e., refer to `conftest.exe'), while it won't with -# `rm'. -for ac_file in conftest.exe conftest conftest.*; do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - break;; - * ) break;; - esac -done -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details" "$LINENO" 5; } -fi -rm -f conftest conftest$ac_cv_exeext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 -$as_echo "$ac_cv_exeext" >&6; } - -rm -f conftest.$ac_ext -EXEEXT=$ac_cv_exeext -ac_exeext=$EXEEXT -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -FILE *f = fopen ("conftest.out", "w"); - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -ac_clean_files="$ac_clean_files conftest.out" -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 -$as_echo_n "checking whether we are cross compiling... " >&6; } -if test "$cross_compiling" != yes; then - { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if { ac_try='./conftest$ac_cv_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details" "$LINENO" 5; } - fi - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 -$as_echo "$cross_compiling" >&6; } - -rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 -$as_echo_n "checking for suffix of object files... " >&6; } -if ${ac_cv_objext+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.o conftest.obj -if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - for ac_file in conftest.o conftest.obj conftest.*; do - test -f "$ac_file" || continue; - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; - *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` - break;; - esac -done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of object files: cannot compile -See \`config.log' for more details" "$LINENO" 5; } -fi -rm -f conftest.$ac_cv_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 -$as_echo "$ac_cv_objext" >&6; } -OBJEXT=$ac_cv_objext -ac_objext=$OBJEXT -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 -$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if ${ac_cv_c_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 -$as_echo "$ac_cv_c_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GCC=yes -else - GCC= -fi -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 -$as_echo_n "checking whether $CC accepts -g... " >&6; } -if ${ac_cv_prog_cc_g+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_save_c_werror_flag=$ac_c_werror_flag - ac_c_werror_flag=yes - ac_cv_prog_cc_g=no - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -else - CFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - ac_c_werror_flag=$ac_save_c_werror_flag - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_c_werror_flag=$ac_save_c_werror_flag -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 -$as_echo "$ac_cv_prog_cc_g" >&6; } -if test "$ac_test_CFLAGS" = set; then - CFLAGS=$ac_save_CFLAGS -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 -$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if ${ac_cv_prog_cc_c89+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -struct stat; -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; - -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; - -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} -_ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_c89=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c89" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 -$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c89" != xno; then : - -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 -$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } -if ${am_cv_prog_cc_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF - # Make sure it works both with $CC and with simple cc. - # Following AC_PROG_CC_C_O, we do the test twice because some - # compilers refuse to overwrite an existing .o file with -o, - # though they will create one. - am_cv_prog_cc_c_o=yes - for am_i in 1 2; do - if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 - ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } \ - && test -f conftest2.$ac_objext; then - : OK - else - am_cv_prog_cc_c_o=no - break - fi - done - rm -f core conftest* - unset am_i -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 -$as_echo "$am_cv_prog_cc_c_o" >&6; } -if test "$am_cv_prog_cc_c_o" != yes; then - # Losing compiler, so override with the script. - # FIXME: It is wrong to rewrite CC. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__CC in this case, - # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" - CC="$am_aux_dir/compile $CC" -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -DEPDIR="${am__leading_dot}deps" - -ac_config_commands="$ac_config_commands depfiles" - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5 -$as_echo_n "checking whether ${MAKE-make} supports the include directive... " >&6; } -cat > confinc.mk << 'END' -am__doit: - @echo this is the am__doit target >confinc.out -.PHONY: am__doit -END -am__include="#" -am__quote= -# BSD make does it like this. -echo '.include "confinc.mk" # ignored' > confmf.BSD -# Other make implementations (GNU, Solaris 10, AIX) do it like this. -echo 'include confinc.mk # ignored' > confmf.GNU -_am_result=no -for s in GNU BSD; do - { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5 - (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - case $?:`cat confinc.out 2>/dev/null` in #( - '0:this is the am__doit target') : - case $s in #( - BSD) : - am__include='.include' am__quote='"' ;; #( - *) : - am__include='include' am__quote='' ;; -esac ;; #( - *) : - ;; -esac - if test "$am__include" != "#"; then - _am_result="yes ($s style)" - break - fi -done -rm -f confinc.* confmf.* -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5 -$as_echo "${_am_result}" >&6; } - -# 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 - - - -depcc="$CC" am_compiler_list= - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if ${am_cv_CC_dependencies_compiler_type+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named 'D' -- because '-MD' means "put the output - # in D". - rm -rf conftest.dir - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_CC_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - am__universal=false - case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac - - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with - # Solaris 10 /bin/sh. - echo '/* dummy */' > sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with '-c' and '-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle '-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs. - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # After this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested. - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvc7 | msvc7msys | msvisualcpp | msvcmsys) - # This compiler won't grok '-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CC_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_CC_dependencies_compiler_type=none -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 -$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } -CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type - - if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then - am__fastdepCC_TRUE= - am__fastdepCC_FALSE='#' -else - am__fastdepCC_TRUE='#' - am__fastdepCC_FALSE= -fi - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 -$as_echo_n "checking for an ANSI C-conforming const... " >&6; } -if ${ac_cv_c_const+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - -#ifndef __cplusplus - /* Ultrix mips cc rejects this sort of thing. */ - typedef int charset[2]; - const charset cs = { 0, 0 }; - /* SunOS 4.1.1 cc rejects this. */ - char const *const *pcpcc; - char **ppc; - /* NEC SVR4.0.2 mips cc rejects this. */ - struct point {int x, y;}; - static struct point const zero = {0,0}; - /* AIX XL C 1.02.0.0 rejects this. - It does not let you subtract one const X* pointer from another in - an arm of an if-expression whose if-part is not a constant - expression */ - const char *g = "string"; - pcpcc = &g + (g ? g-g : 0); - /* HPUX 7.0 cc rejects these. */ - ++pcpcc; - ppc = (char**) pcpcc; - pcpcc = (char const *const *) ppc; - { /* SCO 3.2v4 cc rejects this sort of thing. */ - char tx; - char *t = &tx; - char const *s = 0 ? (char *) 0 : (char const *) 0; - - *t++ = 0; - if (s) return 0; - } - { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ - int x[] = {25, 17}; - const int *foo = &x[0]; - ++foo; - } - { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ - typedef const int *iptr; - iptr p = 0; - ++p; - } - { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying - "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ - struct s { int j; const int *ap[3]; } bx; - struct s *b = &bx; b->j = 5; - } - { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ - const int foo = 10; - if (!foo) return 0; - } - return !cs[0] && !zero.x; -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_const=yes -else - ac_cv_c_const=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 -$as_echo "$ac_cv_c_const" >&6; } -if test $ac_cv_c_const = no; then - -$as_echo "#define const /**/" >>confdefs.h - -fi - -# Check whether --enable-largefile was given. -if test "${enable_largefile+set}" = set; then : - enableval=$enable_largefile; -fi - -if test "$enable_largefile" != no; then - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5 -$as_echo_n "checking for special C compiler options needed for large files... " >&6; } -if ${ac_cv_sys_largefile_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_sys_largefile_CC=no - if test "$GCC" != yes; then - ac_save_CC=$CC - while :; do - # IRIX 6.2 and later do not support large files by default, - # so use the C compiler's -n32 option if that helps. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; -int -main () -{ - - ; - return 0; -} -_ACEOF - if ac_fn_c_try_compile "$LINENO"; then : - break -fi -rm -f core conftest.err conftest.$ac_objext - CC="$CC -n32" - if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_sys_largefile_CC=' -n32'; break -fi -rm -f core conftest.err conftest.$ac_objext - break - done - CC=$ac_save_CC - rm -f conftest.$ac_ext - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5 -$as_echo "$ac_cv_sys_largefile_CC" >&6; } - if test "$ac_cv_sys_largefile_CC" != no; then - CC=$CC$ac_cv_sys_largefile_CC - fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5 -$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; } -if ${ac_cv_sys_file_offset_bits+:} false; then : - $as_echo_n "(cached) " >&6 -else - while :; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_sys_file_offset_bits=no; break -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#define _FILE_OFFSET_BITS 64 -#include - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_sys_file_offset_bits=64; break -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_cv_sys_file_offset_bits=unknown - break -done -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5 -$as_echo "$ac_cv_sys_file_offset_bits" >&6; } -case $ac_cv_sys_file_offset_bits in #( - no | unknown) ;; - *) -cat >>confdefs.h <<_ACEOF -#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits -_ACEOF -;; -esac -rm -rf conftest* - if test $ac_cv_sys_file_offset_bits = unknown; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5 -$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; } -if ${ac_cv_sys_large_files+:} false; then : - $as_echo_n "(cached) " >&6 -else - while :; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_sys_large_files=no; break -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#define _LARGE_FILES 1 -#include - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_sys_large_files=1; break -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_cv_sys_large_files=unknown - break -done -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5 -$as_echo "$ac_cv_sys_large_files" >&6; } -case $ac_cv_sys_large_files in #( - no | unknown) ;; - *) -cat >>confdefs.h <<_ACEOF -#define _LARGE_FILES $ac_cv_sys_large_files -_ACEOF -;; -esac -rm -rf conftest* - fi - - -fi - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 -$as_echo_n "checking for a sed that does not truncate output... " >&6; } -if ${ac_cv_path_SED+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ - for ac_i in 1 2 3 4 5 6 7; do - ac_script="$ac_script$as_nl$ac_script" - done - echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed - { ac_script=; unset ac_script;} - if test -z "$SED"; then - ac_path_SED_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_SED" || continue -# Check for GNU ac_path_SED and select it if it is found. - # Check for GNU $ac_path_SED -case `"$ac_path_SED" --version 2>&1` in -*GNU*) - ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo '' >> "conftest.nl" - "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_SED_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_SED="$ac_path_SED" - ac_path_SED_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_SED_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_SED"; then - as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 - fi -else - ac_cv_path_SED=$SED -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 -$as_echo "$ac_cv_path_SED" >&6; } - SED="$ac_cv_path_SED" - rm -f conftest.sed - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5 -$as_echo_n "checking whether NLS is requested... " >&6; } - # Check whether --enable-nls was given. -if test "${enable_nls+set}" = set; then : - enableval=$enable_nls; USE_NLS=$enableval -else - USE_NLS=yes -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 -$as_echo "$USE_NLS" >&6; } - - - - - GETTEXT_MACRO_VERSION=0.19 - - - - -# Prepare PATH_SEPARATOR. -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which - # contains only /bin. Note that ksh looks also at the FPATH variable, - # so we have to set that as well for the test. - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ - && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ - || PATH_SEPARATOR=';' - } -fi - -# Find out how to test for executable files. Don't use a zero-byte file, -# as systems may use methods other than mode bits to determine executability. -cat >conf$$.file <<_ASEOF -#! /bin/sh -exit 0 -_ASEOF -chmod +x conf$$.file -if test -x conf$$.file >/dev/null 2>&1; then - ac_executable_p="test -x" -else - ac_executable_p="test -f" -fi -rm -f conf$$.file - -# Extract the first word of "msgfmt", so it can be a program name with args. -set dummy msgfmt; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_MSGFMT+:} false; then : - $as_echo_n "(cached) " >&6 -else - case "$MSGFMT" in - [\\/]* | ?:[\\/]*) - ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. - ;; - *) - ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$ac_save_IFS" - test -z "$ac_dir" && ac_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then - echo "$as_me: trying $ac_dir/$ac_word..." >&5 - if $ac_dir/$ac_word --statistics /dev/null >&5 2>&1 && - (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then - ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext" - break 2 - fi - fi - done - done - IFS="$ac_save_IFS" - test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":" - ;; -esac -fi -MSGFMT="$ac_cv_path_MSGFMT" -if test "$MSGFMT" != ":"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5 -$as_echo "$MSGFMT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - # Extract the first word of "gmsgfmt", so it can be a program name with args. -set dummy gmsgfmt; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_GMSGFMT+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $GMSGFMT in - [\\/]* | ?:[\\/]*) - ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" - ;; -esac -fi -GMSGFMT=$ac_cv_path_GMSGFMT -if test -n "$GMSGFMT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5 -$as_echo "$GMSGFMT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - - case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; - *) MSGFMT_015=$MSGFMT ;; - esac - - case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; - *) GMSGFMT_015=$GMSGFMT ;; - esac - - - -# Prepare PATH_SEPARATOR. -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which - # contains only /bin. Note that ksh looks also at the FPATH variable, - # so we have to set that as well for the test. - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ - && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ - || PATH_SEPARATOR=';' - } -fi - -# Find out how to test for executable files. Don't use a zero-byte file, -# as systems may use methods other than mode bits to determine executability. -cat >conf$$.file <<_ASEOF -#! /bin/sh -exit 0 -_ASEOF -chmod +x conf$$.file -if test -x conf$$.file >/dev/null 2>&1; then - ac_executable_p="test -x" -else - ac_executable_p="test -f" -fi -rm -f conf$$.file - -# Extract the first word of "xgettext", so it can be a program name with args. -set dummy xgettext; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_XGETTEXT+:} false; then : - $as_echo_n "(cached) " >&6 -else - case "$XGETTEXT" in - [\\/]* | ?:[\\/]*) - ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. - ;; - *) - ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$ac_save_IFS" - test -z "$ac_dir" && ac_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then - echo "$as_me: trying $ac_dir/$ac_word..." >&5 - if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&5 2>&1 && - (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then - ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext" - break 2 - fi - fi - done - done - IFS="$ac_save_IFS" - test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" - ;; -esac -fi -XGETTEXT="$ac_cv_path_XGETTEXT" -if test "$XGETTEXT" != ":"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5 -$as_echo "$XGETTEXT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - rm -f messages.po - - case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; - *) XGETTEXT_015=$XGETTEXT ;; - esac - - - -# Prepare PATH_SEPARATOR. -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which - # contains only /bin. Note that ksh looks also at the FPATH variable, - # so we have to set that as well for the test. - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ - && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ - || PATH_SEPARATOR=';' - } -fi - -# Find out how to test for executable files. Don't use a zero-byte file, -# as systems may use methods other than mode bits to determine executability. -cat >conf$$.file <<_ASEOF -#! /bin/sh -exit 0 -_ASEOF -chmod +x conf$$.file -if test -x conf$$.file >/dev/null 2>&1; then - ac_executable_p="test -x" -else - ac_executable_p="test -f" -fi -rm -f conf$$.file - -# Extract the first word of "msgmerge", so it can be a program name with args. -set dummy msgmerge; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_MSGMERGE+:} false; then : - $as_echo_n "(cached) " >&6 -else - case "$MSGMERGE" in - [\\/]* | ?:[\\/]*) - ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path. - ;; - *) - ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$ac_save_IFS" - test -z "$ac_dir" && ac_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then - echo "$as_me: trying $ac_dir/$ac_word..." >&5 - if $ac_dir/$ac_word --update -q /dev/null /dev/null >&5 2>&1; then - ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext" - break 2 - fi - fi - done - done - IFS="$ac_save_IFS" - test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":" - ;; -esac -fi -MSGMERGE="$ac_cv_path_MSGMERGE" -if test "$MSGMERGE" != ":"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5 -$as_echo "$MSGMERGE" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$localedir" || localedir='${datadir}/locale' - - - test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= - - - ac_config_commands="$ac_config_commands po-directories" - - - - if test "X$prefix" = "XNONE"; then - acl_final_prefix="$ac_default_prefix" - else - acl_final_prefix="$prefix" - fi - if test "X$exec_prefix" = "XNONE"; then - acl_final_exec_prefix='${prefix}' - else - acl_final_exec_prefix="$exec_prefix" - fi - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" - prefix="$acl_save_prefix" - -# Make sure we can run config.sub. -$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 -$as_echo_n "checking build system type... " >&6; } -if ${ac_cv_build+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_build_alias=$build_alias -test "x$ac_build_alias" = x && - ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` -test "x$ac_build_alias" = x && - as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 -ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 -$as_echo "$ac_cv_build" >&6; } -case $ac_cv_build in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; -esac -build=$ac_cv_build -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_build -shift -build_cpu=$1 -build_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -build_os=$* -IFS=$ac_save_IFS -case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 -$as_echo_n "checking host system type... " >&6; } -if ${ac_cv_host+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "x$host_alias" = x; then - ac_cv_host=$ac_cv_build -else - ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 -$as_echo "$ac_cv_host" >&6; } -case $ac_cv_host in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; -esac -host=$ac_cv_host -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_host -shift -host_cpu=$1 -host_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -host_os=$* -IFS=$ac_save_IFS -case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac - - - - -# Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then : - withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes -else - with_gnu_ld=no -fi - -# Prepare PATH_SEPARATOR. -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which - # contains only /bin. Note that ksh looks also at the FPATH variable, - # so we have to set that as well for the test. - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ - && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ - || PATH_SEPARATOR=';' - } -fi - -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 $CC" >&5 -$as_echo_n "checking for ld used by $CC... " >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | ?:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'` - while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$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 - acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$acl_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - acl_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$acl_cv_path_LD" -v 2>&1 &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 lds only accept -v. -case `$LD -v 2>&1 &5 -$as_echo "$acl_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$acl_cv_prog_gnu_ld - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5 -$as_echo_n "checking for shared library run path origin... " >&6; } -if ${acl_cv_rpath+:} false; then : - $as_echo_n "(cached) " >&6 -else - - CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ - ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh - . ./conftest.sh - rm -f ./conftest.sh - acl_cv_rpath=done - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5 -$as_echo "$acl_cv_rpath" >&6; } - wl="$acl_cv_wl" - acl_libext="$acl_cv_libext" - acl_shlibext="$acl_cv_shlibext" - acl_libname_spec="$acl_cv_libname_spec" - acl_library_names_spec="$acl_cv_library_names_spec" - acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" - acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" - acl_hardcode_direct="$acl_cv_hardcode_direct" - acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" - # Check whether --enable-rpath was given. -if test "${enable_rpath+set}" = set; then : - enableval=$enable_rpath; : -else - enable_rpath=yes -fi - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 -$as_echo_n "checking how to run the C preprocessor... " >&6; } -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then - if ${ac_cv_prog_CPP+:} false; then : - $as_echo_n "(cached) " >&6 -else - # Double quotes because CPP needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" - do - ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - break -fi - - done - ac_cv_prog_CPP=$CPP - -fi - CPP=$ac_cv_prog_CPP -else - ac_cv_prog_CPP=$CPP -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 -$as_echo "$CPP" >&6; } -ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details" "$LINENO" 5; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -$as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if ${ac_cv_path_GREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$GREP"; then - ac_path_GREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_GREP" || continue -# Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in -*GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_GREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_GREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_GREP"; then - as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_GREP=$GREP -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -$as_echo "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -$as_echo_n "checking for egrep... " >&6; } -if ${ac_cv_path_EGREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - if test -z "$EGREP"; then - ac_path_EGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_EGREP" || continue -# Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in -*GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_EGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_EGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then - as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_EGREP=$EGREP -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -$as_echo "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - - - - - acl_libdirstem=lib - acl_libdirstem2= - case "$host_os" in - solaris*) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5 -$as_echo_n "checking for 64-bit host... " >&6; } -if ${gl_cv_solaris_64bit+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#ifdef _LP64 -sixtyfour bits -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "sixtyfour bits" >/dev/null 2>&1; then : - gl_cv_solaris_64bit=yes -else - gl_cv_solaris_64bit=no -fi -rm -f conftest* - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5 -$as_echo "$gl_cv_solaris_64bit" >&6; } - if test $gl_cv_solaris_64bit = yes; then - acl_libdirstem=lib/64 - case "$host_cpu" in - sparc*) acl_libdirstem2=lib/sparcv9 ;; - i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; - esac - fi - ;; - *) - searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` - if test -n "$searchpath"; then - acl_save_IFS="${IFS= }"; IFS=":" - for searchdir in $searchpath; do - if test -d "$searchdir"; then - case "$searchdir" in - */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; - */../ | */.. ) - # Better ignore directories of this form. They are misleading. - ;; - *) searchdir=`cd "$searchdir" && pwd` - case "$searchdir" in - */lib64 ) acl_libdirstem=lib64 ;; - esac ;; - esac - fi - done - IFS="$acl_save_IFS" - fi - ;; - esac - test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" - - - - - - - - - - - - - use_additional=yes - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - -# Check whether --with-libiconv-prefix was given. -if test "${with_libiconv_prefix+set}" = set; then : - withval=$with_libiconv_prefix; - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - else - additional_includedir="$withval/include" - additional_libdir="$withval/$acl_libdirstem" - if test "$acl_libdirstem2" != "$acl_libdirstem" \ - && ! test -d "$withval/$acl_libdirstem"; then - additional_libdir="$withval/$acl_libdirstem2" - fi - fi - fi - -fi - - LIBICONV= - LTLIBICONV= - INCICONV= - LIBICONV_PREFIX= - HAVE_LIBICONV= - rpathdirs= - ltrpathdirs= - names_already_handled= - names_next_round='iconv ' - while test -n "$names_next_round"; do - names_this_round="$names_next_round" - names_next_round= - for name in $names_this_round; do - already_handled= - for n in $names_already_handled; do - if test "$n" = "$name"; then - already_handled=yes - break - fi - done - if test -z "$already_handled"; then - names_already_handled="$names_already_handled $name" - uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'` - eval value=\"\$HAVE_LIB$uppername\" - if test -n "$value"; then - if test "$value" = yes; then - eval value=\"\$LIB$uppername\" - test -z "$value" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value" - eval value=\"\$LTLIB$uppername\" - test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value" - else - : - fi - else - found_dir= - found_la= - found_so= - found_a= - eval libname=\"$acl_libname_spec\" # typically: libname=lib$name - if test -n "$acl_shlibext"; then - shrext=".$acl_shlibext" # typically: shrext=.so - else - shrext= - fi - if test $use_additional = yes; then - dir="$additional_libdir" - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - fi - if test "X$found_dir" = "X"; then - for x in $LDFLAGS $LTLIBICONV; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - case "$x" in - -L*) - dir=`echo "X$x" | sed -e 's/^X-L//'` - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - ;; - esac - if test "X$found_dir" != "X"; then - break - fi - done - fi - if test "X$found_dir" != "X"; then - LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name" - if test "X$found_so" != "X"; then - if test "$enable_rpath" = no \ - || test "X$found_dir" = "X/usr/$acl_libdirstem" \ - || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then - LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" - else - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $found_dir" - fi - if test "$acl_hardcode_direct" = yes; then - LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" - else - if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then - LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $found_dir" - fi - else - haveit= - for x in $LDFLAGS $LIBICONV; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir" - fi - if test "$acl_hardcode_minus_L" != no; then - LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" - else - LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" - fi - fi - fi - fi - else - if test "X$found_a" != "X"; then - LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a" - else - LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name" - fi - fi - additional_includedir= - case "$found_dir" in - */$acl_libdirstem | */$acl_libdirstem/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` - if test "$name" = 'iconv'; then - LIBICONV_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - */$acl_libdirstem2 | */$acl_libdirstem2/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` - if test "$name" = 'iconv'; then - LIBICONV_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - esac - if test "X$additional_includedir" != "X"; then - if test "X$additional_includedir" != "X/usr/include"; then - haveit= - if test "X$additional_includedir" = "X/usr/local/include"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - for x in $CPPFLAGS $INCICONV; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-I$additional_includedir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_includedir"; then - INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir" - fi - fi - fi - fi - fi - if test -n "$found_la"; then - save_libdir="$libdir" - case "$found_la" in - */* | *\\*) . "$found_la" ;; - *) . "./$found_la" ;; - esac - libdir="$save_libdir" - for dep in $dependency_libs; do - case "$dep" in - -L*) - additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` - if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ - && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then - haveit= - if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ - || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - haveit= - for x in $LDFLAGS $LIBICONV; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir" - fi - fi - haveit= - for x in $LDFLAGS $LTLIBICONV; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir" - fi - fi - fi - fi - ;; - -R*) - dir=`echo "X$dep" | sed -e 's/^X-R//'` - if test "$enable_rpath" != no; then - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $dir" - fi - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $dir" - fi - fi - ;; - -l*) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` - ;; - *.la) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` - ;; - *) - LIBICONV="${LIBICONV}${LIBICONV:+ }$dep" - LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep" - ;; - esac - done - fi - else - LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" - LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name" - fi - fi - fi - done - done - if test "X$rpathdirs" != "X"; then - if test -n "$acl_hardcode_libdir_separator"; then - alldirs= - for found_dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" - done - acl_save_libdir="$libdir" - libdir="$alldirs" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" - else - for found_dir in $rpathdirs; do - acl_save_libdir="$libdir" - libdir="$found_dir" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" - done - fi - fi - if test "X$ltrpathdirs" != "X"; then - for found_dir in $ltrpathdirs; do - LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir" - done - fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5 -$as_echo_n "checking for CFPreferencesCopyAppValue... " >&6; } -if ${gt_cv_func_CFPreferencesCopyAppValue+:} false; then : - $as_echo_n "(cached) " >&6 -else - gt_save_LIBS="$LIBS" - LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -CFPreferencesCopyAppValue(NULL, NULL) - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gt_cv_func_CFPreferencesCopyAppValue=yes -else - gt_cv_func_CFPreferencesCopyAppValue=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$gt_save_LIBS" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5 -$as_echo "$gt_cv_func_CFPreferencesCopyAppValue" >&6; } - if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then - -$as_echo "#define HAVE_CFPREFERENCESCOPYAPPVALUE 1" >>confdefs.h - - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyCurrent" >&5 -$as_echo_n "checking for CFLocaleCopyCurrent... " >&6; } -if ${gt_cv_func_CFLocaleCopyCurrent+:} false; then : - $as_echo_n "(cached) " >&6 -else - gt_save_LIBS="$LIBS" - LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -CFLocaleCopyCurrent(); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gt_cv_func_CFLocaleCopyCurrent=yes -else - gt_cv_func_CFLocaleCopyCurrent=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$gt_save_LIBS" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyCurrent" >&5 -$as_echo "$gt_cv_func_CFLocaleCopyCurrent" >&6; } - if test $gt_cv_func_CFLocaleCopyCurrent = yes; then - -$as_echo "#define HAVE_CFLOCALECOPYCURRENT 1" >>confdefs.h - - fi - INTL_MACOSX_LIBS= - if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then - INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" - fi - - - - - - - LIBINTL= - LTLIBINTL= - POSUB= - - case " $gt_needs " in - *" need-formatstring-macros "*) gt_api_version=3 ;; - *" need-ngettext "*) gt_api_version=2 ;; - *) gt_api_version=1 ;; - esac - gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" - gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" - - if test "$USE_NLS" = "yes"; then - gt_use_preinstalled_gnugettext=no - - - if test $gt_api_version -ge 3; then - gt_revision_test_code=' -#ifndef __GNU_GETTEXT_SUPPORTED_REVISION -#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) -#endif -typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; -' - else - gt_revision_test_code= - fi - if test $gt_api_version -ge 2; then - gt_expression_test_code=' + * ngettext ("", "", 0)' - else - gt_expression_test_code= - fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libc" >&5 -$as_echo_n "checking for GNU gettext in libc... " >&6; } -if eval \${$gt_func_gnugettext_libc+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#ifndef __GNU_GETTEXT_SUPPORTED_REVISION -extern int _nl_msg_cat_cntr; -extern int *_nl_domain_bindings; -#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_domain_bindings) -#else -#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0 -#endif -$gt_revision_test_code - -int -main () -{ - -bindtextdomain ("", ""); -return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - eval "$gt_func_gnugettext_libc=yes" -else - eval "$gt_func_gnugettext_libc=no" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -eval ac_res=\$$gt_func_gnugettext_libc - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - - if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then - - - - - - am_save_CPPFLAGS="$CPPFLAGS" - - for element in $INCICONV; do - haveit= - for x in $CPPFLAGS; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X$element"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" - fi - done - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5 -$as_echo_n "checking for iconv... " >&6; } -if ${am_cv_func_iconv+:} false; then : - $as_echo_n "(cached) " >&6 -else - - am_cv_func_iconv="no, consider installing GNU libiconv" - am_cv_lib_iconv=no - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#include - -int -main () -{ -iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - am_cv_func_iconv=yes -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test "$am_cv_func_iconv" != yes; then - am_save_LIBS="$LIBS" - LIBS="$LIBS $LIBICONV" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#include - -int -main () -{ -iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - am_cv_lib_iconv=yes - am_cv_func_iconv=yes -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$am_save_LIBS" - fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5 -$as_echo "$am_cv_func_iconv" >&6; } - if test "$am_cv_func_iconv" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5 -$as_echo_n "checking for working iconv... " >&6; } -if ${am_cv_func_iconv_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - - am_save_LIBS="$LIBS" - if test $am_cv_lib_iconv = yes; then - LIBS="$LIBS $LIBICONV" - fi - am_cv_func_iconv_works=no - for ac_iconv_const in '' 'const'; do - if test "$cross_compiling" = yes; then : - case "$host_os" in - aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; - *) am_cv_func_iconv_works="guessing yes" ;; - esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#include - -#ifndef ICONV_CONST -# define ICONV_CONST $ac_iconv_const -#endif - -int -main () -{ -int result = 0; - /* Test against AIX 5.1 bug: Failures are not distinguishable from successful - returns. */ - { - iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); - if (cd_utf8_to_88591 != (iconv_t)(-1)) - { - static ICONV_CONST char input[] = "\342\202\254"; /* EURO SIGN */ - char buf[10]; - ICONV_CONST char *inptr = input; - size_t inbytesleft = strlen (input); - char *outptr = buf; - size_t outbytesleft = sizeof (buf); - size_t res = iconv (cd_utf8_to_88591, - &inptr, &inbytesleft, - &outptr, &outbytesleft); - if (res == 0) - result |= 1; - iconv_close (cd_utf8_to_88591); - } - } - /* Test against Solaris 10 bug: Failures are not distinguishable from - successful returns. */ - { - iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); - if (cd_ascii_to_88591 != (iconv_t)(-1)) - { - static ICONV_CONST char input[] = "\263"; - char buf[10]; - ICONV_CONST char *inptr = input; - size_t inbytesleft = strlen (input); - char *outptr = buf; - size_t outbytesleft = sizeof (buf); - size_t res = iconv (cd_ascii_to_88591, - &inptr, &inbytesleft, - &outptr, &outbytesleft); - if (res == 0) - result |= 2; - iconv_close (cd_ascii_to_88591); - } - } - /* Test against AIX 6.1..7.1 bug: Buffer overrun. */ - { - iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1"); - if (cd_88591_to_utf8 != (iconv_t)(-1)) - { - static ICONV_CONST char input[] = "\304"; - static char buf[2] = { (char)0xDE, (char)0xAD }; - ICONV_CONST char *inptr = input; - size_t inbytesleft = 1; - char *outptr = buf; - size_t outbytesleft = 1; - size_t res = iconv (cd_88591_to_utf8, - &inptr, &inbytesleft, - &outptr, &outbytesleft); - if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD) - result |= 4; - iconv_close (cd_88591_to_utf8); - } - } -#if 0 /* This bug could be worked around by the caller. */ - /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ - { - iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); - if (cd_88591_to_utf8 != (iconv_t)(-1)) - { - static ICONV_CONST char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; - char buf[50]; - ICONV_CONST char *inptr = input; - size_t inbytesleft = strlen (input); - char *outptr = buf; - size_t outbytesleft = sizeof (buf); - size_t res = iconv (cd_88591_to_utf8, - &inptr, &inbytesleft, - &outptr, &outbytesleft); - if ((int)res > 0) - result |= 8; - iconv_close (cd_88591_to_utf8); - } - } -#endif - /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is - provided. */ - 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)) - result |= 16; - return result; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - am_cv_func_iconv_works=yes -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - test "$am_cv_func_iconv_works" = no || break - done - LIBS="$am_save_LIBS" - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5 -$as_echo "$am_cv_func_iconv_works" >&6; } - case "$am_cv_func_iconv_works" in - *no) am_func_iconv=no am_cv_lib_iconv=no ;; - *) am_func_iconv=yes ;; - esac - else - am_func_iconv=no am_cv_lib_iconv=no - fi - if test "$am_func_iconv" = yes; then - -$as_echo "#define HAVE_ICONV 1" >>confdefs.h - - fi - if test "$am_cv_lib_iconv" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5 -$as_echo_n "checking how to link with libiconv... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5 -$as_echo "$LIBICONV" >&6; } - else - CPPFLAGS="$am_save_CPPFLAGS" - LIBICONV= - LTLIBICONV= - fi - - - - - - - - - - - - use_additional=yes - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - -# Check whether --with-libintl-prefix was given. -if test "${with_libintl_prefix+set}" = set; then : - withval=$with_libintl_prefix; - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - else - additional_includedir="$withval/include" - additional_libdir="$withval/$acl_libdirstem" - if test "$acl_libdirstem2" != "$acl_libdirstem" \ - && ! test -d "$withval/$acl_libdirstem"; then - additional_libdir="$withval/$acl_libdirstem2" - fi - fi - fi - -fi - - LIBINTL= - LTLIBINTL= - INCINTL= - LIBINTL_PREFIX= - HAVE_LIBINTL= - rpathdirs= - ltrpathdirs= - names_already_handled= - names_next_round='intl ' - while test -n "$names_next_round"; do - names_this_round="$names_next_round" - names_next_round= - for name in $names_this_round; do - already_handled= - for n in $names_already_handled; do - if test "$n" = "$name"; then - already_handled=yes - break - fi - done - if test -z "$already_handled"; then - names_already_handled="$names_already_handled $name" - uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'` - eval value=\"\$HAVE_LIB$uppername\" - if test -n "$value"; then - if test "$value" = yes; then - eval value=\"\$LIB$uppername\" - test -z "$value" || LIBINTL="${LIBINTL}${LIBINTL:+ }$value" - eval value=\"\$LTLIB$uppername\" - test -z "$value" || LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$value" - else - : - fi - else - found_dir= - found_la= - found_so= - found_a= - eval libname=\"$acl_libname_spec\" # typically: libname=lib$name - if test -n "$acl_shlibext"; then - shrext=".$acl_shlibext" # typically: shrext=.so - else - shrext= - fi - if test $use_additional = yes; then - dir="$additional_libdir" - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - fi - if test "X$found_dir" = "X"; then - for x in $LDFLAGS $LTLIBINTL; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - case "$x" in - -L*) - dir=`echo "X$x" | sed -e 's/^X-L//'` - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - ;; - esac - if test "X$found_dir" != "X"; then - break - fi - done - fi - if test "X$found_dir" != "X"; then - LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name" - if test "X$found_so" != "X"; then - if test "$enable_rpath" = no \ - || test "X$found_dir" = "X/usr/$acl_libdirstem" \ - || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then - LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" - else - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $found_dir" - fi - if test "$acl_hardcode_direct" = yes; then - LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" - else - if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then - LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $found_dir" - fi - else - haveit= - for x in $LDFLAGS $LIBINTL; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir" - fi - if test "$acl_hardcode_minus_L" != no; then - LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" - else - LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" - fi - fi - fi - fi - else - if test "X$found_a" != "X"; then - LIBINTL="${LIBINTL}${LIBINTL:+ }$found_a" - else - LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir -l$name" - fi - fi - additional_includedir= - case "$found_dir" in - */$acl_libdirstem | */$acl_libdirstem/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` - if test "$name" = 'intl'; then - LIBINTL_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - */$acl_libdirstem2 | */$acl_libdirstem2/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` - if test "$name" = 'intl'; then - LIBINTL_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - esac - if test "X$additional_includedir" != "X"; then - if test "X$additional_includedir" != "X/usr/include"; then - haveit= - if test "X$additional_includedir" = "X/usr/local/include"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - for x in $CPPFLAGS $INCINTL; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-I$additional_includedir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_includedir"; then - INCINTL="${INCINTL}${INCINTL:+ }-I$additional_includedir" - fi - fi - fi - fi - fi - if test -n "$found_la"; then - save_libdir="$libdir" - case "$found_la" in - */* | *\\*) . "$found_la" ;; - *) . "./$found_la" ;; - esac - libdir="$save_libdir" - for dep in $dependency_libs; do - case "$dep" in - -L*) - additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` - if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ - && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then - haveit= - if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ - || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - haveit= - for x in $LDFLAGS $LIBINTL; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LIBINTL="${LIBINTL}${LIBINTL:+ }-L$additional_libdir" - fi - fi - haveit= - for x in $LDFLAGS $LTLIBINTL; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$additional_libdir" - fi - fi - fi - fi - ;; - -R*) - dir=`echo "X$dep" | sed -e 's/^X-R//'` - if test "$enable_rpath" != no; then - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $dir" - fi - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $dir" - fi - fi - ;; - -l*) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` - ;; - *.la) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` - ;; - *) - LIBINTL="${LIBINTL}${LIBINTL:+ }$dep" - LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$dep" - ;; - esac - done - fi - else - LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" - LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l$name" - fi - fi - fi - done - done - if test "X$rpathdirs" != "X"; then - if test -n "$acl_hardcode_libdir_separator"; then - alldirs= - for found_dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" - done - acl_save_libdir="$libdir" - libdir="$alldirs" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" - else - for found_dir in $rpathdirs; do - acl_save_libdir="$libdir" - libdir="$found_dir" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" - done - fi - fi - if test "X$ltrpathdirs" != "X"; then - for found_dir in $ltrpathdirs; do - LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir" - done - fi - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5 -$as_echo_n "checking for GNU gettext in libintl... " >&6; } -if eval \${$gt_func_gnugettext_libintl+:} false; then : - $as_echo_n "(cached) " >&6 -else - gt_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $INCINTL" - gt_save_LIBS="$LIBS" - LIBS="$LIBS $LIBINTL" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#ifndef __GNU_GETTEXT_SUPPORTED_REVISION -extern int _nl_msg_cat_cntr; -extern -#ifdef __cplusplus -"C" -#endif -const char *_nl_expand_alias (const char *); -#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias ("")) -#else -#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0 -#endif -$gt_revision_test_code - -int -main () -{ - -bindtextdomain ("", ""); -return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - eval "$gt_func_gnugettext_libintl=yes" -else - eval "$gt_func_gnugettext_libintl=no" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then - LIBS="$LIBS $LIBICONV" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#ifndef __GNU_GETTEXT_SUPPORTED_REVISION -extern int _nl_msg_cat_cntr; -extern -#ifdef __cplusplus -"C" -#endif -const char *_nl_expand_alias (const char *); -#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias ("")) -#else -#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0 -#endif -$gt_revision_test_code - -int -main () -{ - -bindtextdomain ("", ""); -return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - LIBINTL="$LIBINTL $LIBICONV" - LTLIBINTL="$LTLIBINTL $LTLIBICONV" - eval "$gt_func_gnugettext_libintl=yes" - -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - fi - CPPFLAGS="$gt_save_CPPFLAGS" - LIBS="$gt_save_LIBS" -fi -eval ac_res=\$$gt_func_gnugettext_libintl - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - fi - - if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ - || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ - && test "$PACKAGE" != gettext-runtime \ - && test "$PACKAGE" != gettext-tools; }; then - gt_use_preinstalled_gnugettext=yes - else - LIBINTL= - LTLIBINTL= - INCINTL= - fi - - - - if test -n "$INTL_MACOSX_LIBS"; then - if test "$gt_use_preinstalled_gnugettext" = "yes" \ - || test "$nls_cv_use_gnu_gettext" = "yes"; then - LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" - LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" - fi - fi - - if test "$gt_use_preinstalled_gnugettext" = "yes" \ - || test "$nls_cv_use_gnu_gettext" = "yes"; then - -$as_echo "#define ENABLE_NLS 1" >>confdefs.h - - else - USE_NLS=no - fi - fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use NLS" >&5 -$as_echo_n "checking whether to use NLS... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 -$as_echo "$USE_NLS" >&6; } - if test "$USE_NLS" = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking where the gettext function comes from" >&5 -$as_echo_n "checking where the gettext function comes from... " >&6; } - if test "$gt_use_preinstalled_gnugettext" = "yes"; then - if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then - gt_source="external libintl" - else - gt_source="libc" - fi - else - gt_source="included intl directory" - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_source" >&5 -$as_echo "$gt_source" >&6; } - fi - - if test "$USE_NLS" = "yes"; then - - if test "$gt_use_preinstalled_gnugettext" = "yes"; then - if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libintl" >&5 -$as_echo_n "checking how to link with libintl... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBINTL" >&5 -$as_echo "$LIBINTL" >&6; } - - for element in $INCINTL; do - haveit= - for x in $CPPFLAGS; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X$element"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" - fi - done - - fi - - -$as_echo "#define HAVE_GETTEXT 1" >>confdefs.h - - -$as_echo "#define HAVE_DCGETTEXT 1" >>confdefs.h - - fi - - POSUB=po - fi - - - - INTLLIBS="$LIBINTL" - - - - - - -for ac_prog in itstool -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_ITSTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ITSTOOL"; then - ac_cv_prog_ITSTOOL="$ITSTOOL" # 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_ITSTOOL="$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 -ITSTOOL=$ac_cv_prog_ITSTOOL -if test -n "$ITSTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ITSTOOL" >&5 -$as_echo "$ITSTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ITSTOOL" && break -done - -if test x"${ITSTOOL}" = x; then - as_fn_error $? "itstool is missing" "$LINENO" 5 -fi - -for ac_func in fdatasync -do : - ac_fn_c_check_func "$LINENO" "fdatasync" "ac_cv_func_fdatasync" -if test "x$ac_cv_func_fdatasync" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_FDATASYNC 1 -_ACEOF - -fi -done - - - if test $cross_compiling = yes; then - CROSS_COMPILING_TRUE= - CROSS_COMPILING_FALSE='#' -else - CROSS_COMPILING_TRUE='#' - CROSS_COMPILING_FALSE= -fi - - - - - - - - - -if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. -set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_PKG_CONFIG+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $PKG_CONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -PKG_CONFIG=$ac_cv_path_PKG_CONFIG -if test -n "$PKG_CONFIG"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 -$as_echo "$PKG_CONFIG" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_path_PKG_CONFIG"; then - ac_pt_PKG_CONFIG=$PKG_CONFIG - # Extract the first word of "pkg-config", so it can be a program name with args. -set dummy pkg-config; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $ac_pt_PKG_CONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG -if test -n "$ac_pt_PKG_CONFIG"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 -$as_echo "$ac_pt_PKG_CONFIG" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_pt_PKG_CONFIG" = x; then - PKG_CONFIG="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - PKG_CONFIG=$ac_pt_PKG_CONFIG - fi -else - PKG_CONFIG="$ac_cv_path_PKG_CONFIG" -fi - -fi -if test -n "$PKG_CONFIG"; then - _pkg_min_version=0.9.0 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 -$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } - if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - PKG_CONFIG="" - fi -fi - -pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ALL" >&5 -$as_echo_n "checking for ALL... " >&6; } - -if test -n "$ALL_CFLAGS"; then - pkg_cv_ALL_CFLAGS="$ALL_CFLAGS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\\ - libxml-2.0 >= 2.4 \\ - glib-2.0 >= 2.6.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "\ - libxml-2.0 >= 2.4 \ - glib-2.0 >= 2.6.0") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_ALL_CFLAGS=`$PKG_CONFIG --cflags "\ - libxml-2.0 >= 2.4 \ - glib-2.0 >= 2.6.0" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi -if test -n "$ALL_LIBS"; then - pkg_cv_ALL_LIBS="$ALL_LIBS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\\ - libxml-2.0 >= 2.4 \\ - glib-2.0 >= 2.6.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "\ - libxml-2.0 >= 2.4 \ - glib-2.0 >= 2.6.0") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_ALL_LIBS=`$PKG_CONFIG --libs "\ - libxml-2.0 >= 2.4 \ - glib-2.0 >= 2.6.0" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes -else - _pkg_short_errors_supported=no -fi - if test $_pkg_short_errors_supported = yes; then - ALL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "\ - libxml-2.0 >= 2.4 \ - glib-2.0 >= 2.6.0" 2>&1` - else - ALL_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "\ - libxml-2.0 >= 2.4 \ - glib-2.0 >= 2.6.0" 2>&1` - fi - # Put the nasty error message in config.log where it belongs - echo "$ALL_PKG_ERRORS" >&5 - - as_fn_error $? "Package requirements (\ - libxml-2.0 >= 2.4 \ - glib-2.0 >= 2.6.0) were not met: - -$ALL_PKG_ERRORS - -Consider adjusting the PKG_CONFIG_PATH environment variable if you -installed software in a non-standard prefix. - -Alternatively, you may set the environment variables ALL_CFLAGS -and ALL_LIBS to avoid the need to call pkg-config. -See the pkg-config man page for more details." "$LINENO" 5 -elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it -is in your PATH or set the PKG_CONFIG environment variable to the full -path to pkg-config. - -Alternatively, you may set the environment variables ALL_CFLAGS -and ALL_LIBS to avoid the need to call pkg-config. -See the pkg-config man page for more details. - -To get pkg-config, see . -See \`config.log' for more details" "$LINENO" 5; } -else - ALL_CFLAGS=$pkg_cv_ALL_CFLAGS - ALL_LIBS=$pkg_cv_ALL_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - -fi - - - - -pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GIO" >&5 -$as_echo_n "checking for GIO... " >&6; } - -if test -n "$GIO_CFLAGS"; then - pkg_cv_GIO_CFLAGS="$GIO_CFLAGS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gio-2.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "gio-2.0") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_GIO_CFLAGS=`$PKG_CONFIG --cflags "gio-2.0" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi -if test -n "$GIO_LIBS"; then - pkg_cv_GIO_LIBS="$GIO_LIBS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gio-2.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "gio-2.0") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_GIO_LIBS=`$PKG_CONFIG --libs "gio-2.0" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes -else - _pkg_short_errors_supported=no -fi - if test $_pkg_short_errors_supported = yes; then - GIO_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gio-2.0" 2>&1` - else - GIO_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gio-2.0" 2>&1` - fi - # Put the nasty error message in config.log where it belongs - echo "$GIO_PKG_ERRORS" >&5 - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -else - GIO_CFLAGS=$pkg_cv_GIO_CFLAGS - GIO_LIBS=$pkg_cv_GIO_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - HAVE_GIO=yes -fi - - if test "x$HAVE_GIO" = "xyes"; then - HAVE_GIO_TRUE= - HAVE_GIO_FALSE='#' -else - HAVE_GIO_TRUE='#' - HAVE_GIO_FALSE= -fi - - - -if test "x$GCC" = "xyes"; then - case " $CFLAGS " in - *[\ \ ]-Wall[\ \ ]*) ;; - *) CFLAGS="$CFLAGS -Wall -Wstrict-prototypes -Wmissing-prototypes -Wwrite-strings" ;; - esac -fi - - -if test "x$XDGMIME_PATH" = "x" ; then - XDGMIME_PATH=$srcdir/../xdgmime -fi -XDGMIME_PATH=$XDGMIME_PATH - - -# Check whether --enable-update-mimedb was given. -if test "${enable_update_mimedb+set}" = set; then : - enableval=$enable_update_mimedb; -else - enable_update_mimedb=yes -fi - - -if test $cross_compiling = yes && test x$enable_update_mimedb = xyes; then - # Extract the first word of "update-mime-database", so it can be a program name with args. -set dummy update-mime-database; 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_UPDATE_MIME_DATABASE+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $UPDATE_MIME_DATABASE in - [\\/]* | ?:[\\/]*) - ac_cv_path_UPDATE_MIME_DATABASE="$UPDATE_MIME_DATABASE" # 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_UPDATE_MIME_DATABASE="$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_UPDATE_MIME_DATABASE" && ac_cv_path_UPDATE_MIME_DATABASE="no" - ;; -esac -fi -UPDATE_MIME_DATABASE=$ac_cv_path_UPDATE_MIME_DATABASE -if test -n "$UPDATE_MIME_DATABASE"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $UPDATE_MIME_DATABASE" >&5 -$as_echo "$UPDATE_MIME_DATABASE" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - if test x$UPDATE_MIME_DATABASE = xno; then - enable_update_mimedb=no - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Could not find the update-mime-database program in your PATH. Your mime database will not be updated upon install." >&5 -$as_echo "$as_me: WARNING: Could not find the update-mime-database program in your PATH. Your mime database will not be updated upon install." >&2;} - fi -fi - - if test x$enable_update_mimedb = xyes; then - ENABLE_UPDATE_MIMEDB_TRUE= - ENABLE_UPDATE_MIMEDB_FALSE='#' -else - ENABLE_UPDATE_MIMEDB_TRUE='#' - ENABLE_UPDATE_MIMEDB_FALSE= -fi - - -# Extract the first word of "xmllint", so it can be a program name with args. -set dummy xmllint; 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_XMLLINT+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $XMLLINT in - [\\/]* | ?:[\\/]*) - ac_cv_path_XMLLINT="$XMLLINT" # 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_XMLLINT="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -XMLLINT=$ac_cv_path_XMLLINT -if test -n "$XMLLINT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XMLLINT" >&5 -$as_echo "$XMLLINT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - -ac_config_files="$ac_config_files Makefile shared-mime-info.pc po/Makefile.in" - - -cat >confcache <<\_ACEOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs, see configure's option --config-cache. -# It is not useful on other systems. If it contains results you don't -# want to keep, you may remove or edit it. -# -# config.status only pays attention to the cache file if you give it -# the --recheck option to rerun configure. -# -# `ac_cv_env_foo' variables (set or unset) will be overridden when -# loading this file, other *unset* `ac_cv_foo' will be assigned the -# following values. - -_ACEOF - -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, we kill variables containing newlines. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -( - for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - - (set) 2>&1 | - case $as_nl`(ac_space=' '; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - # `set' does not quote correctly, so add quotes: double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \. - sed -n \ - "s/'/'\\\\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" - ;; #( - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) | - sed ' - /^ac_cv_env_/b end - t clear - :clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ - t end - s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ - :end' >>confcache -if diff "$cache_file" confcache >/dev/null 2>&1; then :; else - if test -w "$cache_file"; then - if test "x$cache_file" != "x/dev/null"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 -$as_echo "$as_me: updating cache $cache_file" >&6;} - if test ! -f "$cache_file" || test -h "$cache_file"; then - cat confcache >"$cache_file" - else - case $cache_file in #( - */* | ?:*) - mv -f confcache "$cache_file"$$ && - mv -f "$cache_file"$$ "$cache_file" ;; #( - *) - mv -f confcache "$cache_file" ;; - esac - fi - fi - else - { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 -$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} - fi -fi -rm -f confcache - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -DEFS=-DHAVE_CONFIG_H - -ac_libobjs= -ac_ltlibobjs= -U= -for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue - # 1. Remove the extension, and $U if already installed. - ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' - ac_i=`$as_echo "$ac_i" | sed "$ac_script"` - # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR - # will be set to the directory where LIBOBJS objects are built. - as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" - as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' -done -LIBOBJS=$ac_libobjs - -LTLIBOBJS=$ac_ltlibobjs - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 -$as_echo_n "checking that generated files are newer than configure... " >&6; } - if test -n "$am_sleep_pid"; then - # Hide warnings about reused PIDs. - wait $am_sleep_pid 2>/dev/null - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 -$as_echo "done" >&6; } - if test -n "$EXEEXT"; then - am__EXEEXT_TRUE= - am__EXEEXT_FALSE='#' -else - am__EXEEXT_TRUE='#' - am__EXEEXT_FALSE= -fi - -if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then - as_fn_error $? "conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - as_fn_error $? "conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${CROSS_COMPILING_TRUE}" && test -z "${CROSS_COMPILING_FALSE}"; then - as_fn_error $? "conditional \"CROSS_COMPILING\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${HAVE_GIO_TRUE}" && test -z "${HAVE_GIO_FALSE}"; then - as_fn_error $? "conditional \"HAVE_GIO\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${ENABLE_UPDATE_MIMEDB_TRUE}" && test -z "${ENABLE_UPDATE_MIMEDB_FALSE}"; then - as_fn_error $? "conditional \"ENABLE_UPDATE_MIMEDB\" 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 shared-mime-info $as_me 1.15, which was -generated by GNU Autoconf 2.69. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - $ $0 $@ - -on `(hostname || uname -n) 2>/dev/null | sed 1q` -" - -_ACEOF - -case $ac_config_files in *" -"*) set x $ac_config_files; shift; ac_config_files=$*;; -esac - -case $ac_config_headers in *" -"*) set x $ac_config_headers; shift; ac_config_headers=$*;; -esac - - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# Files that config.status was made for. -config_files="$ac_config_files" -config_headers="$ac_config_headers" -config_commands="$ac_config_commands" - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -ac_cs_usage="\ -\`$as_me' instantiates files and other configuration actions -from templates according to the current configuration. Unless the files -and actions are specified as TAGs, all are instantiated by default. - -Usage: $0 [OPTION]... [TAG]... - - -h, --help print this help, then exit - -V, --version print version number and configuration settings, then exit - --config print configuration, then exit - -q, --quiet, --silent - do not print progress messages - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE - --header=FILE[:TEMPLATE] - instantiate the configuration header FILE - -Configuration files: -$config_files - -Configuration headers: -$config_headers - -Configuration commands: -$config_commands - -Report bugs to ." - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" -ac_cs_version="\\ -shared-mime-info config.status 1.15 -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 -# -AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}" -# Capture the value of obsolete ALL_LINGUAS because we need it to compute - # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it - # from automake < 1.5. - eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' - # Capture the value of LINGUAS because we need it to compute CATALOGS. - LINGUAS="${LINGUAS-%UNSET%}" - - -_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" ;; - "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; - "po-directories") CONFIG_COMMANDS="$CONFIG_COMMANDS po-directories" ;; - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - "shared-mime-info.pc") CONFIG_FILES="$CONFIG_FILES shared-mime-info.pc" ;; - "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; - - *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; - esac -done - - -# If the user did not use the arguments to specify the items to instantiate, -# then the envvar interface is used. Set only those that are not. -# We use the long form for the default assignment because of an extremely -# bizarre bug on SunOS 4.1.3. -if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files - test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers - test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands -fi - -# Have a temporary directory for convenience. Make it in the build tree -# simply because there is no reason against having it here, and in addition, -# creating and moving files from /tmp can sometimes cause problems. -# Hook for its removal unless debugging. -# Note that there is a small window in which the directory will not be cleaned: -# after its creation but before its name has been assigned to `$tmp'. -$debug || -{ - tmp= ac_tmp= - trap 'exit_status=$? - : "${ac_tmp:=$tmp}" - { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status -' 0 - trap 'as_fn_exit 1' 1 2 13 15 -} -# Create a (secure) tmp directory for tmp files. - -{ - tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -d "$tmp" -} || -{ - tmp=./conf$$-$RANDOM - (umask 077 && mkdir "$tmp") -} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 -ac_tmp=$tmp - -# Set up the scripts for CONFIG_FILES section. -# No need to generate them if there are no CONFIG_FILES. -# This happens for instance with `./config.status config.h'. -if test -n "$CONFIG_FILES"; then - - -ac_cr=`echo X | tr X '\015'` -# On cygwin, bash can eat \r inside `` if the user requested igncr. -# But we know of no other shell where ac_cr would be empty at this -# point, so we can use a bashism as a fallback. -if test "x$ac_cr" = x; then - eval ac_cr=\$\'\\r\' -fi -ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` -if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\\r' -else - ac_cs_awk_cr=$ac_cr -fi - -echo 'BEGIN {' >"$ac_tmp/subs1.awk" && -_ACEOF - - -{ - echo "cat >conf$$subs.awk <<_ACEOF" && - echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && - echo "_ACEOF" -} >conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` -ac_delim='%!_!# ' -for ac_last_try in false false false false false :; do - . ./conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - - ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` - if test $ac_delim_n = $ac_delim_num; then - break - elif $ac_last_try; then - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done -rm -f conf$$subs.sh - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && -_ACEOF -sed -n ' -h -s/^/S["/; s/!.*/"]=/ -p -g -s/^[^!]*!// -:repl -t repl -s/'"$ac_delim"'$// -t delim -:nl -h -s/\(.\{148\}\)..*/\1/ -t more1 -s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ -p -n -b repl -:more1 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t nl -:delim -h -s/\(.\{148\}\)..*/\1/ -t more2 -s/["\\]/\\&/g; s/^/"/; s/$/"/ -p -b -:more2 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t delim -' >$CONFIG_STATUS || ac_write_fail=1 -rm -f conf$$subs.awk -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -_ACAWK -cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && - for (key in S) S_is_set[key] = 1 - FS = "" - -} -{ - line = $ 0 - nfields = split(line, field, "@") - substed = 0 - len = length(field[1]) - for (i = 2; i < nfields; i++) { - key = field[i] - keylen = length(key) - if (S_is_set[key]) { - value = S[key] - line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) - len += length(value) + length(field[++i]) - substed = 1 - } else - len += 1 + keylen - } - - print line -} - -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then - sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" -else - cat -fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ - || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 -_ACEOF - -# VPATH may cause trouble with some makes, so we remove sole $(srcdir), -# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and -# trailing colons and then remove the whole line if VPATH becomes empty -# (actually we leave an empty line to preserve line numbers). -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ -h -s/// -s/^/:/ -s/[ ]*$/:/ -s/:\$(srcdir):/:/g -s/:\${srcdir}:/:/g -s/:@srcdir@:/:/g -s/^:*// -s/:*$// -x -s/\(=[ ]*\).*/\1/ -G -s/\n// -s/^[^=]*=[ ]*$// -}' -fi - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -fi # test -n "$CONFIG_FILES" - -# Set up the scripts for CONFIG_HEADERS section. -# No need to generate them if there are no CONFIG_HEADERS. -# This happens for instance with `./config.status Makefile'. -if test -n "$CONFIG_HEADERS"; then -cat >"$ac_tmp/defines.awk" <<\_ACAWK || -BEGIN { -_ACEOF - -# Transform confdefs.h into an awk script `defines.awk', embedded as -# here-document in config.status, that substitutes the proper values into -# config.h.in to produce config.h. - -# Create a delimiter string that does not exist in confdefs.h, to ease -# handling of long lines. -ac_delim='%!_!# ' -for ac_last_try in false false :; do - ac_tt=`sed -n "/$ac_delim/p" confdefs.h` - if test -z "$ac_tt"; then - break - elif $ac_last_try; then - as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done - -# For the awk script, D is an array of macro values keyed by name, -# likewise P contains macro parameters if any. Preserve backslash -# newline sequences. - -ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* -sed -n ' -s/.\{148\}/&'"$ac_delim"'/g -t rset -:rset -s/^[ ]*#[ ]*define[ ][ ]*/ / -t def -d -:def -s/\\$// -t bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3"/p -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p -d -:bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3\\\\\\n"\\/p -t cont -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p -t cont -d -:cont -n -s/.\{148\}/&'"$ac_delim"'/g -t clear -:clear -s/\\$// -t bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/"/p -d -:bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p -b cont -' >$CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - for (key in D) D_is_set[key] = 1 - FS = "" -} -/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { - line = \$ 0 - split(line, arg, " ") - if (arg[1] == "#") { - defundef = arg[2] - mac1 = arg[3] - } else { - defundef = substr(arg[1], 2) - mac1 = arg[2] - } - split(mac1, mac2, "(") #) - macro = mac2[1] - prefix = substr(line, 1, index(line, defundef) - 1) - if (D_is_set[macro]) { - # Preserve the white space surrounding the "#". - print prefix "define", macro P[macro] D[macro] - next - } else { - # Replace #undef with comments. This is necessary, for example, - # in the case of _POSIX_SOURCE, which is predefined and required - # on some systems where configure will not decide to define it. - if (defundef == "undef") { - print "/*", prefix defundef, macro, "*/" - next - } - } -} -{ print } -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 -fi # test -n "$CONFIG_HEADERS" - - -eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" -shift -for ac_tag -do - case $ac_tag in - :[FHLC]) ac_mode=$ac_tag; continue;; - esac - case $ac_mode$ac_tag in - :[FHL]*:*);; - :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; - :[FH]-) ac_tag=-:-;; - :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; - esac - ac_save_IFS=$IFS - IFS=: - set x $ac_tag - IFS=$ac_save_IFS - shift - ac_file=$1 - shift - - case $ac_mode in - :L) ac_source=$1;; - :[FH]) - ac_file_inputs= - for ac_f - do - case $ac_f in - -) ac_f="$ac_tmp/stdin";; - *) # Look for the file first in the build tree, then in the source tree - # (if the path is not absolute). The absolute path cannot be DOS-style, - # because $ac_f cannot contain `:'. - test -f "$ac_f" || - case $ac_f in - [\\/$]*) false;; - *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; - esac || - as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; - esac - case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac - as_fn_append ac_file_inputs " '$ac_f'" - done - - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated by config.status. */ - configure_input='Generated from '` - $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' - `' by configure.' - if test x"$ac_file" != x-; then - configure_input="$ac_file. $configure_input" - { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 -$as_echo "$as_me: creating $ac_file" >&6;} - fi - # Neutralize special characters interpreted by sed in replacement strings. - case $configure_input in #( - *\&* | *\|* | *\\* ) - ac_sed_conf_input=`$as_echo "$configure_input" | - sed 's/[\\\\&|]/\\\\&/g'`;; #( - *) ac_sed_conf_input=$configure_input;; - esac - - case $ac_tag in - *:-:* | *:-) cat >"$ac_tmp/stdin" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; - esac - ;; - esac - - ac_dir=`$as_dirname -- "$ac_file" || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - as_dir="$ac_dir"; as_fn_mkdir_p - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - - case $ac_mode in - :F) - # - # CONFIG_FILE - # - - case $INSTALL in - [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; - *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; - esac - ac_MKDIR_P=$MKDIR_P - case $MKDIR_P in - [\\/$]* | ?:[\\/]* ) ;; - */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; - esac -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# If the template does not know about datarootdir, expand it. -# FIXME: This hack should be removed a few years after 2.60. -ac_datarootdir_hack=; ac_datarootdir_seen= -ac_sed_dataroot=' -/datarootdir/ { - p - q -} -/@datadir@/p -/@docdir@/p -/@infodir@/p -/@localedir@/p -/@mandir@/p' -case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in -*datarootdir*) ac_datarootdir_seen=yes;; -*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - ac_datarootdir_hack=' - s&@datadir@&$datadir&g - s&@docdir@&$docdir&g - s&@infodir@&$infodir&g - s&@localedir@&$localedir&g - s&@mandir@&$mandir&g - s&\\\${datarootdir}&$datarootdir&g' ;; -esac -_ACEOF - -# Neutralize VPATH when `$srcdir' = `.'. -# Shell code in configure.ac might set extrasub. -# FIXME: do we really want to maintain this feature? -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_sed_extra="$ac_vpsub -$extrasub -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s|@configure_input@|$ac_sed_conf_input|;t t -s&@top_builddir@&$ac_top_builddir_sub&;t t -s&@top_build_prefix@&$ac_top_build_prefix&;t t -s&@srcdir@&$ac_srcdir&;t t -s&@abs_srcdir@&$ac_abs_srcdir&;t t -s&@top_srcdir@&$ac_top_srcdir&;t t -s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t -s&@builddir@&$ac_builddir&;t t -s&@abs_builddir@&$ac_abs_builddir&;t t -s&@abs_top_builddir@&$ac_abs_top_builddir&;t t -s&@INSTALL@&$ac_INSTALL&;t t -s&@MKDIR_P@&$ac_MKDIR_P&;t t -$ac_datarootdir_hack -" -eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ - >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - -test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ - "$ac_tmp/out"`; test -z "$ac_out"; } && - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&5 -$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&2;} - - rm -f "$ac_tmp/stdin" - case $ac_file in - -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; - *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; - esac \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - ;; - :H) - # - # CONFIG_HEADER - # - if test x"$ac_file" != x-; then - { - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" - } >"$ac_tmp/config.h" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then - { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 -$as_echo "$as_me: $ac_file is unchanged" >&6;} - else - rm -f "$ac_file" - mv "$ac_tmp/config.h" "$ac_file" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - fi - else - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ - || as_fn_error $? "could not create -" "$LINENO" 5 - fi -# Compute "$ac_file"'s index in $config_headers. -_am_arg="$ac_file" -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $_am_arg | $_am_arg:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || -$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$_am_arg" : 'X\(//\)[^/]' \| \ - X"$_am_arg" : 'X\(//\)$' \| \ - X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$_am_arg" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'`/stamp-h$_am_stamp_count - ;; - - :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 -$as_echo "$as_me: executing $ac_file commands" >&6;} - ;; - esac - - - case $ac_file$ac_mode in - "depfiles":C) test x"$AMDEP_TRUE" != x"" || { - # Older Autoconf quotes --file arguments for eval, but not when files - # are listed without --file. Let's play safe and only enable the eval - # if we detect the quoting. - # TODO: see whether this extra hack can be removed once we start - # requiring Autoconf 2.70 or later. - case $CONFIG_FILES in #( - *\'*) : - eval set x "$CONFIG_FILES" ;; #( - *) : - set x $CONFIG_FILES ;; #( - *) : - ;; -esac - shift - # Used to flag and report bootstrapping failures. - am_rc=0 - for am_mf - do - # Strip MF so we end up with the name of the file. - am_mf=`$as_echo "$am_mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile which includes - # dependency-tracking related rules and includes. - # Grep'ing the whole file directly is not great: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ - || continue - am_dirpart=`$as_dirname -- "$am_mf" || -$as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$am_mf" : 'X\(//\)[^/]' \| \ - X"$am_mf" : 'X\(//\)$' \| \ - X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$am_mf" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - am_filepart=`$as_basename -- "$am_mf" || -$as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \ - X"$am_mf" : 'X\(//\)$' \| \ - X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$am_mf" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - { echo "$as_me:$LINENO: cd "$am_dirpart" \ - && sed -e '/# am--include-marker/d' "$am_filepart" \ - | $MAKE -f - am--depfiles" >&5 - (cd "$am_dirpart" \ - && sed -e '/# am--include-marker/d' "$am_filepart" \ - | $MAKE -f - am--depfiles) >&5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } || am_rc=$? - done - if test $am_rc -ne 0; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "Something went wrong bootstrapping makefile fragments - for automatic dependency tracking. Try re-running configure with the - '--disable-dependency-tracking' option to at least be able to build - the package (albeit without support for automatic dependency tracking). -See \`config.log' for more details" "$LINENO" 5; } - fi - { am_dirpart=; unset am_dirpart;} - { am_filepart=; unset am_filepart;} - { am_mf=; unset am_mf;} - { am_rc=; unset am_rc;} - rm -f conftest-deps.mk -} - ;; - "po-directories":C) - for ac_file in $CONFIG_FILES; do - # Support "outfile[:infile[:infile...]]" - case "$ac_file" in - *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - esac - # PO directories have a Makefile.in generated from Makefile.in.in. - case "$ac_file" in */Makefile.in) - # Adjust a relative srcdir. - ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` - ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'` - ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` - # In autoconf-2.13 it is called $ac_given_srcdir. - # In autoconf-2.50 it is called $srcdir. - test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" - case "$ac_given_srcdir" in - .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; - /*) top_srcdir="$ac_given_srcdir" ;; - *) top_srcdir="$ac_dots$ac_given_srcdir" ;; - esac - # Treat a directory as a PO directory if and only if it has a - # POTFILES.in file. This allows packages to have multiple PO - # directories under different names or in different locations. - if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then - rm -f "$ac_dir/POTFILES" - test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" - gt_tab=`printf '\t'` - cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ${gt_tab}]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" - POMAKEFILEDEPS="POTFILES.in" - # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend - # on $ac_dir but don't depend on user-specified configuration - # parameters. - if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then - # The LINGUAS file contains the set of available languages. - if test -n "$OBSOLETE_ALL_LINGUAS"; then - test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" - fi - ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` - # Hide the ALL_LINGUAS assignment from automake < 1.5. - eval 'ALL_LINGUAS''=$ALL_LINGUAS_' - POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" - else - # The set of available languages was given in configure.in. - # Hide the ALL_LINGUAS assignment from automake < 1.5. - eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' - fi - # Compute POFILES - # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) - # Compute UPDATEPOFILES - # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) - # Compute DUMMYPOFILES - # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) - # Compute GMOFILES - # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) - case "$ac_given_srcdir" in - .) srcdirpre= ;; - *) srcdirpre='$(srcdir)/' ;; - esac - POFILES= - UPDATEPOFILES= - DUMMYPOFILES= - GMOFILES= - for lang in $ALL_LINGUAS; do - POFILES="$POFILES $srcdirpre$lang.po" - UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" - DUMMYPOFILES="$DUMMYPOFILES $lang.nop" - GMOFILES="$GMOFILES $srcdirpre$lang.gmo" - done - # CATALOGS depends on both $ac_dir and the user's LINGUAS - # environment variable. - INST_LINGUAS= - if test -n "$ALL_LINGUAS"; then - for presentlang in $ALL_LINGUAS; do - useit=no - if test "%UNSET%" != "$LINGUAS"; then - desiredlanguages="$LINGUAS" - else - desiredlanguages="$ALL_LINGUAS" - fi - for desiredlang in $desiredlanguages; do - # Use the presentlang catalog if desiredlang is - # a. equal to presentlang, or - # b. a variant of presentlang (because in this case, - # presentlang can be used as a fallback for messages - # which are not translated in the desiredlang catalog). - case "$desiredlang" in - "$presentlang"*) useit=yes;; - esac - done - if test $useit = yes; then - INST_LINGUAS="$INST_LINGUAS $presentlang" - fi - done - fi - CATALOGS= - if test -n "$INST_LINGUAS"; then - for lang in $INST_LINGUAS; do - CATALOGS="$CATALOGS $lang.gmo" - done - fi - test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" - sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" - for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do - if test -f "$f"; then - case "$f" in - *.orig | *.bak | *~) ;; - *) cat "$f" >> "$ac_dir/Makefile" ;; - esac - fi - done - fi - ;; - esac - done ;; - - esac -done # for ac_tag - - -as_fn_exit 0 -_ACEOF -ac_clean_files=$ac_clean_files_save - -test $ac_write_fail = 0 || - as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 - - -# configure is writing to config.log, and then calls config.status. -# config.status does its own redirection, appending to config.log. -# Unfortunately, on DOS this fails, as config.log is still kept open -# by configure, so config.status won't be able to write to it; its -# output is simply discarded. So we exec the FD to /dev/null, -# effectively closing config.log, so it can be properly (re)opened and -# appended to by config.status. When coming back to configure, we -# need to make the FD available again. -if test "$no_create" != yes; then - ac_cs_success=: - ac_config_status_args= - test "$silent" = yes && - ac_config_status_args="$ac_config_status_args --quiet" - exec 5>/dev/null - $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false - exec 5>>config.log - # Use ||, not &&, to avoid exiting from the if with $? = 1, which - # would make configure fail if this is the last instruction. - $ac_cs_success || as_fn_exit 1 -fi -if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 -$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} -fi - diff -Nru shared-mime-info-1.15/configure.ac shared-mime-info-2.0/configure.ac --- shared-mime-info-1.15/configure.ac 2019-10-30 10:44:56.000000000 +0000 +++ shared-mime-info-2.0/configure.ac 1970-01-01 00:00:00.000000000 +0000 @@ -1,79 +0,0 @@ -AC_INIT([shared-mime-info],[1.15],[https://bugs.freedesktop.org/enter_bug.cgi?product=shared-mime-info]) - -AM_INIT_AUTOMAKE([1.9 foreign no-dist-gzip dist-xz check-news]) - -AC_CONFIG_HEADERS([config.h]) - -# Enable silent build when available (Automake 1.11) -m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])]) - -dnl Checks for programs. -AC_PROG_CC - -dnl Checks for typedefs, structures, and compiler characteristics. -AC_C_CONST -AC_SYS_LARGEFILE - -AM_GNU_GETTEXT_VERSION([0.19.8]) -AM_GNU_GETTEXT([external]) -AC_CHECK_PROGS([ITSTOOL], [itstool]) -if test x"${ITSTOOL}" = x; then - AC_MSG_ERROR([itstool is missing]) -fi - -AC_CHECK_FUNCS(fdatasync) - -dnl Check for cross compiling -AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes) - -dnl Check whether libxml and glib are present is installed -PKG_CHECK_MODULES(ALL, \ - libxml-2.0 >= 2.4 \ - glib-2.0 >= 2.6.0) -AC_SUBST(ALL_CFLAGS) -AC_SUBST(ALL_LIBS) - -dnl Build the tree magic test if gio is present -PKG_CHECK_MODULES(GIO, gio-2.0, HAVE_GIO=yes, AC_MSG_RESULT(no)) - -AM_CONDITIONAL([HAVE_GIO], test "x$HAVE_GIO" = "xyes") - -dnl Use -Wall, etc if possible -[ -if test "x$GCC" = "xyes"; then - case " $CFLAGS " in - *[\ \ ]-Wall[\ \ ]*) ;; - *) CFLAGS="$CFLAGS -Wall -Wstrict-prototypes -Wmissing-prototypes -Wwrite-strings" ;; - esac -fi -] - -if test "x$XDGMIME_PATH" = "x" ; then - XDGMIME_PATH=$srcdir/../xdgmime -fi -AC_SUBST([XDGMIME_PATH], $XDGMIME_PATH) - -AC_ARG_ENABLE(update-mimedb, - AC_HELP_STRING([--disable-update-mimedb], - [disable the update-mime-database after install [default=no]]),, - enable_update_mimedb=yes) - -if test $cross_compiling = yes && test x$enable_update_mimedb = xyes; then - AC_PATH_PROG(UPDATE_MIME_DATABASE, update-mime-database, no) - if test x$UPDATE_MIME_DATABASE = xno; then - enable_update_mimedb=no - AC_MSG_WARN(Could not find the update-mime-database program in your PATH. Your mime database will not be updated upon install.) - fi -fi - -AM_CONDITIONAL(ENABLE_UPDATE_MIMEDB, test x$enable_update_mimedb = xyes) - -AC_PATH_PROG([XMLLINT],[xmllint]) - -AC_CONFIG_FILES([ -Makefile -shared-mime-info.pc -po/Makefile.in -]) - -AC_OUTPUT diff -Nru shared-mime-info-1.15/data/freedesktop_generate.sh shared-mime-info-2.0/data/freedesktop_generate.sh --- shared-mime-info-1.15/data/freedesktop_generate.sh 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/data/freedesktop_generate.sh 2020-05-06 14:11:14.039909000 +0000 @@ -0,0 +1,12 @@ +#!/bin/bash -e + +src_root="$1" +build_root="$2" + +ninja -C "${build_root}" shared-mime-info-gmo + +itstool \ + --its "${src_root}/data/its/shared-mime-info.its" \ + --join "${src_root}/data/freedesktop.org.xml.in" \ + -o "${build_root}/data/freedesktop.org.xml" \ + "${build_root}/po/"*".gmo" diff -Nru shared-mime-info-1.15/data/freedesktop.org.xml.in shared-mime-info-2.0/data/freedesktop.org.xml.in --- shared-mime-info-1.15/data/freedesktop.org.xml.in 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/data/freedesktop.org.xml.in 2020-05-06 14:11:14.038908700 +0000 @@ -0,0 +1,7408 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]> + + + + + + Atari 2600 ROM + + + + + Atari 7800 ROM + + + + + + + + Atari Lynx ROM + + + + + + + + ATK inset + ATK + Andrew Toolkit + + + + + electronic book document + + + + + + + + + + + + + + Kindle book document + + + + + + + Adobe Illustrator document + + + + + + Macintosh BinHex-encoded file + + + + + + + Mathematica Notebook file + + + + + + + + + + + + MathML document + MathML + Mathematical Markup Language + + + + + + + mailbox file + + + + + + + + + Metalink file + + + + + + + + + Metalink file + + + + + + + + + unknown + + + Partially downloaded file + + + + + + + ODA document + ODA + Office Document Architecture + + + + + WWF document + + + + + + + PDF document + PDF + Portable Document Format + + + + + + + + + + + + XSPF playlist + XSPF + XML Shareable Playlist Format + + + + + + + + + + + + Microsoft Windows theme pack + + + + + + AmazonMP3 download file + + + + GSM 06.10 audio + GSM + Global System for Mobile communications + + + + iRiver playlist + + + + + + + PGP/MIME-encrypted message header + + + + + + + + + + + + PGP keys + PGP + Pretty Good Privacy + + + + + + + + + + + + + + + + + + + detached OpenPGP signature + + + + + + + + + + + + + PKCS#7 file + PKCS + Public-Key Cryptography Standards + + + + + + detached S/MIME signature + S/MIME + Secure/Multipurpose Internet Mail Extensions + + + + + + PKCS#8 private key + PKCS + Public-Key Cryptography Standards + + + + PKCS#8 private key (encrypted) + PKCS + Public-Key Cryptography Standards + + + + PKCS#10 certification request + PKCS + Public-Key Cryptography Standards + + + + + X.509 certificate + + + + certificate revocation list + + + + PkiPath certification path + + + + PostScript document + + + + + + + + + + Plucker document + + + + + + + RAML document + RAML + RESTful API Modeling Language + + + + + + + + RELAX NG XML schema + RELAX NG + REgular LAnguage for XML Next Generation + + + + + + + RTF document + RTF + Rich Text Format + + + + + + + + + + Sieve mail filter script + + + + + + SMIL document + SMIL + Synchronized Multimedia Integration Language + + + + + + + + + + + + + + + + WPL playlist + WPL + Windows Media Player Playlist + + + + + + + + SQLite2 database + + + + + + + SQLite3 database + + + + + + + + Apple System Profiler + + + + + + + + + GEDCOM family history + GEDCOM + GEnealogical Data COMmunication + + + + + + + + + + Flash video + + + + + + + + + + + JavaFX video + + + + + + + + + + SGF record + SGF + Smart Game Format + + + + + + + + + + XLIFF translation file + XLIFF + XML Localization Interchange File Format + + + + + + + + + + + + YAML document + YAML + YAML Ain't Markup Language + + + + + + + + + + + + Corel Draw drawing + + + + + + + + + + + + + + + HPGL file + HPGL + HP Graphics Language + + + + + PCL file + PCL + HP Printer Control Language + + + + + Lotus 1-2-3 spreadsheet + + + + + + + + + + + + + + + + + Lotus Word Pro document + + + + + + + + JET database + JET + Joint Engine Technology + + + + + + + + + + + + + + + Microsoft Cabinet archive + + + + + + + + + Excel spreadsheet + + + + + + + + + + + + + + + + + + Excel add-in + + + + + + Excel 2007 binary spreadsheet + + + + + + Excel spreadsheet + + + + + + Excel spreadsheet template + + + + + + PowerPoint presentation + + + + + + + + + + + PowerPoint add-in + + + + + PowerPoint presentation + + + + + + PowerPoint slide + + + + + + PowerPoint presentation + + + + + + PowerPoint presentation template + + + + + + Office Open XML Visio drawing + + + + + + Office Open XML Visio template + + + + + + Office Open XML Visio stencil + + + + + + Office Open XML Visio drawing + + + + + + Office Open XML Visio template + + + + + + Office Open XML Visio stencil + + + + + + Word document + + + + + + Word document template + + + + + + XPS document + XPS + Open XML Paper Specification + + + + + + + + + Microsoft Works document + + + + + + + + + + Microsoft Visio document + + + + + + + + + Word document + + + + + + + + + + + + + + + + + + + + Word template + + + + + + GML document + GML + Geography Markup Language + + + + + + GNUnet search file + + + + + + + TNEF message + TNEF + Transport Neutral Encapsulation Format + + + + + + + + + + StarCalc spreadsheet + + + + + StarChart chart + + + + + StarDraw drawing + + + + + StarImpress presentation + + + + + + StarMail email + + + + StarMath formula + + + + + StarWriter document + + + + + + + + + + + OpenOffice Calc spreadsheet + + + + + + + + + + + + + OpenOffice Calc template + + + + + + + + + + + + + OpenOffice Draw drawing + + + + + + + + + + + + + OpenOffice Draw template + + + + + + + + + + + + + OpenOffice Impress presentation + + + + + + + + + + + + + OpenOffice Impress template + + + + + + + + + + + + + OpenOffice Math formula + + + + + + + + + + + + + OpenOffice Writer document + + + + + + + + + + + + + OpenOffice Writer global document + + + + + + + + + + + + + OpenOffice Writer template + + + + + + + + + + + + + ODT document + ODT + OpenDocument Text + + + + + + + + + + + + + ODT document (Flat XML) + FODT + OpenDocument Text (Flat XML) + + + + + + ODT template + ODT + OpenDocument Text + + + + + + + + + + + + + OTH template + OTH + OpenDocument HTML + + + + + + + + + + + + + ODM document + ODM + OpenDocument Master + + + + + + + + + + + + + ODG drawing + ODG + OpenDocument Drawing + + + + + + + + + + + + + ODG drawing (Flat XML) + FODG + OpenDocument Drawing (Flat XML) + + + + + + ODG template + ODG + OpenDocument Drawing + + + + + + + + + + + + + ODP presentation + ODP + OpenDocument Presentation + + + + + + + + + + + + + ODP presentation (Flat XML) + FODP + OpenDocument Presentation (Flat XML) + + + + + + ODP template + ODP + OpenDocument Presentation + + + + + + + + + + + + + ODS spreadsheet + ODS + OpenDocument Spreadsheet + + + + + + + + + + + + + ODS spreadsheet (Flat XML) + FODS + OpenDocument Spreadsheet (Flat XML) + + + + + + ODS template + ODS + OpenDocument Spreadsheet + + + + + + + + + + + + + ODC chart + ODC + OpenDocument Chart + + + + + + + + + + + + + ODC template + ODC + OpenDocument Chart + + + + + + + + + + + + + ODF formula + ODF + OpenDocument Formula + + + + + + + + + + + + + ODF template + ODF + OpenDocument Formula + + + + + + + + + + + + + ODB database + ODB + OpenDocument Database + + + + + + + + + + + + + + ODI image + ODI + OpenDocument Image + + + + + + + + + + + + + OpenOffice.org extension + + + + + + Android package + + + + + SIS package + SIS + Symbian Installation File + + + + + + + + SISX package + SIS + Symbian Installation File + + + + + + + + network packet capture + + + + + + + + + + + + WordPerfect document + + + + + + + + + + + + + + + + YouTube media archive + + + + + + SPSS portable data file + SPSS + Statistical Package for the Social Sciences + + + + + + + SPSS data file + SPSS + Statistical Package for the Social Sciences + + + + + + + + + + XBEL bookmarks + XBEL + XML Bookmark Exchange Language + + + + + + + + + 7-zip archive + + + + + + + + AbiWord document + + + + + + + + + + + + + + CD image cuesheet + + + + + + Lotus AmiPro document + + + + + AportisDoc document + + + + + + + + + + + Applix Spreadsheets spreadsheet + + + + + + + + + + + Applix Words document + + + + + + + + + + ARC archive + + + + + + + + + + + + AR archive + + + + + + + + + + ARJ archive + ARJ + Archived by Robert Jung + + + + + + + + ASP page + ASP + Active Server Page + + + + + + AWK script + + + + + + + + + + + + + + + + + + + BCPIO document + BCPIO + Binary CPIO + + + + + BitTorrent seed file + + + + + + + Blender scene + + + + + + + + + + TeX DVI document (bzip-compressed) + + + + + + Bzip archive + + + + + + + + + + + Tar archive (bzip-compressed) + + + + + + + + + + PDF document (bzip-compressed) + + + + + + PostScript document (bzip-compressed) + + + + + + comic book archive + + + + + + + comic book archive + + + + + + comic book archive + + + + + + comic book archive + + + + + + + Lrzip archive + + + + + + + + Tar archive (lrzip-compressed) + + + + + + + Apple disk image + + + + Raw disk image + + + + + Floppy disk image + + + + + + + Raw disk image (XZ-compressed) + + + + + + raw CD image + + + + + + + + AppImage application bundle + + + + + + + + + + + + + + + + CD Table Of Contents + + + + + + + + + + + + + + + PGN chess game notation + PGN + Portable Game Notation + + + + + + + + + + CHM document + CHM + Compiled Help Modules + + + + + + Java byte code + + + UNIX-compressed file + + + + + + + + Tar archive (gzip-compressed) + + + + + + + program crash data + + + + + + + + + + + + + + + + + + + CPIO archive + + + + + + + + + + + CPIO archive (gzip-compressed) + + + + + + C shell script + + + + + + + + + + + + + Xbase document + + + + + + + + ECMAScript program + + + + + + + + + Sega CD disc image + + + + + + + + + + + + + + + Sega Pico ROM + + + + + + + Sega Saturn disc image + + + + + + + + + Dreamcast disc image + + + + + Nintendo DS ROM + + + + + PC Engine ROM + + + + + Wii disc image + + + + + + + + + + + + + WiiWare bundle + + + + + + + + + + GameCube disc image + + + + + + + + + Thomson Mémo7 cartridge + + + + + Thomson cassette + + + + + HFE floppy disk image + HFE + HxC Floppy Emulator + + + + + + + + + SAP Thomson floppy disk image + SAP + Système d'Archivage Pukall + + + + + + + + + Debian package + + + + + + + + + + + + + Qt Designer interface document + + + + + + + + + + Qt Markup Language file + + + + + + + + + + + + + + + desktop configuration file + + + + + + + + + + + + + + + FictionBook document + + + + + + + + + + Compressed FictionBook document + + + + + + + + + + + Dia diagram + + + + + + + + + + Dia shape + + + + + + + + + + TeX DVI document + DVI + Device independent file format + + + + + + + + Enlightenment theme + + + + Egon Animator animation + + + + + executable + + + + + + + + + + + + + + + + + + + + + FLTK Fluid file + FLTK + Fast Light Toolkit + + + + + + + + + WOFF font + WOFF + Web Open Font Format + + + + + + + + + WOFF2 font + WOFF2 + Web Open Font Format 2.0 + + + + + + + + PostScript type-1 font + + + + + + + + + + + + + + + + Adobe font metrics + + + + + BDF font + + + + + + + + DOS font + + + + + + + + + Adobe FrameMaker font + + + + + + + LIBGRX font + + + + + + + Linux PSF console font + + + + + + + + Linux PSF console font (gzip-compressed) + + + + + + PCF font + + + + + + + + + + OpenType font + + + + + + + + + + Speedo font + + + + + + + + SunOS News font + + + + + + + + + TeX font + + + + + + + + + TeX font metrics + + + + + + + + TrueType font + + + + + + + + + + + Font collection + + + + + TrueType XML font + + + + + + + + + V font + + + + + + + Adobe FrameMaker document + + + + + + + + + + + + + + + Game Boy ROM + + + + + + + + + + + Game Boy Color ROM + + + + + + + + + + + Game Boy Advance ROM + + + + + + Virtual Boy ROM + + + + + GDBM database + GDBM + GNU Database Manager + + + + + + + + + Genesis ROM + + + + + + + + + + + + + + + Genesis 32X ROM + + + + + + + + + translated messages (machine-readable) + + + + + + + + + GTK+ Builder interface document + + + + + + + + + Glade project + + + + + + + + + GnuCash financial data + + + + + + + Gnumeric spreadsheet + + + + + + + + + Gnuplot document + + + + + + + + Graphite scientific graph + + + + + GTKtalog catalog + + + + + + + TeX DVI document (gzip-compressed) + + + + + + Gzip archive + + + + + + + + + PDF document (gzip-compressed) + + + + + + PostScript document (gzip-compressed) + + + + + + HDF document + HDF + Hierarchical Data Format + + + + + + + + + + + + + IFF file + IFF + Interchange File Format + + + + + + iPod firmware + + + + + + Java archive + + + + + + + + Java class + + + + + + + + + + + + Groovy source code + + + + + + + + + Gradle scripts + + + + + JNLP file + JNLP + Java Network Launching Protocol + + + + + + + + + Java keystore + + + + + + + + + Java JCE keystore + JCE + Java Cryptography Extension + + + + + + + Pack200 Java archive + + + + + + + + JavaScript program + + + + + + + + + + + + + + + + + + + + + + JSON document + JSON + JavaScript Object Notation + + + + + + JRD document + JRD + JSON Resource Descriptor + + + + + + JSON patch + JSON + JavaScript Object Notation + + + + + + JSON-LD document + JSON-LD + JavaScript Object Notation for Linked Data + + + + + + Jupyter notebook document + + + + + + + + + + + CoffeeScript document + + + + + + JBuilder project + + + + + + Karbon14 drawing + + + + + + + + + + + + + + + + + KChart chart + + + + + + + + + + + + + + + + + Kexi settings + + + + Kexi shortcut + + + + Kexi database file + + + + + Kexi database file + + + + + + + KFormula formula + + + + + + + + + + + + + + + + + KIllustrator drawing + + + + + + + + + + + + Kivio flowchart + + + + + + + + + + + + + + + + + Kontour drawing + + + + + + + + + + + + + + + + + KPovModeler scene + + + + + KPresenter presentation + + + + + + + + + + + + + + + + + + Krita document + + + + + + + + + + + + + + + + + KSpread spreadsheet + + + + + + + + + + + + + + + + + KSpread spreadsheet (encrypted) + + + + + + + KSysV init package + + + + + + + + + Kugar document + + + + + KWord document + + + + + + + + + + + + + + + + + + KWord document (encrypted) + + + + + + + LHA archive + + + + + + + + + + + + + + + + + + + + + LHZ archive + + + + + message catalog + + + + + + + + + + LyX document + + + + + + + + + + LZ4 archive + + + + + + + + + Tar archive (LZ4-compressed) + + + + + + Lzip archive + + + + + + + + Tar archive (lzip-compressed) + + + + + + PDF document (lzip-compressed) + + + + + + LZMA archive + LZMA + Lempel-Ziv-Markov chain-Algorithm + + + + + Tar archive (LZMA-compressed) + + + + + + + LZO archive + LZO + Lempel-Ziv-Oberhumer + + + + + + + + Qpress archive + + + + + + + + XAR archive + XAR + eXtensible ARchive + + + + + + + + + + Zlib archive + + + + + MagicPoint presentation + + + + + + Macintosh MacBinary file + + + + + + + Matroska stream + + + + + + + + + + + + + + Matroska video + + + + + Matroska 3D video + + + + + Matroska audio + + + + + WebM video + + + + + + + + + + + + + + WebM audio + + + + MHTML web archive + MHTML + MIME HTML + + + + + + MXF video + MXF + Material Exchange Format + + + + + + + + OCL file + OCL + Object Constraint Language + + + + + COBOL source code + COBOL + COmmon Business Oriented Language + + + + + + Mobipocket e-book + + + + + + + + + + + + + + Adobe FrameMaker MIF document + + + + Mozilla bookmarks + + + + + + + + + DOS/Windows executable + + + + + + + + Internet shortcut + + + + + + + + + + WRI document + + + + + MSX ROM + + + + + M4 macro + + + + + + Nintendo64 ROM + + + + + + + + + + + + + + + Nautilus link + + + + + + + + Neo-Geo Pocket ROM + + + + + + + + + + + Neo-Geo Pocket Color ROM + + + + + + + + + + + + NES ROM + + + + + + + + Unidata NetCDF document + NetCDF + Network Common Data Form + + + + + + NewzBin usenet index + + + + + + + + object code + + + + + + + + + + + + + + + + + Annodex exchange format + + + + + + + + + + + + + Annodex video + + + + + + + + + + + + + Annodex audio + + + + + + + + + + + + + Ogg multimedia file + + + + + + + + + Ogg audio + + + + + + + + + + + Ogg video + + + + + + + + + + Ogg Vorbis audio + + + + + + + + + + + + + Ogg FLAC audio + + + + + + + + + + + + + + + Opus audio + + + + + + + + + + Ogg Speex audio + + + + + + + + + + + + Speex audio + + + + + + + Ogg Theora video + + + + + + + + + + + OGM video + + + + + + + + + + + + OLE2 compound document storage + + + + + + + + Microsoft Publisher document + + + + + Windows Installer package + + + + + GNU Oleo spreadsheet + + + + + + + + PAK archive + + + + + + + + Palm OS database + + + + + + + + Parchive archive + Parchive + Parity Volume Set Archive + + + + + + + + + PEF executable + + + + + + + Perl script + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PHP script + + + + + + + + + + + + + PKCS#7 certificate bundle + PKCS + Public-Key Cryptography Standards + + + + + PKCS#12 certificate bundle + PKCS + Public-Key Cryptography Standards + + + + + + PlanPerfect spreadsheet + + + + + Pocket Word document + + + + + + + + profiler results + + + + + + Pathetic Writer document + + + + + Python bytecode + + + + + + + + QtiPlot document + + + + + + + + + + Quattro Pro spreadsheet + + + + + + + QuickTime playlist + + + + + + + + + + + + + + + Quicken document + + + + + RAR archive + RAR + Roshal ARchive + + + + + + + + + + DAR archive + + + + + + + + Alzip archive + + + + + + + + rejected patch + + + + + + + RPM package + + + + + + + + + Source RPM package + + + + + + + Ruby script + + + + + + + + + + + Markaby script + + + + + + Rust source code + + + + + SC/Xspread spreadsheet + + + + + + + shell archive + + + + + libtool shared library + + + + + + shared library + + + + + + + + + + + + + + + + + + + + shell script + + + + + + + + + + + + + + + + + + + + + Shockwave Flash file + + + + + + + + + + + + + Shorten audio + + + + + + + + + Siag spreadsheet + + + + + Skencil document + + + + + + + + Stampede package + + + + SG-1000 ROM + + + + + + Master System ROM + + + + + + Game Gear ROM + + + + + + + Super NES ROM + + + + + + + StuffIt archive + + + + + + + + + + + SubRip subtitles + + + + + + + + + + + + WebVTT subtitles + VTT + Video Text Tracks + + + + + + + + + SAMI subtitles + SAMI + Synchronized Accessible Media Interchange + + + + + + + + + + MicroDVD subtitles + + + + + + + + + + MPSub subtitles + MPSub + MPlayer Subtitle + + + + + + + + SSA subtitles + SSA + SubStation Alpha + + + + + + + + + + SubViewer subtitles + + + + + + + + iMelody ringtone + + + + + + + + + + SMAF audio + SMAF + Synthetic music Mobile Application Format + + + + + + + + + + MRML playlist + MRML + Multimedia Retrieval Markup Language + + + + + + + + XMF audio + XMF + eXtensible Music Format + + + + + + + + + + SV4 CPIO archive + + + + + SV4 CPIO archive (with CRC) + + + + + Tar archive + + + + + + + + + + + + Tar archive (compressed) + + + + + + + generic font file + + + + + packed font file + + + + + TGIF document + + + + + + + + theme + + + + + + ToutDoux document + + + + backup file + + + + + + + + Troff document + + + + + + + + + + + + + + + Manpage manual document + + + + + + manual page (compressed) + + + + Tar archive (LZO-compressed) + + + + + + + XZ archive + + + + + + + + Tar archive (XZ-compressed) + + + + + + + Zstandard archive + + + + + + + + Tar archive (Zstandard-compressed) + + + + + + + PDF document (XZ-compressed) + + + + + + Ustar archive + + + + + WAIS source code + + + + + + WordPerfect/Drawperfect image + + + + + Bandai WonderSwan ROM + + + + + Bandai WonderSwan Color ROM + + + + + DER/PEM/Netscape-encoded X.509 certificate + + + + + + + + empty document + + + Zoo archive + + + + + + + + XHTML page + XHTML + Extensible HyperText Markup Language + + + + + + + + + + + + + + + + Zip archive + + + + + + + + + + WIM disk image + WIM + Windows Imaging Format + + + + + + + + Dolby Digital audio + + + + + + + DTS audio + + + + + + + + + + + DTSHD audio + + + + + + + + + AMR audio + AMR + Adaptive Multi-Rate + + + + + + + + + AMR-WB audio + AMR-WB + Adaptive Multi-Rate Wideband + + + + + + + + + ULAW (Sun) audio + + + + + + + + Commodore 64 audio + + + + + + + + PCM audio + + + + + + + + + + + + + + + + + + AIFC audio + AIFC + Audio Interchange File format Compressed + + + + + + + + + + AIFF/Amiga/Mac audio + AIFF + Audio Interchange File Format + + + + + + + + + + Monkey's audio + + + + + + + Audible.Com audio + + + + + + + + + Audible Enhanced audio + + + + + + + Impulse Tracker audio + + + + + + + FLAC audio + + + + + + + + WavPack audio + + + + + + + + WavPack audio correction file + + + + + + + MIDI audio + + + + + + + + + + compressed Tracker audio + + + + + + + AAC audio + AAC + Advanced Audio Coding + + + + + + + + + + + USAC audio + USAC + Unified Speech and Audio Coding + + + + + MPEG-4 audio + + + + + + + + + + MPEG-4 ringtone + + + + + MPEG-4 video + + + + + + + + + + + + + + + + + MPEG-4 audio book + + + + + + + + + 3GPP multimedia file + 3GPP + 3rd Generation Partnership Project + + + + + + + + + + + + + + + + + + + + + 3GPP2 multimedia file + 3GPP2 + 3rd Generation Partnership Project 2 + + + + + + + + + + Amiga SoundTracker audio + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MP2 audio + + + + + MP3 audio + + + + + + + + + + + + + MP3 audio (streamed) + + + + + + + + + + + + + + + HTTP Live Streaming playlist + + + + + + + + + + + + Microsoft ASX playlist + + + + + + + + + + + + + + + + + PSF audio + PSF + Portable Sound Format + + + + + + + MiniPSF audio + MiniPSF + Miniature Portable Sound Format + + + + + PSFlib audio library + PSFlib + Portable Sound Format Library + + + + + Windows Media audio + + + + + + Musepack audio + + + + + + + + + + RealAudio document + + + + + + + RealMedia playlist + + + + RealVideo document + + + + + + RealMedia document + + + + + + + + + + + + + + RealPix document + + + + RealText document + + + + RIFF audio + + + RIFF container + + + + + + + Scream Tracker 3 audio + + + + + + + MP3 ShoutCast playlist + + + + + + + + + + + Scream Tracker audio + + + + + + + + + VOC audio + + + + WAV audio + + + + + + + + + + Scream Tracker instrument + + + + + + + FastTracker II audio + + + + + + + TrueAudio audio + + + + + + + + Windows BMP image + + + + + + + + + + + + + + + WBMP image + WBMP + WAP bitmap + + + + CGM image + CGM + Computer Graphics Metafile + + + + CCITT G3 fax image + + + + + GIF image + + + + + + + HEIF image + HEIF + High Efficiency Image File + + + + + + + + IEF image + + + + JPEG image + + + + + + + + + + + MJPEG video stream + MJPEG + Motion JPEG + + + + + + JPEG-2000 codestream + + + + + + + + + JPEG-2000 JP2 image + JP2 + JPEG-2000 + + + + + + + + + + + JPEG-2000 JPX image + JPX + JPEG-2000 eXtended + + + + + + + + JPEG-2000 JPM image + JPM + JPEG-2000 Mixed + + + + + + + + JPEG-2000 MJ2 video + MJ2 + Motion JPEG-2000 + + + + + + + + OpenRaster image + + + + + + + + + + + + DirectDraw surface + + + + + + + X11 cursor + + + + + + EXR image + + + + + + + Macintosh Quickdraw/PICT drawing + + + + + + + + + + + + + + + + + + + + + + + + + UFRaw ID image + UFRaw + Unidentified Flying Raw + + + + + + digital raw image + + + Adobe DNG negative + DNG + Digital Negative + + + + + + + + Canon CRW raw image + CRW + Canon RaW + + + + + + + + + Canon CR2 raw image + CR2 + Canon Raw 2 + + + + + + Fuji RAF raw image + RAF + RAw Format + + + + + + + + Kodak DCR raw image + DCR + Digital Camera Raw + + + + + + Kodak K25 raw image + K25 + Kodak DC25 + + + + + + Kodak KDC raw image + KDC + Kodak Digital Camera + + + + + + + + + Minolta MRW raw image + MRW + Minolta RaW + + + + + + + + Nikon NEF raw image + NEF + Nikon Electronic Format + + + + + + Olympus ORF raw image + ORF + Olympus Raw Format + + + + + + + + + + + + + Panasonic raw image + + + + + + + + + + Panasonic raw image + + + + + + + + + + Pentax PEF raw image + PEF + Pentax Electronic Format + + + + + + Sigma X3F raw image + X3F + X3 Foveon + + + + + + + + + + + + Sony SRF raw image + SRF + Sony Raw Format + + + + + + Sony SR2 raw image + SR2 + Sony Raw format 2 + + + + + + Sony ARW raw image + ARW + Alpha Raw format + + + + + + PNG image + + + + + + + RLE bitmap image + RLE + Run Length Encoded + + + + SVG image + SVG + Scalable Vector Graphics + + + + + + + + + + + + + + + + compressed SVG image + SVG + Scalable Vector Graphics + + + + + TIFF image + TIFF + Tagged Image File Format + + + + + + + + + Multi-page TIFF image + TIFF + Tagged Image File Format + + + + AutoCAD image + + + + DXF vector image + + + + + + + + MDI image + MDI + Microsoft Document Imaging + + + + + + + WebP image + + + + + + + + + 3D Studio image + + + + Applix Graphics image + + + + + + + + + EPS image (bzip-compressed) + + + + + + + CMU raster image + + + + compressed GIMP image + + + + + DICOM image + DICOM + Digital Imaging and Communications in Medicine + + + + + + + + + DocBook document + + + + + + + + + + + + + + + DIB image + DIB + Device Independent Bitmap + + + + + + DjVu image + + + + + + + + + + + + + + + DjVu document + + + + + + + + + + + + + + + DPX image + DPX + Digital Moving Picture Exchange + + + + + + EPS image + EPS + Encapsulated PostScript + + + + + + + + + + + + + + + + FITS document + FITS + Flexible Image Transport System + + + + + + + + FPX image + FPX + FlashPiX + + + + + + EPS image (gzip-compressed) + + + + + + + Windows icon + + + + + + + + + + + + + + + MacOS X icon + + + + + + + ILBM image + ILBM + InterLeaved BitMap + + + + + + + + + + + + JNG image + JNG + JPEG Network Graphics + + + + LightWave object + + + + + LightWave scene + + + + MacPaint Bitmap image + + + + Office drawing + + + + NIFF image + + + + + + PCX image + PCX + PiCture eXchange + + + + + + + + + + + + + PCD image + PCD + PhotoCD + + + + PNM image + + + + PBM image + PBM + Portable BitMap + + + + + + + + + + + + + + + + + + + PGM image + PGM + Portable GrayMap + + + + + + + + + + + + + + + + + + + PPM image + PPM + Portable PixMap + + + + + + + + + + + + + + + + + + + Photoshop image + + + + + + + + + + + + + RGB image + + + + SGI image + + + + Sun raster image + + + + + + + TGA image + TGA + Truevision Graphics Adapter + + + + + + + + + + + + + + + + + + + + + + + + Windows cursor + + + + + + + + + Windows animated cursor + + + + + + + + + EMF image + EMF + Enhanced MetaFile + + + + + + + + + + + + + + + + WMF image + WMF + Windows Metafile + + + + + + + + + + + + + + + + + + + + + + XBM image + XBM + X BitMap + + + + GIMP image + + + + + + + + GIMP brush + + + + + + + GIMP brush pipe + + + + GIMP pattern + + + + + + + XFig image + + + + + + + XPM image + XPM + X PixMap + + + + + + + + X window image + + + + block device + + + character device + + + folder + + + + + pipe + + + mount point + + + + socket + + + symbolic link + + + mail delivery report + + + + + mail disposition report + + + + + reference to remote file + + + + Usenet news message + + + + + + + + + + partial email message + + + + + email message + + + + + + + + + + + + + + + + + + GNU mail message + + + + + IGES document + IGES + Initial Graphics Exchange Specification + + + + + + + + + + + VRML document + VRML + Virtual Reality Modeling Language + + + + + + + + + + + message in several formats + + + Macintosh AppleDouble-encoded file + + + message digest + + + encrypted message + + + compound documents + + + compound document + + + mail system report + + + signed message + + + stream of data (server push) + + + VCS/ICS calendar + VCS/ICS + vCalendar/iCalendar + + + + + + + + + + + + CSS stylesheet + CSS + Cascading Style Sheets + + + + + electronic business card + + + + + + + + + + + + + + Turtle document + + + + + txt2tags document + + + + + + + + + Verilog source code + + + + + SystemVerilog header + + + + + SystemVerilog source code + + + + + VHDL source code + VHDL + Very-High-Speed Integrated Circuit Hardware Description Language + + + + + + enriched text document + + + + help page + + + + plain text document + + + + + + + + + + RDF file + RDF + Resource Description Framework + + + + + + + + + reStructuredText document + + + + + OWL XML file + OWL + Web Ontology Language + + + + + + + + + email headers + + + + rich text document + + + + + RSS summary + RSS + RDF Site Summary + + + + + + + + + + + Atom syndication feed + + + + + + + + + + OPML syndication feed + + + + + + + + + + SGML document + SGML + Standard Generalized Markup Language + + + + + + spreadsheet interchange document + + + + + + + + + TSV document + TSV + Tab Separated Values + + + + + Graphviz DOT graph + + + + + + + + + + + + JAD document + JAD + Java Application Descriptor + + + + + + + WML document + WML + Wireless Markup Language + + + + + WMLScript program + + + + WarpScript source code + + + + + ACE archive + + + + + + + + Ada source code + + + + + + author list + + + + + BibTeX document + + + + + + + + C++ header + + + + + + + + + C++ source code + + + + + + + + + ChangeLog document + + + + + C header + + + + + CMake source code + + + + + + Common Lisp source code + + + + + + + + CSV document + CSV + Comma Separated Values + + + + + + + CSV Schema document + CSV + Comma Separated Values + + + + + license terms + + + + + author credits + + + + + C source code + + + + + + + + + + + C# source code + + + + + Vala source code + + + + + + OOC source code + OOC + Out Of Class + + + + + DCL script + DCL + Data Conversion Laboratory + + + + + DSSSL document + DSSSL + Document Style Semantics and Specification Language + + + + + D source code + + + + + + DTD file + DTD + Document Type Definition + + + + + + + Eiffel source code + + + + + + Emacs Lisp source code + + + + + + + + + Erlang source code + + + + + Fortran source code + + + + + + + + Genie source code + + + + + + translation file + + + + + + + translation template + + + + + + + + + Gherkin document + + + + + HTML document + HTML + HyperText Markup Language + + + + + + + + + + + + + + + + + + + + + + + + + + + Web application cache file + + + + + + + + + + + + + Google Video Pointer shortcut + + + + + + + + + Haskell source code + + + + + IDL document + IDL + Interface Definition Language + + + + + installation instructions + + + + + Java source code + + + + + LDIF address book + LDIF + LDAP Data Interchange Format + + + + + + + + + Lilypond music sheet + + + + + LHS source code + LHS + Literate Haskell source code + + + + + application log + + + + + Makefile build file + + + + + + + + + + + + + Markdown document + + + + + + + + Qt MOC file + Qt MOC + Qt Meta Object Compiler + + + + + Windows Registry extract + + + + + + + + + + MOF file + MOF + Windows Managed Object File + + + + + Mup musical composition document + + + + + + + + + Objective-C source code + + + + + + + + OCaml source code + + + + + OpenCL source code + OpenCL + Open Computing Language + + + + + MATLAB file + + + + + + + + + + + + + + + Meson source code + + + + + + Modelica model + + + + + + + + + + + + + + + + + + + + Pascal source code + + + + + + differences between files + + + + + + + + + + + + + + + + + + + Go source code + + + + + SCons configuration file + + + + + + + Python 3 script + + + + + + + + + + + + + + + + + + + Python script + + + + + + + + + + + + + + + + + + + + Lua script + + + + + + + + + + + + README document + + + + + NFO document + + + + + RPM spec file + RPM + Red Hat Package Manager + + + + + + + + + Sass CSS pre-processor file + Sass + Syntactically Awesome Style Sheets + + + + + + Scala source code + + + + + Scheme source code + + + + + + SCSS pre-processor file + SCSS + Sassy CSS + + + + + + Setext document + + + + + SQL code + + + + + + Tcl script + + + + + + + TeX document + + + + + + + + + + + + + + + + + + TeXInfo document + + + + + + Troff ME input document + + + + + Troff MM input document + + + + + Troff MS input document + + + + + Twig template + + + + + + X-Motif UIL table + + + + + resource location + + + + + uuencoded file + + + + + + + + + VBScript program + + + + + + + XMI file + XMI + XML Metadata Interchange + + + + + + + XSL FO file + XSL FO + XSL Formatting Objects + + + + + + + iptables configuration file + + + + + + + + + + + + + + + + + + + + + + + + + D-Bus service file + + + + + + + + + systemd unit file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + XSLT stylesheet + XSLT + eXtensible Stylesheet Language Transformation + + + + + + + + + + + Maven description file + + + + + + + XMCD CD database + + + + + + + XML document + XML + eXtensible Markup Language + + + + + + + + + + + + + XML entities document + XML + eXtensible Markup Language + + + + + + + DV video + DV + Digital Video + + + + + + + ISI video + + + MPEG-2 transport stream + MPEG-2 TS + Moving Picture Experts Group 2 Transport Stream + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MPEG video + MPEG + Moving Picture Experts Group + + + + + + + + + + + + + + + + + + MPEG video (streamed) + + + + + + + + + + + QuickTime video + + + + + + + + + + + + + QuickTime image + + + + + + + + Khronos texture image + + + + + + + + + + + Vivo video + + + + + + Wavelet video + + + ANIM animation + + + + FLIC animation + + + + + + + + + + + Haansoft Hangul document + + + + + + + + + Haansoft Hangul document template + + + + + + MNG animation + MNG + Multiple-Image Network Graphics + + + + + + + ASF video + ASF + Advanced Streaming Format + + + + + + + + + + + Windows Media Station file + + + + + + + + + Windows Media video + + + + + AVI video + AVI + Audio Video Interleave + + + + + + + + + + + + + + + + + + + NullSoft video + + + + + + + SDP multicast stream file + SDP + Session Description Protocol + + + + + + + + + + + + + SGI video + + + + + + + eMusic download package + + + + + + + + KML geographic data + KML + Keyhole Markup Language + + + + + + KML geographic compressed data + KML + Keyhole Markup Language + + + + + GeoJSON geospatial data + + + + + + + GPX geographic data + GPX + GPS Exchange Format + + + + + + + + + + Citrix ICA settings file + ICA + Independent Computing Architecture + + + + + + XUL interface document + XUL + XML User interface markup Language + + + + + + + XPInstall installer module + + + + + Word 2007 document + + + + + + Word 2007 document template + + + + + + PowerPoint 2007 presentation + + + + + + PowerPoint 2007 slide + + + + + + PowerPoint 2007 show + + + + + + PowerPoint 2007 presentation template + + + + + + Excel 2007 spreadsheet + + + + + + Excel 2007 spreadsheet template + + + + + + T602 document + + + + + + + + + + Cisco VPN settings + + + + + + + + + + ICC profile + + + + + + + + IT 8.7 color calibration file + + + + + + + + + CCMX color correction file + + + + + + + + + WinHelp help file + + + + + + + + binary differences between files + + + + + + + + + + + digital photos + + + + + + + + Video CD + + + + + + + + Super Video CD + + + + + + + + video DVD + + + + + + + + + + + audio CD + + + + + blank CD disc + + + + + blank DVD disc + + + + + blank Blu-ray disc + + + + + blank HD DVD disc + + + + + audio DVD + + + + + + + + + Blu-ray video disc + + + + + + + + + HD DVD video disc + + + + + + + + + + e-book reader + + + + + + + + + Picture CD + + + + + + + + portable audio player + + + + + OSTree software updates + + + + + + + + + + software + + + + + UNIX software + + + + + + + + + + + Windows software + + + + + + + + + TriG RDF document + TriG + TriG RDF Graph Triple Language + + + + + + + Apple Keynote 5 presentation + + + + + + + + + + + + + Adobe PageMaker document + + + + + + + + + + Doom WAD file + WAD + Where's All the Data + + + + + + + + + + Amiga disk image + + + + + + + + Flatpak application bundle + + + + + + + + + + + + Flatpak repository description + + + + + + + + + + Flatpak repository reference + + + + + + + + + + Squashfs filesystem image + + + + + + + + + + AppImage application bundle + + + + + + + + + + + + + + + + + Snap package + + + + + + + STL 3D model + STL + StereoLithography + + + + + + + + + + + G-code file + + + + + + + Nintendo FDS disk image + FDS + Famicom Disk System + + + + + + + + QEMU QCOW disk image + QCOW + QEMU Copy On Write + + + + + + + + + + + AppleWorks document + + + + + + BPS patch + BPS + Binary Patching System + + + + + + + + IPS patch + IPS + International Patching System + + + + + + + + Pyspread spreadsheet + + + + + + + + Pyspread spreadsheet (bzip-compressed) + + + + + + + Kotlin source code + + + + + + AV1 Image File Format (AVIF) + + + + + + + + AVIF image sequence + + + + + + diff -Nru shared-mime-info-1.15/data/its/its20-elements.rng shared-mime-info-2.0/data/its/its20-elements.rng --- shared-mime-info-1.15/data/its/its20-elements.rng 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/data/its/its20-elements.rng 2020-05-06 14:11:14.039909000 +0000 @@ -0,0 +1,11 @@ + + + + + + + + + + + diff -Nru shared-mime-info-1.15/data/its/its20.rng shared-mime-info-2.0/data/its/its20.rng --- shared-mime-info-1.15/data/its/its20.rng 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/data/its/its20.rng 2020-05-06 14:11:14.039909000 +0000 @@ -0,0 +1,1613 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Version of ITS + + + + + + Version of ITS + + + + + + + + + + + + + + + + + + + + + simple + + + + + + + + + + + + + + + + + + + + + + xml:id + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Container for global rules + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Declaration of variable used in selectors + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Inline element to contain ITS information + + + + + + + + + + + + + + + + + + + + + + + Rule about the Translate data category + + + + + + + + + + + + + + + + + Rule about the Localization Note data category + + + + + + + + + + + + + + + + + + + + + + + + + + Localization note + + + + + + + + + + + + + + + + + + + + + Rule about the Terminology data category + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Rule about the Directionality data category + + + + + + + + + + + + + + + + + Rule about the Language Information data category + + + + + + + + + + + + + + + + + + + + + + Rule about the Elements Within Text data category + + + + + + + + + + + + + + + + + Rule about the Domain data category + + + + + + + + + + + + + + + + + + + + + + + + + Rule about the Disambiguation data category + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Rule about the LocaleFilter data category + + + + + + + + + + + + + + + + + + + + Rule about the Provenance data category + + + + + + + + + + + + + + + + + + + + + + Rule about the External Resource data category + + + + + + + + + + + + + + + + + + + + + + Rule about the Target Pointer data category + + + + + + + + + + + + + + + + + + + + + + Rule about the Id Value data category + + + + + + + + + + + + + + + + + + + + + + Rule about the Preserve Space data category + + + + + + + + + + + + + + + + + + default + preserve + + + + + + Rule about the Localization Quality Issue data category + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Rule about the MT Confidence data category + + + + + + + + + + + + + + + + + Rule about the Allowed Characters data category + + + + + + + + + + + + + + + + + + + + + + + + + Rule about the Allowed Characters data category + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Standoff markup for Provenance data category + + + + + + + + + + + + + + + + + Provenance record used in Provenance standoff markup + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Standoff markup for Localization Quality Issue data category + + + + + + + + + + + + + + + + + Issue recorded in Localization Quality standoff markup + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru shared-mime-info-1.15/data/its/its20-types.rng shared-mime-info-2.0/data/its/its20-types.rng --- shared-mime-info-1.15/data/its/its20-types.rng 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/data/its/its20-types.rng 2020-05-06 14:11:14.039909000 +0000 @@ -0,0 +1,324 @@ + + + + Version of ITS + + [0-9]+\.[0-9]+ + + + + The query language to be used for processing the rules + + xpath + css + + + + + + Absolute selector + + + + + Relative selector + + + + + + + + 0 + 1 + + + + The Translate data category information to be attached to the current node + + yes + The nodes need to be translated + no + The nodes must not be translated + + + + + + + The type of localization note + + alert + Localization note is an alert + description + Localization note is a description + + + + + + + + + + Indicates a term locally + + yes + The value 'yes' means that this is a term + no + The value 'no' means that this is not a term + + + + + + + The text direction for the context + + ltr + Left-to-right text + rtl + Right-to-left text + lro + Left-to-right override + rlo + Right-to-left override + + + + States whether current context is regarded as "within text" + + yes + The element and its content are part of the flow of its parent element + no + The element splits the text flow of its parent element and its content is an independent text flow + nested + The element is part of the flow of its parent element, its content is an independent flow + + + + A comma separated list of mappings between values in the content +and workflow specific values. The values may contain spaces; in +that case they MUST be delimited by quotation marks. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + include + exclude + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + default + preserve + + + + + + + + + + + terminology + mistranslation + omission + untranslated + addition + duplication + inconsistency + grammar + legal + register + locale-specific-content + locale-violation + style + characters + misspelling + typographical + formatting + inconsistent-entities + numbers + markup + pattern-problem + whitespace + internationalization + length + non-conformance + uncategorized + other + + + + + + + + + + + + + + 0 + 100 + + + + + + + + + + + + + + yes + no + + + + + 0 + 100 + + + + + + + + 0 + 100 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + cr + lf + crlf + + + + + + diff -Nru shared-mime-info-1.15/data/its/LICENSE.md shared-mime-info-2.0/data/its/LICENSE.md --- shared-mime-info-1.15/data/its/LICENSE.md 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/data/its/LICENSE.md 2020-05-06 14:11:14.039909000 +0000 @@ -0,0 +1,4 @@ +The RelaxNG schemas in this directory are available under +under [the W3C Test Suite License](http://www.w3.org/Consortium/Legal/2008/04-testsuite-license.html). + +See https://github.com/w3c/its-2.0-testsuite#licensing-information diff -Nru shared-mime-info-1.15/data/its/shared-mime-info.its shared-mime-info-2.0/data/its/shared-mime-info.its --- shared-mime-info-1.15/data/its/shared-mime-info.its 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/data/its/shared-mime-info.its 2020-05-06 14:11:14.040908800 +0000 @@ -0,0 +1,9 @@ + + + + + + diff -Nru shared-mime-info-1.15/data/its/shared-mime-info.loc shared-mime-info-2.0/data/its/shared-mime-info.loc --- shared-mime-info-1.15/data/its/shared-mime-info.loc 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/data/its/shared-mime-info.loc 2020-05-06 14:11:14.040908800 +0000 @@ -0,0 +1,6 @@ + + + + + + diff -Nru shared-mime-info-1.15/data/meson.build shared-mime-info-2.0/data/meson.build --- shared-mime-info-1.15/data/meson.build 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/data/meson.build 2020-05-06 14:11:14.040908800 +0000 @@ -0,0 +1,41 @@ + +install_man('update-mime-database.1') + +freedesktop_org_xml = custom_target('freedesktop.org.xml', + input : files( + 'freedesktop.org.xml.in', + 'its/shared-mime-info.its', + 'its/shared-mime-info.loc', + ), + output: 'freedesktop.org.xml', + command: [ + find_program('freedesktop_generate.sh'), + meson.source_root(), + meson.build_root() + ], + install: true, + install_dir: get_option('datadir') / 'mime' / 'packages', +) + +install_data( + [ 'its/shared-mime-info.loc', 'its/shared-mime-info.its', ], + install_dir : get_option('datadir') / 'gettext/its' +) + +custom_target('shared-mime-info-spec-html', + input : 'shared-mime-info-spec.xml', + output: 'shared-mime-info-spec-html', + command: [ + xmlto, + '-o', '@OUTPUT@', + 'html-nochunks', + '@INPUT@', + ], + build_by_default: true, +) + +pkgconfig.generate( + name: 'shared-mime-info', + description: 'Freedesktop common MIME database', + version: meson.project_version(), +) diff -Nru shared-mime-info-1.15/data/shared-mime-info-spec.xml shared-mime-info-2.0/data/shared-mime-info-spec.xml --- shared-mime-info-1.15/data/shared-mime-info-spec.xml 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/data/shared-mime-info-spec.xml 2020-05-06 14:11:14.041908700 +0000 @@ -0,0 +1,1117 @@ + + + +]> +
+ + + + + + X Desktop Group + + + + Thomas + Leonard + +
tal197 at users.sf.net
+
+
+
+ + Shared MIME-info Database + &updated; +
+ + + Introduction + + Version + +This is version &version; of the Shared MIME-info Database specification, last updated &updated;. + + + What is this spec? + +Many programs and desktops use the MIME systemMIME +to represent the types of files. Frequently, it is necessary to work out the +correct MIME type for a file. This is generally done by examining the file's +name or contents, and looking up the correct MIME type in a database. + + +It is also useful to store information about each type, such as a textual +description of it, or a list of applications that can be used to view or edit +files of that type. + + +For interoperability, it is useful for different programs to use the same +database so that different programs agree on the type of a file and +information is not duplicated. It is also helpful for application authors to +only have to install new information in one place. + + +This specification attempts to unify the MIME database systems currently in +use by GNOMEGNOME, KDEKDE and +ROXROX, and provide room for future extensibility. + + +The MIME database does NOT store user preferences (such as a user's preferred +application for handling files of a particular type). It may be used to store +static information, such as that files of a certain type may be viewed with +a particular application. + + + + Language used in this specification + +The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", +"SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be +interpreted as described in RFC 2119RFC-2119. + + + + + + Unified system + +In discussions about the previous systems used by GNOME, KDE and ROX (see the +"History and related systems" document), it was clear that the differences +between the databases were simply a result of them being separate, and not due +to any fundamental disagreements between developers. Everyone is keen to see +them merged. + + +This specification proposes: + + + +A standard way for applications to install new MIME related information. + + +A standard way of getting the MIME type for a file. + + +A standard way of getting information about a MIME type. + + +Standard locations for all the files, and methods of resolving conflicts. + + +Further, the existing databases have been merged into a single package +SharedMIME. + + + Directory layout + +There are two important requirements for the way the MIME database is stored: + + +Applications must be able to extend the database in any way when they are installed, +to add both new rules for determining type, and new information about specific types. + + +It must be possible to install applications in /usr, /usr/local and the user's home directory +(in the normal Unix way) and have the MIME information used. + + + + +This specification uses the XDG Base Directory SpecificationBaseDir to +define the prefixes below which the database is stored. +In the rest of this document, paths shown with the prefix +<MIME> indicate the files should be loaded from +the mime subdirectory of every directory in +XDG_DATA_HOME:XDG_DATA_DIRS. + + +For example, when using the default paths, Load all the +<MIME>/text/html.xml files means to +load /usr/share/mime/text/html.xml, +/usr/local/share/mime/text/html.xml, and +~/.local/share/mime/text/html.xml (if they exist, and in this order). +Information found in a directory is added to the information found in previous +directories, except when glob-deleteall or magic-deleteall +is used to overwrite parts of a mimetype definition. + + +Each application that wishes to contribute to the MIME database will install a +single XML file, named after the application, into one of the three +<MIME>/packages/ directories (depending on where the user requested +the application be installed). After installing, uninstalling or modifying this +file, the application MUST run the update-mime-database command, +which is provided by the freedesktop.org shared databaseSharedMIME. + + +update-mime-database is passed the mime +directory containing the packages subdirectory which was +modified as its only argument. It scans all the XML files in the packages +subdirectory, combines the information in them, and creates a number of output files. + + +Where the information from these files is conflicting, information from directories +lower in the list takes precedence. +Any file named Override.xml takes precedence over all other files in +the same packages directory. This can be used by +tools which let the user edit the database to ensure that the user's +changes take effect. + + +The files created by update-mime-database are: + + +<MIME>/globs (contains a mapping from names to MIME types) [deprecated for globs2] + + +<MIME>/globs2 (contains a mapping from names to MIME types and glob weight) + + +<MIME>/magic (contains a mapping from file contents to MIME types) + + +<MIME>/subclasses (contains a mapping from MIME types to types they inherit from) + + +<MIME>/aliases (contains a mapping from aliases to MIME types) + + +<MIME>/icons (contains a mapping from MIME types to icons) + + +<MIME>/generic-icons (contains a mapping from MIME types to generic icons) + + +<MIME>/XMLnamespaces (contains a mapping from XML +(namespaceURI, localName) pairs to MIME types) + + +<MIME>/MEDIA/SUBTYPE.xml (one file for each MIME +type, giving details about the type, including comment, icon and generic-icon) + + +<MIME>/mime.cache (contains the same information as the globs2, +magic, subclasses, aliases, +icons, generic-icons and XMLnamespaces files, +in a binary, mmappable format) + + +The format of these generated files and the source files in packages +are explained in the following sections. This step serves several purposes. First, it allows +applications to quickly get the data they need without parsing all the source XML files (the +base package alone is over 700K). Second, it allows the database to be used for other +purposes (such as creating the /etc/mime.types file if +desired). Third, it allows validation to be performed on the input data, +and removes the need for other applications to carefully check the input for +errors themselves. + + + + The source XML files + +Each application provides only a single XML source file, which is installed in the +packages directory as described above. This file is an XML file +whose document element is named mime-info and whose namespace URI +is . All elements +described in this specification MUST have this namespace too. + +The document element may contain zero or more mime-type child nodes, +in any order, each describing a single MIME type. Each element has a type +attribute giving the MIME type that it describes. + +Each mime-type node may contain any combination of the following elements, +and in any order: + + +glob elements have a pattern attribute. Any file +whose name matches this pattern will be given this MIME type (subject to conflicting rules in +other files, of course). There is also an optional weight attribute which +is used when resolving conflicts with other glob matches. The default weight value is 50, and +the maximum is 100. + + +KDE's glob system replaces GNOME's and ROX's ext/regex fields, since it +is trivial to detect a pattern in the form '*.ext' and store it in an +extension hash table internally. The full power of regular expressions was +not being used by either desktop, and glob patterns are more suitable for +filename matching anyway. + + +The first glob element represents the "main" extension for the file type. +While this doesn't affect the mimetype matching algorithm, this information can be useful +when a single main extension is needed for a mimetype, for instance so that applications +can choose an appropriate extension when saving a file. + + +A glob-deleteall element, which indicates that patterns from +previously parsed directories must be discarded. The patterns defined in this file +(if any) are used instead. + + +magic elements contain a list of +match elements, any of which may match, and an optional +priority attribute for all of the contained rules. Low +numbers should be used for more generic types (such as 'gzip compressed data') +and higher values for specific subtypes (such as a word processor format that +happens to use gzip to compress the file). The default priority value is 50, and +the maximum is 100. + +Each match element has a number of attributes: + + + + AttributeRequired?Value + + + typeYes +string, host16, +host32, big16, +big32, little16, +little32 or byte. + + + offsetYesThe byte offset(s) + in the file to check. This may be a single number or a range in the + form `start:end', indicating that all offsets in the range should be + checked. The range is inclusive. + + valueYes + The value to compare the file contents with, in the format indicated by the type + attribute. The string type supports the C character escapes (\0, \t, \n, \r, \xAB for hex, \777 for octal). + + + maskNo + The number to AND the value in the file with before comparing it to + `value'. Masks for numerical types can be any number, while masks for strings + must be in base 16, and start with 0x. + + + + + +Each element corresponds to one line of +file +1's magic.mime file. +They can be nested in the same way to provide the equivalent of continuation +lines. That is, ]]> means 'a and (b or c)'. + + +A magic-deleteall element, which indicates that magic matches from +previously parsed directories must be discarded. The magic defined in this file +(if any) is used instead. + + +alias elements indicate that the type is also sometimes +known by another name, given by the type attribute. For +example, audio/midi has an alias of +audio/x-midi. Note that there should not be a +mime-type element defining each alias; a single +element defines the canonical name for the type and lists all its aliases. + + +sub-class-of elements indicate that any data of this +type is also some other type, given by the type +attribute. See . + + +comment elements give a human-readable textual description of the MIME +type, usually composed of an acronym of the file name extension and a short description, like +"ODS spreadsheet". +There may be many of these elements with different xml:lang attributes +to provide the text in multiple languages. + + +acronym elements give experienced users a terse idea of the document contents. +for example "ODS", "GEDCOM", "JPEG" and "XML". + + +expanded-acronym elements are the expanded versions of the acronym elements, +for example "OpenDocument Spreadsheet", "GEnealogical Data COMmunication", and "eXtensible Markup Language". +The purpose of these elements is to provide users a way to look up information on various MIME types or +file formats in third-party resources. + + +icon elements specify the icon to be used for this particular mime-type, given +by the name attribute. Generally the icon used for a mimetype is created +based on the mime-type by mapping "/" characters to "-", but users can override this by using +the icon element to customize the icon for a particular mimetype. +This element is not used in the system database, but only used in the user overridden database. +Only one icon element is allowed. + + +generic-icon elements specify the icon to use as a generic icon for this +particular mime-type, given by the name attribute. This is used if there +is no specific icon (see icon for how these are found). These are +used for categories of similar types (like spreadsheets or archives) that can use a common icon. +The Icon Naming Specification lists a set of such icon names. If this element is not specified +then the mimetype is used to generate the generic icon by using the top-level media type (e.g. +"video" in "video/ogg") and appending "-x-generic" (i.e. "video-x-generic" in the previous example). +Only one generic-icon element is allowed. + + +root-XML elements have namespaceURI +and localName attributes. If a file is identified as being an XML file, +these rules allow a more specific MIME type to be chosen based on the namespace and localname +of the document element. + +If localName is present but empty then the document element may have +any name, but the namespace must still match. + + +treemagic elements contain a list of treematch elements, +any of which may match, and an optional priority attribute for all of the +contained rules. The default priority value is 50, and the maximum is 100. + +Each treematch element has a number of attributes: + + + + AttributeRequired?Value + + + pathYesA path that must be present on the mounted volume/filesystem. The path is interpreted as a relative path starting at the root of the tested volume/filesystem + + typeNoThe type of path. Possible values: file, directory, link + + match-caseNoWhether path should be matched case-sensitively. Possible values: true, false + + executableNoWhether the file must be executable. Possible values: true, false + + non-emptyNoWhether the directory must be non-empty. Possible values: true, false + + mimetypeNoThe mimetype for the file at path + + + + +treematch elements can be nested, meaning that both the outer and the inner treematch +must be satisfied for a "match". + + +Applications may also define their own elements, provided they are namespaced to prevent collisions. +Unknown elements are copied directly to the output XML files like comment +elements. A typical use for this would be to indicate the default handler +application for a particular desktop +("Galeon is the GNOME default text/html browser"). Note that this doesn't +indicate the user's preferred application, only the (fixed) default. + + +Here is an example source file, named diff.xml: + + + + Differences between files + verskille tussen lêers + ... + + + + + + + + + +]]> + +In practice, common types such as text/x-diff are provided by the freedesktop.org shared +database. Also, only new information needs to be provided, since this information will be merged +with other information about the same type. + + + + The MEDIA/SUBTYPE.xml files + +These files have a mime-type element as the root node. The format is +as described above. They are created by merging all the mime-type +elements from the source files and creating one output file per MIME type. Each file may contain +information from multiple source files. The magic, +glob and root-XML elements will +have been removed. + + +The example source file given above would (on its own) create an output file called +<MIME>/text/x-diff.xml containing the following: + + + + Differences between files + verskille tussen lêers + ... + + +]]> + + + + The glob files + +The globs2 file is a simple list of lines containing weight, MIME type and pattern, separated by a colon. +The lines are ordered by glob weight. +For example: + + + +The glob file is a simple list of lines containing a MIME type and pattern, separated by a colon. It is +deprecated in favour of the globs2 file which also lists the weight of the glob rule. +The lines are ordered by glob weight. +For example: + + + +Applications MUST match globs case-insensitively, except when the case-sensitive attribute +is set to true. +This is so that e.g. main.C will be seen as a C++ file, +but IMAGE.GIF will still use the *.gif pattern. + + +If several patterns of the same weight match then the longest pattern SHOULD be used. +In particular, files with multiple extensions (such as +Data.tar.gz) MUST match the longest sequence of extensions +(eg '*.tar.gz' in preference to '*.gz'). Literal patterns (eg, 'Makefile') must +be matched before all others. It is suggested that patterns beginning with `*.' +and containing no other special characters (`*?[') should be placed in a hash +table for efficient lookup, since this covers the majority of the patterns. Thus, +patterns of this form should be matched before other wildcarded patterns. + + +If a matching pattern is provided by two or more MIME types, applications +SHOULD not rely on one of them. They are instead supposed to use magic data +(see below) to detect the actual MIME type. This is for instance required to +deal with container formats like Ogg or AVI, that map various video and/or +audio-encoded data to one extension. + + +There may be several rules mapping to the same type. They should all be merged. +If the same pattern is defined twice, then they MUST be ordered by the +directory the rule came from, as described above. + + +The glob-deleteall element, which means that implementations +SHOULD discard information from previous directories, is written out into the globs2 file using +__NOGLOBS__ as the pattern. For instance: + + + +In the above example, the mimetype text/x-diff is redefined (for instance in a user's +~/.local/share/mime) to only be associated with the pattern *.diff, so the other patterns +like *.patch were removed. The weight in front of the __NOGLOBS__ line is ignored. +In a given globs2 file, the __NOGLOBS__ line for a given mimetype is always written +out before any other globs for this mimetype. + + +Lines beginning with `#' are comments and should be ignored. Everything from +the `:' character to the newline is part of the pattern; spaces should not be +stripped. The file is in the UTF-8 encoding. The format of the glob pattern +is as for fnmatch(3). The format does not allow a pattern to contain a literal +newline character, but this is not expected to be a problem. + + +Common types (such as MS Word Documents) will be provided in the X Desktop +Group's package, which MUST be required by all applications using this +specification. Since each application will then only be providing information +about its own types, conflicts should be rare. + + +The fourth field ("cs" in the first globs2 example) contains a list of comma-separated flags. +The flags currently defined are: cs (for case-sensitive). Implementations should ignore +unknown flags. + + +Implementations should also ignore further fields, so that the syntax of the globs2 file +can be extended in the future. Example: "50:text/x-c++src:*.C:cs,newflag:newfeature:somethingelse" +should currently be parsed as "50:text/x-c++src:*.C:cs". + + + + The magic files + +The magic data is stored in a binary format for ease of parsing. The old magic database +had complex escaping rules; these are now handled by update-mime-database. + +The file starts with the magic string "MIME-Magic\0\n". +There is no version number in the file. Incompatible changes will be handled by +creating both the current `magic' file and a newer `magic2' in the new format. +Where possible, compatible changes only will be made. +All numbers are big-endian, so need to be byte-swapped on little-endian machines. + +The rest of the file is made up of a sequence of small sections. +Each section is introduced by giving the priority and type in brackets, followed by +a newline character. Higher priority entries come first. Example: +[50:text/x-diff]\n +Each line in the section takes the form: +[ indent ] ">" start-offset "=" value +[ "&" mask ] [ "~" word-size ] [ "+" range-length ] "\n" + + + PartExampleMeaning + + + indent1The nesting + depth of the rule, corresponding to the number of '>' characters in the traditional file format. + ">" start-offset>4The offset into the + file to look for a match. + "=" value=\0x0\0x2\0x55\0x40 + Two bytes giving the (big-endian) length of the value, followed by the value itself. + + "&" mask&\0xff\0xf0 + The mask, which (if present) is exactly the same length as the value. + + "~" word-size~2On little-endian machines, the + size of each group to byte-swap. + "+" range-length+8The length of the region + in the file to check. + + + + + +Note that the value, value length and mask are all binary, whereas everything +else is textual. Each of the elements begins with a single character to +identify it, except for the indent level. + +The word size is used for byte-swapping. Little-endian systems should reverse +the order of groups of bytes in the value and mask if this is greater than one. +This only affects `host' matches (`big32' entries still have a word size of 1, +for example, because no swapping is necessary, whereas `host32' has a word size +of 4). + +The indent, range-length, word-size and mask components are optional. If +missing, indent defaults to 0, range-length to 1, the word-size to 1, and the +mask to all 'one' bits. + +Indent corresponds to the nesting depth of the rule. Top-level rules have an +indent of zero. The parent of an entry is the preceding entry with an indent +one less than the entry. + +If an unknown character is found where a newline is expected then the whole +line should be ignored (there will be no binary data after the new +character, so the next line starts after the next "\n" character). This is for +future extensions. + +The text/x-diff above example would (on its own) create this magic file: + 0=| +00000020 00 05 64 69 66 66 09 0a 3e 30 3d 00 04 2a 2a 2a |..diff..>0=..***| +00000030 09 0a 3e 30 3d 00 17 43 6f 6d 6d 6f 6e 20 73 75 |..>0=..Common su| +00000040 62 64 69 72 65 63 74 6f 72 69 65 73 3a 20 0a |bdirectories: .| +]]> + + +The magic-deleteall attribute, which means that implementations +SHOULD discard information from previous directories, is written out into the magic file using +__NOMAGIC__ as the value: +>0=__NOMAGIC__\n +This can be followed by other magic rules for the mimetype. + + + + The XMLnamespaces files + +Each XMLnamespaces file is a list of lines in the form: +namespaceURI " " localName " " MIME-Type "\n" +For example: + +http://www.w3.org/1999/xhtml html application/xhtml+xml + +The lines are sorted (using strcmp in the C locale) and there are no lines with the same namespaceURI and +localName in one file. If the localName was empty then there will be two spaces following +the namespaceURI. + + + + The icon files + +The icons and generic-icons files are list of lines in the form: +MIME-Type ":" icon-name "\n" +For example: + +application/msword:x-office-document + + + + + The treemagic files + +The tree magic data is stored in a file with a format that is very similar to the magic file format. + + +The file starts with the magic string "MIME-TreeMagic\0\n". There is no version number in the file. +Incompatible changes will be handled by creating both the current `treemagic' and a newer `treemagic2' +in the new format. Where possible, changes will be made in a compatible fashion. + + +The rest of the file is made up of a sequence of small sections. Each section is introduced by giving +the priority and type in brackets, followed by a newline character. Higher priority entries come +first. Example: +[50:x-content/image-dcf]\n +Each line in the section takes the form: +[ indent ] ">" "\"" path "\"" "=" type [ "," option ]* "\n" + + + PartMeaning + + + indentThe nesting depth of the rule. + pathThe path to match. + typeThe required file type, one of "file", "directory", "link" or "any" + optionOptional for the optional attributes of treematch elements. +Possible values are "executable", "match-case", "non-empty", or a MIME type + + + + + + + + The mime.cache files + +The mime.cache files contain the same information as the +globs2, magic, subclasses, +aliases and XMLnamespaces files, in a binary, +mmappable format: + + +Header: +2 CARD16 MAJOR_VERSION 1 +2 CARD16 MINOR_VERSION 2 +4 CARD32 ALIAS_LIST_OFFSET +4 CARD32 PARENT_LIST_OFFSET +4 CARD32 LITERAL_LIST_OFFSET +4 CARD32 REVERSE_SUFFIX_TREE_OFFSET +4 CARD32 GLOB_LIST_OFFSET +4 CARD32 MAGIC_LIST_OFFSET +4 CARD32 NAMESPACE_LIST_OFFSET +4 CARD32 ICONS_LIST_OFFSET +4 CARD32 GENERIC_ICONS_LIST_OFFSET + +AliasList: +4 CARD32 N_ALIASES +8*N_ALIASES AliasListEntry + +AliasListEntry: +4 CARD32 ALIAS_OFFSET +4 CARD32 MIME_TYPE_OFFSET + +ParentList: +4 CARD32 N_ENTRIES +8*N_ENTRIES ParentListEntry + +ParentListEntry: +4 CARD32 MIME_TYPE_OFFSET +4 CARD32 PARENTS_OFFSET + +Parents: +4 CARD32 N_PARENTS +4*N_PARENTS CARD32 MIME_TYPE_OFFSET + +LiteralList: +4 CARD32 N_LITERALS +12*N_LITERALS LiteralEntry + +LiteralEntry: +4 CARD32 LITERAL_OFFSET +4 CARD32 MIME_TYPE_OFFSET +4 CARD32 WEIGHT in lower 8 bits + FLAGS in rest: + 0x100 = case-sensitive + + +GlobList: +4 CARD32 N_GLOBS +12*N_GLOBS GlobEntry + +GlobEntry: +4 CARD32 GLOB_OFFSET +4 CARD32 MIME_TYPE_OFFSET +4 CARD32 WEIGHT in lower 8 bits + FLAGS in rest: + 0x100 = case-sensitive + +ReverseSuffixTree: +4 CARD32 N_ROOTS +4 CARD32 FIRST_ROOT_OFFSET + +ReverseSuffixTreeNode: +4 CARD32 CHARACTER +4 CARD32 N_CHILDREN +4 CARD32 FIRST_CHILD_OFFSET + +ReverseSuffixTreeLeafNode: +4 CARD32 0 +4 CARD32 MIME_TYPE_OFFSET +4 CARD32 WEIGHT in lower 8 bits + FLAGS in rest: + 0x100 = case-sensitive + +MagicList: +4 CARD32 N_MATCHES +4 CARD32 MAX_EXTENT +4 CARD32 FIRST_MATCH_OFFSET + +Match: +4 CARD32 PRIORITY +4 CARD32 MIME_TYPE_OFFSET +4 CARD32 N_MATCHLETS +4 CARD32 FIRST_MATCHLET_OFFSET + +Matchlet: +4 CARD32 RANGE_START +4 CARD32 RANGE_LENGTH +4 CARD32 WORD_SIZE +4 CARD32 VALUE_LENGTH +4 CARD32 VALUE_OFFSET +4 CARD32 MASK_OFFSET (0 if no mask) +4 CARD32 N_CHILDREN +4 CARD32 FIRST_CHILD_OFFSET + +NamespaceList: +4 CARD32 N_NAMESPACES +12*N_NAMESPACES NamespaceEntry + +NamespaceEntry: +4 CARD32 NAMESPACE_URI_OFFSET +4 CARD32 LOCAL_NAME_OFFSET +4 CARD32 MIME_TYPE_OFFSET + +GenericIconsList: +IconsList: +4 CARD32 N_ICONS +8*N_ICONS IconListEntry + +IconListEntry: +4 CARD32 MIME_TYPE_OFFSET +4 CARD32 ICON_NAME_OFFSET + + +Lists in the file are sorted, to enable binary searching. The list of +aliases is sorted by alias, the list of literal globs is sorted by the +literal. The SuffixTreeNode siblings are sorted by character. +The list of namespaces is sorted by namespace uri. The list of icons +is sorted by mimetype. + + +Mimetypes are stored in the suffix tree by appending suffix +tree leaf nodes with '\0' as character. These nodes appear at the +beginning of the list of children. + + +All offsets are in bytes from the beginning of the file. + + +Strings are zero-terminated. + + +All numbers are in network (big-endian) order. This is necessary because the data will be stored in +arch-independent directories like /usr/share/mime or even in user's home directories. + + +Cache files have to be written atomically - write to a temporary name, then move over the old file - so +that clients that have the old cache file open and mmap'ed won't get corrupt data. + + + + Storing the MIME type using Extended Attributes + +An implementation MAY also get a file's MIME type from the +user.mime_type extended attribute. The type given here should normally be used in +preference to any guessed type, since the user is able to set it explicitly. +Applications MAY choose to set the type when saving files. Since many +applications and filesystems do not support extended attributes, +implementations MUST NOT rely on this method being available. + + + + Subclassing + +A type is a subclass of another type if any instance of the first type is +also an instance of the second. For example, all image/svg+xml files are also +application/xml, text/plain and application/octet-stream files. Subclassing is about +the format, rather than the category of the data (for example, there is no +'generic spreadsheet' class that all spreadsheets inherit from). + + +Some subclass rules are implicit: + +All text/* types are subclasses of text/plain. +All streamable types (ie, everything except the inode/* types) +are subclasses of application/octet-stream. + +In addition to these rules, explicit subclass information may be given using +the sub-class-of element. + + +Note that some file formats are also compressed files (application/x-jar files +are also application/zip files). However, this is different to a case such as a +compressed postscript file, which is not a valid postscript file itself (so +application/x-gzpostscript does not inherit from application/postscript, +because an application that can handle the latter may not cope with the +former). + + +Some types may or may not be instances of other types. For example, a +spreadsheet file may be compressed or not. It is a valid spreadsheet file +either way, but only inherits from application/gzip in one case. This +information cannot be represented statically; instead an application +interested in this information should run all of the magic rules, and +use the list of types returned as the subclasses. + + +Note that it is possible for a mime-type to be a sub-class-of +an alias, for example if a temporary vendor mime-type is replaced by an official IANA +mime-type. + + + + Recommended checking order + +Because different applications have different requirements, they may choose to +use the various methods provided by this specification in any order. However, the +RECOMMENDED order to perform the checks is: + + +If a MIME type is provided explicitly (eg, by a ContentType HTTP header, a MIME +email attachment, an extended attribute or some other means) then that should +be used instead of guessing. + + + +Otherwise, start by doing a glob match of the filename. Keep only globs with the biggest weight. +If the patterns are different, keep only globs with the longest pattern, as previously discussed. +If after this, there is one or more matching glob, and all the matching globs +result in the same mimetype, use that mimetype as the result. + + + +If the glob matching fails or results in multiple conflicting mimetypes, read the +contents of the file and do magic sniffing on it. If no magic rule matches the data (or if +the content is not available), use the default type of application/octet-stream for +binary data, or text/plain for textual data. If there was no glob match, use the magic match +as the result. + +Note: Checking the first 128 bytes of the file for ASCII control characters is +a good way to guess whether a file is binary or text, but note that files with high-bit-set +characters should still be treated as text since these can appear in UTF-8 text, +unlike control characters. + + + +If any of the mimetypes resulting from a glob match is equal to or a subclass of +the result from the magic sniffing, use this as the result. This allows us for example to +distinguish text files called "foo.doc" from MS-Word files with the same name, as the +magic match for the MS-Word file would be application/x-ole-storage which the MS-Word type +inherits. + + + +Otherwise use the result of the glob match that has the highest weight. + + + + +There are several reasons for checking the glob patterns before the magic. +First of all doing magic sniffing is very expensive as reading the contents of the files +causes a lot of seeks, which is very expensive. Secondly, some applications don't check +the magic at all (sometimes the content is not available or too slow to read), and this +makes it more likely that both will get the same type. + + +Also, users can easily understand why calling their +text file README.mp3 makes the system think it's an MP3, +whereas they have trouble understanding why their computer thinks +README.txt is a PostScript file. If the system guesses wrongly, +the user can often rename the file to fix the problem. + + + + Non-regular files + +Sometimes it is useful to assign MIME types to other objects in the filesystem, +such as directories, sockets and device files. This could be useful when looking up +an icon for a type, or for providing a textual description of one of these objects. +The media type 'inode' is provided for this purpose, with the following types corresponding +to the standard types of object found in a Unix filesystem: + + + inode/blockdevice + inode/chardevice + inode/directory + inode/fifo + inode/mount-point + inode/socket + inode/symlink + + +An inode/mount-point is a subclass of inode/directory. It can be useful when adding extra +actions for these directories, such as 'mount' or 'eject'. Mounted directories can be +detected by comparing the 'st_dev' of a directory with that of its parent. If +they differ, they are from different devices and the directory is a mount +point. + + + + Content types for volumes + +Traditional MIME types apply to individual files or bytestreams. It is often useful +to apply the same methodologies when classifying the content of mountable volumes or +filesystems. The x-content type has been introduced for this purpose. Typical examples +are x-content/audio-dvd, x-content/blank-cd or x-content/image-dcf. + + +Matching of content types works with treemagic elements, which +are analogous to the magic elements used for MIME type matching. +Instead of looking for byte sequences in files, treemagic elements +allow to look for files with certain names, permissions or mime types in a directory +hierarchy. + + + + URI scheme handlers + +URI scheme handling (such as a movie player handling mms:// URIs, or a Podcast program +handling feed:// URIs) are handled through applications handling the x-scheme-handler/foo +mime-type, where foo is the URI scheme in question. + + +This scheme allows URI scheme handling to enjoy the same benefits as mime-type handlers, +such as the ability to change the default handler, the cross-desktop support, and +easier application launching. + + +Note that this virtual mime-type is not for listing URI schemes that an application +can load files from. For example, a movie player would not list x-scheme-handler/http +in its supported mime-types, but it would list x-scheme-handler/rtsp if it supported +playing back from RTSP locations. + + + + Security implications + +The system described in this document is intended to allow different programs +to see the same file as having the same type. This is to help interoperability. +The type determined in this way is only a guess, and an application MUST NOT +trust a file based simply on its MIME type. For example, a downloader should +not pass a file directly to a launcher application without confirmation simply +because the type looks `harmless' (eg, text/plain). + + +Do not rely on two applications getting the same type for the same file, even +if they both use this system. The spec allows some leeway in implementation, +and in any case the programs may be following different versions of the spec. + + + + User modification + +The MIME database is NOT intended to store user preferences. Users should never +edit the database. If they wish to make corrections or provide MIME entries for +software that doesn't provide these itself, they should do so by means of the +Override.xml mentioned in . Information such as +"text/html files need to be opened with Mozilla" should NOT go in the database. + + + + + + Contributors + + + Thomas Leonard tal197 at users.sf.net + + + David Faure faure at kde.org + + + Alex Larsson alexl at redhat.com + + + Seth Nickell snickell at stanford.edu + + + Keith Packard keithp at keithp.com + + + Filip Van Raemdonck mechanix at debian.org + + + Christos Zoulas christos at zoulas.com + + + Matthias Clasen mclasen at redhat.com + + + Bastien Nocera hadess at hadess.net + + + + + + References + + + GNOMEThe GNOME desktop, + + + + KDEThe KDE desktop, + + + + ROXThe ROX desktop, + + + + DesktopEntriesDesktop Entry Specification, + + + + + SharedMIMEShared MIME-info Database, + + + + + RFC-2119 + Key words for use in RFCs to Indicate Requirement Levels, + + + + + BaseDir + XDG Base Directory Specification + + + + + ACAP + ACAP Media Type Dataset Class + + + + + +
diff -Nru shared-mime-info-1.15/data/update-mime-database.1 shared-mime-info-2.0/data/update-mime-database.1 --- shared-mime-info-1.15/data/update-mime-database.1 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/data/update-mime-database.1 2020-05-06 14:11:14.041908700 +0000 @@ -0,0 +1,66 @@ +.\" Hey, Emacs! This is an -*- nroff -*- source file. +.\" +.\" (c) 2001 Filip Van Raemdonck +.\" +.\" This manpage is in the public domain. +.\" + +.TH update-mime-database 1 "26 Jul 2002" "Filip Van Raemdonck" "X Desktop Group" + +.SH NAME +update-mime-database \- a program to build the Shared MIME-Info database cache + +.SH SYNOPSIS +.B update-mime-database \-h +| +.B \-v +| [ +.B \-V +| +.B \-n +] +.I MIME-DIR + +.SH DESCRIPTION +.B update-mime-database +is a program which is responsible for updating the shared mime-info cache +according to the system described in the +.UR http://www.freedesktop.org/wiki/Specifications/shared-mime-info-spec +Shared MIME-Info Database specification +.UE +from the X Desktop Group. + +.SH OPTIONS +.TP +\fB\-h\fR +Print out a command summary. +.TP +\fB\-v\fR +Print out the version information. +.TP +\fB\-V\fR +Be verbose. +.TP +\fB\-n\fR +Only update if \fBMIME-DIR\fR/packages/ or a file in that directory +is newer than \fBMIME-DIR\fR/version. This is useful for package pre- +and post-installation scripts. + +.SH ARGUMENTS +.TP +\fBMIME-DIR\fR +This is the directory for which +.B update-mime-database +should rebuild the cache. Mandatory if none of the options is provided. + +.SH AUTHOR +Filip Van Raemdonck (mechanix@debian.org) wrote this manpage for the +Debian GNU/Linux project, but it may be used by others. + +.SH LICENCE +Copyright (C) 2002 Thomas Leonard. +.br +You may redistribute copies of +.B update-mime-database +under the terms of the GNU General Public License. + diff -Nru shared-mime-info-1.15/debian/changelog shared-mime-info-2.0/debian/changelog --- shared-mime-info-1.15/debian/changelog 2020-03-24 15:58:21.000000000 +0000 +++ shared-mime-info-2.0/debian/changelog 2020-10-09 17:26:56.000000000 +0000 @@ -1,3 +1,20 @@ +shared-mime-info (2.0-1) unstable; urgency=medium + + [ Olivier Tilloy ] + * New upstream release. Closes: #965986. + * debian/control: add build dependencies on meson and xmlto + * debian/shared-mime-info.docs, debian/rules: updates to reflect where data + files are now stored upstream + * debian/patches/make-pc-file-dataonly.patch: make the pc file + architecture-independent + * debian/patches/upstream-fix-pkg-config-installation-path.patch: cherry-pick + an upstream commit to fix the pc file's installation path + + [ Emilio Pozuelo Monfort ] + * Add lintian override for test file with no source. + + -- Emilio Pozuelo Monfort Fri, 09 Oct 2020 19:26:56 +0200 + shared-mime-info (1.15-1) unstable; urgency=medium * New upstream release. Closes: #954669. diff -Nru shared-mime-info-1.15/debian/control shared-mime-info-2.0/debian/control --- shared-mime-info-1.15/debian/control 2020-03-24 15:58:21.000000000 +0000 +++ shared-mime-info-2.0/debian/control 2020-10-09 17:26:56.000000000 +0000 @@ -12,6 +12,8 @@ libglib2.0-dev (>= 2.6.0), libxml2-dev (>= 2.4), libxml2-utils, + meson (>= 0.54.0), + xmlto, Standards-Version: 4.1.1 Vcs-Git: https://salsa.debian.org/freedesktop-team/shared-mime-info.git Vcs-Browser: https://salsa.debian.org/freedesktop-team/shared-mime-info diff -Nru shared-mime-info-1.15/debian/patches/make-pc-file-dataonly.patch shared-mime-info-2.0/debian/patches/make-pc-file-dataonly.patch --- shared-mime-info-1.15/debian/patches/make-pc-file-dataonly.patch 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/debian/patches/make-pc-file-dataonly.patch 2020-10-09 17:26:56.000000000 +0000 @@ -0,0 +1,35 @@ +Description: Mark the pc file as data-only. +Author: Olivier Tilloy +Forwarded: https://gitlab.freedesktop.org/xdg/shared-mime-info/-/merge_requests/92 + +--- a/data/meson.build ++++ b/data/meson.build +@@ -38,5 +38,6 @@ pkgconfig.generate( + name: 'shared-mime-info', + description: 'Freedesktop common MIME database', + version: meson.project_version(), ++ dataonly: true, + install_dir: get_option('datadir') / 'pkgconfig' + ) +--- a/meson.build ++++ b/meson.build +@@ -2,7 +2,7 @@ + project('shared-mime-info', + 'c', + version: '2.0', +- meson_version: '>=0.49.0' ++ meson_version: '>=0.54.0' + ) + + config = configuration_data() +--- a/shared-mime-info.pc.in ++++ /dev/null +@@ -1,8 +0,0 @@ +-prefix=@prefix@ +- +-Name: shared-mime-info +-Description: Freedesktop common MIME database +-Version: @VERSION@ +-Requires: +-Libs: +-Cflags: diff -Nru shared-mime-info-1.15/debian/patches/series shared-mime-info-2.0/debian/patches/series --- shared-mime-info-1.15/debian/patches/series 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/debian/patches/series 2020-10-09 17:26:56.000000000 +0000 @@ -0,0 +1,2 @@ +upstream-fix-pkg-config-installation-path.patch +make-pc-file-dataonly.patch diff -Nru shared-mime-info-1.15/debian/patches/upstream-fix-pkg-config-installation-path.patch shared-mime-info-2.0/debian/patches/upstream-fix-pkg-config-installation-path.patch --- shared-mime-info-1.15/debian/patches/upstream-fix-pkg-config-installation-path.patch 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/debian/patches/upstream-fix-pkg-config-installation-path.patch 2020-10-09 17:26:56.000000000 +0000 @@ -0,0 +1,22 @@ +From 6bf9e4ff0fb7eff11a02bd937045bf5dc291841a Mon Sep 17 00:00:00 2001 +From: Bastien Nocera +Date: Wed, 6 May 2020 16:48:47 +0200 +Subject: [PATCH] data: Fix pkg-config installation path + +--- + data/meson.build | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/data/meson.build b/data/meson.build +index 25ce031e..e22b5447 100644 +--- a/data/meson.build ++++ b/data/meson.build +@@ -38,4 +38,5 @@ pkgconfig.generate( + name: 'shared-mime-info', + description: 'Freedesktop common MIME database', + version: meson.project_version(), ++ install_dir: get_option('datadir') / 'pkgconfig' + ) +-- +GitLab + diff -Nru shared-mime-info-1.15/debian/rules shared-mime-info-2.0/debian/rules --- shared-mime-info-1.15/debian/rules 2020-03-24 15:58:21.000000000 +0000 +++ shared-mime-info-2.0/debian/rules 2020-10-09 17:26:56.000000000 +0000 @@ -4,13 +4,9 @@ %: dh $@ --no-parallel -override_dh_auto_configure: - dh_auto_configure -- \ - --disable-update-mimedb - override_dh_install: - docbook2pdf shared-mime-info-spec.xml - docbook2html -o shared-mime-info-spec.html shared-mime-info-spec.xml + docbook2pdf -o data data/shared-mime-info-spec.xml + docbook2html -o data/shared-mime-info-spec.html data/shared-mime-info-spec.xml dh_install override_dh_compress: @@ -18,4 +14,4 @@ override_dh_clean: dh_clean - rm -rf shared-mime-info-spec.html shared-mime-info-spec.pdf + rm -rf data/shared-mime-info-spec.html data/shared-mime-info-spec.pdf diff -Nru shared-mime-info-1.15/debian/shared-mime-info.docs shared-mime-info-2.0/debian/shared-mime-info.docs --- shared-mime-info-1.15/debian/shared-mime-info.docs 2020-03-24 15:58:21.000000000 +0000 +++ shared-mime-info-2.0/debian/shared-mime-info.docs 2020-10-09 17:26:56.000000000 +0000 @@ -1,5 +1,5 @@ NEWS -README -shared-mime-info-spec.xml -shared-mime-info-spec.pdf -shared-mime-info-spec.html +README.md +data/shared-mime-info-spec.xml +data/shared-mime-info-spec.pdf +data/shared-mime-info-spec.html diff -Nru shared-mime-info-1.15/debian/source/lintian-overrides shared-mime-info-2.0/debian/source/lintian-overrides --- shared-mime-info-1.15/debian/source/lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/debian/source/lintian-overrides 2020-10-09 17:26:56.000000000 +0000 @@ -0,0 +1,2 @@ +# test file to verify MIME magic +shared-mime-info: source-is-missing tests/mime-detection/subshapes.swf diff -Nru shared-mime-info-1.15/depcomp shared-mime-info-2.0/depcomp --- shared-mime-info-1.15/depcomp 2019-09-16 15:52:37.000000000 +0000 +++ shared-mime-info-2.0/depcomp 1970-01-01 00:00:00.000000000 +0000 @@ -1,791 +0,0 @@ -#! /bin/sh -# depcomp - compile a program generating dependencies as side-effects - -scriptversion=2018-03-07.03; # UTC - -# Copyright (C) 1999-2018 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# Originally written by Alexandre Oliva . - -case $1 in - '') - echo "$0: No command. Try '$0 --help' for more information." 1>&2 - exit 1; - ;; - -h | --h*) - cat <<\EOF -Usage: depcomp [--help] [--version] PROGRAM [ARGS] - -Run PROGRAMS ARGS to compile a file, generating dependencies -as side-effects. - -Environment variables: - depmode Dependency tracking mode. - source Source file read by 'PROGRAMS ARGS'. - object Object file output by 'PROGRAMS ARGS'. - DEPDIR directory where to store dependencies. - depfile Dependency file to output. - tmpdepfile Temporary file to use when outputting dependencies. - libtool Whether libtool is used (yes/no). - -Report bugs to . -EOF - exit $? - ;; - -v | --v*) - echo "depcomp $scriptversion" - exit $? - ;; -esac - -# Get the directory component of the given path, and save it in the -# global variables '$dir'. Note that this directory component will -# be either empty or ending with a '/' character. This is deliberate. -set_dir_from () -{ - case $1 in - */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;; - *) dir=;; - esac -} - -# Get the suffix-stripped basename of the given path, and save it the -# global variable '$base'. -set_base_from () -{ - base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'` -} - -# If no dependency file was actually created by the compiler invocation, -# we still have to create a dummy depfile, to avoid errors with the -# Makefile "include basename.Plo" scheme. -make_dummy_depfile () -{ - echo "#dummy" > "$depfile" -} - -# Factor out some common post-processing of the generated depfile. -# Requires the auxiliary global variable '$tmpdepfile' to be set. -aix_post_process_depfile () -{ - # If the compiler actually managed to produce a dependency file, - # post-process it. - if test -f "$tmpdepfile"; then - # Each line is of the form 'foo.o: dependency.h'. - # Do two passes, one to just change these to - # $object: dependency.h - # and one to simply output - # dependency.h: - # which is needed to avoid the deleted-header problem. - { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile" - sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile" - } > "$depfile" - rm -f "$tmpdepfile" - else - make_dummy_depfile - fi -} - -# A tabulation character. -tab=' ' -# A newline character. -nl=' -' -# Character ranges might be problematic outside the C locale. -# These definitions help. -upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ -lower=abcdefghijklmnopqrstuvwxyz -digits=0123456789 -alpha=${upper}${lower} - -if test -z "$depmode" || test -z "$source" || test -z "$object"; then - echo "depcomp: Variables source, object and depmode must be set" 1>&2 - exit 1 -fi - -# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. -depfile=${depfile-`echo "$object" | - sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} -tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} - -rm -f "$tmpdepfile" - -# Avoid interferences from the environment. -gccflag= dashmflag= - -# Some modes work just like other modes, but use different flags. We -# parameterize here, but still list the modes in the big case below, -# to make depend.m4 easier to write. Note that we *cannot* use a case -# here, because this file can only contain one case statement. -if test "$depmode" = hp; then - # HP compiler uses -M and no extra arg. - gccflag=-M - depmode=gcc -fi - -if test "$depmode" = dashXmstdout; then - # This is just like dashmstdout with a different argument. - dashmflag=-xM - depmode=dashmstdout -fi - -cygpath_u="cygpath -u -f -" -if test "$depmode" = msvcmsys; then - # This is just like msvisualcpp but w/o cygpath translation. - # Just convert the backslash-escaped backslashes to single forward - # slashes to satisfy depend.m4 - cygpath_u='sed s,\\\\,/,g' - depmode=msvisualcpp -fi - -if test "$depmode" = msvc7msys; then - # This is just like msvc7 but w/o cygpath translation. - # Just convert the backslash-escaped backslashes to single forward - # slashes to satisfy depend.m4 - cygpath_u='sed s,\\\\,/,g' - depmode=msvc7 -fi - -if test "$depmode" = xlc; then - # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information. - gccflag=-qmakedep=gcc,-MF - depmode=gcc -fi - -case "$depmode" in -gcc3) -## gcc 3 implements dependency tracking that does exactly what -## we want. Yay! Note: for some reason libtool 1.4 doesn't like -## it if -MD -MP comes after the -MF stuff. Hmm. -## Unfortunately, FreeBSD c89 acceptance of flags depends upon -## the command line argument order; so add the flags where they -## appear in depend2.am. Note that the slowdown incurred here -## affects only configure: in makefiles, %FASTDEP% shortcuts this. - for arg - do - case $arg in - -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; - *) set fnord "$@" "$arg" ;; - esac - shift # fnord - shift # $arg - done - "$@" - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile" - exit $stat - fi - mv "$tmpdepfile" "$depfile" - ;; - -gcc) -## Note that this doesn't just cater to obsosete pre-3.x GCC compilers. -## but also to in-use compilers like IMB xlc/xlC and the HP C compiler. -## (see the conditional assignment to $gccflag above). -## There are various ways to get dependency output from gcc. Here's -## why we pick this rather obscure method: -## - Don't want to use -MD because we'd like the dependencies to end -## up in a subdir. Having to rename by hand is ugly. -## (We might end up doing this anyway to support other compilers.) -## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like -## -MM, not -M (despite what the docs say). Also, it might not be -## supported by the other compilers which use the 'gcc' depmode. -## - Using -M directly means running the compiler twice (even worse -## than renaming). - if test -z "$gccflag"; then - gccflag=-MD, - fi - "$@" -Wp,"$gccflag$tmpdepfile" - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - echo "$object : \\" > "$depfile" - # The second -e expression handles DOS-style file names with drive - # letters. - sed -e 's/^[^:]*: / /' \ - -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" -## This next piece of magic avoids the "deleted header file" problem. -## The problem is that when a header file which appears in a .P file -## is deleted, the dependency causes make to die (because there is -## typically no way to rebuild the header). We avoid this by adding -## dummy dependencies for each header file. Too bad gcc doesn't do -## this for us directly. -## Some versions of gcc put a space before the ':'. On the theory -## that the space means something, we add a space to the output as -## well. hp depmode also adds that space, but also prefixes the VPATH -## to the object. Take care to not repeat it in the output. -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - tr ' ' "$nl" < "$tmpdepfile" \ - | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ - | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -hp) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -sgi) - if test "$libtool" = yes; then - "$@" "-Wp,-MDupdate,$tmpdepfile" - else - "$@" -MDupdate "$tmpdepfile" - fi - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - - if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files - echo "$object : \\" > "$depfile" - # Clip off the initial element (the dependent). Don't try to be - # clever and replace this with sed code, as IRIX sed won't handle - # lines with more than a fixed number of characters (4096 in - # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; - # the IRIX cc adds comments like '#:fec' to the end of the - # dependency line. - tr ' ' "$nl" < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \ - | tr "$nl" ' ' >> "$depfile" - echo >> "$depfile" - # The second pass generates a dummy entry for each header file. - tr ' ' "$nl" < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ - >> "$depfile" - else - make_dummy_depfile - fi - rm -f "$tmpdepfile" - ;; - -xlc) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -aix) - # The C for AIX Compiler uses -M and outputs the dependencies - # in a .u file. In older versions, this file always lives in the - # current directory. Also, the AIX compiler puts '$object:' at the - # start of each line; $object doesn't have directory information. - # Version 6 uses the directory in both cases. - set_dir_from "$object" - set_base_from "$object" - if test "$libtool" = yes; then - tmpdepfile1=$dir$base.u - tmpdepfile2=$base.u - tmpdepfile3=$dir.libs/$base.u - "$@" -Wc,-M - else - tmpdepfile1=$dir$base.u - tmpdepfile2=$dir$base.u - tmpdepfile3=$dir$base.u - "$@" -M - fi - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" - do - test -f "$tmpdepfile" && break - done - aix_post_process_depfile - ;; - -tcc) - # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26 - # FIXME: That version still under development at the moment of writing. - # Make that this statement remains true also for stable, released - # versions. - # It will wrap lines (doesn't matter whether long or short) with a - # trailing '\', as in: - # - # foo.o : \ - # foo.c \ - # foo.h \ - # - # It will put a trailing '\' even on the last line, and will use leading - # spaces rather than leading tabs (at least since its commit 0394caf7 - # "Emit spaces for -MD"). - "$@" -MD -MF "$tmpdepfile" - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'. - # We have to change lines of the first kind to '$object: \'. - sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile" - # And for each line of the second kind, we have to emit a 'dep.h:' - # dummy dependency, to avoid the deleted-header problem. - sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile" - rm -f "$tmpdepfile" - ;; - -## The order of this option in the case statement is important, since the -## shell code in configure will try each of these formats in the order -## listed in this file. A plain '-MD' option would be understood by many -## compilers, so we must ensure this comes after the gcc and icc options. -pgcc) - # Portland's C compiler understands '-MD'. - # Will always output deps to 'file.d' where file is the root name of the - # source file under compilation, even if file resides in a subdirectory. - # The object file name does not affect the name of the '.d' file. - # pgcc 10.2 will output - # foo.o: sub/foo.c sub/foo.h - # and will wrap long lines using '\' : - # foo.o: sub/foo.c ... \ - # sub/foo.h ... \ - # ... - set_dir_from "$object" - # Use the source, not the object, to determine the base name, since - # that's sadly what pgcc will do too. - set_base_from "$source" - tmpdepfile=$base.d - - # For projects that build the same source file twice into different object - # files, the pgcc approach of using the *source* file root name can cause - # problems in parallel builds. Use a locking strategy to avoid stomping on - # the same $tmpdepfile. - lockdir=$base.d-lock - trap " - echo '$0: caught signal, cleaning up...' >&2 - rmdir '$lockdir' - exit 1 - " 1 2 13 15 - numtries=100 - i=$numtries - while test $i -gt 0; do - # mkdir is a portable test-and-set. - if mkdir "$lockdir" 2>/dev/null; then - # This process acquired the lock. - "$@" -MD - stat=$? - # Release the lock. - rmdir "$lockdir" - break - else - # If the lock is being held by a different process, wait - # until the winning process is done or we timeout. - while test -d "$lockdir" && test $i -gt 0; do - sleep 1 - i=`expr $i - 1` - done - fi - i=`expr $i - 1` - done - trap - 1 2 13 15 - if test $i -le 0; then - echo "$0: failed to acquire lock after $numtries attempts" >&2 - echo "$0: check lockdir '$lockdir'" >&2 - exit 1 - fi - - if test $stat -ne 0; then - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - # Each line is of the form `foo.o: dependent.h', - # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. - # Do two passes, one to just change these to - # `$object: dependent.h' and one to simply `dependent.h:'. - sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" - # Some versions of the HPUX 10.20 sed can't process this invocation - # correctly. Breaking it into two sed invocations is a workaround. - sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \ - | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -hp2) - # The "hp" stanza above does not work with aCC (C++) and HP's ia64 - # compilers, which have integrated preprocessors. The correct option - # to use with these is +Maked; it writes dependencies to a file named - # 'foo.d', which lands next to the object file, wherever that - # happens to be. - # Much of this is similar to the tru64 case; see comments there. - set_dir_from "$object" - set_base_from "$object" - if test "$libtool" = yes; then - tmpdepfile1=$dir$base.d - tmpdepfile2=$dir.libs/$base.d - "$@" -Wc,+Maked - else - tmpdepfile1=$dir$base.d - tmpdepfile2=$dir$base.d - "$@" +Maked - fi - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile1" "$tmpdepfile2" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" - do - test -f "$tmpdepfile" && break - done - if test -f "$tmpdepfile"; then - sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile" - # Add 'dependent.h:' lines. - sed -ne '2,${ - s/^ *// - s/ \\*$// - s/$/:/ - p - }' "$tmpdepfile" >> "$depfile" - else - make_dummy_depfile - fi - rm -f "$tmpdepfile" "$tmpdepfile2" - ;; - -tru64) - # The Tru64 compiler uses -MD to generate dependencies as a side - # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'. - # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put - # dependencies in 'foo.d' instead, so we check for that too. - # Subdirectories are respected. - set_dir_from "$object" - set_base_from "$object" - - if test "$libtool" = yes; then - # Libtool generates 2 separate objects for the 2 libraries. These - # two compilations output dependencies in $dir.libs/$base.o.d and - # in $dir$base.o.d. We have to check for both files, because - # one of the two compilations can be disabled. We should prefer - # $dir$base.o.d over $dir.libs/$base.o.d because the latter is - # automatically cleaned when .libs/ is deleted, while ignoring - # the former would cause a distcleancheck panic. - tmpdepfile1=$dir$base.o.d # libtool 1.5 - tmpdepfile2=$dir.libs/$base.o.d # Likewise. - tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504 - "$@" -Wc,-MD - else - tmpdepfile1=$dir$base.d - tmpdepfile2=$dir$base.d - tmpdepfile3=$dir$base.d - "$@" -MD - fi - - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" - do - test -f "$tmpdepfile" && break - done - # Same post-processing that is required for AIX mode. - aix_post_process_depfile - ;; - -msvc7) - if test "$libtool" = yes; then - showIncludes=-Wc,-showIncludes - else - showIncludes=-showIncludes - fi - "$@" $showIncludes > "$tmpdepfile" - stat=$? - grep -v '^Note: including file: ' "$tmpdepfile" - if test $stat -ne 0; then - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - echo "$object : \\" > "$depfile" - # The first sed program below extracts the file names and escapes - # backslashes for cygpath. The second sed program outputs the file - # name when reading, but also accumulates all include files in the - # hold buffer in order to output them again at the end. This only - # works with sed implementations that can handle large buffers. - sed < "$tmpdepfile" -n ' -/^Note: including file: *\(.*\)/ { - s//\1/ - s/\\/\\\\/g - p -}' | $cygpath_u | sort -u | sed -n ' -s/ /\\ /g -s/\(.*\)/'"$tab"'\1 \\/p -s/.\(.*\) \\/\1:/ -H -$ { - s/.*/'"$tab"'/ - G - p -}' >> "$depfile" - echo >> "$depfile" # make sure the fragment doesn't end with a backslash - rm -f "$tmpdepfile" - ;; - -msvc7msys) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -#nosideeffect) - # This comment above is used by automake to tell side-effect - # dependency tracking mechanisms from slower ones. - -dashmstdout) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout, regardless of -o. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do - shift - done - shift - fi - - # Remove '-o $object'. - IFS=" " - for arg - do - case $arg in - -o) - shift - ;; - $object) - shift - ;; - *) - set fnord "$@" "$arg" - shift # fnord - shift # $arg - ;; - esac - done - - test -z "$dashmflag" && dashmflag=-M - # Require at least two characters before searching for ':' - # in the target name. This is to cope with DOS-style filenames: - # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise. - "$@" $dashmflag | - sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile" - rm -f "$depfile" - cat < "$tmpdepfile" > "$depfile" - # Some versions of the HPUX 10.20 sed can't process this sed invocation - # correctly. Breaking it into two sed invocations is a workaround. - tr ' ' "$nl" < "$tmpdepfile" \ - | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ - | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -dashXmstdout) - # This case only exists to satisfy depend.m4. It is never actually - # run, as this mode is specially recognized in the preamble. - exit 1 - ;; - -makedepend) - "$@" || exit $? - # Remove any Libtool call - if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do - shift - done - shift - fi - # X makedepend - shift - cleared=no eat=no - for arg - do - case $cleared in - no) - set ""; shift - cleared=yes ;; - esac - if test $eat = yes; then - eat=no - continue - fi - case "$arg" in - -D*|-I*) - set fnord "$@" "$arg"; shift ;; - # Strip any option that makedepend may not understand. Remove - # the object too, otherwise makedepend will parse it as a source file. - -arch) - eat=yes ;; - -*|$object) - ;; - *) - set fnord "$@" "$arg"; shift ;; - esac - done - obj_suffix=`echo "$object" | sed 's/^.*\././'` - touch "$tmpdepfile" - ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" - rm -f "$depfile" - # makedepend may prepend the VPATH from the source file name to the object. - # No need to regex-escape $object, excess matching of '.' is harmless. - sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" - # Some versions of the HPUX 10.20 sed can't process the last invocation - # correctly. Breaking it into two sed invocations is a workaround. - sed '1,2d' "$tmpdepfile" \ - | tr ' ' "$nl" \ - | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ - | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" "$tmpdepfile".bak - ;; - -cpp) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do - shift - done - shift - fi - - # Remove '-o $object'. - IFS=" " - for arg - do - case $arg in - -o) - shift - ;; - $object) - shift - ;; - *) - set fnord "$@" "$arg" - shift # fnord - shift # $arg - ;; - esac - done - - "$@" -E \ - | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ - -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ - | sed '$ s: \\$::' > "$tmpdepfile" - rm -f "$depfile" - echo "$object : \\" > "$depfile" - cat < "$tmpdepfile" >> "$depfile" - sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -msvisualcpp) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do - shift - done - shift - fi - - IFS=" " - for arg - do - case "$arg" in - -o) - shift - ;; - $object) - shift - ;; - "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") - set fnord "$@" - shift - shift - ;; - *) - set fnord "$@" "$arg" - shift - shift - ;; - esac - done - "$@" -E 2>/dev/null | - sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" - rm -f "$depfile" - echo "$object : \\" > "$depfile" - sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile" - echo "$tab" >> "$depfile" - sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -msvcmsys) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -none) - exec "$@" - ;; - -*) - echo "Unknown depmode $depmode" 1>&2 - exit 1 - ;; -esac - -exit 0 - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC0" -# time-stamp-end: "; # UTC" -# End: diff -Nru shared-mime-info-1.15/freedesktop.org.xml.in shared-mime-info-2.0/freedesktop.org.xml.in --- shared-mime-info-1.15/freedesktop.org.xml.in 2019-10-30 10:43:59.000000000 +0000 +++ shared-mime-info-2.0/freedesktop.org.xml.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,7321 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -]> - - - - - - Atari 2600 ROM - - - - - Atari 7800 ROM - - - - - - - - Atari Lynx ROM - - - - - - - - ATK inset - ATK - Andrew Toolkit - - - - - electronic book document - - - - - - - - - - - - - - Kindle book document - - - - - - - Adobe Illustrator document - - - - - - Macintosh BinHex-encoded file - - - - - - - Mathematica Notebook file - - - - - - - - - - - - MathML document - MathML - Mathematical Markup Language - - - - - - - mailbox file - - - - - - - - - Metalink file - - - - - - - - - Metalink file - - - - - - - - - unknown - - - Partially downloaded file - - - - - - - ODA document - ODA - Office Document Architecture - - - - - WWF document - - - - - - - PDF document - PDF - Portable Document Format - - - - - - - - - - - - XSPF playlist - XSPF - XML Shareable Playlist Format - - - - - - - - - - - - Microsoft Windows theme pack - - - - - - AmazonMP3 download file - - - - GSM 06.10 audio - GSM - Global System for Mobile communications - - - - iRiver playlist - - - - - - - PGP/MIME-encrypted message header - - - - - - - - - - - - PGP keys - PGP - Pretty Good Privacy - - - - - - - - - - - - - - - - - - - detached OpenPGP signature - - - - - - - - - - - - - PKCS#7 file - PKCS - Public-Key Cryptography Standards - - - - - - detached S/MIME signature - S/MIME - Secure/Multipurpose Internet Mail Extensions - - - - - - PKCS#8 private key - PKCS - Public-Key Cryptography Standards - - - - PKCS#8 private key (encrypted) - PKCS - Public-Key Cryptography Standards - - - - PKCS#10 certification request - PKCS - Public-Key Cryptography Standards - - - - - X.509 certificate - - - - certificate revocation list - - - - PkiPath certification path - - - - PostScript document - - - - - - - - - - Plucker document - - - - - - - RAML document - RAML - RESTful API Modeling Language - - - - - - - - RELAX NG XML schema - RELAX NG - REgular LAnguage for XML Next Generation - - - - - - - RTF document - RTF - Rich Text Format - - - - - - - - - - Sieve mail filter script - - - - - - SMIL document - SMIL - Synchronized Multimedia Integration Language - - - - - - - - - - - - - - - - WPL playlist - WPL - Windows Media Player Playlist - - - - - - - - SQLite2 database - - - - - - - SQLite3 database - - - - - - - - GEDCOM family history - GEDCOM - GEnealogical Data COMmunication - - - - - - - - - - Flash video - - - - - - - - - - - JavaFX video - - - - - - - - - - SGF record - SGF - Smart Game Format - - - - - - - - - - XLIFF translation file - XLIFF - XML Localization Interchange File Format - - - - - - - - - - - - YAML document - YAML - YAML Ain't Markup Language - - - - - - - - - - - - Corel Draw drawing - - - - - - - - - - - - - - - HPGL file - HPGL - HP Graphics Language - - - - - PCL file - PCL - HP Printer Control Language - - - - - Lotus 1-2-3 spreadsheet - - - - - - - - - - - - - - - - - Lotus Word Pro document - - - - - - - - JET database - JET - Joint Engine Technology - - - - - - - - - - - - - - - Microsoft Cabinet archive - - - - - - - - - Excel spreadsheet - - - - - - - - - - - - - - - - - - Excel add-in - - - - - - Excel 2007 binary spreadsheet - - - - - - Excel spreadsheet - - - - - - Excel spreadsheet template - - - - - - PowerPoint presentation - - - - - - - - - - - PowerPoint add-in - - - - - PowerPoint presentation - - - - - - PowerPoint slide - - - - - - PowerPoint presentation - - - - - - PowerPoint presentation template - - - - - - Office Open XML Visio drawing - - - - - - Office Open XML Visio template - - - - - - Office Open XML Visio stencil - - - - - - Office Open XML Visio drawing - - - - - - Office Open XML Visio template - - - - - - Office Open XML Visio stencil - - - - - - Word document - - - - - - Word document template - - - - - - XPS document - XPS - Open XML Paper Specification - - - - - - - - - Microsoft Works document - - - - - - - - - - Microsoft Visio document - - - - - - - - - Word document - - - - - - - - - - - - - - - - - - - - Word template - - - - - - GML document - GML - Geography Markup Language - - - - - - GNUnet search file - - - - - - - TNEF message - TNEF - Transport Neutral Encapsulation Format - - - - - - - - - - StarCalc spreadsheet - - - - - StarChart chart - - - - - StarDraw drawing - - - - - StarImpress presentation - - - - - - StarMail email - - - - StarMath formula - - - - - StarWriter document - - - - - - - - - - - OpenOffice Calc spreadsheet - - - - - - - - - - - - - OpenOffice Calc template - - - - - - - - - - - - - OpenOffice Draw drawing - - - - - - - - - - - - - OpenOffice Draw template - - - - - - - - - - - - - OpenOffice Impress presentation - - - - - - - - - - - - - OpenOffice Impress template - - - - - - - - - - - - - OpenOffice Math formula - - - - - - - - - - - - - OpenOffice Writer document - - - - - - - - - - - - - OpenOffice Writer global document - - - - - - - - - - - - - OpenOffice Writer template - - - - - - - - - - - - - ODT document - ODT - OpenDocument Text - - - - - - - - - - - - - ODT document (Flat XML) - FODT - OpenDocument Text (Flat XML) - - - - - - ODT template - ODT - OpenDocument Text - - - - - - - - - - - - - OTH template - OTH - OpenDocument HTML - - - - - - - - - - - - - ODM document - ODM - OpenDocument Master - - - - - - - - - - - - - ODG drawing - ODG - OpenDocument Drawing - - - - - - - - - - - - - ODG drawing (Flat XML) - FODG - OpenDocument Drawing (Flat XML) - - - - - - ODG template - ODG - OpenDocument Drawing - - - - - - - - - - - - - ODP presentation - ODP - OpenDocument Presentation - - - - - - - - - - - - - ODP presentation (Flat XML) - FODP - OpenDocument Presentation (Flat XML) - - - - - - ODP template - ODP - OpenDocument Presentation - - - - - - - - - - - - - ODS spreadsheet - ODS - OpenDocument Spreadsheet - - - - - - - - - - - - - ODS spreadsheet (Flat XML) - FODS - OpenDocument Spreadsheet (Flat XML) - - - - - - ODS template - ODS - OpenDocument Spreadsheet - - - - - - - - - - - - - ODC chart - ODC - OpenDocument Chart - - - - - - - - - - - - - ODC template - ODC - OpenDocument Chart - - - - - - - - - - - - - ODF formula - ODF - OpenDocument Formula - - - - - - - - - - - - - ODF template - ODF - OpenDocument Formula - - - - - - - - - - - - - ODB database - ODB - OpenDocument Database - - - - - - - - - - - - - - ODI image - ODI - OpenDocument Image - - - - - - - - - - - - - OpenOffice.org extension - - - - - - Android package - - - - - SIS package - SIS - Symbian Installation File - - - - - - - - SISX package - SIS - Symbian Installation File - - - - - - - - network packet capture - - - - - - - - - - - - WordPerfect document - - - - - - - - - - - - - - - - YouTube media archive - - - - - - SPSS portable data file - SPSS - Statistical Package for the Social Sciences - - - - - - - SPSS data file - SPSS - Statistical Package for the Social Sciences - - - - - - - - - - XBEL bookmarks - XBEL - XML Bookmark Exchange Language - - - - - - - - - 7-zip archive - - - - - - - - AbiWord document - - - - - - - - - - - - - - CD image cuesheet - - - - - - Lotus AmiPro document - - - - - AportisDoc document - - - - - - - - - - - Applix Spreadsheets spreadsheet - - - - - - - - - - - Applix Words document - - - - - - - - - - ARC archive - - - - - - - - - - - - AR archive - - - - - - - - - - ARJ archive - ARJ - Archived by Robert Jung - - - - - - - - ASP page - ASP - Active Server Page - - - - - - AWK script - - - - - - - - - - - - - - - - - - - BCPIO document - BCPIO - Binary CPIO - - - - - BitTorrent seed file - - - - - - - Blender scene - - - - - - - - - - TeX DVI document (bzip-compressed) - - - - - - Bzip archive - - - - - - - - - - - Tar archive (bzip-compressed) - - - - - - - - - - PDF document (bzip-compressed) - - - - - - PostScript document (bzip-compressed) - - - - - - comic book archive - - - - - - - comic book archive - - - - - - comic book archive - - - - - - comic book archive - - - - - - - Lrzip archive - - - - - - - - Tar archive (lrzip-compressed) - - - - - - - Apple disk image - - - - Raw disk image - - - - - Floppy disk image - - - - - - - Raw disk image (XZ-compressed) - - - - - - raw CD image - - - - - - - - AppImage application bundle - - - - - - - - - - - - - - - - CD Table Of Contents - - - - - - - - - - - - - - - PGN chess game notation - PGN - Portable Game Notation - - - - - - - - - - CHM document - CHM - Compiled Help Modules - - - - - - Java byte code - - - UNIX-compressed file - - - - - - - - Tar archive (gzip-compressed) - - - - - - - program crash data - - - - - - - - - - - - - - - - - - - CPIO archive - - - - - - - - - - - CPIO archive (gzip-compressed) - - - - - - C shell script - - - - - - - - - - - - - Xbase document - - - - - - - - ECMAScript program - - - - - - - - - Sega CD disc image - - - - - - - - - - - - - - - Sega Pico ROM - - - - - - - Sega Saturn disc image - - - - - - - - - Dreamcast disc image - - - - - Nintendo DS ROM - - - - - PC Engine ROM - - - - - Wii disc image - - - - - - - - - - - - - WiiWare bundle - - - - - - - - - - GameCube disc image - - - - - - - - - Thomson Mémo7 cartridge - - - - - Thomson cassette - - - - - HFE floppy disk image - HFE - HxC Floppy Emulator - - - - - - - - - SAP Thomson floppy disk image - SAP - Système d'Archivage Pukall - - - - - - - - - Debian package - - - - - - - - - - - - - Qt Designer interface document - - - - - - - - - - Qt Markup Language file - - - - - - - - - - - - - - - desktop configuration file - - - - - - - - - - - - - - - FictionBook document - - - - - - - - - - Compressed FictionBook document - - - - - - - - - - - Dia diagram - - - - - - - - - - Dia shape - - - - - - - - - - TeX DVI document - DVI - Device independent file format - - - - - - - - Enlightenment theme - - - - Egon Animator animation - - - - - executable - - - - - - - - - - - - - - - - - - - - - FLTK Fluid file - FLTK - Fast Light Toolkit - - - - - - - - - WOFF font - WOFF - Web Open Font Format - - - - - - - - - WOFF2 font - WOFF2 - Web Open Font Format 2.0 - - - - - - - - PostScript type-1 font - - - - - - - - - - - - - - - - Adobe font metrics - - - - - BDF font - - - - - - - - DOS font - - - - - - - - - Adobe FrameMaker font - - - - - - - LIBGRX font - - - - - - - Linux PSF console font - - - - - - - - Linux PSF console font (gzip-compressed) - - - - - - PCF font - - - - - - - - - - OpenType font - - - - - - - - - - Speedo font - - - - - - - - SunOS News font - - - - - - - - - TeX font - - - - - - - - - TeX font metrics - - - - - - - - TrueType font - - - - - - - - - - - Font collection - - - - - TrueType XML font - - - - - - - - - V font - - - - - - - Adobe FrameMaker document - - - - - - - - - - - - - - - Game Boy ROM - - - - - - - - - - - Game Boy Color ROM - - - - - - - - - - - Game Boy Advance ROM - - - - - - Virtual Boy ROM - - - - - GDBM database - GDBM - GNU Database Manager - - - - - - - - - Genesis ROM - - - - - - - - - - - - - - Genesis 32X ROM - - - - - - - - - translated messages (machine-readable) - - - - - - - - - GTK+ Builder interface document - - - - - - - - - Glade project - - - - - - - - - GnuCash financial data - - - - - - - Gnumeric spreadsheet - - - - - - - - - Gnuplot document - - - - - - - - Graphite scientific graph - - - - - GTKtalog catalog - - - - - - - TeX DVI document (gzip-compressed) - - - - - - Gzip archive - - - - - - - - - PDF document (gzip-compressed) - - - - - - PostScript document (gzip-compressed) - - - - - - HDF document - HDF - Hierarchical Data Format - - - - - - - - - - - - - IFF file - IFF - Interchange File Format - - - - - - iPod firmware - - - - - - Java archive - - - - - - - - Java class - - - - - - - - - - - - Groovy source code - - - - - - - - - Gradle scripts - - - - - JNLP file - JNLP - Java Network Launching Protocol - - - - - - - - - Java keystore - - - - - - - - - Java JCE keystore - JCE - Java Cryptography Extension - - - - - - - Pack200 Java archive - - - - - - - - JavaScript program - - - - - - - - - - - - - - - - - - - - - - JSON document - JSON - JavaScript Object Notation - - - - - - JRD document - JRD - JSON Resource Descriptor - - - - - - JSON patch - JSON - JavaScript Object Notation - - - - - - JSON-LD document - JSON-LD - JavaScript Object Notation for Linked Data - - - - - - Jupyter notebook document - - - - - - - - - - - CoffeeScript document - - - - - - JBuilder project - - - - - - Karbon14 drawing - - - - - - - - - - - - - - - - - KChart chart - - - - - - - - - - - - - - - - - Kexi settings - - - - Kexi shortcut - - - - Kexi database file - - - - - Kexi database file - - - - - - - KFormula formula - - - - - - - - - - - - - - - - - KIllustrator drawing - - - - - - - - - - - - Kivio flowchart - - - - - - - - - - - - - - - - - Kontour drawing - - - - - - - - - - - - - - - - - KPovModeler scene - - - - - KPresenter presentation - - - - - - - - - - - - - - - - - - Krita document - - - - - - - - - - - - - - - - - KSpread spreadsheet - - - - - - - - - - - - - - - - - KSpread spreadsheet (encrypted) - - - - - - - KSysV init package - - - - - - - - - Kugar document - - - - - KWord document - - - - - - - - - - - - - - - - - - KWord document (encrypted) - - - - - - - LHA archive - - - - - - - - - - - - - - - - - - - - - LHZ archive - - - - - message catalog - - - - - - - - - - LyX document - - - - - - - - - - LZ4 archive - - - - - - - - - Tar archive (LZ4-compressed) - - - - - - Lzip archive - - - - - - - - Tar archive (lzip-compressed) - - - - - - PDF document (lzip-compressed) - - - - - - LZMA archive - LZMA - Lempel-Ziv-Markov chain-Algorithm - - - - - Tar archive (LZMA-compressed) - - - - - - - LZO archive - LZO - Lempel-Ziv-Oberhumer - - - - - - - - Qpress archive - - - - - - - - XAR archive - XAR - eXtensible ARchive - - - - - - - - - - Zlib archive - - - - - MagicPoint presentation - - - - - - Macintosh MacBinary file - - - - - - - Matroska stream - - - - - - - - - - - - - - Matroska video - - - - - Matroska 3D video - - - - - Matroska audio - - - - - WebM video - - - - - - - - - - - - - - WebM audio - - - - MHTML web archive - MHTML - MIME HTML - - - - - - MXF video - MXF - Material Exchange Format - - - - - - - - OCL file - OCL - Object Constraint Language - - - - - COBOL source code - COBOL - COmmon Business Oriented Language - - - - - - Mobipocket e-book - - - - - - - - - - - - - - Adobe FrameMaker MIF document - - - - Mozilla bookmarks - - - - - - - - - DOS/Windows executable - - - - - - - - Internet shortcut - - - - - - - - - - WRI document - - - - - MSX ROM - - - - - M4 macro - - - - - - Nintendo64 ROM - - - - - - - - - - - - - - - Nautilus link - - - - - - - - Neo-Geo Pocket ROM - - - - - - - - - - - Neo-Geo Pocket Color ROM - - - - - - - - - - - - NES ROM - - - - - - - - Unidata NetCDF document - NetCDF - Network Common Data Form - - - - - - NewzBin usenet index - - - - - - - - object code - - - - - - - - - - - - - - - - - Annodex exchange format - - - - - - - - - - - - - Annodex video - - - - - - - - - - - - - Annodex audio - - - - - - - - - - - - - Ogg multimedia file - - - - - - - - - Ogg audio - - - - - - - - - - - Ogg video - - - - - - - - - - Ogg Vorbis audio - - - - - - - - - - - - - Ogg FLAC audio - - - - - - - - - - - - - - - Opus audio - - - - - - - - - - Ogg Speex audio - - - - - - - - - - - Speex audio - - - - - - - Ogg Theora video - - - - - - - - - - - OGM video - - - - - - - - - - - - OLE2 compound document storage - - - - - - - - Microsoft Publisher document - - - - - Windows Installer package - - - - - GNU Oleo spreadsheet - - - - - - - - PAK archive - - - - - - - - Palm OS database - - - - - - - - Parchive archive - Parchive - Parity Volume Set Archive - - - - - - - - - PEF executable - - - - - - - Perl script - - - - - - - - - - - - - - - - - - - - - - - - - - - - - PHP script - - - - - - - - - - - - - PKCS#7 certificate bundle - PKCS - Public-Key Cryptography Standards - - - - - PKCS#12 certificate bundle - PKCS - Public-Key Cryptography Standards - - - - - - PlanPerfect spreadsheet - - - - - Pocket Word document - - - - - - - - profiler results - - - - - - Pathetic Writer document - - - - - Python bytecode - - - - - - - - QtiPlot document - - - - - - - - - - Quattro Pro spreadsheet - - - - - - - QuickTime playlist - - - - - - - - - - - - - - - Quicken document - - - - - RAR archive - RAR - Roshal ARchive - - - - - - - - - - DAR archive - - - - - - - - Alzip archive - - - - - - - - rejected patch - - - - - - - RPM package - - - - - - - - - Source RPM package - - - - - - - Ruby script - - - - - - - - - - - Markaby script - - - - - - Rust source code - - - - - SC/Xspread spreadsheet - - - - - - - shell archive - - - - - libtool shared library - - - - - - shared library - - - - - - - - - - - - - - - - - - - - shell script - - - - - - - - - - - - - - - - - - - - - Shockwave Flash file - - - - - - - - - - - - - Shorten audio - - - - - - - - - Siag spreadsheet - - - - - Skencil document - - - - - - - - Stampede package - - - - SG-1000 ROM - - - - - - Master System ROM - - - - - - Game Gear ROM - - - - - - - Super NES ROM - - - - - - - StuffIt archive - - - - - - - - - - - SubRip subtitles - - - - - - - - - - - - WebVTT subtitles - VTT - Video Text Tracks - - - - - - - - - SAMI subtitles - SAMI - Synchronized Accessible Media Interchange - - - - - - - - - - MicroDVD subtitles - - - - - - - - - - MPSub subtitles - MPSub - MPlayer Subtitle - - - - - - - - SSA subtitles - SSA - SubStation Alpha - - - - - - - - - - SubViewer subtitles - - - - - - - - iMelody ringtone - - - - - - - - - - SMAF audio - SMAF - Synthetic music Mobile Application Format - - - - - - - - - - MRML playlist - MRML - Multimedia Retrieval Markup Language - - - - - - - - XMF audio - XMF - eXtensible Music Format - - - - - - - - - - SV4 CPIO archive - - - - - SV4 CPIO archive (with CRC) - - - - - Tar archive - - - - - - - - - - - - Tar archive (compressed) - - - - - - - generic font file - - - - - packed font file - - - - - TGIF document - - - - - - - - theme - - - - - - ToutDoux document - - - - backup file - - - - - - - - Troff document - - - - - - - - - - - - - - - Manpage manual document - - - - - - manual page (compressed) - - - - Tar archive (LZO-compressed) - - - - - - - XZ archive - - - - - - - - Tar archive (XZ-compressed) - - - - - - - Zstandard archive - - - - - - - - Tar archive (Zstandard-compressed) - - - - - - - PDF document (XZ-compressed) - - - - - - Ustar archive - - - - - WAIS source code - - - - - - WordPerfect/Drawperfect image - - - - - Bandai WonderSwan ROM - - - - - Bandai WonderSwan Color ROM - - - - - DER/PEM/Netscape-encoded X.509 certificate - - - - - - - - empty document - - - Zoo archive - - - - - - - - XHTML page - XHTML - Extensible HyperText Markup Language - - - - - - - - - - - - - - - - Zip archive - - - - - - - - - - WIM disk image - WIM - Windows Imaging Format - - - - - - - - Dolby Digital audio - - - - - - - DTS audio - - - - - - - - - - - DTSHD audio - - - - - - - - - AMR audio - AMR - Adaptive Multi-Rate - - - - - - - - - AMR-WB audio - AMR-WB - Adaptive Multi-Rate Wideband - - - - - - - - - ULAW (Sun) audio - - - - - - - - Commodore 64 audio - - - - - - - - PCM audio - - - - - - - - - - - - - - - - - - AIFC audio - AIFC - Audio Interchange File format Compressed - - - - - - - - - - AIFF/Amiga/Mac audio - AIFF - Audio Interchange File Format - - - - - - - - - - Monkey's audio - - - - - - - Audible.Com audio - - - - - - - - - - - - Impulse Tracker audio - - - - - - - FLAC audio - - - - - - - - WavPack audio - - - - - - - - WavPack audio correction file - - - - - - - MIDI audio - - - - - - - - - - compressed Tracker audio - - - - - - - AAC audio - AAC - Advanced Audio Coding - - - - - - - - - - - USAC audio - USAC - Unified Speech and Audio Coding - - - - - MPEG-4 audio - - - - - - - - - - MPEG-4 ringtone - - - - - MPEG-4 video - - - - - - - - - - - - - - - - - MPEG-4 audio book - - - - - - - - - 3GPP multimedia file - 3GPP - 3rd Generation Partnership Project - - - - - - - - - - - - - - - - - - - - - 3GPP2 multimedia file - 3GPP2 - 3rd Generation Partnership Project 2 - - - - - - - - - - - Amiga SoundTracker audio - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - MP2 audio - - - - - MP3 audio - - - - - - - - - - - - - MP3 audio (streamed) - - - - - - - - - - - - - - - HTTP Live Streaming playlist - - - - - - - - - - - - Microsoft ASX playlist - - - - - - - - - - - - - - - - - PSF audio - PSF - Portable Sound Format - - - - - - - MiniPSF audio - MiniPSF - Miniature Portable Sound Format - - - - - PSFlib audio library - PSFlib - Portable Sound Format Library - - - - - Windows Media audio - - - - - - Musepack audio - - - - - - - - - RealAudio document - - - - - - - RealMedia playlist - - - - RealVideo document - - - - - - RealMedia document - - - - - - - - - - - - - - RealPix document - - - - RealText document - - - - RIFF audio - - - RIFF container - - - - - - - Scream Tracker 3 audio - - - - - - - MP3 ShoutCast playlist - - - - - - - - - - - Scream Tracker audio - - - - - - - - - VOC audio - - - - WAV audio - - - - - - - - - - Scream Tracker instrument - - - - - - - FastTracker II audio - - - - - - - TrueAudio audio - - - - - - - - Windows BMP image - - - - - - - - - - - - - - - WBMP image - WBMP - WAP bitmap - - - - CGM image - CGM - Computer Graphics Metafile - - - - CCITT G3 fax image - - - - - GIF image - - - - - - - HEIF image - HEIF - High Efficiency Image File - - - - - - - - IEF image - - - - JPEG image - - - - - - - - - - - MJPEG video stream - MJPEG - Motion JPEG - - - - - - JPEG-2000 codestream - - - - - - - - - JPEG-2000 JP2 image - JP2 - JPEG-2000 - - - - - - - - - - - JPEG-2000 JPX image - JPX - JPEG-2000 eXtended - - - - - - - - JPEG-2000 JPM image - JPM - JPEG-2000 Mixed - - - - - - - - JPEG-2000 MJ2 video - MJ2 - Motion JPEG-2000 - - - - - - - - OpenRaster image - - - - - - - - - - - - DirectDraw surface - - - - - - - X11 cursor - - - - - - EXR image - - - - - - - Macintosh Quickdraw/PICT drawing - - - - - - - - - - - - - - - - - - - - - - - - - UFRaw ID image - UFRaw - Unidentified Flying Raw - - - - - - digital raw image - - - Adobe DNG negative - DNG - Digital Negative - - - - - - - - Canon CRW raw image - CRW - Canon RaW - - - - - - - - - Canon CR2 raw image - CR2 - Canon Raw 2 - - - - - - Fuji RAF raw image - RAF - RAw Format - - - - - - - - Kodak DCR raw image - DCR - Digital Camera Raw - - - - - - Kodak K25 raw image - K25 - Kodak DC25 - - - - - - Kodak KDC raw image - KDC - Kodak Digital Camera - - - - - - - - - Minolta MRW raw image - MRW - Minolta RaW - - - - - - - - Nikon NEF raw image - NEF - Nikon Electronic Format - - - - - - Olympus ORF raw image - ORF - Olympus Raw Format - - - - - - - - - - - - - Panasonic raw image - - - - - - - - - - Panasonic raw image - - - - - - - - - - Pentax PEF raw image - PEF - Pentax Electronic Format - - - - - - Sigma X3F raw image - X3F - X3 Foveon - - - - - - - - - - - - Sony SRF raw image - SRF - Sony Raw Format - - - - - - Sony SR2 raw image - SR2 - Sony Raw format 2 - - - - - - Sony ARW raw image - ARW - Alpha Raw format - - - - - - PNG image - - - - - - - RLE bitmap image - RLE - Run Length Encoded - - - - SVG image - SVG - Scalable Vector Graphics - - - - - - - - - - - - - - - - compressed SVG image - SVG - Scalable Vector Graphics - - - - - TIFF image - TIFF - Tagged Image File Format - - - - - - - - - Multi-page TIFF image - TIFF - Tagged Image File Format - - - - AutoCAD image - - - - DXF vector image - - - - - - - - MDI image - MDI - Microsoft Document Imaging - - - - - - - WebP image - - - - - - - - - 3D Studio image - - - - Applix Graphics image - - - - - - - - - EPS image (bzip-compressed) - - - - - - - CMU raster image - - - - compressed GIMP image - - - - - DICOM image - DICOM - Digital Imaging and Communications in Medicine - - - - - - - - - DocBook document - - - - - - - - - - - - - - - DIB image - DIB - Device Independent Bitmap - - - - - - DjVu image - - - - - - - - - - - - - - - DjVu document - - - - - - - - - - - - - - - DPX image - DPX - Digital Moving Picture Exchange - - - - - - EPS image - EPS - Encapsulated PostScript - - - - - - - - - - - - - - - - FITS document - FITS - Flexible Image Transport System - - - - - - - - FPX image - FPX - FlashPiX - - - - - - EPS image (gzip-compressed) - - - - - - - Windows icon - - - - - - - - - - - - - - - MacOS X icon - - - - - - - ILBM image - ILBM - InterLeaved BitMap - - - - - - - - - - - - JNG image - JNG - JPEG Network Graphics - - - - LightWave object - - - - - LightWave scene - - - - MacPaint Bitmap image - - - - Office drawing - - - - NIFF image - - - - - - PCX image - PCX - PiCture eXchange - - - - - - - - - - - - - PCD image - PCD - PhotoCD - - - - PNM image - - - - PBM image - PBM - Portable BitMap - - - - - - - - - - - - - - - - - - - PGM image - PGM - Portable GrayMap - - - - - - - - - - - - - - - - - - - PPM image - PPM - Portable PixMap - - - - - - - - - - - - - - - - - - - Photoshop image - - - - - - - - - - - - - RGB image - - - - SGI image - - - - Sun raster image - - - - - - - TGA image - TGA - Truevision Graphics Adapter - - - - - - - - - - - - - - - - - - - - - - - - Windows cursor - - - - - - - - - Windows animated cursor - - - - - - - - - EMF image - EMF - Enhanced MetaFile - - - - - - - - - - - - - - - - WMF image - WMF - Windows Metafile - - - - - - - - - - - - - - - - - - - - - - XBM image - XBM - X BitMap - - - - GIMP image - - - - - - - - GIMP brush - - - - - - - GIMP brush pipe - - - - GIMP pattern - - - - - - - XFig image - - - - - - - XPM image - XPM - X PixMap - - - - - - - - X window image - - - - block device - - - character device - - - folder - - - - - pipe - - - mount point - - - - socket - - - symbolic link - - - mail delivery report - - - - - mail disposition report - - - - - reference to remote file - - - - Usenet news message - - - - - - - - - - partial email message - - - - - email message - - - - - - - - - - - - - - - - - - GNU mail message - - - - - IGES document - IGES - Initial Graphics Exchange Specification - - - - - - - - - - - VRML document - VRML - Virtual Reality Modeling Language - - - - - - - - - - - message in several formats - - - Macintosh AppleDouble-encoded file - - - message digest - - - encrypted message - - - compound documents - - - compound document - - - mail system report - - - signed message - - - stream of data (server push) - - - VCS/ICS calendar - VCS/ICS - vCalendar/iCalendar - - - - - - - - - - - - CSS stylesheet - CSS - Cascading Style Sheets - - - - - electronic business card - - - - - - - - - - - - - - Turtle document - - - - - txt2tags document - - - - - - - - - Verilog source code - - - - - SystemVerilog header - - - - - SystemVerilog source code - - - - - VHDL source code - VHDL - Very-High-Speed Integrated Circuit Hardware Description Language - - - - - - enriched text document - - - - help page - - - - plain text document - - - - - - - - - - RDF file - RDF - Resource Description Framework - - - - - - - - - reStructuredText document - - - - - OWL XML file - OWL - Web Ontology Language - - - - - - - - - email headers - - - - rich text document - - - - - RSS summary - RSS - RDF Site Summary - - - - - - - - - - - Atom syndication feed - - - - - - - - - - OPML syndication feed - - - - - - - - - - SGML document - SGML - Standard Generalized Markup Language - - - - - - spreadsheet interchange document - - - - - - - - - TSV document - TSV - Tab Separated Values - - - - - Graphviz DOT graph - - - - - - - - - - - - JAD document - JAD - Java Application Descriptor - - - - - - - WML document - WML - Wireless Markup Language - - - - - WMLScript program - - - - WarpScript source code - - - - - ACE archive - - - - - - - - Ada source code - - - - - - author list - - - - - BibTeX document - - - - - - - - C++ header - - - - - - - - - C++ source code - - - - - - - - - ChangeLog document - - - - - C header - - - - - CMake source code - - - - - - CSV document - CSV - Comma Separated Values - - - - - - - CSV Schema document - CSV - Comma Separated Values - - - - - license terms - - - - - author credits - - - - - C source code - - - - - - - - - - - C# source code - - - - - Vala source code - - - - - - OOC source code - OOC - Out Of Class - - - - - DCL script - DCL - Data Conversion Laboratory - - - - - DSSSL document - DSSSL - Document Style Semantics and Specification Language - - - - - D source code - - - - - - DTD file - DTD - Document Type Definition - - - - - - - Eiffel source code - - - - - - Emacs Lisp source code - - - - - - - - - Erlang source code - - - - - Fortran source code - - - - - - - - Genie source code - - - - - - translation file - - - - - - - translation template - - - - - - - - - Gherkin document - - - - - HTML document - HTML - HyperText Markup Language - - - - - - - - - - - - - - - - - - - - - - - - - - - Web application cache file - - - - - - - - - - - - - Google Video Pointer shortcut - - - - - - - - - Haskell source code - - - - - IDL document - IDL - Interface Definition Language - - - - - installation instructions - - - - - Java source code - - - - - LDIF address book - LDIF - LDAP Data Interchange Format - - - - - - - - - Lilypond music sheet - - - - - LHS source code - LHS - Literate Haskell source code - - - - - application log - - - - - Makefile build file - - - - - - - - - - - - - Markdown document - - - - - - - - Qt MOC file - Qt MOC - Qt Meta Object Compiler - - - - - Windows Registry extract - - - - - - - - - - MOF file - MOF - Windows Managed Object File - - - - - Mup musical composition document - - - - - - - - - Objective-C source code - - - - - - - - OCaml source code - - - - - OpenCL source code - OpenCL - Open Computing Language - - - - - MATLAB file - - - - - - - - - - - - - - - Meson source code - - - - - - Modelica model - - - - - - - - - - - - - - - - - - - - Pascal source code - - - - - - differences between files - - - - - - - - - - - - - - - - - - - Go source code - - - - - SCons configuration file - - - - - - - Python 3 script - - - - - - - - - - - - - - - - - - - Python script - - - - - - - - - - - - - - - - - - - - Lua script - - - - - - - - - - - - README document - - - - - NFO document - - - - - RPM spec file - RPM - Red Hat Package Manager - - - - - - - - - Sass CSS pre-processor file - Sass - Syntactically Awesome Style Sheets - - - - - - Scala source code - - - - - Scheme source code - - - - - - SCSS pre-processor file - SCSS - Sassy CSS - - - - - - Setext document - - - - - SQL code - - - - - - Tcl script - - - - - - TeX document - - - - - - - - - - - - - - - - - - TeXInfo document - - - - - - Troff ME input document - - - - - Troff MM input document - - - - - Troff MS input document - - - - - Twig template - - - - - - X-Motif UIL table - - - - - resource location - - - - - uuencoded file - - - - - - - - - XMI file - XMI - XML Metadata Interchange - - - - - - - XSL FO file - XSL FO - XSL Formatting Objects - - - - - - - iptables configuration file - - - - - - - - - - - - - - - - - - - - - - - - - D-Bus service file - - - - - - - - - systemd unit file - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - XSLT stylesheet - XSLT - eXtensible Stylesheet Language Transformation - - - - - - - - - - - Maven description file - - - - - - - XMCD CD database - - - - - - - XML document - XML - eXtensible Markup Language - - - - - - - - - - - - - XML entities document - XML - eXtensible Markup Language - - - - - - - DV video - DV - Digital Video - - - - - - - ISI video - - - MPEG-2 transport stream - MPEG-2 TS - Moving Picture Experts Group 2 Transport Stream - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - MPEG video - MPEG - Moving Picture Experts Group - - - - - - - - - - - - - - - - - - MPEG video (streamed) - - - - - - - - - - - QuickTime video - - - - - - - - - - - - - QuickTime image - - - - - - - - Khronos texture image - - - - - - - - - - - Vivo video - - - - - - Wavelet video - - - ANIM animation - - - - FLIC animation - - - - - - - - - - - Haansoft Hangul document - - - - - - - - - Haansoft Hangul document template - - - - - - MNG animation - MNG - Multiple-Image Network Graphics - - - - - - - ASF video - ASF - Advanced Streaming Format - - - - - - - - - - - Windows Media Station file - - - - - - - - - Windows Media video - - - - - AVI video - AVI - Audio Video Interleave - - - - - - - - - - - - - - - - - - - NullSoft video - - - - - - - SDP multicast stream file - SDP - Session Description Protocol - - - - - - - - - - - - - SGI video - - - - - - - eMusic download package - - - - - - - - KML geographic data - KML - Keyhole Markup Language - - - - - - KML geographic compressed data - KML - Keyhole Markup Language - - - - - GeoJSON geospatial data - - - - - - - GPX geographic data - GPX - GPS Exchange Format - - - - - - - - - - Citrix ICA settings file - ICA - Independent Computing Architecture - - - - - - XUL interface document - XUL - XML User interface markup Language - - - - - - - XPInstall installer module - - - - - Word 2007 document - - - - - - Word 2007 document template - - - - - - PowerPoint 2007 presentation - - - - - - PowerPoint 2007 slide - - - - - - PowerPoint 2007 show - - - - - - PowerPoint 2007 presentation template - - - - - - Excel 2007 spreadsheet - - - - - - Excel 2007 spreadsheet template - - - - - - T602 document - - - - - - - - - - Cisco VPN settings - - - - - - - - - - ICC profile - - - - - - - - IT 8.7 color calibration file - - - - - - - - - CCMX color correction file - - - - - - - - - WinHelp help file - - - - - - - - binary differences between files - - - - - - - - - - - digital photos - - - - - - - - Video CD - - - - - - - - Super Video CD - - - - - - - - video DVD - - - - - - - - - - - audio CD - - - - - blank CD disc - - - - - blank DVD disc - - - - - blank Blu-ray disc - - - - - blank HD DVD disc - - - - - audio DVD - - - - - - - - - Blu-ray video disc - - - - - - - - - HD DVD video disc - - - - - - - - - - e-book reader - - - - - - - - - Picture CD - - - - - - - - portable audio player - - - - - OSTree software updates - - - - - - - - - - software - - - - - UNIX software - - - - - - - - - - - Windows software - - - - - - - - - TriG RDF document - TriG - TriG RDF Graph Triple Language - - - - - - - Apple Keynote 5 presentation - - - - - - - - - - - - - Adobe PageMaker document - - - - - - - - - - Doom WAD file - WAD - Where's All the Data - - - - - - - - - - Amiga disk image - - - - - - - - Flatpak application bundle - - - - - - - - - - - - Flatpak repository description - - - - - - - - - - Flatpak repository reference - - - - - - - - - - Squashfs filesystem image - - - - - - - - - - AppImage application bundle - - - - - - - - - - - - - - - - - Snap package - - - - - - - STL 3D model - STL - StereoLithography - - - - - - - - - - - G-code file - - - - - - - Nintendo FDS disk image - FDS - Famicom Disk System - - - - - - - - QEMU QCOW disk image - QCOW - QEMU Copy On Write - - - - - - - - - - - AppleWorks document - - - - - diff -Nru shared-mime-info-1.15/HACKING shared-mime-info-2.0/HACKING --- shared-mime-info-1.15/HACKING 2018-10-14 09:43:17.000000000 +0000 +++ shared-mime-info-2.0/HACKING 1970-01-01 00:00:00.000000000 +0000 @@ -1,72 +0,0 @@ -Note: latest version of this file is at: -http://cgit.freedesktop.org/xdg/shared-mime-info/tree/HACKING - -A few ground rules for people interested in adding new mime-types. - -* Mime-types used should be IANA registered mime-types when possible -* When old mime-types become registered, the new definition should - include an alias for the old mime-type -* New entries or modifications should include a test case (see below) -* Mime-types/file formats proprietary to one application should only - be added to a private .xml file and be bundled with the application - itself -* Magic offset must be as small as possible. For example, the worst case - scenario for ISO images is 32k inside the file. This is too big for a sniff - buffer, especially on remote locations. Avoid those. -* No commits should be done that break the test suite, or the test suite - test in question should be amended, and reason for the changes clearly - documented in the commit message - -Translations ------------- - -Translations should go through Transifex.net, and the freedesktop.org team: -http://www.transifex.net/projects/p/shared-mime-info/ - -Filing bugs ------------ - -Bugs can be filed at: -https://gitlab.freedesktop.org/xdg/shared-mime-info/issues - -Merge requests are required for new mime-types and should include one or -more test files to be added to the test suite. - -Test suite ----------- - -You need to have xdgmime checked out [1] and compiled. By default, the build -system will expect the source directory to be at the same level as -shared-mime-info. ../xdgmime/src/test-mime-data will be run against -tests/list. An alternate path to xdgmime can be passed by setting the -XDGMIME_PATH environment variable to the appropriate path. - -The format of the file is: - - -The expected failures is whether matching the file with the mime-type would -fail when matched by file, data or name. "x" indicates expected failure, "o" -indicates expected success. Trailing "o"s can be omitted. - -See the top of the tests/list file for syntax details. - -You can also temporarily print the results of test-mime-data by putting your -test files in the staging-tests/ sub-directory. - -[1]: Repository details at: -https://gitlab.freedesktop.org/xdg/xdgmime - -Releasing ---------- - -- Run "make update-translations" and "make check-translations" before release -- Copy the file to ~hadess/public_html on gabe.freedesktop.org -- Update http://www.freedesktop.org/wiki/Software/shared-mime-info - -Updating the spec on the website --------------------------------- - -- update http://cgit.freedesktop.org/xdg/xdg-specs/tree/web-export/specs.idx -- go to /srv/specifications.freedesktop.org/www on gabe -- run ../update.py - diff -Nru shared-mime-info-1.15/HACKING.md shared-mime-info-2.0/HACKING.md --- shared-mime-info-1.15/HACKING.md 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/HACKING.md 2020-05-06 14:11:14.036908900 +0000 @@ -0,0 +1,69 @@ +Note: latest version of this file is at: +https://gitlab.freedesktop.org/xdg/shared-mime-info/-/blob/master/HACKING.md + +A few ground rules for people interested in adding new mime-types. + +* Mime-types used should be IANA registered mime-types when possible +* When old mime-types become registered, the new definition should + include an alias for the old mime-type +* New entries or modifications should include a test case (see below) +* Mime-types/file formats proprietary to one application should only + be added to a private .xml file and be bundled with the application + itself +* Magic offset must be as small as possible. For example, the worst case + scenario for ISO images is 32k inside the file. This is too big for a sniff + buffer, especially on remote locations. Avoid those. +* No commits should be done that break the test suite, or the test suite + test in question should be amended, and reason for the changes clearly + documented in the commit message + +Translations +------------ + +Translations should go through Transifex.net, and the freedesktop.org team: +http://www.transifex.net/projects/p/shared-mime-info/ + +Filing bugs +----------- + +Bugs can be filed at: +https://gitlab.freedesktop.org/xdg/shared-mime-info/issues + +Merge requests are required for new mime-types and should include one or +more test files to be added to the test suite. + +Test suite +---------- + +You need to have xdgmime checked out [1] and compiled. By default, the build +system will expect the source directory to be at the same level as +shared-mime-info. `../xdgmime/src/test-mime-data` will be run against +`tests/mime-detection/list`. An alternate path to xdgmime can be passed by +using the `xdgmime-path` meson option such as `-Dxdgmime-path=/path/to/xdgmime`. + +The format of the file is: +` ` + +The expected failures is whether matching the file with the mime-type would +fail when matched by file, data or name. "x" indicates expected failure, "o" +indicates expected success. Trailing "o"s can be omitted. + +See the top of the `tests/mime-detection/list` file for syntax details. + +You can also temporarily print the results of `test-mime-data` by putting your +test files in the `staging-tests/` sub-directory. + +[1]: Repository details at: +https://gitlab.freedesktop.org/xdg/xdgmime + +Releasing +--------- + +- Run `ninja shared-mime-info-pot`, `./po/check_translations.sh` and + `./po/update_translations.sh` before release +- Upload to shared-mime-info gitlab + +Updating the spec on the website +-------------------------------- + +- update https://gitlab.freedesktop.org/xdg/xdg-specs/blob/master/web-export/specs.idx diff -Nru shared-mime-info-1.15/install-sh shared-mime-info-2.0/install-sh --- shared-mime-info-1.15/install-sh 2019-09-16 15:52:37.000000000 +0000 +++ shared-mime-info-2.0/install-sh 1970-01-01 00:00:00.000000000 +0000 @@ -1,518 +0,0 @@ -#!/bin/sh -# install - install a program, script, or datafile - -scriptversion=2018-03-11.20; # UTC - -# This originates from X11R5 (mit/util/scripts/install.sh), which was -# later released in X11R6 (xc/config/util/install.sh) with the -# following copyright and license. -# -# Copyright (C) 1994 X Consortium -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to -# deal in the Software without restriction, including without limitation the -# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -# sell copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- -# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -# -# Except as contained in this notice, the name of the X Consortium shall not -# be used in advertising or otherwise to promote the sale, use or other deal- -# ings in this Software without prior written authorization from the X Consor- -# tium. -# -# -# FSF changes to this file are in the public domain. -# -# Calling this script install-sh is preferred over install.sh, to prevent -# 'make' implicit rules from creating a file called install from it -# when there is no Makefile. -# -# This script is compatible with the BSD install script, but was written -# from scratch. - -tab=' ' -nl=' -' -IFS=" $tab$nl" - -# Set DOITPROG to "echo" to test this script. - -doit=${DOITPROG-} -doit_exec=${doit:-exec} - -# Put in absolute file names if you don't have them in your path; -# or use environment vars. - -chgrpprog=${CHGRPPROG-chgrp} -chmodprog=${CHMODPROG-chmod} -chownprog=${CHOWNPROG-chown} -cmpprog=${CMPPROG-cmp} -cpprog=${CPPROG-cp} -mkdirprog=${MKDIRPROG-mkdir} -mvprog=${MVPROG-mv} -rmprog=${RMPROG-rm} -stripprog=${STRIPPROG-strip} - -posix_mkdir= - -# Desired mode of installed file. -mode=0755 - -chgrpcmd= -chmodcmd=$chmodprog -chowncmd= -mvcmd=$mvprog -rmcmd="$rmprog -f" -stripcmd= - -src= -dst= -dir_arg= -dst_arg= - -copy_on_change=false -is_target_a_directory=possibly - -usage="\ -Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE - or: $0 [OPTION]... SRCFILES... DIRECTORY - or: $0 [OPTION]... -t DIRECTORY SRCFILES... - or: $0 [OPTION]... -d DIRECTORIES... - -In the 1st form, copy SRCFILE to DSTFILE. -In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. -In the 4th, create DIRECTORIES. - -Options: - --help display this help and exit. - --version display version info and exit. - - -c (ignored) - -C install only if different (preserve the last data modification time) - -d create directories instead of installing files. - -g GROUP $chgrpprog installed files to GROUP. - -m MODE $chmodprog installed files to MODE. - -o USER $chownprog installed files to USER. - -s $stripprog installed files. - -t DIRECTORY install into DIRECTORY. - -T report an error if DSTFILE is a directory. - -Environment variables override the default commands: - CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG - RMPROG STRIPPROG -" - -while test $# -ne 0; do - case $1 in - -c) ;; - - -C) copy_on_change=true;; - - -d) dir_arg=true;; - - -g) chgrpcmd="$chgrpprog $2" - shift;; - - --help) echo "$usage"; exit $?;; - - -m) mode=$2 - case $mode in - *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*) - echo "$0: invalid mode: $mode" >&2 - exit 1;; - esac - shift;; - - -o) chowncmd="$chownprog $2" - shift;; - - -s) stripcmd=$stripprog;; - - -t) - is_target_a_directory=always - dst_arg=$2 - # Protect names problematic for 'test' and other utilities. - case $dst_arg in - -* | [=\(\)!]) dst_arg=./$dst_arg;; - esac - shift;; - - -T) is_target_a_directory=never;; - - --version) echo "$0 $scriptversion"; exit $?;; - - --) shift - break;; - - -*) echo "$0: invalid option: $1" >&2 - exit 1;; - - *) break;; - esac - shift -done - -# We allow the use of options -d and -T together, by making -d -# take the precedence; this is for compatibility with GNU install. - -if test -n "$dir_arg"; then - if test -n "$dst_arg"; then - echo "$0: target directory not allowed when installing a directory." >&2 - exit 1 - fi -fi - -if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then - # When -d is used, all remaining arguments are directories to create. - # When -t is used, the destination is already specified. - # Otherwise, the last argument is the destination. Remove it from $@. - for arg - do - if test -n "$dst_arg"; then - # $@ is not empty: it contains at least $arg. - set fnord "$@" "$dst_arg" - shift # fnord - fi - shift # arg - dst_arg=$arg - # Protect names problematic for 'test' and other utilities. - case $dst_arg in - -* | [=\(\)!]) dst_arg=./$dst_arg;; - esac - done -fi - -if test $# -eq 0; then - if test -z "$dir_arg"; then - echo "$0: no input file specified." >&2 - exit 1 - fi - # It's OK to call 'install-sh -d' without argument. - # This can happen when creating conditional directories. - exit 0 -fi - -if test -z "$dir_arg"; then - if test $# -gt 1 || test "$is_target_a_directory" = always; then - if test ! -d "$dst_arg"; then - echo "$0: $dst_arg: Is not a directory." >&2 - exit 1 - fi - fi -fi - -if test -z "$dir_arg"; then - do_exit='(exit $ret); exit $ret' - trap "ret=129; $do_exit" 1 - trap "ret=130; $do_exit" 2 - trap "ret=141; $do_exit" 13 - trap "ret=143; $do_exit" 15 - - # Set umask so as not to create temps with too-generous modes. - # However, 'strip' requires both read and write access to temps. - case $mode in - # Optimize common cases. - *644) cp_umask=133;; - *755) cp_umask=22;; - - *[0-7]) - if test -z "$stripcmd"; then - u_plus_rw= - else - u_plus_rw='% 200' - fi - cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; - *) - if test -z "$stripcmd"; then - u_plus_rw= - else - u_plus_rw=,u+rw - fi - cp_umask=$mode$u_plus_rw;; - esac -fi - -for src -do - # Protect names problematic for 'test' and other utilities. - case $src in - -* | [=\(\)!]) src=./$src;; - esac - - if test -n "$dir_arg"; then - dst=$src - dstdir=$dst - test -d "$dstdir" - dstdir_status=$? - else - - # Waiting for this to be detected by the "$cpprog $src $dsttmp" command - # might cause directories to be created, which would be especially bad - # if $src (and thus $dsttmp) contains '*'. - if test ! -f "$src" && test ! -d "$src"; then - echo "$0: $src does not exist." >&2 - exit 1 - fi - - if test -z "$dst_arg"; then - echo "$0: no destination specified." >&2 - exit 1 - fi - dst=$dst_arg - - # If destination is a directory, append the input filename. - if test -d "$dst"; then - if test "$is_target_a_directory" = never; then - echo "$0: $dst_arg: Is a directory" >&2 - exit 1 - fi - dstdir=$dst - dstbase=`basename "$src"` - case $dst in - */) dst=$dst$dstbase;; - *) dst=$dst/$dstbase;; - esac - dstdir_status=0 - else - dstdir=`dirname "$dst"` - test -d "$dstdir" - dstdir_status=$? - fi - fi - - case $dstdir in - */) dstdirslash=$dstdir;; - *) dstdirslash=$dstdir/;; - esac - - obsolete_mkdir_used=false - - if test $dstdir_status != 0; then - case $posix_mkdir in - '') - # Create intermediate dirs using mode 755 as modified by the umask. - # This is like FreeBSD 'install' as of 1997-10-28. - umask=`umask` - case $stripcmd.$umask in - # Optimize common cases. - *[2367][2367]) mkdir_umask=$umask;; - .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; - - *[0-7]) - mkdir_umask=`expr $umask + 22 \ - - $umask % 100 % 40 + $umask % 20 \ - - $umask % 10 % 4 + $umask % 2 - `;; - *) mkdir_umask=$umask,go-w;; - esac - - # With -d, create the new directory with the user-specified mode. - # Otherwise, rely on $mkdir_umask. - if test -n "$dir_arg"; then - mkdir_mode=-m$mode - else - mkdir_mode= - fi - - posix_mkdir=false - case $umask in - *[123567][0-7][0-7]) - # POSIX mkdir -p sets u+wx bits regardless of umask, which - # is incompatible with FreeBSD 'install' when (umask & 300) != 0. - ;; - *) - # Note that $RANDOM variable is not portable (e.g. dash); Use it - # here however when possible just to lower collision chance. - tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ - - trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0 - - # Because "mkdir -p" follows existing symlinks and we likely work - # directly in world-writeable /tmp, make sure that the '$tmpdir' - # directory is successfully created first before we actually test - # 'mkdir -p' feature. - if (umask $mkdir_umask && - $mkdirprog $mkdir_mode "$tmpdir" && - exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1 - then - if test -z "$dir_arg" || { - # Check for POSIX incompatibilities with -m. - # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or - # other-writable bit of parent directory when it shouldn't. - # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. - test_tmpdir="$tmpdir/a" - ls_ld_tmpdir=`ls -ld "$test_tmpdir"` - case $ls_ld_tmpdir in - d????-?r-*) different_mode=700;; - d????-?--*) different_mode=755;; - *) false;; - esac && - $mkdirprog -m$different_mode -p -- "$test_tmpdir" && { - ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"` - test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" - } - } - then posix_mkdir=: - fi - rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" - else - # Remove any dirs left behind by ancient mkdir implementations. - rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null - fi - trap '' 0;; - esac;; - esac - - if - $posix_mkdir && ( - umask $mkdir_umask && - $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" - ) - then : - else - - # The umask is ridiculous, or mkdir does not conform to POSIX, - # or it failed possibly due to a race condition. Create the - # directory the slow way, step by step, checking for races as we go. - - case $dstdir in - /*) prefix='/';; - [-=\(\)!]*) prefix='./';; - *) prefix='';; - esac - - oIFS=$IFS - IFS=/ - set -f - set fnord $dstdir - shift - set +f - IFS=$oIFS - - prefixes= - - for d - do - test X"$d" = X && continue - - prefix=$prefix$d - if test -d "$prefix"; then - prefixes= - else - if $posix_mkdir; then - (umask=$mkdir_umask && - $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break - # Don't fail if two instances are running concurrently. - test -d "$prefix" || exit 1 - else - case $prefix in - *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; - *) qprefix=$prefix;; - esac - prefixes="$prefixes '$qprefix'" - fi - fi - prefix=$prefix/ - done - - if test -n "$prefixes"; then - # Don't fail if two instances are running concurrently. - (umask $mkdir_umask && - eval "\$doit_exec \$mkdirprog $prefixes") || - test -d "$dstdir" || exit 1 - obsolete_mkdir_used=true - fi - fi - fi - - if test -n "$dir_arg"; then - { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && - { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && - { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || - test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 - else - - # Make a couple of temp file names in the proper directory. - dsttmp=${dstdirslash}_inst.$$_ - rmtmp=${dstdirslash}_rm.$$_ - - # Trap to clean up those temp files at exit. - trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 - - # Copy the file name to the temp name. - (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && - - # and set any options; do chmod last to preserve setuid bits. - # - # If any of these fail, we abort the whole thing. If we want to - # ignore errors from any of these, just make sure not to ignore - # errors from the above "$doit $cpprog $src $dsttmp" command. - # - { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && - { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && - { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && - { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && - - # If -C, don't bother to copy if it wouldn't change the file. - if $copy_on_change && - old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && - new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && - set -f && - set X $old && old=:$2:$4:$5:$6 && - set X $new && new=:$2:$4:$5:$6 && - set +f && - test "$old" = "$new" && - $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 - then - rm -f "$dsttmp" - else - # Rename the file to the real destination. - $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || - - # The rename failed, perhaps because mv can't rename something else - # to itself, or perhaps because mv is so ancient that it does not - # support -f. - { - # Now remove or move aside any old file at destination location. - # We try this two ways since rm can't unlink itself on some - # systems and the destination file might be busy for other - # reasons. In this case, the final cleanup might fail but the new - # file should still install successfully. - { - test ! -f "$dst" || - $doit $rmcmd -f "$dst" 2>/dev/null || - { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && - { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } - } || - { echo "$0: cannot unlink or rename $dst" >&2 - (exit 1); exit 1 - } - } && - - # Now rename the file to the real destination. - $doit $mvcmd "$dsttmp" "$dst" - } - fi || exit 1 - - trap '' 0 - fi -done - -# Local variables: -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC0" -# time-stamp-end: "; # UTC" -# End: diff -Nru shared-mime-info-1.15/its/shared-mime-info.its shared-mime-info-2.0/its/shared-mime-info.its --- shared-mime-info-1.15/its/shared-mime-info.its 2019-09-11 10:09:53.000000000 +0000 +++ shared-mime-info-2.0/its/shared-mime-info.its 1970-01-01 00:00:00.000000000 +0000 @@ -1,9 +0,0 @@ - - - - - - diff -Nru shared-mime-info-1.15/its/shared-mime-info.loc shared-mime-info-2.0/its/shared-mime-info.loc --- shared-mime-info-1.15/its/shared-mime-info.loc 2019-09-11 10:07:48.000000000 +0000 +++ shared-mime-info-2.0/its/shared-mime-info.loc 1970-01-01 00:00:00.000000000 +0000 @@ -1,6 +0,0 @@ - - - - - - diff -Nru shared-mime-info-1.15/m4/gettext.m4 shared-mime-info-2.0/m4/gettext.m4 --- shared-mime-info-1.15/m4/gettext.m4 2019-09-11 10:53:10.000000000 +0000 +++ shared-mime-info-2.0/m4/gettext.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,420 +0,0 @@ -# gettext.m4 serial 68 (gettext-0.19.8) -dnl Copyright (C) 1995-2014, 2016 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. -dnl -dnl This file can be used in projects which are not available under -dnl the GNU General Public License or the GNU Library General Public -dnl License but which still want to provide support for the GNU gettext -dnl functionality. -dnl Please note that the actual code of the GNU gettext library is covered -dnl by the GNU Library General Public License, and the rest of the GNU -dnl gettext package is covered by the GNU General Public License. -dnl They are *not* in the public domain. - -dnl Authors: -dnl Ulrich Drepper , 1995-2000. -dnl Bruno Haible , 2000-2006, 2008-2010. - -dnl Macro to add for using GNU gettext. - -dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]). -dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The -dnl default (if it is not specified or empty) is 'no-libtool'. -dnl INTLSYMBOL should be 'external' for packages with no intl directory, -dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory. -dnl If INTLSYMBOL is 'use-libtool', then a libtool library -dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static, -dnl depending on --{enable,disable}-{shared,static} and on the presence of -dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library -dnl $(top_builddir)/intl/libintl.a will be created. -dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext -dnl implementations (in libc or libintl) without the ngettext() function -dnl will be ignored. If NEEDSYMBOL is specified and is -dnl 'need-formatstring-macros', then GNU gettext implementations that don't -dnl support the ISO C 99 formatstring macros will be ignored. -dnl INTLDIR is used to find the intl libraries. If empty, -dnl the value '$(top_builddir)/intl/' is used. -dnl -dnl The result of the configuration is one of three cases: -dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled -dnl and used. -dnl Catalog format: GNU --> install in $(datadir) -dnl Catalog extension: .mo after installation, .gmo in source tree -dnl 2) GNU gettext has been found in the system's C library. -dnl Catalog format: GNU --> install in $(datadir) -dnl Catalog extension: .mo after installation, .gmo in source tree -dnl 3) No internationalization, always use English msgid. -dnl Catalog format: none -dnl Catalog extension: none -dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur. -dnl The use of .gmo is historical (it was needed to avoid overwriting the -dnl GNU format catalogs when building on a platform with an X/Open gettext), -dnl but we keep it in order not to force irrelevant filename changes on the -dnl maintainers. -dnl -AC_DEFUN([AM_GNU_GETTEXT], -[ - dnl Argument checking. - ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], , - [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT -])])])])]) - ifelse(ifelse([$1], [], [old])[]ifelse([$1], [no-libtool], [old]), [old], - [AC_DIAGNOSE([obsolete], [Use of AM_GNU_GETTEXT without [external] argument is deprecated.])]) - ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], , - [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT -])])])]) - define([gt_included_intl], - ifelse([$1], [external], - ifdef([AM_GNU_GETTEXT_][INTL_SUBDIR], [yes], [no]), - [yes])) - define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], [])) - gt_NEEDS_INIT - AM_GNU_GETTEXT_NEED([$2]) - - AC_REQUIRE([AM_PO_SUBDIRS])dnl - ifelse(gt_included_intl, yes, [ - AC_REQUIRE([AM_INTL_SUBDIR])dnl - ]) - - dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. - AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) - AC_REQUIRE([AC_LIB_RPATH]) - - dnl Sometimes libintl requires libiconv, so first search for libiconv. - dnl Ideally we would do this search only after the - dnl if test "$USE_NLS" = "yes"; then - dnl if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then - dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT - dnl the configure script would need to contain the same shell code - dnl again, outside any 'if'. There are two solutions: - dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'. - dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE. - dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not - dnl documented, we avoid it. - ifelse(gt_included_intl, yes, , [ - AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) - ]) - - dnl Sometimes, on Mac OS X, libintl requires linking with CoreFoundation. - gt_INTL_MACOSX - - dnl Set USE_NLS. - AC_REQUIRE([AM_NLS]) - - ifelse(gt_included_intl, yes, [ - BUILD_INCLUDED_LIBINTL=no - USE_INCLUDED_LIBINTL=no - ]) - LIBINTL= - LTLIBINTL= - POSUB= - - dnl Add a version number to the cache macros. - case " $gt_needs " in - *" need-formatstring-macros "*) gt_api_version=3 ;; - *" need-ngettext "*) gt_api_version=2 ;; - *) gt_api_version=1 ;; - esac - gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" - gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" - - dnl If we use NLS figure out what method - if test "$USE_NLS" = "yes"; then - gt_use_preinstalled_gnugettext=no - ifelse(gt_included_intl, yes, [ - AC_MSG_CHECKING([whether included gettext is requested]) - AC_ARG_WITH([included-gettext], - [ --with-included-gettext use the GNU gettext library included here], - nls_cv_force_use_gnu_gettext=$withval, - nls_cv_force_use_gnu_gettext=no) - AC_MSG_RESULT([$nls_cv_force_use_gnu_gettext]) - - nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" - if test "$nls_cv_force_use_gnu_gettext" != "yes"; then - ]) - dnl User does not insist on using GNU NLS library. Figure out what - dnl to use. If GNU gettext is available we use this. Else we have - dnl to fall back to GNU NLS library. - - if test $gt_api_version -ge 3; then - gt_revision_test_code=' -#ifndef __GNU_GETTEXT_SUPPORTED_REVISION -#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) -#endif -changequote(,)dnl -typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; -changequote([,])dnl -' - else - gt_revision_test_code= - fi - if test $gt_api_version -ge 2; then - gt_expression_test_code=' + * ngettext ("", "", 0)' - else - gt_expression_test_code= - fi - - AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc], - [AC_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[ -#include -#ifndef __GNU_GETTEXT_SUPPORTED_REVISION -extern int _nl_msg_cat_cntr; -extern int *_nl_domain_bindings; -#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_domain_bindings) -#else -#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0 -#endif -$gt_revision_test_code - ]], - [[ -bindtextdomain ("", ""); -return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION - ]])], - [eval "$gt_func_gnugettext_libc=yes"], - [eval "$gt_func_gnugettext_libc=no"])]) - - if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then - dnl Sometimes libintl requires libiconv, so first search for libiconv. - ifelse(gt_included_intl, yes, , [ - AM_ICONV_LINK - ]) - dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL - dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv]) - dnl because that would add "-liconv" to LIBINTL and LTLIBINTL - dnl even if libiconv doesn't exist. - AC_LIB_LINKFLAGS_BODY([intl]) - AC_CACHE_CHECK([for GNU gettext in libintl], - [$gt_func_gnugettext_libintl], - [gt_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $INCINTL" - gt_save_LIBS="$LIBS" - LIBS="$LIBS $LIBINTL" - dnl Now see whether libintl exists and does not depend on libiconv. - AC_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[ -#include -#ifndef __GNU_GETTEXT_SUPPORTED_REVISION -extern int _nl_msg_cat_cntr; -extern -#ifdef __cplusplus -"C" -#endif -const char *_nl_expand_alias (const char *); -#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias ("")) -#else -#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0 -#endif -$gt_revision_test_code - ]], - [[ -bindtextdomain ("", ""); -return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION - ]])], - [eval "$gt_func_gnugettext_libintl=yes"], - [eval "$gt_func_gnugettext_libintl=no"]) - dnl Now see whether libintl exists and depends on libiconv. - if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then - LIBS="$LIBS $LIBICONV" - AC_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[ -#include -#ifndef __GNU_GETTEXT_SUPPORTED_REVISION -extern int _nl_msg_cat_cntr; -extern -#ifdef __cplusplus -"C" -#endif -const char *_nl_expand_alias (const char *); -#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias ("")) -#else -#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0 -#endif -$gt_revision_test_code - ]], - [[ -bindtextdomain ("", ""); -return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION - ]])], - [LIBINTL="$LIBINTL $LIBICONV" - LTLIBINTL="$LTLIBINTL $LTLIBICONV" - eval "$gt_func_gnugettext_libintl=yes" - ]) - fi - CPPFLAGS="$gt_save_CPPFLAGS" - LIBS="$gt_save_LIBS"]) - fi - - dnl If an already present or preinstalled GNU gettext() is found, - dnl use it. But if this macro is used in GNU gettext, and GNU - dnl gettext is already preinstalled in libintl, we update this - dnl libintl. (Cf. the install rule in intl/Makefile.in.) - if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ - || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ - && test "$PACKAGE" != gettext-runtime \ - && test "$PACKAGE" != gettext-tools; }; then - gt_use_preinstalled_gnugettext=yes - else - dnl Reset the values set by searching for libintl. - LIBINTL= - LTLIBINTL= - INCINTL= - fi - - ifelse(gt_included_intl, yes, [ - if test "$gt_use_preinstalled_gnugettext" != "yes"; then - dnl GNU gettext is not found in the C library. - dnl Fall back on included GNU gettext library. - nls_cv_use_gnu_gettext=yes - fi - fi - - if test "$nls_cv_use_gnu_gettext" = "yes"; then - dnl Mark actions used to generate GNU NLS library. - BUILD_INCLUDED_LIBINTL=yes - USE_INCLUDED_LIBINTL=yes - LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV $LIBTHREAD" - LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD" - LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` - fi - - CATOBJEXT= - if test "$gt_use_preinstalled_gnugettext" = "yes" \ - || test "$nls_cv_use_gnu_gettext" = "yes"; then - dnl Mark actions to use GNU gettext tools. - CATOBJEXT=.gmo - fi - ]) - - if test -n "$INTL_MACOSX_LIBS"; then - if test "$gt_use_preinstalled_gnugettext" = "yes" \ - || test "$nls_cv_use_gnu_gettext" = "yes"; then - dnl Some extra flags are needed during linking. - LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" - LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" - fi - fi - - if test "$gt_use_preinstalled_gnugettext" = "yes" \ - || test "$nls_cv_use_gnu_gettext" = "yes"; then - AC_DEFINE([ENABLE_NLS], [1], - [Define to 1 if translation of program messages to the user's native language - is requested.]) - else - USE_NLS=no - fi - fi - - AC_MSG_CHECKING([whether to use NLS]) - AC_MSG_RESULT([$USE_NLS]) - if test "$USE_NLS" = "yes"; then - AC_MSG_CHECKING([where the gettext function comes from]) - if test "$gt_use_preinstalled_gnugettext" = "yes"; then - if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then - gt_source="external libintl" - else - gt_source="libc" - fi - else - gt_source="included intl directory" - fi - AC_MSG_RESULT([$gt_source]) - fi - - if test "$USE_NLS" = "yes"; then - - if test "$gt_use_preinstalled_gnugettext" = "yes"; then - if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then - AC_MSG_CHECKING([how to link with libintl]) - AC_MSG_RESULT([$LIBINTL]) - AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL]) - fi - - dnl For backward compatibility. Some packages may be using this. - AC_DEFINE([HAVE_GETTEXT], [1], - [Define if the GNU gettext() function is already present or preinstalled.]) - AC_DEFINE([HAVE_DCGETTEXT], [1], - [Define if the GNU dcgettext() function is already present or preinstalled.]) - fi - - dnl We need to process the po/ directory. - POSUB=po - fi - - ifelse(gt_included_intl, yes, [ - dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL - dnl to 'yes' because some of the testsuite requires it. - if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then - BUILD_INCLUDED_LIBINTL=yes - fi - - dnl Make all variables we use known to autoconf. - AC_SUBST([BUILD_INCLUDED_LIBINTL]) - AC_SUBST([USE_INCLUDED_LIBINTL]) - AC_SUBST([CATOBJEXT]) - - dnl For backward compatibility. Some configure.ins may be using this. - nls_cv_header_intl= - nls_cv_header_libgt= - - dnl For backward compatibility. Some Makefiles may be using this. - DATADIRNAME=share - AC_SUBST([DATADIRNAME]) - - dnl For backward compatibility. Some Makefiles may be using this. - INSTOBJEXT=.mo - AC_SUBST([INSTOBJEXT]) - - dnl For backward compatibility. Some Makefiles may be using this. - GENCAT=gencat - AC_SUBST([GENCAT]) - - dnl For backward compatibility. Some Makefiles may be using this. - INTLOBJS= - if test "$USE_INCLUDED_LIBINTL" = yes; then - INTLOBJS="\$(GETTOBJS)" - fi - AC_SUBST([INTLOBJS]) - - dnl Enable libtool support if the surrounding package wishes it. - INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix - AC_SUBST([INTL_LIBTOOL_SUFFIX_PREFIX]) - ]) - - dnl For backward compatibility. Some Makefiles may be using this. - INTLLIBS="$LIBINTL" - AC_SUBST([INTLLIBS]) - - dnl Make all documented variables known to autoconf. - AC_SUBST([LIBINTL]) - AC_SUBST([LTLIBINTL]) - AC_SUBST([POSUB]) -]) - - -dnl gt_NEEDS_INIT ensures that the gt_needs variable is initialized. -m4_define([gt_NEEDS_INIT], -[ - m4_divert_text([DEFAULTS], [gt_needs=]) - m4_define([gt_NEEDS_INIT], []) -]) - - -dnl Usage: AM_GNU_GETTEXT_NEED([NEEDSYMBOL]) -AC_DEFUN([AM_GNU_GETTEXT_NEED], -[ - m4_divert_text([INIT_PREPARE], [gt_needs="$gt_needs $1"]) -]) - - -dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version]) -AC_DEFUN([AM_GNU_GETTEXT_VERSION], []) - - -dnl Usage: AM_GNU_GETTEXT_REQUIRE_VERSION([gettext-version]) -AC_DEFUN([AM_GNU_GETTEXT_REQUIRE_VERSION], []) diff -Nru shared-mime-info-1.15/m4/iconv.m4 shared-mime-info-2.0/m4/iconv.m4 --- shared-mime-info-1.15/m4/iconv.m4 2019-09-11 10:53:10.000000000 +0000 +++ shared-mime-info-2.0/m4/iconv.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,271 +0,0 @@ -# iconv.m4 serial 19 (gettext-0.18.2) -dnl Copyright (C) 2000-2002, 2007-2014, 2016 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl 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_LINK_IFELSE will then fail, the second AC_LINK_IFELSE 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_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[ -#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_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[ -#include -#include - ]], - [[iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd);]])], - [am_cv_lib_iconv=yes] - [am_cv_func_iconv=yes]) - LIBS="$am_save_LIBS" - fi - ]) - if test "$am_cv_func_iconv" = yes; then - AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [ - dnl This tests against bugs in AIX 5.1, AIX 6.1..7.1, HP-UX 11.11, - dnl Solaris 10. - am_save_LIBS="$LIBS" - if test $am_cv_lib_iconv = yes; then - LIBS="$LIBS $LIBICONV" - fi - am_cv_func_iconv_works=no - for ac_iconv_const in '' 'const'; do - AC_RUN_IFELSE( - [AC_LANG_PROGRAM( - [[ -#include -#include - -#ifndef ICONV_CONST -# define ICONV_CONST $ac_iconv_const -#endif - ]], - [[int result = 0; - /* Test against AIX 5.1 bug: Failures are not distinguishable from successful - returns. */ - { - iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); - if (cd_utf8_to_88591 != (iconv_t)(-1)) - { - static ICONV_CONST char input[] = "\342\202\254"; /* EURO SIGN */ - char buf[10]; - ICONV_CONST char *inptr = input; - size_t inbytesleft = strlen (input); - char *outptr = buf; - size_t outbytesleft = sizeof (buf); - size_t res = iconv (cd_utf8_to_88591, - &inptr, &inbytesleft, - &outptr, &outbytesleft); - if (res == 0) - result |= 1; - iconv_close (cd_utf8_to_88591); - } - } - /* Test against Solaris 10 bug: Failures are not distinguishable from - successful returns. */ - { - iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); - if (cd_ascii_to_88591 != (iconv_t)(-1)) - { - static ICONV_CONST char input[] = "\263"; - char buf[10]; - ICONV_CONST char *inptr = input; - size_t inbytesleft = strlen (input); - char *outptr = buf; - size_t outbytesleft = sizeof (buf); - size_t res = iconv (cd_ascii_to_88591, - &inptr, &inbytesleft, - &outptr, &outbytesleft); - if (res == 0) - result |= 2; - iconv_close (cd_ascii_to_88591); - } - } - /* Test against AIX 6.1..7.1 bug: Buffer overrun. */ - { - iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1"); - if (cd_88591_to_utf8 != (iconv_t)(-1)) - { - static ICONV_CONST char input[] = "\304"; - static char buf[2] = { (char)0xDE, (char)0xAD }; - ICONV_CONST char *inptr = input; - size_t inbytesleft = 1; - char *outptr = buf; - size_t outbytesleft = 1; - size_t res = iconv (cd_88591_to_utf8, - &inptr, &inbytesleft, - &outptr, &outbytesleft); - if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD) - result |= 4; - iconv_close (cd_88591_to_utf8); - } - } -#if 0 /* This bug could be worked around by the caller. */ - /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ - { - iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); - if (cd_88591_to_utf8 != (iconv_t)(-1)) - { - static ICONV_CONST char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; - char buf[50]; - ICONV_CONST char *inptr = input; - size_t inbytesleft = strlen (input); - char *outptr = buf; - size_t outbytesleft = sizeof (buf); - size_t res = iconv (cd_88591_to_utf8, - &inptr, &inbytesleft, - &outptr, &outbytesleft); - if ((int)res > 0) - result |= 8; - iconv_close (cd_88591_to_utf8); - } - } -#endif - /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is - provided. */ - 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)) - result |= 16; - return result; -]])], - [am_cv_func_iconv_works=yes], , - [case "$host_os" in - aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; - *) am_cv_func_iconv_works="guessing yes" ;; - esac]) - test "$am_cv_func_iconv_works" = no || break - done - LIBS="$am_save_LIBS" - ]) - case "$am_cv_func_iconv_works" in - *no) am_func_iconv=no am_cv_lib_iconv=no ;; - *) am_func_iconv=yes ;; - esac - else - am_func_iconv=no am_cv_lib_iconv=no - fi - if test "$am_func_iconv" = yes; then - AC_DEFINE([HAVE_ICONV], [1], - [Define if you have the iconv() function and it works.]) - fi - if test "$am_cv_lib_iconv" = yes; then - AC_MSG_CHECKING([how to link with libiconv]) - AC_MSG_RESULT([$LIBICONV]) - else - dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV - dnl either. - CPPFLAGS="$am_save_CPPFLAGS" - LIBICONV= - LTLIBICONV= - fi - AC_SUBST([LIBICONV]) - AC_SUBST([LTLIBICONV]) -]) - -dnl Define AM_ICONV using AC_DEFUN_ONCE for Autoconf >= 2.64, in order to -dnl avoid warnings like -dnl "warning: AC_REQUIRE: `AM_ICONV' was expanded before it was required". -dnl This is tricky because of the way 'aclocal' is implemented: -dnl - It requires defining an auxiliary macro whose name ends in AC_DEFUN. -dnl Otherwise aclocal's initial scan pass would miss the macro definition. -dnl - It requires a line break inside the AC_DEFUN_ONCE and AC_DEFUN expansions. -dnl Otherwise aclocal would emit many "Use of uninitialized value $1" -dnl warnings. -m4_define([gl_iconv_AC_DEFUN], - m4_version_prereq([2.64], - [[AC_DEFUN_ONCE( - [$1], [$2])]], - [m4_ifdef([gl_00GNULIB], - [[AC_DEFUN_ONCE( - [$1], [$2])]], - [[AC_DEFUN( - [$1], [$2])]])])) -gl_iconv_AC_DEFUN([AM_ICONV], -[ - AM_ICONV_LINK - if test "$am_cv_func_iconv" = yes; then - AC_MSG_CHECKING([for iconv declaration]) - AC_CACHE_VAL([am_cv_proto_iconv], [ - AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM( - [[ -#include -#include -extern -#ifdef __cplusplus -"C" -#endif -#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus) -size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); -#else -size_t iconv(); -#endif - ]], - [[]])], - [am_cv_proto_iconv_arg1=""], - [am_cv_proto_iconv_arg1="const"]) - am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) - am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` - AC_MSG_RESULT([ - $am_cv_proto_iconv]) - AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1], - [Define as const if the declaration of iconv() needs const.]) - dnl Also substitute ICONV_CONST in the gnulib generated . - m4_ifdef([gl_ICONV_H_DEFAULTS], - [AC_REQUIRE([gl_ICONV_H_DEFAULTS]) - if test -n "$am_cv_proto_iconv_arg1"; then - ICONV_CONST="const" - fi - ]) - fi -]) diff -Nru shared-mime-info-1.15/m4/intlmacosx.m4 shared-mime-info-2.0/m4/intlmacosx.m4 --- shared-mime-info-1.15/m4/intlmacosx.m4 2019-09-11 10:53:10.000000000 +0000 +++ shared-mime-info-2.0/m4/intlmacosx.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,56 +0,0 @@ -# intlmacosx.m4 serial 5 (gettext-0.18.2) -dnl Copyright (C) 2004-2014, 2016 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. -dnl -dnl This file can be used in projects which are not available under -dnl the GNU General Public License or the GNU Library General Public -dnl License but which still want to provide support for the GNU gettext -dnl functionality. -dnl Please note that the actual code of the GNU gettext library is covered -dnl by the GNU Library General Public License, and the rest of the GNU -dnl gettext package is covered by the GNU General Public License. -dnl They are *not* in the public domain. - -dnl Checks for special options needed on Mac OS X. -dnl Defines INTL_MACOSX_LIBS. -AC_DEFUN([gt_INTL_MACOSX], -[ - dnl Check for API introduced in Mac OS X 10.2. - AC_CACHE_CHECK([for CFPreferencesCopyAppValue], - [gt_cv_func_CFPreferencesCopyAppValue], - [gt_save_LIBS="$LIBS" - LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" - AC_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[#include ]], - [[CFPreferencesCopyAppValue(NULL, NULL)]])], - [gt_cv_func_CFPreferencesCopyAppValue=yes], - [gt_cv_func_CFPreferencesCopyAppValue=no]) - LIBS="$gt_save_LIBS"]) - if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then - AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], [1], - [Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in the CoreFoundation framework.]) - fi - dnl Check for API introduced in Mac OS X 10.3. - AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent], - [gt_save_LIBS="$LIBS" - LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" - AC_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[#include ]], - [[CFLocaleCopyCurrent();]])], - [gt_cv_func_CFLocaleCopyCurrent=yes], - [gt_cv_func_CFLocaleCopyCurrent=no]) - LIBS="$gt_save_LIBS"]) - if test $gt_cv_func_CFLocaleCopyCurrent = yes; then - AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], [1], - [Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the CoreFoundation framework.]) - fi - INTL_MACOSX_LIBS= - if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then - INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" - fi - AC_SUBST([INTL_MACOSX_LIBS]) -]) diff -Nru shared-mime-info-1.15/m4/lib-ld.m4 shared-mime-info-2.0/m4/lib-ld.m4 --- shared-mime-info-1.15/m4/lib-ld.m4 2019-09-11 10:53:10.000000000 +0000 +++ shared-mime-info-2.0/m4/lib-ld.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,119 +0,0 @@ -# lib-ld.m4 serial 6 -dnl Copyright (C) 1996-2003, 2009-2016 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl Subroutines of libtool.m4, -dnl with replacements s/_*LT_PATH/AC_LIB_PROG/ and s/lt_/acl_/ to avoid -dnl collision with libtool.m4. - -dnl From libtool-2.4. Sets the variable with_gnu_ld to yes or no. -AC_DEFUN([AC_LIB_PROG_LD_GNU], -[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld], -[# I'd rather use --version here, but apparently some GNU lds only accept -v. -case `$LD -v 2>&1 /dev/null 2>&1 \ - && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ - || PATH_SEPARATOR=';' - } -fi - -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 $CC]) - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [[\\/]]* | ?:[[\\/]]*) - re_direlt='/[[^/]][[^/]]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'` - while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$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 - acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$acl_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - acl_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$acl_cv_path_LD" -v 2>&1 = 1.10 to complain if config.rpath is missing. - m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])]) - AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS - AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld - AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host - AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir - AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [ - CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ - ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh - . ./conftest.sh - rm -f ./conftest.sh - acl_cv_rpath=done - ]) - wl="$acl_cv_wl" - acl_libext="$acl_cv_libext" - acl_shlibext="$acl_cv_shlibext" - acl_libname_spec="$acl_cv_libname_spec" - acl_library_names_spec="$acl_cv_library_names_spec" - acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" - acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" - acl_hardcode_direct="$acl_cv_hardcode_direct" - acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" - dnl Determine whether the user wants rpath handling at all. - AC_ARG_ENABLE([rpath], - [ --disable-rpath do not hardcode runtime library paths], - :, enable_rpath=yes) -]) - -dnl AC_LIB_FROMPACKAGE(name, package) -dnl declares that libname comes from the given package. The configure file -dnl will then not have a --with-libname-prefix option but a -dnl --with-package-prefix option. Several libraries can come from the same -dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar -dnl macro call that searches for libname. -AC_DEFUN([AC_LIB_FROMPACKAGE], -[ - pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) - define([acl_frompackage_]NAME, [$2]) - popdef([NAME]) - pushdef([PACK],[$2]) - pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) - define([acl_libsinpackage_]PACKUP, - m4_ifdef([acl_libsinpackage_]PACKUP, [m4_defn([acl_libsinpackage_]PACKUP)[, ]],)[lib$1]) - popdef([PACKUP]) - popdef([PACK]) -]) - -dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and -dnl the libraries corresponding to explicit and implicit dependencies. -dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. -dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found -dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem. -AC_DEFUN([AC_LIB_LINKFLAGS_BODY], -[ - AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) - pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) - pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])]) - pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) - pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])]) - dnl Autoconf >= 2.61 supports dots in --with options. - pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[m4_translit(PACK,[.],[_])],PACK)]) - dnl By default, look in $includedir and $libdir. - use_additional=yes - AC_LIB_WITH_FINAL_PREFIX([ - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - ]) - AC_ARG_WITH(P_A_C_K[-prefix], -[[ --with-]]P_A_C_K[[-prefix[=DIR] search for ]PACKLIBS[ in DIR/include and DIR/lib - --without-]]P_A_C_K[[-prefix don't search for ]PACKLIBS[ in includedir and libdir]], -[ - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then - AC_LIB_WITH_FINAL_PREFIX([ - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - ]) - else - additional_includedir="$withval/include" - additional_libdir="$withval/$acl_libdirstem" - if test "$acl_libdirstem2" != "$acl_libdirstem" \ - && ! test -d "$withval/$acl_libdirstem"; then - additional_libdir="$withval/$acl_libdirstem2" - fi - fi - fi -]) - dnl Search the library and its dependencies in $additional_libdir and - dnl $LDFLAGS. Using breadth-first-seach. - LIB[]NAME= - LTLIB[]NAME= - INC[]NAME= - LIB[]NAME[]_PREFIX= - dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have been - dnl computed. So it has to be reset here. - HAVE_LIB[]NAME= - rpathdirs= - ltrpathdirs= - names_already_handled= - names_next_round='$1 $2' - while test -n "$names_next_round"; do - names_this_round="$names_next_round" - names_next_round= - for name in $names_this_round; do - already_handled= - for n in $names_already_handled; do - if test "$n" = "$name"; then - already_handled=yes - break - fi - done - if test -z "$already_handled"; then - names_already_handled="$names_already_handled $name" - dnl See if it was already located by an earlier AC_LIB_LINKFLAGS - dnl or AC_LIB_HAVE_LINKFLAGS call. - uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'` - eval value=\"\$HAVE_LIB$uppername\" - if test -n "$value"; then - if test "$value" = yes; then - eval value=\"\$LIB$uppername\" - test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" - eval value=\"\$LTLIB$uppername\" - test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" - else - dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined - dnl that this library doesn't exist. So just drop it. - : - fi - else - dnl Search the library lib$name in $additional_libdir and $LDFLAGS - dnl and the already constructed $LIBNAME/$LTLIBNAME. - found_dir= - found_la= - found_so= - found_a= - eval libname=\"$acl_libname_spec\" # typically: libname=lib$name - if test -n "$acl_shlibext"; then - shrext=".$acl_shlibext" # typically: shrext=.so - else - shrext= - fi - if test $use_additional = yes; then - dir="$additional_libdir" - dnl The same code as in the loop below: - dnl First look for a shared library. - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - dnl Then look for a static library. - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - fi - if test "X$found_dir" = "X"; then - for x in $LDFLAGS $LTLIB[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - case "$x" in - -L*) - dir=`echo "X$x" | sed -e 's/^X-L//'` - dnl First look for a shared library. - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - dnl Then look for a static library. - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - ;; - esac - if test "X$found_dir" != "X"; then - break - fi - done - fi - if test "X$found_dir" != "X"; then - dnl Found the library. - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" - if test "X$found_so" != "X"; then - dnl Linking with a shared library. We attempt to hardcode its - dnl directory into the executable's runpath, unless it's the - dnl standard /usr/lib. - if test "$enable_rpath" = no \ - || test "X$found_dir" = "X/usr/$acl_libdirstem" \ - || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then - dnl No hardcoding is needed. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" - else - dnl Use an explicit option to hardcode DIR into the resulting - dnl binary. - dnl Potentially add DIR to ltrpathdirs. - dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $found_dir" - fi - dnl The hardcoding into $LIBNAME is system dependent. - if test "$acl_hardcode_direct" = yes; then - dnl Using DIR/libNAME.so during linking hardcodes DIR into the - dnl resulting binary. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" - else - if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then - dnl Use an explicit option to hardcode DIR into the resulting - dnl binary. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" - dnl Potentially add DIR to rpathdirs. - dnl The rpathdirs will be appended to $LIBNAME at the end. - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $found_dir" - fi - else - dnl Rely on "-L$found_dir". - dnl But don't add it if it's already contained in the LDFLAGS - dnl or the already constructed $LIBNAME - haveit= - for x in $LDFLAGS $LIB[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" - fi - if test "$acl_hardcode_minus_L" != no; then - dnl FIXME: Not sure whether we should use - dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" - dnl here. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" - else - dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH - dnl here, because this doesn't fit in flags passed to the - dnl compiler. So give up. No hardcoding. This affects only - dnl very old systems. - dnl FIXME: Not sure whether we should use - dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" - dnl here. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" - fi - fi - fi - fi - else - if test "X$found_a" != "X"; then - dnl Linking with a static library. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" - else - dnl We shouldn't come here, but anyway it's good to have a - dnl fallback. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" - fi - fi - dnl Assume the include files are nearby. - additional_includedir= - case "$found_dir" in - */$acl_libdirstem | */$acl_libdirstem/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` - if test "$name" = '$1'; then - LIB[]NAME[]_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - */$acl_libdirstem2 | */$acl_libdirstem2/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` - if test "$name" = '$1'; then - LIB[]NAME[]_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - esac - if test "X$additional_includedir" != "X"; then - dnl Potentially add $additional_includedir to $INCNAME. - dnl But don't add it - dnl 1. if it's the standard /usr/include, - dnl 2. if it's /usr/local/include and we are using GCC on Linux, - dnl 3. if it's already present in $CPPFLAGS or the already - dnl constructed $INCNAME, - dnl 4. if it doesn't exist as a directory. - if test "X$additional_includedir" != "X/usr/include"; then - haveit= - if test "X$additional_includedir" = "X/usr/local/include"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - for x in $CPPFLAGS $INC[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-I$additional_includedir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_includedir"; then - dnl Really add $additional_includedir to $INCNAME. - INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" - fi - fi - fi - fi - fi - dnl Look for dependencies. - if test -n "$found_la"; then - dnl Read the .la file. It defines the variables - dnl dlname, library_names, old_library, dependency_libs, current, - dnl age, revision, installed, dlopen, dlpreopen, libdir. - save_libdir="$libdir" - case "$found_la" in - */* | *\\*) . "$found_la" ;; - *) . "./$found_la" ;; - esac - libdir="$save_libdir" - dnl We use only dependency_libs. - for dep in $dependency_libs; do - case "$dep" in - -L*) - additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` - dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. - dnl But don't add it - dnl 1. if it's the standard /usr/lib, - dnl 2. if it's /usr/local/lib and we are using GCC on Linux, - dnl 3. if it's already present in $LDFLAGS or the already - dnl constructed $LIBNAME, - dnl 4. if it doesn't exist as a directory. - if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ - && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then - haveit= - if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ - || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - haveit= - for x in $LDFLAGS $LIB[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - dnl Really add $additional_libdir to $LIBNAME. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" - fi - fi - haveit= - for x in $LDFLAGS $LTLIB[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - dnl Really add $additional_libdir to $LTLIBNAME. - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" - fi - fi - fi - fi - ;; - -R*) - dir=`echo "X$dep" | sed -e 's/^X-R//'` - if test "$enable_rpath" != no; then - dnl Potentially add DIR to rpathdirs. - dnl The rpathdirs will be appended to $LIBNAME at the end. - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $dir" - fi - dnl Potentially add DIR to ltrpathdirs. - dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $dir" - fi - fi - ;; - -l*) - dnl Handle this in the next round. - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` - ;; - *.la) - dnl Handle this in the next round. Throw away the .la's - dnl directory; it is already contained in a preceding -L - dnl option. - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` - ;; - *) - dnl Most likely an immediate library name. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" - ;; - esac - done - fi - else - dnl Didn't find the library; assume it is in the system directories - dnl known to the linker and runtime loader. (All the system - dnl directories known to the linker should also be known to the - dnl runtime loader, otherwise the system is severely misconfigured.) - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" - fi - fi - fi - done - done - if test "X$rpathdirs" != "X"; then - if test -n "$acl_hardcode_libdir_separator"; then - dnl Weird platform: only the last -rpath option counts, the user must - dnl pass all path elements in one option. We can arrange that for a - dnl single library, but not when more than one $LIBNAMEs are used. - alldirs= - for found_dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" - done - dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl. - acl_save_libdir="$libdir" - libdir="$alldirs" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" - else - dnl The -rpath options are cumulative. - for found_dir in $rpathdirs; do - acl_save_libdir="$libdir" - libdir="$found_dir" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" - done - fi - fi - if test "X$ltrpathdirs" != "X"; then - dnl When using libtool, the option that works for both libraries and - dnl executables is -R. The -R options are cumulative. - for found_dir in $ltrpathdirs; do - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" - done - fi - popdef([P_A_C_K]) - popdef([PACKLIBS]) - popdef([PACKUP]) - popdef([PACK]) - popdef([NAME]) -]) - -dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, -dnl unless already present in VAR. -dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes -dnl contains two or three consecutive elements that belong together. -AC_DEFUN([AC_LIB_APPENDTOVAR], -[ - for element in [$2]; do - haveit= - for x in $[$1]; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X$element"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - [$1]="${[$1]}${[$1]:+ }$element" - fi - done -]) - -dnl For those cases where a variable contains several -L and -l options -dnl referring to unknown libraries and directories, this macro determines the -dnl necessary additional linker options for the runtime path. -dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL]) -dnl sets LDADDVAR to linker options needed together with LIBSVALUE. -dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed, -dnl otherwise linking without libtool is assumed. -AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], -[ - AC_REQUIRE([AC_LIB_RPATH]) - AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) - $1= - if test "$enable_rpath" != no; then - if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then - dnl Use an explicit option to hardcode directories into the resulting - dnl binary. - rpathdirs= - next= - for opt in $2; do - if test -n "$next"; then - dir="$next" - dnl No need to hardcode the standard /usr/lib. - if test "X$dir" != "X/usr/$acl_libdirstem" \ - && test "X$dir" != "X/usr/$acl_libdirstem2"; then - rpathdirs="$rpathdirs $dir" - fi - next= - else - case $opt in - -L) next=yes ;; - -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'` - dnl No need to hardcode the standard /usr/lib. - if test "X$dir" != "X/usr/$acl_libdirstem" \ - && test "X$dir" != "X/usr/$acl_libdirstem2"; then - rpathdirs="$rpathdirs $dir" - fi - next= ;; - *) next= ;; - esac - fi - done - if test "X$rpathdirs" != "X"; then - if test -n ""$3""; then - dnl libtool is used for linking. Use -R options. - for dir in $rpathdirs; do - $1="${$1}${$1:+ }-R$dir" - done - else - dnl The linker is used for linking directly. - if test -n "$acl_hardcode_libdir_separator"; then - dnl Weird platform: only the last -rpath option counts, the user - dnl must pass all path elements in one option. - alldirs= - for dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir" - done - acl_save_libdir="$libdir" - libdir="$alldirs" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - $1="$flag" - else - dnl The -rpath options are cumulative. - for dir in $rpathdirs; do - acl_save_libdir="$libdir" - libdir="$dir" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - $1="${$1}${$1:+ }$flag" - done - fi - fi - fi - fi - fi - AC_SUBST([$1]) -]) diff -Nru shared-mime-info-1.15/m4/lib-prefix.m4 shared-mime-info-2.0/m4/lib-prefix.m4 --- shared-mime-info-1.15/m4/lib-prefix.m4 2019-09-11 10:53:10.000000000 +0000 +++ shared-mime-info-2.0/m4/lib-prefix.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,224 +0,0 @@ -# lib-prefix.m4 serial 7 (gettext-0.18) -dnl Copyright (C) 2001-2005, 2008-2016 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Bruno Haible. - -dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and -dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't -dnl require excessive bracketing. -ifdef([AC_HELP_STRING], -[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])], -[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])]) - -dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed -dnl to access previously installed libraries. The basic assumption is that -dnl a user will want packages to use other packages he previously installed -dnl with the same --prefix option. -dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate -dnl libraries, but is otherwise very convenient. -AC_DEFUN([AC_LIB_PREFIX], -[ - AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([AC_CANONICAL_HOST]) - AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) - AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) - dnl By default, look in $includedir and $libdir. - use_additional=yes - AC_LIB_WITH_FINAL_PREFIX([ - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - ]) - AC_LIB_ARG_WITH([lib-prefix], -[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib - --without-lib-prefix don't search for libraries in includedir and libdir], -[ - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then - AC_LIB_WITH_FINAL_PREFIX([ - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - ]) - else - additional_includedir="$withval/include" - additional_libdir="$withval/$acl_libdirstem" - fi - fi -]) - if test $use_additional = yes; then - dnl Potentially add $additional_includedir to $CPPFLAGS. - dnl But don't add it - dnl 1. if it's the standard /usr/include, - dnl 2. if it's already present in $CPPFLAGS, - dnl 3. if it's /usr/local/include and we are using GCC on Linux, - dnl 4. if it doesn't exist as a directory. - if test "X$additional_includedir" != "X/usr/include"; then - haveit= - for x in $CPPFLAGS; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-I$additional_includedir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test "X$additional_includedir" = "X/usr/local/include"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - if test -d "$additional_includedir"; then - dnl Really add $additional_includedir to $CPPFLAGS. - CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" - fi - fi - fi - fi - dnl Potentially add $additional_libdir to $LDFLAGS. - dnl But don't add it - dnl 1. if it's the standard /usr/lib, - dnl 2. if it's already present in $LDFLAGS, - dnl 3. if it's /usr/local/lib and we are using GCC on Linux, - dnl 4. if it doesn't exist as a directory. - if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then - haveit= - for x in $LDFLAGS; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then - if test -n "$GCC"; then - case $host_os in - linux*) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - dnl Really add $additional_libdir to $LDFLAGS. - LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" - fi - fi - fi - fi - fi -]) - -dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, -dnl acl_final_exec_prefix, containing the values to which $prefix and -dnl $exec_prefix will expand at the end of the configure script. -AC_DEFUN([AC_LIB_PREPARE_PREFIX], -[ - dnl Unfortunately, prefix and exec_prefix get only finally determined - dnl at the end of configure. - if test "X$prefix" = "XNONE"; then - acl_final_prefix="$ac_default_prefix" - else - acl_final_prefix="$prefix" - fi - if test "X$exec_prefix" = "XNONE"; then - acl_final_exec_prefix='${prefix}' - else - acl_final_exec_prefix="$exec_prefix" - fi - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" - prefix="$acl_save_prefix" -]) - -dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the -dnl variables prefix and exec_prefix bound to the values they will have -dnl at the end of the configure script. -AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], -[ - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - $1 - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" -]) - -dnl AC_LIB_PREPARE_MULTILIB creates -dnl - a variable acl_libdirstem, containing the basename of the libdir, either -dnl "lib" or "lib64" or "lib/64", -dnl - a variable acl_libdirstem2, as a secondary possible value for -dnl acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or -dnl "lib/amd64". -AC_DEFUN([AC_LIB_PREPARE_MULTILIB], -[ - dnl There is no formal standard regarding lib and lib64. - dnl On glibc systems, the current practice is that on a system supporting - dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under - dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine - dnl the compiler's default mode by looking at the compiler's library search - dnl path. If at least one of its elements ends in /lib64 or points to a - dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI. - dnl Otherwise we use the default, namely "lib". - dnl On Solaris systems, the current practice is that on a system supporting - dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under - dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or - dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib. - AC_REQUIRE([AC_CANONICAL_HOST]) - acl_libdirstem=lib - acl_libdirstem2= - case "$host_os" in - solaris*) - dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment - dnl . - dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link." - dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the - dnl symlink is missing, so we set acl_libdirstem2 too. - AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit], - [AC_EGREP_CPP([sixtyfour bits], [ -#ifdef _LP64 -sixtyfour bits -#endif - ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no]) - ]) - if test $gl_cv_solaris_64bit = yes; then - acl_libdirstem=lib/64 - case "$host_cpu" in - sparc*) acl_libdirstem2=lib/sparcv9 ;; - i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; - esac - fi - ;; - *) - searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` - if test -n "$searchpath"; then - acl_save_IFS="${IFS= }"; IFS=":" - for searchdir in $searchpath; do - if test -d "$searchdir"; then - case "$searchdir" in - */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; - */../ | */.. ) - # Better ignore directories of this form. They are misleading. - ;; - *) searchdir=`cd "$searchdir" && pwd` - case "$searchdir" in - */lib64 ) acl_libdirstem=lib64 ;; - esac ;; - esac - fi - done - IFS="$acl_save_IFS" - fi - ;; - esac - test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" -]) diff -Nru shared-mime-info-1.15/m4/nls.m4 shared-mime-info-2.0/m4/nls.m4 --- shared-mime-info-1.15/m4/nls.m4 2019-09-11 10:53:10.000000000 +0000 +++ shared-mime-info-2.0/m4/nls.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,32 +0,0 @@ -# nls.m4 serial 5 (gettext-0.18) -dnl Copyright (C) 1995-2003, 2005-2006, 2008-2014, 2016 Free Software -dnl Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. -dnl -dnl This file can be used in projects which are not available under -dnl the GNU General Public License or the GNU Library General Public -dnl License but which still want to provide support for the GNU gettext -dnl functionality. -dnl Please note that the actual code of the GNU gettext library is covered -dnl by the GNU Library General Public License, and the rest of the GNU -dnl gettext package is covered by the GNU General Public License. -dnl They are *not* in the public domain. - -dnl Authors: -dnl Ulrich Drepper , 1995-2000. -dnl Bruno Haible , 2000-2003. - -AC_PREREQ([2.50]) - -AC_DEFUN([AM_NLS], -[ - AC_MSG_CHECKING([whether NLS is requested]) - dnl Default is enabled NLS - AC_ARG_ENABLE([nls], - [ --disable-nls do not use Native Language Support], - USE_NLS=$enableval, USE_NLS=yes) - AC_MSG_RESULT([$USE_NLS]) - AC_SUBST([USE_NLS]) -]) diff -Nru shared-mime-info-1.15/m4/po.m4 shared-mime-info-2.0/m4/po.m4 --- shared-mime-info-1.15/m4/po.m4 2019-09-11 10:53:10.000000000 +0000 +++ shared-mime-info-2.0/m4/po.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,453 +0,0 @@ -# po.m4 serial 24 (gettext-0.19) -dnl Copyright (C) 1995-2014, 2016 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. -dnl -dnl This file can be used in projects which are not available under -dnl the GNU General Public License or the GNU Library General Public -dnl License but which still want to provide support for the GNU gettext -dnl functionality. -dnl Please note that the actual code of the GNU gettext library is covered -dnl by the GNU Library General Public License, and the rest of the GNU -dnl gettext package is covered by the GNU General Public License. -dnl They are *not* in the public domain. - -dnl Authors: -dnl Ulrich Drepper , 1995-2000. -dnl Bruno Haible , 2000-2003. - -AC_PREREQ([2.60]) - -dnl Checks for all prerequisites of the po subdirectory. -AC_DEFUN([AM_PO_SUBDIRS], -[ - AC_REQUIRE([AC_PROG_MAKE_SET])dnl - AC_REQUIRE([AC_PROG_INSTALL])dnl - AC_REQUIRE([AC_PROG_MKDIR_P])dnl - AC_REQUIRE([AC_PROG_SED])dnl - AC_REQUIRE([AM_NLS])dnl - - dnl Release version of the gettext macros. This is used to ensure that - dnl the gettext macros and po/Makefile.in.in are in sync. - AC_SUBST([GETTEXT_MACRO_VERSION], [0.19]) - - dnl Perform the following tests also if --disable-nls has been given, - dnl because they are needed for "make dist" to work. - - dnl Search for GNU msgfmt in the PATH. - dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions. - dnl The second test excludes FreeBSD msgfmt. - AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, - [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && - (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], - :) - AC_PATH_PROG([GMSGFMT], [gmsgfmt], [$MSGFMT]) - - dnl Test whether it is GNU msgfmt >= 0.15. -changequote(,)dnl - case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; - *) MSGFMT_015=$MSGFMT ;; - esac -changequote([,])dnl - AC_SUBST([MSGFMT_015]) -changequote(,)dnl - case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; - *) GMSGFMT_015=$GMSGFMT ;; - esac -changequote([,])dnl - AC_SUBST([GMSGFMT_015]) - - dnl Search for GNU xgettext 0.12 or newer in the PATH. - dnl The first test excludes Solaris xgettext and early GNU xgettext versions. - dnl The second test excludes FreeBSD xgettext. - AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, - [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && - (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], - :) - dnl Remove leftover from FreeBSD xgettext call. - rm -f messages.po - - dnl Test whether it is GNU xgettext >= 0.15. -changequote(,)dnl - case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; - *) XGETTEXT_015=$XGETTEXT ;; - esac -changequote([,])dnl - AC_SUBST([XGETTEXT_015]) - - dnl Search for GNU msgmerge 0.11 or newer in the PATH. - AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge, - [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :) - - dnl Installation directories. - dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we - dnl have to define it here, so that it can be used in po/Makefile. - test -n "$localedir" || localedir='${datadir}/locale' - AC_SUBST([localedir]) - - dnl Support for AM_XGETTEXT_OPTION. - test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= - AC_SUBST([XGETTEXT_EXTRA_OPTIONS]) - - AC_CONFIG_COMMANDS([po-directories], [[ - for ac_file in $CONFIG_FILES; do - # Support "outfile[:infile[:infile...]]" - case "$ac_file" in - *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - esac - # PO directories have a Makefile.in generated from Makefile.in.in. - case "$ac_file" in */Makefile.in) - # Adjust a relative srcdir. - ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` - ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'` - ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` - # In autoconf-2.13 it is called $ac_given_srcdir. - # In autoconf-2.50 it is called $srcdir. - test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" - case "$ac_given_srcdir" in - .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; - /*) top_srcdir="$ac_given_srcdir" ;; - *) top_srcdir="$ac_dots$ac_given_srcdir" ;; - esac - # Treat a directory as a PO directory if and only if it has a - # POTFILES.in file. This allows packages to have multiple PO - # directories under different names or in different locations. - if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then - rm -f "$ac_dir/POTFILES" - test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" - gt_tab=`printf '\t'` - cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ${gt_tab}]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" - POMAKEFILEDEPS="POTFILES.in" - # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend - # on $ac_dir but don't depend on user-specified configuration - # parameters. - if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then - # The LINGUAS file contains the set of available languages. - if test -n "$OBSOLETE_ALL_LINGUAS"; then - test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" - fi - ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` - # Hide the ALL_LINGUAS assignment from automake < 1.5. - eval 'ALL_LINGUAS''=$ALL_LINGUAS_' - POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" - else - # The set of available languages was given in configure.in. - # Hide the ALL_LINGUAS assignment from automake < 1.5. - eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' - fi - # Compute POFILES - # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) - # Compute UPDATEPOFILES - # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) - # Compute DUMMYPOFILES - # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) - # Compute GMOFILES - # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) - case "$ac_given_srcdir" in - .) srcdirpre= ;; - *) srcdirpre='$(srcdir)/' ;; - esac - POFILES= - UPDATEPOFILES= - DUMMYPOFILES= - GMOFILES= - for lang in $ALL_LINGUAS; do - POFILES="$POFILES $srcdirpre$lang.po" - UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" - DUMMYPOFILES="$DUMMYPOFILES $lang.nop" - GMOFILES="$GMOFILES $srcdirpre$lang.gmo" - done - # CATALOGS depends on both $ac_dir and the user's LINGUAS - # environment variable. - INST_LINGUAS= - if test -n "$ALL_LINGUAS"; then - for presentlang in $ALL_LINGUAS; do - useit=no - if test "%UNSET%" != "$LINGUAS"; then - desiredlanguages="$LINGUAS" - else - desiredlanguages="$ALL_LINGUAS" - fi - for desiredlang in $desiredlanguages; do - # Use the presentlang catalog if desiredlang is - # a. equal to presentlang, or - # b. a variant of presentlang (because in this case, - # presentlang can be used as a fallback for messages - # which are not translated in the desiredlang catalog). - case "$desiredlang" in - "$presentlang"*) useit=yes;; - esac - done - if test $useit = yes; then - INST_LINGUAS="$INST_LINGUAS $presentlang" - fi - done - fi - CATALOGS= - if test -n "$INST_LINGUAS"; then - for lang in $INST_LINGUAS; do - CATALOGS="$CATALOGS $lang.gmo" - done - fi - test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" - sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" - for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do - if test -f "$f"; then - case "$f" in - *.orig | *.bak | *~) ;; - *) cat "$f" >> "$ac_dir/Makefile" ;; - esac - fi - done - fi - ;; - esac - done]], - [# Capture the value of obsolete ALL_LINGUAS because we need it to compute - # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it - # from automake < 1.5. - eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' - # Capture the value of LINGUAS because we need it to compute CATALOGS. - LINGUAS="${LINGUAS-%UNSET%}" - ]) -]) - -dnl Postprocesses a Makefile in a directory containing PO files. -AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE], -[ - # When this code is run, in config.status, two variables have already been - # set: - # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in, - # - LINGUAS is the value of the environment variable LINGUAS at configure - # time. - -changequote(,)dnl - # Adjust a relative srcdir. - ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` - ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'` - ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` - # In autoconf-2.13 it is called $ac_given_srcdir. - # In autoconf-2.50 it is called $srcdir. - test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" - case "$ac_given_srcdir" in - .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; - /*) top_srcdir="$ac_given_srcdir" ;; - *) top_srcdir="$ac_dots$ac_given_srcdir" ;; - esac - - # Find a way to echo strings without interpreting backslash. - if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then - gt_echo='echo' - else - if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then - gt_echo='printf %s\n' - else - echo_func () { - cat < "$ac_file.tmp" - tab=`printf '\t'` - if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then - # Add dependencies that cannot be formulated as a simple suffix rule. - for lang in $ALL_LINGUAS; do - frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` - cat >> "$ac_file.tmp" < /dev/null; then - # Add dependencies that cannot be formulated as a simple suffix rule. - for lang in $ALL_LINGUAS; do - frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'` - cat >> "$ac_file.tmp" <> "$ac_file.tmp" <, 1996. - -AC_PREREQ([2.50]) - -# Search path for a program which passes the given test. - -dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, -dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) -AC_DEFUN([AM_PATH_PROG_WITH_TEST], -[ -# Prepare PATH_SEPARATOR. -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which - # contains only /bin. Note that ksh looks also at the FPATH variable, - # so we have to set that as well for the test. - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ - && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ - || PATH_SEPARATOR=';' - } -fi - -# Find out how to test for executable files. Don't use a zero-byte file, -# as systems may use methods other than mode bits to determine executability. -cat >conf$$.file <<_ASEOF -#! /bin/sh -exit 0 -_ASEOF -chmod +x conf$$.file -if test -x conf$$.file >/dev/null 2>&1; then - ac_executable_p="test -x" -else - ac_executable_p="test -f" -fi -rm -f conf$$.file - -# Extract the first word of "$2", so it can be a program name with args. -set dummy $2; ac_word=[$]2 -AC_MSG_CHECKING([for $ac_word]) -AC_CACHE_VAL([ac_cv_path_$1], -[case "[$]$1" in - [[\\/]]* | ?:[[\\/]]*) - ac_cv_path_$1="[$]$1" # Let the user override the test with a path. - ;; - *) - ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in ifelse([$5], , $PATH, [$5]); do - IFS="$ac_save_IFS" - test -z "$ac_dir" && ac_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then - echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD - if [$3]; then - ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext" - break 2 - fi - fi - done - done - IFS="$ac_save_IFS" -dnl If no 4th arg is given, leave the cache variable unset, -dnl so AC_PATH_PROGS will keep looking. -ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" -])dnl - ;; -esac])dnl -$1="$ac_cv_path_$1" -if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then - AC_MSG_RESULT([$][$1]) -else - AC_MSG_RESULT([no]) -fi -AC_SUBST([$1])dnl -]) diff -Nru shared-mime-info-1.15/MAINTAINERS shared-mime-info-2.0/MAINTAINERS --- shared-mime-info-1.15/MAINTAINERS 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/MAINTAINERS 2020-05-06 14:11:14.036908900 +0000 @@ -0,0 +1,3 @@ +Bastien Nocera +Ville Skyttä +David Faure diff -Nru shared-mime-info-1.15/Makefile.am shared-mime-info-2.0/Makefile.am --- shared-mime-info-1.15/Makefile.am 2019-09-11 10:58:41.000000000 +0000 +++ shared-mime-info-2.0/Makefile.am 1970-01-01 00:00:00.000000000 +0000 @@ -1,163 +0,0 @@ -SUBDIRS=po . - -AM_CPPFLAGS = $(ALL_CFLAGS) - -packagesdir = $(datadir)/mime/packages -nodist_packages_DATA = freedesktop.org.xml - -bin_PROGRAMS = update-mime-database -update_mime_database_SOURCES = update-mime-database.c -update_mime_database_CFLAGS = $(ALL_CFLAGS) -update_mime_database_LDADD = $(ALL_LIBS) - -noinst_PROGRAMS = test-subclassing -test_subclassing_SOURCES = test-subclassing.c -test_subclassing_CFLAGS = $(ALL_CFLAGS) -test_subclassing_LDADD = $(ALL_LIBS) - -if HAVE_GIO -noinst_PROGRAMS += test-tree-magic -test_tree_magic_SOURCES = test-tree-magic.c -test_tree_magic_CFLAGS = $(GIO_CFLAGS) -test_tree_magic_LDADD = $(GIO_LIBS) -endif - -man_MANS = update-mime-database.1 - -ITS_FILES = its/shared-mime-info.loc its/shared-mime-info.its - -EXTRA_DIST = \ - shared-mime-info-spec.xml \ - freedesktop.org.xml.in \ - test-tree-magic.c \ - $(packages_DATA) \ - README \ - HACKING \ - $(man_MANS) \ - $(ITS_FILES) \ - shared-mime-info.pc.in - -CLEANFILES = freedesktop.org.xml po/stamp-it - -pkgconfigdir = $(datadir)/pkgconfig -pkgconfig_DATA = shared-mime-info.pc - -$(pkgconfig_DATA): config.status - -freedesktop.org.xml: freedesktop.org.xml.in $(top_srcdir)/po/*.po its/shared-mime-info.its - $(MAKE) -C po update-gmo - $(AM_V_GEN)$(ITSTOOL) --its $(top_srcdir)/its/shared-mime-info.its -j $< -o $@ $(top_srcdir)/po/*.gmo - -if CROSS_COMPILING - update_mime_database=$(UPDATE_MIME_DATABASE) -else - update_mime_database="$(top_builddir)/update-mime-database$(EXEEXT)" -endif - -install-data-hook: -if ENABLE_UPDATE_MIMEDB - $(update_mime_database) -V "$(DESTDIR)$(datadir)/mime" -endif - -uninstall-hook: - for media in text application image audio inode video message model multipart x-epoc x-content font; do rm -f "$(DESTDIR)$(datadir)/mime/$${media}/"*.xml; done - rm -f "$(DESTDIR)$(datadir)/mime/globs" - rm -f "$(DESTDIR)$(datadir)/mime/magic" - rm -f "$(DESTDIR)$(datadir)/mime/aliases" - rm -f "$(DESTDIR)$(datadir)/mime/subclasses" - rm -f "$(DESTDIR)$(datadir)/mime/XMLnamespaces" - rm -f "$(DESTDIR)$(datadir)/mime/mime.cache" - rm -f "$(DESTDIR)$(datadir)/mime/XMLnamespaces" - rm -f "$(DESTDIR)$(datadir)/mime/mime.cache" - rm -f "$(DESTDIR)$(datadir)/mime/icons" - rm -f "$(DESTDIR)$(datadir)/mime/generic-icons" - rm -f "$(DESTDIR)$(datadir)/mime/globs2" - rm -f "$(DESTDIR)$(datadir)/mime/treemagic" - rm -f "$(DESTDIR)$(datadir)/mime/types" - rm -f "$(DESTDIR)$(datadir)/mime/version" - -all: $(defaultmakedeps) - -XDGMIME_PATH=@XDGMIME_PATH@ - -po/shared-mime-info.pot: freedesktop.org.xml.in $(top_srcdir)/po/*.po - make -C po shared-mime-info.pot - -local-test: po/shared-mime-info.pot freedesktop.org.xml update-mime-database$(EXEEXT) -if CROSS_COMPILING - @echo "Cross compiling: Skipping checks" -else - @if ! test -d staging-tests/ ; then \ - echo "***************************************************************************" ; \ - echo "*** Add your file to process to staging-tests/ and run local-test again ***" ; \ - echo "***************************************************************************" ; \ - exit 1 ; \ - fi - if test -d $(top_srcdir)/.git/ ; then \ - mkdir -p $(top_builddir)/temp-mime-dir/mime/packages ; \ - cp -a $(top_builddir)/freedesktop.org.xml $(top_builddir)/temp-mime-dir/mime/packages/ ; \ - XDG_DATA_DIRS="$(top_builddir)/temp-mime-dir/" $(top_builddir)/update-mime-database$(EXEEXT) "$(top_builddir)/temp-mime-dir/mime/" ; \ - XDG_DATA_DIRS="$(top_builddir)/temp-mime-dir/" XDG_DATA_HOME="$(top_builddir)/temp-mime-dir/" $(XDGMIME_PATH)/src/print-mime-data$(EXEEXT) staging-tests/; \ - rm -rf "$(top_builddir)/temp-mime-dir/" ; \ - fi -endif - -check: po/shared-mime-info.pot freedesktop.org.xml update-mime-database$(EXEEXT) check-translations -if CROSS_COMPILING - @echo "Cross compiling: Skipping checks" -else - xmllint --noout --valid $(top_builddir)/freedesktop.org.xml || exit 1; \ - if test -d $(top_srcdir)/.git/ ; then \ - $(top_builddir)/update-mime-database$(EXEEXT) $(top_srcdir)/mime-db-tests/ ; \ - fi - @if test -d $(top_srcdir)/.git/ ; then \ - if test ! -x $(XDGMIME_PATH)/src/test-mime-data$(EXEEXT) || test ! -x $(top_builddir)/test-tree-magic$(EXEEXT) ; then \ - echo "***************************************************************************" ; \ - echo "*** xdgmime not compiled, test suite cannot run. Check HACKING for info ***" ; \ - echo "***************************************************************************" ; \ - exit 1 ; \ - else \ - mkdir -p $(top_builddir)/temp-mime-dir/mime/packages ; \ - cp -a $(top_builddir)/freedesktop.org.xml $(top_builddir)/temp-mime-dir/mime/packages/ ; \ - XDG_DATA_DIRS="$(top_builddir)/temp-mime-dir/" $(top_builddir)/update-mime-database$(EXEEXT) "$(top_builddir)/temp-mime-dir/mime/" ; \ - XDG_DATA_DIRS="$(top_builddir)/temp-mime-dir/" XDG_DATA_HOME="$(top_builddir)/temp-mime-dir/" $(XDGMIME_PATH)/src/test-mime-data$(EXEEXT) -v $(top_srcdir)/tests/list || exit 1; \ - XDG_DATA_DIRS="$(top_builddir)/temp-mime-dir/" XDG_DATA_HOME="$(top_builddir)/temp-mime-dir/" $(XDGMIME_PATH)/src/test-mime$(EXEEXT) || exit 1; \ - XDG_DATA_DIRS="$(top_builddir)/temp-mime-dir/" $(top_builddir)/test-tree-magic$(EXEEXT) $(top_srcdir)/tests/tree-list || exit 1; \ - rm -rf "$(top_builddir)/temp-mime-dir/" ; \ - fi; \ - fi - @if test x`grep ' $@; \ - fi - -dist: ChangeLog - -.PHONY: ChangeLog - - -ACLOCAL_AMFLAGS = -I m4 diff -Nru shared-mime-info-1.15/Makefile.in shared-mime-info-2.0/Makefile.in --- shared-mime-info-1.15/Makefile.in 2019-10-30 10:45:14.000000000 +0000 +++ shared-mime-info-2.0/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,1278 +0,0 @@ -# Makefile.in generated by automake 1.16.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2018 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - - -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -bin_PROGRAMS = update-mime-database$(EXEEXT) -noinst_PROGRAMS = test-subclassing$(EXEEXT) $(am__EXEEXT_1) -@HAVE_GIO_TRUE@am__append_1 = test-tree-magic -subdir = . -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.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) -DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ - $(am__configure_deps) $(am__DIST_COMMON) -am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ - configure.lineno config.status.lineno -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = config.h -CONFIG_CLEAN_FILES = shared-mime-info.pc -CONFIG_CLEAN_VPATH_FILES = -am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" \ - "$(DESTDIR)$(packagesdir)" "$(DESTDIR)$(pkgconfigdir)" -@HAVE_GIO_TRUE@am__EXEEXT_1 = test-tree-magic$(EXEEXT) -PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) -am_test_subclassing_OBJECTS = \ - test_subclassing-test-subclassing.$(OBJEXT) -test_subclassing_OBJECTS = $(am_test_subclassing_OBJECTS) -am__DEPENDENCIES_1 = -test_subclassing_DEPENDENCIES = $(am__DEPENDENCIES_1) -test_subclassing_LINK = $(CCLD) $(test_subclassing_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -am__test_tree_magic_SOURCES_DIST = test-tree-magic.c -@HAVE_GIO_TRUE@am_test_tree_magic_OBJECTS = \ -@HAVE_GIO_TRUE@ test_tree_magic-test-tree-magic.$(OBJEXT) -test_tree_magic_OBJECTS = $(am_test_tree_magic_OBJECTS) -@HAVE_GIO_TRUE@test_tree_magic_DEPENDENCIES = $(am__DEPENDENCIES_1) -test_tree_magic_LINK = $(CCLD) $(test_tree_magic_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -am_update_mime_database_OBJECTS = \ - update_mime_database-update-mime-database.$(OBJEXT) -update_mime_database_OBJECTS = $(am_update_mime_database_OBJECTS) -update_mime_database_DEPENDENCIES = $(am__DEPENDENCIES_1) -update_mime_database_LINK = $(CCLD) $(update_mime_database_CFLAGS) \ - $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__maybe_remake_depfiles = depfiles -am__depfiles_remade = \ - ./$(DEPDIR)/test_subclassing-test-subclassing.Po \ - ./$(DEPDIR)/test_tree_magic-test-tree-magic.Po \ - ./$(DEPDIR)/update_mime_database-update-mime-database.Po -am__mv = mv -f -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -am__v_lt_1 = -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(test_subclassing_SOURCES) $(test_tree_magic_SOURCES) \ - $(update_mime_database_SOURCES) -DIST_SOURCES = $(test_subclassing_SOURCES) \ - $(am__test_tree_magic_SOURCES_DIST) \ - $(update_mime_database_SOURCES) -RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ - ctags-recursive dvi-recursive html-recursive info-recursive \ - install-data-recursive install-dvi-recursive \ - install-exec-recursive install-html-recursive \ - install-info-recursive install-pdf-recursive \ - install-ps-recursive install-recursive installcheck-recursive \ - installdirs-recursive pdf-recursive ps-recursive \ - tags-recursive uninstall-recursive -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -man1dir = $(mandir)/man1 -NROFF = nroff -MANS = $(man_MANS) -DATA = $(nodist_packages_DATA) $(pkgconfig_DATA) -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -am__recursive_targets = \ - $(RECURSIVE_TARGETS) \ - $(RECURSIVE_CLEAN_TARGETS) \ - $(am__extra_recursive_targets) -AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ - cscope distdir distdir-am dist dist-all distcheck -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ - $(LISP)config.h.in -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -CSCOPE = cscope -DIST_SUBDIRS = $(SUBDIRS) -am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \ - $(srcdir)/shared-mime-info.pc.in ABOUT-NLS COPYING ChangeLog \ - NEWS README compile config.guess config.rpath config.sub \ - depcomp install-sh missing -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" -GZIP_ENV = --best -DIST_ARCHIVES = $(distdir).tar.xz -DIST_TARGETS = dist-xz -distuninstallcheck_listfiles = find . -type f -print -am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ - | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' -distcleancheck_listfiles = find . -type f -print -ACLOCAL = @ACLOCAL@ -ALL_CFLAGS = @ALL_CFLAGS@ -ALL_LIBS = @ALL_LIBS@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GIO_CFLAGS = @GIO_CFLAGS@ -GIO_LIBS = @GIO_LIBS@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -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@ -ITSTOOL = @ITSTOOL@ -LDFLAGS = @LDFLAGS@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -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@ -PKG_CONFIG = @PKG_CONFIG@ -PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ -PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ -POSUB = @POSUB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -XDGMIME_PATH = @XDGMIME_PATH@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -XMLLINT = @XMLLINT@ -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@ -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 = po . -AM_CPPFLAGS = $(ALL_CFLAGS) -packagesdir = $(datadir)/mime/packages -nodist_packages_DATA = freedesktop.org.xml -update_mime_database_SOURCES = update-mime-database.c -update_mime_database_CFLAGS = $(ALL_CFLAGS) -update_mime_database_LDADD = $(ALL_LIBS) -test_subclassing_SOURCES = test-subclassing.c -test_subclassing_CFLAGS = $(ALL_CFLAGS) -test_subclassing_LDADD = $(ALL_LIBS) -@HAVE_GIO_TRUE@test_tree_magic_SOURCES = test-tree-magic.c -@HAVE_GIO_TRUE@test_tree_magic_CFLAGS = $(GIO_CFLAGS) -@HAVE_GIO_TRUE@test_tree_magic_LDADD = $(GIO_LIBS) -man_MANS = update-mime-database.1 -ITS_FILES = its/shared-mime-info.loc its/shared-mime-info.its -EXTRA_DIST = \ - shared-mime-info-spec.xml \ - freedesktop.org.xml.in \ - test-tree-magic.c \ - $(packages_DATA) \ - README \ - HACKING \ - $(man_MANS) \ - $(ITS_FILES) \ - shared-mime-info.pc.in - -CLEANFILES = freedesktop.org.xml po/stamp-it -pkgconfigdir = $(datadir)/pkgconfig -pkgconfig_DATA = shared-mime-info.pc -@CROSS_COMPILING_FALSE@update_mime_database = "$(top_builddir)/update-mime-database$(EXEEXT)" -@CROSS_COMPILING_TRUE@update_mime_database = $(UPDATE_MIME_DATABASE) -ACLOCAL_AMFLAGS = -I m4 -all: config.h - $(MAKE) $(AM_MAKEFLAGS) all-recursive - -.SUFFIXES: -.SUFFIXES: .c .o .obj -am--refresh: Makefile - @: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ - $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - echo ' $(SHELL) ./config.status'; \ - $(SHELL) ./config.status;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - $(SHELL) ./config.status --recheck - -$(top_srcdir)/configure: $(am__configure_deps) - $(am__cd) $(srcdir) && $(AUTOCONF) -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) -$(am__aclocal_m4_deps): - -config.h: stamp-h1 - @test -f $@ || rm -f stamp-h1 - @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1 - -stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status - @rm -f stamp-h1 - cd $(top_builddir) && $(SHELL) ./config.status config.h -$(srcdir)/config.h.in: $(am__configure_deps) - ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) - rm -f stamp-h1 - touch $@ - -distclean-hdr: - -rm -f config.h stamp-h1 -shared-mime-info.pc: $(top_builddir)/config.status $(srcdir)/shared-mime-info.pc.in - cd $(top_builddir) && $(SHELL) ./config.status $@ -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) - -clean-noinstPROGRAMS: - -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) - -test-subclassing$(EXEEXT): $(test_subclassing_OBJECTS) $(test_subclassing_DEPENDENCIES) $(EXTRA_test_subclassing_DEPENDENCIES) - @rm -f test-subclassing$(EXEEXT) - $(AM_V_CCLD)$(test_subclassing_LINK) $(test_subclassing_OBJECTS) $(test_subclassing_LDADD) $(LIBS) - -test-tree-magic$(EXEEXT): $(test_tree_magic_OBJECTS) $(test_tree_magic_DEPENDENCIES) $(EXTRA_test_tree_magic_DEPENDENCIES) - @rm -f test-tree-magic$(EXEEXT) - $(AM_V_CCLD)$(test_tree_magic_LINK) $(test_tree_magic_OBJECTS) $(test_tree_magic_LDADD) $(LIBS) - -update-mime-database$(EXEEXT): $(update_mime_database_OBJECTS) $(update_mime_database_DEPENDENCIES) $(EXTRA_update_mime_database_DEPENDENCIES) - @rm -f update-mime-database$(EXEEXT) - $(AM_V_CCLD)$(update_mime_database_LINK) $(update_mime_database_OBJECTS) $(update_mime_database_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_subclassing-test-subclassing.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_tree_magic-test-tree-magic.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/update_mime_database-update-mime-database.Po@am__quote@ # am--include-marker - -$(am__depfiles_remade): - @$(MKDIR_P) $(@D) - @echo '# dummy' >$@-t && $(am__mv) $@-t $@ - -am--depfiles: $(am__depfiles_remade) - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -test_subclassing-test-subclassing.o: test-subclassing.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_subclassing_CFLAGS) $(CFLAGS) -MT test_subclassing-test-subclassing.o -MD -MP -MF $(DEPDIR)/test_subclassing-test-subclassing.Tpo -c -o test_subclassing-test-subclassing.o `test -f 'test-subclassing.c' || echo '$(srcdir)/'`test-subclassing.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_subclassing-test-subclassing.Tpo $(DEPDIR)/test_subclassing-test-subclassing.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test-subclassing.c' object='test_subclassing-test-subclassing.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_subclassing_CFLAGS) $(CFLAGS) -c -o test_subclassing-test-subclassing.o `test -f 'test-subclassing.c' || echo '$(srcdir)/'`test-subclassing.c - -test_subclassing-test-subclassing.obj: test-subclassing.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_subclassing_CFLAGS) $(CFLAGS) -MT test_subclassing-test-subclassing.obj -MD -MP -MF $(DEPDIR)/test_subclassing-test-subclassing.Tpo -c -o test_subclassing-test-subclassing.obj `if test -f 'test-subclassing.c'; then $(CYGPATH_W) 'test-subclassing.c'; else $(CYGPATH_W) '$(srcdir)/test-subclassing.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_subclassing-test-subclassing.Tpo $(DEPDIR)/test_subclassing-test-subclassing.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test-subclassing.c' object='test_subclassing-test-subclassing.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_subclassing_CFLAGS) $(CFLAGS) -c -o test_subclassing-test-subclassing.obj `if test -f 'test-subclassing.c'; then $(CYGPATH_W) 'test-subclassing.c'; else $(CYGPATH_W) '$(srcdir)/test-subclassing.c'; fi` - -test_tree_magic-test-tree-magic.o: test-tree-magic.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_tree_magic_CFLAGS) $(CFLAGS) -MT test_tree_magic-test-tree-magic.o -MD -MP -MF $(DEPDIR)/test_tree_magic-test-tree-magic.Tpo -c -o test_tree_magic-test-tree-magic.o `test -f 'test-tree-magic.c' || echo '$(srcdir)/'`test-tree-magic.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_tree_magic-test-tree-magic.Tpo $(DEPDIR)/test_tree_magic-test-tree-magic.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test-tree-magic.c' object='test_tree_magic-test-tree-magic.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_tree_magic_CFLAGS) $(CFLAGS) -c -o test_tree_magic-test-tree-magic.o `test -f 'test-tree-magic.c' || echo '$(srcdir)/'`test-tree-magic.c - -test_tree_magic-test-tree-magic.obj: test-tree-magic.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_tree_magic_CFLAGS) $(CFLAGS) -MT test_tree_magic-test-tree-magic.obj -MD -MP -MF $(DEPDIR)/test_tree_magic-test-tree-magic.Tpo -c -o test_tree_magic-test-tree-magic.obj `if test -f 'test-tree-magic.c'; then $(CYGPATH_W) 'test-tree-magic.c'; else $(CYGPATH_W) '$(srcdir)/test-tree-magic.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_tree_magic-test-tree-magic.Tpo $(DEPDIR)/test_tree_magic-test-tree-magic.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test-tree-magic.c' object='test_tree_magic-test-tree-magic.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_tree_magic_CFLAGS) $(CFLAGS) -c -o test_tree_magic-test-tree-magic.obj `if test -f 'test-tree-magic.c'; then $(CYGPATH_W) 'test-tree-magic.c'; else $(CYGPATH_W) '$(srcdir)/test-tree-magic.c'; fi` - -update_mime_database-update-mime-database.o: update-mime-database.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(update_mime_database_CFLAGS) $(CFLAGS) -MT update_mime_database-update-mime-database.o -MD -MP -MF $(DEPDIR)/update_mime_database-update-mime-database.Tpo -c -o update_mime_database-update-mime-database.o `test -f 'update-mime-database.c' || echo '$(srcdir)/'`update-mime-database.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/update_mime_database-update-mime-database.Tpo $(DEPDIR)/update_mime_database-update-mime-database.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='update-mime-database.c' object='update_mime_database-update-mime-database.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(update_mime_database_CFLAGS) $(CFLAGS) -c -o update_mime_database-update-mime-database.o `test -f 'update-mime-database.c' || echo '$(srcdir)/'`update-mime-database.c - -update_mime_database-update-mime-database.obj: update-mime-database.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(update_mime_database_CFLAGS) $(CFLAGS) -MT update_mime_database-update-mime-database.obj -MD -MP -MF $(DEPDIR)/update_mime_database-update-mime-database.Tpo -c -o update_mime_database-update-mime-database.obj `if test -f 'update-mime-database.c'; then $(CYGPATH_W) 'update-mime-database.c'; else $(CYGPATH_W) '$(srcdir)/update-mime-database.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/update_mime_database-update-mime-database.Tpo $(DEPDIR)/update_mime_database-update-mime-database.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='update-mime-database.c' object='update_mime_database-update-mime-database.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(update_mime_database_CFLAGS) $(CFLAGS) -c -o update_mime_database-update-mime-database.obj `if test -f 'update-mime-database.c'; then $(CYGPATH_W) 'update-mime-database.c'; else $(CYGPATH_W) '$(srcdir)/update-mime-database.c'; fi` -install-man1: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man1dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.1[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ - done; } - -uninstall-man1: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man1dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.1[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) -install-nodist_packagesDATA: $(nodist_packages_DATA) - @$(NORMAL_INSTALL) - @list='$(nodist_packages_DATA)'; test -n "$(packagesdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(packagesdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(packagesdir)" || 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)$(packagesdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(packagesdir)" || exit $$?; \ - done - -uninstall-nodist_packagesDATA: - @$(NORMAL_UNINSTALL) - @list='$(nodist_packages_DATA)'; test -n "$(packagesdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(packagesdir)'; $(am__uninstall_files_from_dir) -install-pkgconfigDATA: $(pkgconfig_DATA) - @$(NORMAL_INSTALL) - @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || 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)$(pkgconfigdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \ - done - -uninstall-pkgconfigDATA: - @$(NORMAL_UNINSTALL) - @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir) - -# This directory's subdirectories are mostly independent; you can cd -# into them and run 'make' without going through this Makefile. -# To change the values of 'make' variables: instead of editing Makefiles, -# (1) if the variable is set in 'config.status', edit 'config.status' -# (which will cause the Makefiles to be regenerated when you run 'make'); -# (2) otherwise, pass the desired values on the 'make' command line. -$(am__recursive_targets): - @fail=; \ - if $(am__make_keepgoing); then \ - failcom='fail=yes'; \ - else \ - failcom='exit 1'; \ - fi; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-recursive -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-recursive - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscope: cscope.files - test ! -s cscope.files \ - || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) -clean-cscope: - -rm -f cscope.files -cscope.files: clean-cscope cscopelist -cscopelist: cscopelist-recursive - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -rm -f cscope.out cscope.in.out cscope.po.out cscope.files - -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(DISTFILES) - @case `sed 15q $(srcdir)/NEWS` in \ - *"$(VERSION)"*) : ;; \ - *) \ - echo "NEWS not updated; not releasing" 1>&2; \ - exit 1;; \ - esac - $(am__remove_distdir) - test -d "$(distdir)" || mkdir "$(distdir)" - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - $(am__make_dryrun) \ - || test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ - am__remove_distdir=: \ - am__skip_length_check=: \ - am__skip_mode_fix=: \ - distdir) \ - || exit 1; \ - fi; \ - done - -test -n "$(am__skip_mode_fix)" \ - || find "$(distdir)" -type d ! -perm -755 \ - -exec chmod u+rwx,go+rx {} \; -o \ - ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ - || chmod -R a+r "$(distdir)" -dist-gzip: distdir - tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz - $(am__post_remove_distdir) - -dist-bzip2: distdir - tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 - $(am__post_remove_distdir) - -dist-lzip: distdir - tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz - $(am__post_remove_distdir) -dist-xz: distdir - tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz - $(am__post_remove_distdir) - -dist-tarZ: distdir - @echo WARNING: "Support for distribution archives compressed with" \ - "legacy program 'compress' is deprecated." >&2 - @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 - tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z - $(am__post_remove_distdir) - -dist-shar: distdir - @echo WARNING: "Support for shar distribution archives is" \ - "deprecated." >&2 - @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 - shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz - $(am__post_remove_distdir) - -dist-zip: distdir - -rm -f $(distdir).zip - zip -rq $(distdir).zip $(distdir) - $(am__post_remove_distdir) - -dist dist-all: - $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' - $(am__post_remove_distdir) - -# This target untars the dist file and tries a VPATH configuration. Then -# it guarantees that the distribution is self-contained by making another -# tarfile. -distcheck: dist - case '$(DIST_ARCHIVES)' in \ - *.tar.gz*) \ - eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\ - *.tar.bz2*) \ - bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ - *.tar.lz*) \ - lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ - *.tar.xz*) \ - xz -dc $(distdir).tar.xz | $(am__untar) ;;\ - *.tar.Z*) \ - uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ - *.shar.gz*) \ - eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\ - *.zip*) \ - unzip $(distdir).zip ;;\ - esac - chmod -R a-w $(distdir) - chmod u+w $(distdir) - mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst - chmod a-w $(distdir) - test -d $(distdir)/_build || exit 0; \ - dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ - && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ - && am__cwd=`pwd` \ - && $(am__cd) $(distdir)/_build/sub \ - && ../../configure \ - $(AM_DISTCHECK_CONFIGURE_FLAGS) \ - $(DISTCHECK_CONFIGURE_FLAGS) \ - --srcdir=../.. --prefix="$$dc_install_base" \ - && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) dvi \ - && $(MAKE) $(AM_MAKEFLAGS) check \ - && $(MAKE) $(AM_MAKEFLAGS) install \ - && $(MAKE) $(AM_MAKEFLAGS) installcheck \ - && $(MAKE) $(AM_MAKEFLAGS) uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ - distuninstallcheck \ - && chmod -R a-w "$$dc_install_base" \ - && ({ \ - (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ - distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ - } || { rm -rf "$$dc_destdir"; exit 1; }) \ - && rm -rf "$$dc_destdir" \ - && $(MAKE) $(AM_MAKEFLAGS) dist \ - && rm -rf $(DIST_ARCHIVES) \ - && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ - && cd "$$am__cwd" \ - || exit 1 - $(am__post_remove_distdir) - @(echo "$(distdir) archives ready for distribution: "; \ - list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ - sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' -distuninstallcheck: - @test -n '$(distuninstallcheck_dir)' || { \ - echo 'ERROR: trying to run $@ with an empty' \ - '$$(distuninstallcheck_dir)' >&2; \ - exit 1; \ - }; \ - $(am__cd) '$(distuninstallcheck_dir)' || { \ - echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ - exit 1; \ - }; \ - test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left after uninstall:" ; \ - if test -n "$(DESTDIR)"; then \ - echo " (check DESTDIR support)"; \ - fi ; \ - $(distuninstallcheck_listfiles) ; \ - exit 1; } >&2 -distcleancheck: distclean - @if test '$(srcdir)' = . ; then \ - echo "ERROR: distcleancheck can only run from a VPATH build" ; \ - exit 1 ; \ - fi - @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left in build directory after distclean:" ; \ - $(distcleancheck_listfiles) ; \ - exit 1; } >&2 -check-am: all-am -check: check-recursive -all-am: Makefile $(PROGRAMS) $(MANS) $(DATA) config.h -installdirs: installdirs-recursive -installdirs-am: - for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(packagesdir)" "$(DESTDIR)$(pkgconfigdir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-binPROGRAMS clean-generic clean-noinstPROGRAMS \ - mostlyclean-am - -distclean: distclean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -f ./$(DEPDIR)/test_subclassing-test-subclassing.Po - -rm -f ./$(DEPDIR)/test_tree_magic-test-tree-magic.Po - -rm -f ./$(DEPDIR)/update_mime_database-update-mime-database.Po - -rm -f Makefile -distclean-am: clean-am distclean-compile 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-man install-nodist_packagesDATA \ - install-pkgconfigDATA - @$(NORMAL_INSTALL) - $(MAKE) $(AM_MAKEFLAGS) install-data-hook -install-dvi: install-dvi-recursive - -install-dvi-am: - -install-exec-am: install-binPROGRAMS - -install-html: install-html-recursive - -install-html-am: - -install-info: install-info-recursive - -install-info-am: - -install-man: install-man1 - -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 ./$(DEPDIR)/test_subclassing-test-subclassing.Po - -rm -f ./$(DEPDIR)/test_tree_magic-test-tree-magic.Po - -rm -f ./$(DEPDIR)/update_mime_database-update-mime-database.Po - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-compile mostlyclean-generic - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: uninstall-binPROGRAMS uninstall-man \ - uninstall-nodist_packagesDATA uninstall-pkgconfigDATA - @$(NORMAL_INSTALL) - $(MAKE) $(AM_MAKEFLAGS) uninstall-hook -uninstall-man: uninstall-man1 - -.MAKE: $(am__recursive_targets) all install-am install-data-am \ - install-strip uninstall-am - -.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ - am--depfiles am--refresh check check-am clean \ - clean-binPROGRAMS clean-cscope clean-generic \ - clean-noinstPROGRAMS cscope cscopelist-am ctags ctags-am dist \ - dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \ - dist-xz dist-zip distcheck distclean distclean-compile \ - distclean-generic distclean-hdr distclean-tags distcleancheck \ - distdir distuninstallcheck dvi dvi-am html html-am info \ - info-am install install-am install-binPROGRAMS install-data \ - install-data-am install-data-hook install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man install-man1 \ - install-nodist_packagesDATA install-pdf install-pdf-am \ - install-pkgconfigDATA install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs installdirs-am \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \ - tags tags-am uninstall uninstall-am uninstall-binPROGRAMS \ - uninstall-hook uninstall-man uninstall-man1 \ - uninstall-nodist_packagesDATA uninstall-pkgconfigDATA - -.PRECIOUS: Makefile - - -$(pkgconfig_DATA): config.status - -freedesktop.org.xml: freedesktop.org.xml.in $(top_srcdir)/po/*.po its/shared-mime-info.its - $(MAKE) -C po update-gmo - $(AM_V_GEN)$(ITSTOOL) --its $(top_srcdir)/its/shared-mime-info.its -j $< -o $@ $(top_srcdir)/po/*.gmo - -install-data-hook: -@ENABLE_UPDATE_MIMEDB_TRUE@ $(update_mime_database) -V "$(DESTDIR)$(datadir)/mime" - -uninstall-hook: - for media in text application image audio inode video message model multipart x-epoc x-content font; do rm -f "$(DESTDIR)$(datadir)/mime/$${media}/"*.xml; done - rm -f "$(DESTDIR)$(datadir)/mime/globs" - rm -f "$(DESTDIR)$(datadir)/mime/magic" - rm -f "$(DESTDIR)$(datadir)/mime/aliases" - rm -f "$(DESTDIR)$(datadir)/mime/subclasses" - rm -f "$(DESTDIR)$(datadir)/mime/XMLnamespaces" - rm -f "$(DESTDIR)$(datadir)/mime/mime.cache" - rm -f "$(DESTDIR)$(datadir)/mime/XMLnamespaces" - rm -f "$(DESTDIR)$(datadir)/mime/mime.cache" - rm -f "$(DESTDIR)$(datadir)/mime/icons" - rm -f "$(DESTDIR)$(datadir)/mime/generic-icons" - rm -f "$(DESTDIR)$(datadir)/mime/globs2" - rm -f "$(DESTDIR)$(datadir)/mime/treemagic" - rm -f "$(DESTDIR)$(datadir)/mime/types" - rm -f "$(DESTDIR)$(datadir)/mime/version" - -all: $(defaultmakedeps) - -po/shared-mime-info.pot: freedesktop.org.xml.in $(top_srcdir)/po/*.po - make -C po shared-mime-info.pot - -local-test: po/shared-mime-info.pot freedesktop.org.xml update-mime-database$(EXEEXT) -@CROSS_COMPILING_TRUE@ @echo "Cross compiling: Skipping checks" -@CROSS_COMPILING_FALSE@ @if ! test -d staging-tests/ ; then \ -@CROSS_COMPILING_FALSE@ echo "***************************************************************************" ; \ -@CROSS_COMPILING_FALSE@ echo "*** Add your file to process to staging-tests/ and run local-test again ***" ; \ -@CROSS_COMPILING_FALSE@ echo "***************************************************************************" ; \ -@CROSS_COMPILING_FALSE@ exit 1 ; \ -@CROSS_COMPILING_FALSE@ fi -@CROSS_COMPILING_FALSE@ if test -d $(top_srcdir)/.git/ ; then \ -@CROSS_COMPILING_FALSE@ mkdir -p $(top_builddir)/temp-mime-dir/mime/packages ; \ -@CROSS_COMPILING_FALSE@ cp -a $(top_builddir)/freedesktop.org.xml $(top_builddir)/temp-mime-dir/mime/packages/ ; \ -@CROSS_COMPILING_FALSE@ XDG_DATA_DIRS="$(top_builddir)/temp-mime-dir/" $(top_builddir)/update-mime-database$(EXEEXT) "$(top_builddir)/temp-mime-dir/mime/" ; \ -@CROSS_COMPILING_FALSE@ XDG_DATA_DIRS="$(top_builddir)/temp-mime-dir/" XDG_DATA_HOME="$(top_builddir)/temp-mime-dir/" $(XDGMIME_PATH)/src/print-mime-data$(EXEEXT) staging-tests/; \ -@CROSS_COMPILING_FALSE@ rm -rf "$(top_builddir)/temp-mime-dir/" ; \ -@CROSS_COMPILING_FALSE@ fi - -check: po/shared-mime-info.pot freedesktop.org.xml update-mime-database$(EXEEXT) check-translations -@CROSS_COMPILING_TRUE@ @echo "Cross compiling: Skipping checks" -@CROSS_COMPILING_FALSE@ xmllint --noout --valid $(top_builddir)/freedesktop.org.xml || exit 1; \ -@CROSS_COMPILING_FALSE@ if test -d $(top_srcdir)/.git/ ; then \ -@CROSS_COMPILING_FALSE@ $(top_builddir)/update-mime-database$(EXEEXT) $(top_srcdir)/mime-db-tests/ ; \ -@CROSS_COMPILING_FALSE@ fi -@CROSS_COMPILING_FALSE@ @if test -d $(top_srcdir)/.git/ ; then \ -@CROSS_COMPILING_FALSE@ if test ! -x $(XDGMIME_PATH)/src/test-mime-data$(EXEEXT) || test ! -x $(top_builddir)/test-tree-magic$(EXEEXT) ; then \ -@CROSS_COMPILING_FALSE@ echo "***************************************************************************" ; \ -@CROSS_COMPILING_FALSE@ echo "*** xdgmime not compiled, test suite cannot run. Check HACKING for info ***" ; \ -@CROSS_COMPILING_FALSE@ echo "***************************************************************************" ; \ -@CROSS_COMPILING_FALSE@ exit 1 ; \ -@CROSS_COMPILING_FALSE@ else \ -@CROSS_COMPILING_FALSE@ mkdir -p $(top_builddir)/temp-mime-dir/mime/packages ; \ -@CROSS_COMPILING_FALSE@ cp -a $(top_builddir)/freedesktop.org.xml $(top_builddir)/temp-mime-dir/mime/packages/ ; \ -@CROSS_COMPILING_FALSE@ XDG_DATA_DIRS="$(top_builddir)/temp-mime-dir/" $(top_builddir)/update-mime-database$(EXEEXT) "$(top_builddir)/temp-mime-dir/mime/" ; \ -@CROSS_COMPILING_FALSE@ XDG_DATA_DIRS="$(top_builddir)/temp-mime-dir/" XDG_DATA_HOME="$(top_builddir)/temp-mime-dir/" $(XDGMIME_PATH)/src/test-mime-data$(EXEEXT) -v $(top_srcdir)/tests/list || exit 1; \ -@CROSS_COMPILING_FALSE@ XDG_DATA_DIRS="$(top_builddir)/temp-mime-dir/" XDG_DATA_HOME="$(top_builddir)/temp-mime-dir/" $(XDGMIME_PATH)/src/test-mime$(EXEEXT) || exit 1; \ -@CROSS_COMPILING_FALSE@ XDG_DATA_DIRS="$(top_builddir)/temp-mime-dir/" $(top_builddir)/test-tree-magic$(EXEEXT) $(top_srcdir)/tests/tree-list || exit 1; \ -@CROSS_COMPILING_FALSE@ rm -rf "$(top_builddir)/temp-mime-dir/" ; \ -@CROSS_COMPILING_FALSE@ fi; \ -@CROSS_COMPILING_FALSE@ fi -@CROSS_COMPILING_FALSE@ @if test x`grep ' $@; \ - fi - -dist: ChangeLog - -.PHONY: ChangeLog - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru shared-mime-info-1.15/meson.build shared-mime-info-2.0/meson.build --- shared-mime-info-1.15/meson.build 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/meson.build 2020-05-06 14:11:14.041908700 +0000 @@ -0,0 +1,79 @@ + +project('shared-mime-info', + 'c', + version: '2.0', + meson_version: '>=0.49.0' +) + +config = configuration_data() + +i18n = import('i18n') +pkgconfig = import('pkgconfig') + +cc = meson.get_compiler('c') + +############################################################################### +# Project configuration + +config.set_quoted('PACKAGE', meson.project_name()) +config.set_quoted('VERSION', meson.project_version()) + +############################################################################### +# Find tools + +itstool = find_program('itstool') +xmllint = find_program('xmllint') +xmlto = find_program('xmlto') + +############################################################################### +# Find xdgmime + +xdgmime = get_option('xdgmime-path') / 'src' + +xdgmime_print_mime_data = find_program(xdgmime/'print-mime-data', required: false) +xdgmime_test_mime_data = find_program(xdgmime/'test-mime-data', required: false) +xdgmime_test_mime = find_program(xdgmime/'test-mime', required: false) +xdgmime_found = ( + xdgmime_print_mime_data.found() and + xdgmime_test_mime_data.found() and + xdgmime_test_mime.found() +) + +if not xdgmime_found + warning(''' +*************************************************************************** +*** xdgmime not compiled, test suite cannot run. Check HACKING for info *** +*************************************************************************** + ''') +endif + +############################################################################### +# Dependencies + +check_functions = [ + 'fdatasync', +] +foreach function : check_functions + config.set('HAVE_'+function.to_upper(), cc.has_function(function)) +endforeach + + +libxml = dependency('libxml-2.0', version: '>=2.4') +glib2 = dependency('glib-2.0', version: '>=2.6.0') + +gio = dependency('gio-2.0', required: false) + +subdir('po') +subdir('data') +subdir('src') +subdir('tests') + +if get_option('update-mimedb') + upd_tool = (meson.is_cross_build() + ? find_program('update-mime-database').path() + : update_mime_database.full_path() + ) + meson.add_install_script('sh', '-c', ' '.join([ + upd_tool, '-V', '${MESON_INSTALL_DESTDIR_PREFIX}' / get_option('datadir') / 'mime', + ])) +endif diff -Nru shared-mime-info-1.15/meson_options.txt shared-mime-info-2.0/meson_options.txt --- shared-mime-info-1.15/meson_options.txt 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/meson_options.txt 2020-05-06 14:11:14.041908700 +0000 @@ -0,0 +1,8 @@ + +option('update-mimedb', type: 'boolean', value: false, + description: 'Call update-mime-database after install. It should not be enabled if DESTDIR is used.', +) + +option('xdgmime-path', type: 'string', value: './xdgmime', + description: 'Path to the xdgmime executable', +) diff -Nru shared-mime-info-1.15/missing shared-mime-info-2.0/missing --- shared-mime-info-1.15/missing 2019-09-16 15:52:37.000000000 +0000 +++ shared-mime-info-2.0/missing 1970-01-01 00:00:00.000000000 +0000 @@ -1,215 +0,0 @@ -#! /bin/sh -# Common wrapper for a few potentially missing GNU programs. - -scriptversion=2018-03-07.03; # UTC - -# Copyright (C) 1996-2018 Free Software Foundation, Inc. -# Originally written by Fran,cois Pinard , 1996. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -if test $# -eq 0; then - echo 1>&2 "Try '$0 --help' for more information" - exit 1 -fi - -case $1 in - - --is-lightweight) - # Used by our autoconf macros to check whether the available missing - # script is modern enough. - exit 0 - ;; - - --run) - # Back-compat with the calling convention used by older automake. - shift - ;; - - -h|--h|--he|--hel|--help) - echo "\ -$0 [OPTION]... PROGRAM [ARGUMENT]... - -Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due -to PROGRAM being missing or too old. - -Options: - -h, --help display this help and exit - -v, --version output version information and exit - -Supported PROGRAM values: - aclocal autoconf autoheader autom4te automake makeinfo - bison yacc flex lex help2man - -Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and -'g' are ignored when checking the name. - -Send bug reports to ." - exit $? - ;; - - -v|--v|--ve|--ver|--vers|--versi|--versio|--version) - echo "missing $scriptversion (GNU Automake)" - exit $? - ;; - - -*) - echo 1>&2 "$0: unknown '$1' option" - echo 1>&2 "Try '$0 --help' for more information" - exit 1 - ;; - -esac - -# Run the given program, remember its exit status. -"$@"; st=$? - -# If it succeeded, we are done. -test $st -eq 0 && exit 0 - -# Also exit now if we it failed (or wasn't found), and '--version' was -# passed; such an option is passed most likely to detect whether the -# program is present and works. -case $2 in --version|--help) exit $st;; esac - -# Exit code 63 means version mismatch. This often happens when the user -# tries to use an ancient version of a tool on a file that requires a -# minimum version. -if test $st -eq 63; then - msg="probably too old" -elif test $st -eq 127; then - # Program was missing. - msg="missing on your system" -else - # Program was found and executed, but failed. Give up. - exit $st -fi - -perl_URL=https://www.perl.org/ -flex_URL=https://github.com/westes/flex -gnu_software_URL=https://www.gnu.org/software - -program_details () -{ - case $1 in - aclocal|automake) - echo "The '$1' program is part of the GNU Automake package:" - echo "<$gnu_software_URL/automake>" - echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:" - echo "<$gnu_software_URL/autoconf>" - echo "<$gnu_software_URL/m4/>" - echo "<$perl_URL>" - ;; - autoconf|autom4te|autoheader) - echo "The '$1' program is part of the GNU Autoconf package:" - echo "<$gnu_software_URL/autoconf/>" - echo "It also requires GNU m4 and Perl in order to run:" - echo "<$gnu_software_URL/m4/>" - echo "<$perl_URL>" - ;; - esac -} - -give_advice () -{ - # Normalize program name to check for. - normalized_program=`echo "$1" | sed ' - s/^gnu-//; t - s/^gnu//; t - s/^g//; t'` - - printf '%s\n' "'$1' is $msg." - - configure_deps="'configure.ac' or m4 files included by 'configure.ac'" - case $normalized_program in - autoconf*) - echo "You should only need it if you modified 'configure.ac'," - echo "or m4 files included by it." - program_details 'autoconf' - ;; - autoheader*) - echo "You should only need it if you modified 'acconfig.h' or" - echo "$configure_deps." - program_details 'autoheader' - ;; - automake*) - echo "You should only need it if you modified 'Makefile.am' or" - echo "$configure_deps." - program_details 'automake' - ;; - aclocal*) - echo "You should only need it if you modified 'acinclude.m4' or" - echo "$configure_deps." - program_details 'aclocal' - ;; - autom4te*) - echo "You might have modified some maintainer files that require" - echo "the 'autom4te' program to be rebuilt." - program_details 'autom4te' - ;; - bison*|yacc*) - echo "You should only need it if you modified a '.y' file." - echo "You may want to install the GNU Bison package:" - echo "<$gnu_software_URL/bison/>" - ;; - lex*|flex*) - echo "You should only need it if you modified a '.l' file." - echo "You may want to install the Fast Lexical Analyzer package:" - echo "<$flex_URL>" - ;; - help2man*) - echo "You should only need it if you modified a dependency" \ - "of a man page." - echo "You may want to install the GNU Help2man package:" - echo "<$gnu_software_URL/help2man/>" - ;; - makeinfo*) - echo "You should only need it if you modified a '.texi' file, or" - echo "any other file indirectly affecting the aspect of the manual." - echo "You might want to install the Texinfo package:" - echo "<$gnu_software_URL/texinfo/>" - echo "The spurious makeinfo call might also be the consequence of" - echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might" - echo "want to install GNU make:" - echo "<$gnu_software_URL/make/>" - ;; - *) - echo "You might have modified some files without having the proper" - echo "tools for further handling them. Check the 'README' file, it" - echo "often tells you about the needed prerequisites for installing" - echo "this package. You may also peek at any GNU archive site, in" - echo "case some other package contains this missing '$1' program." - ;; - esac -} - -give_advice "$1" | sed -e '1s/^/WARNING: /' \ - -e '2,$s/^/ /' >&2 - -# Propagate the correct exit status (expected to be 127 for a program -# not found, 63 for a program that failed due to version mismatch). -exit $st - -# Local variables: -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC0" -# time-stamp-end: "; # UTC" -# End: diff -Nru shared-mime-info-1.15/NEWS shared-mime-info-2.0/NEWS --- shared-mime-info-1.15/NEWS 2019-10-30 10:44:48.000000000 +0000 +++ shared-mime-info-2.0/NEWS 2020-05-06 14:11:14.036908900 +0000 @@ -1,3 +1,19 @@ +shared-mime-info 2.0 (2020-06-05) +* Port build system to meson, and ship test suite with tarball +* Install ITS file to allow gettext to translate mime-type descriptions +* Add BPS and IPS patch formats +* Lower weight for "use strict" and similar in the perl mimetype +* Add new magic for Sega Mega Drive ROMs +* Add Common Lisp mime-type +* Rename text/x-tcl to text/tcl +* Add text/vbscript +* Add PySpread spreadsheet mime-types +* Add Kotlin source mime-type +* Add AVIF image mime-type +* Split versions of the Audible audio mime types +* Add *.spx glob for audio/x-speex+ogg +* Add Apple System Profiler XML mime-type + shared-mime-info 1.15 (2019-30-10) * Add Kindle 8 eBook format * Fix some HTML files being detected as XML Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/af.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/af.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/ar.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/ar.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/as.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/as.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/ast.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/ast.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/az.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/az.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/be.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/be.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/be@latin.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/be@latin.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/bg.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/bg.gmo differ diff -Nru shared-mime-info-1.15/po/bg.po shared-mime-info-2.0/po/bg.po --- shared-mime-info-1.15/po/bg.po 2019-09-20 13:21:39.000000000 +0000 +++ shared-mime-info-2.0/po/bg.po 2020-05-06 14:11:14.061908700 +0000 @@ -3,14 +3,16 @@ # This file is distributed under the same license as the shared-mime-info package. # # Translators: -# Alexander Shopov , 2011 +# Alexander Shopov , 2002,2004-2009,2011,2020 +# Vladimir Petkov , 2004 +# Yanko Kaneti , 2002 msgid "" msgstr "" "Project-Id-Version: shared-mime-info\n" "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/xdg/shared-mime-info/issues\n" "POT-Creation-Date: 2019-09-11 12:53+0200\n" -"PO-Revision-Date: 2019-08-20 21:02+0000\n" -"Last-Translator: hadess \n" +"PO-Revision-Date: 2020-02-26 20:53+0000\n" +"Last-Translator: Alexander Shopov \n" "Language-Team: Bulgarian (http://www.transifex.com/freedesktop/shared-mime-info/language/bg/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,19 +22,19 @@ #: freedesktop.org.xml.in:83 msgid "Atari 2600 ROM" -msgstr "" +msgstr "ROM — Atari 2600" #: freedesktop.org.xml.in:88 msgid "Atari 7800 ROM" -msgstr "" +msgstr "ROM — Atari 7800" #: freedesktop.org.xml.in:96 msgid "Atari Lynx ROM" -msgstr "" +msgstr "ROM — Atari Lynx" #: freedesktop.org.xml.in:104 msgid "ATK inset" -msgstr "Сбор — ATK" +msgstr "Притурка — ATK" #: freedesktop.org.xml.in:111 msgid "electronic book document" @@ -48,7 +50,7 @@ #: freedesktop.org.xml.in:138 msgid "Mathematica Notebook file" -msgstr "" +msgstr "Скицник — Mathematica" #: freedesktop.org.xml.in:153 msgid "MathML document" @@ -68,7 +70,7 @@ #: freedesktop.org.xml.in:192 msgid "Partially downloaded file" -msgstr "" +msgstr "ЧаÑтично изтеглен файл" #: freedesktop.org.xml.in:199 msgid "ODA document" @@ -92,7 +94,7 @@ #: freedesktop.org.xml.in:247 msgid "AmazonMP3 download file" -msgstr "" +msgstr "Файл за изтеглÑне — AmazonMP3" #: freedesktop.org.xml.in:251 msgid "GSM 06.10 audio" @@ -100,7 +102,7 @@ #: freedesktop.org.xml.in:257 msgid "iRiver playlist" -msgstr "" +msgstr "СпиÑък за изпълнение — iRiver" #: freedesktop.org.xml.in:264 msgid "PGP/MIME-encrypted message header" @@ -112,23 +114,23 @@ #: freedesktop.org.xml.in:297 msgid "detached OpenPGP signature" -msgstr "Отделен Ð¿Ð¾Ð´Ð¿Ð¸Ñ â€” OpenPGP" +msgstr "Отделѐн Ð¿Ð¾Ð´Ð¿Ð¸Ñ â€” OpenPGP" #: freedesktop.org.xml.in:310 msgid "PKCS#7 file" -msgstr "" +msgstr "Файл за PKCS#7" #: freedesktop.org.xml.in:318 msgid "detached S/MIME signature" -msgstr "Отделен Ð¿Ð¾Ð´Ð¿Ð¸Ñ â€” S/MIME" +msgstr "Отделѐн Ð¿Ð¾Ð´Ð¿Ð¸Ñ â€” S/MIME" #: freedesktop.org.xml.in:326 msgid "PKCS#8 private key" -msgstr "Ключ, чаÑтен — PKCS#8" +msgstr "Ключ — PKCS#8, чаÑтен" #: freedesktop.org.xml.in:332 msgid "PKCS#8 private key (encrypted)" -msgstr "" +msgstr "Ключ — PKCS#8, чаÑтен, шифриран" #: freedesktop.org.xml.in:338 msgid "PKCS#10 certification request" @@ -140,7 +142,7 @@ #: freedesktop.org.xml.in:349 msgid "certificate revocation list" -msgstr "" +msgstr "СпиÑък Ñ Ð¾Ñ‚Ñ…Ð²ÑŠÑ€Ð»ÐµÐ½Ð¸ Ñертификати" #: freedesktop.org.xml.in:353 msgid "PkiPath certification path" @@ -148,7 +150,7 @@ #: freedesktop.org.xml.in:357 msgid "PostScript document" -msgstr "" +msgstr "Документ — PostScrip" #: freedesktop.org.xml.in:367 msgid "Plucker document" @@ -156,7 +158,7 @@ #: freedesktop.org.xml.in:374 msgid "RAML document" -msgstr "" +msgstr "Документ — RAML" #: freedesktop.org.xml.in:384 msgid "RELAX NG XML schema" @@ -231,7 +233,7 @@ #: freedesktop.org.xml.in:575 msgid "Lotus Word Pro document" -msgstr "" +msgstr "Документ — Lotus Word Pro" #: freedesktop.org.xml.in:583 msgid "JET database" @@ -255,7 +257,7 @@ #: freedesktop.org.xml.in:645 msgid "Excel spreadsheet template" -msgstr "" +msgstr "Шаблон за таблица — Excel" #: freedesktop.org.xml.in:651 freedesktop.org.xml.in:667 #: freedesktop.org.xml.in:679 @@ -268,23 +270,23 @@ #: freedesktop.org.xml.in:673 msgid "PowerPoint slide" -msgstr "" +msgstr "Кадър — PowerPoint" #: freedesktop.org.xml.in:685 msgid "PowerPoint presentation template" -msgstr "" +msgstr "Шаблон за Ð¿Ñ€ÐµÐ·ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ â€” PowerPoint" #: freedesktop.org.xml.in:691 freedesktop.org.xml.in:709 msgid "Office Open XML Visio drawing" -msgstr "" +msgstr "Чертеж — Office Open XML Visio" #: freedesktop.org.xml.in:697 freedesktop.org.xml.in:715 msgid "Office Open XML Visio template" -msgstr "" +msgstr "Шаблон за чертеж — Office Open XML Visio" #: freedesktop.org.xml.in:703 freedesktop.org.xml.in:721 msgid "Office Open XML Visio stencil" -msgstr "" +msgstr "Образци — Office Open XML Visio" #: freedesktop.org.xml.in:727 freedesktop.org.xml.in:769 msgid "Word document" @@ -292,7 +294,7 @@ #: freedesktop.org.xml.in:733 msgid "Word document template" -msgstr "" +msgstr "Шаблон за документ — Word" #: freedesktop.org.xml.in:739 msgid "XPS document" @@ -312,7 +314,7 @@ #: freedesktop.org.xml.in:795 msgid "GML document" -msgstr "" +msgstr "Документ — GML" #: freedesktop.org.xml.in:803 msgid "GNUnet search file" @@ -384,7 +386,7 @@ #: freedesktop.org.xml.in:967 msgid "OpenOffice Writer global document" -msgstr "Документ - глобален — OpenOffice Writer" +msgstr "Глобален документ — OpenOffice Writer" #: freedesktop.org.xml.in:980 msgid "OpenOffice Writer template" @@ -472,7 +474,7 @@ #: freedesktop.org.xml.in:1266 msgid "OpenOffice.org extension" -msgstr "Разширение — OpenOffice" +msgstr "ПриÑтавка — OpenOffice" #: freedesktop.org.xml.in:1272 msgid "Android package" @@ -488,7 +490,7 @@ #: freedesktop.org.xml.in:1297 msgid "network packet capture" -msgstr "" +msgstr "Прихванати мрежови пакети" #: freedesktop.org.xml.in:1309 msgid "WordPerfect document" @@ -496,15 +498,15 @@ #: freedesktop.org.xml.in:1325 msgid "YouTube media archive" -msgstr "" +msgstr "Медиен архив — YouTube" #: freedesktop.org.xml.in:1331 msgid "SPSS portable data file" -msgstr "" +msgstr "Данни — SPSS, преноÑими" #: freedesktop.org.xml.in:1340 msgid "SPSS data file" -msgstr "" +msgstr "Данни — SPSS" #: freedesktop.org.xml.in:1352 msgid "XBEL bookmarks" @@ -520,7 +522,7 @@ #: freedesktop.org.xml.in:1385 msgid "CD image cuesheet" -msgstr "ОпиÑание на изображение на CD" +msgstr "Съдържание на CD" #: freedesktop.org.xml.in:1391 msgid "Lotus AmiPro document" @@ -609,23 +611,23 @@ #: freedesktop.org.xml.in:1594 msgid "Raw disk image" -msgstr "" +msgstr "ДиÑк — raw" #: freedesktop.org.xml.in:1599 msgid "Floppy disk image" -msgstr "" +msgstr "ДиÑк — флопи" #: freedesktop.org.xml.in:1606 msgid "Raw disk image (XZ-compressed)" -msgstr "" +msgstr "ДиÑк — raw, компреÑиран Ñ xz" #: freedesktop.org.xml.in:1612 msgid "raw CD image" -msgstr "Изображение — raw CD" +msgstr "ДиÑк — raw CD" #: freedesktop.org.xml.in:1620 freedesktop.org.xml.in:7234 msgid "AppImage application bundle" -msgstr "" +msgstr "Програмен пакет — AppImage" #: freedesktop.org.xml.in:1636 msgid "CD Table Of Contents" @@ -680,7 +682,7 @@ #. https://en.wikipedia.org/wiki/Sega_CD #: freedesktop.org.xml.in:1756 msgid "Sega CD disc image" -msgstr "" +msgstr "ДиÑк — Mega-CD (Sega)" #. Translate this to Kids Computer Pico if the console was known as such in #. your locale @@ -688,15 +690,15 @@ #. https://en.wikipedia.org/wiki/Sega_Pico #: freedesktop.org.xml.in:1772 msgid "Sega Pico ROM" -msgstr "" +msgstr "ROM — Sega Pico" #: freedesktop.org.xml.in:1779 msgid "Sega Saturn disc image" -msgstr "" +msgstr "ДиÑк — Sega Saturn" #: freedesktop.org.xml.in:1788 msgid "Dreamcast disc image" -msgstr "" +msgstr "ДиÑк — Dreamcast" #: freedesktop.org.xml.in:1793 msgid "Nintendo DS ROM" @@ -704,35 +706,35 @@ #: freedesktop.org.xml.in:1798 msgid "PC Engine ROM" -msgstr "" +msgstr "ROM — PC Engine" #: freedesktop.org.xml.in:1803 msgid "Wii disc image" -msgstr "" +msgstr "ДиÑк — Wii" #: freedesktop.org.xml.in:1816 msgid "WiiWare bundle" -msgstr "" +msgstr "Програмен пакет — WiiWare" #: freedesktop.org.xml.in:1826 msgid "GameCube disc image" -msgstr "" +msgstr "ДиÑк — GameCube" #: freedesktop.org.xml.in:1835 msgid "Thomson Mémo7 cartridge" -msgstr "" +msgstr "КаÑета — Thomson Mémo7" #: freedesktop.org.xml.in:1840 msgid "Thomson cassette" -msgstr "" +msgstr "КаÑета — Thomson" #: freedesktop.org.xml.in:1845 msgid "HFE floppy disk image" -msgstr "" +msgstr "ДиÑк — флопи, HFE" #: freedesktop.org.xml.in:1856 msgid "SAP Thomson floppy disk image" -msgstr "" +msgstr "ДиÑк — флопи, SAP Thomson" #: freedesktop.org.xml.in:1867 msgid "Debian package" @@ -740,15 +742,15 @@ #: freedesktop.org.xml.in:1880 msgid "Qt Designer interface document" -msgstr "" +msgstr "Документ — интерфейÑ, Qt Designer" #: freedesktop.org.xml.in:1890 msgid "Qt Markup Language file" -msgstr "Файл — Qt Markup" +msgstr "Ð˜Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ â€” Qt Markup" #: freedesktop.org.xml.in:1905 msgid "desktop configuration file" -msgstr "Файл Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° Ñ€Ð°Ð±Ð¾Ñ‚Ð½Ð¸Ñ Ð¿Ð»Ð¾Ñ‚" +msgstr "Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° Ñ€Ð°Ð±Ð¾Ñ‚Ð½Ð¸Ñ Ð¿Ð»Ð¾Ñ‚" #: freedesktop.org.xml.in:1920 msgid "FictionBook document" @@ -756,7 +758,7 @@ #: freedesktop.org.xml.in:1930 msgid "Compressed FictionBook document" -msgstr "" +msgstr "Документ — FictionBook, компреÑиран" #: freedesktop.org.xml.in:1941 msgid "Dia diagram" @@ -788,15 +790,15 @@ #: freedesktop.org.xml.in:2012 msgid "WOFF font" -msgstr "" +msgstr "Шрифт — WOFF" #: freedesktop.org.xml.in:2023 msgid "WOFF2 font" -msgstr "" +msgstr "Шрифт — WOFF2" #: freedesktop.org.xml.in:2033 msgid "PostScript type-1 font" -msgstr "" +msgstr "Шрифт — PostScript type-1" #: freedesktop.org.xml.in:2049 msgid "Adobe font metrics" @@ -856,7 +858,7 @@ #: freedesktop.org.xml.in:2164 msgid "Font collection" -msgstr "" +msgstr "Шрифтова колекциÑ" #: freedesktop.org.xml.in:2169 msgid "TrueType XML font" @@ -876,7 +878,7 @@ #: freedesktop.org.xml.in:2211 msgid "Game Boy Color ROM" -msgstr "" +msgstr "ROM — Game Boy Color" #: freedesktop.org.xml.in:2222 msgid "Game Boy Advance ROM" @@ -884,7 +886,7 @@ #: freedesktop.org.xml.in:2228 msgid "Virtual Boy ROM" -msgstr "" +msgstr "ROM — Virtual Boy" #: freedesktop.org.xml.in:2233 msgid "GDBM database" @@ -904,7 +906,7 @@ #. Brazil: https://en.wikipedia.org/wiki/32X #: freedesktop.org.xml.in:2260 msgid "Genesis 32X ROM" -msgstr "" +msgstr "ROM — Genesis 32X" #: freedesktop.org.xml.in:2269 msgid "translated messages (machine-readable)" @@ -912,7 +914,7 @@ #: freedesktop.org.xml.in:2278 msgid "GTK+ Builder interface document" -msgstr "" +msgstr "Ð˜Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ â€” GTK+ Builder" #: freedesktop.org.xml.in:2287 msgid "Glade project" @@ -960,11 +962,11 @@ #: freedesktop.org.xml.in:2374 msgid "IFF file" -msgstr "" +msgstr "Пакет — IFF" #: freedesktop.org.xml.in:2382 msgid "iPod firmware" -msgstr "Фърмуер за iPod" +msgstr "Фърмуер — iPod" #: freedesktop.org.xml.in:2388 msgid "Java archive" @@ -972,19 +974,19 @@ #: freedesktop.org.xml.in:2396 msgid "Java class" -msgstr "ÐšÐ»Ð°Ñ Ð½Ð° Java" +msgstr "ÐšÐ»Ð°Ñ â€” Java" #: freedesktop.org.xml.in:2408 msgid "Groovy source code" -msgstr "" +msgstr "Изходен код — Groovy" #: freedesktop.org.xml.in:2417 msgid "Gradle scripts" -msgstr "" +msgstr "Скрипт — Gradle" #: freedesktop.org.xml.in:2422 msgid "JNLP file" -msgstr "Файл — JNLP" +msgstr "Стартер — JNLP" #: freedesktop.org.xml.in:2433 msgid "Java keystore" @@ -1004,27 +1006,27 @@ #: freedesktop.org.xml.in:2481 msgid "JSON document" -msgstr "" +msgstr "Документ — JSON" #: freedesktop.org.xml.in:2489 msgid "JRD document" -msgstr "" +msgstr "Документ — JRD" #: freedesktop.org.xml.in:2497 msgid "JSON patch" -msgstr "" +msgstr "Кръпка — JSON" #: freedesktop.org.xml.in:2505 msgid "JSON-LD document" -msgstr "" +msgstr "Документ — JSON-LD" #: freedesktop.org.xml.in:2513 msgid "Jupyter notebook document" -msgstr "" +msgstr "Скицник — Jupyter" #: freedesktop.org.xml.in:2524 msgid "CoffeeScript document" -msgstr "" +msgstr "Документ — CoffeeScript" #: freedesktop.org.xml.in:2530 msgid "JBuilder project" @@ -1040,15 +1042,15 @@ #: freedesktop.org.xml.in:2570 msgid "Kexi settings" -msgstr "" +msgstr "ÐаÑтройки — Kexi" #: freedesktop.org.xml.in:2574 msgid "Kexi shortcut" -msgstr "" +msgstr "УÑкорител — Kexi" #: freedesktop.org.xml.in:2578 freedesktop.org.xml.in:2583 msgid "Kexi database file" -msgstr "" +msgstr "База от данни — Kexi" #: freedesktop.org.xml.in:2590 msgid "KFormula formula" @@ -1120,23 +1122,23 @@ #: freedesktop.org.xml.in:2802 msgid "LZ4 archive" -msgstr "" +msgstr "Ðрхив — LZ4" #: freedesktop.org.xml.in:2811 msgid "Tar archive (LZ4-compressed)" -msgstr "" +msgstr "Ðрхив — tar, компреÑиран Ñ LZ4" #: freedesktop.org.xml.in:2817 msgid "Lzip archive" -msgstr "Ðрхив — lzip" +msgstr "Ðрхив — Lzip" #: freedesktop.org.xml.in:2825 msgid "Tar archive (lzip-compressed)" -msgstr "" +msgstr "Ðрхив — tar, компреÑиран Ñ Lzip" #: freedesktop.org.xml.in:2831 msgid "PDF document (lzip-compressed)" -msgstr "" +msgstr "Документ — PDF, компреÑиран Ñ Lzip" #: freedesktop.org.xml.in:2837 msgid "LZMA archive" @@ -1152,15 +1154,15 @@ #: freedesktop.org.xml.in:2861 msgid "Qpress archive" -msgstr "" +msgstr "Ðрхив — Qpress" #: freedesktop.org.xml.in:2869 msgid "XAR archive" -msgstr "" +msgstr "Ðрхив — XAR" #: freedesktop.org.xml.in:2881 msgid "Zlib archive" -msgstr "" +msgstr "Ðрхив — Zlib" #: freedesktop.org.xml.in:2886 msgid "MagicPoint presentation" @@ -1180,7 +1182,7 @@ #: freedesktop.org.xml.in:2918 msgid "Matroska 3D video" -msgstr "" +msgstr "Видео — Matroska 3D" #: freedesktop.org.xml.in:2923 msgid "Matroska audio" @@ -1196,7 +1198,7 @@ #: freedesktop.org.xml.in:2946 msgid "MHTML web archive" -msgstr "" +msgstr "Ðрхив — MHTML" #: freedesktop.org.xml.in:2954 msgid "MXF video" @@ -1208,7 +1210,7 @@ #: freedesktop.org.xml.in:2971 msgid "COBOL source code" -msgstr "" +msgstr "Изходен код — COBOL" #: freedesktop.org.xml.in:2979 msgid "Mobipocket e-book" @@ -1252,11 +1254,11 @@ #: freedesktop.org.xml.in:3063 msgid "Neo-Geo Pocket ROM" -msgstr "" +msgstr "ROM — Neo-Geo Pocket" #: freedesktop.org.xml.in:3074 msgid "Neo-Geo Pocket Color ROM" -msgstr "" +msgstr "ROM — Neo-Geo Pocket Color" #. Translate this to Famicom if the console was known as such in your locale #: freedesktop.org.xml.in:3086 @@ -1281,11 +1283,11 @@ #: freedesktop.org.xml.in:3140 msgid "Annodex video" -msgstr "" +msgstr "Видео — Annodex" #: freedesktop.org.xml.in:3153 msgid "Annodex audio" -msgstr "" +msgstr "Ðудио — Annodex" #: freedesktop.org.xml.in:3166 msgid "Ogg multimedia file" @@ -1293,11 +1295,11 @@ #: freedesktop.org.xml.in:3175 msgid "Ogg audio" -msgstr "" +msgstr "Ðудио — Ogg" #: freedesktop.org.xml.in:3186 msgid "Ogg video" -msgstr "" +msgstr "Видео — Ogg" #: freedesktop.org.xml.in:3196 msgid "Ogg Vorbis audio" @@ -1309,7 +1311,7 @@ #: freedesktop.org.xml.in:3224 msgid "Opus audio" -msgstr "" +msgstr "Ðудио — Opus" #: freedesktop.org.xml.in:3234 msgid "Ogg Speex audio" @@ -1333,7 +1335,7 @@ #: freedesktop.org.xml.in:3284 msgid "Microsoft Publisher document" -msgstr "" +msgstr "Документ — Microsoft Publisher" #: freedesktop.org.xml.in:3289 msgid "Windows Installer package" @@ -1369,11 +1371,11 @@ #: freedesktop.org.xml.in:3378 msgid "PKCS#7 certificate bundle" -msgstr "Сбор ÑÑŠÑ Ñертификати — PKCS#7" +msgstr "Пакет ÑÑŠÑ Ñертификати — PKCS#7" #: freedesktop.org.xml.in:3385 msgid "PKCS#12 certificate bundle" -msgstr "Сбор ÑÑŠÑ Ñертификати — PKCS#12" +msgstr "Пакет ÑÑŠÑ Ñертификати — PKCS#12" #: freedesktop.org.xml.in:3393 msgid "PlanPerfect spreadsheet" @@ -1397,7 +1399,7 @@ #: freedesktop.org.xml.in:3425 msgid "QtiPlot document" -msgstr "" +msgstr "Документ — QtiPlot" #: freedesktop.org.xml.in:3435 msgid "Quattro Pro spreadsheet" @@ -1405,7 +1407,7 @@ #: freedesktop.org.xml.in:3442 msgid "QuickTime playlist" -msgstr "" +msgstr "СпиÑък за изпълнение — QuickTime" #: freedesktop.org.xml.in:3457 msgid "Quicken document" @@ -1433,7 +1435,7 @@ #: freedesktop.org.xml.in:3506 msgid "Source RPM package" -msgstr "" +msgstr "Пакет — RPM Ñ Ð¸Ð·Ñ…Ð¾Ð´ÐµÐ½ код" #: freedesktop.org.xml.in:3513 msgid "Ruby script" @@ -1445,7 +1447,7 @@ #: freedesktop.org.xml.in:3530 msgid "Rust source code" -msgstr "" +msgstr "Изходен код — Rust" #: freedesktop.org.xml.in:3535 msgid "SC/Xspread spreadsheet" @@ -1490,17 +1492,17 @@ #: freedesktop.org.xml.in:3633 msgid "SG-1000 ROM" -msgstr "" +msgstr "ROM — SG-1000" #. Translate this to "Master System/Mark III" if the console was known as such #. in your locale (probably only in Japan) #: freedesktop.org.xml.in:3639 msgid "Master System ROM" -msgstr "" +msgstr "ROM — Master System" #: freedesktop.org.xml.in:3651 msgid "Game Gear ROM" -msgstr "" +msgstr "ROM — Game Gear" #. Translate this as Super Famicom (in Far East Asia) or Super Nintendo (in #. Europe) if the console was known as such in your locale @@ -1602,11 +1604,11 @@ #: freedesktop.org.xml.in:3882 msgid "Manpage manual document" -msgstr "" +msgstr "Страница от ръководÑтвото" #: freedesktop.org.xml.in:3888 msgid "manual page (compressed)" -msgstr "Страница от Ñправочника, компреÑирана" +msgstr "Страница от ръководÑтвото — компреÑирана" #: freedesktop.org.xml.in:3892 msgid "Tar archive (LZO-compressed)" @@ -1622,11 +1624,11 @@ #: freedesktop.org.xml.in:3914 msgid "Zstandard archive" -msgstr "" +msgstr "Ðрхив — Zstandard" #: freedesktop.org.xml.in:3922 msgid "Tar archive (Zstandard-compressed)" -msgstr "" +msgstr "Ðрхив — tar, компреÑиран ÑÑŠÑ Zstandard" #: freedesktop.org.xml.in:3929 msgid "PDF document (XZ-compressed)" @@ -1646,11 +1648,11 @@ #: freedesktop.org.xml.in:3951 msgid "Bandai WonderSwan ROM" -msgstr "" +msgstr "ROM — Bandai WonderSwan" #: freedesktop.org.xml.in:3956 msgid "Bandai WonderSwan Color ROM" -msgstr "" +msgstr "ROM — Bandai WonderSwan Color" #: freedesktop.org.xml.in:3961 msgid "DER/PEM/Netscape-encoded X.509 certificate" @@ -1674,7 +1676,7 @@ #: freedesktop.org.xml.in:4008 msgid "WIM disk image" -msgstr "" +msgstr "ДиÑк — WIM" #: freedesktop.org.xml.in:4018 msgid "Dolby Digital audio" @@ -1682,11 +1684,11 @@ #: freedesktop.org.xml.in:4025 msgid "DTS audio" -msgstr "" +msgstr "Ðудио — DTS" #: freedesktop.org.xml.in:4036 msgid "DTSHD audio" -msgstr "" +msgstr "Ðудио — DTSHD" #: freedesktop.org.xml.in:4045 msgid "AMR audio" @@ -1722,7 +1724,7 @@ #: freedesktop.org.xml.in:4132 msgid "Audible.Com audio" -msgstr "" +msgstr "Ðудио — Audible.Com" #: freedesktop.org.xml.in:4144 msgid "Impulse Tracker audio" @@ -1750,11 +1752,11 @@ #: freedesktop.org.xml.in:4191 msgid "AAC audio" -msgstr "" +msgstr "Ðудио — AAC" #: freedesktop.org.xml.in:4204 msgid "USAC audio" -msgstr "" +msgstr "Ðудио — USAC" #: freedesktop.org.xml.in:4211 msgid "MPEG-4 audio" @@ -1762,7 +1764,7 @@ #: freedesktop.org.xml.in:4221 msgid "MPEG-4 ringtone" -msgstr "" +msgstr "Ðудио — MPEG-4, звънене" #: freedesktop.org.xml.in:4226 msgid "MPEG-4 video" @@ -1830,7 +1832,7 @@ #: freedesktop.org.xml.in:4439 msgid "RealMedia playlist" -msgstr "" +msgstr "СпиÑък за изпълнение — RealMedia" #: freedesktop.org.xml.in:4443 msgid "RealVideo document" @@ -1854,7 +1856,7 @@ #: freedesktop.org.xml.in:4474 msgid "RIFF container" -msgstr "" +msgstr "Контейнер — RIFF" #: freedesktop.org.xml.in:4481 msgid "Scream Tracker 3 audio" @@ -1898,11 +1900,11 @@ #: freedesktop.org.xml.in:4565 msgid "CGM image" -msgstr "" +msgstr "Изображение — CGM" #: freedesktop.org.xml.in:4571 msgid "CCITT G3 fax image" -msgstr "" +msgstr "Изображение — CCITT G3, факÑ" #: freedesktop.org.xml.in:4576 msgid "GIF image" @@ -1910,7 +1912,7 @@ #: freedesktop.org.xml.in:4583 msgid "HEIF image" -msgstr "" +msgstr "Изображение — HEIF" #: freedesktop.org.xml.in:4593 msgid "IEF image" @@ -1922,31 +1924,31 @@ #: freedesktop.org.xml.in:4608 msgid "MJPEG video stream" -msgstr "" +msgstr "Поток — MJPEG, видео" #: freedesktop.org.xml.in:4616 msgid "JPEG-2000 codestream" -msgstr "" +msgstr "Поток — JPEG-2000, кодирано" #: freedesktop.org.xml.in:4625 msgid "JPEG-2000 JP2 image" -msgstr "" +msgstr "Изображение — JPEG-2000 JP2" #: freedesktop.org.xml.in:4638 msgid "JPEG-2000 JPX image" -msgstr "" +msgstr "Изображение — JPEG-2000 JPX" #: freedesktop.org.xml.in:4648 msgid "JPEG-2000 JPM image" -msgstr "" +msgstr "Изображение — JPEG-2000 JPM" #: freedesktop.org.xml.in:4658 msgid "JPEG-2000 MJ2 video" -msgstr "" +msgstr "Видео — JPEG-2000 MJ2" #: freedesktop.org.xml.in:4668 msgid "OpenRaster image" -msgstr "" +msgstr "Изображение — OpenRaster" #: freedesktop.org.xml.in:4680 msgid "DirectDraw surface" @@ -2042,7 +2044,7 @@ #: freedesktop.org.xml.in:4908 msgid "RLE bitmap image" -msgstr "" +msgstr "Изображение — RLE bitmap" #: freedesktop.org.xml.in:4914 msgid "SVG image" @@ -2058,7 +2060,7 @@ #: freedesktop.org.xml.in:4944 msgid "Multi-page TIFF image" -msgstr "" +msgstr "Изображение — TIFF, много Ñтраници" #: freedesktop.org.xml.in:4950 msgid "AutoCAD image" @@ -2070,11 +2072,11 @@ #: freedesktop.org.xml.in:4962 msgid "MDI image" -msgstr "" +msgstr "Изображение — MDI" #: freedesktop.org.xml.in:4971 msgid "WebP image" -msgstr "" +msgstr "Изображение — WebP" #: freedesktop.org.xml.in:4980 msgid "3D Studio image" @@ -2114,7 +2116,7 @@ #: freedesktop.org.xml.in:5058 msgid "DjVu document" -msgstr "" +msgstr "Документ — DjVu" #: freedesktop.org.xml.in:5073 msgid "DPX image" @@ -2138,7 +2140,7 @@ #: freedesktop.org.xml.in:5124 msgid "Windows icon" -msgstr "" +msgstr "Икона — Windows" #: freedesktop.org.xml.in:5139 msgid "MacOS X icon" @@ -2242,15 +2244,15 @@ #: freedesktop.org.xml.in:5405 msgid "GIMP brush" -msgstr "" +msgstr "Четка — GIMP" #: freedesktop.org.xml.in:5412 msgid "GIMP brush pipe" -msgstr "" +msgstr "Конвейер Ñ Ñ‡ÐµÑ‚ÐºÐ¸ — GIMP" #: freedesktop.org.xml.in:5416 msgid "GIMP pattern" -msgstr "" +msgstr "Шарка — GIMP" #: freedesktop.org.xml.in:5423 msgid "XFig image" @@ -2322,7 +2324,7 @@ #: freedesktop.org.xml.in:5520 msgid "IGES document" -msgstr "" +msgstr "Документ — IGES" #: freedesktop.org.xml.in:5533 msgid "VRML document" @@ -2362,7 +2364,7 @@ #: freedesktop.org.xml.in:5570 msgid "stream of data (server push)" -msgstr "Поток от данни, от Ñтрана на Ñървър" +msgstr "Поток от данни — пратени от Ñървър" #: freedesktop.org.xml.in:5573 msgid "VCS/ICS calendar" @@ -2378,7 +2380,7 @@ #: freedesktop.org.xml.in:5608 msgid "Turtle document" -msgstr "" +msgstr "Документ — Turtle" #: freedesktop.org.xml.in:5613 msgid "txt2tags document" @@ -2418,11 +2420,11 @@ #: freedesktop.org.xml.in:5674 msgid "reStructuredText document" -msgstr "" +msgstr "Документ — reStructuredText" #: freedesktop.org.xml.in:5679 msgid "OWL XML file" -msgstr "" +msgstr "Файл — OWL XML" #: freedesktop.org.xml.in:5690 msgid "email headers" @@ -2450,7 +2452,7 @@ #: freedesktop.org.xml.in:5740 msgid "spreadsheet interchange document" -msgstr "Документ за обмÑна между програми за електронни таблици" +msgstr "Документ — обмÑна между електронни таблици" #: freedesktop.org.xml.in:5749 msgid "TSV document" @@ -2474,7 +2476,7 @@ #: freedesktop.org.xml.in:5788 msgid "WarpScript source code" -msgstr "" +msgstr "Изходен код — WarpScript" #: freedesktop.org.xml.in:5793 msgid "ACE archive" @@ -2518,7 +2520,7 @@ #: freedesktop.org.xml.in:5863 msgid "CSV Schema document" -msgstr "" +msgstr "Документ — Ñхема на CSV" #: freedesktop.org.xml.in:5870 msgid "license terms" @@ -2578,7 +2580,7 @@ #: freedesktop.org.xml.in:5966 msgid "Genie source code" -msgstr "" +msgstr "Изходен код — Genie" #: freedesktop.org.xml.in:5972 msgid "translation file" @@ -2590,7 +2592,7 @@ #: freedesktop.org.xml.in:5988 msgid "Gherkin document" -msgstr "" +msgstr "Документ — Gherkin" #: freedesktop.org.xml.in:5993 msgid "HTML document" @@ -2598,15 +2600,15 @@ #: freedesktop.org.xml.in:6020 msgid "Web application cache file" -msgstr "" +msgstr "Кеш — уеб приложение" #: freedesktop.org.xml.in:6033 msgid "Google Video Pointer shortcut" -msgstr "" +msgstr "Отметка — Google Video" #: freedesktop.org.xml.in:6042 msgid "Haskell source code" -msgstr "Изходен код на Haskell" +msgstr "Изходен код — Haskell" #: freedesktop.org.xml.in:6047 msgid "IDL document" @@ -2618,7 +2620,7 @@ #: freedesktop.org.xml.in:6059 msgid "Java source code" -msgstr "Изходен код на Java" +msgstr "Изходен код — Java" #: freedesktop.org.xml.in:6064 msgid "LDIF address book" @@ -2630,15 +2632,15 @@ #: freedesktop.org.xml.in:6080 msgid "LHS source code" -msgstr "Изходен код на LHS" +msgstr "Изходен код — LHS" #: freedesktop.org.xml.in:6087 msgid "application log" -msgstr "Файл-дневник на приложение" +msgstr "Журнал ÑÑŠÑ ÑъобщениÑ" #: freedesktop.org.xml.in:6092 msgid "Makefile build file" -msgstr "" +msgstr "Проект — Makefile" #: freedesktop.org.xml.in:6105 msgid "Markdown document" @@ -2654,11 +2656,11 @@ #: freedesktop.org.xml.in:6130 msgid "MOF file" -msgstr "" +msgstr "Модел — MOF" #: freedesktop.org.xml.in:6137 msgid "Mup musical composition document" -msgstr "" +msgstr "Музикална ÐºÐ¾Ð¼Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ñ â€” Mup" #: freedesktop.org.xml.in:6146 msgid "Objective-C source code" @@ -2670,19 +2672,19 @@ #: freedesktop.org.xml.in:6159 msgid "OpenCL source code" -msgstr "" +msgstr "Изходен код — OpenCL" #: freedesktop.org.xml.in:6166 msgid "MATLAB file" -msgstr "" +msgstr "Файл — MATLAB" #: freedesktop.org.xml.in:6181 msgid "Meson source code" -msgstr "" +msgstr "Изходен код — Meson" #: freedesktop.org.xml.in:6187 msgid "Modelica model" -msgstr "" +msgstr "Модел — Modelica" #: freedesktop.org.xml.in:6207 msgid "Pascal source code" @@ -2698,11 +2700,11 @@ #: freedesktop.org.xml.in:6237 msgid "SCons configuration file" -msgstr "" +msgstr "ÐаÑтройки — SCons" #: freedesktop.org.xml.in:6244 msgid "Python 3 script" -msgstr "" +msgstr "Скрипт — Python 3" #: freedesktop.org.xml.in:6263 msgid "Python script" @@ -2726,7 +2728,7 @@ #: freedesktop.org.xml.in:6316 msgid "Sass CSS pre-processor file" -msgstr "" +msgstr "Директиви за препроцеÑора — Sass CSS" #: freedesktop.org.xml.in:6324 msgid "Scala source code" @@ -2738,7 +2740,7 @@ #: freedesktop.org.xml.in:6335 msgid "SCSS pre-processor file" -msgstr "" +msgstr "Директиви за препроцеÑора — SCSS" #: freedesktop.org.xml.in:6343 msgid "Setext document" @@ -2774,7 +2776,7 @@ #: freedesktop.org.xml.in:6399 msgid "Twig template" -msgstr "" +msgstr "Шаблон — Twig" #: freedesktop.org.xml.in:6405 msgid "X-Motif UIL table" @@ -2786,7 +2788,7 @@ #: freedesktop.org.xml.in:6415 msgid "uuencoded file" -msgstr "" +msgstr "Файл — кодиран Ñ uuencode" #: freedesktop.org.xml.in:6424 msgid "XMI file" @@ -2802,11 +2804,11 @@ #: freedesktop.org.xml.in:6467 msgid "D-Bus service file" -msgstr "" +msgstr "УÑлуга — D-Bus" #: freedesktop.org.xml.in:6476 msgid "systemd unit file" -msgstr "" +msgstr "Елемент — systemd" #: freedesktop.org.xml.in:6520 msgid "XSLT stylesheet" @@ -2814,7 +2816,7 @@ #: freedesktop.org.xml.in:6533 msgid "Maven description file" -msgstr "" +msgstr "Модел — Maven" #: freedesktop.org.xml.in:6540 msgid "XMCD CD database" @@ -2858,7 +2860,7 @@ #: freedesktop.org.xml.in:6671 msgid "Khronos texture image" -msgstr "" +msgstr "Изображение — текÑтура за Khronos" #: freedesktop.org.xml.in:6682 msgid "Vivo video" @@ -2910,7 +2912,7 @@ #: freedesktop.org.xml.in:6785 msgid "SDP multicast stream file" -msgstr "Файл за поток — SDP multicast" +msgstr "Поток — SDP multicast" #: freedesktop.org.xml.in:6800 msgid "SGI video" @@ -2930,11 +2932,11 @@ #: freedesktop.org.xml.in:6830 msgid "GeoJSON geospatial data" -msgstr "" +msgstr "ГеографÑки данни — GeoJSON" #: freedesktop.org.xml.in:6837 msgid "GPX geographic data" -msgstr "" +msgstr "ГеографÑки данни — GPX" #: freedesktop.org.xml.in:6849 msgid "Citrix ICA settings file" @@ -2942,7 +2944,7 @@ #: freedesktop.org.xml.in:6857 msgid "XUL interface document" -msgstr "Документ — Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð·Ð° XUL" +msgstr "Документ — интерфейÑ, XUL" #: freedesktop.org.xml.in:6866 msgid "XPInstall installer module" @@ -2986,7 +2988,7 @@ #: freedesktop.org.xml.in:6929 msgid "Cisco VPN settings" -msgstr "" +msgstr "ÐаÑтройки — ВЧМ на Cisco" #: freedesktop.org.xml.in:6939 msgid "ICC profile" @@ -2994,19 +2996,19 @@ #: freedesktop.org.xml.in:6947 msgid "IT 8.7 color calibration file" -msgstr "Файл за цветово калибриране — IT 8.7" +msgstr "Цветово калибриране — IT 8.7" #: freedesktop.org.xml.in:6956 msgid "CCMX color correction file" -msgstr "" +msgstr "Цветови поправки — CCMX" #: freedesktop.org.xml.in:6965 msgid "WinHelp help file" -msgstr "" +msgstr "Помощен файл — WinHelp" #: freedesktop.org.xml.in:6973 msgid "binary differences between files" -msgstr "" +msgstr "двоична разлика между файлове" #. http://en.wikipedia.org/wiki/Design_rule_for_Camera_File_system #: freedesktop.org.xml.in:6984 @@ -3084,7 +3086,7 @@ #. http://www.re.org/kristin/picturecd.html #: freedesktop.org.xml.in:7089 msgid "Picture CD" -msgstr "CD — изображениÑ" +msgstr "Picture CD — изображениÑ" #. see fd.o hal spec #: freedesktop.org.xml.in:7097 @@ -3094,7 +3096,7 @@ #. https://github.com/ostreedev/ostree/blob/master/man/ostree-create-usb.xml #: freedesktop.org.xml.in:7102 msgid "OSTree software updates" -msgstr "" +msgstr "Обновление — OSTree" #. http://standards.freedesktop.org/autostart-spec/autostart-spec-latest.html #. http://bugzilla.gnome.org/show_bug.cgi?id=509823#c3 @@ -3106,7 +3108,7 @@ #. http://bugzilla.gnome.org/show_bug.cgi?id=509823#c3 #: freedesktop.org.xml.in:7119 msgid "UNIX software" -msgstr "Софтуер за UNIX" +msgstr "Софтуер — UNIX" #. http://standards.freedesktop.org/autostart-spec/autostart-spec-latest.html #. http://bugzilla.gnome.org/show_bug.cgi?id=509823#c3 @@ -3116,52 +3118,52 @@ #: freedesktop.org.xml.in:7140 msgid "TriG RDF document" -msgstr "" +msgstr "Документ — TriG RDF" #: freedesktop.org.xml.in:7149 msgid "Apple Keynote 5 presentation" -msgstr "" +msgstr "ÐŸÑ€ÐµÐ·ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ â€” Apple Keynote 5" #: freedesktop.org.xml.in:7162 msgid "Adobe PageMaker document" -msgstr "" +msgstr "Документ — Adobe PageMaker" #: freedesktop.org.xml.in:7172 msgid "Doom WAD file" -msgstr "" +msgstr "Ðиво — Doom" #: freedesktop.org.xml.in:7184 msgid "Amiga disk image" -msgstr "" +msgstr "ДиÑк — Amiga" #: freedesktop.org.xml.in:7192 msgid "Flatpak application bundle" -msgstr "" +msgstr "Програмен пакет — Flatpak" #: freedesktop.org.xml.in:7204 msgid "Flatpak repository description" -msgstr "" +msgstr "ОпиÑание на хранилище — Flatpak" #: freedesktop.org.xml.in:7214 msgid "Flatpak repository reference" -msgstr "" +msgstr "Указател към хранилище — Flatpak" #: freedesktop.org.xml.in:7224 msgid "Squashfs filesystem image" -msgstr "" +msgstr "ДиÑк — Squashfs" #: freedesktop.org.xml.in:7251 msgid "Snap package" -msgstr "" +msgstr "Пакет — Snap" #: freedesktop.org.xml.in:7258 msgid "STL 3D model" -msgstr "" +msgstr "Модел — STL 3D" #: freedesktop.org.xml.in:7271 msgid "G-code file" -msgstr "" +msgstr "Модел — G-code" #: freedesktop.org.xml.in:7278 msgid "Nintendo FDS disk image" -msgstr "" +msgstr "ДиÑк — Nintendo FDS" Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/bn_IN.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/bn_IN.gmo differ diff -Nru shared-mime-info-1.15/po/boldquot.sed shared-mime-info-2.0/po/boldquot.sed --- shared-mime-info-1.15/po/boldquot.sed 2019-09-11 10:53:10.000000000 +0000 +++ shared-mime-info-2.0/po/boldquot.sed 1970-01-01 00:00:00.000000000 +0000 @@ -1,10 +0,0 @@ -s/"\([^"]*\)"/“\1â€/g -s/`\([^`']*\)'/‘\1’/g -s/ '\([^`']*\)' / ‘\1’ /g -s/ '\([^`']*\)'$/ ‘\1’/g -s/^'\([^`']*\)' /‘\1’ /g -s/“â€/""/g -s/“/“/g -s/â€/â€/g -s/‘/‘/g -s/’/’/g Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/ca.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/ca.gmo differ diff -Nru shared-mime-info-1.15/po/ca.po shared-mime-info-2.0/po/ca.po --- shared-mime-info-1.15/po/ca.po 2019-09-20 13:24:24.000000000 +0000 +++ shared-mime-info-2.0/po/ca.po 2020-05-06 14:11:14.062908600 +0000 @@ -3,6 +3,7 @@ # This file is distributed under the same license as the shared-mime-info package. # # Translators: +# Antoni Bella Pérez , 2019 # Jordi Mas , 2019 # Josep Ma. Ferrer , 2011-2015 # Robert Antoni Buj Gelonch , 2016-2019 @@ -12,8 +13,8 @@ "Project-Id-Version: shared-mime-info\n" "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/xdg/shared-mime-info/issues\n" "POT-Creation-Date: 2019-09-11 12:53+0200\n" -"PO-Revision-Date: 2019-09-19 19:53+0000\n" -"Last-Translator: Jordi Mas \n" +"PO-Revision-Date: 2019-10-03 17:02+0000\n" +"Last-Translator: Robert Antoni Buj Gelonch \n" "Language-Team: Catalan (http://www.transifex.com/freedesktop/shared-mime-info/language/ca/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -644,7 +645,7 @@ #: freedesktop.org.xml.in:1671 msgid "Java byte code" -msgstr "Bytecode de Java" +msgstr "bytecode de Java" #: freedesktop.org.xml.in:1674 msgid "UNIX-compressed file" @@ -859,7 +860,7 @@ #: freedesktop.org.xml.in:2164 msgid "Font collection" -msgstr "col·lecció de lletres" +msgstr "ccol·lecció de lletres" #: freedesktop.org.xml.in:2169 msgid "TrueType XML font" @@ -1079,7 +1080,7 @@ #: freedesktop.org.xml.in:2676 msgid "Krita document" -msgstr "document Krita" +msgstr "document de Krita" #: freedesktop.org.xml.in:2693 msgid "KSpread spreadsheet" @@ -1091,7 +1092,7 @@ #: freedesktop.org.xml.in:2717 msgid "KSysV init package" -msgstr "paquet d'inici KSysV" +msgstr "paquet de KSysV init" #: freedesktop.org.xml.in:2726 msgid "Kugar document" @@ -1187,7 +1188,7 @@ #: freedesktop.org.xml.in:2923 msgid "Matroska audio" -msgstr "àudio de Matroska" +msgstr "àudio Matroska" #: freedesktop.org.xml.in:2928 msgid "WebM video" @@ -1195,7 +1196,7 @@ #: freedesktop.org.xml.in:2942 msgid "WebM audio" -msgstr "àudio de WebM" +msgstr "àudio WebM" #: freedesktop.org.xml.in:2946 msgid "MHTML web archive" @@ -1304,23 +1305,23 @@ #: freedesktop.org.xml.in:3196 msgid "Ogg Vorbis audio" -msgstr "àudio d'Ogg Vorbis" +msgstr "àudio Ogg Vorbis" #: freedesktop.org.xml.in:3209 msgid "Ogg FLAC audio" -msgstr "àudio FLAC d'Ogg" +msgstr "àudio Ogg FLAC" #: freedesktop.org.xml.in:3224 msgid "Opus audio" -msgstr "àudio d'Opus" +msgstr "àudio Opus" #: freedesktop.org.xml.in:3234 msgid "Ogg Speex audio" -msgstr "àudio Speex d'Ogg" +msgstr "àudio Ogg Speex" #: freedesktop.org.xml.in:3245 msgid "Speex audio" -msgstr "àudio de Speex" +msgstr "àudio Speex" #: freedesktop.org.xml.in:3252 msgid "Ogg Theora video" @@ -1388,7 +1389,7 @@ #: freedesktop.org.xml.in:3406 msgid "profiler results" -msgstr "resultats de profiler" +msgstr "resultats del perfilador" #: freedesktop.org.xml.in:3412 msgid "Pathetic Writer document" @@ -1561,11 +1562,11 @@ #: freedesktop.org.xml.in:3802 msgid "SV4 CPIO archive" -msgstr "arxiu CPIO SV4" +msgstr "arxiu SV4 CPIO" #: freedesktop.org.xml.in:3807 msgid "SV4 CPIO archive (with CRC)" -msgstr "arxiu CPIO SV4 (amb CRC)" +msgstr "arxiu SV4 CPIO (amb CRC)" #: freedesktop.org.xml.in:3812 msgid "Tar archive" @@ -1681,7 +1682,7 @@ #: freedesktop.org.xml.in:4018 msgid "Dolby Digital audio" -msgstr "àudio de Dolby Digital" +msgstr "àudio Dolby Digital" #: freedesktop.org.xml.in:4025 msgid "DTS audio" @@ -1725,7 +1726,7 @@ #: freedesktop.org.xml.in:4132 msgid "Audible.Com audio" -msgstr "àudio Audible.Com" +msgstr "àudio d'Audible.Com" #: freedesktop.org.xml.in:4144 msgid "Impulse Tracker audio" @@ -1889,7 +1890,7 @@ #: freedesktop.org.xml.in:4536 msgid "TrueAudio audio" -msgstr "àudio de TrueAudio" +msgstr "àudio TrueAudio" #: freedesktop.org.xml.in:4544 msgid "Windows BMP image" @@ -1957,7 +1958,7 @@ #: freedesktop.org.xml.in:4687 msgid "X11 cursor" -msgstr "cursor X11" +msgstr "cursor de X11" #: freedesktop.org.xml.in:4693 msgid "EXR image" @@ -2393,7 +2394,7 @@ #: freedesktop.org.xml.in:5627 msgid "SystemVerilog header" -msgstr "capçalera de SystemVerilog" +msgstr "capçalera en SystemVerilog" #: freedesktop.org.xml.in:5632 msgid "SystemVerilog source code" @@ -2581,7 +2582,7 @@ #: freedesktop.org.xml.in:5966 msgid "Genie source code" -msgstr "codi font de Genius" +msgstr "codi font en Genie" #: freedesktop.org.xml.in:5972 msgid "translation file" @@ -2921,7 +2922,7 @@ #: freedesktop.org.xml.in:6807 msgid "eMusic download package" -msgstr "paquet de descàrrega eMusic" +msgstr "paquet de baixades d'eMusic" #: freedesktop.org.xml.in:6815 msgid "KML geographic data" @@ -3033,7 +3034,7 @@ #. http://en.wikipedia.org/wiki/DVD-Video #: freedesktop.org.xml.in:7012 msgid "video DVD" -msgstr "DVD-Video" +msgstr "DVD de video" #. http://en.wikipedia.org/wiki/Red_Book_(audio_CD_standard) #: freedesktop.org.xml.in:7023 @@ -3087,7 +3088,7 @@ #. http://www.re.org/kristin/picturecd.html #: freedesktop.org.xml.in:7089 msgid "Picture CD" -msgstr "Picture CD" +msgstr "CD d'imatges" #. see fd.o hal spec #: freedesktop.org.xml.in:7097 @@ -3123,7 +3124,7 @@ #: freedesktop.org.xml.in:7149 msgid "Apple Keynote 5 presentation" -msgstr "presentació Keynote 5 d'Apple" +msgstr "presentació d'Apple Keynote 5" #: freedesktop.org.xml.in:7162 msgid "Adobe PageMaker document" @@ -3155,7 +3156,7 @@ #: freedesktop.org.xml.in:7251 msgid "Snap package" -msgstr "Paquet Snap" +msgstr "paquet snap" #: freedesktop.org.xml.in:7258 msgid "STL 3D model" @@ -3167,4 +3168,4 @@ #: freedesktop.org.xml.in:7278 msgid "Nintendo FDS disk image" -msgstr "Imatge de disc Nintendo FDS" +msgstr "imatge de disc Nintendo FDS" Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/ca@valencia.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/ca@valencia.gmo differ diff -Nru shared-mime-info-1.15/po/ChangeLog shared-mime-info-2.0/po/ChangeLog --- shared-mime-info-1.15/po/ChangeLog 2012-02-19 23:40:03.000000000 +0000 +++ shared-mime-info-2.0/po/ChangeLog 1970-01-01 00:00:00.000000000 +0000 @@ -1,717 +0,0 @@ -2009-10-05 Bastien Nocera - - * LINGUAS: - * ca.po: - * cs.po: - * da.po: - * de.po: - * es.po: - * eu.po: - * fi.po: - * fr.po: - * hu.po: - * id.po: - * it.po: - * ko.po: - * lt.po: - * nl.po: - * pl.po: - * pt_BR.po: - * ru.po: - * sv.po: - * vi.po: - * zh_CN.po: Updated translations from the TP, - add lv - -2009-02-21 Bastien Nocera - - * be@latin.po: - * bg.po: - * ca.po: - * cs.po: - * es.po: - * fi.po: - * fr.po: - * ga.po: - * hu.po: - * id.po: - * it.po: - * ja.po: - * ko.po: - * lt.po: - * nl.po: - * nn.po: - * pl.po: - * pt_BR.po: - * ru.po: - * sq.po: - * sv.po: - * vi.po: Updated translations from the TP - -2008-07-23 Bastien Nocera - - * be@latin.po: - * ca.po: - * fr.po: - * ga.po: - * nl.po: Updated translations from the TP - -2008-07-22 Bastien Nocera - - * LINGUAS: Add Indonesian - * be@latin.po: - * ca.po: - * cs.po: - * fi.po: - * fr.po: - * ga.po: - * id.po: - * it.po: - * ko.po: - * lt.po: - * nl.po: - * pt_BR.po: - * sv.po: - * vi.po: Updated translations from the TP - -2008-06-09 Bastien Nocera - - * es.po: - * nb.po: Updated translations from the TP - -2008-06-02 Bastien Nocera - - * ga.po: - * ru.po: Updated translations from the TP - -2008-05-27 Bastien Nocera - - * fr.po: - * lt.po: - * sv.po: Updated translations from the TP - -2008-05-13 Bastien Nocera - - * LINGUAS: Add "ga" and "be@latin" to the list - * ko.po: - * vi.po: Updated translations from the TP - -2008-05-12 Bastien Nocera - - * az.po: - * be@latin.po: - * bg.po: - * ca.po: - * cs.po: - * cy.po: - * en_GB.po: - * eo.po: - * fi.po: - * hu.po: - * it.po: - * ja.po: - * nl.po: - * pl.po: - * pt.po: - * pt_BR.po: - * ru.po: - * sq.po: - * sr.po: - * vi.po: - * zh_CN.po: - * zh_TW.po: Updated translations from the TP - -2008-05-02 Bastien Nocera - - * cs.po: - * fr.po: - * ko.po: Updated translation from the TP - -2008-04-28 Bastien Nocera - - * it.po: - * nl.po: Updated translation from the TP - -2008-04-24 Bastien Nocera - - * ca.po: - * sv.po: - * vi.po: Updated translation from the TP - -2008-04-09 Bastien Nocera - - * cs.po: - * fi.po: - * lt.po: - * nl.po: Updated translation from the TP - -2008-03-05 Bastien Nocera - - * eu.po: Updated translation from the TP - -2008-02-25 Bastien Nocera - - * be@latin.po: Updated translation from the TP - -2008-02-21 Bastien Nocera - - * be@latin.po: Add Belarusian Latin - translation from Ihar Hrachyshka - -2008-02-21 Bastien Nocera - - * ga.po: Add Irish translation from - Seán de Búrca - -2008-02-12 Bastien Nocera - - * ca.po: updated translation from the TP - -2008-01-17 Bastien Nocera - - * hu.po: updated translation from the TP - -2008-01-14 Bastien Nocera - - * es.po: updated translation from the TP - -2007-12-19 Bastien Nocera - - * vi.po: updated translation from the TP - -2007-12-18 Bastien Nocera - - * fr.po: updated translation from the TP - -2007-12-17 Bastien Nocera - - * ca.po: - * nb.po: - * sv.po: - * it.po: - * cs.po: - * bg.po: updated translation from the TP - -2007-12-13 Bastien Nocera - - * fi.po: - * nl.po: updated translation from the TP - -2007-12-12 Bastien Nocera - - * LINGUAS: upd - * en_GB.po: added - -2007-12-12 Bastien Nocera - - * ca.po: - * cs.po: - * hu.po: - * ko.po: updated translation from the TP - -2007-10-01 Bastien Nocera - - * fi.po: - * nl.po: updated translation from the TP - -2007-09-26 Bastien Nocera - - * es.po: updated translation from the TP - -2007-09-26 Bastien Nocera - - * fr.po: - * uk.po: - * vi.po: updated translations from the TP - -2007-09-25 Bastien Nocera - - * it.po: - * nn.po: - * sv.po: updated translations from the TP - -2007-09-18 Bastien Nocera - - * es.po: Updated Spanish translation from Jorge González González - - -2007-08-17 Christian Neumair - - * ja.po: Updated Japanese translation by Satoru Satoh - -2007-08-17 Christian Neumair - - * uk.po: Updated Ukrainian translation by Maxim V. Dziumanenko - . - -2007-08-03 Christian Neumair - - * pt_BR.po: Updated Brazilian Portuguese translation by Raphael Higino - . - -2007-08-03 Christian Neumair - - * hu.po: Updated Hungarian translation by Gabor Kelemen . - * nl.po: Updated Dutch translation by Taco Witte . - * sv.po: Updated Swedish translation by Daniel Nylander - . - * vi.po: Updated Vietnamese translation by Clytie Siddall - . - -2007-07-02 Christian Neumair - - * pl.po: Updated Polish translation by Artur Flinta - . - -2007-07-01 Christian Neumair - - * ko.po: Updated Korean translation by Young-Ho, Cha. - -2007-06-28 Bastien Nocera - - * it.po: Updated Italian translation by - Luca Ferretti - -2007-06-27 Christian Neumair - - * fi.po: Updated Finnish translation by - Tommi Vainikainen . - -2007-06-27 Christian Neumair - - * de.po: Updated German translation. - -2007-06-26 Christian Neumair - - * de.po: Updated German translation. - -2007-06-21 Bastien Nocera - - * es.po: updated Spanish translation from Quique - - -2007-05-17 Bastien Nocera - - * fr.po: Another update of the French translation by - Claude Paroz - -2007-05-17 Bastien Nocera - - * fr.po: Updated French translation by Claude Paroz - - -2007-04-29 Bastien Nocera - - * LINGUAS: - * ca.po: Add Catalan translation from Josep Ma. Ferrer - - -2007-04-23 Bastien Nocera - - * nb.po: Updated Norwegian bokmÃ¥l translation from Kjartan Maraas - - -2007-03-12 Christian Neumair - - * ko.po: Updated Korean translation by Young-Ho, Cha (#10266). - * nl.po: Updated Dutch translation by Wouter Bolsterlee (#10264). - -2007-02-07 Bastien Nocera - - * bg.po: Updated Bulgarian translation from Alexander Shopov - (Closes: #9899) - -2006-11-21 Bastien Nocera - - * nb.po: Updated Norwegian bokmÃ¥l translation from Kjartan Maraas - - -2006-09-18 Bastien Nocera - - * es.po: Update Spanish translation by Francisco Javier F. Serrador - - -2006-09-10 Bastien Nocera - - * cs.po: - * de.po: - * es.po: - * fi.po: - * hu.po: - * it.po: - * ja.po: - * pl.po: - * pt_BR.po: - * zh_CN.po: - * zh_TW.po: patch from Stanislav Brabec - to update the translations with the WMA audio translation, - from SUSE's packages (Closes: #2178) - -2006-09-03 Bastien Nocera - - * bg.po: Updated Bulgarian translation by Alexander Shopov - . - -2006-08-25 Bastien Nocera - - * az.po: - * bg.po: - * cs.po: - * cy.po: - * da.po: - * de.po: - * el.po: - * eo.po: - * es.po: - * eu.po: - * fi.po: - * fr.po: - * hu.po: - * it.po: - * ja.po: - * ko.po: - * lt.po: - * ms.po: - * nb.po: - * nl.po: - * nn.po: - * pl.po: - * pt.po: - * pt_BR.po: - * ru.po: - * rw.po: - * sq.po: - * sr.po: - * sv.po: - * uk.po: - * vi.po: - * zh_CN.po: - * zh_TW.po: update s/Javascript/JavaScript/ - -2006-08-12 Bastien Nocera - - * nl.po: Updated Dutch translation by - Wouter Bolsterlee - -2006-07-09 Kjartan Maraas - - * nb.po: Updated Norwegian bokmÃ¥l translation. - -2006-07-09 Bastien Nocera - - * .cvsignore: upd - -2006-07-09 Bastien Nocera - - * ms.po: Remove translation for the tab-separated document, as it - was referencing "commas" instead of "tabs" (Closes: #5456) - -2006-05-15 Miloslav Trmac - - * sv.po: Updated Swedish translation by Daniel Nylander - . - - * eu.po: Updated Basque translation by Mikel Olasagasti - . - -2006-05-05 Miloslav Trmac - - * hu.po: Updated Hungarian translation by Gabor Kelemen - . - - * sv.po: Updated Swedish translation by Daniel Nylander - - -2006-04-18 Bastien Nocera - - * no.po: Remove Norwegian translation - -2006-04-12 Miloslav Trmac - - * bg.po: Updated Bulgarian translation by Alexander Shopov - . - -2006-04-11 Miloslav Trmac - - * ko.po: Updated Korean translation by Young-Ho Cha - . - - * es.po: Updated Spanish translation by Quique . - -2006-04-10 Miloslav Trmac - - * it.po: Updated Italian translation by Luca Ferretti - . - -2006-04-07 Miloslav Trmac - - * uk.po: Updated Ukrainian translation by Maxim V. Dziumanenko - . - - * vi.po: Updated Vietnamese translation by Clytie Siddall - . - -2006-04-05 Bastien Nocera - - * cy.po: Updated Welsh translation by Thomas Thurman - - -2006-03-18 Miloslav Trmac - - * cs.po: Updated Czech translation. - - * lt.po: Add Lithuanian translation by - Žygimantas BeruÄka . - -2006-03-15 Bastien Nocera - - * da.po: - * fr.po: Fix a couple of typos, patch from Stanislav Brabec - (Closes: #2051) - -2006-03-14 Kjartan Maraas - - * nn.po: Updated Norwegian nynorsk translation. - * nb.po: Updated Norwegian bokmÃ¥l translation. - * no.po: Same. - -2006-02-24 Kjartan Maraas - - * nb.po: Updated Norwegian bokmÃ¥l translation. - * no.po: Same. - -2006-02-20 Miloslav Trmac - - * vi.po: Add Vietnamese translation by - Clytie Siddall . - -2006-02-01 Bastien Nocera - - * fr.po: also change the header to say it's UTF-8 - -2006-02-01 Bastien Nocera - - * fr.po: Convert the French translation's encoding to UTF-8 - -2006-01-24 Kjartan Maraas - - * nb.po: Updated Norwegian bokmÃ¥l translation. - * no.po: Same. - -2005-11-04 Christian Neumair - - * bg.po: Updated Bulgarian translation by Alexander Shopov - . - -2005-10-30 Kjartan Maraas - - * nb.po: Updated Norwegian bokmÃ¥l translation. - * no.po: Same - -2005-10-29 Christian Neumair - - * de.po: Updated German translation. - -2005-09-09 Miloslav Trmac - - * eu.po: Updated Basque translation by - Mikel Olasagasti . - -2005-08-11 Kjartan Maraas - - * nb.po: Updated Norwegian bokmÃ¥l translation. - * no.po: Same - -2005-08-02 Miloslav Trmac - - * it.po: Updated Italian translation by - Luca Ferretti . - -2005-06-20 Miloslav Trmac - - * fr.po: Updated French translation by - Michel Robitaille . - -2005-06-07 Miloslav Trmac - - * ru.po: Updated Russian translation by - Peter Astakhov . - - * sr.po: Updated Serbian translation by - Danilo Segan . - - * bg.po: Updated Bulgarian translation by - Alexander Shopov . - -2005-04-17 Miloslav Trmac - - * ko.po: Updated Korean translation by - Young-Ho Cha . - -2005-04-15 Miloslav Trmac - - * zh_TW.po: Added traditional Chinese translation by - Abel Cheung . - -2005-04-14 Miloslav Trmac - - * cs.po: Updated Czech translation. - - * nl.po: Updated Dutch translation by Taco Witte . - - * fi.po: Updated Finnish translation by - Tommi Vainikainen . - - * rw.po: Added Kinyarwanda translation by - Steven Michael Murphy . - -2005-03-20 Miloslav Trmac - - * ru.po: Added Russian translation by - Peter Astakhov . - -2005-01-21 Miloslav Trmac - - * nb.po: Added Norwegian (bokmÃ¥l) translation by - Kjartan Maraas . - -2005-01-16 Christophe Fergeau - - * it.po: added Italian translation by Alessio Frusciante - - -2004-11-04 Bastien Nocera - - * fr.po: convert the french translation to UTF-8 - -2004-10-07 Miloslav Trmac - - * eo.po: Added Esperanto translation by - Ðртём Попов . - -2004-10-05 Miloslav Trmac - - * fr.po: Updated French translation by - Michel Robitaille . - -2004-09-10 Christophe Fergeau - - * ms.po: Added Malay translation from Sebol - -2004-09-10 Christophe Fergeau - - * ja.po: Added Japanese translation from Satoru Satoh - -2004-09-10 Christophe Fergeau - - * pl.po: Added Polish translation from Artur Flinta - - -2004-09-09 Ole Laursen - - * el.po: Greek translation updated by Nikos Charonitakis - . - -2004-09-08 Miloslav Trmac - - * es.po: Added Spanish translation by - Quique . - -2004-09-06 Miloslav Trmac - - * ko.po: Updated Korean translation by - Young-Ho Cha . - - * pt.po: Added Portuguese translation by - Pedro Miguel Marques Morais . - - * ua.po: Added Ukrainian translation by - Maxim V. Dziumanenko . - -2004-09-05 Miloslav Trmac - - * nn.po: Updated Norwegian Nynorsk translation - by Ã…smund Skjæveland . - -2004-09-04 Miloslav Trmac - - * hu.po: Updated Hungarian translation by - Andras Timar . - - * pt_BR.po: Added Brazilian Portuguese translation by - Leslie Harlley Watter . - - * eu.po: Added Basque translation by - Mikel Olasagasti . - -2004-09-03 Miloslav Trmac - - * bg.po: Added Bulgarian translation by - Alexander Shopov . - -2004-09-02 Miloslav Trmac - - * sr.po: Updated Serbian translation by - Danilo Segan . - -2004-09-01 Miloslav Trmac - - * nl.po: Updated Dutch translation by - Elros Cyriatan . - - * sq.po: Added Albanian translation by - Laurent Dhima . - - * fi.po: Updated Finnish translation by - Tommi Vainikainen . - -2004-08-31 Miloslav Trmac - - * sv.po: Updated Swedish translation by - Christian Rose . - - * zh_CN.po: Added simplified Chinese translation by - Funda Wang . - - * nl.po: Updated Dutch translation by - Elros Cyriatan . - - * cs.po: Updated Czech translation. - -=== shared-mime-info 0.15 === - -2004-08-28 Christophe Fergeau - - * el.po: commit the actual file sent by Nikos to the mailing list, - the one which was in CVS didn't pass msgfmt -cv and broke the build. - -2004-08-27 Ole Laursen - - * el.po: Added Greek translation on behalf of Nikos Charonitakis. - -2004-08-17 Christophe Fergeau - - * fi.po: Update Finnish translation (patch from Ville Skyttä - ) - * ko.po: Added Korean translation (file from Cha Young-Ho - ) - -2004-07-25 Christian Neumair - - * de.po: Updated German translation. - -2004-07-05 Ole Laursen - - * .cvsignore, shared-mime-info.pot: Removed shared-mime-info.pot - from CVS, since it is a generated file. - - * da.po: Added Danish translation. - -2004-04-11 Christian Neumair - - * shared-mime-info.pot: Regenerated. - * de.po: Updated German translation. - -2004-04-06 Christian Neumair - - * de.po: Added German translation. diff -Nru shared-mime-info-1.15/po/check_translations.sh shared-mime-info-2.0/po/check_translations.sh --- shared-mime-info-1.15/po/check_translations.sh 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/po/check_translations.sh 2020-05-06 14:11:14.069908600 +0000 @@ -0,0 +1,16 @@ +#!/usr/bin/env bash + +# Go to po directory +cd "$(dirname "${0}")" || exit 1 + +RET=0 + +for i in *.po; do + lang="$(basename "${i}" | sed 's,.po,,')" + if ! grep -q ^"${lang}" "LINGUAS"; then + echo "*** Language ${lang} is missing from LINGUAS ***" + RET=1 + fi +done + +exit "${RET}" Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/cs.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/cs.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/cy.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/cy.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/da.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/da.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/de.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/de.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/el.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/el.gmo differ diff -Nru shared-mime-info-1.15/po/en@boldquot.header shared-mime-info-2.0/po/en@boldquot.header --- shared-mime-info-1.15/po/en@boldquot.header 2019-09-11 10:53:10.000000000 +0000 +++ shared-mime-info-2.0/po/en@boldquot.header 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -# 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. -# Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/en_GB.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/en_GB.gmo differ diff -Nru shared-mime-info-1.15/po/en_GB.po shared-mime-info-2.0/po/en_GB.po --- shared-mime-info-1.15/po/en_GB.po 2019-09-20 13:22:06.000000000 +0000 +++ shared-mime-info-2.0/po/en_GB.po 2020-05-06 14:11:14.080908500 +0000 @@ -3,15 +3,15 @@ # This file is distributed under the same license as the shared-mime-info package. # # Translators: -# Andi Chandler , 2013-2017 +# Andi Chandler , 2013-2017,2019 # Chris Leonard , 2012 msgid "" msgstr "" "Project-Id-Version: shared-mime-info\n" "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/xdg/shared-mime-info/issues\n" "POT-Creation-Date: 2019-09-11 12:53+0200\n" -"PO-Revision-Date: 2019-08-20 21:02+0000\n" -"Last-Translator: hadess \n" +"PO-Revision-Date: 2019-10-24 22:32+0000\n" +"Last-Translator: Andi Chandler \n" "Language-Team: English (United Kingdom) (http://www.transifex.com/freedesktop/shared-mime-info/language/en_GB/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -21,15 +21,15 @@ #: freedesktop.org.xml.in:83 msgid "Atari 2600 ROM" -msgstr "" +msgstr "Atari 2600 ROM" #: freedesktop.org.xml.in:88 msgid "Atari 7800 ROM" -msgstr "" +msgstr "Atari 7800 ROM" #: freedesktop.org.xml.in:96 msgid "Atari Lynx ROM" -msgstr "" +msgstr "Atari Lynx ROM" #: freedesktop.org.xml.in:104 msgid "ATK inset" @@ -49,7 +49,7 @@ #: freedesktop.org.xml.in:138 msgid "Mathematica Notebook file" -msgstr "" +msgstr "Mathematica Notebook file" #: freedesktop.org.xml.in:153 msgid "MathML document" @@ -101,7 +101,7 @@ #: freedesktop.org.xml.in:257 msgid "iRiver playlist" -msgstr "" +msgstr "iRiver playlist" #: freedesktop.org.xml.in:264 msgid "PGP/MIME-encrypted message header" @@ -117,7 +117,7 @@ #: freedesktop.org.xml.in:310 msgid "PKCS#7 file" -msgstr "" +msgstr "PKCS#7 file" #: freedesktop.org.xml.in:318 msgid "detached S/MIME signature" @@ -129,7 +129,7 @@ #: freedesktop.org.xml.in:332 msgid "PKCS#8 private key (encrypted)" -msgstr "" +msgstr "PKCS#8 private key (encrypted)" #: freedesktop.org.xml.in:338 msgid "PKCS#10 certification request" @@ -141,7 +141,7 @@ #: freedesktop.org.xml.in:349 msgid "certificate revocation list" -msgstr "" +msgstr "certificate revocation list" #: freedesktop.org.xml.in:353 msgid "PkiPath certification path" @@ -149,7 +149,7 @@ #: freedesktop.org.xml.in:357 msgid "PostScript document" -msgstr "" +msgstr "PostScript document" #: freedesktop.org.xml.in:367 msgid "Plucker document" @@ -232,7 +232,7 @@ #: freedesktop.org.xml.in:575 msgid "Lotus Word Pro document" -msgstr "" +msgstr "Lotus Word Pro document" #: freedesktop.org.xml.in:583 msgid "JET database" @@ -277,15 +277,15 @@ #: freedesktop.org.xml.in:691 freedesktop.org.xml.in:709 msgid "Office Open XML Visio drawing" -msgstr "" +msgstr "Office Open XML Visio drawing" #: freedesktop.org.xml.in:697 freedesktop.org.xml.in:715 msgid "Office Open XML Visio template" -msgstr "" +msgstr "Office Open XML Visio template" #: freedesktop.org.xml.in:703 freedesktop.org.xml.in:721 msgid "Office Open XML Visio stencil" -msgstr "" +msgstr "Office Open XML Visio stencil" #: freedesktop.org.xml.in:727 freedesktop.org.xml.in:769 msgid "Word document" @@ -489,7 +489,7 @@ #: freedesktop.org.xml.in:1297 msgid "network packet capture" -msgstr "" +msgstr "network packet capture" #: freedesktop.org.xml.in:1309 msgid "WordPerfect document" @@ -497,15 +497,15 @@ #: freedesktop.org.xml.in:1325 msgid "YouTube media archive" -msgstr "" +msgstr "YouTube media archive" #: freedesktop.org.xml.in:1331 msgid "SPSS portable data file" -msgstr "" +msgstr "SPSS portable data file" #: freedesktop.org.xml.in:1340 msgid "SPSS data file" -msgstr "" +msgstr "SPSS data file" #: freedesktop.org.xml.in:1352 msgid "XBEL bookmarks" @@ -614,7 +614,7 @@ #: freedesktop.org.xml.in:1599 msgid "Floppy disk image" -msgstr "" +msgstr "Floppy disk image" #: freedesktop.org.xml.in:1606 msgid "Raw disk image (XZ-compressed)" @@ -697,7 +697,7 @@ #: freedesktop.org.xml.in:1788 msgid "Dreamcast disc image" -msgstr "" +msgstr "Dreamcast disc image" #: freedesktop.org.xml.in:1793 msgid "Nintendo DS ROM" @@ -741,7 +741,7 @@ #: freedesktop.org.xml.in:1880 msgid "Qt Designer interface document" -msgstr "" +msgstr "Qt Designer interface document" #: freedesktop.org.xml.in:1890 msgid "Qt Markup Language file" @@ -913,7 +913,7 @@ #: freedesktop.org.xml.in:2278 msgid "GTK+ Builder interface document" -msgstr "" +msgstr "GTK+ Builder interface document" #: freedesktop.org.xml.in:2287 msgid "Glade project" @@ -977,11 +977,11 @@ #: freedesktop.org.xml.in:2408 msgid "Groovy source code" -msgstr "" +msgstr "Groovy source code" #: freedesktop.org.xml.in:2417 msgid "Gradle scripts" -msgstr "" +msgstr "Gradle scripts" #: freedesktop.org.xml.in:2422 msgid "JNLP file" @@ -1021,7 +1021,7 @@ #: freedesktop.org.xml.in:2513 msgid "Jupyter notebook document" -msgstr "" +msgstr "Jupyter notebook document" #: freedesktop.org.xml.in:2524 msgid "CoffeeScript document" @@ -1041,15 +1041,15 @@ #: freedesktop.org.xml.in:2570 msgid "Kexi settings" -msgstr "" +msgstr "Kexi settings" #: freedesktop.org.xml.in:2574 msgid "Kexi shortcut" -msgstr "" +msgstr "Kexi shortcut" #: freedesktop.org.xml.in:2578 freedesktop.org.xml.in:2583 msgid "Kexi database file" -msgstr "" +msgstr "Kexi database file" #: freedesktop.org.xml.in:2590 msgid "KFormula formula" @@ -1209,7 +1209,7 @@ #: freedesktop.org.xml.in:2971 msgid "COBOL source code" -msgstr "" +msgstr "COBOL source code" #: freedesktop.org.xml.in:2979 msgid "Mobipocket e-book" @@ -1257,7 +1257,7 @@ #: freedesktop.org.xml.in:3074 msgid "Neo-Geo Pocket Color ROM" -msgstr "" +msgstr "Neo-Geo Pocket Colour ROM" #. Translate this to Famicom if the console was known as such in your locale #: freedesktop.org.xml.in:3086 @@ -1282,11 +1282,11 @@ #: freedesktop.org.xml.in:3140 msgid "Annodex video" -msgstr "" +msgstr "Annodex video" #: freedesktop.org.xml.in:3153 msgid "Annodex audio" -msgstr "" +msgstr "Annodex audio" #: freedesktop.org.xml.in:3166 msgid "Ogg multimedia file" @@ -1294,11 +1294,11 @@ #: freedesktop.org.xml.in:3175 msgid "Ogg audio" -msgstr "" +msgstr "Ogg audio" #: freedesktop.org.xml.in:3186 msgid "Ogg video" -msgstr "" +msgstr "Ogg video" #: freedesktop.org.xml.in:3196 msgid "Ogg Vorbis audio" @@ -1406,7 +1406,7 @@ #: freedesktop.org.xml.in:3442 msgid "QuickTime playlist" -msgstr "" +msgstr "QuickTime playlist" #: freedesktop.org.xml.in:3457 msgid "Quicken document" @@ -1623,11 +1623,11 @@ #: freedesktop.org.xml.in:3914 msgid "Zstandard archive" -msgstr "" +msgstr "Zstandard archive" #: freedesktop.org.xml.in:3922 msgid "Tar archive (Zstandard-compressed)" -msgstr "" +msgstr "Tar archive (Zstandard-compressed)" #: freedesktop.org.xml.in:3929 msgid "PDF document (XZ-compressed)" @@ -1675,7 +1675,7 @@ #: freedesktop.org.xml.in:4008 msgid "WIM disk image" -msgstr "" +msgstr "WIM disk image" #: freedesktop.org.xml.in:4018 msgid "Dolby Digital audio" @@ -1755,7 +1755,7 @@ #: freedesktop.org.xml.in:4204 msgid "USAC audio" -msgstr "" +msgstr "USAC audio" #: freedesktop.org.xml.in:4211 msgid "MPEG-4 audio" @@ -1763,7 +1763,7 @@ #: freedesktop.org.xml.in:4221 msgid "MPEG-4 ringtone" -msgstr "" +msgstr "MPEG-4 ringtone" #: freedesktop.org.xml.in:4226 msgid "MPEG-4 video" @@ -1831,7 +1831,7 @@ #: freedesktop.org.xml.in:4439 msgid "RealMedia playlist" -msgstr "" +msgstr "RealMedia playlist" #: freedesktop.org.xml.in:4443 msgid "RealVideo document" @@ -1899,11 +1899,11 @@ #: freedesktop.org.xml.in:4565 msgid "CGM image" -msgstr "" +msgstr "CGM image" #: freedesktop.org.xml.in:4571 msgid "CCITT G3 fax image" -msgstr "" +msgstr "CCITT G3 fax image" #: freedesktop.org.xml.in:4576 msgid "GIF image" @@ -1911,7 +1911,7 @@ #: freedesktop.org.xml.in:4583 msgid "HEIF image" -msgstr "" +msgstr "HEIF image" #: freedesktop.org.xml.in:4593 msgid "IEF image" @@ -1923,7 +1923,7 @@ #: freedesktop.org.xml.in:4608 msgid "MJPEG video stream" -msgstr "" +msgstr "MJPEG video stream" #: freedesktop.org.xml.in:4616 msgid "JPEG-2000 codestream" @@ -1947,7 +1947,7 @@ #: freedesktop.org.xml.in:4668 msgid "OpenRaster image" -msgstr "" +msgstr "OpenRaster image" #: freedesktop.org.xml.in:4680 msgid "DirectDraw surface" @@ -2043,7 +2043,7 @@ #: freedesktop.org.xml.in:4908 msgid "RLE bitmap image" -msgstr "" +msgstr "RLE bitmap image" #: freedesktop.org.xml.in:4914 msgid "SVG image" @@ -2071,7 +2071,7 @@ #: freedesktop.org.xml.in:4962 msgid "MDI image" -msgstr "" +msgstr "MDI image" #: freedesktop.org.xml.in:4971 msgid "WebP image" @@ -2419,7 +2419,7 @@ #: freedesktop.org.xml.in:5674 msgid "reStructuredText document" -msgstr "" +msgstr "reStructuredText document" #: freedesktop.org.xml.in:5679 msgid "OWL XML file" @@ -2475,7 +2475,7 @@ #: freedesktop.org.xml.in:5788 msgid "WarpScript source code" -msgstr "" +msgstr "WarpScript source code" #: freedesktop.org.xml.in:5793 msgid "ACE archive" @@ -2591,7 +2591,7 @@ #: freedesktop.org.xml.in:5988 msgid "Gherkin document" -msgstr "" +msgstr "Gherkin document" #: freedesktop.org.xml.in:5993 msgid "HTML document" @@ -2599,11 +2599,11 @@ #: freedesktop.org.xml.in:6020 msgid "Web application cache file" -msgstr "" +msgstr "Web application cache file" #: freedesktop.org.xml.in:6033 msgid "Google Video Pointer shortcut" -msgstr "" +msgstr "Google Video Pointer shortcut" #: freedesktop.org.xml.in:6042 msgid "Haskell source code" @@ -2639,7 +2639,7 @@ #: freedesktop.org.xml.in:6092 msgid "Makefile build file" -msgstr "" +msgstr "Makefile build file" #: freedesktop.org.xml.in:6105 msgid "Markdown document" @@ -2655,11 +2655,11 @@ #: freedesktop.org.xml.in:6130 msgid "MOF file" -msgstr "" +msgstr "MOF file" #: freedesktop.org.xml.in:6137 msgid "Mup musical composition document" -msgstr "" +msgstr "Mup musical composition document" #: freedesktop.org.xml.in:6146 msgid "Objective-C source code" @@ -2675,7 +2675,7 @@ #: freedesktop.org.xml.in:6166 msgid "MATLAB file" -msgstr "" +msgstr "MATLAB file" #: freedesktop.org.xml.in:6181 msgid "Meson source code" @@ -2739,7 +2739,7 @@ #: freedesktop.org.xml.in:6335 msgid "SCSS pre-processor file" -msgstr "" +msgstr "SCSS pre-processor file" #: freedesktop.org.xml.in:6343 msgid "Setext document" @@ -2815,7 +2815,7 @@ #: freedesktop.org.xml.in:6533 msgid "Maven description file" -msgstr "" +msgstr "Maven description file" #: freedesktop.org.xml.in:6540 msgid "XMCD CD database" @@ -2987,7 +2987,7 @@ #: freedesktop.org.xml.in:6929 msgid "Cisco VPN settings" -msgstr "" +msgstr "Cisco VPN settings" #: freedesktop.org.xml.in:6939 msgid "ICC profile" @@ -3095,7 +3095,7 @@ #. https://github.com/ostreedev/ostree/blob/master/man/ostree-create-usb.xml #: freedesktop.org.xml.in:7102 msgid "OSTree software updates" -msgstr "" +msgstr "OSTree software updates" #. http://standards.freedesktop.org/autostart-spec/autostart-spec-latest.html #. http://bugzilla.gnome.org/show_bug.cgi?id=509823#c3 @@ -3125,11 +3125,11 @@ #: freedesktop.org.xml.in:7162 msgid "Adobe PageMaker document" -msgstr "" +msgstr "Adobe PageMaker document" #: freedesktop.org.xml.in:7172 msgid "Doom WAD file" -msgstr "" +msgstr "Doom WAD file" #: freedesktop.org.xml.in:7184 msgid "Amiga disk image" @@ -3149,7 +3149,7 @@ #: freedesktop.org.xml.in:7224 msgid "Squashfs filesystem image" -msgstr "" +msgstr "Squashfs filesystem image" #: freedesktop.org.xml.in:7251 msgid "Snap package" @@ -3157,7 +3157,7 @@ #: freedesktop.org.xml.in:7258 msgid "STL 3D model" -msgstr "" +msgstr "STL 3D model" #: freedesktop.org.xml.in:7271 msgid "G-code file" diff -Nru shared-mime-info-1.15/po/en@quot.header shared-mime-info-2.0/po/en@quot.header --- shared-mime-info-1.15/po/en@quot.header 2019-09-11 10:53:10.000000000 +0000 +++ shared-mime-info-2.0/po/en@quot.header 1970-01-01 00:00:00.000000000 +0000 @@ -1,22 +0,0 @@ -# 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. -# Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/eo.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/eo.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/es.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/es.gmo differ diff -Nru shared-mime-info-1.15/po/es.po shared-mime-info-2.0/po/es.po --- shared-mime-info-1.15/po/es.po 2019-09-20 13:21:44.000000000 +0000 +++ shared-mime-info-2.0/po/es.po 2020-05-06 14:11:14.081908500 +0000 @@ -16,8 +16,8 @@ "Project-Id-Version: shared-mime-info\n" "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/xdg/shared-mime-info/issues\n" "POT-Creation-Date: 2019-09-11 12:53+0200\n" -"PO-Revision-Date: 2019-08-20 21:02+0000\n" -"Last-Translator: hadess \n" +"PO-Revision-Date: 2019-10-24 06:24+0000\n" +"Last-Translator: Adolfo Jayme-Barrientos\n" "Language-Team: Spanish (http://www.transifex.com/freedesktop/shared-mime-info/language/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,15 +27,15 @@ #: freedesktop.org.xml.in:83 msgid "Atari 2600 ROM" -msgstr "" +msgstr "ROM de Atari 2600" #: freedesktop.org.xml.in:88 msgid "Atari 7800 ROM" -msgstr "" +msgstr "ROM de Atari 7800" #: freedesktop.org.xml.in:96 msgid "Atari Lynx ROM" -msgstr "" +msgstr "ROM de Atari Lynx" #: freedesktop.org.xml.in:104 msgid "ATK inset" @@ -55,7 +55,7 @@ #: freedesktop.org.xml.in:138 msgid "Mathematica Notebook file" -msgstr "" +msgstr "archivo de Mathematica Notebook" #: freedesktop.org.xml.in:153 msgid "MathML document" @@ -103,11 +103,11 @@ #: freedesktop.org.xml.in:251 msgid "GSM 06.10 audio" -msgstr "sonido GSM 06.10" +msgstr "audio GSM 06.10" #: freedesktop.org.xml.in:257 msgid "iRiver playlist" -msgstr "" +msgstr "lista de reproducción de iRiver" #: freedesktop.org.xml.in:264 msgid "PGP/MIME-encrypted message header" @@ -123,7 +123,7 @@ #: freedesktop.org.xml.in:310 msgid "PKCS#7 file" -msgstr "" +msgstr "archivo PKCS#7" #: freedesktop.org.xml.in:318 msgid "detached S/MIME signature" @@ -147,7 +147,7 @@ #: freedesktop.org.xml.in:349 msgid "certificate revocation list" -msgstr "" +msgstr "lista de revocación de certificados" #: freedesktop.org.xml.in:353 msgid "PkiPath certification path" @@ -155,7 +155,7 @@ #: freedesktop.org.xml.in:357 msgid "PostScript document" -msgstr "" +msgstr "documento PostScript" #: freedesktop.org.xml.in:367 msgid "Plucker document" @@ -238,7 +238,7 @@ #: freedesktop.org.xml.in:575 msgid "Lotus Word Pro document" -msgstr "" +msgstr "documento de Lotus Word Pro" #: freedesktop.org.xml.in:583 msgid "JET database" @@ -283,15 +283,15 @@ #: freedesktop.org.xml.in:691 freedesktop.org.xml.in:709 msgid "Office Open XML Visio drawing" -msgstr "" +msgstr "dibujo Office Open XML de Visio" #: freedesktop.org.xml.in:697 freedesktop.org.xml.in:715 msgid "Office Open XML Visio template" -msgstr "" +msgstr "plantilla Office Open XML de Visio" #: freedesktop.org.xml.in:703 freedesktop.org.xml.in:721 msgid "Office Open XML Visio stencil" -msgstr "" +msgstr "galería de símbolos Office Open XML de Visio" #: freedesktop.org.xml.in:727 freedesktop.org.xml.in:769 msgid "Word document" @@ -495,7 +495,7 @@ #: freedesktop.org.xml.in:1297 msgid "network packet capture" -msgstr "" +msgstr "captura de paquetes de red" #: freedesktop.org.xml.in:1309 msgid "WordPerfect document" @@ -503,15 +503,15 @@ #: freedesktop.org.xml.in:1325 msgid "YouTube media archive" -msgstr "" +msgstr "archivador multimedia de YouTube" #: freedesktop.org.xml.in:1331 msgid "SPSS portable data file" -msgstr "" +msgstr "archivo de datos portátiles de SPSS" #: freedesktop.org.xml.in:1340 msgid "SPSS data file" -msgstr "" +msgstr "archivo de datos de SPSS" #: freedesktop.org.xml.in:1352 msgid "XBEL bookmarks" @@ -703,7 +703,7 @@ #: freedesktop.org.xml.in:1788 msgid "Dreamcast disc image" -msgstr "" +msgstr "imagen de disco de Dreamcast" #: freedesktop.org.xml.in:1793 msgid "Nintendo DS ROM" @@ -747,7 +747,7 @@ #: freedesktop.org.xml.in:1880 msgid "Qt Designer interface document" -msgstr "" +msgstr "documento de interfaz de Qt Designer" #: freedesktop.org.xml.in:1890 msgid "Qt Markup Language file" @@ -919,7 +919,7 @@ #: freedesktop.org.xml.in:2278 msgid "GTK+ Builder interface document" -msgstr "" +msgstr "documento de interfaz de GTK Builder" #: freedesktop.org.xml.in:2287 msgid "Glade project" @@ -983,7 +983,7 @@ #: freedesktop.org.xml.in:2408 msgid "Groovy source code" -msgstr "" +msgstr "código fuente en Groovy" #: freedesktop.org.xml.in:2417 msgid "Gradle scripts" @@ -1027,7 +1027,7 @@ #: freedesktop.org.xml.in:2513 msgid "Jupyter notebook document" -msgstr "" +msgstr "documento de cuaderno de Jupyter" #: freedesktop.org.xml.in:2524 msgid "CoffeeScript document" @@ -1047,15 +1047,15 @@ #: freedesktop.org.xml.in:2570 msgid "Kexi settings" -msgstr "" +msgstr "configuración de Kexi" #: freedesktop.org.xml.in:2574 msgid "Kexi shortcut" -msgstr "" +msgstr "atajo de Kexi" #: freedesktop.org.xml.in:2578 freedesktop.org.xml.in:2583 msgid "Kexi database file" -msgstr "" +msgstr "archivo de base de datos de Kexi" #: freedesktop.org.xml.in:2590 msgid "KFormula formula" @@ -1191,7 +1191,7 @@ #: freedesktop.org.xml.in:2923 msgid "Matroska audio" -msgstr "sonido Matroska" +msgstr "audio Matroska" #: freedesktop.org.xml.in:2928 msgid "WebM video" @@ -1199,7 +1199,7 @@ #: freedesktop.org.xml.in:2942 msgid "WebM audio" -msgstr "sonido WebM" +msgstr "audio WebM" #: freedesktop.org.xml.in:2946 msgid "MHTML web archive" @@ -1215,7 +1215,7 @@ #: freedesktop.org.xml.in:2971 msgid "COBOL source code" -msgstr "" +msgstr "código fuente en COBOL" #: freedesktop.org.xml.in:2979 msgid "Mobipocket e-book" @@ -1288,11 +1288,11 @@ #: freedesktop.org.xml.in:3140 msgid "Annodex video" -msgstr "" +msgstr "vídeo Annodex" #: freedesktop.org.xml.in:3153 msgid "Annodex audio" -msgstr "" +msgstr "audio Annodex" #: freedesktop.org.xml.in:3166 msgid "Ogg multimedia file" @@ -1300,31 +1300,31 @@ #: freedesktop.org.xml.in:3175 msgid "Ogg audio" -msgstr "" +msgstr "audio Ogg" #: freedesktop.org.xml.in:3186 msgid "Ogg video" -msgstr "" +msgstr "vídeo Ogg" #: freedesktop.org.xml.in:3196 msgid "Ogg Vorbis audio" -msgstr "sonido Ogg Vorbis" +msgstr "audio Ogg Vorbis" #: freedesktop.org.xml.in:3209 msgid "Ogg FLAC audio" -msgstr "sonido Ogg FLAC" +msgstr "audio Ogg FLAC" #: freedesktop.org.xml.in:3224 msgid "Opus audio" -msgstr "sonido Opus" +msgstr "audio Opus" #: freedesktop.org.xml.in:3234 msgid "Ogg Speex audio" -msgstr "sonido Ogg Speex" +msgstr "audio Ogg Speex" #: freedesktop.org.xml.in:3245 msgid "Speex audio" -msgstr "sonido Speex" +msgstr "audio Speex" #: freedesktop.org.xml.in:3252 msgid "Ogg Theora video" @@ -1412,7 +1412,7 @@ #: freedesktop.org.xml.in:3442 msgid "QuickTime playlist" -msgstr "" +msgstr "lista de reproducción de QuickTime" #: freedesktop.org.xml.in:3457 msgid "Quicken document" @@ -1481,7 +1481,7 @@ #. translators: "Shorten" is the name of an audio codec #: freedesktop.org.xml.in:3607 msgid "Shorten audio" -msgstr "sonido Shorten" +msgstr "audio Shorten" #: freedesktop.org.xml.in:3616 msgid "Siag spreadsheet" @@ -1553,7 +1553,7 @@ #: freedesktop.org.xml.in:3768 msgid "SMAF audio" -msgstr "sonido SMAF" +msgstr "audio SMAF" #: freedesktop.org.xml.in:3780 msgid "MRML playlist" @@ -1561,7 +1561,7 @@ #: freedesktop.org.xml.in:3790 msgid "XMF audio" -msgstr "sonido XMF" +msgstr "audio XMF" #: freedesktop.org.xml.in:3802 msgid "SV4 CPIO archive" @@ -1681,83 +1681,83 @@ #: freedesktop.org.xml.in:4008 msgid "WIM disk image" -msgstr "" +msgstr "imagen de disco WIM" #: freedesktop.org.xml.in:4018 msgid "Dolby Digital audio" -msgstr "sonido Dolby Digital" +msgstr "audio Dolby Digital" #: freedesktop.org.xml.in:4025 msgid "DTS audio" -msgstr "sonido DTS" +msgstr "audio DTS" #: freedesktop.org.xml.in:4036 msgid "DTSHD audio" -msgstr "sonido DTSHD" +msgstr "audio DTSHD" #: freedesktop.org.xml.in:4045 msgid "AMR audio" -msgstr "sonido AMR" +msgstr "audio AMR" #: freedesktop.org.xml.in:4056 msgid "AMR-WB audio" -msgstr "sonido AMR-WB" +msgstr "audio AMR-WB" #: freedesktop.org.xml.in:4067 msgid "ULAW (Sun) audio" -msgstr "sonido ULAW (Sun)" +msgstr "audio ULAW (Sun)" #: freedesktop.org.xml.in:4075 msgid "Commodore 64 audio" -msgstr "sonido de Commodore 64" +msgstr "audio de Commodore 64" #: freedesktop.org.xml.in:4083 msgid "PCM audio" -msgstr "sonido PCM" +msgstr "audio PCM" #: freedesktop.org.xml.in:4101 msgid "AIFC audio" -msgstr "sonido AIFC" +msgstr "audio AIFC" #: freedesktop.org.xml.in:4113 msgid "AIFF/Amiga/Mac audio" -msgstr "sonido AIFF/Amiga/Mac" +msgstr "audio AIFF/Amiga/Mac" #: freedesktop.org.xml.in:4125 msgid "Monkey's audio" -msgstr "sonido de Monkey" +msgstr "audio de Monkey" #: freedesktop.org.xml.in:4132 msgid "Audible.Com audio" -msgstr "sonido de Audible.com" +msgstr "audio de Audible.com" #: freedesktop.org.xml.in:4144 msgid "Impulse Tracker audio" -msgstr "sonido de Impulse Tracker" +msgstr "audio de Impulse Tracker" #: freedesktop.org.xml.in:4151 msgid "FLAC audio" -msgstr "sonido FLAC" +msgstr "audio FLAC" #: freedesktop.org.xml.in:4159 msgid "WavPack audio" -msgstr "sonido WavPack" +msgstr "audio WavPack" #: freedesktop.org.xml.in:4167 msgid "WavPack audio correction file" -msgstr "archivo de corrección de sonido WavPack" +msgstr "archivo de corrección de audio WavPack" #: freedesktop.org.xml.in:4174 msgid "MIDI audio" -msgstr "sonido MIDI" +msgstr "audio MIDI" #: freedesktop.org.xml.in:4184 msgid "compressed Tracker audio" -msgstr "sonido de Tracker comprimido" +msgstr "audio de Tracker comprimido" #: freedesktop.org.xml.in:4191 msgid "AAC audio" -msgstr "sonido AAC" +msgstr "audio AAC" #: freedesktop.org.xml.in:4204 msgid "USAC audio" @@ -1765,11 +1765,11 @@ #: freedesktop.org.xml.in:4211 msgid "MPEG-4 audio" -msgstr "sonido MPEG-4" +msgstr "audio MPEG-4" #: freedesktop.org.xml.in:4221 msgid "MPEG-4 ringtone" -msgstr "" +msgstr "tono de llamada MPEG-4" #: freedesktop.org.xml.in:4226 msgid "MPEG-4 video" @@ -1789,19 +1789,19 @@ #: freedesktop.org.xml.in:4288 msgid "Amiga SoundTracker audio" -msgstr "sonido de Amiga SoundTracker" +msgstr "audio de Amiga SoundTracker" #: freedesktop.org.xml.in:4332 msgid "MP2 audio" -msgstr "sonido MP2" +msgstr "audio MP2" #: freedesktop.org.xml.in:4337 msgid "MP3 audio" -msgstr "sonido MP3" +msgstr "audio MP3" #: freedesktop.org.xml.in:4350 msgid "MP3 audio (streamed)" -msgstr "sonido MP3 (en transmisión)" +msgstr "audio MP3 (en continuo)" #: freedesktop.org.xml.in:4365 msgid "HTTP Live Streaming playlist" @@ -1813,23 +1813,23 @@ #: freedesktop.org.xml.in:4394 msgid "PSF audio" -msgstr "sonido PSF" +msgstr "audio PSF" #: freedesktop.org.xml.in:4403 msgid "MiniPSF audio" -msgstr "sonido MiniPSF" +msgstr "audio MiniPSF" #: freedesktop.org.xml.in:4410 msgid "PSFlib audio library" -msgstr "biblioteca de sonido PSFlib" +msgstr "biblioteca de audio PSFlib" #: freedesktop.org.xml.in:4417 msgid "Windows Media audio" -msgstr "sonido de Windows Media" +msgstr "audio de Windows Media" #: freedesktop.org.xml.in:4423 msgid "Musepack audio" -msgstr "sonido Musepack" +msgstr "audio Musepack" #: freedesktop.org.xml.in:4432 msgid "RealAudio document" @@ -1837,7 +1837,7 @@ #: freedesktop.org.xml.in:4439 msgid "RealMedia playlist" -msgstr "" +msgstr "lista de reproducción de RealMedia" #: freedesktop.org.xml.in:4443 msgid "RealVideo document" @@ -1857,7 +1857,7 @@ #: freedesktop.org.xml.in:4471 msgid "RIFF audio" -msgstr "sonido RIFF" +msgstr "audio RIFF" #: freedesktop.org.xml.in:4474 msgid "RIFF container" @@ -1865,7 +1865,7 @@ #: freedesktop.org.xml.in:4481 msgid "Scream Tracker 3 audio" -msgstr "sonido Scream Tracker 3" +msgstr "audio Scream Tracker 3" #: freedesktop.org.xml.in:4488 msgid "MP3 ShoutCast playlist" @@ -1873,15 +1873,15 @@ #: freedesktop.org.xml.in:4499 msgid "Scream Tracker audio" -msgstr "sonido Scream Tracker" +msgstr "audio Scream Tracker" #: freedesktop.org.xml.in:4508 msgid "VOC audio" -msgstr "sonido VOC" +msgstr "audio VOC" #: freedesktop.org.xml.in:4512 msgid "WAV audio" -msgstr "sonido WAV" +msgstr "audio WAV" #: freedesktop.org.xml.in:4522 msgid "Scream Tracker instrument" @@ -1889,11 +1889,11 @@ #: freedesktop.org.xml.in:4529 msgid "FastTracker II audio" -msgstr "sonido FastTracker II" +msgstr "audio FastTracker II" #: freedesktop.org.xml.in:4536 msgid "TrueAudio audio" -msgstr "sonido TrueAudio" +msgstr "audio TrueAudio" #: freedesktop.org.xml.in:4544 msgid "Windows BMP image" @@ -1905,11 +1905,11 @@ #: freedesktop.org.xml.in:4565 msgid "CGM image" -msgstr "" +msgstr "imagen CGM" #: freedesktop.org.xml.in:4571 msgid "CCITT G3 fax image" -msgstr "" +msgstr "imagen de fax CCITT G3" #: freedesktop.org.xml.in:4576 msgid "GIF image" @@ -1953,7 +1953,7 @@ #: freedesktop.org.xml.in:4668 msgid "OpenRaster image" -msgstr "" +msgstr "imagen OpenRaster" #: freedesktop.org.xml.in:4680 msgid "DirectDraw surface" @@ -2049,7 +2049,7 @@ #: freedesktop.org.xml.in:4908 msgid "RLE bitmap image" -msgstr "" +msgstr "imagen de mapa de bits RLE" #: freedesktop.org.xml.in:4914 msgid "SVG image" @@ -2077,7 +2077,7 @@ #: freedesktop.org.xml.in:4962 msgid "MDI image" -msgstr "" +msgstr "imagen MDI" #: freedesktop.org.xml.in:4971 msgid "WebP image" @@ -2597,7 +2597,7 @@ #: freedesktop.org.xml.in:5988 msgid "Gherkin document" -msgstr "" +msgstr "documento de Gherkin" #: freedesktop.org.xml.in:5993 msgid "HTML document" @@ -2605,11 +2605,11 @@ #: freedesktop.org.xml.in:6020 msgid "Web application cache file" -msgstr "" +msgstr "archivo de antememoria de aplicación web" #: freedesktop.org.xml.in:6033 msgid "Google Video Pointer shortcut" -msgstr "" +msgstr "atajo de Google Video Pointer" #: freedesktop.org.xml.in:6042 msgid "Haskell source code" @@ -2645,7 +2645,7 @@ #: freedesktop.org.xml.in:6092 msgid "Makefile build file" -msgstr "" +msgstr "archivo de generación Makefile" #: freedesktop.org.xml.in:6105 msgid "Markdown document" @@ -2661,11 +2661,11 @@ #: freedesktop.org.xml.in:6130 msgid "MOF file" -msgstr "" +msgstr "archivo MOF" #: freedesktop.org.xml.in:6137 msgid "Mup musical composition document" -msgstr "" +msgstr "documento de composición musical de Mup" #: freedesktop.org.xml.in:6146 msgid "Objective-C source code" @@ -2681,7 +2681,7 @@ #: freedesktop.org.xml.in:6166 msgid "MATLAB file" -msgstr "" +msgstr "archivo de MATLAB" #: freedesktop.org.xml.in:6181 msgid "Meson source code" @@ -2745,7 +2745,7 @@ #: freedesktop.org.xml.in:6335 msgid "SCSS pre-processor file" -msgstr "" +msgstr "archivo de preprocesador SCSS" #: freedesktop.org.xml.in:6343 msgid "Setext document" @@ -2993,7 +2993,7 @@ #: freedesktop.org.xml.in:6929 msgid "Cisco VPN settings" -msgstr "" +msgstr "configuración de Cisco VPN" #: freedesktop.org.xml.in:6939 msgid "ICC profile" @@ -3042,7 +3042,7 @@ #. http://en.wikipedia.org/wiki/Red_Book_(audio_CD_standard) #: freedesktop.org.xml.in:7023 msgid "audio CD" -msgstr "CD de sonido" +msgstr "CD de audio" #. http://en.wikipedia.org/wiki/Compact_Disc #: freedesktop.org.xml.in:7028 @@ -3067,7 +3067,7 @@ #. http://en.wikipedia.org/wiki/DVD-Audio #: freedesktop.org.xml.in:7048 msgid "audio DVD" -msgstr "DVD de sonido" +msgstr "DVD de audio" #. http://en.wikipedia.org/wiki/Blu-ray_Disc #. http://www.blu-raydisc.com/Section-13470/Section-13890/Index.html @@ -3096,12 +3096,12 @@ #. see fd.o hal spec #: freedesktop.org.xml.in:7097 msgid "portable audio player" -msgstr "dispositivo de sonido portátil" +msgstr "reproductor de audio portátil" #. https://github.com/ostreedev/ostree/blob/master/man/ostree-create-usb.xml #: freedesktop.org.xml.in:7102 msgid "OSTree software updates" -msgstr "" +msgstr "actualizaciones de programas de OSTree" #. http://standards.freedesktop.org/autostart-spec/autostart-spec-latest.html #. http://bugzilla.gnome.org/show_bug.cgi?id=509823#c3 @@ -3131,11 +3131,11 @@ #: freedesktop.org.xml.in:7162 msgid "Adobe PageMaker document" -msgstr "" +msgstr "documento de Adobe PageMaker" #: freedesktop.org.xml.in:7172 msgid "Doom WAD file" -msgstr "" +msgstr "archivo WAD de Doom" #: freedesktop.org.xml.in:7184 msgid "Amiga disk image" @@ -3155,7 +3155,7 @@ #: freedesktop.org.xml.in:7224 msgid "Squashfs filesystem image" -msgstr "" +msgstr "imagen de sistema de archivos de Squashfs" #: freedesktop.org.xml.in:7251 msgid "Snap package" Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/et.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/et.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/eu.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/eu.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/fa.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/fa.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/fi.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/fi.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/fo.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/fo.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/fr.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/fr.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/fur.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/fur.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/ga.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/ga.gmo differ diff -Nru shared-mime-info-1.15/po/.gitignore shared-mime-info-2.0/po/.gitignore --- shared-mime-info-1.15/po/.gitignore 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/po/.gitignore 2020-05-06 14:11:14.042908700 +0000 @@ -0,0 +1,6 @@ +*.gmo +Makefile.in.in +stamp-it +.intltool-merge-cache +POTFILES +*.pot Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/gl.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/gl.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/gu.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/gu.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/he.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/he.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/hi.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/hi.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/hr.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/hr.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/hu.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/hu.gmo differ diff -Nru shared-mime-info-1.15/po/hu.po shared-mime-info-2.0/po/hu.po --- shared-mime-info-1.15/po/hu.po 2019-09-20 13:22:16.000000000 +0000 +++ shared-mime-info-2.0/po/hu.po 2020-05-06 14:11:14.106908300 +0000 @@ -3,7 +3,7 @@ # This file is distributed under the same license as the shared-mime-info package. # # Translators: -# Balázs Meskó , 2016-2018 +# Balázs Meskó , 2016-2019 # Balázs Úr, 2019 # Balázs Úr, 2014-2015,2018 # kelemeng , 2013 @@ -15,8 +15,8 @@ "Project-Id-Version: shared-mime-info\n" "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/xdg/shared-mime-info/issues\n" "POT-Creation-Date: 2019-09-11 12:53+0200\n" -"PO-Revision-Date: 2019-08-20 21:02+0000\n" -"Last-Translator: hadess \n" +"PO-Revision-Date: 2019-10-31 14:43+0000\n" +"Last-Translator: Balázs Meskó \n" "Language-Team: Hungarian (http://www.transifex.com/freedesktop/shared-mime-info/language/hu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -26,15 +26,15 @@ #: freedesktop.org.xml.in:83 msgid "Atari 2600 ROM" -msgstr "" +msgstr "Atari 2600 ROM" #: freedesktop.org.xml.in:88 msgid "Atari 7800 ROM" -msgstr "" +msgstr "Atari 7800 ROM" #: freedesktop.org.xml.in:96 msgid "Atari Lynx ROM" -msgstr "" +msgstr "Atari Lynx ROM" #: freedesktop.org.xml.in:104 msgid "ATK inset" @@ -54,7 +54,7 @@ #: freedesktop.org.xml.in:138 msgid "Mathematica Notebook file" -msgstr "" +msgstr "Mathematica munkafüzetfájl" #: freedesktop.org.xml.in:153 msgid "MathML document" @@ -106,7 +106,7 @@ #: freedesktop.org.xml.in:257 msgid "iRiver playlist" -msgstr "" +msgstr "iRiver lejátszólista" #: freedesktop.org.xml.in:264 msgid "PGP/MIME-encrypted message header" @@ -122,7 +122,7 @@ #: freedesktop.org.xml.in:310 msgid "PKCS#7 file" -msgstr "" +msgstr "PKCS#7 fájl" #: freedesktop.org.xml.in:318 msgid "detached S/MIME signature" @@ -146,7 +146,7 @@ #: freedesktop.org.xml.in:349 msgid "certificate revocation list" -msgstr "" +msgstr "tanúsítvány visszavonási lista" #: freedesktop.org.xml.in:353 msgid "PkiPath certification path" @@ -154,7 +154,7 @@ #: freedesktop.org.xml.in:357 msgid "PostScript document" -msgstr "" +msgstr "PostScript dokumentum" #: freedesktop.org.xml.in:367 msgid "Plucker document" @@ -237,7 +237,7 @@ #: freedesktop.org.xml.in:575 msgid "Lotus Word Pro document" -msgstr "" +msgstr "Lotus Word Pro dokumentum" #: freedesktop.org.xml.in:583 msgid "JET database" @@ -282,15 +282,15 @@ #: freedesktop.org.xml.in:691 freedesktop.org.xml.in:709 msgid "Office Open XML Visio drawing" -msgstr "" +msgstr "Office Open XML Visio rajz" #: freedesktop.org.xml.in:697 freedesktop.org.xml.in:715 msgid "Office Open XML Visio template" -msgstr "" +msgstr "Office Open XML Visio sablon" #: freedesktop.org.xml.in:703 freedesktop.org.xml.in:721 msgid "Office Open XML Visio stencil" -msgstr "" +msgstr "Office Open XML Visio stencil" #: freedesktop.org.xml.in:727 freedesktop.org.xml.in:769 msgid "Word document" @@ -494,7 +494,7 @@ #: freedesktop.org.xml.in:1297 msgid "network packet capture" -msgstr "" +msgstr "hálózaticsomag-rögzítés" #: freedesktop.org.xml.in:1309 msgid "WordPerfect document" @@ -502,15 +502,15 @@ #: freedesktop.org.xml.in:1325 msgid "YouTube media archive" -msgstr "" +msgstr "YouTube médiaarchívum" #: freedesktop.org.xml.in:1331 msgid "SPSS portable data file" -msgstr "" +msgstr "SPSS hordozható adatfájl" #: freedesktop.org.xml.in:1340 msgid "SPSS data file" -msgstr "" +msgstr "SPSS adatfájl" #: freedesktop.org.xml.in:1352 msgid "XBEL bookmarks" @@ -702,7 +702,7 @@ #: freedesktop.org.xml.in:1788 msgid "Dreamcast disc image" -msgstr "" +msgstr "Dreamcast lemezkép" #: freedesktop.org.xml.in:1793 msgid "Nintendo DS ROM" @@ -746,7 +746,7 @@ #: freedesktop.org.xml.in:1880 msgid "Qt Designer interface document" -msgstr "" +msgstr "Qt Designer felületleíró dokumentum" #: freedesktop.org.xml.in:1890 msgid "Qt Markup Language file" @@ -918,7 +918,7 @@ #: freedesktop.org.xml.in:2278 msgid "GTK+ Builder interface document" -msgstr "" +msgstr "GTK+ Builder felületleíró dokumentum" #: freedesktop.org.xml.in:2287 msgid "Glade project" @@ -982,7 +982,7 @@ #: freedesktop.org.xml.in:2408 msgid "Groovy source code" -msgstr "" +msgstr "Groovy forráskód" #: freedesktop.org.xml.in:2417 msgid "Gradle scripts" @@ -1026,7 +1026,7 @@ #: freedesktop.org.xml.in:2513 msgid "Jupyter notebook document" -msgstr "" +msgstr "Jupyter munkafüzet dokumentum" #: freedesktop.org.xml.in:2524 msgid "CoffeeScript document" @@ -1046,15 +1046,15 @@ #: freedesktop.org.xml.in:2570 msgid "Kexi settings" -msgstr "" +msgstr "Kexi beállítások" #: freedesktop.org.xml.in:2574 msgid "Kexi shortcut" -msgstr "" +msgstr "Kexi parancsiko" #: freedesktop.org.xml.in:2578 freedesktop.org.xml.in:2583 msgid "Kexi database file" -msgstr "" +msgstr "Kexi adatbázisfájl" #: freedesktop.org.xml.in:2590 msgid "KFormula formula" @@ -1214,7 +1214,7 @@ #: freedesktop.org.xml.in:2971 msgid "COBOL source code" -msgstr "" +msgstr "COBOL forráskód" #: freedesktop.org.xml.in:2979 msgid "Mobipocket e-book" @@ -1287,11 +1287,11 @@ #: freedesktop.org.xml.in:3140 msgid "Annodex video" -msgstr "" +msgstr "Annodex videó" #: freedesktop.org.xml.in:3153 msgid "Annodex audio" -msgstr "" +msgstr "Annodex hang" #: freedesktop.org.xml.in:3166 msgid "Ogg multimedia file" @@ -1299,11 +1299,11 @@ #: freedesktop.org.xml.in:3175 msgid "Ogg audio" -msgstr "" +msgstr "Ogg hang" #: freedesktop.org.xml.in:3186 msgid "Ogg video" -msgstr "" +msgstr "Ogg videó" #: freedesktop.org.xml.in:3196 msgid "Ogg Vorbis audio" @@ -1411,7 +1411,7 @@ #: freedesktop.org.xml.in:3442 msgid "QuickTime playlist" -msgstr "" +msgstr "QuickTime lejátszólista" #: freedesktop.org.xml.in:3457 msgid "Quicken document" @@ -1680,7 +1680,7 @@ #: freedesktop.org.xml.in:4008 msgid "WIM disk image" -msgstr "" +msgstr "WIM lemezkép" #: freedesktop.org.xml.in:4018 msgid "Dolby Digital audio" @@ -1768,7 +1768,7 @@ #: freedesktop.org.xml.in:4221 msgid "MPEG-4 ringtone" -msgstr "" +msgstr "MPEG-4 csengÅ‘hang" #: freedesktop.org.xml.in:4226 msgid "MPEG-4 video" @@ -1836,7 +1836,7 @@ #: freedesktop.org.xml.in:4439 msgid "RealMedia playlist" -msgstr "" +msgstr "RealMedia lejátszólista" #: freedesktop.org.xml.in:4443 msgid "RealVideo document" @@ -1904,11 +1904,11 @@ #: freedesktop.org.xml.in:4565 msgid "CGM image" -msgstr "" +msgstr "CGM-kép" #: freedesktop.org.xml.in:4571 msgid "CCITT G3 fax image" -msgstr "" +msgstr "CCITT G3-faxkép" #: freedesktop.org.xml.in:4576 msgid "GIF image" @@ -1952,7 +1952,7 @@ #: freedesktop.org.xml.in:4668 msgid "OpenRaster image" -msgstr "" +msgstr "OpenRaster kép" #: freedesktop.org.xml.in:4680 msgid "DirectDraw surface" @@ -2048,7 +2048,7 @@ #: freedesktop.org.xml.in:4908 msgid "RLE bitmap image" -msgstr "" +msgstr "RLE bitkép" #: freedesktop.org.xml.in:4914 msgid "SVG image" @@ -2076,7 +2076,7 @@ #: freedesktop.org.xml.in:4962 msgid "MDI image" -msgstr "" +msgstr "MDI-kép" #: freedesktop.org.xml.in:4971 msgid "WebP image" @@ -2596,7 +2596,7 @@ #: freedesktop.org.xml.in:5988 msgid "Gherkin document" -msgstr "" +msgstr "Gherkin dokumentum" #: freedesktop.org.xml.in:5993 msgid "HTML document" @@ -2604,11 +2604,11 @@ #: freedesktop.org.xml.in:6020 msgid "Web application cache file" -msgstr "" +msgstr "Webalkalmazás gyorsítótárfájl" #: freedesktop.org.xml.in:6033 msgid "Google Video Pointer shortcut" -msgstr "" +msgstr "Google Video Pointer parancsikon" #: freedesktop.org.xml.in:6042 msgid "Haskell source code" @@ -2644,7 +2644,7 @@ #: freedesktop.org.xml.in:6092 msgid "Makefile build file" -msgstr "" +msgstr "Makefile összeállítási fájl" #: freedesktop.org.xml.in:6105 msgid "Markdown document" @@ -2660,11 +2660,11 @@ #: freedesktop.org.xml.in:6130 msgid "MOF file" -msgstr "" +msgstr "MOF fájl" #: freedesktop.org.xml.in:6137 msgid "Mup musical composition document" -msgstr "" +msgstr "Mup zenei kompozíciós dokumentum" #: freedesktop.org.xml.in:6146 msgid "Objective-C source code" @@ -2680,7 +2680,7 @@ #: freedesktop.org.xml.in:6166 msgid "MATLAB file" -msgstr "" +msgstr "MATLAB fájl" #: freedesktop.org.xml.in:6181 msgid "Meson source code" @@ -2744,7 +2744,7 @@ #: freedesktop.org.xml.in:6335 msgid "SCSS pre-processor file" -msgstr "" +msgstr "SCSS elÅ‘feldolgozófájl" #: freedesktop.org.xml.in:6343 msgid "Setext document" @@ -2992,7 +2992,7 @@ #: freedesktop.org.xml.in:6929 msgid "Cisco VPN settings" -msgstr "" +msgstr "Cisco VPN beállítások" #: freedesktop.org.xml.in:6939 msgid "ICC profile" @@ -3100,7 +3100,7 @@ #. https://github.com/ostreedev/ostree/blob/master/man/ostree-create-usb.xml #: freedesktop.org.xml.in:7102 msgid "OSTree software updates" -msgstr "" +msgstr "OSTree szoftverfrissítések" #. http://standards.freedesktop.org/autostart-spec/autostart-spec-latest.html #. http://bugzilla.gnome.org/show_bug.cgi?id=509823#c3 @@ -3130,11 +3130,11 @@ #: freedesktop.org.xml.in:7162 msgid "Adobe PageMaker document" -msgstr "" +msgstr "Adobe PageMaker dokumentum" #: freedesktop.org.xml.in:7172 msgid "Doom WAD file" -msgstr "" +msgstr "Doom WAD fájl" #: freedesktop.org.xml.in:7184 msgid "Amiga disk image" @@ -3154,7 +3154,7 @@ #: freedesktop.org.xml.in:7224 msgid "Squashfs filesystem image" -msgstr "" +msgstr "Squashfs fájlrenszerkép" #: freedesktop.org.xml.in:7251 msgid "Snap package" Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/ia.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/ia.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/id.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/id.gmo differ diff -Nru shared-mime-info-1.15/po/insert-header.sin shared-mime-info-2.0/po/insert-header.sin --- shared-mime-info-1.15/po/insert-header.sin 2019-09-11 10:53:10.000000000 +0000 +++ shared-mime-info-2.0/po/insert-header.sin 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ -# 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 -} Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/it.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/it.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/ja.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/ja.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/ka.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/ka.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/kk.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/kk.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/kn.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/kn.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/ko.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/ko.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/ky.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/ky.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/lt.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/lt.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/lv.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/lv.gmo differ diff -Nru shared-mime-info-1.15/po/Makefile.in.in shared-mime-info-2.0/po/Makefile.in.in --- shared-mime-info-1.15/po/Makefile.in.in 2019-09-11 10:53:10.000000000 +0000 +++ shared-mime-info-2.0/po/Makefile.in.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,483 +0,0 @@ -# Makefile for PO directory in any package using GNU gettext. -# Copyright (C) 1995-1997, 2000-2007, 2009-2010 by Ulrich Drepper -# -# Copying and distribution of this file, with or without modification, -# are permitted in any medium without royalty provided the copyright -# notice and this notice are preserved. This file is offered as-is, -# without any warranty. -# -# Origin: gettext-0.19.8 -GETTEXT_MACRO_VERSION = 0.19 - -PACKAGE = @PACKAGE@ -VERSION = @VERSION@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ - -SED = @SED@ -SHELL = /bin/sh -@SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ - -prefix = @prefix@ -exec_prefix = @exec_prefix@ -datarootdir = @datarootdir@ -datadir = @datadir@ -localedir = @localedir@ -gettextsrcdir = $(datadir)/gettext/po - -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ - -# We use $(mkdir_p). -# In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as -# "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions, -# @install_sh@ does not start with $(SHELL), so we add it. -# In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined -# either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake -# versions, $(mkinstalldirs) and $(install_sh) are unused. -mkinstalldirs = $(SHELL) @install_sh@ -d -install_sh = $(SHELL) @install_sh@ -MKDIR_P = @MKDIR_P@ -mkdir_p = @mkdir_p@ - -# When building gettext-tools, we prefer to use the built programs -# rather than installed programs. However, we can't do that when we -# are cross compiling. -CROSS_COMPILING = @CROSS_COMPILING@ - -GMSGFMT_ = @GMSGFMT@ -GMSGFMT_no = @GMSGFMT@ -GMSGFMT_yes = @GMSGFMT_015@ -GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT)) -MSGFMT_ = @MSGFMT@ -MSGFMT_no = @MSGFMT@ -MSGFMT_yes = @MSGFMT_015@ -MSGFMT = $(MSGFMT_$(USE_MSGCTXT)) -XGETTEXT_ = @XGETTEXT@ -XGETTEXT_no = @XGETTEXT@ -XGETTEXT_yes = @XGETTEXT_015@ -XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT)) -MSGMERGE = msgmerge -MSGMERGE_UPDATE = @MSGMERGE@ --update -MSGINIT = msginit -MSGCONV = msgconv -MSGFILTER = msgfilter - -POFILES = @POFILES@ -GMOFILES = @GMOFILES@ -UPDATEPOFILES = @UPDATEPOFILES@ -DUMMYPOFILES = @DUMMYPOFILES@ -DISTFILES.common = Makefile.in.in remove-potcdate.sin \ -$(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3) -DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \ -$(POFILES) $(GMOFILES) \ -$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3) - -POTFILES = \ - -CATALOGS = @CATALOGS@ - -POFILESDEPS_ = $(srcdir)/$(DOMAIN).pot -POFILESDEPS_yes = $(POFILESDEPS_) -POFILESDEPS_no = -POFILESDEPS = $(POFILESDEPS_$(PO_DEPENDS_ON_POT)) - -DISTFILESDEPS_ = update-po -DISTFILESDEPS_yes = $(DISTFILESDEPS_) -DISTFILESDEPS_no = -DISTFILESDEPS = $(DISTFILESDEPS_$(DIST_DEPENDS_ON_UPDATE_PO)) - -# Makevars gets inserted here. (Don't remove this line!) - -.SUFFIXES: -.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update - -.po.mo: - @echo "$(MSGFMT) -c -o $@ $<"; \ - $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ - -.po.gmo: - @lang=`echo $* | sed -e 's,.*/,,'`; \ - test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ - echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.po"; \ - cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo - -.sin.sed: - sed -e '/^#/d' $< > t-$@ - mv t-$@ $@ - - -all: all-@USE_NLS@ - -all-yes: stamp-po -all-no: - -# Ensure that the gettext macros and this Makefile.in.in are in sync. -CHECK_MACRO_VERSION = \ - test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \ - || { echo "*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version $(GETTEXT_MACRO_VERSION) but the autoconf macros are from gettext version @GETTEXT_MACRO_VERSION@" 1>&2; \ - exit 1; \ - } - -# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no -# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because -# we don't want to bother translators with empty POT files). We assume that -# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty. -# In this case, stamp-po is a nop (i.e. a phony target). - -# stamp-po is a timestamp denoting the last time at which the CATALOGS have -# been loosely updated. Its purpose is that when a developer or translator -# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, -# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent -# invocations of "make" will do nothing. This timestamp would not be necessary -# if updating the $(CATALOGS) would always touch them; however, the rule for -# $(POFILES) has been designed to not touch files that don't need to be -# changed. -stamp-po: $(srcdir)/$(DOMAIN).pot - @$(CHECK_MACRO_VERSION) - test ! -f $(srcdir)/$(DOMAIN).pot || \ - test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) - @test ! -f $(srcdir)/$(DOMAIN).pot || { \ - echo "touch stamp-po" && \ - echo timestamp > stamp-poT && \ - mv stamp-poT stamp-po; \ - } - -# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', -# otherwise packages like GCC can not be built if only parts of the source -# have been downloaded. - -# This target rebuilds $(DOMAIN).pot; it is an expensive operation. -# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. -# The determination of whether the package xyz is a GNU one is based on the -# heuristic whether some file in the top level directory mentions "GNU xyz". -# If GNU 'find' is available, we avoid grepping through monster files. -$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed - package_gnu="$(PACKAGE_GNU)"; \ - test -n "$$package_gnu" || { \ - if { if (LC_ALL=C find --version) 2>/dev/null | grep GNU >/dev/null; then \ - LC_ALL=C find -L $(top_srcdir) -maxdepth 1 -type f \ - -size -10000000c -exec grep 'GNU @PACKAGE@' \ - /dev/null '{}' ';' 2>/dev/null; \ - else \ - LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null; \ - fi; \ - } | grep -v 'libtool:' >/dev/null; then \ - package_gnu=yes; \ - else \ - package_gnu=no; \ - fi; \ - }; \ - if test "$$package_gnu" = "yes"; then \ - package_prefix='GNU '; \ - else \ - package_prefix=''; \ - fi; \ - if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \ - msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ - else \ - msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ - fi; \ - case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \ - $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ - --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ - --files-from=$(srcdir)/POTFILES.in \ - --copyright-holder='$(COPYRIGHT_HOLDER)' \ - --msgid-bugs-address="$$msgid_bugs_address" \ - ;; \ - *) \ - $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ - --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ - --files-from=$(srcdir)/POTFILES.in \ - --copyright-holder='$(COPYRIGHT_HOLDER)' \ - --package-name="$${package_prefix}@PACKAGE@" \ - --package-version='@VERSION@' \ - --msgid-bugs-address="$$msgid_bugs_address" \ - ;; \ - esac - test ! -f $(DOMAIN).po || { \ - if test -f $(srcdir)/$(DOMAIN).pot-header; then \ - sed -e '1,/^#$$/d' < $(DOMAIN).po > $(DOMAIN).1po && \ - cat $(srcdir)/$(DOMAIN).pot-header $(DOMAIN).1po > $(DOMAIN).po; \ - rm -f $(DOMAIN).1po; \ - fi; \ - if test -f $(srcdir)/$(DOMAIN).pot; then \ - sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ - sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ - if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ - rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ - else \ - rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ - mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ - fi; \ - else \ - mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ - fi; \ - } - -# This rule has no dependencies: we don't need to update $(DOMAIN).pot at -# every "make" invocation, only create it when it is missing. -# Only "make $(DOMAIN).pot-update" or "make dist" will force an update. -$(srcdir)/$(DOMAIN).pot: - $(MAKE) $(DOMAIN).pot-update - -# This target rebuilds a PO file if $(DOMAIN).pot has changed. -# Note that a PO file is not touched if it doesn't need to be changed. -$(POFILES): $(POFILESDEPS) - @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ - if test -f "$(srcdir)/$${lang}.po"; then \ - test -f $(srcdir)/$(DOMAIN).pot || $(MAKE) $(srcdir)/$(DOMAIN).pot; \ - test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ - echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \ - cd $(srcdir) \ - && { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ - $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \ - *) \ - $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \ - esac; \ - }; \ - else \ - $(MAKE) $${lang}.po-create; \ - fi - - -install: install-exec install-data -install-exec: -install-data: install-data-@USE_NLS@ - if test "$(PACKAGE)" = "gettext-tools"; then \ - $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ - for file in $(DISTFILES.common) Makevars.template; do \ - $(INSTALL_DATA) $(srcdir)/$$file \ - $(DESTDIR)$(gettextsrcdir)/$$file; \ - done; \ - for file in Makevars; do \ - rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ - done; \ - else \ - : ; \ - fi -install-data-no: all -install-data-yes: all - @catalogs='$(CATALOGS)'; \ - for cat in $$catalogs; do \ - cat=`basename $$cat`; \ - lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ - dir=$(localedir)/$$lang/LC_MESSAGES; \ - $(mkdir_p) $(DESTDIR)$$dir; \ - if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ - $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ - echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ - for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ - if test -n "$$lc"; then \ - if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ - link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ - mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ - mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ - (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ - for file in *; do \ - if test -f $$file; then \ - ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ - fi; \ - done); \ - rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ - else \ - if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ - :; \ - else \ - rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ - mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ - fi; \ - fi; \ - rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ - ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ - ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ - cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ - echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \ - fi; \ - done; \ - done - -install-strip: install - -installdirs: installdirs-exec installdirs-data -installdirs-exec: -installdirs-data: installdirs-data-@USE_NLS@ - if test "$(PACKAGE)" = "gettext-tools"; then \ - $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ - else \ - : ; \ - fi -installdirs-data-no: -installdirs-data-yes: - @catalogs='$(CATALOGS)'; \ - for cat in $$catalogs; do \ - cat=`basename $$cat`; \ - lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ - dir=$(localedir)/$$lang/LC_MESSAGES; \ - $(mkdir_p) $(DESTDIR)$$dir; \ - for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ - if test -n "$$lc"; then \ - if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ - link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ - mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ - mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ - (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ - for file in *; do \ - if test -f $$file; then \ - ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ - fi; \ - done); \ - rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ - else \ - if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ - :; \ - else \ - rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ - mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ - fi; \ - fi; \ - fi; \ - done; \ - done - -# Define this as empty until I found a useful application. -installcheck: - -uninstall: uninstall-exec uninstall-data -uninstall-exec: -uninstall-data: uninstall-data-@USE_NLS@ - if test "$(PACKAGE)" = "gettext-tools"; then \ - for file in $(DISTFILES.common) Makevars.template; do \ - rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ - done; \ - else \ - : ; \ - fi -uninstall-data-no: -uninstall-data-yes: - catalogs='$(CATALOGS)'; \ - for cat in $$catalogs; do \ - cat=`basename $$cat`; \ - lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ - for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \ - rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ - done; \ - done - -check: all - -info dvi ps pdf html tags TAGS ctags CTAGS ID: - -mostlyclean: - rm -f remove-potcdate.sed - rm -f stamp-poT - rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po - rm -fr *.o - -clean: mostlyclean - -distclean: clean - rm -f Makefile Makefile.in POTFILES *.mo - -maintainer-clean: distclean - @echo "This command is intended for maintainers to use;" - @echo "it deletes files that may require special tools to rebuild." - rm -f stamp-po $(GMOFILES) - -distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) -dist distdir: - test -z "$(DISTFILESDEPS)" || $(MAKE) $(DISTFILESDEPS) - @$(MAKE) dist2 -# This is a separate target because 'update-po' must be executed before. -dist2: stamp-po $(DISTFILES) - dists="$(DISTFILES)"; \ - if test "$(PACKAGE)" = "gettext-tools"; then \ - dists="$$dists Makevars.template"; \ - fi; \ - if test -f $(srcdir)/$(DOMAIN).pot; then \ - dists="$$dists $(DOMAIN).pot stamp-po"; \ - fi; \ - if test -f $(srcdir)/ChangeLog; then \ - dists="$$dists ChangeLog"; \ - fi; \ - for i in 0 1 2 3 4 5 6 7 8 9; do \ - if test -f $(srcdir)/ChangeLog.$$i; then \ - dists="$$dists ChangeLog.$$i"; \ - fi; \ - done; \ - if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \ - for file in $$dists; do \ - if test -f $$file; then \ - cp -p $$file $(distdir) || exit 1; \ - else \ - cp -p $(srcdir)/$$file $(distdir) || exit 1; \ - fi; \ - done - -update-po: Makefile - $(MAKE) $(DOMAIN).pot-update - test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) - $(MAKE) update-gmo - -# General rule for creating PO files. - -.nop.po-create: - @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ - echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ - exit 1 - -# General rule for updating PO files. - -.nop.po-update: - @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ - if test "$(PACKAGE)" = "gettext-tools" && test "$(CROSS_COMPILING)" != "yes"; then PATH=`pwd`/../src:$$PATH; fi; \ - tmpdir=`pwd`; \ - echo "$$lang:"; \ - test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ - echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ - cd $(srcdir); \ - if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ - $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ - *) \ - $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ - esac; \ - }; then \ - if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ - rm -f $$tmpdir/$$lang.new.po; \ - else \ - if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ - :; \ - else \ - echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ - exit 1; \ - fi; \ - fi; \ - else \ - echo "msgmerge for $$lang.po failed!" 1>&2; \ - rm -f $$tmpdir/$$lang.new.po; \ - fi - -$(DUMMYPOFILES): - -update-gmo: Makefile $(GMOFILES) - @: - -# Recreate Makefile by invoking config.status. Explicitly invoke the shell, -# because execution permission bits may not work on the current file system. -# Use @SHELL@, which is the shell determined by autoconf for the use by its -# scripts, not $(SHELL) which is hardwired to /bin/sh and may be deficient. -Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@ - cd $(top_builddir) \ - && @SHELL@ ./config.status $(subdir)/$@.in po-directories - -force: - -# Tell versions [3.59,3.63) of GNU make not to export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru shared-mime-info-1.15/po/Makevars shared-mime-info-2.0/po/Makevars --- shared-mime-info-1.15/po/Makevars 2019-09-11 09:41:50.000000000 +0000 +++ shared-mime-info-2.0/po/Makevars 1970-01-01 00:00:00.000000000 +0000 @@ -1,81 +0,0 @@ -# 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 = .. - -# This allows us using local its files -XGETTEXT := env GETTEXTDATADIRS="$(top_srcdir)/" $(XGETTEXT) - -# 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 = Free Software Foundation, Inc. - -# This tells whether or not to prepend "GNU " prefix to the package -# name that gets inserted into the header of the $(DOMAIN).pot file. -# Possible values are "yes", "no", or empty. If it is empty, try to -# detect it automatically by scanning the files in $(top_srcdir) for -# "GNU packagename" string. -PACKAGE_GNU = - -# This is the email address or URL to which the translators shall report -# bugs in the untranslated strings: -# - Strings which are not entire sentences, see the maintainer guidelines -# in the GNU gettext documentation, section 'Preparing Strings'. -# - Strings which use unclear terms or require additional context to be -# understood. -# - Strings which make invalid assumptions about notation of date, time or -# money. -# - Pluralisation problems. -# - Incorrect English spelling. -# - Incorrect formatting. -# It can be your email address, or a mailing list address where translators -# can write to without being subscribed, or the URL of a web page through -# which the translators can contact you. -MSGID_BUGS_ADDRESS = https://gitlab.freedesktop.org/xdg/shared-mime-info/issues - -# This is the list of locale categories, beyond LC_MESSAGES, for which the -# message catalogs shall be used. It is usually empty. -EXTRA_LOCALE_CATEGORIES = - -# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt' -# context. Possible values are "yes" and "no". Set this to yes if the -# package uses functions taking also a message context, like pgettext(), or -# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument. -USE_MSGCTXT = no - -# These options get passed to msgmerge. -# Useful options are in particular: -# --previous to keep previous msgids of translated messages, -# --quiet to reduce the verbosity. -MSGMERGE_OPTIONS = - -# These options get passed to msginit. -# If you want to disable line wrapping when writing PO files, add -# --no-wrap to MSGMERGE_OPTIONS, XGETTEXT_OPTIONS, and -# MSGINIT_OPTIONS. -MSGINIT_OPTIONS = - -# This tells whether or not to regenerate a PO file when $(DOMAIN).pot -# has changed. Possible values are "yes" and "no". Set this to no if -# the POT file is checked in the repository and the version control -# program ignores timestamps. -PO_DEPENDS_ON_POT = yes - -# This tells whether or not to forcibly update $(DOMAIN).pot and -# regenerate PO files on "make dist". Possible values are "yes" and -# "no". Set this to no if the POT file and PO files are maintained -# externally. -DIST_DEPENDS_ON_UPDATE_PO = no diff -Nru shared-mime-info-1.15/po/meson.build shared-mime-info-2.0/po/meson.build --- shared-mime-info-1.15/po/meson.build 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/po/meson.build 2020-05-06 14:11:14.115908400 +0000 @@ -0,0 +1,8 @@ + +i18n.gettext(meson.project_name(), + preset: 'glib', + data_dirs: meson.source_root() / 'data', +) + + +test('translations', find_program('check_translations.sh')) Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/ml.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/ml.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/mr.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/mr.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/ms.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/ms.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/nb.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/nb.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/nl.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/nl.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/nn.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/nn.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/oc.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/oc.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/or.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/or.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/pa.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/pa.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/pl.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/pl.gmo differ diff -Nru shared-mime-info-1.15/po/POTFILES.in shared-mime-info-2.0/po/POTFILES.in --- shared-mime-info-1.15/po/POTFILES.in 2019-09-11 09:41:50.000000000 +0000 +++ shared-mime-info-2.0/po/POTFILES.in 2020-05-06 14:11:14.042908700 +0000 @@ -1 +1 @@ -freedesktop.org.xml.in +data/freedesktop.org.xml.in diff -Nru shared-mime-info-1.15/po/POTFILES.skip shared-mime-info-2.0/po/POTFILES.skip --- shared-mime-info-1.15/po/POTFILES.skip 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/po/POTFILES.skip 2020-05-06 14:11:14.043908800 +0000 @@ -0,0 +1,3 @@ +src/update-mime-database.c +tests/mime-detection/test-gettext.c +tests/mime-detection/test.xml.in Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/pt_BR.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/pt_BR.gmo differ diff -Nru shared-mime-info-1.15/po/pt_BR.po shared-mime-info-2.0/po/pt_BR.po --- shared-mime-info-1.15/po/pt_BR.po 2019-09-20 13:22:16.000000000 +0000 +++ shared-mime-info-2.0/po/pt_BR.po 2020-05-06 14:11:14.124908200 +0000 @@ -3,7 +3,7 @@ # This file is distributed under the same license as the shared-mime-info package. # # Translators: -# André Marcelo Alvarenga , 2013-2017,2019 +# André Marcelo Alvarenga , 2013-2017,2019-2020 # André Marcelo Alvarenga , 2012-2013 # Rafael Fontenelle , 2012,2014 # Rafael Fontenelle , 2012,2014,2017 @@ -13,7 +13,7 @@ "Project-Id-Version: shared-mime-info\n" "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/xdg/shared-mime-info/issues\n" "POT-Creation-Date: 2019-09-11 12:53+0200\n" -"PO-Revision-Date: 2019-08-21 02:08+0000\n" +"PO-Revision-Date: 2020-02-23 23:57+0000\n" "Last-Translator: André Marcelo Alvarenga \n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/freedesktop/shared-mime-info/language/pt_BR/)\n" "MIME-Version: 1.0\n" @@ -1128,7 +1128,7 @@ #: freedesktop.org.xml.in:2811 msgid "Tar archive (LZ4-compressed)" -msgstr "Arquvio Tar (compactado com LZ4)" +msgstr "Arquivo Tar (compactado com LZ4)" #: freedesktop.org.xml.in:2817 msgid "Lzip archive" Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/pt.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/pt.gmo differ diff -Nru shared-mime-info-1.15/po/quot.sed shared-mime-info-2.0/po/quot.sed --- shared-mime-info-1.15/po/quot.sed 2019-09-11 10:53:10.000000000 +0000 +++ shared-mime-info-2.0/po/quot.sed 1970-01-01 00:00:00.000000000 +0000 @@ -1,6 +0,0 @@ -s/"\([^"]*\)"/“\1â€/g -s/`\([^`']*\)'/‘\1’/g -s/ '\([^`']*\)' / ‘\1’ /g -s/ '\([^`']*\)'$/ ‘\1’/g -s/^'\([^`']*\)' /‘\1’ /g -s/“â€/""/g diff -Nru shared-mime-info-1.15/po/remove-potcdate.sin shared-mime-info-2.0/po/remove-potcdate.sin --- shared-mime-info-1.15/po/remove-potcdate.sin 2019-09-11 10:53:10.000000000 +0000 +++ shared-mime-info-2.0/po/remove-potcdate.sin 1970-01-01 00:00:00.000000000 +0000 @@ -1,19 +0,0 @@ -# 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 -} Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/ro.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/ro.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/ru.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/ru.gmo differ diff -Nru shared-mime-info-1.15/po/Rules-quot shared-mime-info-2.0/po/Rules-quot --- shared-mime-info-1.15/po/Rules-quot 2019-09-11 10:53:10.000000000 +0000 +++ shared-mime-info-2.0/po/Rules-quot 1970-01-01 00:00:00.000000000 +0000 @@ -1,58 +0,0 @@ -# This file, Rules-quot, can be copied and used freely without restrictions. -# Special Makefile rules for English message catalogs with quotation marks. - -DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot - -.SUFFIXES: .insert-header .po-update-en - -en@quot.po-create: - $(MAKE) en@quot.po-update -en@boldquot.po-create: - $(MAKE) en@boldquot.po-update - -en@quot.po-update: en@quot.po-update-en -en@boldquot.po-update: en@boldquot.po-update-en - -.insert-header.po-update-en: - @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \ - if test "$(PACKAGE)" = "gettext-tools" && test "$(CROSS_COMPILING)" != "yes"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \ - tmpdir=`pwd`; \ - echo "$$lang:"; \ - ll=`echo $$lang | sed -e 's/@.*//'`; \ - LC_ALL=C; export LC_ALL; \ - cd $(srcdir); \ - if $(MSGINIT) $(MSGINIT_OPTIONS) -i $(DOMAIN).pot --no-translator -l $$lang -o - 2>/dev/null \ - | $(SED) -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | \ - { case `$(MSGFILTER) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-8] | 0.1[0-8].*) \ - $(MSGFILTER) $(SED) -f `echo $$lang | sed -e 's/.*@//'`.sed \ - ;; \ - *) \ - $(MSGFILTER) `echo $$lang | sed -e 's/.*@//'` \ - ;; \ - esac } 2>/dev/null > $$tmpdir/$$lang.new.po \ - ; then \ - if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ - rm -f $$tmpdir/$$lang.new.po; \ - else \ - if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ - :; \ - else \ - echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ - exit 1; \ - fi; \ - fi; \ - else \ - echo "creation of $$lang.po failed!" 1>&2; \ - rm -f $$tmpdir/$$lang.new.po; \ - fi - -en@quot.insert-header: insert-header.sin - sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header - -en@boldquot.insert-header: insert-header.sin - sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header - -mostlyclean: mostlyclean-quot -mostlyclean-quot: - rm -f *.insert-header Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/rw.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/rw.gmo differ diff -Nru shared-mime-info-1.15/po/shared-mime-info.pot shared-mime-info-2.0/po/shared-mime-info.pot --- shared-mime-info-1.15/po/shared-mime-info.pot 2019-09-11 10:53:15.000000000 +0000 +++ shared-mime-info-2.0/po/shared-mime-info.pot 1970-01-01 00:00:00.000000000 +0000 @@ -1,3158 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR Free Software Foundation, Inc. -# This file is distributed under the same license as the shared-mime-info package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: shared-mime-info 1.12\n" -"Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/xdg/shared-mime-info/" -"issues\n" -"POT-Creation-Date: 2019-09-11 12:53+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: freedesktop.org.xml.in:83 -msgid "Atari 2600 ROM" -msgstr "" - -#: freedesktop.org.xml.in:88 -msgid "Atari 7800 ROM" -msgstr "" - -#: freedesktop.org.xml.in:96 -msgid "Atari Lynx ROM" -msgstr "" - -#: freedesktop.org.xml.in:104 -msgid "ATK inset" -msgstr "" - -#: freedesktop.org.xml.in:111 -msgid "electronic book document" -msgstr "" - -#: freedesktop.org.xml.in:125 -msgid "Adobe Illustrator document" -msgstr "" - -#: freedesktop.org.xml.in:131 -msgid "Macintosh BinHex-encoded file" -msgstr "" - -#: freedesktop.org.xml.in:138 -msgid "Mathematica Notebook file" -msgstr "" - -#: freedesktop.org.xml.in:153 -msgid "MathML document" -msgstr "" - -#: freedesktop.org.xml.in:162 -msgid "mailbox file" -msgstr "" - -#: freedesktop.org.xml.in:171 freedesktop.org.xml.in:180 -msgid "Metalink file" -msgstr "" - -#: freedesktop.org.xml.in:189 -msgid "unknown" -msgstr "" - -#: freedesktop.org.xml.in:192 -msgid "Partially downloaded file" -msgstr "" - -#: freedesktop.org.xml.in:199 -msgid "ODA document" -msgstr "" - -#: freedesktop.org.xml.in:206 -msgid "WWF document" -msgstr "" - -#: freedesktop.org.xml.in:213 -msgid "PDF document" -msgstr "" - -#: freedesktop.org.xml.in:227 -msgid "XSPF playlist" -msgstr "" - -#: freedesktop.org.xml.in:241 -msgid "Microsoft Windows theme pack" -msgstr "" - -#: freedesktop.org.xml.in:247 -msgid "AmazonMP3 download file" -msgstr "" - -#: freedesktop.org.xml.in:251 -msgid "GSM 06.10 audio" -msgstr "" - -#: freedesktop.org.xml.in:257 -msgid "iRiver playlist" -msgstr "" - -#: freedesktop.org.xml.in:264 -msgid "PGP/MIME-encrypted message header" -msgstr "" - -#: freedesktop.org.xml.in:276 -msgid "PGP keys" -msgstr "" - -#: freedesktop.org.xml.in:297 -msgid "detached OpenPGP signature" -msgstr "" - -#: freedesktop.org.xml.in:310 -msgid "PKCS#7 file" -msgstr "" - -#: freedesktop.org.xml.in:318 -msgid "detached S/MIME signature" -msgstr "" - -#: freedesktop.org.xml.in:326 -msgid "PKCS#8 private key" -msgstr "" - -#: freedesktop.org.xml.in:332 -msgid "PKCS#8 private key (encrypted)" -msgstr "" - -#: freedesktop.org.xml.in:338 -msgid "PKCS#10 certification request" -msgstr "" - -#: freedesktop.org.xml.in:345 -msgid "X.509 certificate" -msgstr "" - -#: freedesktop.org.xml.in:349 -msgid "certificate revocation list" -msgstr "" - -#: freedesktop.org.xml.in:353 -msgid "PkiPath certification path" -msgstr "" - -#: freedesktop.org.xml.in:357 -msgid "PostScript document" -msgstr "" - -#: freedesktop.org.xml.in:367 -msgid "Plucker document" -msgstr "" - -#: freedesktop.org.xml.in:374 -msgid "RAML document" -msgstr "" - -#: freedesktop.org.xml.in:384 -msgid "RELAX NG XML schema" -msgstr "" - -#: freedesktop.org.xml.in:393 -msgid "RTF document" -msgstr "" - -#: freedesktop.org.xml.in:405 -msgid "Sieve mail filter script" -msgstr "" - -#: freedesktop.org.xml.in:411 -msgid "SMIL document" -msgstr "" - -#: freedesktop.org.xml.in:429 -msgid "WPL playlist" -msgstr "" - -#: freedesktop.org.xml.in:439 -msgid "SQLite2 database" -msgstr "" - -#: freedesktop.org.xml.in:446 -msgid "SQLite3 database" -msgstr "" - -#: freedesktop.org.xml.in:454 -msgid "GEDCOM family history" -msgstr "" - -#: freedesktop.org.xml.in:466 -msgid "Flash video" -msgstr "" - -#: freedesktop.org.xml.in:477 -msgid "JavaFX video" -msgstr "" - -#. translators: a record is in this context a description of a board game -#. that has been played, and that can be played back again: -#. http://www.red-bean.com/sgf/ -#: freedesktop.org.xml.in:489 -msgid "SGF record" -msgstr "" - -#: freedesktop.org.xml.in:501 -msgid "XLIFF translation file" -msgstr "" - -#: freedesktop.org.xml.in:515 -msgid "YAML document" -msgstr "" - -#: freedesktop.org.xml.in:529 -msgid "Corel Draw drawing" -msgstr "" - -#: freedesktop.org.xml.in:544 -msgid "HPGL file" -msgstr "" - -#: freedesktop.org.xml.in:551 -msgid "PCL file" -msgstr "" - -#: freedesktop.org.xml.in:558 -msgid "Lotus 1-2-3 spreadsheet" -msgstr "" - -#: freedesktop.org.xml.in:575 -msgid "Lotus Word Pro document" -msgstr "" - -#: freedesktop.org.xml.in:583 -msgid "JET database" -msgstr "" - -#: freedesktop.org.xml.in:600 -msgid "Microsoft Cabinet archive" -msgstr "" - -#: freedesktop.org.xml.in:609 freedesktop.org.xml.in:639 -msgid "Excel spreadsheet" -msgstr "" - -#: freedesktop.org.xml.in:627 -msgid "Excel add-in" -msgstr "" - -#: freedesktop.org.xml.in:633 -msgid "Excel 2007 binary spreadsheet" -msgstr "" - -#: freedesktop.org.xml.in:645 -msgid "Excel spreadsheet template" -msgstr "" - -#: freedesktop.org.xml.in:651 freedesktop.org.xml.in:667 -#: freedesktop.org.xml.in:679 -msgid "PowerPoint presentation" -msgstr "" - -#: freedesktop.org.xml.in:662 -msgid "PowerPoint add-in" -msgstr "" - -#: freedesktop.org.xml.in:673 -msgid "PowerPoint slide" -msgstr "" - -#: freedesktop.org.xml.in:685 -msgid "PowerPoint presentation template" -msgstr "" - -#: freedesktop.org.xml.in:691 freedesktop.org.xml.in:709 -msgid "Office Open XML Visio drawing" -msgstr "" - -#: freedesktop.org.xml.in:697 freedesktop.org.xml.in:715 -msgid "Office Open XML Visio template" -msgstr "" - -#: freedesktop.org.xml.in:703 freedesktop.org.xml.in:721 -msgid "Office Open XML Visio stencil" -msgstr "" - -#: freedesktop.org.xml.in:727 freedesktop.org.xml.in:769 -msgid "Word document" -msgstr "" - -#: freedesktop.org.xml.in:733 -msgid "Word document template" -msgstr "" - -#: freedesktop.org.xml.in:739 -msgid "XPS document" -msgstr "" - -#: freedesktop.org.xml.in:750 -msgid "Microsoft Works document" -msgstr "" - -#: freedesktop.org.xml.in:760 -msgid "Microsoft Visio document" -msgstr "" - -#: freedesktop.org.xml.in:789 -msgid "Word template" -msgstr "" - -#: freedesktop.org.xml.in:795 -msgid "GML document" -msgstr "" - -#: freedesktop.org.xml.in:803 -msgid "GNUnet search file" -msgstr "" - -#: freedesktop.org.xml.in:810 -msgid "TNEF message" -msgstr "" - -#: freedesktop.org.xml.in:822 -msgid "StarCalc spreadsheet" -msgstr "" - -#: freedesktop.org.xml.in:827 -msgid "StarChart chart" -msgstr "" - -#: freedesktop.org.xml.in:832 -msgid "StarDraw drawing" -msgstr "" - -#: freedesktop.org.xml.in:837 -msgid "StarImpress presentation" -msgstr "" - -#: freedesktop.org.xml.in:843 -msgid "StarMail email" -msgstr "" - -#: freedesktop.org.xml.in:847 -msgid "StarMath formula" -msgstr "" - -#: freedesktop.org.xml.in:852 -msgid "StarWriter document" -msgstr "" - -#: freedesktop.org.xml.in:863 -msgid "OpenOffice Calc spreadsheet" -msgstr "" - -#: freedesktop.org.xml.in:876 -msgid "OpenOffice Calc template" -msgstr "" - -#: freedesktop.org.xml.in:889 -msgid "OpenOffice Draw drawing" -msgstr "" - -#: freedesktop.org.xml.in:902 -msgid "OpenOffice Draw template" -msgstr "" - -#: freedesktop.org.xml.in:915 -msgid "OpenOffice Impress presentation" -msgstr "" - -#: freedesktop.org.xml.in:928 -msgid "OpenOffice Impress template" -msgstr "" - -#: freedesktop.org.xml.in:941 -msgid "OpenOffice Math formula" -msgstr "" - -#: freedesktop.org.xml.in:954 -msgid "OpenOffice Writer document" -msgstr "" - -#: freedesktop.org.xml.in:967 -msgid "OpenOffice Writer global document" -msgstr "" - -#: freedesktop.org.xml.in:980 -msgid "OpenOffice Writer template" -msgstr "" - -#: freedesktop.org.xml.in:993 -msgid "ODT document" -msgstr "" - -#: freedesktop.org.xml.in:1008 -msgid "ODT document (Flat XML)" -msgstr "" - -#: freedesktop.org.xml.in:1016 -msgid "ODT template" -msgstr "" - -#: freedesktop.org.xml.in:1031 -msgid "OTH template" -msgstr "" - -#: freedesktop.org.xml.in:1046 -msgid "ODM document" -msgstr "" - -#: freedesktop.org.xml.in:1061 -msgid "ODG drawing" -msgstr "" - -#: freedesktop.org.xml.in:1076 -msgid "ODG drawing (Flat XML)" -msgstr "" - -#: freedesktop.org.xml.in:1084 -msgid "ODG template" -msgstr "" - -#: freedesktop.org.xml.in:1099 -msgid "ODP presentation" -msgstr "" - -#: freedesktop.org.xml.in:1114 -msgid "ODP presentation (Flat XML)" -msgstr "" - -#: freedesktop.org.xml.in:1122 -msgid "ODP template" -msgstr "" - -#: freedesktop.org.xml.in:1137 -msgid "ODS spreadsheet" -msgstr "" - -#: freedesktop.org.xml.in:1152 -msgid "ODS spreadsheet (Flat XML)" -msgstr "" - -#: freedesktop.org.xml.in:1160 -msgid "ODS template" -msgstr "" - -#: freedesktop.org.xml.in:1175 -msgid "ODC chart" -msgstr "" - -#: freedesktop.org.xml.in:1190 -msgid "ODC template" -msgstr "" - -#: freedesktop.org.xml.in:1205 -msgid "ODF formula" -msgstr "" - -#: freedesktop.org.xml.in:1220 -msgid "ODF template" -msgstr "" - -#: freedesktop.org.xml.in:1235 -msgid "ODB database" -msgstr "" - -#: freedesktop.org.xml.in:1251 -msgid "ODI image" -msgstr "" - -#: freedesktop.org.xml.in:1266 -msgid "OpenOffice.org extension" -msgstr "" - -#: freedesktop.org.xml.in:1272 -msgid "Android package" -msgstr "" - -#: freedesktop.org.xml.in:1277 -msgid "SIS package" -msgstr "" - -#: freedesktop.org.xml.in:1287 -msgid "SISX package" -msgstr "" - -#: freedesktop.org.xml.in:1297 -msgid "network packet capture" -msgstr "" - -#: freedesktop.org.xml.in:1309 -msgid "WordPerfect document" -msgstr "" - -#: freedesktop.org.xml.in:1325 -msgid "YouTube media archive" -msgstr "" - -#: freedesktop.org.xml.in:1331 -msgid "SPSS portable data file" -msgstr "" - -#: freedesktop.org.xml.in:1340 -msgid "SPSS data file" -msgstr "" - -#: freedesktop.org.xml.in:1352 -msgid "XBEL bookmarks" -msgstr "" - -#: freedesktop.org.xml.in:1363 -msgid "7-zip archive" -msgstr "" - -#: freedesktop.org.xml.in:1371 -msgid "AbiWord document" -msgstr "" - -#: freedesktop.org.xml.in:1385 -msgid "CD image cuesheet" -msgstr "" - -#: freedesktop.org.xml.in:1391 -msgid "Lotus AmiPro document" -msgstr "" - -#: freedesktop.org.xml.in:1396 -msgid "AportisDoc document" -msgstr "" - -#: freedesktop.org.xml.in:1407 -msgid "Applix Spreadsheets spreadsheet" -msgstr "" - -#: freedesktop.org.xml.in:1418 -msgid "Applix Words document" -msgstr "" - -#: freedesktop.org.xml.in:1428 -msgid "ARC archive" -msgstr "" - -#: freedesktop.org.xml.in:1440 -msgid "AR archive" -msgstr "" - -#: freedesktop.org.xml.in:1450 -msgid "ARJ archive" -msgstr "" - -#: freedesktop.org.xml.in:1460 -msgid "ASP page" -msgstr "" - -#: freedesktop.org.xml.in:1468 -msgid "AWK script" -msgstr "" - -#: freedesktop.org.xml.in:1487 -msgid "BCPIO document" -msgstr "" - -#: freedesktop.org.xml.in:1494 -msgid "BitTorrent seed file" -msgstr "" - -#: freedesktop.org.xml.in:1501 -msgid "Blender scene" -msgstr "" - -#: freedesktop.org.xml.in:1511 -msgid "TeX DVI document (bzip-compressed)" -msgstr "" - -#: freedesktop.org.xml.in:1517 -msgid "Bzip archive" -msgstr "" - -#: freedesktop.org.xml.in:1527 -msgid "Tar archive (bzip-compressed)" -msgstr "" - -#: freedesktop.org.xml.in:1537 -msgid "PDF document (bzip-compressed)" -msgstr "" - -#: freedesktop.org.xml.in:1543 -msgid "PostScript document (bzip-compressed)" -msgstr "" - -#: freedesktop.org.xml.in:1549 freedesktop.org.xml.in:1556 -#: freedesktop.org.xml.in:1562 freedesktop.org.xml.in:1568 -msgid "comic book archive" -msgstr "" - -#: freedesktop.org.xml.in:1575 -msgid "Lrzip archive" -msgstr "" - -#: freedesktop.org.xml.in:1583 -msgid "Tar archive (lrzip-compressed)" -msgstr "" - -#: freedesktop.org.xml.in:1590 -msgid "Apple disk image" -msgstr "" - -#: freedesktop.org.xml.in:1594 -msgid "Raw disk image" -msgstr "" - -#: freedesktop.org.xml.in:1599 -msgid "Floppy disk image" -msgstr "" - -#: freedesktop.org.xml.in:1606 -msgid "Raw disk image (XZ-compressed)" -msgstr "" - -#: freedesktop.org.xml.in:1612 -msgid "raw CD image" -msgstr "" - -#: freedesktop.org.xml.in:1620 freedesktop.org.xml.in:7234 -msgid "AppImage application bundle" -msgstr "" - -#: freedesktop.org.xml.in:1636 -msgid "CD Table Of Contents" -msgstr "" - -#: freedesktop.org.xml.in:1651 -msgid "PGN chess game notation" -msgstr "" - -#: freedesktop.org.xml.in:1663 -msgid "CHM document" -msgstr "" - -#: freedesktop.org.xml.in:1671 -msgid "Java byte code" -msgstr "" - -#: freedesktop.org.xml.in:1674 -msgid "UNIX-compressed file" -msgstr "" - -#: freedesktop.org.xml.in:1682 -msgid "Tar archive (gzip-compressed)" -msgstr "" - -#: freedesktop.org.xml.in:1689 -msgid "program crash data" -msgstr "" - -#: freedesktop.org.xml.in:1708 -msgid "CPIO archive" -msgstr "" - -#: freedesktop.org.xml.in:1719 -msgid "CPIO archive (gzip-compressed)" -msgstr "" - -#: freedesktop.org.xml.in:1725 -msgid "C shell script" -msgstr "" - -#: freedesktop.org.xml.in:1738 -msgid "Xbase document" -msgstr "" - -#: freedesktop.org.xml.in:1746 -msgid "ECMAScript program" -msgstr "" - -#. Translate this to Mega-CD if the console was known as such in your locale -#. Should be Mega-CD in all but en_US, Mexico, Canada and Brazil: https://en.wikipedia.org/wiki/Sega_CD -#: freedesktop.org.xml.in:1756 -msgid "Sega CD disc image" -msgstr "" - -#. Translate this to Kids Computer Pico if the console was known as such in your locale -#. Should be Sega Pico in all but Japan: https://en.wikipedia.org/wiki/Sega_Pico -#: freedesktop.org.xml.in:1772 -msgid "Sega Pico ROM" -msgstr "" - -#: freedesktop.org.xml.in:1779 -msgid "Sega Saturn disc image" -msgstr "" - -#: freedesktop.org.xml.in:1788 -msgid "Dreamcast disc image" -msgstr "" - -#: freedesktop.org.xml.in:1793 -msgid "Nintendo DS ROM" -msgstr "" - -#: freedesktop.org.xml.in:1798 -msgid "PC Engine ROM" -msgstr "" - -#: freedesktop.org.xml.in:1803 -msgid "Wii disc image" -msgstr "" - -#: freedesktop.org.xml.in:1816 -msgid "WiiWare bundle" -msgstr "" - -#: freedesktop.org.xml.in:1826 -msgid "GameCube disc image" -msgstr "" - -#: freedesktop.org.xml.in:1835 -msgid "Thomson Mémo7 cartridge" -msgstr "" - -#: freedesktop.org.xml.in:1840 -msgid "Thomson cassette" -msgstr "" - -#: freedesktop.org.xml.in:1845 -msgid "HFE floppy disk image" -msgstr "" - -#: freedesktop.org.xml.in:1856 -msgid "SAP Thomson floppy disk image" -msgstr "" - -#: freedesktop.org.xml.in:1867 -msgid "Debian package" -msgstr "" - -#: freedesktop.org.xml.in:1880 -msgid "Qt Designer interface document" -msgstr "" - -#: freedesktop.org.xml.in:1890 -msgid "Qt Markup Language file" -msgstr "" - -#: freedesktop.org.xml.in:1905 -msgid "desktop configuration file" -msgstr "" - -#: freedesktop.org.xml.in:1920 -msgid "FictionBook document" -msgstr "" - -#: freedesktop.org.xml.in:1930 -msgid "Compressed FictionBook document" -msgstr "" - -#: freedesktop.org.xml.in:1941 -msgid "Dia diagram" -msgstr "" - -#: freedesktop.org.xml.in:1951 -msgid "Dia shape" -msgstr "" - -#: freedesktop.org.xml.in:1961 -msgid "TeX DVI document" -msgstr "" - -#: freedesktop.org.xml.in:1971 -msgid "Enlightenment theme" -msgstr "" - -#: freedesktop.org.xml.in:1975 -msgid "Egon Animator animation" -msgstr "" - -#: freedesktop.org.xml.in:1980 -msgid "executable" -msgstr "" - -#: freedesktop.org.xml.in:2001 -msgid "FLTK Fluid file" -msgstr "" - -#: freedesktop.org.xml.in:2012 -msgid "WOFF font" -msgstr "" - -#: freedesktop.org.xml.in:2023 -msgid "WOFF2 font" -msgstr "" - -#: freedesktop.org.xml.in:2033 -msgid "PostScript type-1 font" -msgstr "" - -#: freedesktop.org.xml.in:2049 -msgid "Adobe font metrics" -msgstr "" - -#: freedesktop.org.xml.in:2054 -msgid "BDF font" -msgstr "" - -#: freedesktop.org.xml.in:2062 -msgid "DOS font" -msgstr "" - -#: freedesktop.org.xml.in:2071 -msgid "Adobe FrameMaker font" -msgstr "" - -#: freedesktop.org.xml.in:2078 -msgid "LIBGRX font" -msgstr "" - -#: freedesktop.org.xml.in:2085 -msgid "Linux PSF console font" -msgstr "" - -#: freedesktop.org.xml.in:2093 -msgid "Linux PSF console font (gzip-compressed)" -msgstr "" - -#: freedesktop.org.xml.in:2099 -msgid "PCF font" -msgstr "" - -#: freedesktop.org.xml.in:2109 -msgid "OpenType font" -msgstr "" - -#: freedesktop.org.xml.in:2119 -msgid "Speedo font" -msgstr "" - -#: freedesktop.org.xml.in:2127 -msgid "SunOS News font" -msgstr "" - -#: freedesktop.org.xml.in:2136 -msgid "TeX font" -msgstr "" - -#: freedesktop.org.xml.in:2145 -msgid "TeX font metrics" -msgstr "" - -#: freedesktop.org.xml.in:2153 -msgid "TrueType font" -msgstr "" - -#: freedesktop.org.xml.in:2164 -msgid "Font collection" -msgstr "" - -#: freedesktop.org.xml.in:2169 -msgid "TrueType XML font" -msgstr "" - -#: freedesktop.org.xml.in:2178 -msgid "V font" -msgstr "" - -#: freedesktop.org.xml.in:2185 -msgid "Adobe FrameMaker document" -msgstr "" - -#: freedesktop.org.xml.in:2200 -msgid "Game Boy ROM" -msgstr "" - -#: freedesktop.org.xml.in:2211 -msgid "Game Boy Color ROM" -msgstr "" - -#: freedesktop.org.xml.in:2222 -msgid "Game Boy Advance ROM" -msgstr "" - -#: freedesktop.org.xml.in:2228 -msgid "Virtual Boy ROM" -msgstr "" - -#: freedesktop.org.xml.in:2233 -msgid "GDBM database" -msgstr "" - -#. Translate this to Mega Drive if the console was known as such in your locale -#. Should be Mega Drive in all but en_US, Mexico and Canada: https://en.wikipedia.org/wiki/Sega_Genesis#History -#: freedesktop.org.xml.in:2245 -msgid "Genesis ROM" -msgstr "" - -#. Translate this to Super 32X, Mega Drive 32X or Mega 32X if the system was known as such in your locale -#. Should be Super 32X in Japan, Mega Drive 32X in PAL region and Mega 32X in Brazil: https://en.wikipedia.org/wiki/32X -#: freedesktop.org.xml.in:2260 -msgid "Genesis 32X ROM" -msgstr "" - -#: freedesktop.org.xml.in:2269 -msgid "translated messages (machine-readable)" -msgstr "" - -#: freedesktop.org.xml.in:2278 -msgid "GTK+ Builder interface document" -msgstr "" - -#: freedesktop.org.xml.in:2287 -msgid "Glade project" -msgstr "" - -#: freedesktop.org.xml.in:2296 -msgid "GnuCash financial data" -msgstr "" - -#: freedesktop.org.xml.in:2303 -msgid "Gnumeric spreadsheet" -msgstr "" - -#: freedesktop.org.xml.in:2312 -msgid "Gnuplot document" -msgstr "" - -#: freedesktop.org.xml.in:2320 -msgid "Graphite scientific graph" -msgstr "" - -#: freedesktop.org.xml.in:2325 -msgid "GTKtalog catalog" -msgstr "" - -#: freedesktop.org.xml.in:2332 -msgid "TeX DVI document (gzip-compressed)" -msgstr "" - -#: freedesktop.org.xml.in:2338 -msgid "Gzip archive" -msgstr "" - -#: freedesktop.org.xml.in:2347 -msgid "PDF document (gzip-compressed)" -msgstr "" - -#: freedesktop.org.xml.in:2353 -msgid "PostScript document (gzip-compressed)" -msgstr "" - -#: freedesktop.org.xml.in:2359 -msgid "HDF document" -msgstr "" - -#: freedesktop.org.xml.in:2374 -msgid "IFF file" -msgstr "" - -#: freedesktop.org.xml.in:2382 -msgid "iPod firmware" -msgstr "" - -#: freedesktop.org.xml.in:2388 -msgid "Java archive" -msgstr "" - -#: freedesktop.org.xml.in:2396 -msgid "Java class" -msgstr "" - -#: freedesktop.org.xml.in:2408 -msgid "Groovy source code" -msgstr "" - -#: freedesktop.org.xml.in:2417 -msgid "Gradle scripts" -msgstr "" - -#: freedesktop.org.xml.in:2422 -msgid "JNLP file" -msgstr "" - -#: freedesktop.org.xml.in:2433 -msgid "Java keystore" -msgstr "" - -#: freedesktop.org.xml.in:2442 -msgid "Java JCE keystore" -msgstr "" - -#: freedesktop.org.xml.in:2451 -msgid "Pack200 Java archive" -msgstr "" - -#: freedesktop.org.xml.in:2459 -msgid "JavaScript program" -msgstr "" - -#: freedesktop.org.xml.in:2481 -msgid "JSON document" -msgstr "" - -#: freedesktop.org.xml.in:2489 -msgid "JRD document" -msgstr "" - -#: freedesktop.org.xml.in:2497 -msgid "JSON patch" -msgstr "" - -#: freedesktop.org.xml.in:2505 -msgid "JSON-LD document" -msgstr "" - -#: freedesktop.org.xml.in:2513 -msgid "Jupyter notebook document" -msgstr "" - -#: freedesktop.org.xml.in:2524 -msgid "CoffeeScript document" -msgstr "" - -#: freedesktop.org.xml.in:2530 -msgid "JBuilder project" -msgstr "" - -#: freedesktop.org.xml.in:2536 -msgid "Karbon14 drawing" -msgstr "" - -#: freedesktop.org.xml.in:2553 -msgid "KChart chart" -msgstr "" - -#: freedesktop.org.xml.in:2570 -msgid "Kexi settings" -msgstr "" - -#: freedesktop.org.xml.in:2574 -msgid "Kexi shortcut" -msgstr "" - -#: freedesktop.org.xml.in:2578 freedesktop.org.xml.in:2583 -msgid "Kexi database file" -msgstr "" - -#: freedesktop.org.xml.in:2590 -msgid "KFormula formula" -msgstr "" - -#: freedesktop.org.xml.in:2607 -msgid "KIllustrator drawing" -msgstr "" - -#: freedesktop.org.xml.in:2619 -msgid "Kivio flowchart" -msgstr "" - -#: freedesktop.org.xml.in:2636 -msgid "Kontour drawing" -msgstr "" - -#: freedesktop.org.xml.in:2653 -msgid "KPovModeler scene" -msgstr "" - -#: freedesktop.org.xml.in:2658 -msgid "KPresenter presentation" -msgstr "" - -#: freedesktop.org.xml.in:2676 -msgid "Krita document" -msgstr "" - -#: freedesktop.org.xml.in:2693 -msgid "KSpread spreadsheet" -msgstr "" - -#: freedesktop.org.xml.in:2710 -msgid "KSpread spreadsheet (encrypted)" -msgstr "" - -#: freedesktop.org.xml.in:2717 -msgid "KSysV init package" -msgstr "" - -#: freedesktop.org.xml.in:2726 -msgid "Kugar document" -msgstr "" - -#: freedesktop.org.xml.in:2731 -msgid "KWord document" -msgstr "" - -#: freedesktop.org.xml.in:2749 -msgid "KWord document (encrypted)" -msgstr "" - -#: freedesktop.org.xml.in:2756 -msgid "LHA archive" -msgstr "" - -#: freedesktop.org.xml.in:2777 -msgid "LHZ archive" -msgstr "" - -#: freedesktop.org.xml.in:2782 -msgid "message catalog" -msgstr "" - -#: freedesktop.org.xml.in:2792 -msgid "LyX document" -msgstr "" - -#: freedesktop.org.xml.in:2802 -msgid "LZ4 archive" -msgstr "" - -#: freedesktop.org.xml.in:2811 -msgid "Tar archive (LZ4-compressed)" -msgstr "" - -#: freedesktop.org.xml.in:2817 -msgid "Lzip archive" -msgstr "" - -#: freedesktop.org.xml.in:2825 -msgid "Tar archive (lzip-compressed)" -msgstr "" - -#: freedesktop.org.xml.in:2831 -msgid "PDF document (lzip-compressed)" -msgstr "" - -#: freedesktop.org.xml.in:2837 -msgid "LZMA archive" -msgstr "" - -#: freedesktop.org.xml.in:2844 -msgid "Tar archive (LZMA-compressed)" -msgstr "" - -#: freedesktop.org.xml.in:2851 -msgid "LZO archive" -msgstr "" - -#: freedesktop.org.xml.in:2861 -msgid "Qpress archive" -msgstr "" - -#: freedesktop.org.xml.in:2869 -msgid "XAR archive" -msgstr "" - -#: freedesktop.org.xml.in:2881 -msgid "Zlib archive" -msgstr "" - -#: freedesktop.org.xml.in:2886 -msgid "MagicPoint presentation" -msgstr "" - -#: freedesktop.org.xml.in:2892 -msgid "Macintosh MacBinary file" -msgstr "" - -#: freedesktop.org.xml.in:2899 -msgid "Matroska stream" -msgstr "" - -#: freedesktop.org.xml.in:2913 -msgid "Matroska video" -msgstr "" - -#: freedesktop.org.xml.in:2918 -msgid "Matroska 3D video" -msgstr "" - -#: freedesktop.org.xml.in:2923 -msgid "Matroska audio" -msgstr "" - -#: freedesktop.org.xml.in:2928 -msgid "WebM video" -msgstr "" - -#: freedesktop.org.xml.in:2942 -msgid "WebM audio" -msgstr "" - -#: freedesktop.org.xml.in:2946 -msgid "MHTML web archive" -msgstr "" - -#: freedesktop.org.xml.in:2954 -msgid "MXF video" -msgstr "" - -#: freedesktop.org.xml.in:2964 -msgid "OCL file" -msgstr "" - -#: freedesktop.org.xml.in:2971 -msgid "COBOL source code" -msgstr "" - -#: freedesktop.org.xml.in:2979 -msgid "Mobipocket e-book" -msgstr "" - -#: freedesktop.org.xml.in:2993 -msgid "Adobe FrameMaker MIF document" -msgstr "" - -#: freedesktop.org.xml.in:2997 -msgid "Mozilla bookmarks" -msgstr "" - -#: freedesktop.org.xml.in:3006 -msgid "DOS/Windows executable" -msgstr "" - -#: freedesktop.org.xml.in:3014 -msgid "Internet shortcut" -msgstr "" - -#: freedesktop.org.xml.in:3024 -msgid "WRI document" -msgstr "" - -#: freedesktop.org.xml.in:3029 -msgid "MSX ROM" -msgstr "" - -#: freedesktop.org.xml.in:3034 -msgid "M4 macro" -msgstr "" - -#: freedesktop.org.xml.in:3040 -msgid "Nintendo64 ROM" -msgstr "" - -#: freedesktop.org.xml.in:3055 -msgid "Nautilus link" -msgstr "" - -#: freedesktop.org.xml.in:3063 -msgid "Neo-Geo Pocket ROM" -msgstr "" - -#: freedesktop.org.xml.in:3074 -msgid "Neo-Geo Pocket Color ROM" -msgstr "" - -#. Translate this to Famicom if the console was known as such in your locale -#: freedesktop.org.xml.in:3086 -msgid "NES ROM" -msgstr "" - -#: freedesktop.org.xml.in:3094 -msgid "Unidata NetCDF document" -msgstr "" - -#: freedesktop.org.xml.in:3102 -msgid "NewzBin usenet index" -msgstr "" - -#: freedesktop.org.xml.in:3110 -msgid "object code" -msgstr "" - -#: freedesktop.org.xml.in:3127 -msgid "Annodex exchange format" -msgstr "" - -#: freedesktop.org.xml.in:3140 -msgid "Annodex video" -msgstr "" - -#: freedesktop.org.xml.in:3153 -msgid "Annodex audio" -msgstr "" - -#: freedesktop.org.xml.in:3166 -msgid "Ogg multimedia file" -msgstr "" - -#: freedesktop.org.xml.in:3175 -msgid "Ogg audio" -msgstr "" - -#: freedesktop.org.xml.in:3186 -msgid "Ogg video" -msgstr "" - -#: freedesktop.org.xml.in:3196 -msgid "Ogg Vorbis audio" -msgstr "" - -#: freedesktop.org.xml.in:3209 -msgid "Ogg FLAC audio" -msgstr "" - -#: freedesktop.org.xml.in:3224 -msgid "Opus audio" -msgstr "" - -#: freedesktop.org.xml.in:3234 -msgid "Ogg Speex audio" -msgstr "" - -#: freedesktop.org.xml.in:3245 -msgid "Speex audio" -msgstr "" - -#: freedesktop.org.xml.in:3252 -msgid "Ogg Theora video" -msgstr "" - -#: freedesktop.org.xml.in:3263 -msgid "OGM video" -msgstr "" - -#: freedesktop.org.xml.in:3276 -msgid "OLE2 compound document storage" -msgstr "" - -#: freedesktop.org.xml.in:3284 -msgid "Microsoft Publisher document" -msgstr "" - -#: freedesktop.org.xml.in:3289 -msgid "Windows Installer package" -msgstr "" - -#: freedesktop.org.xml.in:3294 -msgid "GNU Oleo spreadsheet" -msgstr "" - -#: freedesktop.org.xml.in:3302 -msgid "PAK archive" -msgstr "" - -#: freedesktop.org.xml.in:3310 -msgid "Palm OS database" -msgstr "" - -#: freedesktop.org.xml.in:3318 -msgid "Parchive archive" -msgstr "" - -#: freedesktop.org.xml.in:3329 -msgid "PEF executable" -msgstr "" - -#: freedesktop.org.xml.in:3336 -msgid "Perl script" -msgstr "" - -#: freedesktop.org.xml.in:3365 -msgid "PHP script" -msgstr "" - -#: freedesktop.org.xml.in:3378 -msgid "PKCS#7 certificate bundle" -msgstr "" - -#: freedesktop.org.xml.in:3385 -msgid "PKCS#12 certificate bundle" -msgstr "" - -#: freedesktop.org.xml.in:3393 -msgid "PlanPerfect spreadsheet" -msgstr "" - -#: freedesktop.org.xml.in:3398 -msgid "Pocket Word document" -msgstr "" - -#: freedesktop.org.xml.in:3406 -msgid "profiler results" -msgstr "" - -#: freedesktop.org.xml.in:3412 -msgid "Pathetic Writer document" -msgstr "" - -#: freedesktop.org.xml.in:3417 -msgid "Python bytecode" -msgstr "" - -#: freedesktop.org.xml.in:3425 -msgid "QtiPlot document" -msgstr "" - -#: freedesktop.org.xml.in:3435 -msgid "Quattro Pro spreadsheet" -msgstr "" - -#: freedesktop.org.xml.in:3442 -msgid "QuickTime playlist" -msgstr "" - -#: freedesktop.org.xml.in:3457 -msgid "Quicken document" -msgstr "" - -#: freedesktop.org.xml.in:3462 -msgid "RAR archive" -msgstr "" - -#: freedesktop.org.xml.in:3474 -msgid "DAR archive" -msgstr "" - -#: freedesktop.org.xml.in:3482 -msgid "Alzip archive" -msgstr "" - -#: freedesktop.org.xml.in:3490 -msgid "rejected patch" -msgstr "" - -#: freedesktop.org.xml.in:3497 -msgid "RPM package" -msgstr "" - -#: freedesktop.org.xml.in:3506 -msgid "Source RPM package" -msgstr "" - -#: freedesktop.org.xml.in:3513 -msgid "Ruby script" -msgstr "" - -#: freedesktop.org.xml.in:3524 -msgid "Markaby script" -msgstr "" - -#: freedesktop.org.xml.in:3530 -msgid "Rust source code" -msgstr "" - -#: freedesktop.org.xml.in:3535 -msgid "SC/Xspread spreadsheet" -msgstr "" - -#: freedesktop.org.xml.in:3542 -msgid "shell archive" -msgstr "" - -#: freedesktop.org.xml.in:3547 -msgid "libtool shared library" -msgstr "" - -#: freedesktop.org.xml.in:3553 -msgid "shared library" -msgstr "" - -#: freedesktop.org.xml.in:3573 -msgid "shell script" -msgstr "" - -#: freedesktop.org.xml.in:3594 -msgid "Shockwave Flash file" -msgstr "" - -#. translators: "Shorten" is the name of an audio codec -#: freedesktop.org.xml.in:3607 -msgid "Shorten audio" -msgstr "" - -#: freedesktop.org.xml.in:3616 -msgid "Siag spreadsheet" -msgstr "" - -#: freedesktop.org.xml.in:3621 -msgid "Skencil document" -msgstr "" - -#: freedesktop.org.xml.in:3629 -msgid "Stampede package" -msgstr "" - -#: freedesktop.org.xml.in:3633 -msgid "SG-1000 ROM" -msgstr "" - -#. Translate this to "Master System/Mark III" if the console was known as such in your locale (probably only in Japan) -#: freedesktop.org.xml.in:3639 -msgid "Master System ROM" -msgstr "" - -#: freedesktop.org.xml.in:3651 -msgid "Game Gear ROM" -msgstr "" - -#. Translate this as Super Famicom (in Far East Asia) or Super Nintendo (in Europe) if the console was known as such in your locale -#: freedesktop.org.xml.in:3665 -msgid "Super NES ROM" -msgstr "" - -#: freedesktop.org.xml.in:3672 -msgid "StuffIt archive" -msgstr "" - -#: freedesktop.org.xml.in:3683 -msgid "SubRip subtitles" -msgstr "" - -#: freedesktop.org.xml.in:3695 -msgid "WebVTT subtitles" -msgstr "" - -#: freedesktop.org.xml.in:3706 -msgid "SAMI subtitles" -msgstr "" - -#: freedesktop.org.xml.in:3718 -msgid "MicroDVD subtitles" -msgstr "" - -#: freedesktop.org.xml.in:3728 -msgid "MPSub subtitles" -msgstr "" - -#: freedesktop.org.xml.in:3738 -msgid "SSA subtitles" -msgstr "" - -#: freedesktop.org.xml.in:3750 -msgid "SubViewer subtitles" -msgstr "" - -#: freedesktop.org.xml.in:3758 -msgid "iMelody ringtone" -msgstr "" - -#: freedesktop.org.xml.in:3768 -msgid "SMAF audio" -msgstr "" - -#: freedesktop.org.xml.in:3780 -msgid "MRML playlist" -msgstr "" - -#: freedesktop.org.xml.in:3790 -msgid "XMF audio" -msgstr "" - -#: freedesktop.org.xml.in:3802 -msgid "SV4 CPIO archive" -msgstr "" - -#: freedesktop.org.xml.in:3807 -msgid "SV4 CPIO archive (with CRC)" -msgstr "" - -#: freedesktop.org.xml.in:3812 -msgid "Tar archive" -msgstr "" - -#: freedesktop.org.xml.in:3824 -msgid "Tar archive (compressed)" -msgstr "" - -#: freedesktop.org.xml.in:3831 -msgid "generic font file" -msgstr "" - -#: freedesktop.org.xml.in:3836 -msgid "packed font file" -msgstr "" - -#: freedesktop.org.xml.in:3841 -msgid "TGIF document" -msgstr "" - -#: freedesktop.org.xml.in:3849 -msgid "theme" -msgstr "" - -#: freedesktop.org.xml.in:3855 -msgid "ToutDoux document" -msgstr "" - -#: freedesktop.org.xml.in:3859 -msgid "backup file" -msgstr "" - -#: freedesktop.org.xml.in:3867 -msgid "Troff document" -msgstr "" - -#: freedesktop.org.xml.in:3882 -msgid "Manpage manual document" -msgstr "" - -#: freedesktop.org.xml.in:3888 -msgid "manual page (compressed)" -msgstr "" - -#: freedesktop.org.xml.in:3892 -msgid "Tar archive (LZO-compressed)" -msgstr "" - -#: freedesktop.org.xml.in:3899 -msgid "XZ archive" -msgstr "" - -#: freedesktop.org.xml.in:3907 -msgid "Tar archive (XZ-compressed)" -msgstr "" - -#: freedesktop.org.xml.in:3914 -msgid "Zstandard archive" -msgstr "" - -#: freedesktop.org.xml.in:3922 -msgid "Tar archive (Zstandard-compressed)" -msgstr "" - -#: freedesktop.org.xml.in:3929 -msgid "PDF document (XZ-compressed)" -msgstr "" - -#: freedesktop.org.xml.in:3935 -msgid "Ustar archive" -msgstr "" - -#: freedesktop.org.xml.in:3940 -msgid "WAIS source code" -msgstr "" - -#: freedesktop.org.xml.in:3946 -msgid "WordPerfect/Drawperfect image" -msgstr "" - -#: freedesktop.org.xml.in:3951 -msgid "Bandai WonderSwan ROM" -msgstr "" - -#: freedesktop.org.xml.in:3956 -msgid "Bandai WonderSwan Color ROM" -msgstr "" - -#: freedesktop.org.xml.in:3961 -msgid "DER/PEM/Netscape-encoded X.509 certificate" -msgstr "" - -#: freedesktop.org.xml.in:3969 -msgid "empty document" -msgstr "" - -#: freedesktop.org.xml.in:3972 -msgid "Zoo archive" -msgstr "" - -#: freedesktop.org.xml.in:3980 -msgid "XHTML page" -msgstr "" - -#: freedesktop.org.xml.in:3998 -msgid "Zip archive" -msgstr "" - -#: freedesktop.org.xml.in:4008 -msgid "WIM disk image" -msgstr "" - -#: freedesktop.org.xml.in:4018 -msgid "Dolby Digital audio" -msgstr "" - -#: freedesktop.org.xml.in:4025 -msgid "DTS audio" -msgstr "" - -#: freedesktop.org.xml.in:4036 -msgid "DTSHD audio" -msgstr "" - -#: freedesktop.org.xml.in:4045 -msgid "AMR audio" -msgstr "" - -#: freedesktop.org.xml.in:4056 -msgid "AMR-WB audio" -msgstr "" - -#: freedesktop.org.xml.in:4067 -msgid "ULAW (Sun) audio" -msgstr "" - -#: freedesktop.org.xml.in:4075 -msgid "Commodore 64 audio" -msgstr "" - -#: freedesktop.org.xml.in:4083 -msgid "PCM audio" -msgstr "" - -#: freedesktop.org.xml.in:4101 -msgid "AIFC audio" -msgstr "" - -#: freedesktop.org.xml.in:4113 -msgid "AIFF/Amiga/Mac audio" -msgstr "" - -#: freedesktop.org.xml.in:4125 -msgid "Monkey's audio" -msgstr "" - -#: freedesktop.org.xml.in:4132 -msgid "Audible.Com audio" -msgstr "" - -#: freedesktop.org.xml.in:4144 -msgid "Impulse Tracker audio" -msgstr "" - -#: freedesktop.org.xml.in:4151 -msgid "FLAC audio" -msgstr "" - -#: freedesktop.org.xml.in:4159 -msgid "WavPack audio" -msgstr "" - -#: freedesktop.org.xml.in:4167 -msgid "WavPack audio correction file" -msgstr "" - -#: freedesktop.org.xml.in:4174 -msgid "MIDI audio" -msgstr "" - -#: freedesktop.org.xml.in:4184 -msgid "compressed Tracker audio" -msgstr "" - -#: freedesktop.org.xml.in:4191 -msgid "AAC audio" -msgstr "" - -#: freedesktop.org.xml.in:4204 -msgid "USAC audio" -msgstr "" - -#: freedesktop.org.xml.in:4211 -msgid "MPEG-4 audio" -msgstr "" - -#: freedesktop.org.xml.in:4221 -msgid "MPEG-4 ringtone" -msgstr "" - -#: freedesktop.org.xml.in:4226 -msgid "MPEG-4 video" -msgstr "" - -#: freedesktop.org.xml.in:4243 -msgid "MPEG-4 audio book" -msgstr "" - -#: freedesktop.org.xml.in:4252 -msgid "3GPP multimedia file" -msgstr "" - -#: freedesktop.org.xml.in:4275 -msgid "3GPP2 multimedia file" -msgstr "" - -#: freedesktop.org.xml.in:4288 -msgid "Amiga SoundTracker audio" -msgstr "" - -#: freedesktop.org.xml.in:4332 -msgid "MP2 audio" -msgstr "" - -#: freedesktop.org.xml.in:4337 -msgid "MP3 audio" -msgstr "" - -#: freedesktop.org.xml.in:4350 -msgid "MP3 audio (streamed)" -msgstr "" - -#: freedesktop.org.xml.in:4365 -msgid "HTTP Live Streaming playlist" -msgstr "" - -#: freedesktop.org.xml.in:4377 -msgid "Microsoft ASX playlist" -msgstr "" - -#: freedesktop.org.xml.in:4394 -msgid "PSF audio" -msgstr "" - -#: freedesktop.org.xml.in:4403 -msgid "MiniPSF audio" -msgstr "" - -#: freedesktop.org.xml.in:4410 -msgid "PSFlib audio library" -msgstr "" - -#: freedesktop.org.xml.in:4417 -msgid "Windows Media audio" -msgstr "" - -#: freedesktop.org.xml.in:4423 -msgid "Musepack audio" -msgstr "" - -#: freedesktop.org.xml.in:4432 -msgid "RealAudio document" -msgstr "" - -#: freedesktop.org.xml.in:4439 -msgid "RealMedia playlist" -msgstr "" - -#: freedesktop.org.xml.in:4443 -msgid "RealVideo document" -msgstr "" - -#: freedesktop.org.xml.in:4449 -msgid "RealMedia document" -msgstr "" - -#: freedesktop.org.xml.in:4463 -msgid "RealPix document" -msgstr "" - -#: freedesktop.org.xml.in:4467 -msgid "RealText document" -msgstr "" - -#: freedesktop.org.xml.in:4471 -msgid "RIFF audio" -msgstr "" - -#: freedesktop.org.xml.in:4474 -msgid "RIFF container" -msgstr "" - -#: freedesktop.org.xml.in:4481 -msgid "Scream Tracker 3 audio" -msgstr "" - -#: freedesktop.org.xml.in:4488 -msgid "MP3 ShoutCast playlist" -msgstr "" - -#: freedesktop.org.xml.in:4499 -msgid "Scream Tracker audio" -msgstr "" - -#: freedesktop.org.xml.in:4508 -msgid "VOC audio" -msgstr "" - -#: freedesktop.org.xml.in:4512 -msgid "WAV audio" -msgstr "" - -#: freedesktop.org.xml.in:4522 -msgid "Scream Tracker instrument" -msgstr "" - -#: freedesktop.org.xml.in:4529 -msgid "FastTracker II audio" -msgstr "" - -#: freedesktop.org.xml.in:4536 -msgid "TrueAudio audio" -msgstr "" - -#: freedesktop.org.xml.in:4544 -msgid "Windows BMP image" -msgstr "" - -#: freedesktop.org.xml.in:4559 -msgid "WBMP image" -msgstr "" - -#: freedesktop.org.xml.in:4565 -msgid "CGM image" -msgstr "" - -#: freedesktop.org.xml.in:4571 -msgid "CCITT G3 fax image" -msgstr "" - -#: freedesktop.org.xml.in:4576 -msgid "GIF image" -msgstr "" - -#: freedesktop.org.xml.in:4583 -msgid "HEIF image" -msgstr "" - -#: freedesktop.org.xml.in:4593 -msgid "IEF image" -msgstr "" - -#: freedesktop.org.xml.in:4597 -msgid "JPEG image" -msgstr "" - -#: freedesktop.org.xml.in:4608 -msgid "MJPEG video stream" -msgstr "" - -#: freedesktop.org.xml.in:4616 -msgid "JPEG-2000 codestream" -msgstr "" - -#: freedesktop.org.xml.in:4625 -msgid "JPEG-2000 JP2 image" -msgstr "" - -#: freedesktop.org.xml.in:4638 -msgid "JPEG-2000 JPX image" -msgstr "" - -#: freedesktop.org.xml.in:4648 -msgid "JPEG-2000 JPM image" -msgstr "" - -#: freedesktop.org.xml.in:4658 -msgid "JPEG-2000 MJ2 video" -msgstr "" - -#: freedesktop.org.xml.in:4668 -msgid "OpenRaster image" -msgstr "" - -#: freedesktop.org.xml.in:4680 -msgid "DirectDraw surface" -msgstr "" - -#: freedesktop.org.xml.in:4687 -msgid "X11 cursor" -msgstr "" - -#: freedesktop.org.xml.in:4693 -msgid "EXR image" -msgstr "" - -#: freedesktop.org.xml.in:4700 -msgid "Macintosh Quickdraw/PICT drawing" -msgstr "" - -#: freedesktop.org.xml.in:4725 -msgid "UFRaw ID image" -msgstr "" - -#: freedesktop.org.xml.in:4733 -msgid "digital raw image" -msgstr "" - -#: freedesktop.org.xml.in:4736 -msgid "Adobe DNG negative" -msgstr "" - -#: freedesktop.org.xml.in:4746 -msgid "Canon CRW raw image" -msgstr "" - -#: freedesktop.org.xml.in:4757 -msgid "Canon CR2 raw image" -msgstr "" - -#: freedesktop.org.xml.in:4765 -msgid "Fuji RAF raw image" -msgstr "" - -#: freedesktop.org.xml.in:4775 -msgid "Kodak DCR raw image" -msgstr "" - -#: freedesktop.org.xml.in:4783 -msgid "Kodak K25 raw image" -msgstr "" - -#: freedesktop.org.xml.in:4791 -msgid "Kodak KDC raw image" -msgstr "" - -#: freedesktop.org.xml.in:4802 -msgid "Minolta MRW raw image" -msgstr "" - -#: freedesktop.org.xml.in:4812 -msgid "Nikon NEF raw image" -msgstr "" - -#: freedesktop.org.xml.in:4820 -msgid "Olympus ORF raw image" -msgstr "" - -#: freedesktop.org.xml.in:4835 freedesktop.org.xml.in:4845 -msgid "Panasonic raw image" -msgstr "" - -#: freedesktop.org.xml.in:4855 -msgid "Pentax PEF raw image" -msgstr "" - -#: freedesktop.org.xml.in:4863 -msgid "Sigma X3F raw image" -msgstr "" - -#: freedesktop.org.xml.in:4877 -msgid "Sony SRF raw image" -msgstr "" - -#: freedesktop.org.xml.in:4885 -msgid "Sony SR2 raw image" -msgstr "" - -#: freedesktop.org.xml.in:4893 -msgid "Sony ARW raw image" -msgstr "" - -#: freedesktop.org.xml.in:4901 -msgid "PNG image" -msgstr "" - -#: freedesktop.org.xml.in:4908 -msgid "RLE bitmap image" -msgstr "" - -#: freedesktop.org.xml.in:4914 -msgid "SVG image" -msgstr "" - -#: freedesktop.org.xml.in:4926 -msgid "compressed SVG image" -msgstr "" - -#: freedesktop.org.xml.in:4933 -msgid "TIFF image" -msgstr "" - -#: freedesktop.org.xml.in:4944 -msgid "Multi-page TIFF image" -msgstr "" - -#: freedesktop.org.xml.in:4950 -msgid "AutoCAD image" -msgstr "" - -#: freedesktop.org.xml.in:4954 -msgid "DXF vector image" -msgstr "" - -#: freedesktop.org.xml.in:4962 -msgid "MDI image" -msgstr "" - -#: freedesktop.org.xml.in:4971 -msgid "WebP image" -msgstr "" - -#: freedesktop.org.xml.in:4980 -msgid "3D Studio image" -msgstr "" - -#: freedesktop.org.xml.in:4984 -msgid "Applix Graphics image" -msgstr "" - -#: freedesktop.org.xml.in:4993 -msgid "EPS image (bzip-compressed)" -msgstr "" - -#: freedesktop.org.xml.in:5000 -msgid "CMU raster image" -msgstr "" - -#: freedesktop.org.xml.in:5004 -msgid "compressed GIMP image" -msgstr "" - -#: freedesktop.org.xml.in:5009 -msgid "DICOM image" -msgstr "" - -#: freedesktop.org.xml.in:5020 -msgid "DocBook document" -msgstr "" - -#: freedesktop.org.xml.in:5035 -msgid "DIB image" -msgstr "" - -#: freedesktop.org.xml.in:5043 -msgid "DjVu image" -msgstr "" - -#: freedesktop.org.xml.in:5058 -msgid "DjVu document" -msgstr "" - -#: freedesktop.org.xml.in:5073 -msgid "DPX image" -msgstr "" - -#: freedesktop.org.xml.in:5081 -msgid "EPS image" -msgstr "" - -#: freedesktop.org.xml.in:5099 -msgid "FITS document" -msgstr "" - -#: freedesktop.org.xml.in:5109 -msgid "FPX image" -msgstr "" - -#: freedesktop.org.xml.in:5117 -msgid "EPS image (gzip-compressed)" -msgstr "" - -#: freedesktop.org.xml.in:5124 -msgid "Windows icon" -msgstr "" - -#: freedesktop.org.xml.in:5139 -msgid "MacOS X icon" -msgstr "" - -#: freedesktop.org.xml.in:5146 -msgid "ILBM image" -msgstr "" - -#: freedesktop.org.xml.in:5160 -msgid "JNG image" -msgstr "" - -#: freedesktop.org.xml.in:5166 -msgid "LightWave object" -msgstr "" - -#: freedesktop.org.xml.in:5171 -msgid "LightWave scene" -msgstr "" - -#: freedesktop.org.xml.in:5175 -msgid "MacPaint Bitmap image" -msgstr "" - -#: freedesktop.org.xml.in:5179 -msgid "Office drawing" -msgstr "" - -#: freedesktop.org.xml.in:5183 -msgid "NIFF image" -msgstr "" - -#: freedesktop.org.xml.in:5189 -msgid "PCX image" -msgstr "" - -#: freedesktop.org.xml.in:5204 -msgid "PCD image" -msgstr "" - -#: freedesktop.org.xml.in:5210 -msgid "PNM image" -msgstr "" - -#: freedesktop.org.xml.in:5214 -msgid "PBM image" -msgstr "" - -#: freedesktop.org.xml.in:5235 -msgid "PGM image" -msgstr "" - -#: freedesktop.org.xml.in:5256 -msgid "PPM image" -msgstr "" - -#: freedesktop.org.xml.in:5277 -msgid "Photoshop image" -msgstr "" - -#: freedesktop.org.xml.in:5290 -msgid "RGB image" -msgstr "" - -#: freedesktop.org.xml.in:5294 -msgid "SGI image" -msgstr "" - -#: freedesktop.org.xml.in:5298 -msgid "Sun raster image" -msgstr "" - -#: freedesktop.org.xml.in:5305 -msgid "TGA image" -msgstr "" - -#: freedesktop.org.xml.in:5331 -msgid "Windows cursor" -msgstr "" - -#: freedesktop.org.xml.in:5340 -msgid "Windows animated cursor" -msgstr "" - -#: freedesktop.org.xml.in:5349 -msgid "EMF image" -msgstr "" - -#: freedesktop.org.xml.in:5367 -msgid "WMF image" -msgstr "" - -#: freedesktop.org.xml.in:5391 -msgid "XBM image" -msgstr "" - -#: freedesktop.org.xml.in:5397 -msgid "GIMP image" -msgstr "" - -#: freedesktop.org.xml.in:5405 -msgid "GIMP brush" -msgstr "" - -#: freedesktop.org.xml.in:5412 -msgid "GIMP brush pipe" -msgstr "" - -#: freedesktop.org.xml.in:5416 -msgid "GIMP pattern" -msgstr "" - -#: freedesktop.org.xml.in:5423 -msgid "XFig image" -msgstr "" - -#: freedesktop.org.xml.in:5430 -msgid "XPM image" -msgstr "" - -#: freedesktop.org.xml.in:5440 -msgid "X window image" -msgstr "" - -#: freedesktop.org.xml.in:5444 -msgid "block device" -msgstr "" - -#: freedesktop.org.xml.in:5447 -msgid "character device" -msgstr "" - -#: freedesktop.org.xml.in:5450 -msgid "folder" -msgstr "" - -#: freedesktop.org.xml.in:5455 -msgid "pipe" -msgstr "" - -#: freedesktop.org.xml.in:5458 -msgid "mount point" -msgstr "" - -#: freedesktop.org.xml.in:5462 -msgid "socket" -msgstr "" - -#: freedesktop.org.xml.in:5465 -msgid "symbolic link" -msgstr "" - -#: freedesktop.org.xml.in:5468 -msgid "mail delivery report" -msgstr "" - -#: freedesktop.org.xml.in:5473 -msgid "mail disposition report" -msgstr "" - -#: freedesktop.org.xml.in:5478 -msgid "reference to remote file" -msgstr "" - -#: freedesktop.org.xml.in:5482 -msgid "Usenet news message" -msgstr "" - -#: freedesktop.org.xml.in:5492 -msgid "partial email message" -msgstr "" - -#: freedesktop.org.xml.in:5497 -msgid "email message" -msgstr "" - -#: freedesktop.org.xml.in:5515 -msgid "GNU mail message" -msgstr "" - -#: freedesktop.org.xml.in:5520 -msgid "IGES document" -msgstr "" - -#: freedesktop.org.xml.in:5533 -msgid "VRML document" -msgstr "" - -#: freedesktop.org.xml.in:5546 -msgid "message in several formats" -msgstr "" - -#: freedesktop.org.xml.in:5549 -msgid "Macintosh AppleDouble-encoded file" -msgstr "" - -#: freedesktop.org.xml.in:5552 -msgid "message digest" -msgstr "" - -#: freedesktop.org.xml.in:5555 -msgid "encrypted message" -msgstr "" - -#: freedesktop.org.xml.in:5558 -msgid "compound documents" -msgstr "" - -#: freedesktop.org.xml.in:5561 -msgid "compound document" -msgstr "" - -#: freedesktop.org.xml.in:5564 -msgid "mail system report" -msgstr "" - -#: freedesktop.org.xml.in:5567 -msgid "signed message" -msgstr "" - -#: freedesktop.org.xml.in:5570 -msgid "stream of data (server push)" -msgstr "" - -#: freedesktop.org.xml.in:5573 -msgid "VCS/ICS calendar" -msgstr "" - -#: freedesktop.org.xml.in:5587 -msgid "CSS stylesheet" -msgstr "" - -#: freedesktop.org.xml.in:5594 -msgid "electronic business card" -msgstr "" - -#: freedesktop.org.xml.in:5608 -msgid "Turtle document" -msgstr "" - -#: freedesktop.org.xml.in:5613 -msgid "txt2tags document" -msgstr "" - -#: freedesktop.org.xml.in:5622 -msgid "Verilog source code" -msgstr "" - -#: freedesktop.org.xml.in:5627 -msgid "SystemVerilog header" -msgstr "" - -#: freedesktop.org.xml.in:5632 -msgid "SystemVerilog source code" -msgstr "" - -#: freedesktop.org.xml.in:5637 -msgid "VHDL source code" -msgstr "" - -#: freedesktop.org.xml.in:5645 -msgid "enriched text document" -msgstr "" - -#: freedesktop.org.xml.in:5649 -msgid "help page" -msgstr "" - -#: freedesktop.org.xml.in:5653 -msgid "plain text document" -msgstr "" - -#: freedesktop.org.xml.in:5663 -msgid "RDF file" -msgstr "" - -#: freedesktop.org.xml.in:5674 -msgid "reStructuredText document" -msgstr "" - -#: freedesktop.org.xml.in:5679 -msgid "OWL XML file" -msgstr "" - -#: freedesktop.org.xml.in:5690 -msgid "email headers" -msgstr "" - -#: freedesktop.org.xml.in:5694 -msgid "rich text document" -msgstr "" - -#: freedesktop.org.xml.in:5699 -msgid "RSS summary" -msgstr "" - -#: freedesktop.org.xml.in:5712 -msgid "Atom syndication feed" -msgstr "" - -#: freedesktop.org.xml.in:5722 -msgid "OPML syndication feed" -msgstr "" - -#: freedesktop.org.xml.in:5732 -msgid "SGML document" -msgstr "" - -#: freedesktop.org.xml.in:5740 -msgid "spreadsheet interchange document" -msgstr "" - -#: freedesktop.org.xml.in:5749 -msgid "TSV document" -msgstr "" - -#: freedesktop.org.xml.in:5756 -msgid "Graphviz DOT graph" -msgstr "" - -#: freedesktop.org.xml.in:5768 -msgid "JAD document" -msgstr "" - -#: freedesktop.org.xml.in:5777 -msgid "WML document" -msgstr "" - -#: freedesktop.org.xml.in:5784 -msgid "WMLScript program" -msgstr "" - -#: freedesktop.org.xml.in:5788 -msgid "WarpScript source code" -msgstr "" - -#: freedesktop.org.xml.in:5793 -msgid "ACE archive" -msgstr "" - -#: freedesktop.org.xml.in:5801 -msgid "Ada source code" -msgstr "" - -#: freedesktop.org.xml.in:5807 -msgid "author list" -msgstr "" - -#: freedesktop.org.xml.in:5812 -msgid "BibTeX document" -msgstr "" - -#: freedesktop.org.xml.in:5820 -msgid "C++ header" -msgstr "" - -#: freedesktop.org.xml.in:5829 -msgid "C++ source code" -msgstr "" - -#: freedesktop.org.xml.in:5838 -msgid "ChangeLog document" -msgstr "" - -#: freedesktop.org.xml.in:5843 -msgid "C header" -msgstr "" - -#: freedesktop.org.xml.in:5848 -msgid "CMake source code" -msgstr "" - -#: freedesktop.org.xml.in:5854 -msgid "CSV document" -msgstr "" - -#: freedesktop.org.xml.in:5863 -msgid "CSV Schema document" -msgstr "" - -#: freedesktop.org.xml.in:5870 -msgid "license terms" -msgstr "" - -#: freedesktop.org.xml.in:5875 -msgid "author credits" -msgstr "" - -#: freedesktop.org.xml.in:5880 -msgid "C source code" -msgstr "" - -#: freedesktop.org.xml.in:5891 -msgid "C# source code" -msgstr "" - -#: freedesktop.org.xml.in:5896 -msgid "Vala source code" -msgstr "" - -#: freedesktop.org.xml.in:5902 -msgid "OOC source code" -msgstr "" - -#: freedesktop.org.xml.in:5909 -msgid "DCL script" -msgstr "" - -#: freedesktop.org.xml.in:5916 -msgid "DSSSL document" -msgstr "" - -#: freedesktop.org.xml.in:5923 -msgid "D source code" -msgstr "" - -#: freedesktop.org.xml.in:5929 -msgid "DTD file" -msgstr "" - -#: freedesktop.org.xml.in:5938 -msgid "Eiffel source code" -msgstr "" - -#: freedesktop.org.xml.in:5944 -msgid "Emacs Lisp source code" -msgstr "" - -#: freedesktop.org.xml.in:5953 -msgid "Erlang source code" -msgstr "" - -#: freedesktop.org.xml.in:5958 -msgid "Fortran source code" -msgstr "" - -#: freedesktop.org.xml.in:5966 -msgid "Genie source code" -msgstr "" - -#: freedesktop.org.xml.in:5972 -msgid "translation file" -msgstr "" - -#: freedesktop.org.xml.in:5979 -msgid "translation template" -msgstr "" - -#: freedesktop.org.xml.in:5988 -msgid "Gherkin document" -msgstr "" - -#: freedesktop.org.xml.in:5993 -msgid "HTML document" -msgstr "" - -#: freedesktop.org.xml.in:6020 -msgid "Web application cache file" -msgstr "" - -#: freedesktop.org.xml.in:6033 -msgid "Google Video Pointer shortcut" -msgstr "" - -#: freedesktop.org.xml.in:6042 -msgid "Haskell source code" -msgstr "" - -#: freedesktop.org.xml.in:6047 -msgid "IDL document" -msgstr "" - -#: freedesktop.org.xml.in:6054 -msgid "installation instructions" -msgstr "" - -#: freedesktop.org.xml.in:6059 -msgid "Java source code" -msgstr "" - -#: freedesktop.org.xml.in:6064 -msgid "LDIF address book" -msgstr "" - -#: freedesktop.org.xml.in:6075 -msgid "Lilypond music sheet" -msgstr "" - -#: freedesktop.org.xml.in:6080 -msgid "LHS source code" -msgstr "" - -#: freedesktop.org.xml.in:6087 -msgid "application log" -msgstr "" - -#: freedesktop.org.xml.in:6092 -msgid "Makefile build file" -msgstr "" - -#: freedesktop.org.xml.in:6105 -msgid "Markdown document" -msgstr "" - -#: freedesktop.org.xml.in:6113 -msgid "Qt MOC file" -msgstr "" - -#: freedesktop.org.xml.in:6120 -msgid "Windows Registry extract" -msgstr "" - -#: freedesktop.org.xml.in:6130 -msgid "MOF file" -msgstr "" - -#: freedesktop.org.xml.in:6137 -msgid "Mup musical composition document" -msgstr "" - -#: freedesktop.org.xml.in:6146 -msgid "Objective-C source code" -msgstr "" - -#: freedesktop.org.xml.in:6154 -msgid "OCaml source code" -msgstr "" - -#: freedesktop.org.xml.in:6159 -msgid "OpenCL source code" -msgstr "" - -#: freedesktop.org.xml.in:6166 -msgid "MATLAB file" -msgstr "" - -#: freedesktop.org.xml.in:6181 -msgid "Meson source code" -msgstr "" - -#: freedesktop.org.xml.in:6187 -msgid "Modelica model" -msgstr "" - -#: freedesktop.org.xml.in:6207 -msgid "Pascal source code" -msgstr "" - -#: freedesktop.org.xml.in:6213 -msgid "differences between files" -msgstr "" - -#: freedesktop.org.xml.in:6232 -msgid "Go source code" -msgstr "" - -#: freedesktop.org.xml.in:6237 -msgid "SCons configuration file" -msgstr "" - -#: freedesktop.org.xml.in:6244 -msgid "Python 3 script" -msgstr "" - -#: freedesktop.org.xml.in:6263 -msgid "Python script" -msgstr "" - -#: freedesktop.org.xml.in:6283 -msgid "Lua script" -msgstr "" - -#: freedesktop.org.xml.in:6295 -msgid "README document" -msgstr "" - -#: freedesktop.org.xml.in:6300 -msgid "NFO document" -msgstr "" - -#: freedesktop.org.xml.in:6305 -msgid "RPM spec file" -msgstr "" - -#: freedesktop.org.xml.in:6316 -msgid "Sass CSS pre-processor file" -msgstr "" - -#: freedesktop.org.xml.in:6324 -msgid "Scala source code" -msgstr "" - -#: freedesktop.org.xml.in:6329 -msgid "Scheme source code" -msgstr "" - -#: freedesktop.org.xml.in:6335 -msgid "SCSS pre-processor file" -msgstr "" - -#: freedesktop.org.xml.in:6343 -msgid "Setext document" -msgstr "" - -#: freedesktop.org.xml.in:6348 -msgid "SQL code" -msgstr "" - -#: freedesktop.org.xml.in:6354 -msgid "Tcl script" -msgstr "" - -#: freedesktop.org.xml.in:6360 -msgid "TeX document" -msgstr "" - -#: freedesktop.org.xml.in:6378 -msgid "TeXInfo document" -msgstr "" - -#: freedesktop.org.xml.in:6384 -msgid "Troff ME input document" -msgstr "" - -#: freedesktop.org.xml.in:6389 -msgid "Troff MM input document" -msgstr "" - -#: freedesktop.org.xml.in:6394 -msgid "Troff MS input document" -msgstr "" - -#: freedesktop.org.xml.in:6399 -msgid "Twig template" -msgstr "" - -#: freedesktop.org.xml.in:6405 -msgid "X-Motif UIL table" -msgstr "" - -#: freedesktop.org.xml.in:6410 -msgid "resource location" -msgstr "" - -#: freedesktop.org.xml.in:6415 -msgid "uuencoded file" -msgstr "" - -#: freedesktop.org.xml.in:6424 -msgid "XMI file" -msgstr "" - -#: freedesktop.org.xml.in:6433 -msgid "XSL FO file" -msgstr "" - -#: freedesktop.org.xml.in:6442 -msgid "iptables configuration file" -msgstr "" - -#: freedesktop.org.xml.in:6467 -msgid "D-Bus service file" -msgstr "" - -#: freedesktop.org.xml.in:6476 -msgid "systemd unit file" -msgstr "" - -#: freedesktop.org.xml.in:6520 -msgid "XSLT stylesheet" -msgstr "" - -#: freedesktop.org.xml.in:6533 -msgid "Maven description file" -msgstr "" - -#: freedesktop.org.xml.in:6540 -msgid "XMCD CD database" -msgstr "" - -#: freedesktop.org.xml.in:6547 -msgid "XML document" -msgstr "" - -#: freedesktop.org.xml.in:6563 -msgid "XML entities document" -msgstr "" - -#: freedesktop.org.xml.in:6572 -msgid "DV video" -msgstr "" - -#: freedesktop.org.xml.in:6581 -msgid "ISI video" -msgstr "" - -#: freedesktop.org.xml.in:6584 -msgid "MPEG-2 transport stream" -msgstr "" - -#: freedesktop.org.xml.in:6619 -msgid "MPEG video" -msgstr "" - -#: freedesktop.org.xml.in:6639 -msgid "MPEG video (streamed)" -msgstr "" - -#: freedesktop.org.xml.in:6650 -msgid "QuickTime video" -msgstr "" - -#: freedesktop.org.xml.in:6663 -msgid "QuickTime image" -msgstr "" - -#: freedesktop.org.xml.in:6671 -msgid "Khronos texture image" -msgstr "" - -#: freedesktop.org.xml.in:6682 -msgid "Vivo video" -msgstr "" - -#: freedesktop.org.xml.in:6688 -msgid "Wavelet video" -msgstr "" - -#: freedesktop.org.xml.in:6691 -msgid "ANIM animation" -msgstr "" - -#: freedesktop.org.xml.in:6695 -msgid "FLIC animation" -msgstr "" - -#: freedesktop.org.xml.in:6706 -msgid "Haansoft Hangul document" -msgstr "" - -#: freedesktop.org.xml.in:6715 -msgid "Haansoft Hangul document template" -msgstr "" - -#: freedesktop.org.xml.in:6721 -msgid "MNG animation" -msgstr "" - -#: freedesktop.org.xml.in:6730 -msgid "ASF video" -msgstr "" - -#: freedesktop.org.xml.in:6743 -msgid "Windows Media Station file" -msgstr "" - -#: freedesktop.org.xml.in:6752 -msgid "Windows Media video" -msgstr "" - -#: freedesktop.org.xml.in:6757 -msgid "AVI video" -msgstr "" - -#: freedesktop.org.xml.in:6778 -msgid "NullSoft video" -msgstr "" - -#: freedesktop.org.xml.in:6785 -msgid "SDP multicast stream file" -msgstr "" - -#: freedesktop.org.xml.in:6800 -msgid "SGI video" -msgstr "" - -#: freedesktop.org.xml.in:6807 -msgid "eMusic download package" -msgstr "" - -#: freedesktop.org.xml.in:6815 -msgid "KML geographic data" -msgstr "" - -#: freedesktop.org.xml.in:6823 -msgid "KML geographic compressed data" -msgstr "" - -#: freedesktop.org.xml.in:6830 -msgid "GeoJSON geospatial data" -msgstr "" - -#: freedesktop.org.xml.in:6837 -msgid "GPX geographic data" -msgstr "" - -#: freedesktop.org.xml.in:6849 -msgid "Citrix ICA settings file" -msgstr "" - -#: freedesktop.org.xml.in:6857 -msgid "XUL interface document" -msgstr "" - -#: freedesktop.org.xml.in:6866 -msgid "XPInstall installer module" -msgstr "" - -#: freedesktop.org.xml.in:6871 -msgid "Word 2007 document" -msgstr "" - -#: freedesktop.org.xml.in:6877 -msgid "Word 2007 document template" -msgstr "" - -#: freedesktop.org.xml.in:6883 -msgid "PowerPoint 2007 presentation" -msgstr "" - -#: freedesktop.org.xml.in:6889 -msgid "PowerPoint 2007 slide" -msgstr "" - -#: freedesktop.org.xml.in:6895 -msgid "PowerPoint 2007 show" -msgstr "" - -#: freedesktop.org.xml.in:6901 -msgid "PowerPoint 2007 presentation template" -msgstr "" - -#: freedesktop.org.xml.in:6907 -msgid "Excel 2007 spreadsheet" -msgstr "" - -#: freedesktop.org.xml.in:6913 -msgid "Excel 2007 spreadsheet template" -msgstr "" - -#: freedesktop.org.xml.in:6919 -msgid "T602 document" -msgstr "" - -#: freedesktop.org.xml.in:6929 -msgid "Cisco VPN settings" -msgstr "" - -#: freedesktop.org.xml.in:6939 -msgid "ICC profile" -msgstr "" - -#: freedesktop.org.xml.in:6947 -msgid "IT 8.7 color calibration file" -msgstr "" - -#: freedesktop.org.xml.in:6956 -msgid "CCMX color correction file" -msgstr "" - -#: freedesktop.org.xml.in:6965 -msgid "WinHelp help file" -msgstr "" - -#: freedesktop.org.xml.in:6973 -msgid "binary differences between files" -msgstr "" - -#. http://en.wikipedia.org/wiki/Design_rule_for_Camera_File_system -#: freedesktop.org.xml.in:6984 -msgid "digital photos" -msgstr "" - -#. TRANSLATORS: This is a brand-name, not a generic term. Please see -#. http://en.wikipedia.org/wiki/Video_CD -#. http://www.herongyang.com/CD-DVD/VCD-Movie-File-Directory-Structure.html -#: freedesktop.org.xml.in:6994 -msgid "Video CD" -msgstr "" - -#. TRANSLATORS: This is a brand-name, not a generic term. Please see -#. http://en.wikipedia.org/wiki/Super_Video_CD -#. http://everything2.com/index.pl?node_id=1009222 -#: freedesktop.org.xml.in:7004 -msgid "Super Video CD" -msgstr "" - -#. http://en.wikipedia.org/wiki/DVD-Video -#: freedesktop.org.xml.in:7012 -msgid "video DVD" -msgstr "" - -#. http://en.wikipedia.org/wiki/Red_Book_(audio_CD_standard) -#: freedesktop.org.xml.in:7023 -msgid "audio CD" -msgstr "" - -#. http://en.wikipedia.org/wiki/Compact_Disc -#: freedesktop.org.xml.in:7028 -msgid "blank CD disc" -msgstr "" - -#. http://en.wikipedia.org/wiki/DVD -#: freedesktop.org.xml.in:7033 -msgid "blank DVD disc" -msgstr "" - -#. http://en.wikipedia.org/wiki/Blu-ray_Disc -#: freedesktop.org.xml.in:7038 -msgid "blank Blu-ray disc" -msgstr "" - -#. http://en.wikipedia.org/wiki/HD_DVD -#: freedesktop.org.xml.in:7043 -msgid "blank HD DVD disc" -msgstr "" - -#. http://en.wikipedia.org/wiki/DVD-Audio -#: freedesktop.org.xml.in:7048 -msgid "audio DVD" -msgstr "" - -#. http://en.wikipedia.org/wiki/Blu-ray_Disc -#. http://www.blu-raydisc.com/Section-13470/Section-13890/Index.html -#: freedesktop.org.xml.in:7058 -msgid "Blu-ray video disc" -msgstr "" - -#. http://en.wikipedia.org/wiki/HD_DVD -#. http://www.dvdafteredit.com/wiki/The_HVDVD_TS_Folder -#: freedesktop.org.xml.in:7068 -msgid "HD DVD video disc" -msgstr "" - -#. see fd.o hal spec -#: freedesktop.org.xml.in:7078 -msgid "e-book reader" -msgstr "" - -#. TRANSLATORS: This is a brand-name, not a generic term. Please see -#. http://en.wikipedia.org/wiki/Picture_CD -#. http://www.re.org/kristin/picturecd.html -#: freedesktop.org.xml.in:7089 -msgid "Picture CD" -msgstr "" - -#. see fd.o hal spec -#: freedesktop.org.xml.in:7097 -msgid "portable audio player" -msgstr "" - -#. https://github.com/ostreedev/ostree/blob/master/man/ostree-create-usb.xml -#: freedesktop.org.xml.in:7102 -msgid "OSTree software updates" -msgstr "" - -#. http://standards.freedesktop.org/autostart-spec/autostart-spec-latest.html -#. http://bugzilla.gnome.org/show_bug.cgi?id=509823#c3 -#: freedesktop.org.xml.in:7113 -msgid "software" -msgstr "" - -#. http://standards.freedesktop.org/autostart-spec/autostart-spec-latest.html -#. http://bugzilla.gnome.org/show_bug.cgi?id=509823#c3 -#: freedesktop.org.xml.in:7119 -msgid "UNIX software" -msgstr "" - -#. http://standards.freedesktop.org/autostart-spec/autostart-spec-latest.html -#. http://bugzilla.gnome.org/show_bug.cgi?id=509823#c3 -#: freedesktop.org.xml.in:7131 -msgid "Windows software" -msgstr "" - -#: freedesktop.org.xml.in:7140 -msgid "TriG RDF document" -msgstr "" - -#: freedesktop.org.xml.in:7149 -msgid "Apple Keynote 5 presentation" -msgstr "" - -#: freedesktop.org.xml.in:7162 -msgid "Adobe PageMaker document" -msgstr "" - -#: freedesktop.org.xml.in:7172 -msgid "Doom WAD file" -msgstr "" - -#: freedesktop.org.xml.in:7184 -msgid "Amiga disk image" -msgstr "" - -#: freedesktop.org.xml.in:7192 -msgid "Flatpak application bundle" -msgstr "" - -#: freedesktop.org.xml.in:7204 -msgid "Flatpak repository description" -msgstr "" - -#: freedesktop.org.xml.in:7214 -msgid "Flatpak repository reference" -msgstr "" - -#: freedesktop.org.xml.in:7224 -msgid "Squashfs filesystem image" -msgstr "" - -#: freedesktop.org.xml.in:7251 -msgid "Snap package" -msgstr "" - -#: freedesktop.org.xml.in:7258 -msgid "STL 3D model" -msgstr "" - -#: freedesktop.org.xml.in:7271 -msgid "G-code file" -msgstr "" - -#: freedesktop.org.xml.in:7278 -msgid "Nintendo FDS disk image" -msgstr "" Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/sk.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/sk.gmo differ diff -Nru shared-mime-info-1.15/po/sk.po shared-mime-info-2.0/po/sk.po --- shared-mime-info-1.15/po/sk.po 2019-09-20 13:21:50.000000000 +0000 +++ shared-mime-info-2.0/po/sk.po 2020-05-06 14:11:14.126908300 +0000 @@ -3,7 +3,7 @@ # This file is distributed under the same license as the shared-mime-info package. # # Translators: -# DuÅ¡an Kazik , 2015-2018 +# DuÅ¡an Kazik , 2015-2018,2020 # Ivan Masár , 2015 # Pavol Å imo , 2011 msgid "" @@ -11,8 +11,8 @@ "Project-Id-Version: shared-mime-info\n" "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/xdg/shared-mime-info/issues\n" "POT-Creation-Date: 2019-09-11 12:53+0200\n" -"PO-Revision-Date: 2019-08-20 21:02+0000\n" -"Last-Translator: hadess \n" +"PO-Revision-Date: 2020-01-16 09:07+0000\n" +"Last-Translator: DuÅ¡an Kazik \n" "Language-Team: Slovak (http://www.transifex.com/freedesktop/shared-mime-info/language/sk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -102,7 +102,7 @@ #: freedesktop.org.xml.in:257 msgid "iRiver playlist" -msgstr "" +msgstr "Zoznam skladieb iRiver" #: freedesktop.org.xml.in:264 msgid "PGP/MIME-encrypted message header" @@ -118,7 +118,7 @@ #: freedesktop.org.xml.in:310 msgid "PKCS#7 file" -msgstr "" +msgstr "Súbor PKCS#7" #: freedesktop.org.xml.in:318 msgid "detached S/MIME signature" @@ -150,7 +150,7 @@ #: freedesktop.org.xml.in:357 msgid "PostScript document" -msgstr "" +msgstr "Dokument PostScript" #: freedesktop.org.xml.in:367 msgid "Plucker document" @@ -233,7 +233,7 @@ #: freedesktop.org.xml.in:575 msgid "Lotus Word Pro document" -msgstr "" +msgstr "Dokument Lotus Word Pro" #: freedesktop.org.xml.in:583 msgid "JET database" @@ -278,11 +278,11 @@ #: freedesktop.org.xml.in:691 freedesktop.org.xml.in:709 msgid "Office Open XML Visio drawing" -msgstr "" +msgstr "Kresba aplikácie Office Open XML Visio" #: freedesktop.org.xml.in:697 freedesktop.org.xml.in:715 msgid "Office Open XML Visio template" -msgstr "" +msgstr "Å ablóna aplikácie Office Open XML Visio" #: freedesktop.org.xml.in:703 freedesktop.org.xml.in:721 msgid "Office Open XML Visio stencil" @@ -498,15 +498,15 @@ #: freedesktop.org.xml.in:1325 msgid "YouTube media archive" -msgstr "" +msgstr "Archív médií YouTube" #: freedesktop.org.xml.in:1331 msgid "SPSS portable data file" -msgstr "" +msgstr "Súbor prenosných údajov SPSS" #: freedesktop.org.xml.in:1340 msgid "SPSS data file" -msgstr "" +msgstr "Súbor údajov SPSS" #: freedesktop.org.xml.in:1352 msgid "XBEL bookmarks" @@ -578,11 +578,11 @@ #: freedesktop.org.xml.in:1517 msgid "Bzip archive" -msgstr "Archív bzip" +msgstr "Archív Bzip" #: freedesktop.org.xml.in:1527 msgid "Tar archive (bzip-compressed)" -msgstr "Archív tar (komprimovaný pomocou bzip)" +msgstr "Archív Tar (komprimovaný pomocou bzip)" #: freedesktop.org.xml.in:1537 msgid "PDF document (bzip-compressed)" @@ -603,7 +603,7 @@ #: freedesktop.org.xml.in:1583 msgid "Tar archive (lrzip-compressed)" -msgstr "Archív tar (komprimovaný pomocou lrzip)" +msgstr "Archív Tar (komprimovaný pomocou lrzip)" #: freedesktop.org.xml.in:1590 msgid "Apple disk image" @@ -651,7 +651,7 @@ #: freedesktop.org.xml.in:1682 msgid "Tar archive (gzip-compressed)" -msgstr "Archív tar (komprimovaný pomocou gzip)" +msgstr "Archív Tar (komprimovaný pomocou gzip)" #: freedesktop.org.xml.in:1689 msgid "program crash data" @@ -698,7 +698,7 @@ #: freedesktop.org.xml.in:1788 msgid "Dreamcast disc image" -msgstr "" +msgstr "Obraz disku Dreamcast" #: freedesktop.org.xml.in:1793 msgid "Nintendo DS ROM" @@ -946,7 +946,7 @@ #: freedesktop.org.xml.in:2338 msgid "Gzip archive" -msgstr "Archív gzip" +msgstr "Archív Gzip" #: freedesktop.org.xml.in:2347 msgid "PDF document (gzip-compressed)" @@ -1042,15 +1042,15 @@ #: freedesktop.org.xml.in:2570 msgid "Kexi settings" -msgstr "" +msgstr "Nastavenia Kexi" #: freedesktop.org.xml.in:2574 msgid "Kexi shortcut" -msgstr "" +msgstr "Odkaz Kexi" #: freedesktop.org.xml.in:2578 freedesktop.org.xml.in:2583 msgid "Kexi database file" -msgstr "" +msgstr "Súbor databázy Kexi" #: freedesktop.org.xml.in:2590 msgid "KFormula formula" @@ -1126,7 +1126,7 @@ #: freedesktop.org.xml.in:2811 msgid "Tar archive (LZ4-compressed)" -msgstr "Archív tar (komprimovaný pomocou LZ4)" +msgstr "Archív Tar (komprimovaný pomocou LZ4)" #: freedesktop.org.xml.in:2817 msgid "Lzip archive" @@ -1134,7 +1134,7 @@ #: freedesktop.org.xml.in:2825 msgid "Tar archive (lzip-compressed)" -msgstr "Archív tar (komprimovaný pomocou lzip)" +msgstr "Archív Tar (komprimovaný pomocou lzip)" #: freedesktop.org.xml.in:2831 msgid "PDF document (lzip-compressed)" @@ -1146,7 +1146,7 @@ #: freedesktop.org.xml.in:2844 msgid "Tar archive (LZMA-compressed)" -msgstr "Archív tar (komprimovaný pomocou LZMA)" +msgstr "Archív Tar (komprimovaný pomocou LZMA)" #: freedesktop.org.xml.in:2851 msgid "LZO archive" @@ -1210,7 +1210,7 @@ #: freedesktop.org.xml.in:2971 msgid "COBOL source code" -msgstr "" +msgstr "Zdrojový kód COBOL" #: freedesktop.org.xml.in:2979 msgid "Mobipocket e-book" @@ -1295,11 +1295,11 @@ #: freedesktop.org.xml.in:3175 msgid "Ogg audio" -msgstr "" +msgstr "Zvuk Ogg" #: freedesktop.org.xml.in:3186 msgid "Ogg video" -msgstr "" +msgstr "Video Ogg" #: freedesktop.org.xml.in:3196 msgid "Ogg Vorbis audio" @@ -1407,7 +1407,7 @@ #: freedesktop.org.xml.in:3442 msgid "QuickTime playlist" -msgstr "" +msgstr "Zoznam skladieb QuickTime" #: freedesktop.org.xml.in:3457 msgid "Quicken document" @@ -1568,11 +1568,11 @@ #: freedesktop.org.xml.in:3812 msgid "Tar archive" -msgstr "Archív tar" +msgstr "Archív Tar" #: freedesktop.org.xml.in:3824 msgid "Tar archive (compressed)" -msgstr "Archív tar (komprimovaný)" +msgstr "Archív Tar (komprimovaný)" #: freedesktop.org.xml.in:3831 msgid "generic font file" @@ -1612,7 +1612,7 @@ #: freedesktop.org.xml.in:3892 msgid "Tar archive (LZO-compressed)" -msgstr "Archív tar (komprimovaný pomocou LZO)" +msgstr "Archív Tar (komprimovaný pomocou LZO)" #: freedesktop.org.xml.in:3899 msgid "XZ archive" @@ -1620,11 +1620,11 @@ #: freedesktop.org.xml.in:3907 msgid "Tar archive (XZ-compressed)" -msgstr "Archív tar (komprimovaný pomocou XZ)" +msgstr "Archív Tar (komprimovaný pomocou XZ)" #: freedesktop.org.xml.in:3914 msgid "Zstandard archive" -msgstr "" +msgstr "Archív Zstandard" #: freedesktop.org.xml.in:3922 msgid "Tar archive (Zstandard-compressed)" @@ -1636,7 +1636,7 @@ #: freedesktop.org.xml.in:3935 msgid "Ustar archive" -msgstr "Archív ustar" +msgstr "Archív Ustar" #: freedesktop.org.xml.in:3940 msgid "WAIS source code" @@ -1664,7 +1664,7 @@ #: freedesktop.org.xml.in:3972 msgid "Zoo archive" -msgstr "Archív zoo" +msgstr "Archív Zoo" #: freedesktop.org.xml.in:3980 msgid "XHTML page" @@ -1676,7 +1676,7 @@ #: freedesktop.org.xml.in:4008 msgid "WIM disk image" -msgstr "" +msgstr "Obraz disku WIM" #: freedesktop.org.xml.in:4018 msgid "Dolby Digital audio" @@ -1764,7 +1764,7 @@ #: freedesktop.org.xml.in:4221 msgid "MPEG-4 ringtone" -msgstr "" +msgstr "Zvonenie MPEG-4" #: freedesktop.org.xml.in:4226 msgid "MPEG-4 video" @@ -1832,7 +1832,7 @@ #: freedesktop.org.xml.in:4439 msgid "RealMedia playlist" -msgstr "" +msgstr "Zoznam skladieb RealMedia" #: freedesktop.org.xml.in:4443 msgid "RealVideo document" @@ -1900,7 +1900,7 @@ #: freedesktop.org.xml.in:4565 msgid "CGM image" -msgstr "" +msgstr "Obrázok CGM" #: freedesktop.org.xml.in:4571 msgid "CCITT G3 fax image" @@ -1948,7 +1948,7 @@ #: freedesktop.org.xml.in:4668 msgid "OpenRaster image" -msgstr "" +msgstr "Obrázok OpenRaster" #: freedesktop.org.xml.in:4680 msgid "DirectDraw surface" @@ -2072,7 +2072,7 @@ #: freedesktop.org.xml.in:4962 msgid "MDI image" -msgstr "" +msgstr "Obrázok MDI" #: freedesktop.org.xml.in:4971 msgid "WebP image" @@ -2592,7 +2592,7 @@ #: freedesktop.org.xml.in:5988 msgid "Gherkin document" -msgstr "" +msgstr "Dokument Gherkin" #: freedesktop.org.xml.in:5993 msgid "HTML document" @@ -2640,7 +2640,7 @@ #: freedesktop.org.xml.in:6092 msgid "Makefile build file" -msgstr "" +msgstr "Súbor zostavenia Makefile" #: freedesktop.org.xml.in:6105 msgid "Markdown document" @@ -2656,11 +2656,11 @@ #: freedesktop.org.xml.in:6130 msgid "MOF file" -msgstr "" +msgstr "Súbor MOF" #: freedesktop.org.xml.in:6137 msgid "Mup musical composition document" -msgstr "" +msgstr "Dokument hudobnej kompozície Mup" #: freedesktop.org.xml.in:6146 msgid "Objective-C source code" @@ -2676,7 +2676,7 @@ #: freedesktop.org.xml.in:6166 msgid "MATLAB file" -msgstr "" +msgstr "Súbor MATLAB" #: freedesktop.org.xml.in:6181 msgid "Meson source code" @@ -2988,7 +2988,7 @@ #: freedesktop.org.xml.in:6929 msgid "Cisco VPN settings" -msgstr "" +msgstr "Nastavenia Cisco VPN" #: freedesktop.org.xml.in:6939 msgid "ICC profile" @@ -3126,7 +3126,7 @@ #: freedesktop.org.xml.in:7162 msgid "Adobe PageMaker document" -msgstr "" +msgstr "Dokument Adobe PageMaker" #: freedesktop.org.xml.in:7172 msgid "Doom WAD file" @@ -3150,7 +3150,7 @@ #: freedesktop.org.xml.in:7224 msgid "Squashfs filesystem image" -msgstr "" +msgstr "Obraz systému súborov Squashfs" #: freedesktop.org.xml.in:7251 msgid "Snap package" Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/sl.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/sl.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/sq.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/sq.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/sr.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/sr.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/sr@latin.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/sr@latin.gmo differ diff -Nru shared-mime-info-1.15/po/stamp-po shared-mime-info-2.0/po/stamp-po --- shared-mime-info-1.15/po/stamp-po 2019-09-11 10:53:17.000000000 +0000 +++ shared-mime-info-2.0/po/stamp-po 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -timestamp Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/sv.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/sv.gmo differ diff -Nru shared-mime-info-1.15/po/sv.po shared-mime-info-2.0/po/sv.po --- shared-mime-info-1.15/po/sv.po 2019-09-20 13:24:24.000000000 +0000 +++ shared-mime-info-2.0/po/sv.po 2020-05-06 14:11:14.131908200 +0000 @@ -6,15 +6,15 @@ # Anders Jonsson , 2017,2019 # Daniel Nylander , 2011 # Josef Andersson , 2017 -# Sebastian Rasmussen , 2019 +# Sebastian Rasmussen , 2019-2020 # Sebastian Rasmussen , 2016,2018 msgid "" msgstr "" "Project-Id-Version: shared-mime-info\n" "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/xdg/shared-mime-info/issues\n" "POT-Creation-Date: 2019-09-11 12:53+0200\n" -"PO-Revision-Date: 2019-09-14 15:29+0000\n" -"Last-Translator: Anders Jonsson \n" +"PO-Revision-Date: 2020-02-09 07:41+0000\n" +"Last-Translator: Sebastian Rasmussen \n" "Language-Team: Swedish (http://www.transifex.com/freedesktop/shared-mime-info/language/sv/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -52,7 +52,7 @@ #: freedesktop.org.xml.in:138 msgid "Mathematica Notebook file" -msgstr "" +msgstr "Mathematics anteckningsboksfil" #: freedesktop.org.xml.in:153 msgid "MathML document" @@ -144,7 +144,7 @@ #: freedesktop.org.xml.in:349 msgid "certificate revocation list" -msgstr "" +msgstr "certifikatÃ¥terkallningslist" #: freedesktop.org.xml.in:353 msgid "PkiPath certification path" @@ -280,7 +280,7 @@ #: freedesktop.org.xml.in:691 freedesktop.org.xml.in:709 msgid "Office Open XML Visio drawing" -msgstr "" +msgstr "Office Open XML Visio-ritning" #: freedesktop.org.xml.in:697 freedesktop.org.xml.in:715 msgid "Office Open XML Visio template" @@ -288,7 +288,7 @@ #: freedesktop.org.xml.in:703 freedesktop.org.xml.in:721 msgid "Office Open XML Visio stencil" -msgstr "" +msgstr "Office Open XML Visio-stencil" #: freedesktop.org.xml.in:727 freedesktop.org.xml.in:769 msgid "Word document" @@ -492,7 +492,7 @@ #: freedesktop.org.xml.in:1297 msgid "network packet capture" -msgstr "" +msgstr "nätverkspaketsspÃ¥rning" #: freedesktop.org.xml.in:1309 msgid "WordPerfect document" @@ -504,7 +504,7 @@ #: freedesktop.org.xml.in:1331 msgid "SPSS portable data file" -msgstr "" +msgstr "SPSS portabel datafil" #: freedesktop.org.xml.in:1340 msgid "SPSS data file" @@ -744,7 +744,7 @@ #: freedesktop.org.xml.in:1880 msgid "Qt Designer interface document" -msgstr "" +msgstr "Qt Designer-gränssnittsdokument" #: freedesktop.org.xml.in:1890 msgid "Qt Markup Language file" @@ -916,7 +916,7 @@ #: freedesktop.org.xml.in:2278 msgid "GTK+ Builder interface document" -msgstr "" +msgstr "GTK+-Builder-gränssnittsdokument" #: freedesktop.org.xml.in:2287 msgid "Glade project" @@ -1024,7 +1024,7 @@ #: freedesktop.org.xml.in:2513 msgid "Jupyter notebook document" -msgstr "" +msgstr "Jupyter-anteckningsboksdokument" #: freedesktop.org.xml.in:2524 msgid "CoffeeScript document" @@ -1678,7 +1678,7 @@ #: freedesktop.org.xml.in:4008 msgid "WIM disk image" -msgstr "" +msgstr "WIM-diskavbildning" #: freedesktop.org.xml.in:4018 msgid "Dolby Digital audio" @@ -1902,11 +1902,11 @@ #: freedesktop.org.xml.in:4565 msgid "CGM image" -msgstr "" +msgstr "CGM-bild" #: freedesktop.org.xml.in:4571 msgid "CCITT G3 fax image" -msgstr "" +msgstr "CCITT G3 faxbild" #: freedesktop.org.xml.in:4576 msgid "GIF image" @@ -2046,7 +2046,7 @@ #: freedesktop.org.xml.in:4908 msgid "RLE bitmap image" -msgstr "" +msgstr "RLE bitmappsbild" #: freedesktop.org.xml.in:4914 msgid "SVG image" @@ -2074,7 +2074,7 @@ #: freedesktop.org.xml.in:4962 msgid "MDI image" -msgstr "" +msgstr "MDI-bild" #: freedesktop.org.xml.in:4971 msgid "WebP image" @@ -2602,11 +2602,11 @@ #: freedesktop.org.xml.in:6020 msgid "Web application cache file" -msgstr "" +msgstr "Webbapplikation cachefil" #: freedesktop.org.xml.in:6033 msgid "Google Video Pointer shortcut" -msgstr "" +msgstr "Google Video Pointer-genväg" #: freedesktop.org.xml.in:6042 msgid "Haskell source code" @@ -2642,7 +2642,7 @@ #: freedesktop.org.xml.in:6092 msgid "Makefile build file" -msgstr "" +msgstr "Makefile-byggfil" #: freedesktop.org.xml.in:6105 msgid "Markdown document" @@ -2658,11 +2658,11 @@ #: freedesktop.org.xml.in:6130 msgid "MOF file" -msgstr "" +msgstr "MOF-fil" #: freedesktop.org.xml.in:6137 msgid "Mup musical composition document" -msgstr "" +msgstr "Mup musikkompositionsdokument" #: freedesktop.org.xml.in:6146 msgid "Objective-C source code" @@ -2742,7 +2742,7 @@ #: freedesktop.org.xml.in:6335 msgid "SCSS pre-processor file" -msgstr "" +msgstr "SCSS förprocessorfil" #: freedesktop.org.xml.in:6343 msgid "Setext document" @@ -3098,7 +3098,7 @@ #. https://github.com/ostreedev/ostree/blob/master/man/ostree-create-usb.xml #: freedesktop.org.xml.in:7102 msgid "OSTree software updates" -msgstr "" +msgstr "OSTree programvaruuppdateringar" #. http://standards.freedesktop.org/autostart-spec/autostart-spec-latest.html #. http://bugzilla.gnome.org/show_bug.cgi?id=509823#c3 @@ -3128,11 +3128,11 @@ #: freedesktop.org.xml.in:7162 msgid "Adobe PageMaker document" -msgstr "" +msgstr "Adobe PageMaker-dokument" #: freedesktop.org.xml.in:7172 msgid "Doom WAD file" -msgstr "" +msgstr "Doom WAD-fil" #: freedesktop.org.xml.in:7184 msgid "Amiga disk image" @@ -3152,7 +3152,7 @@ #: freedesktop.org.xml.in:7224 msgid "Squashfs filesystem image" -msgstr "" +msgstr "Squashfs filsystemsavbildning" #: freedesktop.org.xml.in:7251 msgid "Snap package" Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/ta.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/ta.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/te.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/te.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/th.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/th.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/tr.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/tr.gmo differ diff -Nru shared-mime-info-1.15/po/tr.po shared-mime-info-2.0/po/tr.po --- shared-mime-info-1.15/po/tr.po 2019-09-20 13:21:57.000000000 +0000 +++ shared-mime-info-2.0/po/tr.po 2020-05-06 14:11:14.133908300 +0000 @@ -3,16 +3,18 @@ # This file is distributed under the same license as the shared-mime-info package. # # Translators: +# Emin Tufan , 2020 # Fatih Aşıcı , 2013 # Muhammet Kara , 2015-2017 # Necdet Yücel , 2012,2014 +# Sabri Ãœnal , 2020 msgid "" msgstr "" "Project-Id-Version: shared-mime-info\n" "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/xdg/shared-mime-info/issues\n" "POT-Creation-Date: 2019-09-11 12:53+0200\n" -"PO-Revision-Date: 2019-08-20 21:02+0000\n" -"Last-Translator: hadess \n" +"PO-Revision-Date: 2020-02-29 11:57+0000\n" +"Last-Translator: Emin Tufan \n" "Language-Team: Turkish (http://www.transifex.com/freedesktop/shared-mime-info/language/tr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -22,15 +24,15 @@ #: freedesktop.org.xml.in:83 msgid "Atari 2600 ROM" -msgstr "" +msgstr "Atari 2600 ROM" #: freedesktop.org.xml.in:88 msgid "Atari 7800 ROM" -msgstr "" +msgstr "Atari 7800 ROM" #: freedesktop.org.xml.in:96 msgid "Atari Lynx ROM" -msgstr "" +msgstr "Atari Lynx ROM" #: freedesktop.org.xml.in:104 msgid "ATK inset" @@ -50,7 +52,7 @@ #: freedesktop.org.xml.in:138 msgid "Mathematica Notebook file" -msgstr "" +msgstr "Mathematica Notebook dosyası" #: freedesktop.org.xml.in:153 msgid "MathML document" @@ -58,7 +60,7 @@ #: freedesktop.org.xml.in:162 msgid "mailbox file" -msgstr "posta kutusu dosyası" +msgstr "mailbox dosyası" #: freedesktop.org.xml.in:171 freedesktop.org.xml.in:180 msgid "Metalink file" @@ -102,7 +104,7 @@ #: freedesktop.org.xml.in:257 msgid "iRiver playlist" -msgstr "" +msgstr "iRiver çalma listesi" #: freedesktop.org.xml.in:264 msgid "PGP/MIME-encrypted message header" @@ -118,7 +120,7 @@ #: freedesktop.org.xml.in:310 msgid "PKCS#7 file" -msgstr "" +msgstr "PKCS#7 dosyası" #: freedesktop.org.xml.in:318 msgid "detached S/MIME signature" @@ -130,7 +132,7 @@ #: freedesktop.org.xml.in:332 msgid "PKCS#8 private key (encrypted)" -msgstr "" +msgstr "PKCS#8 özel anahtar (ÅŸifrelenmiÅŸ)" #: freedesktop.org.xml.in:338 msgid "PKCS#10 certification request" @@ -142,7 +144,7 @@ #: freedesktop.org.xml.in:349 msgid "certificate revocation list" -msgstr "" +msgstr "sertifika iptal listesi" #: freedesktop.org.xml.in:353 msgid "PkiPath certification path" @@ -150,7 +152,7 @@ #: freedesktop.org.xml.in:357 msgid "PostScript document" -msgstr "" +msgstr "PostScript belgesi" #: freedesktop.org.xml.in:367 msgid "Plucker document" @@ -233,7 +235,7 @@ #: freedesktop.org.xml.in:575 msgid "Lotus Word Pro document" -msgstr "" +msgstr "Lotus Word Pro belgesi" #: freedesktop.org.xml.in:583 msgid "JET database" @@ -278,15 +280,15 @@ #: freedesktop.org.xml.in:691 freedesktop.org.xml.in:709 msgid "Office Open XML Visio drawing" -msgstr "" +msgstr "Office Open XML Visio çizimi" #: freedesktop.org.xml.in:697 freedesktop.org.xml.in:715 msgid "Office Open XML Visio template" -msgstr "" +msgstr "Office Open XML Visio ÅŸablonu" #: freedesktop.org.xml.in:703 freedesktop.org.xml.in:721 msgid "Office Open XML Visio stencil" -msgstr "" +msgstr "Office Open XML Visio kalıbı" #: freedesktop.org.xml.in:727 freedesktop.org.xml.in:769 msgid "Word document" @@ -490,7 +492,7 @@ #: freedesktop.org.xml.in:1297 msgid "network packet capture" -msgstr "" +msgstr "aÄŸ paket yakalaması" #: freedesktop.org.xml.in:1309 msgid "WordPerfect document" @@ -498,15 +500,15 @@ #: freedesktop.org.xml.in:1325 msgid "YouTube media archive" -msgstr "" +msgstr "YouTube ortam arÅŸivi" #: freedesktop.org.xml.in:1331 msgid "SPSS portable data file" -msgstr "" +msgstr "SPSS taşınabilir veri dosyası" #: freedesktop.org.xml.in:1340 msgid "SPSS data file" -msgstr "" +msgstr "SPSS veri dosyası" #: freedesktop.org.xml.in:1352 msgid "XBEL bookmarks" @@ -522,7 +524,7 @@ #: freedesktop.org.xml.in:1385 msgid "CD image cuesheet" -msgstr "CD görüntüsü belgesi" +msgstr "CD görüntüsü çizelgesi" #: freedesktop.org.xml.in:1391 msgid "Lotus AmiPro document" @@ -611,11 +613,11 @@ #: freedesktop.org.xml.in:1594 msgid "Raw disk image" -msgstr "Ä°ÅŸlem görmemiÅŸ disk imajı" +msgstr "Ham disk kalıbı" #: freedesktop.org.xml.in:1599 msgid "Floppy disk image" -msgstr "" +msgstr "Disket kalıbı" #: freedesktop.org.xml.in:1606 msgid "Raw disk image (XZ-compressed)" @@ -698,7 +700,7 @@ #: freedesktop.org.xml.in:1788 msgid "Dreamcast disc image" -msgstr "" +msgstr "Dreamcast disk kalıbı" #: freedesktop.org.xml.in:1793 msgid "Nintendo DS ROM" @@ -742,7 +744,7 @@ #: freedesktop.org.xml.in:1880 msgid "Qt Designer interface document" -msgstr "" +msgstr "Qt Designer arayüz belgesi" #: freedesktop.org.xml.in:1890 msgid "Qt Markup Language file" @@ -794,7 +796,7 @@ #: freedesktop.org.xml.in:2023 msgid "WOFF2 font" -msgstr "" +msgstr "WOFF2 yazı tipi" #: freedesktop.org.xml.in:2033 msgid "PostScript type-1 font" @@ -858,7 +860,7 @@ #: freedesktop.org.xml.in:2164 msgid "Font collection" -msgstr "" +msgstr "Yazı tipi koleksiyonu" #: freedesktop.org.xml.in:2169 msgid "TrueType XML font" @@ -886,7 +888,7 @@ #: freedesktop.org.xml.in:2228 msgid "Virtual Boy ROM" -msgstr "" +msgstr "Virtual Boy ROM" #: freedesktop.org.xml.in:2233 msgid "GDBM database" @@ -914,7 +916,7 @@ #: freedesktop.org.xml.in:2278 msgid "GTK+ Builder interface document" -msgstr "" +msgstr "GTK+ Builder arayüz belgesi" #: freedesktop.org.xml.in:2287 msgid "Glade project" @@ -978,11 +980,11 @@ #: freedesktop.org.xml.in:2408 msgid "Groovy source code" -msgstr "" +msgstr "Groovy kaynak kodu" #: freedesktop.org.xml.in:2417 msgid "Gradle scripts" -msgstr "" +msgstr "Gradle betikleri" #: freedesktop.org.xml.in:2422 msgid "JNLP file" @@ -1022,7 +1024,7 @@ #: freedesktop.org.xml.in:2513 msgid "Jupyter notebook document" -msgstr "" +msgstr "Jupyter notebook belgesi" #: freedesktop.org.xml.in:2524 msgid "CoffeeScript document" @@ -1042,15 +1044,15 @@ #: freedesktop.org.xml.in:2570 msgid "Kexi settings" -msgstr "" +msgstr "Kexi ayarları" #: freedesktop.org.xml.in:2574 msgid "Kexi shortcut" -msgstr "" +msgstr "Kexi kısayolu" #: freedesktop.org.xml.in:2578 freedesktop.org.xml.in:2583 msgid "Kexi database file" -msgstr "" +msgstr "Kexi veritabanı dosyası" #: freedesktop.org.xml.in:2590 msgid "KFormula formula" @@ -1210,7 +1212,7 @@ #: freedesktop.org.xml.in:2971 msgid "COBOL source code" -msgstr "" +msgstr "COBOL kaynak kodu" #: freedesktop.org.xml.in:2979 msgid "Mobipocket e-book" @@ -1258,7 +1260,7 @@ #: freedesktop.org.xml.in:3074 msgid "Neo-Geo Pocket Color ROM" -msgstr "" +msgstr "Neo-Geo Pocket Color ROM" #. Translate this to Famicom if the console was known as such in your locale #: freedesktop.org.xml.in:3086 @@ -1283,11 +1285,11 @@ #: freedesktop.org.xml.in:3140 msgid "Annodex video" -msgstr "" +msgstr "Annodex video" #: freedesktop.org.xml.in:3153 msgid "Annodex audio" -msgstr "" +msgstr "Annodex sesi" #: freedesktop.org.xml.in:3166 msgid "Ogg multimedia file" @@ -1295,11 +1297,11 @@ #: freedesktop.org.xml.in:3175 msgid "Ogg audio" -msgstr "" +msgstr "Ogg sesi" #: freedesktop.org.xml.in:3186 msgid "Ogg video" -msgstr "" +msgstr "Ogg video" #: freedesktop.org.xml.in:3196 msgid "Ogg Vorbis audio" @@ -1407,7 +1409,7 @@ #: freedesktop.org.xml.in:3442 msgid "QuickTime playlist" -msgstr "" +msgstr "QuickTime çalma listesi" #: freedesktop.org.xml.in:3457 msgid "Quicken document" @@ -1552,7 +1554,7 @@ #: freedesktop.org.xml.in:3780 msgid "MRML playlist" -msgstr "MRML oynatma listesi" +msgstr "MRML çalma listesi" #: freedesktop.org.xml.in:3790 msgid "XMF audio" @@ -1624,11 +1626,11 @@ #: freedesktop.org.xml.in:3914 msgid "Zstandard archive" -msgstr "" +msgstr "Zstandard arÅŸivi" #: freedesktop.org.xml.in:3922 msgid "Tar archive (Zstandard-compressed)" -msgstr "" +msgstr "Tar arÅŸivi (Zstandard ile sıkıştırılmış)" #: freedesktop.org.xml.in:3929 msgid "PDF document (XZ-compressed)" @@ -1648,11 +1650,11 @@ #: freedesktop.org.xml.in:3951 msgid "Bandai WonderSwan ROM" -msgstr "" +msgstr "Bandai WonderSwan ROM" #: freedesktop.org.xml.in:3956 msgid "Bandai WonderSwan Color ROM" -msgstr "" +msgstr "Bandai WonderSwan Color ROM" #: freedesktop.org.xml.in:3961 msgid "DER/PEM/Netscape-encoded X.509 certificate" @@ -1676,7 +1678,7 @@ #: freedesktop.org.xml.in:4008 msgid "WIM disk image" -msgstr "" +msgstr "WIM disk kalıbı" #: freedesktop.org.xml.in:4018 msgid "Dolby Digital audio" @@ -1724,7 +1726,7 @@ #: freedesktop.org.xml.in:4132 msgid "Audible.Com audio" -msgstr "" +msgstr "Audible.Com sesi" #: freedesktop.org.xml.in:4144 msgid "Impulse Tracker audio" @@ -1756,7 +1758,7 @@ #: freedesktop.org.xml.in:4204 msgid "USAC audio" -msgstr "" +msgstr "USAC sesi" #: freedesktop.org.xml.in:4211 msgid "MPEG-4 audio" @@ -1764,7 +1766,7 @@ #: freedesktop.org.xml.in:4221 msgid "MPEG-4 ringtone" -msgstr "" +msgstr "MPEG-4 zil sesi" #: freedesktop.org.xml.in:4226 msgid "MPEG-4 video" @@ -1832,11 +1834,11 @@ #: freedesktop.org.xml.in:4439 msgid "RealMedia playlist" -msgstr "" +msgstr "RealMedia çalma listesi" #: freedesktop.org.xml.in:4443 msgid "RealVideo document" -msgstr "RealAudio belgesi" +msgstr "RealVideo belgesi" #: freedesktop.org.xml.in:4449 msgid "RealMedia document" @@ -1900,11 +1902,11 @@ #: freedesktop.org.xml.in:4565 msgid "CGM image" -msgstr "" +msgstr "CGM görüntüsü" #: freedesktop.org.xml.in:4571 msgid "CCITT G3 fax image" -msgstr "" +msgstr "CCITT G3 faks görüntüsü" #: freedesktop.org.xml.in:4576 msgid "GIF image" @@ -1912,7 +1914,7 @@ #: freedesktop.org.xml.in:4583 msgid "HEIF image" -msgstr "" +msgstr "HEIF görüntüsü" #: freedesktop.org.xml.in:4593 msgid "IEF image" @@ -1924,31 +1926,31 @@ #: freedesktop.org.xml.in:4608 msgid "MJPEG video stream" -msgstr "" +msgstr "MJPEG video akışı" #: freedesktop.org.xml.in:4616 msgid "JPEG-2000 codestream" -msgstr "" +msgstr "JPEG-2000 codestream" #: freedesktop.org.xml.in:4625 msgid "JPEG-2000 JP2 image" -msgstr "" +msgstr "JPEG-2000 JP2 görüntüsü" #: freedesktop.org.xml.in:4638 msgid "JPEG-2000 JPX image" -msgstr "" +msgstr "JPEG-2000 JPX görüntüsü" #: freedesktop.org.xml.in:4648 msgid "JPEG-2000 JPM image" -msgstr "" +msgstr "JPEG-2000 JPM görüntüsü" #: freedesktop.org.xml.in:4658 msgid "JPEG-2000 MJ2 video" -msgstr "" +msgstr "JPEG-2000 MJ2 videosu" #: freedesktop.org.xml.in:4668 msgid "OpenRaster image" -msgstr "" +msgstr "OpenRaster görüntüsü" #: freedesktop.org.xml.in:4680 msgid "DirectDraw surface" @@ -2044,7 +2046,7 @@ #: freedesktop.org.xml.in:4908 msgid "RLE bitmap image" -msgstr "" +msgstr "RLE bit eÅŸlem görüntüsü" #: freedesktop.org.xml.in:4914 msgid "SVG image" @@ -2072,7 +2074,7 @@ #: freedesktop.org.xml.in:4962 msgid "MDI image" -msgstr "" +msgstr "MDI görüntüsü" #: freedesktop.org.xml.in:4971 msgid "WebP image" @@ -2244,15 +2246,15 @@ #: freedesktop.org.xml.in:5405 msgid "GIMP brush" -msgstr "" +msgstr "GIMP fırçası" #: freedesktop.org.xml.in:5412 msgid "GIMP brush pipe" -msgstr "" +msgstr "GIMP fırça borusu" #: freedesktop.org.xml.in:5416 msgid "GIMP pattern" -msgstr "" +msgstr "GIMP deseni" #: freedesktop.org.xml.in:5423 msgid "XFig image" @@ -2420,7 +2422,7 @@ #: freedesktop.org.xml.in:5674 msgid "reStructuredText document" -msgstr "" +msgstr "reStructuredText belgesi" #: freedesktop.org.xml.in:5679 msgid "OWL XML file" @@ -2476,7 +2478,7 @@ #: freedesktop.org.xml.in:5788 msgid "WarpScript source code" -msgstr "" +msgstr "WarpScript kaynak kodu" #: freedesktop.org.xml.in:5793 msgid "ACE archive" @@ -2592,7 +2594,7 @@ #: freedesktop.org.xml.in:5988 msgid "Gherkin document" -msgstr "" +msgstr "Gherkin belgesi" #: freedesktop.org.xml.in:5993 msgid "HTML document" @@ -2600,11 +2602,11 @@ #: freedesktop.org.xml.in:6020 msgid "Web application cache file" -msgstr "" +msgstr "Web uygulama önbellek dosyası" #: freedesktop.org.xml.in:6033 msgid "Google Video Pointer shortcut" -msgstr "" +msgstr "Google Video Pointer kısayolu" #: freedesktop.org.xml.in:6042 msgid "Haskell source code" @@ -2640,7 +2642,7 @@ #: freedesktop.org.xml.in:6092 msgid "Makefile build file" -msgstr "" +msgstr "Makefile derleme dosyası" #: freedesktop.org.xml.in:6105 msgid "Markdown document" @@ -2656,11 +2658,11 @@ #: freedesktop.org.xml.in:6130 msgid "MOF file" -msgstr "" +msgstr "MOF dosyası" #: freedesktop.org.xml.in:6137 msgid "Mup musical composition document" -msgstr "" +msgstr "Mup musical composition belgesi" #: freedesktop.org.xml.in:6146 msgid "Objective-C source code" @@ -2672,11 +2674,11 @@ #: freedesktop.org.xml.in:6159 msgid "OpenCL source code" -msgstr "" +msgstr "OpenCL kaynak kodu" #: freedesktop.org.xml.in:6166 msgid "MATLAB file" -msgstr "" +msgstr "MATLAB dosyası" #: freedesktop.org.xml.in:6181 msgid "Meson source code" @@ -2704,7 +2706,7 @@ #: freedesktop.org.xml.in:6244 msgid "Python 3 script" -msgstr "" +msgstr "Python 3 betiÄŸi" #: freedesktop.org.xml.in:6263 msgid "Python script" @@ -2740,7 +2742,7 @@ #: freedesktop.org.xml.in:6335 msgid "SCSS pre-processor file" -msgstr "" +msgstr "SCSS ön iÅŸleyici dosyası" #: freedesktop.org.xml.in:6343 msgid "Setext document" @@ -2816,7 +2818,7 @@ #: freedesktop.org.xml.in:6533 msgid "Maven description file" -msgstr "" +msgstr "Maven açıklama dosyası" #: freedesktop.org.xml.in:6540 msgid "XMCD CD database" @@ -2988,7 +2990,7 @@ #: freedesktop.org.xml.in:6929 msgid "Cisco VPN settings" -msgstr "" +msgstr "Cisco VPN ayarları" #: freedesktop.org.xml.in:6939 msgid "ICC profile" @@ -3096,7 +3098,7 @@ #. https://github.com/ostreedev/ostree/blob/master/man/ostree-create-usb.xml #: freedesktop.org.xml.in:7102 msgid "OSTree software updates" -msgstr "" +msgstr "OSTree yazılım güncellemeleri" #. http://standards.freedesktop.org/autostart-spec/autostart-spec-latest.html #. http://bugzilla.gnome.org/show_bug.cgi?id=509823#c3 @@ -3126,11 +3128,11 @@ #: freedesktop.org.xml.in:7162 msgid "Adobe PageMaker document" -msgstr "" +msgstr "Adobe PageMaker belgesi" #: freedesktop.org.xml.in:7172 msgid "Doom WAD file" -msgstr "" +msgstr "Doom WAD dosyası" #: freedesktop.org.xml.in:7184 msgid "Amiga disk image" @@ -3150,7 +3152,7 @@ #: freedesktop.org.xml.in:7224 msgid "Squashfs filesystem image" -msgstr "" +msgstr "Squashfs dosya sistemi disk kalıbı" #: freedesktop.org.xml.in:7251 msgid "Snap package" @@ -3158,7 +3160,7 @@ #: freedesktop.org.xml.in:7258 msgid "STL 3D model" -msgstr "" +msgstr "STL 3D modeli" #: freedesktop.org.xml.in:7271 msgid "G-code file" Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/uk.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/uk.gmo differ diff -Nru shared-mime-info-1.15/po/update_translations.sh shared-mime-info-2.0/po/update_translations.sh --- shared-mime-info-1.15/po/update_translations.sh 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/po/update_translations.sh 2020-05-06 14:11:14.134908200 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh + +set -e + +if [ ! -f po/shared-mime-info.pot ] ; then + echo "Please generate “po/shared-mime-info.pot†before running this command" + exit 1 +fi + +if [ data/freedesktop.org.xml.in -nt po/shared-mime-info.pot ] ; then + echo "Please update “po/shared-mime-info.pot†before running this command" + exit 1 +fi + +if [ ! -f .tx/config ] ; then + echo "Please run this command from the root of the source directory" + exit 1 +fi + +tx pull --all --force --skip +tx push --source Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/vi.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/vi.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/wa.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/wa.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/zh_CN.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/zh_CN.gmo differ diff -Nru shared-mime-info-1.15/po/zh_CN.po shared-mime-info-2.0/po/zh_CN.po --- shared-mime-info-1.15/po/zh_CN.po 2019-09-20 13:21:46.000000000 +0000 +++ shared-mime-info-2.0/po/zh_CN.po 2020-05-06 14:11:14.136908300 +0000 @@ -5,6 +5,7 @@ # Translators: # Aron Xu , 2011 # Boyuan Yang <073plan@gmail.com>, 2015 +# Dingzhong Chen , 2020 # Dingzhong Chen , 2016-2019 # Michael Jay Tong , 2014 # Mingcong Bai , 2015-2016,2018 @@ -19,8 +20,8 @@ "Project-Id-Version: shared-mime-info\n" "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/xdg/shared-mime-info/issues\n" "POT-Creation-Date: 2019-09-11 12:53+0200\n" -"PO-Revision-Date: 2019-08-20 21:02+0000\n" -"Last-Translator: hadess \n" +"PO-Revision-Date: 2020-02-06 11:55+0000\n" +"Last-Translator: Dingzhong Chen \n" "Language-Team: Chinese (China) (http://www.transifex.com/freedesktop/shared-mime-info/language/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -30,15 +31,15 @@ #: freedesktop.org.xml.in:83 msgid "Atari 2600 ROM" -msgstr "" +msgstr "雅达利 2600 ROM" #: freedesktop.org.xml.in:88 msgid "Atari 7800 ROM" -msgstr "" +msgstr "雅达利 7800 ROM" #: freedesktop.org.xml.in:96 msgid "Atari Lynx ROM" -msgstr "" +msgstr "雅达利 Lynx ROM" #: freedesktop.org.xml.in:104 msgid "ATK inset" @@ -58,7 +59,7 @@ #: freedesktop.org.xml.in:138 msgid "Mathematica Notebook file" -msgstr "" +msgstr "Mathematica 笔记本文件" #: freedesktop.org.xml.in:153 msgid "MathML document" @@ -110,7 +111,7 @@ #: freedesktop.org.xml.in:257 msgid "iRiver playlist" -msgstr "" +msgstr "iRiver 播放列表" #: freedesktop.org.xml.in:264 msgid "PGP/MIME-encrypted message header" @@ -126,7 +127,7 @@ #: freedesktop.org.xml.in:310 msgid "PKCS#7 file" -msgstr "" +msgstr "PKCS#7 文件" #: freedesktop.org.xml.in:318 msgid "detached S/MIME signature" @@ -150,7 +151,7 @@ #: freedesktop.org.xml.in:349 msgid "certificate revocation list" -msgstr "" +msgstr "è¯ä¹¦åŠé”€åˆ—表" #: freedesktop.org.xml.in:353 msgid "PkiPath certification path" @@ -158,7 +159,7 @@ #: freedesktop.org.xml.in:357 msgid "PostScript document" -msgstr "" +msgstr "PostScript 文档" #: freedesktop.org.xml.in:367 msgid "Plucker document" @@ -241,7 +242,7 @@ #: freedesktop.org.xml.in:575 msgid "Lotus Word Pro document" -msgstr "" +msgstr "Lotus Word Pro 文档" #: freedesktop.org.xml.in:583 msgid "JET database" @@ -286,15 +287,15 @@ #: freedesktop.org.xml.in:691 freedesktop.org.xml.in:709 msgid "Office Open XML Visio drawing" -msgstr "" +msgstr "Office Open XML Visio 绘图" #: freedesktop.org.xml.in:697 freedesktop.org.xml.in:715 msgid "Office Open XML Visio template" -msgstr "" +msgstr "Office Open XML Visio 模æ¿" #: freedesktop.org.xml.in:703 freedesktop.org.xml.in:721 msgid "Office Open XML Visio stencil" -msgstr "" +msgstr "Office Open XML Visio 模具" #: freedesktop.org.xml.in:727 freedesktop.org.xml.in:769 msgid "Word document" @@ -498,7 +499,7 @@ #: freedesktop.org.xml.in:1297 msgid "network packet capture" -msgstr "" +msgstr "网络数æ®åŒ…抓å–" #: freedesktop.org.xml.in:1309 msgid "WordPerfect document" @@ -506,15 +507,15 @@ #: freedesktop.org.xml.in:1325 msgid "YouTube media archive" -msgstr "" +msgstr "YouTube 媒体存档" #: freedesktop.org.xml.in:1331 msgid "SPSS portable data file" -msgstr "" +msgstr "SPSS 便æºå¼æ•°æ®æ–‡ä»¶" #: freedesktop.org.xml.in:1340 msgid "SPSS data file" -msgstr "" +msgstr "SPSS æ•°æ®æ–‡ä»¶" #: freedesktop.org.xml.in:1352 msgid "XBEL bookmarks" @@ -706,7 +707,7 @@ #: freedesktop.org.xml.in:1788 msgid "Dreamcast disc image" -msgstr "" +msgstr "Dreamcast 光盘映åƒ" #: freedesktop.org.xml.in:1793 msgid "Nintendo DS ROM" @@ -750,7 +751,7 @@ #: freedesktop.org.xml.in:1880 msgid "Qt Designer interface document" -msgstr "" +msgstr "Qt Designer ç•Œé¢æ–‡æ¡£" #: freedesktop.org.xml.in:1890 msgid "Qt Markup Language file" @@ -922,7 +923,7 @@ #: freedesktop.org.xml.in:2278 msgid "GTK+ Builder interface document" -msgstr "" +msgstr "GTK+ Builder ç•Œé¢æ–‡æ¡£" #: freedesktop.org.xml.in:2287 msgid "Glade project" @@ -986,7 +987,7 @@ #: freedesktop.org.xml.in:2408 msgid "Groovy source code" -msgstr "" +msgstr "Groovy æºä»£ç " #: freedesktop.org.xml.in:2417 msgid "Gradle scripts" @@ -1030,7 +1031,7 @@ #: freedesktop.org.xml.in:2513 msgid "Jupyter notebook document" -msgstr "" +msgstr "Jupyter 笔记本文档" #: freedesktop.org.xml.in:2524 msgid "CoffeeScript document" @@ -1050,15 +1051,15 @@ #: freedesktop.org.xml.in:2570 msgid "Kexi settings" -msgstr "" +msgstr "Kexi 设置" #: freedesktop.org.xml.in:2574 msgid "Kexi shortcut" -msgstr "" +msgstr "Kexi å¿«æ·æ–¹å¼" #: freedesktop.org.xml.in:2578 freedesktop.org.xml.in:2583 msgid "Kexi database file" -msgstr "" +msgstr "Kexi æ•°æ®åº“文件" #: freedesktop.org.xml.in:2590 msgid "KFormula formula" @@ -1218,7 +1219,7 @@ #: freedesktop.org.xml.in:2971 msgid "COBOL source code" -msgstr "" +msgstr "COBOL æºä»£ç " #: freedesktop.org.xml.in:2979 msgid "Mobipocket e-book" @@ -1291,11 +1292,11 @@ #: freedesktop.org.xml.in:3140 msgid "Annodex video" -msgstr "" +msgstr "Annodex 视频" #: freedesktop.org.xml.in:3153 msgid "Annodex audio" -msgstr "" +msgstr "Annodex 音频" #: freedesktop.org.xml.in:3166 msgid "Ogg multimedia file" @@ -1303,11 +1304,11 @@ #: freedesktop.org.xml.in:3175 msgid "Ogg audio" -msgstr "" +msgstr "Ogg 音频" #: freedesktop.org.xml.in:3186 msgid "Ogg video" -msgstr "" +msgstr "Ogg 视频" #: freedesktop.org.xml.in:3196 msgid "Ogg Vorbis audio" @@ -1415,7 +1416,7 @@ #: freedesktop.org.xml.in:3442 msgid "QuickTime playlist" -msgstr "" +msgstr "QuickTime 播放列表" #: freedesktop.org.xml.in:3457 msgid "Quicken document" @@ -1684,7 +1685,7 @@ #: freedesktop.org.xml.in:4008 msgid "WIM disk image" -msgstr "" +msgstr "WIM ç£ç›˜æ˜ åƒ" #: freedesktop.org.xml.in:4018 msgid "Dolby Digital audio" @@ -1772,7 +1773,7 @@ #: freedesktop.org.xml.in:4221 msgid "MPEG-4 ringtone" -msgstr "" +msgstr "MPEG-4 铃声" #: freedesktop.org.xml.in:4226 msgid "MPEG-4 video" @@ -1840,7 +1841,7 @@ #: freedesktop.org.xml.in:4439 msgid "RealMedia playlist" -msgstr "" +msgstr "RealMedia 播放列表" #: freedesktop.org.xml.in:4443 msgid "RealVideo document" @@ -1908,11 +1909,11 @@ #: freedesktop.org.xml.in:4565 msgid "CGM image" -msgstr "" +msgstr "CGM 图åƒ" #: freedesktop.org.xml.in:4571 msgid "CCITT G3 fax image" -msgstr "" +msgstr "CCITT G3 传真图åƒ" #: freedesktop.org.xml.in:4576 msgid "GIF image" @@ -1956,7 +1957,7 @@ #: freedesktop.org.xml.in:4668 msgid "OpenRaster image" -msgstr "" +msgstr "OpenRaster 图åƒ" #: freedesktop.org.xml.in:4680 msgid "DirectDraw surface" @@ -2052,7 +2053,7 @@ #: freedesktop.org.xml.in:4908 msgid "RLE bitmap image" -msgstr "" +msgstr "RLE ä½å›¾å›¾åƒ" #: freedesktop.org.xml.in:4914 msgid "SVG image" @@ -2080,7 +2081,7 @@ #: freedesktop.org.xml.in:4962 msgid "MDI image" -msgstr "" +msgstr "MDI 图åƒ" #: freedesktop.org.xml.in:4971 msgid "WebP image" @@ -2600,7 +2601,7 @@ #: freedesktop.org.xml.in:5988 msgid "Gherkin document" -msgstr "" +msgstr "Gherkin 文档" #: freedesktop.org.xml.in:5993 msgid "HTML document" @@ -2608,11 +2609,11 @@ #: freedesktop.org.xml.in:6020 msgid "Web application cache file" -msgstr "" +msgstr "Web 应用缓存文件" #: freedesktop.org.xml.in:6033 msgid "Google Video Pointer shortcut" -msgstr "" +msgstr "Google Video Pointer å¿«æ·æ–¹å¼" #: freedesktop.org.xml.in:6042 msgid "Haskell source code" @@ -2648,7 +2649,7 @@ #: freedesktop.org.xml.in:6092 msgid "Makefile build file" -msgstr "" +msgstr "Makefile 构建文件" #: freedesktop.org.xml.in:6105 msgid "Markdown document" @@ -2664,11 +2665,11 @@ #: freedesktop.org.xml.in:6130 msgid "MOF file" -msgstr "" +msgstr "MOF 文件" #: freedesktop.org.xml.in:6137 msgid "Mup musical composition document" -msgstr "" +msgstr "Mup ä¹æ›²æ–‡æ¡£" #: freedesktop.org.xml.in:6146 msgid "Objective-C source code" @@ -2684,7 +2685,7 @@ #: freedesktop.org.xml.in:6166 msgid "MATLAB file" -msgstr "" +msgstr "MATLAB 文件" #: freedesktop.org.xml.in:6181 msgid "Meson source code" @@ -2748,7 +2749,7 @@ #: freedesktop.org.xml.in:6335 msgid "SCSS pre-processor file" -msgstr "" +msgstr "SCSS 预处ç†æ–‡ä»¶" #: freedesktop.org.xml.in:6343 msgid "Setext document" @@ -2996,7 +2997,7 @@ #: freedesktop.org.xml.in:6929 msgid "Cisco VPN settings" -msgstr "" +msgstr "Cisco VPN 设置" #: freedesktop.org.xml.in:6939 msgid "ICC profile" @@ -3104,7 +3105,7 @@ #. https://github.com/ostreedev/ostree/blob/master/man/ostree-create-usb.xml #: freedesktop.org.xml.in:7102 msgid "OSTree software updates" -msgstr "" +msgstr "OSTree 软件更新" #. http://standards.freedesktop.org/autostart-spec/autostart-spec-latest.html #. http://bugzilla.gnome.org/show_bug.cgi?id=509823#c3 @@ -3134,11 +3135,11 @@ #: freedesktop.org.xml.in:7162 msgid "Adobe PageMaker document" -msgstr "" +msgstr "Adobe PageMaker 文档" #: freedesktop.org.xml.in:7172 msgid "Doom WAD file" -msgstr "" +msgstr "Doom WAD 文件" #: freedesktop.org.xml.in:7184 msgid "Amiga disk image" @@ -3158,7 +3159,7 @@ #: freedesktop.org.xml.in:7224 msgid "Squashfs filesystem image" -msgstr "" +msgstr "Squashfs 文件系统映åƒ" #: freedesktop.org.xml.in:7251 msgid "Snap package" Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/zh_HK.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/zh_HK.gmo differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/po/zh_TW.gmo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/po/zh_TW.gmo differ diff -Nru shared-mime-info-1.15/README shared-mime-info-2.0/README --- shared-mime-info-1.15/README 2019-09-10 10:10:07.000000000 +0000 +++ shared-mime-info-2.0/README 1970-01-01 00:00:00.000000000 +0000 @@ -1,44 +0,0 @@ -# Shared MIME Info - -The shared-mime-info package contains: - -- The core database of common MIME types, their file extensions and icon names. -- The update-mime-database command, used to extend the DB and install a new MIME data. -- The freedesktop.org shared MIME database spec. - -It is used by GLib, GNOME, KDE, XFCE and many others. - -For more information about the database see the [Shared MIME Info Specification here](https://www.freedesktop.org/wiki/Specifications/shared-mime-info-spec/). - -## Installation - -To install do: - - $ ./configure --prefix=/usr --sysconfdir=/etc - $ make - $ sudo make install - -If you are building from git then you will have to run `./autogen.sh` first. - -It requires glib to be installed for building the update command. -Additionally, it uses gettext and itstool for translations. -This database is translated at Transifex. - - -Please report bugs here: - https://gitlab.freedesktop.org/xdg/shared-mime-info/issues - -Getting involved in freedesktop.org projects guide: - https://www.freedesktop.org/wiki/GettingInvolved/ - - -## Useful reference links - -IANA: - https://www.iana.org/assignments/media-types/ - -KDE's old mime-types: - http://websvn.kde.org/branches/KDE/3.5/kdelibs/mimetypes/ - -UNIX file tool and libmagic - https://github.com/file/file diff -Nru shared-mime-info-1.15/README.md shared-mime-info-2.0/README.md --- shared-mime-info-1.15/README.md 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/README.md 2020-05-06 14:11:14.037908800 +0000 @@ -0,0 +1,44 @@ +# Shared MIME Info + +The shared-mime-info package contains: + +- The core database of common MIME types, their file extensions and icon names. +- The update-mime-database command, used to extend the DB and install a new MIME data. +- The freedesktop.org shared MIME database spec. + +It is used by GLib, GNOME, KDE, XFCE and many others. + +For more information about the database see the [Shared MIME Info Specification here](https://www.freedesktop.org/wiki/Specifications/shared-mime-info-spec/). + +## Installation + +To install do: + + $ ./configure --prefix=/usr --sysconfdir=/etc + $ make + $ sudo make install + +If you are building from git then you will have to run `./autogen.sh` first. + +It requires glib to be installed for building the update command. +Additionally, it uses gettext and itstool for translations. +This database is translated at Transifex. + + +Please report bugs here: + https://gitlab.freedesktop.org/xdg/shared-mime-info/issues + +Getting involved in freedesktop.org projects guide: + https://www.freedesktop.org/wiki/GettingInvolved/ + + +## Useful reference links + +IANA: + https://www.iana.org/assignments/media-types/ + +KDE's old mime-types: + http://websvn.kde.org/branches/KDE/3.5/kdelibs/mimetypes/ + +UNIX file tool and libmagic + https://github.com/file/file diff -Nru shared-mime-info-1.15/shared-mime-info-spec.xml shared-mime-info-2.0/shared-mime-info-spec.xml --- shared-mime-info-1.15/shared-mime-info-spec.xml 2019-09-10 10:10:07.000000000 +0000 +++ shared-mime-info-2.0/shared-mime-info-spec.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,1117 +0,0 @@ - - - -]> -
- - - - - - X Desktop Group - - - - Thomas - Leonard - -
tal197 at users.sf.net
-
-
-
- - Shared MIME-info Database - &updated; -
- - - Introduction - - Version - -This is version &version; of the Shared MIME-info Database specification, last updated &updated;. - - - What is this spec? - -Many programs and desktops use the MIME systemMIME -to represent the types of files. Frequently, it is necessary to work out the -correct MIME type for a file. This is generally done by examining the file's -name or contents, and looking up the correct MIME type in a database. - - -It is also useful to store information about each type, such as a textual -description of it, or a list of applications that can be used to view or edit -files of that type. - - -For interoperability, it is useful for different programs to use the same -database so that different programs agree on the type of a file and -information is not duplicated. It is also helpful for application authors to -only have to install new information in one place. - - -This specification attempts to unify the MIME database systems currently in -use by GNOMEGNOME, KDEKDE and -ROXROX, and provide room for future extensibility. - - -The MIME database does NOT store user preferences (such as a user's preferred -application for handling files of a particular type). It may be used to store -static information, such as that files of a certain type may be viewed with -a particular application. - - - - Language used in this specification - -The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", -"SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be -interpreted as described in RFC 2119RFC-2119. - - - - - - Unified system - -In discussions about the previous systems used by GNOME, KDE and ROX (see the -"History and related systems" document), it was clear that the differences -between the databases were simply a result of them being separate, and not due -to any fundamental disagreements between developers. Everyone is keen to see -them merged. - - -This specification proposes: - - - -A standard way for applications to install new MIME related information. - - -A standard way of getting the MIME type for a file. - - -A standard way of getting information about a MIME type. - - -Standard locations for all the files, and methods of resolving conflicts. - - -Further, the existing databases have been merged into a single package -SharedMIME. - - - Directory layout - -There are two important requirements for the way the MIME database is stored: - - -Applications must be able to extend the database in any way when they are installed, -to add both new rules for determining type, and new information about specific types. - - -It must be possible to install applications in /usr, /usr/local and the user's home directory -(in the normal Unix way) and have the MIME information used. - - - - -This specification uses the XDG Base Directory SpecificationBaseDir to -define the prefixes below which the database is stored. -In the rest of this document, paths shown with the prefix -<MIME> indicate the files should be loaded from -the mime subdirectory of every directory in -XDG_DATA_HOME:XDG_DATA_DIRS. - - -For example, when using the default paths, Load all the -<MIME>/text/html.xml files means to -load /usr/share/mime/text/html.xml, -/usr/local/share/mime/text/html.xml, and -~/.local/share/mime/text/html.xml (if they exist, and in this order). -Information found in a directory is added to the information found in previous -directories, except when glob-deleteall or magic-deleteall -is used to overwrite parts of a mimetype definition. - - -Each application that wishes to contribute to the MIME database will install a -single XML file, named after the application, into one of the three -<MIME>/packages/ directories (depending on where the user requested -the application be installed). After installing, uninstalling or modifying this -file, the application MUST run the update-mime-database command, -which is provided by the freedesktop.org shared databaseSharedMIME. - - -update-mime-database is passed the mime -directory containing the packages subdirectory which was -modified as its only argument. It scans all the XML files in the packages -subdirectory, combines the information in them, and creates a number of output files. - - -Where the information from these files is conflicting, information from directories -lower in the list takes precedence. -Any file named Override.xml takes precedence over all other files in -the same packages directory. This can be used by -tools which let the user edit the database to ensure that the user's -changes take effect. - - -The files created by update-mime-database are: - - -<MIME>/globs (contains a mapping from names to MIME types) [deprecated for globs2] - - -<MIME>/globs2 (contains a mapping from names to MIME types and glob weight) - - -<MIME>/magic (contains a mapping from file contents to MIME types) - - -<MIME>/subclasses (contains a mapping from MIME types to types they inherit from) - - -<MIME>/aliases (contains a mapping from aliases to MIME types) - - -<MIME>/icons (contains a mapping from MIME types to icons) - - -<MIME>/generic-icons (contains a mapping from MIME types to generic icons) - - -<MIME>/XMLnamespaces (contains a mapping from XML -(namespaceURI, localName) pairs to MIME types) - - -<MIME>/MEDIA/SUBTYPE.xml (one file for each MIME -type, giving details about the type, including comment, icon and generic-icon) - - -<MIME>/mime.cache (contains the same information as the globs2, -magic, subclasses, aliases, -icons, generic-icons and XMLnamespaces files, -in a binary, mmappable format) - - -The format of these generated files and the source files in packages -are explained in the following sections. This step serves several purposes. First, it allows -applications to quickly get the data they need without parsing all the source XML files (the -base package alone is over 700K). Second, it allows the database to be used for other -purposes (such as creating the /etc/mime.types file if -desired). Third, it allows validation to be performed on the input data, -and removes the need for other applications to carefully check the input for -errors themselves. - - - - The source XML files - -Each application provides only a single XML source file, which is installed in the -packages directory as described above. This file is an XML file -whose document element is named mime-info and whose namespace URI -is . All elements -described in this specification MUST have this namespace too. - -The document element may contain zero or more mime-type child nodes, -in any order, each describing a single MIME type. Each element has a type -attribute giving the MIME type that it describes. - -Each mime-type node may contain any combination of the following elements, -and in any order: - - -glob elements have a pattern attribute. Any file -whose name matches this pattern will be given this MIME type (subject to conflicting rules in -other files, of course). There is also an optional weight attribute which -is used when resolving conflicts with other glob matches. The default weight value is 50, and -the maximum is 100. - - -KDE's glob system replaces GNOME's and ROX's ext/regex fields, since it -is trivial to detect a pattern in the form '*.ext' and store it in an -extension hash table internally. The full power of regular expressions was -not being used by either desktop, and glob patterns are more suitable for -filename matching anyway. - - -The first glob element represents the "main" extension for the file type. -While this doesn't affect the mimetype matching algorithm, this information can be useful -when a single main extension is needed for a mimetype, for instance so that applications -can choose an appropriate extension when saving a file. - - -A glob-deleteall element, which indicates that patterns from -previously parsed directories must be discarded. The patterns defined in this file -(if any) are used instead. - - -magic elements contain a list of -match elements, any of which may match, and an optional -priority attribute for all of the contained rules. Low -numbers should be used for more generic types (such as 'gzip compressed data') -and higher values for specific subtypes (such as a word processor format that -happens to use gzip to compress the file). The default priority value is 50, and -the maximum is 100. - -Each match element has a number of attributes: - - - - AttributeRequired?Value - - - typeYes -string, host16, -host32, big16, -big32, little16, -little32 or byte. - - - offsetYesThe byte offset(s) - in the file to check. This may be a single number or a range in the - form `start:end', indicating that all offsets in the range should be - checked. The range is inclusive. - - valueYes - The value to compare the file contents with, in the format indicated by the type - attribute. The string type supports the C character escapes (\0, \t, \n, \r, \xAB for hex, \777 for octal). - - - maskNo - The number to AND the value in the file with before comparing it to - `value'. Masks for numerical types can be any number, while masks for strings - must be in base 16, and start with 0x. - - - - - -Each element corresponds to one line of -file -1's magic.mime file. -They can be nested in the same way to provide the equivalent of continuation -lines. That is, ]]> means 'a and (b or c)'. - - -A magic-deleteall element, which indicates that magic matches from -previously parsed directories must be discarded. The magic defined in this file -(if any) is used instead. - - -alias elements indicate that the type is also sometimes -known by another name, given by the type attribute. For -example, audio/midi has an alias of -audio/x-midi. Note that there should not be a -mime-type element defining each alias; a single -element defines the canonical name for the type and lists all its aliases. - - -sub-class-of elements indicate that any data of this -type is also some other type, given by the type -attribute. See . - - -comment elements give a human-readable textual description of the MIME -type, usually composed of an acronym of the file name extension and a short description, like -"ODS spreadsheet". -There may be many of these elements with different xml:lang attributes -to provide the text in multiple languages. - - -acronym elements give experienced users a terse idea of the document contents. -for example "ODS", "GEDCOM", "JPEG" and "XML". - - -expanded-acronym elements are the expanded versions of the acronym elements, -for example "OpenDocument Spreadsheet", "GEnealogical Data COMmunication", and "eXtensible Markup Language". -The purpose of these elements is to provide users a way to look up information on various MIME types or -file formats in third-party resources. - - -icon elements specify the icon to be used for this particular mime-type, given -by the name attribute. Generally the icon used for a mimetype is created -based on the mime-type by mapping "/" characters to "-", but users can override this by using -the icon element to customize the icon for a particular mimetype. -This element is not used in the system database, but only used in the user overridden database. -Only one icon element is allowed. - - -generic-icon elements specify the icon to use as a generic icon for this -particular mime-type, given by the name attribute. This is used if there -is no specific icon (see icon for how these are found). These are -used for categories of similar types (like spreadsheets or archives) that can use a common icon. -The Icon Naming Specification lists a set of such icon names. If this element is not specified -then the mimetype is used to generate the generic icon by using the top-level media type (e.g. -"video" in "video/ogg") and appending "-x-generic" (i.e. "video-x-generic" in the previous example). -Only one generic-icon element is allowed. - - -root-XML elements have namespaceURI -and localName attributes. If a file is identified as being an XML file, -these rules allow a more specific MIME type to be chosen based on the namespace and localname -of the document element. - -If localName is present but empty then the document element may have -any name, but the namespace must still match. - - -treemagic elements contain a list of treematch elements, -any of which may match, and an optional priority attribute for all of the -contained rules. The default priority value is 50, and the maximum is 100. - -Each treematch element has a number of attributes: - - - - AttributeRequired?Value - - - pathYesA path that must be present on the mounted volume/filesystem. The path is interpreted as a relative path starting at the root of the tested volume/filesystem - - typeNoThe type of path. Possible values: file, directory, link - - match-caseNoWhether path should be matched case-sensitively. Possible values: true, false - - executableNoWhether the file must be executable. Possible values: true, false - - non-emptyNoWhether the directory must be non-empty. Possible values: true, false - - mimetypeNoThe mimetype for the file at path - - - - -treematch elements can be nested, meaning that both the outer and the inner treematch -must be satisfied for a "match". - - -Applications may also define their own elements, provided they are namespaced to prevent collisions. -Unknown elements are copied directly to the output XML files like comment -elements. A typical use for this would be to indicate the default handler -application for a particular desktop -("Galeon is the GNOME default text/html browser"). Note that this doesn't -indicate the user's preferred application, only the (fixed) default. - - -Here is an example source file, named diff.xml: - - - - Differences between files - verskille tussen lêers - ... - - - - - - - - - -]]> - -In practice, common types such as text/x-diff are provided by the freedesktop.org shared -database. Also, only new information needs to be provided, since this information will be merged -with other information about the same type. - - - - The MEDIA/SUBTYPE.xml files - -These files have a mime-type element as the root node. The format is -as described above. They are created by merging all the mime-type -elements from the source files and creating one output file per MIME type. Each file may contain -information from multiple source files. The magic, -glob and root-XML elements will -have been removed. - - -The example source file given above would (on its own) create an output file called -<MIME>/text/x-diff.xml containing the following: - - - - Differences between files - verskille tussen lêers - ... - - -]]> - - - - The glob files - -The globs2 file is a simple list of lines containing weight, MIME type and pattern, separated by a colon. -The lines are ordered by glob weight. -For example: - - - -The glob file is a simple list of lines containing a MIME type and pattern, separated by a colon. It is -deprecated in favour of the globs2 file which also lists the weight of the glob rule. -The lines are ordered by glob weight. -For example: - - - -Applications MUST match globs case-insensitively, except when the case-sensitive attribute -is set to true. -This is so that e.g. main.C will be seen as a C++ file, -but IMAGE.GIF will still use the *.gif pattern. - - -If several patterns of the same weight match then the longest pattern SHOULD be used. -In particular, files with multiple extensions (such as -Data.tar.gz) MUST match the longest sequence of extensions -(eg '*.tar.gz' in preference to '*.gz'). Literal patterns (eg, 'Makefile') must -be matched before all others. It is suggested that patterns beginning with `*.' -and containing no other special characters (`*?[') should be placed in a hash -table for efficient lookup, since this covers the majority of the patterns. Thus, -patterns of this form should be matched before other wildcarded patterns. - - -If a matching pattern is provided by two or more MIME types, applications -SHOULD not rely on one of them. They are instead supposed to use magic data -(see below) to detect the actual MIME type. This is for instance required to -deal with container formats like Ogg or AVI, that map various video and/or -audio-encoded data to one extension. - - -There may be several rules mapping to the same type. They should all be merged. -If the same pattern is defined twice, then they MUST be ordered by the -directory the rule came from, as described above. - - -The glob-deleteall element, which means that implementations -SHOULD discard information from previous directories, is written out into the globs2 file using -__NOGLOBS__ as the pattern. For instance: - - - -In the above example, the mimetype text/x-diff is redefined (for instance in a user's -~/.local/share/mime) to only be associated with the pattern *.diff, so the other patterns -like *.patch were removed. The weight in front of the __NOGLOBS__ line is ignored. -In a given globs2 file, the __NOGLOBS__ line for a given mimetype is always written -out before any other globs for this mimetype. - - -Lines beginning with `#' are comments and should be ignored. Everything from -the `:' character to the newline is part of the pattern; spaces should not be -stripped. The file is in the UTF-8 encoding. The format of the glob pattern -is as for fnmatch(3). The format does not allow a pattern to contain a literal -newline character, but this is not expected to be a problem. - - -Common types (such as MS Word Documents) will be provided in the X Desktop -Group's package, which MUST be required by all applications using this -specification. Since each application will then only be providing information -about its own types, conflicts should be rare. - - -The fourth field ("cs" in the first globs2 example) contains a list of comma-separated flags. -The flags currently defined are: cs (for case-sensitive). Implementations should ignore -unknown flags. - - -Implementations should also ignore further fields, so that the syntax of the globs2 file -can be extended in the future. Example: "50:text/x-c++src:*.C:cs,newflag:newfeature:somethingelse" -should currently be parsed as "50:text/x-c++src:*.C:cs". - - - - The magic files - -The magic data is stored in a binary format for ease of parsing. The old magic database -had complex escaping rules; these are now handled by update-mime-database. - -The file starts with the magic string "MIME-Magic\0\n". -There is no version number in the file. Incompatible changes will be handled by -creating both the current `magic' file and a newer `magic2' in the new format. -Where possible, compatible changes only will be made. -All numbers are big-endian, so need to be byte-swapped on little-endian machines. - -The rest of the file is made up of a sequence of small sections. -Each section is introduced by giving the priority and type in brackets, followed by -a newline character. Higher priority entries come first. Example: -[50:text/x-diff]\n -Each line in the section takes the form: -[ indent ] ">" start-offset "=" value -[ "&" mask ] [ "~" word-size ] [ "+" range-length ] "\n" - - - PartExampleMeaning - - - indent1The nesting - depth of the rule, corresponding to the number of '>' characters in the traditional file format. - ">" start-offset>4The offset into the - file to look for a match. - "=" value=\0x0\0x2\0x55\0x40 - Two bytes giving the (big-endian) length of the value, followed by the value itself. - - "&" mask&\0xff\0xf0 - The mask, which (if present) is exactly the same length as the value. - - "~" word-size~2On little-endian machines, the - size of each group to byte-swap. - "+" range-length+8The length of the region - in the file to check. - - - - - -Note that the value, value length and mask are all binary, whereas everything -else is textual. Each of the elements begins with a single character to -identify it, except for the indent level. - -The word size is used for byte-swapping. Little-endian systems should reverse -the order of groups of bytes in the value and mask if this is greater than one. -This only affects `host' matches (`big32' entries still have a word size of 1, -for example, because no swapping is necessary, whereas `host32' has a word size -of 4). - -The indent, range-length, word-size and mask components are optional. If -missing, indent defaults to 0, range-length to 1, the word-size to 1, and the -mask to all 'one' bits. - -Indent corresponds to the nesting depth of the rule. Top-level rules have an -indent of zero. The parent of an entry is the preceding entry with an indent -one less than the entry. - -If an unknown character is found where a newline is expected then the whole -line should be ignored (there will be no binary data after the new -character, so the next line starts after the next "\n" character). This is for -future extensions. - -The text/x-diff above example would (on its own) create this magic file: - 0=| -00000020 00 05 64 69 66 66 09 0a 3e 30 3d 00 04 2a 2a 2a |..diff..>0=..***| -00000030 09 0a 3e 30 3d 00 17 43 6f 6d 6d 6f 6e 20 73 75 |..>0=..Common su| -00000040 62 64 69 72 65 63 74 6f 72 69 65 73 3a 20 0a |bdirectories: .| -]]> - - -The magic-deleteall attribute, which means that implementations -SHOULD discard information from previous directories, is written out into the magic file using -__NOMAGIC__ as the value: ->0=__NOMAGIC__\n -This can be followed by other magic rules for the mimetype. - - - - The XMLnamespaces files - -Each XMLnamespaces file is a list of lines in the form: -namespaceURI " " localName " " MIME-Type "\n" -For example: - -http://www.w3.org/1999/xhtml html application/xhtml+xml - -The lines are sorted (using strcmp in the C locale) and there are no lines with the same namespaceURI and -localName in one file. If the localName was empty then there will be two spaces following -the namespaceURI. - - - - The icon files - -The icons and generic-icons files are list of lines in the form: -MIME-Type ":" icon-name "\n" -For example: - -application/msword:x-office-document - - - - - The treemagic files - -The tree magic data is stored in a file with a format that is very similar to the magic file format. - - -The file starts with the magic string "MIME-TreeMagic\0\n". There is no version number in the file. -Incompatible changes will be handled by creating both the current `treemagic' and a newer `treemagic2' -in the new format. Where possible, changes will be made in a compatible fashion. - - -The rest of the file is made up of a sequence of small sections. Each section is introduced by giving -the priority and type in brackets, followed by a newline character. Higher priority entries come -first. Example: -[50:x-content/image-dcf]\n -Each line in the section takes the form: -[ indent ] ">" "\"" path "\"" "=" type [ "," option ]* "\n" - - - PartMeaning - - - indentThe nesting depth of the rule. - pathThe path to match. - typeThe required file type, one of "file", "directory", "link" or "any" - optionOptional for the optional attributes of treematch elements. -Possible values are "executable", "match-case", "non-empty", or a MIME type - - - - - - - - The mime.cache files - -The mime.cache files contain the same information as the -globs2, magic, subclasses, -aliases and XMLnamespaces files, in a binary, -mmappable format: - - -Header: -2 CARD16 MAJOR_VERSION 1 -2 CARD16 MINOR_VERSION 2 -4 CARD32 ALIAS_LIST_OFFSET -4 CARD32 PARENT_LIST_OFFSET -4 CARD32 LITERAL_LIST_OFFSET -4 CARD32 REVERSE_SUFFIX_TREE_OFFSET -4 CARD32 GLOB_LIST_OFFSET -4 CARD32 MAGIC_LIST_OFFSET -4 CARD32 NAMESPACE_LIST_OFFSET -4 CARD32 ICONS_LIST_OFFSET -4 CARD32 GENERIC_ICONS_LIST_OFFSET - -AliasList: -4 CARD32 N_ALIASES -8*N_ALIASES AliasListEntry - -AliasListEntry: -4 CARD32 ALIAS_OFFSET -4 CARD32 MIME_TYPE_OFFSET - -ParentList: -4 CARD32 N_ENTRIES -8*N_ENTRIES ParentListEntry - -ParentListEntry: -4 CARD32 MIME_TYPE_OFFSET -4 CARD32 PARENTS_OFFSET - -Parents: -4 CARD32 N_PARENTS -4*N_PARENTS CARD32 MIME_TYPE_OFFSET - -LiteralList: -4 CARD32 N_LITERALS -12*N_LITERALS LiteralEntry - -LiteralEntry: -4 CARD32 LITERAL_OFFSET -4 CARD32 MIME_TYPE_OFFSET -4 CARD32 WEIGHT in lower 8 bits - FLAGS in rest: - 0x100 = case-sensitive - - -GlobList: -4 CARD32 N_GLOBS -12*N_GLOBS GlobEntry - -GlobEntry: -4 CARD32 GLOB_OFFSET -4 CARD32 MIME_TYPE_OFFSET -4 CARD32 WEIGHT in lower 8 bits - FLAGS in rest: - 0x100 = case-sensitive - -ReverseSuffixTree: -4 CARD32 N_ROOTS -4 CARD32 FIRST_ROOT_OFFSET - -ReverseSuffixTreeNode: -4 CARD32 CHARACTER -4 CARD32 N_CHILDREN -4 CARD32 FIRST_CHILD_OFFSET - -ReverseSuffixTreeLeafNode: -4 CARD32 0 -4 CARD32 MIME_TYPE_OFFSET -4 CARD32 WEIGHT in lower 8 bits - FLAGS in rest: - 0x100 = case-sensitive - -MagicList: -4 CARD32 N_MATCHES -4 CARD32 MAX_EXTENT -4 CARD32 FIRST_MATCH_OFFSET - -Match: -4 CARD32 PRIORITY -4 CARD32 MIME_TYPE_OFFSET -4 CARD32 N_MATCHLETS -4 CARD32 FIRST_MATCHLET_OFFSET - -Matchlet: -4 CARD32 RANGE_START -4 CARD32 RANGE_LENGTH -4 CARD32 WORD_SIZE -4 CARD32 VALUE_LENGTH -4 CARD32 VALUE_OFFSET -4 CARD32 MASK_OFFSET (0 if no mask) -4 CARD32 N_CHILDREN -4 CARD32 FIRST_CHILD_OFFSET - -NamespaceList: -4 CARD32 N_NAMESPACES -12*N_NAMESPACES NamespaceEntry - -NamespaceEntry: -4 CARD32 NAMESPACE_URI_OFFSET -4 CARD32 LOCAL_NAME_OFFSET -4 CARD32 MIME_TYPE_OFFSET - -GenericIconsList: -IconsList: -4 CARD32 N_ICONS -8*N_ICONS IconListEntry - -IconListEntry: -4 CARD32 MIME_TYPE_OFFSET -4 CARD32 ICON_NAME_OFFSET - - -Lists in the file are sorted, to enable binary searching. The list of -aliases is sorted by alias, the list of literal globs is sorted by the -literal. The SuffixTreeNode siblings are sorted by character. -The list of namespaces is sorted by namespace uri. The list of icons -is sorted by mimetype. - - -Mimetypes are stored in the suffix tree by appending suffix -tree leaf nodes with '\0' as character. These nodes appear at the -beginning of the list of children. - - -All offsets are in bytes from the beginning of the file. - - -Strings are zero-terminated. - - -All numbers are in network (big-endian) order. This is necessary because the data will be stored in -arch-independent directories like /usr/share/mime or even in user's home directories. - - -Cache files have to be written atomically - write to a temporary name, then move over the old file - so -that clients that have the old cache file open and mmap'ed won't get corrupt data. - - - - Storing the MIME type using Extended Attributes - -An implementation MAY also get a file's MIME type from the -user.mime_type extended attribute. The type given here should normally be used in -preference to any guessed type, since the user is able to set it explicitly. -Applications MAY choose to set the type when saving files. Since many -applications and filesystems do not support extended attributes, -implementations MUST NOT rely on this method being available. - - - - Subclassing - -A type is a subclass of another type if any instance of the first type is -also an instance of the second. For example, all image/svg+xml files are also -application/xml, text/plain and application/octet-stream files. Subclassing is about -the format, rather than the category of the data (for example, there is no -'generic spreadsheet' class that all spreadsheets inherit from). - - -Some subclass rules are implicit: - -All text/* types are subclasses of text/plain. -All streamable types (ie, everything except the inode/* types) -are subclasses of application/octet-stream. - -In addition to these rules, explicit subclass information may be given using -the sub-class-of element. - - -Note that some file formats are also compressed files (application/x-jar files -are also application/zip files). However, this is different to a case such as a -compressed postscript file, which is not a valid postscript file itself (so -application/x-gzpostscript does not inherit from application/postscript, -because an application that can handle the latter may not cope with the -former). - - -Some types may or may not be instances of other types. For example, a -spreadsheet file may be compressed or not. It is a valid spreadsheet file -either way, but only inherits from application/gzip in one case. This -information cannot be represented statically; instead an application -interested in this information should run all of the magic rules, and -use the list of types returned as the subclasses. - - -Note that it is possible for a mime-type to be a sub-class-of -an alias, for example if a temporary vendor mime-type is replaced by an official IANA -mime-type. - - - - Recommended checking order - -Because different applications have different requirements, they may choose to -use the various methods provided by this specification in any order. However, the -RECOMMENDED order to perform the checks is: - - -If a MIME type is provided explicitly (eg, by a ContentType HTTP header, a MIME -email attachment, an extended attribute or some other means) then that should -be used instead of guessing. - - - -Otherwise, start by doing a glob match of the filename. Keep only globs with the biggest weight. -If the patterns are different, keep only globs with the longest pattern, as previously discussed. -If after this, there is one or more matching glob, and all the matching globs -result in the same mimetype, use that mimetype as the result. - - - -If the glob matching fails or results in multiple conflicting mimetypes, read the -contents of the file and do magic sniffing on it. If no magic rule matches the data (or if -the content is not available), use the default type of application/octet-stream for -binary data, or text/plain for textual data. If there was no glob match, use the magic match -as the result. - -Note: Checking the first 128 bytes of the file for ASCII control characters is -a good way to guess whether a file is binary or text, but note that files with high-bit-set -characters should still be treated as text since these can appear in UTF-8 text, -unlike control characters. - - - -If any of the mimetypes resulting from a glob match is equal to or a subclass of -the result from the magic sniffing, use this as the result. This allows us for example to -distinguish text files called "foo.doc" from MS-Word files with the same name, as the -magic match for the MS-Word file would be application/x-ole-storage which the MS-Word type -inherits. - - - -Otherwise use the result of the glob match that has the highest weight. - - - - -There are several reasons for checking the glob patterns before the magic. -First of all doing magic sniffing is very expensive as reading the contents of the files -causes a lot of seeks, which is very expensive. Secondly, some applications don't check -the magic at all (sometimes the content is not available or too slow to read), and this -makes it more likely that both will get the same type. - - -Also, users can easily understand why calling their -text file README.mp3 makes the system think it's an MP3, -whereas they have trouble understanding why their computer thinks -README.txt is a PostScript file. If the system guesses wrongly, -the user can often rename the file to fix the problem. - - - - Non-regular files - -Sometimes it is useful to assign MIME types to other objects in the filesystem, -such as directories, sockets and device files. This could be useful when looking up -an icon for a type, or for providing a textual description of one of these objects. -The media type 'inode' is provided for this purpose, with the following types corresponding -to the standard types of object found in a Unix filesystem: - - - inode/blockdevice - inode/chardevice - inode/directory - inode/fifo - inode/mount-point - inode/socket - inode/symlink - - -An inode/mount-point is a subclass of inode/directory. It can be useful when adding extra -actions for these directories, such as 'mount' or 'eject'. Mounted directories can be -detected by comparing the 'st_dev' of a directory with that of its parent. If -they differ, they are from different devices and the directory is a mount -point. - - - - Content types for volumes - -Traditional MIME types apply to individual files or bytestreams. It is often useful -to apply the same methodologies when classifying the content of mountable volumes or -filesystems. The x-content type has been introduced for this purpose. Typical examples -are x-content/audio-dvd, x-content/blank-cd or x-content/image-dcf. - - -Matching of content types works with treemagic elements, which -are analogous to the magic elements used for MIME type matching. -Instead of looking for byte sequences in files, treemagic elements -allow to look for files with certain names, permissions or mime types in a directory -hierarchy. - - - - URI scheme handlers - -URI scheme handling (such as a movie player handling mms:// URIs, or a Podcast program -handling feed:// URIs) are handled through applications handling the x-scheme-handler/foo -mime-type, where foo is the URI scheme in question. - - -This scheme allows URI scheme handling to enjoy the same benefits as mime-type handlers, -such as the ability to change the default handler, the cross-desktop support, and -easier application launching. - - -Note that this virtual mime-type is not for listing URI schemes that an application -can load files from. For example, a movie player would not list x-scheme-handler/http -in its supported mime-types, but it would list x-scheme-handler/rtsp if it supported -playing back from RTSP locations. - - - - Security implications - -The system described in this document is intended to allow different programs -to see the same file as having the same type. This is to help interoperability. -The type determined in this way is only a guess, and an application MUST NOT -trust a file based simply on its MIME type. For example, a downloader should -not pass a file directly to a launcher application without confirmation simply -because the type looks `harmless' (eg, text/plain). - - -Do not rely on two applications getting the same type for the same file, even -if they both use this system. The spec allows some leeway in implementation, -and in any case the programs may be following different versions of the spec. - - - - User modification - -The MIME database is NOT intended to store user preferences. Users should never -edit the database. If they wish to make corrections or provide MIME entries for -software that doesn't provide these itself, they should do so by means of the -Override.xml mentioned in . Information such as -"text/html files need to be opened with Mozilla" should NOT go in the database. - - - - - - Contributors - - - Thomas Leonard tal197 at users.sf.net - - - David Faure faure at kde.org - - - Alex Larsson alexl at redhat.com - - - Seth Nickell snickell at stanford.edu - - - Keith Packard keithp at keithp.com - - - Filip Van Raemdonck mechanix at debian.org - - - Christos Zoulas christos at zoulas.com - - - Matthias Clasen mclasen at redhat.com - - - Bastien Nocera hadess at hadess.net - - - - - - References - - - GNOMEThe GNOME desktop, - - - - KDEThe KDE desktop, - - - - ROXThe ROX desktop, - - - - DesktopEntriesDesktop Entry Specification, - - - - - SharedMIMEShared MIME-info Database, - - - - - RFC-2119 - Key words for use in RFCs to Indicate Requirement Levels, - - - - - BaseDir - XDG Base Directory Specification - - - - - ACAP - ACAP Media Type Dataset Class - - - - - -
diff -Nru shared-mime-info-1.15/src/meson.build shared-mime-info-2.0/src/meson.build --- shared-mime-info-1.15/src/meson.build 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/src/meson.build 2020-05-06 14:11:14.139908000 +0000 @@ -0,0 +1,34 @@ + +configure_file( + output: 'config.h', + configuration: config, +) + +update_mime_database = executable('update-mime-database', + 'update-mime-database.c', + dependencies: [ + glib2, + libxml, + ], + install: true, +) + +test_subclassing = executable('test-subclassing', + 'test-subclassing.c', + dependencies: [ + glib2, + libxml, + ], + install: false, +) + +if gio.found() + test_tree_magic = executable('tree-magic', + 'test-tree-magic.c', + dependencies:[ + glib2, + gio, + ], + install: false, + ) +endif diff -Nru shared-mime-info-1.15/src/test-subclassing.c shared-mime-info-2.0/src/test-subclassing.c --- shared-mime-info-1.15/src/test-subclassing.c 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/src/test-subclassing.c 2020-05-06 14:11:14.139908000 +0000 @@ -0,0 +1,47 @@ +#include +#include +#include + +int +main (int argc, + char **argv) +{ + xmlDocPtr doc; + xmlNodePtr node; + + doc = xmlReadFile ("freedesktop.org.xml", NULL, 0); + if (doc == NULL) { + fprintf (stderr, "Reading \"freedesktop.org.xml\" failed. Aborting.\n"); + return 1; + } + + if ((node = xmlDocGetRootElement (doc)) == NULL) { + fprintf (stderr, "\"freedesktop.org.xml\" has no root node. Aborting.\n"); + return 1; + } + + for (node = node->children; node != NULL; node = node->next) { + if (!strcmp ((char *) node->name, "mime-type")) { + xmlNodePtr p; + xmlChar *prop; + + for (p = node->children; p != NULL; p = p->next) { + if (!strcmp ((char *) p->name, "sub-class-of")) { + break; + } + } + + if (p != NULL) { + /* got sub-class-of node */ + continue; + } + + prop = xmlGetProp (node, (xmlChar *) "type"); + printf ("%s\n", prop); + xmlFree (prop); + } + } + + xmlFreeDoc (doc); + return 0; +} diff -Nru shared-mime-info-1.15/src/test-tree-magic.c shared-mime-info-2.0/src/test-tree-magic.c --- shared-mime-info-1.15/src/test-tree-magic.c 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/src/test-tree-magic.c 2020-05-06 14:11:14.139908000 +0000 @@ -0,0 +1,695 @@ +/* + * Copyright (C) 2008 Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, write to the + * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA + * + * Author: Matthias Clasen + */ + +#include +#include +#include +#include + + +typedef struct +{ + gchar *path; + GFileType type; + guint match_case : 1; + guint executable : 1; + guint non_empty : 1; + guint on_disc : 1; + gchar *mimetype; + GList *matches; +} TreeMatchlet; + +typedef struct +{ + gchar *contenttype; + gint priority; + GList *matches; +} TreeMatch; + +static GList *tree_matches = NULL; + +static void +tree_matchlet_free (TreeMatchlet *matchlet) +{ + g_list_foreach (matchlet->matches, (GFunc)tree_matchlet_free, NULL); + g_list_free (matchlet->matches); + g_free (matchlet->path); + g_free (matchlet->mimetype); + g_slice_free (TreeMatchlet, matchlet); +} + +static void +tree_match_free (TreeMatch *match) +{ + g_list_foreach (match->matches, (GFunc)tree_matchlet_free, NULL); + g_list_free (match->matches); + g_free (match->contenttype); + g_slice_free (TreeMatch, match); +} + +static void +tree_magic_shutdown (void) +{ + g_list_foreach (tree_matches, (GFunc)tree_match_free, NULL); + g_list_free (tree_matches); + tree_matches = NULL; +} + +static TreeMatch * +parse_header (gchar *line) +{ + gint len; + gchar *s; + TreeMatch *match; + + len = strlen (line); + + if (line[0] != '[' || line[len - 1] != ']') + return NULL; + + line[len - 1] = 0; + s = strchr (line, ':'); + + match = g_slice_new0 (TreeMatch); + match->priority = atoi (line + 1); + match->contenttype = g_strdup (s + 1); + + return match; +} + +static TreeMatchlet * +parse_match_line (gchar *line, + gint *depth) +{ + gchar *s, *p; + TreeMatchlet *matchlet; + gchar **parts; + gint i; + + matchlet = g_slice_new0 (TreeMatchlet); + + if (line[0] == '>') { + *depth = 0; + s = line; + } + else { + *depth = atoi (line); + s = strchr (line, '>'); + } + s += 2; + p = strchr (s, '"'); + *p = 0; + + matchlet->path = g_strdup (s); + s = p + 1; + parts = g_strsplit (s, ",", 0); + if (strcmp (parts[0], "=file") == 0) + matchlet->type = G_FILE_TYPE_REGULAR; + else if (strcmp (parts[0], "=directory") == 0) + matchlet->type = G_FILE_TYPE_DIRECTORY; + else if (strcmp (parts[0], "=link") == 0) + matchlet->type = G_FILE_TYPE_SYMBOLIC_LINK; + else + matchlet->type = G_FILE_TYPE_UNKNOWN; + for (i = 1; parts[i]; i++) { + if (strcmp (parts[i], "executable") == 0) + matchlet->executable = 1; + else if (strcmp (parts[i], "match-case") == 0) + matchlet->match_case = 1; + else if (strcmp (parts[i], "non-empty") == 0) + matchlet->non_empty = 1; + else if (strcmp (parts[i], "on-disc") == 0) + matchlet->on_disc = 1; + else + matchlet->mimetype = g_strdup (parts[i]); + } + + g_strfreev (parts); + + return matchlet; +} + +static gint +cmp_match (gconstpointer a, gconstpointer b) +{ + const TreeMatch *aa = (const TreeMatch *)a; + const TreeMatch *bb = (const TreeMatch *)b; + + return bb->priority - aa->priority; +} + +static void +insert_match (TreeMatch *match) +{ + tree_matches = g_list_insert_sorted (tree_matches, match, cmp_match); +} + +static void +insert_matchlet (TreeMatch *match, + TreeMatchlet *matchlet, + gint depth) +{ + g_return_if_fail (match != NULL); + + if (depth == 0) + match->matches = g_list_append (match->matches, matchlet); + else { + GList *last; + TreeMatchlet *m; + + last = g_list_last (match->matches); + if (!last) { + tree_matchlet_free (matchlet); + g_warning ("can't insert matchlet at depth %d", depth); + return; + } + + m = (TreeMatchlet *) last->data; + depth--; + while (depth > 0) { + last = g_list_last (m->matches); + if (!last) { + tree_matchlet_free (matchlet); + g_warning ("can't insert matchlet at depth %d", depth); + return; + } + + m = (TreeMatchlet *) last->data; + depth--; + } + m->matches = g_list_append (m->matches, matchlet); + } +} + +static void +read_tree_magic_from_directory (const gchar *prefix) +{ + gchar *filename; + gchar *text; + gsize len; + gint i; + TreeMatch *match; + TreeMatchlet *matchlet; + gint depth; + + filename = g_build_filename (prefix, "mime", "treemagic", NULL); + match = NULL; + + if (g_file_get_contents (filename, &text, &len, NULL)) { + if (strcmp (text, "MIME-TreeMagic") == 0) { + gchar **lines; + + lines = g_strsplit (text + strlen ("MIME-TreeMagic") + 2, "\n", 0); + for (i = 0; lines[i] && lines[i][0]; i++) { + if (lines[i][0] == '[') { + match = parse_header (lines[i]); + insert_match (match); + } + else { + matchlet = parse_match_line (lines[i], &depth); + insert_matchlet (match, matchlet, depth); + } + } + g_strfreev (lines); + } + else + g_warning ("%s: header not found, skipping\n", filename); + + g_free (text); + } + + g_free (filename); +} + +typedef struct +{ + gchar *path; + gint depth; + gboolean ignore_case; + gchar **components; + gchar **case_components; + GFileEnumerator **enumerators; + GFile **children; +} Enumerator; + +static gboolean +component_match (Enumerator *e, + gint depth, + const gchar *name) +{ + gchar *case_folded, *key; + gboolean found; + + if (strcmp (name, e->components[depth]) == 0) + return TRUE; + + if (!e->ignore_case) + return FALSE; + + case_folded = g_utf8_casefold (name, -1); + key = g_utf8_collate_key (case_folded, -1); + + found = strcmp (key, e->case_components[depth]) == 0; + + g_free (case_folded); + g_free (key); + + return found; +} + +static GFile * +next_match_recurse (Enumerator *e, + gint depth) +{ + GFile *file; + GFileInfo *info; + const gchar *name; + + while (TRUE) { + if (e->enumerators[depth] == NULL) { + if (depth > 0) { + file = next_match_recurse (e, depth - 1); + if (file) { + e->children[depth] = file; + e->enumerators[depth] = g_file_enumerate_children (file, + G_FILE_ATTRIBUTE_STANDARD_NAME, + G_FILE_QUERY_INFO_NONE, + NULL, + NULL); + } + } + if (e->enumerators[depth] == NULL) + return NULL; + } + + while ((info = g_file_enumerator_next_file (e->enumerators[depth], NULL, NULL))) { + name = g_file_info_get_name (info); + if (component_match (e, depth, name)) { + file = g_file_get_child (e->children[depth], name); + g_object_unref (info); + return file; + } + g_object_unref (info); + } + + g_object_unref (e->enumerators[depth]); + e->enumerators[depth] = NULL; + g_object_unref (e->children[depth]); + e->children[depth] = NULL; + } +} + +static GFile * +enumerator_next (Enumerator *e) +{ + return next_match_recurse (e, e->depth - 1); +} + +static Enumerator * +enumerator_new (GFile *root, + const char *path, + gboolean ignore_case) +{ + Enumerator *e; + gint i; + gchar *case_folded; + + e = g_new0 (Enumerator, 1); + e->path = g_strdup (path); + e->ignore_case = ignore_case; + + e->components = g_strsplit (e->path, G_DIR_SEPARATOR_S, -1); + e->depth = g_strv_length (e->components); + if (e->ignore_case) { + e->case_components = g_new0 (char *, e->depth + 1); + for (i = 0; e->components[i]; i++) { + case_folded = g_utf8_casefold (e->components[i], -1); + e->case_components[i] = g_utf8_collate_key (case_folded, -1); + g_free (case_folded); + } + } + + e->children = g_new0 (GFile *, e->depth); + e->children[0] = g_object_ref (root); + e->enumerators = g_new0 (GFileEnumerator *, e->depth); + e->enumerators[0] = g_file_enumerate_children (root, + G_FILE_ATTRIBUTE_STANDARD_NAME, + G_FILE_QUERY_INFO_NONE, + NULL, + NULL); + + return e; +} + +static void +enumerator_free (Enumerator *e) +{ + gint i; + + for (i = 0; i < e->depth; i++) { + if (e->enumerators[i]) + g_object_unref (e->enumerators[i]); + if (e->children[i]) + g_object_unref (e->children[i]); + } + + g_free (e->enumerators); + g_free (e->children); + g_strfreev (e->components); + if (e->case_components) + g_strfreev (e->case_components); + g_free (e->path); + g_free (e); +} + +static gboolean +matchlet_match (TreeMatchlet *matchlet, + GFile *root) +{ + GFile *file; + GFileInfo *info; + gboolean result; + const gchar *attrs; + Enumerator *e; + GList *l; + + e = enumerator_new (root, matchlet->path, !matchlet->match_case); + + do { + file = enumerator_next (e); + if (!file) { + enumerator_free (e); + return FALSE; + } + + if (matchlet->mimetype) + attrs = G_FILE_ATTRIBUTE_STANDARD_TYPE "," + G_FILE_ATTRIBUTE_ACCESS_CAN_EXECUTE "," + G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE; + else + attrs = G_FILE_ATTRIBUTE_STANDARD_TYPE "," + G_FILE_ATTRIBUTE_ACCESS_CAN_EXECUTE; + info = g_file_query_info (file, + attrs, + G_FILE_QUERY_INFO_NONE, + NULL, + NULL); + if (info) { + result = TRUE; + + if (matchlet->type != G_FILE_TYPE_UNKNOWN && + g_file_info_get_file_type (info) != matchlet->type) + result = FALSE; + + if (matchlet->executable && + !g_file_info_get_attribute_boolean (info, G_FILE_ATTRIBUTE_ACCESS_CAN_EXECUTE)) + result = FALSE; + } + else + result = FALSE; + + if (result && matchlet->non_empty) { + GFileEnumerator *child_enum; + GFileInfo *child_info; + + child_enum = g_file_enumerate_children (file, + G_FILE_ATTRIBUTE_STANDARD_NAME, + G_FILE_QUERY_INFO_NONE, + NULL, + NULL); + + if (child_enum) { + child_info = g_file_enumerator_next_file (child_enum, NULL, NULL); + if (child_info) + g_object_unref (child_info); + else + result = FALSE; + g_object_unref (child_enum); + } + else + result = FALSE; + } + + if (result && matchlet->mimetype) { + if (strcmp (matchlet->mimetype, g_file_info_get_content_type (info)) != 0) + result = FALSE; + } + + g_object_unref (info); + g_object_unref (file); + + } + while (!result); + + enumerator_free (e); + + if (!matchlet->matches) + return TRUE; + + for (l = matchlet->matches; l; l = l->next) { + TreeMatchlet *submatchlet; + + submatchlet = l->data; + if (matchlet_match (submatchlet, root)) + return TRUE; + } + + return FALSE; +} + +static void +match_match (TreeMatch *match, + GFile *root, + GPtrArray *types) +{ + GList *l; + + for (l = match->matches; l; l = l->next) { + TreeMatchlet *matchlet = l->data; + if (matchlet_match (matchlet, root)) { + g_ptr_array_add (types, g_strdup (match->contenttype)); + break; + } + } +} + +static void +tree_magic_init (void) +{ + static gboolean initialized = FALSE; + const gchar *dir; + const gchar * const * dirs; + int i; + + if (!initialized) { + initialized = TRUE; + + dir = g_get_user_data_dir (); + + read_tree_magic_from_directory (dir); + + dirs = g_get_system_data_dirs (); + for (i = 0; dirs[i]; i++) + read_tree_magic_from_directory (dirs[i]); + } +} + +static GPtrArray * +sniff_content_type (GFile *root) +{ + GPtrArray *types; + GList *l; + + /* TODO: monitor and reload */ + tree_magic_init (); + + types = g_ptr_array_new (); + + for (l = tree_matches; l; l = l->next) { + TreeMatch *match = l->data; + match_match (match, root, types); + } + + return types; +} + +static gboolean +handle_one_line (const char *line, + const char *cwd) +{ + GFile *file; + GPtrArray *array; + gboolean retval = TRUE; + gboolean supposed_to_fail = FALSE; + char **items, **mimetypes; + char *filename; + guint i; + + if (strncmp (line, "x ", 2) == 0) { + supposed_to_fail = TRUE; + items = g_strsplit (line + 2, " ", 2); + } else { + items = g_strsplit (line, " ", 2); + } + + filename = items[0]; + mimetypes = g_strsplit (items[1], " ", -1); + + file = g_file_new_for_commandline_arg_and_cwd (filename, cwd); + + array = sniff_content_type (file); + if (array->len == 0) { + if (supposed_to_fail == FALSE) { + g_warning ("Tree %s didn't match %s (found nothing)", + filename, items[1]); + retval = FALSE; + } else { + g_message ("Tree %s failed to match %s (expected)", + filename, items[1]); + retval = TRUE; + } + goto bail; + } + + for (i = 0; i < array->len; i++) { + char *found; + gboolean matched; + guint j; + + matched = FALSE; + found = (char *) array->pdata[i]; + for (j = 0; mimetypes[j] != NULL; j++) { + if (strcmp (mimetypes[j], found) == 0) { + matched = TRUE; + break; + } + } + if (matched == FALSE && supposed_to_fail == FALSE) { + g_warning ("Tree %s didn't match %s (found %s)", + filename, items[1], found); + retval = FALSE; + goto bail; + } else if (matched == FALSE) { + g_message ("Tree %s failed to match %s (expected)", + filename, items[1]); + } else { + g_message ("Tree %s looks good (found %s)", + filename, found); + } + } + +bail: + g_strfreev (items); + g_ptr_array_free (array, TRUE); + g_strfreev (mimetypes); + + return retval; +} + +static const char * +type_to_path (GFileType type) +{ + switch (type) { + case G_FILE_TYPE_REGULAR: + return "Regular"; + case G_FILE_TYPE_DIRECTORY: + return "Directory"; + case G_FILE_TYPE_SYMBOLIC_LINK: + return "Symbolic link"; + default: + return "Unknown"; + } +} + +static void +print_matchlet (TreeMatchlet *matchlet, guint depth) +{ + GList *l; + guint i; + + for (i = depth + 1; i != 0; i--) + g_print ("\t"); + g_print ("%s (type=%s)\n", matchlet->path, type_to_path (matchlet->type)); + for (l = matchlet->matches ; l != NULL; l = l->next) + print_matchlet (l->data, depth + 1); +} + +int main (int argc, char **argv) +{ + GError *error = NULL; + char *content, **lines, *cwd; + guint i; + +#if GLIB_CHECK_VERSION(2,36,0) +#else + g_type_init (); +#endif + + if (argc != 2) { + g_print ("Usage: %s [file]\n", argv[0]); + g_print ("Where file contains, on each line, a directory path,\n" + "followed by one or more content types\n"); + g_print ("Lines starting with '#' are ignored\n"); + g_print ("Examples:\n"); + g_print ("\t#Supposed to work\n"); + g_print ("\ttests/image-dcf x-content/image-dcf\n"); + g_print ("\t# Supposed to fail\n"); + g_print ("\tx tests/ x-content/image-dcf\n"); + return 1; + } + + if (strcmp (argv[1], "-d") == 0) { + GList *l; + + tree_magic_init (); + for (l = tree_matches ; l != NULL; l = l->next) { + GList *k; + TreeMatch *match = (TreeMatch *) l->data; + g_print ("Type: %s\n", match->contenttype); + for (k = match->matches ; k != NULL; k = k->next) { + TreeMatchlet *matchlet = (TreeMatchlet *) k->data; + print_matchlet (matchlet, 0); + } + } + return 0; + } + + if (g_file_get_contents (argv[1], &content, NULL, &error) == FALSE) { + g_warning ("Failed to load %s: %s", argv[1], error->message); + return 1; + } + lines = g_strsplit (content, "\n", -1); + g_free (content); + + cwd = g_path_get_dirname (argv[1]); + for (i = 0; lines[i] != NULL; i++) { + if (*lines[i] == '\0' || *lines[i] == '#') + continue; + if (handle_one_line (lines[i], cwd) == FALSE) + return 1; + } + g_free (cwd); + + tree_magic_shutdown (); + + return 0; +} + diff -Nru shared-mime-info-1.15/src/update-mime-database.c shared-mime-info-2.0/src/update-mime-database.c --- shared-mime-info-1.15/src/update-mime-database.c 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/src/update-mime-database.c 2020-05-06 14:11:14.141908200 +0000 @@ -0,0 +1,3981 @@ +#include + +#define N_(x) x +#define _(x) (x) + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define XML_NS XML_XML_NAMESPACE +#define XMLNS_NS "http://www.w3.org/2000/xmlns/" +#define FREE_NS (xmlChar *)"http://www.freedesktop.org/standards/shared-mime-info" + +#define COPYING \ + N_("Copyright (C) 2003 Thomas Leonard.\n" \ + "update-mime-database comes with ABSOLUTELY NO WARRANTY,\n" \ + "to the extent permitted by law.\n" \ + "You may redistribute copies of update-mime-database\n" \ + "under the terms of the GNU General Public License.\n" \ + "For more information about these matters, " \ + "see the file named COPYING.\n") + +#define MIME_ERROR g_quark_from_static_string("mime-error-quark") + +#define NOGLOBS "__NOGLOBS__" +#define NOMAGIC "__NOMAGIC__" + +#ifndef PATH_SEPARATOR +# ifdef _WIN32 +# define PATH_SEPARATOR ";" +# else +# define PATH_SEPARATOR ":" +# endif +#endif + +/* This is the list of directories to scan when finding old type files to + * delete. It is also used to warn about invalid MIME types. + */ +const char *media_types[] = { + "all", + "uri", + "print", + "text", + "application", + "image", + "audio", + "inode", + "video", + "message", + "model", + "multipart", + "x-content", + "x-epoc", + "x-scheme-handler", + "font", +}; + +/* Represents a MIME type */ +typedef struct _Type Type; + +/* A parsed element */ +typedef struct _Magic Magic; + +/* A parsed element */ +typedef struct _Match Match; + +/* A parsed element */ +typedef struct _TreeMagic TreeMagic; + +/* A parsed element */ +typedef struct _TreeMatch TreeMatch; + +/* A parsed element */ +typedef struct _Glob Glob; + +struct _Type { + char *media; + char *subtype; + + /* Contains xmlNodes for elements that are being copied to the output. + * That is, , and nodes, and anything + * with an unknown namespace. + */ + xmlDoc *output; +}; + +struct _Glob { + int weight; + char *pattern; + Type *type; + gboolean noglob; + gboolean case_sensitive; +}; + +struct _Magic { + int priority; + Type *type; + GList *matches; + gboolean nomagic; +}; + +struct _Match { + long range_start; + int range_length; + char word_size; + int data_length; + char *data; + char *mask; + GList *matches; +}; + +struct _TreeMagic { + int priority; + Type *type; + GList *matches; +}; + +struct _TreeMatch { + char *path; + gboolean match_case; + gboolean executable; + gboolean non_empty; + gint type; + char *mimetype; + + GList *matches; +}; + +/* Maps MIME type names to Types */ +static GHashTable *types = NULL; + +/* Maps "namespaceURI localName" strings to Types */ +static GHashTable *namespace_hash = NULL; + +/* Maps glob patterns to Types */ +static GHashTable *globs_hash = NULL; + +/* 'magic' nodes */ +static GPtrArray *magic_array = NULL; + +/* 'treemagic' nodes */ +static GPtrArray *tree_magic_array = NULL; + +/* Maps MIME type names to superclass names */ +static GHashTable *subclass_hash = NULL; + +/* Maps aliases to Types */ +static GHashTable *alias_hash = NULL; + +/* Maps MIME type names to icon names */ +static GHashTable *icon_hash = NULL; + +/* Maps MIME type names to icon names */ +static GHashTable *generic_icon_hash = NULL; + +/* Lists enabled log levels */ +static GLogLevelFlags enabled_log_levels = G_LOG_LEVEL_ERROR | G_LOG_LEVEL_CRITICAL | G_LOG_LEVEL_WARNING; + +/* Static prototypes */ +static Magic *magic_new(xmlNode *node, Type *type, GError **error); +static Match *match_new(void); + +static TreeMagic *tree_magic_new(xmlNode *node, Type *type, GError **error); + +static void g_log_handler (const gchar *log_domain, + GLogLevelFlags log_level, + const gchar *message, + gpointer unused_data) +{ + if (log_level & enabled_log_levels) { + g_printf("%s\n", message); + } +} + +static void +fatal_gerror (GError *error) G_GNUC_NORETURN; + +static void +fatal_gerror (GError *error) +{ + g_assert(error != NULL); + g_printerr("%s\n", error->message); + g_error_free(error); + exit (EXIT_FAILURE); +} + +static void usage(const char *name) +{ + g_fprintf(stderr, _("Usage: %s [-hvVn] MIME-DIR\n"), name); +} + +static void free_type(gpointer data) +{ + Type *type = (Type *) data; + + g_free(type->media); + g_free(type->subtype); + + xmlFreeDoc(type->output); + + g_free(type); +} + +/* Ugly workaround to shut up gcc4 warnings about signedness issues + * (xmlChar is typedef'ed to unsigned char) + */ +static char *my_xmlGetNsProp (xmlNodePtr node, + const char *name, + const xmlChar *namespace) +{ + return (char *)xmlGetNsProp (node, (xmlChar *)name, namespace); +} + +/* If we've seen this type before, return the existing object. + * Otherwise, create a new one. Checks that the name looks sensible; + * if not, sets error and returns NULL. + * Also warns about unknown media types, but does not set error. + */ +static Type *get_type(const char *name, GError **error) +{ + xmlNode *root; + xmlNs *ns; + const char *slash; + Type *type; + int i; + + slash = strchr(name, '/'); + if (!slash || strchr(slash + 1, '/')) + { + g_set_error(error, MIME_ERROR, 0, + _("Invalid MIME-type '%s'"), name); + return NULL; + } + + type = g_hash_table_lookup(types, name); + if (type) + return type; + + type = g_new(Type, 1); + type->media = g_strndup(name, slash - name); + type->subtype = g_strdup(slash + 1); + g_hash_table_insert(types, g_strdup(name), type); + + type->output = xmlNewDoc((xmlChar *)"1.0"); + root = xmlNewDocNode(type->output, NULL, (xmlChar *)"mime-type", NULL); + ns = xmlNewNs(root, FREE_NS, NULL); + xmlSetNs(root, ns); + xmlDocSetRootElement(type->output, root); + xmlSetNsProp(root, NULL, (xmlChar *)"type", (xmlChar *)name); + xmlAddChild(root, xmlNewDocComment(type->output, + (xmlChar *)"Created automatically by update-mime-database. DO NOT EDIT!")); + + for (i = 0; i < G_N_ELEMENTS(media_types); i++) + { + if (strcmp(media_types[i], type->media) == 0) + return type; + } + + g_message("Unknown media type in type '%s'", name); + + return type; +} + +/* Test that this node has the expected name and namespace */ +static gboolean match_node(xmlNode *node, + const char *namespaceURI, + const char *localName) +{ + if (namespaceURI) + return node->ns && + strcmp((char *)node->ns->href, namespaceURI) == 0 && + strcmp((char *)node->name, localName) == 0; + else + return strcmp((char *)node->name, localName) == 0 && !node->ns; +} + +static int get_int_attribute(xmlNode *node, const char *name) +{ + char *prio_string; + int p; + + prio_string = my_xmlGetNsProp(node, name, NULL); + if (prio_string) + { + char *end; + + p = strtol(prio_string, &end, 10); + if (*prio_string == '\0' || *end != '\0') + p = -1; + xmlFree(prio_string); + if (p < 0 || p > 100) + return -1; + return p; + } + else + return 50; +} + +/* Return the priority of a node. + * Returns 50 if no priority is given, or -1 if a priority is given but + * is invalid. + */ +static int get_priority(xmlNode *node) +{ + return get_int_attribute (node, "priority"); +} + +/* Return the weight a node. + * Returns 50 if no weight is given, or -1 if a weight is given but + * is invalid. + */ +static int get_weight(xmlNode *node) +{ + return get_int_attribute (node, "weight"); +} + +/* Return the value of a false/true attribute, which defaults to false. + * Returns 0 or 1. + */ +static gboolean get_boolean_attribute(xmlNode *node, const char* name) +{ + char *attr; + attr = my_xmlGetNsProp(node, name, NULL); + if (attr) + { + if (strcmp (attr, "true") == 0) + { + return TRUE; + } + xmlFree(attr); + } + return FALSE; +} + +/* Process a element by adding a rule to namespace_hash */ +static void add_namespace(Type *type, const char *namespaceURI, + const char *localName, GError **error) +{ + g_return_if_fail(type != NULL); + + if (!namespaceURI) + { + g_set_error(error, MIME_ERROR, 0, + _("Missing 'namespaceURI' attribute'")); + return; + } + + if (!localName) + { + g_set_error(error, MIME_ERROR, 0, + _("Missing 'localName' attribute'")); + return; + } + + if (!*namespaceURI && !*localName) + { + g_set_error(error, MIME_ERROR, 0, + _("namespaceURI and localName attributes can't " + "both be empty")); + return; + } + + if (strpbrk(namespaceURI, " \n") || strpbrk(localName, " \n")) + { + g_set_error(error, MIME_ERROR, 0, + _("namespaceURI and localName cannot contain " + "spaces or newlines")); + return; + } + + g_hash_table_insert(namespace_hash, + g_strconcat(namespaceURI, " ", localName, NULL), + type); +} + +/* 'field' was found in the definition of 'type' and has the freedesktop.org + * namespace. If it's a known field, process it and return TRUE, else + * return FALSE to add it to the output XML document. + * On error, returns FALSE and sets 'error'. + */ +static gboolean process_freedesktop_node(Type *type, xmlNode *field, + GError **error) +{ + gboolean copy_to_xml; + + copy_to_xml = FALSE; + if (strcmp((char *)field->name, "glob") == 0) + { + gchar *pattern; + gint weight; + gboolean case_sensitive; + + weight = get_weight(field); + case_sensitive = get_boolean_attribute(field, "case-sensitive"); + + if (weight == -1) + { + g_set_error(error, MIME_ERROR, 0, + _("Bad weight (%d) in element"), weight); + } + pattern = my_xmlGetNsProp(field, "pattern", NULL); + + if (pattern && *pattern) + { + Glob *glob; + char *pat = case_sensitive ? g_strdup (pattern) : g_ascii_strdown (pattern, -1); + GList *list = g_hash_table_lookup (globs_hash, pat); + + glob = g_new0 (Glob, 1); + glob->pattern = pat; + glob->type = type; + glob->weight = weight; + glob->case_sensitive = case_sensitive; + list = g_list_append (list, glob); + g_hash_table_insert(globs_hash, g_strdup (glob->pattern), list); + xmlFree(pattern); + copy_to_xml = TRUE; + } + else + { + if (pattern) + xmlFree(pattern); + g_set_error(error, MIME_ERROR, 0, + _("Missing 'pattern' attribute in " + "element")); + } + } + else if (strcmp((char *)field->name, "glob-deleteall") == 0) + { + Glob *glob; + GList *list = g_hash_table_lookup (globs_hash, NOGLOBS); + + glob = g_new0 (Glob, 1); + glob->pattern = g_strdup (NOGLOBS); + glob->type = type; + glob->weight = 0; + glob->noglob = TRUE; + glob->case_sensitive = FALSE; + list = g_list_append (list, glob); + g_hash_table_insert(globs_hash, g_strdup (glob->pattern), list); + copy_to_xml = TRUE; + } + else if (strcmp((char *)field->name, "magic") == 0) + { + Magic *magic; + + magic = magic_new(field, type, error); + + if (!*error) + { + g_return_val_if_fail(magic != NULL, FALSE); + g_ptr_array_add(magic_array, magic); + } + else + g_return_val_if_fail(magic == NULL, FALSE); + } + else if (strcmp((char *)field->name, "magic-deleteall") == 0) + { + Magic *magic; + Match *match; + + magic = g_new0(Magic, 1); + magic->priority = 0; + magic->type = type; + magic->nomagic = TRUE; + match = match_new (); + match->data = g_strdup (NOMAGIC); + match->data_length = strlen (NOMAGIC); + magic->matches = g_list_prepend (NULL, match); + + g_ptr_array_add(magic_array, magic); + } + else if (strcmp((char *)field->name, "treemagic") == 0) + { + TreeMagic *magic; + + magic = tree_magic_new(field, type, error); + + if (!*error) + { + g_return_val_if_fail(magic != NULL, FALSE); + g_ptr_array_add(tree_magic_array, magic); + } + else + g_return_val_if_fail(magic == NULL, FALSE); + } + else if (strcmp((char *)field->name, "comment") == 0 || + strcmp((char *)field->name, "acronym") == 0 || + strcmp((char *)field->name, "expanded-acronym") == 0) + copy_to_xml = TRUE; + else if (strcmp((char *)field->name, "alias") == 0 || + strcmp((char *)field->name, "sub-class-of") == 0) + { + char *other_type; + gboolean valid; + GSList *list, *nlist; + + other_type = my_xmlGetNsProp(field, "type", NULL); + valid = other_type && strchr(other_type, '/'); + if (valid) + { + char *typename; + + typename = g_strdup_printf("%s/%s", + type->media, + type->subtype); + + if (strcmp((char *)field->name, "alias") == 0) + g_hash_table_insert(alias_hash, + g_strdup(other_type), type); + + else + { + list = g_hash_table_lookup(subclass_hash, typename); + nlist = g_slist_append (list, g_strdup(other_type)); + if (list == NULL) + g_hash_table_insert(subclass_hash, + g_strdup(typename), nlist); + } + g_free(typename); + xmlFree(other_type); + + copy_to_xml = TRUE; /* Copy through */ + } + else + { + xmlFree(other_type); + g_set_error(error, MIME_ERROR, 0, + _("Incorrect or missing 'type' attribute " + "in <%s>"), field->name); + } + } + else if (strcmp((char *)field->name, "root-XML") == 0) + { + char *namespaceURI, *localName; + + namespaceURI = my_xmlGetNsProp(field, "namespaceURI", NULL); + localName = my_xmlGetNsProp(field, "localName", NULL); + + add_namespace(type, namespaceURI, localName, error); + + if (namespaceURI) + xmlFree(namespaceURI); + if (localName) + xmlFree(localName); + } + else if (strcmp((char *)field->name, "generic-icon") == 0 || + strcmp((char *)field->name, "icon") == 0) + { + char *icon; + char *typename; + + icon = my_xmlGetNsProp(field, "name", NULL); + + if (icon) + { + typename = g_strdup_printf("%s/%s", + type->media, + type->subtype); + + if (strcmp((char *)field->name, "icon") == 0) + g_hash_table_insert(icon_hash, + typename, g_strdup (icon)); + else + g_hash_table_insert(generic_icon_hash, + typename, g_strdup (icon)); + + xmlFree (icon); + + copy_to_xml = TRUE; /* Copy through */ + } + } + + if (*error) + return FALSE; + return !copy_to_xml; +} + +/* Checks to see if 'node' has the given value for xml:lang. + * If 'lang' is NULL, checks that 'node' doesn't have an xml:lang. + */ +static gboolean has_lang(xmlNode *node, const char *lang) +{ + char *lang2; + + lang2 = my_xmlGetNsProp(node, "lang", XML_NS); + if (!lang2) + return !lang; + + if (lang && strcmp(lang, lang2) == 0) + { + xmlFree(lang2); + return TRUE; + } + xmlFree(lang2); + return FALSE; +} + +/* We're about to add 'new' to the list of fields to be output for the + * type. Remove any existing nodes which it replaces. + */ +static void remove_old(Type *type, xmlNode *new) +{ + xmlNode *field, *fields; + char *lang; + + if (new->ns == NULL || xmlStrcmp(new->ns->href, FREE_NS) != 0) + return; /* No idea what we're doing -- leave it in! */ + + if (strcmp((char *)new->name, "comment") != 0) + return; + + lang = my_xmlGetNsProp(new, "lang", XML_NS); + + fields = xmlDocGetRootElement(type->output); + for (field = fields->xmlChildrenNode; field; field = field->next) + { + if (match_node(field, (char *)FREE_NS, "comment") && + has_lang(field, lang)) + { + xmlUnlinkNode(field); + xmlFreeNode(field); + break; + } + } + + xmlFree(lang); +} + +/* 'node' is a node from a source file, whose type is 'type'. + * Process all the child elements, setting 'error' if anything goes wrong. + */ +static void load_type(Type *type, xmlNode *node, GError **error) +{ + xmlNode *field; + + g_return_if_fail(type != NULL); + g_return_if_fail(node != NULL); + g_return_if_fail(error != NULL); + + for (field = node->xmlChildrenNode; field; field = field->next) + { + xmlNode *copy; + + if (field->type != XML_ELEMENT_NODE) + continue; + + if (field->ns && xmlStrcmp(field->ns->href, FREE_NS) == 0) + { + if (process_freedesktop_node(type, field, error)) + { + g_return_if_fail(*error == NULL); + continue; + } + } + + if (*error) + return; + + copy = xmlDocCopyNode(field, type->output, 1); + + /* Ugly hack to stop the xmlns= attributes appearing on + * every node... + */ + if (copy->ns && copy->ns->prefix == NULL && + xmlStrcmp(copy->ns->href, FREE_NS) == 0) + { + if (copy->nsDef) + { + /* Still used somewhere... */ + /* xmlFreeNsList(copy->nsDef); */ + /* (this leaks) */ + copy->nsDef = NULL; + } + } + + remove_old(type, field); + + xmlAddChild(xmlDocGetRootElement(type->output), copy); + } +} + +/* Parse 'filename' as an XML file and add all the information to the + * database. If called more than once, information read in later calls + * overrides information read previously. + */ +static void load_source_file(const char *filename) +{ + xmlDoc *doc; + xmlNode *root, *node; + + doc = xmlParseFile(filename); + if (!doc) + { + g_warning(_("Failed to parse '%s'"), filename); + return; + } + + g_message("Parsing source file %s...", filename); + + root = xmlDocGetRootElement(doc); + + if (root->ns == NULL || xmlStrcmp(root->ns->href, FREE_NS) != 0) + { + g_warning("Wrong namespace on document element in '%s' (should be %s)", filename, FREE_NS); + goto out; + } + + if (strcmp((char *)root->name, "mime-info") != 0) + { + g_warning("Root element <%s> is not (in '%s')", root->name, filename); + goto out; + } + + for (node = root->xmlChildrenNode; node; node = node->next) + { + Type *type = NULL; + char *type_name = NULL; + GError *error = NULL; + + if (node->type != XML_ELEMENT_NODE) + continue; + + if (!match_node(node, (char *)FREE_NS, "mime-type")) + g_set_error(&error, MIME_ERROR, 0, + _("Excepted , but got wrong name " + "or namespace")); + + if (!error) + { + type_name = my_xmlGetNsProp(node, "type", NULL); + + if (!type_name) + g_set_error(&error, MIME_ERROR, 0, + _(" element has no 'type' " + "attribute")); + } + + if (type_name) + { + type = get_type(type_name, &error); + xmlFree(type_name); + } + + if (!error) + { + g_return_if_fail(type != NULL); + load_type(type, node, &error); + } + else + g_return_if_fail(type == NULL); + + if (error) + { + g_warning("Error in type '%s/%s' (in %s): %s.", + type ? type->media : _("unknown"), + type ? type->subtype : _("unknown"), + filename, error->message); + g_error_free(error); + } + } +out: + xmlFreeDoc(doc); +} + +/* Used as the sort function for sorting GPtrArrays */ +static gint strcmp2(gconstpointer a, gconstpointer b) +{ + const char *aa = *(char **) a; + const char *bb = *(char **) b; + + return strcmp(aa, bb); +} + +/* 'path' should be a 'packages' directory. Loads the information from + * every file in the directory. + */ +static void scan_source_dir(const char *path) +{ + DIR *dir; + struct dirent *ent; + char *filename; + GPtrArray *files; + int i; + gboolean have_override = FALSE; + + dir = opendir(path); + if (!dir) + { + perror("scan_source_dir"); + exit(EXIT_FAILURE); + } + + files = g_ptr_array_new(); + while ((ent = readdir(dir))) + { + int l; + l = strlen(ent->d_name); + if (l < 4 || strcmp(ent->d_name + l - 4, ".xml") != 0) + continue; + if (strcmp(ent->d_name, "Override.xml") == 0) + { + have_override = TRUE; + continue; + } + g_ptr_array_add(files, g_strdup(ent->d_name)); + } + closedir(dir); + + g_ptr_array_sort(files, strcmp2); + + if (have_override) + g_ptr_array_add(files, g_strdup("Override.xml")); + + for (i = 0; i < files->len; i++) + { + gchar *leaf = (gchar *) files->pdata[i]; + + filename = g_strconcat(path, "/", leaf, NULL); + load_source_file(filename); + g_free(filename); + } + + for (i = 0; i < files->len; i++) + g_free(files->pdata[i]); + g_ptr_array_free(files, TRUE); +} + +static gboolean save_xml_file(xmlDocPtr doc, const gchar *filename, GError **error) +{ +#if LIBXML_VERSION > 20400 + if (xmlSaveFormatFileEnc(filename, doc, "utf-8", 1) < 0) + { + g_set_error(error, G_FILE_ERROR, G_FILE_ERROR_FAILED, + "Failed to write XML file; For permission problems, try rerunning as root"); + return FALSE; + } +#else + FILE *out; + + out = fopen_gerror(filename, error); + if (!out) + return FALSE; + + xmlDocDump(out, doc); /* Some versions return void */ + + if (!fclose_gerror(out, error)) + return FALSE; +#endif + + return TRUE; +} + +/* Write out globs for one pattern to the 'globs' file */ +static void write_out_glob(GList *globs, FILE *stream) +{ + GList *list; + Glob *glob; + Type *type; + + for (list = globs; list; list = list->next) { + glob = (Glob *)list->data; + type = glob->type; + if (strchr(glob->pattern, '\n')) + g_warning("Glob patterns can't contain literal newlines " + "(%s in type %s/%s)", glob->pattern, + type->media, type->subtype); + else + g_fprintf(stream, "%s/%s:%s\n", + type->media, type->subtype, glob->pattern); + } +} + +/* Write out globs and weights for one pattern to the 'globs2' file */ +static void write_out_glob2(GList *globs, FILE *stream) +{ + GList *list; + Glob *glob; + Type *type; + gboolean need_flags; + + for (list = globs ; list; list = list->next) { + glob = (Glob *)list->data; + type = glob->type; + if (strchr(glob->pattern, '\n')) + g_warning("Glob patterns can't contain literal newlines " + "(%s in type %s/%s)", glob->pattern, + type->media, type->subtype); + else + { + need_flags = FALSE; + if (glob->case_sensitive) + need_flags = TRUE; + + if (need_flags) { + g_fprintf(stream, "%d:%s/%s:%s%s\n", + glob->weight, type->media, type->subtype, glob->pattern, + glob->case_sensitive ? ":cs" : ""); + } + + /* Always write the line without the flags, for older parsers */ + g_fprintf(stream, "%d:%s/%s:%s\n", + glob->weight, type->media, type->subtype, glob->pattern); + } + } +} + +static void collect_glob2(gpointer key, gpointer value, gpointer data) +{ + GList **listp = data; + + *listp = g_list_concat (*listp, g_list_copy ((GList *)value)); +} + +static int compare_glob_by_weight (gpointer a, gpointer b) +{ + Glob *ag = (Glob *)a; + Glob *bg = (Glob *)b; + + if (ag->noglob || bg->noglob) + return bg->noglob - ag->noglob; + + return bg->weight - ag->weight; +} + +static void +set_error_from_errno (GError **error) +{ + int errsv = errno; + g_set_error_literal(error, G_FILE_ERROR, g_file_error_from_errno(errsv), + g_strerror(errsv)); +} + +#ifdef HAVE_FDATASYNC +static gboolean +sync_enabled(void) +{ + const char *env; + + env = g_getenv("PKGSYSTEM_ENABLE_FSYNC"); + if (!env) + return TRUE; + return atoi(env); +} +#endif + +static int +sync_file(const gchar *pathname, GError **error) +{ +#ifdef HAVE_FDATASYNC + int fd; + + if (!sync_enabled()) + return 0; + + fd = open(pathname, O_RDWR); + if (fd == -1) + { + set_error_from_errno(error); + return -1; + } + if (fdatasync(fd) == -1) + { + set_error_from_errno(error); + close(fd); + return -1; + } + if (close(fd) == -1) + { + set_error_from_errno(error); + return -1; + } +#endif + + return 0; +} + +/* Renames pathname by removing the .new extension */ +static gboolean atomic_update(const gchar *pathname, GError **error) +{ + gboolean ret = FALSE; + gchar *new_name = NULL; + int len; + + len = strlen(pathname); + + g_return_val_if_fail(strcmp(pathname + len - 4, ".new") == 0, FALSE); + + new_name = g_strndup(pathname, len - 4); + + if (sync_file(pathname, error) == -1) + goto out; + +#ifdef _WIN32 + /* we need to remove the old file first! */ + remove(new_name); +#endif + if (rename(pathname, new_name) == -1) + { + int errsv = errno; + g_set_error(error, G_FILE_ERROR, g_file_error_from_errno(errsv), + "Failed to rename %s as %s: %s", pathname, new_name, + g_strerror(errsv)); + goto out; + } + + ret = TRUE; +out: + g_free(new_name); + return ret; +} + +/* Write out an XML file for one type */ +static void write_out_type(gpointer key, gpointer value, gpointer data) +{ + Type *type = (Type *) value; + const char *mime_dir = (char *) data; + char *media, *filename; + GError *local_error = NULL; + char *lower; + + lower = g_ascii_strdown(type->media, -1); + media = g_strconcat(mime_dir, "/", lower, NULL); + g_free(lower); +#ifdef _WIN32 + mkdir(media); +#else + mkdir(media, 0755); +#endif + + lower = g_ascii_strdown(type->subtype, -1); + filename = g_strconcat(media, "/", lower, ".xml.new", NULL); + g_free(lower); + g_free(media); + media = NULL; + + if (!save_xml_file(type->output, filename, &local_error)) + fatal_gerror(local_error); + + if (!atomic_update(filename, &local_error)) + fatal_gerror(local_error); + + g_free(filename); +} + +/* Comparison function to get the magic rules in priority order */ +static gint cmp_magic(gconstpointer a, gconstpointer b) +{ + Magic *aa = *(Magic **) a; + Magic *bb = *(Magic **) b; + int retval; + + /* Sort nomagic items at start */ + if (aa->nomagic || bb->nomagic) + return bb->nomagic - aa->nomagic; + + if (aa->priority > bb->priority) + return -1; + else if (aa->priority < bb->priority) + return 1; + + retval = strcmp(aa->type->media, bb->type->media); + if (!retval) + retval = strcmp(aa->type->subtype, bb->type->subtype); + + return retval; +} + +/* Comparison function to get the tree magic rules in priority order */ +static gint cmp_tree_magic(gconstpointer a, gconstpointer b) +{ + TreeMagic *aa = *(TreeMagic **) a; + TreeMagic *bb = *(TreeMagic **) b; + int retval; + + if (aa->priority > bb->priority) + return -1; + else if (aa->priority < bb->priority) + return 1; + + retval = strcmp(aa->type->media, bb->type->media); + if (!retval) + retval = strcmp(aa->type->subtype, bb->type->subtype); + + return retval; +} + +/* Write out 'n' as a two-byte big-endian number to 'stream' */ +static void write16(FILE *stream, guint32 n) +{ + guint16 big = GUINT16_TO_BE(n); + + g_return_if_fail(n <= 0xffff); + + fwrite(&big, sizeof(big), 1, stream); +} + +/* Single hex char to int; -1 if not a hex char. + * From file(1). + */ +static int hextoint(int c) +{ + if (!isascii((unsigned char) c)) + return -1; + if (isdigit((unsigned char) c)) + return c - '0'; + if ((c >= 'a')&&(c <= 'f')) + return c + 10 - 'a'; + if (( c>= 'A')&&(c <= 'F')) + return c + 10 - 'A'; + return -1; +} + +/* + * Convert a string containing C character escapes. Stop at an unescaped + * space or tab. + * Copy the converted version to "p", returning its length in *slen. + * Return updated scan pointer as function result. + * Stolen from file(1) and heavily modified. + */ +static void getstr(const char *s, GString *out) +{ + int c; + int val; + + while ((c = *s++) != '\0') { + if(c == '\\') { + switch(c = *s++) { + + case '\0': + return; + + default: + g_string_append_c(out, (char) c); + break; + + case 'n': + g_string_append_c(out, '\n'); + break; + + case 'r': + g_string_append_c(out, '\r'); + break; + + case 'b': + g_string_append_c(out, '\b'); + break; + + case 't': + g_string_append_c(out, '\t'); + break; + + case 'f': + g_string_append_c(out, '\f'); + break; + + case 'v': + g_string_append_c(out, '\v'); + break; + + /* \ and up to 3 octal digits */ + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + val = c - '0'; + c = *s++; /* try for 2 */ + if(c >= '0' && c <= '7') { + val = (val<<3) | (c - '0'); + c = *s++; /* try for 3 */ + if(c >= '0' && c <= '7') + val = (val<<3) | (c-'0'); + else + --s; + } + else + --s; + g_string_append_c(out, (char)val); + break; + + /* \x and up to 2 hex digits */ + case 'x': + val = 'x'; /* Default if no digits */ + c = hextoint(*s++); /* Get next char */ + if (c >= 0) { + val = c; + c = hextoint(*s++); + if (c >= 0) + val = (val << 4) + c; + else + --s; + } else + --s; + g_string_append_c(out, (char)val); + break; + } + } else + g_string_append_c(out, (char)c); + } +} + +/* Parse the value and mask attributes of a element with a + * numerical type (anything except "string"). + */ +static void parse_int_value(int bytes, const char *in, const char *in_mask, + GString *parsed_value, char **parsed_mask, + gboolean big_endian, GError **error) +{ + char *end; + char *out_mask = NULL; + unsigned long value; + int b; + + value = strtoul(in, &end, 0); + if (errno == ERANGE) { + g_set_error(error, MIME_ERROR, 0, + "Number out-of-range (%s should fit in %d bytes)", + in, bytes); + return; + } + + if (*end != '\0') + { + g_set_error(error, MIME_ERROR, 0, "Value is not a number"); + return; + } + + for (b = 0; b < bytes; b++) + { + int shift = (big_endian ? (bytes - b - 1) : b) * 8; + g_string_append_c(parsed_value, (value >> shift) & 0xff); + } + + if ((bytes == 1 && (value & ~0xff)) || + (bytes == 2 && (value & ~0xffff))) + { + g_set_error(error, MIME_ERROR, 0, + "Number out-of-range (%lx should fit in %d bytes)", + value, bytes); + return; + } + + if (in_mask) + { + int b; + unsigned long mask; + + mask = strtoul(in_mask, &end, 0); + if (errno == ERANGE) { + g_set_error(error, MIME_ERROR, 0, + "Mask out-of-range (%s should fit in %d bytes)", + in_mask, bytes); + return; + } + + + if (*end != '\0') + { + g_set_error(error, MIME_ERROR, 0, + "Mask is not a number"); + return; + } + + out_mask = g_new(char, bytes); + for (b = 0; b < bytes; b++) + { + int shift = (big_endian ? (bytes - b - 1) : b) * 8; + out_mask[b] = (mask >> shift) & 0xff; + } + } + + *parsed_mask = out_mask; +} + +/* 'len' is the length of the value. The mask created will be the same + * length. + */ +static char *parse_string_mask(const char *mask, int len, GError **error) +{ + int i; + char *parsed_mask = NULL; + + g_return_val_if_fail(mask != NULL, NULL); + g_return_val_if_fail(len > 0, NULL); + + if (mask[0] != '0' || mask[1] != 'x') + { + g_set_error(error, MIME_ERROR, 0, + "String masks must be in base 16 (starting with 0x)"); + goto err; + } + mask += 2; + + parsed_mask = g_new0(char, len); + + i = 0; /* Nybble to write to next */ + while (mask[i]) + { + int c; + + c = hextoint(mask[i]); + if (c == -1) + { + g_set_error(error, MIME_ERROR, 0, + "'%c' is not a valid hex digit", mask[i]); + goto err; + } + + if (i >= len * 2) + { + g_set_error(error, MIME_ERROR, 0, + "Mask is longer than value"); + goto err; + } + + if (i & 1) + parsed_mask[i >> 1] |= c; + else + parsed_mask[i >> 1] |= c << 4; + + i++; + } + + return parsed_mask; +err: + g_free(parsed_mask); + g_return_val_if_fail(error == NULL || *error != NULL, NULL); + return NULL; +} + +/* Parse the value and mask attributes for a element */ +static void parse_value(const char *type, const char *in, const char *in_mask, + GString *parsed_value, char **parsed_mask, + GError **error) +{ + *parsed_mask = NULL; + + if (in == NULL || !in[0]) + { + g_set_error(error, MIME_ERROR, 0, "No value specified"); + return; + } + + if (strstr(type, "16")) + parse_int_value(2, in, in_mask, parsed_value, parsed_mask, + type[0] != 'l', error); + else if (strstr(type, "32")) + parse_int_value(4, in, in_mask, parsed_value, parsed_mask, + type[0] != 'l', error); + else if (strcmp(type, "byte") == 0) + parse_int_value(1, in, in_mask, parsed_value, parsed_mask, + FALSE, error); + else if (strcmp(type, "string") == 0) + { + getstr(in, parsed_value); + if (in_mask) + *parsed_mask = parse_string_mask(in_mask, + parsed_value->len, error); + } + else + g_assert_not_reached(); +} + +static Match *match_new(void) +{ + Match *match; + + match = g_new(Match, 1); + match->range_start = 0; + match->range_length = 1; + match->word_size = 1; + match->data_length = 0; + match->data = NULL; + match->mask = NULL; + match->matches = NULL; + + return match; +} + +static void match_free(Match *match) +{ + GList *next; + + g_return_if_fail(match != NULL); + + for (next = match->matches; next; next = next->next) + match_free((Match *) next->data); + + g_list_free(match->matches); + + g_free(match->data); + g_free(match->mask); + + g_free(match); +} + +/* Sets match->range_start and match->range_length */ +static void match_offset(Match *match, xmlNode *node, GError **error) +{ + char *offset = NULL; + char *end; + + offset = my_xmlGetNsProp(node, "offset", NULL); + if (offset == NULL || !*offset) + { + g_set_error(error, MIME_ERROR, 0, "Missing 'offset' attribute"); + goto err; + } + + match->range_start = strtol(offset, &end, 10); + if (errno == ERANGE) { + char *number; + number = g_strndup(offset, end-offset); + g_set_error(error, MIME_ERROR, 0, + "Number out-of-range (%s should fit in 4 bytes)", + number); + g_free(number); + return; + } + + if (*end == ':' && end[1] && match->range_start >= 0) + { + int last; + char *begin; + + begin = end + 1; + last = strtol(begin, &end, 10); + if (errno == ERANGE) { + char *number; + number = g_strndup(begin, end-begin); + g_set_error(error, MIME_ERROR, 0, + "Number out-of-range (%s should fit in 8 bytes)", + number); + g_free(number); + return; + } + + if (*end == '\0' && last >= match->range_start) + match->range_length = last - match->range_start + 1; + else + g_set_error(error, MIME_ERROR, 0, "Invalid offset"); + } + else if (*end != '\0') + g_set_error(error, MIME_ERROR, 0, "Invalid offset"); +err: + xmlFree(offset); +} + +/* Sets match->data, match->data_length and match->mask */ +static void match_value_and_mask(Match *match, xmlNode *node, GError **error) +{ + char *mask = NULL; + char *value = NULL; + char *type = NULL; + char *parsed_mask = NULL; + GString *parsed_value; + + type = my_xmlGetNsProp(node, "type", NULL); + g_return_if_fail(type != NULL); + + mask = my_xmlGetNsProp(node, "mask", NULL); + value = my_xmlGetNsProp(node, "value", NULL); + + parsed_value = g_string_new(NULL); + + parse_value(type, value, mask, parsed_value, + &parsed_mask, error); + + if (*error) + { + g_string_free(parsed_value, TRUE); + g_return_if_fail(parsed_mask == NULL); + } + else + { + match->data = parsed_value->str; + match->data_length = parsed_value->len; + match->mask = parsed_mask; + + g_string_free(parsed_value, FALSE); + } + + if (mask) + xmlFree(mask); + if (value) + xmlFree(value); + xmlFree(type); +} + +/* Sets match->word_size */ +static void match_word_size(Match *match, xmlNode *node, GError **error) +{ + char *type; + + type = my_xmlGetNsProp(node, "type", NULL); + + if (!type) + { + g_set_error(error, MIME_ERROR, 0, + _("Missing 'type' attribute in ")); + return; + } + + if (strcmp(type, "host16") == 0) + match->word_size = 2; + else if (strcmp(type, "host32") == 0) + match->word_size = 4; + else if (!*error && strcmp(type, "big16") && + strcmp(type, "big32") && + strcmp(type, "little16") && strcmp(type, "little32") && + strcmp(type, "string") && strcmp(type, "byte")) + { + g_set_error(error, MIME_ERROR, 0, + "Unknown magic type '%s'", type); + } + + xmlFree(type); +} + +/* Turn the list of child nodes of 'parent' into a list of Matches */ +static GList *build_matches(xmlNode *parent, GError **error) +{ + xmlNode *node; + GList *out = NULL; + + g_return_val_if_fail(error != NULL, NULL); + + for (node = parent->xmlChildrenNode; node; node = node->next) + { + Match *match; + + if (node->type != XML_ELEMENT_NODE) + continue; + + if (node->ns == NULL || xmlStrcmp(node->ns->href, FREE_NS) != 0) + { + g_set_error(error, MIME_ERROR, 0, + _("Element found with non-freedesktop.org " + "namespace")); + break; + } + + if (strcmp((char *)node->name, "match") != 0) + { + g_set_error(error, MIME_ERROR, 0, + _("Expected element, but found " + "<%s> instead"), node->name); + break; + } + + match = match_new(); + match_offset(match, node, error); + if (!*error) + match_word_size(match, node, error); + if (!*error) + match_value_and_mask(match, node, error); + + if (*error) + { + match_free(match); + break; + } + + out = g_list_append(out, match); + + match->matches = build_matches(node, error); + if (*error) + break; + } + + return out; +} + +static void magic_free(Magic *magic) +{ + GList *next; + + g_return_if_fail(magic != NULL); + + for (next = magic->matches; next; next = next->next) + match_free((Match *) next->data); + g_list_free(magic->matches); + + g_free(magic); +} + +/* Create a new Magic object by parsing 'node' (a element) */ +static Magic *magic_new(xmlNode *node, Type *type, GError **error) +{ + Magic *magic = NULL; + int prio; + + g_return_val_if_fail(node != NULL, NULL); + g_return_val_if_fail(type != NULL, NULL); + g_return_val_if_fail(error != NULL, NULL); + + prio = get_priority(node); + + if (prio == -1) + { + g_set_error(error, MIME_ERROR, 0, + _("Bad priority (%d) in element"), prio); + } + else + { + magic = g_new0(Magic, 1); + magic->priority = prio; + magic->type = type; + magic->matches = build_matches(node, error); + + + if (*error) + { + gchar *old = (*error)->message; + magic_free(magic); + magic = NULL; + (*error)->message = g_strconcat( + _("Error in element: "), old, NULL); + g_free(old); + } else if (magic->matches == NULL) { + magic_free(magic); + magic = NULL; + g_set_error(error, MIME_ERROR, 0, + _("Incomplete element")); + } + } + + return magic; +} + +static TreeMatch *tree_match_new(void) +{ + TreeMatch *match; + + match = g_new(TreeMatch, 1); + match->path = NULL; + match->match_case = 0; + match->executable = 0; + match->non_empty = 0; + match->type = 0; + match->mimetype = NULL; + match->matches = NULL; + + return match; +} + +static void tree_match_free(TreeMatch *match) +{ + GList *next; + + g_return_if_fail(match != NULL); + + for (next = match->matches; next; next = next->next) + tree_match_free((TreeMatch *) next->data); + + g_list_free(match->matches); + + g_free(match->path); + g_free(match->mimetype); + + g_free(match); +} + +/* Turn the list of child nodes of 'parent' into a list of TreeMatches */ +static GList *build_tree_matches(xmlNode *parent, GError **error) +{ + xmlNode *node; + GList *out = NULL; + char *attr; + + g_return_val_if_fail(error != NULL, NULL); + + for (node = parent->xmlChildrenNode; node; node = node->next) + { + TreeMatch *match; + + if (node->type != XML_ELEMENT_NODE) + continue; + + if (node->ns == NULL || xmlStrcmp(node->ns->href, FREE_NS) != 0) + { + g_set_error(error, MIME_ERROR, 0, + _("Element found with non-freedesktop.org " + "namespace")); + break; + } + + if (strcmp((char *)node->name, "treematch") != 0) + { + g_set_error(error, MIME_ERROR, 0, + _("Expected element, but found " + "<%s> instead"), node->name); + break; + } + + match = tree_match_new(); + + attr = my_xmlGetNsProp(node, "path", NULL); + if (attr) + { + match->path = g_strdup (attr); + xmlFree (attr); + } + else + { + g_set_error(error, MIME_ERROR, 0, + _("Missing 'path' attribute in ")); + } + if (!*error) + { + attr = my_xmlGetNsProp(node, "type", NULL); + if (attr) + { + if (strcmp (attr, "file") == 0) + { + match->type = 1; + } + else if (strcmp (attr, "directory") == 0) + { + match->type = 2; + } + else if (strcmp (attr, "link") == 0) + { + match->type = 3; + } + else + { + g_set_error(error, MIME_ERROR, 0, + _("Invalid 'type' attribute in ")); + } + xmlFree(attr); + } + } + if (!*error) + { + attr = my_xmlGetNsProp(node, "executable", NULL); + if (attr) + { + if (strcmp (attr, "true") == 0) + { + match->executable = 1; + } + xmlFree(attr); + } + } + if (!*error) + { + attr = my_xmlGetNsProp(node, "match-case", NULL); + if (attr) + { + if (strcmp (attr, "true") == 0) + { + match->match_case = 1; + } + xmlFree(attr); + } + } + if (!*error) + { + attr = my_xmlGetNsProp(node, "non-empty", NULL); + if (attr) + { + if (strcmp (attr, "true") == 0) + { + match->non_empty = 1; + } + xmlFree(attr); + } + } + if (!*error) + { + attr = my_xmlGetNsProp(node, "mimetype", NULL); + if (attr) + { + match->mimetype = g_strdup (attr); + xmlFree(attr); + } + } + + if (*error) + { + tree_match_free(match); + break; + } + + out = g_list_append(out, match); + + match->matches = build_tree_matches(node, error); + if (*error) + break; + } + + return out; +} + +static void tree_magic_free(TreeMagic *magic) +{ + GList *next; + + g_return_if_fail(magic != NULL); + + for (next = magic->matches; next; next = next->next) + tree_match_free((TreeMatch *) next->data); + g_list_free(magic->matches); + + g_free(magic); +} + +/* Create a new TreeMagic object by parsing 'node' (a element) */ +static TreeMagic *tree_magic_new(xmlNode *node, Type *type, GError **error) +{ + TreeMagic *magic = NULL; + int prio; + + g_return_val_if_fail(node != NULL, NULL); + g_return_val_if_fail(type != NULL, NULL); + g_return_val_if_fail(error != NULL, NULL); + + prio = get_priority(node); + + if (prio == -1) + { + g_set_error(error, MIME_ERROR, 0, + _("Bad priority (%d) in element"), prio); + } + else + { + magic = g_new(TreeMagic, 1); + magic->priority = prio; + magic->type = type; + magic->matches = build_tree_matches(node, error); + + if (*error) + { + gchar *old = (*error)->message; + tree_magic_free(magic); + magic = NULL; + (*error)->message = g_strconcat( + _("Error in element: "), old, NULL); + g_free(old); + } + } + + return magic; +} + +/* Write a list of Match elements (and their children) to the 'magic' file */ +static void write_magic_children(FILE *stream, GList *matches, int indent) +{ + GList *next; + + for (next = matches; next; next = next->next) + { + Match *match = (Match *) next->data; + + if (indent) + g_fprintf(stream, + "%d>%ld=", + indent, + match->range_start); + else + g_fprintf(stream, ">%ld=", match->range_start); + + write16(stream, match->data_length); + fwrite(match->data, match->data_length, 1, stream); + if (match->mask) + { + fputc('&', stream); + fwrite(match->mask, match->data_length, 1, stream); + } + if (match->word_size != 1) + g_fprintf(stream, "~%d", match->word_size); + if (match->range_length != 1) + g_fprintf(stream, "+%d", match->range_length); + + fputc('\n', stream); + + write_magic_children(stream, match->matches, indent + 1); + } +} + +/* Write a whole Magic element to the 'magic' file */ +static void write_magic(FILE *stream, Magic *magic) +{ + g_fprintf(stream, "[%d:%s/%s]\n", magic->priority, + magic->type->media, magic->type->subtype); + + write_magic_children(stream, magic->matches, 0); +} + +/* Write a list of TreeMatch elements (and their children) to the 'treemagic' file */ +static void write_tree_magic_children(FILE *stream, GList *matches, int indent) +{ + GList *next; + + for (next = matches; next; next = next->next) + { + TreeMatch *match = (TreeMatch *) next->data; + + if (indent) + g_fprintf(stream, + "%d>\"%s\"=", + indent, + match->path); + else + g_fprintf(stream, ">\"%s\"=", match->path); + + switch (match->type) + { + default: + case 0: + fputs("any", stream); + break; + case 1: + fputs("file", stream); + break; + case 2: + fputs("directory", stream); + break; + case 3: + fputs("link", stream); + break; + } + if (match->match_case) + fputs (",match-case", stream); + if (match->executable) + fputs (",executable", stream); + if (match->non_empty) + fputs (",non-empty", stream); + if (match->mimetype) + g_fprintf (stream, ",%s", match->mimetype); + + fputc('\n', stream); + + write_tree_magic_children(stream, match->matches, indent + 1); + } +} +/* Write a whole TreeMagic element to the 'treemagic' file */ +static void write_tree_magic(FILE *stream, TreeMagic *magic) +{ + g_fprintf(stream, "[%d:%s/%s]\n", magic->priority, + magic->type->media, magic->type->subtype); + + write_tree_magic_children(stream, magic->matches, 0); +} + +/* Check each of the directories with generated XML files, looking for types + * which we didn't get on this scan, and delete them. + */ +static void delete_old_types(const gchar *mime_dir) +{ + int i; + + for (i = 0; i < G_N_ELEMENTS(media_types); i++) + { + gchar *media_dir; + DIR *dir; + struct dirent *ent; + + media_dir = g_strconcat(mime_dir, "/", media_types[i], NULL); + dir = opendir(media_dir); + g_free(media_dir); + if (!dir) + continue; + + while ((ent = readdir(dir))) + { + char *type_name; + int l; + l = strlen(ent->d_name); + if (l < 4 || strcmp(ent->d_name + l - 4, ".xml") != 0) + continue; + + type_name = g_strconcat(media_types[i], "/", + ent->d_name, NULL); + type_name[strlen(type_name) - 4] = '\0'; + if (!g_hash_table_lookup(types, type_name)) + { + char *path; + path = g_strconcat(mime_dir, "/", + type_name, ".xml", NULL); +#if 0 + g_warning("Removing old info for type %s", + path); +#endif + unlink(path); + g_free(path); + } + g_free(type_name); + } + + closedir(dir); + } +} + +/* Extract one entry from namespace_hash and put it in the GPtrArray so + * we can sort it. + */ +static void add_ns(gpointer key, gpointer value, gpointer data) +{ + GPtrArray *lines = (GPtrArray *) data; + const gchar *ns = (gchar *) key; + Type *type = (Type *) value; + + g_ptr_array_add(lines, g_strconcat(ns, " ", type->media, + "/", type->subtype, "\n", NULL)); +} + +/* Write all the collected namespace rules to 'XMLnamespaces' */ +static void write_namespaces(FILE *stream) +{ + GPtrArray *lines; + int i; + + lines = g_ptr_array_new(); + + g_hash_table_foreach(namespace_hash, add_ns, lines); + + g_ptr_array_sort(lines, strcmp2); + + for (i = 0; i < lines->len; i++) + { + char *line = (char *) lines->pdata[i]; + + fwrite(line, 1, strlen(line), stream); + + g_free(line); + } + + g_ptr_array_free(lines, TRUE); +} + +static void write_subclass(gpointer key, gpointer value, gpointer data) +{ + GSList *list = value; + FILE *stream = data; + GSList *l; + char *line; + + for (l = list; l; l = l->next) + { + line = g_strconcat (key, " ", l->data, "\n", NULL); + fwrite(line, 1, strlen(line), stream); + g_free (line); + } +} + +/* Write all the collected subclass information to 'subclasses' */ +static void write_subclasses(FILE *stream) +{ + g_hash_table_foreach(subclass_hash, write_subclass, stream); +} + +/* Extract one entry from alias_hash and put it in the GPtrArray so + * we can sort it. + */ +static void add_alias(gpointer key, gpointer value, gpointer data) +{ + GPtrArray *lines = (GPtrArray *) data; + const gchar *alias = (gchar *) key; + Type *type = (Type *) value; + + g_ptr_array_add(lines, g_strconcat(alias, " ", type->media, + "/", type->subtype, "\n", + NULL)); +} + +/* Write all the collected aliases */ +static void write_aliases(FILE *stream) +{ + GPtrArray *lines; + int i; + + lines = g_ptr_array_new(); + + g_hash_table_foreach(alias_hash, add_alias, lines); + + g_ptr_array_sort(lines, strcmp2); + + for (i = 0; i < lines->len; i++) + { + char *line = (char *) lines->pdata[i]; + + fwrite(line, 1, strlen(line), stream); + + g_free(line); + } + + g_ptr_array_free(lines, TRUE); +} + +static void add_type(gpointer key, gpointer value, gpointer data) +{ + GPtrArray *lines = (GPtrArray *) data; + + g_ptr_array_add(lines, g_strconcat((char *)key, "\n", NULL)); +} + +/* Write all the collected types */ +static void write_types(FILE *stream) +{ + GPtrArray *lines; + int i; + + lines = g_ptr_array_new(); + + g_hash_table_foreach(types, add_type, lines); + + g_ptr_array_sort(lines, strcmp2); + + for (i = 0; i < lines->len; i++) + { + char *line = (char *) lines->pdata[i]; + + fwrite(line, 1, strlen(line), stream); + + g_free(line); + } + + g_ptr_array_free(lines, TRUE); +} + + +static void write_one_icon(gpointer key, gpointer value, gpointer data) +{ + char *mimetype = (char *)key; + char *iconname = (char *)value; + FILE *stream = (FILE *)data; + char *line; + + line = g_strconcat (mimetype, ":", iconname, "\n", NULL); + fwrite(line, 1, strlen(line), stream); + g_free (line); +} + +static void write_icons(GHashTable *icons, FILE *stream) +{ + g_hash_table_foreach(icons, write_one_icon, stream); +} + +/* Issue a warning if 'path' won't be found by applications */ +static void check_in_path_xdg_data(const char *mime_path) +{ + struct stat path_info, dir_info; + const char *env; + char **dirs; + char *path; + int i, n; + + path = g_path_get_dirname(mime_path); + + if (stat(path, &path_info)) + { + g_warning("Can't stat '%s' directory: %s", + path, g_strerror(errno)); + goto out; + } + + env = getenv("XDG_DATA_DIRS"); + if (!env) + env = "/usr/local/share/"PATH_SEPARATOR"/usr/share/"; + dirs = g_strsplit(env, PATH_SEPARATOR, 0); + g_return_if_fail(dirs != NULL); + for (n = 0; dirs[n]; n++) + ; + env = getenv("XDG_DATA_HOME"); + if (env) + dirs[n] = g_strdup(env); + else + dirs[n] = g_build_filename(g_get_home_dir(), ".local", + "share", NULL); + n++; + + for (i = 0; i < n; i++) + { + if (stat(dirs[i], &dir_info) == 0 && + dir_info.st_ino == path_info.st_ino && + dir_info.st_dev == path_info.st_dev) + break; + } + + if (i == n) + { + g_printerr(_("\nNote that '%s' is not in the search path\n" + "set by the XDG_DATA_HOME and XDG_DATA_DIRS\n" + "environment variables, so applications may not\n" + "be able to find it until you set them. The\n" + "directories currently searched are:\n\n"), path); + g_printerr("- %s\n", dirs[n - 1]); + for (i = 0; i < n - 1; i++) + g_printerr("- %s\n", dirs[i]); + g_printerr("\n"); + } + + for (i = 0; i < n; i++) + g_free(dirs[i]); + g_free(dirs); +out: + g_free(path); +} + +static void free_string_list(gpointer data) +{ + GSList *list = data; + + g_slist_foreach(list, (GFunc)g_free, NULL); + g_slist_free(list); +} + +#define ALIGN_VALUE(this, boundary) \ + (( ((unsigned long)(this)) + (((unsigned long)(boundary)) -1)) & (~(((unsigned long)(boundary))-1))) + + +static gint +write_data (FILE *cache, const gchar *n, gint len) +{ + gchar *s; + int i, l; + + l = ALIGN_VALUE (len, 4); + + s = g_malloc0 (l); + memcpy (s, n, len); + + i = fwrite (s, l, 1, cache); + + g_free(s); + + return i == 1; + +} + +static gint +write_string (FILE *cache, const gchar *n) +{ + return write_data (cache, n, strlen (n) + 1); +} + +static gboolean +write_card16 (FILE *cache, guint16 n) +{ + int i; + + n = GUINT16_TO_BE (n); + + i = fwrite ((char *)&n, 2, 1, cache); + + return i == 1; +} + +static gboolean +write_card32 (FILE *cache, guint32 n) +{ + int i; + + n = GUINT32_TO_BE (n); + + i = fwrite ((char *)&n, 4, 1, cache); + + return i == 1; +} + +#define MAJOR_VERSION 1 +#define MINOR_VERSION 2 + +static gboolean +write_header (FILE *cache, + gint alias_offset, + gint parent_offset, + gint literal_offset, + gint suffix_offset, + gint glob_offset, + gint magic_offset, + gint namespace_offset, + gint icons_list_offset, + gint generic_icons_list_offset, + gint type_offset, + guint *offset) +{ + *offset = 44; + + return (write_card16 (cache, MAJOR_VERSION) && + write_card16 (cache, MINOR_VERSION) && + write_card32 (cache, alias_offset) && + write_card32 (cache, parent_offset) && + write_card32 (cache, literal_offset) && + write_card32 (cache, suffix_offset) && + write_card32 (cache, glob_offset) && + write_card32 (cache, magic_offset) && + write_card32 (cache, namespace_offset) && + write_card32 (cache, icons_list_offset) && + write_card32 (cache, generic_icons_list_offset) && + write_card32 (cache, type_offset)); +} + + +typedef gboolean (FilterFunc) (gpointer key); +typedef gchar ** (GetValueFunc) (gpointer data, gchar *key); + +typedef struct +{ + FILE *cache; + GHashTable *pool; + guint offset; + GetValueFunc *get_value; + gpointer data; + gboolean weighted; + gboolean error; +} MapData; + +static void +write_map_entry (gpointer key, + gpointer data) +{ + MapData *map_data = (MapData *)data; + gchar **values; + guint offset, i; + guint weight; + + values = (* map_data->get_value) (map_data->data, key); + for (i = 0; values[i]; i++) + { + if (map_data->weighted && (i % 3 == 2)) + { + weight = atoi (values[i]); + + if (!write_card32 (map_data->cache, weight)) + map_data->error = TRUE; + + map_data->offset += 4; + } + else + { + offset = GPOINTER_TO_UINT (g_hash_table_lookup (map_data->pool, values[i])); + if (offset == 0) + { + g_warning ("Missing string: '%s'", values[i]); + map_data->error = TRUE; + } + if (!write_card32 (map_data->cache, offset)) + map_data->error = TRUE; + map_data->offset += 4; + } + } + + g_strfreev (values); +} + +typedef struct +{ + FilterFunc *filter; + GPtrArray *keys; +} FilterData; + +static void +add_key (gpointer key, + gpointer value, + gpointer data) +{ + FilterData *filter_data = (FilterData *)data; + + if (!filter_data->filter || (* filter_data->filter) (key)) + g_ptr_array_add (filter_data->keys, key); +} + +typedef struct +{ + GetValueFunc *get_value; + gpointer data; + guint count; + gboolean weighted; +} CountData; + +static void +count_map_entry (gpointer key, + gpointer data) +{ + CountData *count_data = (CountData *)data; + gchar **values; + + values = (* count_data->get_value) (count_data->data, key); + count_data->count += g_strv_length (values) / (count_data->weighted ? 3 : 2); + g_strfreev (values); +} + +static gboolean +write_map (FILE *cache, + GHashTable *strings, + GHashTable *map, + FilterFunc *filter, + GetValueFunc *get_value, + gboolean weighted, + guint *offset) +{ + GPtrArray *keys; + MapData map_data; + FilterData filter_data; + CountData count_data; + + keys = g_ptr_array_new (); + + filter_data.keys = keys; + filter_data.filter = filter; + g_hash_table_foreach (map, add_key, &filter_data); + + g_ptr_array_sort (keys, strcmp2); + + count_data.data = map; + count_data.count = 0; + count_data.get_value = get_value; + count_data.weighted = weighted; + + g_ptr_array_foreach (keys, count_map_entry, &count_data); + + if (!write_card32 (cache, count_data.count)) + return FALSE; + + map_data.cache = cache; + map_data.pool = strings; + map_data.get_value = get_value; + map_data.data = map; + map_data.weighted = weighted; + map_data.offset = *offset + 4; + map_data.error = FALSE; + + g_ptr_array_foreach (keys, write_map_entry, &map_data); + + *offset = map_data.offset; + + return !map_data.error; +} + +static gchar ** +get_type_value (gpointer data, + gchar *key) +{ + Type *type; + gchar **result; + + type = (Type *)g_hash_table_lookup ((GHashTable *)data, key); + + result = g_new0 (gchar *, 3); + result[0] = g_strdup (key); + result[1] = g_strdup_printf ("%s/%s", type->media, type->subtype); + + return result; +} + +static guint32 +get_glob_weight_and_flags (Glob *glob) +{ + guint32 res; + + res = glob->weight & 0xff; + if (glob->case_sensitive) + res |= 0x100; + return res; +} + +static gchar ** +get_glob_list_value (gpointer data, + gchar *key) +{ + GList *list; + Glob *glob; + Type *type; + gchar **result; + gint i; + + list = (GList *)g_hash_table_lookup ((GHashTable *)data, key); + + result = g_new0 (gchar *, 1 + 3 * g_list_length (list)); + + i = 0; + for (; list; list = list->next) + { + glob = (Glob *)list->data; + type = glob->type; + + result[i++] = g_strdup (glob->pattern); + result[i++] = g_strdup_printf ("%s/%s", type->media, type->subtype); + result[i++] = g_strdup_printf ("%ud", get_glob_weight_and_flags (glob)); + } + return result; +} + +static gboolean +write_alias_cache (FILE *cache, + GHashTable *strings, + guint *offset) +{ + return write_map (cache, strings, alias_hash, NULL, get_type_value, FALSE, offset); +} + +static void +write_parent_entry (gpointer key, + gpointer data) +{ + gchar *mimetype = (gchar *)key; + MapData *map_data = (MapData *)data; + guint parents_offset, offset; + GList *parents; + + parents = (GList *)g_hash_table_lookup (subclass_hash, mimetype); + offset = GPOINTER_TO_UINT (g_hash_table_lookup (map_data->pool, mimetype)); + if (offset == 0) + { + g_warning ("Missing string: '%s'", (gchar *)key); + map_data->error = TRUE; + } + + parents_offset = map_data->offset; + map_data->offset += 4 + 4 * g_list_length (parents); + + if (!write_card32 (map_data->cache, offset) || + !write_card32 (map_data->cache, parents_offset)) + map_data->error = TRUE; +} + +static void +write_parent_list (gpointer key, + gpointer data) +{ + gchar *mimetype = (gchar *)key; + MapData *map_data = (MapData *)data; + guint offset; + GList *parents, *p; + + parents = (GList *)g_hash_table_lookup (subclass_hash, mimetype); + + if (!write_card32 (map_data->cache, g_list_length (parents))) + map_data->error = TRUE; + + for (p = parents; p; p = p->next) + { + gchar *parent = (gchar *)p->data; + + offset = GPOINTER_TO_UINT (g_hash_table_lookup (map_data->pool, parent)); + if (offset == 0) + { + g_warning ("Missing string: '%s'", parent); + map_data->error = TRUE; + } + + if (!write_card32 (map_data->cache, offset)) + map_data->error = TRUE; + } + + map_data->offset += 4 + 4 * g_list_length (parents); +} + +static gboolean +write_parent_cache (FILE *cache, + GHashTable *strings, + guint *offset) +{ + GPtrArray *keys; + MapData map_data; + FilterData filter_data; + + keys = g_ptr_array_new (); + + filter_data.keys = keys; + filter_data.filter = NULL; + g_hash_table_foreach (subclass_hash, add_key, &filter_data); + + g_ptr_array_sort (keys, strcmp2); + + if (!write_card32 (cache, keys->len)) + return FALSE; + + map_data.cache = cache; + map_data.pool = strings; + map_data.offset = *offset + 4 + keys->len * 8; + map_data.error = FALSE; + + g_ptr_array_foreach (keys, write_parent_entry, &map_data); + + map_data.offset = *offset + 4 + keys->len * 8; + g_ptr_array_foreach (keys, write_parent_list, &map_data); + + *offset = map_data.offset; + + return !map_data.error; +} + +typedef enum +{ + GLOB_LITERAL, + GLOB_SIMPLE, + GLOB_FULL +} GlobType; + +static GlobType +glob_type (gchar *glob) +{ + gchar *ptr; + gboolean maybe_in_simple_glob = FALSE; + gboolean first_char = TRUE; + + ptr = glob; + + while (*ptr != '\0') + { + if (*ptr == '*' && first_char) + maybe_in_simple_glob = TRUE; + else if (*ptr == '\\' || *ptr == '[' || *ptr == '?' || *ptr == '*') + return GLOB_FULL; + + first_char = FALSE; + ptr = g_utf8_next_char (ptr); + } + + if (maybe_in_simple_glob) + return GLOB_SIMPLE; + + return GLOB_LITERAL; +} + +static gboolean +is_literal_glob (gpointer key) +{ + return glob_type ((gchar *)key) == GLOB_LITERAL; +} + +static gboolean +is_simple_glob (gpointer key) +{ + return glob_type ((gchar *)key) == GLOB_SIMPLE; +} + +static gboolean +is_full_glob (gpointer key) +{ + return glob_type ((gchar *)key) == GLOB_FULL; +} + +static gboolean +write_literal_cache (FILE *cache, + GHashTable *strings, + guint *offset) +{ + return write_map (cache, strings, globs_hash, is_literal_glob, + get_glob_list_value, TRUE, offset); +} + +static gboolean +write_glob_cache (FILE *cache, + GHashTable *strings, + guint *offset) +{ + return write_map (cache, strings, globs_hash, is_full_glob, + get_glob_list_value, TRUE, offset); +} + +typedef struct _SuffixEntry SuffixEntry; + +struct _SuffixEntry +{ + gunichar character; + gchar *mimetype; + gint weight; + guint32 flags; + GList *children; + guint size; + guint depth; +}; + +static GList * +insert_suffix (gunichar *suffix, + gchar *mimetype, + gint weight, + guint32 flags, + GList *suffixes) +{ + GList *l; + SuffixEntry *s = NULL; + + for (l = suffixes; l; l = l->next) + { + s = (SuffixEntry *)l->data; + + if (s->character > suffix[0]) + { + s = g_new0 (SuffixEntry, 1); + s->character = suffix[0]; + s->mimetype = NULL; + s->children = NULL; + + suffixes = g_list_insert_before (suffixes, l, s); + } + + if (s->character == suffix[0]) + break; + } + + if (!s || s->character != suffix[0]) + { + s = g_new0 (SuffixEntry, 1); + s->character = suffix[0]; + s->mimetype = NULL; + s->children = NULL; + + suffixes = g_list_append (suffixes, s); + } + + if (suffix[1] == 0) + { + GList *l2; + SuffixEntry *s2; + gboolean found = FALSE; + + for (l2 = s->children; l2; l2 = l2->next) + { + s2 = (SuffixEntry *)l2->data; + if (s2->character != 0) + break; + if (strcmp (s2->mimetype, mimetype) == 0) + { + if (s2->weight < weight) + s2->weight = weight; + found = TRUE; + break; + } + } + if (!found) + { + s2 = g_new0 (SuffixEntry, 1); + s2->character = 0; + s2->mimetype = mimetype; + s2->weight = weight; + s2->flags = flags; + s2->children = NULL; + s->children = g_list_insert_before (s->children, l2, s2); + } + } + else + s->children = insert_suffix (suffix + 1, mimetype, weight, flags, s->children); + + return suffixes; +} + +static void +ucs4_reverse (gunichar *in, glong len) +{ + int i; + gunichar c; + + for (i = 0; i < len - i - 1; i++) + { + c = in[i]; + in[i] = in[len - i - 1]; + in[len - i - 1] = c; + } +} + +static void +build_suffixes (gpointer key, + gpointer value, + gpointer data) +{ + gchar *pattern = (gchar *)key; + GList *list = (GList *)value; + GList **suffixes = (GList **)data; + gunichar *suffix; + gchar *mimetype; + Glob *glob; + Type *type; + glong len; + guint32 flags; + + if (is_simple_glob (pattern)) + { + suffix = g_utf8_to_ucs4 (pattern + 1, -1, NULL, &len, NULL); + + if (suffix == NULL) + { + g_warning ("Glob '%s' is not valid UTF-8", pattern); + return; + } + + ucs4_reverse (suffix, len); + for ( ; list; list = list->next) + { + glob = (Glob *)list->data; + type = glob->type; + mimetype = g_strdup_printf ("%s/%s", type->media, type->subtype); + + flags = 0; + if (glob->case_sensitive) + flags |= 0x100; + *suffixes = insert_suffix (suffix, mimetype, glob->weight, flags, *suffixes); + } + + g_free (suffix); + } +} + +static void +calculate_size (SuffixEntry *entry) +{ + GList *s; + + entry->size = 0; + entry->depth = 0; + for (s = entry->children; s; s= s->next) + { + SuffixEntry *child = (SuffixEntry *)s->data; + + calculate_size (child); + entry->size += 1 + child->size; + entry->depth = MAX (entry->depth, child->depth + 1); + } +} + +static gboolean +write_suffix_entries (FILE *cache, + guint depth, + SuffixEntry *entry, + GHashTable *strings, + guint *child_offset) +{ + GList *c; + guint offset; + + if (depth > 0) + { + gboolean error = FALSE; + + for (c = entry->children; c; c = c->next) + { + SuffixEntry *child = (SuffixEntry *)c->data; + if (!write_suffix_entries (cache, depth - 1, child, strings, child_offset)) + error = TRUE; + } + + return !error; + } + + if (entry->mimetype) + { + offset = GPOINTER_TO_UINT(g_hash_table_lookup (strings, entry->mimetype)); + if (offset == 0) + { + g_warning ("Missing string: '%s'", entry->mimetype); + return FALSE; + } + } + else + offset = 0; + + if (entry->character == 0) + { + if (!write_card32 (cache, entry->character)) + return FALSE; + + if (!write_card32 (cache, offset)) + return FALSE; + + if (!write_card32 (cache, (entry->weight & 0xff) | entry->flags)) + return FALSE; + } + else + { + if (!write_card32 (cache, entry->character)) + return FALSE; + + if (!write_card32 (cache, g_list_length (entry->children))) + return FALSE; + + if (!write_card32 (cache, *child_offset)) + return FALSE; + } + + *child_offset += 12 * g_list_length (entry->children); + + return TRUE; +} + +static gboolean +write_suffix_cache (FILE *cache, + GHashTable *strings, + guint *offset) +{ + GList *suffixes, *s; + guint n_entries; + guint child_offset; + guint depth, d; + + suffixes = NULL; + + g_hash_table_foreach (globs_hash, build_suffixes, &suffixes); + + n_entries = g_list_length (suffixes); + + *offset += 8; + child_offset = *offset + 12 * n_entries; + depth = 0; + for (s = suffixes; s; s= s->next) + { + SuffixEntry *entry = (SuffixEntry *)s->data; + calculate_size (entry); + depth = MAX (depth, entry->depth + 1); + } + + if (!write_card32 (cache, n_entries) || !write_card32 (cache, *offset)) + return FALSE; + + for (d = 0; d < depth; d++) + { + for (s = suffixes; s; s = s->next) + { + SuffixEntry *entry = (SuffixEntry *)s->data; + + if (!write_suffix_entries (cache, d, entry, strings, &child_offset)) + return FALSE; + } + } + + *offset = child_offset; + + return TRUE; +} + +typedef struct { + FILE *cache; + GHashTable *strings; + GList *matches; + guint offset; + gboolean error; +} WriteMatchData; + + +static void +write_match (gpointer key, + gpointer data) +{ + Magic *magic = (Magic *)key; + WriteMatchData *mdata = (WriteMatchData *)data; + gchar *mimetype; + guint offset; + + if (!write_card32 (mdata->cache, magic->priority)) + { + mdata->error = TRUE; + return; + } + + mimetype = g_strdup_printf ("%s/%s", magic->type->media, magic->type->subtype); + offset = GPOINTER_TO_UINT (g_hash_table_lookup (mdata->strings, mimetype)); + if (offset == 0) + { + g_warning ("Missing string: '%s'", mimetype); + g_free (mimetype); + mdata->error = TRUE; + return; + } + g_free (mimetype); + + if (!write_card32 (mdata->cache, offset)) + { + mdata->error = TRUE; + return; + } + + if (!write_card32 (mdata->cache, g_list_length (magic->matches))) + { + mdata->error = TRUE; + return; + } + + offset = mdata->offset + 32 * g_list_index (mdata->matches, magic->matches->data); + + if (!write_card32 (mdata->cache, offset)) + { + mdata->error = TRUE; + return; + } +} + +static gboolean +write_matchlet (FILE *cache, + Match *match, + GList *matches, + gint offset, + gint *offset2) +{ + if (!write_card32 (cache, match->range_start) || + !write_card32 (cache, match->range_length) || + !write_card32 (cache, match->word_size) || + !write_card32 (cache, match->data_length) || + !write_card32 (cache, *offset2)) + return FALSE; + + *offset2 = ALIGN_VALUE (*offset2 + match->data_length, 4); + + if (match->mask) + { + if (!write_card32 (cache, *offset2)) + return FALSE; + + *offset2 = ALIGN_VALUE (*offset2 + match->data_length, 4); + } + else + { + if (!write_card32 (cache, 0)) + return FALSE; + } + + if (match->matches) + { + if (!write_card32 (cache, g_list_length (match->matches)) || + !write_card32 (cache, offset + 32 * g_list_index (matches, match->matches->data))) + return FALSE; + } + else + { + if (!write_card32 (cache, 0) || + !write_card32 (cache, 0)) + return FALSE; + } + + return TRUE; +} + +static gboolean +write_matchlet_data (FILE *cache, + Match *match, + gint *offset2) +{ + if (!write_data (cache, match->data, match->data_length)) + return FALSE; + + *offset2 = ALIGN_VALUE (*offset2 + match->data_length, 4); + + if (match->mask) + { + if (!write_data (cache, match->mask, match->data_length)) + return FALSE; + + *offset2 = ALIGN_VALUE (*offset2 + match->data_length, 4); + } + + return TRUE; +} + +static void +collect_matches_list (GList *list, GList **matches) +{ + GList *l; + + for (l = list; l; l = l->next) + *matches = g_list_prepend (*matches, l->data); + + for (l = list; l; l = l->next) + { + Match *match = (Match *)l->data; + collect_matches_list (match->matches, matches); + } +} + +static void +collect_matches (gpointer key, gpointer data) +{ + Magic *magic = (Magic *)key; + GList **matches = (GList **)data; + + collect_matches_list (magic->matches, matches); +} + +static gboolean +write_magic_cache (FILE *cache, + GHashTable *strings, + guint *offset) +{ + guint n_entries, max_extent; + gint offset2; + GList *m; + WriteMatchData data; + + data.matches = NULL; + g_ptr_array_foreach (magic_array, collect_matches, &data.matches); + data.matches = g_list_reverse (data.matches); + + max_extent = 0; + for (m = data.matches; m; m = m->next) + { + Match *match = (Match *)m->data; + max_extent = MAX (max_extent, match->data_length + match->range_start + match->range_length); + } + + n_entries = magic_array->len; + + *offset += 12; + + if (!write_card32 (cache, n_entries) || + !write_card32 (cache, max_extent) || + !write_card32 (cache, *offset)) + return FALSE; + + *offset += 16 * n_entries; + + data.cache = cache; + data.strings = strings; + data.offset = *offset; + data.error = FALSE; + + offset2 = *offset + 32 * g_list_length (data.matches); + + g_ptr_array_foreach (magic_array, write_match, &data); + for (m = data.matches; m; m = m->next) + { + Match *match = (Match *)m->data; + write_matchlet (cache, match, data.matches, *offset, &offset2); + } + + offset2 = *offset + 32 * g_list_length (data.matches); + + for (m = data.matches; m; m = m->next) + { + Match *match = (Match *)m->data; + write_matchlet_data (cache, match, &offset2); + } + + *offset = offset2; + + g_list_free (data.matches); + + return !data.error; +} + +static gchar ** +get_namespace_value (gpointer data, + gchar *key) +{ + Type *type; + gchar **result; + gchar *space; + + type = (Type *)g_hash_table_lookup ((GHashTable *)data, key); + + result = g_new0 (gchar *, 4); + space = strchr (key, ' '); + if (*space) + { + *space = '\0'; + result[0] = g_strdup (key); + result[1] = g_strdup (space + 1); + *space = ' '; + } + else + result[0] = g_strdup (key); + + result[2] = g_strdup_printf ("%s/%s", type->media, type->subtype); + + return result; +} + +static gboolean +write_namespace_cache (FILE *cache, + GHashTable *strings, + guint *offset) +{ + return write_map (cache, strings, namespace_hash, NULL, + get_namespace_value, FALSE, offset); +} + +static gchar ** +get_icon_value (gpointer data, + gchar *key) +{ + gchar *iconname; + gchar **result; + + iconname = (gchar *)g_hash_table_lookup ((GHashTable *)data, key); + + result = g_new0 (gchar *, 3); + result[0] = g_strdup (key); + result[1] = g_strdup (iconname); + result[2] = NULL; + + return result; +} + +static gboolean +write_icons_cache (FILE *cache, + GHashTable *strings, + GHashTable *icon_hash, + guint *offset) +{ + return write_map (cache, strings, icon_hash, NULL, + get_icon_value, FALSE, offset); +} + +/* Write all the collected types */ +static gboolean +write_types_cache (FILE *cache, + GHashTable *strings, + GHashTable *types, + guint *offset) +{ + GPtrArray *lines; + int i; + char *mimetype; + guint mime_offset; + + lines = g_ptr_array_new(); + + g_hash_table_foreach(types, add_type, lines); + + g_ptr_array_sort(lines, strcmp2); + + if (!write_card32 (cache, lines->len)) + return FALSE; + + for (i = 0; i < lines->len; i++) + { + mimetype = (char *) lines->pdata[i]; + mime_offset = GPOINTER_TO_UINT (g_hash_table_lookup (strings, mimetype)); + if (!write_card32 (cache, mime_offset)) + return FALSE; + + g_free(mimetype); + } + + *offset += 4 + 4 * lines->len; + + g_ptr_array_free(lines, TRUE); + + return TRUE; +} + +static void +collect_alias (gpointer key, + gpointer value, + gpointer data) +{ + GHashTable *strings = (GHashTable *)data; + Type *type = (Type *)value; + gchar *mimetype; + + mimetype = g_strdup_printf ("%s/%s", type->media, type->subtype); + g_hash_table_insert (strings, key, NULL); + g_hash_table_insert (strings, mimetype, NULL); +} + + +static void +collect_parents (gpointer key, + gpointer value, + gpointer data) +{ + GList *parents = (GList *)value; + GHashTable *strings = (GHashTable *)data; + GList *p; + + g_hash_table_insert (strings, key, NULL); + for (p = parents; p; p = p->next) + g_hash_table_insert (strings, p->data, NULL); +} + +static void +collect_glob (gpointer key, + gpointer value, + gpointer data) +{ + GList *list = (GList *)value; + GHashTable *strings = (GHashTable *)data; + gchar *mimetype; + Glob *glob; + Type *type; + + switch (glob_type ((char *)key)) + { + case GLOB_LITERAL: + case GLOB_FULL: + g_hash_table_insert (strings, key, NULL); + break; + default: + break; + } + + for (; list; list = list->next) + { + glob = (Glob *)list->data; + type = glob->type; + mimetype = g_strdup_printf ("%s/%s", type->media, type->subtype); + + g_hash_table_insert (strings, mimetype, NULL); + } +} + +static void +collect_magic (gpointer key, + gpointer data) +{ + Magic *magic = (Magic *)key; + GHashTable *strings = (GHashTable *)data; + gchar *mimetype; + + mimetype = g_strdup_printf ("%s/%s", magic->type->media, magic->type->subtype); + g_hash_table_insert (strings, mimetype, NULL); +} + +static void +collect_namespace (gpointer key, + gpointer value, + gpointer data) +{ + gchar *ns = (gchar *)key; + Type *type = (Type *)value; + GHashTable *strings = (GHashTable *)data; + gchar *mimetype; + gchar *space; + + mimetype = g_strdup_printf ("%s/%s", type->media, type->subtype); + g_hash_table_insert (strings, mimetype, NULL); + + space = strchr (ns, ' '); + + if (space) + { + *space = '\0'; + g_hash_table_insert (strings, g_strdup (ns), NULL); + g_hash_table_insert (strings, space + 1, NULL); + *space = ' '; + } + else + g_hash_table_insert (strings, ns, NULL); +} + +static void +collect_icons(gpointer key, + gpointer value, + gpointer data) +{ + gchar *mimetype = (gchar *)key; + gchar *iconname = (gchar *)value; + GHashTable *strings = (GHashTable *)data; + + g_hash_table_insert (strings, mimetype, NULL); + g_hash_table_insert (strings, iconname, NULL); +} + + +static void +collect_strings (GHashTable *strings) +{ + g_hash_table_foreach (alias_hash, collect_alias, strings); + g_hash_table_foreach (subclass_hash, collect_parents, strings); + g_hash_table_foreach (globs_hash, collect_glob, strings); + g_ptr_array_foreach (magic_array, collect_magic, strings); + g_hash_table_foreach (namespace_hash, collect_namespace, strings); + g_hash_table_foreach (generic_icon_hash, collect_icons, strings); + g_hash_table_foreach (icon_hash, collect_icons, strings); +} + +typedef struct +{ + FILE *cache; + GHashTable *strings; + guint offset; + gboolean error; +} StringData; + +static void +write_one_string (gpointer key, + gpointer value, + gpointer data) +{ + gchar *str = (gchar *)key; + StringData *sdata = (StringData *)data; + + if (!write_string (sdata->cache, str)) + sdata->error = TRUE; + + g_hash_table_insert (sdata->strings, str, GUINT_TO_POINTER (sdata->offset)); + + sdata->offset = ALIGN_VALUE (sdata->offset + strlen (str) + 1, 4); +} + +static gboolean +write_strings (FILE *cache, + GHashTable *strings, + guint *offset) +{ + StringData data; + + data.cache = cache; + data.strings = strings; + data.offset = *offset; + data.error = FALSE; + + g_hash_table_foreach (strings, write_one_string, &data); + + *offset = data.offset; + + return !data.error; +} + +static gboolean +write_cache (FILE *cache) +{ + guint strings_offset; + guint alias_offset; + guint parent_offset; + guint literal_offset; + guint suffix_offset; + guint glob_offset; + guint magic_offset; + guint namespace_offset; + guint icons_list_offset; + guint generic_icons_list_offset; + guint type_offset; + guint offset; + GHashTable *strings; + + offset = 0; + if (!write_header (cache, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, &offset)) + { + g_warning ("Failed to write header"); + return FALSE; + } + + strings = g_hash_table_new (g_str_hash, g_str_equal); + collect_strings (strings); + strings_offset = offset; + + if (!write_strings (cache, strings, &offset)) + { + g_warning ("Failed to write strings"); + return FALSE; + } + g_message ("Wrote %d strings at %x - %x", + g_hash_table_size (strings), strings_offset, offset); + + alias_offset = offset; + if (!write_alias_cache (cache, strings, &offset)) + { + g_warning ("Failed to write alias list"); + return FALSE; + } + g_message ("Wrote aliases at %x - %x", alias_offset, offset); + + parent_offset = offset; + if (!write_parent_cache (cache, strings, &offset)) + { + g_warning ("Failed to write parent list"); + return FALSE; + } + g_message ("Wrote parents at %x - %x", parent_offset, offset); + + literal_offset = offset; + if (!write_literal_cache (cache, strings, &offset)) + { + g_warning ("Failed to write literal list"); + return FALSE; + } + g_message ("Wrote literal globs at %x - %x", literal_offset, offset); + + suffix_offset = offset; + if (!write_suffix_cache (cache, strings, &offset)) + { + g_warning ("Failed to write suffix list"); + return FALSE; + } + g_message ("Wrote suffix globs at %x - %x", suffix_offset, offset); + + glob_offset = offset; + if (!write_glob_cache (cache, strings, &offset)) + { + g_warning ("Failed to write glob list"); + return FALSE; + } + g_message ("Wrote full globs at %x - %x", glob_offset, offset); + + magic_offset = offset; + if (!write_magic_cache (cache, strings, &offset)) + { + g_warning ("Failed to write magic list"); + return FALSE; + } + g_message ("Wrote magic at %x - %x", magic_offset, offset); + + namespace_offset = offset; + if (!write_namespace_cache (cache, strings, &offset)) + { + g_warning ("Failed to write namespace list"); + return FALSE; + } + g_message ("Wrote namespace list at %x - %x", namespace_offset, offset); + + icons_list_offset = offset; + if (!write_icons_cache (cache, strings, icon_hash, &offset)) + { + g_warning ("Failed to write icons list"); + return FALSE; + } + g_message ("Wrote icons list at %x - %x", icons_list_offset, offset); + + generic_icons_list_offset = offset; + if (!write_icons_cache (cache, strings, generic_icon_hash, &offset)) + { + g_warning ("Failed to write generic icons list"); + return FALSE; + } + g_message ("Wrote generic icons list at %x - %x", generic_icons_list_offset, offset); + + type_offset = offset; + if (!write_types_cache (cache, strings, types, &offset)) + { + g_warning ("Failed to write types list"); + return FALSE; + } + g_message ("Wrote types list at %x - %x", type_offset, offset); + + rewind (cache); + offset = 0; + + if (!write_header (cache, + alias_offset, parent_offset, literal_offset, + suffix_offset, glob_offset, magic_offset, + namespace_offset, icons_list_offset, + generic_icons_list_offset, type_offset, + &offset)) + { + g_warning ("Failed to rewrite header"); + return FALSE; + } + + g_hash_table_destroy (strings); + + return TRUE; +} + + +static FILE * +fopen_gerror(const char *filename, GError **error) +{ + FILE *stream = fopen(filename, "wb"); + + if (!stream) + set_error_from_errno(error); + + return stream; +} + +static gboolean +fclose_gerror(FILE *f, GError **error) +{ + int err = ferror(f); + if (err != 0) + { + set_error_from_errno(error); + return FALSE; + } + if (fclose(f) != 0) + { + set_error_from_errno(error); + return FALSE; + } + return TRUE; +} + +static gint64 +newest_mtime(const char *packagedir) +{ + GDir *dir; +#if !GLIB_CHECK_VERSION(2,26,0) + struct stat GStatBuf; +#else + GStatBuf statbuf; +#endif + gint64 mtime = G_MININT64; + const char *name; + int retval; + + retval = g_stat(packagedir, &statbuf); + if (retval < 0) + return mtime; + mtime = statbuf.st_mtime; + + dir = g_dir_open(packagedir, 0, NULL); + if (!dir) + return mtime; + + while ((name = g_dir_read_name(dir))) { + char *path; + + path = g_build_filename(packagedir, name, NULL); + retval = g_stat(path, &statbuf); + g_free(path); + if (retval < 0) + continue; + if (statbuf.st_mtime > mtime) + mtime = statbuf.st_mtime; + } + + g_dir_close(dir); + return mtime; +} + +static gboolean +is_cache_up_to_date (const char *mimedir, const char *packagedir) +{ + GStatBuf version_stat; + gint64 package_mtime; + char *mimeversion; + int retval; + + mimeversion = g_build_filename(mimedir, "/version", NULL); + retval = g_stat(mimeversion, &version_stat); + g_free(mimeversion); + if (retval < 0) + return FALSE; + + package_mtime = newest_mtime(packagedir); + if (package_mtime < 0) + return FALSE; + + return version_stat.st_mtime >= package_mtime; +} + +int main(int argc, char **argv) +{ + char *mime_dir = NULL; + char *package_dir = NULL; + int opt; + GError *local_error = NULL; + GError **error = &local_error; + gboolean if_newer = FALSE; + + /* Install the filtering log handler */ + g_log_set_default_handler(g_log_handler, NULL); + + while ((opt = getopt(argc, argv, "hvVn")) != -1) + { + switch (opt) + { + case '?': + usage(argv[0]); + return EXIT_FAILURE; + case 'h': + usage(argv[0]); + return EXIT_SUCCESS; + case 'v': + g_fprintf(stderr, + "update-mime-database (" PACKAGE ") " + VERSION "\n" COPYING); + return EXIT_SUCCESS; + case 'V': + enabled_log_levels |= G_LOG_LEVEL_MESSAGE + | G_LOG_LEVEL_INFO; + break; + case 'n': + if_newer = TRUE; + break; + default: + return EXIT_FAILURE; + } + } + + if (optind != argc - 1) + { + usage(argv[0]); + return EXIT_FAILURE; + } + + LIBXML_TEST_VERSION; + + mime_dir = argv[optind]; + + /* Strip trailing / characters */ + { + int l = strlen(mime_dir); + while (l > 1 && mime_dir[l - 1] == '/') + { + l--; + mime_dir[l] = '\0'; + } + } + + package_dir = g_strconcat(mime_dir, "/packages", NULL); + + if (access(mime_dir, F_OK)) + { + g_warning(_("Directory '%s' does not exist!"), package_dir); + return EXIT_FAILURE; + } + + g_message("Updating MIME database in %s...\n", mime_dir); + + if (access(package_dir, F_OK)) + { + g_fprintf(stderr, + _("Directory '%s' does not exist!\n"), package_dir); + return EXIT_FAILURE; + } + + if (if_newer && is_cache_up_to_date(mime_dir, package_dir)) { + g_message ("Skipping mime update as the cache is up-to-date"); + return EXIT_SUCCESS; + } + + types = g_hash_table_new_full(g_str_hash, g_str_equal, + g_free, free_type); + globs_hash = g_hash_table_new_full(g_str_hash, g_str_equal, + g_free, NULL); + namespace_hash = g_hash_table_new_full(g_str_hash, g_str_equal, + g_free, NULL); + magic_array = g_ptr_array_new(); + tree_magic_array = g_ptr_array_new(); + subclass_hash = g_hash_table_new_full(g_str_hash, g_str_equal, + g_free, free_string_list); + alias_hash = g_hash_table_new_full(g_str_hash, g_str_equal, + g_free, NULL); + icon_hash = g_hash_table_new_full(g_str_hash, g_str_equal, + g_free, NULL); + generic_icon_hash = g_hash_table_new_full(g_str_hash, g_str_equal, + g_free, NULL); + + scan_source_dir(package_dir); + g_free(package_dir); + + delete_old_types(mime_dir); + + g_hash_table_foreach(types, write_out_type, (gpointer) mime_dir); + + { + FILE *globs; + char *globs_path; + GList *glob_list = NULL; + + g_hash_table_foreach(globs_hash, collect_glob2, &glob_list); + glob_list = g_list_sort(glob_list, (GCompareFunc)compare_glob_by_weight); + globs_path = g_strconcat(mime_dir, "/globs.new", NULL); + globs = fopen_gerror(globs_path, error); + if (!globs) + goto out; + g_fprintf(globs, + "# This file was automatically generated by the\n" + "# update-mime-database command. DO NOT EDIT!\n"); + write_out_glob(glob_list, globs); + if (!fclose_gerror(globs, error)) + goto out; + if (!atomic_update(globs_path, error)) + goto out; + g_free(globs_path); + + globs_path = g_strconcat(mime_dir, "/globs2.new", NULL); + globs = fopen_gerror(globs_path, error); + if (!globs) + goto out; + g_fprintf(globs, + "# This file was automatically generated by the\n" + "# update-mime-database command. DO NOT EDIT!\n"); + write_out_glob2 (glob_list, globs); + if (!fclose_gerror(globs, error)) + goto out; + if (!atomic_update(globs_path, error)) + goto out; + g_free(globs_path); + + g_list_free (glob_list); + } + + { + FILE *stream; + char *magic_path; + int i; + magic_path = g_strconcat(mime_dir, "/magic.new", NULL); + stream = fopen_gerror(magic_path, error); + if (!stream) + goto out; + fwrite("MIME-Magic\0\n", 1, 12, stream); + + if (magic_array->len) + g_ptr_array_sort(magic_array, cmp_magic); + for (i = 0; i < magic_array->len; i++) + { + Magic *magic = (Magic *) magic_array->pdata[i]; + + write_magic(stream, magic); + } + if (!fclose_gerror(stream, error)) + goto out; + if (!atomic_update(magic_path, error)) + goto out; + g_free(magic_path); + } + + { + FILE *stream; + char *ns_path; + + ns_path = g_strconcat(mime_dir, "/XMLnamespaces.new", NULL); + stream = fopen_gerror(ns_path, error); + if (!stream) + goto out; + write_namespaces(stream); + if (!fclose_gerror(stream, error)) + goto out; + if (!atomic_update(ns_path, error)) + goto out; + g_free(ns_path); + } + + { + FILE *stream; + char *path; + + path = g_strconcat(mime_dir, "/subclasses.new", NULL); + stream = fopen_gerror(path, error); + if (!stream) + goto out; + write_subclasses(stream); + if (!fclose_gerror(stream, error)) + goto out; + if (!atomic_update(path, error)) + goto out; + g_free(path); + } + + { + FILE *stream; + char *path; + + path = g_strconcat(mime_dir, "/aliases.new", NULL); + stream = fopen_gerror(path, error); + if (!stream) + goto out; + write_aliases(stream); + if (!fclose_gerror(stream, error)) + goto out; + if (!atomic_update(path, error)) + goto out; + g_free(path); + } + + { + FILE *stream; + char *path; + + path = g_strconcat(mime_dir, "/types.new", NULL); + stream = fopen_gerror(path, error); + if (!stream) + goto out; + write_types(stream); + if (!fclose_gerror(stream, error)) + goto out; + if (!atomic_update(path, error)) + goto out; + g_free(path); + } + + { + FILE *stream; + char *icon_path; + + icon_path = g_strconcat(mime_dir, "/generic-icons.new", NULL); + stream = fopen_gerror(icon_path, error); + if (!stream) + goto out; + write_icons(generic_icon_hash, stream); + if (!fclose_gerror(stream, error)) + goto out; + if (!atomic_update(icon_path, error)) + goto out; + g_free(icon_path); + } + + { + FILE *stream; + char *icon_path; + + icon_path = g_strconcat(mime_dir, "/icons.new", NULL); + stream = fopen_gerror(icon_path, error); + if (!stream) + goto out; + write_icons(icon_hash, stream); + if (!fclose_gerror(stream, error)) + goto out; + if (!atomic_update(icon_path, error)) + goto out; + g_free(icon_path); + } + + { + FILE *stream; + char *path; + int i; + path = g_strconcat(mime_dir, "/treemagic.new", NULL); + stream = fopen_gerror(path, error); + if (!stream) + goto out; + fwrite("MIME-TreeMagic\0\n", 1, 16, stream); + + if (tree_magic_array->len) + g_ptr_array_sort(tree_magic_array, cmp_tree_magic); + for (i = 0; i < tree_magic_array->len; i++) + { + TreeMagic *magic = (TreeMagic *) tree_magic_array->pdata[i]; + + write_tree_magic(stream, magic); + } + if (!fclose_gerror(stream, error)) + goto out; + if (!atomic_update(path, error)) + goto out; + g_free(path); + } + + { + FILE *stream; + char *path; + + path = g_strconcat(mime_dir, "/mime.cache.new", NULL); + stream = fopen_gerror(path, error); + if (!stream) + goto out; + write_cache(stream); + if (!fclose_gerror(stream, error)) + goto out; + if (!atomic_update(path, error)) + goto out; + g_free(path); + } + + { + FILE *stream; + char *path; + + path = g_strconcat(mime_dir, "/version.new", NULL); + stream = fopen_gerror(path, error); + if (!stream) + goto out; + g_fprintf(stream, + VERSION "\n"); + if (!fclose_gerror(stream, error)) + goto out; + if (!atomic_update(path, error)) + goto out; + g_free(path); + } + + g_ptr_array_foreach(magic_array, (GFunc)magic_free, NULL); + g_ptr_array_free(magic_array, TRUE); + g_ptr_array_foreach(tree_magic_array, (GFunc)tree_magic_free, NULL); + g_ptr_array_free(tree_magic_array, TRUE); + + g_hash_table_destroy(types); + g_hash_table_destroy(globs_hash); + g_hash_table_destroy(namespace_hash); + g_hash_table_destroy(subclass_hash); + g_hash_table_destroy(alias_hash); + g_hash_table_destroy(icon_hash); + g_hash_table_destroy(generic_icon_hash); + + check_in_path_xdg_data(mime_dir); + +out: + if (local_error != NULL) + fatal_gerror(local_error); + return EXIT_SUCCESS; +} diff -Nru shared-mime-info-1.15/tests/meson.build shared-mime-info-2.0/tests/meson.build --- shared-mime-info-1.15/tests/meson.build 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/meson.build 2020-05-06 14:11:14.141908200 +0000 @@ -0,0 +1,60 @@ +if meson.is_cross_build() + subdir_done() +endif + +if xdgmime_found + run_target('test-staging', + command: [ + find_program('test_staging.sh'), + meson.source_root(), + meson.build_root(), + freedesktop_org_xml, + update_mime_database, + xdgmime_print_mime_data.path(), + ] + ) + + test('test-mime', + find_program('test_mime.sh'), + args: [ + meson.source_root(), + meson.build_root(), + freedesktop_org_xml, + update_mime_database, + xdgmime_test_mime_data.path(), + xdgmime_test_mime.path(), + test_tree_magic.full_path(), + ], + ) +endif + +run_target('check-generic-icons', + command: [ find_program('test_generic_icons.sh'), freedesktop_org_xml ], +) + +test('No duplicate mime-types', + find_program('test_duplicate_mime_types.sh'), + args: freedesktop_org_xml, +) + +test('xmllint freedesktop.org.xml', + xmllint, + args: [ '--noout', '--valid', freedesktop_org_xml, ], +) + +test('Case sensitivity', + find_program('test-case-sensitivity.sh'), +) + +test('update-mime-database', + update_mime_database, + args: meson.current_source_dir() / 'mime-db-tests', +) + +its20_elements_rng = meson.source_root() / 'data/its/its20-elements.rng' +shared_mime_info_its = meson.source_root() / 'data/its/shared-mime-info.its' + +test('ITS validation', + xmllint, + args: [ '--noout', '--relaxng', its20_elements_rng, shared_mime_info_its, ], +) diff -Nru shared-mime-info-1.15/tests/mime-db-tests/.gitignore shared-mime-info-2.0/tests/mime-db-tests/.gitignore --- shared-mime-info-1.15/tests/mime-db-tests/.gitignore 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-db-tests/.gitignore 2020-05-06 14:11:14.141908200 +0000 @@ -0,0 +1,14 @@ +XMLnamespaces +aliases +application/ +generic-icons +globs +globs2 +icons +magic +mime.cache +subclasses +text/ +treemagic +types +version diff -Nru shared-mime-info-1.15/tests/mime-db-tests/packages/bug28527.xml shared-mime-info-2.0/tests/mime-db-tests/packages/bug28527.xml --- shared-mime-info-1.15/tests/mime-db-tests/packages/bug28527.xml 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-db-tests/packages/bug28527.xml 2020-05-06 14:11:14.141908200 +0000 @@ -0,0 +1,18 @@ + + + + + + + + PHP script + + + + + + + + Smarty template + + Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/2001_compression_overview.djvu and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/2001_compression_overview.djvu differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/32x-rom.32x and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/32x-rom.32x differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/4jsno.669 and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/4jsno.669 differ diff -Nru shared-mime-info-1.15/tests/mime-detection/560051.xml shared-mime-info-2.0/tests/mime-detection/560051.xml --- shared-mime-info-1.15/tests/mime-detection/560051.xml 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/560051.xml 2020-05-06 14:11:14.145908000 +0000 @@ -0,0 +1,1063 @@ + + + + + APM: Speaking of Faith with Krista Tippett + http://speakingoffaith.org + Public radio's conversation about religion, meaning, ethics, and ideas + © 2006 American Public Media. All rights reserved. + en-us + Mon, 8 Dec 2008 13:20:00 CST + Mon, 8 Dec 2008 13:20:00 CST + mail@speakingoffaith.org (Trent Gilliss) + + No + Speaking of Faith with Krista Tippett is public radio's conversation about religion, meaning, ethics, and ideas. + Krista Tippett, American Public Media + American Public Media's Speaking of Faith with Krista Tippett is public radio's weekly conversation about religion, meaning, ethics, and ideas. Speaking of Faith does not always have religion itself as a subject. Week after week, it grapples with themes of civic life -- asking how perspectives of faith might distinctively inform and illuminate our public reflection. The Speaking of Faith podcast contains each week's program in its entirety and is updated every Thursday. + + American Public Media + podcasts@americanpublicmedia.org + + + + + + No + + + SOF FIRST PERSON (audio) | Repossessing Virtue: Prabhu Guptara on Applying Personal Moral Sense to One's Work Life + As promised, we continue our SOF First Person project by turning to Swiss banking expert, Prabhu Guptara. Several years ago, Krista spoke with Guptara when the fallout of the Enron scandal was wreaking havoc on the U.S. economy and shaking investor confidence in corporate practices and business fundamentals. His message was simple but challenging, and also quite liberating for much of our audience -- bring your personal values into the workplace. For Guptara, doing this is one of the best ways of making ethical decisions that will lead to moral integrity -- and less corruption and scandal. + Public Radio + http://speakingoffaith.org/features/repossessing_virtue/ + + http://download.publicradio.org/podcast/speakingoffaith/20081202_repossessing_virtue_fp-guptara.mp3 + Mon, 8 Dec 2008 13:20:00 CST + American Public Media, Martin Marty, Kate Moos + Prabhu Guptara challenges accepted practices in the industry and in business for our Reposessing Virtue series. + As promised, we continue our SOF First Person project by turning to Swiss banking expert, Prabhu Guptara. Several years ago, Krista spoke with Guptara when the fallout of the Enron scandal was wreaking havoc on the U.S. economy and shaking investor confidence in corporate practices and business fundamentals. His message was simple but challenging, and also quite liberating for much of our audience -- bring your personal values into the workplace. For Guptara, doing this is one of the best ways of making ethical decisions that will lead to moral integrity -- and less corruption and scandal. + 14:33 + first person, prabhu guptara, economic crisis, repossessing virtue, christianity, jesus, Swiss banking, religion, ethics, speaking of faith, faith, spirituality + + + + The Ethics of Aid: One Kenyan's Perspective (December 4, 2008) + We explore the complex ethics of global aid with a young writer from Kenya, Binyavanga Wainaina. He is among a rising generation of African voices who bring a cautionary perspective to the morality and efficacy behind many Western initiatives to abolish poverty and speed development in Africa. + Public Radio + http://speakingoffaith.org/programs/2008/ethics_of_aid-kenya/ + + http://download.publicradio.org/podcast/speakingoffaith/20081204_ethics_of_aid-kenya.mp3 + Thu, 4 Dec 2008 11:55:00 CST + Krista Tippett, American Public Media + Binyavanga Wainaina on the morality and efficacy of global aid initiatives. + We explore the complex ethics of global aid with a young writer from Kenya, Binyavanga Wainaina. He is among a rising generation of African voices who bring a cautionary perspective to the morality and efficacy behind many Western initiatives to abolish poverty and speed development in Africa. + 52:34 + binyavanga wainaina, kenya, global aid, charity, ngo, africa, politics, religion, ethics, morality, krista tippett + + + + SOF FIRST PERSON (audio) | Reposessing Virtue: Martin Marty on Trust in Uncertain Times + The SOF First Person project kicks off with our search for fresh ways to talk about the current economic crisis -- beginning with reflections from an acclaimed historian and theologian. He shares a good deal of his "lived theology" -- the personal, daily acts of faith that preserve sanity and restore trust even at the most uncertain times. + Public Radio + http://speakingoffaith.org/features/repossessing_virtue/ + + http://download.publicradio.org/podcast/speakingoffaith/20081126_repossessing_virtue_fp-marty.mp3 + Mon, 1 Dec 2008 15:00:00 CST + American Public Media, Martin Marty, Kate Moos + Martin Marty reflects on the current economic crisis for our Reposessing Virtue series. + The SOF First Person project kicks off with our search for fresh ways to talk about the current economic crisis -- beginning with reflections from an acclaimed historian and theologian. He shares a good deal of his "lived theology" -- the personal, daily acts of faith that preserve sanity and restore trust even at the most uncertain times. + 14:46 + first person, martin marty, economic crisis, repossessing virtue, christianity, religion, ethics, speaking of faith, faith, spirituality + + + + Listening Generously: The Medicine of Rachel Naomi Remen (November 27, 2008) + Rachel Naomi Remen's lifelong struggle with chronic illness has shaped her philosophy and practice of medicine. She speaks with us about the art of listening to patients and other physicians, the difference between curing and healing, and how our losses help us to live. + Public Radio + http://speakingoffaith.org/programs/2008/listening_generously/ + + http://download.publicradio.org/podcast/speakingoffaith/20081127_listening_generously.mp3 + Wed, 26 Nov 2008 04:00:00 CST + Krista Tippett, American Public Media + Rachel Naomi Remen on the art of listening to patients. + Rachel Naomi Remen's lifelong struggle with chronic illness has shaped her philosophy and practice of medicine. She speaks with us about the art of listening to patients and other physicians, the difference between curing and healing, and how our losses help us to live. + 53:34 + speaking of faith, healing, faith, medicine, integrative medicine, kabbalah, jew, jewish, judaism, mystic, storytelling, rachel naomi remen, krista tippett, radio, faith, religion, spirituality, morality, american public media, apm + + + + The Sunni-Shia Divide and the Future of Islam (November 20, 2008) + We seek fresh insight into the history and the human and religious dynamics of Islam's Sunni-Shia divide. Vali Nasr says that it is not so different from dynamics in periods of Western Christian history. But he says that by bringing the majority Shia to power in Iraq, the U.S. has changed the religions dynamics of the Middle East. + Public Radio + http://speakingoffaith.org/programs/2008/future_of_islam/ + + http://download.publicradio.org/podcast/speakingoffaith/20081120_future_of_islam.mp3 + Thu, 20 Nov 2008 10:00:00 CST + Krista Tippett, American Public Media + Vali Nasr gives insight into Islam's Sunni-Shia divide, and how it will effect the future of the Middle East. + We seek fresh insight into the history and the human and religious dynamics of Islam's Sunni-Shia divide. Vali Nasr says that it is not so different from dynamics in periods of Western Christian history. But he says that by bringing the majority Shia to power in Iraq, the U.S. has changed the religions dynamics of the Middle East. + 53:09 + vali nasr, islam, muslim, sunni, shia, middle east, christian reformation, iraq, iran, ashura, religion, ethics, morality, ideas + + + + Studs Terkel on Life, Faith, and Death (November 13, 2008) + We remember Studs Terkel, who recently died at the age of 96. The legendary interviewer chronicled decades of ordinary life and tumultuous change in U.S. culture. We visited him in his Chicago home in 2004 and drew out his wisdom and warmth on large existential themes of life and death. A lifelong agnostic, Studs Terkel shared his thoughts on religion as he'd observed it in his conversation partners, in culture, and in his own encounters with loss and mortality. + Public Radio + http://speakingoffaith.org/programs/2008/studs_terkel/ + + http://download.publicradio.org/podcast/speakingoffaith/20081113_studs_terkel.mp3 + Thu, 13 Nov 2008 09:00:00 CST + Krista Tippett, American Public Media + Studs Terkel discusses Life, Faith, and Death in a 2004 interview. + We remember Studs Terkel, who recently died at the age of 96. The legendary interviewer chronicled decades of ordinary life and tumultuous change in U.S. culture. We visited him in his Chicago home in 2004 and drew out his wisdom and warmth on large existential themes of life and death. A lifelong agnostic, Studs Terkel shared his thoughts on religion as he'd observed it in his conversation partners, in culture, and in his own encounters with loss and mortality. + 53:09 + speaking of faith, studs terkel, chicago, working, oral history, radio, gore vidal, delbert tibbs, kurt vonnegut, uta hagen, interviews, studs place, krista tippett, radio, faith, art, religion, death, life, spirituality, morality + + + + Getting Revenge and Forgiveness (November 6, 2008) + Professor of psychology Michael McCullough describes science that helps us comprehend how revenge came to have a purpose in human life. At the same time, he stresses, science is also revealing that human beings are more instinctively equipped for forgiveness than we've perhaps given ourselves credit for. Knowing this suggests ways to calm the revenge instinct in ourselves and others and embolden the forgiveness intuition. + Public Radio + http://speakingoffaith.org/programs/2008/revenge_forgiveness/ + + http://download.publicradio.org/podcast/speakingoffaith/20081106_revenge_forgiveness.mp3 + Thu, 6 Nov 2008 08:05:00 CST + Krista Tippett, American Public Media + Michael McCullough on the biological instincts of revenge and forgiveness. + Professor of psychology Michael McCullough describes science that helps us comprehend how revenge came to have a purpose in human life. At the same time, he stresses, science is also revealing that human beings are more instinctively equipped for forgiveness than we've perhaps given ourselves credit for. Knowing this suggests ways to calm the revenge instinct in ourselves and others and embolden the forgiveness intuition. + 53:09 + michael mccullough, revenge, forgiveness, ethics, morality, krista tippett, kindness, apology, biology, evolution, speaking of faith, krista tippett, religion, faith, spirituality + + + + SOF EXTRA (audio) | Unedited Interview with Steve Waldman + In this edition of SOF Unheard Cuts, Krista interviewed Steve Waldman, journalist and founder of Beliefnet, for "Liberating the Founders." Listen to their complete, unedited conversation. Here's your chance to observe the editorial process and let us know what you think. + Public Radio + http://speakingoffaith.org/programs/2008/liberating_the_founders/ + + http://download.publicradio.org/podcast/speakingoffaith/20080313_liberarting_the_founders_uc-waldman.mp3 + Thu, 6 Nov 2008 08:00:00 CST + Krista Tippett, American Public Media + Krista's unedited interview with Steve Waldman. + In this edition of SOF Unheard Cuts, Krista interviewed Steve Waldman, journalist and founder of Beliefnet, for "Liberating the Founders." Listen to their complete, unedited conversation. Here's your chance to observe the editorial process and let us know what you think. + 1:26:27 + unheard cuts, founding fathers, democracy, religion, church and state, christianity, evangelicals, thomas jefferson, james madison, steven waldman, speaking of faith, krista tippett, religion, faith, spirituality + + + + SOF EXTRA (audio) | Unedited Interview with Vashti McKenzie + In this edition of SOF Unheard Cuts, Krista interviewed Vashti McKenzie, first female bishop of the African Methodist Episcopal Church, for "African American. Woman. Leader." Listen to their complete, unedited conversation. Here's your chance to observe the editorial process and let us know what you think. + Public Radio + http://speakingoffaith.org/programs/2008/vashti_mckenzie/ + + http://download.publicradio.org/podcast/speakingoffaith/20081026_vashti_mckenzie_uc-mckenzie.mp3 + Mon, 3 Nov 2008 04:20:00 CST + Krista Tippett, American Public Media + Krista's unedited interview with Bishop Vashti McKenzie. + In this edition of SOF Unheard Cuts, Krista interviewed Vashti McKenzie, first female bishop of the African Methodist Episcopal Church, for "African American. Woman. Leader." Listen to their complete, unedited conversation. Here's your chance to observe the editorial process and let us know what you think. + 1:40:04 + unheard cuts, vashti mckenzie, christianity, theology, african methodist episcopal, radio, racism, sexism, religion, ethics, jeremiah wright, trinity united church, james cone, politics, speaking of faith, krista tippett, faith, spirituality + + + + Liberating the Founders (October 30, 2008) + With the presidential election approaching, we return to an evocative, relevant conversation from earlier this year with journalist Steven Waldman. He's done an unusual study investigating how the culture wars have skewed contemporary Americans' sense of how we came to have religious liberty in the first place. He understands why 21st-century struggles over religion in the public square spur passionate disagreement and entanglement with politics at its most impure. + Public Radio + http://speakingoffaith.org/programs/2008/liberating_the_founders/ + + http://download.publicradio.org/podcast/speakingoffaith/20081030_liberating_the_founders.mp3 + Thu, 30 Oct 2008 09:00:00 CST + Krista Tippett, American Public Media + Journalist Steve Waldman on why struggles over religion in the public square spur passionate disagreement and entanglement with politics at its most impure. + With the presidential election approaching, we return to an evocative, relevant conversation from earlier this year with journalist Steven Waldman. He's done an unusual study investigating how the culture wars have skewed contemporary Americans' sense of how we came to have religious liberty in the first place. He understands why 21st-century struggles over religion in the public square spur passionate disagreement and entanglement with politics at its most impure. + 53:09 + founding fathers, democracy, religion, church and state, christianity, evangelicals, thomas jefferson, james madison, steven waldman, krista tippett, faith, religion, spirituality, morality + + + + SOF EXTRA (audio) | Unedited Interview with Paul Collins and Jennifer Elder + In this edition of SOF Unheard Cuts, Krista interviewed Paul Collins and Jennifer Elder for "Being Autistic, Being Human." They talk about how life with their child who is autistic has deepened their understanding of human nature -- of disability, and of creativity, intelligence, and accomplishment. Here's your chance to observe the editorial process and let us know what you think. + Public Radio + http://speakingoffaith.org/programs/2008/beingautistic/ + + http://download.publicradio.org/podcast/speakingoffaith/20070927_beingautistic_uc-parents.mp3 + Mon, 27 Oct 2008 04:20:00 CST + Krista Tippett, American Public Media + Krista's unedited interview with Paul Collins and Jennifer Elder. + In this edition of SOF Unheard Cuts, Krista interviewed Paul Collins and Jennifer Elder for "Being Autistic, Being Human." They talk about how life with their child who is autistic has deepened their understanding of human nature -- of disability, and of creativity, intelligence, and accomplishment. Here's your chance to observe the editorial process and let us know what you think. + 1:50:24 + unheard cuts, autism, autistic, aspberger, microsoft, paul collins, jennifer elder, speaking of faith, krista tippett, religion, faith, spirituality + + + + African American. Woman. Leader. Meeting Bishop Vashti McKenzie. (October 23, 2008) + The 2008 U.S. presidential election has illustrated how gender, race, and religion can become lightning rods, and seen as potential stumbling blocks to leadership. Vashti McKenzie is a pioneering figure on all these fronts; when she became the first woman bishop of the oldest historic black church in America, she declared: "The stained glass ceiling has been pierced and broken." We offer her story, her wisdom, and her good humor as an edifying lens on the American past, present, and future. + Public Radio + http://speakingoffaith.org/programs/2008/vashti_mckenzie/ + + http://download.publicradio.org/podcast/speakingoffaith/20081023_vashti_mckenzie.mp3 + Thu, 23 Oct 2008 09:00:00 CST + Krista Tippett, American Public Media + Bishop Vashti McKenzie's story, wisdom, and good humor provide an edifying lens on the American past, present, and future. + The 2008 U.S. presidential election has illustrated how gender, race, and religion can become lightning rods, and seen as potential stumbling blocks to leadership. Vashti McKenzie is a pioneering figure on all these fronts; when she became the first woman bishop of the oldest historic black church in America, she declared: "The stained glass ceiling has been pierced and broken." We offer her story, her wisdom, and her good humor as an edifying lens on the American past, present, and future. + 53:09 + vashti mckenzie, bishop vashti murphy mckenzie, christianity, theology, american methodist episcopal, radio, payne memorial, racism, sexism, religion, ethics, jeremiah wright, trinity united church, james cone, politics + + + + SOF EXTRA (audio) | Unedited Interview with Rod Dreher + In this edition of SOF Unheard Cuts, Krista interviewed Rod Dreher for the second part of our series "The Faith Life of the Party." A conservative columnist, Rod Dreher is an outspoken critic of mainstream Republican economic and environmental ideas and the conduct of the Iraq war, but he voted for George W. Bush twice. We explore the little-known story of religiously influenced impulses within the conservative movement that diverge from the Religious Right. Here's your chance to observe the editorial process and let us know what you think. + Public Radio + http://speakingoffaith.publicradio.org/programs/2008/dreher/ + + http://download.publicradio.org/podcast/speakingoffaith/20081009_dreher_uc-dreher.mp3 + Mon, 20 Oct 2008 04:20:00 CST + Krista Tippett, American Public Media + Krista's unedited interview with Rod Dreher on politics and faith of the conservative right + In this edition of SOF Unheard Cuts, Krista interviewed Rod Dreher for the second part of our series "The Faith Life of the Party." A conservative columnist, Rod Dreher is an outspoken critic of mainstream Republican economic and environmental ideas and the conduct of the Iraq war, but he voted for George W. Bush twice. Here's your chance to observe the editorial process and let us know what you think. + 50:11 + unheard cuts, rod dreher, republican, republican party, conservative, politics, john mccain, sarah palin, speaking of faith, krista tippett, religion, ethics, morality + + + + Being Autistic, Being Human (October 16, 2008) + One of every 150 children is now diagnosed to be somewhere on the mysterious spectrum of autism. We step back from the controversies about the causes and cures of autism and explore one family's experience with an autistic child. Jennifer Elder, an artist, and Paul Collins, a literary historian, have unearthed a vivid history of people grappling with autism, before it had a name. And they share what all of this is teaching them about what it means to be human. + Public Radio + http://speakingoffaith.org/programs/2008/beingautistic/ + + http://download.publicradio.org/podcast/speakingoffaith/20081016_beingautistic.mp3 + Thu, 16 Oct 2008 09:00:00 CST + Krista Tippett, American Public Media + Discovering the humanity, challenges, and gifts of autism with the parents of one child. + One of every 150 children is now diagnosed to be somewhere on the mysterious spectrum of autism. We step back from the controversies about the causes and cures of autism and explore one family's experience with an autistic child. Jennifer Elder, an artist, and Paul Collins, a literary historian, have unearthed a vivid history of people grappling with autism, before it had a name. And they share what all of this is teaching them about what it means to be human. + 53:09 + autism, autistic, aspberger, microsoft, paul collins, jennifer elder, speaking of faith, krista tippett, religion, faith, spirituality + + + + SOF EXTRA (audio) | Unedited Interview with Amy Sullivan + In this edition of SOF Unheard Cuts, Krista interviewed Amy Sullivan for the first part of our series "The Faith Life of the Party." She's a national corresponent for Time magazine, an Evangelical Christian, and an observer of the Democratic Party. Here's your chance to observe the editorial process and let us know what you think. + Public Radio + http://speakingoffaith.publicradio.org/programs/2008/sullivan/ + + http://download.publicradio.org/podcast/speakingoffaith/20081002_sullivan_uc-sullivan.mp3 + Mon, 13 Oct 2008 04:20:00 CST + Krista Tippett, American Public Media + Krista's unedited interview with Amy Sullivan on politics and faith of the political left + In this edition of SOF Unheard Cuts, Krista interviewed Amy Sullivan for the first part of our series "The Faith Life of the Party." She's a national corresponent for Time magazine, an Evangelical Christian, and an observer of the Democratic Party. Here's your chance to observe the editorial process and let us know what you think. + 1:01:21 + unheard cuts, democrat, democratic party, liberal, abortion, amy sullivan, barack obama, democratic national convention, politics, faith, evangelical, morality, presidental election, john mccain, sarah palin, bill clinton, leah daughtry, ethics + + + + The Faith Life of the Party - Part II, The Right (October 9, 2008) + The second part of our examination of religious energies below the surface of the 2008 presidential campaign. Conservative columnist Rod Dreher is an outspoken critic of mainstream Republican economic and environmental ideas and the conduct of the Iraq war, but he voted for George W. Bush twice. We explore the little-known story of religiously-influenced impulses within the conservative movement that diverge from the Religious Right. + Public Radio + http://speakingoffaith.org/programs/2008/dreher/ + + http://download.publicradio.org/podcast/speakingoffaith/20081009_dreher.mp3 + Thu, 09 Oct 2008 09:00:00 CST + Krista Tippett, American Public Media + Rod Dreher on the religiously-influenced impulses within conservative politics + The second part of our examination of religious energies below the surface of the 2008 presidential campaign. Conservative columnist Rod Dreher is an outspoken critic of mainstream Republican economic and environmental ideas and the conduct of the Iraq war, but he voted for George W. Bush twice. We explore the little-known story of religiously-influenced impulses within the conservative movement that diverge from the Religious Right. + 53:09 + rod dreher, republican, republican party, conservative, politics, john mccain, sarah palin, religion, ethics, morality, abortion + + + + The Faith Life of the Party - Part I, The Left (October 2, 2008) + We begin a refreshing, thought-provoking two-part conversation on politics and religion below the surface of the current U.S. presidential campaign. I speak with two counterintuitive yet influential voices. This week, national correspondent for Time magazine, Amy Sullivan, and next week, conservative columnist for the Dallas Morning News, Rod Dreher. Sullivan is a political liberal, an Evangelical Christian, and a savvy observer of the Democratic Party's complex relationship with faith over the past decade. + Public Radio + http://speakingoffaith.org/programs/2008/sullivan/ + + http://download.publicradio.org/podcast/speakingoffaith/20081002_sullivan.mp3 + Thu, 02 Oct 2008 09:00:00 CST + Krista Tippett, American Public Media + Explore the Democratic Party's complex relationship with faith and the little-told story of the left's response to the rise of the Religious Right. + We begin a refreshing, thought-provoking two-part conversation on politics and religion below the surface of the current U.S. presidential campaign. I speak with two counterintuitive yet influential voices. This week, national correspondent for Time magazine, Amy Sullivan, and next week, conservative columnist for the Dallas Morning News, Rod Dreher. Sullivan is a political liberal, an Evangelical Christian, and a savvy observer of the Democratic Party's complex relationship with faith over the past decade. + 53:09 + democrat, democratic party, liberal, abortion, amy sullivan, barack obama, democratic national convention, politics, faith, evangelical, morality, presidental election, john mccain, sarah palin, bill clinton, leah daughtry, ethics + + + + Days of Awe (September 25, 2008) + We'll delve into the world and meaning of the approaching Jewish High Holy Days -- ten days that span the new year of Rosh Hashanah through Yom Kippur's rituals of atonement. Sharon Brous, a young rabbi in L.A., is one voice in a Jewish spiritual renaissance that is taking many forms across the U.S. The vast majority of her congregation are people in their 20s and 30s, who, she says, are making life-giving connections between ritual, personal transformation, and relevance in the world. + Public Radio + http://speakingoffaith.org/programs/2008/daysofawe/ + + http://download.publicradio.org/podcast/speakingoffaith/20080925_daysofawe.mp3 + Thu, 25 Sep 2008 09:00:00 CST + Krista Tippett, American Public Media + Delve into the world and meaning of the approaching Jewish High Holy Days with rabbi Sharon Brous. + We'll delve into the world and meaning of the approaching Jewish High Holy Days -- ten days that span the new year of Rosh Hashanah through Yom Kippur's rituals of atonement. Sharon Brous, a young rabbi in L.A., is one voice in a Jewish spiritual renaissance that is taking many forms across the U.S. The vast majority of her congregation are people in their 20s and 30s, who, she says, are making life-giving connections between ritual, personal transformation, and relevance in the world. + 53:09 + sharon brous, jew, judaism, nephesh, high holy days, rosh hashanah, yom kippur, ikar, speaking of faith, krista tippett, religion, faith, spirituality, shofar, social justice, kol nidre, social justice + + + + + The Origins and Impact of Pentecostalism (September 18, 2008) + Pentecostalism has appeared as a force on both sides of the current presidential campaign. News coverage of vice presidential candidate Sarah Palin's Pentecostal background has overshadowed the fact that senior leaders of the Obama campaign and the Democratic National Convention are Pentecostal too. In 2006, Pentecostals from all around the globe traveled to the birthplace of this tradition -- Azusa Street in Los Angeles. We were there to cover the centennial celebration -- and now we bring this program into the present, exploring the origins, theology, and impact of this faith that now reaches an estimated half a billion people globally. + Public Radio + http://speakingoffaith.org/programs/2008/azusarevival/ + + http://download.publicradio.org/podcast/speakingoffaith/20080918_azusarevival.mp3 + Thu, 18 Sep 2008 09:00:00 CST + Krista Tippett, American Public Media + Explore the origins, theology, and impact of Pentecostalism -- a faith that now reaches an estimated half a billion people globally. + Pentecostalism has appeared as a force on both sides of the current presidential campaign. News coverage of vice presidential candidate Sarah Palin's Pentecostal background has overshadowed the fact that senior leaders of the Obama campaign and the Democratic National Convention are Pentecostal too. In 2006, Pentecostals from all around the globe traveled to the birthplace of this tradition -- Azusa Street in Los Angeles. We were there to cover the centennial celebration -- and now we bring this program into the present, exploring the origins, theology, and impact of this faith that now reaches an estimated half a billion people globally. + 53:09 + pentecostal, charismatic, azusa, william seymour, parham, los angeles, christian, evangelical, fundamentalist, mel robeck, arlene sanchez walsh, krista tippett, faith, religion, spirituality, sarah palin, morality + + + + SOF EXTRA (video) | The Myth of Order + James Prosek has spent his life capturing wildlife -- whether it be literally as an avid fly-fisher, or figuratively through writing, drawing, and painting. View some of his artwork as he talks about these "mystical creatures," the names we give them, and ultimately why it's necessary to protect them. + Public Radio + http://speakingoffaith.org/programs/rememberingforward/soundseen_video-stream640.shtml + + http://download.publicradio.org/video/speakingoffaith/20080828_fishing_ss-mythoforder.mov + Tue, 16 Sep 2008 15:00:00 CST + Krista Tippett, American Public Media + James Prosek on the mystical acts of fishing, writing, and art + James Prosek has spent his life capturing wildlife -- whether it be literally as an avid fly-fisher, or figuratively through writing, drawing, and painting. View some of his artwork as he talks about these "mystical creatures," the names we give them, and ultimately why it's necessary to protect them. + 5:02 + fishing, art, illustration, james prosek, god, eels, trout, krista tippett, speaking of faith, religion + + + + Yoga. Meditation in Action with Seane Corn (September 11, 2008) + Yoga studios are cropping up on street corners across the U.S., and there are now yoga classes at YMCAs, law schools, and corporate headquarters. This 5000 year old spiritual technology is converging intriguingly with 21st century medical science and with many religious and philosophical perspectives. Seane Corn takes us inside the practicalities and power of yoga, and describes how it helps her face the darkness in herself and the world. + Public Radio + http://speakingoffaith.org/programs/2008/yoga/ + + http://download.publicradio.org/podcast/speakingoffaith/20080911_yoga.mp3 + Thu, 11 Sep 2008 09:00:00 CST + Krista Tippett, American Public Media + Seane Corn takes us inside the practicalities and power of yoga. + Yoga studios are cropping up on street corners across the U.S., and there are now yoga classes at YMCAs, law schools, and corporate headquarters. This 5000 year old spiritual technology is converging intriguingly with 21st century medical science and with many religious and philosophical perspectives. Seane Corn takes us inside the practicalities and power of yoga, and describes how it helps her face the darkness in herself and the world. + 53:09 + seane corn, yoga, obsessive-compulsive disorder, healing, spirituality, activism, buddhism, hinduism, child abuse, prayer, speaking of faith, krista tippett, american public media, APM + + + + Stress and the Balance Within (September 4, 2008) + The American experience of stress has spawned a multi-billion dollar self-help industry. Wary of this, Esther Sternberg says that, until recently, modern science did not have the tools or the inclination to take emotional stress seriously. She shares fascinating new scientific insight into the molecular level of the mind-body connection. + Public Radio + http://speakingoffaith.org/programs/2008/stress/ + + http://download.publicradio.org/podcast/speakingoffaith/20080904_stress.mp3 + Thu, 04 Sep 2008 11:00:00 CST + Krista Tippett, American Public Media + Esther Sternberg discusses scientific insight into emotional stress. + The American experience of stress has spawned a multi-billion dollar self-help industry. Wary of this, Esther Sternberg says that, until recently, modern science did not have the tools or the inclination to take emotional stress seriously. She shares fascinating new scientific insight into the molecular level of the mind-body connection. + 53:09 + speaking of faith, krista tippett, esther sternberg, stress, orthodox judaism, jew, crete, asclepius, radio, faith, religion, spirituality, morality, american public media, APM + + + + + Fishing with Mystery (August 28, 2008) + James Prosek is a 33-year-old artist, writer, and fly-fisher who has always, as he puts it, found God "through the theater of nature." From a young age he has been fascinated by trout, and now eel -- which he sees as "mystical creatures" -- and he's captured them physically and artistically, by way of both angling and paint. We explore the sense of meaning and ritual James Prosek developed along the way, including his concern with how we humans limit our sense of other creatures by the names we give them. We'll also hear the words of Henry David Thoreau, Bruce Chatwin, and Izaak Walton. + Public Radio + http://speakingoffaith.org/programs/2008/fishing/ + + http://download.publicradio.org/podcast/speakingoffaith/20080828_fishing.mp3 + Thu, 28 Aug 2008 09:30:00 CST + Krista Tippett, American Public Media + James Prosek discusses his sense of meaning and ritual inspired by "the theater of nature." + James Prosek is a 33-year-old artist, writer, and fly-fisher who has always, as he puts it, found God "through the theater of nature." From a young age he has been fascinated by trout, and now eel -- which he sees as "mystical creatures" -- and he's captured them physically and artistically, by way of both angling and paint. We explore the sense of meaning and ritual James Prosek developed along the way, including his concern with how we humans limit our sense of other creatures by the names we give them. We'll also hear the words of Henry David Thoreau, Bruce Chatwin, and Izaak Walton. + 53:09 + james prosek, fly-fishing, painting, nature, environment, god, eels, mystery, speaking of faith, krista tippett + + + + + Rick and Kay Warren at Saddleback (August 21, 2008) + Evangelical leader Rick Warren is in the news for bringing John McCain and Barack Obama together at his Saddleback Church in California. This two-hour event, broadcast live on CNN, is just one sign of the cross-cultural authority Warren and his wife Kay have achieved in a handful of years. We revisit Krista's conversation with them at Saddleback last year -- exploring who they are and what motivates them. + Public Radio + http://speakingoffaith.org/programs/2008/warren/ + + http://download.publicradio.org/podcast/speakingoffaith/20080821_warren.mp3 + Thu, 21 Aug 2008 12:30:00 CST + Krista Tippett, American Public Media + Rick and Kay Warren exploring who they are and what motivates them. + Evangelical leader Rick Warren is in the news for bringing John McCain and Barack Obama together at his Saddleback Church in California. This two-hour event, broadcast live on CNN, is just one sign of the cross-cultural authority Warren and his wife Kay have achieved in a handful of years. We revisit Krista's conversation with them at Saddleback last year -- exploring who they are and what motivates them. + 53:09 + evangelical, rick warren, kay warren, purpose driven life, saddleback, aids, politics, poverty, africa, christianity, christian, speaking of faith, krista tippett, religion, faith, spirituality, barack obama, john mccain, politics + + + + + The Power of Eckhart Tolle's Now (August 14, 2008) + Host Krista Tippett creates a certain kind of space in her interviews, and this conversation is no exception. Tolle shares his youthful experience of depression and despair -- suffering that led him to his own spiritual breakthrough, and ultimately, freedom and peace of mind. He also explicates his view of what he calls "the pain body" -- the accumulated emotional pain that may influence us and our relationships in negative ways. And Tolle talks about spirit and God, and what those concepts mean to him. + Public Radio + http://speakingoffaith.org/programs/tolle/ + + http://download.publicradio.org/podcast/speakingoffaith/20080814_tolle.mp3 + Wed, 13 Aug 2008 12:30:00 CST + Krista Tippett, American Public Media + Eckhart Tolle on spirit and God, pain-bodies, presence, and living with fame. + Host Krista Tippett creates a certain kind of space in her interviews, and this conversation is no exception. Tolle shares his youthful experience of depression and despair -- suffering that led him to his own spiritual breakthrough, and ultimately, freedom and peace of mind. He also explicates his view of what he calls "the pain body" -- the accumulated emotional pain that may influence us and our relationships in negative ways. And Tolle talks about spirit and God, and what those concepts mean to him. + 53:09 + eckhart tolle, oprah winfrey, a new earth, ram dass, power of now, pain bodies, speaking of faith, krista tippett + + + + Living Vodou (August 7, 2008) + Vodou is the African-based spiritual world of the people of Haiti, a living religion wherever Haitians are found. It involves dramatic rituals and drumming, trances and dreaming, and belief in a spiritual realm that mirrors the physical world and interacts with it. But contrary to popular notions, it has nothing to do with sticking pins into dolls. With Patrick Bellegarde-Smith, a scholar who is also a Vodou priest, we explore its practices and metaphysics. + Public Radio + http://speakingoffaith.org/programs/vodou/ + + http://download.publicradio.org/podcast/speakingoffaith/20080807_vodou.mp3 + Thu, 7 Aug 2008 12:30:00 CST + Krista Tippett, American Public Media + Patrick Bellegarde-Smith talks about the roots of Haitian Vodou + Vodou is the African-based spiritual world of the people of Haiti, a living religion wherever Haitians are found. It involves dramatic rituals and drumming, trances and dreaming, and belief in a spiritual realm that mirrors the physical world and interacts with it. But contrary to popular notions, it has nothing to do with sticking pins into dolls. With Patrick Bellegarde-Smith, a scholar who is also a Vodou priest, we explore its practices and metaphysics. + 53:09 + voodoo, vodou, haiti, brooklyn, legba, ogou, gede, ghede, spirits, possessed, possession, syncretism, catholic, drumming, patrick bellegarde-smith, claudine michel, maya deren, mama lola, krista tippett, radio, faith, religion, spirituality, morality + + + + The Business of Doing Good (July 31, 2008) + The news has been marked in recent years, at regular intervals, by the moral and practical downfall of prominent businesses. Jonathan Greenblatt is among a new generation of entrepreneurs who want to lead a fundamental shift in corporate culture as well as philanthropy -- a merger between making a profit and doing good. We explore his way of seeing the world and his economics of "ethical brand architecture" and "fiercely pragmatic idealism." + Public Radio + http://speakingoffaith.org/programs/business_of_good/ + + http://download.publicradio.org/podcast/speakingoffaith/20080731_business_of_good.mp3 + Thu, 31 Jul 2008 12:01:00 CST + Krista Tippett, American Public Media + Jonathan Greenblatt describes the merging philosophy of making a profit and doing good. + The news has been marked in recent years, at regular intervals, by the moral and practical downfall of prominent businesses. Jonathan Greenblatt is among a new generation of entrepreneurs who want to lead a fundamental shift in corporate culture as well as philanthropy -- a merger between making a profit and doing good. We explore his way of seeing the world and his economics of "ethical brand architecture" and "fiercely pragmatic idealism." + 53:09 + jonathan greenblatt, business, ethos water, starbucks, social entrepreneur, socially responsible investing, ethics, religion, spirituality, krista tippett, profit + + + + Play, Spirit, and Character (July 24, 2008) + Stuart Brown, a physician and director of the National Institute for Play, says that pleasurable, purposeless activity prevents violence and promotes trust, empathy, and adaptability to life's complication. He promotes cutting-edge science on human play, and draws on a rich universe of study of intelligent social animals. + Public Radio + http://speakingoffaith.org/programs/play/ + + http://download.publicradio.org/podcast/speakingoffaith/20080724_play.mp3 + Thu, 24 Jul 2008 12:00:00 CST + Krista Tippett, American Public Media + Stuart Brown discusses the value of purposeless activity. + Stuart Brown, a physician and director of the National Institute for Play, says that pleasurable, purposeless activity prevents violence and promotes trust, empathy, and adaptability to life's complication. He promotes cutting-edge science on human play, and draws on a rich universe of study of intelligent social animals. + 53:09 + stuart brown, play, stress, behavior, speaking of faith, krista tippett, tippet, faith, radio, religion, spirituality, christianity, ethics, morality, jane goodall + + + + Recovering Chinese Religiosities (July 17, 2008) + Put the words "religion" and "China" in a sentence together, and Western imaginations may go to indifference at best, to brutal repression at worst. Yet in grand historical perspective, China is a crucible of religious and philosophical thought and practice. Anthropologist and filmmaker Mayfair Yang says that the upheavals of the 20th century created an amnesia -— in the West as in China itself -- about this rich, pluralistic spiritual inheritance. She traces some of this story for us, and describes a subtle new revival of reverence and ritual. + Public Radio + http://speakingoffaith.org/programs/joecarter/ + + http://download.publicradio.org/podcast/speakingoffaith/20080717_chinese_religiosities.mp3 + Thu, 10 Jul 2008 12:00:00 CST + Krista Tippett, American Public Media + Mayfair Yang on Chinese religious and political thought and practice. + Put the words "religion" and "China" in a sentence together, and Western imaginations may go to indifference at best, to brutal repression at worst. Yet in grand historical perspective, China is a crucible of religious and philosophical thought and practice. Anthropologist and filmmaker Mayfair Yang says that the upheavals of the 20th century created an amnesia -— in the West as in China itself -- about this rich, pluralistic spiritual inheritance. She traces some of this story for us, and describes a subtle new revival of reverence and ritual. + 53:09 + mayfair yang, china, buddhism, confuscianism, taiwan, religion, daoism, taoism, communism, ethics, secular, tibet, mao, history, ethics, tibet, ritual, speaking of faith, krista tippett + + + + Joe Carter and the Legacy of the African-American Spiritual (July 10, 2008) + The spiritual is celebrated in American culture and beyond. It is the source from which gospel, jazz, blues and hip-hop evolved. It was born in the American South, created by slaves, bards whose names history never recorded. The organizing concept of this music is not the melody of Europe, but the rhythm of Africa. And the theology conveyed in these songs is a potent mix of African spirituality, Hebrew narrative, Christian doctrine, and an extreme experience of human suffering. + Public Radio + http://speakingoffaith.org/programs/joecarter/ + + http://download.publicradio.org/podcast/speakingoffaith/20080710_joecarter.mp3 + Thu, 10 Jul 2008 12:00:00 CST + Krista Tippett, American Public Media + Singer Joe Carter shares stories about the meaning of the Negro spiritual in word and song. + The spiritual is celebrated in American culture and beyond. It is the source from which gospel, jazz, blues and hip-hop evolved. It was born in the American South, created by slaves, bards whose names history never recorded. The organizing concept of this music is not the melody of Europe, but the rhythm of Africa. And the theology conveyed in these songs is a potent mix of African spirituality, Hebrew narrative, Christian doctrine, and an extreme experience of human suffering. + 53:09 + joe carter, negro spiritual, african-american, african american, song, slavery, sorrow songs, slave, krista tippett, radio, faith, religion, spirituality, morality + + + + The Ethics of Eating (July 3, 2008) + Author Barbara Kingsolver describes an adventure her family undertook to spend one year eating primarily what they could grow or raise themselves. As a citizen and mother more than an expert, she turned her life towards questions many of us are asking. Food, she says, is a "rare moral arena" in which the ethical choice is often the pleasurable choice. + Public Radio + http://speakingoffaith.org/programs/ethicsofeating/ + + http://download.publicradio.org/podcast/speakingoffaith/20080703_ethicsofeating.mp3 + Thu, 03 Jul 2008 12:00:00 CST + Krista Tippett, American Public Media + Author Barbara Kingsolver describes an adventure her family undertook to spend one year eating primarily what they could grow or raise themselves. + Author Barbara Kingsolver describes an adventure her family undertook to spend one year eating primarily what they could grow or raise themselves. As a citizen and mother more than an expert, she turned her life towards questions many of us are asking. Food, she says, is a "rare moral arena" in which the ethical choice is often the pleasurable choice. + 53:09 + barbara kingsolver, organic, sustainability, green, gardening, krista tippett, poisonwood bible, ethics, religion, spirituality, values, morality + + + + Presence in the Wild (June 26, 2008) + Kate Braestrup is a writer, mother and a chaplain to game wardens on search-and-rescue missions in Maine. She is called in when children disappear in the woods and when snowmobilers disappear under the ice. There, she says, the rubber meets the road theologically. And her sense of life, death, and God is formed by what happens between and among people. + Public Radio + http://speakingoffaith.org/programs/braestrup/ + + http://download.publicradio.org/podcast/speakingoffaith/20080626_braestrup.mp3 + Thu, 26 Jun 2008 12:00:00 CST + Krista Tippett, American Public Media + Kate Braestrup, chaplain to game wardens on search-and-rescue missions in Maine, discusses her experiences and how it affects her sense of life, death, and God. + Kate Braestrup is a writer, mother and a chaplain to game wardens on search-and-rescue missions in Maine. She is called in when children disappear in the woods and when snowmobilers disappear under the ice. There, she says, the rubber meets the road theologically. And her sense of life, death, and God is formed by what happens between and among people. + 53:09 + braestrup, maine, search and rescue, chaplain, game warden, death, loss, park, forest, unitarian universalist, religion, god, community, love, radio + + + + Sustaining Language, Sustaining Meaning - an Ojibwe Story (June 19, 2008) + Novelist and translator David Treuer is helping to compile the first practical grammar of the Ojibwe tongue of his tribe -- one of the 90 percent of human languages that could be endangered in this century. Treuer describes an unfolding awareness of aspects of his personality, of a sense of what brings him joy, an understanding of what makes him human -- that the Ojibwe language distinctly conveys. + Public Radio + http://speakingoffaith.org/programs/sustaining_language/ + + http://download.publicradio.org/podcast/speakingoffaith/20080619_treuer.mp3 + Fri, 20 Jun 2008 14:00:00 CST + Krista Tippett, American Public Media + David Treuer on the identity of speaking Ojibwe. + Novelist and translator David Treuer is helping to compile the first practical grammar of the Ojibwe tongue of his tribe -- one of the 90 percent of human languages that could be endangered in this century. Treuer describes an unfolding awareness of aspects of his personality, of a sense of what brings him joy, an understanding of what makes him human -- that the Ojibwe language distinctly conveys. + 53:09 + ojibwe, native american, indigenous, aboriginal, preserving language, david treuer, speaking of faith, jew, judaism, christianity, krista tippett, radio, faith, religion, spirituality, morality + + + + Pagans Ancient and Modern (June 12, 2008) + An environmentalist who pursued the ecological impulse of Paganism, from its ancient roots to its modern revival in Europe and North America, discusses his observations about the spirit of Paganism and its influence on everyday Western culture -- and even on old-time religion. + Public Radio + http://speakingoffaith.org/programs/pagans/ + + http://download.publicradio.org/podcast/speakingoffaith/20080612_pagans.mp3 + Thu, 12 Jun 2008 14:00:00 CST + Krista Tippett, American Public Media + Adrian Ivakhiv discusses his observations about the spirit of Paganism and its influence on everyday Western culture. + An environmentalist who pursued the ecological impulse of Paganism, from its ancient roots to its modern revival in Europe and North America, discusses his observations about the spirit of Paganism and its influence on everyday Western culture -- and even on old-time religion. + 53:09 + pagan, paganism, neopagan, druids, wicca, wiccans, heathen, carpathian, ukraine, krista tippett, adrian ivakhiv, ecology, environment, radio, faith, religion, spirituality, morality, american public media, APM + + + + The Spiritual Audacity of Abraham Joshua Heschel (June 5, 2008) + Heschel was a mystic who wrote transcendent, poetic words about God. At the very same time, he marched alongside Martin Luther King Jr. and organized religious leadership against the war in Vietnam, embodying the extreme social activism of the biblical prophets he studied. We explore his teachings and his legacy for people in our day. + Public Radio + http://speakingoffaith.org/programs/heschel/ + + http://download.publicradio.org/podcast/speakingoffaith/20080605_heschel.mp3 + Thu, 5 Jun 2008 14:00:00 CST + Krista Tippett, American Public Media + Exploring the teachings and legacy of Abraham Joshua Heschel for people in our day. + Heschel was a mystic who wrote transcendent, poetic words about God. At the very same time, he marched alongside Martin Luther King Jr. and organized religious leadership against the war in Vietnam, embodying the extreme social activism of the biblical prophets he studied. We explore his teachings and his legacy for people in our day. + 53:20 + heschel, judaism, hasidism, vietnam war, old testament, prophets, speaking of faith, krista tippett, arnold eisen, jewish theological seminary, radio, faith, life, religion, ethics + + + + Quarks and Creation (May 29, 2008) + Science and religion are often pitted against one another; but how do they complement, rather than contradict, one another? We learn how one man applies the deepest insights of modern physics to think about how the world fundamentally works, and how the universe might make space for prayer. + Public Radio + http://speakingoffaith.org/programs/quarks/ + + http://download.publicradio.org/podcast/speakingoffaith/20080529_quarks.mp3 + Thu, 29 May 2008 12:00:00 CST + Krista Tippett, American Public Media + Scientist and theologian John Polkinghorne applies the insights of quantum physics to religious mysteries and the evolution debate. + Science and religion are often pitted against one another; but how do they complement, rather than contradict, one another? We learn how one man applies the deepest insights of modern physics to think about how the world fundamentally works, and how the universe might make space for prayer. + 53:21 + speaking of faith, polkinghorne, polkinghorn, chaos theory, quarks, hadrons, evolution, creationism, intelligent design, science, templeton, apm, american public media, radio, program, faith, life, religion, ethics + + + + Approaching Prayer (May 22, 2008) + Americans are religious and non-religious, devout and irreverent. But in astonishing numbers, across that spectrum, most of us say that we pray. We open up the subject of prayer and explore how it sounds and what it means in three different traditions and lives. + Public Radio + http://speakingoffaith.org/programs/approachingprayer/ + + http://download.publicradio.org/podcast/speakingoffaith/20080522_approachingprayer.mp3 + Thu, 22 May 2008 12:00:00 CST + Krista Tippett, American Public Media + Anoushka Shankar, Stephen Mitchell, and Roberta Bondi open up the subject of prayer. + Americans are religious and non-religious, devout and irreverent. But in astonishing numbers, across that spectrum, most of us say that we pray. We open up the subject of prayer and explore how it sounds and what it means in three different traditions and lives. + 53:20 + speaking of faith, prayer, bondi, shankar, mitchell, jew, judaism, hasid, krista tippett, radio, faith, religion, spirituality, morality + + + + The Spirituality of Addiction and Recovery (May 15, 2008) + Alcoholics Anonymous co-founder Bill Wilson once said that the program he helped create is, "utter simplicity which encases a complete mystery." We explore the spiritual foundations of addiction and recovery with authors Kevin Griffin and Susan Cheever. Griffin reflects on the consonance of Buddhist teachings and the 12 Steps; Cheever tells her personal story and that of her father, the late fiction writer John Cheever. + Public Radio + http://speakingoffaith.org/programs/recovery/ + + http://download.publicradio.org/podcast/speakingoffaith/20080515_recovery.mp3 + Fri, 16 May 2008 04:00:00 CST + Krista Tippett, American Public Media + Buddhist teacher Kevin Griffin on the consonance of the Twelve Steps and Zen instruction; and Susan Cheever tells her personal story and that of her father, the late fiction writer John Cheever. + Alcoholics Anonymous co-founder Bill Wilson once said that the program he helped create is, "utter simplicity which encases a complete mystery." We explore the spiritual foundations of addiction and recovery with authors Kevin Griffin and Susan Cheever. Griffin reflects on the consonance of Buddhist teachings and the 12 Steps; Cheever tells her personal story and that of her father, the late fiction writer John Cheever. + 53:20 + addiction, 12 steps, big book, bill wilson, bill w, alcoholism, drug abuse, spirituality, god, christianity, buddhism, kevin griffin, susan cheever, krista tippett, speaking of faith, religion, ethics, morals, religion + + + + The Freelance Monotheism of Karen Armstrong (May 8, 2008) + Karen Armstrong speaks about her progression from a disillusioned and damaged young nun into, in her words, a "freelance monotheist." She's a formidable thinker and scholar, but as a theologian she calls herself an amateur -- noting that the Latin root of the word "amateur" means a love of one's subject. Seven years in a strict religious order nearly snuffed out her ability to think about faith at all. Here, we hear the story behind Armstrong's developing ideas about God. + Public Radio + http://speakingoffaith.org/programs/armstrong/ + + http://download.publicradio.org/podcast/speakingoffaith/20080508_armstrong.mp3 + Thu, 8 May 2008 05:00:00 CST + Krista Tippett, American Public Media + Armstrong reflects on the role of religion in the modern world, theology, poetry, and her life as a freelance monotheist. + Karen Armstrong speaks about her progression from a disillusioned and damaged young nun into, in her words, a "freelance monotheist." She's a formidable thinker and scholar, but as a theologian she calls herself an amateur -- noting that the Latin root of the word "amateur" means a love of one's subject. Seven years in a strict religious order nearly snuffed out her ability to think about faith at all. Here, we hear the story behind Armstrong's developing ideas about God. + 53:09 + karen armstrong, islam, jew, judaism, nun, christianity, jesuit, spiral staircase, krista tippett, catholic, muhammad, faith, religion, spirituality, morality + + + + Being Catholic, The Beauty and Challenge of - Hearing the Faithful (May 3, 2008) + We depart from our usual format and listen to a spectrum of lay Catholic voices on the force of this vast and ancient tradition on their lives, the way they struggle with it, the sources of their love for it. Even to be a "lapsed Catholic," we hear, is a complex state of being. + Public Radio + http://speakingoffaith.org/programs/being_catholic/ + + http://download.publicradio.org/podcast/speakingoffaith/20080501_being_catholic.mp3 + Sat, 3 May 2008 05:00:00 CST + Krista Tippett, American Public Media + Nine lay Catholic voices on their ancient tradition. + We depart from our usual format and listen to a spectrum of lay Catholic voices on the force of this vast and ancient tradition on their lives, the way they struggle with it, the sources of their love for it. Even to be a "lapsed Catholic," we hear, is a complex state of being. + 53:09 + catholic, christian, mass, doctrine, pope, vatican, benedict, christianity, abortion, choice, right to life, krista tippett, speaking of faith, religion, ethics, morals, religion + + + + Planting the Future with Wangari Maathai (April 24, 2008) + In honor of Earth Day, a riveting Kenyan environmentalist and Nobel Peace Prize Laureate, Wangari Maathai. She knows what many in the West have forgotten -- that ecological crises are often the hidden root causes of war. Maathai speaks about the global balance of human and natural resources, and she shares her thoughts on where God resides. + Public Radio + http://speakingoffaith.org/programs/plantingthefuture/ + + http://download.publicradio.org/podcast/speakingoffaith/20080424_plantingthefuture.mp3 + Thu, 24 Apr 2008 10:00:00 CST + Krista Tippett, American Public Media + Wangari Maathai on fighting for environmental awareness and women's rights in Africa. + In honor of Earth Day, a riveting Kenyan environmentalist and Nobel Peace Prize Laureate, Wangari Maathai. She knows what many in the West have forgotten -- that ecological crises are often the hidden root causes of war. Maathai speaks about the global balance of human and natural resources, and she shares her thoughts on where God resides. + 53:09 + wangari maathai, nobel peace prize, kenya, green belt movement, conservation, deforestation, feminism, poverty, catholic, kikuyu, krista tippett, ecology, environment, radio, faith, religion, spirituality, morality + + + + Evangelical Politics: Three Generations (April 17, 2008) + A passionate discussion is unfolding among Evangelical leaders and communities. Should Christians be involved in politics and if so, how? What has gone wrong, and what has been learned from the Moral Majority to today? Chuck Colson, Greg Boyd, and Shane Claiborne are three generations of Evangelicals who discuss and debate these answers. + Public Radio + http://speakingoffaith.org/programs/evangelical_politics/ + + http://download.publicradio.org/podcast/speakingoffaith/20080417_evangelicalpolitics.mp3 + Fri, 18 Apr 2008 08:00:00 CST + Krista Tippett, American Public Media + Chuck Colson, Greg Boyd, and Shane Claiborner in a public dialogue about what it means to be Evangelical today. + A passionate discussion is unfolding among Evangelical leaders and communities. Should Christians be involved in politics and if so, how? What has gone wrong, and what has been learned from the Moral Majority to today? Chuck Colson, Greg Boyd, and Shane Claiborne are three generations of Evangelicals who discuss and debate these answers. + 53:09 + evangelical, charles colson, shane claiborne, greg boyd, politics, christian, christianity, abortion, choice, right to life, krista tippett, speaking of faith, religion, ethics, morals, religion + + + + Brother Thay: A Radio Pilgrimmage with Thich Nhat Hanh (April 10, 2008) + Forcibly exiled from his native country, Zen master and poet Thich Nhat Hanh recently visited Vietnam for the first time in nearly 40 years. In 2003, Speaking of Faith took a radio pilgrimage with the Buddhist monk at a Christian conference center in a lakeside setting of rural Wisconsin. Thich Nhat Hanh offers stark, gentle wisdom for living in a world of anger and violence. Here, he discusses the concepts of engaged Buddhism, being peace, and mindfulness. + Public Radio + http://speakingoffaith.org/programs/thichnhathanh/ + + http://download.publicradio.org/podcast/speakingoffaith/20080410_thichnhathanh.mp3 + Thu, 10 Apr 2008 12:00:00 CST + Krista Tippett, American Public Media + Zen master and poet Thich Nhat Hanh offers wisdom for living in a world of anger and violence. + Forcibly exiled from his native country, Zen master and poet Thich Nhat Hanh recently visited Vietnam for the first time in nearly 40 years. In 2003, Speaking of Faith took a radio pilgrimage with the Buddhist monk at a Christian conference center in a lakeside setting of rural Wisconsin. Thich Nhat Hanh offers stark, gentle wisdom for living in a world of anger and violence. Here, he discusses the concepts of engaged Buddhism, being peace, and mindfulness. + 53:08 + thich nhat hanh, buddha, buddhism, plum village, thomas merton, engaged Buddhism, larry ward, maples, dharma, boddhisatva, monk, vietnam, viet nam, sangha, green lake conference center, krista tippett, radio, faith, religion, spirituality, morality + + + + The Spirituality of Parenting (April 3, 2008) + More and more people in our time are disconnected from religious institutions, at least for part of their lives. Others are religious and find themselves creating a family with a spouse from another tradition or no tradition at all. And the experience of parenting tends to raise spiritual questions anew. We sense that there is a spiritual aspect to our children's natures and wonder how to support and nurture that. The spiritual life, our guest says, begins not in abstractions, but in concrete everyday experiences. And children need our questions as much as our answers. + Public Radio + http://speakingoffaith.org/programs/spiritualityofparenting/ + + http://download.publicradio.org/podcast/speakingoffaith/20080403_spiritualityofparenting.mp3 + Thu, 03 Apr 2008 11:00:00 CST + Krista Tippett, American Public Media + Rabbi Sandi Sasso discusses nurturing the spiritual and moral awareness of children. + More and more people in our time are disconnected from religious institutions, at least for part of their lives. Others are religious and find themselves creating a family with a spouse from another tradition or no tradition at all. And the experience of parenting tends to raise spiritual questions anew. We sense that there is a spiritual aspect to our children's natures and wonder how to support and nurture that. The spiritual life, our guest says, begins not in abstractions, but in concrete everyday experiences. And children need our questions as much as our answers. + 53:09 + parenting, children, sandy sasso, rabbi, jew, judaism, unchurched, god, christian, christianity, stoires, krista tippett, radio, faith, religion, spirituality, morality + + + + Exploring a New Humanism (March 27, 2008) + In a recent Pew poll, 16 percent of Americans identified themselves as "unaffiliated" - atheist, agnostic, or most prominently "nothing in particular." Greg Epstein, a Humanist chaplain at Harvard, described himself that way until he discovered the tradition of humanism. He is passionate about articulating an atheist identity that is not driven by a stance against religion but by positive ethical beliefs and actions. + Public Radio + http://speakingoffaith.org/programs/new_humanism/ + + http://download.publicradio.org/podcast/speakingoffaith/20080327_new_humanism.mp3 + Thu, 27 Mar 2008 11:00:00 CST + Krista Tippett, American Public Media + Harvard Humanist chaplain Greg Epstein discusses an atheism driven by positive ethical beliefs and actions. + In a recent Pew poll, 16 percent of Americans identified themselves as "unaffiliated" - atheist, agnostic, or most prominently "nothing in particular." Greg Epstein, a Humanist chaplain at Harvard, described himself that way until he discovered the tradition of humanism. He is passionate about articulating an atheist identity that is not driven by a stance against religion but by positive ethical beliefs and actions. + 53:27 + humanism, atheism, agnostic, unchurched, harvard, greg epstein, religion, krista tippett, faith, religion, spirituality, morality + + + + SOF EXTRA (video) | Bach's Bible + Johann Sebastian Bach's compositions, Dr. Thomas Rossin says, stemmed from his private faith - a faith evidenced by Bach's handwritten notes in his Bible. Hear about the Bible's nomadic journey and its possible influence of his "Mass in B Minor" - what the late, great scholar of creeds, Jaroslav Pelikan, holds up as an example of the "best we've ever done." + Public Radio + http://speakingoffaith.publicradio.org/programs/pelikan/ss_bachsbible/ss-bachsbible.shtml#slideshow + + http://download.publicradio.org/video/speakingoffaith/20080320_pelikan_vid-bachsbible.mov + Tue, 25 Mar 2008 10:00:00 CST + Krista Tippett, American Public Media + Dr. Thomas Rossin discusses Johann Sebastian Bach's bible. + Johann Sebastian Bach's compositions, Dr. Thomas Rossin says, stemmed from his private faith - a faith evidenced by Bach's handwritten notes in his Bible. Hear about the Bible's nomadic journey and its possible influence of his "Mass in B Minor" - what the late, great scholar of creeds, Jaroslav Pelikan, holds up as an example of the "best we've ever done." + 3:47 + jaroslav pelikan, creed, prayer, masai, maasai, orthodox, nicene creed, constantine, st. augustine, krista tippett, radio, faith, religion, spirituality, morality + + + + The Need for Creeds (March 20, 2008) + For many modern Americans, the very idea of reciting an unchanging creed, composed centuries ago, is troublesome. But, Jaroslav Pelikan, who died on May 13, 2006, was a scholar who devoted his life to exploring the vitality of ancient theology and creeds. He insisted that even modern pluralists need strong statements of belief. Here, we revisit Krista's 2003 conversation with him, who, then, in his 80th year, had released a historic collection of Christian faith from biblical times to the present and from across the globe. They discuss the history and nature of creeds, and how a fixed creed can be reconciled with an honest, intellectual faith that changes and evolves. + Public Radio + http://speakingoffaith.org/programs/pelikan/ + + http://download.publicradio.org/podcast/speakingoffaith/20080320_pelikan.mp3 + Thu, 20 Mar 2008 12:00:00 CST + Krista Tippett, American Public Media + Scholar Jaroslav Pelikan discusses the modern need for strong statements of belief. + For many modern Americans, the very idea of reciting an unchanging creed, composed centuries ago, is troublesome. But, Jaroslav Pelikan, who died on May 13, 2006, was a scholar who devoted his life to exploring the vitality of ancient theology and creeds. He insisted that even modern pluralists need strong statements of belief. Here, we revisit Krista's 2003 conversation with him, who, then, in his 80th year, had released a historic collection of Christian faith from biblical times to the present and from across the globe. They discuss the history and nature of creeds, and how a fixed creed can be reconciled with an honest, intellectual faith that changes and evolves + 53:27 + jaroslav pelikan, creed, prayer, masai, maasai, orthodox, nicene creed, constantine, st. augustine, krista tippett, radio, faith, religion, spirituality, morality + + + + + Liberating the Founders (March 13, 2008) + Warning: this conversation may not mirror what you learned in school. The culture wars of recent years, journalist Steven Waldman says, hijacked Americans' understanding of the country's founders and of the meaning of religious liberty. This hinders people from grasping what is really at stake in the current debates about the relationship between government and religion. It may even distort the wisdom we might bring to young democracies around the world. + Public Radio + http://speakingoffaith.org/programs/liberating_the_founders/ + + http://download.publicradio.org/podcast/speakingoffaith/20080313_liberating_the_founders.mp3 + Wed, 12 Mar 2008 10:30:00 CST + Krista Tippett, American Public Media + Journalist Steven Waldman discusses the American founding fathers' views on government and religion. + Warning: this conversation may not mirror what you learned in school. The culture wars of recent years, journalist Steven Waldman says, hijacked Americans' understanding of the country's founders and of the meaning of religious liberty. This hinders people from grasping what is really at stake in the current debates about the relationship between government and religion. It may even distort the wisdom we might bring to young democracies around the world. + 53:27 + founding fathers, church, state, religion, james madison, thomas jefferson, steven waldman, government, liberty, democracy + + + + SOF EXTRA (video) | Beannacht + Shortly before his death in 2008, the late Irish poet John O'Donohue recited his poem "Beannacht", meaning blessing, during an interview with Krista Tippett. We've woven his close friends' photographs of him in his Celtic landscapes with this reading. Produced by Colleen Scheck and Trent Gilliss. + Public Radio + http://speakingoffaith.org/programs/john_odonahue/ss_beannacht/ss-beannacht.shtml#slideshow + + http://download.publicradio.org/video/speakingoffaith/20080228_john-odonohue_slideshow-beannacht.mov + Mon, 10 Mar 2008 10:00:00 CST + Krista Tippett, American Public Media + John O'Donohue reads Beannacht with images of his Celtic landscape + Shortly before his death in 2008, the late Irish poet John O'Donohue recited his poem "Beannacht", meaning blessing, during an interview with Krista Tippett. We've woven his close friends' photographs of him in his Celtic landscapes with this reading. Produced by Colleen Scheck and Trent Gilliss. + 1:18 + john o'donohue, poem, poetry, beannacht, anam cara, celtic, gaelic, ireland, irish, burren, krista tippett, speaking of faith, religion + + + + A New Voice for Islam (March 6, 2008) + Ingrid Mattson, the first woman and first convert to lead the Islamic Society of North America, describes her experience of Islamic spirituality, which she discovered in her twenties after a Catholic upbringing. We probe her unusual perspective on a tumultuous age for Islam in the West and around the world. + Public Radio + http://speakingoffaith.publicradio.org/programs/newvoice/index.shtml + + http://download.publicradio.org/podcast/speakingoffaith/20080306_newvoice.mp3 + Thu, 6 Mar 2008 13:00:00 CST + Krista Tippett, American Public Media + Muslim leader Ingrid Mattson discusses the future of Islam + Ingrid Mattson, the first woman and first convert to lead the Islamic Society of North America, describes her experience of Islamic spirituality, which she discovered in her twenties after a Catholic upbringing. We probe her unusual perspective on a tumultuous age for Islam in the West and around the world. + 53:27 + ingrid mattson, islam, muslim, islamic society of north america, salat, allah, krista tippett, faith, religion, spirituality, morality + + + + The Inner Landscape of Beauty (February 28, 2008) + John O'Donohue was an Irish poet and philosopher beloved for his book "Anam Cara" — Gaelic for "soul friend" — and for his insistence on beauty as a human calling and a defining aspect of God. Before his untimely death this year, he spoke with Krista in our studios. And so this hour has become a remembrance of him. But John O'Donohue had a very Celtic, lifelong fascination with what he called "the invisible world." And he would also surely see this also as a serendipitous continuation of his life's work — of bringing ancient Celtic wisdom to modern confusions and longings. + Public Radio + http://speakingoffaith.org/programs/john_odonahue/index.shtml + + http://download.publicradio.org/podcast/speakingoffaith/20080228_john-odonohue.mp3 + Sat, 1 Mar 2008 16:30:00 CST + Krista Tippett, American Public Media + Irish poet John O'Donohue on beauty and friendship + John O'Donohue was an Irish poet and philosopher beloved for his book Anam Cara — Gaelic for "soul friend" — and for his insistence on beauty as a human calling and a defining aspect of God. Before his untimely death this year, he spoke with Krista in our studios. And so this hour has become a remembrance of him. But John O'Donohue had a very Celtic, lifelong fascination with what he called "the invisible world." And he would also surely see this also as a serendipitous continuation of his life's work — of bringing ancient Celtic wisdom to modern confusions and longings. + 53:05 + john o'donohue, poetry, ireland, irish, celtic, gaelic, priest, christianity, beauty, landscape, god, speaking of faith, krista tippett, religion, faith, spirituality + + + + SOF EXTRA (audio) | [8 of 8] Poem: "The Nativity" + Interviewed shortly before his death, the Irish poet John O'Donohue recited several of his poems during his conversation with Krista. "The Nativity" is the eighth of eight poems that provide a preview of their conversation in The Inner Landscape of Beauty. + Public Radio + http://speakingoffaith.publicradio.org/programs/john-odonohue/index.shtml + + http://download.publicradio.org/podcast/speakingoffaith/odonohue_poems/odonohue_08_nativity.mp3 + Sat, 23 Feb 2008 15:30:00 CST + Krista Tippett, American Public Media + [8 of 10] Poem: "The Nativity" + Interviewed shortly before his death, the Irish poet John O'Donohue recited several of his poems during his conversation with Krista. "The Nativity" is the eighth of eight poems that provide a preview of their conversation in The Inner Landscape of Beauty. + 0:57 + john o'donohue, poetry, ireland, irish, celtic, gaelic, priest, christianity, beauty, landscape, god, speaking of faith, krista tippett, religion, faith, spirituality + + + + SOF EXTRA (audio) | [7 of 8] Poem: "Since You Came" + Interviewed shortly before his death, the Irish poet John O'Donohue recited several of his poems during his conversation with Krista. "Since You Came" is the seventh of eight poems that provide a preview of their conversation in The Inner Landscape of Beauty. + Public Radio + http://speakingoffaith.publicradio.org/programs/john-odonohue/index.shtml + + http://download.publicradio.org/podcast/speakingoffaith/odonohue_poems/odonohue_07_since-you-came.mp3 + Sat, 23 Feb 2008 15:30:00 CST + Krista Tippett, American Public Media + [7 of 10] Poem: "Since You Came" + Interviewed shortly before his death, the Irish poet John O'Donohue recited several of his poems during his conversation with Krista. "Since You Came" is the seventh of eight poems that provide a preview of their conversation in The Inner Landscape of Beauty. + 0:53 + john o'donohue, poetry, ireland, irish, celtic, gaelic, priest, christianity, beauty, landscape, god, speaking of faith, krista tippett, religion, faith, spirituality + + + + SOF EXTRA (audio) | [6 of 8] Poem: "For the Pilgrim a Kiss: Body Language" + Interviewed shortly before his death, the Irish poet John O'Donohue recited several of his poems during his conversation with Krista. "For the Pilgrim a Kiss: Between Things" is the sixth of eight poems that provide a preview of their conversation in The Inner Landscape of Beauty. + Public Radio + http://speakingoffaith.publicradio.org/programs/john-odonohue/index.shtml + + http://download.publicradio.org/podcast/speakingoffaith/odonohue_poems/odonohue_06_for-the-pilgrim3.mp3 + Sat, 23 Feb 2008 15:30:00 CST + Krista Tippett, American Public Media + [6 of 10] Poem: "For the Pilgrim a Kiss: Body Language" + Interviewed shortly before his death, the Irish poet John O'Donohue recited several of his poems during his conversation with Krista. "For the Pilgrim a Kiss: Between Things" is the sixth of eight poems that provide a preview of their conversation in The Inner Landscape of Beauty. + 1:27 + john o'donohue, poetry, ireland, irish, celtic, gaelic, priest, christianity, beauty, landscape, god, speaking of faith, krista tippett, religion, faith, spirituality + + + + SOF EXTRA (audio) | [5 of 8] Poem: "For the Pilgrim a Kiss: Between Things" + Interviewed shortly before his death, the Irish poet John O'Donohue recited several of his poems during his conversation with Krista. "For the Pilgrim a Kiss: Between Things" is the fifth of eight poems that provide a preview of their conversation in The Inner Landscape of Beauty. + Public Radio + http://speakingoffaith.publicradio.org/programs/john-odonohue/index.shtml + + http://download.publicradio.org/podcast/speakingoffaith/odonohue_poems/odonohue_05_for-the-pilgrim2.mp3 + Sat, 23 Feb 2008 15:30:00 CST + Krista Tippett, American Public Media + [5 of 10] Poem: "For the Pilgrim a Kiss: Between Things" + Interviewed shortly before his death, the Irish poet John O'Donohue recited several of his poems during his conversation with Krista. "For the Pilgrim a Kiss: Between Things" is the fifth of eight poems that provide a preview of their conversation in The Inner Landscape of Beauty. + 1:08 + john o'donohue, poetry, ireland, irish, celtic, gaelic, priest, christianity, beauty, landscape, god, speaking of faith, krista tippett, religion, faith, spirituality + + + + SOF EXTRA (audio) | [4 of 8] Poem: "For the Pilgrim a Kiss: The Caha River" + Interviewed shortly before his death, the Irish poet John O'Donohue recited several of his poems during his conversation with Krista. "For the Pilgrim a Kiss: The Caha River" is the fourth of eight poems that provide a preview of their conversation in The Inner Landscape of Beauty. + Public Radio + http://speakingoffaith.publicradio.org/programs/john-odonohue/index.shtml + + http://download.publicradio.org/podcast/speakingoffaith/odonohue_poems/odonohue_04_for-the-pilgrim1.mp3 + Sat, 23 Feb 2008 15:30:00 CST + Krista Tippett, American Public Media + [4 of 10] Poem: "For the Pilgrim a Kiss: The Caha River" + Interviewed shortly before his death, the Irish poet John O'Donohue recited several of his poems during his conversation with Krista. "For the Pilgrim a Kiss: The Caha River" is the fourth of eight poems that provide a preview of their conversation in The Inner Landscape of Beauty. + 0:50 + john o'donohue, poetry, ireland, irish, celtic, gaelic, priest, christianity, beauty, landscape, god, speaking of faith, krista tippett, religion, faith, spirituality + + + + SOF EXTRA (audio) | [3 of 8] Poem: "Beannacht" + Interviewed shortly before his death, the Irish poet John O'Donohue recited several of his poems during his conversation with Krista. "Beannacht" is the third of eight poems that provide a preview of their conversation in The Inner Landscape of Beauty. + Public Radio + http://speakingoffaith.publicradio.org/programs/john-odonohue/index.shtml + + http://download.publicradio.org/podcast/speakingoffaith/odonohue_poems/odonohue_03_beannacht.mp3 + Sat, 23 Feb 2008 15:30:00 CST + Krista Tippett, American Public Media + [3 of 10] Poem: "Beannacht" + Interviewed shortly before his death, the Irish poet John O'Donohue recited several of his poems during his conversation with Krista. "Beannacht" is the third of eight poems that provide a preview of their conversation in The Inner Landscape of Beauty. + 1:01 + john o'donohue, poetry, ireland, irish, celtic, gaelic, priest, christianity, beauty, landscape, god, speaking of faith, krista tippett, religion, faith, spirituality + + + + SOF EXTRA (audio) | [2 of 8] Poem: "A Blessing for One Who Holds Power" + Interviewed shortly before his death, the Irish poet John O'Donohue recited several of his poems during his conversation with Krista. "A Blessing for One Who Holds Power" is the second of eight poems that provide a preview of their conversation in The Inner Landscape of Beauty. + Public Radio + http://speakingoffaith.publicradio.org/programs/john-odonohue/index.shtml + + http://download.publicradio.org/podcast/speakingoffaith/odonohue_poems/odonohue_02_blessing-for-one.mp3 + Sat, 23 Feb 2008 15:30:00 CST + Krista Tippett, American Public Media + [2 of 10] Poem: "A Blessing for One Who Holds Power" + Interviewed shortly before his death, the Irish poet John O'Donohue recited several of his poems during his conversation with Krista. "A Blessing for One Who Holds Power" is the second of eight poems that provide a preview of their conversation in The Inner Landscape of Beauty. + 1:23 + john o'donohue, poetry, ireland, irish, celtic, gaelic, priest, christianity, beauty, landscape, god, speaking of faith, krista tippett, religion, faith, spirituality + + + + SOF EXTRA (audio) | [1 of 8] Poem: "A Blessing for a Friend on the Arrival of Illness" + Interviewed shortly before his death, the Irish poet John O'Donohue recited several of his poems during his conversation with Krista. "A Blessing for a Friend on the Arrival of Illness" is the first of eight poems that provide a preview of their conversation in The Inner Landscape of Beauty. + Public Radio + http://speakingoffaith.publicradio.org/programs/john-odonohue/index.shtml + + http://download.publicradio.org/podcast/speakingoffaith/odonohue_poems/odonohue_01_blessing-for-a-friend.mp3 + Sat, 23 Feb 2008 15:30:00 CST + Krista Tippett, American Public Media + [1 of 10] Poem: "A Blessing for a Friend on the Arrival of Illness" + Interviewed shortly before his death, the Irish poet John O'Donohue recited several of his poems during his conversation with Krista. "A Blessing for a Friend on the Arrival of Illness" is the first of eight poems that provide a preview of their conversation in The Inner Landscape of Beauty. + 2:22 + john o'donohue, poetry, ireland, irish, celtic, gaelic, priest, christianity, beauty, landscape, god, speaking of faith, krista tippett, religion, faith, spirituality + + + + Whale Songs and Elephant Loves (February 21, 2008) + Katy Payne is an acoustic biologist with a Quaker sensibility. In a career that has spanned the wild coast of Argentina and the rainforests of Africa, she discovered that humpback whales compose ever-changing songs; and that elephants communicate across long distances by way of sounds beyond the realm of human hearing. She reflects on life in this world through listening to two of its largest and most mysterious creatures. + Public Radio + http://speakingoffaith.org/programs/whalesongs/index.shtml + + http://download.publicradio.org/podcast/speakingoffaith/20080221_whalesongs.mp3 + Thu, 21 Feb 2008 13:30:00 CST + Krista Tippett, American Public Media + Katy Payne on listening and humanity + Our guest, Katy Payne, is an acoustic biologist with a Quaker sensibility. In a career that has spanned the wild coast of Argentina and the rainforests of Africa, she discovered that humpback whales compose ever-changing songs; and that elephants communicate across long distances by way of sounds beyond the realm of human hearing. She reflects on life in this world through listening to two of its largest and most mysterious creatures. + 53:00 + whales, elephants, humpback, africa, culling, conservation, song, quaker, christian, krista tippett, faith, radio, religion, spirituality, tippet + + + + + No More Taking Sides (February 14, 2008) + Robi Damelin lost her son David to a Palestinian sniper. Ali Abu Awwad lost his older brother Yousef to an Israeli soldier. But, instead of clinging to traditional ideologies and turning their pain into more violence, they've decided to understand the other side -- Israeli and Palestinian -- by sharing their pain and their humanity. They tell of a gathering network of survivors who share their grief, their stories of loved ones, and their ideas for lasting peace. They don't want to be right; they want to be honest. + Public Radio + http://speakingoffaith.org/programs/nomore/index.shtml + + http://download.publicradio.org/podcast/speakingoffaith/20080214_nomore.mp3 + Fri, 15 Feb 2008 06:00:00 CST + Krista Tippett, American Public Media + An Israeli and a Palestinian share stories of grief, love, and solutions + Robi Damelin lost her son David to a Palestinian sniper. Ali Abu Awwad lost his older brother Yousef to an Israeli soldier. But, instead of clinging to traditional ideologies and turning their pain into more violence, they've decided to understand the other side -- Israeli and Palestinian -- by sharing their pain and their humanity. They tell of a gathering network of survivors who share their grief, their stories of loved ones, and their ideas for lasting peace. They don't want to be right; they want to be honest. + 53:00 + judaism, islam, muslim, jew, israel, palestine, robi damelin, ali abu awaad, sniper, conflict, holy land, killing, checkpoints, holocaust, south africa, christian, divestment, krista tippett, faith, radio, religion, spirituality, tippet + + + + Reflections of a British Muslim Extremist (February 7, 2008) + British activist Ed Husain was seduced, at the age of 16, by revolutionary Islamist ideals that flourished at the heart of educated British culture. Yet he later shrank back from radicalism after coming close to a murder and watching people he loved become suicide bombers. He dug deeper into Islamic spirituality, and now offers a fresh and daring perspective on the way forward. + Public Radio + http://speakingoffaith.org/programs/britishradical/index.shtml + + http://download.publicradio.org/podcast/speakingoffaith/20080207_britishradical.mp3 + Thu, 7 Feb 2008 08:30:00 CST + Krista Tippett, American Public Media + Ed Husain on radical Muslim fundamentalism in the UK + British activist Ed Husain was seduced, at the age of 16, by revolutionary Islamist ideals that flourished at the heart of educated British culture. Yet he later shrank back from radicalism after coming close to a murder and watching people he loved become suicide bombers. He dug deeper into Islamic spirituality, and now offers a fresh and daring perspective on the way forward. + 53:00 + muslim, extremist, fundamentalist, islam, islamism, ed husain, hizb ut-tahrir, england, great britain, terrorism, east london mosque, the islamist, muhammad, god, speaking of faith, krista tippett, religion, faith, spirituality + + + + SOF EXTRA (video) | A Musical Evening with Krista Tippett + Krista Tippett gives a live performance on April 5, 2007 at the Fitzgerald Theater in downtown St. Paul, Minnesota. Accompanied by Dan Chouinard and Marc Anderson, she reads from her 2007 book, titled "Speaking of Faith: Why Religion Matters--and How to Talk About It." + + Yes, we're a radio program, but sometimes the visual helps -- especially when trying to envision the exotic instruments in the background! + Public Radio + http://speakingoffaith.org/programs/rememberingforward/soundseen_video-stream640.shtml + + http://download.publicradio.org/video/speakingoffaith/20070607_rememberingforward-video_stream320-300.mov + Wed, 06 Feb 2008 15:00:00 CST + Krista Tippett, American Public Media + Krista Tippett's live performance at the Fitzgerald Theater + Krista Tippett gives a live performance on April 5, 2007 at the Fitzgerald Theater in downtown St. Paul, Minnesota. Accompanied by Dan Chouinard and Marc Anderson, she reads from her 2007 book, titled "Speaking of Faith: Why Religion Matters--and How to Talk About It." + + Yes, we're a radio program, but sometimes the visual helps -- especially when trying to envision the exotic instruments in the background! + 59:37 + krista tippett, speaking of faith, religion, memoir, st. paul, fitzgerald theater, live performance + + + + Remembering Forward (January 31, 2008) + Before a live audience at the Fitzgerald Theater in St. Paul, Minnesota, Krista reads from her book, "Speaking of Faith." She traces the intersection of human experience and religious ideas in her own life, just as she asks her guests to do each week. Krista reflects on her adventure of conversation across the world's traditions -- and on the whole story of religion in human life, beyond the headlines of violence. + Public Radio + http://speakingoffaith.org/programs/rememberingforward/index.shtml + + http://download.publicradio.org/podcast/speakingoffaith/20080131_rememberingforward.mp3 + Thu, 31 Jan 2008 08:30:00 CST + Krista Tippett, American Public Media + Krista Tippett reflects on her conversations in a live performance + Before a live audience at the Fitzgerald Theater in St. Paul, Minnesota, Krista reads from her book, "Speaking of Faith." She traces the intersection of human experience and religious ideas in her own life, just as she asks her guests to do each week. Krista reflects on her adventure of conversation across the world's traditions -- and on the whole story of religion in human life, beyond the headlines of violence. + 53:00 + krista tippett, live performance, fitzgerald theater, speaking of faith, tippet, faith, radio, religion, spirituality, christianity, ethics, morality + + + + SOF EXTRA (audio) | Unedited Interview with Douglas Johnston + In this edition of SOF Unheard Cuts, Krista interviewed Douglas Johnston, president and founder of the International Center for Religion and Diplomacy. We're making the entire, unedited conversation available for the first time. Here's your chance to observe the editorial process and let us know what you think. + Public Radio + http://speakingoffaith.publicradio.org/programs/diplomacyandreligion/index.shtml + + http://download.publicradio.org/podcast/speakingoffaith/20080103_diplomacyandreligion_uc-johnston.mp3 + Wed, 30 Jan 2008 12:00:00 CST + Krista Tippett, American Public Media + Krista's unedited interview with Douglas Johnston on religion and diplomacy + n this edition of SOF Unheard Cuts, Krista interviewed Douglas Johnston, president and founder of the International Center for Religion and Diplomacy. We're making the entire, unedited conversation available for the first time. Here's your chance to observe the editorial process and let us know what you think. + 1:23:34 + unheard cuts, religious freedom, douglas johnston, foreign policy, interfaith, iran, sudan, christian, krista tippett, faith, radio, religion, spirituality, tippet + + + + Inside Mormon Faith (January 24, 2008) + Americans have been hearing about Mormonism in the context of the presidential campaign. But we're learning about this faith of 13 million people indirectly, by way of rhetoric and defense. In this program, we avoid well-trodden, controversial ground and seek an understanding of some doctrinal and spiritual basics of the Church of Jesus Christ of Latter-day Saints. Robert Millet, a leading scholar of the church and a lifelong practitioner, describes a developing young religion with distinct mystical and practical interpretations of the nature of God, family, and eternity. + Public Radio + http://speakingoffaith.org/programs/insidemormonfaith/index.shtml + + http://download.publicradio.org/podcast/speakingoffaith/20080124_insidemormonfaith.mp3 + Thu, 24 Jan 2008 12:15:00 CST + Krista Tippett, American Public Media + Robert Millet on Mormonism + Americans have been hearing about Mormonism in the context of the presidential campaign. But we're learning about this faith of 13 million people indirectly, by way of rhetoric and defense. In this program, we avoid well-trodden, controversial ground and seek an understanding of some doctrinal and spiritual basics of the Church of Jesus Christ of Latter-day Saints. Robert Millet, a leading scholar of the church and a lifelong practitioner, describes a developing young religion with distinct mystical and practical interpretations of the nature of God, family, and eternity. + 53:00 + mormon, latter-day saints, utah, joseph smith, brigham young, christian, jesus, eternal families, god, robert millett, speaking of faith, krista tippett, religion, faith, spirituality + + + + Discovering Where We Live: Reimagining Environmentalism (January 17, 2008) + Environmentalism and climate change are hot topics; yet they're still often imagined as the territory of scientists, expert activists, and those who can afford to be environmentally conscious. We discover two people who are transforming the ecology of their immediate worlds: biologist Calvin DeWitt in Dunn, Wisconsin and Majora Carter in New York's South Bronx. + Public Radio + http://speakingoffaith.org/programs/discoveringwherewelive/index.shtml + + http://download.publicradio.org/podcast/speakingoffaith/20080117_discoveringwherewelive.mp3 + Thu, 17 Jan 2008 06:15:00 CST + Krista Tippett, American Public Media + Majora Carter and Calvin DeWitt on making environmentalism relevant + Environmentalism and climate change are hot topics; yet they're still often imagined as the territory of scientists, expert activists, and those who can afford to be environmentally conscious. We discover two people who are transforming the ecology of their immediate worlds: biologist Calvin DeWitt in Dunn, Wisconsin and Majora Carter in New York's South Bronx. + 53:00 + environment, environmentalism, ecology, majora carter, cal dewitt, south bronx, dunn, christian, evangelical, urban heat island, marsh, reclamation, krista tippett, faith, radio, religion, spirituality, tippet + + + + Mathematics, Purpose, and Truth (January 10, 2008) + As a theoretical physicist, Janna Levin probes whether the universe is finite or infinite. As a novelist, she explored the separate but parallel lives of two influential 20th-century scientists: Kurt Godel and Alan Turing. Their work laid the foundations for computer intelligence while challenging fundamental notions about how we can know what is true. + Public Radio + http://speakingoffaith.org/programs/mathandtruth/index.shtml + + http://download.publicradio.org/podcast/speakingoffaith/20080110_mathandtruth.mp3 + Thu, 10 Jan 2008 13:15:00 CST + Krista Tippett, American Public Media + Janna Levin on Godel, Turing, and the paradox of truth + As a theoretical physicist, Janna Levin probes whether the universe is finite or infinite. As a novelist, she explored the separate but parallel lives of two influential 20th-century scientists: Kurt Godel and Alan Turing. Their work laid the foundations for computer intelligence while challenging fundamental notions about how we can know what is true. + 53:00 + janna levin, physics, logic, kurt godel, alan turing, science, truth, math, mathematics, god, speaking of faith, krista tippett, religion, faith, spirituality + + + + Diplomacy and Religion in the 21st Century (January 3, 2008) + The greatest threat in the post-Cold War world, says Douglas Johnston, is the prospective marriage of religious extremism with weapons of mass destruction. Yet the U.S. spends most of its time, resources, and weapons fighting the symptoms of this threat, not the cause. The diplomacy of the future, he is showing, must engage religion as part of the strategic solution to global conflicts. + Public Radio + http://speakingoffaith.org/programs/diplomacyandreligion/index.shtml + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.12 (GNU/Linux) + +iJwEAQECAAYFAlG4cEsACgkQQkaUm9rcOLARXAP/eAIvBVdPu8fTil/QUgLxfWT8 +fGR91EEIJpID0HP1l9Xj5ci5KV2SquC+090VnGaWokCH+LA+FEw+24Ku7lovJdXl +zuwMuqhHLM3pdZz5FoxXZy9i0BjkMiI4+g3dKED6INE8xGEaWrOy9KF3DYNFgYRO +iYoCHZSwGru6MuLIzLg= +=5qUc +-----END PGP SIGNATURE----- diff -Nru shared-mime-info-1.15/tests/mime-detection/COPYING-encrypted.asc shared-mime-info-2.0/tests/mime-detection/COPYING-encrypted.asc --- shared-mime-info-1.15/tests/mime-detection/COPYING-encrypted.asc 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/COPYING-encrypted.asc 2020-05-06 14:11:14.146908000 +0000 @@ -0,0 +1,152 @@ +-----BEGIN PGP MESSAGE----- +Version: GnuPG v1.4.12 (GNU/Linux) + +hIwDUxxPnf3cquIBA/9gE1E4nteGKtPhuuQdg03rkbs93Ge/RIkoYeq4nV5QdzcE +q8nD5VHxcOOGtnTpQmLeFJ4TVtsWLJqJCii4kG6ym17Jqf+t4wKW4bUOr2TMuoGS +pH771Q+Ue40WglQiM6md1GAG4lHX1ds0vRKvlwZ1U/MtT7wHNXqvgBO6c47aaNLs +ATspe/dn1YPmsKh66yWdyyRyjAvxKCOLakshmXP7+StGlKXk+jST7HYueA35BvRz +eQrhp89dtM5+d9aZDRrVmR0QJJ4Zu6JAL8JN0mBwdcdqY9lw0X4oxVaroDMqvHdD +/nSCQ2NJX7nVxyG8+B3CmT8XzUIg/eWMdC3mpcdFhDYd4C4BgPIpvPM7s3JhKocd +IdvvFEHOQH/U69LRyAmtyIWgcC507UMa1/ZtfFHo+5D8EvPdOVoaaqmLtnIrFb+H +dGOLrH7eOZXYXUFSFBiQc50pM2oGr+gKWabjTyXWD938MkWOlMsAAPINC5pwxyay +YCj1Jppe+J1u3JmsO62Shwnc7ig1wGmQDqezObP/CxcWVWaaA4GUhm6bj4wl1yOd +PLAeSKXyXzYgeK1NW9evIONWaWq6XzwigLDVM3ASt+ot/0tQ4b9yspXFd3mIwxdq +SKJBs/6zbH4uYJlUs0izDBTLamx3s1mGFk0iJAZRj3xa47TXET7fWA2VqJi2haQF +NGi2tQmlJ+vehmvUhLf8PK2+ZOlmai/JoYQ52U/h6pKfdiRNGYvszQ+jz26bDu7v +VwDaD1IQiLp/7UVNrAYCZSOBb9MUElKP7sfiv0caQRLC2RDyn8GAbrH4tDrpbODv +8ttklQiklYWUdI1jg6C4+6FbaKtdC1M6gXXmZYiYT6nHSOk0ABJQNFCL+NNLAG08 +qJQsDfQezMuH0lGV1Vlzhs8Z0zs2dPVtzS0RHcDxjnVgnUrG3ur5U0xqqwE75YZ/ +gs+dL/wzwFAaM2pl8wqzOf3YMWfRo15hhzWM2mA4QNfo98FOG9kttIQHUYRLtiHw +4XINboSctK+DFBYJlPWvTQU7onr+HDeKKqhddp1suCnJNZok2Igx9C4QJe6StZsW +Zlk5rMHawez3PSX/jhUQtncZpPE7o1X/i6N9J1bQepPtwU4xInw20iS0IcdgnYIp +ZwJRMn8NbUj6P6RAms6tjETJd3AwX8iWNr098rrg2RX4oNucMvYy/ZvgC2qvw1Ic +cbDibYKOw/ihrIsnizv7S5XR6oYwGqvZnihi0RRh8iCF+GMOVyYKu0OAZ1DDwcp7 +DxPgHBkZfSKHrbaigSjhMr6ti30mZ03wJKJentTdIjsWuJzAb7fgueCR7OsHfKaO +gh7FOMov8zTWV3Xz714DGVWmPpJj02nRuScHZohKFk/TnW7ZGhQ/fIHf/fp0Rmwz +HylIWQiRoMcNPjiEiXjWrhNHKZXTpL7d+a1J88jRBqErdN49T4aenVhDdpvmPdix +qqUe0b7H6MW0UlZ/yYJIH6vTl7+eG36HccD6jTK7JIqMOCiF0gU7Sz4SrSblEjz0 +iclDQUML9WzC2pKKSDEkgL2xTDmmoBVsrT6P8Of/L9In6JSMNSNKqpBcWXqLshFM +rvnej3jn48RPoC1pORs2/Suwemg80khgPP9W/TlYJ3jrkiWAqxPKcfsWlK42IlRU +gDrqK3v1U71RHwtTJyUVH3nKq3k1eoxRDDKetIn2At5KulS6Qo9+limEz5VndPp0 +53R2hxkZQjM4VODou1hap1tFj0N6+KiO5QMLLY+0uVLlV/LOul7eOEL07ZEWlMQp +vcH1GEvMetfyZy48ujnpvod48Ov2wm6EwUmMeWDYFECpXrp5sHCNppmbhMygsYxs +PvZMA59yEzUu9UHR765ORhjIoffSuIykJdlGvvRbduEvKw6qM/4deXY5bR1S2A+G +pValQi4gsvB7SKMZALlXBj0LwaoSb0BO3wA2xXD2mjeQLeUZWzsIhj18ErNGa0tl +c1bqFULwZfys8vusK/q7mxw9hzCELqJW0zcaKFDTqx7I3uJG9zudwX+l4U6roCzP +yusLmG6rcX/fX0+7kocDqXhZRHjGhCZGsHG1lWDekvVM17WQVqlS+ItKInwJirxR +CLO8MghOMfh86rtSdELX++pgVtMxkjLyMuUiVZIYqk1Vsb1YsaMb7mFG8ahCk4Df +yJaRC7VDhS2byUN4te4m5mnHzcdOJ7JINZ43wzouPkawEnXIoO5uEjPcql/Nkw9s +rTRddXT81aEUQEDLfB15nv859Sxowjvgm7xsEO7+6fschXqargmnyx3K80R1NICF +6w+IX7qWkdva2E/f1hper2JN86gWGZHwhl2gE4ZriAvk9dpo0nG3fQIRS45S1eEI +r6foIs9nfkoVqOpotg1xbD/k/Os9XxeaD75Uuv7DeV9gvRMar4D9RmhxFVw9ROu4 +HBh7wGKzJ4KDY/dEB8bqVAS2FmQPJymGB0RR/RH8NXEj/SkvA33gNMizvZlqNnrj +3bscYcWBEvlM+e8xXFefKDnvfMUyZR+rKFzBimzfPvayF9Jj6EaD4Tj+Dp7zbYas +VHK9tC/luYaWQtimIJa33DXPrAoaaeaY6WbHTNgaprzrnIdC9DTRShLz54FNlmps +r7np8ugxM7TdWlM8Vj/OmFLDpkTyWjiTApgrZct/gzHOW7M5SHMx1G2zsucuC3gD +zut7pYTlON8zzlZtlofusDPG5//QRWIoCGnKd+ClQ4QkYOiqr66clWYNqVr4ZqcT +sL4DogNUFTY41sYKQbbavlY/I7btUdaA21jp4fHIQZn7DERp3ydlAx79covNzJ6x +gS6WzLCF+RvdISoF3pEHCfLYV+ahwa/eYuFnt4j0JML25qk+atgP5SclyrbPC2vn +WrjJQqbxM8q2up2T8212SjX+Yg+DNAwdz7qgzoP4wg88D6zct7dFuvBQEiKSSnJx +0a+WjEnn940j7ycEi6Aw6zX+jmUHSaUYjoakPZWv0j4XUsLcUs4h+M7moOSwXe52 +jFGSlGBz/GJFWVTRUffHheZCoM1sQPuBag218zyQLDbPt7k5egqzTN9IfD+8hpNM +zM5xMiz18o3cBIAT7MzdWmtXauQzur46zdeozOFissdrxAxLVbBOWk7a2Xe1qZUs +mXKX4DugGlPa9ggBXCQRnyKUPZ37RWqatwOKyEIC3PnmIEFMiyQ0dfJA4iB25uux +MlblkbbpyTY7qMQzn2inddSNCAaALWvZMBDBIXrZb0PLj5ObKWkOzA+0DNuybGtE +YpvbeMC8PK3ap+Xl5wtJtDmFYQI5T3a1UDEqSQo4fFfuoFsZc7Jb3mOewdyfnz08 +nncuXWWUlR3r9hlcs6K3gNmSbQMuONGpFpdUBqGk1s/qwmfTAPprWlN5bTc3w6hP +QmgS9Jxhn7SCs1CImpkQxcc4RNI66aU8qo8qOM/YYyret/QGMZgxR/zrQZGnb7et +DaKTxJsYN2VOrybCqLa52t6HxFjtgx1rZBz3xuNv3WS/V4NXnKcTQiJMKw2Z7Eke +kEJ2Nuq9xbdWzb/DB7jIPCts+vTYCDFPmJplbCDeuKYSgVKlK5g27TuohDw2vCkG +591uN29pgCXmYWmLCQk5u9ZceidEu61gIAkRZkv2PK+2sPmWlHP37wuCVrhzAH3u +OZF2kqxGNbe3r4mhWUyLUoJcLpiU1lKVDwIp3vYxNtlVv0/3ku4Dtjs6lokEpEsU +zfDGxP3CcFpSEa2GZeBsHbXs5npBxtBHXlcUu1CzzV9GyREKwEaByYpmpahPxMko +A2UOjJLXJuJm8vy2BWrGt5eR+NIjZDL/weokOp7/jA6FaQjb5+l3m4la0S6QEuyl +GQvi2b9V74S7/mXz/DtinYNZCA6pukJEmJW4kxi6G4wigm5fXqNO77MiusSstOdW +lvWJNIC8rZDD53EOjeLIT6DuHxq3W19q/hlJnVNLvZ9V/5L7bxXAAT8EwJQVKWqQ +XZGtlUV9//GPU1hH1UMFFbl4KRsXAlso/qQGHidXjogQF3XY/31UGyvE5WbK0tYD +je1Zj/MAQo8gNjX9pcFMnNrsA4Iallg7j/EVUfUTCxocQN+9FmwcnigA5gxhuYhq +i50VsIDd1sLXCl/T0OsHwDy7Y7at3wukMaa/rGJfayHl4dmP5wfX/8H7ncAG9t2H +xEkByWvMFTP+UdMuurAscZvQ0RTOf32rFuhx0JspIqmHoJ8eu8BoEuu4gA4GWarK +LH+W+WNctj2EbNcA2zsVl6BVSbRre7iNRB0Ge9I27A4E9s9ANJ6b9/cCAfO3OI6u +zYQwGbcnXW/XbMaI/YNuqrh66azkx3hy4rX+/EK6YlW5cqH9khGf0i1vKZKssrYU +Ff9C1UsYse4QGG1nK4z0dhjctFhEmGxRK00Cl4dPUJKDN+dvsGbD2lJx0aPEFS/V +m94Vy5aNEkJx0cdorVNJfxYJO5JqF4uW+Gdlw7qBniwatCB/vR1pHL7thqPgRvrv +cckW+uQ49Vph4vqqBshaQtVpm/CT42ggDhucM42rzEzv//CDcnqr6cbveU7WywNK +B61sBCx0rrixphOlk1xFRTWhyWQrGBmJCgFS9JMD9/QbewPZJv/t06gZJqJBPzJ7 +g6w02AHmn38bYVqg3hYIIlQPtc3THpvBaM83y/A5UCdrNhLYz+LO6OMWvnTBFWZ0 +IW+13UNZI/m2WHKmo9lL4hcGa1IrERKdEIoEcAY6K1OYO+z2sRVggNDEcv96disL +1zgIuPW63sJEQQHXVofDpIvebEsRhUe3FWs/7Df7kF7gL4sPN7qqZq4+HgavLTk6 +VyK/ca8wEnP/Hq+2X+n9ZvtaiU54s64v1DnOMmZ+IVBZn09XY2FaWd6oy6BFaFmM +ZMN6+LDbptsaytg4nx0PTndX89x/lP2KyqOhyg8bn1+Y6RoHqcgzyFcKxrAtJZGv +hDjEPhwis2uJrAWC1WTk5zNOq1NatSkLTvZ0CHhfAPjlXGARulw6x4vLTkzGe/OX +v963O5QJlClEh1U2h4/PmgvOIpIO6Z4OxgBwkb9QkFhuwqrQ8p8UaCVMZnOFV4aR +hv3rF2mgk+zMOOQxS+ikcrISO7Mo+Q/9UenLkZJrHAUKn2297vN/o0PKO6vqt6hZ +AvFCRbgbQlSXLq04quwduZWjAhnaV5j0O3/Z1srY/tCO9rDif/dlvoetRAfQiaxP +5dHy5hMiEd9y7lWO1QT2aToRtENmBYD8D06/nWw8PvdUKQzeHu3sPmZnYfQfXc8e +tbISuox+kKC8l7w4CAIKHcbePYUJJee009Blf9vt3830xkz4ANBJODEH8fGRtmMm +Hqql4vokY3LaGY6gviL7NaVzXwma3DqdKlwntF5q0ggpqTxzmQSStglZEwfWhcgp +OeomZnP7G7kCdzEoMc/REaX8hgEgCKvxh5sCyYxZ91UcY4qYdhIcHvI8zdWPiToK +RBS2TqYZSaqNhNGnX6zVK4Bsj08MHiTOhXYfqb687KBOCfxrEKu6/w6Ql/b/KeCV +rAlsDDVOgxTtvKbpqMqqGkdMguwblMgX2dYexEtHB4yEVHZAXrpJ75tzdrknPOFt +VUs0CtQN09vJ7bDbaELTRorFtGAbdEfU8pEXnatSbumRn1kpVCPkcHHoOJaMioVE +4HtOvyqplH22eNkpGwIe4OuBa3fGuHeOHZSgNlyYbTN3r0+7WlX/905uULFTiR88 +UzOmD8U/1D1aNEM0lzPcHhTZXzfkYr40aqEjB0UrYEdCwCCgKFjCEvyZwF+WwmV3 +9jXZ/r+qm1uwSDAGsP2BD61xsqYlXZxDmvcqa29vZYuME7+6s1Hx2SnqyxkdSjEk +UM/CvLhMIV3QNArvOhpeM5Xa2RWR+rb+l8JPM9cV2CrXYJMzbVlPZqC+w3pfIdTb +sSWdq7DbXK/mIv7/s2KK8UbllTIr8hRppX7uKnXvkaoI9yor++YgrESJAMBXTZGk +xlB1hPUMB92G2xGuTaVUXV/Zc5s8Bf/H+IiBPFGKzHEI3DLzoW4+1Lo6VTp/6dom +yz3AcPyLTJjfY0Y34Ut7JZ3w21MAijAjTVeaQIqSy/6YCySOLW5TReIaex1Qyjqi +bGfzXB1dipGLwYKkFuO+Y3f9BWpaSMCj2CYbkvsOABIxlpqoNS3m62hIXGjAdL0n +amY4bFQ8YYvtFbx9n/xz7tjSYB1q81/wS1KK3ezQDPfGQqM4pwVnCTzp9qUD/kgU +PsG17Nd4w40bf+2l9cc55fS19SIsCEeiQXEEqYhE5+9Hy2kghg7M75hkAhCA9LkT +Vl3/Ui0+4NeYcyVfBRoReguIe3/7TwmE35so+ZaaPY2VTXJikkxho5g9KrqE92J+ +3pz8Or8dpr6oieiEH/11dVxx1VG4aAInyeU/Iqt5es/zLxsO3GHt6L+ogfzGDR8V +/5SG0Fxm0pUn7bZx5n+eSVwj96uN023WUZrN3P2iWm21K/7jTr7zBllatTYRpKOA +kMsTsNPaUiYsvchYY46I5I7xWvpPnK7fmCmkRT7ecy5D4ty6AqQnVftLuOddBumN +plRkUKKvwY7J29EkM7TKHJjL1lS/3UKVdu9G/Ct3cThCzEWS2GNEDXlC/pUn7sqG +9Wf7XQk5BSeps15WeRvE8bY1eww/VxtRhFK0fPx4eUZSZ54Et0L6curv8reUuy31 +6EvqzImlKGFVGSNqZx6K9/k8/ngnnYynxz5XCZBlry8RQ0ubnZCOBqzI9Isngzpo +NX6DS0G9QTapw3+K4G2kK9Edry0Knl8d22C/qp69cq+M0mzJckAiybThVR0LGANf +DA21r1+2ldyLtG9SQyI8ZE+xn66hUSmqsHSWFHVE76kH0D4XqUm56mIL2bvKOa70 +qs7NYaPGVSLf4us9ps9GpCIyV1X0rKQd1w4KNuto1pPWmn/L7VrHXZLA/Lc/m1db +LwLDX0R18Ns1zqAnje9BVzrxLy0il7WVEjDSfXxbnTS6zG0LGWYCfchoF3WqGPXl +kTvgyZeCCO78nrplfwFZYvyKGQeZRkAz/LbDH3pRbnrrrthxId8X/yn+xYZZo+TZ +9bkkOjgwtD8mrRsTH6QM5E9CS9DyR4UVXLIikfcJy5fcbvavO/TMIW8cd6l5HXXY +amwA5RcNeAsOPSiIo1HTLDgVHRUNaIcV5tj9jUS+nneTOanKYa30EKCOxHl/Q53V +uBmC0hg4Ny1z7duugw5Fx1PfN03kdkpkCNUfwq0em+nXj9KFqBC5l53sYPwhoM2w +UkbWssDXv+HFVdi60fBf91yLmunxBiSYAe5JY9s7IGUFb0WxHdd2rb5j8i1CgD3J +z6LOzMUNDdCvGQazyc6O+1jXOiPckhpjL340+Xu5PGbl02qMVheysCzvCJMTr/5J +/Z7MU5f06MHCvDZcvp3s8r8vNOvH0q2s5RFdVho+GHY5g1uEYrUWWhGesy7HywN/ +NQotBE/kQ//ffCFrv3UZG3uN0/p+SoZw6TPF4TLzoOSfJkvtF/UyjlL02GKjKz+e +lEAvaBW0aBNtJ1tAV93UeU3Eq5CM8gBW/Im96h7LqC/+WnMMRJIJuhVTCyqRa8op +W1/UvVQtPn3kPR69yxsMwdQy0GgexUvaNjaY5BPpeBEMx3NrdmDFgbM5lkuPelD8 +CobMCGc2AR+iDbmHtj0rOV/wHptmN2kzegOjNXr01d8rhX5FEXn5KqFCgnEFFTd4 +3tyGqXn2VfFLLwjIOlcuEVMQ7nUP7rwOZ3X7KwxnfN2Xou/18hITqNqBJg2iMm+q +ovoKJbY2fzUBvQQn7EK6x0DefCq6SndlXFjhrPsCQotfN8YL0RkR8TBTFn1yFXI1 +MWQSRqBz5SeVbBoq5PP8JyuWtT5s5XG+NOdFLGUdTockWbLCwewogefFsNgk9Wr2 +GlnJIrloFeYl/F2+vu2LGMVDXUdRitQ1tvXjUZAu2uGSFMeQa8EI/xnUO5mWMWvI +8rlrM7tsyvAPPDcRUGPBPSh1pfW68Ca1yPz/hCoX2rZ2GuSDiInhtSkyUE7e9zHz +pYAgyWjCfPHP26JyXPg+hxDQWEfGVE1xY13K6aezp37LwO4zK9i8oFKmxMiyo/C5 +ztSJHMFv1UEaVtoAtRdDC5z2oHSzUJCLRhXCG468QgQMEBGtoR4gAZVRRFlOmSCq +IC21zL5LbP1Kl2EIikFIMxHCDk3fRlxi714aeQxbmF73Xf+fzvYRmLluEbs3kIsN +I/ad/vxrnyX17BQPfaEs3ElTk/C6yyZ0gShwJY0La94KRII/2o3jjwl6QPf9ixf9 +VpeGfzt2dHtf+JhnLXoGRYTC4WbJGKE16bsVVLZOCvxDzHs31Z4OU5K6aUSfUf4x +qnvWkjaiGVAJT4bIJWUoXXG7aoZSQTxCosW/x7X/Hikt8eUO9vFKBosG7AoVYobc +9umQdR48rtih4xFI3A4IrSOz8zrx5/a45n2i5Jg3qhR69wab+v5tRWlLoau3ycXy +IaScO2HUwSWkKXnE7ghuB5mrpqueb1MO9CRF/FXzBqTMIxZzW5Q3zViqZk9hQu1H +H5Eqjite6SfWcn2GG3lF1BUxAHoiZDKpFQ8E/5jEm/nCZDqTU6d2Ho0GgDAYsGYu +6DBRTHLuFMRt9iV9gI4SRoz9uuUVvWc/JtPpvczQFrwe9zJgzBQ9cchVcvBlSGNX +m9OK+DMeIZ257a0L4lmfgFB2lMwTWskmgGT/uJwRuMNszy/moDvc95LUJ1ywcp7H +Y/8VyamcdBTk7X9DZM3IAH7DoXlqw+dKZGDT04Quk/KoiaHIjZVsDPkME0Q2SKgR +gyRHNxGx00XiaP60NmaR7HhTobYXESOpjMlJztgG1vJycKO4Zih4hKNFN24D6Ad8 +ElhetaK+b8F1SdgSoy8cesE+yYdeDikW6EHjor8KA8MS2BL1bJX7kW7ILouuD2pu +VuA70z/kMhDNJp4459j2c5AUjtPd9zDSrK9Xdre+QW65jXye4j2QEZBq+zOY0BMO +Pdnq6IbWLjLELuUcUuK8Ok90ISosVB7/TbYW8jn5DdYxn+PQi2sy3NPOMWQjqU4z +K+Wl7PnBRVdjPa+ylS0LjdGn0rdi7DBjjek7AYnXfvg8MsAt+F2Lb2v9uyasUH5A +n/o9TZfGRh408DLCoL4o5V2kH8W2hv+th3TFOGLvNqFxVsXO4wEdD0hyahmO2RrY +wVjyAT2t98d8CtY1kaWZILBrKRacwj6zBZWB3y7+wJVPUciKvhdeojGteVfCkCvC +g6/rhm+gy+G9m2HI66dVG1wCDD8PrsV0vxqjq1m1m+7+4YtZ7Qz56m7iX/4H0uwf +islXyxnN2Io9siAwRr6RN3qGHaBEOYjUoG/aZNtiI1FCOfFv8Xgq6U7sqEDr6F2a +wzdIn5wPE/Nrl/8c8bX1cp0irPu2AaueKBeU1BeUsdi+ +=MXUx +-----END PGP MESSAGE----- Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/ct_faac-adts.aac and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/ct_faac-adts.aac differ diff -Nru shared-mime-info-1.15/tests/mime-detection/cube.igs shared-mime-info-2.0/tests/mime-detection/cube.igs --- shared-mime-info-1.15/tests/mime-detection/cube.igs 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/cube.igs 2020-05-06 14:11:14.186908000 +0000 @@ -0,0 +1,150 @@ +START RECORD GO HERE. S 1 +1H,,1H;,4HCube,8HCube.igs,62HDASSAULT SYSTEMES CATIA Version 5-6 ReleaseG 1 + 2014 - www.3ds.com,35HV5-6R2014_5.24.6.0.09-03-2015.15.00,32,75,6,75, G 2 +15,4HCube,1.0,2,2HMM,1000,1.0,15H20160522.220337,0.001,10000.0,3HR22,5HDG 3 +SONE,11,0,15H20160522.220337,; G 4 + 108 1 0 0 0 0 0 001010001D 1 + 108 0 0 1 0 0D 2 + 110 2 0 0 0 0 0 001010001D 3 + 110 0 0 1 0 0D 4 + 110 3 0 0 0 0 0 001010001D 5 + 110 0 0 1 0 0D 6 + 110 4 0 0 0 0 0 001010001D 7 + 110 0 0 1 0 0D 8 + 110 5 0 0 0 0 0 001010001D 9 + 110 0 0 1 0 0D 10 + 102 6 0 0 0 0 0 001010001D 11 + 102 0 0 1 0 0D 12 + 142 7 0 0 0 0 0 001010001D 13 + 142 0 0 1 0 0D 14 + 144 8 0 0 10000 0 0 000000000D 15 + 144 0 0 1 0 PartBody 0D 16 + 108 9 0 0 0 0 0 001010001D 17 + 108 0 0 1 0 0D 18 + 110 10 0 0 0 0 0 001010001D 19 + 110 0 0 1 0 0D 20 + 110 11 0 0 0 0 0 001010001D 21 + 110 0 0 1 0 0D 22 + 110 12 0 0 0 0 0 001010001D 23 + 110 0 0 1 0 0D 24 + 110 13 0 0 0 0 0 001010001D 25 + 110 0 0 1 0 0D 26 + 102 14 0 0 0 0 0 001010001D 27 + 102 0 0 1 0 0D 28 + 142 15 0 0 0 0 0 001010001D 29 + 142 0 0 1 0 0D 30 + 144 16 0 0 10000 0 0 000000000D 31 + 144 0 0 1 0 PartBody 0D 32 + 108 17 0 0 0 0 0 001010001D 33 + 108 0 0 1 0 0D 34 + 110 18 0 0 0 0 0 001010001D 35 + 110 0 0 1 0 0D 36 + 110 19 0 0 0 0 0 001010001D 37 + 110 0 0 1 0 0D 38 + 110 20 0 0 0 0 0 001010001D 39 + 110 0 0 1 0 0D 40 + 110 21 0 0 0 0 0 001010001D 41 + 110 0 0 1 0 0D 42 + 102 22 0 0 0 0 0 001010001D 43 + 102 0 0 1 0 0D 44 + 142 23 0 0 0 0 0 001010001D 45 + 142 0 0 1 0 0D 46 + 144 24 0 0 10000 0 0 000000000D 47 + 144 0 0 1 0 PartBody 0D 48 + 108 25 0 0 0 0 0 001010001D 49 + 108 0 0 1 0 0D 50 + 110 26 0 0 0 0 0 001010001D 51 + 110 0 0 1 0 0D 52 + 110 27 0 0 0 0 0 001010001D 53 + 110 0 0 1 0 0D 54 + 110 28 0 0 0 0 0 001010001D 55 + 110 0 0 1 0 0D 56 + 110 29 0 0 0 0 0 001010001D 57 + 110 0 0 1 0 0D 58 + 102 30 0 0 0 0 0 001010001D 59 + 102 0 0 1 0 0D 60 + 142 31 0 0 0 0 0 001010001D 61 + 142 0 0 1 0 0D 62 + 144 32 0 0 10000 0 0 000000000D 63 + 144 0 0 1 0 PartBody 0D 64 + 108 33 0 0 0 0 0 001010001D 65 + 108 0 0 1 0 0D 66 + 110 34 0 0 0 0 0 001010001D 67 + 110 0 0 1 0 0D 68 + 110 35 0 0 0 0 0 001010001D 69 + 110 0 0 1 0 0D 70 + 110 36 0 0 0 0 0 001010001D 71 + 110 0 0 1 0 0D 72 + 110 37 0 0 0 0 0 001010001D 73 + 110 0 0 1 0 0D 74 + 102 38 0 0 0 0 0 001010001D 75 + 102 0 0 1 0 0D 76 + 142 39 0 0 0 0 0 001010001D 77 + 142 0 0 1 0 0D 78 + 144 40 0 0 10000 0 0 000000000D 79 + 144 0 0 1 0 PartBody 0D 80 + 108 41 0 0 0 0 0 001010001D 81 + 108 0 0 1 0 0D 82 + 110 42 0 0 0 0 0 001010001D 83 + 110 0 0 1 0 0D 84 + 110 43 0 0 0 0 0 001010001D 85 + 110 0 0 1 0 0D 86 + 110 44 0 0 0 0 0 001010001D 87 + 110 0 0 1 0 0D 88 + 110 45 0 0 0 0 0 001010001D 89 + 110 0 0 1 0 0D 90 + 102 46 0 0 0 0 0 001010001D 91 + 102 0 0 1 0 0D 92 + 142 47 0 0 0 0 0 001010001D 93 + 142 0 0 1 0 0D 94 + 144 48 0 0 10000 0 0 000000000D 95 + 144 0 0 1 0 PartBody 0D 96 +108,-1.0,0.0,0.0,5.0,0,-5.0,5.0,0.0,1.0,0,0; 1P 1 +110,-5.0,5.0,5.0,-5.0,-5.0,5.0,0,0; 3P 2 +110,-5.0,-5.0,5.0,-5.0,-5.0,-5.0,0,0; 5P 3 +110,-5.0,-5.0,-5.0,-5.0,5.0,-5.0,0,0; 7P 4 +110,-5.0,5.0,-5.0,-5.0,5.0,5.0,0,0; 9P 5 +102,4,3,5,7,9,0,0; 11P 6 +142,0,1,0,11,2,0,0; 13P 7 +144,1,1,0,13,0,0; 15P 8 +108,0.0,1.0,0.0,-5.0,0,5.0,-5.0,0.0,1.0,0,0; 17P 9 +110,-5.0,-5.0,5.0,5.0,-5.0,5.0,0,0; 19P 10 +110,5.0,-5.0,5.0,5.0,-5.0,-5.0,0,0; 21P 11 +110,5.0,-5.0,-5.0,-5.0,-5.0,-5.0,0,0; 23P 12 +110,-5.0,-5.0,-5.0,-5.0,-5.0,5.0,0,0; 25P 13 +102,4,19,21,23,25,0,0; 27P 14 +142,0,17,0,27,2,0,0; 29P 15 +144,17,1,0,29,0,0; 31P 16 +108,1.0,0.0,0.0,5.0,0,5.0,-5.0,0.0,1.0,0,0; 33P 17 +110,5.0,-5.0,5.0,5.0,5.0,5.0,0,0; 35P 18 +110,5.0,5.0,5.0,5.0,5.0,-5.0,0,0; 37P 19 +110,5.0,5.0,-5.0,5.0,-5.0,-5.0,0,0; 39P 20 +110,5.0,-5.0,-5.0,5.0,-5.0,5.0,0,0; 41P 21 +102,4,35,37,39,41,0,0; 43P 22 +142,0,33,0,43,2,0,0; 45P 23 +144,33,1,0,45,0,0; 47P 24 +108,0.0,-1.0,0.0,-5.0,0,-5.0,5.0,0.0,1.0,0,0; 49P 25 +110,5.0,5.0,5.0,-5.0,5.0,5.0,0,0; 51P 26 +110,-5.0,5.0,5.0,-5.0,5.0,-5.0,0,0; 53P 27 +110,-5.0,5.0,-5.0,5.0,5.0,-5.0,0,0; 55P 28 +110,5.0,5.0,-5.0,5.0,5.0,5.0,0,0; 57P 29 +102,4,51,53,55,57,0,0; 59P 30 +142,0,49,0,59,2,0,0; 61P 31 +144,49,1,0,61,0,0; 63P 32 +108,0.0,0.0,1.0,-5.0,0,0.0,0.0,-5.0,1.0,0,0; 65P 33 +110,-5.0,5.0,-5.0,-5.0,-5.0,-5.0,0,0; 67P 34 +110,-5.0,-5.0,-5.0,5.0,-5.0,-5.0,0,0; 69P 35 +110,5.0,-5.0,-5.0,5.0,5.0,-5.0,0,0; 71P 36 +110,5.0,5.0,-5.0,-5.0,5.0,-5.0,0,0; 73P 37 +102,4,67,69,71,73,0,0; 75P 38 +142,0,65,0,75,2,0,0; 77P 39 +144,65,1,0,77,0,0; 79P 40 +108,0.0,0.0,1.0,5.0,0,0.0,0.0,5.0,1.0,0,0; 81P 41 +110,-5.0,5.0,5.0,5.0,5.0,5.0,0,0; 83P 42 +110,5.0,5.0,5.0,5.0,-5.0,5.0,0,0; 85P 43 +110,5.0,-5.0,5.0,-5.0,-5.0,5.0,0,0; 87P 44 +110,-5.0,-5.0,5.0,-5.0,5.0,5.0,0,0; 89P 45 +102,4,83,85,87,89,0,0; 91P 46 +142,0,81,0,91,2,0,0; 93P 47 +144,81,1,0,93,0,0; 95P 48 +S 1G 4D 96P 48 T 1 diff -Nru shared-mime-info-1.15/tests/mime-detection/cube.wrl shared-mime-info-2.0/tests/mime-detection/cube.wrl --- shared-mime-info-1.15/tests/mime-detection/cube.wrl 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/cube.wrl 2020-05-06 14:11:14.186908000 +0000 @@ -0,0 +1,403 @@ +#VRML V2.0 utf8 + +WorldInfo { + info [ "File created using CATIA" ] +} +NavigationInfo { + type [ "EXAMINE" , "WALK" , "FLY" ] +} +Background { + skyColor [ 0 0 0 ] +} +Viewpoint { + position 0.053252 0.023804 0.028004 + orientation 0.326678 0.502925 0.800218 2.185925 + fieldOfView 0.471225 + description "Main Viewpoint" +} +Viewpoint { + position 0.037357 0.037357 0.037357 + orientation 0.187053 0.451587 0.872399 2.448076 + fieldOfView 0.471225 + description "Iso View" +} +Viewpoint { + position 0.064704 -0.000000 -0.000000 + orientation 0.577350 0.577350 0.577350 2.094395 + fieldOfView 0.471225 + description "Front View" +} +Viewpoint { + position -0.064704 -0.000000 -0.000000 + orientation 0.577350 -0.577350 -0.577350 2.094395 + fieldOfView 0.471225 + description "Back View" +} +Viewpoint { + position -0.000000 -0.064704 -0.000000 + orientation 1.000000 -0.000173 0.000173 1.570796 + fieldOfView 0.471225 + description "Left View" +} +Viewpoint { + position -0.000000 0.064704 -0.000000 + orientation -0.000122 -0.707107 -0.707107 3.141348 + fieldOfView 0.471225 + description "Right View" +} +Viewpoint { + position -0.000000 -0.000000 0.064704 + orientation 0.000000 0.000000 1.000000 1.570796 + fieldOfView 0.471225 + description "Top View" +} +Viewpoint { + position -0.000000 -0.000000 -0.064704 + orientation 0.707107 0.707107 0.000000 3.141593 + fieldOfView 0.471225 + description "Bottom View" +} +Transform { + scale 0.001 0.001 0.001 + children [ +Group { + children [ +Group { + children [ +DEF _000000001997EDD0 Group { + children [ + ] +} + ] +} +Group { + children [ +DEF _000000001997F370 Group { + children [ + ] +} + ] +} +Group { + children [ +DEF _000000001997F550 Group { + children [ + ] +} + ] +} +Group { + children [ +Group { + children [ +DEF _0000000029E8D310 Group { + children [ +Shape { +appearance Appearance { + material DEF _material0 Material { + diffuseColor 0.823529 0.823529 1 + } +} +geometry IndexedFaceSet { +solid FALSE +coord Coordinate { + point [ + 5 5 5, + 5 -5 5, + -5 -5 5, + -5 5 5, + ] + } +coordIndex [ + 2,1,3,-1, + 1,0,3,-1, +] + +} +} +Shape { +appearance Appearance { +material USE _material0 +} +geometry IndexedFaceSet { +solid FALSE +coord Coordinate { + point [ + 5 5 -5, + 5 -5 -5, + -5 -5 -5, + -5 5 -5, + ] + } +coordIndex [ + 2,3,1,-1, + 3,0,1,-1, +] + +} +} +Shape { +appearance Appearance { +material USE _material0 +} +geometry IndexedFaceSet { +solid FALSE +coord Coordinate { + point [ + 5 5 -5, + -5 5 -5, + -5 5 5, + 5 5 5, + ] + } +coordIndex [ + 1,2,0,-1, + 2,3,0,-1, +] + +} +} +Shape { +appearance Appearance { +material USE _material0 +} +geometry IndexedFaceSet { +solid FALSE +coord Coordinate { + point [ + 5 5 5, + 5 5 -5, + 5 -5 -5, + 5 -5 5, + ] + } +coordIndex [ + 2,1,3,-1, + 1,0,3,-1, +] + +} +} +Shape { +appearance Appearance { +material USE _material0 +} +geometry IndexedFaceSet { +solid FALSE +coord Coordinate { + point [ + -5 -5 -5, + 5 -5 -5, + 5 -5 5, + -5 -5 5, + ] + } +coordIndex [ + 1,2,0,-1, + 2,3,0,-1, +] + +} +} +Shape { +appearance Appearance { +material USE _material0 +} +geometry IndexedFaceSet { +solid FALSE +coord Coordinate { + point [ + -5 -5 5, + -5 -5 -5, + -5 5 -5, + -5 5 5, + ] + } +coordIndex [ + 2,1,3,-1, + 1,0,3,-1, +] + +} +} +Shape { +appearance Appearance { + material DEF _material1 Material { + emissiveColor 0 0 0 + } +} +geometry IndexedLineSet { + coord Coordinate { +point [ + -5 5 -5, + -5 5 5, + ] +} + coordIndex [0 1 -1 ] +} +} +Shape { +appearance Appearance { +material USE _material1 +} +geometry IndexedLineSet { + coord Coordinate { +point [ + -5 -5 -5, + -5 -5 5, + ] +} + coordIndex [0 1 -1 ] +} +} +Shape { +appearance Appearance { +material USE _material1 +} +geometry IndexedLineSet { + coord Coordinate { +point [ + -5 5 -5, + -5 -5 -5, + ] +} + coordIndex [0 1 -1 ] +} +} +Shape { +appearance Appearance { +material USE _material1 +} +geometry IndexedLineSet { + coord Coordinate { +point [ + -5 5 5, + -5 -5 5, + ] +} + coordIndex [0 1 -1 ] +} +} +Shape { +appearance Appearance { +material USE _material1 +} +geometry IndexedLineSet { + coord Coordinate { +point [ + 5 -5 -5, + 5 -5 5, + ] +} + coordIndex [0 1 -1 ] +} +} +Shape { +appearance Appearance { +material USE _material1 +} +geometry IndexedLineSet { + coord Coordinate { +point [ + -5 -5 -5, + 5 -5 -5, + ] +} + coordIndex [0 1 -1 ] +} +} +Shape { +appearance Appearance { +material USE _material1 +} +geometry IndexedLineSet { + coord Coordinate { +point [ + -5 -5 5, + 5 -5 5, + ] +} + coordIndex [0 1 -1 ] +} +} +Shape { +appearance Appearance { +material USE _material1 +} +geometry IndexedLineSet { + coord Coordinate { +point [ + 5 5 -5, + 5 5 5, + ] +} + coordIndex [0 1 -1 ] +} +} +Shape { +appearance Appearance { +material USE _material1 +} +geometry IndexedLineSet { + coord Coordinate { +point [ + 5 -5 -5, + 5 5 -5, + ] +} + coordIndex [0 1 -1 ] +} +} +Shape { +appearance Appearance { +material USE _material1 +} +geometry IndexedLineSet { + coord Coordinate { +point [ + 5 -5 5, + 5 5 5, + ] +} + coordIndex [0 1 -1 ] +} +} +Shape { +appearance Appearance { +material USE _material1 +} +geometry IndexedLineSet { + coord Coordinate { +point [ + 5 5 -5, + -5 5 -5, + ] +} + coordIndex [0 1 -1 ] +} +} +Shape { +appearance Appearance { +material USE _material1 +} +geometry IndexedLineSet { + coord Coordinate { +point [ + 5 5 5, + -5 5 5, + ] +} + coordIndex [0 1 -1 ] +} +} + ] +} + ] +} + ] +} + ] +} + ] +} + Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/cyborg.med and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/cyborg.med differ diff -Nru shared-mime-info-1.15/tests/mime-detection/dbus-comment.service shared-mime-info-2.0/tests/mime-detection/dbus-comment.service --- shared-mime-info-1.15/tests/mime-detection/dbus-comment.service 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/dbus-comment.service 2020-05-06 14:11:14.187908000 +0000 @@ -0,0 +1,9 @@ +# This is a D-Bus service with a comment at the top, which +# would typically be some kind of licencing header; but +# here it’s just designed to take up space, annoyingly. + +[D-BUS Service] +Name=org.freedesktop.someservice +Exec=/bin/false +User=root +SystemdService=dbus-org.freedesktop.someservice.service diff -Nru shared-mime-info-1.15/tests/mime-detection/dbus.service shared-mime-info-2.0/tests/mime-detection/dbus.service --- shared-mime-info-1.15/tests/mime-detection/dbus.service 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/dbus.service 2020-05-06 14:11:14.188907900 +0000 @@ -0,0 +1,5 @@ +[D-BUS Service] +Name=org.freedesktop.someservice +Exec=/bin/false +User=root +SystemdService=dbus-org.freedesktop.someservice.service Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/debian-goodies_0.63_all.deb and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/debian-goodies_0.63_all.deb differ diff -Nru shared-mime-info-1.15/tests/mime-detection/dia.shape shared-mime-info-2.0/tests/mime-detection/dia.shape --- shared-mime-info-1.15/tests/mime-detection/dia.shape 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/dia.shape 2020-05-06 14:11:14.188907900 +0000 @@ -0,0 +1,27 @@ + + + Cybernetics - negative-shift + negative-shift.png + + + + + + + + + + + + + + + + + + + + + + + Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/disk.img.xz and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/disk.img.xz differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/disk.qcow2 and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/disk.qcow2 differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/disk.raw-disk-image.xz and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/disk.raw-disk-image.xz differ diff -Nru shared-mime-info-1.15/tests/mime-detection/dnd-counter.svg shared-mime-info-2.0/tests/mime-detection/dnd-counter.svg --- shared-mime-info-1.15/tests/mime-detection/dnd-counter.svg 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/dnd-counter.svg 2020-05-06 14:11:14.190908000 +0000 @@ -0,0 +1,183 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/dns.cap and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/dns.cap differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/editcopy.png and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/editcopy.png differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/Elephants_Dream-360p-Stereo.webm and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/Elephants_Dream-360p-Stereo.webm differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/elizabeth-barrett-browning_sonnets-from-the-portuguese.azw3 and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/elizabeth-barrett-browning_sonnets-from-the-portuguese.azw3 differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/Empty.chrt and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/Empty.chrt differ diff -Nru shared-mime-info-1.15/tests/mime-detection/en_US.zip.meta4 shared-mime-info-2.0/tests/mime-detection/en_US.zip.meta4 --- shared-mime-info-1.15/tests/mime-detection/en_US.zip.meta4 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/en_US.zip.meta4 2020-05-06 14:11:14.192907800 +0000 @@ -0,0 +1,84 @@ + + + MirrorBrain/2.15.1 + http://ooo.mirrorbrain.org/contrib/dictionaries/en_US.zip.meta4 + 2011-10-22T18:54:56Z + + OpenOffice.org - the free and open productivity suite + http://www.openoffice.org/ + + + + 248417 + + + + + + + + + + + + + http://ftp.funet.fi/pub/mirrors/openoffice.org/contrib/dictionaries/en_US.zip + + + http://ftp.sunet.se/pub/Office/OpenOffice.org/contrib/dictionaries/en_US.zip + ftp://ftp.man.poznan.pl/pub/openoffice/contrib/dictionaries/en_US.zip + http://mirrors.dotsrc.org/openoffice/contrib/dictionaries/en_US.zip + http://ftp.astral.ro/mirrors/openoffice.org/contrib/dictionaries/en_US.zip + ftp://ftp.fu-berlin.de/unix/X11/apps/openoffice/contrib/dictionaries/en_US.zip + http://ftp.fsf.hu/OpenOffice.org/contrib/dictionaries/en_US.zip + http://ftp.sh.cvut.cz/MIRRORS/OpenOffice/contrib/dictionaries/en_US.zip + http://ooo.mirror.dkm.cz/pub/openoffice/contrib/dictionaries/en_US.zip + http://mirror.7he.at/pub/OpenOffice/contrib/dictionaries/en_US.zip + http://gd.tuwien.ac.at/office/openoffice/contrib/dictionaries/en_US.zip + http://ftp.tu-chemnitz.de/pub/openoffice-extended/contrib/dictionaries/en_US.zip + http://ftp.roedu.net/mirrors/openoffice.org/contrib/dictionaries/en_US.zip + http://ftp.rz.tu-bs.de/pub/mirror/OpenOffice.org/contrib/dictionaries/en_US.zip + http://ftp.uasw.edu/pub/openoffice.org/contrib/dictionaries/en_US.zip + http://ftp5.gwdg.de/pub/openoffice/contrib/dictionaries/en_US.zip + http://ftp3.gwdg.de/pub/openoffice/contrib/dictionaries/en_US.zip + http://ftp.uni-erlangen.de/mirrors/openoffice/contrib/dictionaries/en_US.zip + http://ftp.spnet.net/openoffice/contrib/dictionaries/en_US.zip + ftp://ftp.uni-muenster.de/pub/software/OpenOffice/contrib/dictionaries/en_US.zip + http://ftp-stud.hs-esslingen.de/pub/Mirrors/ftp.openoffice.org/contrib/dictionaries/en_US.zip + http://ftp.fernuni-hagen.de/ftp-dir/pub/mirrors/www.openoffice.org/contrib/dictionaries/en_US.zip + http://ftp.snt.utwente.nl/pub/software/openoffice/contrib/dictionaries/en_US.zip + http://ooorg.mirror.testserver.li/contrib/dictionaries/en_US.zip + http://mirror.switch.ch/ftp/mirror/OpenOffice/contrib/dictionaries/en_US.zip + http://sunsite.informatik.rwth-aachen.de/ftp/pub/mirror/OpenOffice/contrib/dictionaries/en_US.zip + http://ftp.nluug.nl/pub/office/openoffice/contrib/dictionaries/en_US.zip + ftp://ftp.solnet.ch/mirror/OpenOffice/contrib/dictionaries/en_US.zip + http://wwwftp.ciril.fr/pub/openoffice/contrib/dictionaries/en_US.zip + http://ooo.mirror.garr.it/mirrors/openoffice/contrib/dictionaries/en_US.zip + http://www.ellak.gr/pub/openoffice/contrib/dictionaries/en_US.zip + http://ftp.ntua.gr/pub/OpenOffice/contrib/dictionaries/en_US.zip + http://ftp.cc.uoc.gr/openoffice.org/contrib/dictionaries/en_US.zip + http://ftp.proxad.net/mirrors/ftp.openoffice.org/contrib/dictionaries/en_US.zip + http://ftp.free.fr/mirrors/ftp.openoffice.org/contrib/dictionaries/en_US.zip + http://www.mirrorservice.org/sites/download.openoffice.org/contrib/dictionaries/en_US.zip + http://openoffice.virginmedia.com/contrib/dictionaries/en_US.zip + http://openoffice.cict.fr/contrib/dictionaries/en_US.zip + http://ftp.heanet.ie/mirrors/openoffice.org/contrib/dictionaries/en_US.zip + http://openoffice.org.mirrors.irontec.com/contrib/dictionaries/en_US.zip + http://mirrors.fe.up.pt/pub/openoffice/contrib/dictionaries/en_US.zip + http://openoffice.dcc.fc.up.pt/contrib/dictionaries/en_US.zip + + + http://ftp.kaist.ac.kr/openoffice/contrib/dictionaries/en_US.zip + http://openoffice.mirror.rafal.ca/contrib/dictionaries/en_US.zip + http://mirror.csclub.uwaterloo.ca/openoffice/contrib/dictionaries/en_US.zip + http://openoffice.mirrors.tds.net/pub/openoffice/contrib/dictionaries/en_US.zip + http://ftp.osuosl.org/pub/openoffice/contrib/dictionaries/en_US.zip + http://ftp.kddilabs.jp/office/openoffice/contrib/dictionaries/en_US.zip + http://ftp.jaist.ac.jp/pub/openoffice/contrib/dictionaries/en_US.zip + http://ftp.ussg.iu.edu/openoffice/contrib/dictionaries/en_US.zip + http://ftp.yz.yamagata-u.ac.jp/pub/openoffice/contrib/dictionaries/en_US.zip + http://openoffice.mirror.wrpn.net/contrib/dictionaries/en_US.zip + http://openoffice.cs.utah.edu/contrib/dictionaries/en_US.zip + + diff -Nru shared-mime-info-1.15/tests/mime-detection/esm.mjs shared-mime-info-2.0/tests/mime-detection/esm.mjs --- shared-mime-info-1.15/tests/mime-detection/esm.mjs 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/esm.mjs 2020-05-06 14:11:14.192907800 +0000 @@ -0,0 +1,2 @@ +console.log(1); + Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/eu_en_Sword_of_Vermilion.bin and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/eu_en_Sword_of_Vermilion.bin differ diff -Nru shared-mime-info-1.15/tests/mime-detection/evolution.eml shared-mime-info-2.0/tests/mime-detection/evolution.eml --- shared-mime-info-1.15/tests/mime-detection/evolution.eml 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/evolution.eml 2020-05-06 14:11:14.192907800 +0000 @@ -0,0 +1,17 @@ +From user1@server.net Fri Apr 25 22:12:15 2008 +Subject: Re: something +From: user1 +To: user2 +Cc: ubuntu-devel-discuss@lists.ubuntu.com +In-Reply-To: <1209066303.6151.268.camel@saeko.local> +References: <1208716503.7231.5.camel@milan> + <1209066303.6151.268.camel@saeko.local> +Content-Type: text/plain; charset=utf-8 +Message-Id: <1209154204.13117.0.camel@milan> +Mime-Version: 1.0 +X-Mailer: Evolution 2.22.1 +Date: Fri, 25 Apr 2008 22:12:15 +0200 +X-Evolution-Format: text/plain +Content-Transfer-Encoding: 8bit + +[hidden text...] Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/example_42_all.snap and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/example_42_all.snap differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/example.heic and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/example.heic differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/example.heif and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/example.heif differ diff -Nru shared-mime-info-1.15/tests/mime-detection/feed2 shared-mime-info-2.0/tests/mime-detection/feed2 --- shared-mime-info-1.15/tests/mime-detection/feed2 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/feed2 2020-05-06 14:11:14.195907800 +0000 @@ -0,0 +1,1797 @@ + + + + ChinesePod - diverseizzue + http://chinesepod.com/learnchinese + en-us + © 2007 Praxis Language Ltd. + + Learn Chinese with free daily MP3 audio podcasts, lesson review, grammar introduction, vocabulary study tools and a vibrant community. + ChinesePod.com + + Learn Chinese with free daily MP3 audio podcasts, lesson review, grammar introduction, vocabulary study tools and a vibrant community. + + + Learn Chinese with free daily MP3 audio podcasts, lesson review, grammar introduction, vocabulary study tools and a vibrant community. + + + ChinesePod - diverseizzue + chinesepod@gmail.com + + + + + + + + + Clean + yes + + + Elementary - Superman + http://chinesepod.com/learnchinese/superman/discussion + Mon, 01 Oct 2007 09:00:00 +0800 + http://chinesepod.com/learnchinese/superman +

DiscussionDialogueVocabularyExpansionExercises

Your wonder-twin powers won't activate and the kryptonite is sapping the Mandarin from your very brain. The frustration is making you feel like kicking some bad-guy booty? Or perhaps you feel like withdrawing to your lair... wrapped up in your cape,

]]>
+ + 16:16 + ChinesePod.com + no + +Your wonder-twin powers won't activate and the kryptonite is sapping the Mandarin from your very brain. The frustration is making you feel like kicking some bad-guy booty? Or perhaps you feel like withdrawing to your lair... wrapped up in your cape,

Dialogue:

ä½ çœ‹ï¼Œå¥½å¤§çš„é¸Ÿï¼ +Nǐ kàn, hǎo dà de niǎo! +Look, a big bird! + +ä¸æ˜¯ï¼Œæ˜¯é£žæœºã€‚ +Bù shì, shì fēijī. +No, it's a plane. + +ä¸å¯¹ï¼Œæ˜¯è¶…äººï¼ +Bù duì, shì chāorén! +Wrong, it's Superman! + +真的是啊。超人实在是太酷了ï¼ä»–é£žå¾—çœŸå¿«ï¼ +Zhēnde shì a. Chāorén shízài shì tài kù le! Tā fēi de zhēn kuài! +It really is. Superman is just too cool! He flies so fast! + +没错。他真是个英雄。 +Méicuò. Tā zhēn shì ge yīngxióng. +That's right. He really is a hero. + +而且超级帅ï¼ä½ çœ‹ï¼Œä»–å¯¹æˆ‘ç¬‘äº†ï¼ +érqiě chāojí shuài! Nǐ kàn, tā duì wǒ xiào le! +Plus he's super handsome! Look, he smiled at me! + +

]]>
+ Elementary +
+ + + + + + PDF - Elementary - Superman + http://chinesepod.com/learnchinese/superman + Mon, 01 Oct 2007 09:00:00 +0800 + + + ChinesePod.com + no + + + + + + + + + + + + + Intermediate - Getting Reimbursed + http://chinesepod.com/learnchinese/getting-reimbursed/discussion + Thu, 27 Sep 2007 09:00:00 +0800 + http://chinesepod.com/learnchinese/getting-reimbursed +

DiscussionDialogueVocabularyExpansionExercises

ChinesePod may be the only company in the world where employees can be legitimately reimbursed for buying knock-off DVDs (they were for Movie Madness, we promise). Though, admittedly, wrangling a receipt is sometimes a challenging endeavor. In this

]]>
+ + 13:52 + ChinesePod.com + no + +ChinesePod may be the only company in the world where employees can be legitimately reimbursed for buying knock-off DVDs (they were for Movie Madness, we promise). Though, admittedly, wrangling a receipt is sometimes a challenging endeavor. In this

Dialogue:

å°å¾ï¼Œæˆ‘跟你说说公å¸çš„报销政策。 +Xiǎo Xú, wǒ gēn nǐ shuōshuo gōngsī de bàoxiāo zhèngcè. +Xiao Xu, let me tell you a bit about the company reimbursement policy. + +好的,王ç»ç†ã€‚ +Hǎo de, Wáng jīnglǐ. +OK, Mr. Wang. + +基本上工作的花费都å¯ä»¥æŠ¥é”€ã€‚比如差旅费ã€æ‹›å¾…客户的费用等等。 +Jīběnshang gōngzuò de huāfèi dōu kěyǐ bàoxiāo. Bǐrú chāilǚfèi, zhāodài kèhù de fèiyong děngděng. +Basically all work expenses can be reimbursed. For example, business trip expenses, client expenses, etc. + +我知é“了。那么,怎么报销呢? +Wǒ zhīdào le. Nàme, zěnme bàoxiāo ne? +I see. So, what is the reimbursement process like? + +æä¾›å‘票。特别è¦æ³¨æ„拿标准å‘票。å°ç¥¨ä¸å¯ä»¥æŠ¥ã€‚ +Tígōng fāpiào. Tèbié yào zhùyì ná biāozhǔn fāpiào. Xiǎopiào bù kěyǐ bào. +Provide a receipt. You really have to be sure to get an official receipt. You can't get reimbursed for a regular receipt. + +å¯æ˜¯æœ‰äº›åœ°æ–¹åªæœ‰å°ç¥¨ï¼Œæ€Žä¹ˆåŠžï¼Ÿ +Kěshì yǒuxiē dìfang zhǐyǒu xiǎopiào, zěnme bàn? +But some places only have regular receipts. What then? + +特殊情况è¦å†™æ¸…楚原因。报销之å‰è¦å¡«å†™æŠ¥é”€å•ã€‚ +Tèshū qíngkuàng yào xiě qīngchu yuányīn. Bàoxiāo zhīqián yào tiánxiě bàoxiāo dān. +For special circumstances you have to write out the reason. Before getting reimbursed you have to fill out a reimbursement form. + +报销å•åˆ†ä¸åŒçš„ç§ç±»å—? +Bàoxiāo dān fēn bùtóng de zhǒnglèi ma? +Are there different kinds of reimbursement forms? + +对。这个一定è¦æžæ¸…楚。å‘票和报销å•äº¤ç»™éƒ¨é—¨ç»ç†æ‰¹å‡†ã€‚ +Duì. Zhège yīdìng yào gǎo qīngchu. Fāpiào hé bàoxiāo dān jiāogěi bùmén jīnglǐ pīzhǔn. +Yes. This you really have to keep straight. You give the receipt and the reimbursement form to the department manager for approval. + +好的。大概è¦å¤šä¹…能拿到钱? +Hǎo de. Dàgài yào duōjiǔ néng nádào qián? +OK. How long does it usually take to receive the money? + +一个月左å³å§ã€‚特殊情况å¯ä»¥åŠ å¿«ã€‚还有,超过一个月的å‘票ä¸å¯ä»¥æŠ¥ã€‚好了,就这些。 +Yī ge yuè zuǒyòu ba. Tèshū qíngkuàng kěyǐ jiākuài. Háiyǒu, chāoguò yī ge yuè de fāpiào bù kěyǐ bào. Hǎo le, jiù zhèxiē. +About a month. For special circumstances it can be sped up. Also, receipts that are over a month old can't be reimbursed. OK, that's it. + +知é“了。谢谢王ç»ç†ã€‚ +Zhīdào le. Xièxie Wáng jīnglǐ. +Got it. Thanks, Mr. Wang. + +

]]>
+ Intermediate +
+ + + + + + PDF - Intermediate - Getting Reimbursed + http://chinesepod.com/learnchinese/getting-reimbursed + Thu, 27 Sep 2007 09:00:00 +0800 + + + ChinesePod.com + no + + + + + + + + + + + + + Elementary - Li Yan's Diary: Love and Italian Food + http://chinesepod.com/learnchinese/li-yans-diary-love-and-italian-food/discussion + Wed, 26 Sep 2007 09:00:00 +0800 + http://chinesepod.com/learnchinese/li-yans-diary-love-and-italian-food +

DiscussionDialogueVocabularyExpansionExercises

Some may deem it 'nosy,' but we prefer the term 'inquisitive.' This week, we find another diary under the mattress, and this time it's young Yang Jie's rival in love... Li Yan. Read along with us as she pours out her soon to be not-so-private thoug

]]>
+ + 12:53 + ChinesePod.com + no + +Some may deem it 'nosy,' but we prefer the term 'inquisitive.' This week, we find another diary under the mattress, and this time it's young Yang Jie's rival in love... Li Yan. Read along with us as she pours out her soon to be not-so-private thoug

Dialogue:

今天天气很好,ä¸è¿‡æˆ‘的心情更好。 +Jīntiān tiānqì hěn hǎo, bùguò wǒ de xīnqíng gèng hǎo. +The weather is really good today, but my mood is even better. + +因为今天王伟请我åƒäº†æ„大利èœã€‚ +Yīnwèi jīntiān Wáng Wěi qǐng wǒ chī le Yìdàlì cài. +It's because today I had Italian food with Wang Wei. + +他真会享å—,ä¸åƒç­é‡Œçš„其他男生,他们都很土。 +Tā zhēn huì xiǎngshòu, bù xiàng bān lǐ de qítā nánshēng, tāmen dōu hěn tǔ. +He really knows how to enjoy things, unlike some other boys in the class. They are all so dorky. + +我想我开始喜欢他了,但是他好åƒå–œæ¬¢æ¨æ´ã€‚ +Wǒ xiǎng wǒ kāishǐ xǐhuan tā le, dànshì tā hǎoxiàng xǐhuan Yáng Jié. +I think I've started to like him, but he seems to like Yang Jie. + +上课的时候,他总是看她。 +Shàngkè de shíhou, tā zǒngshì kàn tā. +During class he always looks at her. + +

]]>
+ Elementary +
+ + + + + + PDF - Elementary - Li Yan's Diary: Love and Italian Food + http://chinesepod.com/learnchinese/li-yans-diary-love-and-italian-food + Wed, 26 Sep 2007 09:00:00 +0800 + + + ChinesePod.com + no + + + + + + + + + + + + + Elementary - Cycling + http://chinesepod.com/learnchinese/cycling/discussion + Sat, 22 Sep 2007 09:00:00 +0800 + http://chinesepod.com/learnchinese/cycling +

DiscussionDialogueVocabularyExpansionExercises

Some cyclists train for years before hitting the track in the Olympics. Other cyclists buy a $30 bicycle and are thrown onto the gritty pavement of a Chinese city to learn from their hard knocks. One such lesson learned being: never pass on the ri

]]>
+ + 11:06 + ChinesePod.com + no + +Some cyclists train for years before hitting the track in the Olympics. Other cyclists buy a $30 bicycle and are thrown onto the gritty pavement of a Chinese city to learn from their hard knocks. One such lesson learned being: never pass on the ri

Dialogue:

你知é“奥è¿ä¼šè‡ªè¡Œè½¦æ¯”赛有哪几ç§å—? +Nǐ zhīdào Àoyùnhuì zìxíngchē bǐsài yǒu nǎ jǐ zhǒng ma? +Do you know which types of cycling competitions are in the Olympics? + +ä¸çŸ¥é“。有哪些? +Bù zhīdào. Yǒu nǎxiē? +No. Which ones? + +有场地赛ã€å…¬è·¯èµ›å’Œå±±åœ°èµ›ã€‚ +Yǒu chǎngdì sài, gōnglù sài hé shāndì sài. +There's track cycling, road cycling, and mountain biking. + +啊,还有一个新的我知é“。 +ā, hái yǒu yī ge xīn de wǒ zhīdào. +Ah, and there's a new one I know. + +是什么? +Shì shénme? +What is it? + +å°è½®è½¦ã€‚ +Xiǎolúnchē. +BMX. + +

]]>
+ Elementary +
+ + + + + + PDF - Elementary - Cycling + http://chinesepod.com/learnchinese/cycling + Sat, 22 Sep 2007 09:00:00 +0800 + + + ChinesePod.com + no + + + + + + + + + + + + + Intermediate - Godzilla in Shanghai + http://chinesepod.com/learnchinese/godzilla-in-shanghai/discussion + Fri, 21 Sep 2007 09:00:00 +0800 + http://chinesepod.com/learnchinese/godzilla-in-shanghai +

DiscussionDialogueVocabularyExpansionExercises

Incredible, unstoppable titan of terror! Mightiest monster! Mightiest melodrama of them all! Civilization crumbles as its death rays blast a city of twenty million from the face of the earth. The legend continues, in Mandarin Chinese... Godzilla

]]>
+ + 12:43 + ChinesePod.com + no + +Incredible, unstoppable titan of terror! Mightiest monster! Mightiest melodrama of them all! Civilization crumbles as its death rays blast a city of twenty million from the face of the earth. The legend continues, in Mandarin Chinese... Godzilla

Dialogue:

å„ä½è§‚众,现在是çªå‘事件报é“。 +Gèwèi guānzhòng, xiànzài shì tūfā shìjiàn bàodào. +Ladies and gentlemen, this is a breaking news report. + +本å°åˆšåˆšæ”¶åˆ°æ¶ˆæ¯ï¼Œå“¥æ–¯æ‹‰åˆšä»Žæ—¥æœ¬ä¸œäº¬æ¥åˆ°ä¸Šæµ·ã€‚ +Běn tái gānggāng shōudào xiāoxi, Gēsīlā gāng cóng Rìběn Dōngjīng láidào Shànghǎi. +Our station just received news that Godzilla has just arrived in Shanghai from Japan. + +他现在正在市中心,摧æ¯æ¥¼æˆ¿ã€è§äººå°±åƒã€‚ +Tā xiànzài zhèngzài shì zhōngxīn, cuīhuǐ lóufáng, jiàn rén jiù chī. +He is now downtown, destroying buildings, and eating anyone he sees. + +æ®æœ¬å°è®°è€…了解,哥斯拉éžå¸¸åºžå¤§ï¼ŒåŠ›é‡æƒŠäººã€‚ +Jù běn tái jìzhě liǎojiě, Gēsīlā fēicháng pángdà, lìliang jīngrén. +Our reporter tells us that Godzilla is huge, with terrifying strength. + +ä»–ç»è¿‡çš„地方都被破å了。 +Tā jīngguò de dìfang dōu bèi pòhuài le. +The places he has passed through have been destroyed. + +现在全市éžå¸¸æ··ä¹±ã€‚ +Xiànzài quánshì fēicháng hùnluàn. +The whole city is in chaos. + +政府已ç»æ´¾å‡ºå†›é˜Ÿã€‚ +Zhèngfǔ yǐjīng pàichū jūnduì. +The government has already dispatched the military. + +如果你看到哥斯拉,请马上逃跑。 +Rúguǒ nǐ kàndào Gēsīlā, qǐng mǎshàng táopǎo. +If you see Godzilla, please run away as fast as you can. + +å•Šï¼Œå“¥æ–¯æ‹‰ï¼ +ā, Gēsīlā! +Ah, Godzilla! + +

]]>
+ Intermediate +
+ + + + + + PDF - Intermediate - Godzilla in Shanghai + http://chinesepod.com/learnchinese/godzilla-in-shanghai + Fri, 21 Sep 2007 09:00:00 +0800 + + + ChinesePod.com + no + + + + + + + + + + + + + Elementary - Yang Jie's Diary: Everyone Is Dating + http://chinesepod.com/learnchinese/yang-jies-diary-everyone-is-dating/discussion + Tue, 18 Sep 2007 09:00:00 +0800 + http://chinesepod.com/learnchinese/yang-jies-diary-everyone-is-dating +

DiscussionDialogueVocabularyExpansionExercises

Here is a Mandarin Chinese lesson to take you back to the simpler days of ugly boys, teenage angst and unrequited crushes. Yes, come with us as we sneak a peek at young Yang Jie's Diary (you know you want to). If the content doesn't sound juicy yet

]]>
+ + 15:16 + ChinesePod.com + no + +Here is a Mandarin Chinese lesson to take you back to the simpler days of ugly boys, teenage angst and unrequited crushes. Yes, come with us as we sneak a peek at young Yang Jie's Diary (you know you want to). If the content doesn't sound juicy yet

Dialogue:

大学里æ¯ä¸ªäººéƒ½åœ¨è°ˆæ‹çˆ±ã€‚ +Dàxué lǐ měi ge rén dōu zài tán liàn ài. +Every person in the university is dating. + +但是我们ç­çš„男生太丑了,都是书呆å­ã€‚ +Dànshì wǒmen bān de nánshēng tài chǒu le, dōu shì shūdāizi. +But the boys in our class are too ugly, and are all bookworms. + +特别是王伟。 +Tèbié shì Wáng Wěi. +Especially Wang Wei. + +除了读书,什么都ä¸çŸ¥é“。 +Chúle dúshū, shénme dōu bù zhīdào. +He doesn't know anything but studying. + +ä¸è¿‡æŽç‡•å¥½åƒå¾ˆå–œæ¬¢ä»–,æ¯å¤©éƒ½å’Œä»–一起åƒé¥­ã€çœ‹ä¹¦ã€‚ +Bùguò Lǐ Yàn hǎoxiàng hěn xǐhuan tā, měitiān dōu hé tā yīqǐ chīfàn, kànshū. +But Li Yan seems to really like him. Every day she eats with him, studies with him. + +我觉得这样太无èŠäº†ï¼Œä¸€ç‚¹éƒ½ä¸æµªæ¼«ï¼ +Wǒ juéde zhèyàng tài wúliáo le, yīdiǎn dōu bù làngmàn! +I feel that's so boring, not romantic at all. + +

]]>
+ Elementary +
+ + + + + + PDF - Elementary - Yang Jie's Diary: Everyone Is Dating + http://chinesepod.com/learnchinese/yang-jies-diary-everyone-is-dating + Tue, 18 Sep 2007 09:00:00 +0800 + + + ChinesePod.com + no + + + + + + + + + + + + + Intermediate - Beauty Pageant Registration + http://chinesepod.com/learnchinese/beauty-pageant-registration/discussion + Mon, 17 Sep 2007 09:00:00 +0800 + http://chinesepod.com/learnchinese/beauty-pageant-registration +

DiscussionDialogueVocabularyExpansionExercises

Since gracing China with your presence you may be starting to suspect you’re getting better looking by the day: those double-eyelids, that great skin-tone, and ‘you’re beautiful’ catcalls from street vendors. This podcast just might put some ideas

]]>
+ + 15:15 + ChinesePod.com + no + +Since gracing China with your presence you may be starting to suspect you’re getting better looking by the day: those double-eyelids, that great skin-tone, and ‘you’re beautiful’ catcalls from street vendors. This podcast just might put some ideas

Dialogue:

请问åšå®¢å°å§åœ¨è¿™é‡ŒæŠ¥åå—? +Qǐng wèn bókè xiǎojie zài zhèlǐ bàomíng ma? +Excuse me, is this the Miss Blogger sign up? + +对。在那里排队。 +Duì. Zài nàlǐ páiduì. +Yes. Line up over there. + +哎,你看,那个女孩儿挺漂亮的。 +āi, nǐ kàn, nàge nǚháir5 tǐng piàoliang de. +Hey, look. That girl is quite pretty. + +是啊,挺有气质的,身æ也ä¸é”™ã€‚我们跟她èŠèŠæ€Žä¹ˆæ ·ï¼Ÿ +Shì a, tǐng yǒu qìzhì de, shēncái yě bùcuò. Wǒmen gēn tā liáoliao zěnmeyàng? +Yeah, rather refined, and with a decent figure. How about chatting with her? + +好啊ï¼...... 报å的人真多,我们都等了一个多å°æ—¶äº†ã€‚ +Hǎo a!...... Bàomíng de rén zhēn duō, wǒmen dōu děng le yī ge duō xiǎoshí le. +All right! ... There are a lot of people signing up. We've been waiting for over an hour already. + +是å—?那我上课è¦è¿Ÿåˆ°äº†ã€‚ +Shì ma? Nà wǒ shàngkè yào chídào le. +Really? Then I'm going to be late for class. + +你还是学生? +Nǐ hái shì xuésheng? +You're still a student? + +嗯,研究生。我å«åˆ˜ä½³ã€‚ +Ng4, yánjiūshēng. Wǒ jiào Liú Jiā. +Yeah, a graduate student. My name is Liu Jia. + +我å«Monica。这是我朋å‹ï¼ŒJessica. +Wǒ jiào Monica. Zhè shì wǒ péngyou, Jessica. +I'm Monica. This is my friend, Jessica. + +你们也是学生å—? +Nǐmen yě shì xuésheng ma? +Are you students too? + +对,我们两个都是学表演的。你是什么专业的? +Duì, wǒmen liǎng ge dōu shì xué biǎoyǎn de. Nǐ shì shénme zhuānyè de? +Yeah, we both study theater. What major are you? + +中文的。 +Zhōngwén. +Chinese. + +那你怎么会æ¥å‚加选美? +Nà nǐ zénme huì lái cānjiā xuǎnměi? +So why would you participate in a beauty pageant? + +是啊。我们学表演的,学校会教我们怎么打扮。而且表演ã€å”±æ­Œã€è·³èˆžã€æ ·æ ·éƒ½è¦å­¦ã€‚正好å¯ä»¥åœ¨é€‰ç¾Žçš„时候用。学中文好åƒå°±æ²¡ä»€ä¹ˆç”¨äº†ã€‚ +Shì a. Wǒmen xué biǎoyǎn de, xuéxiào huì jiāo wǒmen zěnme dǎban. érqiě biǎoyǎn, chànggē, tiàowǔ, yàngyàng dōu yào xué. Zhènghǎo kěyǐ zài xuǎnměi de shíhou yòng. Xué Zhōngwén hǎoxiàng jiù méi shénme yòng le. +Yeah. We study acting, and the school even teaches us how to put on make-up. Plus we have to study performing, singing, dancing, and all that. It comes in handy for a beauty pageant. It seems that learning Chinese just isn't of any use. + +我以å‰ä¹Ÿè¿™ä¹ˆè§‰å¾—。å¯æ²¡æƒ³åˆ°åšå®¢å°å§æœ€é‡è¦çš„是åšå®¢çš„内容。我写的都是二å多å²å¥³ç”Ÿçš„感想,连男生都喜欢看。 +Wǒ yǐqián yě zhème juéde. Kě méixiǎngdào bókè xiǎojie zuì zhòngyào de shì bókè de nèiróng. Wǒ xiě de dōu shì èrshí duō suì nǚshēng de gǎnxiǎng, lián nánshēng dōu xǐhuan kàn. +I used to think that way. But I never imagined that for Miss Blogger the most important thing is the blog content. Everything I write is about the thoughts of a twenty-something girl. Even boys like to read it. + +我的åšå®¢ä¹Ÿå¾ˆå—欢迎。我教大家怎么化妆ã€æ€Žä¹ˆç©¿è¡£æœï¼ +Wǒ de bókè yě hěn shòu huānyíng. Wǒ jiāo dàjiā zěnme huàzhuāng, zěnme chuān yīfu! +Same with my blog. I teach how to apply make-up, and how to dress! + +我的也是。我们上个月都得了åšå®¢æ–°äººå¥–呢。那个比赛你å‚加了å—? +Wǒ de yě shì. Wǒmen shàng ge yuè dōu dé le bókè xīnrén jiǎng ne. Nàge bǐsài nǐ cānjiā le ma? +Me too, the same goes for my blog. Last month we both won new blogger awards. Were you in that competition? + +没有。我的åšå®¢å·²ç»å†™äº†ä¸¤å¹´å¤šäº†ï¼Œæ‰€ä»¥ä¸ç®—新人。ä¸è¿‡è¿™æ¬¡æ˜¯é€‰ç¾ŽåŠ åšå®¢ï¼Œæˆ‘应该算是新人å§ã€‚你们两ä½ä¸€å®šå¾ˆæœ‰ç»éªŒäº†ï¼Œæˆ‘è¦å¤šå‘你们学习啊。 +Méiyǒu. Wǒ de bókè yǐjīng xiě le liǎng nián duō le, suǒyǐ bù suàn xīnrén. Bùguò zhècì shì xuǎnměi jiā bókè, wǒ yīnggāi suàn shì xīnrén ba. Nǐmen liǎng wèi yīdìng hěn yǒu jīngyàn le, wǒ yào duō xiàng nǐmen xuéxí a. +No. I've had my blog for over two years, so I'm not a newcomer. But this time it's a beauty pageant plus blogging, so maybe I am a newcomer there. You two must have a lot of experience. I have to learn a lot from you. + +

]]>
+ Intermediate +
+ + + + + + PDF - Intermediate - Beauty Pageant Registration + http://chinesepod.com/learnchinese/beauty-pageant-registration + Mon, 17 Sep 2007 09:00:00 +0800 + + + ChinesePod.com + no + + + + + + + + + + + + + Elementary - Basic Shapes + http://chinesepod.com/learnchinese/basic-shapes/discussion + Thu, 13 Sep 2007 09:00:00 +0800 + http://chinesepod.com/learnchinese/basic-shapes +

DiscussionDialogueVocabularyExpansionExercises

After months of painstakingly writing Chinese characters, we recommend you take a moment to vent your frustrations by grabbing a felt marker and angrily drawing squares, circles, and triangles all over that Chinese textbook. It's strangely liberatin

]]>
+ + 14:09 + ChinesePod.com + no + +After months of painstakingly writing Chinese characters, we recommend you take a moment to vent your frustrations by grabbing a felt marker and angrily drawing squares, circles, and triangles all over that Chinese textbook. It's strangely liberatin

Dialogue:

å®è´ï¼Œçƒæ˜¯ä»€ä¹ˆå½¢çŠ¶çš„? +Bǎobèi, qiú shì shénme xíngzhuàng de? +Baby, what shape are balls? + +ä¸çŸ¥é“。 +Bù zhīdào. +I don't know. + +çƒæ˜¯åœ†çš„,太阳也是圆的。 +Qiú shì yuán de, tàiyáng yě shì yuán de. +Balls are round. The sun is round too. + +爸爸,那,书是什么形状的呢? +Bàba, nà, shū shì shénme xíngzhuàng de ne? +So, Daddy, what shape is a book? + +书是方的,门也是方的。 +Shū shì fāng de, mén yě shì fāng de. +Books are rectangular. Doors are rectangular too. + +我知é“了。 +Wǒ zhīdào le. +I see. + +那,你的三明治是什么形状的? +Nà, nǐ de sānmíngzhì shì shénme xíngzhuàng de? +So, what shape is your sandwich? + +ä¸çŸ¥é“。 +Bù zhīdào. +I don't know. + +是三角形的。 +Shì sānjiǎoxíng de. +It's triangular. + +

]]>
+ Elementary +
+ + + + + + PDF - Elementary - Basic Shapes + http://chinesepod.com/learnchinese/basic-shapes + Thu, 13 Sep 2007 09:00:00 +0800 + + + ChinesePod.com + no + + + + + + + + + + + + + Intermediate - Death by Ninja + http://chinesepod.com/learnchinese/death-by-ninja/discussion + Wed, 12 Sep 2007 09:00:00 +0800 + http://chinesepod.com/learnchinese/death-by-ninja +

DiscussionDialogueVocabularyExpansionExercises

Though ninjas aren't generally considered one of the risks of doing business in China, one never knows when one is in danger of being knocked off. Sometimes letting down the facade of Mr. Nice Guy can turn on you, as our Canadian businessman Peter i

]]>
+ + 13:43 + ChinesePod.com + no + +Though ninjas aren't generally considered one of the risks of doing business in China, one never knows when one is in danger of being knocked off. Sometimes letting down the facade of Mr. Nice Guy can turn on you, as our Canadian businessman Peter i

Dialogue:

这个Peter, 我一定è¦å¥½å¥½æ•™è®­ä»–ï¼å–‚,è¦ä½ å¸®ä¸ªå¿™ã€‚有个加拿大人,我ä¸æƒ³å†çœ‹åˆ°ä»–了。明白å—? +Zhège Peter, wǒ yīdìng yào hǎohāo jiàoxun tā! Wèi, yào nǐ bāng ge máng. Yǒu ge Jiānádà rén, wǒ bù xiǎng zài kàndào tā le. Míngbai ma? +That Peter... I really have to teach him a lesson. Hello? I need your help. There's a Canadian I don't ever want to see again. You get my drift? + +明白了。我们å¿è€…办事,你放心。 +Míngbai le. Wǒmen rěnzhě bànshì, nǐ fàngxīn. +I get it. We ninjas will take care of it. Relax. + +那我等你的好消æ¯ã€‚ +Nà wǒ děng nǐ de hǎo xiāoxi. +Then I'll wait for the good news. + + +(Time passes) + + +喂,Peter。 +Wèi, Peter. +Hello, Peter. + +哎,æŽç»ç†ï¼Œè´§å‘出æ¥äº†å—? +āi, Lǐ jīnglǐ, huò fā chūlai le ma? +Ah, Mr. Li. Have you shipped yet? + +下星期就å‘。 +Xiàxīngqī jiù fā. +We'll ship next week. + +哦,请你快一点。 +ō, qǐng nǐ kuài yīdiǎn. +Oh, please be a little faster. + +我å¯ä»¥å¿«ã€‚åªå¯æƒœä½ çœ‹ä¸åˆ°äº†ã€‚ +Wǒ kěyǐ kuài. Zhǐ kěxī nǐ kànbudào le. +I can be fast. Too bad you won't be around to see it. + +为什么?你什么æ„æ€ï¼Ÿ +Wèishénme? Nǐ shénme yìsi? +Why not? What's that supposed to mean? + +Peter, ä½ ä¸æ‡‚规矩。你自己觉得呢? +Peter, nǐ bù dǒng guīju. Nǐ zìjǐ juéde ne? +Peter, you don't understand the rules. Don't you think so? + +我ä¸æ˜Žç™½ä½ çš„æ„æ€ã€‚我没有åšé”™ä»€ä¹ˆå•Šã€‚ +Wǒ bù míngbai nǐ de yìsi. Wǒ méiyǒu zuòcuò shénme a. +I don't know what you mean. I didn't do anything wrong. + +哎,你怎么还是ä¸æ‡‚呢?你会åŽæ‚”的。 +āi, nǐ zěnme háishi bù dǒng ne? Nǐ huì hòuhuǐ de. +Ah, you still don't get it, do you? You're going to regret that. + +我æ‰ä¸æ€•ä½ ã€‚喂?啊ï¼å¿è€…ï¼ +Wǒ cái bù pà nǐ. Wèi? à! Rěnzhě! +I'm not afraid of you. Hello? Augh! Ninjas! + +哈ã€å“ˆã€å“ˆâ€¦â€¦ã€‚ +Hā, hā, hā....... +Ha ha ha... + +

]]>
+ Intermediate +
+ + + + + + PDF - Intermediate - Death by Ninja + http://chinesepod.com/learnchinese/death-by-ninja + Wed, 12 Sep 2007 09:00:00 +0800 + + + ChinesePod.com + no + + + + + + + + + + + + + Elementary - Olympic Training + http://chinesepod.com/learnchinese/olympic-training/discussion + Sun, 09 Sep 2007 09:00:00 +0800 + http://chinesepod.com/learnchinese/olympic-training +

DiscussionDialogueVocabularyExpansionExercises

It would be remiss to have a Mandarin lesson on training for the Olympic Games without a Chinese learning analogy to go with. So... Ken is your coach. Jenny, your cheerleader. The daily podcast is your pep talk. The expansion sentences are your c

]]>
+ + 13:00 + ChinesePod.com + no + +It would be remiss to have a Mandarin lesson on training for the Olympic Games without a Chinese learning analogy to go with. So... Ken is your coach. Jenny, your cheerleader. The daily podcast is your pep talk. The expansion sentences are your c

Dialogue:

为奥è¿ä¼šåšå‡†å¤‡çœŸä¸å®¹æ˜“。 +Wèi Àoyùnhuì zuò zhǔnbèi zhēn bù róngyì. +It's really not easy to prepare for the Olympics. + +当然咯ï¼è¿åŠ¨å‘˜çš„生活里åªæœ‰è®­ç»ƒã€‚ +Dāngrán lo! Yùndòngyuán de shēnghuó lǐ zhǐyǒu xùnliàn. +Of course! An athlete's life is all training. + +他们真是太辛苦了。 +Tāmen zhēnshì tài xīnkǔ le. +They're just so sacrificing. + +是啊,我们看比赛轻æ¾å¤šäº†ã€‚ +Shì a, wǒmen kàn bǐsài qīngsōng duō le. +Yeah, it's a lot easier for us, watching the competitions. + +

]]>
+ Elementary +
+ + + + + + PDF - Elementary - Olympic Training + http://chinesepod.com/learnchinese/olympic-training + Sun, 09 Sep 2007 09:00:00 +0800 + + + ChinesePod.com + no + + + + + + + + + + + + + Intermediate - Beauty Pageant for Bloggers + http://chinesepod.com/learnchinese/beauty-pageant-for-bloggers/discussion + Tue, 04 Sep 2007 09:00:00 +0800 + http://chinesepod.com/learnchinese/beauty-pageant-for-bloggers +

DiscussionDialogueVocabularyExpansionExercises

'Beauty' and 'bloggers' may not seem a likely recipe for an eye-pleasing swimsuit competition. But in the new internet age, worlds meld. In this podcast, learn in Mandarin Chinese about a blogger who has got it all: nerdiness and avatar-appeal. M

]]>
+ + 13:59 + ChinesePod.com + no + +'Beauty' and 'bloggers' may not seem a likely recipe for an eye-pleasing swimsuit competition. But in the new internet age, worlds meld. In this podcast, learn in Mandarin Chinese about a blogger who has got it all: nerdiness and avatar-appeal. M

Dialogue:

佳佳,我们有个好消æ¯è¦å‘Šè¯‰ä½ ï¼ +Jiājia, wǒmen yǒu ge hǎo xiāoxi yào gàosu nǐ! +Jiajia, we have some good news for you! + +什么消æ¯ï¼Ÿä¸ç”¨è€ƒè¯•äº†ï¼Ÿ +Shénme xiāoxi? Bùyòng kǎoshì le? +What news? We don't have to take the exam? + +比这个还好。有个选美比赛快è¦å¼€å§‹äº†ã€‚你一定è¦åŽ»å‚åŠ ï¼ +Bǐ zhège hái hǎo. Yǒu ge xuǎnměi bǐsài kuài yào kāishǐ le. Nǐ yīdìng yào qù cānjiā! +Even better. There's a beauty pageant that's going to start soon. You totally have to be in it! + +哎哟,别开玩笑了ï¼æˆ‘怎么够格? +āiyō, bié kāi wánxiào le! Wǒ zěnme gòugé? +Oh, stop joking around! How would I qualify? + +ä½ ä¸å¤Ÿæ ¼ï¼Œè°å¤Ÿæ ¼ï¼Ÿ +Nǐ bù gòugé, shéi gòugé? +If you don't qualify, who qualifies? + +佳佳,你这么漂亮,而且åšå®¢ä¹Ÿå†™å¾—这么好,ä¸åŽ»å¤ªå¯æƒœäº†ã€‚ +Jiājia, nǐ zhème piàoliang, érqiě bókè yě xiě de zhème hǎo, bù qù tài kěxī le. +Jiajia, you're so pretty, plus you're such a good blogger. It would be such a shame not to do it. + +是啊。我如果有你一åŠæ¼‚亮,肯定马上就去。 +Shì a. Wǒ rúguǒ yǒu nǐ yībàn piàoliang, kěndìng mǎshàng jiù qù. +Yeah. If I were half as pretty as you, I'd do it right away. + +那你们先说说是什么比赛? +Nà nǐmen xiān shuōshuo shì shénme bǐsài? +OK, first tell me something about the competition. + +åšå®¢å°å§ã€‚å‚加的人一定è¦æœ‰è‡ªå·±çš„åšå®¢ã€‚ +Bókè xiǎojie. Cānjiā de rén yīdìng yào yǒu zìjǐ de bókè. +Miss Blogger. Participants must have their own blogs. + +选美和åšå®¢æœ‰ä»€ä¹ˆå…³ç³»ï¼Ÿ +Xuǎnměi hé bókè yǒu shénme guānxi? +What does beauty have to do with blogs? + +这个比赛ä¸åªæ˜¯æ¯”è°æ¼‚亮,最é‡è¦çš„是比头脑。你既有外表,åˆæœ‰å†…涵。åšå®¢å°å§è‚¯å®šæ˜¯ä½ ï¼ +Zhège bǐsài bù zhǐshì bǐ shéi piàoliang, zuì zhòngyào de shì bǐ tóunǎo. Nǐ jì yǒu wàibiǎo, yòu yǒu nèihán. Bókè xiǎojie kěndìng shì nǐ! +The competition is not just about who's the prettiest. The important thing is who's got brains. You've got both the looks and the smarts. Miss Blogger is so you! + +是啊ã€æ˜¯å•Šã€‚报åå·²ç»å¼€å§‹äº†ï¼Œä½ èµ¶å¿«åŽ»å§ï¼ +Shì a, shì a. Bàomíng yǐjīng kāishǐ le, nǐ gǎnkuài qù ba! +Yeah, yeah. Registration has already started. Hurry over there! + +需è¦ç©¿æ¯”基尼å—?那样的è¯ï¼Œæ‰“死我也ä¸åŽ»ã€‚ +Xūyào chuān bǐjīní ma? Nàyàng dehuà, dǎsǐ wǒ yě bù qù. +Do I need to wear a bikini? If it's like that, even torture won't get me to do it. + +ä¸éœ€è¦ã€‚这个比赛比的是头脑。 +Bù xūyào. Zhège bǐsài bǐ de shì tóunǎo. +You don't need to. The contest is about brains. + +最é‡è¦çš„是,å¯ä»¥è®©å¤§å®¶éƒ½çŸ¥é“你,读你的åšå®¢ã€‚ +Zuì zhòngyào de shì, kěyǐ ràng dàjiā dōu zhīdào nǐ, dú nǐ de bókè. +The most important thing is getting everyone to know you, and to read your blog. + +好了ã€å¥½äº†ã€‚那我试试å§ã€‚ +Hǎo le, hǎo le. Nà wǒ shìshi ba. +Ok, OK. I'll give it a try. + +耶ï¼ä½³ä½³è¦å‡ºåäº†ï¼ +Yē! Jiājia yào chūmíng le! +Yay! Jiajia is going to be famous! + +

]]>
+ Intermediate +
+ + + + + + PDF - Intermediate - Beauty Pageant for Bloggers + http://chinesepod.com/learnchinese/beauty-pageant-for-bloggers + Tue, 04 Sep 2007 09:00:00 +0800 + + + ChinesePod.com + no + + + + + + + + + + + + + Elementary - Man or Woman? + http://chinesepod.com/learnchinese/man-or-woman/discussion + Mon, 03 Sep 2007 09:00:00 +0800 + http://chinesepod.com/learnchinese/man-or-woman +

DiscussionDialogueVocabularyExpansionExercises

When he/she walks like a woman and talks like a man, and the response that comes to your query of “Who is that?†is “It’s Pat,†you may find yourself in a quandary of gender identification. Think you can fake your way through this kind of predicament

]]>
+ + 14:22 + ChinesePod.com + no + +When he/she walks like a woman and talks like a man, and the response that comes to your query of “Who is that?†is “It’s Pat,†you may find yourself in a quandary of gender identification. Think you can fake your way through this kind of predicament

Dialogue:

那个人是男的还是女的? +Nèige rén shì nánde háishi nǚde? +Is that person male or female? + +肯定是男的。头å‘那么短。 +Kěndìng shì nánde. Tóufa nàme duǎn. +Got to be male. His hair is so short. + +但是走路的样å­åƒå¥³çš„。 +Dànshì zǒulù de yàngzi xiàng nǚde. +But the way she walks looks female. + +是有点åƒã€‚ä¸è¿‡é•¿å¾—åƒç”·çš„。 +Shì yǒudiǎn xiàng. Bùguò zhǎng de xiàng nánde. +Yes, it does. But she looks male. + +到底是男的还是女的? +Dàodǐ shì nánde háishi nǚde? +Is he male or female?? + +我也糊涂了。 +Wǒ yě hútu le. +I'm confused too. + +

]]>
+ Elementary +
+ + + + + + PDF - Elementary - Man or Woman? + http://chinesepod.com/learnchinese/man-or-woman + Mon, 03 Sep 2007 09:00:00 +0800 + + + ChinesePod.com + no + + + + + + + + + + + + + Intermediate - Flattery in the Office + http://chinesepod.com/learnchinese/flattery-in-the-office/discussion + Thu, 30 Aug 2007 09:00:00 +0800 + http://chinesepod.com/learnchinese/flattery-in-the-office +

DiscussionDialogueVocabularyExpansionExercises

Rules of boss flattery: if you start complimenting your beer-bellied boss on his figure, he might catch on that you're just looking for a raise. Better to stick to his rugged good looks. In this podcast, a Mandarin lesson on how to use your Chine

]]>
+ + 15:32 + ChinesePod.com + no + +Rules of boss flattery: if you start complimenting your beer-bellied boss on his figure, he might catch on that you're just looking for a raise. Better to stick to his rugged good looks. In this podcast, a Mandarin lesson on how to use your Chine

Dialogue:

è€æ¿æ—©ï¼å“Ÿï¼Œæ‚¨ä»Šå¤©æ°”è‰²çœŸå¥½ï¼ +Lǎobǎn zǎo! Yō, nín jīntiān qìsè zhēn hǎo! +Good morning, boss! Wow, you're looking energetic today! + +是å—?我觉得和平时差ä¸å¤šå˜›ã€‚ +Shì ma? Wǒ juéde hé píngshí chàbuduō ma. +Really? I feel the same as always... + +平时就ä¸é”™ï¼Œæœ€è¿‘是越æ¥è¶Šå¥½äº†ã€‚我们公å¸çš„业绩也跟您的气色一样,一天比一天好了。 +Píngshí jiù bùcuò, zuìjìn shì yuèláiyuè hǎo le. Wǒmen gōngsī de yèjì yě gēn nín de qìsè yīyàng, yī tiān bǐ yī tiān hǎo le. +Well, you're always pretty good, but you've been looking better and better lately. Our company's results are also looking good, and getting better every day. + +è¿™è¦å¤šè°¢å¤§å®¶çš„努力啊。 +Zhè yào duōxiè dàjiā de nǔlì a. +Well, we have everyone's hard work to thank for that. + +è€æ¿ï¼Œæ‚¨æ¥å¾—真早。现在哪有åƒæ‚¨è¿™æ ·è®¤çœŸçš„è€æ¿ï¼ +Lǎobǎn, nín lái de zhēn zǎo. Xiànzài nǎyǒu xiàng nín zhèyàng rènzhēn de lǎobǎn! +Boss, you're here early. These days a boss as dedicated as you is hard to come by! + +事情多嘛,肯定è¦æ—©ç‚¹æ¥ã€‚ +Shìqing duō ma, kěndìng yào zǎo diǎn lái. +There's a lot to do. I've got to come early. + +现在好多è€æ¿éƒ½æŠŠå·¥ä½œæŽ¨ç»™å‘˜å·¥ã€‚而您都是自己åšï¼Œè¿˜æ•™æˆ‘们怎么åšã€‚这几年我们从您那儿学了ä¸å°‘东西。 +Xiànzài hǎo duō lǎobǎn dōu bǎ gōngzuò tuīgěi yuángōng. ér nín dōu shì zìjǐ zuò, hái jiāo wǒmen zěnme zuò. Zhè jǐ nián wǒmen cóng nín nàr5 xué le bùshǎo dōngxi. +Nowadays a lot of bosses push their work onto their employees. But you do it yourself, and teach us how to do it. We've learned a lot from you these past few years. + +应该的。你们有进步,公å¸æ‰ä¼šè¿›æ­¥å•Šã€‚ +Yīnggāi de. Nǐmen yǒu jìnbù, gōngsī cái huì jìnbù a. +That's my job. Only when you all make progress does the company make progress. + +è€æ¿æ—©ï¼æ‚¨ç©¿è¥¿è£…真好看。您身æä¿æŒå¾—这么好,肯定有什么çªé—¨å§ï¼Ÿ +Lǎobǎn zǎo! Nín chuān xīzhuāng zhēn hǎokàn. Nín shēncái bǎochí de zhème hǎo, kěndìng yǒu shénme qiàomén ba? +Good morning boss! You look good in a suit. You've really stayed in shape. You must have some secret technique? + +我肚å­è¿™ä¹ˆå¤§ï¼Œæ€Žä¹ˆèƒ½å«å¥½å‘¢ï¼Ÿ +Wǒ dùzi zhème dà, zěnme néng jiào hǎo ne? +How can you call a belly this big "staying in shape?" + +您这是ç¦ç›¸ã€‚别人想è¦éƒ½æ²¡æœ‰å‘¢ã€‚ +Nín zhè shì fúxiàng. Biérén xiǎng yào dōu méiyǒu ne. +That's just showing your success. Some people who want that can't get it. + +呵呵,今天是什么日å­ï¼Ÿå¤§å®¶éƒ½å¤¸æˆ‘。噢,对了ï¼ä»Šå¤©æˆ‘è¦å†³å®šè°å‡èŒã€‚ +Hēhē, jīntiān shì shénme rìzi? Dàjiā dōu kuā wǒ. ō, duì le! Jīntiān wǒ yào juédìng shéi shēngzhí. +Heh heh. What day is today? Everyone is complimenting me. Oh, that's right! Today I have to decide who gets promoted... + +

]]>
+ Intermediate +
+ + + + + + PDF - Intermediate - Flattery in the Office + http://chinesepod.com/learnchinese/flattery-in-the-office + Thu, 30 Aug 2007 09:00:00 +0800 + + + ChinesePod.com + no + + + + + + + + + + + + + Elementary - Number Two + http://chinesepod.com/learnchinese/number-two/discussion + Wed, 29 Aug 2007 09:00:00 +0800 + http://chinesepod.com/learnchinese/number-two +

DiscussionDialogueVocabularyExpansionExercises

Writing classy lessons about bodily functions may be considered a difficult task by some. One lesson better left to the naughty neighborhood kids, perhaps. But, we at ChinesePod know that there are certain times where acting out what you are trying

]]>
+ + 12:35 + ChinesePod.com + no + +Writing classy lessons about bodily functions may be considered a difficult task by some. One lesson better left to the naughty neighborhood kids, perhaps. But, we at ChinesePod know that there are certain times where acting out what you are trying

Dialogue:

我们回去å§ã€‚ +Wǒmen huíqu ba. +Let's go back. + +还早呢。 +Hái zǎo ne. +It's still early. + +å¯æ˜¯æˆ‘想回去上厕所。 +Kěshì wǒ xiǎng huíqu shàng cèsuǒ. +But I want to go back to use the restroom. + +这里ä¸æ˜¯æœ‰åŽ•æ‰€å—? +Zhèlǐ bù shì yǒu cèsuǒ ma? +Isn't there a restroom here? + +我ä¸æƒ³ä¸Šå…¬åŽ•ã€‚ +Wǒ bù xiǎng shàng gōngcè. +I don't want to use the public toilet. + +为什么?挺干净的。 +Wèishénme? Tǐng gānjìng de. +Why? It's quite clean. + +我想上大å·ã€‚å¿«èµ°å§ï¼æˆ‘很急。 +Wǒ xiǎng shàng dàhào. Kuài zǒu ba! Wǒ hěn jí. +I have to go number two. C'mon, let's go! It's urgent. + +

]]>
+ Elementary +
+ + + + + + PDF - Elementary - Number Two + http://chinesepod.com/learnchinese/number-two + Wed, 29 Aug 2007 09:00:00 +0800 + + + ChinesePod.com + no + + + + + + + + + + + + + Elementary - Volleyball + http://chinesepod.com/learnchinese/volleyball/discussion + Sat, 25 Aug 2007 09:00:00 +0800 + http://chinesepod.com/learnchinese/volleyball +

DiscussionDialogueVocabularyExpansionExercises

How a sport which involves sweaty sun-kissed bodies prancing around on sandy beaches became an official Olympic sport, who can say. But the gods of Athens would likely approve. In this podcast, catch some exciting Olympic volleyball action i

]]>
+ + 12:29 + ChinesePod.com + no + +How a sport which involves sweaty sun-kissed bodies prancing around on sandy beaches became an official Olympic sport, who can say. But the gods of Athens would likely approve. In this podcast, catch some exciting Olympic volleyball action i

Dialogue:

观众朋å‹ä»¬ï¼Œå¥³æŽ’比赛开始了。 +Guānzhòng péngyou men, nǚpái bǐsài kāishǐ le. +Spectator friends, the women's volleyball competition has begun. + +现在是å¤å·´å¥³æŽ’å‘çƒã€‚ +Xiànzài shì Gǔbā nǚpái fāqiú. +The Cuban women's volleyball team is serving now. + +中国队接çƒä¸é”™ã€‚ +Zhōngguó duì jiēqiú bùcuò. +Team China returned it pretty well. + +å¤å·´é˜Ÿçš„防守也很强。 +Gǔbā duì de fángshǒu yě hěn qiáng. +Team Cuba's defense is also very strong. + +åŒäººæ‹¦ç½‘。 +Shuāngrén lánwǎng. +Two-person block at the net. + +扣çƒï¼ +Nǐ huì kāichē ma? +Spike! + +啊呀,出界了。 +āyā, chūjiè le. +Oh, it's out of bounds. + +

]]>
+ Elementary +
+ + + + + + PDF - Elementary - Volleyball + http://chinesepod.com/learnchinese/volleyball + Sat, 25 Aug 2007 09:00:00 +0800 + + + ChinesePod.com + no + + + + + + + + + + + + + Intermediate - City Stats + http://chinesepod.com/learnchinese/city-stats/discussion + Fri, 24 Aug 2007 09:00:00 +0800 + http://chinesepod.com/learnchinese/city-stats +

DiscussionDialogueVocabularyExpansionExercises

One never knows when one will find oneself in a game of pin the tail on the Chinese city. Get a head start on your Chinese topography. In a place where a city you've never even heard of can have the population equivalent to that of a small country,

]]>
+ + 16:30 + ChinesePod.com + no + +One never knows when one will find oneself in a game of pin the tail on the Chinese city. Get a head start on your Chinese topography. In a place where a city you've never even heard of can have the population equivalent to that of a small country,

Dialogue:

ä½ è€å®¶åœ¨å“ªå„¿ï¼Ÿ +Nǐ lǎojiā zài nǎr5? +Where are you originally from? + +æ²³å—å—阳。你呢? +Hénán Nányáng. Nǐ ne? +Nanyang, Henan. How about you? + +浙江衢州。å—阳在河å—çš„å—é¢å—? +Zhèjiāng Qúzhōu. Nányáng zài Hénán de nánmiàn ma? +Quzhou, Zhejiang. Is Nanyang in southern Henan? + +在西å—。衢州呢? +Zài xīnán. Qúzhōu ne? +It's in the southwest. How about Quzhou? + +在浙江的西é¢ã€‚它是浙江ã€å®‰å¾½ã€æ±Ÿè¥¿å’Œç¦å»ºå››ä¸ªçœçš„交界。 +Zài Zhèjiāng de xīmiàn. Tā shì Zhèjiāng, Ānhuī, Jiāngxī hé Fújiàn sì ge shěng de jiāojiè. +It's in western Zhejiang. It's where the four provinces of Zhejiang, Anhui, Jiangxi, and Fujian come together. + +这么厉害ï¼ä½ ä»¬é‚£å„¿æœ‰å¤šå°‘人å£ï¼Ÿ +Zhème lìhai! Nǐmen nàr5 yǒu duōshao rénkǒu? +Wow. What's the population there? + +好åƒä¸¤ç™¾å¤šä¸‡äººå§ã€‚你们å—阳呢? +Hǎoxiàng liǎngbǎi duō wàn rén ba. Nǐmen Nányáng ne? +I think it's over 2 million people. How about Nanyang? + +å—阳是个大城市,有一åƒå¤šä¸‡ã€‚ +Nányáng shì ge dàchéngshì, yǒu yīqiān duō wàn. +Nanyang is a big city. It has over 10 million. + +啊,这么多?å—阳的ç»æµŽæ€Žä¹ˆæ ·ï¼Ÿå‘è¾¾å—?人å‡GDP是多少? +ǎ, zhème duō? Nányáng de jīngjì zěnmeyàng? Fādá ma? Rénjūn GDP shì duōshao? +Wow, really? How is Nanyang's economy? Is it developed? What's the average GDP? + +你怎么问这么专业的问题?具体的数字我记ä¸æ¸…了,大概一万å—å·¦å³å§ã€‚衢州是ä¸æ˜¯é«˜å¤šäº†ï¼Ÿå¬è¯´æµ™æ±Ÿå¾ˆå¯Œçš„。 +Nǐ zěnme wèn zhème zhuānyè de wèntí? Jùtǐ de shùzì wǒ jìbuqīng le, dàgài yīwàn kuài zuǒyòu ba. Qúzhōu shì bu shì gāo duō le? Tīngshuō Zhèjiāng hěn fù de. +What's with all the specialized questions? I don't remember the specific numbers, but it's at about 10,000 RMB. Is Quzhou's a lot higher? I hear Zhejiang is quite well-off. + +浙江那么大,富的有,穷的也有嘛。衢州算比较穷的。å—阳有什么特产? +Zhèjiāng nàme dà, fù de yǒu, qióng de yě yǒu ma. Qúzhōu suàn bǐjiào qióng de. Nányáng yǒu shénme tèchǎn? +Zhejiang is so big. There are rich and poor cities. Quzhou is one of the poorer ones. + +我们的特产是玉。 +Wǒmen de tèchǎn shì yù. +What are the main trades? + +玉?真幸ç¦å•Šã€‚买玉肯定åˆä¾¿å®œåˆå¥½ã€‚哎,我们的就普通多了。 +Yù? Zhēn xìngfú a. Mǎi yù kěndìng yòu piányi yòu hǎo. āi, wǒmen de jiù pǔtōng duō le. +Manufacturing, and also chemical engineering. What about Nanyang? + +是什么? +Shì shénme? +We do mainly mineral production and construction materials. By the way, our local specialty is jade. + +茶å¶å’Œæ¡”å­ã€‚å—阳是å¤åŸŽå§ï¼Ÿ +Cháyè hé júzi. Nányáng shì gǔchéng ba? +Jade? That's really lucky. You must be able to get good jade for cheap. (Sigh) Ours is a lot more ordinary. + +没错。你们那儿是水乡å—? +Méicuò. Nǐmen nàr5 shì shuǐxiāng ma? +What is it? + +是啊。真的是好山好水。有空你一定è¦æ¥çŽ©ã€‚ +Shì a. Zhēnde shì hǎoshān hǎoshuǐ. Yǒukòng nǐ yīdìng yào lái wán. +Tea and tangerines. Is Nanyang an ancient city? + +好的,一言为定。 +Hǎo de, yīyánwéidìng. +That's right. Is yours a water town? + +

]]>
+ Intermediate +
+ + + + + + PDF - Intermediate - City Stats + http://chinesepod.com/learnchinese/city-stats + Fri, 24 Aug 2007 09:00:00 +0800 + + + ChinesePod.com + no + + + + + + + + + + + + + Elementary - Trouble with Grades + http://chinesepod.com/learnchinese/trouble-with-grades/discussion + Tue, 21 Aug 2007 09:00:00 +0800 + http://chinesepod.com/learnchinese/trouble-with-grades +

DiscussionDialogueVocabularyExpansionExercises

Fortunately, ChinesePod won't be sending report cards home to your moms (though we of course would give you all A's!) However, for the millions of Chinese kids in the world, getting good grades can make or break things on the homefront. Listen to t

]]>
+ + 10:34 + ChinesePod.com + no + +Fortunately, ChinesePod won't be sending report cards home to your moms (though we of course would give you all A's!) However, for the millions of Chinese kids in the world, getting good grades can make or break things on the homefront. Listen to t

Dialogue:

我死定了。 +Wǒ sǐ dìng le. +I'm so dead. + +怎么了? +Zěnme le? +What is it? + +我这次考得很差。 +Wǒ zhècì kǎo de hěn chà. +I did terribly on the last test. + +我也很差。 +Wǒ yě hěn chà. +Me too. + +我爸妈会打死我的。 +Wǒ bàmā huì dǎ sǐ wǒ de. +My parents are going to beat me to death. + +应该ä¸ä¼šå§ã€‚ +Yīnggāi bù huì ba. +They won't really, right? + +

]]>
+ Elementary +
+ + + + + + PDF - Elementary - Trouble with Grades + http://chinesepod.com/learnchinese/trouble-with-grades + Tue, 21 Aug 2007 09:00:00 +0800 + + + ChinesePod.com + no + + + + + + + + + + + + + Intermediate - Negotiating Price and Payment Terms + http://chinesepod.com/learnchinese/negotiating-price-and-payment-terms/discussion + Mon, 20 Aug 2007 09:00:00 +0800 + http://chinesepod.com/learnchinese/negotiating-price-and-payment-terms +

DiscussionDialogueVocabularyExpansionExercises

In this installment of our series, Canadian businessman Peter decides to lose the 'nice guy' image and get down and dirty in his negotiations with the Chinese factory. In this podcast, learn some Chinese-style business negotiation tactics. Listen a

]]>
+ + 14:10 + ChinesePod.com + no + +In this installment of our series, Canadian businessman Peter decides to lose the 'nice guy' image and get down and dirty in his negotiations with the Chinese factory. In this podcast, learn some Chinese-style business negotiation tactics. Listen a

Dialogue:

æŽç»ç†ï¼Œæˆ‘是Peter。 +Lǐ jīnglǐ, wǒ shì Peter. +Mr. Li, this is Peter. + +哦ï¼æ€Žä¹ˆäº†ï¼Ÿ +ō! Zěnme le? +Oh! What is it? + +榔头的价格ä¸å¯¹ï¼Œæ¯”你当时的报价高。 +Lángtou de jiàgé bù duì, bǐ nǐ dāngshí de bàojià gāo. +The hammer price isn't right. It's higher than the quote you gave me. + +Peter,你也知é“最近美金贬值了,所以我们公å¸è°ƒæ•´äº†ä»·æ ¼ã€‚ +Peter, nǐ yě zhīdào zuìjìn měijīn biǎnzhí le. Suǒyǐ wǒmen gōngsī tiáozhěng le jiàgé. +Peter, you know that recently the American dollar has depreciated. We've had to revise our prices. + +å¯æ˜¯ä»·æ ¼æˆ‘们已ç»è¯´å¥½äº†ã€‚ä½ ä¸èƒ½ä¸è®²ä¿¡ç”¨ã€‚ +Kěshì jiàgé wǒmen yǐjīng shuōhǎo le. Nǐ bùnéng bù jiǎng xìnyòng. +But we already agreed on the price. You can't be untrustworthy. + +我也没办法啊。 +Wǒ yě méi bànfǎ a. +There's nothing I can do either. + +那我们没法åˆä½œäº†ã€‚ +Nà wǒmen méifǎ hézuò le. +Then I'm afraid we can't work together. + +Peter, 和气生财。我们å¯ä»¥å•†é‡ã€‚ +Peter, héqìshēngcái. Wǒmen kěyǐ shāngliang. +Peter, amiability will get you rich. We can discuss it. + +好,现金预付款我ä¸ä»˜ã€‚所有的货款è¿è¾“å‰ä»˜ã€‚ +Hǎo, xiànjīn yùfùkuǎn wǒ bù fù. Suǒyǒu de huòkuǎn yùnshū qián fù. +Well, I'm not paying the cash advance. The entire payment will be made prior to shipping. + +什么?没有钱,我们怎么生产? +Shénme? Méiyǒu qián, wǒmen zěnme shēngchǎn? +What? Without money, how can we manufacture? + +看æ¥æˆ‘们没法谈下去了。 +Kànlai wǒmen méifǎ tán xiàqu le. +Looks like there's no more room for negotiation. + +这样å§ï¼Œæ²¡æœ‰é¢„付款å¯ä»¥ï¼Œä½†ä½ è¦å¼€ä¿¡ç”¨è¯ã€‚ +Zhèyàng ba, méiyǒu yùfùkuǎn kěyǐ, dàn nǐ yào kāi xìnyòngzhèng. +How about this: No cash advance is all right. But you have to provide a letter of credit. + +å¯ä»¥ã€‚æŽç»ç†ï¼Œæˆ‘希望你们能包括标签。 +Kěyǐ. Lǐ jīnglǐ, wǒ xīwàng nǐmen néng bāokuò biāoqiān. +OK. Mr. Li, I hope you can include labels for each box. + +è¡Œï¼å°±ç®—交个朋å‹å§ã€‚ +Xíng! Jiù suàn jiāo ge péngyou ba. +Can do! Consider it a new friendship. + +是啊,有钱大家赚。 +Shì a, yǒu qián dàjiā zhuàn. +Yes, there's money for us all to make. + +å“Žï¼Œä½ çš„é’±éš¾èµšå•Šï¼ +āi, nǐ de qián nán zhuàn a! +Oh, your money is not easy to earn! + +

]]>
+ Intermediate +
+ + + + + + PDF - Intermediate - Negotiating Price and Payment Terms + http://chinesepod.com/learnchinese/negotiating-price-and-payment-terms + Mon, 20 Aug 2007 09:00:00 +0800 + + + ChinesePod.com + no + + + + + + + + + + + + + Elementary - To Bow or Not to Bow + http://chinesepod.com/learnchinese/to-bow-or-not-to-bow/discussion + Thu, 16 Aug 2007 09:00:00 +0800 + http://chinesepod.com/learnchinese/to-bow-or-not-to-bow +

DiscussionDialogueVocabularyExpansionExercises

A shake of the hand received with an approving grip. A bow of the head prompts a slightly confused bow in return. A bear hug... a stone stiff body. Two kisses on each cheek... well, you might want to think twice about that one. Unsure what to do?

]]>
+ + 14:46 + ChinesePod.com + no + +A shake of the hand received with an approving grip. A bow of the head prompts a slightly confused bow in return. A bear hug... a stone stiff body. Two kisses on each cheek... well, you might want to think twice about that one. Unsure what to do?

Dialogue:

在中国,è§é¢çš„时候需è¦éž èº¬å—? +Zài Zhōngguó, jiànmiàn de shíhou xūyào jūgōng ma? +In China, do you need to bow when you meet people? + +ä¸éœ€è¦ã€‚ +Bù xūyào. +No. + +但是在日本和韩国è¦éž èº¬ã€‚ +Dànshì zài Rìběn hé Hánguó yào jūgōng. +But in Japan and Korea you need to bow. + +在中国,æ¡æ‰‹å°±å¯ä»¥äº†ã€‚ +Zài Zhōngguó, wòshǒu jiù kěyǐ le. +In China, you can just shake hands. + +太好了。 +Tài hǎo le. +That's great. + +是啊,ä¸éœ€è¦ä¸€ç›´éž èº¬ã€‚ +Shì a, bù xūyào yīzhí jūgōng. +Yeah, you don't have to bend over all the time. + +

]]>
+ Elementary +
+ + + + + + PDF - Elementary - To Bow or Not to Bow + http://chinesepod.com/learnchinese/to-bow-or-not-to-bow + Thu, 16 Aug 2007 09:00:00 +0800 + + + ChinesePod.com + no + + + + + + + + + + + + + Intermediate - Post-Graduation Plans + http://chinesepod.com/learnchinese/post-graduation-plans/discussion + Wed, 15 Aug 2007 09:00:00 +0800 + http://chinesepod.com/learnchinese/post-graduation-plans +

DiscussionDialogueVocabularyExpansionExercises

Ah, the eternal question of what you want to be when you grow up. Said question, posed by well-meaning family members when you are in your third year of enjoying yourself loafing around Asia, starts to lose its charm. Now, if you don't want to go h

]]>
+ + 14:30 + ChinesePod.com + no + +Ah, the eternal question of what you want to be when you grow up. Said question, posed by well-meaning family members when you are in your third year of enjoying yourself loafing around Asia, starts to lose its charm. Now, if you don't want to go h

Dialogue:

å”å”,你æ¥å•¦ï¼ +Shūshu, nǐ lái la! +Uncle, you came! + +是啊ï¼ä¸€è½¬çœ¼ä½ éƒ½å¤§å­¦æ¯•ä¸šäº†ã€‚真有出æ¯ï¼ +Shì a! Yīzhuǎnyǎn nǐ dōu dàxué bìyè le. Zhēn yǒu chūxi! +Yep! You graduated before I knew it. Your future is bright! + +哎,好ä¸å®¹æ˜“æ‰æ¯•ä¸šã€‚上学的时候想工作。现在毕业了,åˆä¸æƒ³äº†ã€‚ +āi, hǎobùróngyì cái bìyè. Shàngxué de shíhou xiǎng gōngzuò. Xiànzài bìyè le, yòu bù xiǎng le. +Oh, it wasn't easy to graduate. When I was studying I wanted to work. Now that I've graduated, I don't want to. + +那是,åšå­¦ç”Ÿæ˜¯æœ€å¼€å¿ƒçš„。ä¸è¿‡å·¥ä½œä¹Ÿå¾ˆå¥½å•Šï¼ä½ å­¦äº†é‚£ä¹ˆå¤šæœ¬äº‹ï¼Œæ˜¯æ—¶å€™ç”¨äº†ã€‚ +Nàshi, zuò xuésheng shì zuì kāixīn de. Bùguò gōngzuò yě hěn hǎo a! Nǐ xué le nàme duō běnshi, shì shíhou yòng le. +Yeah, a student's life is the happiest. But working is good too! You learned so many things, so it's time to use them. + +现在有本事的人太多了。å牌大学毕业的都找ä¸åˆ°å¥½å·¥ä½œï¼Œæˆ‘è¿™ç§æ™®é€šå¤§å­¦æ¯•ä¸šçš„就更没æˆäº†ã€‚ +Xiànzài yǒu běnshi de rén tài duō le. Míngpái dàxué bìyè de dōu zhǎobudào hǎo gōngzuò, wǒ zhèzhǒng pǔtōng dàxué bìyè de jiù gèng méixì le. +Nowadays there are too many people with an education. Graduates from top universities can't even find jobs. Someone like me, a graduate of an average university, has even less hope. + +年轻人è¦æœ‰è‡ªä¿¡ã€‚å”å”告诉你,现在讲的是工作能力,ä¸æ˜¯æ–‡å‡­ã€‚你实习的那家公å¸æ€Žä¹ˆæ ·ï¼Ÿæƒ³ç»§ç»­åšå—? +Niánqīngrén yào yǒu zìxìn. Shūshu gàosu nǐ, xiànzài jiǎng de shì gōngzuò nénglì, bùshì wénpíng. Nǐ shíxí de nà jiā gōngsī zěnmeyàng? Xiǎng jìxù zuò ma? +Young people should have confidence. I'm telling you, what we're talking about here is work ability, not a diploma. How was the company you interned at? Do you want to keep doing it? + +我ä¸æƒ³å¹²äº†ã€‚工资太低,而且我也ä¸å¤ªå–œæ¬¢ã€‚ +Wǒ bù xiǎng gàn le. Gōngzī tài dī, érqiě wǒ yě bùtài xǐhuan. +I'm through with that. The pay was too low, and besides, I didn't like it much. + +这样ä¸è¡Œï¼Œçœ¼å…‰ä¸èƒ½å¤ªé«˜äº†ã€‚ +Zhèyàng bùxíng, yǎnguāng bùnéng tài gāo le. +That's no good. Your expectations can't be too high. + +我的è¦æ±‚å·²ç»å¾ˆä½Žäº†ã€‚现在好多公å¸éƒ½æ¬ºè´Ÿå¤§å­¦ç”Ÿï¼Œé’±å°‘,而且学ä¸åˆ°ä¸œè¥¿ã€‚ +Wǒ de yāoqiú yǐjīng hěn dī le. Xiànzài hǎo duō gōngsī dōu qīfu dàxuésheng, qián shǎo, érqiě xuébudào dōngxi. +My demands are already really small. Nowadays so many companies bully university students. The pay is low, and you can't learn anything. + +é‚£ç§å…¬å¸ä¸èƒ½åŽ»ã€‚你别急,å”å”帮你找找。你把简历å‘给我。 +Nàzhǒng gōngsī bùnéng qù. Nǐ bié jí, shūshu bāng nǐ zhǎo zhao. Nǐ bǎ jiǎnlì fāgěi wǒ. +You can't go with one of those companies. Don't worry, I'll help you look. Send me your resume. + +谢谢å”å”ï¼æˆ‘马上就å‘ã€‚å“Žï¼Œæ¯•ä¸šç­‰äºŽå¤±ä¸šï¼ŒçœŸçƒ¦ï¼ +Xièxie shūshu! Wǒ mǎshàng jiù fā. āi, bìyè děngyú shīyè, zhēn fán! +Thank you, uncle! I'll send it to you right away. Oh, graduation just means unemployment. How stressful! + +

]]>
+ Intermediate +
+ + + + + + PDF - Intermediate - Post-Graduation Plans + http://chinesepod.com/learnchinese/post-graduation-plans + Wed, 15 Aug 2007 09:00:00 +0800 + + + ChinesePod.com + no + + + + + + + + + + + + + Elementary - Track and Field + http://chinesepod.com/learnchinese/track-and-field/discussion + Sat, 28 Jul 2007 09:00:00 +0800 + http://chinesepod.com/learnchinese/track-and-field +

DiscussionDialogueVocabularyExpansionExercises

Think of track and field as a profound metaphor for Chinese learning: Jumping over grammar hurdles, throwing out words like shotputs, the high-jump of the leap from elementary to intermediate level... hey, when you have a good enough imagination, an

]]>
+ + 12:01 + ChinesePod.com + no + +Think of track and field as a profound metaphor for Chinese learning: Jumping over grammar hurdles, throwing out words like shotputs, the high-jump of the leap from elementary to intermediate level... hey, when you have a good enough imagination, an

Dialogue:

ç”°å¾„æ¯”èµ›å¤ªå¥½çœ‹äº†ï¼ +Tiánjìng bǐsài tài hǎokàn le! +The track and field competitions are so fun to watch! + +对啊。特别是赛跑,我最喜欢看了。 +Duì a. Tèbiéshì sàipǎo, wǒ zuì xǐhuan kàn le. +Yeah. Especially the running races. I like watching them the most. + +我也是。æ¯æ¬¡æœ‰æŽ¥åŠ›èµ›ï¼Œæˆ‘都è¦çœ‹ã€‚ +Wǒ yě shì. Měicì yǒu jiēlìsài, wǒ dōu yào kàn. +Me too. I always want to watch every relay race. + +还有跳高也ä¸é”™ã€‚ +Háiyǒu tiàogāo yě bùcuò. +The high jump is also pretty good as well. + +

]]>
+ Elementary +
+ + + + + + PDF - Elementary - Track and Field + http://chinesepod.com/learnchinese/track-and-field + Sat, 28 Jul 2007 09:00:00 +0800 + + + ChinesePod.com + no + + + + + + + + + + + + + Elementary - Interview with an Athlete + http://chinesepod.com/learnchinese/interview-with-an-athlete/discussion + Sun, 12 Aug 2007 09:00:00 +0800 + http://chinesepod.com/learnchinese/interview-with-an-athlete +

DiscussionDialogueVocabularyExpansionExercises

You've heard about the agony of defeat. None of that here. In this podcast, learn about how the thrill of victory feels to an Olympic athlete. Listen in on an interview in Mandarin Chinese with an Olympic champion. (Rest assured: the phrase "I'm

]]>
+ + 11:35 + ChinesePod.com + no + +You've heard about the agony of defeat. None of that here. In this podcast, learn about how the thrill of victory feels to an Olympic athlete. Listen in on an interview in Mandarin Chinese with an Olympic champion. (Rest assured: the phrase "I'm

Dialogue:

ç¥è´ºä½ ï¼Œæ‹¿åˆ°å¥¥è¿é“œç‰Œã€‚ +Zhùhè nǐ, nádào Àoyùn tóngpái. +Congratulations on winning an Olympic bronze medal. + +谢谢。 +Xièxie. +Thank you. + +现在有什么感觉? +Xiànzài yǒu shénme gǎnjué? +What are you feeling right now? + +å¤ªæ¿€åŠ¨äº†ï¼ +Tài jīdòng le! +I'm just so excited! + +没拿到金牌,失望å—? +Méi nádào jīnpái, shīwàng ma? +Are you disappointed that you didn't get the gold medal? + +ä¸ï¼Œæˆ‘å·²ç»å¾ˆæ»¡æ„了。 +Bù, wǒ yǐjīng hěn mǎnyì le. +No, I'm very satisfied. + +

]]>
+ Elementary +
+ + + + + + PDF - Elementary - Interview with an Athlete + http://chinesepod.com/learnchinese/interview-with-an-athlete + Sun, 12 Aug 2007 09:00:00 +0800 + + + ChinesePod.com + no + + + + + + + + + + + + + Intermediate - Free Association + http://chinesepod.com/learnchinese/free-association/discussion + Tue, 31 Jul 2007 09:00:00 +0800 + http://chinesepod.com/learnchinese/free-association +

DiscussionDialogueVocabularyExpansionExercises

ChinesePod is going a little 'new age' today and encouraging you to explore your inner child. Close your eyes, let your spirit roam... you are getting sleeeepy, wait! Not too sleepy. Make sure to pay attention to this lesson on letting your imagin

]]>
+ + 13:26 + ChinesePod.com + no + +ChinesePod is going a little 'new age' today and encouraging you to explore your inner child. Close your eyes, let your spirit roam... you are getting sleeeepy, wait! Not too sleepy. Make sure to pay attention to this lesson on letting your imagin

Dialogue:

今天我æ¥è€ƒè€ƒä½ çš„自由è”想。 +Jīntiān wǒ lái kǎokao nǐ de zìyóu liánxiǎng. +Today I'm going to test your free associations. + +什么? +Shénme? +What? + +我会说一些è¯è¯­ï¼Œä½ åªè¦å‘Šè¯‰æˆ‘è”想到什么就行了。è¦å®Œå…¨æ”¾æ¾ã€‚想到什么就说什么。 +Wǒ huì shuō yīxiē cíyǔ, nǐ zhǐyào gàosu wǒ liánxiǎng dào shénme jiù xíng le. Yào wánquán fàngsōng. Xiǎngdào shénme jiù shuō shénme. +I'll say a word, and you just tell me what you associate it with. Relax completely. Just say whatever comes to mind. + +好的。 +Hǎo de. +OK. + +准备好了å—? +Zhǔnbèi hǎo le ma? +Are you ready? + +好了。我们开始å§ã€‚ +Hǎo le. Wǒmen kāishǐ ba. +Yes. Let's start. + +包å­ã€‚ +Bāozi. +Bun. + +食堂。我爸爸å•ä½é£Ÿå ‚的肉包å­æœ€å¥½åƒäº†ã€‚å°æ—¶å€™ï¼Œæˆ‘åªè¦è€ƒè¯•æˆç»©å¥½ï¼Œçˆ¸çˆ¸å°±ä¼šä¹°è‚‰åŒ…å­å¥–励我。 +Shítáng. Wǒ bàba dānwèi shítáng de ròu bāozi zuì hǎochī le. Xiǎoshíhòu, wǒ zhǐyào kǎoshì chéngjì hǎo, bàba jiù huì mǎi ròu bāozi jiǎnglì wǒ. +Cafeteria. The meat buns at my dad's work unit cafeteria were the best. When I was little, if I got a good test score, Dad would buy a meat bun to reward me. + +ä½ ç»å¸¸åƒå—? +Nǐ jīngcháng chī ma? +Did you eat them often? + +ä¸æ˜¯ï¼Œæˆ‘æˆç»©ä¸å¥½ã€‚ +Bù shì, wǒ chéngjì bù hǎo. +No, my grades weren't good. + +我们å†è¯•ä¸€ä¸ªã€‚庙。 +Wǒmen zài shì yī ge. Miào. +Let's try another one. Temple. + +难闻。我最怕烧香的味é“了。真æžä¸æ‡‚为什么有那么多人è¦åŽ»æ±‚神拜佛。 +Nánwén. Wǒ zuì pà shāoxiāng de wèidao le. Zhēn gǎobudǒng wèishénme yǒu nàme duō rén yào qù qiúshén bàifó. +Bad-smelling. The smell of burning incense is the worst. I just don't get why so many people pray to Buddha for help. + +ä½ ä¸ç›¸ä¿¡å®—教? +Nǐ bù xiāngxìn zōngjiào? +You don't believe in religion? + +我åªç›¸ä¿¡çœ‹å¾—到摸得到的东西,比如包å­ã€é’±ã€‚ +Wǒ zhǐ xiāngxìn kàndedào mōdedào de dōngxi, bǐrú bāozi, qián. +I only believe in what I can see and touch, like buns and money. + +钱会让你想到什么? +Qián huì ràng nǐ xiǎngdào shénme? +What does money make you think of? + +å¿«ä¹ã€æ‚²ä¼¤ã€‚虽说钱ä¸æ˜¯ä¸‡èƒ½çš„,但没有钱是万万ä¸èƒ½çš„。 +Kuàilè, bēishāng. Suīshuō qián bù shì wànnéng de, dàn méiyǒu qián shì wànwàn bùnéng de. +Happiness and sorrow. Although money can't do everything, without it you can't do anything. + +红色呢?会让你想到什么? +Hóngsè ne? Huì ràng nǐ xiǎngdào shénme? +How about red? What does that make you think of? + +鞭炮。 +Biānpào. +Firecrackers. + +è“色呢? +Lánsè ne? +And blue? + +è“色?海。ä¸è¿‡æˆ‘ä¸å–œæ¬¢æµ·ã€‚ +Lánsè? Hǎi. Bùguò wǒ bù xǐhuan hǎi. +Blue? The ocean. But I don't like the ocean. + +好了,我们今天就到这儿。 +Hǎo le, wǒmen jīntiān jiù dào zhèr5. +OK, let's just stop here today. + +完了?我刚进入状æ€å‘¢ã€‚这样å§ï¼Œä¸‹æ¬¡è½®åˆ°æˆ‘æ¥è€ƒä½ ã€‚ +Wán le? Wǒ gāng jìnrù zhuàngtài ne. Zhèyàng ba, xiàcì lún dào wǒ lái kǎo nǐ. +It's over? Just when I was getting into it. How about this: next time it's my turn to test you. + +

]]>
+ Intermediate +
+ + + + + + PDF - Intermediate - Free Association + http://chinesepod.com/learnchinese/free-association + Tue, 31 Jul 2007 09:00:00 +0800 + + + ChinesePod.com + no + + + + + + + + + + + +
+
\ No newline at end of file diff -Nru shared-mime-info-1.15/tests/mime-detection/feed.atom shared-mime-info-2.0/tests/mime-detection/feed.atom --- shared-mime-info-1.15/tests/mime-detection/feed.atom 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/feed.atom 2020-05-06 14:11:14.194908000 +0000 @@ -0,0 +1,241 @@ + + + mozillaZine.org + + 2007-08-06T22:01:29-08:00 + Your Source for Daily Mozilla News and Advocacy + tag:mozillazine.org,2004:1 + Copyright 1998-2007 MozillaZine + + SeaMonkey 1.1.4 Released + + 2007-08-06T14:48:50-08:00 + 2007-08-06T14:48:50-08:00 + 2007-08-06T14:48:50-08:00 + tag:mozillazine.org,2004:article22268 + + mozillaZine.org + + + Robert "KaiRo" Kaiser has announced the release of SeaMonkey 1.1.4. This upgrade to the all-in-one Internet suite fixes several security issues, detailed in the SeaMonkey 1.1.4 section of the Mozilla Foundation Security Advisories page. The three issues listed, which include a SeaMonkey variant of the firefoxurl:// security flaw, also affected Mozilla Firefox and Mozilla Thunderbird (they were patched in those applications' 2.0.0.5 and 2.0.0.6 releases).

+

All SeaMonkey users are urged to upgrade, including users of the now unsupported SeaMonkey 1.0.x (last updated when SeaMonkey 1.0.9 was released simultaneously with SeaMonkey 1.1.2 in May). The SeaMonkey team is also urging users of the Mozilla Application Suite, Netscape 7, Netscape 6 and Netscape Communicator 4.x to upgrade to SeaMonkey 1.1.4. "All those older software packages suffer from a large and steadily increasing +number of security vulnerabilities because they are no longer being maintained," KaiRo explains. "SeaMonkey 1.1.4 is a modern, drop-in replacement, providing the same familiar suite functionality with additional features and fully up to date security fixes." The SeaMonkey project is a community-driven continuation of the Mozilla Application Suite, which formed the basis of Netscape 6 and 7 and shares similarities with Netscape Communicator 4.x.

+

SeaMonkey 1.1.4 can be downloaded from www.seamonkey-project.org. More details can be found in the SeaMonkey 1.1.4 Release Notes.

]]> + Talkback

]]> +
+
+ + + Mozilla Thunderbird 2.0.0.6 Released + + 2007-08-02T06:49:45-08:00 + 2007-08-02T06:49:45-08:00 + 2007-08-02T06:49:45-08:00 + tag:mozillazine.org,2004:article22261 + + mozillaZine.org + + + The Mozilla Corporation has released Mozilla Thunderbird 2.0.0.6. This update fixes two security issues, which are detailed in the Thunderbird 2.0.0.6 section of the Mozilla Foundation Security Advisories page (they're the same bugs that were eliminated in the equivalent Mozilla Firefox 2.0.0.6 release earlier this week).

+

The latest version of Thunderbird can be downloaded from the Thunderbird product page and will be offered to existing Thunderbird 2 users via the software update system. More general information about Thunderbird 2.0.0.6 can be found in the Thunderbird 2.0.0.6 Release Notes. An update to the Thunderbird 1.5 line is expected shortly.

]]> + Talkback

]]> +
+
+ + + Second Air Mozilla Features Trio of Mozilla Contributors and OSCON Presentation + + 2007-07-31T20:17:01-08:00 + 2007-07-31T20:17:01-08:00 + 2007-07-31T20:17:01-08:00 + tag:mozillazine.org,2004:article22257 + + mozillaZine.org + + + The second edition of the Air Mozilla video webcast will take place on Wednesday 1st August at 3:00pm Pacific Daylight Time (10:00pm UTC/GMT). Hosted by Asa Dotzler, the show will feature Bret Reckard, who works on recruitment for the Mozilla Corporation, JT Batson, who is currently working on the new Firefox support project, and Seth Bindernagel, who coordinates the community giving programme, which shares Mozilla's riches with valuable volunteers. The programme will end with a broadcast of Mitchell Baker's OSCON 2007 presentation.

+

Viewers can watch the webcast at air.mozilla.com, which will require the Adobe Flash Player 9 plugin (the video will be available to download in a variety of formats after the live broadcast). A discussion will take place alongside the show in the #airmozilla channel on irc.mozilla.org. During the webcast, viewers will be able to send questions for the guests to the airmozilla user on either the AIM, Yahoo! Messenger or Google Talk networks. Questions can also be emailed to airmozilla@mozilla.com before or during the show.

+

Spread Firefox has a post with more details about Wednesday's Air Mozilla.

]]> + Talkback

]]> +
+
+ + + Mozilla Firefox 2.0.0.6 Released + + 2007-07-31T10:42:24-08:00 + 2007-07-31T10:42:24-08:00 + 2007-07-31T10:42:24-08:00 + tag:mozillazine.org,2004:article22256 + + mozillaZine.org + + + Mozilla Firefox 2.0.0.6 has been released. This browser upgrade fixes two security flaws, which are detailed in the Firefox 2.0.0.6 section of the Mozilla Foundation Security Advisories page.

+

The more serious flaw involves Firefox not percent-encoding spaces and double quotes in URLs passed to helper applications, which can allow malicious webpages to open programs with potentially dangerous command line parameters. The other vulnerability is a privilege elevation bug involving extensions, which was accidentally introduced in Firefox 2.0.0.5.

+

The URL protocol handling flaw is a similar class of exploit to the firefoxurl:// URL vulnerability, which was fixed with the release of Firefox 2.0.0.5. In the original firefoxurl:// exploit, an attacker could use Microsoft Internet Explorer to launch Firefox with malicious command line parameters. In the flaw fixed in Firefox 2.0.0.6, Firefox is used as the attack vector to start other applications with dangerous arguments. The exploit could be extended to execute any program in a known location, possibly passing dangerous command line parameters.

+

Whether or not it's Firefox's responsibility to ensure that data passed to external applications is (relatively) safe is a matter for debate. When the original firefoxurl:// URL vulnerability was discovered, Microsoft claimed that IE was not at fault. However, as Mozilla maintained at the time that the blame lay with IE, it would have been hypocritical not to fix the similar issue in Firefox. The Mozilla Security Blog post about the URL protocol handling flaw states that "defense in depth is the best way to protect people" (although that weblog post says that only Windows is affected, discussion in bug 389106 indicates that Linux and Mac OS X may also be vulnerable).

+

Firefox prompts the user before launching most helper applications and shows the command line parameters, so users of vulnerable versions would receive some warning of an attack (though only the savvy are likely be knowledgeable enough to distinguish between safe and malicious command lines). However, some protocols related to email and newsgroups (specifically, mailto, news, nntp and snews) do not prompt the user before launching an external application, so vulnerable mail and newsgroups applications could be exploited with minimal user intervention (Thunderbird 2.0.0.4 and earlier is one such application, due to its variant of the firefoxurl:// problem).

+

More details about Firefox 2.0.0.6 can be found in the Firefox 2.0.0.6 Release Notes. The new version can be downloaded from the Firefox 2.0.0.6 product page. Existing Firefox 2 users with the software update feature enabled (it's on by default) will be prompted to upgrade. Equivalent releases of Thunderbird (both 2 and 1.5) and SeaMonkey are expected soon.

]]> + Talkback

]]> +
+
+ + + Mozilla Thunderbird to Find New Home as Mozilla Foundation Focuses on Mozilla Firefox + + 2007-07-26T08:34:39-08:00 + 2007-07-26T08:34:39-08:00 + 2007-07-26T08:34:39-08:00 + tag:mozillazine.org,2004:article22235 + + mozillaZine.org + + + On her weblog, Mozilla Corporation CEO Mitchell Baker has announced that Mozilla Thunderbird is to move to a "new, separate organizational setting" as the Mozilla Foundation continues to focus ever more closely on Mozilla Firefox.

+

While the Mozilla Foundation supports a number of projects, its taxable subsidiary the Mozilla Corporation is responsible for only Firefox and Thunderbird. However, it has become increasingly clear that Firefox is the priority. The resources allocated to Firefox dwarf those allocated to Thunderbird and recent projects such as the initiative to improve Mozilla support exclude Thunderbird.

+

Mitchell outlines three possible options for a new organisational structure for Thunderbird. One is to create a entirely new non-profit, which would offer maximum independence for Thunderbird but is organisationally complex. A second option is to create a new subsidiary of the Mozilla Foundation for Thunderbird, which would keep the Mozilla Foundation involved but may mean that Thunderbird continues to be neglected in favour of Firefox. A final option is to recast Thunderbird as community project, similar to SeaMonkey, and set up a small independent services and consulting company to continue development. However, there are concerns over how the Thunderbird product, project and company would interact.

+

On his new weblog, lead Thunderbird developer Scott MacGregor has posted his thoughts on the finding a new home for Thunderbird. He states that he favours the third option. Scott explains that this means that Thunderbird would continue to use Mozilla Foundation infrastructure, such as the CVS repository and Bugzilla, and the new company would perform a similar role for Thunderbird as the Mozilla Corporation does for Firefox, developing, releasing and supporting the application.

+

Observers of the Mozilla community may have seen Thunderbird's new home coming. In April, former Firefox lead developer Ben Goodger wrote a weblog post discussing autonomy for non-Firefox projects. He suggested renaming the Mozilla Corporation to the Firefox Corporation and pointed to a newsgroup message in which Mozilla Corporation CTO Brendan Eich declared "Thunderbird will have to fly free". Ten days later, Mitchell Baker wrote a weblog post on the Mozilla Foundation's focus on Firefox, stating that the Foundation's resources would be used to "assist other Mozilla participants and projects, but not equally with Firefox and not at significant cost to Firefox".

+

Update: In the text above, the sentence "While the Mozilla Foundation supports a number of projects, its taxable subsidiary the Mozilla Corporation is responsible for only Firefox and Thunderbird" was potentially misleading. The Corporation provides significant support to projects other than Firefox and Thunderbird in terms of hardware, services and personnel.

+

It would be more accurate to say that Firefox and Thunderbird are Mozilla products, which means that they get released, distributed and supported as end-user applications by the Corporation. Other applications, such as SeaMonkey and Camino, are Mozilla projects, which are made into products by volunteers or other organisations, if at all.

+

Thanks to Asa Dotzler for the clarification in comment 26 and comment 30 on this article.

]]> + Talkback

]]> +
+
+ + + Staging Site for Firefox Support Knowledge Base Ready + + 2007-07-20T17:23:30-08:00 + 2007-07-20T17:23:30-08:00 + 2007-07-20T17:23:30-08:00 + tag:mozillazine.org,2004:article22221 + + mozillaZine.org + + + Chris Ilias writes: "The staging site for the new Firefox Support knowledge base is now up and running, and we’re looking for people to help contribute content. We have an initial list of articles we would like created for the alpha version, so feel free to create an account, assign yourself to an article, and create it. Our primary goal, right now, is core content. So if you’re not familiar with tikiwiki, feel free to create articles without markup.

+

"As more articles are drafted, there are more ways you can contribute, such as reviewing the accuracy of information, reviewing compliance with the best practices page, proofreading, marking up articles with tikiwiki code, and even creating screenshots.

+

"Get started now by following the instructions on our Get Started Now page, and thank you to everyone who contributes."

]]> + Talkback

]]> +
+
+ + + SeaMonkey 1.1.3 Released + + 2007-07-20T17:19:43-08:00 + 2007-07-20T17:19:43-08:00 + 2007-07-20T17:19:43-08:00 + tag:mozillazine.org,2004:article22220 + + mozillaZine.org + + + Robert Kaiser wrote in to inform us of the release of SeaMonkey 1.1.3, which contains fixes for several +security vulnerabilities and several smaller problems found in +previous versions.

+

The SeaMonkey team strongly urges users of the old Mozilla Suite and Netscape 4, 6 or 7 to upgrade to SeaMonkey 1.1.3, as those software packages suffer from an increasing number of security vulnerabilities and are no longer being maintained.

+

SeaMonkey 1.1.3 is available for download from the SeaMonkey Project Website.

]]> + Talkback

]]> +
+
+ + + Mozilla Thunderbird 2.0.0.5 Released + + 2007-07-20T17:11:43-08:00 + 2007-07-20T17:11:43-08:00 + 2007-07-20T17:11:43-08:00 + tag:mozillazine.org,2004:article22219 + + mozillaZine.org + + + Mozilla Thunderbird 2.0.0.5 has been released and is currently being distributed to Thunderbird 2 users via the application's built-in software update system. The upgrade fixes security bugs, which are detailed in the Thunderbird 2.0.0.5 section of the Mozilla Foundation Security Advisories page.

+

Thunderbird 2.0.0.5 can be downloaded from the Thunderbird product page. The Mozilla Thunderbird 2.0.0.5 Release Notes contain more general information about the upgrade.

]]> + Talkback

]]> +
+
+ + + Mozilla Firefox 2.0.0.5 Released with Fix for firefoxurl:// Exploit + + 2007-07-18T05:15:48-08:00 + 2007-07-18T05:15:48-08:00 + 2007-07-18T05:15:48-08:00 + tag:mozillazine.org,2004:article22211 + + mozillaZine.org + + + Mozilla Firefox 2.0.0.5 has been released and is currently being distributed to Firefox 2 users via the application's built-in software update system. The browser upgrade fixes several security bugs, which are detailed in the Firefox 2.0.0.5 section of the Mozilla Foundation Security Advisories page.

+

Firefox 2.0.0.5 includes a fix for the firefoxurl:// security exploit, which allows an attacker to use Microsoft Internet Explorer to trick Firefox into executing malicious code. Whether Firefox or IE is responsible for the flaw has been a matter of debate over the past week. The Mozilla Foundation security advisory about the firefoxurl:// issue maintains that it's a problem in IE and notes that other applications could be exploited in the same way. Others have argued that it's Firefox's responsibility to vet incoming data (something 2.0.0.5 now does).

+

Firefox 2.0.0.5 can be downloaded from the Firefox product page. The Firefox 2.0.0.5 Release Notes contain more general information about the upgrade. A similar update for Mozilla Thunderbird is expected shortly.

]]> + Talkback

]]> +
+
+ + + Mozilla Thunderbird 2.0.0.4 Released + + 2007-07-12T17:13:30-08:00 + 2007-07-12T17:13:30-08:00 + 2007-07-12T17:13:30-08:00 + tag:mozillazine.org,2004:article22201 + + mozillaZine.org + + + Mozilla Thunderbird 2.0.0.4 was released on Thursday 14th June. This update to the Mozilla Corporation's mail client includes bug fixes but no new features. For the first time, this release of Thunderbird is available in Korean.

+

The Thunderbird 2.0.0.4 section of the Mozilla Foundation Security Advisories page includes details about the security flaws fixed in this release while The Rumbling Edge has a complete Thunderbird 2.0.0.4 changelog. More general details can be found in the Thunderbird 2.0.0.4 Release Notes.

+

This is the first minor update to Thunderbird 2 since the launch of Thunderbird 2.0.0.0 in April; the version number was selected to match that of the latest Mozilla Firefox release.

+

The older Thunderbird 1.5 will continue to be supported until Thursday 18th October this year. Thunderbird 1.5.0.12 was released last month with the same security fixes as 2.0.0.4.

+

While Thunderbird 2.0.0.4 can be downloaded from the Thunderbird product page, most existing Thunderbird 2 users will have received it via the software update mechanism built in to the program.

]]> + Talkback

]]> +
+
+ + + Security Exploit Uses Internet Explorer to Attack Mozilla Firefox + + 2007-07-11T07:32:00-08:00 + 2007-07-11T07:32:00-08:00 + 2007-07-11T07:32:00-08:00 + tag:mozillazine.org,2004:article22198 + + mozillaZine.org + + + Firefox_User sent us a link to a CNET News.com article about a security threat to Windows users with both Mozilla Firefox and Microsoft Internet Explorer installed. The issue can allow an attacker to remotely trick Firefox into executing potentially malicious code. However, a user has to be running Internet Explorer to actually get exploited.

+

Security researcher Thor Larholm has published a description of how the security flaw works, including a proof-of-concept (though some have reported that they cannot get this to work). When installed on Windows, Firefox registers a URL protocol handler to handle firefoxurl:// URLs (this works much like a http:// or ftp:// URL protocol handler). If an IE user visits a webpage that tries to call a firefoxurl:// URL (for example, using an iframe), IE will launch Firefox with no further prompting, passing it the URL. Neither IE nor Firefox escape or sanitise the URL, which allows an attacker to inject additional parameters into the command line used to invoke Firefox. Used in combination with the -chrome parameter, the attacker can make Firefox execute dangerous JavaScript code.

+

There's some debate as to where the blame lies — is it IE for passing untrusted data to another application or Firefox for not validating input properly? SecurityFocus refers to the problem as a Microsoft Internet Explorer FirefoxURL Protocol Handler Command Injection Vulnerability, placing the blame with Redmond, while Secunia calls it a Firefox "firefoxurl" URI Handler Registration Vulnerability, pointing the finger at Mozilla. News.com quotes Oliver Friedrichs of Symantec's Security Response Center, who says, "It's a little bit of both."

+

On the official Mozilla Security Blog, the Mozilla Corporation's Window Synder (who used to work for Microsoft) says that a fix will be included in the forthcoming Firefox 2.0.0.5. That said, she seems to suggest that she considers this to be mostly a problem with IE, noting that Apple fixed a similar issue with Safari recently. However, according to the ZDNet Zero Day security weblog, Microsoft claims the firefoxurl:// bug "is not a vulnerability in a Microsoft product".

+

On his weblog, Jesper Johansson (who also used to work for Microsoft), says the firefoxurl:// flaw is a Mozilla problem. He also provides instructions for unregistering the URL protocol handlers.

+

Thanks to roseman for some of the links used in this report.

]]> + Talkback

]]> +
+
+ + + Air Mozilla Relaunches with Live Mitchell Baker Interview on Wednesday + + 2007-07-10T18:44:02-08:00 + 2007-07-10T18:44:02-08:00 + 2007-07-10T18:44:02-08:00 + tag:mozillazine.org,2004:article22197 + + mozillaZine.org + + + The Air Mozilla video webcast will return on Wednesday 11th July when Mozilla Corporation CEO Mitchell Baker answers questions in a live interview. The broadcast will begin at 2:00pm Pacific Daylight Time (9:00pm UTC/GMT) and is scheduled to last one hour.

+

Asa Dotzler, who will be hosting the segment, has posted some details about the relaunch of Air Mozilla. According to his post, Mitchell will talk about the state of the Mozilla project and answer questions from the audience. Asa hopes that Air Mozilla will become a regular feature, growing to feature "not just interviews, but screencasts with tips and tricks, news segments, and other community generated content."

+

Viewers can watch the webcast at air.mozilla.com, which will require the Adobe Flash Player 9 plugin (available for Windows, Linux and Mac OS X). A discussion will take place alongside the broadcast in the #airmozilla channel on irc.mozilla.org. During the show, viewers will be able to ask Mitchell questions by sending a message to the airmozilla user on either the AIM, Yahoo! Messenger or Google Talk networks. Questions can also be emailed to airmozilla@mozilla.com before or during the webcast.

+

Paul Kim has said that he is unhappy that the live Air Mozilla webcast will require the proprietary Flash Player. He has promised that the video will be made available in several formats after broadcast, including a recording encoded with the open Theora codec.

+

The first Air Mozilla webcast marked the launch of Mozilla Firefox 1.0 in late 2004.

]]> + Talkback

]]> +
+
+ +
diff -Nru shared-mime-info-1.15/tests/mime-detection/feed.rss shared-mime-info-2.0/tests/mime-detection/feed.rss --- shared-mime-info-1.15/tests/mime-detection/feed.rss 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/feed.rss 2020-05-06 14:11:14.194908000 +0000 @@ -0,0 +1,2153 @@ + + + + Apple's Movie Trailers + http://rtcfeeds.com/ufeeds/feeds/applemovietrailers/ + Unofficial Feed of Apple's Movie Trailers + en + TS-RSS RTC Feeds V0.1 http://rtcfeeds.com + http://rtcfeeds.com/ + + http://rtcfeeds.com/img/applemovietrailers.png + Unofficial Feed of Apple's Movie Trailers + http://rtcfeeds.com/ufeeds/feeds/applesmovietrailers/ + + + Find In Articles + http://findinarticles.com/ + Find in articles. ]]> + articles + Tue, 04 Sep 2007 09:54:43 -0500 + + + Great World of Sound + http://www.apple.com/trailers/magnolia/greatworldofsound/ + + + + Great World of Sound + + +

Great World of Sound

+ © Copyright 2007 Magnolia Pictures +
+

An audience-pleasing riff on the dirty underbelly of the American Idol phenomenon, GREAT WORLD OF SOUND stars Patrick Healy and Kene Holliday as Martin and Clarence, two normal southern guys who get caught up in the excitement of a record industry talent scouting scheme. Unemployed one day and record producers the next, Martin and Clarence have a blast signing new acts and hit the road looking for the next big thing. But what happens once the checks are cashed? Craig Zobel’s independent film bona fides are firmly in place: he served on the crew of David Gordon Green’s early films, and Green serves as executive producer of GREAT WORLD OF SOUND. But it may be more helpful to go into GREAT WORLD OF SOUND knowing that Zobel has recently made a living between films by working on reality TV shows like The Apprentice. “I became fascinated by how desperate people were to get on TV, but how little they seemed to care about how they were portrayed once they got there,” he says

+ + + + + +
+

In Theatres: 2007-09-14

+

+ Comedy
+ Rating: R +

+

+ Craig Zobe (dir.)
Pat Healy
+Kene Holliday
+

+
+ +
+ + + + ]]>
+ Comedy + +
+ + Unlimited Domain Hosting with 200GB bandwidth + http://secure.hostony.com/affil/?User_ID=501251&uuid=wappl36 + + Offers + http://secure.hostony.com/affil/?User_ID=501251&uuid=wappl36 + Tue, 04 Sep 2007 09:54:43 -0500 + + + The Comebacks + http://www.apple.com/trailers/fox_atomic/thecomebacks/ + + + + The Comebacks + + +

The Comebacks

+ © Copyright 2007 Fox Atomic +
+

Coach Fields (David Koechner) is pathetic. He has the distinction of being the worst coach in the history of sports anyone can recall. A loser of enormous proportions, the incompetent and seemingly hopeless coach is convinced by fellow coach Freddie Wiseman (Carl Weathers) to return to the field for one last shot. Assuring his long suffering wife (Melora Hardin) that he will not ignore his family, Coach moves them to Plainfolk, Texas where he hopes to redeem himself and his reputation.

+ + + + + +
+

In Theatres: 2007-10-26

+

+ Comedy
+ Rating: Not yet rated +

+

+ Tom Brady (dir.)
Matthew Lawrence
+Carl Weathers
+Melora Hardin
+David Koechner
+

+
+ +
+ + + + ]]>
+ Comedy + +
+ + $15 OFF on Buy.com + http://www.kqzyfj.com/je116ar-xrzEGLHKIIKEGFINONGH?sid=rssa&uuid=wappl36 + + Offers + http://www.kqzyfj.com/je116ar-xrzEGLHKIIKEGFINONGH?sid=rssa&uuid=wappl36 + Tue, 04 Sep 2007 09:54:43 -0500 + + + Eastern Promises + http://www.apple.com/trailers/focus_features/easternpromises/ + + + + Eastern Promises + + +

Eastern Promises

+ © Copyright 2007 Focus Features +
+

The new thriller reteaming acclaimed director David Cronenberg with his A History of Violence leading man Viggo Mortensen, Eastern Promises is written by Steve Knight (Academy Award-nominated screenwriter of Dirty Pretty Things). As in the earlier film, director and star together explore the psyche, physicality, and fortunes of a man whose true nature may never be wholly revealed. The mysterious and charismatic Russian-born Nikolai Luzhin (Mr. Mortensen) is a driver for one of London’s most notorious organized crime families of Eastern European origin. The family itself is part of the Vory V Zakone criminal brotherhood. Headed by Semyon (Academy Award nominee Armin Mueller-Stahl), whose courtly charm as the welcoming proprietor of the plush Trans-Siberian restaurant impeccably masks a cold and brutal core, the family’s fortunes are tested by Semyon’s volatile son and enforcer, Kirill (Vincent Cassel), who is more tightly bound to Nikolai than to his own father. But Nikolai’s carefully maintained existence is jarred once he crosses paths at Christmastime with Anna Khitrova (Academy Award nominee Naomi Watts), a midwife at a North London hospital. Anna is deeply affected by the desperate situation of a young teenager who dies while giving birth to a baby. Anna resolves to try to trace the baby’s lineage and relatives. The girl’s personal diary also survives her; it is written in Russian, and Anna seeks answers in it. Anna’s mother Helen (Sinéad Cusack) does not discourage her, but Anna’s irascible Russian-born uncle Stepan (Jerzy Skolimowski) urges caution. He is right to do so; by delving into the diary, Anna has accidentally unleashed the full fury of the Vory. With Semyon and Kirill closing ranks and Anna pressing her inquiries, Nikolai unexpectedly finds his loyalties divided. The family tightens its grip on him; who can, or should, he trust? Several lives - including his own - hang in the balance as a harrowing chain of murder, deceit, and retribution reverberates through the darkest corners of both the family and London itself.

+ + + + + +
+

In Theatres: 2007-09-14

+

+ Drama
+ Rating: R +

+

+ David Cronenberg (dir.)
Viggo Mortensen
+Naomi Watts
+Armin Mueller-Stahl
+Vincent Cassel
+

+
+ +
+ + + + ]]>
+ Drama + +
+ + Drillbit Taylor + http://www.apple.com/trailers/paramount/drillbittaylor/ + + + + Drillbit Taylor + + +

Drillbit Taylor

+ © Copyright 2008 Paramount Pictures +
+

Ryan, Wade and Emmit attend their first day at high school and they’re pumped ... until they meet up with Filkins, a school bully who comes off like a little Hannibal Lecter. Before they become completely engulfed in Filkins’ reign of terror, they seek out some protection by placing an ad in soldier of fortune magazine. Their best response - and the cheapest - comes from Drillbit Taylor (Owen Wilson), a down-on-his luck soldier of fortune who lives a homeless - he likes to say “home free†- existence on the beach. He enrolls them in some physical and mental training.

+ + + + + +
+

In Theatres: 2008-03-21

+

+ Comedy
+ Rating: Not yet rated +

+

+ Steven Brill (dir.)
Owen Wilson
+David Dorfman
+Leslie Mann
+Danny Mcbride
+Josh Peck
+

+
+ +
+ + + + ]]>
+ Comedy + +
+ + Hostony Crazy hosting + http://secure.hostony.com/affil/?User_ID=501251&uuid=wappl36 + + Offers + http://secure.hostony.com/affil/?User_ID=501251&uuid=wappl36 + Tue, 04 Sep 2007 09:54:43 -0500 + + + Reservation Road + http://www.apple.com/trailers/focus_features/reservationsroad/ + + + + Reservation Road + + +

Reservation Road

+ © Copyright 2007 Focus Features +
+

On a warm September evening, college professor Ethan Learner (Joaquin Phoenix), his wife Grace (Jennifer Connelly), and their daughter Emma (Elle Fanning) are attending a recital. Their 10-year-old son Josh (Sean Curley) is playing cello — beautifully, as usual. His younger sister looks up to him, and his parents are proud of their son. On the way home, they all stop at a gas station on Reservation Road. There, in one terrible instant, he is taken from them forever. On a warm September evening, law associate Dwight Arno (Mark Ruffalo) and his 11-year-old son Lucas (Eddie Alderson) are attending a baseball game. Their favorite team, the Red Sox, is playing - and, hopefully, heading for the World Series. Dwight cherishes his time spent with Lucas. Driving his son back to his ex-wife, Lucas’ mother Ruth Wheldon (Mira Sorvino), Dwight heads towards his fateful encounter at Reservation Road. The accident happens so fast that Lucas is all but unaware, while Ethan — the only witness — is all too aware, as a panicked Dwight speeds away. The police are called, and an investigation begins. Haunted by the tragedy, both fathers react in unexpected ways, as do Grace and Emma. As a reckoning looms, the two fathers are forced to make the hardest choices of their lives.

+ + + + + +
+

In Theatres: 2007-10-19

+

+ Drama
+ Rating: R +

+

+ Terry George (dir.)
Joaquin Phoenix
+Mark Ruffalo
+Jennifer Connelly
+Mira Sorvino
+Elle Fanning
+

+
+ +
+ + + + ]]>
+ Drama + +
+ + Download high-quality videos to your PC + http://www.kqzyfj.com/ke104tenkem138475571325B6273?sid=rssa&uuid=wappl36 + + Offers + http://www.kqzyfj.com/ke104tenkem138475571325B6273?sid=rssa&uuid=wappl36 + Tue, 04 Sep 2007 09:54:43 -0500 + + + The Hunting Party + http://www.apple.com/trailers/weinstein/thehuntingparty/ + + + + The Hunting Party + + +

The Hunting Party

+ © Copyright 2007 Weinstein Company +
+

TV News reporter Simon Hunt (Richard Gere) and cameraman Duck (Terrence Howard have worked in the world’s hottest war zones: from Bosnia to Iraq, from Somalia to El Salvador. Together they have dodged bullets, filed incisive reports and collected Emmy awards. Then one terrible day in a Bosnian village everything changes. During a live broadcast on national television, Simon has a meltdown. After that, Duck is promoted and Simon just disappears. Five years later Duck returns to Sarajevo with rookie reporter Benjamin (Jessie Eisenberg) to cover the fifth anniversary of the end of the war. Simon shows up, a ghost from the past, with the promise of a world exclusive. He convinces Duck that he knows the whereabouts of Bosnia’s most wanted war criminal “The Fox.” Armed with only spurious information Simon, Duck and Benjamin embark on a dark and dangerous mission that takes them deep into hostile territory.

+ + + + + +
+

In Theatres: 2007-09-07

+

+ Drama
+ Rating: Not yet rated +

+

+ Richard Shepard (dir.)
Richard Gere
+Terrence Howard
+Jesse Eisenberg
+

+
+ +
+ + + + ]]>
+ Drama + +
+ + Closing Escrow + http://www.apple.com/trailers/magnolia/closingescrow/ + + + + Closing Escrow + + +

Closing Escrow

+ © Copyright 2007 Magnolia Pictures +
+

The story of three quirky families seeking to buy their next home. They’re all moving for different reasons-and none of them are getting along with their real estate agents. African American attorneys Bobby and Tamika have hired Hillary Macella as their real estate agent. Hillary is a racially hyper-sensitive white woman dealing with more than her share of white guilt. That is until she gets mugged, and starts seeing the world quite a bit differently. Tom and Dawn are an unconventional couple. When they met, Tom was happily married to another woman. But thanks to Dawn’s unstoppable persistence (the police reports called it stalking, but Dawn doesn’t like to think of it that way), Tom was convinced to leave his wife and start his life over again in a new home with Dawn. They’ve wound up with a shady real estate agent with a knack for damaging homes to make them more affordable for his clients. This makes house hunting somewhat awkward for Tom and Dawn, not to mention a little dangerous.

+ + + + + +
+

In Theatres: 2007-08-28

+

+ Comedy
+ Rating: PG +

+

+ Armen Kaprelian, Kent Llewellyn (dir.)
Wendi Mclendon-Covey
+Cedric Yarbrough
+April Barnett
+Rob Brownstein
+Colleen Crabtree
+

+
+ +
+ + + + ]]>
+ Comedy + +
+ + The Nines + http://www.apple.com/trailers/newmarket/thenines/ + + + + The Nines + + +

The Nines

+ © Copyright 2007 Newmarket Films +
+

John August, the acclaimed screenwriter of GO, BIG FISH, CHARLIE AND THE CHOCOLATE FACTORY and THE CORPSE BRIDE, makes his directorial debut with THE NINES, an intricately constructed intriguing blur of reality, virtual reality and metaphysical fantasy. The film unfolds in three parts, featuring the same actors in different (and in some ways overlapping) incarnations.

+ + + + + +
+

In Theatres: 2007-08-31

+

+ Drama
+ Rating: R +

+

+ John August (dir.)
Ryan Reynolds
+Melissa McCarthy
+Hope Davis
+Elle Fanning
+

+
+ +
+ + + + ]]>
+ Drama + +
+ + The Signal + http://www.apple.com/trailers/magnolia/thesignal/ + + + + The Signal + + +

The Signal

+ © Copyright 1969 Magnolia Pictures +
+

ItÂ’s New YearÂ’s Eve in the city of Terminus and chaos is this yearÂ’s resolution. All forms of communication have been jammed by an enigmatic transmission that preys on fear and desire driving everyone in the city to murder and madness. In a place once marked by conformity but now sent into complete anarchy, the rebellious Ben must save the woman he loves from the bedlam in the streets as well as her crazed sadistic husband. But the only way he can tell who to trust or who has given in to violence is by uncovering the true nature of The Signal.

+ + + + + +
+

In Theatres:

+

+ Drama
+ Rating: R +

+

+ David Bruckner, Jacob Gentry, Dan Bush (dir.)
AJ Bowen
+Justin Welborn
+Anessa Ramsey
+Scott Poythress
+Cheri Christan
+

+
+ +
+ + + + ]]>
+ Drama + +
+ + VeggieTales: the Pirates Who Don’t Do Anything + http://www.apple.com/trailers/universal/veggietalesthepirateswhodontdoanything/ + + + + VeggieTales: the Pirates Who Don’t Do Anything + + +

VeggieTales: the Pirates Who Don’t Do Anything

+ © Copyright 2008 Universal Pictures +
+

From the creators of 2002’s wildly successful Jonah—A VeggieTales Movie comes a new story of heroism in the beloved VeggieTales’ world, The Pirates Who Don’t Do Anything. Now, we follow the comic misadventures of three animated veggie pals who reluctantly set sail for adventure and discover that real heroes don’t have to be tall, strong, handsome…or even human.

+ + + + + +
+

In Theatres: 2008-01-11

+

+ Family
+ Rating: Not yet rated +

+

+ Mike Nawrocki (dir.)
Mike Nawrocki
+Phil Vischer
+

+
+ +
+ + + + ]]>
+ Family + +
+ + In the Valley of Elah + http://www.apple.com/trailers/warner_independent_pictures/inthevalleyofelah/ + + + + In the Valley of Elah + + +

In the Valley of Elah

+ © Copyright 2007 Warner Independent Pictures +
+

â€In the Valley of Elah†tells the story of a war veteran (Tommy Lee Jones), his wife (Susan Sarandon) and the search for their son, a soldier who recently returned from Iraq but has mysteriously gone missing, and the police detective (Charlize Theron) who helps in the investigation.

+ + + + + +
+

In Theatres: 2007-09-14

+

+ Drama
+ Rating: R +

+

+ Paul Haggis (dir.)
Tommy Lee Jones
+Charlize Theron
+Susan Sarandon
+Jason Patric
+

+
+ +
+ + + + ]]>
+ Drama + +
+ + War + http://www.apple.com/trailers/lions_gate/war/ + + + + War + + +

War

+ © Copyright 2007 Lionsgate +
+

A full-throttle, martial arts thriller, Lionsgate’s WAR stars Jet Li (FEARLESS, UNLEASHED, THE ONE) and Jason Statham (CRANK, THE ITALIAN JOB) as two adversaries set on a violent collision course in the Asian mob underground. Produced by Steven Chasman, Jim Thompson and Christopher Petzel, WAR is directed by Philip G. Atwell from a script by Lee Anthony Smith and Gregory J. Bradley. After his partner is brutally murdered by the infamous assassin Rogue (Jet Li), FBI agent Jack Crawford (Jason Statham) vows to find the elusive killer and personally avenge his partner’s death. But Rogue proves untraceable until three years later when he resurfaces to ignite a bloody turf war between Chinese mob leader Chang (John Lone) and Japanese Yakuza boss Shiro (Ryo Ishibashi). Eager to capture Rogue once and for all, Crawford leads his team of crime specialists headlong into the conflict. But Crawford’s thirst for vengeance jeopardizes his professional judgment, and as the violence escalates, Crawford finally comes face to face with his enemy to discover that nothing about Rogue or his plan is quite what it seems.

+ + + + + +
+

In Theatres: 2007-08-24

+

+ Action and Adventure
+ Rating: R +

+

+ Philip G. Atwell (dir.)
Jet Li
+Jason Statham
+John Lone
+Devon Aoki
+Luis Guzman
+

+
+ +
+ + + + ]]>
+ Action and Adventure + +
+ + Alvin and the Chipmunks + http://www.apple.com/trailers/fox/alvinandthechipmunks/ + + + + Alvin and the Chipmunks + + +

Alvin and the Chipmunks

+ © Copyright 2007 20th Century Fox +
+

A global treasure that has delighted three generations of fans, comes to the big screen for the first time. The live-action/CGI motion picture event brings together the celebrated history of its beloved characters - Dave Seville and singing chipmunks Alvin, Simon and Theodore - adding a new comic sensibility and edge. The squeaky-voiced trio and Dave Seville made recording, broadcasting and merchandising history - selling 43 million albums, winning several Grammys, and headlining an animated prime time series, numerous TV specials, and a top-rated Saturday morning series seen in over 100 countries and translated into 40 languages.

+ + + + + +
+

In Theatres: 2007-12-14

+

+ Family
+ Rating: Not yet rated +

+

+ Tim Hill (dir.)
Jason Lee
+David Cross
+Cameron Richardson
+

+
+ +
+ + + + ]]>
+ Family + +
+ + Enchanted + http://www.apple.com/trailers/disney/enchanted/ + + + + Enchanted + + +

Enchanted

+ © Copyright 2007 Walt Disney Pictures +
+

A classic Disney fairytale collides with modern-day New York City in a story about a fairytale princess (AMY ADAMS) from the past who is thrust into present-day by an evil queen (SUSAN SARANDON). Soon after her arrival, Princess Giselle begins to change her views on life and love after meeting a handsome lawyer (PATRICK DEMPSEY). Can a storybook view of romance survive in the real world?

+ + + + + +
+

In Theatres: 2007-11-21

+

+ Family
+ Rating: PG +

+

+ Kevin Lima (dir.)
Amy Adams
+Patrick Dempsey
+James Marsden
+Timothy Spall
+Idina Menzel
+

+
+ +
+ + + + ]]>
+ Family + +
+ + Exiled + http://www.apple.com/trailers/magnolia/exiled/ + + + + Exiled + + +

Exiled

+ © Copyright 2007 Magnolia Pictures +
+

The time is 1998. Every living soul jumps at every chance to make quick money before the Portuguese colony ushers in a new era under the Chinese rule. For the jaded hit men, they wonder where this journey will end. Against this background of fin-de-siècle malaise come two hit men from Hong Kong sent to take out a renegade member trying to turn over a new leaf with his wife and newborn baby. They soon find themselves in the throes of a dilemma when two of their former associates also show up, intent on thwarting them at every cost.

+ + + + + +
+

In Theatres: 2007-08-31

+

+ Drama
+ Rating: R +

+

+ Johnny To (dir.)
Anthony Wong Chau-Sang
+Francis Ng
+Simon Yam
+Nick Cheung
+Richie Jen
+

+
+ +
+ + + + ]]>
+ Drama + +
+ + Halloween + http://www.apple.com/trailers/weinstein/halloween/ + + + + Halloween + + +

Halloween

+ © Copyright 2007 Weinstein Company +
+

From acclaimed musician and filmmaker Rob Zombie (The Devil’s Rejects, House of 1000 Corpses) comes an entirely new take on the highly successful film and terrifying Halloween legacy that began in 1978. While revealing a new chapter in the established Michael Myers saga, the film will surprise both classic and modern horror fans with a departure from prior films in the Halloween franchise. Audiences should brace themselves for unprecendented fear as Zombie turns back time to uncover the making of a pathologically disturbed, even cursed child named Michael Myers.

+ + + + + +
+

In Theatres: 2007-08-31

+

+ Horror
+ Rating: R +

+

+ Rob Zombie (dir.)
Malcolm McDowell
+Brad Dourif
+Scout Taylor-Compton
+

+
+ +
+ + + + ]]>
+ Horror + +
+ + Horton Hears a Who + http://www.apple.com/trailers/fox/hortonhearsawho/ + + + + Horton Hears a Who + + +

Horton Hears a Who

+ © Copyright 2008 20th Century Fox +
+

A new CG animated feature film from 20th Century Fox Animation, the makers of the “Ice Age†films, based on the beloved book, first published in 1954, by Ted Geisel, who wrote under the pen name Dr. Seuss. Seuss books are among the defining works of family literature, have sold over 200 million copies, and have been translated into fifteen languages. The “Horton†series (“Horton Hears a Who,†“Horton Hatches the Eggâ€) are consistently among the top-selling of all Seuss titles — generation after generation. HORTON HEARS A WHO is about an imaginative elephant who hears a cry for help coming from a tiny speck of dust floating through the air. Suspecting there may be life on that speck and despite a surrounding community which thinks he has lost his mind, Horton is determined to help.

+ + + + + +
+

In Theatres: 2008-03-14

+

+ Family
+ Rating: Not yet rated +

+

+ Jimmy Hayward, Steve Martino (dir.)
Jim Carrey
+Steve Carell
+

+
+ +
+ + + + ]]>
+ Family + +
+ + The Last Legion + http://www.apple.com/trailers/weinstein/thelastlegion/ + + + + The Last Legion + + +

The Last Legion

+ © Copyright 2007 Weinstein Company +
+

The Last Legion†is a fantasy action-adventure in the vein of “The Sword and the Stone†set against the fall of Rome and its last emperor, 12 year-old Romulus Augustus, the boy who would rule for a day before losing all that he loved: his family, his home, and an empire that once stood for truth and honor. Imprisoned on the island-fortress of Capri, Romulus searches for a means of escape. He discovers instead “excaliburnus,†the legendary sword of Julius Caesar, and realizes that he must do all in his power to save Rome. Aided by the clever strategies of his teacher, Ambrosinus, and the heroic skills of his loyal legionnaire, Aurelius, Romulus escapes the island. Accompanied by his friends and a mysterious envoy from Constantinople, Romulus travels to Britannia in search of the last Roman Legion - the fabled Dragon Legion. There, Romulus will fight alongside his friends to make his last stand for Rome and take his first steps to becoming a man and the king who would father a legend.

+ + + + + +
+

In Theatres: 2007-08-17

+

+ Action and Adventure
+ Rating: PG-13 +

+

+ Doug Lefler (dir.)
Colin Firth
+Ben Kingsley
+Aishwarya Rai
+

+
+ +
+ + + + ]]>
+ Action and Adventure + +
+ + Michael Clayton + http://www.apple.com/trailers/wb/michaelclayton/ + + + + Michael Clayton + + +

Michael Clayton

+ © Copyright 2007 Warner Bros. Pictures +
+

Michael Clayton (GEORGE CLOONEY) is an in-house “fixer” at one of the largest corporate law firms in New York. A former criminal prosecutor, Clayton takes care of Kenner, Bach & Ledeen’s dirtiest work at the behest of the firm’s co-founder Marty Bach (SYDNEY POLLACK). Though burned out and hardly content with his job as a fixer, his divorce, a failed business venture and mounting debt have left Clayton inextricably tied to the firm. At U/North, meanwhile, the career of litigator Karen Crowder (TILDA SWINTON) rests on the multi-million dollar settlement of a class action suit that Clayton’s firm is leading to a seemingly successful conclusion. But when Kenner Bach’s brilliant and guilt-ridden attorney Arthur Edens (TOM WILKINSON) sabotages the U/North case, Clayton faces the biggest challenge of his career and his life

+ + + + + +
+

In Theatres: 2007-10-05

+

+ Drama
+ Rating: R +

+

+ Tony Gilroy (dir.)
George Clooney
+Tom Wilkinson
+Tilda Swinton
+Sydney Pollack
+

+
+ +
+ + + + ]]>
+ Drama + +
+ + Rendition + http://www.apple.com/trailers/newline/rendition/ + + + + Rendition + + +

Rendition

+ © Copyright 2007 New Line Cinema +
+

Reese Witherspoon, Jake Gyllenhaal, Meryl Streep, Peter Sarsgaard and Alan Arkin head an all-star ensemble cast in “Rendition,†a compelling thriller from Academy Award-winning director Gavin Hood (“Tsotsiâ€). Witherspoon plays Isabella El-Ibrahimi, the American wife of Egyptian-born chemical engineer Anwar El-Ibrahimi (Omar Metwally) who disappears on a flight from South Africa to Washington. Isabella desperately tries to track her husband down, while a CIA analyst (Gyllenhaal) at a secret detention facility outside the U.S. is forced to question his assignment as he becomes party to the man’s unorthodox interrogation. “Rendition†is produced by Steve Golin (“Babelâ€) and Marcus Viscidi (“The Last Kissâ€) from a screenplay by Kelly Sane.

+ + + + + +
+

In Theatres: 2007-10-19

+

+ Drama
+ Rating: Not yet rated +

+

+ Chris Weitz (dir.)
Jake Gyllenhaal
+Reese Witherspoon
+Alan Arkin
+Peter Sarsgaard
+Meryl Streep
+

+
+ +
+ + + + ]]>
+ Drama + +
+ + Elizabeth: the Golden Age + http://www.apple.com/trailers/universal/elizabeththegoldenage/ + + + + Elizabeth: the Golden Age + + +

Elizabeth: the Golden Age

+ © Copyright 2007 Universal Pictures +
+

Reprising the roles they originated in seven-time Academy Award-nominated Elizabeth, Cate Blanchett and Geoffrey Rush return for a gripping historical thriller laced with treachery and romance - The Golden Age. Joining them in the epic is Clive Owen as Sir Walter Raleigh, a dashing seafarer and newfound temptation for Elizabeth.

+ + + + + +
+

In Theatres: 2007-10-12

+

+ Drama
+ Rating: R +

+

+ Shekhar Kapur (dir.)
Cate Blanchett
+Geoffrey Rush
+Clive Owen
+Rhys Ifans
+Jordi Molla
+

+
+ +
+ + + + ]]>
+ Drama + +
+ + Self-Medicated + http://www.apple.com/trailers/independent/selfmedicated/ + + + + Self-Medicated + + +

Self-Medicated

+ © Copyright 2007 +
+

On the outskirts of Las Vegas, far from the bright lights of the Strip, 17 year-old AndrewÂ’s life is spiraling out of control. Powerless to intervene as he backslides into drugs, alcohol, and violence, his mother decides to hire a private company to forcibly kidnap Andrew and take him to a locked-down (and corrupt) psychiatric center for teens. As Andrew is subjected to the physical and emotional abuses of the program, something inside of him is re-awakened, and he decides the only way to get back on track is to face his demons head-on.

+ + + + + +
+

In Theatres: 2007-08-31

+

+ Drama
+ Rating: R +

+

+ Monty Lapica (dir.)
Diane Venora
+Monty Lapica
+Greg Germann
+Michael Bowen
+Kristina Anapau
+

+
+ +
+ + + + ]]>
+ Drama + +
+ + Ira and Abby + http://www.apple.com/trailers/magnolia/iraandabby/ + + + + Ira and Abby + + +

Ira and Abby

+ © Copyright 2007 Magnolia Pictures +
+

A sweet, hilarious and slightly subversive romantic comedy that examines the issues of marriage, monogamy and whether “I do†is the only path to life-long love and happiness. Ira Black is brilliant, neurotic, Jewish and has so many issues he can’t fit them into 12 years of analysis. Abby Willoughby is a free spirit who works in a gym and is better at solving her friends’ problems than selling memberships. When the two meet, the impossible happens: they fall in love, meet each other’s parents and decide to get married, all in a few breathless hours. And life is good, for a while, until a series of comic misadventures (multiple divorces, in-laws, affairs, exes, and too many therapists) force the couple to rethink their strategies.

+ + + + + +
+

In Theatres: 2007-09-14

+

+ Comedy
+ Rating: R +

+

+ Robert Cary (dir.)
Jennifer Westfeldt
+Frances Conroy
+Fred Willard
+Robert Klein
+Chris Messina
+

+
+ +
+ + + + ]]>
+ Comedy + +
+ + Dan In Real Life + http://www.apple.com/trailers/touchstone/daninreallife/ + + + + Dan In Real Life + + +

Dan In Real Life

+ © Copyright 2007 Touchstone Pictures +
+

Advice columnist Dan Burns is an expert on relationships, but somehow struggles to succeed as a brother, a son and a single parent in this heartfelt comedy from director Peter Hedges (“Pieces Of Aprilâ€).

+ + + + + +
+

In Theatres: 2007-10-26

+

+ Comedy
+ Rating: PG-13 +

+

+ Peter Hedges (dir.)
Steve Carell
+Juliette Binoche
+Dane Cook
+John Mahoney
+Emily Blunt
+

+
+ +
+ + + + ]]>
+ Comedy + +
+ + My Kid Could Paint That + http://www.apple.com/trailers/sony/mykidcouldpaintthat/ + + + + My Kid Could Paint That + + +

My Kid Could Paint That

+ © Copyright 2007 Sony Pictures Classics +
+

In the span of only a few months, 4-year-old Marla Olmstead rocketed from total obscurity into international renown – and sold over $300,000 dollars worth of paintings. She was compared to Kandinsky and Pollock, and called “a budding Picasso.” Inside Edition, The Jane Pauley Show, and NPR did pieces, and The Today Show and Good Morning America got in a bidding war over an appearance by the bashful toddler. There was talk of corporate sponsorship with the family fielding calls from The Gap and Crayola. But not all of the attention was positive. From the beginning, many faulted her parents for exposing Marla to the glare of the media and accused the couple of exploiting their daughter for financial gain. Others felt her work was, in fact, comparable to the great abstract expressionists – but saw this as emblematic of the meaninglessness of Modern Art. “She is painting exactly as all the adult paintings have been in the past 50 years, but painting like a child, too. That is what everybody thinks but they don’t dare to say it,” said Oggi, the leading Italian weekly. Through no intention of her own, Marla revived the age-old question, ‘what is art?’

+ + + + + +
+

In Theatres: 2007-10-05

+

+ Documentary
+ Rating: PG-13 +

+

+ Amir Bar-Lev (dir.)
Marla Olmstead
+

+
+ +
+ + + + ]]>
+ Documentary + +
+ + Lars and the Real Girl + http://www.apple.com/trailers/mgm/larsandtherealgirl/ + + + + Lars and the Real Girl + + +

Lars and the Real Girl

+ © Copyright 2007 Metro-Goldwyn-Mayer Studios Inc. +
+

Written by Six Feet Under scribe Nancy Oliver, Lars and the Real Girl is a heartfelt comedy starring Academy-Award nominated Ryan Gosling as Lars Lindstrom a loveable introvert whose emotional baggage has kept him from fully embracing life. After years of what is almost solitude, he invites Bianca, a friend he met on the internet to visit him. He introduces Bianca to his Brother Gus (Paul Schneider) and his wife Karen (Emily Mortimer) and they are stunned. They don’t know what to say to Lars or Bianca — because she is a life-size doll, not a real person and he is treating her as though she is alive. They consult the family doctor Dagmar (Patricia Clarkson) who explains this is a delusion he’s created — for what reason she doesn’t yet know but they should all go along with it. What follows is an emotional journey for Lars and the people around him.

+ + + + + +
+

In Theatres: 2007-10-12

+

+ Comedy
+ Rating: PG-13 +

+

+ Craig Gillespie (dir.)
Ryan Gosling
+Emily Mortimer
+Paul Schneider
+Kelli Garner
+Patricia Clarkson
+

+
+ +
+ + + + ]]>
+ Comedy + +
+ + National Treasure: Book of Secrets + http://www.apple.com/trailers/disney/nationaltreasurebookofsecrets/ + + + + National Treasure: Book of Secrets + + +

National Treasure: Book of Secrets

+ © Copyright 2007 Walt Disney Pictures +
+

In this follow up to the box-office hit “National Treasure,†treasure hunter Ben Gates (Nicolas Cage) once again sets out on an exhilarating, action-packed new global quest to unearth hidden history and treasures. When a missing page from the diary of John Wilkes Booth surfaces, Ben’s great-great grandfather is suddenly implicated as a key conspirator in Abraham Lincoln’s death. Determined to prove his ancestor’s innocence, Ben follows an international chain of clues that takes him on a chase from Paris to London and ultimately back to America. This journey leads Ben and his crew not only to surprising revelations - but to the trail of the world’s most treasured secrets.

+ + + + + +
+

In Theatres: 2007-12-21

+

+ Family
+ Rating: Not yet rated +

+

+ Jon Turteltaub (dir.)
Nicolas Cage
+Jon Voight
+Harvey Keitel
+Ed Harris
+Diane Kruger
+

+
+ +
+ + + + ]]>
+ Family + +
+ + Bratz + http://www.apple.com/trailers/lions_gate/bratz/ + + + + Bratz + + +

Bratz

+ © Copyright 2007 Lionsgate +
+

As long as they can remember, Yasmin (Nathalia Ramos), Jade (Janel Parrish), Sasha (Logan Browning) and Cloe (Skyler Shaye) have been “BFF†- Best Friends Forever. Inseparable since they first met, the young girls have always supported each other’s individual personalities, talents and fabulous fashion styles. But now as the foursome enter Carry Nation High, Yasmin, Jade, Sasha and Cloe face a brand new world: a blackboard jungle, where for the first time they discover life as a teenager means dealing with a system of social cliques, all strictly enforced by senior Meredith Baxter Dimly. Finding themselves being pulled further and further apart, the girls band together and rise up as “the Bratz†to fight peer pressure, in turn learning how true empowerment means standing up for your friends, being true to oneself and living out one’s dreams & aspirations.

+ + + + + +
+

In Theatres: 2007/08/03

+

+ Comedy
+ Rating: PG +

+

+ (dir.)
Nathalia Ramos
+Janel Parrish
+Logan Browning
+Skyler Shaye
+Chelsea Staub
+

+
+ +
+ + + + ]]>
+ Comedy + +
+ + Dedication + http://www.apple.com/trailers/weinstein/dedication/ + + + + Dedication + + +

Dedication

+ © Copyright 2007 Weinstein Company +
+

Henry Roth is messed up. A New York children’s book author who tells kids that Santa doesn’t exist, he hates sleeping with - and next to - anyone, including his girlfriend and must lay on the floor, usually with heavy objects on top of him just to feel safe. His motto is Life is nothing but the occasional burst of laughter rising above the interminable wail of grief. “Dedication,†a modern love story in which a misanthropic, emotionally complex author of a hit children’s book series (Billy Crudup) is forced to team with a beautiful illustrator (Mandy Moore) after his best friend and creative collaborator (Tom Wilkinson) passes away marks the directorial debut of Justin Theroux. As Henry struggles with letting go of the ghosts of love and life, he discovers that sometimes you have to take a gamble at life to find love.

+ + + + + +
+

In Theatres: 2007-08-24

+

+ Drama
+ Rating: R +

+

+ Justin Theroux (dir.)
Billy Crudup
+Mandy Moore
+Tom Wilkinson
+Martin Freeman
+Dianne Wiest
+

+
+ +
+ + + + ]]>
+ Drama + +
+ + Things We Lost In the Fire + http://www.apple.com/trailers/dreamworks/thingswelostinthefire/ + + + + Things We Lost In the Fire + + +

Things We Lost In the Fire

+ © Copyright 2007 DreamWorks S.K.G. +
+

Academy Award-winners Halle Berry and Benicio Del Toro star in “Things We Lost in the Fire,†a compelling drama about two people brought together by fate. Audrey Burke’s (Berry) life has been shattered by the sudden death of her husband. In grief, she turns to one of his life-long friends, Jerry Sunborne (Del Toro), a former lawyer who is on a serious downward spiral. Together, they work to repair their lives. Produced by Oscar-winner Sam Mendes and Sam Mercer and helmed by acclaimed Oscar(r)-nominated Danish director Susanne Bier.

+ + + + + +
+

In Theatres: 2007-10-26

+

+ Drama
+ Rating: R +

+

+ Susanne Bier (dir.)
Halle Berry
+Benicio del Toro
+David Duchovny
+Omar Benson Miller
+Alison Lohman
+

+
+ +
+ + + + ]]>
+ Drama + +
+ + Death Sentence + http://www.apple.com/trailers/fox_atomic/deathsentence/ + + + + Death Sentence + + +

Death Sentence

+ © Copyright 2007 Fox Atomic +
+

Nick Hume (Kevin Bacon) is a mild-mannered executive with a perfect life, until one gruesome night he witnesses something that changes him forever. Transformed by grief, Hume eventually comes to the disturbing conclusion that no length is too great when protecting his family.

+ + + + + +
+

In Theatres: 2007-08-31

+

+ Drama
+ Rating: R +

+

+ James Wan (dir.)
Kevin Bacon
+Kelly Preston
+John Goodman
+Aisha Tyler
+Stuart Lafferty
+

+
+ +
+ + + + ]]>
+ Drama + +
+ + Lust, Caution + http://www.apple.com/trailers/focus_features/lustcaution/ + + + + Lust, Caution + + +

Lust, Caution

+ © Copyright 2007 Focus Features +
+

Director Ang Lee’s new film, following his Academy Award win for directing “Brokeback Mountain,†is an espionage thriller set in WWII-era Shanghai. Asian cinema icon Tony Leung (“Hero,†“In the Mood for Loveâ€) stars as Mr. Yee, a powerful political figure in 1940s Shanghai. Tang Wei, a rising star in mainland China, makes her feature film debut as Wang Jiazhi, a young woman who gets swept up in a dangerous game of emotional intrigue with Mr. Yee.

+ + + + + +
+

In Theatres: 2007-09-28

+

+ Drama
+ Rating: Not yet rated +

+

+ Ang Lee (dir.)
Tony Leung
+Tang Wei
+Joan Chen
+Wang Leehom
+

+
+ +
+ + + + ]]>
+ Drama + +
+ + Beowulf + http://www.apple.com/trailers/paramount/beowulf/ + + + + Beowulf + + +

Beowulf

+ © Copyright 2007 Paramount Pictures +
+

In a time of heroes, the mighty warrior Beowulf slays the demon Grendel and incurs the wrath of its monstrous yet seductive mother in a conflict that transforms a king into a legend. Groundbreaking director Robert Zemeckis offers a vision of the Beowulf saga that has never been told before “Beowulf,†starring Ray Winstone in the title role and Anthony Hopkins as the corrupt King Hrothgar, as well as John Malkovich, Robin Wright Penn, Brendan Gleeson, Crispin Glover, Alison Lohman, and Angelina Jolie as Grendel’s mother. Neil Gaiman (“Mirrormask, the graphic novel,†“Sandmanâ€) & Roger Avary (“Pulp Fictionâ€) adapted the legend for the screen.

+ + + + + +
+

In Theatres: 2007-11-16

+

+ Fantasy
+ Rating: Not yet rated +

+

+ Robert Zemeckis (dir.)
Ray Winstone
+Anthony Hopkins
+John Malkovich
+Robin Wright Penn
+Brendan Gleeson
+

+
+ +
+ + + + ]]>
+ Fantasy + +
+ + The Darjeeling Limited + http://www.apple.com/trailers/fox_searchlight/thedarjeelinglimited/ + + + + The Darjeeling Limited + + +

The Darjeeling Limited

+ © Copyright 2007 Fox Searchlight Pictures +
+

An emotional comedy about three brothers re-forging family bonds. The eldest, played by Wilson, hopes to reconnect with his two younger siblings by taking them on a train trip across the vibrant and sensual landscape of India.

+ + + + + +
+

In Theatres: 2007-09-29

+

+ Comedy
+ Rating: R +

+

+ Wes Anderson (dir.)
Owen Wilson
+Adrien Brody
+Jason Schwartzman
+Anjelica Huston
+

+
+ +
+ + + + ]]>
+ Comedy + +
+ + December Boys + http://www.apple.com/trailers/warner_independent_pictures/decemberboys/ + + + + December Boys + + +

December Boys

+ © Copyright 2007 Warner Independent Pictures +
+

Based on the classic Michael Noonan novel, “December Boys†is the story of four orphan teenagers growing up behind the closed doors of a Catholic convent in outback Australia during the 1960s. As the boys watch younger kids get adopted by loving families, they begin to realize that as they get older, their turn may never come. When the convent sends the boys to visit the seaside one summer, they finally have something to look forward to.

+ + + + + +
+

In Theatres: 2007-09-14

+

+ Drama
+ Rating: PG-13 +

+

+ Rod Hardy (dir.)
Daniel Radcliffe
+Christian Byers
+Lee Cormie
+James Fraser
+

+
+ +
+ + + + ]]>
+ Drama + +
+ + No End In Sight + http://www.apple.com/trailers/magnolia/noendinsight/ + + + + No End In Sight + + +

No End In Sight

+ © Copyright 2007 Magnolia Pictures +
+

The first film of its kind to chronicle the reasons behind Iraq’s descent into guerilla war, warlord rule, criminality and anarchy, NO END IN SIGHT is a jaw-dropping, insider’s tale of wholesale incompetence, recklessness and venality. Based on over 200 hours of footage, the film provides a candid retelling of the events following the fall of Baghdad in 2003 by high ranking officials such as former Deputy Secretary of State Richard Armitage, Ambassador Barbara Bodine (in charge of Baghdad during the Spring of 2003), Colonel Lawrence Wilkerson, former Chief of Staff to Colin Powell, and General Jay Garner (in charge of the occupation of Iraq through May 2003), as well as Iraqi civilians, American soldiers and prominent analysts. NO END IN SIGHT examines the manner in which the principal errors of U.S. policy - the use of insufficient troop levels, allowing the looting of Baghdad, the purging of professionals from the Iraqi government and the disbanding of the Iraqi military - largely created the insurgency and chaos that engulf Iraq today.

+ + + + + +
+

In Theatres: 2007-07-27

+

+ Drama
+ Rating: Not yet rated +

+

+ Charles Ferguson (dir.)

+
+ +
+ + + + ]]>
+ Drama + +
+ + No Country For Old Men + http://www.apple.com/trailers/miramax/nocountryforoldmen/ + + + + No Country For Old Men + + +

No Country For Old Men

+ © Copyright 2007 Miramax Films +
+

Based on the acclaimed novel by Pulitzer Prize winning American master Cormac McCarthy. The time is our own, when rustlers have given way to drug- runners and small towns have become free-fire zones. The story begins when Llewelyn Moss (BROLIN) finds a pickup truck surrounded by a sentry of dead men. A load of heroin and two million dollars in cash are still in the back. When Moss takes the money, he sets off a chain reaction of catastrophic violence that not even the law - in the person of aging, disillusioned Sheriff Bell (JONES) - can contain. As Moss tries to evade his pursuers - in particular a mysterious mastermind who flips coins for human lives (BARDEM) - the film simultaneously strips down the American crime drama and broadens its concerns to encompass themes as ancient as the Bible and as bloodily contemporary as this morning’s headlines.

+ + + + + +
+

In Theatres: 2007-11-09

+

+ Drama
+ Rating: R +

+

+ Joel Coen, Ethan Coen (dir.)
Tommy Lee Jones
+Javier Bardem
+Josh Brolin
+

+
+ +
+ + + + ]]>
+ Drama + +
+ + 3:10 To Yuma + http://www.apple.com/trailers/lions_gate/310toyuma/ + + + + 3:10 To Yuma + + +

3:10 To Yuma

+ © Copyright 1969 Lionsgate +
+

Stars Russell Crowe, Christian Bale, Ben Foster, Gretchen Mol and Peter Fonda in a modern take on the classic western by Elmore Leonard from producing/writing/ directing team Cathy Konrad and James Mangold (WALK THE LINE). In Arizona in the late 1800’s, infamous outlaw Ben Wade (Crowe) and his vicious gang of thieves and murderers have plagued the Southern Railroad. When Wade is captured, Civil War veteran Dan Evans (Christian Bale), struggling to survive on his drought-plagued ranch, volunteers to deliver him alive to the “3:10 to Yumaâ€, a train that will take the killer to trial. On the trail, Evans and Wade, each from very different worlds, begin to earn each other’s respect. But with Wade’s outfit on their trail - and dangers at every turn - the mission soon becomes a violent, impossible journey toward each man’s destiny.

+ + + + + +
+

In Theatres:

+

+ Action and Adventure
+ Rating: Not yet rated +

+

+ James Mangold (dir.)
Christian Bale
+Russell Crowe
+Ben Foster
+Alan Tudyk
+Gretchen Mol
+

+
+ +
+ + + + ]]>
+ Action and Adventure + +
+ + Dynamite Warrior + http://www.apple.com/trailers/magnolia/dynamitewarrior/ + + + + Dynamite Warrior + + +

Dynamite Warrior

+ © Copyright 2007 Magnolia Pictures +
+

A supernatural, action packed movie with high-grade special effects and the kind of raw action scenes the world is coming to expect from Thailand. Set in rural Thailand during the 1920s Dan Chupong (Born To Fight) plays Jone Bang Fai a young man riddled with grief and bent on revenge after witnessing his parents’ murder by a callous and malicious killer. The only information Jone has as to the killer’s identity is the memory of a tattoo-covered man who is part of an organized group of cattle rustlers. Jone makes it his mission to stop all cattle rustlers and in the process return each head of cattle back to its rightful owner. After searching the country high and low, Jone finally believes he has found the murderer in a small rural village in the North of Thailand. To Jone’s dismay he learns that the killer is in fact a warlock of immense power, a nearly invincible mystical man who is trying to control the whole village. His one weakness? He can be harmed only by weapons that have been treated with the menstrual blood of a young virgin. Armed with this knowledge and a few hundred highly charged rockets (and a dash of menstrual blood), our intrepid hero goes up against one of the most dangerous men to have ever walked the Earth.

+ + + + + +
+

In Theatres: 2007-07-06

+

+ Action and Adventure
+ Rating: R +

+

+ Chalerm Wongpim (dir.)
Dan Chupong
+Puttipong Sriwat
+Panna Rittikrai
+

+
+ +
+ + + + ]]>
+ Action and Adventure + +
+ + Feast of Love + http://www.apple.com/trailers/mgm/feastoflove/ + + + + Feast of Love + + +

Feast of Love

+ © Copyright 2007 Metro-Goldwyn-Mayer Studios Inc. +
+

From venerable Academy Award(r) winning director Robert Benton (KRAMER VS. KRAMER), comes a kaleidoscopic ode to life and love in all its funny, sad, sexy, crazy, heartbreaking and life sustaining facets: FEAST OF LOVE. In a coffee shop in a tight-knit Oregon community, local professor Harry Stevenson (Academy Award(r) winner Morgan Freeman) witnesses love and attraction whipping up mischief among the town’s residents. From the unlucky in love, die-hard romantic coffee shop owner Bradley (Academy Award(r) nominee Greg Kinnear) who has a serial habit of looking for love in all the wrong places, including with his current wife Kathryn (Selma Blair); to the edgy real estate agent Diana (Radha Mitchell) who is caught up in an affair with a married man (Billy Burke) with whom she shares an ineffable connection; to the beautiful young newcomer Chloe (Alexa Davalos) who defies fate in romancing the troubled Oscar (Toby Hemingway); to Harry himself, whose adoring wife (Jane Alexander) is looking to break through his wall of grief after the wrenching loss of a beloved . . . they all intertwine into one remarkable story in which no one can escape being bent, broken, befuddled, delighted and ultimately redeemed by love’s inescapable spell.

+ + + + + +
+

In Theatres: 2007-09-28

+

+ Drama
+ Rating: R +

+

+ Robert Benton (dir.)
Morgan Freeman
+Greg Kinnear
+Radha Mitchell
+Billy Burke
+Selma Blair
+

+
+ +
+ + + + ]]>
+ Drama + +
+ + The Game Plan + http://www.apple.com/trailers/disney/thegameplan/ + + + + The Game Plan + + +

The Game Plan

+ © Copyright 2007 Walt Disney Pictures +
+

Tells the story of rugged superstar quarterback Joe Kingman (DWAYNE “THE ROCK†JOHNSON), whose Boston-based team is chasing a championship. A ‘serial bachelor’, Kingman is living the ultimate fantasy: he’s rich, famous and the life of the party. But this dream is suddenly sacked for a loss when he discovers the 7-year-old daughter (newcomer MADISON PETTIS) he never knew he had - the product of a last fling before parting years ago with his young wife. Now, during the most important time in his career, he must figure out how to juggle his parties, practices and dates with the newfound ballet classes, bedtime stories and dolls that come with his daughter. Equally perplexed is his hard-edged mega-agent, Stella (KYRA SEDGWICK), herself without a parental bone in her body. Despite the often hilarious misadventures that come with being a new father, Joe discovers that’s there’s more to life than money, endorsements and thousands of adoring fans: the love and care of one very special small fan is the only thing that matters.

+ + + + + +
+

In Theatres: 2007-09-28

+

+ Comedy
+ Rating: PG +

+

+ Andy Fickman (dir.)
Dwayne “The Rock†Johnson
+Roselyn Sanchez
+Kyra Sedgwick
+Morris Chestnut
+Madison Pettis
+

+
+ +
+ + + + ]]>
+ Comedy + +
+ + In the Shadow of the Moon + http://www.apple.com/trailers/thinkfilm/intheshadowofthemoon/ + + + + In the Shadow of the Moon + + +

In the Shadow of the Moon

+ © Copyright 2007 THINKfilm +
+

Between 1968 and 1972, nine American spacecraft voyaged to the Moon, and 12 men walked upon its surface. IN THE SHADOW OF THE MOON brings together for the first, and possibly the last, time surviving crew members from every single Apollo mission that flew to the Moon along with visually stunning archival material re-mastered from the original NASA film footage. The result is an intimate epic that vividly communicates the daring, the danger, the pride, and the promise of this extraordinary era in history when the whole world literally looked up at America.

+ + + + + +
+

In Theatres: 2007-09-07

+

+ Documentary
+ Rating: PG +

+

+ David Sington (dir.)
Jim Lovell
+Dave Scott
+John Young
+Gene Cernan
+Mike Collins
+

+
+ +
+ + + + ]]>
+ Documentary + +
+ + King of Kong + http://www.apple.com/trailers/picturehouse/kingofkong/ + + + + King of Kong + + +

King of Kong

+ © Copyright 2007 Picturehouse +
+

Follows a middle school science teacher as he battles a hot sauce mogul for the Guinness World Record on the arcade classic Donkey Kong.

+ + + + + +
+

In Theatres: 2007-08-17

+

+ Documentary
+ Rating: PG-13 +

+

+ Seth Gordon (dir.)

+
+ +
+ + + + ]]>
+ Documentary + +
+ + Rocket Science + http://www.apple.com/trailers/picturehouse/rocketscience/ + + + + Rocket Science + + +

Rocket Science

+ © Copyright 2007 Picturehouse +
+

A teenager tackles the mysteries of life, love and public speaking in Rocket Science, a wry comedy of adolescent angst by Jeffrey Blitz, director of the Academy Award-nominated documentary Spellbound. Making his feature narrative debut, Blitz leaves behind the conventions and cliches of coming-of-age tales to instead conjure a world where everyone, regardless of age, is befuddled by desire and the longing for human connection. Mixing humor with a compassionate regard for his characters and their idiosyncrasies, Blitz creates a film about the little insights that can emerge from, and ultimately eclipse, the agonies and disappointments of youth.

+ + + + + +
+

In Theatres: 2007-08-10

+

+ Comedy
+ Rating: R +

+

+ Jeffrey Blitz (dir.)
Reece Daniel Thompson
+Anna Kendrick
+Nicholas DiAgosto
+Vincent Piazza
+Margo Martindale
+

+
+ +
+ + + + ]]>
+ Comedy + +
+ + The Spiderwick Chronicles + http://www.apple.com/trailers/paramount/thespiderwickchronicles/ + + + + The Spiderwick Chronicles + + +

The Spiderwick Chronicles

+ © Copyright 1969 Paramount Pictures +
+

From the beloved best-selling series of books comes “The Spiderwick Chronicles,†a fantasy adventure for the child in all of us. Peculiar things start to happen the moment the Grace family (Jared, his twin brother Simon, sister Mallory and their mom) leave New York and move into the secluded old house owned by their great, great uncle Arthur Spiderwick. Unable to explain the strange disappearances and accidents that seem to be happening on a daily basis, the family blames Jared. When he, Simon and Mallory investigate what’s really going on, they uncover the fantastic truth of the Spiderwick estate and of the creatures that inhabit it.

+ + + + + +
+

In Theatres:

+

+ Family
+ Rating: Not yet rated +

+

+ Mark Waters (dir.)
Freddie Highmore
+Mary-Louise Parker
+Nick Nolte
+Joan Plowright
+David Strathairn
+

+
+ +
+ + + + ]]>
+ Family + +
+ + 10,000 B.C. + http://www.apple.com/trailers/wb/10000bc/ + + + + 10,000 B.C. + + +

10,000 B.C.

+ © Copyright 2008 Warner Bros. Pictures +
+

It was a time when man and beast were untamed and the mighty mammoth roamed the earth. A time when ideas and beliefs were born that forever shaped mankind. 10,000 B.C. follows a young hunter (Steven Strait) on his quest to lead an army across a vast desert, battling saber tooth tigers and prehistoric predators as he unearths a lost civilization and attempts to rescue the woman he loves (Camilla Belle) from an evil warlord determined to possess her.

+ + + + + +
+

In Theatres: 2008-03-07

+

+ Action and Adventure
+ Rating: Not yet rated +

+

+ Roland Emmerich (dir.)
Steven Strait
+Camilla Belle
+

+
+ +
+ + + + ]]>
+ Action and Adventure + +
+ + Charlie Bartlett + http://www.apple.com/trailers/mgm/charliebartlett/ + + + + Charlie Bartlett + + +

Charlie Bartlett

+ © Copyright 2007 Metro-Goldwyn-Mayer Studios Inc. +
+

Among the classic high-school rebels of American movies, there have been truants, delinquents, pranksters and con artists – but there has never been anyone quite like Charlie Bartlett. An optimist, a truth-teller and a fearless schemer, when Charlie slyly positions himself as his new school’s resident “psychiatrist,” dishing out both honest advice and powerful prescriptions, he has no idea the ways in which he will transform his classmates, the school principal and the potential of his own life.

+ + + + + +
+

In Theatres: 2007-08-03

+

+ Comedy
+ Rating: R +

+

+ Jon Poll (dir.)
Anton Yelchin
+Robert Downey, Jr.
+Hope Davis
+Kat Dennings
+

+
+ +
+ + + + ]]>
+ Comedy + +
+ + Get Smart + http://www.apple.com/trailers/wb/getsmart/ + + + + Get Smart + + +

Get Smart

+ © Copyright 2008 Warner Bros. Pictures +
+

In the all-new action comedy “Get Smart,” Maxwell Smart (Steve Carell) is on a mission to thwart the latest plot for world domination by the evil crime syndicate known as KAOS. When the headquarters of U.S. spy agency Control is attacked and the identities of its agents compromised, the Chief (Alan Arkin) has no choice but to promote his ever-eager analyst Maxwell Smart, who has always dreamt of working in the field alongside stalwart superstar Agent 23 (Dwayne “The Rock” Johnson). Smart is partnered instead with the only other agent whose identity has not been compromised: the lovely-but-lethal veteran Agent 99 (Anne Hathaway). As Smart and 99 get closer to unraveling KAOS’ master plan—and each other—they discover that key KAOS operative Siegfried (Terence Stamp) and his sidekick Shtarker (Kenneth Davitian) are scheming to cash in with their network of terror. Given little field experience and even less time, Smart—armed with nothing but a few spy-tech gadgets and his unbridled enthusiasm—must defeat KAOS if he is to save the day.

+ + + + + +
+

In Theatres: 2008-06-20

+

+ Comedy
+ Rating: Not yet rated +

+

+ Peter Segal (dir.)
Steve Carell
+Anne Hathaway
+Dwayne “The Rock” Johnson
+Alan Arkin
+Terrence Stamp
+

+
+ +
+ + + + ]]>
+ Comedy + +
+ + Ghosts of Cite Soleil + http://www.apple.com/trailers/thinkfilm/ghostsofcitesoleil/ + + + + Ghosts of Cite Soleil + + +

Ghosts of Cite Soleil

+ © Copyright 2007 THINKfilm +
+

An epic portrait of a family and a culture torn apart by poverty and violence, Ghosts of Cite Soleil is a powerful and unsettling documentary that takes us inside the lives of the notorious gang leaders who dominate the Haitian slum of Cite Soleil, one of the most desperate communities in the Western hemisphere. Set to a score by Wyclef Jean, who also executive produced the film and serves as an inspiration to the young men of Haiti, the film follows two of the gang leaders, who happen to be brothers, and are also aspiring rappers. The foot soldiers of these gang leaders are known as chimeres (or “ghostsâ€) and it was those ghosts whom former President Jean-Bertrand Aristide is said to have employed to silence his opponents. Filmed in the months leading up to Aristide’s overthrow in 2004, the film captures the smoldering tensions between the two rival gang leaders, and their love for the same woman, set in a city the United Nations has declared the most dangerous place on Earth.

+ + + + + +
+

In Theatres: 2007-07-27

+

+ Documentary
+ Rating: NR +

+

+ Asger Leth (dir.)

+
+ +
+ + + + ]]>
+ Documentary + +
+ + Gone Baby Gone + http://www.apple.com/trailers/miramax/gonebabygone/ + + + + Gone Baby Gone + + +

Gone Baby Gone

+ © Copyright 2007 Miramax Films +
+

“Gone Baby Gone” is Ben Affleck’s directorial debut and is based on the novel from the acclaimed author of “Mystic River.” It is an intense look inside an ongoing investigation about the mysterious disappearance of a little girl. Two young private detectives (Casey Affleck and Michelle Monaghan) are hired to take a closer look at the case and soon discover that nothing is what it seems. Ultimately, they will have to risk everything — their relationship, their sanity, and even their lives — to find a little girl-lost. The film also stars Academy Award Winner Morgan Freeman (“Million Dollar Baby”) and Academy Award Nominee Ed Harris (“Pollack”).

+ + + + + +
+

In Theatres: 2007-10-19

+

+ Drama
+ Rating: R +

+

+ Ben Affleck (dir.)
Casey Affleck
+Michelle Monaghan
+Morgan Freeman
+Ed Harris
+

+
+ +
+ + + + ]]>
+ Drama + +
+
+
diff -Nru shared-mime-info-1.15/tests/mime-detection/feeds.opml shared-mime-info-2.0/tests/mime-detection/feeds.opml --- shared-mime-info-1.15/tests/mime-detection/feeds.opml 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/feeds.opml 2020-05-06 14:11:14.195907800 +0000 @@ -0,0 +1,2 @@ + + ourFavoriteFeedsData.top100 Fri, 02 Jan 2004 12:59:58 GMT Fri, 23 Jul 2004 23:41:32 GMT Dave Winer dave@userland.com 1 20 0 120 147 \ No newline at end of file Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/FF6FR.IPS and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/FF6FR.IPS differ diff -Nru shared-mime-info-1.15/tests/mime-detection/folder.svg shared-mime-info-2.0/tests/mime-detection/folder.svg --- shared-mime-info-1.15/tests/mime-detection/folder.svg 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/folder.svg 2020-05-06 14:11:14.195907800 +0000 @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/foo-0.1-1.fc18.src.rpm and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/foo-0.1-1.fc18.src.rpm differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/foo.doc and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/foo.doc differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/fuji.themepack and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/fuji.themepack differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/game-boy-color-test.gbc and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/game-boy-color-test.gbc differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/game-boy-test.gb and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/game-boy-test.gb differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/game-gear-test.gg and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/game-gear-test.gg differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/GammaChart.exr and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/GammaChart.exr differ diff -Nru shared-mime-info-1.15/tests/mime-detection/gedit.flatpakref shared-mime-info-2.0/tests/mime-detection/gedit.flatpakref --- shared-mime-info-1.15/tests/mime-detection/gedit.flatpakref 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/gedit.flatpakref 2020-05-06 14:11:14.198907900 +0000 @@ -0,0 +1,12 @@ +[Flatpak Ref] +Title=GEdit +Name=org.gnome.gedit +Branch=stable +Url=http://sdk.gnome.org/repo-apps/ +IsRuntime=False +GPGKey=mQENBFUUCGcBCAC/K9WeV4xCaKr3NKRqPXeY5mpaXAJyasLqCtrDx92WUgbu0voWrhohNAKpqizod2dvzc/XTxm3rHyIxmNfdhz1gaGhynU75Qw4aJVcly2eghTIl++gfDtOvrOZo/VuAq30f32dMIgHQdRwEpgCwz7WyjpqZYltPAEcCNL4MTChAfiHJeeiQ5ibystNBW8W6Ymf7sO4m4g5+/aOxI54oCOzD9TwBAe+yXcJJWtc2rAhMCjtyPJzxd0ZVXqIzCe1xRvJ6Rq7YCiMbiM2DQFWXKnmYQbj4TGNMnwNdAajCdrcBWEMSbzq7EzuThIJRd8Ky4BkEe1St6tuqwFaMZz+F9eXABEBAAG0KEdub21lIFNESyAzLjE2IDxnbm9tZS1vcy1saXN0QGdub21lLm9yZz6JATgEEwECACIFAlUUCGcCGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEArkz6VV0VKBa5cH/0vXa31YgEjNk78gGFXqnQxdD1WYA87OYxDi189l4lA802EFTF4wCBuZyDOqdd5BhS3Ab0cR778DmZXRUP2gwe+1zTJypU2JMnDpkwJ4NK1VP6/tE4SAPrznBtmb76BKaWBqUfZ9Wq1zg3ugvqkZB/Exq+usypIOwQVp1KL58TrjBRda0HvRctzkNhr0qYAtkfLFe0GvksBp4vBm8uGwAx7fw/HbhIjQ9pekTwvB+5GwDPO/tSip/1bQfCS+XJB8Ffa04HYPLGedalnWBrwhYY+G/kn5Zh9L/AC8xeLwTJTHM212rBjPa9CWs9C6a57MSaeGIEHLC1hEyiJJ15w8jmY= + +Homepage=https://wiki.gnome.org/Apps/Gedit +Comment=Text editor for the GNOME desktop +Description=gedit is a small, but powerful text editor designed specifically for the GNOME desktop. It has most standard text editor functions and fully supports international text in Unicode. Advanced features include syntax highlighting and automatic indentation of source code, printing and editing of multiple documents in one window. +Icon=https://wiki.gnome.org/Apps/Gedit?action=AttachFile&do=get&target=gedit-logo.png Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/genesis1.bin and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/genesis1.bin differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/genesis2.bin and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/genesis2.bin differ diff -Nru shared-mime-info-1.15/tests/mime-detection/gnome.flatpakrepo shared-mime-info-2.0/tests/mime-detection/gnome.flatpakrepo --- shared-mime-info-1.15/tests/mime-detection/gnome.flatpakrepo 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/gnome.flatpakrepo 2020-05-06 14:11:14.200907700 +0000 @@ -0,0 +1,4 @@ +[Flatpak Repo] +Title=Gnome Stable Runtimes +Url=http://sdk.gnome.org/repo/ +GPGKey=mQENBFUUCGcBCAC/K9WeV4xCaKr3NKRqPXeY5mpaXAJyasLqCtrDx92WUgbu0voWrhohNAKpqizod2dvzc/XTxm3rHyIxmNfdhz1gaGhynU75Qw4aJVcly2eghTIl++gfDtOvrOZo/VuAq30f32dMIgHQdRwEpgCwz7WyjpqZYltPAEcCNL4MTChAfiHJeeiQ5ibystNBW8W6Ymf7sO4m4g5+/aOxI54oCOzD9TwBAe+yXcJJWtc2rAhMCjtyPJzxd0ZVXqIzCe1xRvJ6Rq7YCiMbiM2DQFWXKnmYQbj4TGNMnwNdAajCdrcBWEMSbzq7EzuThIJRd8Ky4BkEe1St6tuqwFaMZz+F9eXABEBAAG0KEdub21lIFNESyAzLjE2IDxnbm9tZS1vcy1saXN0QGdub21lLm9yZz6JATgEEwECACIFAlUUCGcCGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEArkz6VV0VKBa5cH/0vXa31YgEjNk78gGFXqnQxdD1WYA87OYxDi189l4lA802EFTF4wCBuZyDOqdd5BhS3Ab0cR778DmZXRUP2gwe+1zTJypU2JMnDpkwJ4NK1VP6/tE4SAPrznBtmb76BKaWBqUfZ9Wq1zg3ugvqkZB/Exq+usypIOwQVp1KL58TrjBRda0HvRctzkNhr0qYAtkfLFe0GvksBp4vBm8uGwAx7fw/HbhIjQ9pekTwvB+5GwDPO/tSip/1bQfCS+XJB8Ffa04HYPLGedalnWBrwhYY+G/kn5Zh9L/AC8xeLwTJTHM212rBjPa9CWs9C6a57MSaeGIEHLC1hEyiJJ15w8jmY= Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/good-1-delta-lzma2.tiff.xz and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/good-1-delta-lzma2.tiff.xz differ diff -Nru shared-mime-info-1.15/tests/mime-detection/googleearth.kml shared-mime-info-2.0/tests/mime-detection/googleearth.kml --- shared-mime-info-1.15/tests/mime-detection/googleearth.kml 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/googleearth.kml 2020-05-06 14:11:14.200907700 +0000 @@ -0,0 +1,21 @@ + + + + Airports of Germany + + + EDVE + Airport Braunschweig/Wolfsburg

Tower: 119.35
Info: 119.35

]]>
+ randomColorIcon + + 10.556111,52.319167 + +
+
+
diff -Nru shared-mime-info-1.15/tests/mime-detection/gtk-builder.ui shared-mime-info-2.0/tests/mime-detection/gtk-builder.ui --- shared-mime-info-1.15/tests/mime-detection/gtk-builder.ui 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/gtk-builder.ui 2020-05-06 14:11:14.200907700 +0000 @@ -0,0 +1,266 @@ + + + + + + + + + + + + John + Doe + 25 + This is the John Doe row + + + Mary + Unknown + 50 + This is the Mary Unknown row + + + + + + + + + Copy + Copy selected object into the clipboard + gtk-copy + + + + + Cut + Cut selected object into the clipboard + gtk-cut + + + + + EditMenu + _Edit + + + + + FileMenu + _File + + + + + New + Create a new file + gtk-new + + + + + Open + Open a file + gtk-open + + + + + Paste + Paste object from the Clipboard + gtk-paste + + + + + Quit + Quit the program + gtk-quit + + + + + + Save + True + Save a file + gtk-save + + + + + SaveAs + Save with a different name + gtk-save-as + + + + + HelpMenu + _Help + + + + + About + gtk-about + + + + + + + Help + gtk-help + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GtkBuilder demo + + + + + + 250 + 440 + GtkBuilder demo + + + True + + + True + + + The menubar + + + + + False + + + + + True + + + The toolbar + + + + + False + 1 + + + + + automatic + in + True + automatic + + + True + liststore1 + 3 + + + Name list + + A list of person with name, surname and age columns + + + + + + Name + + + + 0 + + + + + + + Surname + + + + 1 + + + + + + + Age + + + + 2 + + + + + + + + + + + + 2 + + + + + True + + + False + 3 + + + + + + diff -Nru shared-mime-info-1.15/tests/mime-detection/hbo-playlist.qtl shared-mime-info-2.0/tests/mime-detection/hbo-playlist.qtl --- shared-mime-info-1.15/tests/mime-detection/hbo-playlist.qtl 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/hbo-playlist.qtl 2020-05-06 14:11:14.200907700 +0000 @@ -0,0 +1,19 @@ +SMILtext + + + + + + + + + + + + + + + Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/hello.flatpak and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/hello.flatpak differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/hello.pack and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/hello.pack differ diff -Nru shared-mime-info-1.15/tests/mime-detection/helloworld.groovy shared-mime-info-2.0/tests/mime-detection/helloworld.groovy --- shared-mime-info-1.15/tests/mime-detection/helloworld.groovy 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/helloworld.groovy 2020-05-06 14:11:14.201907900 +0000 @@ -0,0 +1,5 @@ +class HelloWorld { + static void main(String[] args) { + println('Hello World'); + } +} diff -Nru shared-mime-info-1.15/tests/mime-detection/helloworld.java shared-mime-info-2.0/tests/mime-detection/helloworld.java --- shared-mime-info-1.15/tests/mime-detection/helloworld.java 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/helloworld.java 2020-05-06 14:11:14.201907900 +0000 @@ -0,0 +1,7 @@ +class helloworld +{ + public static void main(String args[]) + { + System.out.println("Hello World!"); + } +} diff -Nru shared-mime-info-1.15/tests/mime-detection/helloworld.vbs shared-mime-info-2.0/tests/mime-detection/helloworld.vbs --- shared-mime-info-1.15/tests/mime-detection/helloworld.vbs 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/helloworld.vbs 2020-05-06 14:11:14.201907900 +0000 @@ -0,0 +1 @@ +MsgBox("Hello World!") Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/helloworld.xpi and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/helloworld.xpi differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/hello.xdgapp and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/hello.xdgapp differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/hereyes_remake.mo3 and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/hereyes_remake.mo3 differ diff -Nru shared-mime-info-1.15/tests/mime-detection/html4.css shared-mime-info-2.0/tests/mime-detection/html4.css --- shared-mime-info-1.15/tests/mime-detection/html4.css 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/html4.css 2020-05-06 14:11:14.203907700 +0000 @@ -0,0 +1,78 @@ +html, address, +blockquote, +body, dd, div, +dl, dt, fieldset, form, +frame, frameset, +h1, h2, h3, h4, +h5, h6, noframes, +ol, p, ul, center, +dir, hr, menu, pre { display: block; unicode-bidi: embed } +li { display: list-item } +head { display: none } +table { display: table } +tr { display: table-row } +thead { display: table-header-group } +tbody { display: table-row-group } +tfoot { display: table-footer-group } +col { display: table-column } +colgroup { display: table-column-group } +td, th { display: table-cell } +caption { display: table-caption } +th { font-weight: bolder; text-align: center } +caption { text-align: center } +body { margin: 8px } +h1 { font-size: 2em; margin: .67em 0 } +h2 { font-size: 1.5em; margin: .75em 0 } +h3 { font-size: 1.17em; margin: .83em 0 } +h4, p, +blockquote, ul, +fieldset, form, +ol, dl, dir, +menu { margin: 1.12em 0 } +h5 { font-size: .83em; margin: 1.5em 0 } +h6 { font-size: .75em; margin: 1.67em 0 } +h1, h2, h3, h4, +h5, h6, b, +strong { font-weight: bolder } +blockquote { margin-left: 40px; margin-right: 40px } +i, cite, em, +var, address { font-style: italic } +pre, tt, code, +kbd, samp { font-family: monospace } +pre { white-space: pre } +button, textarea, +input, select { display: inline-block } +big { font-size: 1.17em } +small, sub, sup { font-size: .83em } +sub { vertical-align: sub } +sup { vertical-align: super } +table { border-spacing: 2px; } +thead, tbody, +tfoot { vertical-align: middle } +td, th, tr { vertical-align: inherit } +s, strike, del { text-decoration: line-through } +hr { border: 1px inset } +ol, ul, dir, +menu, dd { margin-left: 40px } +ol { list-style-type: decimal } +ol ul, ul ol, +ul ul, ol ol { margin-top: 0; margin-bottom: 0 } +u, ins { text-decoration: underline } +br:before { content: "\A"; white-space: pre-line } +center { text-align: center } +:link, :visited { text-decoration: underline } +:focus { outline: thin dotted invert } + +/* Begin bidirectionality settings (do not change) */ +BDO[DIR="ltr"] { direction: ltr; unicode-bidi: bidi-override } +BDO[DIR="rtl"] { direction: rtl; unicode-bidi: bidi-override } + +*[DIR="ltr"] { direction: ltr; unicode-bidi: embed } +*[DIR="rtl"] { direction: rtl; unicode-bidi: embed } + +@media print { + h1 { page-break-before: always } + h1, h2, h3, + h4, h5, h6 { page-break-after: avoid } + ul, ol, dl { page-break-before: avoid } +} diff -Nru shared-mime-info-1.15/tests/mime-detection/html5.css shared-mime-info-2.0/tests/mime-detection/html5.css --- shared-mime-info-1.15/tests/mime-detection/html5.css 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/html5.css 2020-05-06 14:11:14.204908000 +0000 @@ -0,0 +1,507 @@ +/*----------------------------------------------------------------------------- + HTML5 Presentational Requirements and Recommendations Guide + Last Updated: 2012-02-06 + Reference: http://bit.ly/html5css + Based on: http://www.whatwg.org/specs/web-apps/current-work/multipage/rendering.html#the-css-user-agent-style-sheet-and-presentational-hints +-----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------- + Default values +-----------------------------------------------------------------------------*/ + +* { + background-attachment: scroll; + background-color: transparent; + background-image: none; + background-position: 0 0; + background-repeat: repeat; + border-color: #000; + border-style: none; + border-width: medium; + clear: none; + color: inherit; + content: normal; + cursor: inherit; + direction: ltr; + display: inline; + float: none; + font-size: inherit; + font-style: inherit; + font-variant: inherit; + font-weight: inherit; + height: auto; + line-height: normal; + list-style-type: disc; + margin: 0; + max-height: none; + max-width: none; + min-height: 0; + min-width: 0; + outline: invert none medium; + overflow: visible; + padding: 0; + text-align: left; + text-decoration: none; + unicode-bidi: inherit; + vertical-align: baseline; + visibility: inherit; + white-space: inherit; + width: auto; +} + +:rtl * { + direction: rtl; + text-align: right; +} + +html { + font-size: medium; + font-style: normal; + font-variant: normal; + font-weight: normal; + visibility: visible; + white-space: normal; +} + +/*----------------------------------------------------------------------------- + Display types +-----------------------------------------------------------------------------*/ + +[hidden], +audio:not([controls]), +area, +base, +command, +datalist, +head, +input[type=hidden], +link, +menu[type=context], +meta, +param, +rp, +script, +source, +style, +title { + display: none; +} + +:section, +:heading, +address, +article, +aside, +blockquote, +body, +dd, +details, +div, +dl, +dt, +figure, +figcaption, +footer, +form, +header, +hr, +html, +legend, +menu, +nav, +ol, +p, +pre, +summary, +ul { + display: block; +} + +audio[controls], +canvas, +img:complete, +video { + display: inline-block; +} + +li { + display: list-item; +} + +table { + display: table; +} + +caption { + display: table-caption; +} + +colgroup { + display: table-column-group; +} + +col { + display: table-column; +} + +thead { + display: table-header-group; +} + +tbody { + display: table-row-group; +} + +tfoot { + display: table-footer-group; +} + +tr { + display: table-row; +} + +td, +th { + display: table-cell; +} + +ruby { + display: ruby; +} + +rt { + display: ruby-text; +} + +/*----------------------------------------------------------------------------- + Margins and padding +-----------------------------------------------------------------------------*/ + +body { + margin: 8px; +} + +dl, +figure, +menu, +ol, +p, +pre, +ul { + margin: 1em 0; +} + +:any(dl, menu, ol, ul) :any(dl, menu, ul) { + margin: 0; +} + +blockquote { + margin: 1em 40px; +} + +menu, +ol, +ul { + padding: 0 0 0 40px; +} + +:rtl menu, +:rtl ol, +:rtl ul { + padding: 0 40px 0 0; +} + +fieldset { + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} + +dd { + margin: 0 0 0 40px; +} + +:rtl dd { + margin: 0 40px 0 0; +} + +h6, +:heading(6) { + margin: 2.33em 0; +} + +h5, +:heading(5) { + margin: 1.67em 0; +} + +h4, +:heading(4) { + margin: 1.33em 0; +} + +h3, +:heading(3) { + margin: 1em 0; +} + +h2, +:heading(2) { + margin: 0.83em 0; +} + +h1, +:heading(1) { + margin: 0.67em 0; +} + +th, +td { + padding: 1px; +} + +hr { + margin: 0.5em auto; +} + +/*----------------------------------------------------------------------------- + Alignment +-----------------------------------------------------------------------------*/ + +sub { + vertical-align: sub; +} + +sup { + vertical-align: super; +} + +thead, +tbody, +tfoot, +table > tr { + vertical-align: middle; +} + +tr, +td, +th { + vertical-align: inherit; +} + +caption, +th { + text-align: center; +} + +/*----------------------------------------------------------------------------- + Fonts and colors +-----------------------------------------------------------------------------*/ + +address, +cite, +dfn, +em, +i, +var { + font-style: italic; +} + +b, +strong, +th, +h1, +h2, +h3, +h4, +h5, +h6 { + font-weight: bold; +} + +small, +sub, +sup { + font-size: smaller; +} + +h6, +:heading(6) { + font-size: 0.67em; +} + +h5, +:heading(5) { + font-size: 0.83em; +} + +h4, +:heading(4) { + font-size: 1em; +} + +h3, +:heading(3) { + font-size: 1.17em; +} + +h2, +:heading(2) { + font-size: 1.5em; +} + +h1, +:heading(1) { + font-size: 2em; +} + +sub, +sup { + line-height: normal; +} + +code, +kbd, +pre, +samp { + font-family: monospace; +} + +:link { + color: #00F; +} + +:visited { + color: #800080; +} + +hr { + color: #808080; +} + +mark { + background-color: #FF0; + color: #000; +} + +/*----------------------------------------------------------------------------- + Punctuation and decorations +-----------------------------------------------------------------------------*/ + +[dir=ltr] { + direction: ltr; + unicode-bidi: embed; +} + +[dir=rtl] { + direction: rtl; + unicode-bidi: embed; +} + +bdo[dir=ltr], +bdo[dir=rtl] { + unicode-bidi: bidi-override; +} + +ol { + list-style-type: decimal; +} + +menu, +ul { + list-style-type: disc; +} + +:any(menu, ol, ul) :any(dl, menu, ul) { + list-style-type: circle; +} + +:any(menu, ol, ul) :any(menu, ol, ul) :any(dl, menu, ul) { + list-style-type: square; +} + +abbr[title] { + text-decoration: dotted underline; +} + +del, +s { + text-decoration: line-through; +} + +:link, +:visited, +ins, +u { + text-decoration: underline; +} + +pre { + white-space: pre; +} + +fieldset { + border: groove 2px ThreeDFace; +} + +hr { + border-style: inset; + border-width: 1px; +} + +table { + border-collapse: separate; + border-spacing: 2px; + border-style: outset; +} + +table, +td, +th { + border-color: #808080; +} + +thead, +tbody, +tfoot, +tr { + border-color: inherit; +} + +td, +th { + border-style: inset; +} + +q:before { + content: open-quote; +} + +q:after { + content: close-quote; +} + +/*----------------------------------------------------------------------------- + Media +-----------------------------------------------------------------------------*/ + +audio[controls] { + height: 1em; +} + +iframe { + border: 2px inset; +} + +/*----------------------------------------------------------------------------- + Block inheritance +-----------------------------------------------------------------------------*/ + +table { + font-size: initial; + font-style: initial; + font-variant: initial; + font-weight: initial; + line-height: initial; + text-align: initial; + white-space: initial; +} \ No newline at end of file Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/image.sqsh and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/image.sqsh differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/img_5304.jpg and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/img_5304.jpg differ diff -Nru shared-mime-info-1.15/tests/mime-detection/internet.ez shared-mime-info-2.0/tests/mime-detection/internet.ez --- shared-mime-info-1.15/tests/mime-detection/internet.ez 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/internet.ez 2020-05-06 14:11:14.206907700 +0000 @@ -0,0 +1,272 @@ +\begindata{text,538102264} +\textdsversion{12} +\template{default} +\majorheading{ + + + +\bold{Doing Business on the Internet}} + + + + + + +\flushright{\italic{\bold{Laurie D. T. Mann} + +ServiceWare Knowledge Engineer + +lmann@telerama.lm.com + +http://worcester.lm.com/lmann/index.html}} + + + +\bold{\bigger{W}}hen the Internet was started, businesses had almost +nothing to do with it. In fact, businesses were originally prohibited from +advertising on it in any form. Gradually, during the '80s, large high tech +companies adopted the Internet as a way to communicate and transfer data +between far-flung sites. + + +Now, with the evolution of the World Wide Web as a consumer-driven +phenomenon, businesses of all sizes are using the Internet as a way to +communicate directly with consumers. + + +This informal talk will: + + + o provide a very brief overview of the way businesses used + + the Internet in the past. + + + o discuss how businesses use the Internet today. + + + o review some of the ethical issues of doing business on the Internet. + + + o cover the basics of starting a small Internet-related business. + + + o describe some excellent business-related sites. + + + +\begindata{bp,538105384} +Version 2 +n 0 +\enddata{bp,538105384} +\view{bpv,538105384,35,0,0} + + +\heading{I. The Way the Future Was: Businesses on the Internet During the +'80s and Early '90s} + + + ARPANET - The Department of Defense funds a project to build a \ + + + robust network. + + \ + + + Data was shipped around. Code. E-mail. Net discussions + + emerged. Check Brad Templeton's history of the net at + + http://www.clari.net/index.html + + + Eventually, more and more colleges link up. Businesses, especially high + + tech businesses, link up. Some people prefer E-mail to FAX. + + + There have been many technical changes to the Internet over the + + years. But there other changes that have had a huge + + impact on the way the Internet works: + + + o proliferation of home PCs + + \ + + + o proliferation of national commercial networks (CompuServe, \ + + + AmericaOnline) and local Internet Service Providers \ + + + + o improved ease of use + + + o the World Wide Web + + +\begindata{bp,538106056} +Version 2 +n 0 +\enddata{bp,538106056} +\view{bpv,538106056,36,0,0} + + +\heading{II. How Businesses Use the Internet Today} + + + \subheading{ }Marketing and Advertising + + Businesses can tailor Web sites to specific audiences. + + Each site may only get a few hundred or few thousand + + visitors a day, but if people like what they see, they'll + + stop back to see what's been added. AND maybe they'll + + spend some money! + + + Distribution + + Taking orders from the Internet can provide a useful \ + + + additional distribution channel. + + + Sharing Intra-Corporate Information \ + + + + Soliciting Customer Feedback + + + + + + +\heading{III. Beyond Spam: Some of the Ethical Issues of Doing Business +on the Internet} + + + Internet users have a huge range of reaction to online \ + + + advertising, from "anathema" to "it's an unregulated frontier + + and we can do whatever we want." Advertisers would be wise + + to take this range of reaction to heart. + + + Focus your marketing on your Web site. + + Use newsgroup postings VERY judiciously. + + Don't send out junk E-mail. \ + + + Don't overwhelm low-traffic mailing lists with + + information about your company. + + +\begindata{bp,538106808} +Version 2 +n 0 +\enddata{bp,538106808} +\view{bpv,538106808,37,0,0} +\heading{IV. Creating Your Own Virtual Company 101} + + + The following types of skills seem to be in high demand: + + o Perl & C programming (and search engine-creating) + + o Computerized graphic design + + \ + + + Once you decide what you want to try, register your new business + + with the Internet indexing sites (Yahoo (http://www.yahoo.com) + + and Lycos (http://www.lycos.com)). Avoid spam and junk E-mail. \ + + + Create a Web site that shows the variety of things you can do. + + +\heading{V. Excellent Business-Related Sites} + + + What's a good commercial site? \ + + + o A site that goes beyond screaming "BUY MY PRODUCT!" \ + + + o A site that balances good graphic design and useful +information. \ + + + o A site that is updated periodically and corrects mistakes. \ + + + o A site that doesn't rely on "gee-whiz" graphics too much \ + + + \ + + + Here are some examples of good commercial sites and what + + makes them good commercial sites: + + http://mineral.galleries.com/AGI.htm Amethyst Galleries + + http://www.arion.com/mstrcook.html MasterCook Home Page + + http://www.goodyear.com Goodyear Tire & Rubber + + http://www.mcp.com/index.html Macmillan Information \ + + + SuperLibrary(tm) + + http://www.info.apple.com Apple Support & +Information + + http://www.novell.com/ Novell World Wide Web + + http://www.sgi.com/ss.home.page.html \ + + + Silicon Graphics Silicon Surf + + http://worcester.lm.com/lmann/hot/book.html \ + + + Many book companies + + + Online Business Resources + + http://nmq.com/ Net Marquee (Small Business) + + http://www.thomasregister.com/ Thomas Register + + http://www.hoovers.com/ Hoovers Business Handbook Online + + http://www.cbbb.org/cbbb/ Better Business Bureau + +\enddata{text,538102264} diff -Nru shared-mime-info-1.15/tests/mime-detection/isdir.m shared-mime-info-2.0/tests/mime-detection/isdir.m --- shared-mime-info-1.15/tests/mime-detection/isdir.m 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/isdir.m 2020-05-06 14:11:14.206907700 +0000 @@ -0,0 +1,31 @@ +## Copyright (C) 2004, 2006, 2007 Alois Schloegl +## +## This file is part of Octave. +## +## Octave is free software; you can redistribute it and/or modify it +## under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 3 of the License, or (at +## your option) any later version. +## +## Octave is distributed in the hope that it will be useful, but +## WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with Octave; see the file COPYING. If not, see +## . + +## -*- texinfo -*- +## @deftypefn {Function File} {} isdir (@var{f}) +## Return true if @var{f} is a directory. +## @end deftypefn + +function t = isdir (x) + if (nargin == 1) + ## Exist returns an integer but isdir should return a logical. + t = exist (x, "dir") == 7; + else + print_usage ("isdir"); + endif +endfunction diff -Nru shared-mime-info-1.15/tests/mime-detection/ISOcyr1.ent shared-mime-info-2.0/tests/mime-detection/ISOcyr1.ent --- shared-mime-info-1.15/tests/mime-detection/ISOcyr1.ent 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/ISOcyr1.ent 2020-05-06 14:11:14.149908000 +0000 @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/iso-file.iso and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/iso-file.iso differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/IWAD.WAD and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/IWAD.WAD differ diff -Nru shared-mime-info-1.15/tests/mime-detection/javascript-without-extension shared-mime-info-2.0/tests/mime-detection/javascript-without-extension --- shared-mime-info-1.15/tests/mime-detection/javascript-without-extension 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/javascript-without-extension 2020-05-06 14:11:14.207907700 +0000 @@ -0,0 +1,8 @@ +#!/usr/bin/env gjs + +const Gio = imports.gi.Gio; +const GLib = imports.gi.GLib; +const Lang = imports.lang; +const System = imports.system; + +/* Some JavaScript happens here */ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/jc-win.ani and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/jc-win.ani differ diff -Nru shared-mime-info-1.15/tests/mime-detection/json_array.json shared-mime-info-2.0/tests/mime-detection/json_array.json --- shared-mime-info-1.15/tests/mime-detection/json_array.json 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/json_array.json 2020-05-06 14:11:14.207907700 +0000 @@ -0,0 +1,22 @@ +[ + { + "precision": "zip", + "Latitude": 37.7668, + "Longitude": -122.3959, + "Address": "", + "City": "SAN FRANCISCO", + "State": "CA", + "Zip": "94107", + "Country": "US" + }, + { + "precision": "zip", + "Latitude": 37.371991, + "Longitude": -122.026020, + "Address": "", + "City": "SUNNYVALE", + "State": "CA", + "Zip": "94085", + "Country": "US" + } +] diff -Nru shared-mime-info-1.15/tests/mime-detection/json-ld-full-iri.jsonld shared-mime-info-2.0/tests/mime-detection/json-ld-full-iri.jsonld --- shared-mime-info-1.15/tests/mime-detection/json-ld-full-iri.jsonld 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/json-ld-full-iri.jsonld 2020-05-06 14:11:14.207907700 +0000 @@ -0,0 +1,5 @@ +{ + "http://schema.org/name": "Manu Sporny", + "http://schema.org/url": { "@id": "http://manu.sporny.org/" }, + "http://schema.org/image": { "@id": "http://manu.sporny.org/images/manu.png" } +} diff -Nru shared-mime-info-1.15/tests/mime-detection/json_object.json shared-mime-info-2.0/tests/mime-detection/json_object.json --- shared-mime-info-1.15/tests/mime-detection/json_object.json 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/json_object.json 2020-05-06 14:11:14.208907800 +0000 @@ -0,0 +1,13 @@ +{ + "Image": { + "Width": 800, + "Height": 600, + "Title": "View from 15th Floor", + "Thumbnail": { + "Url": "http://www.example.com/image/481989943", + "Height": 125, + "Width": "100" + }, + "IDs": [116, 943, 234, 38793] + } +} Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/layersupdatesignals.flw and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/layersupdatesignals.flw differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/Leafpad-0.8.17-x86_64.AppImage and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/Leafpad-0.8.17-x86_64.AppImage differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/Leafpad-0.8.18.1.glibc2.4-x86_64.AppImage and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/Leafpad-0.8.18.1.glibc2.4-x86_64.AppImage differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/libcompat.a and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/libcompat.a differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/libcompat.ar and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/libcompat.ar differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/LiberationSans-Regular.ttf and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/LiberationSans-Regular.ttf differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/LiberationSans-Regular.woff and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/LiberationSans-Regular.woff differ diff -Nru shared-mime-info-1.15/tests/mime-detection/linguist.ts shared-mime-info-2.0/tests/mime-detection/linguist.ts --- shared-mime-info-1.15/tests/mime-detection/linguist.ts 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/linguist.ts 2020-05-06 14:11:14.209907800 +0000 @@ -0,0 +1,11 @@ + + + + + QPushButton + + Hello World! + Hallo Welt! + + + diff -Nru shared-mime-info-1.15/tests/mime-detection/list shared-mime-info-2.0/tests/mime-detection/list --- shared-mime-info-1.15/tests/mime-detection/list 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/list 2020-05-06 14:11:14.209907800 +0000 @@ -0,0 +1,756 @@ +# Regression tests for shared-mime-info and xdgmime. +# +# Syntax: [NDF] +# where N can be 'x' if the lookup by filename is expected to fail +# D can be 'x' if the lookup by file data is expected to fail +# F can be 'x' if the lookup by actual file (using both name and contents) is expected to fail +# Use 'o' to express the opposite, i.e. no expected failure for this kind of lookup. +# Example: 'ox' means N=o D=x (and F is 'o', implicitly), lookup by data should fail. + + +# Images +test.bmp image/bmp +test.cel image/x-cel xxx +test.dcm application/dicom +test.eps image/x-eps +# https://bugs.freedesktop.org/show_bug.cgi?id=55264 +Oriental_tattoo_by_daftpunk22.eps image/x-eps +GammaChart.exr image/x-exr +test.fit image/fits x +test.fli video/x-flic ox +test.gif image/gif +example.heic image/heif ox +example.heif image/heif ox +test.ico image/vnd.microsoft.icon +# From https://bugs.freedesktop.org/show_bug.cgi?id=20070#c3 +test.ilbm image/x-ilbm +test.im1 image/x-sun-raster x +test.jpg image/jpeg +# Possible false positive for a JPEG 2000 image +img_5304.jpg image/jpeg +# From https://github.com/bitsgalore/jp2kMagic +balloon.j2c image/x-jp2-codestream +balloon.jp2 image/jp2 +balloon.jpf image/jpx +balloon.jpm image/jpm +balloon.mj2 video/mj2 +# From https://bugzilla.freedesktop.org/show_bug.cgi?id=55339 +test.mng video/x-mng +test.pbm image/x-portable-bitmap +test.pcx image/vnd.zbrush.pcx +test.pgm image/x-portable-graymap +test.pix image/x-pix xxx +test.png image/png +test.ppm image/x-portable-pixmap +# Copied from http://bugs.freedesktop.org/show_bug.cgi?id=19811 +test2.ppm image/x-portable-pixmap +test-p6.ppm image/x-portable-pixmap +test.ps application/postscript +test.psd image/vnd.adobe.photoshop +test.sgi image/x-sgi ox +test.tga image/x-tga +# Uncompressed TGA +test2.tga image/x-tga +colormapped.tga image/x-tga +test.tif image/tiff +test.webp image/webp +test.xbm image/x-xbitmap ox +test.xcf image/x-xcf +test.gbr image/x-gimp-gbr +test.gih image/x-gimp-gih ox +test.pat image/x-gimp-pat +# https://bugs.freedesktop.org/show_bug.cgi?id=55263 +lucid-tab-bg.xcf image/x-xcf +weather_sun.xcf image/x-xcf +test.xpm image/x-xpixmap +test.xwd image/x-xwindowdump ox +# Copied from http://djvu.org/resources/ +2001_compression_overview.djvu image/vnd.djvu+multipage xoo +2001_compression_overview.djvu image/vnd.djvu oxx +# c44 test.jpg test.djvu +test.djvu image/vnd.djvu +# Copied from https://bugs.launchpad.net/ubuntu/+source/shared-mime-info/+bug/91488 (150 first kB) +test.kdc image/x-kodak-kdc +# Copied from http://www.skencil.org/gallery.html +bathead.sk image/x-skencil +# Copied from http://www.geocities.com/CapeCanaveral/1939/256cur95.zip +jc-win.ani application/x-navi-animation +# Copied from http://blogs.vertigosoftware.com/alanl/archive/2006/06/28/Vista_Cursors_on_Windows_XP.aspx +aero_alt.cur image/x-win-bitmap +# copied from the mypaint examples +mypaint.ora image/openraster +# Copied from https://bugs.freedesktop.org/show_bug.cgi?id=19201#c4 +# test.bflng application/xml x +# Copied from https://bugs.freedesktop.org/show_bug.cgi?id=19201#c3 +test.xhtml application/xhtml+xml +test.xht application/xhtml+xml +# Copied from https://bugs.webkit.org/show_bug.cgi?id=201295#c0 +test-html-with-svg.html text/html +# Copied from https://gitlab.freedesktop.org/xdg/shared-mime-info/issues/98 +test-really-html-not-xhtml.html text/html oxx +# Copied from https://bugs.kde.org/show_bug.cgi?id=417248 +test-really-html-not-perl.html text/html +# Copied from https://gitlab.freedesktop.org/xdg/shared-mime-info/issues/120 +test.html text/html +# Copied from http://cvs.fedoraproject.org/viewvc/comps/comps-f11.xml.in?revision=1.306 +test.xml.in application/xml x +# Copied from http://bugs.freedesktop.org/show_bug.cgi?id=25581 +dia.shape application/x-dia-shape +# Copied from https://bugzilla.gnome.org/show_bug.cgi?id=623861#c1 +attachment.tif image/jpeg xox +# First 512k of http://img.photographyblog.com/reviews/panasonic_lumix_dmc_fz38/sample_images/panasonic_lumix_dmc_fz38_05.rw2 +panasonic_lumix_dmc_fz38_05.rw2 image/x-panasonic-rw2 +# Copied from https://bugs.freedesktop.org/show_bug.cgi?id=39126 +bug39126-working.ppm image/x-portable-pixmap +bug39126-broken.ppm image/x-portable-pixmap +# Copied from https://issues.apache.org/ooo/show_bug.cgi?id=25876 +ooo25876-2.pct image/x-pict +newtonme.pict image/x-pict +# Copied from https://github.com/KhronosGroup/KTX/tree/master/testimages +rgb-reference.ktx image/ktx +# Copied from https://gitlab.gnome.org/GNOME/gnome-photos/blob/master/data/dnd-counter.svg +dnd-counter.svg image/svg+xml +# Copied from https://github.com/linuxmint/mint-x-icons/tree/master/usr/share/icons/Mint-X-Aqua/places/128 +folder.svg image/svg+xml +# Copied from https://gitlab.freedesktop.org/xdg/shared-mime-info/issues/116#note_225851 +terminal-app.svg image/svg+xml +network-symbolic.svg image/svg+xml + +# Documents +ooo-6.0.doc application/msword +ooo-95.doc application/msword +ooo.doc application/msword +ooo.rtf application/rtf +ooo.sdw application/vnd.stardivision.writer +ooo.stw application/vnd.sun.xml.writer.template ox +ooo.sxw application/vnd.sun.xml.writer +ooo.vor application/vnd.stardivision.writer +ooo-xp.doc application/msword +office.doc application/msword +# ISO/IEC 26300:2006 Open Document Format for Office Applications (OpenDocument) +ooo-test.odg application/vnd.oasis.opendocument.graphics +ooo-test.odp application/vnd.oasis.opendocument.presentation +ooo-test.ods application/vnd.oasis.opendocument.spreadsheet +ooo-test.odt application/vnd.oasis.opendocument.text +# OpenDocument/OpenOffice.org flat XML +ooo-test.fodg application/vnd.oasis.opendocument.graphics-flat-xml ox +ooo-test.fodp application/vnd.oasis.opendocument.presentation-flat-xml ox +ooo-test.fods application/vnd.oasis.opendocument.spreadsheet-flat-xml ox +ooo-test.fodt application/vnd.oasis.opendocument.text-flat-xml ox +# Copied from https://bugs.freedesktop.org/show_bug.cgi?id=20604 +foo.doc application/msword +# Copied from http://bugzilla.abisource.com/show_bug.cgi?id=6435 +test-template.dot application/msword-template ox +test-template.dot application/msword xox +# Copied from http://www.ebooktechnologies.com/downloads/ocf10-20060911.epub +ocf10-20060911.epub application/epub+zip +# Copied from https://standardebooks.org/ebooks/elizabeth-barrett-browning/sonnets-from-the-portuguese +elizabeth-barrett-browning_sonnets-from-the-portuguese.azw3 application/vnd.amazon.mobi8-ebook ox +# Copied from http://libwps.svn.sourceforge.net/viewvc/libwps/trunk/reference/ +test.wps application/vnd.ms-works ox +# Copied from https://bugs.freedesktop.org/show_bug.cgi?id=45922 +test.xlr application/vnd.ms-works ox +# Copied from http://openxmldeveloper.org/articles/OpenXMLsamples.aspx +sample.docx application/vnd.openxmlformats-officedocument.wordprocessingml.document oxo +sample.xlsx application/vnd.openxmlformats-officedocument.spreadsheetml.sheet oxo +sample.pptx application/vnd.openxmlformats-officedocument.presentationml.presentation oxo +# Copied and renamed sample.pptx +sample.ppsx application/vnd.openxmlformats-officedocument.presentationml.slideshow oxo +# Copied from http://bugs.freedesktop.org/show_bug.cgi?id=20185 +pocket-word.psw application/x-pocket-word +aportis.pdb application/x-aportisdoc +# Copied from https://artcontext.net/art/01/mime/docs/show.php?type=application%2Fandrew-inset&js= +internet.ez application/andrew-inset ox +# Copied from http://extensions.services.openoffice.org/project/anaphraseus +Anaphraseus-1.21-beta.oxt application/vnd.openofficeorg.extension ox +# Copied from http://lilypond.org/doc/v2.10/examples +petite-ouverture-a-danser.ly text/x-lilypond ox +sqlite2.kexi application/x-kexiproject-sqlite2 ox +sqlite3.kexi application/x-kexiproject-sqlite3 xx +# Copied from KOffice 2.1.1 source tarball +combined.karbon application/x-karbon +Empty.chrt application/x-kchart +layersupdatesignals.flw application/x-kivio +Presentation.kpt application/x-kpresenter +testcases.ksp application/x-kspread +test-kounavail2.kwd application/x-kword +white_640x480.kra application/x-krita +test.mobi application/x-mobipocket-ebook +test.lwp application/vnd.lotus-wordpro +# Copied from https://bugs.freedesktop.org/show_bug.cgi?id=64946 +TS010082249.pub application/vnd.ms-publisher ox +test.key application/x-iwork-keynote-sffkey +test.pmd application/x-pagemaker oxo +sample.vsdx application/vnd.ms-visio.drawing.main+xml oxo +appleworks.cwk application/x-appleworks-document oxo + +# Playlist, subtitle and audio formats +stream.nsc application/x-netshow-channel +stream.sdp application/sdp x +playlist.asx audio/x-ms-asx +feed.rss application/rss+xml +feed2 application/rss+xml x +# RSS tag is too far in the file +560051.xml application/rss+xml xxx +feed.atom application/atom+xml +feeds.opml text/x-opml+xml +subtitle.srt application/x-subrip +# Copied from http://msdn2.microsoft.com/en-us/library/ms971327.aspx +subtitle.smi application/x-sami x +# Copied from http://www1.mplayerhq.hu/MPlayer/samples/sub/Lola.sub/Run.Lola.Run.1998.DVDivX-SChiZO.sub +subtitle-microdvd.sub text/x-microdvd +# Copied from http://www1.mplayerhq.hu/MPlayer/samples/sub/manyfmts/FOVH%20MoviePlayer.sub +subtitle-mpsub.sub text/x-mpsub x +# Copied from http://en.wikipedia.org/wiki/SubStation_Alpha +subtitle.ssa text/x-ssa +# Copied from http://wiki.videolan.org/SubViewer +subtitle-subviewer.sub text/x-subviewer x +# Copied from http://www.iandevlin.com/html5test/webvtt/upc-video-subtitles-en.vtt +upc-video-subtitles-en.vtt text/vtt +# Copied from http://zano6.home.att.net/Ringer/Ball_Game.ime +ringtone.ime text/x-iMelody +# Copied from http://smaf-yamaha.com/develop/smpl/J-Walk.mmf +ringtone.mmf application/x-smaf +ringtone.m4r audio/x-m4r oxo +# Copied from http://smaf-yamaha.com/what/demo/chlist.mrl +playlist.mrl text/x-mrml +# Copied from http://bugzilla.gnome.org/show_bug.cgi?id=518688 +hbo-playlist.qtl application/x-quicktime-media-link +# Copied from http://bugzilla.gnome.org/show_bug.cgi?id=567142 +playlist.wpl application/vnd.ms-wpl +# Copied from Nine Inch Nails' The Slip +test.flac audio/flac +# Copied from http://tools.ietf.org/html/draft-pantos-http-live-streaming-02#section-7.1 +live-streaming.m3u application/vnd.apple.mpegurl x +# Copied from http://qthttp.apple.com.edgesuite.net/1006ad9g4hjk/all_w.m3u8 +all_w.m3u8 application/vnd.apple.mpegurl x +# Copied from http://bugs.freedesktop.org/show_bug.cgi?id=42922 +test.vsd application/vnd.visio ox +# Copied from https://bugs.freedesktop.org/show_bug.cgi?id=40800 +test.dts audio/vnd.dts +test.dtshd audio/vnd.dts.hd +# Copied from http://samples.mplayerhq.hu/A-codecs/amr/sample2.amr +sample2.amr audio/AMR +# Testing case-insensitive mime-type matching +# https://bugs.freedesktop.org/show_bug.cgi?id=38415 +sample2.amr audio/amr +# Truncated file from https://bugzilla.gnome.org/show_bug.cgi?id=792325 +raw-mjpeg.mjpeg video/x-mjpeg oxo +# From https://cgit.kde.org/kfilemetadata.git/tree/autotests/samplefiles +x_speex_ogg.spx audio/x-speex+ogg +# From https://cgit.kde.org/kfilemetadata.git/tree/autotests/samplefiles +test.mpc audio/x-musepack + +# text +text-iso8859-15.txt text/plain +text-utf8.txt text/plain +test.tex text/x-tex +# Copied from http://www.computerperformance.co.uk/vista/vista_reg_examples.htm +registry.reg text/x-ms-regedit +# Copied from http://www.ss64.com/nt/regedit.html +registry-nt.reg text/x-ms-regedit +# Copied from https://bugzilla.redhat.com/show_bug.cgi?id=430203#c3 +test.ext,v text/plain +# Feature specification in Gherkin format +test.feature text/x-gherkin ox +# Copied from http://bugs.freedesktop.org/show_bug.cgi?id=14329 +test.fl application/x-fluid +# From https://bugs.freedesktop.org/show_bug.cgi?id=30656 +bug-30656-xchat.conf application/octet-stream oxx +bug-30656-xchat.conf text/plain x +helloworld.java text/x-java ox +helloworld.groovy text/x-groovy ox +helloworld.vbs text/vbscript ox +build.gradle text/x-gradle ox +# Copied from http://asurvey.net/ccsfagent/media/survey.js +survey.js application/javascript ox +# Copied from gecko/accessible/src/jsat/Utils.jsm in Boot2Gecko +Utils.jsm application/javascript ox +esm.mjs application/javascript ox +javascript-without-extension application/javascript xoo +# The following two copied from RFC 4627. +json_object.json application/json ox +json_array.json application/json ox +# Copied from RFC 7033 +webfinger.jrd application/jrd+json ox +# Copied from RFC 6902 +my-data.json-patch application/json-patch+json ox +# Copied from http://www.w3.org/TR/json-ld/ +json-ld-full-iri.jsonld application/ld+json ox +test.ipynb application/x-ipynb+json +test-reordered.ipynb application/x-ipynb+json ox +test.cs text/x-csharp ox +test.dot text/vnd.graphviz x +test.vala text/x-vala ox +test.ooc text/x-ooc ox +test.mof text/x-mof ox +# Copied from http://bugs.freedesktop.org/show_bug.cgi?id=11530 +test-cdda.toc application/x-cdrdao-toc +test-cdrom.toc application/x-cdrdao-toc +# Copied from /etc/sysconfig/iptables +test.iptables text/x-iptables +test-vpn.pcf application/x-cisco-vpn-settings x +# From https://bugs.freedesktop.org/show_bug.cgi?id=20302 +menu.ini application/octet-stream oxx +menu.ini text/plain x +# Copied from https://bugs.freedesktop.org/show_bug.cgi?id=16228 +test.php application/x-php +# The 3 below copied from https://bugs.freedesktop.org/show_bug.cgi?id=15810 +evolution.eml application/mbox xox +tb-from-sentbox.eml message/rfc822 +tb-saved.eml message/rfc822 +# Copied from http://www.cyanwerks.com/file-format-url.html +test.url application/x-mswinurl +# Copied from http://www.digitalmars.com/d/ +test.d text/x-dsrc ox +test.v text/x-verilog ox +test.sv text/x-svsrc ox +test.svh text/x-svhdr ox +# Copied from http://www.w3.org/TR/CSS21/sample.html +html4.css text/css ox +# Copied from http://www.iecss.com/whatwg.css +html5.css text/css ox +# Copied from http://www.w3.org/TR/html5/offline.html#manifests +test.manifest text/cache-manifest +test.yaml application/x-yaml +# hand-made +mysum.m text/x-matlab x +# taken from Octave 3.2 sources +isdir.m text/x-matlab x +# hand-made +test.mo text/x-modelica xoo +# From https://bugs.freedesktop.org/show_bug.cgi?id=29733 +bibtex.bib text/x-bibtex +# hand-made +simple-obj-c.m text/x-objcsrc +# Copied from LLVM project test suite +test.cl text/x-opencl-src ox +# hand-made +test.mc2 text/vnd.senx.warpscript ox + +# http://www.apps.ietf.org/rfc/rfc4716.html#sec-3.6 +ssh-public-key.txt text/plain +# http://tools.ietf.org/html/draft-ietf-vcarddav-vcardrev-22 +test.vcf text/vcard +# Genie source code +test.gs text/x-genie ox +# Test Go source code +test.go text/x-go oxo +# Qt Quick (QML) file +rectangle.qml text/x-qml +shebang.qml text/x-qml +plugins.qmltypes text/x-qml +text.qmlproject text/x-qml +# QtiPlot (qti) file +test.qti application/x-qtiplot +# Sass CSS pre-processor file +test.sass text/x-sass ox +# Scheme source code +# https://bugs.freedesktop.org/show_bug.cgi?id=31534 +test.scm text/x-scheme ox +test.ss text/x-scheme ox +test.scala text/x-scala ox +# Sass CSS pre-processor file +test.scss text/x-scss ox +# https://bugs.freedesktop.org/show_bug.cgi?id=56964 +test.jnlp application/x-java-jnlp-file +# Python script +test.py text/x-python +test.pyx text/x-python ox +# Python 3 script +test3.py text/x-python3 x +test.py3 text/x-python3 +# PySide +pyside.py text/x-python +# Perl +test.pl application/x-perl +test.pm application/x-perl +test.t application/x-perl +# Copied from http://en.wikipedia.org/wiki/Turtle_%28syntax%29#Example +test.ttl text/turtle ox +# Twig template +test.twig text/x-twig ox +test.rs text/rust ox +# Copied from http://digital-preservation.github.io/csv-schema/csv-schema-1.0.html#basics +test.csvs text/csv-schema ox +# Copied from http://coffeescript.org/#overview +test.coffee application/vnd.coffeescript ox +# Copied from https://github.com/raml-org/raml-spec/blob/master/versions/raml-10/raml-10.md#applying-security-schemes +test.raml application/raml+yaml + +# xml subtypes +../../data/shared-mime-info-spec.xml application/x-docbook+xml xox +test.ttx application/x-font-ttx +gtk-builder.ui application/x-gtk-builder x +project.glade application/x-glade +# Copied from http://bugs.freedesktop.org/show_bug.cgi?id=14085 +ISOcyr1.ent application/xml-external-parsed-entity ox +# Copied from http://www.metalinker.org/samples/abiword-setup-2.4.6.exe.metalink +test.metalink application/metalink+xml +# Copied from http://ooo.mirrorbrain.org/contrib/dictionaries/en_US.zip.meta4 +en_US.zip.meta4 application/metalink4+xml +test.mml application/mathml+xml ox +# Qt Linguist: https://bugreports.qt.io/browse/QTBUG-64435 +linguist.ts text/vnd.qt.linguist +test.xsl application/xslt+xml +pom.xml text/x-maven+xml ox +settings.xml text/x-maven+xml ox +test.cbl text/x-cobol ox +# Copied from http://docs.newzbin.com/index.php/Newzbin:NZB_Specs +sample1.nzb application/x-nzb +# Copied from http://www.w3.org/TR/owl2-xml-serialization/#Example_Ontology_.28Informative.29 +test.owx application/owl+xml +# Copied from https://en.wikipedia.org/wiki/Portable_Game_Notation#Example +test.pgn application/vnd.chess-pgn +# From KDE kfilemetadata test suite +test_apple_systemprofiler.spx application/x-apple-systemprofiler+xml x + +# Archives +# Copied from http://bugs.freedesktop.org/show_bug.cgi?id=14909 +test.alz application/x-alz +# Copied from /usr/share/gettext/javaversion.class +test.class application/x-java +# Created with jar from OpenJDK 1.6.0_18-b18 +test.jar application/x-java-archive ox +# Copied from http://bugs.freedesktop.org/show_bug.cgi?id=12620 +hello.pack application/x-java-pack200 +# Copied from http://www.apache.org/dist/httpd/binaries/win32/apache_2.2.9-win32-x86-no_ssl-r2.msi +test.msi application/x-msi ox +# Created using 7z +archive.7z application/x-7z-compressed +comics.cb7 application/x-cb7 ox +# Created using tar +archive.tar application/x-tar +comics.cbt application/x-cbt ox +# Created using lcab +copying.cab application/vnd.ms-cab-compressed +# XZ test case found in the test cases in the sources +good-1-delta-lzma2.tiff.xz application/x-xz +# https://bugs.freedesktop.org/show_bug.cgi?id=55254 +sample.png.lzma application/x-lzma ox +spinboxes-0.1.1-Linux.tar.xz application/x-xz-compressed-tar ox +# Created using lzip 1.1 +test.lz application/x-lzip +# Created using Ark 16.07.70 + libarchive 3.1.2 +test.tar.lz application/x-lzip-compressed-tar ox +# Created using lzop 1.02rc1, lzo 2.03 +test.lzo application/x-lzop +# Created using lrzip 0.45 +archive.lrz application/x-lrzip +# Created using lz4 r110 +test.lz4 application/x-lz4 +# Created using Ark 16.07.70 + libarchive 3.2.0 +test.tar.lz4 application/x-lz4-compressed-tar ox +# Created by zstd v1.3.5 +test.zst application/zstd +# Created using Ark 18.11.70 + libarchive 3.3.3 +test.tar.zst application/x-zstd-compressed-tar ox +# Copied from http://download.microsoft.com/download/7/e/5/7e58b1ce-d9e6-40e1-9d75-140fe5dd3de6/fuji.themepack +fuji.themepack application/x-windows-themepack ox +# Extracted from http://mozilla.doslash.org/stuff/helloworld.zip +helloworld.xpi application/x-xpinstall ox +# Created using imagex 6.0 +test.wim application/x-ms-wim +# Created using Info-ZIP Zip 3.0 +test.zip application/zip +# From /usr/lib64/vlc/libcompat.a +libcompat.a application/x-archive +libcompat.ar application/x-archive +# Created by hand +foo-0.1-1.fc18.src.rpm application/x-source-rpm ox +# Created using sharutils 4.11.1 +test.uue text/x-uuencode +# From http://cdn.debian.net/debian/pool/main/d/debian-goodies/ +debian-goodies_0.63_all.deb application/vnd.debian.binary-package +# Created using qpress 1.1 +test.qp application/x-qpress +# Created using pigz 2.3.1 +test.zz application/zlib ox +# Created using xar 1.5.2 +test.xar application/x-xar +# From https://bugs.freedesktop.org/show_bug.cgi?id=93549 +serafettin.rar application/vnd.rar + +# Audio/Video files +# https://bugs.freedesktop.org/show_bug.cgi?id=20070#c4 +test.aiff audio/x-aiff +# Copied from /usr/share/sounds/generic.wav +test.wav audio/x-wav +test.avi video/x-msvideo +# https://bugs.freedesktop.org/show_bug.cgi?id=55336 +test.avf video/x-msvideo +# Copied from http://modarchive.org/index.php?request=view_by_moduleid&query=155849 +hereyes_remake.mo3 audio/x-mo3 +# Copied from http://media.annodex.net/cmmlwiki/CCFilm +ccfilm.axv video/annodex oxo +ccfilm.axv application/annodex xox +test.ogg audio/ogg oxx +test.ogg audio/x-vorbis+ogg x +test.opus audio/x-opus+ogg x +# Copied from http://bugzilla.gnome.org/show_bug.cgi?id=566661#c1 +msg0001.gsm audio/x-gsm oxo +# Copied from www.freemxf.org +small_wav.mxf application/mxf +# Copied from http://devfiles.myopera.com/articles/1891/custom-controls-webm-360p.html +Elephants_Dream-360p-Stereo.webm video/webm +# http://bugs.freedesktop.org/show_bug.cgi?id=14276#c17 +settopbox.ts video/mp2t xo +# https://bugs.freedesktop.org/show_bug.cgi?id=51118 +test.ts video/mp2t x +# Bastien's hard drive +bbc.ram application/ram oxo +bbc.ram application/vnd.rn-realmedia xox +# Converted from test.wav +test-noid3.mp3 audio/mpeg +# "Back to the 80s" by Aqua, as purchased on Amazon US +xml-in-mp3.mp3 audio/mpeg +# http://samples.mplayerhq.hu/A-codecs/AAC/ct_faac-adts.aac +ct_faac-adts.aac audio/aac +# http://www.modarchive.org/module.php?38589 +break.mtm audio/x-mod +# http://modarchive.org/module.php?174623 +cyborg.med audio/x-mod +# http://modarchive.org/module.php?57259 +simon.669 audio/x-mod +# http://modarchive.org/module.php?61261 +4jsno.669 audio/x-mod +# Copied from https://github.com/inAudible-NG/audible-samples +test.aa audio/x-pn-audibleaudio +test.aax audio/vnd.audible.aax +# MPEG-4 files +mp4v1-video-header.mp4 video/mp4 +mp4v2-video-header.mp4 video/mp4 + +# Disk and CD/DVD images +iso-file.iso application/x-cd-image oxo +bug106330.iso application/x-cd-image oxo +disk.img application/x-raw-disk-image oxo +disk.img.xz application/x-raw-disk-image-xz-compressed oxo +disk.raw-disk-image application/x-raw-disk-image oxo +disk.raw-disk-image.xz application/x-raw-disk-image-xz-compressed oxo +# Disk 1 of the Agony Amiga game truncated to 1Ko +adf-test.adf application/x-amiga-disk-format +# AppImage +Leafpad-0.8.17-x86_64.AppImage application/x-iso9660-appimage x +# AppImage (Type 2) +Leafpad-0.8.18.1.glibc2.4-x86_64.AppImage application/vnd.appimage +# SAP Thomson disk images +ripoux.sap application/x-thomson-sap-image +# HFE disk images +classiq1.hfe application/x-hfe-floppy-image +# Thomson cartridge and cassette formats +blitz.m7 application/x-thomson-cartridge-memo7 oxo +androide.k7 application/x-thomson-cassette oxo + +# Video game ROMs +# Super Tank truncated to 1Ko +sg1000-test.sg application/x-sg1000-rom ox +# Sonic the Hedgehog truncated to 1Ko +sms-test.sms application/x-sms-rom ox +# Sonic the Hedgehog: Triple Trouble truncated to 1Ko +game-gear-test.gg application/x-gamegear-rom ox +genesis1.bin application/x-genesis-rom x +genesis2.bin application/x-genesis-rom x +mega-drive-rom.gen application/x-genesis-rom +eu_en_Sword_of_Vermilion.bin application/x-genesis-rom xo +32x-rom.32x application/x-genesis-32x-rom +pico-rom.bin application/x-sega-pico-rom x +# Kirby's Dream Land truncated to 1Ko +game-boy-test.gb application/x-gameboy-rom +# The Legend of Zelda: Link's Awakening truncated to 1Ko +game-boy-color-test.gbc application/x-gameboy-color-rom +# Sonic CD truncated to 1Ko +sega-cd-test.iso application/x-sega-cd-rom x +# NiGHTS into Dreams truncated to 1Ko +saturn-test.bin application/x-saturn-rom x +m64p_test_rom.n64 application/x-n64-rom +m64p_test_rom.v64 application/x-n64-rom +m64p_test_rom.z64 application/x-n64-rom +# Castlevania: The Adventure Rebirth truncated to 1Ko +wii.wad application/x-wii-wad x +# Mariobros from Atari 7800 truncated to 1Ko +atari-7800-test.A78 application/x-atari-7800-rom +# Samurai Shodown truncated to 1Ko +neo-geo-pocket-test.ngp application/x-neo-geo-pocket-rom +# Sonic the Hedgehog - Pocket Adventure truncated to 1Ko +neo-geo-pocket-color-test.ngc application/x-neo-geo-pocket-color-rom +# Pac-Man from Atari 2600 truncated to 1Ko +atari-2600-test.A26 application/x-atari-2600-rom ox +# Metroid truncated to 1Ko +Metroid_japan.fds application/x-fds-disk +# Chip's Challenge for Atari Lynx truncated to 1Ko +atari-lynx-chips-challenge.lnx application/x-atari-lynx-rom +# Rockman & Forte for WonderSwan truncated to 1Ko +wonderswan-rockman-forte.ws application/x-wonderswan-rom ox +# Hataraku Chocobo for WonderSwan Color truncated to 1Ko +wonderswan-color-chocobo.wsc application/x-wonderswan-color-rom ox +# Penguin Adventure for MSX truncated to 1Ko +msx-penguin-adventure.msx application/x-msx-rom ox +# Metal Gear for MSX 2 truncated to 1Ko +msx2-metal-gear.msx application/x-msx-rom ox +# Wario Land for Virtual Boy truncated to 1Ko +virtual-boy-wario-land.vb application/x-virtual-boy-rom ox + +# Video game packages +# DOOM1.WAD trucated to 1Ko +IWAD.WAD application/x-doom-wad +# ICARUS.WAD trucated to 1Ko +PWAD.WAD application/x-doom-wad + +# Models +cube.igs model/iges +cube.wrl model/vrml + +# other +text.pdf application/pdf +text.wwf application/x-wwf oxo +README.pdf application/pdf +# From https://bugs.freedesktop.org/show_bug.cgi?id=29083#c2 +testcase.is-really-a-pdf application/pdf xo +pdf-not-matlab application/pdf x +# Created using lzip 1.18 +test.pdf.lz application/x-lzpdf ox +test.pdf.xz application/x-xzpdf ox +Makefile text/x-makefile ox +Makefile.gnu text/x-makefile ox +googleearth.kml application/vnd.google-earth.kml+xml ox +# Created using geojson.io +test.geojson application/geo+json ox +test.geo.json application/geo+json ox +# Copied from https://en.wikipedia.org/wiki/GPS_Exchange_Format +test.gpx application/gpx+xml ox +# Copied from http://wiki.openstreetmap.org/wiki/GPX +test10.gpx application/gpx+xml ox +# Copied from http://bugs.freedesktop.org/show_bug.cgi?id=15260 +test.gnd application/gnunet-directory +# Copied from https://bugs.freedesktop.org/show_bug.cgi?id=27441 +markdown.md text/markdown oxo +# Manually assembled from formatting examples at https://en.wikipedia.org/wiki/ReStructuredText +reStructuredText.rst text/x-rst ox +text.ps application/postscript +text.ps.gz application/x-gzpostscript ox +text1.PS.gz application/x-gzpostscript oxo +test.cmake text/x-cmake ox +meson.build text/x-meson ox +meson_options.txt text/x-meson ox +bluerect.mdi image/vnd.ms-modi +Stallman_Richard_-_The_GNU_Manifesto.fb2 application/x-fictionbook+xml +Stallman_Richard_-_The_GNU_Manifesto.fb2.zip application/x-zip-compressed-fb2 +test.p7b application/x-pkcs7-certificates ox +test.pkipath application/pkix-pkipath ox +test.jks application/x-java-keystore +test.jceks application/x-java-jce-keystore +test.p12 application/pkcs12 ox +test.sav application/x-spss-sav +test.por application/x-spss-por +core application/x-core ox +# Copied from xcalib, http://xcalib.sourceforge.net/ +bluish.icc application/vnd.iccprofile +# Generated by hand +test.it87 application/x-it87 +test.hdf4 application/x-hdf +test.h5 application/x-hdf +# From http://wiki.wireshark.org/SampleCaptures (ancp.pcap.gz, dns.cap) +ancp.pcap application/vnd.tcpdump.pcap +dns.cap application/vnd.tcpdump.pcap +# Created using Shalom Help Maker +test.hlp application/winhlp +# Case-insensitive glob +testcompress.z application/x-compress +one-file.tnef application/vnd.ms-tnef +# Generated by hand +test.ccmx application/x-ccmx +# Generated from test-gettext.c with `xgettext -k_ -o test.pot test-gettext.c` +test.pot text/x-gettext-translation-template x +# Generated from test-en.po with `msgfmt -o test-en.mo test-en.po` +test-en.mo application/x-gettext-translation +# Copied from https://fedorahosted.org/releases/l/i/liberation-fonts/liberation-fonts-ttf-2.00.1.tar.gz +LiberationSans-Regular.ttf font/ttf +# Converted from LiberationSans-Regular.ttf with http://ttf2woff.com/ +LiberationSans-Regular.woff font/woff +nrl.trig application/trig oxo +# Copied from http://git.savannah.gnu.org/cgit/gnash.git/plain/testsuite/samples/subshapes.swf +subshapes.swf application/vnd.adobe.flash.movie +hello.xdgapp application/vnd.flatpak +hello.flatpak application/vnd.flatpak +gnome.flatpakrepo application/vnd.flatpak.repo +gedit.flatpakref application/vnd.flatpak.ref +image.sqsh application/vnd.squashfs +example_42_all.snap application/vnd.snap ox +# Created with bsdiff 4.3 +test.bsdiff application/x-bsdiff +# Generated with sqlite3 3.19.3 +test.sqlite3 application/vnd.sqlite3 +# Generated with sqlite 2.8.17 +test.sqlite2 application/x-sqlite2 +COPYING-encrypted.asc application/pgp-encrypted xoo +# clear text signatures should not have the same mime type as detached signatures +COPYING-clearsign.asc application/pgp-signature xxx +COPYING-clearsign.asc application/pgp-keys xxx +COPYING.asc application/pgp-signature xoo +test-public-key.asc application/pgp-keys xoo +test-secret-key.skr application/pgp-keys ooo +test-secret-key.asc application/pgp-keys xoo +# not all *.key should be detected as Apple Keynote +test-secret.key application/pgp-keys x +test-garbage.key application/octet-stream x + +# copied from https://bitbucket.org/scons/scons/raw/f0d4664d36f8a4d4da53178cf947c86c86db3cb7/SConstruct +SConstruct text/x-scons oxo +#copied from https://sourceforge.net/p/wesnoth/code/ci/master/tree/src/SConscript?format=raw +SConscript text/x-scons oxo +# copied from https://raw.githubusercontent.com/mongodb/mongo/master/SConscript.buildinfo +SConscript.buildinfo text/x-scons oxo + +# Source code +cplusplusfile.C text/x-c++src oxo +cfile.c text/x-csrc oxo + +# Common Lisp source code +common-lisp.asd text/x-common-lisp oxo +common-lisp.fasl text/x-common-lisp oxo +common-lisp.lisp text/x-common-lisp oxo +common-lisp.ros text/x-common-lisp oxo + +# systemd units +systemd.automount text/x-systemd-unit +systemd.device text/x-systemd-unit +systemd.mount text/x-systemd-unit +systemd.path text/x-systemd-unit +systemd.scope text/x-systemd-unit +systemd.service text/x-systemd-unit xoo +systemd.slice text/x-systemd-unit +systemd.socket text/x-systemd-unit +systemd.swap text/x-systemd-unit +systemd.target text/x-systemd-unit +systemd.timer text/x-systemd-unit +dbus.service text/x-systemd-unit xxx +dbus-comment.service text/x-systemd-unit xxx + +# D-Bus services +dbus.service text/x-dbus-service +dbus-comment.service text/x-dbus-service + +# 3D models and GCODEs +binary.stl model/stl oxo +ascii.stl model/stl +test.gcode text/x.gcode ox + +# QEMU disk image +disk.qcow2 application/x-qemu-disk + +# ROM hack scene patching formats +SLA.bps application/x-bps-patch +FF6FR.IPS application/x-ips-patch + +# PySpread spreadsheet +test.pys application/x-pyspread-bz-spreadsheet oxo +test.pysu application/x-pyspread-spreadsheet + +# Kotlin source code +test.kt text/x-kotlin ox + +# AV1 Image File Format (AVIF) +# https://aomediacodec.github.io/av1-avif/ +test.avif image/avif +test.avifs image/avif-sequence diff -Nru shared-mime-info-1.15/tests/mime-detection/live-streaming.m3u shared-mime-info-2.0/tests/mime-detection/live-streaming.m3u --- shared-mime-info-1.15/tests/mime-detection/live-streaming.m3u 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/live-streaming.m3u 2020-05-06 14:11:14.209907800 +0000 @@ -0,0 +1,5 @@ +#EXTM3U +#EXT-X-TARGETDURATION:5220 +#EXTINF:5220, +http://media.example.com/entire.ts +#EXT-X-ENDLIST Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/lucid-tab-bg.xcf and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/lucid-tab-bg.xcf differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/m64p_test_rom.n64 and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/m64p_test_rom.n64 differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/m64p_test_rom.v64 and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/m64p_test_rom.v64 differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/m64p_test_rom.z64 and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/m64p_test_rom.z64 differ diff -Nru shared-mime-info-1.15/tests/mime-detection/Makefile shared-mime-info-2.0/tests/mime-detection/Makefile --- shared-mime-info-1.15/tests/mime-detection/Makefile 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/Makefile 2020-05-06 14:11:14.154908200 +0000 @@ -0,0 +1,4 @@ +all: myprog + +myprog: + $(MAKE) -$(MAKEFLAGS) $(MAKE_FLAGS) -f Makefile.real all diff -Nru shared-mime-info-1.15/tests/mime-detection/Makefile.gnu shared-mime-info-2.0/tests/mime-detection/Makefile.gnu --- shared-mime-info-1.15/tests/mime-detection/Makefile.gnu 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/Makefile.gnu 2020-05-06 14:11:14.154908200 +0000 @@ -0,0 +1,4 @@ +all: myprog + +myprog: + $(MAKE) -$(MAKEFLAGS) $(MAKE_FLAGS) -f Makefile.real all diff -Nru shared-mime-info-1.15/tests/mime-detection/markdown.md shared-mime-info-2.0/tests/mime-detection/markdown.md --- shared-mime-info-1.15/tests/mime-detection/markdown.md 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/markdown.md 2020-05-06 14:11:14.215907800 +0000 @@ -0,0 +1,13 @@ +Header +------ + +Header +====== + +# Header +## Header +### Header + +* list ++ list +- list Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/mega-drive-rom.gen and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/mega-drive-rom.gen differ diff -Nru shared-mime-info-1.15/tests/mime-detection/menu.ini shared-mime-info-2.0/tests/mime-detection/menu.ini --- shared-mime-info-1.15/tests/mime-detection/menu.ini 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/menu.ini 2020-05-06 14:11:14.215907800 +0000 @@ -0,0 +1,56 @@ +[main] +menuname=[ Main Menu ] +itemcount=8 + +[item1] +text=System Info +key=1 +menu=system +description=Find usefull information about your system; + +[item2] +text=Tools for Application Packages +key=2 +menu=synaptic +description=Upgrade, clean and check your application packages. + +[item3] +text=Open Midnight Commander +description=A file manager like the DOS, Norton Commander +key=m +nocapture=1 +command=mc + +[item4] +text=Open FTE Text Editor +key=f +description=A text editor like the DOS, Edit. Very nice. +nocapture=1 +command=fte + +[item5] +text=Tools +key=t +description=Install Some Usufull Tools +menu=tools + +[item6] +text=Network Information +key=n +description=Cable and wirelless network information +menu=network + +[item7] +text=X11 Windows +key=w +description=Restart, restore X11 Windows settings +menu=windows + +[item8] +text=Exit +key=x +menu=exit + + + + diff -Nru shared-mime-info-1.15/tests/mime-detection/meson.build shared-mime-info-2.0/tests/mime-detection/meson.build --- shared-mime-info-1.15/tests/mime-detection/meson.build 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/meson.build 2020-05-06 14:11:14.216907700 +0000 @@ -0,0 +1,3 @@ +project('sample', 'c') + +executable('testprog', 'prog.c') diff -Nru shared-mime-info-1.15/tests/mime-detection/meson_options.txt shared-mime-info-2.0/tests/mime-detection/meson_options.txt --- shared-mime-info-1.15/tests/mime-detection/meson_options.txt 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/meson_options.txt 2020-05-06 14:11:14.216907700 +0000 @@ -0,0 +1 @@ +option('sampleoption', type : 'boolean', value : false) Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/Metroid_japan.fds and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/Metroid_japan.fds differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/mp4v1-video-header.mp4 and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/mp4v1-video-header.mp4 differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/mp4v2-video-header.mp4 and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/mp4v2-video-header.mp4 differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/msg0001.gsm and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/msg0001.gsm differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/msx2-metal-gear.msx and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/msx2-metal-gear.msx differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/msx-penguin-adventure.msx and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/msx-penguin-adventure.msx differ diff -Nru shared-mime-info-1.15/tests/mime-detection/my-data.json-patch shared-mime-info-2.0/tests/mime-detection/my-data.json-patch --- shared-mime-info-1.15/tests/mime-detection/my-data.json-patch 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/my-data.json-patch 2020-05-06 14:11:14.217907700 +0000 @@ -0,0 +1,8 @@ +[ + { "op": "test", "path": "/a/b/c", "value": "foo" }, + { "op": "remove", "path": "/a/b/c" }, + { "op": "add", "path": "/a/b/c", "value": [ "foo", "bar" ] }, + { "op": "replace", "path": "/a/b/c", "value": 42 }, + { "op": "move", "from": "/a/b/c", "path": "/a/b/d" }, + { "op": "copy", "from": "/a/b/d", "path": "/a/b/e" } +] Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/mypaint.ora and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/mypaint.ora differ diff -Nru shared-mime-info-1.15/tests/mime-detection/mysum.m shared-mime-info-2.0/tests/mime-detection/mysum.m --- shared-mime-info-1.15/tests/mime-detection/mysum.m 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/mysum.m 2020-05-06 14:11:14.219907800 +0000 @@ -0,0 +1,8 @@ +function m=myavg(x) +% MYAVG(X) Calculates the average of the elements +n=length(x); +mysum=0; +for i=1:n + mysum=mysum+x(i) +end +m=mysum/n; Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/neo-geo-pocket-color-test.ngc and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/neo-geo-pocket-color-test.ngc differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/neo-geo-pocket-test.ngp and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/neo-geo-pocket-test.ngp differ diff -Nru shared-mime-info-1.15/tests/mime-detection/network-symbolic.svg shared-mime-info-2.0/tests/mime-detection/network-symbolic.svg --- shared-mime-info-1.15/tests/mime-detection/network-symbolic.svg 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/network-symbolic.svg 2020-05-06 14:11:14.220907700 +0000 @@ -0,0 +1 @@ + \ No newline at end of file Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/newtonme.pict and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/newtonme.pict differ diff -Nru shared-mime-info-1.15/tests/mime-detection/nrl.trig shared-mime-info-2.0/tests/mime-detection/nrl.trig --- shared-mime-info-1.15/tests/mime-detection/nrl.trig 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/nrl.trig 2020-05-06 14:11:14.223907700 +0000 @@ -0,0 +1,331 @@ +# +# Copyright (c) 2007 NEPOMUK Consortium +# All rights reserved, licensed under either CC-BY or BSD. +# +# You are free: +# * to Share - to copy, distribute and transmit the work +# * to Remix - to adapt the work +# Under the following conditions: +# * Attribution - You must attribute the work in the manner specified by the author +# or licensor (but not in any way that suggests that they endorse you or your use +# of the work). +# +# Redistribution and use in source and binary forms, with or without modification, +# are permitted provided that the following conditions are met: +# * Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright notice, this +# list of conditions and the following disclaimer in the documentation and/or +# other materials provided with the distribution. +# * Neither the names of the authors nor the names of contributors may +# be used to endorse or promote products derived from this ontology without +# specific prior written permission. +# +# THIS ONTOLOGY IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +# THIS ONTOLOGY, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +@prefix rdfs: . +@prefix nao: . +@prefix nrl: . +@prefix xsd: . +@prefix rdf: . + + { + nrl:imports + a rdf:Property ; + rdfs:comment "Models a subsumption relationship between two graphs, stating that the object graph is imported and included in the subject graph" ; + rdfs:domain nrl:Data ; + rdfs:label "imports" ; + rdfs:range nrl:Data ; + rdfs:subPropertyOf nrl:superGraphOf . + + nrl:ruleLanguage + a rdf:Property ; + rdfs:comment "Specifies the rule language for a view specification that is driven by rules" ; + rdfs:domain nrl:RuleViewSpecification ; + rdfs:label "ruleLanguage" ; + rdfs:range rdfs:Literal . + + nrl:cardinality + a rdf:Property ; + rdfs:comment "Specifies the precise value cardinality for a specific property" ; + rdfs:domain rdf:Property ; + rdfs:label "cardinality" ; + rdfs:range rdfs:Literal . + + nrl:InverseFunctionalProperty + a rdfs:Class ; + rdfs:comment "A marker class to identify inverse functional properties" ; + rdfs:label "InverseFunctionalProperty" ; + rdfs:subClassOf rdfs:Resource . + + nrl:Graph + a rdfs:Class ; + rdfs:comment "Represents a named graph" ; + rdfs:label "Graph" ; + rdfs:subClassOf rdfs:Resource . + + nrl:hasSpecification + a rdf:Property ; + rdfs:comment "Points to the representation of the view specification required to generate the graph view in question" ; + rdfs:domain nrl:GraphView ; + rdfs:label "hasSpecification" ; + rdfs:range nrl:ViewSpecification . + + nrl:DocumentGraph + a rdfs:Class ; + rdfs:comment "A marker class to identify named graphs that exist within a physical document" ; + rdfs:label "DocumentGraph" ; + rdfs:subClassOf nrl:Graph . + + nrl:coreGraphMetadataFor + a rdf:Property , nrl:InverseFunctionalProperty ; + rdfs:subPropertyOf nrl:graphMetadataFor ; + rdfs:comment "Links a metadata graph to the graph for which it specifies the core graph properties including the semantics and the graph namespace. A graph can have only one unique core metadata graph" ; + rdfs:domain nrl:GraphMetadata ; + rdfs:label "coreGraphMetadataFor" ; + rdfs:range nrl:Graph . + + nrl:TransitiveProperty + a rdfs:Class ; + rdfs:comment "A marker class to identify transitive properties" ; + rdfs:label "TransitiveProperty" ; + rdfs:subClassOf rdfs:Resource . + + nrl:FunctionalProperty + a rdfs:Class ; + rdfs:comment "A marker class to identify functional properties" ; + rdfs:label "FunctionalProperty" ; + rdfs:subClassOf rdfs:Resource . + + nrl:KnowledgeBase + a rdfs:Class ; + rdfs:comment "Represents a named graph containing both schematic and instance data" ; + rdfs:label "KnowledgeBase" ; + rdfs:subClassOf nrl:Ontology , nrl:InstanceBase . + + nrl:externalRealizer + a rdf:Property ; + rdfs:comment "Points to the location of the realizer for the external view specification" ; + rdfs:domain nrl:ExternalViewSpecification ; + rdfs:label "externalRealizer" ; + rdfs:range rdfs:Literal . + + nrl:subGraphOf + a rdf:Property ; + rdfs:comment "Specifies a containment relationship between two graphs, meaning that the subject graph is included in the object graph" ; + rdfs:domain nrl:Graph ; + rdfs:label "subGraphOf" ; + rdfs:range nrl:Graph ; + nrl:inverseProperty nrl:superGraphOf . + + nrl:Configuration + a rdfs:Class ; + rdfs:comment "Represents a named graph containing configuration data" ; + rdfs:label "Configuration" ; + rdfs:subClassOf nrl:Data . + + nrl:ViewSpecification + a rdfs:Class ; + rdfs:comment "Represents a specification of the means to achieve a transformation of an input graph into the required graph view" ; + rdfs:label "ViewSpecification" ; + rdfs:subClassOf rdfs:Resource . + + nrl:hasSemantics + a rdf:Property ; + rdfs:comment "Points to a representation of the declarative semantics for a graph role" ; + rdfs:domain nrl:Data ; + rdfs:label "hasSemantics" ; + rdfs:range nrl:Semantics . + + nrl:ExternalViewSpecification + a rdfs:Class ; + rdfs:comment "Represents an external view specification, this usually being a program which automatically generates the required view for an input graph" ; + rdfs:label "ExternalViewSpecification" ; + rdfs:subClassOf nrl:ViewSpecification . + + nrl:DefaultGraph + a nrl:Graph ; + rdfs:comment "Represents the default graph, the graph which contains any triple that does not belong to any other named graph" ; + rdfs:label "DefaultGraph" . + + nrl:updatable + a rdf:Property ; + rdfs:comment "A core graph metadata property, this defines whether a graph can be freely updated '1' or otherwise '0'" ; + rdfs:domain nrl:Graph ; + rdfs:label "updatable" ; + rdfs:range xsd:boolean ; + nrl:maxCardinality "1"^^xsd:nonNegativeInteger . + + nrl:Semantics + a rdfs:Class ; + rdfs:comment "Represents some declarative semantics" ; + rdfs:label "Semantics" ; + rdfs:subClassOf rdfs:Resource . + + nrl:equivalentGraph + a rdf:Property , nrl:SymmetricProperty ; + rdfs:comment "Links two equivalent named graphs. A symmetric property" ; + rdfs:domain nrl:Graph ; + rdfs:label "equivalentGraph" ; + rdfs:range nrl:Graph . + + nrl:ReflexiveProperty + a rdfs:Class ; + rdfs:comment "A marker class to identify reflexive properties" ; + rdfs:label "ReflexiveProperty" ; + rdfs:subClassOf rdfs:Resource . + + nrl:AsymmetricProperty + a rdfs:Class ; + rdfs:comment "A marker class to identify asymmetric properties" ; + rdfs:label "AsymmetricProperty" ; + rdfs:subClassOf rdfs:Resource . + + nrl:maxCardinality + a rdf:Property ; + rdfs:comment "Specifies a maximum value cardinality for a specific property" ; + rdfs:domain rdf:Property ; + rdfs:label "maxCardinality" ; + rdfs:range rdfs:Literal . + + nrl:viewOn + a rdf:Property ; + rdfs:comment "Points to a graph view over the subject named graph" ; + rdfs:domain nrl:GraphView ; + rdfs:label "viewOn" ; + rdfs:range nrl:Graph . + + nrl:SymmetricProperty + a rdfs:Class ; + rdfs:comment "A marker class to identify symmetric properties" ; + rdfs:label "SymmetricProperty" ; + rdfs:subClassOf rdfs:Resource . + + nrl:superGraphOf + a rdf:Property ; + rdfs:comment "Specifies a subsumption relationship between two graphs, meaning that the object graph is included in the subject graph" ; + rdfs:domain nrl:Graph ; + rdfs:label "superGraphOf" ; + rdfs:range nrl:Graph ; + nrl:inverseProperty nrl:subGraphOf . + + nrl:Ontology + a rdfs:Class ; + rdfs:comment "Represents a named graph having the role of an Ontology" ; + rdfs:label "Ontology" ; + rdfs:subClassOf nrl:Schema . + + nrl:realizes + a rdf:Property ; + rdfs:comment "Points to a representation of the declarative semantics that the view specification realizes" ; + rdfs:domain nrl:ViewSpecification ; + rdfs:label "realizes" ; + rdfs:range nrl:Semantics . + + nrl:minCardinality + a rdf:Property ; + rdfs:comment "Specifies a minimum value cardinality for a specific property" ; + rdfs:domain rdf:Property ; + rdfs:label "minCardinality" ; + rdfs:range rdfs:Literal . + + nrl:rule + a rdf:Property ; + rdfs:comment "Specifies rules for a view specification that is driven by rules" ; + rdfs:domain nrl:RuleViewSpecification ; + rdfs:label "rule" ; + rdfs:range rdfs:Literal . + + nrl:InstanceBase + a rdfs:Class ; + rdfs:comment "Represents a named graph containing instance data" ; + rdfs:label "InstanceBase" ; + rdfs:subClassOf nrl:Data . + + nrl:DiscardableInstanceBase + a rdfs:Class ; + rdfs:comment "A named graph containing instance data that can be recreated by analyzing the original resources. Intended to be used by metadata extractors." ; + rdfs:label "DiscardableInstanceBase" ; + rdfs:subClassOf nrl:InstanceBase . + + nrl:RuleViewSpecification + a rdfs:Class ; + rdfs:comment "Represents a view specification that is composed of a set of rules which generate the required view from the input graph upon firing" ; + rdfs:label "RuleViewSpecification" ; + rdfs:subClassOf nrl:ViewSpecification . + + nrl:semanticsDefinedBy + a rdf:Property ; + rdfs:comment "Points to the human readable specifications for a representation of some declarative semantics" ; + rdfs:domain nrl:Semantics ; + rdfs:label "semanticsDefinedBy" ; + rdfs:range rdfs:Resource . + + nrl:GraphMetadata + a rdfs:Class ; + rdfs:comment "Represents a special named graph that contains metadata for another graph" ; + rdfs:label "GraphMetadata" ; + rdfs:subClassOf nrl:Data . + + nrl:graphMetadataFor + a rdf:Property ; + rdfs:comment "Links a metadata graph to the graph that is being described. A unique value is compulsory" ; + rdfs:domain nrl:GraphMetadata ; + rdfs:label "graphMetadataFor" ; + rdfs:range nrl:Graph ; + nrl:minCardinality "1"^^xsd:nonNegativeInteger . + + nrl:GraphView + a rdfs:Class ; + rdfs:comment "Identifies a graph which is itself a view of another named graph" ; + rdfs:label "GraphView" ; + rdfs:subClassOf nrl:Graph . + + nrl:Data + a rdfs:Class ; + rdfs:comment "An abstract class representing all named graph roles" ; + rdfs:label "Data" ; + rdfs:subClassOf nrl:Graph . + + nrl:inverseProperty + a rdf:Property ; + rdfs:comment "Links two properties and specifies their inverse behaviour" ; + rdfs:domain rdf:Property ; + rdfs:label "inverseProperty" ; + rdfs:range rdf:Property . + + nrl:Schema + a rdfs:Class ; + rdfs:comment "Represents a named graph containing schematic data" ; + rdfs:label "Schema" ; + rdfs:subClassOf nrl:Data . +} + + +{ + + a nrl:DocumentGraph , nrl:KnowledgeBase ; + nao:hasDefaultNamespace "http://www.semanticdesktop.org/ontologies/2007/08/15/nrl#" ; + nao:hasDefaultNamespaceAbbreviation "nrl" ; + nao:lastModified "2007-08-22T13:38:32.866Z" ; + nao:serializationLanguage "TriG" ; + nao:status "Testing" ; + nrl:updatable "0" ; + nao:version "0.5" . + + + a nrl:GraphMetadata , nrl:DocumentGraph ; + nao:serializationLanguage "TriG" ; + nrl:coreGraphMetadataFor . + +} Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/ocf10-20060911.epub and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/ocf10-20060911.epub differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/office.doc and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/office.doc differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/one-file.tnef and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/one-file.tnef differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/ooo25876-2.pct and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/ooo25876-2.pct differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/ooo-6.0.doc and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/ooo-6.0.doc differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/ooo-95.doc and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/ooo-95.doc differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/ooo.doc and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/ooo.doc differ diff -Nru shared-mime-info-1.15/tests/mime-detection/ooo.rtf shared-mime-info-2.0/tests/mime-detection/ooo.rtf --- shared-mime-info-1.15/tests/mime-detection/ooo.rtf 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/ooo.rtf 2020-05-06 14:11:14.226907700 +0000 @@ -0,0 +1,17 @@ +{\rtf1\ansi\deff0\adeflang1025 +{\fonttbl{\f0\froman\fprq2\fcharset0 Nimbus Roman No9 L{\*\falt Times New Roman};}{\f1\froman\fprq2\fcharset0 Nimbus Roman No9 L{\*\falt Times New Roman};}{\f2\fmodern\fprq1\fcharset0 Nimbus Mono L{\*\falt Courier New};}{\f3\fnil\fprq2\fcharset0 Nimbus Sans L{\*\falt Arial};}{\f4\fnil\fprq2\fcharset0 Tahoma{\*\falt Lucidasans};}{\f5\fnil\fprq0\fcharset0 Tahoma{\*\falt Lucidasans};}} +{\colortbl;\red0\green0\blue0;\red128\green128\blue128;} +{\stylesheet{\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af4\afs24\lang255\ltrch\dbch\af3\afs24\langfe255\loch\f0\fs24\lang1033\snext1 Default;} +{\s2\sa120\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af4\afs24\lang255\ltrch\dbch\af3\afs24\langfe255\loch\f0\fs24\lang1033\sbasedon1\snext2 Text body;} +{\s3\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af5\afs24\lang255\ltrch\dbch\af3\afs24\langfe255\loch\f0\fs24\lang1033\sbasedon2\snext3 List;} +{\s4\sb120\sa120\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af5\afs20\lang255\ai\ltrch\dbch\af3\afs20\langfe255\ai\loch\f0\fs20\lang1033\i\sbasedon1\snext4 Caption;} +{\s5\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af5\afs24\lang255\ltrch\dbch\af3\afs24\langfe255\loch\f0\fs24\lang1033\sbasedon1\snext5 Index;} +{\s6\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af2\afs20\lang255\ltrch\dbch\af2\afs20\langfe255\loch\f2\fs20\lang1033\sbasedon1\snext6 Preformatted Text;} +} +{\info{\creatim\yr2005\mo10\dy20\hr0\min35}{\revtim\yr2005\mo10\dy20\hr0\min37}{\printim\yr1601\mo1\dy1\hr0\min0}{\comment StarWriter}{\vern6450}}\deftab709 +{\*\pgdsctbl +{\pgdsc0\pgdscuse195\pgwsxn12240\pghsxn15840\marglsxn1800\margrsxn1800\margtsxn1440\margbsxn1440\pgdscnxt0 Default;}} +\paperh15840\paperw12240\margl1800\margr1800\margt1440\margb1440\sectd\sbknone\pgwsxn12240\pghsxn15840\marglsxn1800\margrsxn1800\margtsxn1440\margbsxn1440\ftnbj\ftnstart1\ftnrstcont\ftnnar\aenddoc\aftnrstcont\aftnstart1\aftnnrlc +\pard\plain \ltrpar\s6\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af2\afs20\lang255\ltrch\dbch\af2\afs20\langfe255\loch\f2\fs20\lang1033 {\loch\f2\fs20\lang1033\i0\b0 some text in a certain encoding 1234567890.} +\par {\loch\f2\fs20\lang1033\i0\b0 some more text with non-ASCII: \'f6\'e4\'fc\'d6\'c4\'dc} +\par } \ No newline at end of file Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/ooo.sdw and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/ooo.sdw differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/ooo.stw and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/ooo.stw differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/ooo.sxw and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/ooo.sxw differ diff -Nru shared-mime-info-1.15/tests/mime-detection/ooo-test.fodg shared-mime-info-2.0/tests/mime-detection/ooo-test.fodg --- shared-mime-info-1.15/tests/mime-detection/ooo-test.fodg 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/ooo-test.fodg 2020-05-06 14:11:14.225907600 +0000 @@ -0,0 +1,450 @@ + + + + 2010-01-10T13:58:46 + 2010-01-10T13:59:13 + PT00H00M28S + 1 + OpenOffice.org/3.2$Unix OpenOffice.org_project/320m8$Build-9472 + + + + + -423 + -11748 + 45579 + 29069 + + + view1 + false + false + true + true + false + false + false + false + true + 1500 + false + //////////////////////////////////////////8= + //////////////////////////////////////////8= + + false + true + true + 0 + 0 + true + true + true + false + 4 + 0 + 0 + 1 + -423 + -11748 + 45580 + 29070 + 1270 + 1270 + 635 + 635 + 635 + 1 + 635 + 1 + false + 1500 + true + + + + + true + $(user)/config/standard.sob + 0 + $(user)/config/standard.soc + $(user)/config/standard.sod + 1270 + $(user)/config/standard.sog + $(user)/config/standard.soh + false + false + true + true + false + false + true + false + false + false + $(user)/config/standard.soe + false + 7 + 4 + false + 0 + low-resolution + + + false + 1 + 1 + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This is test document. + + + + + + \ No newline at end of file diff -Nru shared-mime-info-1.15/tests/mime-detection/ooo-test.fodp shared-mime-info-2.0/tests/mime-detection/ooo-test.fodp --- shared-mime-info-1.15/tests/mime-detection/ooo-test.fodp 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/ooo-test.fodp 2020-05-06 14:11:14.225907600 +0000 @@ -0,0 +1,1207 @@ + + + + 2010-01-10T13:57:49 + PT00H00M33S + 2 + 2010-01-10T13:58:18 + OpenOffice.org/3.2$Unix OpenOffice.org_project/320m8$Build-9472 + + + + + -1784 + -423 + 29210 + 24886 + + + view1 + false + false + true + true + false + false + false + false + true + 1500 + false + //////////////////////////////////////////8= + //////////////////////////////////////////8= + + false + true + false + 0 + 0 + false + true + true + false + 4 + 0 + 0 + 1 + -1784 + -423 + 29211 + 24887 + 1270 + 1270 + 635 + 635 + 635 + 1 + 635 + 1 + false + 1500 + true + + + + + true + $(user)/config/standard.sob + 0 + $(user)/config/standard.soc + $(user)/config/standard.sod + 1270 + + + en + US + + + + + + $(user)/config/standard.sog + true + $(user)/config/standard.soh + false + false + true + true + false + true + false + false + true + false + false + false + false + false + $(user)/config/standard.soe + false + 4 + false + 0 + low-resolution + + + false + 6 + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <number> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <number> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <number> + + + + + + + + + + + + This is a test document. + + + + + + + + + + + + + \ No newline at end of file diff -Nru shared-mime-info-1.15/tests/mime-detection/ooo-test.fods shared-mime-info-2.0/tests/mime-detection/ooo-test.fods --- shared-mime-info-1.15/tests/mime-detection/ooo-test.fods 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/ooo-test.fods 2020-05-06 14:11:14.226907700 +0000 @@ -0,0 +1,292 @@ + + + + 2010-01-10T13:56:44 + 2010-01-10T13:57:15 + PT00H00M31S + 1 + OpenOffice.org/3.2$Unix OpenOffice.org_project/320m8$Build-9472 + + + + + 0 + 0 + 2258 + 455 + + + View1 + + + 0 + 1 + 0 + 0 + 0 + 0 + 2 + 0 + 0 + 0 + 0 + 0 + 100 + 60 + true + + + Sheet1 + 270 + 0 + 100 + 60 + false + true + true + true + 12632256 + true + true + true + true + false + false + 1270 + 1270 + 1 + 1 + true + + + + + true + false + 3 + + 1 + true + 1 + true + true + true + 1270 + 1270 + 12632256 + false + true + false + false + + true + 0 + true + true + false + true + true + false + true + + + + + + + + + + + + + + + + + + + + + + + + $ + + + + + - + $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ??? + + + + + Page 1 + + + + + + + + + ??? (???) + + + + 01/10/2010, 13:57:30 + + + + + + Page 1 / 99 + + + + + + + + + + + + This is a test document. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru shared-mime-info-1.15/tests/mime-detection/ooo-test.fodt shared-mime-info-2.0/tests/mime-detection/ooo-test.fodt --- shared-mime-info-1.15/tests/mime-detection/ooo-test.fodt 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/ooo-test.fodt 2020-05-06 14:11:14.226907700 +0000 @@ -0,0 +1,360 @@ + + + + 2010-01-10T13:49:40 + + 2010-01-10T13:53:29 + PT00H03M51S + 1 + OpenOffice.org/3.2$Unix OpenOffice.org_project/320m8$Build-9472 + + + + 0 + 0 + 34376 + 18099 + true + false + + + view2 + 12402 + 3002 + 0 + 0 + 34375 + 18098 + 0 + 0 + false + 100 + false + + + + + true + false + false + true + false + false + true + false + 1 + true + + true + false + + false + true + true + true + false + + false + true + true + true + false + 0 + false + + false + false + false + false + false + 0 + + false + false + false + true + 0 + true + true + false + false + false + true + true + false + false + false + false + false + true + high-resolution + + false + false + true + true + false + false + false + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This is a test document. + + + \ No newline at end of file Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/ooo-test.odg and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/ooo-test.odg differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/ooo-test.odp and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/ooo-test.odp differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/ooo-test.ods and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/ooo-test.ods differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/ooo-test.odt and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/ooo-test.odt differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/ooo.vor and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/ooo.vor differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/ooo-xp.doc and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/ooo-xp.doc differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/Oriental_tattoo_by_daftpunk22.eps and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/Oriental_tattoo_by_daftpunk22.eps differ diff -Nru shared-mime-info-1.15/tests/mime-detection/ostree-repository/.ostree/repo/summary shared-mime-info-2.0/tests/mime-detection/ostree-repository/.ostree/repo/summary --- shared-mime-info-1.15/tests/mime-detection/ostree-repository/.ostree/repo/summary 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/ostree-repository/.ostree/repo/summary 2020-05-06 14:11:14.227907700 +0000 @@ -0,0 +1 @@ +not actually a valid summary Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/panasonic_lumix_dmc_fz38_05.rw2 and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/panasonic_lumix_dmc_fz38_05.rw2 differ diff -Nru shared-mime-info-1.15/tests/mime-detection/pdf-not-matlab shared-mime-info-2.0/tests/mime-detection/pdf-not-matlab --- shared-mime-info-1.15/tests/mime-detection/pdf-not-matlab 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/pdf-not-matlab 2020-05-06 14:11:14.229907800 +0000 @@ -0,0 +1,2 @@ +%PDF- +If we find x-matlab because it starts with '%' then we are not ordering by priority. diff -Nru shared-mime-info-1.15/tests/mime-detection/petite-ouverture-a-danser.ly shared-mime-info-2.0/tests/mime-detection/petite-ouverture-a-danser.ly --- shared-mime-info-1.15/tests/mime-detection/petite-ouverture-a-danser.ly 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/petite-ouverture-a-danser.ly 2020-05-06 14:11:14.229907800 +0000 @@ -0,0 +1,157 @@ +\header { + title = "Petite Ouverture à danser" + subtitle = "4" + source = "" + composer = "Erik Satie (1866-1925)" + enteredby = "jcn" + copyright = "Public Domain" +} + +\version "2.10.0" + +global = { + \key a \minor + \time 2/4 + s2*10 + \bar "||" + s2*11 + \bar "||" + \time 3/4 + s2. + \bar "||" + \time 2/4 + s2*4 + \bar "||" + \time 3/4 + s2.*2 + \bar "||" + \time 2/4 + s2*18 + \bar "|." +} + +i = \context Staff \relative c''\new Voice { + \voiceOne + + c8.( es16 bes4 ~ | bes8) r c8.( bes16 | des4 c8. bes16 | c4 ~ c8) r | + c4( f,8. as16 | bes4 ~ bes8) r | f8.( es16 f4 | es f) | + g8.( es16 f4 ~ | f) f8 r + + % Au mouvement + f4 ( g | a2 ~ | a) | a4-- a-> ~ | a8 r b!8.( a16 | b4) c-- ~ | + c8 r b8.( d16 | a4 ~ a8) r | d4( cis | c! b8. d16 | a4 ~ a8) r + + a8.( g16 a4 ~ a8) r | + + a4-> ~ a8 r | g8.( a16 fis4) | e8.( d16 e4 | fis ~ fis8) r + + d4( d-- ~ d8) r e4( f!2 ~ | + + f4 ~ f8) r | es4( g | as bes ~ | bes) c( | b!2) | c4( d | bes2) | c4~ c8 r | + + % copy from begin: 1-10 + c8.( es16 bes4 ~ | bes8) r c8.( bes16 | des4 c8. bes16 | c4 ~ c8) r | + c4( f,8. as16 | bes4 ~ bes8) r | f8.( es16 f4 | es f) | +% g8.( es16 f4 ~ | f) f8 r ? + g8.( es16 f4 ~ | f) ~ f8 r + +} + +ii = \context Staff \relative c'\new Voice{ + \voiceTwo + + r8 r | r r | r r | + r r | r r | r r | + r r | r bes r | r r | + r r + + % Au movement + r r | r r | r r | + r r | r r | r r | r r | + r r | r r | r r | + r r | + + r r r | + + r r | r r | r r | + r r | + + \change Staff=bass\voiceOne + r r r | r + \change Staff=treble\voiceTwo + r r | + + r r | r r | r r | + r r | r r | r r | + r r | r r | + + + % copy from begin: 1-10 + r8 r | r r | r r | + r r | r r | r r | + r r | r bes r | r r | + r r + +} + +lower = \context Staff \relative c \new Voice{ + + 4 | r | | r | + | r | | + | | r | + + % Au movement + | | r | | + r | | r | r | | + | r | + + r | + + r | | | r | + + r | | + + r | | | | + | | r | r + + % copy from begin: 1-10 + 4 | r | | r | + | r | | + | | r | + +} + +\score { + \context PianoStaff << + \new Staff = "treble" << + \global + \clef violin + \i + \ii + >> + \new Staff = "bass" << + \global + \clef bass + \lower + >> + >> + \layout { + \context { + \Score + \override SpacingSpanner #'spacing-increment = #3 + } + } + + \midi { + \context { + \Score + tempoWholesPerMinute = #(ly:make-moment 60 4) + } + } + + +} + +%% Local Variables: +%% coding: utf-8 +%% End: Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/pico-rom.bin and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/pico-rom.bin differ diff -Nru shared-mime-info-1.15/tests/mime-detection/playlist.asx shared-mime-info-2.0/tests/mime-detection/playlist.asx --- shared-mime-info-1.15/tests/mime-detection/playlist.asx 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/playlist.asx 2020-05-06 14:11:14.229907800 +0000 @@ -0,0 +1,14 @@ + + + + BBC One + BBC + BBC + + + BBC One + BBC + BBC + + + diff -Nru shared-mime-info-1.15/tests/mime-detection/playlist.mrl shared-mime-info-2.0/tests/mime-detection/playlist.mrl --- shared-mime-info-1.15/tests/mime-detection/playlist.mrl 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/playlist.mrl 2020-05-06 14:11:14.229907800 +0000 @@ -0,0 +1,6 @@ + + + + + + diff -Nru shared-mime-info-1.15/tests/mime-detection/playlist.wpl shared-mime-info-2.0/tests/mime-detection/playlist.wpl --- shared-mime-info-1.15/tests/mime-detection/playlist.wpl 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/playlist.wpl 2020-05-06 14:11:14.229907800 +0000 @@ -0,0 +1,16 @@ + + + + + + latest1_wpl.wpl + + + + + + + + + + diff -Nru shared-mime-info-1.15/tests/mime-detection/plugins.qmltypes shared-mime-info-2.0/tests/mime-detection/plugins.qmltypes --- shared-mime-info-1.15/tests/mime-detection/plugins.qmltypes 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/plugins.qmltypes 2020-05-06 14:11:14.229907800 +0000 @@ -0,0 +1,23 @@ +import QtQuick.tooling 1.2 + +// This file describes the plugin-supplied types contained in the library. +// It is used for QML tooling purposes only. +// +// This file is an excerpt of one that was auto-generated by: +// 'qmlplugindump -nonrelocatable QtQuick.Controls 1.5' + +Module { + dependencies: [ + "QtQuick 2.9", + "QtQuick.Window 2.2" + ] + Component { + name: "QQuickAbstractStyle1" + defaultProperty: "data" + prototype: "QObject" + exports: ["QtQuick.Controls.Private/AbstractStyle 1.0"] + exportMetaObjectRevisions: [0] + Property { name: "padding"; type: "QQuickPadding1"; isReadonly: true; isPointer: true } + Property { name: "data"; type: "QObject"; isList: true; isReadonly: true } + } +} Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/pocket-word.psw and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/pocket-word.psw differ diff -Nru shared-mime-info-1.15/tests/mime-detection/pom.xml shared-mime-info-2.0/tests/mime-detection/pom.xml --- shared-mime-info-1.15/tests/mime-detection/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/pom.xml 2020-05-06 14:11:14.230907700 +0000 @@ -0,0 +1,110 @@ + + 4.0.0 + Maven Default Project + + + + central + Maven Repository Switchboard + default + http://repo1.maven.org/maven2 + + false + + + + + + + central + Maven Plugin Repository + http://repo1.maven.org/maven2 + default + + false + + + never + + + + + + target + target/classes + ${artifactId}-${version} + target/test-classes + src/main/java + src/main/scripts + src/test/java + + + src/main/resources + + + + + src/test/resources + + + + + + target/site + + + + + release-profile + + + + performRelease + + + + + + + true + org.apache.maven.plugins + maven-source-plugin + + + + attach-sources + + jar + + + + + + true + org.apache.maven.plugins + maven-javadoc-plugin + + + + attach-javadocs + + jar + + + + + + true + org.apache.maven.plugins + maven-deploy-plugin + + + true + + + + + + + + Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/Presentation.kpt and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/Presentation.kpt differ diff -Nru shared-mime-info-1.15/tests/mime-detection/project.glade shared-mime-info-2.0/tests/mime-detection/project.glade --- shared-mime-info-1.15/tests/mime-detection/project.glade 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/project.glade 2020-05-06 14:11:14.230907700 +0000 @@ -0,0 +1,6 @@ + + + + + + Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/PWAD.WAD and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/PWAD.WAD differ diff -Nru shared-mime-info-1.15/tests/mime-detection/pyside.py shared-mime-info-2.0/tests/mime-detection/pyside.py --- shared-mime-info-1.15/tests/mime-detection/pyside.py 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/pyside.py 2020-05-06 14:11:14.230907700 +0000 @@ -0,0 +1,5 @@ +#!/bin/env python +from PySide.QtGui import QApplication +app = QApplication([]) +args = {} + Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/raw-mjpeg.mjpeg and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/raw-mjpeg.mjpeg differ diff -Nru shared-mime-info-1.15/tests/mime-detection/README.pdf shared-mime-info-2.0/tests/mime-detection/README.pdf --- shared-mime-info-1.15/tests/mime-detection/README.pdf 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/README.pdf 2020-05-06 14:11:14.157908200 +0000 @@ -0,0 +1,1124 @@ +%PDF-1.4 +%µí®û +3 0 obj +<< +/Length 1480 +>> +stream +/GS1 gs +q +q +BT +0.000 0.000 0.000 rg +11.00 0.00 0.00 11.00 56.69 745.93 Tm +/F8 1 Tf +[(\1\2\3\4) 1 +(\5\6\7\10) 1 +(\11) 1 +(\12) 1 +(\4) 1 +(\7\12) 1 +(\13\3\14) 1 +(\15\4) 1 +(\16) 1 +(\7\17\4) 1 +(\20\17\21) 1 +(\22) 1 +(\17\23\24) 1 +(\25\17\20\17)] TJ +ET +Q +Q +q +q +BT +0.000 0.000 0.000 rg +11.00 0.00 0.00 11.00 482.33 745.93 Tm +/F8 1 Tf +[(\26) -1 +(\14) 1 +(\27) 1 +(\4) 1 +(\6\30) 1 +(\6\11) 1 +(\23\6\30)] TJ +ET +Q +Q +0.000 0.000 0.000 RG +1.00 w 0 J 0 j 11.00 M +[]0.00 d +56.69 736.98 m +538.58 736.98 l +S +q +q +BT +0.000 0.000 0.000 rg +9.00 0.00 0.00 9.00 56.69 714.79 Tm +/F12 1 Tf +[(\1) -1 +(\2) -1 +(\3) -1 +(\4) -1 +(\5) -1 +(\6) -1 +(\4) -1 +(\7) -1 +(\6) -1 +(\5) -1 +(\10) -1 +(\11) -1 +(\5) -1 +(\12) -1 +(\5) -1 +(\13) -1 +(\4) -1 +(\14) -1 +(\6) -1 +(\12) -1 +(\10) -1 +(\11) -1 +(\5) -1 +(\4) -1 +(\11) -1 +(\13) -1 +(\2) -1 +(\15) -1 +(\10) -1 +(\11) -1 +(\16) -1 +(\5) -1 +(\17) -1 +(\20) -1 +(\21) -1 +(\22) -1 +(\23) -1 +(\24) -1 +(\25) -1 +(\26) -1 +(\27) -1 +(\30) -1 +(\31)] TJ +ET +Q +Q +q +q +BT +0.000 0.000 0.000 rg +9.00 0.00 0.00 9.00 56.69 703.94 Tm +/F12 1 Tf +[(\1) -1 +(\2) -1 +(\3) -1 +(\4) -1 +(\5) -1 +(\3) -1 +(\2) -1 +(\14) -1 +(\4) -1 +(\5) -1 +(\6) -1 +(\4) -1 +(\7) -1 +(\6) -1 +(\5) -1 +(\32) -1 +(\10) -1 +(\6) -1 +(\33) -1 +(\5) -1 +(\11) -1 +(\2) -1 +(\11) -1 +(\34) -1 +(\35) -1 +(\36) -1 +(\37) -1 +(\40) -1 +(\40) -1 +(\41) -1 +(\5) -1 +(\42) -1 +(\43) -1 +(\44) -1 +(\45) -1 +(\46) -1 +(\47)] TJ +ET +Q +Q +endstream +endobj +4 0 obj +<< +/ProcSet [/PDF /Text ] +/Font << +/F12 12 0 R +/F8 8 0 R +>> +/ExtGState << +/GS1 1 0 R +>> +>> +endobj +13 0 obj +<< +/Length 14 0 R +/Length1 5273 +/Length2 15 0 R +/Length3 0 +>> +stream +%!PS-AdobeFont-1.0: LuxiMono 1.2 +%%CreationDate: Mon Nov 12 2001 +% Copyright Copyright (c) 2001 by Bigelow & Holmes Inc. Instructions copyright (c) 2001 by URW++. +% Copyright (c) 2001 by Bigelow & Holmes Inc. Instructions copyright (c) 2001 by URW++. +12 dict begin +/FontInfo 10 dict dup begin +/version (1.2) readonly def +/Notice (Copyright (c) 2001 by Bigelow & Holmes Inc. Instructions copyright (c) 2001 by URW++.) readonly def +/Copyright (Copyright Copyright (c) 2001 by Bigelow & Holmes Inc. Instructions copyright (c) 2001 by URW++.) readonly def +/FullName (Luxi Mono Regular) readonly def +/FamilyName (Luxi Mono) readonly def +/Weight (Regular) readonly def +/ItalicAngle 0.0 def +/isFixedPitch true def +/UnderlinePosition -88 def +/UnderlineThickness 83 def +end readonly def +/FontName /LuxiMono def +/PaintType 0 def +/WMode 0 def +/FontBBox {0 -211 600 993} readonly def +/FontType 1 def +/FontMatrix [0.001 0.0 0.0 0.001 0.0 0.0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 65 /A put +dup 66 /B put +dup 67 /C put +dup 68 /D put +dup 69 /E put +dup 70 /F put +dup 71 /G put +dup 72 /H put +dup 73 /I put +dup 74 /J put +dup 75 /K put +dup 76 /L put +dup 77 /M put +dup 78 /N put +dup 79 /O put +dup 80 /P put +dup 81 /Q put +dup 82 /R put +dup 83 /S put +dup 84 /T put +dup 85 /U put +dup 86 /V put +dup 87 /W put +dup 88 /X put +dup 89 /Y put +dup 90 /Z put +dup 198 /AE put +dup 140 /OE put +dup 216 /Oslash put +dup 196 /Adieresis put +dup 193 /Aacute put +dup 192 /Agrave put +dup 194 /Acircumflex put +dup 195 /Atilde put +dup 197 /Aring put +dup 199 /Ccedilla put +dup 208 /Eth put +dup 203 /Edieresis put +dup 201 /Eacute put +dup 200 /Egrave put +dup 202 /Ecircumflex put +dup 207 /Idieresis put +dup 205 /Iacute put +dup 204 /Igrave put +dup 206 /Icircumflex put +dup 209 /Ntilde put +dup 214 /Odieresis put +dup 211 /Oacute put +dup 210 /Ograve put +dup 212 /Ocircumflex put +dup 213 /Otilde put +dup 138 /Scaron put +dup 220 /Udieresis put +dup 218 /Uacute put +dup 217 /Ugrave put +dup 219 /Ucircumflex put +dup 221 /Yacute put +dup 222 /Thorn put +dup 159 /Ydieresis put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 106 /j put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 113 /q put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 119 /w put +dup 120 /x put +dup 121 /y put +dup 122 /z put +dup 230 /ae put +dup 156 /oe put +dup 248 /oslash put +dup 223 /germandbls put +dup 228 /adieresis put +dup 225 /aacute put +dup 224 /agrave put +dup 226 /acircumflex put +dup 227 /atilde put +dup 229 /aring put +dup 231 /ccedilla put +dup 235 /edieresis put +dup 233 /eacute put +dup 232 /egrave put +dup 234 /ecircumflex put +dup 239 /idieresis put +dup 237 /iacute put +dup 236 /igrave put +dup 238 /icircumflex put +dup 241 /ntilde put +dup 246 /odieresis put +dup 243 /oacute put +dup 242 /ograve put +dup 244 /ocircumflex put +dup 245 /otilde put +dup 154 /scaron put +dup 252 /udieresis put +dup 250 /uacute put +dup 249 /ugrave put +dup 251 /ucircumflex put +dup 253 /yacute put +dup 240 /eth put +dup 254 /thorn put +dup 255 /ydieresis put +dup 49 /one put +dup 50 /two put +dup 51 /three put +dup 52 /four put +dup 53 /five put +dup 54 /six put +dup 55 /seven put +dup 56 /eight put +dup 57 /nine put +dup 48 /zero put +dup 163 /sterling put +dup 36 /dollar put +dup 162 /cent put +dup 131 /florin put +dup 128 /Euro put +dup 165 /yen put +dup 185 /onesuperior put +dup 178 /twosuperior put +dup 179 /threesuperior put +dup 46 /period put +dup 58 /colon put +dup 133 /ellipsis put +dup 44 /comma put +dup 59 /semicolon put +dup 145 /quoteleft put +dup 148 /quotedblright put +dup 147 /quotedblleft put +dup 132 /quotedblbase put +dup 33 /exclam put +dup 161 /exclamdown put +dup 63 /question put +dup 191 /questiondown put +dup 187 /guillemotright put +dup 171 /guillemotleft put +dup 155 /guilsinglright put +dup 139 /guilsinglleft put +dup 47 /slash put +dup 45 /hyphen put +dup 173 /sfthyphen put +dup 150 /endash put +dup 151 /emdash put +dup 40 /parenleft put +dup 41 /parenright put +dup 91 /bracketleft put +dup 93 /bracketright put +dup 38 /ampersand put +dup 167 /section put +dup 134 /dagger put +dup 135 /daggerdbl put +dup 42 /asterisk put +dup 39 /quotesingle put +dup 34 /quotedbl put +dup 64 /at put +dup 35 /numbersign put +dup 176 /degree put +dup 43 /plus put +dup 215 /multiply put +dup 247 /divide put +dup 61 /equal put +dup 153 /trademark put +dup 182 /paragraph put +dup 164 /currency put +dup 130 /quotesinglbase put +dup 146 /quoteright put +dup 123 /braceleft put +dup 125 /braceright put +dup 170 /ordfeminine put +dup 186 /ordmasculine put +dup 177 /plusminus put +dup 189 /onehalf put +dup 188 /onequarter put +dup 190 /threequarters put +dup 37 /percent put +dup 137 /perthousand put +dup 92 /backslash put +dup 168 /dieresis put +dup 180 /acute put +dup 96 /grave put +dup 136 /circumflex put +dup 152 /tilde put +dup 184 /cedilla put +dup 169 /copyright put +dup 174 /registered put +dup 32 /space put +dup 160 /nbspace put +dup 149 /bullet put +dup 60 /less put +dup 62 /greater put +dup 172 /logicalnot put +dup 94 /asciicircum put +dup 124 /bar put +dup 166 /brokenbar put +dup 95 /underscore put +dup 126 /asciitilde put +dup 181 /mu put +readonly def +/UniqueID 5078983 def +currentdict end +currentfile eexec é ×`£Â,ñùÜiš"Ã[[5íj¢5“ÇmTÊ»^”+÷ÖÝ„ñfK‰iœt´rÞŸŽmù%öÄòéñÆ9´Û©ˆí*Äÿ++Þ`[Žã&NÝfA-O!ÆJÅ"½ü|UùÃóåY+; “Ó<›úíÒÔž‰ªº¨2â?.‘¢P2QhnD´àtw•=y0)n*[þ Y]É~ ‰ÎØ×øRÿœÜzYŒiî[AX¡m2Ø;ô|þåJèCÁÿ‘‘ ø_Ül&ÍI2ÿûϕ׬Ž·&¨%mœ´ŠáQº~ºUkÈ–b!èMál-Ao6fWDŪ„ +ŒžJi~(…dº¿Ÿ"Q9©w‚_V¼DÀ|xÅÍq×…™ÊÔa§ÛS›˜C=œ¤_j¦}85Qršï^'{ŒüöX9ëin;[d˜q)Çñ•Dj‰‹ Ž Cþ¿çMÄ¡‚Ž`é¾Zx]mõ@Ï +æ_.ù%ý'Þc&‘`óX¯¦ÎÁÁ!ñî+áŒÜ7Å’ƒ¾wNû˜c¾Þ­‚)äY¼n-®ê£2èGª÷kgÉÈLôYÈàW\¾ï‰b¹jlè®xLçrF÷¼h¢¤´öB¬:´tŽ5-èU_Y³lh¬¤!‚Ðéü"{¶?k-ЀѮØÂ[m|m¹á#gð¹ÊÂz4®Ž²˜ª”®ƒw‡\P½Cݹ:-òaEkK”S@Èy ^Þ\8(Å^$M¦%}ÐÒÃ'J5üùl¿fkŒE‚rŸØÉæÑøJ4iås/ Ïí´ØŠ¥Uá\ñž,§»"”Ùš‘‚Ø—×<&/b) i7Dønå\ôº/Wœh%¹ú‘%X„É¥ +rŽ4ŽåëO7IÃÒzÖ¦††Ï2¿ûEï§5Κà6~j#›…ýué.,}ŠaŠß´‚r3zë¨o™*6c°ÞñhÚuºÛ@q As À™ Ê„ïQjÓNZáO­óãäN­Fa4#$¿àâÛm2Ð8®SK¾$ µ¿­‰Ì+/f!D™6Ƈ†¥èÁy¶CäÐæ„›ü‰è–±Ã5mÙèü¶–‘ªö¾º$Ö+Ÿ&mV @‰â +Ÿ5­Je§7a«¾à÷ï&í5e¢U£¥¥qC—šîØÍR¦žNäy_>àÊ!¹ôÑfx:šõK¶Åg“*1—ã(Æ榺ڡf©R–O1ýi‚úÑâ¤Q*Ÿ'B3²ûw +:tíc ®³d)Щ[Øö(ñïN?Eµ¯ÉcŠF¿†âtc­øØpÏ6rÈ?턹gÎ1Åñž6çz³”j¡Ýéz‡Ïq¿¯%©¿Úw9úµX5¨¸®ÑfòD^ «Ë¨K + ÈÍ'x¼>Lô˜äT÷RÎtºÇ +Ì´À“…JÇ/(ðí"hV+aóÂî4DÌä¤aÊËc(Ǩûv\J‹]¥«™¯ƒÌ{vœešyJ|>ø’Àì.¢ý¬ÆæÂÀ'‡èÄ}ÜØNŠ£»‰v@BïÈ$žÑ†»¥ãÇÕ9LÕ~%~S‡R¾> E6fp`¶Jh‹k#Lì–ð–q™›0tçIE¾G&<ö³^sFÛ˜TÔ>áCðÿ„…ŽW•m¸cdM6Ÿ¢j™›çUø!“+èÁö™^Î5›ìŒ§#.pÃá ¯Iƒ§¢òXRf¹¯<Mpµ6cèhü¯“"àŸð—{b£˜lfÐô¦è¢×7ll` ž1ð®¥lÄ.0ýß$þ©\…™Ñ@‚JëŸþ +w‘Å "èáX˜Ÿ®9¤=á½èñ?Þ;݆[ìd>cO=° ÿFWµ\öJiW9­âP‹¶Sœ«‘ùUÑ[¤u8H` ¼°ࢥ<ŵɋ+ –ÓÜ®9KÛ„¦·Ò:ÐqN­oLtþsQ©Úæ¦0þª~ÒºÛÔwžw¸fï\ÖÑzygO?Zì›ÀH +æûÒÝóÛM#O“ŠOµöÍ^#±Qè›aVÍÆIÐ6Ú8‰~&éâ¥áaØHJ «Ùs«d–FvšSKlŠÕÊ[Å£B6Þ2ó?G!C¯F(窑)è™ <…ÕÓÈjö’³ƒ$?Wõ´˜Ðn‹ÄuÖÿ×ÛÔP3TLÇqµd÷²e²¼)+¤ýIǧ§£odkÍìµæ1X¦ÛtK’YwI'ùv(Ö!¦OmõýcwJv¤íÐËð<*ëâ³d)}Š@‰êª}ùÍM2ã…%ÐåŸqˆºCmë³ÐP·Ò²ØBÞ(æÔm'?dû+šP†9ü>®!²öYV„tÆ ï»RC×IosàîJ:Ctn{šz±³—Mî‚T7—»³Ð“Ú¼ï9Â|è«rŒÉqÎï·j$íÊVJ1ÈRV>¤éõ0ÈÊ.&ò×*ð`iõ ù—ȇ>ºÍ—L‹Ø]XmÞŽbAd‹²Mü;¬×O«yîž¾0ºŒq^Y@’x“²yw`c4ÛæÍ4ŽVµÎ¹¬ùïzb|º]µè™½AE2žFð¹„s6U?*5®™-B×®M¦nuÍÒ<­VÔÅv’M[éL*—K´nXEOß\~½¡c.Ý5?ÿ÷RQ“(jšö^)yÏî™Ùû<±ü.²Wv±©¡šCHÕCØAD9’-‰åhÖè:Wýv€-ÀÓ1‚[¿Ðo*°=Èò¨t#ˆpt +Ó¸•BbUG\;Ʊìwº‹»j‰Yªùš)iÄà£!M'×Î’ ×ïèãœÔ,Ãc–Š½ÙxóŒ/p¶ã†€ˆ ˜&él1ñ2[¿øýJY2pIý©xÉÍçמV^¾É øë±,køPX…[»üîreQ˜u•KŸDûL(§4º¯::d͕؈K2Cñ8üèk%cÂË­°O@6° ‹†?¦žˆÓ³d¯™Ê(áÐ#S‘X·ÌÄ ,¾g{46°zɽ[‚ð.¸È¿™âôc™LÆ + ¾©¦N,½–a@ô«óaÖ(E÷/«špYÉnpÜ$iîÚ®9‚¦KÃÉè©‹4ØÚï6¹áõ^?V—ïože H !Èñ†Gì#VŽÞ "åE$ðKã}ø_¦3w ŽWà;UOÛ@ð.†%žŠw2 §ê¯@2á¾é¤S+&¹ÈÀc9m¸%§1Á‹1¨C“éì´òyȄš^YnÑDÐÄ·ØÏFä>5ï õh’ã"ÓEû{ËÜf_ü’JÔìcŠð•“3¥NbÆŽÁ… G×>‡Õ¦ábƒ}üáavÍâÇS¼±Î LñÿH0÷HK‹4ak`ÍT³b>QŒ¼ò•ÄÕFçƒø„Ó‹†(eèµq9cuï«È:JŽá¾b>Ý]¯X__:ž¹njQÁŽ 7“ª”¶04sÅ‹¹2.ù þ‰fënÆ¡ŒÒ®#˜ë¸tŸ­Õ‡Ç኱q¡IÒb¨ê*F,K +Ñ  S÷ÃÓÑÉ땧e1Ó‡íW šíIÅÊ&P}ól%tÁÿs¿Î¼ÔYv2 ºšfj ™Àn9(?Bçï³ÿÇŸ{)b–qõÎAÏ>ªE°’ò¼C;­¯WãÕ™[iñç€k΃D3È‘ó€iB—&ˆª.¼: ÊÓ+~ >QµK¨°%›}­þŸ„§ÅܸdG¶fô‰‘ÃS5Ý|lÌ §h²)7ÐÝá‹á.殃öûž²±Ù¼+OŠz€Û±jIk+{:¿\½+«þ^^I¯œ3˜`]ðXžÂCŠ}Ó‹FÕ#@.ô|DÎXE $úga‘®%@ÔÉŒgd° iö,'mž½Âƒ¥œ¿ÇÆÂR#;ý\ – ²±ç„6ëôü/‚· êÇ3»[3Rä)7ßâÞ6÷€V}%Z¯¬ÈC'tw'‘ݺL% óÕ=°ØÛˆò¶$¯C7ÁŸ6ÕU~ŒÞ‡¥ñ;2}ï”1•:œM~¦`%+Ðý#Ú^Ú~åªêÍ2­·XÓiqÜA¶ö|ÁŸt5»žÞQµ×ÙAðríÛÐàÛ7º„ðjÙ§Ë"ìÅÙŒr ÛV£Œ‰aS=<â‰pcÜ‘_„½¤ WGêör §5,WL»4,>iî$-¿ô¼‹g2 kkûÅýÃ÷’ôOŽ*­À'”,±ziiyÍOrd&«ùøFJàß?é¨rŸ‹j ´“Î[ñ½•‰ý”s!Z×Q1WËF½A´á0²ÊÀ—3_œToÆöx È5”$éó×E(FÝ¥ƒ„^Õ…”|‡Ñá'zÛr\– ›½;Þ3!¾å!2¦*WFjö¿‹cœž[>WFÔgƒ#m ÷Âo5ï¶ÓcA~$hLƒÇX¹¬_¿.êniõʵ[ý¡ .mCŸü¥P纡–6Å?æ¿öO)€$:CYÑâ€);€«2½º4 ]¬©U;ÄÀñþ±ñn97±ÅYœ…yT=Ñ£Pöœ fï-€y"Ï¡¬Ee"8¼GÔÞÔjÚb&½ƒŸá‘Çš/á/_O°ÔAÿ†F]E9¢'ç‚áÿ¹e.…?eÓÙ =Lš“¬øÕOभòè9É—üI’{’©–½wÎùÇrf Jô!ž¤Ôï]—MI“ëÓÿßðµ×« ñ2yW|XÞrdv Â‘Ë@j]±¦1Ôú *ýR[TäüôÝ”³&@Q6•ۃ߼"ÖÏìõA_êÄLe)ªþ…!.ŸDÞpv–°WÖ¬Pï?[ØݹU,Ùô*âœþ¥ eðjá¼?{²4j²ë¹B”ìØ+ÑÊÎÖ +Õì‘D|ú”yûû'š½¿/ª‡`¥Gæ^ä³ËæqDzßéŤzƒÕß–þèê¼â0 žjRÑûI½.’xÆ`?¨-ÁÊ 8RXp™V4T1§qw»ø ÏéÁ.Ã!ûÎû‘fSóI$Km©<åÔŒmÀÖs)šGbƒ—༱dímLÖW ЯFÐýÙ X¡ò#mzá&ðw#DZ£ayS3ødˆÖ4”)A¡·Š{b¸¸x;—çÈõú~e˜~ß#À°Ž„¾¥¸a? Nã.XÈ7°¢Q´g>Éý¥Øþ^r‰E]Õj'V7âõ¾^¹ÕsòØ4°¿ÀÏÔÕiÔ¯ÃÇõ-©¡§<Ú­©Nê½›Ô$!¥b]ùïòxO@Ò¯DÌhñæýhÊ瘘x_£ü1]@*f—öå/ï—}–)fÐäLqK¼›a:h Mkd¹t­ Öĺ}%^IýØu[…œ¿Wêè$ÿèE:ì/ÉÑzŒM:R¶Ô%œì`M¾w¦Ã©k⟳ w:rRœ!ú¯³¯@yx²P5=I ɺfAnR. [¯‡£®¢¥VT×·Jš³Ì U¥®+F*¼g2|ËSÉ9àXm¦ë|-ñÉi/¤ÊÊ%sêÂhïEñÃ6—XáD†#DwÈ_±pÑ|6¦lÌTTJ­þ4æ!òR„«ÏWu¬cÇã9_Ÿ1—j| ©©^0¥Ë¸ÞˆŒ¸ù±¢¼Ãj‰àç[/ ëAEÉÏ QŒìk<Ï}°ìcT·[œT•–È%ÙغîoGí6¿ïd?hLo}A¬‘è@MFWñn(QÓCgpý˵=ñôœ[mé̪+õG7ÅÈSÆ#FÀ„Èßz ‘4u.“·oT§¥sú•ÖSÿGIn`‚AÒã>Q·›žH8Ý´ŠÜMéI&bùS’RâÂ&²‚dùnJI²HYN€Søb4eàZˆâkÃÒËqÚÛ¼Mùƒ¶‰P™ª3 pËP¡Î7sìæDgBßtC*8´€ ³8Äí„çUËŽ`4[ö ¨´—¬—e³4p¨_½-» ÿœµ$ôJ¶ ¬çNÚF1|²½H‹bÂ7ËÛ²:E dº¸›`þ—a`å»d,dzÖ ²¦Þ(™x«î ×ÙŸrtìdºË°á(Ì)áAð"䤻%÷ýWµX-nªÝ®~3…©3uȳ}’J¯V^÷å<$ÖÚïgfÙ½”)ÈDHÙñ‰ ìæ5åi&øVUt–ÒßîhSy°ŒÿœS²€XoãÅÅÈÕLTp_±Ìlv:×›¹Ds®ånÓ—Kqÿ]:ýh«e”­¤øLXÜBóâ;t#Ç-Þ$Bð8³8؈‘'´õ_@ñeKKè¡–¬‰|Õ-ëÇ~ L´³‡Ô×ÚyýìU­~b®ÏJi®ðJ,Ó÷ø—¥±í‹zícàz –Eï|Ö¹ìëu²>LHÉø#øÁ—/)ðÁ2óø‹<(ÛŒ U~ °øöó^ú¹Ã`h‹Pƒ›y»ýžŽ‚Ñ`è Š9@¥U>Í'³(ê„%¥>Âl£†Ô†Ùì‹ÝÜˤB ¿õJ|©6yýÙäj(€`ä/Û`¼·„ÿX!AÝ$mçò@ŽN_žç©yEÙY“mi,SEª«îsœ‹ë¨Sd´WÄ0Œú¢Ñ¯ðí³µ ŒOoßH°S¡×øœG:Š€¹kGZOø̨×jNÑ„“‚¬¡¼b” /+T#Øüg´8{D +·[$´Á_ke˜„'ò:<½Wd6ÊFV 5éβ3ÿÁü5¨ƒgÜHÖÍ($²'*’0K]Ô.þ:†°GKz +)Úž!¥uí—@^xÞ``X$à Ú%éõ3Q(–”UæÓaœFP£RåóL\0‹^g°~Nh†é þ½û-Ü =±ô—ƒ&¥ +Þt™ˆ@ó±^‚ÅEKWÞ…JX£4µ·FËšúùuŒx!žLé‘¿¼£^µd’4yù å_ç×7º­»ïã}ñ|yZðHƒã zr­R "ÜØ&¶vF=óAãeÃé_XÌ ÿ^Ú ®vÕÀ^Z»RÒm3™ªMˆÒ¬¹&Ú£ižÈ™E™–ânó 6¶6±ŽU2ÞþžáyI×UÕwÁÅAêÚ¹VM*ZŽ²BLev@Þh£¦÷µ$ì9G~”ûØà"ù³9 —•;äù`˜Ïœò'.]JL %PñÛ˜ —ûŒ6Âé Ž<¼”ammO–”ÈÐE,Jòî8Q44c:Û€áÎä?Û1Ý4©¨÷ŸžLmLÔõô¸%k—9#vmݱ$–?Ebs§h`‹A±`G%ü_p‹hbÉzÅr'™îe k”©ÌfH?Ö»ñr‚ÁïPj04wQ¸ËâIH„eœ¹¹ç&Õ/wXÇí8Æw!äÞ( +‘LÓÑÍœ°-Rïaž£¼¦0JŒdÒw»vy á>¼&^%§á÷è$6úUõΪ˜K ´Ù®–˜EŽ3o²W.JCA¢²liûËîÈN`‡wÏì\ œ‘+c€7Çôx(õáÔyWû¿èzZ{TTCUÕ§›vžïœjæM|„¯nB€Ã[ÛSXNÛ°¸iÊ›i2´;óñž +PžÛU¼ É>í¤6¬)À‡ƒ\·Ú ˆˆ’aÂYâÂr©&l÷­!^r%ˆš˜ ú3ÙÓ›_«ë…˜ô¤v2 )Ùžm@šsznî ]ΗvtdH´Ý¼¸ uÿƒpQ+Ù- eáë{J24ëúEµßÒ€7p>õMÜÀY*/W“*‡§å·¶™2t´‘&©CJì‘TÄŒ.nc–ÅãkPõúïh·n¯!zö€4 +Çùƒ×‘á±hÇmW}.8¢‡¥ØöÔ]!ëÙE~ù©p…Ž€­¦0ö;•oÐqúŸè)éFÄF"Ê@·½ÚªtïœÒ èj"4È6 zSåÛŒ}Ä0Ëâ+Ñù>ÂyW¢ÄqIÏàëaš„ḡ˜][cƆü‡8Ïy ‘ÙwA§Jû9D™ìµŽzz\ë¢P½aoµ8Î?3.EX`Sn©Y–+ì=#ì)C`CÅDam2EïMjbQ{ø[£0æZÙÙtÇ©|Æ4p­cÚüøôGn¯&Ý|‰³0µäQ·?_m%I9î˻ɖïºÇÒö¤#ô@&ÞÂ?p5mGò‘Q¹ÿ¥Ñ{Š]1½ø?ëð@ý¸áyÇA7fÁ_[ÚdñŽ,øhÚbø˜ƒÌh"²fÁíÈJ*ZvíåèIÂyKYuéhÎØ#ó?ÕnèWÑÝlTëg€¶jį\%À èý‹hš2[Ðÿ'XÍÐ̼e—ž+,í§îÆï +¹|òOP!ðRœŽRÚ+'Ž“‘ÐádÚÀUÒgý4#ù¾M0f-ȪFíìB0ªÊœ™eÚ)lJHÓú¦jFÓ²ÄïÅ…´cÊ% Ÿm¥˜uhD +“hÄWÉ^40¸g7Áº±ß²Ü½¨ÖY­ö3CHyïÓŠ}ýÁ“Z 'u7z94oH y-uÓÑ 6ÛéÆàôº5^ÅŽF§ÈRA×-<¨{.[Þ«$¾n|½¦œõPu`Ñ=Q@t,±ŸÛE*1=?¼W§NHÒøɘÃVÂ.ïI_ˆö”pŠç%¶Å¥_±¿m—_u$¬!ÎÌŠ‘u»øïÈÚ4Èsåíϳ¯£íëJK­uÏcØOøoï͵÷¸ˆ~\.MãbªÚ¸º&qò÷J}—u(±¹Pœ6BŽ'{óz z(-š¾ñc(PZ&ZO+šàØöó‘xSXƒ]]8/»+ÏX9׎½I¡¬Ê!\‡~Y´8­ÆR¢^yÔDûÆ<¨®g0ü®ñ,’üñ$ƒüW‰¡  ú†\ÝÍß÷t#]†žmñ~.þÈ^æÆq Q(7¤Ó”eþT4;Á•I>í¼æ[‘>šEùkU‘$£%—µòÌ—‘¶2ðWH/Ž Ó¢ +RÂ9‹Éfso0»xäõ_ô3œÜ¯¨ÄzM¾Ì +5H±ÊÎf’T'¹jÚ«†ä²%ÂmÜv[ÇÝ×Ê + çà¹*OC^z¿oe8°ì\q7t¼=qf0)à­-gJª&©m,ƒ€dWgËúˆ/ûbµE*´ySÃ]£Ío‹PÞyÕÏÛ|¶(âœ;§tÓ_4dˆ‰/ Õ;G¸a;ÍoØêsºËúÈVSÔÚÉ’J2D#É&8Ù>,¹(’q÷ÞÿÆ|\óÛÔÛY—Ù5j@†µÒ£JN.¸JÀÿÏÚVåDN6±½ø­8Ö‰uö‹–Ƭ}ømú‹èViHómó4¼?|z +{r†SÓ3É6|”4ãQ}x+}Ì6n]yÈx9àø §>Ž~Ô0¶ÖPÿn`õkI1­ð¹Ç–Ô|´L›„—×®þƒßAíîYó=$È“Ü|—'iØV©—D"¯y£*îçøNÞ_ÛSô LøÑà8ܺ¦¶v!¾™—›ÈЈh,禺ùª dù–†­4¸Ld—×]½š]†‡!ë’ìsÖ-û'-lŸPHà­Z¡èÞ䙫¢øØ‘åë‹£¿úTÚ¿;ä9ü4*öÚ˜ý—z*mÍ4.Ìf拘>4NʽùS‡×¢À÷IåÉõ×µ šäA×32ͯìNWüüyN³g0zµu ·qº3ÈYLãÐèÄÈAãü¢0`+F ñ43ÍÔÐ_pY¾iŒMàÐ)z´<< dÍm¥b›¸WôG]ÃgØ1AqF°ÁÇÜøwäEúPÂÌZC>ªhG˜âí×nù¼Ì—‹dsò0l¦¹*Sƒ^/ld¬–Dê1 +’BfÎ&HãÜ(ÓdµÃê™3ìWå_Á¬SO´“,dØDXø±J>™íq·Ö|È9éûGG×á^ÿ`î&Yý9ÍücOeCMSJ3¥ÅcúänÜŠ}O{b¿u8iLõ½B~æ Î0°Pò‰`÷¸¸.ãÅâ1 6·hd˜:{ÆýÞ‹öL—ivõÆÌU ¿<€æ›è²¬1rzÖQf^å?“PÔräÏ¢é\×*ëþÒA›}ÄÂ÷ùýP!N™Pì?|hK +‚r§i žýHìö¦3Qˆõsù{„·# xéÁÇh ð8ϬF^?ZÊ3âÎ…?‘A^¨@rùäJ°—•£>øàìzš{|¾ ü.ÍÑÃÖáð˜b0óÑn’nÏýCýi]R‰%°°1ÁJ¶Où–ÿa(ÜxÛÖí<›€ä›6³Ä.žæ:pƉ,eh{¸;¨ç‘gr jÙr{tqìÕã,ÀO§kW‘]À‚|8sDç,²73%fs’ï-›zµ† Zð.ô5¢êè,ò›ŽsoOñ™+²9Æ'½œêÒ ‚¹g[p«fäù2³¬’ßsòôRÂüiQÖêþß»páµhFeÜ +£bzð_¯XfCÐÎ¥OâÐ|ßÉÞò춅R,ombÕ–wª`cÐôHzJ~,™"†Lè“´¨ŸÃ+«# ¼9aîKIé5+(ç (¨7ÿÏ âöIÀ»¬á‘E?ôm ¼;Ûãe„nÒ¨šË]–sÅ +¨+ÀýÃ9úøËaÝ^ õñ‹Ÿ—ž4BL³dæÙ®r ®ÿá¨bÀ¦ŽÚ»Ää2x´¤ÉŒÙuö,1ƒk>ø‘-@ñÒìÓÿ–~³o3.=|˜×´¥{74Ås+”ž9Æ·ÄVç.jÞÉIæDgÚ}*ëú2î± 9íy5œ» ü—‚²‹t³VÎ+9`^Æe‰q6ír¥$©_ÏhJDx<Ê‹Ô9$Ñ hR~`î,ë»<Ô^t”hå§>ÿ6\ïR0¥+¤ýS@]u-a0)×~ò§¢÷–DéUf Ê£òÊ^Xí‚/$ç9pÉ%bó®™ûûrp­Õˆ1‹D¢ÌM¥Êlúª?pü»§ð´gIZ/YŸŒM¥ Uî›Ò€ðži:;j7bŠÇQËúœåþQµ¼Ìøm×;+Í’þQ$m ±“fs;q‡…=Òg¡l9OŒÎ $÷!>: önF[×ÁÝ÷bô†3FMB{…)þih³xÝa@ýca…áÅŒJØü_Ú]Ívè%ò›Ø-ãi ÉêŽÊ7Êå”L¼tþhRe#:ð-CžÜÉæi˜“ÇQçN;¦ •`]¥\¹íNà`£HY} »P!Á^Yca4nƒ9‡„_Ùª¸þ@<”UÂIG¹x„ ÑW¤—’âßö>^ÄÙC^)|±ïµà"ë0ý•Âm5±W%ŸÇæµ0”ôë~P½!—ŸBŒ©–´8ØŽºüÑÂÝRHy§o¹lQ_Ý;Ôš›Ë›m[퉗W¾~t„*a¹߆Ì<¡C;o‹¿O4Špà>ì΃–vu͈!’AÀÚgå¾Àž¼:JÛ÷ô/ó]{Óì!µ/ªMjDg!o,w ýNƒ ñê£_ìëèx¸Z: Å蓮à<¡§ÁIªfÎæ«1ãóvªM<ºÁKÆÕÞÉ!Ó+¼ °—½w8N!Z0ïÍ¢âK(fÀËè£údlÁÔQb§¶¡¤BY˜Rù5"!!žìxsÞHð_•ªK¾Îªÿ3ùK®¤¹ ZD”>K•Y&vÚv/Óöœù,³ÿî½Ì:3<ý1õ‰?YßzA,{k$üdQ½¯ ¸Šþ;Ã…Ó ”YºÍzJP®í($:f…b•`bNOU~”"ܸkL_ˆ¡Lªü÷ý¿¿b`žNžÔ +¶/mc†o'ˆ`ãøšI‡Í±0'§ ¸Ä-Ù½"¡IKRí;qvEœ0I&íq*šQÎWD<ÌÒŽa¼¼Ò'Å7¬x窑f®lx·i[HSH€wƒ©x·]-¦ÌØ;{ÕPxÏúû©+mî/± ;Gh/³%óíÏÄ(ÓÕmæqί”Z»‹ìš›"< +£"àð1”•ïZkU8ÏvÅ8ÕÕ~”TµW ««,ÐúôÞ÷y1¢ô¯×¹¢ï¦3õv}égà9T§ Wà’z—ã±O×-×VeR^ÂÛþÛ³;|з¾^§AHÕWCl?7€ÈÚçJqZAüõ žEÓEíÞH6‰HîšdÓRRµrÀ××grG (ak~v ½ Å*‚Ø:¦‚ñ‰",£ ‰àºHT±¬òÎYÚìê2?œÌ4VDü¦°Su•…£ÁáYÕÌ@é¶2©Aî +úPÏóâeu£·™ØPÞ8MÏ„­X0°ï¬fëOéܬ @?/Bº»Æã ×íSü݉6ÊŸAëÙU êHø¿vºT[:­ºø•‘E.³1 +ÇÕøkÿ@uùhR—mqstÆ+*ï;aSˆ\&äâ³\X„6¸%ζ1Á åéëÅ)Þ*¥óôÒ5*i‰øäÑH²õTò+•îÑ;´Ïø¯|¸ïÀŒM Mé–R²›ÚÖÅãbj1Ðû24iX5Ã>ߣu„ÊHX4~ü(#vIõ¢—uÒhùI“½Í·Y´NÂôWàŸ%ûhäÙ‚ êÃ3î!Ya)„ñ‹Ü~‰ò#œ×´CúÉ\²ì!Ó«h‘h«Néà”ß6ÁÉxÇÇoíqv·,?}d°c\@Llî¢_ºåµf›]›V+Õÿ¯ãÁÆS¥]on´ë¡¥oŽ%\´i’àp±Ûèrè /qcãlr¬xÝV΂9¿1˜)0»ª‰p}äÇ)×tî]·ÿYˆP”Zq–“ïá¢ßØžìS y +¥Óª1 Ó3¿)pÏ 8ÃÛ‡¾9ËkÚpmUÂlŸ‹OþÍÔCà˜^ 5úŠTÂwleQâád8±8s¼Ú²Ù"…iWn¶Z3³®'ÝÀ_µ~0z{UVÀì…^D™·=Ð*o•jšåÆKg}å3—ñŸK×]JQß4êŸ^^øÇ·Ñ;÷^€!-³Ã©hü£…ÁØU>)Ÿž-ÄìVðŠº;i*Gu•¯Â1£A —Å£JÊ;³µçÔIcÛÎzq|Û¾¿4ñªÛØþØB=U!áfí¤ûuxÔà#|¶øúBêUå½…m´ÎŸ„Ò{ E#s©ÌŒÆ&zl‹[%:“ à¨aT ÓÖŶ‹}ÍÀHw›.$5&‘Š5CsÅø œÕ¸®Äxm%‘n  Ó5ÿ=q„ðVS[0ÚYý™Sšàîiù…„ã×ßUØxü’°ÙO8gè'? +üÉ,©³KÇ ýÝ ê_»IÚ”ñthõyp íÄN} \fæ2ZœU½ËO ;åhßËÔ ‘î=ÀQLº7@‹5B†‰¯ÿæÀQÍÍøÝékó7Û£¯‡Ôá÷«M²!ï©0”¿|‹§fÔ… ‡>ün+ýÎu$»þY-|_ÂxVR ¡œ«Ø9Caˆ˜K˜.„ë8ÉUÅ݃ÕIÀ‹PvátÛ‹:s—€¹lRE«~ƒsMºÑš±A­°´²¨:W›`ï=µ†ñçcf’•b÷-ó|~>äWÔ®lÃ^É0M›tàE^ Âí„Ó":GltB3e•ýçñÙËÓ±ï£õº§Ã°?¢­ Ǫ,`MØ~-±VáÅ•V¥ +˜žÙ7¡g4›™qÜîo„z˜^¤DR¦*iò@o x}RWQq Bòlg¿hø(G¡çš¾(}j¢8‘®•k¿O#…²I5@“Ü’{Œö³qÍÍÇB¢ +ªL¦Ü,Ý*2’5*ùv' Qª{Új@Švs'wä¦Â™óâ)/wèÓõ£Atúæ›Ñ…Z-º|ò8ðàóá¬pzB @¬ñ¯]yÒh Ò'®°â]&^ø[lGø²›¥fl6œ=àÓRß™ü²£Y™/Sy÷–™,wÄd‹tÒ¼ûpÒˈdNgs±s…v|Sc¨—âYÝ%ÑÞÁ¹'œ+C#C /b£èdž£äƒPH*ÞVEŒdmÃ!<ígÃW˜q„gSlA~çìÞ=–Ž^n€¼3a_ÝB$¸¤¦òÐcy˜h¾Üîkõ2ÿɤÆ"éœZ;k;‹ á™4ç´vŽB)É™=ù='œÀŽbMvä—õȦ‹› +> Û—­b©ïÐÙL†Õõ¥Ù6€÷‡^ÌÅÙr ÛvÄÞ5Ô(%q\’ŒL}üçµiƒXÆO¢Óy¥Åï/ì-|­rÁ_¿áuÿvŠü?®—wñ[5ö°@µÜJm•,”|“¿£¤œ×fHðËgá·ëý°/‰´)!,XÌ&èШbùxt?æ~n<Øžã`#©œnökß a>i½{´‰7W÷r„,Žqà)t +E:_óî ü@qCa$EGÅìñ‚N¼vg±ÃFœ^6gM»Í˜"‘BD£þáŒk^æ €mÚá:‚{ÿ£Å×!–‰ÈOBVð¹á]g9Z W;˜‚.lÐS|fú¨….VÀ&òÏ v䉗Â]߆4s×·iSÊkRò?td¾PÎ,˜uˆ-&ZÕä<ô@ õ·RÐ’aÙ\_Q’H‘ëÄZ á6 ,½.e۽ȼ’§Ã¿áÌW +·Ì‘–PÉuñïMTü“CqæÄ~€=…‘[X.†£”ðoÿ÷-siÂË碥¡âß“s½<-v«íÔñ‘x®/là`D¶ã¯"õr408‡ñ¤ëžÁz: +ÒÐ ï/Îïúíç>“¶qL³C±c¡¸3àx?‘rÅÅ)×l¼O +Óë†ë(†Hò…}Tnð"µ°°9ä¾—]¬ìØïÄM=-Eÿƒ•÷^º{©s­·ìsÅ9 ¾£ã€øu«ÚQqTêmG‹9àh9Å¡cº®ÍîdtÙë0+€aáäæýÿ‚Û`wÖÖÉ“ ¢%NnŽ’%`BãèÍ” úéG–—ä®Oiù4¦IÀ`|ÝáTéÞÜ9ÙöªÂ-íht6 ÞqŒuÿÜ’ü v¾Me¢I¼r”äñÐ?òËn ¾¥!¿´¥6èþ6cžÓë êÐAÞdU…v¾~A«•?Ãr +ÄóQ+â¥âÕÆ12á°Õj݇(ÍaaîmNh¸+ÿ¯¹Ý‘ËiU…4ÌAž`ãæp% òú£ysT*ö/ÃÐÒPÂJ+ÅÂã®Û~Óú…UŽä}ÿ¤vŠš#:±„@5íWI~3•ð#††¾ÙuÏz¾’àÅ€8ª{ ßhïLUžÙõ¦æx}T  Ç}F‘¤u·³“c¶×ˇ 2ÄÈã‚{Và¹Æø» cSÀ„“¬$ô¼ƒyʇÈõ»ÕÏU¦Ç¿¼z ä ‡v`4G¼Šl¶:ó85[DT[MŸò4@>…,Ä5„ÛŽã‹<'2)231'i ©„¬×!ÿú$ :©  ÑbÓ2êd!Äôéü°8è¸ü¦"(Þ•ÌÍÊø²¤;¥•½q6(o½ÎˆÃ¼–N&‹Æë¡Ógîœû'wxò ÂðÚ6?sü Ê¾éeYšûÕ,ž^È_YŒëûÄêºÝT(ó*n|!~‹¥—²% ‹ªípÃ^Éÿ¨”q›n"Œ>ÉHyþú3Ê‹iA˜Ž¯Œ¦BǦ“&†ë~w»TôGrÞY?*ðcT,ôŒ ’T‰ßADÎÚɹ¤è8$ƒ‘ˆÐuZâ„Ü‹×%rêÊyß/›ÖÅ8ÆM…_+‹6XºUç9Íãåµú~s‹óéR+ô¯R«lyž9ÈÏEÚ(¥˜Þ”°ô]Äýú"µ: +U{‹„øík +ÚÃu¸74a0§ —ÌFí`¤TÊ•ŽàeXJ;¯øgË)ˆŸ`ºD«aÞ¨Yñ,Ðò—ïÞ²D¬ÈU7QAY¿"w™lgM›"¨”Ò¥R¯…Vô‡¶5Y³ïó(öuΤ4õx Yå@”"tÖ….$aì8ßXÖ>û:R¦àŠi‰P—taw¡ògb%¢)C.ZD·y §M¿¿ôFªC”RO“ôb­]ÄG" +yªL'^ÚÃænÕÌé¤zI<ÀÜi"¶9ëÉŽÝÉE.725zoõøsi˜×¯žƒ@&…ÎåØ}KÉʃEHy¡jÙrC¿±5¯ä*Œ/Ân|/6Uyvö§"½z‡ˆ{æµÇ€¦.WŒ.n®FŒÅ<ÓHˆ¤T*¼ÿYF¤uÎ1Ö18À2ˆí^þjРV˜¥\èbQj»§87Àó`]{_»ˆþïbÏ€ðu™àâˆ14¶Ù¤6†Kçg't?Jôc +ÞAPzëüÜKß †k­lÈTáQ”çV¹m,Ÿ˜aTçgôÝs«Ù}1ÀÅa›\¬kŸp›êZŸâ©KpÀ¶àÛö?„›²SëhðnCQ>ÝoløÙ4ööüÞ_  +¯p:_N÷/ 1>~·E +¢¼Æ8dcýCµ˽/X]æ®dÈÀ¥ŠÂcwéïÒG› NЙœ8z1v¢ÜÁBÈ;t'_™|N8¾§_%Ï5”™9¿ÕÛCœ$ò^]Sïçž‚m€„•¶’u‡5NRè"`–9­ÚÙÄfýÕäj;ÏÎë£6´âbÝ=]g¶€ðN Š!·ýŠ¿-AÔkêŸV—ã.ÉpÀó•´ì„|È"Y¥öím‹1ÆH¼Ï?ˆÑœ$ÎÿÔÚâTccÀ2âtµ8q#ôl,³åO…ÑMëgQŠW…xŒès;`™~ ZT„ƒƒµ` ÷[_þ'‹fפÐuµ·ð-{¡ëÚ©ê2êYSYª*9üšrÃdÐüDÑ™¼]õ¥Jç‘¢":£úòÃnÓ/)5·(¿ªÕߊ7œ"1rý†òn×~í1@],Z–O þc#Ý>¤¥îj[k –û¾¶”èù–r쀊 ©®–¦Œ – Íç1¤Ÿß_ŠïÙk%>€EwÛï|Ì#xwGÒVPâi9Êÿ“í§5JŸ¶˜Ö)Ïî­Ô°HË¥“¦ÒiŽícõ(ÙάOm„G½«•s¯ji2o‚¡ÒŒqµûƽ`ÕÐX³6Ûé¿3«þKbüµ¯4ÙLGøýr2 +,û²µÆØqÖc‡¹+uÖÞj°Š=þ˜•ëG0‹ôÍΘ• $9A®é¹]—o@íÃâúø1vuCPz6 ˆœui[s³Ù^ÝÏéˆb –ÛÕQq[äcfдÀ{A»†Ó<Ömœ`²GQ,¡½®Dv &Ñá¯Üªˆ.öÛÌß\ŒœQUʼn…±åXï{á5@[3]ü0•Û;/Û’Ÿ†Ø€“Þõþñ+í·3Mæ:vè‡ù +±Rö´s"#UÀˆÛ¬2ù`]vÇâïÒ8ñðn‘G.1h^r–²ÛÑÀâ<`‹ú‡_c,œ)CÁƺþYñ±þDtþ›4ñø1vuCPz6 ã¯šã«w§_JÁôÍÐmW¨±|ð`Š çwiÂ'ˆ3ì“e„Æ+Äé'ä&J¯|@áýù0âéÜwTº,ß…ž–{;†}ap=^= ºÀÒ¥àž/J¿;ßÛ+Ðþb±©‹Zø8$µ®Cø{ô ê>K‚Ôg-D“qôá«ae6X;Å© ÎyW-Žjžiþ~y[±ÓÒs?wµÒe»éFAÂ{‡›‰çn +§ÛUÃsc~ œ5ƒ$É R/n&²c× " çˆÞ¥IÞj™;Ø\N£ç+Fç©À‘9™*´tÏ72¸í©Ã1gäÝ;5¿™‰7Gí• IAAÓ#Ip¹ØÚ¡Ÿmµ*#ÁU©ˆûÁˆÅ çT’À9¦çÈU4sx‰5Ps2ÝNRÉnp@ÅÜ7!M´½î&Ëñââçö k}ž†ÇVB¶>\K”ÜÎÏ’ *Ô+;?yŸX¤È]¶G»¤­“"—ù9V_8§þ[\£Äy㕈VW­8I¡4ð5ý*&:h*ϺÛÄÏ>d¡dÅï{_¨Å±Éžu¸:ø‘²Û‹uéBGpé犗PyA—˜ÔÊRÞ±Œ äIJMOµh2à!4+÷iC~²fêºÃ“2ÃuÍ€M¾« ›Z)G^mŒyæÖa›å +¹ñ¬Ýihó˜DìPUZ]è4S‚ &“¶¦~ +êóÝИXzÈУú¯U/"O Å{–~™ˆ„\aªh¯t£Ý[  +×ê{´Õ˜'y×9{VníÚ“ÔãþXëƒQ·ñ[Kú95º¥K°ÿÑÓ"èÀ ³æB¦F(Å\Ó¤¹ª$ >Äõ—šìÊ! ë«A2ðØ`¡Î½îøqaÞI§$ +pögÊ^x4`pbŒD€ùúKP&ü·ÄŠš¯<š)³œÖwŒá°´±âîuvÝPà‚èKê“þø„Z;@,)ÓsÏ^3‰ˆë’¥4\Öá kaü¿Q衶L@¾úÕÇ,]¤ÒÄóж­.ñbmYÝèîfü~eøÛÚX¶ÙRGwùñezäÊóX®«ßrg§$­b´ÐÄc´B!¾Ú Ê“L]ûw´¦¡ø¥m‘±Ù'"²e胬EÁÎÅávó1;cóçÖ)†räf1ÿc‘k­=ÁRS‡˜ ÛP£Ѩœ=­&š‹^n.ÆzV, X ZDq°ƒùÛÒ3×ÛÜ ÛŒFOZy„£ëPL÷5øèÁnoƒÎe· ¿±T«ŠÔ©@{»>zhêÇzî–˜åå Þæî ©„Hô—®@ ‰™ðŠurÉ |Ø<±úÛÕb cb¡>;/Ø-g€BGБ ø4òøCë¼ÀE¾Ÿ!ÔX×÷5ö¥À¸n;œŸ¢_SÇ΋Ñ4’Žˆî Êpô›‰BÍ3û›ÕUöùù´yÿ{ôì%Ææv$Já Ñ6v Ÿ®Ì?¶+ˉ«sˆy2Ãx'ôLU^‰ÿÝmýßåÞW…ÁnÛ±=*Çj)G–í4jk?Ô4ýá2›7¤îú¸ZHŸ²S«Tö'ÔQ@Ç·/´CÄ{3ó9€Ä99hc’Ó±º€>5ðzU8Æk{,ñXʲíª% Wȉë´~–0…ìÚÝ\¿tú£Óu…0«»\*P½Ê'h—!5¾(ÝðçîÊ£évÝ¡9ç«ù#Ç,Û#4®ÉQ“Jù*YOŸëëªtÕ%ݦmµ[ÅýCE H›H ˜h±}72qŸPУú÷éMûü´=©XQ@f0;º XW!ÈažÝ(„(ÜÌRRß)ʽ¡‰¹ªVF?¾´o Ž_þìÌÈ«1®·¬ ųv‘ÙWøzÑ­å><èÎzÙ<€˜%¼ñØÇ6ë«ýRfï1E'¨'ÐŒ˜wIï߸Օа¤Ó+{¾(ë-ôÆLMòÆp;Ø4oÅššëv³Æ»í ô” È`÷ÃDÊ × " Ì…r°pE0ªïR+F”TaÚÁ¡µíJ5YM9¬*z}Û¦Æ(ïuç¤âT‰oZô/¯ ¥ìaƒbˆ!]Œ‹Ý†lúãf9º!ug¾ÙôTÿY¸Qþ:Ü*0Ck1„ˆNdfûÃòLZ»2b Ly: »QĦ„)¦V1bE}úEöQiŸ/!™F€Òካ¦[ƒÖ¤öÊÞ4”#¤ÓØ4#ëY>f8rè –ÓâeŽ0båï[š£Ä½D/W¿°ô†ŽÉÓsµ¸Ç/ŠN) +Ѳê§ìHâ{Ë, ó©õ©`h™×=Þ2•¼;4- 7TQæS¬v –÷1‡Œ % ^=E ΆÅd1“0Ÿd‰>Åå†v˜ Ïû3r­ÍekB­¢2½«”Ë…·8³ÇŠ‰)Ž±mÀŽ4"QnQ¸q$=4Š Wjõ©§®ËŒM¶yxyîçoÁþûæü÷é¥%Ð/N0g+â‚Ý-)&_+ƒ9S>ý•uâÿW±-´±m5¥O&šã9bƒ(0è‡ ¿«;ïôIÓ`!ˆPËÏ'r÷€0oÖ™,ÿBœÝ¡6½÷Χ®Þá@ï Ùöè'ýù çs¡G¤­ , ŽxŸC‡ÝiÏMÛzP„£|<öºí½Ã}È*¿¾DæÔY`…ŒF¥°a§ÿž•ÄÍÅ•t³o{A CÈd>¥`-Œ¬“•Ÿ=¶žx,q ÚxÜsú_=k°Ðà\Ô߬x`MÉ¡G€W|^Ø A+ÿ‚Ê‚Ä~I áàŠªÊCn¶ O5Û…Õr°F¤þ©=íá ðþß+ðÄ×¼:›•‚ì•\Åz“wÐ÷V/y‘÷þµB€mú¹ù0KFÉÐL44®¶¬+öï=Ê° .ýPˆK‹âÜ|ù…%ŒT‰£{Ýš·'äC +#aÖÏ ´\€¦ ðïÆwñ¾fËLØhø‹ómšíB¤/ ‹iCè´/ì­²Hˉ´ Ób‰áõf¤Í-î|Ž¹ö.Š.³ög€Æ FP·Õ™ÐO8h•cqÕ‡æ€cØjg<¼žÖ0¨_'ˆ>,Þä“ЫýPUñb  Ë;)Ó!œ¸ª?nAá‰Âžp3$“zèªNœÌ“°ææèê=¯re“xé]Ưç-ãH»˜’ÛLá¿‹NÖ@©ÏžÐžJ:ÖY¯6jŽ+¸'…Ť“6Ï룔½©0o“¾Béw[rt4ÔVVÆq`Ó!„Q@­“Å@·ë”I;Â\'¾ÅóºEŸ›Wë¹7š´*ó&óLŽ¶éaâ21¹nM}>wãÀ‹â ]Ö$¸MxvàšXç^:Ô éq ‡¸x9Ú3§N8Äq ‚†ïí:“¢ó’h‹µrRÞ÷äæÅPGk£þµínæCO¹ï-lÅ.Ƥƒ•n*0ĵe -…îÁ‰Ÿ\Ý’’kÁB÷±¡œD‡´A”¯—ƒ^‚^DZoÈ'§\)8Ç R\nÝŠ1ûqI¬é/X ¾ªÞM€%º{RŒˆ¶Õû8­bg2«ÌäiqgŽ£I*‹Pe5Wc¸c±úVm8·¢Ûñ­ˆQݼƒ(¹²ã°ªkºÒ]!sìÏ­ Ë9T¶ J +“ð' +##È¢Au¿ë Ã?”u@„b_0ÊJ)ìª1'©|õ™\_ +¯~­?ÕåÛ½ó¢—gc;ø–þÄ:DWWy +ÿZÿbK—Aó§,‡/ñ)iS¸’ÎqYdëëû÷»@´½ä¾fòUÔ_°&Õ»Ä{éÌŸëŸXÀ/^ÏÑl@*Uáo1¯(Ëb¨‚T·¸}‘’7¤ +Ì“¿Y+Ù"9ázLâý¬ŸE ÿ +xL3À¡ßö^/½oÍ”ÄÄIØ —qgO’i7ë„5fÖçÝ +ñåÑô¿__¶àqñc‰ê¼Ò +øU2'uöï] Ë5% 5_¸§[-ÜBj==ßIå”ö/@î„`{!Þó<¶Q˜hvÏÿ{›ûऊ¦X=Azä˜]£â•vžh3ÀsBz±*·öŽ+hœbÊÂ~I«ÈT¯´{eÃG^‚‡àQÈ%sieƒ<—ÅH¤ÚJ\Û— +&åYMŠfJ½^_ýØÔ²äl±JF½Cܦ¹4ÀÀË5š/†CÀ`)ÇÛ<.îzSÞíãH‚ƒ„Œa.£TmQêûÍêí\‹õ¥?‡eˆ‚Â35Vq¬©qTo:õÕ#ÖË‹Òå.ÍáÈj2 V\|¡âÇÚ¦Mz™F¼<ËÔÜ™íLÄŸÏzÌë8% §ûfâ Ü|ն߅¦ùeZ +jø§}$~XŒãÑ +e²$ Å’a~„Kx1Cš†JƒñP¹ÌÌwüè×gbùþ6Øb.'(|âœj̇ºÄ02)ZÚ´9X:~.*%®¹bâÞ󓋤£lÆ”#2àUlHäÊo-‹wŠ¢!ÇÂÆå½ï¨)¸/òomè«$ÃÖ¬ð¬‡ý]½õoÚC[DµµÀøFU“ÞB¬Ê¥C”¹TƒÕj˜”&À¬mŸ2"õQlÐ~Šb!u•-ÛaÀ-¥ÌS4„·Q´Hè(³òõ·€8N‡šJ °F<úËnqæIѬS@¯¬v«¹õ‹Íì¦iC—°ÿ¿&ç/œQ#}ßQq¼rÒ©'•ú”ûÏÉ£ ´—)Ý6³N§B˜Lî{Gþ…®Œ·ð—a‘Æ¡yÇ“ËXT¬çVQïþòïŠ&’̨G5–Vfª¶~fúù‹ÂÉÖ»,¬¢V—Ü7C» &í ¿:•èÔ?=îCâ#½?!­uBfnLÑ›íšc´ÌÞ“Mê÷Awyt‹e¬×‰ +šð RamBV œ¦ÉÂþ_u„ªsù¶kI•G’AÑ ©¨Ô‡RZ“²pÝÒœ¸ŸHÊ7”þ¦ù’¶Ðcî)N¦Pn¬Pä—Ôš.Äypöœ<Ù8q‹$Û{dùáÛÖÂhHȈÛHžT”¢r¢gÞªëTgÙ¾6ܬWÁêdµ˜ÖÀÍçv± 쟶½í+:œ]¼Æ‰JL'ˆ¶be®)ÕþÊ8”å+ÓiÈ•GÂûë¢~eÛîy‹†AªLj½ŸÚ/ùc£Bæ•Tr¯ñw)ûl̃’ÛßÐpM xø9¡(@Û9NŒR·Õ%ñÏjžÅXT‰´ÆËRœÆÉ­ž…letåv^ð@ ¼t9̉“cÈ—ûU+T JÄ9Æ3× +kú_,ì·Ó™rìÏ Ò6o3ˆog[ìže—„y +ØG‚¼aJ ´PùógÊŒì2Àñg[”B9|vwI èr£ç˜wˆBç,™• Ùî~w¨´àµ,½ 0])úB#-%ÎŒõ•¯ÞŠÒ8ylªºzs.ÞÜ=–ç?²ôŠƒŠàÑ۫ШáÇ“í)È!·K`{¿zõQd4'÷žJ]T0­#v)Ür+•ßy—Õl +£Raù˜•ä‘T㑇(%= ü5É"Ǽ}cG­yëWÑo|Ø ðVˆÅ¼=Î(3CZ–°rL +ì7ÿ`I7ñíÞÚ0[²'`h°6UÇ«Ì”cg+ïSQ zpÊ›ÎkìO©ÚËâ)­Ýa–gŠ´“DSÔ3¾ƒÿKxvUJã!0uô#”šÉ›Ìª ^EâÆD>ì=¼Ê^¼˜üÉ`MಭMcø$:ß ÆiC69Ș¶+ï˜Öq&$¹×™.9ÐnÙ8æàmÐi«.I³œuV©§O¹Í@½“•q—:÷R)×BvC‚¥Gƒqž · :¯œ´>“Ç ÎO/%RI’­ðJ…~¡h— _{®–ñ˜!6Ò½í&±?å…Ø‹œý€¾ÃÄuº—m2~¢ÉE49ʧpt¥7œ´‰!²*õéoª”ü᣼^éX¢€‰Þ[x©Úy÷š)+a5 ¾hL뵞}±Æ5z_ñIwîï|Têöý±DMÍw V;;êÞ&)R¶Õ’`ÙùÅäÐÀ ?¬2âf°)z’Ìs0ò¶8Kѵ)`Å®Jù–Í‚øê‘ל/z%ãÒ…Iï +¯ÏŸ%«tNçkbüÌù¢ÜžÀD­k*?}·â*Ý1Ú)í>¶\†UFûà©­ö¯6VëžíxÖËϼeì2Ö@\bÅ»6ú0ú +Ç㊣© ¦æ6‚DÎN:… Õ×yÛ„«-,É®~·é€>fPã â¼}Ö¡#æ@æÇÉPõ±ïÁÿÑ›ià]q(^ˆÇ€i. ŸøiQ¡42k2–(~¾BÉÔ]‡Ù“ +€s-ã—7Gª›]œòNu1æH •øz`Uù¿ŒÜcªz0O‘¹‘žeŽ>5ϭͬøZ£,/©›¦¤ÚÂq4,)iǦZ T=˜/·«cîžkÈœ7‚¯˜úäóÛ"Bz Äâ£û¾nkˆs¼DŽyÃŽNÎœºô“¾ƒÎ¿ÕìÝ9¶Øzø}+#УžRžo¤‡y™yÉÊzŽ}'Ò°o^ún{j*›¯ðsƒ·>^o²¿Ia³\Á¤ÌèrF\˜Àçïuf#*nQž]­uí½¾ÃfÇ×ÄsêCîÒoÒQH.;æ˜_ö+Æ®Ïê8ž4±:ðNï@¾FLV©¾{õÜ$³Wûá„Œbÿ •ÕÌY|IþQi€c¤m+¸ÏÏš`RîÒÄSŽÉJªLBóÏá&kß«x‡Ixö—dg«2-P+£Åwå2Óˆ†C!ô}GP¥P°›9õ_v½ÃS† ¾­» ¨‰†Øü ~kVJè¬Æ8»ùe¾ùgÌ6G·¾Ðl(ë6õˆµÄ®]Íy¦ŠäŠ68\Õ9°h%QÑ×ɳ]¡™AD?8Fö¤éWœ¸³ËG¤2`Ê(ñº2¨ÆB]«w#„4!ÀRJ¡T-{#Ól×®óÆ]Z´#´.ƒJÊ!º’µÌ~;d½²<‡÷/ذл¸JÚå<‚ÃXcÿ7/àÑÁC? ÜS°Ä/_º­¾ËØ»Z°Í‘·@ξ{⴮˞]W,R½<¢R´-ű†@ë!íÊ Ü¥xûc§hµ²[ççžj4ÚÇ}{´Á‹–Ò®ãú™#YåÛ®lÍÏ>ç*€ÂØ4º ³ágm«Þĺp}¢6ÃÄéùqj»,q¥zl{6nðãÖš!ýhœãÑ7Õ´n'ªÞb±rk…/Úš›ÐûºoD“ ÅW]¡Žz’U/Šç‹;œ— =çu¹ôëø@Ý¡÷ . å”j„Ùt6 õ-^¸É#ér>ñ쓼†ò}ÄÒl‰nÈ‹7jÀt ÿ®LÛ§.[xºC£úOF¨‹›&O˹¨ Cÿû¥)¡4ö*1˜%Ç”š |ÿ<%\h½¸Ð¬}uœçM²Ú®‘S©ïNH’œÜ¦…–\õøÞŽu&û_Œy5Òr‡È¥‡FÝOHéS‰óѲ³H¥k*Zál ðU[@³³w£âøw‡)Dêü3JÀ$Á¾ ÈèᥳãÌîÓ€Õ '®–uºá¦§ò" „IbƒíQ/(°ÌŠ4òšà-)Ô¢8\˜æ]P}ËÛüÝm£ÌÞ‹ü¾+³uÆ/Z:Ú6¥¾ /7*ˆÈC%&Èý¿Â¨Íc_0Uû3Z¡1„%ÔL|) &ÛR%ŠDg®gú*7#,§ô={Ó°‹;“ªôE9ªîÌo5P|ݵé-’¸zrÌœ¢ÆÄTÓ豬ÌÊ_¸ Q‡H‰w{d(ÝlÊ(µP×H‹)ní\Pòýt%\{*wÛM†õ@vNœQîøü9e;*àQqî&¢‚BP-¨WëÙqƒ†iÙìø°rËÐ¥¾b<ÂkHbë"ëY®öUíOR½TA°O‘~À#…ÙK÷„ö„Ý‘i'Gq”:rèºäOx+z´9âG¢v_ùîD¯fƒNæá"±YúrG¯AæåöB)H ùÖ¸¾fô-Q"4×'_tšÆ:“­åéÅã,±ë¡ªN¨@óž ûßØÄ`x ü­ ü2`oú{ò?Û›øühÕþ,k&ub·wóá£xv£Ÿ$XeHõúꯥt ÐÌ(¥zì9Àz÷€ÉÕ=Éqä·—9òû™Zž^ïiWº7Ú*Zã´fí¥{X<ñ©÷¡žÁ1Ž|¶;Ì:·°«{+p^…vjaU ¸´u*ß­Û$ .ý×7v ضLh݄Ȧ­¶§-ºªÎX|n»†F4*êÉKÏÉÔwv8GÚ»J@a)+€¤QÕ°í)$,„+r½Š’’ø7iø¶‚dˆÛ´É_VÇèÄ[¹µ¹kÓœC+ز>ö‰ƒ Çà ++$¦G† u§ÎzlX3j"†2ÃKâLF‹ ;¯¡~Ghìm0£Ÿh†‰Îø C(¸!Ìr_ƒ]2µ`¼Ôºá¿ÏÉÌd_$Íq͵]ëõy¦²¥ y ˜8V–“xAàÖ̾Ð8§c\ÏçÚ„Ý© ¿:0ùyãP`¡ÂJµËfVÛêtÀNÊ7¸É@D&Æ öp±APÇõ–ÿ®›ЖQ£WÝÇruŸ{‘_t•m|›3ßÅ’!ì|¡y•-Тþ¡ +Ö]þ˜YQ0G ¨iÆDMÆtn¾Ùþ7àF©Ã Rcð­°'¢ãýüà#9v æf²›­‰]ÅŒê¯wÉ· NH¨àý×礪‰ +AKõ=½D$÷>üŽ$ø'îi +,E[¥h&½Ñv®–ÎË\é$ª R#§#úúÊñŒ‡›uá3Mßà»Cósn¤ +…è0àà4ãìÝë*»ki#TU÷PЮ)¸((Ûu\Óâ‹›L4vïg-Ÿí¶\YúÑHi;/šjåXeXT êßï1}¶#ªxÄ#Ç*_§ÏeƒµeÖJìжwzû^T·rH8ú'»ÊìÇþúH,á"Ö|Zz‰RJ•´1Åa€æzrŽ¸~81î«ŠÜ\Ѻ4ÌÓ÷Ƶq0ñsáçAgP\•àb¯ÚâT‡Ó~ËrÔŽ¡W¾ˆSó PÚãyFœVõ)†|±ÛHYFôd-ê(¯²380•Ég/`IœÏ¥ºsˆa­óˆLw8ä-¤ŒÛ‹“ÖŒ”MœÍúùóên¯Ä» FÖ –éã,ÁÚؾeÌ¢Mž'^ºt0À€ë/—ëœí¡sý]ÍÇ©µ_ rÏÖ€‘¿ 6òËkGb´·¡04#“¼DÅã3½ÆŸÁ%y?qäšp Ï²“S„mHšË8PpöwñüÑŠÞ¦‹drٻĵ 4’”½šŽUÅ<2iÃ?N ³ ±ÜÙ\ÿsmì2‡¼:ÖGÕ¹„Ûñ_ÏØÕ-þAn“0è§Ë8y“é,@Ï4\å´ªb7åÁeäD‡¹™Éɺނ~™3Š“Y`´>]H’¬:U9ƒç8}¦ 0ŒÛG#DÂÍ&/OQ4ÝJVƒÙ©±]‚̚˕¿‚ €y+é‰øʢƢ½¡{Õ½ÒÎt0ÓÉÕ ÒWÀJ'ä^°¢;ÁBøéOÅê…v¾Ko( ¾5Ë’ÕŽ(>§xɵ1¦AùiËÉvù—ƒ”†„|sÏÇAhküc& ê7X¾š­ñÃÏV¿½óŠ$;ßsH«P5§Ò +©$M’*¦kšZä€ßùÇNÍey§ÚÀ¶¾îs@kMçßyznÆ“òú¼ÇËá$Á~ ãú +òcíâ>xŸþ}^PJ. ½?2€%AʆÓÜÿ«ûkÍxÓîVÙºMœyr~ÓÎýœ•û½Í‘ä`òI¹U¬æÙ Òņ!”Xè¼,|Ì¿DØg}Ð +Õ9xÄ`d:#äÀR  M0‹¬¸Hþ¢ ]:èÒ»Öª7àQ BÏ´×ÜidßÛ&b.?šv>²[wk´ºÖ J&YzÕ¢²^Tî`¶ý#‰¢a’¾Sœ0È6@+§RR)ã[˜~Ä}tðAR$Æf„|Ag5ª”¢6QÞ¡SúšûGë¶{fÝü +ß¹@QYº7®½ ¬mâ6x{È`éicƒqË@esò.²i_W€©ïiFÄ»³†^£%Ïzs–jÌŸÐqƒwï–Dx@3¢µä9gdd›"8FÇ-H[ÎÆÆ'¢NV‘•(žÝH5‚†¹øŸûú™I­QHb"Ù¹ +ƒnŸ:0߇ȶ`_Ú„u<­í ÍO^F*v€|Ù>u—X<'4iäQÜ +î-DÜ9 …i>>K­ß(bZ”ÆKG;#2£œ}fz†¨Ç˜@¥¼Ë&éà +¯‘šãÛéÍ$„:\1ÕÅóDÌé·Œ™ß`'õceƒÔª&'2JÃ_Æ É]Š‰ÒÕÓ¿…é™^Øõn:ÍvŒbn¤Ö)Â%ÛveÊg‹Îé&*÷sìÔ(ÌÄü•:Ëê‹‚f(Cï)Kì¡Š›Ÿ}¦î^iáö8‘¶df¤]¼î*Ζb1F +úËö_ŒÀæÜ™ +ßýiXéÍÃâ@j¿&VmfÅ?ëæv¦æ|°I +E/6ýÛßr +s´™²¢EYD~kdÓѹÝu~µ‡Ü£°›½Ö'3AóÀPÕŠßèÞl–}Ò‘¯uFË*)¶©(lN$}ÈISñfùn{HöÊškòeióbÈ7’)ˆlš·Ì'•éá­K‘ K[P™ ¦ÍK“µÔž) $ȱw7|e×n€ËC·Ñ®Ä¼"ý ¬Þ‡=xŽvyºŒÒH  åG4û±Ê·0]¦üå„xþ!3Òw5}‰CnÌbaðv °GE8ñûDD¬fˆÕ™ÁFb]–ËiÞNòéoæaÝç_¨tûL…õ3ÇÃD«þïyÁ:|Ãt+ƒ&)ñÉ4Ù‡ÌĘwÞéãÚࢷר“¾ûf jaQf9Rn¯WH´xv€õ°âÀ»ÛÅ@³!ÛŽó øv'‡£U oä¡ôÄH¸˜œŽÐdlO9÷* ¢ð3¢z0Ÿ'yc=iäqmîéIWs+¦°Ûó«žÆƒŽ•ÂÌ´óÂÞh:ÓOøÙŒç Âͼ#ÿähëóâŒQÒnÿt€~N§Km15ƒ’P WÓQŒf>\"Ô1 ú<âÓ¾”1\<&>1’â ®thèsL9V[‘z€&7¸á| 0™àœåþLIèù†íÃö+’ZøªàÞç;ETá”Ô¨®T TÊÜŽŽÀÛOL½Õ—Þ BøÁý†zYx”ËܬË[ 'z¸õ-_°ï\ºoþ±[µî˜\[µ¶úÖ³Ú…ê`~× +ôj—aWÏÕ×u³{3f²ÕvçÄ»[ã| µ¤ˆÚ935ÂõìQpÓeØìZ?t$”=2Õ“côá’’Ìدô¤ŠÊ>êê/€¹|r/VƒËÓ½Ú«â¿Óe­ÔhÌ÷só LÕ¿x'lË"a3T9‚ 35àIb[Ö-dÁ¥H,¤„‘5=ÿM#­:´_TMíÙU·kâš<[¢†þö¹þÀÑþL¯Ê8¼lœ=lëžÏ~£K%VÙôfóÞŽ˜DXŽäâ¾)«+§Í½3ä€pâÊfV1×K;¹<ˆ±’ŸAiç;­ªÃf¥X>Üàš;6 d…Ðëo•+Äu©’zå*Gù0d®ù&ß¾±¸)XCÃE&Ïu=)iùAÔ»þ­dE,ufY~'JmeuÉUv(3ï˵œÉ­;éãÿibµ­sãWÂ;•é]fñ‡Bn>Åìe™3- 6P[ÕUà…RƼ¾Yøçõ ™ÝŽbÍEß$ý™ó\눈îv• +¹|2]Èý¦µœ¥æB¾Íð»ÁØý«™_ B¬K!Ah=Ëè°å}˜6êœPvÔáû}'Œ‹¾Í`lìF”äÇ%ŒK|Õ H´)°ß¨\‰êçDØ’Ó/- M˜]Õ!î‡û·U½Œˆ_Ö«[Þq-n¾l‡ãÏ•v<—Ãâ‹FÜä¼ÙBʲYö6W+SW®o=Z¼JòV‚ôª„™b:¹Ÿa<:ŠÑQR‹7É«qØ„ïvòB°s;ØÐS3ŠþìÛÀO\ãù¸x‚ÂA½"a-‹ÈÊÝ: ]éùQ´©½L1Énì|×xqË¢`m®°\• €BHRxânF —[éf†X?¨Y•Ö¶fa (]xó"`M,öÏ£ù/é¹úµþ„†q9VÁ¤ßjx™‘¤%¹ra¾@úä¯RM _ åb4rIoˆj“Y<Øzê&œe+‚a¾Ÿ,}öâÙ#÷ºë‰¼Ú?Ÿl!ë +ÐðÏ(õ²I€Ù•±J§ÜƨÅö ó‡›L•3Ä-l>²4ê*Å'ÅQИµ_à•d[Öêt‡65þÎ@h•¶Dñ€´Q_½ª¯üFžÞ³Ò%}=ùð͇4}˜”· «]-/Ú’oNfš[,f¢,÷‡]é™$Ž_÷r±ô˜šU¼0K }¬½›#2•Û×íufêÙÁ8ü¨ó‹àg°$út§@JŽìK7¿,§gƒØ·ÔÑî)ÍIOÊF?-•ÎÄÆÕ+%Vâ æGËžÛL aÍ@ÿNÿ5Ç÷×ãze¹25‹jtŸ Ù°uL4áÕ™ ö'¶±º«¨8Vq Ôì¢ÆDÊî!ÜXûl´¢”²Â±„„™:B‚ø‘M)±X34ƒ¢Ã°Ì\5É´Oæ)ö¥¤´"pãZ9CC‡èú+¶VÝ<¯Î9Í.Á¸Æ”ÿŠ +ƒA+YàdÎc%}GÁæСL.ÿ#Ì;FIÎµË wÀv¶‚‚*îó:ÃråÃÇñ0Ôì¦W=Ï®€â¯¿Íu¹wg3f"·mM-Û¤Ôç„Š%(Ê )2Ìÿ|DÌ„9yD¶‹{jÄå$~赪y±#À‡ÄÿÑ=ñj2ÁLÝÃßÕÇpzð­ý l_¶ýûæ¢[ÚïÚÆÆ-FúÖ|ë¹b%?B.ãPû.]…1 uJVÌÄÔú>ã0öWxÙÿnßEa—³iv§ªe‡3’ÛŸêeÖËÑ’×|³×ºWÏíâÞp=r,!úÓ<>ÆÛ +ŠÍ/[ÞÆfJà„ã|Û*9Mj¤µªµ„Åi†¦§ í’S[¸ÍënvšñÄô¶h|0š¾l¤Pgï½›¶‹‚¸„¨*“€\™yåìBY‚ž³¦ WŒ‹tl!çŠÿÁ¼ï¦Wº~jR2öD,y|Ä`ëà†äµ¾Íq¤³é_ >)Ù’^H’6›O‡-M©H„¬ÝïK„»÷ʲèlÙyI1ÿÍýYäS/K¦ C·Èx¡©^Tœïà)_͹BáÝ{Ån½7Ò\­ D6c<ªÊ"lÄa">Ø.kÄ휞F5Ϫ×-{)Oj?-ÄbÛÑ×£oÝO3ÅÎŒ”~XÈŠâ:Y蹎j¾—³¢@W•K4à+ ¼ªŽS¢£½€¯Y7^XWG–Çn´ø +ueчfÉWºéwü«°Zy‹Ü}÷d§Jƒ/§êX=,€ñw¥cSë6Þ{«³jrÐÉéGøR(•³qi2‘’1HO¿mæ?K.—íäK€0ŒµpÔŸæ uDÏ‹ipùætµ$hWU¿&oošwí5¨²·‹ë0ç\¥_Õ0NÏE–£7õxNØcö„BwÝ£—‡s5\h )ÝüLÇ¿&mR?*q`‚ŽèN;NÁ8†ä:9›µ¦û¾D'^Ç­B°Õ÷ôO±øHïôù;{Cë:lp!;èé Rî0p ÕóXšT‡Ü3–r)°£g®pA‡9ÒV²N»ÂÖ‡h„ý†qc‹éEb/t®/lW¦4„Ëh ó +ÑÅ2•#ÖyilJ{Œï—ýȺ\ 1·ñžÈÚaåÐ`¡L¹Ø™³c­ˆù)yæ¿Qµ1\´-ÝlìUZÅN ¹~˜–8£x—ªvaC&Ù w¶Õï݃@“妅ÈËPÙvïTMŒqÓà7ážBʇ‹Â}w@jÛÄÎjš¬ÖÁy"¦ʉL ƒê«€1ËÜ<¸†¡ù†{üs®óRl +¼/wû5¥/‚‹z\UÞê%"¥·D‡‚ý´5/¨™•¹?nÃøE’ÂÔ¶Óæ© à‚äM'ZlEýa£(a–æÛË,ÞWõ–:öûš=ß½¢íù³ ߧì;8Ø+¥"žŸ#×€.éUàß¿nbL épzÔÉ$à€öRCÁ°Õ4’±Ôèt¼ù(bøZG Ã/Éÿ8X`®l•Hظ;7¨d5®üb0pdR™9‚­ï$‚6õÔZO\ Èygx¸Ã¬ÔÐi˜DY`‰ÇX}8, i¡Ú7°ç\Üp`¥—•Q¥““/È¡7Ê2•+Ö{nðASè«-ó쫺” 4ödtZyï­O°Ã÷U‹„ÉŽ­ @‚¢qE9ÌU‡P-°_ÎÊxc A3Í‚y2¨M!Ì•;™œŒ…"KƒóìO Ø í£Y‡!`h:e‹e0›¹*‡sn^w¥ŒC¦X©7?’E–SÄw){ò°Š€‡°Ðé½­0‡‚××=šQÇrå)3P‰!áánHÀ?Ú°ñÃ;Ù@ßQœwq-;iþG)gp‘Kæ«ÍE•n,Ý¡žl6¨ݬIbÞp Žqþh¢åDTÅÉ&sH*ýÚŸ%Ó›¤fzÈŽ&ž +YsêÐñûi*ålЄ-:Úž5ÈÜS&i¬ŽüŠG ?fm"Ñ´ú¯W‘%Õ€cÑÞb™»œß“”‚‹º|s¼øc¸¸;BÉJðoks!'V£¶úÏùô®ïpJ^nf L>®0Bå†5Ûâ² o¿ÿOè4Ý><¢M˜p讇2·®c.œŒ¯ÉÈÌŸÒ¨ÐB6TÿÎ¥?^ ­fi-φL6»‹“-†š´g_°Wf£žBný÷”û¥Ë]€5k.:nÇ*`©º+ôUʈhãXjìßkò”(LÝìÄ­ÕoÝÔɃ$Ö¢;Èüa„,ŒÛEîy–! +çÝUì<¹Š‰º»Ëïû3-Ò SâôÛÛÑG¨ +6J¤´íîoy+°”ýÍ^/ß³ÊÇÕ’Ç°L’)¶ÅâÞ[ˆúßüi³V9Ixú6»Ô¸¯ÍaîÇ€)↵_ÚÔÄDrV_T¼vþ”PþA»Ô|½è5؈¯œ¨*êñRÐì6m¾rƒ)‡ôáš&*§s¤µâø>QJúÉí‰<ãlŒó¤-y³Ýg~Iä +@í‹I¤ž‘5ý:•ËGÊ~Þ ~Uƒ¹-}˺…ªbÇ |ypoiÃt쌜ö…ÿ¬xj¾«LeU¿k]‹ |sèþEÛªP†eí¯ÄÄœ:1VÒU©…rrÑgÞ™Õiô2Ÿ3eFØÊ¥dÄð›û$ש.`+R /¯€®#¦äÿ$ëë+åô:é•F÷9,´l~g„ùsýdÈù¨û¬$ݬ—ü;®R…­¨âeí÷”Dsÿè.&W›ªè*ì–ökûýB±ñ„OoF„6ñã±5 +–ãí;¦î¥KF@ù]©g‹wdé´â?Ù)PZÄ«Äp¢‡‘;A¢D‚C².Lžð`mµ,´ä+%Ž&㘑Šÿg-Û7£Ùåjª¯òƒÍ O`p I{óª¯ÕÑ›Åq)u•R¼ëf`%©Xãȇòb‹±Ê™¥6OERJ09Š‰2E1ÿtMŽD/·ò¿ °/8½à¢Þ dPÝ[Á´3[UÚ8’|ÖÀÿd‚ÊkW¬P’<848SÑûO¸¥ ŠÞ9`3…'YÍ*û.²,ðHªÙõ]yÈö@ü©5z /éæÙx75kKÒ†´þ™>®‰Á–ÐŒDZ 6ÙªZ¾00õAsã:Ý£ëú-­ÇfWÀîz® åüÎN(s)¤‘ øßuÂÄŽÇ€£d ƒmi g…°ú¯7qì‹d mÄ9ƒÏƒÀ˜Q?#œ”Ý¢¾F—8e™ÓÇriý(¨³,ñ•HªÌq³ù‚„–(T1TÒŽ8³zé43‚Oö¨V(ò=ådìR¯I]¶_á`‡Ñóú +61›Q{Qg—Uìžpj¾¸àd6ûüáæg( ãéÅìbA†€^C™Áõ_#þÿdÅ[‰æ­#Ò`U9:áU­‹T[M ê.¨'^O{Ïûß©øÔRo¹í‡Ñ·Cp÷G°°ä· ÊÍ:"§ˆìlº­zrž^Bí›Qf­¢©NíâbwQ3lóù?ò Õ+ãõnìgå·2™Kg6˜J&¦K• \°Xýû¬WXéð%*1÷.ÌßSàv-®„ð$Ýoíq“ù• úàVÊg‘Hgj¨lrø]„=Þ(ýÁlÝØP£7äUÜ¿¯`_½©¾~;ñè€Î2)RÇÜ+6@EM 6ÀVHÛí²î»õ…Óq粩ó±±SåcP%øYôk£Íïè È ¼7C„yÞÕÒd@\û¬zB“`JÓ”Xj»1/7Qû(±\{ÿÖ·é+«®0 ?½.d¯ òË §¶'xÈnŽZ5k`íÑšþp\èç:XfWç5~KÆahLù°°}‡Ÿë/IUܸf3îrù¼wï}hŽõÚ[ŽVFûz[Wóp7÷aúóÛôPO ?V•PWŽê“…zÏ&ÅŠ·\¯Žö¾}âl—NT¨žº-´ÇPnýn™·v§†:•;Ê7v‹¹Õje pЀ]!…cºžÑÎœ¤mý¡ˆÄõÇ4­u?¼ÖÙfE™¼âŒfdÇ&¾Ëux?í·)î}ÚtÇNb½™S’T4·•›ðˆ’>!æYvX‹£àk0ÜLb¤ádöÖ8Ì쑉§»3èµ™Ì*¶GmE«UÊI|&B¶ó2oÈF­ëš÷Ù†kYˆ­«î™Fr[RɧòƒCþ‘>© šÜ¨/øîz/>ChKB ]UF<Üà™Ø°ìË$´ tÝ“ÅäŸ;´H@¡J)‘éTF,ðKðçÛ©;ô­EXO°*þð…¯ÂH&;×a3wjwCÍ èÏšoÍp'{ÿ‰­Jx@\M<|ggí…ñ …‘‡íÅð&Ïé;÷ßMÀ³-F`µ™Z*y¨þÿ“8œË“Ð +<îÍ;c¥mžl^0ÓmÙŽlÒ£ö‰@ª ~DBü¡ì Pü).5Ó¡ËŠ´ªø[a—º• +õÑË”q,zWP^‹ +Øeg+ ‹î¾  +œ¦{÷vnàêYAÖ‚:¼Çw,ž5ÈEÚvàðnuŽÜж[¨ª±CÃ9ÙèC$á!HÂÍ”æ_«“Ûó~ð/Õ*}ýÇ‚é»Ý×iU¿„zuØS=í¬zmlÍõ™¦O8Ì\"¥'– +ŒycÿX0#kÇСŠ™9±YµjÓMz‹ì·íÛÆëTjáª=ˆËvÙ¸àiñ‚²€FT€.ŽÝšžÒE™ÅÂÐM‡@“(*À‡”WQ Á¨ì³Îr´ }}5ð÷K‹æî›÷àv0*ú\ + »€•Ó/FžW^j¬J¹¦¿‚ÿ¨lÆ +:4Ñêu=Þ#!Ù¤‰w¹RéÙÚãMiDËž®Rˆ†®SÉ£ç!1– ÝšÛ£zäÆ:#üuwê°Y‡Ó¼ +eKÙÏÕæôJíÉg¨Åî‡Þ–)½Ýh™mqýA|·„ãíæH߉ïq¿“â®qNB'’×+_£¶]Ûdˆ˜YKD£?Rgmýéx½ˆ9 ÐÀåU wÍ:ʼòÿ[bÅ›+o•¸¢ØóÞ+ï“éË ¾dÅàà3EŸEBÃ=Ì6¡ûüOâzHög‰,|$S&2+` l25‡ç za2¾ð)ƒ_çÎ]Ý]¢oÅÆxoí„%ê20Ña§‹åS†öÑé-ºZ ‹[[¼JØu´;†Dš¶u½²iÒT/yHUmÑ2á‹e}3¹ƒßaZ¬û„4Sâ‘Ê­ž,ÏÇIŸnWÉ4Å© 7èfè;'…îoöÔß¼‹èÜ8>Ôug« §FiâÅ?ï ¶œÐÜÕ¨ +å/ êf¿7³ÜdaÍx)W£¡@ˆ§äh¬`:»»N˜b¢)®>K ílåb÷¾„˜¡|½XéTó®‚sDvÅgÚ\(Q#Ç‘FUÕ; °”Xj ÁöGpÅ].³2Ÿûgã]PS6)Û؉†DN¤p {ljîÀãK\Õ\d =táîÅõ¡ææw¾- †”9LcsNoôü5Iu«üV Hz÷¬™aÙæ 0ZXzzœíÏÇE:) (á¯AA•qToËTB¢tEžžNVÐ-mcmë&:…8Æ?öôð~ºàãâéLJVªßµKºTÚL%¥\ %ÆËdƒ¼;U¯WŒ´½ÈÛXÿTcÑüÌc@¤ÃÏJóÒƧí8¶3:u^¡ õOxÓù¯ö@âÛ³c!݃<¤Æ%c!ÝnƒCÌS%3v]êVzŠËŠ~T®tÇÚ–êKæ©á;°@“º€Ü˜½^!O4­ÉE-J•åPýN—Ò¦OÿÃf‰nƒ%¦¨ÐKÍ‹ºOdiÓ¾£—ã\‘¬u²-Ü[›Ð¿ØÂYàF^‡KüBìn×ýðCFŸ¶œ›êtywŠ™ds‰b•‡BO&gãxŽ”X•ÏÊžÛç'JJ¼Dñn⧅™Ís´%º…s'=ª}j*¡”tª)ÁƽeeHgP§oÌÕcKu™6/Ü›J%+Õf|B`ño¨VªO6?Æ)tݵ˜}'½Y¸ íBýÒ…%X?(þ¢fPîêß Õ h…×Üpmê„`ÐM9éàù*j•>í†ßë ³ÛßòRвÜ~»½u_£’ Y†ª×@NÙg¯ +Æ:Þ5*JÐéÆ<`&y¶¯Ñ| 1™¸B|a–I"µ õáú%-úI»CÓIRth©¨ós-ÛJ­ž0(¸íF#ØÑ2 ø¡à²œÚ´¥Yïê°Ò4¡§Ø¼q²]\Þ{ʲ®~q£(òÎ>ÉÒ>7 +^•„ŠòÑ­Ž­Ïî~’Ÿfnö<ÉÉ  ,*ÝÓ!l;§ŸF—8Ѳ¶4ŸrÎóÊÉô´YgqÖì9æ˜CŸ€¥z—ª u·Ú« †JXà K(ðT‘ ¹;7¯çj~§w»ëÙ¤X‰ûRÆüÿ˜VyÉ`zágêÔ'‘½BÛθ5d£€" ëô£ ¥w0r27í¸;E{æËg;[¤¼ |b“ëè94C·Pvk‡SII{È&PH§HÖK€ùœÇáì6!}Ê' ¿Ü‚ø^uàüó#^Ï&jxèY¬@ ]í8^~0I-ò-}[05Ò-ÿ•çé kó W³÷Tó¨yÒ]þ9 î„Z;xBxy…µÖ +66® j‘qº4†c6äG݈¶‰*ºlqV÷Ôôæ¿>¢ó%™l·^ýw±ï}š@p_â«Œ2ëYžt ˆ³¤laTã÷’Jïã ¡dÂvØχ{âñû¦Ò¥-5Õº5nŠš½‡ Á§“`BûŠî¡Ð-{× Í +Ba±…ìÈöÚ <#% kLÙŸ[ Žà€›² ‰Òè¶únöä‰ Äéø%/nâX0Õ¿6[XàÖ‚´û#mûão2ÌWKuœ™>tƒ%¬WÄ–Øñ1ö¦$l1õHÈYÜ4Êëfø­JcUÇÐJæ‡gFHš”ÇPGÑ£?ßÚµ‹çÑê‰Gs(b‰­­5¾²ñ{.çzýŸ±âxÉŸ…ÆïÁɗߥfü28ÿ‰»„ ¶¹a ˜<$BN©Z")ÌÐж-êãw걇 XF `¶ +™BÝD0è²ý_7Ï^Äá±ãä‚#¹rM|…a©ú\Þ»Ô½†fGe?Mæ×”ýÄ]ˆÂw2G¥Ö9|ä%å–ÇAúï«]¨nT56Vqâ½)¦(º¨ V¯·%º„å¬ÀÆXQbÿè\¬®®:" —5äpÌ—°K  ©iä”ë­þ@hN €Ñ&|.'ôkª´„ 2°Ïг—s"ª)Žµ¡ܲñT)Oܾ‘Ý? ‡ƒC–²Ô2¤qa^Êw‰¦°´–0œ„$È5xDóJΣqøŽ‰ª®»~÷(×T%Îì±@ƒ4ÒƒjŸbѳJÉü%¤?,ið2¾‡V>©Þ¿ˆÇeYGð½rR€4šò†La8Ó·‹&x]Í>Ä})zLk¬@ÅãÆFR}è¯ÎœÇ¯q_bª7ç–^ô‚vªŒz¹×ÖB?9ËÙþíþ™­)Ç=o=ÍKÛÕon`ˆFã,òmä{Å=5!ŸˆA¯UTu} ËDú~Í[Ý &= }™uáÄÎôØɱ—ìYwêýž@[BE@Qaî¥MF2Öìb âŒqSÀ0~9SÞêåզŊ¶›ÂR‹»(~ôS¦…£)†}*}/éá_úïæAêQ é/îAÿN‹ýW‡]Ôø' €ÍÎ¥(Pdìy4-Á’²¹:nuÛ4·¦bÉ^¾ÚøbrjÏe9:q™€ƒšœÇòQæ´n'l°|»~¤ÂQ°g,ý\Ò‡yØû̳‘é¹ø½2üæW3OË"f8MÝ°”Û†è~Çxš2‡ÁH'£‰&®PöÚ÷ ->¹8ØqHd.°i?uƒðØØâ¶ú·Ü›Ë ®¨À„ÁKƒ[¹(û·ÞšP-‰ {†s¾Üò $½™WwWJ4•»U„èýÞo”ò?¹Qçn8FQ\ùTCRÊ`ÀŽ4\èæŸA…RB§1_ñ­ì¢¢;rº÷Ø•ª§ÕÄš×ïÏŠ.ÿÌ­ûÁ‰]°ÃáÇÚÎ{Éwä›Á Äg>õ]û0Ýü¿Y*úB¨‡2/%ÁZ‚õÓ3hæ½ +GÖmfðþ­®v¾jCmq[æ*e7¾ŽNYM™a +¾bjšüâçke)]È{jP£êl C%€­’fýè%Ä°ùÞc[eC]Ç·’ +;¼Ô i×åYµ¯˜Ð!iÔò¼ ÀŒùOÜbч|‚=ˆeië]¥¹>Åð(;ŠÜqšH1Á9IßXZ³º½Í˜¦;=ò¼UíÑŽ!•Ì¬Tœ›Ló¹V«¿µipëhž«‡oµ‘›?!AŒ»ìŸû.rh)v¹“64)² +]L|fѳÞVÿ£¡|–¼ïolÕRþMâË&ç™ÇháßGeIhö§©Bã£-«gïmg“Ãoæ‡o¬´ Õ¥¦@Ϲ§=%ü'ö·ÿme‡»mé0³+wÄŒ(ÕO9gÀéÃaŸ ‡,*aßÊ3¿êJ¨}5Š5Y¦ôçÇ@J•Ó:²n•µ¿È]m‹ýÞ—ܪßgᣠâmPJ»­1j ¹üV¡ +g!懤bqÃ0DÖ| +R×#l{ ÚFuyÆ* »²]ý¡së¸-F£Y(¬£äÌ”Ìr=OÄ™vóžæb%XMÃS~¤Šðb•üл]AñæpíGÜÅžgße‰BƒSSx?W¿3’-Ž¸†¯Fïf‚Os^šP±SU6®–ÿ4ò˜È7Ú¥Kx¸6ˆ¿Õfuïñ>¨í£vö6{€‰Ü¹ÂTdÄ~Ö‹ª 9ßÌýª `g*4ž.Gh³†¸´ÈùYÔ_¨ƒ½N¤œ¹ñRüsŸÚ™³ˆψhd’zéðG…ZäÍÝkÅÄs;HÆaNžŸ~¾@K¢n5,¿á¥3éçLxî©û‹P;!T&L!£›2=‹OøšŽIÞ,(Ð]ýÊ.ôKéµf?34Ô|ˆv­•@í}¯Ïð!mjP÷ÙÀ‘­o²|íîp=l=Fu¡ëÝÇõÔßÇòÚÜ¢¡rëš!ë3õÈ2\øØ# ¦kl{Å8jÚÄ â Þ;_/øI7›¼G§‹k +3¿@Q*Bã S#Ð{ …’zÈ)îø—†rNÄ0¸òòh1¼r8®†“läoç²Bj ÓpF •…¢Öq Pç„—Â~_ä;zƒgÅò‚Ø°¼X ++ë>z–Ìoȳڇ áÂjð·Ø ƒÂ"õ,;’ŸsŒ¾¬±YH(ž´>3K[öý|΂þíž5QØOfÉùÁ£ºÅ4לÞÙµ¢^zFP´óÜR‹aŸ°Ê=Ç ˜µÊÃYÄi䈹%hU®P„Äï…rêHߪÎ5®¹Îü‘óŠ&¢]ùøYgOk ù³©·âÝ/뀨™ý'1Tª^ÈÖzUÅšœ ò™ ²!bžEãqú£­éy„Go>?.—&¼ÓrvéB[‰23…"Øí-u;3E ÝŠ×5¾ã¬ŒNM¦Qt‹#3¹r¶©Ü>=i]l—Pg"ŽÖ¤r‡)ЫU +áTöh¢ÞŒæÍ[û²Šãù5‹öæm{Ð@Y¦ãC ,2Úñ-U¨5n%¹¸¦›‚‹9Ÿ–‚K–X\íJŸ­ƒ× âÏ|›œóN?UB?GŠ+âLlüý€è‰Œ&þeß l+áÆC›¯¿€FG*ŸSË£€Øà:âpôV²ö9‡ñŠí˜#ÛÝ9ø¡uw adØ9½Íz§2æ3yô¥Ä^!z_7¯ãõôc»gõq’÷ú°lÙk*ÜÄÙÿª¡j\ÌÍî„SWžâ?—>kdL<I8×>h¼QÁAp_Ãa£þ­=†š¿¨3®Ÿµeš÷ÓTÙ1)ÞÝ"zJßÛ¼v…½4'¢‹œ•s–¿nSW“¢nSQ] ZŸ´Nò`9ƒÃôÓJ‡á¦1|&+JuÀr9¸öukZëãe“‹~UÏYÃ]ÄŽoDM}´YPe!"vt3œÉÑ̀üG+mð¤_a¨”-n“y¹_(¬;¡9‡æ…äà ¸öºebïÉÑ¿ön­r¯àHÚ• =Ki,­ÆÚxb!ÍVUÿv‹QþÊ(“•pbéR 4ªý (ñ­¼ ±!ð­¦5Яý/e§iÛ/iº1 +º÷ªùÃÅÜúÚ5qjŸS¥ê::!ÑAcH§–<‹ÁÚq .¸|(cnüê®»R‰V7h™!üæw}‡LÏñ§#‘ò\Ù"ÚZ{5 ä ä +òRVu–ßB-çv©ÝöGDøO$˜[sô>C!{ðÞùÎR,æ«s‘’½¸ú×™Ä?ªCk|Érh§=X;Åy¹^V²úî0:V\¯[èýÀ4£fµIû~{àpÀ°Zias=O›xýAA.ÉŸ[~„¼Zuåýüè^-ÏMKþœégÀ‘9/¦ô7s›j¼ƒî»=øì+p¿ü2Ï£¯•"áÀ_: +“ç%ÔÕï"÷”"Å*층µ!’NCÿTºšOàKÎͬßdÐ sbr“’WI.¨>@Q«®O±ÛìTo´³(Ÿ°•è2™µ|¶'kxôe€Q¸÷ÈG›—àã§AÎs#D@ÀÆ/Ãsm¥˜åP¬8mÆà“/F£ŠˆÃ­†/ÁMš‰WL˜K'¶˜\–—)‰Š‘—Rœ(—ÏŠø!¼ðUÂïÁ”ŠðVš«ÍYñ]d†qç&óô#ëÀæ¼ ÷¹w°@ —jæE¥s„ß-r KÉ 2ýs4òÈRƒ…ƒF]²|ƒO?±#z}¬^6¿Ç…uŸ)õ·Ë ¥À*ýt`ñN§<‹18$²;CãX;ÁÕZéç +Ág§Òò 5ýró;i_%¶ðùVw +endstream +endobj +15 0 obj +35292 +endobj +14 0 obj +40565 +endobj +16 0 obj +<< +/Type /FontDescriptor +/Ascent 993 +/CapHeight 900 +/Descent 211 +/Flags 38 +/FontBBox [0.00 -211.00 600.00 993.00] +/FontName /GnomeUni-LuxiMono +/ItalicAngle 0 +/StemV 0 +/XHeight 600 +/FontFile 13 0 R +>> +endobj +12 0 obj +<< +/Type /Font +/Subtype /Type1 +/BaseFont /MAAAAA+LuxiMono +/Name /F12 +/FirstChar 0 +/LastChar 11 0 R +/Widths 10 0 R +/Encoding 9 0 R +/FontDescriptor 16 0 R +>> +endobj +17 0 obj +<< +/Length 18 0 R +/Length1 5283 +/Length2 19 0 R +/Length3 0 +>> +stream +%!PS-AdobeFont-1.0: LuxiSans 1.1000 +%%CreationDate: Mon Nov 12 2001 +% Copyright Copyright (c) 2001 by Bigelow & Holmes Inc. Instructions copyright (c) 2001 by URW++. +% Copyright (c) 2001 by Bigelow & Holmes Inc. Instructions copyright (c) 2001 by URW++. +12 dict begin +/FontInfo 10 dict dup begin +/version (1.1000) readonly def +/Notice (Copyright (c) 2001 by Bigelow & Holmes Inc. Instructions copyright (c) 2001 by URW++.) readonly def +/Copyright (Copyright Copyright (c) 2001 by Bigelow & Holmes Inc. Instructions copyright (c) 2001 by URW++.) readonly def +/FullName (Luxi Sans Regular) readonly def +/FamilyName (Luxi Sans) readonly def +/Weight (Regular) readonly def +/ItalicAngle 0.0 def +/isFixedPitch false def +/UnderlinePosition -36 def +/UnderlineThickness 72 def +end readonly def +/FontName /LuxiSans def +/PaintType 0 def +/WMode 0 def +/FontBBox {-215 -211 988 993} readonly def +/FontType 1 def +/FontMatrix [0.001 0.0 0.0 0.001 0.0 0.0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 65 /A put +dup 66 /B put +dup 67 /C put +dup 68 /D put +dup 69 /E put +dup 70 /F put +dup 71 /G put +dup 72 /H put +dup 73 /I put +dup 74 /J put +dup 75 /K put +dup 76 /L put +dup 77 /M put +dup 78 /N put +dup 79 /O put +dup 80 /P put +dup 81 /Q put +dup 82 /R put +dup 83 /S put +dup 84 /T put +dup 85 /U put +dup 86 /V put +dup 87 /W put +dup 88 /X put +dup 89 /Y put +dup 90 /Z put +dup 198 /AE put +dup 140 /OE put +dup 216 /Oslash put +dup 196 /Adieresis put +dup 193 /Aacute put +dup 192 /Agrave put +dup 194 /Acircumflex put +dup 195 /Atilde put +dup 197 /Aring put +dup 199 /Ccedilla put +dup 208 /Eth put +dup 203 /Edieresis put +dup 201 /Eacute put +dup 200 /Egrave put +dup 202 /Ecircumflex put +dup 207 /Idieresis put +dup 205 /Iacute put +dup 204 /Igrave put +dup 206 /Icircumflex put +dup 209 /Ntilde put +dup 214 /Odieresis put +dup 211 /Oacute put +dup 210 /Ograve put +dup 212 /Ocircumflex put +dup 213 /Otilde put +dup 138 /Scaron put +dup 220 /Udieresis put +dup 218 /Uacute put +dup 217 /Ugrave put +dup 219 /Ucircumflex put +dup 221 /Yacute put +dup 222 /Thorn put +dup 159 /Ydieresis put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 106 /j put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 113 /q put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 119 /w put +dup 120 /x put +dup 121 /y put +dup 122 /z put +dup 230 /ae put +dup 156 /oe put +dup 248 /oslash put +dup 223 /germandbls put +dup 228 /adieresis put +dup 225 /aacute put +dup 224 /agrave put +dup 226 /acircumflex put +dup 227 /atilde put +dup 229 /aring put +dup 231 /ccedilla put +dup 235 /edieresis put +dup 233 /eacute put +dup 232 /egrave put +dup 234 /ecircumflex put +dup 239 /idieresis put +dup 237 /iacute put +dup 236 /igrave put +dup 238 /icircumflex put +dup 241 /ntilde put +dup 246 /odieresis put +dup 243 /oacute put +dup 242 /ograve put +dup 244 /ocircumflex put +dup 245 /otilde put +dup 154 /scaron put +dup 252 /udieresis put +dup 250 /uacute put +dup 249 /ugrave put +dup 251 /ucircumflex put +dup 253 /yacute put +dup 240 /eth put +dup 254 /thorn put +dup 255 /ydieresis put +dup 49 /one put +dup 50 /two put +dup 51 /three put +dup 52 /four put +dup 53 /five put +dup 54 /six put +dup 55 /seven put +dup 56 /eight put +dup 57 /nine put +dup 48 /zero put +dup 163 /sterling put +dup 36 /dollar put +dup 162 /cent put +dup 131 /florin put +dup 128 /Euro put +dup 165 /yen put +dup 185 /onesuperior put +dup 178 /twosuperior put +dup 179 /threesuperior put +dup 46 /period put +dup 58 /colon put +dup 133 /ellipsis put +dup 44 /comma put +dup 59 /semicolon put +dup 145 /quoteleft put +dup 148 /quotedblright put +dup 147 /quotedblleft put +dup 132 /quotedblbase put +dup 33 /exclam put +dup 161 /exclamdown put +dup 63 /question put +dup 191 /questiondown put +dup 187 /guillemotright put +dup 171 /guillemotleft put +dup 155 /guilsinglright put +dup 139 /guilsinglleft put +dup 47 /slash put +dup 45 /hyphen put +dup 173 /sfthyphen put +dup 150 /endash put +dup 151 /emdash put +dup 40 /parenleft put +dup 41 /parenright put +dup 91 /bracketleft put +dup 93 /bracketright put +dup 38 /ampersand put +dup 167 /section put +dup 134 /dagger put +dup 135 /daggerdbl put +dup 42 /asterisk put +dup 39 /quotesingle put +dup 34 /quotedbl put +dup 64 /at put +dup 35 /numbersign put +dup 176 /degree put +dup 43 /plus put +dup 215 /multiply put +dup 247 /divide put +dup 61 /equal put +dup 153 /trademark put +dup 182 /paragraph put +dup 164 /currency put +dup 130 /quotesinglbase put +dup 146 /quoteright put +dup 123 /braceleft put +dup 125 /braceright put +dup 170 /ordfeminine put +dup 186 /ordmasculine put +dup 177 /plusminus put +dup 189 /onehalf put +dup 188 /onequarter put +dup 190 /threequarters put +dup 37 /percent put +dup 137 /perthousand put +dup 92 /backslash put +dup 168 /dieresis put +dup 180 /acute put +dup 96 /grave put +dup 136 /circumflex put +dup 152 /tilde put +dup 184 /cedilla put +dup 169 /copyright put +dup 174 /registered put +dup 32 /space put +dup 160 /nbspace put +dup 149 /bullet put +dup 60 /less put +dup 62 /greater put +dup 172 /logicalnot put +dup 94 /asciicircum put +dup 124 /bar put +dup 166 /brokenbar put +dup 95 /underscore put +dup 126 /asciitilde put +dup 181 /mu put +readonly def +/UniqueID 5078987 def +currentdict end +currentfile eexec é ×`£Â,ñùÜiš"Ã[[5íj¢5“ÇmTÊ»^”+÷ÖÝ„ñfK‰iœt´rÞŸŽmù%öÄòéñÆ9´Û©ˆí*Äÿ++Þ`[Žã&NÝfA-O!ÆJÅ"½ü|UùÃóåY+; “Ó<›úíÒÔž‰ªº¨2â?.‘¢P2QhnD´àtw•=y0)n*[þ Y]É~ ‰ÎØ×øRÿœÜzYŒiî[AX¡m2Ø?.½ïíyòÙ¸œŽÅ8Å +ゼç2îæØ]½m'’%è-‚;v¦ìî7ŒúHXÇ—(3Û­zn3”øæ”áI/ä¶tzÖ¦ìǦ­É^z³„åÆê÷ZÝ,#%S„xºhµ Nî,KÀ ‚™Ki +Y=즺ÉMù•ŒJ^Œ³ùxã ŠÚï‹ I¾Ï–26¼˜¿«æAë(ä%’m};^Óó³1¥’9z·Ÿ:4'’-dk@ñSZÄÿšf9`à\¸ËrÜ#ÿ<C(•wO¯.[ÈÄ GŽ|^!/Ì°@À»•¿Xf§Â,üuÛ^øò®OÐ{È(a¯x1¬Åuž `:‚’ÌH½‡ Àl߬ÃC}ÓµÑô¯QNµsâ}½óÿ|O]ÖDÌŒ8?C:Ä×NŠàÇo"+ÊøåvýHœþ +¼P<[Ë9’þše9*JÆONUQ¨ƒ3ÖÏ…JHr~ù: »X”&ªÍÇÀo£ÖIõŒtAn‡:kj!˜¤“÷84ÕÁ›å©,ZÏ >/yuHÝ7ÿ˜A±fB–úʦ‡yì5Òy³yQÊg("M OÔ¯6@¥ŸžDÅ•A÷ðm±5(›èE‡Æ˜F2†ãB‡›šg + ¢µÆÂâ¡èô¯Þ‘Z®EÎYG›É 4uªHWç%x¿lâì³_hSq„<=•Q%r§ ã½$jÞ®®•æ.—u¬$Yy¨µjëˆôkÔ³«„2Ùs|\¾sw¨+V¯•)<} „|zP„pÍgb¬‰oâ#áw0ð\7Gã@ó~{¯iKÚÉ«Û—¼í{= +Žhá æG»äæ}á—!eÁyo^ºÏzZ×þ£„CÙÛå@(Ë£uê ¤ÑOIc‚ ØÉÂ{ÎÝjQd÷ ú,[3J--ïšìñÃœÀHNçùz9ÓFÎPü},Å$ ‰Ž R‰dˆ`jS(ûZ•aéÕ¤LÈnÞ`ø lpykê;Õ¾°^fV¨½5¢¨„¿†wÐZ„‰úïí\dZÒ:¿>xÆž»ôˆK)Ѥ×ð:fî Ðê÷Gn€îE¨”çµÖ®è³X“\¾0ç·£™S1º›¢ð?šM2o$›Ê¬YEYoƒiŒË•ðÑΊD9•&!Nâ‰'ü˜³¿fv±ïHÜæ??HiZ:ÆhúÑí;P¡üҞΞø¼0:ùk }'gI´ŒðFç@f!—š’ûë{]Õ˱TíQÄ©¡Á?b#»Töóº2on®tÛسp¢Zzà é¡|¢0¨h·Rú±_C[è£êWuÌÜ3£`ÝÂ[(‘÷Ò¬9›Ïox‘ ̳}Ý¿ž·êízœè'“ßo§öES +ì‘ש%ØûÉ“OþOá¾Ø(ÿ;ún‘$JûØ´0µ1­ô÷gâÚõpƒ¸öjVø 0¹VÄ4ºn\¸¬«½³‹ïuxwß-(l¶´xïÔÈŠ=ÁtZ2¥m„Z~aLy§î•zL}¦RX!a¾ñ‰Gç'¤žv]dŒÿ—BsÑŠë¶!éd9ød1ïмÄÊ--ŠOïÆ\v(üæ»ú°Uàß–R¬å£x{ô¤Xm±Í¶q´†~_QUºS}s: >ˆ ŒáÅIe¢‰ <¡-œ4×Þ•™æÚµGÍqm‘g¾=c±šž('éMOÃô×ÕyB(Ü•‹?¸&Ï!ïÔ¥žùE¥-ÖnÇ~PóZ‡“…ˆ6A7Am7-ÛîDª•,VaÈã¢È»i€_H¼²|’æ ]9Çû‚¦*br€¬øI7°ñ.õy¶™’¡”!3ÚTPÍ:Qÿ/ÅlÆ«Ú2È?»A'„9(¤öçèã‡X„x¿”tèc+ÒˆQGFs&Zô¡‰ÀzNçxeÊAÒ0ia_Òjµ%•Ñèk†Ú AkgI{kŸË>?pœ:NU.žá0ºÿ8ÃAy_h[·Þw;d5¯ÕxÁ}- 3È$U ïÃ…îvërÖÓ¿¯`—9øû´â@yõ9'÷ñþ¦oà¬T–¡=DkºÚaFsFª²å©öàœ’ŸÞ+¶`ÿ-­­ƒJC©X[Hé *·€­*41åɲªÕ¹ä—;ª”Jiô˜üÿ{ÿ Å¢þ…mu}¥ióOÐ9SSCü¾Ó„Êô(ûõ!fÉa¿F%¨. hhÓä¹?•ù°KûÙ¹”ˆüRx¨bì·t ÎYΰC# mý²0ìïÖIZ˃±`4®5þg­Wó6ŸM–Î'l¼ºÚ/Œ20ãRRㆋ +¡è³‡Ý%gàÌ«’›´ùõÚ©9â¤ÄöÅéQr\ÉM¹rý{‹FÈhÖÒú›cÈIéÃìwíÿNÐû!£«äÅOÆÖÑŒà9´@¹\çÂb÷‰%…¾¹ŠÙ™¢‡Qú¬7¿j¾‚3”(øséTè ÚIœôþ…ð̃ÛGcִƸ2Ó®ŒÿwÀȃ ´!Þ6¡Ó-Á>÷Ó_>†Çï„a±q1`åoÛ*2Ѻúéh¤ûg¾îörs²8Ãâ7·Øà´`j_åÚ Öb$|Ãc…TLK¥+ø‹| ÇŠ ‹°úH5ú·d/])¥í®ïךÊîUPÃEšNðÕç÷ÀhÑêH‚# zQÖ9u%Pùmu/—°¬êe$­w.¶ä XIðÖ"Yˆ2õÿœ¶ö¢ynu¯g^8†b!â°Þ:¶æÐÆZÄ·6kÛ§LvÅöݨžörÐ*Ï&vm|¶[ï“NÐ>7EÞ’º†f ¬xeaô¦O•š{M‚^ý•g©W¹Ær­­¸0py^äMp"tZž‹} ­éY£:ÚýŸÆšîþ¿$gK o³ó¿xhµ1KLsþ1Ö@Örn¦šPÃZ3RM(0ç}œ‹_« ¸rÕhÕ¹[-êC"íM Á[¤ðÁѯ’Hs?¸ ¶‰djLñÙz`ùSÈ"äÒ¥Ž7 +òi9ï½<¾Ç¤r² ìëÀÏa¯ã—Œ™<â=~“”`ƒhœÖl >ú–.+ü?ÏãžÀùcÅw²§Ò ÊñðµÜ«Ù†D—ÏÙ Sîç “­è +¶Î†JÀº¤¶fÅNÜ  ùö|ûÂ;üN#õ„œ ›~F +`ŒWÿ‰ÞÔ¦Õ—f5íû17Sëï85}þ¦^(§FºŽ +JÖIà̶«V9’+–=÷Kø:F êkä°\ÇzF ýÌYé¼–Ñm£dÂÜUæ »>Š-Ír¤Àg¡Áìk +dßóÐ\PŒM©‚np‚ÎX°'Àl!ô/!±‚!窪 .Á—¯Y.£Ô2XVõçêý¸íúÜÏ8®€{-ÍŽB`ãHãµaç!Ü×»2 få_#™ÙÈšæ\³:5IÓzš^Hº®ªHSF"(ÈŠù”W÷ü±SŒ+ØmÊðmdð/Ù‚V.«rî!&ˆgÎ,:7æ"Ð dö”ÎçðóWÐ72ƒ™3ÜŽß_œ»í±I®÷¥]ô«1°ÏèOBÓû}×Úsí¸ƒJÄTyÁ;ü[„ZòL/G®K¬äÖvIÊã£fucþñ/¾vgñêb $IÖ‹ ½’Õ2FBUe¼úÕ\í­P8~*ÙOüq„ø½%0ü}Õ…P4¯8F»•ÏA{!‡Xñ4'’ØŒì=—Q½&:±¿Öé²Âvá°aR*ˆ“ÒÁi‡r•îS@¤ÑÃö›˜tåÎ><‚ÃçÌDk³4²ò±7"KžB†Àn²‘ÐA dûõ>pÈëçØ.ÖÇùZƒ®@–ùúq¼§GD‹=”½æ²]›LUIk=€Êù;?ÍÆÝW똼‰œ¯¦ÒtÅýXr…%QÍ]ê½n["£ô!‰í6ó¥ßuø¡º¨’Ò–¤f ýE—ÛË‘»Æ4Ïþ{w¨Ð“gò%,"îczhoÀv«ü؃•Óv¬æÌ#ÛÍlEz̃þ´œkP½ú\¬ùÐmú"~(ÃöQë0:eƒUºQvû¯•ALjpO³ÈQ T‚ (ðUG©¬·1¢‘ñÎêet'-ÂüMHnáW¼Ð«)<«ó¶ M5î)H¤DõœwHG¥óÎvã(ó¡¯Ës/3í7Nã¿›–Lš&³áÃRN²Ú KìH;Ûbúª³&¸bRž (Bƒ­(è6#C¼Æmøê 8¯Âùb7pSŠ8i‚“ýï uãÅØQ Lå’PÇ)b@±9@–gÍîv´ñc9âÄ©¹N1mzk'‚¡œåݾaE¥²F 4ŽwÑê °–¢™Õ.QÀ~¶ŒnÔÐ&Ö®êDgƒÆNçÇ`%"PxšM8íë|öv]ü1ÿ„ÛzJ”¤@ ùJîaT1=Þ½xm C á'Œš°+ðpZ.use¸2ÜçuÿïÆ™¹|ô¬¢ÙF#ÄstŒÁZ¶Ñ ]‰yÎS&Å 3^G¥?EÉäë_|¸3.ËDÎêÍd¬„¿ï…Œ\߉\ñ¬u¿!Ò¶¸lé[âò'’ÏhÌûÐÇ(èx:ü¨"sñgf&&…~|RW“£‰UÄô ûŽBøj© Ëð)oœTboñºâ]bµ0"d!íùå×¾zº:Ðô‡q%/O¾NU`_J +R ¾Ì”±•-‰c8@ûÑ÷›ÿÇéjS”q pc]^üÞ:VaMT³FÛìîyú‡ëõAGVìö‹2/o&<î;¨‚ßû°°‹ù½®,šïˆƒr5»ÂÌñœ›âb¶øtŒÓ°"N"7Τ«'$¶»<3‘ÏÖèÄZÃ*ÊrI©UeigYDÑH#×ë Ôýo7Gí1šk:¸v*ùJ´;üÙö7fu>Á& ¸Í¥e‡[ Þäv‘q]) `vÒq,Õ»L¹ãç2 Åôo¯³­ªb…¥wÅŠ–•ã$¶¢K–ôÔ~¦'qêsqÐÐ4‹ˆ“å&³ôÍ@îw "dºä†Ë4\ÞàÀ +˜í–£¬lèÅ4õΫˆŸ~5c -ú–ÄJ('šã Î@1*Oªê^-…MŠá-æ+ƒ°]ÙÇð½^Ñ"ýûmN]Þ[¡Â~‰aÏa›H,i\6âáߑeüÕòL»]aCÉä:“ë& ÖlÔ¿T«zÐdý {rçQFN|ôº6ŽÔé¥Ñcì~%c¶xÛÈ>·}£¬KdLy“D§¹;y%™P‡«ÍkLròÆ :³é±°ßÂâôŽGʾ${b*u­¯>^›0¸d)üdáåׂ,ë½ð‹ƒ¥ç2ûE²  +ïß/ü{¶¨Gê9Œ®›ÐV/sۺY^WtÅ)só±)i!¥\LŽœ’Z¥C3‚TçÙ…^€:.©kJجóäh 0·ºBŒlP\Ÿj—V~V€) ý e)G­ü·ût¿¶÷,«Rgî†óM‡ŒbÜ»ò/þËg`509™^F²ÒØ~¢ÏÅO-[á<ÉŸë£s3"Œs£JOPŽæYW—ó{Ò¿@Udiþ£Tk‰ÓiIî¢ÎÎq„*Rð]­ö8)ò³Løú¦Ls¶^NΛ I¯™Wñ¶û)¾öGè‡øì˜x‰p_á{ÚPkžRÊF¡ ×(¿ž!Uoâ31o·õÏ<¡_׸'l‰ÔîzJ¨/ç&ycR? o½GßÖl¡¦šM|mš*½Z‡· ñn)ÃiŠýôyEW‚?{RP1^ÈZŽ{gÂéðdâ·4ì÷î¡H†"õ`²+9¼ò\é–j¯vkÆÊ“ÀJ»³ÜÌ~ ¸ôÏ"-7Êð¼ä;“²î1‹×+¥Õ–ï6V*nÞÇv¢ G‘ÉȬ¢í§#Ë핈¬ýµ%Œ¡¯8êfã¨nÇWã”ÇPÏYÄÿ×Ýô7ú|…J<{Ê +Ò7 #„OŽiÁVËá}„þœ ”‘=h¹ŠkÈûGž `âæ$¥´æB´¿G4½<‹0°æ‘±³ ò´™x¾©7¿Ó¡Š´þ}wëuƒ~Ê%­èd8«Höâ¦Çß,º0ô¨šÈéYeì?²K3âOˆ©”)7lß^„ÖyCFïØ;äU4Ž›Í¡í€–£!V¡êÂx¹šÃþŠÃºšÓ¸a¤’ϳ‹ïuö|ÕA‹vŒy^:1綗H/ß‚e/¶?,K“…† E¸>$K·v‘`Óé ¥è9…ûŠ·×¨U²Xµ¯MzÂZQÿ69¯ Ÿ:n˜Ã‘cƒœ…)Øy²­Óé¥vB¯ièì‰J%’¦u<|ngS‹"±¨Ø6µ>NwZt_O +ÜI:"ñÜîÄ÷á„ETo»3/E¦/J}+ÚIw§ïÑŸHB D¢¨ß’ÙS«b •ð#XµB­Œý¡âÇ9ï«ÚãÇÁzû/„[Ô¿)H6I¥®l}t8ÔwÑ_t“‘ƒ¶6qI³+8Ä'~¶ï‚æ¯N”ÿ ]Ï×pRÂúÛÐUIdb9á“ÊþÒ1÷΂8»„!Qˆ:ï ÅÁUM*n‚û”7’ßšÎ}6•¸|Úž"ƒ”H$þˆe¯¡dpxBYš–Ne¢ê»+÷)ê­ÏöË=¡½xM¼kÆÔ‰^þKØ5[eªçüöú ._g·ò’aUuÃÅ.lgÿù¶ õ8gþµãéó[ñX4.ˆ:ðPëËvÐSh‘(´ÜæcîZÜ…&ôj÷Ü)¢‹Ø À?jÒWil+`®ž3Û˜å £2Bó³g(zQ’U®’òQ.;ªpߣÔú¤‹n×|ìÇAÒqN±›ð!ïÊ]M’%…ñÂëÎa½¼¸¨4΄¡qo:OøÈõ–å´ÆßÒY•§g4®Ä‡»±Ô@ññ/ÃE1{Â’Š´õ‘´³îÔxè!æ¨NÎÇ`i‹ù>2Òš¿’Åâ€T4ÃÀ_{ã´~&¯3ûS§ ‚ 0w-ÎÀé‘Knz)ÄÄ©LjüňÉjÅ¢ÿ«ˆšªZÝÉ9¦ú速±ÛI¶Ñ)~ªÍéN­ó¯õŸŽ ùhçe¼¦üÃÕ+}õzËøžEÑ?%·–á[Õª<l +û9ýy„Ó¼nÂH,ârø7äOXùÌÐÀl],P˜…M1#L¢®œA¹Îæ àÞÁ½9£ì>?5\­®ç+Ó Ÿý¦2’B±bBŽx §Í`JaTf[1‡q1I¢ÀLfàq‚Dåòdh™ñ’?ù ÂÕ’¹ÃqXȉEµÐë«þ $Ðò+T|çßÕVË(_ åÙÌzõmÞ_aÐÆh•œÛa£œ”FdËC„"çýý/?Æ2Ž\ŽÉ˜g>‹©é.d¬?ùͪ4ßx6±!µ%˜­ä2M ç·ÍòÙOZ *ßzjÿ Ú^˜÷/š4°݆‚µ|ùvêG]ªÏ”ý¹æÁLÒ²Ì6—êÁõN>û÷C¥QúÕµ!tHjTHcu0!€‘Þ ED<ƒBͶi¿¿$$›¼€€«#a1;" 9CÔø.³¦ascPGs +Dy|ÒSñ–¡™Ñ÷[°ç–!@XŽÙ‚óÀÙ¥$lj×ö4uŸÞ¨À5ç3³N‡4ÆèÈgPa`0å±™uŽ7N+Ø8½¦—œ8ÿv%ñ½A¹Ä¶¿ }ãÞiñÆÁÓôÓ‡¹1|S +I£í7˜™D$?òÖAÌnNR…(š~¥—Ñß’d +ƒ68µ§&ë Ñå(PÈ)Û‡â‹G¸òÌ<‰B󆔥ÜZS!ÛW%‰ôœ¦Ñ¢¬UXxÍC #OÞaþ‹Š¨@ìÂû¿A¼TÿFзU&#„¦dÉŽÑÑ¡¢¯éiqî.JùçÀ²Ô¦ za”|‹ÌÎÔi„3/Šþ¬“Eû`þÉý54ßN˜X_7Êž”±"»eÙ®‚Ño ßíAÓ¡DH¨?{®éÆrž‚ÞhÊteTœæ!HBÙ¯vÌxA[RPŒÓ0 +wf€h_ì;£š\J­ýâîSÏSÅVœT¥œ³F>§þ¢:[ÊòD+NÉ`’ ¡£4ç OwHøŒ>Bóº aU>¨ËÙ‰ÀǾº6~cÈHJ-óèë'å`Лq¸R6âî‹Ó~dD&n÷Øñ§2TåB*¤år‡Ã!x)ÄæZOßÚ'¢Ä"ªou )/Á7M´%(†`€«»³Åôyéj¡vD¾ CWø1'µ{PXÎÅ4uÏ‚¹Fçc&f„{åm7ï›LâG¸"‡¸|=´\OÔž +ÕÀ¿+QÇŸ’ŸÈN¸ïfê!>†*/uY×)1‚-5i\‚¨4ð‹!Û@ɽç„É{¤ƒá]êÃU!F­g®Ax6 $/8Ž»~‡zëÂ&A¼^¶-ôÈ30> 6EÝ=ò|y=K‰TÐ܈Dž+r%Fi åg¢;€þ{žPÚÕªA8,NœË˜üî÷x[ñtM8gwÞ¤2œƒüÍZäŽoÞ´7üH­|{ Œìe‡XWhÂHR+põÝ:T©/8¤ muÈÞ¹UG8©ïK¼8ß9Ääæι) —J@ÍV"ÿ§ÓÊ/%$š@äð¶„èþâ¨9û6]äPû˜—¹’Éè¬X·O„!†\nH°Dࡤ ÷M‚×Sƒ«FÎi¬­KK õüóÆjc}Å)i\”BñšÉ'V‘akþüŒÑ·§óùÆzD_‹mÍ.å?¢_hp^B +aÓ]7Aûé–ù!ÂJN¤|ÅÒ š1Aƒõ_K <ÅgéÚN·O˜e¨‘¯þ\‹ÓNÆr(T +OItvxúyÚóìñB¤óîå¶oN¯o£ËÞG‚H •AÊnKý¶«|rÆõf0í/;x·ü®¿Óý© ’°Ü©×ZÙÖë¹Ýdœ;*õ¡àá‹1lóÒg´€ÑÒñmŠkäsTþª1ŠÁc«K]袓‚+¶=¸·-xéO­¢°ÎŠ’œ[›ÆÕ`² +-ÖœúÀ=.±oªC°çíÇ}ü@®,ŽÏÀÏÔ©â6¿5l¶ê©f0€ÌµwìJ3F1‚ÛŸ@­PFieSpÏ—Mu6ê‹ÝVÂhò6.TL¼1â_ž]oI 3euä[6w9×}ûM›çÃy#\€•ÖÔõ,ðýLmÿ-l| Ûº³š÷2ÃH¤±p—„fŒÁ¢šŠ>ÚÁ°Œ Íkí• +-ó‰;–Ë5õQר3€ñ&OîÞ|dGƒÆXy ×4gжÈj xzš ÙÉËCŸª +œœ÷¢&©Ê;Šs|’"Çkri¨D?±È”ó_{Ó~㨙u´íæ@…9G,é€V#_Õæ~o¬sJnƒ¿“½î‰ë]@!w|B4aUO,$Ó_¦ùH$ë)øŽ ¿Ö8tdm-¡Gùa]Ië–«Þ’ýšfþš®ù—3õ™YCÈŽ¯µø·åϬ/§~ùÌOgˆ t*6ÒЮñR4WÛð¤Å5pJ÷wÓ~Z3ÁÃûî–³/­Þ1š¬Á«6|Á¥ºA²‘ÊþDƒ€ÿ±|à'‘××è<*͉97+}Ýé” ”ø%ï÷Y»ò½p8}ÂFz°²So_PòîShT*¤+ô0Ñ}LéT:I +ê?Ë6 d™fºs +ø¢DTÕ§ [ T_ðÏÇ.ƒ®t´ãeoA<Ë’§xÑT÷N¼ #ì’jèk½þ¿¬ª”¹¦|±c6îJA+2úñ›|y”*Š9œ¦!íí1Ã1g? büˆ,äûóüe²kôzŸÓ¯k½Sž„/’…1ÍÏÛâÎõlçöö ŸÎÙ­;;| ‰ÝÓz<Á®ëiÅL.̱}sú@[×õ‹xê"ËWöœÊÊ^ ej‚nb‚™ÎPÆ+412¼§å†í=³Mýb׬W ˆ7[_~ÍT¾þíg‘Å;LG\ iñJ!–§gLˆE9~KàñÙ¤¾[->íëa‚nþ=e©D§kûc~]PS˜‰Þô(êâW"‘rÎèÕYÏ™ðÅE•YµÓŠe©I"âÍUÈ¥’sxµ€ÀHÿ]^`1{FŸN爞Da*¡² Ø¢òAÒV5ñ•!Š7ò‘ÂÞªÇØ£±ìԦΠ$ÎÈ}Íâ-¾ +saL=±@fD†ß®øÓU˜Æª¨÷ +ðz}ð¶I !1Õa:ÜŠ¼ú¥1³ï +EÑœr×~Ò%óa¼†· ›SIÆ˹PS,\P¼Ò¡)T4ñçc¬•æ|u$Dí£Â?µ (gÍ šu2äã í½ùþÔ9Òð—þ Ö³‡ÿ‰ÊHæ$)_‘ÙmcpýBªj áFf×‘àˆ¾ËW*9Ž‡òÆå „u·LüO[ÑíÂ'‘½1ª¹.­MÝÇæf{±«÷ƒt6'“§VY#)hfùpM—®ó‡cgZ?ŒÖŒ’#¶!yppÕ¿ot>÷çTùMn½ °MÂ@—# E7Kºà½@‘x|¶xR-1dKåÛ‚„cuA J¨•uôUbÃ8b%XÄorMXÿíQ3÷ˆÊ´äÄEœálýüu÷hÊQ5#ƪªä +!›Æ{J©’Àt5b˜¥ˆµq  ;Va(Àö*Ü–càê+¹ö†`›ßn±x°2b ·3•¦5Qø7:"€Ç¿ª®e-Î|­œz±Ëdl`\lO.B¼ÈrÙA`ML -¾Ë%eõÊé‘˲oû"ƒUO\¨b žcJw®ˆU>áYQž#'IåÐ7ë+ÓÞ(ïÄaUÞDº«æ‘o§Ö,Võ°Ýk8z|à 0+ÓÑ’]cr»È×#DA¹¨zds†üJOÍÊF+’ÙNŒh·`¬f¡%³RûôVÁEÀÝÿ>Om,„“zÈ+µ= ÷ »Žõœ ñßØ¡9À’Ú×µ˜’08"«ý$ê’+ õ´4B³d|¯nv"X7˜=ªAU‘m±/'E0LFº~?˜ñ1š?eÄ=Œê‰¡`“^&ìÞxÓbÃM·ã¥îÜ@TÛ,Å*ˆÒ‚ « ¯ØŒä~ ºè´|£!݆ºæÈ+‘˜„ȸU×õær·‘“nçTg +Sé*ÐÇHCÑTE¯9¶Ç°eí:)¸ßÊ/]A‘!*ËÓ1i,ÎÈÜOD*u?`Ii½§å =¶@E;5?Ïw&xÅ'ým³+«Ö¼}£#= ïû‹]p ë?X×| ²4³Ô…ì4€ÈB¶áìMøPRû*õ¤„Í¡»½µrnÁÜ=X8ú¾ŠÌ\=AMüêÇ …v8Y$S8ºd_,¨t6{ Ç +…ø¨P +^²Þc?°8Åq ž½:u¢öp.’…_cT‘‘‰ãctéYˆk"‰˜—øh¸rù½Z—öä Bï²lSYÔ¦²1OÌèÇž!E4üÄÆÝÒƒ²©1µÊ‡7sc{Ɇ<ù{6°ìµbÄýˆ:c˜ƒYÅ×q6­éMÍœI_1Tp ~_Ð"å=ËuڶǑ´íœcn-åõ²$‚7O‡6ùà.ÚèŒUÅί!ïÖNâ‚«„E*ª£i[x +¾ÍwÍÄ¿}ŸÐžÎ÷=æ‚D¡EÉ<çا5ï+Öó—Ý(… mõ¨Å,‰½T±Oa7l¦Ö4/D¥½ÿHë•~´|bÉ·Õ‘oü‹-ŸKtN={xKé…ÜW¦’5)ß#ZS 7+½F¨¸b)Ž¶–x)Ü>UÎ…ðØ´ÙR…ʽ̘¯åÕ=)õ_ûFè'¬ÆÁGµbΙ‰BŠxŠ˜ÜM¼ðM¿øÛLo £Íèþ2Hòžø8x$0ðcYn4BLìÉÉÿi…ÔÛ†ê÷ÐÛp™£ÄÕâj0p€ÄX’gŽ¦l +Sœ2æˆ", ˜ê4rJ™ZWå0~Úë|…:K{Fù‘X¿Ä²÷çÍ ›Z w<¼#æä<ÐjNˆïoE(^…e¥m¦cÛÓVþå(w*Pc—ÙØk=d]?¼WŸçY‘ÖNâLmyq{» ŒP+»¥Ÿ›,ì×DÎÔ%i¨„8gËëòí4†õÁ‡X>k]^”A¹ðöYå¾H¡{ùÓÙo(Ù]u{ï<¸<Úàægóø²BôæÕªÓ ¢á¹l<|Éj‡7§ —G`œà‰AÃàlïK«êÔº&ÅÃbz#Ú²‹±%„É}[¶³š´Õž!ßÆ nùíRRùÀÿ˜úJ+I? ÷–¿Ä18¸Œ~È +-÷¶ åº~ï틱¬ µmÄWÞ±Ã7ã¿Øw-D÷ÁüO‚ô…þq È]hôÇ7'¦˜!(”ËÚ2ÿ+pek&–W®çç]‹µFYÔ`%@Uƒ½0£Dëm-íu0B€~4ÖaþÊ£ŸV~ +É;=è3o¨L¤w2.­mÏä˜-¦0Œ3‚:«7G—”jg‰8%œDî›Ö²Û·½,é $Ýo{H¦-:«—wå ýOKÇ/T ëÍûðC8ÒâþÉIÉfáMýé§/o&Æ_ +5Á¬ß'~p4má%˜LµQºQÊøLCø̹‘j/‹Ûh±ìEÊ- 2Gù;)ÁFû¦1­_œK‚Ç©Ssøx9¢ù%°’E‚^~°ƒ±i÷YÁé²aÖFs$Vé †ù“HoѵsmN +oˆpÃû¿,xeÈF’4ˆ}W(gZàx&5¼sŠ+ºYõéaKµ¹ç#4ç`¾¿~IçOhR_šz4¡Šô +ÜÊ]X5ñ&.`htÝÄŽyבÚù²fÜjƒ9iûW2çEÚ\v¶A%ŠÜYÈ/šœŽnÝÔF„2x¨;ýC÷IêŠ(ë&˜óŠPBzRü‘6Nè¢ÞìÆogn/œªóÓ¼nOÝÀó’Yí¥¬u¹i%~cS‘S“0¿šà¯ss„RÒcˆÂ—\Ùr{ñ Nˆu°—_hçzÝ'‚m`Ÿ +/?Ôš®W)}D Äïœfø½óIúOFh:V[ÊÌ£ÖH´}PÑ_ƒêe]RaÛØ2¦Çsó¢[ÿ1“¹³}Ò3O)€â‹ßa-Ãréó\¹alùò$‹qYF_û»Wºa° OÉWdG)òpÿHRRd?Ÿ$KÏxÇÊ+ÊS/D¸§¤uP¿Øœ +¯Aº5Ćö\ÜB­ìîàHˉðÌ1 8 ‰>D…âc\¡ +†›þà·Sý É„“p Ï1Þ@oª\Jœ—ê`Ž×+¾Ø,α Äx¡c6§sÌõ(~–FiZj'èJ:¾.ÜüIe`¹Qç³ÀE4 §=^3óÎ$ŒŠ U=Ž¢ŸRíD7ì–HÓÂáTpðHÓ! +g‘j¾Páa™×ië\xäGÙKü¹úeedz®ú†•÷ÓÔh¯èî2 kÂMUùrÊfº˜å!I÷Òûÿ.^°l·/¦±W&Ðüxõ„)E¥„DI˜*¿•ZMß¾6M´ åsÉ7@*¼%dñ0¿ý ^ì+sš›‰‰_Žôo +D#­Ê‡8s]‡®^ã[ ­ dy¬µÐ†Ž¯ò˧ï¿÷ÊÏd`ß]ÇüÕyT—WÌŽþ¯zÈÏDg …‚_£%z#ßiÊäsá™8Oø8€àL†=K) „PQ)g ¼W–ÄõQw (¼ÕGq8{£J³¼©D{•+Îì˜Ç+{¦U¿½¯åˆ Ìhûjú­ì©õrt3׎m>e-oˆ·q±á³+Ñ£m¶2É.j+¯ÒìÁ_sþ«b)CNÙyhR@qË‹Q*Rqê»ñ´yyŒòã _ò®'¹>êI¤xHK‘¨Dù2\ðt*ÆvÕ\‘‡íëp‹L7ï–Í;UDX¸@¨Ã„¸š‘Õ> Ž·$ƒ»°Œ½ŸÚ ¡NGÅGá7æ 7èŠÓ[¹Üò¢›Ž-Œ§…Wjõ%“]…`IÊýéIÊÕô*9EÙ,É|˜ÂrCStÜ>Ñàä,à˜L¡á)`Âìkòcô×C‰ñvn‡…yg¦ê»¤m6ñ­M‹ÌÛ‰ˆy]ÇfwÚüp.èc®9*„ !^ ÀÈ8ST.}Ò’?A•)z:°ý 1Öalê^ˆŠÏ½ƒ\¸ ]¶1æ2‚*…V•¤²ÙŽ½'º²ÚÛëoÀ r̨:ijgACÓb‘­wwG£ÂžR™*%ÓÞ§žÛóp­~œFÆeÇ.W¶üÈ¢6aýëqYÍ\ž¶ IT$ðxÆ9šQ#$ i‹v%¯ 4¿ã$¶¢K•Ä¾BÎT^v&pZ|®ØD`´BV[‚˜Ùøü1œ×,€m{×4:Êý†m­^¡éž÷*V·ÿ¾gù»è…=4ÑF®È^(Ð:”< ðå"XøYf°·‡>¾)ÐâC— ¦ò•èI<’³ /PÔäòÀÇuÂZÿOP''ºÄ€g!~U‡ê j$‘Š² j|y88 4+véž´Æõ»BNDz&;%vm¸¡çãtºûN¢ÝXì¿ BûjTˆ^Ú=Œ¤=Ž¸jÜerôh¯ > ðè‚•Š·ê~:Ìæu´Ã_oRç…r„ž…ûÛhÂoÒš¶èIÏ`ÝOêüƒqL/+únL OæghµJ‘=J)Išä³C»E =p)æÅxõ#—CSÞ7Õ"èû öhgQyýkÛÚ¶¤+3ÌCq|lÅnµÈ⧪/ü€—ì]õï–V‡|Lêc`-P #»°¯KNýñZ36 ê6Ý%‘û·¡Pj1’{õ¿ºÿ¢/ž¾„“c»0^0}Ü>Y^RW€ÌÂÔÏÿÑž©ºaâ½lº½å,›“ÛíHh3ç¢RØê€@”!;ÿ-¶Y­Ñ&­Uî…“mlæz±cÝÁ µ¤#'P4ˆ@W-aÌ ÉQ •Š=d46:RÛL¹¹åo¤j +¼9¡ûÖ2áŒ=%˜²t@6G|g6K¿kçV•a»`Ë®÷¬Âp–Ü·¹žN\]@¼ò!‚H®cSÍ‹V«1£ÂGC&ñM ©ö Å"6Ùû‰ì„-ÈÔHW°Û77«"*Q|¸ gÿŠšX‰È»*Ýü½ÊÜÌ+ÃTsÓí© ÿœupBHö‘-Ø’âψ€©Ñ±Ÿð¡—’-Á(é¤Ç…Š;;–é¤ÚóYŽt×KµòT]³±ØN†âj¨9minf|)p Ý™x|X=AZàY»ÝלT{šVùxGU1¾T)$eÒ9(Þ¬!Ì} ÿ… +Ï€æ)êF×Ê( aöZ¸Õo'ŒwiƒãÎqãõ±ãêó ˜¾£@g?»#Í4Êd‡5Í*S*‹:S >R<ÐuÿfDcÜ°³ˆ¿`Í’Ž(šWV5óI¿pǘÐïÕ çZ{:(Aü=reï ¼b†6K:~ùñô€‰TæÙs­ðË“Ô›GÛ°º­fêN„»Âñ`OßÇÉú;¡¿”jhYÞ>E. ›_e•"¿"Qƒ8¶Éƒ—ð@ðé?ŽjF=}PM6.&ÂrèÛCåÜ-Ee_}Ù™ó+kÉ©ÐÈAÂ2ÅLNÍuÿ:•¸qÚqU§<;/þÛØQ­‡C{íFÁ™ ®ÖžiªŸf×0‡:PŒciÄø˜x‚û[^îÄ‹,XQ#Ʋ;f‚²B?çk|S–“IÏrñþà}KŽšù~›{nÀ‰LnÞŽû½ÓvAíÞ$LD@Ì‘øãã½çvš÷"~z¾v3kFÛesС•ƒtqцf4)ºDe‘:EÜ«d F,_û‹ñåFÐÅ° íȱ^]zA£ÝJ©q’ GòžŒŠV4äwŽ¥ñdrT-š $ÈtTw„°<¶B˜­S|„¾üK\ S¡Èk­?^¦hØ;F/À½fO bÖ.1ácûØþߠÙD!åJ›Ýb B­çí,&Y_ŒÙ1ÄÊÇômt2¶5rP8¤ÿmΒÓ…‘.$®BÕÇ.ÇNþ ÔBIaÔEOAsŠl=+KYøù×¥à;jj›˜,Ð{î®w`‡&Fwc$º%®Üˆ 8§0±ú¾KºÉ 7_¯öd¼9òiÎq¹,åÓ¢Uï_\Õí“Ýû¼¢ÄŠmX¡äpîØÊ€>VÏÿÍX“΃IU|´ô®œîÜýá@çpت¸´¨QÐ!•8ØPBFäBé T‹ÃHëX–»1±…ÖYP;’ˆ\Â`ïXðâìï"†·ðXèôS]~õó¶tÿ[GnuÖH•Íc=Þ¥oÇu +Ÿp|4C !‰ö #&ôõ9bÔÔÅIëNINÀ=¹]ë#¦Ëò]õ'G á;ýF~<¤-ì×›Lÿqé(AhyO!QÁºúJÔ<í—¼¤ÜZÕ²pØë©©cÍ©Úæµ 6 qGtÚ+"¨…ö5èıxv@šË2Dæ› ½æÉM/rY?,6ìîâò“Ýî§Lã%èØ%ùKB€éKX§¢:GÞÊ~u¿B¦|YÁupÚk`R…e𮘮 é ™€`^ `’·ö^œ`ÔJ‹Èvï ÔÞ˜Ú^M+ÇŽgT9'ÆÛWÅĀʦÕØAC/>ðT 46žIœREPzb‰1}Ä”&]·*ùlã‚]ºjµÉgsñë :¥ /cÀÜ\G†Åä( w¨PR›ú¥±Æ@1Þ.p×]ŠGë`ÖO2Ø,€z{ËçÓCîÔ¹¸@:XáŒMrPûØÜcŠ=Ѭ©ËqØÔ€›Þׇ2íLÚ]op]ʼn.¼9ëb0•Ö×ͮОO:cd¼ƒÐÚ$ª#3ôsí<ùž­ÿ÷à¸å¼od„¶Çç˜BÄõbDæ¥o v¤!+šãg§°,¶ƒÆ¡ñ˜Þ¶aÏ#BBr2ríúð‡Â¦&“§ÈùÍˬ٨‰aC +®»4¥ï\2Ö°¯=¨<ÎÈ|Ç¢E…b»ÛuáLÌNÆ’t”2¥/ù‚¨íoGœî»¹E·øzÞªPšŸ/ñÃa_4ÐNÇ^°+ð«ódûU“_ ¨Xó|†—J4…’v”i]Õ`qƒü·?4(ÉÂOÝû„B2¤=,YfÇ ŸÞ˜ò"Íab­Aþ<7.Y‡š¤%‹ýÈ›AÔ.—ï“ýnP¨+‚³&Ö5¢ 5ú…[í_ö«Øŵ¼ƒ=\¬ùǦ«=´™,[ç¶Ü–«º ?‰¤û wþ²ƒÎfm«Ä¬t‹vè €ÈÙZ^4 Š#s9`Ü’ƒ­Ë Ç[xw;ŒZ7á'·G ¶á\ញ  |¡¤ñõüÅÁËjý[S  5…VŽ:PÊ^=Ì€NDE†–‰GŒá×8ŒN¾öýý$X«,X`Í2 +«r%4®ëž4ƒ2›É{i=Ï}:ôÒžè?¤‡·#ê*ˤ°?=ø8 ,Íl&›m FYs½‚Õ«¼z®°TÞ¨vÔKו÷­›‹xq¿ëi—Šym_ŒtáÓ7Z“*;Wa1‚lƒò´´”V¿]æ­»NæÿÓò×`1AËl!P˜qßlÀ„ az¹J2üÆc.>Œ˜µ¢³ç´žSÃþ9fÍÛRn¥¡Ä‰F`ìOº%½©%H’S\6‡ É,Þ´¢ERfgL=Õ õÜt/r‰ólã!ƒ†€ëŸŽfr4èæëö`å&áTò¿:CI%ý>´qGaØa'¯x”ÄM Nß+¬¦q ÚS±¡²¹ºG¨=y•5ã4˜ØÇæ~)†R ˆÓ\fýŒï†'¿ƒ31§ß?~«îaâ[f{¶¤XJì÷´_$Xzë¶Û{irûKC(² +‘œê0Ö.ð3zMO¯’>Â$v`¥®ÄÒ.—irǾŸÙÌ™ˆÒârØü á\héÏ&!GxÍŒ<Ô"5÷û3ÓÚqõÒÅÏ¡t!«•Xy¬§\…åäYɪ=¥* +‡YKäò¬2YÖÃú3@ÛÌØ{Ž}Vu•ãÒTö`ï,^«“só3•½s'w~=ÍJ·¿åLârCžâ¼Æøï"g/òÊ•ûØ­óáŽÐJNsɳ.¤“1{™çh +9zri- +³‡|î¹ø××ç´ —äI÷kô±ýÝåÞ7`˜–Þ½â\î0*P™h@aì»'qBÓQ$…ÑãÚÕ|‰’£–ŒÛËeóÙuì^6…ðû-$¸à7tÊúx[Êö«[•¶0·Û.þfìDn^¿†Àð.¹©nX$q䋸hª¹–À-µ1¤_Ó¯&–à¤YbAè K%ÌlŸ`µ!Œ+Ö—ðPá”æd¬"‚ecQÈË°OáXD€ &þ{¥û.L«e s´¦.AÁ]J’î‚!Å|i˜Î™¼P\Ú??8BÎŽ½(“èïÛžùìßú")×C˜cKR¨Á7† d1ö¸á߆œâûòT‹lZN@‚?¬›yXÁ:²£C-W ËØb‡µâ¯m®'åóMž£ÄtÙHIQ÷kóAˆB‡O +ð’ÌÊCïpàá5‹ö’ø´ 5Œã3”1zØgÍGõ¹_[rÄ›ßum(/7Ο¿†Ïäõ  aEÀò]O‰~Îy† SÛ¸ @·ô·v»K?‚x*vîë»ü2xÚqhhܼ |ÓÓ£{“X ×þÅ‹Sw™áR~”±ù™#×<š +pHÔËù"`d£:Úœ%J Ýúʺñ[=ÛÄ×æU‘6$¦ŠUYɺ”ä{ÂÀŠ¸Æú> +$”ì‹@ù ¿åjË‘ªºÚI»§œä~p•R%du¾g5*eÇR’ª‚ü9˜ÙÛM~Sf‹|Qhðíß’5ãL÷0ý3›ƒ€µ-|Ÿ·îûìC;<ÂêðºUY ˆ¬{ëí!ò$>¨YUIé0L%)Ê1_•¡¨–ÀÁ÷‚rM7Ó#mܱ)¬5nä?É<¦¾—s9ÆR{N¥N·N‰ÌNBóª/z¥½?·þ½Áñtõõ”¼jñL‰¬ñvÖñsušú€GgYÊ.~€kÐR„Æ7dz +¸¥EÆxh#dÙgQýÿÝI2IQàqzŽeŸÊ®“Û·ã‡V™YĤ®_’¡>@€*- ‹=£vá ¡ªšB#°ù¹–Pýï(ª€›r‘Ôx€DN~àœ ìÔ4Ïõ¸Q£C»pâÏðhT犒΃Í%7J’0@["Òûq9ͽ”o,ʶ$-è|\ueë™…̦†\üÕ}ªr‘Y $’͆:˜ášÂ͘gë‚~pÖ¸¸i–¬à¿8»»xÆÈyü÷ øÙG)Ðm;­œ¼ìè^WkA’ÿ&¶ù#ÐŽª¥Ž¶pØCaùh‚)©ñËC—‹Ã ®£;[$Mpi›kïzxíQ(ÖxágÃîn›ÃŽOÅ]×i/Rí’Lè<Åf¿mk3V@Gú/;,Ù_¥çå'Å9K]=¢¸Ý+No|ÙCæK`—åY¸`â5âÍ9]×}“ ŒŽºÜ±',Ïì(•c*ÏU¥%ÓBùk6HèÅGœj ©¿—)ß.pÜT¢¢kþ{ÇfŸé8ÿëu‚8oÛ!æ¡BþmÚ˜PÕª×@PÕ1Mu +D’µ *£•y\Ö5È©·±N5„MÞò‘.Ö°xÒhZÿ¹‡ØÄØjέޮM§r¹G)Ÿå¤8Š“l +ò1ú¨,‹¸ÔìSq¢®—™Q;}Ø7¦½ÿUQÉF~¢j©9^æQ…ÚÎ gZ‹ÖÉÔ¾Kjþ‰q>‹sr¨mJ@S-jØ}/ç¶+=.ÆÝ7zUÄè9-:ÌÈFd¬>0ÁŒHnŒP!–ô£b&ÁSŒJþ0+„o*‡¯ˆÎïÅ—?ëžšHÄãVìyÓ¬qN#·V/®q™ÀúSEÓ~ËO7¡#¶| hÏg»Ú“&N¥BÙÏk3ƒŠOB³u0úZÿñ UŒ›U©0Êä‘r¦Ó`y?•&ܘ-c[=Öâd+—×^4^)Ÿå|:ñè>³Kؤ$M•÷ËåÕóXwÁ^SOÏäÆ7ãåpÚ tGHac¿¤':‚>z冉ºq$ûßÄãFÛÂ4kE•¿,èx@Ñ­tC/Z:Z~niI‰•H0ÔÇÉ{ +¤Gl©õôKE†Ñ<ô…³ÊààÚ$صýxÙ`dîì­‚ýˆ`FWO³%Eµ¹Ö\FÇ`Y%BA1Á°ÑÚ½ð EëË‚srþÙ±%¹ )¾¶ø÷ <ÜÅóìä©Ó;U€;3uŒ¹ø-ðá:~Œ€ íìh@ãzó+@¤ößän›iùe‰­T}÷_›i@qñö÷¤Yë° ²kÈtN% +™ºê!PL¼w(b¼ãð~çGÕt‡ÜŠaëR`•¸r¡ h9³~U-,yvÀñiŠäŸÙ‹ŒÎ‡2Y¹Ö$êl_ZûDe[ôTÑÓY6c†„¥úÀáˆN6*Ë°K¾pB‚†è|gBE?^5µ˜ô1ê=̤C1Žû…$*ï«ÖK!Ê{7'H¢^̦ÞÓ§è7®Çuar>Õzpùm¸8]‘»ê:eVDþò*WuCV# +oÑeüQ@òýýÑ´KE1-›XdÑ`bŽªž™Ë\·e»š"Ïñz?Wa9Ç ¥’G9ê¾·_¡"wÅ8‘fþX‘´„Äó1{%ÿëÞmŒÏý…ÅÁGÁÃká¼s•‚‘¦Aã˜wóì£ø%¥9Í Ó'AÇ%§÷R (†p®mµ[Ò‡Y—DËT±¿‡YÇïý¯™/U|Ìw©_°w†(q:ÊšO›S¢è(CöÞc=Ä#´®:úÎm¢Ë{§Ï* +ãÕ!£ 7´Fµ=iÍHGq…CK5ˆOù©e¼CJjí0Âe7áM^'C\ÎZK°7P’qT©“wÃÖ‡L6Ü <X¾LŒžC}'XmOØ´¨k –¤ñ?ôŠžú&ЗLs½|;òí½*‡0L_¢Ò…Ó$½!Á¸ÊËOZ«Üø†°Œ¨üèùL툿êÏ*n#{¬íìã‹`Õ̵µµØm¸„†#ÛQÑ-ä“yv\Å™Mflˆm¨ÔMÓï5áAVëëvr7ìš“`nCuƒ–Ú¬£ÒUfm W"%rç$£½I8‰=,*€BtBôÅW@égAC_¿j¥~& „ܾ:!ITŠÁíM²ÆÞ-¿§Id~A§†=¹˜&1¶[ÚU +™AŠÙ‚u'¹Ótd¸aD8¯`+(\Ø:ò¼j悾CT vZ]VÀ§r»Éœ0Ræn%÷-6¡0¬·8Ò +rN(Á þºJ?g|‹gBò! ÉŸ À/«Ì $Ì2°œ¤-B…¬cä!ùÀÀ‡Òw­XÚÞýÁ‡«Çן…Ü× |êGƒ¯ÚŽ§Ídž :¾£»S×­n£Áun(,PXÕ™ü4¹p"ÎéAq´L +jý˜¦ç‘ øh_Úl*úáâGÍN¾¡ä‚)í”NÛ[S-¾£• œqVäUÔ2†?c¶5Å£oÇãÚ–PÙµëö¤^6òҲ̉áŠ$o§Ó‘§rQ±ŠÔÉ-—¼ˆ§_?Q“‹®¯­¾tN©¹’wÈd5¦G]\³÷úà.(‹Õ ™=¿\5¥Ã¸~®çÓíq·0‘V.E°"Ìô.¨ÙŽþp;JÈM'[å Û¦ÆÿN 4cš1jÅí~/×èW;Ü +Zg Òòò5UKŽv—º’ñzÍÔ&á¢fØÞOwNé þ88‚_±ûwß—yÁkëÜÆiiÕéw»@¾Îý¿K²4 5a+Ó3§à»°ƒ8Å¿»7VêÉEfûÀñTç-´@Mp=èÕfi=ɨ½myÕOèûZÀ“M#6` +RŽ ퟹ?lС“cí”pKçÈí¹ |î¯_àÞƒÞÙ9ŽBAÛ¨Éÿ&oè-7_ö¶¶´.k#"˜ß/[{Á}W§ +¡ìûœúÉ+LCÚEN—îš´/¸ó—Äx[YЖ6[}\嘑1U§S³1æ3¯F¨ú1÷µä»«Cz{›G»Èuø·±K{F¤!Ê¥³ÆüâÖ¹îú¿ÈÛ Q‚ÿà@F˜W:þšÌ…ìJí£ú7lý5Qä^Ç‘=Çîˆ&c¡±ÀE! !ls»à–Ó×lÞ SÅ1&ß–)ˆËùü tzAéúðXhØ ·ŒDsfRèÚqžt'¦öˆÅsnYúÍ{†…j÷®­‚®¹£ó·b à²íI#çÊ\ã¡t©ÎOï ì}â G(‰åSɈ¬J‘Œ<ïï;´ïÂr]žº@igø¤––”é)Áø}…è*CL\^]Ÿª·ýÖÚ!Óé[g ºlÊ_7Ö§ìXÎ[ØÈ/Á¥¡ð¹ +nIñKؽö$<îI›C¹ü5èS¤€O•ùfüRcVs–⊟`R5Ç—«®­¡ÇF¢ÿ$'SÆÓ¥4„Añ–)H`ÔLGÚñå Lðg|í»¸B·¤äã…1N1¦eÌ>À³ð6…gáT¤¦Ì lØ®<ÔPa­gú•”ijý{°d ÙÅâ22<`Vn %MþôR‚çVv[¦ûúáþ¹G{§“,Góì/¥çßnM|`S3ôþøÛÛeP.}¨iU‰exØN!$tŽúÍÕ'ô|‰1×Ó Š«_ûOU¸ÞßâË„# ÞÅAúi~„³ àÕ«ÖdÇþPI"–6‹òëUË2R‰P$ø÷H鸨ZÒձ舥ļ²Å¾¯Ù€Â Å€„ŠÙ·ŠSªô¯çê5Ñóà\}HínÞùÔw˜t ç•Ñëvó0C¦Ñ†Dý?~æU—ÕÆ™Dusó{-øÔRw€¥·zz3wYaKk’aƒƒ·XZˆlë:Žáb+êÿ‘{#—ý¨¯¯ Éš -y[OâsEóÒuÒšà¡<%Œ.¾äŽS2ÀKø.-p”p[éðºlâíN|4ýpMɵ†q/úŽØ÷b;šúÓ§U%1¥¼…ÞƒnLVrG 09^"t·l8Eî¡Ýõô˜ß/=Ýô‡ô,Äög€&•#<‹Ëÿµ»ŸÄ¥­Al¦2Ûg¥4_…­U׸X +ÎØœ¼@¹ký˜f™aey©`ÛÅäîCg0É2ÖEƒ˜H¡ õ°¸Ûr[-ƒô6â;°K1TùÉ2«È—Ú†É3íP¼áJrŠRþ ù÷ä{ÃòÚøÂ-ÇùìfÂfG‚ú”³¹µnIH™›Æ&ˆzî}£­c£/eÓþí]lùKËaŠƒ‚ëÕËÝñRq䫺„Óo +,&–Æs éÈo¥"Õ!Y2U‹(ÒÊ\Ï.õ^’³ /úû%x»%ߦ±Ã |AŒ@$_søéêLG>*F£<<¯ÛÀ½²¶tB½lwòí㉪f®¨áÙ0ÿÅ¥<©¥ð#a•:šceøfhÒ¯³hgrN_NÛUË‚3*Òµ Oõ˜t:[ÒwpÒèxà5YlÁ}%Å^{åɲ?Ó0±Íü;% +5ŸG÷%æ¨7ÉiSîÜZO2Iõ5C*Bhq Ù7ZòR±©g’TY(ÝÑû‰q uï«DÅOV(¯Èõ; é+²™å Ƀ, +¹‹àÖéä2‡hY²[˜5]ߟˆ½E³4˜÷ é¡Fþå%¥Ç'X5 H“ŽcÙ-ê^p Hê\u´“ÈÕI¡/볫»Zü»¾P®Ü÷—ݦÔ¤A/ Li}ìúIõ¯Ër#D'ùÕÃäÊÔtK4c'×Ë+À±Î½>qŽc§¢Š!Tˆ¶®8‹ÞÛ¢Äسè«Kì_¹À¢[ÆÿG—:¬j¢6±mnþIï'¿«»5—4àÆ…Q)§E<·JB…µ`­£Øsàê ÈŸ +në*ÅùRoy°ƒÞ#†jJ„4-u„”‡?dÝ<ç·þª¼ªê€Ž”MÀ1챧 çn£çã:Ç·Ìq5ÙOÎ3üÌï«Šbâ¹Ò ýeµ~CmºË^0ŠŽEÃ{ äßz°!µ3ÆÉ<Š¶¯=–×qžV€”S½ 䪟Ê»cM—#Fñf_Y但Iô:k!ïødx)<ãJàEÝzWl\3¬GdÀß“ÛË. 4RÑZr“AAöƒI†„ÉQÐs=²úª†*=zL³76o‡“©¸e×€ÍNqHHÕÉx#«Êð…(_ 42Ÿ2eã€EæGR²Œû¶hÈ|9çSpO.¿Z•¨ö‡ž!57LÏzPë¶Þc7)uìzƒw Û`îO£Ê=ñã[Hš¦.)¹.ÃÙ^,]Ÿ(\ó€eضí"Ío2€Yß)ÁT­î?± VØ`U¨#á ž¿£wŠ\»ÊYþ?@ê7öuåùG_dx_"^ˆ+Ýg/CK;+K¶n¿ž…“O?7”¹³ Ñí +³Ã¶„w¥•ÚÉSk.LGæ·z–5›Wà/r‚ó^›±¨÷ÛbÉ€›²˜¶@)H| )Ç0„³v4d$Ùž,º‚ff3_¨Ý R%‚:s4WìÛëÈŸ£ý$›Ì÷FøCKŽ`íã5Ðõ c& lo oV‘–ÏX…d!­EaÈdà¬ùüÍLý´ëÆVÖm£ÁÚ!*UkFÞÚ79ÆÓÐviìöiq´`À +ÔsY'l²“Ôy´¨Í)¦1:"S¢¨ÂÏF™q¯6YTõö˜°IíŸ2cÓªÊhúÌío$¾>Zž`/wZyï­O°‰Ö–E9£FHÇÏø¯º5ýw,ÒS½*å^­´.SjÁç…I2 :6×Æ<®ÂŽO܃bePOø@fu¦%dAh?ÂÒðPøÂ23àH2¾£(§ü\EDn©Ú>ÒŒÒØÙ:ð°ÄnªùÑYÃHàJ£çãa£Mg•Ð@ÞÐÆñ]‰  –謩ãD`ÿõ¬OÐPyƒt‘Bù.-Ÿ*]ûÀÎD)F¬ÙGèz«‚å¦vsZºÞ"nŠÖÔ&p0³AVñŠY¿oTo\rܸK˜Û¥¬²0!5jöy³¯GŽ Ï™âòÐF( ë5d|c§Ö­ÙHÒ.‡²c•.qfx´©KZWdÆšo&ŒÕ‚…¨*¦Ý<Í-òfÃVÿ“©ZFÄN“Q@”Y.ô4%þ^I oQÝ5coT¼éFXoþóGtä=-°›Ö g3Û†HH{ÌÓñß5ÒF8°¤ðJAÛˆ`ŸcÌ+r–`×Mè@êÏÝ6èÓ+ßÙ†£÷î—ßX±¾hgÃÅß¼Ÿb_òù÷C¨„ˆ›ÈÄ’Gÿ£24[k¼™©F>:ê˜3Fõ]ߌ¡•$YµЙºš%F ð‡Ý7¢ +á:Ò1#‡7˜ß"ùN(ìаº¨ß؉jÞÙ’/xÓ_»\¨ùZi˜OÛ”€á=RLê‚ ­ÊðJVZ­Kuj(x€í1%XO LmJå;|x Á$XÚ˜©š—Ý•‡é5/ŠöB–rÀ5ã{u®Þüc„­úR v.AEW2fW·ôä5É—ÝVÕ&ÁAÊeLÂÓZÈÏÀýiFÇ3¥æZåƒñ†¿ªLŒ/”¢M3´5È‚™áÑO¿Û‰S~ÙSTúšNÙôãϼ“Øü¶tðáÂÄqj 3‰å£ŽBÁ +LAïnc¼ }XJ—úPFwð7Ëɹ–;ŠÖOÈÖ>²J¥òFLjùõäghÌùGê«=0ô ¯›áº "Ÿo[å"k”qX\}h5oVMr0Id@9ÑÓËa$¬¾|kïÃe—aáWö‘üäËôåP­5ÌM4[+ôèY‚Õ#½‘œs©t¸¡È÷…y‹R–ÔŠK[»M{sljÛýÒY =’DͳȖ6Å[¶ŸQ†eMfƒ –oÄÁÎ×Ê­$2b´)£¡`1ê¼¼äÿÐ-þº ƒÑÈ“cZJºµ"Ù>N»‘÷Á‹8îGÅsœm!^3 ¦ßZ»^mê@”Ö2¢‰<€ÔV’LT…ˆ¹¦ð3 5•åà ‚ºu ¦S¤êû †2Ö;˜ƒ¯8V~:Á…¨+}¯27BÚ~å©QåÎe-P}f8P6=ðh(!4»³’…QÛá +‚\8ŠsÁóÛ'baTÄÖ¦ux¡ðºG€$lkæĶ–·ðÛ`[ì»z"“‰5õÃ. +;Ù˜C_£Ë?ú몢[…ÛKŽ·b½¢tû2/³œÌsh’2Ì +ƒŽú(5úú¤éU4ŠYR@‚ šËl¨ÍžÊI€ÅKTxs¥‹È@¢…’Ãæ`ËMz(ʱ—€ƒî(Gò¶îµ--‰-2B”Èá9°úEx*$GB"l¨‘ƒÁ×ÉŠ*’`%Ëø^‚‚LìÝjžD[¸þ!è ±! ÑMéKE2tåö_k½³f°·þKÜLÅWT0J¶¶ Jˆ§n…AG"ÏþŠ¢fCûue³ôýd“Ê*0Ýíð?WIQ]ù!N~ !’–ð”ù&7¤'ß·Ãèñ3Ï\~€Šó~>9”Ô°Ar1+ëñôð?•¡yž:¢CR¹;+¨‘ÝaƒÝK¹ƒ<‚ôº+A@23ÚŽÌ؈BbZ¿µãè9‰':?Ü1úÚhÍVȹTy²¼*)]v¶„7¸ üà7³¿‡Í!p‹¯ÁXs ;/i]ÖÇÆPr 3vXkÇ‘fêìþ¦ùà@æ&QüŒrô{GË.6¤çf{•è,ˆâ !¥,vë¼àlû)«uÐQ~õº^ª5úËõI¨[;o7ãÒ÷ÈÓœ …ãútÓ!õæ’­Ú’ÀH;šÞ­,d¶wŠªûlȤüná‚™ŸåC°òÞÝ~D. ÊÔ!/8…-o!ƒïŒ=¬wfjøVÄEMŸÝÛ¾±T~gû›yÐ +ž?t@qÌuÃô‹¼? @oj†ºL°Ñiäsª:bÖ‡…(;ŒXbæ1©ºx ‡¯hÆ![hg\”´>©Y/²¸»Õ;ýƒSVÿE¢­U0u’~Í’KmÃ÷ý O©®a®›3.+™fèÙô’W·ØÄ!2Ì3‚Ÿj \zšÑŽ y§IŒ[°»þ?2IHŸ¬£iG isDé‰ “wÚôƒÉ>·çB ¤6½ +ºwzÛ²qi'€m•Rj¢&á)>„ïv€ySÅ+Q]µyB¸ß²€th¨GˆìVwûÕ\ÊÌÛ&TX^BÚšGÀÕÜ2CÅá~­n€Ü=Õ vû4.Ò¿\ŒÑ!ü˜X61RjÏs:#çzny3qXAªÜ|¯p`©Ë¬+ã;v„H}K©K¤Ct¨†u¤ê3Ž%2GlØê× ƽgJŠÇ]ÁŒNL.x_¥/‰ï¥ðïÆö$ó•6Êùñh-/ÎÍzÑ)îÔöM‚µŽ„Q€-H…AÂSAì^Ђ{ʨ›× +bÒé 83'D‰huªy‰qçxÑ.5 +ÑI¯T,DÜ6Â6'/±+¸ihœtslhˆâˆKÀÀNU7¼óÈð΂’¼\N,™f_2G¬“0¥§d ÐpÙ‚jjC©¬·yñÉÁÔ>ácc^‡… ˆ¦Ó·zKWBe¦y3Mã_iŽÇˆL@ q‡“:6âÅwu>aÄ!⣫ClÊœ ×閺̱V†z‰í+Ëm¹Î¸pÞ‘Mߢhå¼jJý™ƒEòu@E%{ô5‘G?5bª—×0{·­|´:sÕî̘4ʱ’HWt"~"$¥Í +>+Ð(z<1>ßW¤Ùá¿++ó\­=¸ [9r& ñ$½?Ãê–kWÕRÞ‡‚*ü¤b‘Êfb?ä­µÝ|µqöóŸ ÝT•¯`³‰ó±ú7C«tðÉýNò(ÑÀùÞáX9Ö•`9ÀªŽÿKƒ©pþQÏdxäÙÚiã$ +±°œ$«â²<ø×Mä>3æ!¡/ÿQÐ:À +DõRô½>Ú剽ãŽÖ¤±däWQz~6<Í?¬±™juwtC*°ð·õêÃf—Η2záä Á2>ÀÄ Èñ‹/Y¤Ó–'c¹J…\ÔÎ!ä’;kš³÷©_[ÍŸ3 ý'˃í’À¨H +Üák~«ÂOg'ž¤”ÝÌ}íl 4Q]^ ;Î6øu^±Â´„®W·=FÔ˜5ŒJ»ÃIƒÚÉk?²=)äs7ܪ/|¯Oè |"Å4¾OÜ»ûG1¿™£iáãÖ#2õ®*p¨¹÷­ˆ¥á{¹ 0]f˜lAŒlÛxÍÐCËöþH#c)1VÆœ +ÛÍÏ7üCaú Ê Ó‡•Vnž ÿ[Rè8sZª¯¨™ç)(V-©—7VWa'Íê³D{^¥{æÃ'ÒH>¨¹>†Ÿ!7ö]\ +åÕä!9>Úo¡†MÑ{V ¢S)âþÖmþúîIUAŒAßqªâÑÏÿ[8Éwc²xÜ‚\Óå<ÎœÈÅ¡<Ξü´9(ÁèH#Íkf¢Ï|¾§é‚”÷ò\Ix0€ç.Êì_5cºc/. 9‹XB„ßž¹ffýñ +²Í-4Am) ¤{Ÿ<µÚ5m³Wàh)CðåúT9‡î§` ö3üESóÔâúk†f7Bºñ.“„¨ —¢áyÆ41}D>VØõ±ZÏ8œmóQ%әўڪSžž±Ô Ï}–{›ý業¬â",ÍbKh‰ÓWLæéO•a˜íZE•o„·S‘AÐ[föÞ¼%Âzwðt.8ÒÊï¢Ø>t ƒH—ž^Û ¯ÁkÔÕâ~bGe©=Êüy`LÒSuKÆO?pYŽ‘²ÂûŠMÃSLlt mV-ãV}Ó¯ÅÊRÉÜÅ{â=G£ùå^ΘI‘ªG!Wý…¨Â®kk:Zs'òû÷"öJ͆ ƒÎð!yþÌâæõ5ggF¸w…0 aö¸¸é*ð¹?% +®ly’jµ!â–î1 ˆ’q%{–qÊÞ yχpí¸;¯ŸSÚe(v'Å éúÖ)¼­(€\ãr"ΫP]•U¶`ÕUBÊ%ˆ7³•X>¹X‘”+D=ð³¸}Wê6gfåž)ÝK¹:}vã\È‘ê©–Îâƒí«Iή{Õ ß1ÎÞ¬O§çúR©Úz};á\ +ÒmUˆ¸yæ•ö3•çƒF:Œ„eŸ:Ê}¡ì™}zПƒxGêžË:æÅj;Y¨ü©v-=¡‡Ûß=÷w%x< Ùµ· µÙÏ$KŽÏ¢Dî"Óµ›ù«Îs ÞúÚÔBêÇ®Ê;@Žç•óœ`;€Ú,ÙD„ù¤s¬ó=ñýx%•›»¨Ãð!ÀšÓv±pÁÅýÎ/ˆ‚Y2Ó•]sÀù‚z +&+MP©)iFœ3™øX gºa™”|ÂÖIÿn²Ìa~Tµ-ÆÉRµË¹uÎþ¨äúê{Ä°¼îðW)úrå…÷tðö,3ÀÙÀ…«‰RÍ|ðĶ=ÁÁÂë‘ÜëzP?ðb|Tgù\ŽÔŸòèQ:6‘´ê”©owKƒžjqPæ„#1í—d4½ÿ§RkM;B¿ÃÅP¶ŽÂó},ö¶óßã—ØMú²™·˜;Ë‚ýB=d ½²PÚÞ—aЋxíÄŒ|W›‰&Æê›æDÕ¦ÎgÍ«¿µ5¢€Ô:ÚÍ\bfK¤O¯pÔ~­•mì¬'3†êx²hÚˆÈEîåóú[9°¢XäuµŠ¥²PÛªfŸB6†ÿÔ‚ÌšêˆL¹ÛˆB¤£;ãö/BtCy¨+0ý`7w>bä횦ۃ#Ög!ßQ­™Æ–YN—Pãù×;!SE¡ìEþGø˜LNÙ°šX+ç.8Öõ(\&m•­ÀEæ;öSÈç®@¾„'2èw°ÿè¬lSΠDžäD „!m.éŠX’xàmü{ZÔ=­…ûF_c×s‰œå±™qñ_íé7Cò 3<ü¯q¹q"Õ¯0o(×ÕeuÅížüÇÎô6FO)93#0©-‚%G[¥Ë*oº»¢‰0¿ts–ÂòÜB¼¼;˜¬®w™Ê|£îPà5UéWQlQÏv‚Å <©è?ƒ«³Ö‚1ôóD_ŠªAd,Gá@ H2.Bv@ œ®b!?MU¸TÇÂUÒOþ‹ óÆ~yl~F3C¼VCN@z_›Š’sÿp*O*H¸XtÓ Û;H$i.ui×å:ÿ&¡U]{ä!1ÓF6ÓÂW/;YMîÕüGd*ý[zÌ´u¬úG}IlI9Ôó+b9â §Bï”y¦ÀŸÚ½Xárþ‰…`Ú]¾8 psƒ?ÜÙAk³³—ÃŽË -˜ƒc1‰âùxÍŸuTæOç±q%`žñÇáêXб s ¤×Á?/]ˆ xm(9uùŠL¸Gµª.e¢è"®õÄ›BqôžÙ3áHWí°†ǸkÞó‡Â²•bm·œ6øËQv‹L)z_è×>´pYLî- e’IÑÃpé°à,[tÑ`!ð9:˜P{žÏ4äÁ˜'8¹´ŒùÒ,¡Ž$Ù)¡ðçP”•f‰×¹@|騳’áä!/ÚXûækÕjÆ-'GÙ¤YÐÚàüR +TÇ6šÿÄi‹ºÉ!(@_¬Q~Ž'8i€™eÒd,sSLg Íö˜G­Àÿt‡V\3St÷6…f…»>¹Ç'çy.H«¥ÚÕ–|Óõý3ÞJ9Ûϱ¯³}þÄ@ZÍš ríx¥jjlxÏïDðvZ&r*4g•ýMMv«:f²l†°ô]@8dÖí¾b1vEï¥(û1ºšÎ3>ëé‡ “6£“^ˆB•L­¯S†2\Kò¨yiú³5éÿ7’ž [ºYyZS(ª,ÄûA X˜À’±‘4”‹¢”2ªPE&N¦Q&KÃý–íÀšD€‘‡.ÿ9ʦnª¬cÆPQAþ¦1øµ†+±¤ÞÏ`r†²£˜y"àϬˆþê-,|zvùC>S¼UC`‡I3ýzí&‰†·‰ÿ½me5w!4¤R²“²sÉ‹òje¤´/9¤“^ñ¿íxÒ’Ú¶µZCå«n?[(Åú¶éæ´•À‰G¯ äp ƒ$ÌçàBsk²EµD¹½#t¶}韺GNœ–ú–<ñ·4 +¨?šÕ¯u´h¦ÚÑ>t ¬µ–ê¹Äµ*ÁÒ†k';ðâÇÀoËð¬3JŠ85Êæo«x® WÁŠÏÁ ˜àÝqÑnáyI%+Ä')iÙþ¤5¢ð +[ÐõÅrTêbûw°$ˆs«hÛz`A:–õ8Pìi;Åһ߶±—P ,ÅóU—ÔR¥èÁøÂ5T/²ç‚xÐáÁÐÉl¯&(µL˜ãó-¸Ö,º4A¦9E¢Pì!Ä»—Ë¥J€÷0ËØÙtë?Ý>Ô^°íT×kÐfüªgS@,ï¹²0fÕlë‘~HÇ.Ô±â¿JoçrŒöŠ#öê?ó~_•td]¾Ñ\T º…7cÞ‰«Gû‰A6ŸjØfJð&×kRt+töÚFžV <.+Ú3W¥b ºÓðF»¿'¥íRÆÉlòûç#o vá—ãíOjpºË.Rð & a¶`@”jÇ¥´†laPˆ8—Q.úú¦‡íG|Ï÷´gL¼+›0ð§„Y¶Ò:Äœ¾Új#ñ%ñnÞà±C¯‰}Û×¹ÙûT Ië?´¹‹tŸ±V7Nsý~½rìœO¾TâOªï)±èF¤,„Ó¡Ï'âå›çk:ˆ(¡îpˆ|ê=÷J|}é¢9ÌÉéw@án‡„íýê[4ƒ„Àô)‹z¬®7§1®)ø—ð2¢÷¨Œ&ç3ö¼ìƒÿɛޛÅÿŸ4™»V™ÏŽøƒg,×{E&",=ß [°oè"°X>¤%ØZK)c;õmŸ_|ÌšøÄ3:«e„ǤþûÐz¿6}i"8Cbô:ÁNôþAo³/)í²¢ ¬(]xøÜy÷g}Í.J0ÉîJÙê ­Ú‹l’.˜@³Âél¬6Ÿ÷>S¤3Kõ?›l!Žç¸Ò:•§fÞMEA­ü´¤ˆØùùÐ}5+0?%à¾pT› ðØÓ>º ò¿˜uÓhÑ–¼zÇc 5~Nñ!µ€ blr¼†Ä]$D®ÍöÇ4©ÑL¿$7w¹p$ze‡ªŽ¸ Ý‘1-r›k{Åi¤DF ¥"(E øõ§ ôeò©3 vH¬×c °¯ŸÏŸëЈGÈÌlö4$§„“YM1ìµ^ŠÄ:/Ü…ÛpÞ_þ%ñÓÏ„{òßì/xnÈX:>RظðÈî°á‹?(‡ûݨ¤çpFbγÎn…oè!ª(˜¸LíÇü¿](R$|’/©@¹4!òVÎ7ðD€•á£HÖqÆQÆ„NH—%ê[4P F8—Ë_°ª£¾Q ´¤ž +endstream +endobj +19 0 obj +31660 +endobj +18 0 obj +36943 +endobj +20 0 obj +<< +/Type /FontDescriptor +/Ascent 993 +/CapHeight 900 +/Descent 211 +/Flags 34 +/FontBBox [-215.00 -211.00 988.00 993.00] +/FontName /GnomeUni-LuxiSans +/ItalicAngle 0 +/StemV 0 +/XHeight 600 +/FontFile 17 0 R +>> +endobj +8 0 obj +<< +/Type /Font +/Subtype /Type1 +/BaseFont /IAAAAA+LuxiSans +/Name /F8 +/FirstChar 0 +/LastChar 7 0 R +/Widths 6 0 R +/Encoding 5 0 R +/FontDescriptor 20 0 R +>> +endobj +21 0 obj +<< +/Type /Halftone +/HalftoneType 1 +/HalftoneName (Default) +/Frequency 60 +/Angle 45 +/SpotFunction /Round +>> +endobj +1 0 obj +<< +/Type /ExtGState +/SA false +/OP false +/HT /Default +>> +endobj +10 0 obj +[ 0 600.0 600.0 600.0 600.0 600.0 600.0 600.0 600.0 600.0 600.0 600.0 600.0 600.0 600.0 600.0 600.0 600.0 +600.0 600.0 600.0 600.0 600.0 600.0 600.0 600.0 600.0 600.0 600.0 600.0 600.0 600.0 600.0 600.0 600.0 +600.0 600.0 600.0 600.0 600.0 ] +endobj +9 0 obj +<< +/Type /Encoding +/BaseEncoding /MacRomanEncoding +/Differences [1 +/s /o /m /e /space /t /x /i /n /a /c /r /d /g /one /two /three /four /five /six /seven +/eight /nine /zero /period /w /h /hyphen /A /S /C /I /colon /odieresis /adieresis +/udieresis /Odieresis /Adieresis /Udieresis ] +>> +endobj +11 0 obj +39 +endobj +6 0 obj +[ 0 611.0 222.0 222.0 556.0 278.0 278.0 278.0 556.0 556.0 833.0 500.0 556.0 500.0 556.0 278.0 500.0 333.0 +556.0 278.0 556.0 278.0 667.0 556.0 556.0 ] +endobj +5 0 obj +<< +/Type /Encoding +/BaseEncoding /MacRomanEncoding +/Differences [1 +/F /i /l /e /colon /space /slash /h /o /m /c /a /s /n /t /x /hyphen /u /f /eight +/period /P /g /one ] +>> +endobj +7 0 obj +24 +endobj +2 0 obj +<< +/Type /Page +/Parent 23 0 R +/Resources 4 0 R +/Contents 3 0 R +>> +endobj +23 0 obj +<< +/Type /Pages +/Kids [2 0 R ] +/Count 1 +/MediaBox [0 0 595 841] +>> +endobj +22 0 obj +<< +/Type /Catalog +/Pages 23 0 R +>> +endobj +24 0 obj +<< +/CreationDate (D:20051020003055) +/Producer (libgnomeprint Ver: 2.12.1) +>> +endobj +xref +0 25 +0000000000 65535 f +0000080455 00000 n +0000081519 00000 n +0000000017 00000 n +0000001555 00000 n +0000081301 00000 n +0000081131 00000 n +0000081498 00000 n +0000080141 00000 n +0000080797 00000 n +0000080534 00000 n +0000081109 00000 n +0000042624 00000 n +0000001673 00000 n +0000042368 00000 n +0000042343 00000 n +0000042393 00000 n +0000042809 00000 n +0000079882 00000 n +0000079857 00000 n +0000079907 00000 n +0000080322 00000 n +0000081699 00000 n +0000081608 00000 n +0000081756 00000 n +trailer +<< +/Size 25 +/Root 22 0 R +/Info 24 0 R +>> +startxref +81855 +%%EOF diff -Nru shared-mime-info-1.15/tests/mime-detection/rectangle.qml shared-mime-info-2.0/tests/mime-detection/rectangle.qml --- shared-mime-info-1.15/tests/mime-detection/rectangle.qml 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/rectangle.qml 2020-05-06 14:11:14.232907500 +0000 @@ -0,0 +1,2 @@ +import QtQuick 2.10 +Rectangle{width:400;height:200;color:"lightblue"} diff -Nru shared-mime-info-1.15/tests/mime-detection/registry-nt.reg shared-mime-info-2.0/tests/mime-detection/registry-nt.reg --- shared-mime-info-1.15/tests/mime-detection/registry-nt.reg 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/registry-nt.reg 2020-05-06 14:11:14.232907500 +0000 @@ -0,0 +1,3 @@ +REGEDIT4 +[HKEY_CURRENT_USER\SomeKey] +"SomeStringValue"="Hello" Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/registry.reg and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/registry.reg differ diff -Nru shared-mime-info-1.15/tests/mime-detection/reStructuredText.rst shared-mime-info-2.0/tests/mime-detection/reStructuredText.rst --- shared-mime-info-1.15/tests/mime-detection/reStructuredText.rst 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/reStructuredText.rst 2020-05-06 14:11:14.232907500 +0000 @@ -0,0 +1,68 @@ +Examples from Wikipedia page +============================ + +Lists +----- + +- A bullet list item +- Second item + + - A sub item + +- Spacing between items creates separate lists + +- Third item + +1) An enumerated list item + +2) Second item + + a) Sub item that goes on at length and thus needs + to be wrapped. Note the indentation that must + match the beginning of the text, not the + enumerator. + + i) List items can even include + + paragraph breaks. + +3) Third item + +#) Another enumerated list item + +#) Second item + +Images +------ + +.. image:: /path/to/image.jpg + +Named links +----------- + +A sentence with links to Wikipedia_ and the `Linux kernel archive`_. + +.. _Wikipedia: https://www.wikipedia.org/ +.. _Linux kernel archive: https://www.kernel.org/ + +Anonymous links +--------------- + +Another sentence with an `anonymous link to the Python website`__. + +__ https://www.python.org/ + +Literal blocks +-------------- + +:: + + some literal text + +This may also be used inline at the end of a paragraph, like so:: + + some more literal text + +.. code:: python + + print("A literal block directive explicitly marked as python code") Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/rgb-reference.ktx and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/rgb-reference.ktx differ diff -Nru shared-mime-info-1.15/tests/mime-detection/ringtone.ime shared-mime-info-2.0/tests/mime-detection/ringtone.ime --- shared-mime-info-1.15/tests/mime-detection/ringtone.ime 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/ringtone.ime 2020-05-06 14:11:14.233907700 +0000 @@ -0,0 +1,5 @@ +BEGIN:IMELODY +VERSION:1.2 +FORMAT:CLASS1.0 +MELODY:*3c2c3*3a3*3g3*3e3*3g2.*3d2.*3c2c3*3a3*3g3*3e3*3g1.r2 +END:IMELODY Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/ringtone.m4r and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/ringtone.m4r differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/ringtone.mmf and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/ringtone.mmf differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/ripoux.sap and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/ripoux.sap differ diff -Nru shared-mime-info-1.15/tests/mime-detection/sample1.nzb shared-mime-info-2.0/tests/mime-detection/sample1.nzb --- shared-mime-info-1.15/tests/mime-detection/sample1.nzb 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/sample1.nzb 2020-05-06 14:11:14.235907600 +0000 @@ -0,0 +1,18 @@ + + + + + Your File! + Example + + + + alt.binaries.newzbin + alt.binaries.mojo + + + 123456789abcdef@news.newzbin.com + 987654321fedbca@news.newzbin.com + + + Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/sample2.amr and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/sample2.amr differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/sample.docx and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/sample.docx differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/sample.png.lzma and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/sample.png.lzma differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/sample.ppsx and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/sample.ppsx differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/sample.pptx and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/sample.pptx differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/sample.vsdx and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/sample.vsdx differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/sample.xlsx and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/sample.xlsx differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/saturn-test.bin and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/saturn-test.bin differ diff -Nru shared-mime-info-1.15/tests/mime-detection/SConscript shared-mime-info-2.0/tests/mime-detection/SConscript --- shared-mime-info-1.15/tests/mime-detection/SConscript 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/SConscript 2020-05-06 14:11:14.157908200 +0000 @@ -0,0 +1,663 @@ +# vi: syntax=python:et:ts=4 + +import commands, os +from subprocess import Popen, PIPE +from glob import glob + +Import("*") + +for env in [test_env, client_env, env]: + env.Append(CPPDEFINES = "$EXTRA_DEFINE") + +#color_range.cpp should be removed, but game_config depends on it. +#game_config has very few things that are needed elsewhere, it should be +#removed. Requires moving path and version at least to other files. + +libwesnoth_core_sources = Split(""" + color_range.cpp + config.cpp + gettext.cpp + hash.cpp + log.cpp + map.cpp + map_location.cpp + md5.cpp + thread.cpp + tstring.cpp + util.cpp + version.cpp + serialization/binary_or_text.cpp + serialization/parser.cpp + serialization/preprocessor.cpp + serialization/schema_validator.cpp + serialization/string_utils.cpp + serialization/tokenizer.cpp + serialization/validator.cpp + tools/schema/tag.cpp + """) + +libwesnoth_core_sources.extend(env.Object("network_worker.cpp", EXTRA_DEFINE = env['raw_sockets'] and "NETWORK_USE_RAW_SOCKETS" or None)) + +if env["use_network_ana"]: + client_env.Append(CPPPATH = ["#/src/ana/api"]) + libwesnoth_core_sources.append("network_ana.cpp") + libwesnoth_core_sources.append("network_manager_ana.cpp") + ana = SConscript("ana/src/SConscript", exports = {"env" : client_env}) +else: + libwesnoth_core_sources.append("network.cpp") + ana = [] + +game_config_env = env.Clone() +filesystem_env = env.Clone() +if env["PLATFORM"] != "win32": + game_config_env.Append(CPPDEFINES = "WESNOTH_PATH='\"$datadir\"'") + if env['localedirname']: + filesystem_env.Append(CPPDEFINES = "LOCALEDIR='\"$localedirname\"'") + if not os.path.isabs(env['localedirname']): + filesystem_env.Append(CPPDEFINES = "HAS_RELATIVE_LOCALEDIR") + if env['version_suffix'] and not env['prefsdir']: + filesystem_env['prefsdir'] = ".wesnoth$version_suffix" + if filesystem_env['prefsdir']: + filesystem_env.Append(CPPDEFINES = "PREFERENCES_DIR='\"$prefsdir\"'") + +if env['default_prefs_file']: + client_env.Append(CPPDEFINES = "DEFAULT_PREFS_PATH='\"$default_prefs_file\"'") + + game_config_env['default_prefs_file'] = env['default_prefs_file'] + game_config_env.Append(CPPDEFINES = "DEFAULT_PREFS_PATH='\"$default_prefs_file\"'") + if not os.path.isabs(env['default_prefs_file']): + filesystem_env.Append(CPPDEFINES = "HAS_RELATIVE_DEFPREF") + +libwesnoth_core_sources.extend([ + game_config_env.Object("game_config.cpp"), + filesystem_env.Object("filesystem.cpp") + ]) + +libwesnoth_core = [env.Library("wesnoth_core", libwesnoth_core_sources), ana] + +libwesnoth_sources = Split(""" + arrow.cpp + pathfind/astarsearch.cpp + builder.cpp + cavegen.cpp + clipboard.cpp + construct_dialog.cpp + cursor.cpp + display.cpp + events.cpp + generic_event.cpp + hotkeys.cpp + image.cpp + image_modifications.cpp + joystick.cpp + game_end_exceptions.cpp + key.cpp + language.cpp + loadscreen.cpp + map_create.cpp + map_label.cpp + mapgen.cpp + mapgen_dialog.cpp + marked-up_text.cpp + minimap.cpp + pathutils.cpp + preferences.cpp + preferences_display.cpp + race.cpp + random.cpp + reports.cpp + show_dialog.cpp + sound.cpp + soundsource.cpp + sound_music_track.cpp + terrain.cpp + terrain_translation.cpp + text.cpp + time_of_day.cpp + tooltips.cpp + video.cpp + theme.cpp + widgets/button.cpp + widgets/file_menu.cpp + widgets/label.cpp + widgets/menu.cpp + widgets/menu_style.cpp + widgets/progressbar.cpp + widgets/scrollarea.cpp + widgets/scrollbar.cpp + widgets/slider.cpp + widgets/textbox.cpp + widgets/widget.cpp + wml_exception.cpp + """) +libwesnoth_sources.extend([ + client_env.Object("font.cpp", EXTRA_DEFINE = client_env['fribidi'] and "HAVE_FRIBIDI" or None), + ]) + +libwesnoth = client_env.Library("wesnoth", libwesnoth_sources) + +libwesnothd_sources = Split(""" + loadscreen_empty.cpp + tools/dummy_video.cpp + """) +libwesnothd = env.Library("wesnothd", libwesnothd_sources) + +libcampaignd_sources = Split(""" + addon/validation.cpp + """) +libcampaignd = env.Library("campaignd", libcampaignd_sources, OBJPREFIX = "campaignd_") + +libwesnoth_sdl_sources = Split(""" + sdl_utils.cpp + tracer.cpp + """) +libwesnoth_sdl = client_env.Library("wesnoth_sdl", libwesnoth_sdl_sources) + +libcutter_sources = Split(""" + tools/exploder_utils.cpp + tools/exploder_cutter.cpp + """) +libcutter = client_env.Library("cutter", libcutter_sources) + +# Used by both 'wesnoth' and 'test' targets +wesnoth_sources = Split(""" + about.cpp + actions/attack.cpp + actions/create.cpp + actions/heal.cpp + actions/move.cpp + actions/undo.cpp + actions/vision.cpp + addon/client.cpp + addon/info.cpp + addon/manager.cpp + addon/manager_ui.cpp + addon/state.cpp + addon/validation.cpp + ai/actions.cpp + ai/akihara/recruitment.cpp + ai/composite/ai.cpp + ai/composite/aspect.cpp + ai/composite/component.cpp + ai/composite/contexts.cpp + ai/composite/engine.cpp + ai/composite/engine_default.cpp + ai/composite/engine_fai.cpp + ai/composite/engine_lua.cpp + ai/composite/goal.cpp + ai/composite/rca.cpp + ai/composite/stage.cpp + ai/configuration.cpp + ai/contexts.cpp + ai/default/ai.cpp + ai/default/attack.cpp + ai/default/contexts.cpp + ai/formula/ai.cpp + ai/formula/callable_objects.cpp + ai/formula/candidates.cpp + ai/formula/function_table.cpp + ai/formula/stage_side_formulas.cpp + ai/formula/stage_unit_formulas.cpp + ai/game_info.cpp + ai/gamestate_observer.cpp + ai/interface.cpp + ai/lua/core.cpp + ai/lua/lua_object.cpp + ai/lua/unit_advancements_aspect.cpp + ai/manager.cpp + ai/registry.cpp + ai/testing.cpp + ai/testing/aspect_attacks.cpp + ai/testing/ca.cpp + ai/testing/ca_global_fallback.cpp + ai/testing/ca_testing_move_to_targets.cpp + ai/testing/ca_testing_recruitment.cpp + ai/testing/stage_fallback.cpp + ai/testing/stage_rca.cpp + animated_game.cpp + attack_prediction.cpp + attack_prediction_display.cpp + callable_objects.cpp + commandline_options.cpp + config_cache.cpp + controller_base.cpp + dialogs.cpp + editor/action/action.cpp + editor/action/action_unit.cpp + editor/action/action_label.cpp + editor/action/action_village.cpp + editor/action/action_item.cpp + editor/action/mouse/mouse_action.cpp + editor/action/mouse/mouse_action_map_label.cpp + editor/action/mouse/mouse_action_unit.cpp + editor/action/mouse/mouse_action_village.cpp + editor/action/mouse/mouse_action_item.cpp + editor/map/editor_map.cpp + editor/map/map_context.cpp + editor/map/map_fragment.cpp + editor/map/context_manager.cpp + editor/palette/editor_palettes.cpp + editor/palette/terrain_palettes.cpp + editor/palette/tristate_button.cpp + editor/palette/unit_palette.cpp + editor/palette/item_palette.cpp + editor/palette/palette_manager.cpp + editor/editor_controller.cpp + editor/editor_display.cpp + editor/editor_main.cpp + editor/editor_preferences.cpp + editor/toolkit/brush.cpp + editor/toolkit/editor_toolkit.cpp + filechooser.cpp + floating_textbox.cpp + formula.cpp + formula_debugger.cpp + formula_debugger_fwd.cpp + formula_function.cpp + formula_string_utils.cpp + formula_tokenizer.cpp + game_controller.cpp + game_controller_abstract.cpp + game_controller_new.cpp + game_display.cpp + game_errors.cpp + game_events.cpp + game_instance.cpp + game_preferences.cpp + gamestatus.cpp + gui/auxiliary/canvas.cpp + gui/auxiliary/event/dispatcher.cpp + gui/auxiliary/event/distributor.cpp + gui/auxiliary/event/handler.cpp + gui/auxiliary/iterator/iterator.cpp + gui/auxiliary/iterator/walker_grid.cpp + gui/auxiliary/iterator/walker_widget.cpp + gui/auxiliary/log.cpp + gui/auxiliary/placer.cpp + gui/auxiliary/placer/horizontal_list.cpp + gui/auxiliary/placer/vertical_list.cpp + gui/auxiliary/old_markup.cpp + gui/auxiliary/timer.cpp + gui/auxiliary/tips.cpp + gui/auxiliary/widget_definition.cpp + gui/auxiliary/widget_definition/button.cpp + gui/auxiliary/widget_definition/drawing.cpp + gui/auxiliary/widget_definition/horizontal_scrollbar.cpp + gui/auxiliary/widget_definition/image.cpp + gui/auxiliary/widget_definition/label.cpp + gui/auxiliary/widget_definition/listbox.cpp + gui/auxiliary/widget_definition/matrix.cpp + gui/auxiliary/widget_definition/minimap.cpp + gui/auxiliary/widget_definition/multi_page.cpp + gui/auxiliary/widget_definition/panel.cpp + gui/auxiliary/widget_definition/progress_bar.cpp + gui/auxiliary/widget_definition/repeating_button.cpp + gui/auxiliary/widget_definition/scroll_label.cpp + gui/auxiliary/widget_definition/scrollbar_panel.cpp + gui/auxiliary/widget_definition/slider.cpp + gui/auxiliary/widget_definition/spacer.cpp + gui/auxiliary/widget_definition/stacked_widget.cpp + gui/auxiliary/widget_definition/text_box.cpp + gui/auxiliary/widget_definition/toggle_button.cpp + gui/auxiliary/widget_definition/toggle_panel.cpp + gui/auxiliary/widget_definition/tree_view.cpp + gui/auxiliary/widget_definition/vertical_scrollbar.cpp + gui/auxiliary/widget_definition/window.cpp + gui/auxiliary/window_builder.cpp + gui/auxiliary/window_builder/button.cpp + gui/auxiliary/window_builder/control.cpp + gui/auxiliary/window_builder/drawing.cpp + gui/auxiliary/window_builder/helper.cpp + gui/auxiliary/window_builder/horizontal_listbox.cpp + gui/auxiliary/window_builder/horizontal_scrollbar.cpp + gui/auxiliary/window_builder/instance.cpp + gui/auxiliary/window_builder/image.cpp + gui/auxiliary/window_builder/label.cpp + gui/auxiliary/window_builder/listbox.cpp + gui/auxiliary/window_builder/matrix.cpp + gui/auxiliary/window_builder/minimap.cpp + gui/auxiliary/window_builder/multi_page.cpp + gui/auxiliary/window_builder/pane.cpp + gui/auxiliary/window_builder/panel.cpp + gui/auxiliary/window_builder/password_box.cpp + gui/auxiliary/window_builder/progress_bar.cpp + gui/auxiliary/window_builder/repeating_button.cpp + gui/auxiliary/window_builder/scroll_label.cpp + gui/auxiliary/window_builder/scrollbar_panel.cpp + gui/auxiliary/window_builder/slider.cpp + gui/auxiliary/window_builder/spacer.cpp + gui/auxiliary/window_builder/stacked_widget.cpp + gui/auxiliary/window_builder/text_box.cpp + gui/auxiliary/window_builder/toggle_button.cpp + gui/auxiliary/window_builder/toggle_panel.cpp + gui/auxiliary/window_builder/tree_view.cpp + gui/auxiliary/window_builder/vertical_scrollbar.cpp + gui/auxiliary/window_builder/viewport.cpp + gui/dialogs/addon/description.cpp + gui/dialogs/addon/filter_options.cpp + gui/dialogs/addon/uninstall_list.cpp + gui/dialogs/addon_connect.cpp + gui/dialogs/addon_list.cpp + gui/dialogs/campaign_difficulty.cpp + gui/dialogs/campaign_selection.cpp + gui/dialogs/chat_log.cpp + gui/dialogs/data_manage.cpp + gui/dialogs/debug_clock.cpp + gui/dialogs/dialog.cpp + gui/dialogs/edit_label.cpp + gui/dialogs/editor/editor_edit_label.cpp + gui/dialogs/editor/custom_tod.cpp + gui/dialogs/editor_generate_map.cpp + gui/dialogs/editor_new_map.cpp + gui/dialogs/editor_resize_map.cpp + gui/dialogs/editor_set_starting_position.cpp + gui/dialogs/folder_create.cpp + gui/dialogs/formula_debugger.cpp + gui/dialogs/game_delete.cpp + gui/dialogs/game_load.cpp + gui/dialogs/game_save.cpp + gui/dialogs/gamestate_inspector.cpp + gui/dialogs/language_selection.cpp + gui/dialogs/lobby/lobby_data.cpp + gui/dialogs/lobby/lobby_info.cpp + gui/dialogs/lobby_main.cpp + gui/dialogs/lobby_player_info.cpp + gui/dialogs/message.cpp + gui/dialogs/mp_cmd_wrapper.cpp + gui/dialogs/mp_change_control.cpp + gui/dialogs/mp_connect.cpp + gui/dialogs/mp_create_game.cpp + gui/dialogs/mp_create_game_choose_mods.cpp + gui/dialogs/mp_create_game_set_password.cpp + gui/dialogs/mp_depcheck_confirm_change.cpp + gui/dialogs/mp_depcheck_select_new.cpp + gui/dialogs/mp_host_game_prompt.cpp + gui/dialogs/mp_login.cpp + gui/dialogs/mp_method_selection.cpp + gui/dialogs/network_transmission.cpp + gui/dialogs/popup.cpp + gui/dialogs/edit_text.cpp + gui/dialogs/simple_item_selector.cpp + gui/dialogs/tip.cpp + gui/dialogs/title_screen.cpp + gui/dialogs/transient_message.cpp + gui/dialogs/unit_attack.cpp + gui/dialogs/unit_create.cpp + gui/dialogs/wml_message.cpp + gui/lib/types/point.cpp + gui/widgets/button.cpp + gui/widgets/container.cpp + gui/widgets/control.cpp + gui/widgets/drawing.cpp + gui/widgets/generator.cpp + gui/widgets/grid.cpp + gui/widgets/helper.cpp + gui/widgets/horizontal_scrollbar.cpp + gui/widgets/image.cpp + gui/widgets/label.cpp + gui/widgets/list.cpp + gui/widgets/listbox.cpp + gui/widgets/matrix.cpp + gui/widgets/minimap.cpp + gui/widgets/multi_page.cpp + gui/widgets/pane.cpp + gui/widgets/panel.cpp + gui/widgets/password_box.cpp + gui/widgets/progress_bar.cpp + gui/widgets/repeating_button.cpp + gui/widgets/scroll_label.cpp + gui/widgets/scrollbar.cpp + gui/widgets/scrollbar_container.cpp + gui/widgets/scrollbar_panel.cpp + gui/widgets/settings.cpp + gui/widgets/slider.cpp + gui/widgets/spacer.cpp + gui/widgets/stacked_widget.cpp + gui/widgets/text.cpp + gui/widgets/text_box.cpp + gui/widgets/toggle_button.cpp + gui/widgets/toggle_panel.cpp + gui/widgets/tree_view.cpp + gui/widgets/tree_view_node.cpp + gui/widgets/vertical_scrollbar.cpp + gui/widgets/viewport.cpp + gui/widgets/widget.cpp + gui/widgets/window.cpp + halo.cpp + help.cpp + intro.cpp + leader_list.cpp + leader_scroll_dialog.cpp + lobby_preferences.cpp + menu_events.cpp + mouse_events.cpp + mouse_handler_base.cpp + movetype.cpp + mp_depcheck.cpp + mp_game_settings.cpp + mp_options.cpp + multiplayer.cpp + multiplayer_connect.cpp + multiplayer_create.cpp + multiplayer_lobby.cpp + multiplayer_ui.cpp + multiplayer_wait.cpp + network_asio.cpp + pathfind/pathfind.cpp + pathfind/teleport.cpp + persist_context.cpp + persist_manager.cpp + persist_var.cpp + play_controller.cpp + playcampaign.cpp + playmp_controller.cpp + playsingle_controller.cpp + playturn.cpp + portrait.cpp + replay.cpp + replay_controller.cpp + resources.cpp + save_blocker.cpp + savegame.cpp + savegame_config.cpp + scripting/debug_lua.cpp + scripting/lua.cpp + settings.cpp + sha1.cpp + side_filter.cpp + statistics.cpp + statistics_dialog.cpp + storyscreen/controller.cpp + storyscreen/interface.cpp + storyscreen/part.cpp + storyscreen/render.cpp + team.cpp + terrain_filter.cpp + tod_manager.cpp + unit.cpp + unit_abilities.cpp + unit_animation.cpp + unit_display.cpp + unit_frame.cpp + unit_helper.cpp + unit_id.cpp + unit_map.cpp + unit_types.cpp + variable.cpp + variant.cpp + whiteboard/action.cpp + whiteboard/attack.cpp + whiteboard/highlighter.cpp + whiteboard/manager.cpp + whiteboard/mapbuilder.cpp + whiteboard/move.cpp + whiteboard/recall.cpp + whiteboard/recruit.cpp + whiteboard/side_actions.cpp + whiteboard/suppose_dead.cpp + whiteboard/utility.cpp + widgets/combo.cpp + widgets/combo_drag.cpp + widgets/drop_target.cpp + widgets/scrollpane.cpp + """) + +if env["PLATFORM"] == "win32": + wesnoth_sources.append("windows_tray_notification.cpp") + +wesnoth_sources.extend(client_env.Object("game_preferences_display.cpp", EXTRA_DEFINE = env["PLATFORM"] != "win32" and "WESNOTH_PREFIX='\"$prefix\"'" or None)) +wesnoth_sources.extend(client_env.Object("hotkey_preferences_display.cpp", EXTRA_DEFINE = env["PLATFORM"] != "win32" and "WESNOTH_PREFIX='\"$prefix\"'" or None)) + +libwesnoth_extras = client_env.Library("wesnoth_extras", wesnoth_sources) + +libwesnoth_extras.extend(SConscript("lua/SConscript")) + +# +# Target declarations +# + +def error_action(target, source, env): + from SCons.Errors import UserError + raise UserError, "Target disabled because its prerequisites are not met" + +def WesnothProgram(env, target, source, can_build, **kw): + if can_build: + if env["build"] == "base": + bin = env.Program(target, source, **kw) + else: + bin = env.Program("#/" + target + build_suffix, source, **kw) + env.Alias(target, bin) + else: + bin = env.Alias(target, [], error_action) + AlwaysBuild(bin) + locals()[target] = bin + Export(target) + +for env in [test_env, client_env, env]: + env.AddMethod(WesnothProgram) + +wesnoth_objects = ["game.cpp", libwesnoth_extras, libwesnoth_core, libwesnoth_sdl, + libwesnoth, env["wesnoth_res"]] +if env["host"] in ["x86_64-nacl", "i686-nacl"]: + wesnoth_objects += [SConscript("nacl/SConscript")] +client_env.WesnothProgram("wesnoth", wesnoth_objects, have_client_prereqs) + +campaignd_sources = Split(""" + server/input_stream.cpp + """) + +if env["PLATFORM"] == "win32": env["fifodir"] = "" +campaignd_sources.extend(env.Object("campaign_server/campaign_server.cpp", EXTRA_DEFINE = env['fifodir'] and "FIFODIR='\"$fifodir\"'" or None)) + +env.WesnothProgram("campaignd", campaignd_sources + [libwesnoth_core, libwesnothd, libcampaignd], have_server_prereqs) + +wesnothd_sources = Split(""" + server/ban.cpp + server/forum_user_handler.cpp + server/game.cpp + server/input_stream.cpp + server/metrics.cpp + server/player.cpp + server/player_network.cpp + server/proxy.cpp + server/room.cpp + server/room_manager.cpp + server/sample_user_handler.cpp + server/simple_wml.cpp + server/user_handler.cpp + """) +wesnothd_sources.extend(env.Object("server/server.cpp", EXTRA_DEFINE = env['fifodir'] and "FIFODIR='\"$fifodir\"'" or None)) + +env.WesnothProgram("wesnothd", wesnothd_sources + [libwesnoth_core, libwesnothd], have_server_prereqs) + +cutter_sources = Split(""" + tools/cutter.cpp + """) +client_env.WesnothProgram("cutter", cutter_sources + [libcutter, libwesnoth_core, libwesnoth_sdl, libwesnothd, libwesnoth], have_client_prereqs, LIBS = ["$LIBS", "png"]) + +exploder_sources = Split(""" + tools/exploder.cpp + tools/exploder_composer.cpp + """) +client_env.WesnothProgram("exploder", exploder_sources + [libcutter, libwesnoth_core, libwesnoth_sdl, libwesnothd, libwesnoth], have_client_prereqs, LIBS = ["$LIBS", "png"]) + +schema_generator_sources = Split(""" + tools/schema/schema_generator.cpp + tools/schema/sourceparser.cpp + tools/schema/error_container.cpp + """) +client_env.WesnothProgram("schema_generator", schema_generator_sources + [libwesnoth_core, libwesnothd], have_client_prereqs) + +test_utils_sources = Split(""" + tests/utils/game_config_manager.cpp + tests/utils/fake_event_source.cpp + tests/utils/fake_display.cpp + """) + +wesmage_sources = Split(""" + wesmage/wesmage.cpp + wesmage/exit.cpp + wesmage/filter.cpp + wesmage/options.cpp + tools/dummy_video.cpp + tools/exploder_utils.cpp + sdl_utils.cpp + tracer.cpp + loadscreen_empty.cpp + """) +client_env.WesnothProgram("wesmage", wesmage_sources + [libwesnoth_core], have_client_prereqs, OBJPREFIX = "wesmage_", LIBS = ["$LIBS", "png"]) + +libtest_utils = test_env.Library("test_utils", test_utils_sources) + +test_sources = Split(""" + tests/floating_point_emulation.cpp + tests/main.cpp + tests/test_addons.cpp + tests/test_commandline_options.cpp + tests/test_formula_ai.cpp + tests/test_formula_function.cpp + tests/test_image_modifications.cpp + tests/test_lexical_cast.cpp + tests/test_network_worker.cpp + tests/test_team.cpp + tests/test_unit_map.cpp + tests/test_util.cpp + tests/test_sdl_utils.cpp + tests/test_serialization.cpp + tests/test_version.cpp + tests/test_whiteboard_side_actions.cpp + tests/gui/fire_event.cpp + tests/gui/iterator.cpp + tests/gui/test_drop_target.cpp + tests/gui/test_gui2.cpp + tests/gui/test_save_dialog.cpp + tests/gui/visitor.cpp + tests/utils/play_scenario.cpp + """) +test_sources.extend(test_env.Object("tests/test_config_cache.cpp")) + +test = test_env.WesnothProgram("test", test_sources + [libwesnoth_extras, libwesnoth_core, libwesnoth_sdl, libwesnoth, libwesnoth_extras, libtest_utils], have_test_prereqs) + +create_images_sources = Split(""" + tests/create_images.cpp + tools/dummy_video.cpp + tools/exploder_utils.cpp + sdl_utils.cpp + tracer.cpp + loadscreen_empty.cpp +""") + +env.WesnothProgram("create_images", create_images_sources + [libwesnoth_core], have_server_prereqs, OBJPREFIX = "create_images_", LIBS = ["$LIBS", "png"]) + +if env.get("have_autorevision"): + game_config_env.Append(CPPDEFINES = 'LOAD_REVISION') + +sources = [] +if "TAGS" in COMMAND_LINE_TARGETS: + sources = [ Glob(os.path.join(dir, pattern)) for dir in ["", "*", "*/*"] for pattern in ["*.cpp", "*.hpp"] ] + +Export("sources") + +# Local variables: +# mode: python +# end: diff -Nru shared-mime-info-1.15/tests/mime-detection/SConscript.buildinfo shared-mime-info-2.0/tests/mime-detection/SConscript.buildinfo --- shared-mime-info-1.15/tests/mime-detection/SConscript.buildinfo 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/SConscript.buildinfo 2020-05-06 14:11:14.157908200 +0000 @@ -0,0 +1,67 @@ +# -*- mode: python; -*- + +# This SConscript describes construction of buildinfo.cpp, which is independent of the +# build variant's target. + +import os +import sys + +import buildscripts.utils + +Import('env windows usev8') + +def getSysInfo(): + if windows: + return "windows " + str( sys.getwindowsversion() ) + else: + return " ".join( os.uname() ) + +buildinfo_filename = '$BUILD_DIR/buildinfo.cpp' +env.NoCache(buildinfo_filename) + +buildinfo_template = ''' +#include +#include + +#include "mongo/util/version.h" + +namespace mongo { + const char * gitVersion() { return "%(git_version)s"; } + const char * compiledJSEngine() { return "%(js_engine)s"; } + const char * allocator() { return "%(allocator)s"; } + const char * loaderFlags() { return "%(loader_flags)s"; } + const char * compilerFlags() { return "%(compiler_flags)s"; } + std::string sysInfo() { return "%(sys_info)s BOOST_LIB_VERSION=" BOOST_LIB_VERSION ; } +} // namespace mongo +''' + +def generate_buildinfo(env, target, source, **kw): + git_version = buildscripts.utils.getGitVersion() + if len(env["MONGO_MODULES"]): + git_version += " modules: " + ", ".join(env["MONGO_MODULES"]) + + if usev8: + js_engine = "V8" + else: + js_engine = "Unknown" + + contents = str(source[0]) % dict(git_version=git_version, + js_engine=js_engine, + sys_info=getSysInfo(), + allocator=GetOption('allocator'), + loader_flags=env.subst('$LINKFLAGS $LDFLAGS', + source=source, target=target), + compiler_flags=env.subst('$CXXFLAGS $CCFLAGS $CFLAGS', + source=source, target=target)) + out = open(str(target[0]), 'wb') + try: + out.write(contents) + finally: + out.close() + +env.Command(buildinfo_filename, + Value(buildinfo_template), + Action(generate_buildinfo, "Generating $TARGET")) +env.AlwaysBuild(buildinfo_filename) +env.Install('$BUILD_DIR/mongo', buildinfo_filename) + diff -Nru shared-mime-info-1.15/tests/mime-detection/SConstruct shared-mime-info-2.0/tests/mime-detection/SConstruct --- shared-mime-info-1.15/tests/mime-detection/SConstruct 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/SConstruct 2020-05-06 14:11:14.160908000 +0000 @@ -0,0 +1,1379 @@ +# +# SConstruct file to build scons packages during development. +# +# See the README.rst file for an overview of how SCons is built and tested. + +copyright_years = '2001 - 2014' + +# This gets inserted into the man pages to reflect the month of release. +month_year = 'September 2014' + +# +# __COPYRIGHT__ +# +# Permission is hereby granted, free of charge, to any person obtaining +# a copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to +# permit persons to whom the Software is furnished to do so, subject to +# the following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# + +import distutils.util +import fnmatch +import os +import os.path +import re +import stat +import sys +import tempfile + +import bootstrap + +project = 'scons' +default_version = '2.3.4' +copyright = "Copyright (c) %s The SCons Foundation" % copyright_years + +platform = distutils.util.get_platform() + +SConsignFile() + +# +# An internal "whereis" routine to figure out if a given program +# is available on this system. +# +def whereis(file): + exts = [''] + if platform == "win32": + exts += ['.exe'] + for dir in os.environ['PATH'].split(os.pathsep): + f = os.path.join(dir, file) + for ext in exts: + f_ext = f + ext + if os.path.isfile(f_ext): + try: + st = os.stat(f_ext) + except: + continue + if stat.S_IMODE(st[stat.ST_MODE]) & 0111: + return f_ext + return None + +# +# We let the presence or absence of various utilities determine whether +# or not we bother to build certain pieces of things. This should allow +# people to still do SCons packaging work even if they don't have all +# of the utilities installed (e.g. RPM). +# +dh_builddeb = whereis('dh_builddeb') +fakeroot = whereis('fakeroot') +gzip = whereis('gzip') +rpmbuild = whereis('rpmbuild') +hg = os.path.exists('.hg') and whereis('hg') +svn = os.path.exists('.svn') and whereis('svn') +unzip = whereis('unzip') +zip = whereis('zip') + +# +# Now grab the information that we "build" into the files. +# +date = ARGUMENTS.get('DATE') +if not date: + import time + date = time.strftime("%Y/%m/%d %H:%M:%S", time.localtime(time.time())) + +developer = ARGUMENTS.get('DEVELOPER') +if not developer: + for variable in ['USERNAME', 'LOGNAME', 'USER']: + developer = os.environ.get(variable) + if developer: + break + +build_system = ARGUMENTS.get('BUILD_SYSTEM') +if not build_system: + import socket + build_system = socket.gethostname().split('.')[0] + +version = ARGUMENTS.get('VERSION', '') +if not version: + version = default_version + +hg_status_lines = [] +svn_status_lines = [] + +if hg: + cmd = "%s status --all 2> /dev/null" % hg + hg_status_lines = os.popen(cmd, "r").readlines() + +if svn: + cmd = "%s status --verbose 2> /dev/null" % svn + svn_status_lines = os.popen(cmd, "r").readlines() + +revision = ARGUMENTS.get('REVISION', '') +def generate_build_id(revision): + return revision + +if not revision and hg: + hg_heads = os.popen("%s heads 2> /dev/null" % hg, "r").read() + cs = re.search('changeset:\s+(\S+)', hg_heads) + if cs: + revision = cs.group(1) + b = re.search('branch:\s+(\S+)', hg_heads) + if b: + revision = b.group(1) + ':' + revision + def generate_build_id(revision): + result = revision + if [l for l in hg_status_lines if l[0] in 'AMR!']: + result = result + '[MODIFIED]' + return result + +if not revision and svn: + svn_info = os.popen("%s info 2> /dev/null" % svn, "r").read() + m = re.search('Revision: (\d+)', svn_info) + if m: + revision = m.group(1) + def generate_build_id(revision): + result = 'r' + revision + if [l for l in svn_status_lines if l[0] in 'ACDMR']: + result = result + '[MODIFIED]' + return result + +checkpoint = ARGUMENTS.get('CHECKPOINT', '') +if checkpoint: + if checkpoint == 'd': + import time + checkpoint = time.strftime('%Y%m%d', time.localtime(time.time())) + elif checkpoint == 'r': + checkpoint = 'r' + revision + version = version + '.beta.' + checkpoint + +build_id = ARGUMENTS.get('BUILD_ID') +if build_id is None: + if revision: + build_id = generate_build_id(revision) + else: + build_id = '' + +python_ver = sys.version[0:3] + +# +# Adding some paths to sys.path, this is mainly needed +# for the doc toolchain. +# +addpaths = [os.path.abspath(os.path.join(os.getcwd(), 'bin')), + os.path.abspath(os.path.join(os.getcwd(), 'QMTest'))] +for a in addpaths: + if a not in sys.path: + sys.path.append(a) + + +# Re-exporting LD_LIBRARY_PATH is necessary if the Python version was +# built with the --enable-shared option. + +ENV = { 'PATH' : os.environ['PATH'] } +for key in ['LOGNAME', 'PYTHONPATH', 'LD_LIBRARY_PATH']: + if key in os.environ: + ENV[key] = os.environ[key] + +build_dir = ARGUMENTS.get('BUILDDIR', 'build') +if not os.path.isabs(build_dir): + build_dir = os.path.normpath(os.path.join(os.getcwd(), build_dir)) + +command_line_variables = [ + ("BUILDDIR=", "The directory in which to build the packages. " + + "The default is the './build' subdirectory."), + + ("BUILD_ID=", "An identifier for the specific build." + + "The default is the Subversion revision number."), + + ("BUILD_SYSTEM=", "The system on which the packages were built. " + + "The default is whatever hostname is returned " + + "by socket.gethostname()."), + + ("CHECKPOINT=", "The specific checkpoint release being packaged, " + + "which will be appended to the VERSION string. " + + "A value of CHECKPOINT=d will generate a string " + + "of 'd' plus today's date in the format YYYMMDD. " + + "A value of CHECKPOINT=r will generate a " + + "string of 'r' plus the Subversion revision " + + "number. Any other CHECKPOINT= string will be " + + "used as is. There is no default value."), + + ("DATE=", "The date string representing when the packaging " + + "build occurred. The default is the day and time " + + "the SConstruct file was invoked, in the format " + + "YYYY/MM/DD HH:MM:SS."), + + ("DEVELOPER=", "The developer who created the packages. " + + "The default is the first set environment " + + "variable from the list $USERNAME, $LOGNAME, $USER."), + + ("REVISION=", "The revision number of the source being built. " + + "The default is the Subversion revision returned " + + "'svn info', with an appended string of " + + "'[MODIFIED]' if there are any changes in the " + + "working copy."), + + ("VERSION=", "The SCons version being packaged. The default " + + "is the hard-coded value '%s' " % default_version + + "from this SConstruct file."), +] + +Default('.', build_dir) + +packaging_flavors = [ + ('deb', "A .deb package. (This is currently not supported.)"), + + ('rpm', "A RedHat Package Manager file."), + + ('tar-gz', "The normal .tar.gz file for end-user installation."), + + ('src-tar-gz', "A .tar.gz file containing all the source " + + "(including tests and documentation)."), + + ('local-tar-gz', "A .tar.gz file for dropping into other software " + + "for local use."), + + ('zip', "The normal .zip file for end-user installation."), + + ('src-zip', "A .zip file containing all the source " + + "(including tests and documentation)."), + + ('local-zip', "A .zip file for dropping into other software " + + "for local use."), +] + +test_deb_dir = os.path.join(build_dir, "test-deb") +test_rpm_dir = os.path.join(build_dir, "test-rpm") +test_tar_gz_dir = os.path.join(build_dir, "test-tar-gz") +test_src_tar_gz_dir = os.path.join(build_dir, "test-src-tar-gz") +test_local_tar_gz_dir = os.path.join(build_dir, "test-local-tar-gz") +test_zip_dir = os.path.join(build_dir, "test-zip") +test_src_zip_dir = os.path.join(build_dir, "test-src-zip") +test_local_zip_dir = os.path.join(build_dir, "test-local-zip") + +unpack_tar_gz_dir = os.path.join(build_dir, "unpack-tar-gz") +unpack_zip_dir = os.path.join(build_dir, "unpack-zip") + +if platform == "win32": + tar_hflag = '' + python_project_subinst_dir = os.path.join("Lib", "site-packages", project) + project_script_subinst_dir = 'Scripts' +else: + tar_hflag = 'h' + python_project_subinst_dir = os.path.join("lib", project) + project_script_subinst_dir = 'bin' + + + +import textwrap + +indent_fmt = ' %-26s ' + +Help("""\ +The following aliases build packages of various types, and unpack the +contents into build/test-$PACKAGE subdirectories, which can be used by the +runtest.py -p option to run tests against what's been actually packaged: + +""") + +aliases = sorted(packaging_flavors + [('doc', 'The SCons documentation.')]) + +for alias, help_text in aliases: + tw = textwrap.TextWrapper( + width = 78, + initial_indent = indent_fmt % alias, + subsequent_indent = indent_fmt % '' + ' ', + ) + Help(tw.fill(help_text) + '\n') + +Help(""" +The following command-line variables can be set: + +""") + +for variable, help_text in command_line_variables: + tw = textwrap.TextWrapper( + width = 78, + initial_indent = indent_fmt % variable, + subsequent_indent = indent_fmt % '' + ' ', + ) + Help(tw.fill(help_text) + '\n') + + + +zcat = 'gzip -d -c' + +# +# Figure out if we can handle .zip files. +# +zipit = None +unzipit = None +try: + import zipfile + + def zipit(env, target, source): + print "Zipping %s:" % str(target[0]) + def visit(arg, dirname, names): + for name in names: + path = os.path.join(dirname, name) + if os.path.isfile(path): + arg.write(path) + zf = zipfile.ZipFile(str(target[0]), 'w') + olddir = os.getcwd() + os.chdir(env['CD']) + try: os.path.walk(env['PSV'], visit, zf) + finally: os.chdir(olddir) + zf.close() + + def unzipit(env, target, source): + print "Unzipping %s:" % str(source[0]) + zf = zipfile.ZipFile(str(source[0]), 'r') + for name in zf.namelist(): + dest = os.path.join(env['UNPACK_ZIP_DIR'], name) + dir = os.path.dirname(dest) + try: + os.makedirs(dir) + except: + pass + print dest,name + # if the file exists, then delete it before writing + # to it so that we don't end up trying to write to a symlink: + if os.path.isfile(dest) or os.path.islink(dest): + os.unlink(dest) + if not os.path.isdir(dest): + open(dest, 'wb').write(zf.read(name)) + +except: + if unzip and zip: + zipit = "cd $CD && $ZIP $ZIPFLAGS $( ${TARGET.abspath} $) $PSV" + unzipit = "$UNZIP $UNZIPFLAGS $SOURCES" + +def SCons_revision(target, source, env): + """Interpolate specific values from the environment into a file. + + This is used to copy files into a tree that gets packaged up + into the source file package. + """ + t = str(target[0]) + s = source[0].rstr() + contents = open(s, 'rb').read() + # Note: We construct the __*__ substitution strings here + # so that they don't get replaced when this file gets + # copied into the tree for packaging. + contents = contents.replace('__BUILD' + '__', env['BUILD']) + contents = contents.replace('__BUILDSYS' + '__', env['BUILDSYS']) + contents = contents.replace('__COPYRIGHT' + '__', env['COPYRIGHT']) + contents = contents.replace('__DATE' + '__', env['DATE']) + contents = contents.replace('__DEVELOPER' + '__', env['DEVELOPER']) + contents = contents.replace('__FILE' + '__', str(source[0]).replace('\\', '/')) + contents = contents.replace('__MONTH_YEAR'+ '__', env['MONTH_YEAR']) + contents = contents.replace('__REVISION' + '__', env['REVISION']) + contents = contents.replace('__VERSION' + '__', env['VERSION']) + contents = contents.replace('__NULL' + '__', '') + open(t, 'wb').write(contents) + os.chmod(t, os.stat(s)[0]) + +revaction = SCons_revision +revbuilder = Builder(action = Action(SCons_revision, + varlist=['COPYRIGHT', 'VERSION'])) + +def soelim(target, source, env): + """ + Interpolate files included in [gnt]roff source files using the + .so directive. + + This behaves somewhat like the soelim(1) wrapper around groff, but + makes us independent of whether the actual underlying implementation + includes an soelim() command or the corresponding command-line option + to groff(1). The key behavioral difference is that this doesn't + recursively include .so files from the include file. Not yet, anyway. + """ + t = str(target[0]) + s = str(source[0]) + dir, f = os.path.split(s) + tfp = open(t, 'w') + sfp = open(s, 'r') + for line in sfp.readlines(): + if line[:4] in ['.so ', "'so "]: + sofile = os.path.join(dir, line[4:-1]) + tfp.write(open(sofile, 'r').read()) + else: + tfp.write(line) + sfp.close() + tfp.close() + +def soscan(node, env, path): + c = node.get_text_contents() + return re.compile(r"^[\.']so\s+(\S+)", re.M).findall(c) + +soelimbuilder = Builder(action = Action(soelim), + source_scanner = Scanner(soscan)) + +# When copying local files from a Repository (Aegis), +# just make copies, don't symlink them. +SetOption('duplicate', 'copy') + +env = Environment( + ENV = ENV, + + BUILD = build_id, + BUILDDIR = build_dir, + BUILDSYS = build_system, + COPYRIGHT = copyright, + DATE = date, + DEVELOPER = developer, + DISTDIR = os.path.join(build_dir, 'dist'), + MONTH_YEAR = month_year, + REVISION = revision, + VERSION = version, + DH_COMPAT = 2, + + TAR_HFLAG = tar_hflag, + + ZIP = zip, + ZIPFLAGS = '-r', + UNZIP = unzip, + UNZIPFLAGS = '-o -d $UNPACK_ZIP_DIR', + + ZCAT = zcat, + + RPMBUILD = rpmbuild, + RPM2CPIO = 'rpm2cpio', + + TEST_DEB_DIR = test_deb_dir, + TEST_RPM_DIR = test_rpm_dir, + TEST_SRC_TAR_GZ_DIR = test_src_tar_gz_dir, + TEST_SRC_ZIP_DIR = test_src_zip_dir, + TEST_TAR_GZ_DIR = test_tar_gz_dir, + TEST_ZIP_DIR = test_zip_dir, + + UNPACK_TAR_GZ_DIR = unpack_tar_gz_dir, + UNPACK_ZIP_DIR = unpack_zip_dir, + + BUILDERS = { 'SCons_revision' : revbuilder, + 'SOElim' : soelimbuilder }, + + PYTHON = '"%s"' % sys.executable, + PYTHONFLAGS = '-tt', + ) + +Version_values = [Value(version), Value(build_id)] + +# +# Define SCons packages. +# +# In the original, more complicated packaging scheme, we were going +# to have separate packages for: +# +# python-scons only the build engine +# scons-script only the script +# scons the script plus the build engine +# +# We're now only delivering a single "scons" package, but this is still +# "built" as two sub-packages (the build engine and the script), so +# the definitions remain here, even though we're not using them for +# separate packages. +# + +python_scons = { + 'pkg' : 'python-' + project, + 'src_subdir' : 'engine', + 'inst_subdir' : os.path.join('lib', 'python1.5', 'site-packages'), + 'rpm_dir' : '/usr/lib/scons', + + 'debian_deps' : [ + 'debian/changelog', + 'debian/control', + 'debian/copyright', + 'debian/dirs', + 'debian/docs', + 'debian/postinst', + 'debian/prerm', + 'debian/rules', + ], + + 'files' : [ 'LICENSE.txt', + 'README.txt', + 'setup.cfg', + 'setup.py', + ], + + 'filemap' : { + 'LICENSE.txt' : '../LICENSE.txt' + }, + + 'buildermap' : {}, + + 'extra_rpm_files' : [], + + 'explicit_deps' : { + 'SCons/__init__.py' : Version_values, + }, +} + +# Figure out the name of a .egg-info file that might be generated +# as part of the RPM package. There are two complicating factors. +# +# First, the RPM spec file we generate will just execute "python", not +# necessarily the one in sys.executable. If *that* version of python has +# a distutils that knows about Python eggs, then setup.py will generate a +# .egg-info file, so we have to execute any distutils logic in a subshell. +# +# Second, we can't just have the subshell check for the existence of the +# distutils.command.install_egg_info module and generate the expected +# file name by hand, the way we used to, because different systems can +# have slightly different .egg-info naming conventions. (Specifically, +# Ubuntu overrides the default behavior to remove the Python version +# string from the .egg-info file name.) The right way to do this is to +# actually call into the install_egg_info() class to have it generate +# the expected name for us. +# +# This is all complicated enough that we do it by writing an in-line +# script to a temporary file and then feeding it to a separate invocation +# of "python" to tell us the actual name of the generated .egg-info file. + +print_egg_info_name = """ +try: + from distutils.dist import Distribution + from distutils.command.install_egg_info import install_egg_info +except ImportError: + pass +else: + dist = Distribution({'name' : "scons", 'version' : '%s'}) + i = install_egg_info(dist) + i.finalize_options() + import os.path + print os.path.split(i.outputs[0])[1] +""" % version + +try: + fd, tfname = tempfile.mkstemp() + tfp = os.fdopen(fd, "w") + tfp.write(print_egg_info_name) + tfp.close() + egg_info_file = os.popen("python %s" % tfname).read()[:-1] + if egg_info_file: + python_scons['extra_rpm_files'].append(egg_info_file) +finally: + try: + os.unlink(tfname) + except EnvironmentError: + pass + +# +# The original packaging scheme would have have required us to push +# the Python version number into the package name (python1.5-scons, +# python2.0-scons, etc.), which would have required a definition +# like the following. Leave this here in case we ever decide to do +# this in the future, but note that this would require some modification +# to src/engine/setup.py before it would really work. +# +#python2_scons = { +# 'pkg' : 'python2-' + project, +# 'src_subdir' : 'engine', +# 'inst_subdir' : os.path.join('lib', 'python2.2', 'site-packages'), +# +# 'debian_deps' : [ +# 'debian/changelog', +# 'debian/control', +# 'debian/copyright', +# 'debian/dirs', +# 'debian/docs', +# 'debian/postinst', +# 'debian/prerm', +# 'debian/rules', +# ], +# +# 'files' : [ +# 'LICENSE.txt', +# 'README.txt', +# 'setup.cfg', +# 'setup.py', +# ], +# 'filemap' : { +# 'LICENSE.txt' : '../LICENSE.txt', +# }, +# 'buildermap' : {}, +#} +# + +scons_script = { + 'pkg' : project + '-script', + 'src_subdir' : 'script', + 'inst_subdir' : 'bin', + 'rpm_dir' : '/usr/bin', + + 'debian_deps' : [ + 'debian/changelog', + 'debian/control', + 'debian/copyright', + 'debian/dirs', + 'debian/docs', + 'debian/postinst', + 'debian/prerm', + 'debian/rules', + ], + + 'files' : [ + 'LICENSE.txt', + 'README.txt', + 'setup.cfg', + 'setup.py', + ], + + 'filemap' : { + 'LICENSE.txt' : '../LICENSE.txt', + 'scons' : 'scons.py', + 'sconsign' : 'sconsign.py', + 'scons-time' : 'scons-time.py', + }, + + 'buildermap' : {}, + + 'extra_rpm_files' : [ + 'scons-' + version, + 'sconsign-' + version, + 'scons-time-' + version, + ], + + 'explicit_deps' : { + 'scons' : Version_values, + 'sconsign' : Version_values, + }, +} + +scons = { + 'pkg' : project, + + 'debian_deps' : [ + 'debian/changelog', + 'debian/control', + 'debian/copyright', + 'debian/dirs', + 'debian/docs', + 'debian/postinst', + 'debian/prerm', + 'debian/rules', + ], + + 'files' : [ + 'CHANGES.txt', + 'LICENSE.txt', + 'README.txt', + 'RELEASE.txt', + 'scons.1', + 'sconsign.1', + 'scons-time.1', + 'script/scons.bat', + #'script/scons-post-install.py', + 'setup.cfg', + 'setup.py', + ], + + 'filemap' : { + 'scons.1' : '$BUILDDIR/doc/man/scons.1', + 'sconsign.1' : '$BUILDDIR/doc/man/sconsign.1', + 'scons-time.1' : '$BUILDDIR/doc/man/scons-time.1', + }, + + 'buildermap' : { + 'scons.1' : env.SOElim, + 'sconsign.1' : env.SOElim, + 'scons-time.1' : env.SOElim, + }, + + 'subpkgs' : [ python_scons, scons_script ], + + 'subinst_dirs' : { + 'python-' + project : python_project_subinst_dir, + project + '-script' : project_script_subinst_dir, + }, +} + +scripts = ['scons', 'sconsign', 'scons-time'] + +src_deps = [] +src_files = [] + +for p in [ scons ]: + # + # Initialize variables with the right directories for this package. + # + pkg = p['pkg'] + pkg_version = "%s-%s" % (pkg, version) + + src = 'src' + if 'src_subdir' in p: + src = os.path.join(src, p['src_subdir']) + + build = os.path.join(build_dir, pkg) + + tar_gz = os.path.join(build, 'dist', "%s.tar.gz" % pkg_version) + platform_tar_gz = os.path.join(build, + 'dist', + "%s.%s.tar.gz" % (pkg_version, platform)) + zip = os.path.join(build, 'dist', "%s.zip" % pkg_version) + platform_zip = os.path.join(build, + 'dist', + "%s.%s.zip" % (pkg_version, platform)) + if platform == "win-amd64": + win32_exe = os.path.join(build, 'dist', "%s.win-amd64.exe" % pkg_version) + else: + win32_exe = os.path.join(build, 'dist', "%s.win32.exe" % pkg_version) + + # + # Update the environment with the relevant information + # for this package. + # + # We can get away with calling setup.py using a directory path + # like this because we put a preamble in it that will chdir() + # to the directory in which setup.py exists. + # + setup_py = os.path.join(build, 'setup.py') + env.Replace(PKG = pkg, + PKG_VERSION = pkg_version, + SETUP_PY = '"%s"' % setup_py) + Local(setup_py) + + # + # Read up the list of source files from our MANIFEST.in. + # This list should *not* include LICENSE.txt, MANIFEST, + # README.txt, or setup.py. Make a copy of the list for the + # destination files. + # + manifest_in = File(os.path.join(src, 'MANIFEST.in')).rstr() + src_files = bootstrap.parseManifestLines(src, open(manifest_in).readlines()) + raw_files = src_files[:] + dst_files = src_files[:] + rpm_files = [] + + MANIFEST_in_list = [] + + if 'subpkgs' in p: + # + # This package includes some sub-packages. Read up their + # MANIFEST.in files, and add them to our source and destination + # file lists, modifying them as appropriate to add the + # specified subdirs. + # + for sp in p['subpkgs']: + ssubdir = sp['src_subdir'] + isubdir = p['subinst_dirs'][sp['pkg']] + MANIFEST_in = File(os.path.join(src, ssubdir, 'MANIFEST.in')).rstr() + MANIFEST_in_list.append(MANIFEST_in) + files = bootstrap.parseManifestLines(os.path.join(src, ssubdir), open(MANIFEST_in).readlines()) + raw_files.extend(files) + src_files.extend([os.path.join(ssubdir, x) for x in files]) + for f in files: + r = os.path.join(sp['rpm_dir'], f) + rpm_files.append(r) + if f[-3:] == ".py": + rpm_files.append(r + 'c') + for f in sp.get('extra_rpm_files', []): + r = os.path.join(sp['rpm_dir'], f) + rpm_files.append(r) + files = [os.path.join(isubdir, x) for x in files] + dst_files.extend(files) + for k, f in sp['filemap'].items(): + if f: + k = os.path.join(ssubdir, k) + p['filemap'][k] = os.path.join(ssubdir, f) + for f, deps in sp['explicit_deps'].items(): + f = os.path.join(build, ssubdir, f) + env.Depends(f, deps) + + # + # Now that we have the "normal" source files, add those files + # that are standard for each distribution. Note that we don't + # add these to dst_files, because they don't get installed. + # And we still have the MANIFEST to add. + # + src_files.extend(p['files']) + + # + # Now run everything in src_file through the sed command we + # concocted to expand __FILE__, __VERSION__, etc. + # + for b in src_files: + s = p['filemap'].get(b, b) + if not s[0] == '$' and not os.path.isabs(s): + s = os.path.join(src, s) + builder = p['buildermap'].get(b, env.SCons_revision) + x = builder(os.path.join(build, b), s) + Local(x) + + # + # NOW, finally, we can create the MANIFEST, which we do + # by having Python spit out the contents of the src_files + # array we've carefully created. After we've added + # MANIFEST itself to the array, of course. + # + src_files.append("MANIFEST") + MANIFEST_in_list.append(os.path.join(src, 'MANIFEST.in')) + + def write_src_files(target, source, **kw): + global src_files + src_files.sort() + f = open(str(target[0]), 'wb') + for file in src_files: + f.write(file + "\n") + f.close() + return 0 + env.Command(os.path.join(build, 'MANIFEST'), + MANIFEST_in_list, + write_src_files) + + # + # Now go through and arrange to create whatever packages we can. + # + build_src_files = [os.path.join(build, x) for x in src_files] + Local(*build_src_files) + + distutils_formats = [] + + distutils_targets = [ win32_exe ] + + dist_distutils_targets = env.Install('$DISTDIR', distutils_targets) + Local(dist_distutils_targets) + AddPostAction(dist_distutils_targets, Chmod(dist_distutils_targets, 0644)) + + if not gzip: + print "gzip not found in %s; skipping .tar.gz package for %s." % (os.environ['PATH'], pkg) + else: + + distutils_formats.append('gztar') + + src_deps.append(tar_gz) + + distutils_targets.extend([ tar_gz, platform_tar_gz ]) + + dist_tar_gz = env.Install('$DISTDIR', tar_gz) + dist_platform_tar_gz = env.Install('$DISTDIR', platform_tar_gz) + Local(dist_tar_gz, dist_platform_tar_gz) + AddPostAction(dist_tar_gz, Chmod(dist_tar_gz, 0644)) + AddPostAction(dist_platform_tar_gz, Chmod(dist_platform_tar_gz, 0644)) + + # + # Unpack the tar.gz archive created by the distutils into + # build/unpack-tar-gz/scons-{version}. + # + # We'd like to replace the last three lines with the following: + # + # tar zxf $SOURCES -C $UNPACK_TAR_GZ_DIR + # + # but that gives heartburn to Cygwin's tar, so work around it + # with separate zcat-tar-rm commands. + # + unpack_tar_gz_files = [os.path.join(unpack_tar_gz_dir, pkg_version, x) + for x in src_files] + env.Command(unpack_tar_gz_files, dist_tar_gz, [ + Delete(os.path.join(unpack_tar_gz_dir, pkg_version)), + "$ZCAT $SOURCES > .temp", + "tar xf .temp -C $UNPACK_TAR_GZ_DIR", + Delete(".temp"), + ]) + + # + # Run setup.py in the unpacked subdirectory to "install" everything + # into our build/test subdirectory. The runtest.py script will set + # PYTHONPATH so that the tests only look under build/test-{package}, + # and under QMTest (for the testing modules TestCmd.py, TestSCons.py, + # etc.). This makes sure that our tests pass with what + # we really packaged, not because of something hanging around in + # the development directory. + # + # We can get away with calling setup.py using a directory path + # like this because we put a preamble in it that will chdir() + # to the directory in which setup.py exists. + # + dfiles = [os.path.join(test_tar_gz_dir, x) for x in dst_files] + env.Command(dfiles, unpack_tar_gz_files, [ + Delete(os.path.join(unpack_tar_gz_dir, pkg_version, 'build')), + Delete("$TEST_TAR_GZ_DIR"), + '$PYTHON $PYTHONFLAGS "%s" install "--prefix=$TEST_TAR_GZ_DIR" --standalone-lib' % \ + os.path.join(unpack_tar_gz_dir, pkg_version, 'setup.py'), + ]) + + # + # Generate portage files for submission to Gentoo Linux. + # + gentoo = os.path.join(build, 'gentoo') + ebuild = os.path.join(gentoo, 'scons-%s.ebuild' % version) + digest = os.path.join(gentoo, 'files', 'digest-scons-%s' % version) + env.Command(ebuild, os.path.join('gentoo', 'scons.ebuild.in'), SCons_revision) + def Digestify(target, source, env): + import md5 + src = source[0].rfile() + contents = open(str(src)).read() + sig = md5.new(contents).hexdigest() + bytes = os.stat(str(src))[6] + open(str(target[0]), 'w').write("MD5 %s %s %d\n" % (sig, + src.name, + bytes)) + env.Command(digest, tar_gz, Digestify) + + if not zipit: + print "zip not found; skipping .zip package for %s." % pkg + else: + + distutils_formats.append('zip') + + src_deps.append(zip) + + distutils_targets.extend([ zip, platform_zip ]) + + dist_zip = env.Install('$DISTDIR', zip) + dist_platform_zip = env.Install('$DISTDIR', platform_zip) + Local(dist_zip, dist_platform_zip) + AddPostAction(dist_zip, Chmod(dist_zip, 0644)) + AddPostAction(dist_platform_zip, Chmod(dist_platform_zip, 0644)) + + # + # Unpack the zip archive created by the distutils into + # build/unpack-zip/scons-{version}. + # + unpack_zip_files = [os.path.join(unpack_zip_dir, pkg_version, x) + for x in src_files] + + env.Command(unpack_zip_files, dist_zip, [ + Delete(os.path.join(unpack_zip_dir, pkg_version)), + unzipit, + ]) + + # + # Run setup.py in the unpacked subdirectory to "install" everything + # into our build/test subdirectory. The runtest.py script will set + # PYTHONPATH so that the tests only look under build/test-{package}, + # and under QMTest (for the testing modules TestCmd.py, TestSCons.py, + # etc.). This makes sure that our tests pass with what + # we really packaged, not because of something hanging around in + # the development directory. + # + # We can get away with calling setup.py using a directory path + # like this because we put a preamble in it that will chdir() + # to the directory in which setup.py exists. + # + dfiles = [os.path.join(test_zip_dir, x) for x in dst_files] + env.Command(dfiles, unpack_zip_files, [ + Delete(os.path.join(unpack_zip_dir, pkg_version, 'build')), + Delete("$TEST_ZIP_DIR"), + '$PYTHON $PYTHONFLAGS "%s" install "--prefix=$TEST_ZIP_DIR" --standalone-lib' % \ + os.path.join(unpack_zip_dir, pkg_version, 'setup.py'), + ]) + + if not rpmbuild: + msg = "@echo \"Warning: Can not build 'rpm': no rpmbuild utility found\"" + AlwaysBuild(Alias('rpm', [], msg)) + else: + topdir = os.path.join(build, 'build', + 'bdist.' + platform, 'rpm') + + buildroot = os.path.join(build_dir, 'rpm-buildroot') + + BUILDdir = os.path.join(topdir, 'BUILD', pkg + '-' + version) + RPMSdir = os.path.join(topdir, 'RPMS', 'noarch') + SOURCESdir = os.path.join(topdir, 'SOURCES') + SPECSdir = os.path.join(topdir, 'SPECS') + SRPMSdir = os.path.join(topdir, 'SRPMS') + + specfile_in = os.path.join('rpm', "%s.spec.in" % pkg) + specfile = os.path.join(SPECSdir, "%s-1.spec" % pkg_version) + sourcefile = os.path.join(SOURCESdir, "%s.tar.gz" % pkg_version); + noarch_rpm = os.path.join(RPMSdir, "%s-1.noarch.rpm" % pkg_version) + src_rpm = os.path.join(SRPMSdir, "%s-1.src.rpm" % pkg_version) + + def spec_function(target, source, env): + """Generate the RPM .spec file from the template file. + + This fills in the %files portion of the .spec file with a + list generated from our MANIFEST(s), so we don't have to + maintain multiple lists. + """ + c = open(str(source[0]), 'rb').read() + c = c.replace('__VERSION' + '__', env['VERSION']) + c = c.replace('__RPM_FILES' + '__', env['RPM_FILES']) + open(str(target[0]), 'wb').write(c) + + rpm_files.sort() + rpm_files_str = "\n".join(rpm_files) + "\n" + rpm_spec_env = env.Clone(RPM_FILES = rpm_files_str) + rpm_spec_action = Action(spec_function, varlist=['RPM_FILES']) + rpm_spec_env.Command(specfile, specfile_in, rpm_spec_action) + + env.InstallAs(sourcefile, tar_gz) + Local(sourcefile) + + targets = [ noarch_rpm, src_rpm ] + cmd = "$RPMBUILD --define '_topdir $(%s$)' --buildroot %s -ba $SOURCES" % (topdir, buildroot) + if not os.path.isdir(BUILDdir): + cmd = ("$( mkdir -p %s; $)" % BUILDdir) + cmd + t = env.Command(targets, specfile, cmd) + env.Depends(t, sourcefile) + + dist_noarch_rpm = env.Install('$DISTDIR', noarch_rpm) + dist_src_rpm = env.Install('$DISTDIR', src_rpm) + Local(dist_noarch_rpm, dist_src_rpm) + AddPostAction(dist_noarch_rpm, Chmod(dist_noarch_rpm, 0644)) + AddPostAction(dist_src_rpm, Chmod(dist_src_rpm, 0644)) + + dfiles = [os.path.join(test_rpm_dir, 'usr', x) for x in dst_files] + env.Command(dfiles, + dist_noarch_rpm, + "$RPM2CPIO $SOURCES | (cd $TEST_RPM_DIR && cpio -id)") + + if dh_builddeb and fakeroot: + # Our Debian packaging builds directly into build/dist, + # so we don't need to Install() the .debs. + # The built deb is called just x.y.z, not x.y.z.final.0 so strip those off: + deb_version = '.'.join(version.split('.')[0:3]) + deb = os.path.join(build_dir, 'dist', "%s_%s_all.deb" % (pkg, deb_version)) + # print "Building deb into %s (version=%s)"%(deb, deb_version) + for d in p['debian_deps']: + b = env.SCons_revision(os.path.join(build, d), d) + env.Depends(deb, b) + Local(b) + env.Command(deb, build_src_files, [ + "cd %s && fakeroot make -f debian/rules PYTHON=$PYTHON BUILDDEB_OPTIONS=--destdir=../../build/dist binary" % build, + ]) + + old = os.path.join('lib', 'scons', '') + new = os.path.join('lib', 'python' + python_ver, 'site-packages', '') + def xxx(s, old=old, new=new): + if s[:len(old)] == old: + s = new + s[len(old):] + return os.path.join('usr', s) + dfiles = [os.path.join(test_deb_dir, xxx(x)) for x in dst_files] + env.Command(dfiles, + deb, + "dpkg --fsys-tarfile $SOURCES | (cd $TEST_DEB_DIR && tar -xf -)") + + + # + # Use the Python distutils to generate the appropriate packages. + # + commands = [ + Delete(os.path.join(build, 'build', 'lib')), + Delete(os.path.join(build, 'build', 'scripts')), + ] + + if distutils_formats: + commands.append(Delete(os.path.join(build, + 'build', + 'bdist.' + platform, + 'dumb'))) + for format in distutils_formats: + commands.append("$PYTHON $PYTHONFLAGS $SETUP_PY bdist_dumb -f %s" % format) + + commands.append("$PYTHON $PYTHONFLAGS $SETUP_PY sdist --formats=%s" % \ + ','.join(distutils_formats)) + + commands.append("$PYTHON $PYTHONFLAGS $SETUP_PY bdist_wininst --plat-name win32 --user-access-control auto") + + env.Command(distutils_targets, build_src_files, commands) + + # + # Now create local packages for people who want to let people + # build their SCons-buildable packages without having to + # install SCons. + # + s_l_v = '%s-local-%s' % (pkg, version) + + local = pkg + '-local' + build_dir_local = os.path.join(build_dir, local) + build_dir_local_slv = os.path.join(build_dir, local, s_l_v) + + dist_local_tar_gz = os.path.join("$DISTDIR/%s.tar.gz" % s_l_v) + dist_local_zip = os.path.join("$DISTDIR/%s.zip" % s_l_v) + AddPostAction(dist_local_tar_gz, Chmod(dist_local_tar_gz, 0644)) + AddPostAction(dist_local_zip, Chmod(dist_local_zip, 0644)) + + commands = [ + Delete(build_dir_local), + '$PYTHON $PYTHONFLAGS $SETUP_PY install "--install-script=%s" "--install-lib=%s" --no-install-man --no-compile --standalone-lib --no-version-script' % \ + (build_dir_local, build_dir_local_slv), + ] + + for script in scripts: + # add .py extension for scons-local scripts on non-windows platforms + if platform == "win32": + break + local_script = os.path.join(build_dir_local, script) + commands.append(Move(local_script + '.py', local_script)) + + rf = [x for x in raw_files if not x in scripts] + rf = [os.path.join(s_l_v, x) for x in rf] + for script in scripts: + rf.append("%s.py" % script) + local_targets = [os.path.join(build_dir_local, x) for x in rf] + + env.Command(local_targets, build_src_files, commands) + + scons_LICENSE = os.path.join(build_dir_local, 'scons-LICENSE') + l = env.SCons_revision(scons_LICENSE, 'LICENSE-local') + local_targets.append(l) + Local(l) + + scons_README = os.path.join(build_dir_local, 'scons-README') + l = env.SCons_revision(scons_README, 'README-local') + local_targets.append(l) + Local(l) + + if gzip: + if platform == "win32": + # avoid problem with tar interpreting c:/ as a remote machine + tar_cargs = '-cz --force-local -f' + else: + tar_cargs = '-czf' + env.Command(dist_local_tar_gz, + local_targets, + "cd %s && tar %s $( ${TARGET.abspath} $) *" % (build_dir_local, tar_cargs)) + + unpack_targets = [os.path.join(test_local_tar_gz_dir, x) for x in rf] + commands = [Delete(test_local_tar_gz_dir), + Mkdir(test_local_tar_gz_dir), + "cd %s && tar xzf $( ${SOURCE.abspath} $)" % test_local_tar_gz_dir] + + env.Command(unpack_targets, dist_local_tar_gz, commands) + + if zipit: + env.Command(dist_local_zip, local_targets, zipit, + CD = build_dir_local, PSV = '.') + + unpack_targets = [os.path.join(test_local_zip_dir, x) for x in rf] + commands = [Delete(test_local_zip_dir), + Mkdir(test_local_zip_dir), + unzipit] + + env.Command(unpack_targets, dist_local_zip, unzipit, + UNPACK_ZIP_DIR = test_local_zip_dir) + +# +# +# +Export('build_dir', 'env') + +SConscript('QMTest/SConscript') + +# +# +# +files = [ + 'runtest.py', +] + +def copy(target, source, env): + t = str(target[0]) + s = str(source[0]) + open(t, 'wb').write(open(s, 'rb').read()) + +for file in files: + # Guarantee that real copies of these files always exist in + # build/. If there's a symlink there, then this is an Aegis + # build and we blow them away now so that they'll get "built" later. + p = os.path.join(build_dir, file) + if os.path.islink(p): + os.unlink(p) + if not os.path.isabs(p): + p = '#' + p + sp = env.Command(p, file, copy) + Local(sp) + +# +# Documentation. +# +Export('build_dir', 'env', 'whereis', 'revaction') + +SConscript('doc/SConscript') + +# +# If we're running in a Subversion working directory, pack up a complete +# source archive from the project files and files in the change. +# + +sfiles = None +if hg_status_lines: + slines = [l for l in hg_status_lines if l[0] in 'ACM'] + sfiles = [l.split()[-1] for l in slines] +elif svn_status_lines: + slines = [l for l in svn_status_lines if l[0] in ' MA'] + sentries = [l.split()[-1] for l in slines] + sfiles = list(filter(os.path.isfile, sentries)) +else: + print "Not building in a Mercurial or Subversion tree; skipping building src package." + +if sfiles: + remove_patterns = [ + '.hgt/*', + '.svnt/*', + '*.aeignore', + '*.hgignore', + 'www/*', + ] + + for p in remove_patterns: + sfiles = [s for s in sfiles if not fnmatch.fnmatch(s, p)] + + if sfiles: + ps = "%s-src" % project + psv = "%s-%s" % (ps, version) + b_ps = os.path.join(build_dir, ps) + b_psv = os.path.join(build_dir, psv) + b_psv_stamp = b_psv + '-stamp' + + src_tar_gz = os.path.join(build_dir, 'dist', '%s.tar.gz' % psv) + src_zip = os.path.join(build_dir, 'dist', '%s.zip' % psv) + + Local(src_tar_gz, src_zip) + + for file in sfiles: + env.SCons_revision(os.path.join(b_ps, file), file) + + b_ps_files = [os.path.join(b_ps, x) for x in sfiles] + cmds = [ + Delete(b_psv), + Copy(b_psv, b_ps), + Touch("$TARGET"), + ] + + env.Command(b_psv_stamp, src_deps + b_ps_files, cmds) + + Local(*b_ps_files) + + if gzip: + + env.Command(src_tar_gz, b_psv_stamp, + "tar cz${TAR_HFLAG} -f $TARGET -C build %s" % psv) + + # + # Unpack the archive into build/unpack/scons-{version}. + # + unpack_tar_gz_files = [os.path.join(unpack_tar_gz_dir, psv, x) + for x in sfiles] + + # + # We'd like to replace the last three lines with the following: + # + # tar zxf $SOURCES -C $UNPACK_TAR_GZ_DIR + # + # but that gives heartburn to Cygwin's tar, so work around it + # with separate zcat-tar-rm commands. + env.Command(unpack_tar_gz_files, src_tar_gz, [ + Delete(os.path.join(unpack_tar_gz_dir, psv)), + "$ZCAT $SOURCES > .temp", + "tar xf .temp -C $UNPACK_TAR_GZ_DIR", + Delete(".temp"), + ]) + + # + # Run setup.py in the unpacked subdirectory to "install" everything + # into our build/test subdirectory. The runtest.py script will set + # PYTHONPATH so that the tests only look under build/test-{package}, + # and under QMTest (for the testing modules TestCmd.py, + # TestSCons.py, etc.). This makes sure that our tests pass with + # what we really packaged, not because of something hanging around + # in the development directory. + # + # We can get away with calling setup.py using a directory path + # like this because we put a preamble in it that will chdir() + # to the directory in which setup.py exists. + # + dfiles = [os.path.join(test_src_tar_gz_dir, x) for x in dst_files] + scons_lib_dir = os.path.join(unpack_tar_gz_dir, psv, 'src', 'engine') + ENV = env.Dictionary('ENV').copy() + ENV['SCONS_LIB_DIR'] = scons_lib_dir + ENV['USERNAME'] = developer + env.Command(dfiles, unpack_tar_gz_files, + [ + Delete(os.path.join(unpack_tar_gz_dir, + psv, + 'build', + 'scons', + 'build')), + Delete("$TEST_SRC_TAR_GZ_DIR"), + 'cd "%s" && $PYTHON $PYTHONFLAGS "%s" "%s" VERSION="$VERSION"' % \ + (os.path.join(unpack_tar_gz_dir, psv), + os.path.join('src', 'script', 'scons.py'), + os.path.join('build', 'scons')), + '$PYTHON $PYTHONFLAGS "%s" install "--prefix=$TEST_SRC_TAR_GZ_DIR" --standalone-lib' % \ + os.path.join(unpack_tar_gz_dir, + psv, + 'build', + 'scons', + 'setup.py'), + ], + ENV = ENV) + + if zipit: + + env.Command(src_zip, b_psv_stamp, zipit, CD = 'build', PSV = psv) + + # + # Unpack the archive into build/unpack/scons-{version}. + # + unpack_zip_files = [os.path.join(unpack_zip_dir, psv, x) + for x in sfiles] + + env.Command(unpack_zip_files, src_zip, [ + Delete(os.path.join(unpack_zip_dir, psv)), + unzipit + ]) + + # + # Run setup.py in the unpacked subdirectory to "install" everything + # into our build/test subdirectory. The runtest.py script will set + # PYTHONPATH so that the tests only look under build/test-{package}, + # and under QMTest (for the testing modules TestCmd.py, + # TestSCons.py, etc.). This makes sure that our tests pass with + # what we really packaged, not because of something hanging + # around in the development directory. + # + # We can get away with calling setup.py using a directory path + # like this because we put a preamble in it that will chdir() + # to the directory in which setup.py exists. + # + dfiles = [os.path.join(test_src_zip_dir, x) for x in dst_files] + scons_lib_dir = os.path.join(unpack_zip_dir, psv, 'src', 'engine') + ENV = env.Dictionary('ENV').copy() + ENV['SCONS_LIB_DIR'] = scons_lib_dir + ENV['USERNAME'] = developer + env.Command(dfiles, unpack_zip_files, + [ + Delete(os.path.join(unpack_zip_dir, + psv, + 'build', + 'scons', + 'build')), + Delete("$TEST_SRC_ZIP_DIR"), + 'cd "%s" && $PYTHON $PYTHONFLAGS "%s" "%s" VERSION="$VERSION"' % \ + (os.path.join(unpack_zip_dir, psv), + os.path.join('src', 'script', 'scons.py'), + os.path.join('build', 'scons')), + '$PYTHON $PYTHONFLAGS "%s" install "--prefix=$TEST_SRC_ZIP_DIR" --standalone-lib' % \ + os.path.join(unpack_zip_dir, + psv, + 'build', + 'scons', + 'setup.py'), + ], + ENV = ENV) + +for pf, help_text in packaging_flavors: + Alias(pf, [ + os.path.join(build_dir, 'test-'+pf), + os.path.join(build_dir, 'QMTest'), + os.path.join(build_dir, 'runtest.py'), + ]) + Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/sega-cd-test.iso and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/sega-cd-test.iso differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/serafettin.rar and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/serafettin.rar differ diff -Nru shared-mime-info-1.15/tests/mime-detection/settings.xml shared-mime-info-2.0/tests/mime-detection/settings.xml --- shared-mime-info-1.15/tests/mime-detection/settings.xml 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/settings.xml 2020-05-06 14:11:14.238907600 +0000 @@ -0,0 +1,15 @@ + + + + + + + + + + + + Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/settopbox.ts and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/settopbox.ts differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/sg1000-test.sg and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/sg1000-test.sg differ diff -Nru shared-mime-info-1.15/tests/mime-detection/shebang.qml shared-mime-info-2.0/tests/mime-detection/shebang.qml --- shared-mime-info-1.15/tests/mime-detection/shebang.qml 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/shebang.qml 2020-05-06 14:11:14.240907700 +0000 @@ -0,0 +1,3 @@ +#!/bin/env qml +import QtQuick 2.10 +Rectangle{width:400;height:200;color:"lightblue"} Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/simon.669 and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/simon.669 differ diff -Nru shared-mime-info-1.15/tests/mime-detection/simple-obj-c.m shared-mime-info-2.0/tests/mime-detection/simple-obj-c.m --- shared-mime-info-1.15/tests/mime-detection/simple-obj-c.m 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/simple-obj-c.m 2020-05-06 14:11:14.241907600 +0000 @@ -0,0 +1,8 @@ +#import + +int main(int argc, const char *argv[]) +{ + printf("Hello, world!\n"); + return 0; +} + Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/SLA.bps and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/SLA.bps differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/small_wav.mxf and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/small_wav.mxf differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/sms-test.sms and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/sms-test.sms differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/spinboxes-0.1.1-Linux.tar.xz and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/spinboxes-0.1.1-Linux.tar.xz differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/sqlite2.kexi and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/sqlite2.kexi differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/sqlite3.kexi and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/sqlite3.kexi differ diff -Nru shared-mime-info-1.15/tests/mime-detection/ssh-public-key.txt shared-mime-info-2.0/tests/mime-detection/ssh-public-key.txt --- shared-mime-info-1.15/tests/mime-detection/ssh-public-key.txt 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/ssh-public-key.txt 2020-05-06 14:11:14.242907500 +0000 @@ -0,0 +1,7 @@ +---- BEGIN SSH2 PUBLIC KEY ---- +Comment: "1024-bit RSA, converted from OpenSSH by me@example.com" +x-command: /home/me/bin/lock-in-guest.sh +AAAAB3NzaC1yc2EAAAABIwAAAIEA1on8gxCGJJWSRT4uOrR13mUaUk0hRf4RzxSZ1zRb +YYFw8pfGesIFoEuVth4HKyF8k1y4mRUnYHP1XNMNMJl1JcEArC2asV8sHf6zSPVffozZ +5TT4SfsUu/iKy9lUcCfXzwre4WWZSXXcPff+EHtWshahu3WzBdnGxm5Xoi89zcE= +---- END SSH2 PUBLIC KEY ---- diff -Nru shared-mime-info-1.15/tests/mime-detection/Stallman_Richard_-_The_GNU_Manifesto.fb2 shared-mime-info-2.0/tests/mime-detection/Stallman_Richard_-_The_GNU_Manifesto.fb2 --- shared-mime-info-1.15/tests/mime-detection/Stallman_Richard_-_The_GNU_Manifesto.fb2 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/Stallman_Richard_-_The_GNU_Manifesto.fb2 2020-05-06 14:11:14.161908100 +0000 @@ -0,0 +1,684 @@ + + + + + computers + sci_philosophy + + Richard + Stallman + + The GNU Manifesto + +

The GNU Manifesto was written by Richard Stallman and published in March 1985 in Dr. Dobb's Journal of Software Tools as an explanation and definition of the goals of the GNU Project (a free software development, mass collaboration project), and to call for participation and support. It is held in high regard within the free software movement as a fundamental philosophical source.

+
+ 1985 + + + en +
+ + + jrw + + gedit + 27.12.2008 + http://www.gnu.org/gnu/manifesto.html + jrw-stallman-0123456789 + 1.0 + +

v. 1.0 – initial version

+
+
+
+ + + <p>The GNU Manifesto</p> + <p>by Richard Stallman</p> + +

The GNU Manifesto (which appears below) was written by Richard Stallman at the beginning of the GNU Project, to ask for participation and support. For the first few years, it was updated in minor ways to account for developments, but now it seems best to leave it unchanged as most people have seen it.

+

Since that time, we have learned about certain common misunderstandings that different wording could help avoid. Footnotes added in 1993 help clarify these points.

+

For up-to-date information about the available GNU software, please see the information available on our web server, in particular our list of software. For how to contribute, see http://www.gnu.org/help.

+
+ + <p>What's GNU? Gnu's Not Unix!</p> + +

GNU, which stands for Gnu's Not Unix, is the name for the complete Unix-compatible software system which I am writing so that I can give it away free to everyone who can use it. [1] Several other volunteers are helping me. Contributions of time, money, programs and equipment are greatly needed.

+

So far we have an Emacs text editor with Lisp for writing editor commands, a source level debugger, a yacc-compatible parser generator, a linker, and around 35 utilities. A shell (command interpreter) is nearly completed. A new portable optimizing C compiler has compiled itself and may be released this year. An initial kernel exists but many more features are needed to emulate Unix. When the kernel and compiler are finished, it will be possible to distribute a GNU system suitable for program development. We will use TeX as our text formatter, but an nroff is being worked on. We will use the free, portable X window system as well. After this we will add a portable Common Lisp, an Empire game, a spreadsheet, and hundreds of other things, plus on-line documentation. We hope to supply, eventually, everything useful that normally comes with a Unix system, and more.

+

GNU will be able to run Unix programs, but will not be identical to Unix. We will make all improvements that are convenient, based on our experience with other operating systems. In particular, we plan to have longer file names, file version numbers, a crashproof file system, file name completion perhaps, terminal-independent display support, and perhaps eventually a Lisp-based window system through which several Lisp programs and ordinary Unix programs can share a screen. Both C and Lisp will be available as system programming languages. We will try to support UUCP, MIT Chaosnet, and Internet protocols for communication.

+

GNU is aimed initially at machines in the 68000/16000 class with virtual memory, because they are the easiest machines to make it run on. The extra effort to make it run on smaller machines will be left to someone who wants to use it on them.

+

To avoid horrible confusion, please pronounce the "G" in the word "GNU" when it is the name of this project.

+
+
+ + <p>Why I Must Write GNU</p> + +

I consider that the golden rule requires that if I like a program I must share it with other people who like it. Software sellers want to divide the users and conquer them, making each user agree not to share with others. I refuse to break solidarity with other users in this way. I cannot in good conscience sign a nondisclosure agreement or a software license agreement. For years I worked within the Artificial Intelligence Lab to resist such tendencies and other inhospitalities, but eventually they had gone too far: I could not remain in an institution where such things are done for me against my will.

+

So that I can continue to use computers without dishonor, I have decided to put together a sufficient body of free software so that I will be able to get along without any software that is not free. I have resigned from the AI lab to deny MIT any legal excuse to prevent me from giving GNU away.

+
+
+ + <p>Why GNU Will Be Compatible with Unix</p> + +

Unix is not my ideal system, but it is not too bad. The essential features of Unix seem to be good ones, and I think I can fill in what Unix lacks without spoiling them. And a system compatible with Unix would be convenient for many other people to adopt.

+
+
+ + <p>How GNU Will Be Available</p> + +

GNU is not in the public domain. Everyone will be permitted to modify and redistribute GNU, but no distributor will be allowed to restrict its further redistribution. That is to say, proprietary modifications will not be allowed. I want to make sure that all versions of GNU remain free.

+
+
+ + <p>Why Many Other Programmers Want to Help</p> + +

I have found many other programmers who are excited about GNU and want to help.

+

Many programmers are unhappy about the commercialization of system software. It may enable them to make more money, but it requires them to feel in conflict with other programmers in general rather than feel as comrades. The fundamental act of friendship among programmers is the sharing of programs; marketing arrangements now typically used essentially forbid programmers to treat others as friends. The purchaser of software must choose between friendship and obeying the law. Naturally, many decide that friendship is more important. But those who believe in law often do not feel at ease with either choice. They become cynical and think that programming is just a way of making money.

+

By working on and using GNU rather than proprietary programs, we can be hospitable to everyone and obey the law. In addition, GNU serves as an example to inspire and a banner to rally others to join us in sharing. This can give us a feeling of harmony which is impossible if we use software that is not free. For about half the programmers I talk to, this is an important happiness that money cannot replace.

+
+
+ + <p>How You Can Contribute</p> + + + +

(Nowadays, for software tasks to work on, see the GNU task list at http://savannah.gnu.org/projects/tasklist. For other ways to contribute, see http://www.gnu.org/help.)

+
+ +

I am asking computer manufacturers for donations of machines and money. I'm asking individuals for donations of programs and work.

+

One consequence you can expect if you donate machines is that GNU will run on them at an early date. The machines should be complete, ready to use systems, approved for use in a residential area, and not in need of sophisticated cooling or power.

+

I have found very many programmers eager to contribute part-time work for GNU. For most projects, such part-time distributed work would be very hard to coordinate; the independently-written parts would not work together. But for the particular task of replacing Unix, this problem is absent. A complete Unix system contains hundreds of utility programs, each of which is documented separately. Most interface specifications are fixed by Unix compatibility. If each contributor can write a compatible replacement for a single Unix utility, and make it work properly in place of the original on a Unix system, then these utilities will work right when put together. Even allowing for Murphy to create a few unexpected problems, assembling these components will be a feasible task. (The kernel will require closer communication and will be worked on by a small, tight group.)

+

If I get donations of money, I may be able to hire a few people full or part time. The salary won't be high by programmers' standards, but I'm looking for people for whom building community spirit is as important as making money. I view this as a way of enabling dedicated people to devote their full energies to working on GNU by sparing them the need to make a living in another way.

+
+
+ + <p>Why All Computer Users Will Benefit</p> + +

Once GNU is written, everyone will be able to obtain good system software free, just like air. [2]

+

This means much more than just saving everyone the price of a Unix license. It means that much wasteful duplication of system programming effort will be avoided. This effort can go instead into advancing the state of the art.

+

Complete system sources will be available to everyone. As a result, a user who needs changes in the system will always be free to make them himself, or hire any available programmer or company to make them for him. Users will no longer be at the mercy of one programmer or company which owns the sources and is in sole position to make changes.

+

Schools will be able to provide a much more educational environment by encouraging all students to study and improve the system code. Harvard's computer lab used to have the policy that no program could be installed on the system if its sources were not on public display, and upheld it by actually refusing to install certain programs. I was very much inspired by this.

+

Finally, the overhead of considering who owns the system software and what one is or is not entitled to do with it will be lifted.

+

Arrangements to make people pay for using a program, including licensing of copies, always incur a tremendous cost to society through the cumbersome mechanisms necessary to figure out how much (that is, which programs) a person must pay for. And only a police state can force everyone to obey them. Consider a space station where air must be manufactured at great cost: charging each breather per liter of air may be fair, but wearing the metered gas mask all day and all night is intolerable even if everyone can afford to pay the air bill. And the TV cameras everywhere to see if you ever take the mask off are outrageous. It's better to support the air plant with a head tax and chuck the masks.

+

Copying all or parts of a program is as natural to a programmer as breathing, and as productive. It ought to be as free.

+
+
+ + <p>Some Easily Rebutted Objections to GNU's Goals</p> + +

"Nobody will use it if it is free, because that means they can't rely on any support."

+

"You have to charge for the program to pay for providing the support."

+

If people would rather pay for GNU plus service than get GNU free without service, a company to provide just service to people who have obtained GNU free ought to be profitable. [3]

+

We must distinguish between support in the form of real programming work and mere handholding. The former is something one cannot rely on from a software vendor. If your problem is not shared by enough people, the vendor will tell you to get lost.

+

If your business needs to be able to rely on support, the only way is to have all the necessary sources and tools. Then you can hire any available person to fix your problem; you are not at the mercy of any individual. With Unix, the price of sources puts this out of consideration for most businesses. With GNU this will be easy. It is still possible for there to be no available competent person, but this problem cannot be blamed on distribution arrangements. GNU does not eliminate all the world's problems, only some of them.

+

Meanwhile, the users who know nothing about computers need handholding: doing things for them which they could easily do themselves but don't know how.

+

Such services could be provided by companies that sell just hand-holding and repair service. If it is true that users would rather spend money and get a product with service, they will also be willing to buy the service having got the product free. The service companies will compete in quality and price; users will not be tied to any particular one. Meanwhile, those of us who don't need the service should be able to use the program without paying for the service.

+

"You cannot reach many people without advertising, and you must charge for the program to support that."

+

"It's no use advertising a program people can get free."

+

There are various forms of free or very cheap publicity that can be used to inform numbers of computer users about something like GNU. But it may be true that one can reach more microcomputer users with advertising. If this is really so, a business which advertises the service of copying and mailing GNU for a fee ought to be successful enough to pay for its advertising and more. This way, only the users who benefit from the advertising pay for it.

+

On the other hand, if many people get GNU from their friends, and such companies don't succeed, this will show that advertising was not really necessary to spread GNU. Why is it that free market advocates don't want to let the free market decide this? [4]

+

"My company needs a proprietary operating system to get a competitive edge."

+

GNU will remove operating system software from the realm of competition. You will not be able to get an edge in this area, but neither will your competitors be able to get an edge over you. You and they will compete in other areas, while benefiting mutually in this one. If your business is selling an operating system, you will not like GNU, but that's tough on you. If your business is something else, GNU can save you from being pushed into the expensive business of selling operating systems.

+

I would like to see GNU development supported by gifts from many manufacturers and users, reducing the cost to each. [5]

+

"Don't programmers deserve a reward for their creativity?"

+

If anything deserves a reward, it is social contribution. Creativity can be a social contribution, but only in so far as society is free to use the results. If programmers deserve to be rewarded for creating innovative programs, by the same token they deserve to be punished if they restrict the use of these programs.

+

"Shouldn't a programmer be able to ask for a reward for his creativity?"

+

There is nothing wrong with wanting pay for work, or seeking to maximize one's income, as long as one does not use means that are destructive. But the means customary in the field of software today are based on destruction.

+

Extracting money from users of a program by restricting their use of it is destructive because the restrictions reduce the amount and the ways that the program can be used. This reduces the amount of wealth that humanity derives from the program. When there is a deliberate choice to restrict, the harmful consequences are deliberate destruction.

+

The reason a good citizen does not use such destructive means to become wealthier is that, if everyone did so, we would all become poorer from the mutual destructiveness. This is Kantian ethics; or, the Golden Rule. Since I do not like the consequences that result if everyone hoards information, I am required to consider it wrong for one to do so. Specifically, the desire to be rewarded for one's creativity does not justify depriving the world in general of all or part of that creativity.

+

"Won't programmers starve?"

+

I could answer that nobody is forced to be a programmer. Most of us cannot manage to get any money for standing on the street and making faces. But we are not, as a result, condemned to spend our lives standing on the street making faces, and starving. We do something else.

+

But that is the wrong answer because it accepts the questioner's implicit assumption: that without ownership of software, programmers cannot possibly be paid a cent. Supposedly it is all or nothing.

+

The real reason programmers will not starve is that it will still be possible for them to get paid for programming; just not paid as much as now.

+

Restricting copying is not the only basis for business in software. It is the most common basis because it brings in the most money. If it were prohibited, or rejected by the customer, software business would move to other bases of organization which are now used less often. There are always numerous ways to organize any kind of business.

+

Probably programming will not be as lucrative on the new basis as it is now. But that is not an argument against the change. It is not considered an injustice that sales clerks make the salaries that they now do. If programmers made the same, that would not be an injustice either. (In practice they would still make considerably more than that.)

+

"Don't people have a right to control how their creativity is used?"

+

"Control over the use of one's ideas" really constitutes control over other people's lives; and it is usually used to make their lives more difficult.

+

People who have studied the issue of intellectual property rights [6] carefully (such as lawyers) say that there is no intrinsic right to intellectual property. The kinds of supposed intellectual property rights that the government recognizes were created by specific acts of legislation for specific purposes.

+

For example, the patent system was established to encourage inventors to disclose the details of their inventions. Its purpose was to help society rather than to help inventors. At the time, the life span of 17 years for a patent was short compared with the rate of advance of the state of the art. Since patents are an issue only among manufacturers, for whom the cost and effort of a license agreement are small compared with setting up production, the patents often do not do much harm. They do not obstruct most individuals who use patented products.

+

The idea of copyright did not exist in ancient times, when authors frequently copied other authors at length in works of non-fiction. This practice was useful, and is the only way many authors' works have survived even in part. The copyright system was created expressly for the purpose of encouraging authorship. In the domain for which it was invented - books, which could be copied economically only on a printing press - it did little harm, and did not obstruct most of the individuals who read the books.

+

All intellectual property rights are just licenses granted by society because it was thought, rightly or wrongly, that society as a whole would benefit by granting them. But in any particular situation, we have to ask: are we really better off granting such license? What kind of act are we licensing a person to do?

+

The case of programs today is very different from that of books a hundred years ago. The fact that the easiest way to copy a program is from one neighbor to another, the fact that a program has both source code and object code which are distinct, and the fact that a program is used rather than read and enjoyed, combine to create a situation in which a person who enforces a copyright is harming society as a whole both materially and spiritually; in which a person should not do so regardless of whether the law enables him to.

+

"Competition makes things get done better."

+

The paradigm of competition is a race: by rewarding the winner, we encourage everyone to run faster. When capitalism really works this way, it does a good job; but its defenders are wrong in assuming it always works this way. If the runners forget why the reward is offered and become intent on winning, no matter how, they may find other strategies - such as, attacking other runners. If the runners get into a fist fight, they will all finish late.

+

Proprietary and secret software is the moral equivalent of runners in a fist fight. Sad to say, the only referee we've got does not seem to object to fights; he just regulates them ("For every ten yards you run, you can fire one shot"). He really ought to break them up, and penalize runners for even trying to fight.

+

"Won't everyone stop programming without a monetary incentive?"

+

Actually, many people will program with absolutely no monetary incentive. Programming has an irresistible fascination for some people, usually the people who are best at it. There is no shortage of professional musicians who keep at it even though they have no hope of making a living that way.

+

But really this question, though commonly asked, is not appropriate to the situation. Pay for programmers will not disappear, only become less. So the right question is, will anyone program with a reduced monetary incentive? My experience shows that they will.

+

For more than ten years, many of the world's best programmers worked at the Artificial Intelligence Lab for far less money than they could have had anywhere else. They got many kinds of non-monetary rewards: fame and appreciation, for example. And creativity is also fun, a reward in itself.

+

Then most of them left when offered a chance to do the same interesting work for a lot of money.

+

What the facts show is that people will program for reasons other than riches; but if given a chance to make a lot of money as well, they will come to expect and demand it. Low-paying organizations do poorly in competition with high-paying ones, but they do not have to do badly if the high-paying ones are banned.

+

"We need the programmers desperately. If they demand that we stop helping our neighbors, we have to obey."

+

You're never so desperate that you have to obey this sort of demand. Remember: millions for defense, but not a cent for tribute!

+

"Programmers need to make a living somehow."

+

In the short run, this is true. However, there are plenty of ways that programmers could make a living without selling the right to use a program. This way is customary now because it brings programmers and businessmen the most money, not because it is the only way to make a living. It is easy to find other ways if you want to find them. Here are a number of examples.

+

A manufacturer introducing a new computer will pay for the porting of operating systems onto the new hardware.

+

The sale of teaching, hand-holding and maintenance services could also employ programmers.

+

People with new ideas could distribute programs as freeware [7], asking for donations from satisfied users, or selling hand-holding services. I have met people who are already working this way successfully.

+

Users with related needs can form users' groups, and pay dues. A group would contract with programming companies to write programs that the group's members would like to use.

+

All sorts of development can be funded with a Software Tax:

+

Suppose everyone who buys a computer has to pay x percent of the price as a software tax. The government gives this to an agency like the NSF to spend on software development.

+

But if the computer buyer makes a donation to software development himself, he can take a credit against the tax. He can donate to the project of his own choosing - often, chosen because he hopes to use the results when it is done. He can take a credit for any amount of donation up to the total tax he had to pay.

+

The total tax rate could be decided by a vote of the payers of the tax, weighted according to the amount they will be taxed on.

+

The consequences:

+

- The computer-using community supports software development.

+

- This community decides what level of support is needed.

+

- Users who care which projects their share is spent on can choose this for themselves.

+

In the long run, making programs free is a step toward the post-scarcity world, where nobody will have to work very hard just to make a living. People will be free to devote themselves to activities that are fun, such as programming, after spending the necessary ten hours a week on required tasks such as legislation, family counseling, robot repair and asteroid prospecting. There will be no need to be able to make a living from programming.

+

We have already greatly reduced the amount of work that the whole society must do for its actual productivity, but only a little of this has translated itself into leisure for workers because much nonproductive activity is required to accompany productive activity. The main causes of this are bureaucracy and isometric struggles against competition. Free software will greatly reduce these drains in the area of software production. We must do this, in order for technical gains in productivity to translate into less work for us.

+
+ + + <p>Notes</p> +
<p>1</p>

The wording here was careless. The intention was that nobody would have to pay for permission to use the GNU system. But the words don't make this clear, and people often interpret them as saying that copies of GNU should always be distributed at little or no charge. That was never the intent; later on, the manifesto mentions the possibility of companies providing the service of distribution for a profit. Subsequently I have learned to distinguish carefully between "free" in the sense of freedom and "free" in the sense of price. Free software is software that users have the freedom to distribute and change. Some users may obtain copies at no charge, while others pay to obtain copies - and if the funds help support improving the software, so much the better. The important thing is that everyone who has a copy has the freedom to cooperate with others in using it.

+
<p>2</p>

This is another place I failed to distinguish carefully between the two different meanings of "free". The statement as it stands is not false - you can get copies of GNU software at no charge, from your friends or over the net. But it does suggest the wrong idea.

+
<p>3</p>

Several such companies now exist.

+
<p>4</p>

The Free Software Foundation for 10 years raised most of its funds from a distribution service, although it is a charity rather than a company. You can order things from the FSF.

+
<p>5</p>

A group of computer companies pooled funds around 1991 to support maintenance of the GNU C Compiler.

+
<p>6</p>

In the 80s I had not yet realized how confusing it was to speak of "the issue" of "intellectual property". That term is obviously biased; more subtle is the fact that it lumps together various disparate laws which raise very different issues. Nowadays I urge people to reject the term "intellectual property" entirely, lest it lead others to suppose that those laws form one coherent issue. The way to be clear is to discuss patents, copyrights, and trademarks separately. See further explanation (at http://www.gnu.org/philosophy/not-ipr.html) of how this term spreads confusion and bias.

+
<p>7</p>

Subsequently we have learned to distinguish between "free software" and "freeware". The term "freeware" means software you are free to redistribute, but usually you are not free to study and change the source code, so most of it is not free software. See the Confusing Words and Phrases page (http://www.gnu.org/philosophy/words-to-avoid.html#Freeware) for more explanation.

+ + /9j/4AAQSkZJRgABAQEASABIAAD/4QAWRXhpZgAATU0AKgAAAAgAAAAAAAD/2wBDAAUDBAQEAwUE +BAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/ +2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4e +Hh4eHh4eHh4eHh7/wAARCAKAAeADASIAAhEBAxEB/8QAHQABAAICAwEBAAAAAAAAAAAAAAYHBQgB +AwQJAv/EAFIQAAEEAgEDAgQDAwUJDAkFAAEAAgMEBREGBxIhEzEIFCJBMlFhFSNxCRZCUoEkMzdy +dXaRsrMXNjg5Q2JjdJKhsbQYJkRTc4KDosE0VMPR8P/EABQBAQAAAAAAAAAAAAAAAAAAAAD/xAAU +EQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwDcpERAREQEREBERAREQEREBERAREQEREBE +RAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQE +REBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERA +REQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQERE +BERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERARE +QEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBE +RAWrPXXpf8QvIuquZzHBub3cZx6x6HylWPkNis2Ptgja/UbPpbt7Xnx77391tMiD5l5nK9c8T1Wj +6a2+pfJv25Jfr0AW8itGH1Zuzs+ru3r943Z1+a2C6Q9KfiPwnUrBZblvO71/BVrPfdrP5JZnbIzt +I0Y3eHeSPBVT9Tf+MAqf524n/wAay+hI9gg1c/lBuUcm4xgOJS8b5Fl8LJPastmdj7slcyAMZoO7 +HDetnW/zVv8AR/k9Ov0P4VluVchghnuYis6S3kroa6eQxtJJfIducd7Pnaon+Ur/AN7fC/8Arlr/ +AFI1GuDfDDnOpnSrE8t5DzqxHk58VEzDU3QB8FasxuoY3HfgEAE9oGi4k9zidhu5Wnhs147FaaOa +GRocySNwc1wPsQR4IXYtHv5OLlOWHMs/wyS1LJin405GOFzyWwysljjJaPYdwl869+xv5LJ/Hr1D +zlrmGK6TYLI/JU54opckRN6TZ5JXFsccjvtG1oDiCdHvBI+kINuMfybjeRyDsdj+QYm5dbvurwXI +5JBr320Hayy0G6qdAennE+mU3IuI9VK+S5Lio22JojfrdlntI7vRaw98bh5cPqeT269zsbAfBL1M +yvULpdPW5DcfczODsipLZkO5J4S0Oie8/d/h7Sfc9gJJJJQXytRfis+InkeO5i7pn0vc4ZNkja12 +9XiE07rD9AV4G6P1DYBOi7uOh2luzt0vnh8E0LeV/E67PZkie5HXuZTuf57p3kNLvPuf3rj/ABG/ +sgksHQP4n7dAZ6fm88OS7e8VZuS2DbB+w727jB/+pr9Vm/hs68c7wfU6HpR1Yks2JJbPyEFi6N2q +tknTGPeP76x5IAcdnbmkOLVsp1t6nYbpPxKDkucoX7taa6ymI6YYXhzmPcCe9zRrTD9/uFQVb4ie +hHK+d4+1a6V2bOduXIIo8haxdN8rZO5rI3GTvLvp+nR9wANeyC3fjAy+Vwfw88lymEyd3GX4XVPS +tU53Qys7rULT2vaQRsEg6PsSFrb8GHXXkEPUgcS5xyPJ5elni2GnYyNySd1a0N9jQ57iQ2Tfbof0 +uz28rYX42/8Agzcq/wAal/5yFaZ8T6YS8l+GXK9QcJG8ZnjeemNkxk90lP0K7iRr7xO28e2mmQ+d +BBt98cedzfHuiByPH8xkcRdGUrs+Yo2nwSdpD9t7mEHR0PC4+BvO5vkXRE5HkGZyOXuftWwz5i9a +fPJ2hrNN7nknQ2fH6qmOrnVFnVH4Lq1+3Mx2ex2Xq08szYBMoa/tl0PYSN+r2A7u8D8Ktb+T6/wA +n/LFn/VjQU3zrnXNq3xu1+PV+Y8ihwzuU46A49mTmbWMbnQdzPTDu3tOzsa0dlb1j2Xzz6hf8P2r +/nfjP9eBfQweyDRToJzrm2S+MZmByPMeRXMT+1Mqz5Gxk5pK/ayKwWN9Nzi3TS1pA140Ney3sXzx ++HP/AIcbP8rZj/Y2V9DkGrP8oNynk3GMJxCXjXIsxhXz2bTZnY+9LXMgDY9B3Y4b1s637bKhXwId +S+W5bqpkuN8s5PmctFdxRmqtyV6Wctljc1w7BITrcb3k69+0LPfyln+9/hX/AFq3/qRKqeCkcF6v +dE+Ysb2V81ja0VmV3hu3Plpyf9mIxlBfHx/c6zvF+KcXw/Gsxk8VkslkJJzPj7UkEro4mdpYXMIJ +BdMw6+5aPyVb/AdzjmvJOst+hyLl/IMxUZg5pWwX8lNPGHiaABwa9xGwCRv9Ss714Led/HHwfh7H +CSvhm1n2YXHbdt7rco/+aIRhQH+Ts/w6ZH/N6f8A29dB9AnuaxjnvcGtaNkk6AH5rD0eWcWvXhQp +clw1q2T2iCG9E+Tf5dodtUH8ZvC+sPUK5i+O8Kx7ZOLR1xPfk/aEUDZrBeR2yNe8FzY2ta4eCNvP +uQNUL156KdL+nvAHX8R1Thy3JoJYozjfUhebHc7Ty2OMl0QA27bi4fT272Qg+iC8bsrjG3fkXZGm +LXcG+gZ2+ps/bt3vapv4I+VZjlfQinNm7ctyzj7k1FtiVxdJJGztczuJ9yA/t3+TQtV+tVLPZL41 +8ljeMXfkMzby9avUtb18u98MbfU37jtBJ2PI1486QfQSXkPH4su3Dy5zGR5JxAbTdbYJiT7aZvu8 +/wAFlFoB8RnwyM6a9OjzSny6xmZobEceQZZqiPv9Q69RhDiQe8jbTvYcT3eNHZf4L+VZblvQXF2s +3aluXaU81E2JXdz5WMdthcfuQ1zW79z27OzsoIng+JdWYfigkztrn4m4gcpYkGH/AJxSv1EY3hjP +lie3wS09v21+iuvq5yG3xPpfybkmPYx9zG4yexXD27b6jWHtJH3AOiR+S0v4h/xiE/8AnBe/2Mqv +/wCNTpvieZdNJ+UX712va4rQuWakcBZ2SueIyQ/YJ1+6HsR7lBT/AMHc3VzqPz93NMn1EytnCYm5 +q/Qs5GfssmSJ+g2Fv7sAHtOtAfkPC3RyV+jjKjrmSu1qVZn4prErY2N/i5xAC0Y+Arpjh+UZixzu +7fvQ3uN5GI1oYiz0pO6NxPftpP8AoIUeZk//AEk+vtv+eHL2YDilNs01Rs07YhDWa9rWRxCQ9omf +trnOO/Zx1poaA+geHy+JzNY2cPlKWRgB7TJVsNlaD+W2khe5fOjqvgq3w+dQMFybpLz9mVrWmv2w +XI55GGMsLop/S018b+4a8D2P3aCrl+NXqbmZuhvDbXGpbOOx3L4hYtyRP08QmFjxXc4fZ3qHuA1v +0yPYuBDZk8r4sMl+zTyXDC93dvy3z0Xq935dvdvf9izK+eXT3oz0i5v01imxPVRsfPJaneMbbkir +xfM9u/QEcgD3jf0+o1xH9LX9FX70I6Y9SZej/Jul/Vh81fE2I4osXYhuxzzRRHfqRg7cA1vZGWgj +x3OA8AAB4+nfxAc05F8UV7pddxuBjw1fJ5Ko2aGvKLJZXE3YS4yluz6bd/T+egPts4vmP096V4Xk +fxNXultvIZCLF18lkajbMRZ65bXEvYTtpbs+mN+PudaVu/GxzfPVszgeiHE7dptOGjXittif2yXZ +H/RFC/Wvp7Q069nF/kfSEG4VflXF7GSGMr8kw014u7flmXo3S7/LsDt7/sWZWlXJPgudj+nE9/Hc +pnvcqrVnTvrCBoqzva3Zij/pA/YOJ8nW2t34lXwA9UszyfFZXgvIr81+fERMs46edxfL8uT2vjc4 ++SGOLO3ezp5Hs1oAbVoiICIiAiIgIiICIiAiIgIiICIiAiIg+evU3/jAKn+duJ/8ay+hI9gqszHQ +Tp9leqDOo9uvkTnmXoL7XttkR+rD2dn0a9vobsK00Gov8pX/AL2+F/8AXLX+pGr9+HX/AAD8G/yF +U/2TV++r3SjiPVOpj6vLIbkkePkfJB8vYMRBeADvXv8AhCk/E8FQ4xxnG8dxbZG0cbWZWriR/c4M +YABs/c6CDRX+Tm/w35j/ADbm/wDM1V+PjkwcOM+JKhmM9DYfgstXqSyvi2C6OMiOZjXa13hrQf07 +2/mtsek/QngPTHkU+f4tXyEd2eo6nIbFsyN9Nz2PPgj33G3ypF1T6c8T6l8e/YnLMd81CxxfBMx3 +ZNXeRrujePY/odg6GwUGtXL+j/ws8Z4ZJyu3ya7bo+mHwR0szFNNZJ1psTANud5/TQ2ToAkWV8HG +N6as41nM50zxvJqmPu2o6878y5n718TXH92GuPgeqQT+fj7FYHFfBh0wq5Nlm3mOTX6zHh3ystmJ +jXj+q9zIw4j/ABS0/qth+OYXE8dwlTCYPH18fjqkfpwV4G9rGN9/9JJJJPkkknZKDIL5yZ6PK/Db +8UzsoKD5cSy1JPWYDoWsfN3AtafG3MBLfy74wfb3+jaivUvp7xHqNgxh+XYeK/Awl0EmyyWBx/pR +vbpzT4Gx7HQBBHhBAsx1h+HzmXDY7nJOQ8byONjcLHyOUgEk0cgBG/l3NLy4BzhtrT7nRIK0v5ny +XjHK/iHweV4VxqpgeOR5SnVpR16ba4m7Jml0jmtGu8l/8Q3sB9ls2z4K+mjbwlPIOVurA79E2INn +9O70vb+zf6qycp0C6a3aPF6MOImx9bjE77GPZUnLNyPdG5zpCdmQkxM8k78e6DFfG3/wZuVf41L/ +AM5CoP8AydEUc3RTPwzRskjkz8zXseNtcDWrggg+4V/9ReH4bnvD7vFOQMnfjbpjMzYZOx57JGyN +077fUwLHdJem3GemGAs4PisVqOnZtutyCxMZHeoWMYdE/bTG+EHz5+JjgOS6SdQcvxrHyTx8YzfZ +cot8lkkQcS1h3vb4nFzd77u0gnQfo7YfyfX+AE/5Ys/6satLq30v4h1RxNPHctoyTspzGavLDJ6c +sZI04Bw89p8bHsS1p+wXr6W8A49024x/NzjEdmOh8w+xqeYyO73AA+T9vpCDRr4kXS8C+M1vKMpU +nfRjymOzUQYAHTwM9Iu7NnW+6KRnn7tW4Fn4gejkHHXZsc9xM0Aj72wRvJsu8eAICPUB/QtH66Wf +6qdM+GdTMPHjeXYhlwQFzq1hjjHPXLholjx5AOhtp206GwdBUkz4Kemwtd7uR8sdB/7v164d/wBr +0f8A8IKU+DOpe5d8U8vLK1V0dWr89krP3bGJ2vjazftvc3gfcNJ+xX0JUV6adPeI9OcGcPxHDxY+ +B5DppO4vlncP6Uj3EucfJ0PYbOgB4UqQahfyln+9/hX/AFq3/qRKB9bMC+f4OOk3KoC9s+KkfXLm +bBaycud3b/R0LB/Fy296vdKOI9U6uOrcshuSx49731/l7Bi0XgB29e/4Qub/AEo4fe6Sx9L7Ne0/ +j0UcbGN9c+s0MkEjSH63vuHv+RIQa0fCBcs9S/iX5r1Pu1yI4qjjEHeTC+ZzWRD+yGKRqhv8nZ/h +0yP+b0/+3rrcjpF0m4d0sq5GvxKtZiGRex9l1icyud2BwaNn2A7nf6SsT0o6D9P+mXJJeQcWgyMd +6Wq6o82LZkaY3OY4+CPfbG+UGtHx88szN7q1iuCW8tZxnGYqteaZrdmN7pHnune0f3ztDQADvXa7 +Wi4ro+IHg3w9cD6QTM4fla2e5TefAyjZbmBalYz1GukkLInCMNLGubst93eFtF1v6IcJ6tsqTchj +t1MjTaY4MhRe1kwjJJ9N3c1zXM2d6I2CTojuduIcX+EvpNh8JkcfcrZLMzX42xuuXLAEsAD2v/c9 +jWhhJYNu0XaLm77XEEMf/J5/4BrH+W7H+ziVKck/4xCL/OCp/sY1uF0k6Y8a6X4q5iuKuyDKVucW +Hw2bJla2Tt7S5ux4JAaD+faPyWHt9DOBWuqrepcsGQPIG2mWw8WiIvUY0NH0a9tNHhBGvjp/4N2c +/wCs1P8AbsWM/k/P8AA/yvZ/8GK4upPCsH1B4lZ4vyJk78dYfG+RsMvpv2xwc3R/iAunpdwHj3Tf +i/8ANzjMdmOh677Gp5jI7vdrfk/bwEGmHEP+MQn/AM4L3+xlW2vxLf4Aub/5Gn/1V5aHQzgVLqq7 +qZBBkByB1qS2Xm0TF6kjXNd9GvbTj4U45fgMdyri+R45lmyOoZGu6vYEb+1xY4aOj9ig1d/k3oxN +wjmcTiQH3oWkj38xOVA9BOD8Iv8AWDJ8H6tW34j0GTVon/Niu0XI5GtMZeRryBJretkADyQFv70i +6V8T6W0L9LicVyOG/K2WcWLBlJc0aGt+3gqM9Zvh36e9UMv+3MrFexeZLQyW7jpWsdOGjTfUa5rm +uIGh3aDtADegAA176q8I+FPp3kKuPyN3k2Wtztc98WIyEVgwAa16my0NJ34Hk+CfHjdq9X+W9I+n +3SniHB+ecH5LksBfxzZKFaavE6et6bWgte4ysdHM0SgEsPjuI3orM9L/AIWemXBs9Xz3Zks9kKzh +JXdk5WOihkHs9sbGtBI+3d3aIBGiARZnU3p/xXqNxw4LlmMbdqh3qRPa4slgk1oPY8eQfP8AA+xB +HhBqFzXoL0Qy3DXcx4P1Wp4SvJV+aZVyVyKeNpLO4QkAiSN2/BB9RwOxonws5/Jx8m5Pdtck41at +WbeApVop4BK8ubUlc8gMZv8ACHgOPb7bZsffcrf8FPTc2e5vJeWNg+8frVy7/tej/wDhXl0s6dcU +6acd/YfE8easD3+pPLI8vlsP1rue4+58ew0B9gEGlnSC7Tx/x9ZaxftQ1Yf5wZtvqTPDGgn5kAEn +wNnx/Fej4y4bfDfigwfPzAbNGyKOSrOH4JXVnNDow72J0xhP6SN/NX31M+FPp3zfmNzlEl7NYm1f +lM1yKlLH6Ukh8ueA9ji1zj5PnRPnXvuyuZdMuIcx4LV4dyXHHIY+pCyOtI9/bPC5jQ1sjXt1p2h5 +14PsQR4QYLkfXfpljOnU/MKvLcReZ8qZqtOO002Z5C3bIvS33tcSQCCB2+S7QBK1s/k3OPXpeacm +5WYnto18c3HCQtIa+WSRkhAPsS0RDf5d7fzCseD4K+mjLwlk5ByuWuCD6JsQAn9C4Re38AD+q2C4 +VxXj/DOO1+P8ZxkONxtcHshj2dk+7nOJJc4/dxJJQZpERAREQEREBERAREQEREBERAREQEREBERA +REQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQERE +BERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERARE +QEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBE +RAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQE +REBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERA +REQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQERE +BERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERARE +QEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBE +RARF0XrdShUkuXrUFWtE3ukmmkDGMH5lx8AIO9FXOR6zcLZK+DAuyXLLEZ05mBputMH8ZvEI+/u/ +7LFP6kdQrj3DG9NadGL3bJls8xriP1ZBHJo//MgttFVDObdSjGf/AFc4a+Qe7G5qyNeSP/235gj+ +wrzf7o/Utji3/c6wNsgAj0OTFvcD7Ed1ceP4oLgRVHX6t8lqEu5D0ozsEWx+8xV6vkP/ALQ5j/8A +Q1Tvh3M+N8tikOEyLZLEIBsU5mOhtV9+P3kLwHs8g6JGjrwSgkKIiAiIgIiICIiAiIgIiICIuCQB +snQCDlFXPJ+tvTfBZD9l/t9uWyhJayjiIX3ZnuH9AemCA7fjRIK6oepPJshCZsP0p5H6ZG2HKW6t +In+LDI54/tagstFVjOpHO4ZJBkOjeYbGwb76eZpWO4fo0vaT/DS4xfXzp/LlRiM9LlOJZMnQq5+i +6qdf1i/ywN/UuAKC1EXTTs1rtWK3TsRWK8rQ+OWJ4ex7T7EEeCP1XcgIiICIiAiIgIiICIiAiIgI +iICIiAiIgIiICIiAiIgIiICIiAiIgLrnmirwSTzysiijaXve9wa1rQNkkn2AH3X5u2q1KnNcuWIq +1aCN0s00rwxkbGjbnOcfAAAJJPsqDzd7I9Y7QlsutY/p5HJ3VaQ7ops4QfE03s5tfflkfgu8Odr6 +QAy3Ier2c5NbnxPSLFV78MTzFY5JkQ5tCJw8EQtH1TuHnyPpBA/E07UQtcVpMyNfIc/ytzmuZm7/ +AJazlfpx0M/kCNkLdxxDbfP0uI0XAaDu309Q8rxvD5DAYZltuJvMYf2bLVmZAK7XDTGAH92WyemW +tZIBG7s0XsIbvFcniucmxNjB/wBz0uTMd89SEZMVXKvhOi9oeNxyt0Y5I3fU0Etcddr4wzXLORh2 +J/Z2Nuy4GVtd1mvK2Numxei9gY4eQx7Zj2lv1aMYP6Dw4HK5DlVjL0rkVpktSWSWKMgg+PSfH6Z1 +pu3SW4Q/XcGMjJAcFVnBLmVvdQpqORo3aOO/aFerFUsiRkjY7zhYc1/cQQ7+43A+52X7c7W1bdCL +CcAzWTyWXytDDUrV2xZjFi83vmDxEQRHrZHebB7QSRpv5kNDzS5GWVlW3XjlM0lqlJOYo3MBY94m +9T76Y59ewAN61a9z3ALrzuOyHrmv8w+D9pCPEMeJSyURm/K572t34AqQPcHffY1v6l5ZeV0rjKtL +h/BOZckhZYqvZbhxT2QRRxhrB2OeGnfph4GwBt7vIBUi1zS7yermh0w5O+OGFzWxyyUonNeB2x+8 +/sGy2fJ/97+iCkcdzTqLhuT8WHIX24oslmGOEctlz3hjbE8UzHtO9DVgt0fb0GHQ0FZl/qrwmatx +NnLatmnksrjK1+C5XHY2kZwQS2dr2yRaLXbLf6PudbXLuMc1scV1yTpryA5v1LczJaU1OeGKaV9t +0TwPX7vo+bcfYHbW/wBUKOdSuORciwuVbj+nvN6eUMdfHY71OP2jHBTilgdr6Gub47JXDXuHAfwC +4cVz7l2Bf3vjZzzj/YyQT0Xxtyldj29zS6MajsNLS0tLexxB3p3uZFB1w6cz/u4sllXWfvVbgrrp +gfu0sEW9qp+LWpcOasFXhPUTITxyVuzu45JBoQ0xWH1SEN86cTsj8ZH28zvF8Q51yHGRYu21/DsO +IxDJIbjbWVljAA00t3FC4j+n3SOH2AOignvTbnWH5/ibmVwdfIR1Kt2SmX3K/omR7A0uc0E77du1 +5AO2uGvClKxvGcHieNYGngsHRio46lGI4II/Zo9/c+SSSSSdkkkkkkrJICIiAiIgIiIIh1H5pLw6 +XBtZx69mRlbrqvbUliY9hbC+XwJHNa5xEbtN7hvR1s6Bj4699LYrHyeT5BNh7w8PqZLH2K8rD+RD +ma3/AAJUw57xXH8w487E3pJq72SssVLcDu2apYYdxzRn7Oaf7CCQfBKq7P2Oe4P0qnIcVyGzFF9D +ctxSrBaZY8+HyVpGPlhcRrYYHt37O17Bl+adeuI4Hik/Icfjs/m6sRDBNDjJoK/c46buaZrW6LtD +be4+fZav5LrXmupnOI6fMKOZucZlEjYeN8fkcx1h+v3bHlpD5RsDu8/q0D8JsLlvGuIZ3kFe7zDP +87+QgDnNoWMDlWPf3DtPfLIx+gRsERCMefAHneWhl6PVonR4enZqwGMRPjZxi+YXNB8iRjYW+uT5 +O5nSAOAPafKCs+E9T+cXspYwvSDp1gsHX7QyRsFT1ZIvqGnz2HlrSdAjbwPc+50ROrdrrXSzU9i/ +l6Ut+4x0RmbLKzH4yLbGtDIg3cksknexumvlcGDsLe4lTjjfNuCZDIR1ncpxL7kGvSgyPfBKZA0B +r2xyNiYx2gRqOMHXsfJC9fK8b+z8HLZyQdfZAx47pSG+ruFz5ZHkeGeq4CE/ZkRLW9ocQgqZnJOq +HFO/L3OaQXMU1jnwVp6cUccxaT3EuD+/Xc/zKDL5I9btd4GAq9b62fhss6tY2nmMQ4PFTFUqMTpm +SbIDnyOe10Wtfibpx3vWlNOevyOT4zcyXHas1m/M5smIMtQGaWJoLRkH7LW1YWgyiDu01g28NL39 +zKO4Rx3lVvGZbIy4unVogyR28zlmwxsY930uHrTtee7e/wC9NLySfIOthf1Hi+Y4BIzPdD+WRX68 +rPmLXEblwTNnboFwi2Q4PA14ID/H4j+A3h0d6lYLqXxx2RxjZKl+q4Q5LGzn99Tl8/S4eNtOj2u0 +N6IIDg5rdHuBdQsd07tCGpLmOQQxPcTFXyhqY+X6tjcT65fJ/F3affQG1cNrMWquNwHxJ8UoNryy +n0eVYyuT2WIPV9N7hvW3tLQC722GP9mu2G26Ly4m/UyuLqZTHztnp3IWTwSt9nxvaHNcP0IIK9SA +iIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIii3VXlD+IcFyGZrQixkNNr46ufPr2pXC +OFmvuC9w3r7An7IK+6n5B3P+YS8HruJ4xhZGSZ57SdXbOg+OnseOxoIfJ7+SxvjyspcsNpwtDK87 +2eGn5eIP9EHYDiwHuI2NaaD/AAABIxnE8PHxfisVKSWa5OwOnu2Ax0ktqw8l8spABc4ucXHQ2daA +9gsJlnZNwZbxuVxOWbGRAyHJE0rcUjvJaLEbf3bngD926EdxDdnXghi8xRuvqQyU69K0+zI5mnGK +WKwXO/eMc0tijeXEfVERGSWHW37kZ1U7Uo5Bx6paw8kuElstNN8byHYe2xrgI+89vdXkAc1oOnNd +3RFrSBGzKsyUktienYZHFlCwC1UvRtYbDXaYGztbtj2u01jbEe2hxDS0dpjd2ZWs/l1uj08wotVn +5GP5vMW5PE9CpG8NJLtnc73MEbHEu/C5+3BoJDN0ILHJs9dg4jHWZYiDK2RzksffDWLO/tiYP+Wm +b6r/AKQQ1nce870x024b0y4hxi2/J18d+0M1K7vny+RInuSu1rfqEfQPA+lga0aGh4Uj49hsXx7C +VMLhaUVHH04xFBBENNY0f95P3JPkkknZJWQQcLlEQFxofkFyuD4G0DQ/ILlVbnutOEOXlwPBsVe5 +xmYvEseMLRVgP29Wy792wfqO7yCPdecv6yZuIvs57jPEmPO2Q0ce7ITsH5Okle1m/wCDCEFtIqUv +ca6owh1yXrlarxRNL5Hv49TDGtA2SfYAD7kr9+p1rwNiOGvy/i/LJJCXCvk8U6jK5o1trXwOLQ73 +13N/8DoLoRVPxnrbiHXquJ51ibPDMjbANWW1K2bH2wRsGG2z6HeNHzr3A2SrYQEXRfuVKFOa7ftQ +VasDC+WaaQMZG0e5c4+AP1KprlXxNdNsPLahxr8jyB9SP1J3UIWiNje9rN98rmd4Je3RZ3b3v28o +LsRURL8SeKryUBY4Znpf2j3mlHT7J5pwwnu7WbHkAB2t709v66lPB+vHTPlk8VSvnhjL8vhtTKRm +s8nu7dBzvoce4Eaa4nYIQWcuFyiDhcoiDw5nEYrNUnUsxjaeRqv/ABQ24Gyxn+LXAhVzyDpMKFGb +/c/ux42N7S2XBZDusYm0072wxu26Dfgbj0PzY5WoiDWjkvI6+ao2MTeo38ZlWWxHm+ORyn9p5Czo +GCtFKPBrPAe4zNIHps/ogvUK5nhrXJsfPXu1KfKOQsBEFGtakgw+BjY76mRlhaHvHaQ+Z5bHtrm9 +229jro+JnGMxmLp9Rq0EpkxAdSy3y7jHNPi7BDJWte3Tg5ji2RpBHaQ4/cqjeWWRyHkr+AcTkm4/ +wjjskUdmSElr787mgMcZXgg+A0R7LnnTXsZIQ0NDW90bxM7sZ3Brh+H6h5P0+fvv7fmt0/hco8iv +9Ocvh+bY9sFCdxghxrsWyl2QSMPqbYxjAe/v3vWzvezvxSvUDK5jg2Xq2cdJVxsDoPVrYa418U7S +NB0/dHJ6pe7ucXPmdE94+kscB2iw+kPJettnJUXZPiF2DjsnZI1lKtVx0LGuPcXkPhc+TuH2aWkk +7JG9gLY+Fq3aocaznT3JTumu8QyklJj3n6pKryZIJD+QcC7Q9tAaVxKluOP/AGR8UVkR7iq8n4wy +d7XN0X2q0vYPf8oirpQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBVF1Vsftrqzxvj +vl1XCVJc5ZaRtrpnkwVv4ED5hw/xQrdVIYeT9pdTuf5kuLmjJQYuL79rK1ZhIB/+JNL4/PaDM5J+ +QjgD8dBWnla7bo5pTGHN/Rwa7R/iNH28b2IbyDPzQbsXMSWWoIy/sbN8tdZGCO4sB74p427Dnn1T +GPBeBrxLMtLdjY50OPq2oWN7n+pYka/Q3vtayJ5cfA0B5P2VIdWOVYSwBi71HmTIq94h1urBJLWg +sxEjxLP6Une3Z8RSN+4JIPkJtiIcTyOOCeSafH1sSWXDHJGGOZEWEPHYdsEMrNtd6Zkgkb3FvY4b +FjfDpjHu4hPzS9HI3I8pmF4+qdviqAdtWLuPkgRads+7pHHzta15d/KZumGZe67j87T2ylXykDZa +dgyTSRxH1InMHcXMk0Xsdp4Ja8yaHbu1iqVfG4yrjqjPTr1YWQRN/qsaA1o/0AIPSiIgIiIOjIXK +uPo2L96xFWq1o3SzTSuDWRsaNucSfYAAnaoXITck64Tue+xd450zaT6cce4rmdb/AF3E+Y65+w93 +A787BZluQ5P/AHTLtyWZksvTrESnujhjMjs9PE7bjobL60bm+GtB9Vzf6QGjEOd9S7Hzl6KveipY +OCt6te3Wb6oIDnNE2mj62skjLTENh7WSkkRt3IE5zeX4t054NW/YUdDG4lt9uPE0EQkr1ZS8sc6c +B7XEB7Ox7tlwJ2d6KiGP628ckZkrTMpVq/XHb+WtzgscyOYQ3I4Xj6Xj02GWPtPc8vJ7QPB176u8 +hpW3ZLF463PUqPhrzyY9lkOifNE4RhmwSHPjY90RJH1CrHJt3d4rXJzNa6bHVbbrGOisyPruLdEg +6b3+RsEtazY/Qfkg2iudW5blLJYSzlXy2IpbNO78o8P9UQ7hdJHvbe2aF4fGPw/MQhp2JvMWxnVK +85/TLmFjJOlbi778Vly95PbtjIzKQfJEkGnj8pIpT5LiqJkvxR5G1Yp12MhsRPa6FzdNYZGacGgH +2a47b/itOvsvCJHiMxB7hGXBxbvwSNgHX5jZ/wBJQbL9G+QVrXD8NwnOGHLYWXkLKtplkiSIxz0J +HiJrvY9loEgtO2ns8jY3YeE5jb6WYPKTYO67mHB6dh1GtDNM5lrD3A9rG1nvc0l0BLmhrtHtBb7g +gu1CHK8kytimw9kNjF3DbrzNA2HenAwbBHnXy7T+pJ8Lr4znZMRQzVEumdXyePNUsDvAcJYpGv1+ +YMIQWH1B6x5vqHDMeSsLXVhNLFREvZTi7o/SiLYvd8odJ3kvLiOz6e0FwUaoc/uvwGYw02JpW7OW +p0sdE/0huGOCF8LSz3PqEFnke/n28BSHpJwTF9TMZmW2Ld6DPRMENKY2QY5LLonvjEgcC7tcIJdu +7hokAD7KN4rpzyHkULpcFjS646yK/wCy3P7ZWP7bLnDbyB9Iqv8ABO/IHk+SH7vctbdocalisGne +xEtqdjo3EGNzYK4g0fzL4N+Pu5fvlfUAcpOJmy+Krvt0234p5i0O9WOfZhHnR3F3ENJ9tNO97UJu +VbNOzLWt15q88T3RyRysLHMe06c0g+QR9x9l1uY5gYXNID29zf1GyN/6Qf8AQg2c+H7qDyure5SO +IXBc4tgWutR4TMWz/wDpO+Qj0Jz3GFzGMaO1xewkkkj3W0fTPn/GuoWAGX45cMgYQ2zVlAZPVf8A +1JGbPafB/MHR0Svmdg81lcJPLPir01V80MkEoYfpkjexzHNc0+HAte4eR43saPlXz8NcnIOU53L8 +koZwYvlmPr1osfM7QrX42M7JIbEQG5GabD3OaQ5hcxw89qDeJFFOm/NanMMbYD6r8Zm8dIK+WxUz +gZac2t62PxxuH1MkHh7fI8ggStAREQY3lOIr8g4zlMFb8QZGnLVkP5NkYWk/961E4Rfx3G+iOAyd +mO1FnZzax9QRVpZN2BPM3y6P6mOLIwPocHOEbRp4YGjc1alcXw+Wg4vey/GuKcg5JkJ87kIIWOyM +VKpBF81ID2Sh7Jgw9uyGkxl5dvyCgrC7w/n/ADCGePLfK1oGTH03WyasbHbI2IYtQQP1vu9Yh537 +na9vT3pnnOJ8grZ89Q+B4yzEDuAZmN85Y4fU06jkaD/Y4fxXHUvkHL+E50y53pricHLeJ9F7bVjs +eAB3NZJWnYHe42CSfPlc8c650XSV6WS4TlrcziyMjH8ryLHOcdD6IzI8knfhvd9wNoL9yQfH1Y6O +ZOe661JIcpA+XvY/vEtUOb9TY4gQCAB9Df1G9q+lr7RFTLci6UZTG0sxVhny9iVkeTvPsSNApTFz +QXyPc3XpkFp7TseRtbBICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAqD6etkLOYSRP +DZJeWZZzSW92tWXNHjY34aPuP4q/FQPAIe+zzvGz+qwx8tyTXBj3Rva2VzZWkOaQ5u2yAggg+fCD +03ocjfozCaDKP7I+9sL2VNPcGn2/EBv9fHlU/wA2fgbuQbSyVbExXC8Miiju46w4F2iNxspvm23f +sdD38kfUJT1QoY8XBh28RsZVmmu9a5bd6PtvbYonGzaI2Nt1rf38KnOd8TyuQx9iWKpjsLUo6MtQ +VYqTGnfu5rQXN/NpsljtfS0PcRsLm6lRVMX0GsT4kUrNShbq2GSUnscyUMtRd5/dta3YcHNP4jpg +JcTvW00UjJYmSxPa+N4DmuadhwPsQfyWmfQzOY3lXT2bpXannszvxdlz7MdbsgqxueGsb3O057+6 +Tv32gfbzpXz8MnLZc5wBvHMvuLkfFyMZkoHH6vo22KQfm1zG/i+5a4/kSFrIiICqXn2fu845FY6e +8VsyQ4yq4M5Pl4Xa9IH/ANhgcPeZw/G4f3tp1+IgCMdYutlSzkn8L4Rm4Kz+8R5bPMcHCozuAdHV +bvc9jR9mb7fAG3H6aL6gdTcbJwscH4YP5vQ4+SWC0PmvmG3g5ju6QTABshMg8vLd9zo3sc1rXILI +551AhpWZMA50HFKWFtCvSswN9U4+aOMthkZ2t+pjxv8AdaJdC2cHy+NioPlfNpeQPmfi6lltmxbd +KyvHEXRR/M0xBYhaNkloLQIhr6W93t7KNZnJZjKZqZ2SkbWsZL0mW3zfS17/AKA6aTe9PLmdz3Dz +sv8AzIXfwnjvLc1aY/itHMWJopmu78fXme6Fw8tkLo2nt0T772N/2oI61j3BxYxxDB3OIHho2Bs/ +kNkD+JC4c1zXdrmlp/IjS2J6ffDZzjlHKpbnMaU3HMRZd61iVk0QmlBd3OY2IOf2knz9Wg330dBq +tj/0RunzMhjpYstnH1YJC65BPKxzrTfs0Oa1vYN+5AJI9tHyg0nyeOu4y0KuQrS1pnRRzBkg0eyR +jZGO/gWuaR+hXlOtnR8Lf3k3wydN8xjfl2HL07DAxsFptwyPjYxhaI/3gcCzZ7iPfegHNaA0QDLf +B9Rkr4UYnlkjZA5rcrLNBtsjNOJkhaD4dvsaGk61s72NENSMe6oy9A+9DNNVbI0zRwyBj3M35DXE +EA6++ipHi+IXb+eol2Py+P4/eutjiyFqqQGwOPd3l2gxzhFt5DT5AJHhfQnpp0q4R0+xjqeAw8Zl +lZ2WLlkCWxYHjYc8j8J0PpaA39E61ccm5Bw3uq0TkLONm+bZR7+z52Mxvhnr92iQZIJZmNP2c5p2 +NINZ+AdPouL5qKWlft1nZJ9rHyQuIe+OaG7ZbBM12u0PZNFj2jYIcZnDWnaMb4dyTk1XIS9Qszkc +tijkIJ3i/FiDcpUrYtTtljli9w4Mkd2OLgWiQt8t2FN2Z/G2Tb+fyTp67HseL7JWQyWWuEbJmAP0 +K9xj69S0IXgF8sTwzuY4OPu5J1Rx+BgM1apev27MXzc9jEXjFj7x7e4SDTZHV3Pax7nscIy0xydz +na7yEW5FS4Ra6V8mr5vmTuR8ozFyTL4yOtZZdth8UIawyfLh0bA5rHEg/THG/tB2zuOuE0cbYonx +ue7vBD+5oGng+QNE7Gi07OvJI142djuF8A6k9WOUZfNV8pjeNYjItfBkZ8fC01+1waHQRFp/fu01 +ve4O7d7+sklqs6l8LfBuNQMzLM/zF16kPV9ek+EyNIGi+OP0XO2ASQB3O8fTt2kGmPIcNfwNuPHZ +Suyvc9Js0kXfuSMPaC1kgB+lwGj2nTh3efyHo47ybK8ft1rmHnNWzWisMjlaTsGZhje8efDg0t1+ +RY0+4VxwfC/z7M15MlRzeEyTLE8Rhui2Xw22PYXyWGyDbi0O03Zb3PJcdaALodzjoT1O4nNbNvjV +jIU6rPUddxwM8Lmfdw0O4Aed9zQQBs+PKC+eGZ+9mOA4LqvxuaaxyrEAY7Jw2S2M5saa+at42O4l +xdCQNg6Ab50Nj+G8jxXLeL4/keEsevQvwiWJ3jY+xa4DenNILSPsQQvl5h8nkcdNHapvkcKTjYjB +LiyCQ6aJtA6Dg70yD/Waze/ZbQ9J+pUHE81DapzevVyFOK7yXAwxu9SlKWDvuQN7Rv7GWIfVr6gC +PIDblF48LlMbmsZBk8RerX6VhvdDYryB7Hj9CPC9iDGcrzVPjfGMnyC+7tq46pJal8621jS4gfqd +aH6lURPzml0m6H4KrkcjjGcokoNsMo3BKfUnkcJpg4Qtc5vmRwBOgXa8qSdS87R5rJPj2WGfzF4/ +Ib3I8g0F0dx9f94Kcet97WuaHSFu/wAIYD3FwGq3Xvq7iOpkFYVeHQ4q3DMHvvPlZJYlYGuAY5wj +DgB3b13OH6eAUHX1E63cxz2eN3F8hvV8fLAGPx8jI3Vx9TtgwlpYft+IyHXu4j6W9vAM3yfle6OF +dj7uQqM+Ykw9vC1ZKU0bX7d6RMZjrOdsNIDI2kkEvLiAamhhmnc5sEUkrmtLyGNLiGgbJOvsB5JW +z/w+4bGw8Jx2dbjJnwT2XSUZL0zWSwShxie2vfi7fTLiNehMyNshdoOIc4kLRwE0ruVdKzIyOIX5 +7V6KBsRi+XaMbI10RiPiMtL2ghugXFx7GexvdUpxJ0+Z+IGpBM507eMcelkmkfA2J8di7KwtZI1p +LfU9KIlzm6aSdgAHSutAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQFQ2VkHGet3Mal +j1WwZmlUzNNsdd8pLmt+WmAYzbnnubESAN6d+Wir5VV/EXhLpwWO53ha7p8txOZ1swt97NNze2zD ++WywdwPnRZ48lBUHUrlHIMdA2tFXdbytw6p4u1O5stj9WVKgc58Z/wCnl0NeR9jRvMX5WerHNzTM +QOMTS6liKbmR1YvfXa2Idh8jRMY0dEOla9vadrK0fEbuBkzmObVbUzkQfNPVqh9i61w8sOmue862 +C3RcNHWiPFS9ZqmAiwVmGnwuobcRAe6TT5oHSdupLlouIi7u1uml5kcNbfG3uBClODcvl4vnaGTq +CP0WWGOsU3MLmEsja0THRaHuBdI5jTsMcN/fZv3kPLIP2tjOqHDJm4HNuLaQF5zWx5cSPb6VeVvc +G9vpdsrpC4em10QJJ0Y6AxvBc3agmku07GN9MNhjZJWeZrFmVvdBC1h8l7u5pIHlrAX9p8d0h6oX +JK/J8lj/ANqY6etRgNQR03uMEUfqtL6kDnDb5NlrpJdBxJk3/wA4Nx8Z1juzY2H5zpbzuLKuAEla +Cg2SEP8A+bYLmscz/n+PHlYPkp5fyihNd6kZCDiPFCO04HG2++1d34EU1lut93kCKHXd3aJ8LXGn +1z5Rh+mdTisTYXtkxBgq2o3GOam8WJGsII/EGxMa0A6O9Ek+QXXbldnJYDj/AK+SlN9zK16IMe7c +RPzEocHb33CKxVAcT3aj2SSgrTLyxO9fCQObZlqX3soSUiXxSxl7vpbslxb3HuYfJ+t+992xOOgf +Srl/UC1YlxNOKpiu18E+VtM1HH3scxwj8bkcA7faPAIbtzdgnu+G7o5kup3Im3bDnVON4+dvz1kO +0+Rw+r0Yv+cRrZ9mg78nQP0DwuLx+FxVbFYqnDTpVYxHDDE3TWNH2H/+8oKv4P8AD5094/aflMrj +28lzM0jpp7eSja6N0jjtxbAB6bRskgEEj7FWxXghrQR168McMMbQ1kbGhrWgewAHgBdiIOFROd6+ +3LPLstieB8Ug5BicMzeRzljJCrSgd57tyOaW9o1oHe3EO7QQATkviPynM8lTp8B4RWMN3OymtNbl +Lmfuu0GXsI8hjWuBfJ7DuDG9zy4MgOC4Lisl8P8AnsgLUTuM4zHZFmBqRMLWWZ42yRuyVjfmSZ72 +ExtP0xN7Q3btFoV3yf4hOpfUy1FwrAY7H45uVnbVEdQPMs7Xnt7HSOP0sO/qIDTreyBtbwUIflqN +ev2wt9KNrNQx+nGNDWmt2e1v5DZ0PCoL4TOiP8yaLeYcoqgcktxEV4HjzQicPI/SVw8H7tH0/d27 +uy/I8PirAq2rTn23NDxVrQvsWC0/0vSiDn9vj8WtfqgyyrPnfLub8VE9izi8dNSsSMjqzVatiz8t +txb9YZ5lcSW6aRAwb16jidL0cv6oji+At8gyXCOUR4irrvtv+UjBBcGNIjfYEvkkaBYD59lPMdbg +v0K96s9skFiJssTgQQWuGwdjwfB+yCP8y4JxbmMG83jIpLYYY470BMNqIefDZWkPA2T9JJafuCqQ +5Z0si4HfrcktcpxzcfDlqLacBpRVnPM0zYbDSGFrB+5Eb3Oa3Ti2V3azZJvDI5CvgeUVPmxXq08k +/wCWhe65KO6c7foQiP0wXHf1l4JPjz4CxXOekPT/AJvnG5rlGElyVxjAxpkyFlrGtHsGsbIGgfno +DZ2TtBiPhomtP4LagkH9yQXQyt2xhjATBC+drQPAAsusAgeGuDmDw3Q6es3WrDcC5LiOJwurTZjJ +SxtllsSFtfHRPd2iabXk/n2DWwCS5vjdm4+njsLioqVGtWoUKkfbHFEwRxxMA+wHgALRvpHLjOfd +cMn1E5i25fY24+3SxNWtJbs2pB/emCOMEiKJoZtztN2GNJIJ0GxXJqeb6UZ7+fGLcbvE7rw7lWNr +xODKkjvxZCvHtxaN7MjAT48neu5lxV5obNeOxXljmhlaHxyMcHNe0jYII8EEedqPcZ5TiuVG5jXY +/IUrcMLXWsdlKToZRFJ3ta7td9L2O7HjbS4eCDo+FH/htsyWeinHi+YzMgZPWgkOvqhisSRRe3/R +sYgi/XH4fOPc4Mmc462vgeUNcZW2GM1BafvY9ZoB8k/0wO7zsh3gLUDiPGuVYPq0aOQr2sblMJI6 +1kS/RkjjbruLSdhzn97WscN9zpGEHyCvpYqM+KviYfjafUSpj5cg7BgMzNCOQs/aGO7u5zHHR/Ad +u9vDXSHfsg184Zyutw2xjcTLjsljMnNjRkcpfwmcmrntAknLjCe+GY/LiN4GgCXEA+QRx1V6rcpj +t8r4lk+X8pt+hcNagIpK9aKSH6g8zuiia9+x2kNb2g9x37efJ1aodnOrXJIW1rVd/H5ZbVuKQ+na +sTVSC+MO9mN+arNDR7MMYGyVjeuFHAW+YclzVW7ZmnqX4aNmt2hga+OJsTyD53t8byD+n334DHco +6u8gz3TvBcLfRxtOtiWFnr167WulHb2N8a0z6DI13boPEjgRokGvvl5dys7XCWIkOiLT3jQJcda8 +duvO/wD+9ZZnE8++/h6f7OkEmZZFJQJILJWSP7Gu7h4A7vB37ffSsnD8BznFLeIzuPo+rlqRbLkK +F0tdHPBK0xOYNAgNL/XhfskBropCWh/gMbgOAQ8rxdXkvBLprT1nAXaMri+Wlb2PTEZ/E6J+iWE7 +dtpZ+8foOtjp26zxjIftmtuSkK4dyWB0jXV7dYM7ZZX7a1nrM8va/TfWYJGOAlZKD28N6aVeK8ry +2Y47k434PK1Yp8Y+UEsZC/u3HMCNyR+QHtJGotvP7xrHMylTif8Aujc8p8dgbbqVasLZeYvMh+tv +cHw1XOaRuw/tb6v22wuGiXB4Wh8NGJsnjGU51k65gyPMLzskI3Ad0NT8NWLY9wI/I/R4VsL8RRxx +RMiiY1kbGhrWtGg0D2AH2C/aAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgLggEaPkL +lEGtOd47c6bcun4rTsS1eK8jtGfBytmMMday7zLRdI1pcxrv75H2FjiW9odsuKw1jG0TbrOhuftO +WJ7xWfUZ6cEb9/WKwYHdhB7u50LZZh7vnjGyNlua8Yw3MeM3eO56o2zQuM7Xt9nNPuHNP2cDog/m +FS0VP+bkzuB8+jriW81tbGcgNdghyrGjUUc2wW+uwAfupO5rtAju3pBVMuMtcoyfykZZBioINWr0 +cTZI6sEpH7uvEC4Szzk/TrvDie7vskRSMjHVvhfIs9yjFY3B4N7w+IVadStLGY6ojeyF3qEbL3D9 +22ScntL2vaCWw7N/W8TYw1OvUgrSG5NM4MZDM4uEsod3BsxG3WHtDzJYI3FEH9obsd2H6c07ItZ/ +mGLvgftNkXHsJLEOyCZ0Rf32mRkkNhiPqem0H+9V3ElznFxDXbHcZr1KPUZ8xEtXCw1aYmbGY/Wb +JajbHMAfs8RiT9dg+dq3ea8Iwlb4fXcurGm6zLhq1etK6AOlsNcKEMbSQNuPZXd2/YGXfjRKmfT/ +AIlwrkHT7OUI6Egk5XWfdDT3h3ycU72UNedbYxsTvf6idnYOhmeE4CfI8t4pwTINacRwrA4/IXIW ++fVyOnRwte77tYI3yAD3cATsDSCe9BOEt4B0sw/H5I2svel8xfI1s2JPqeCR79vhgP3DAp4iIC6L +z7MdOZ9OCOeyGExRySem1zvsHO0e0b9yASB9j7LvRBC5az+LcaznLuU5AZHJRUZp7M0UXZHBCxpf +6EDCT2tGvckue7y4/hDeOmHFamN6V8Rwd+k0vx1KrM+F2+1tlrA4uLfuRIS4A+zgCNFoI8nXyOO/ +wKPjj+7efylHFjX2bJYYZD/ZG2Q/2Kfj29tII/1Jz+O4twHN5/KySx06VKR7/Sl9ORx1prGOH4Xu +cQ1p/MhQWj1n6Jcc4nVvVOVYirVssbP8vATNaL3NBJljZ3Sep/Wc/wA79ztc/FwMq/oRno8TgY8x +K9gEwexrxVhGzJYDXe5a0HRHlpIePwrXy30D47xTofyXlLrDOacppVYyIqb3mnT9URP9Vgbp03bF +J6gcfoIHlvgoLJzXxY9HspQs4zJYDkORpSt7ZIZsfXfHMPfy10v5ge4/JTL4U+U8J5DwjJVOEHKQ +U6OSld8hkXMMlRkxMjGsDSdReXBuySS1+ytAsIK2SwsPHcZxmxc5RayjH1L8Fl5eYizt+XbABokv +0/v3sa17L6Q9P8ZDRzGOizVGI8vq8aqMyOSjfo23PJEoeB4eWyQ9wc7ZHqO7dbdsM7zrAS57FMbT +mbDfrPEtV75po4y4EHtf6L2Oc0kDwSW7DSWu7QFkOM5NuZwFLKRte1lmISNLo3M7gfZwa4BwB9xs +A6I2AfCyKx3HaFrG4pla9kZcjZMksss7wRt0kjnlrWkktY3u7Wt2dNa0bOtoPPzqOabhOdhrMe+Z ++NsNjawbcXGJwAA+52qE6F8v6ZdMOj1B9J1vL5SzWiuZh2JoSWpGzPb3COWRo9OMxgloY57ddrjr +ZO9lFpx8U9PmfTXBXeOYKfs4HyHIOsxOjj7X05Hdz5aYc0gCJ7v3gGvIDm+wdsJjyP4mOn3I+Ich +p4q5nON5ibGytqW56LC+Rwa4tY10b36cdkAu0Gl297V4dLGYuLpxx6DC2KVijBj4YY5KcwlhJY0N +d2uBO/qDgTve9787Wh/QDhreofVDD0/5tROwdKBozLu6T0ixsbg6R7+4Fr3n2DSNHyBoFbsdDOC4 +vp1xGxxnGZ1+YDLz7Er3loMTpGsLWdoJ7R2djvJ89xd7OAQT5ddiGKxBJBPEyWGRpZJG9oc17SNE +EHwQR9l2Ig0wyeCqdL+q1vCcmnktcexEDsvxurJuR11pk/dU2b2Ntnf3Ea250cbvwhQTpv00t8/w +4u2bE1bIclycnyliVznRxw12Oks2njY9Tcr2RN393Se5HcNv/iD4dZ5HxetnMLSgt8i45Mb2Phlj +722m61NWc3R22Vg1r7kN8hV9xbq5wvIVaF/C9OOa2WsqPqRSU8EJ2tjc5pkjD2v+oF7Bv8yNnztB +iuLST4Dpzw6FjQyxFgcjXlld9PpgRmU/fQcHV+7zv8Dte6zMFK9mcc2/lI4RlK88JyTe0Bj4pHuo +3mFp/wCRc2q6YNP9Jjf6q81TIco5DVjbiujXIZ7L2O+ZdmpI8dXJkEweNSFznsBsTAAAHTz/AAUt +x3Srk3IpZ5uonIKcNK0NWMNx2J1eGw3uc7tmsO/fSNJe8lo7BtxO/J2Fc8Ftco5XjqHGOAXnutvq +xuz/ACOSPdbGTyxxOtMg9vUnfI1z9D8LpH+RvcexPT7h+F4PxivgMFA5kEZL5ZZHd0tmV345ZHf0 +nuPuf4AaAAGUwmKxmDxcGKw9CtQo129sNevGGMYPfwB+uyfzJJXtQEREBERAREQEREBERAREQERE +BERAREQEREBERAREQEREBERAREQFjeS4LD8lwlnCZ7HV8hj7TOyaCZu2uH2P5gg+QRog6IIKySIN +euovT7qLx7BzY/i9+bk/HXgxvhm7Tl6dYj64opHENnYdD6XEPIAYD57hxW5R03yWDn47XzY4/NTx +bsXXxGQd+zrVWMtDZGfvu0eq4BrO8F3brYPl29hlheU8T4zymsK/I8DjsrG0FrPmq7ZHR79+1xG2 +n9QQUEH4Rx+pjH4uWjkK09ahgYMSyOEBwJjIJf3AkaOh41+fld/ReEXOQ8+5M5p7rmdNCN32MVOJ +kI1/9T1v/H7qB9W/h56VYvgPIuQYrD2MXbx+MtW4jBdkLHSMic5ocHl3jYHgaVx9NOKVeEcKo8Yp +S+rBTMpY7tLd98r5D4JJ93n3JQSRERARFw5wa0ucQABskn2QQvllupY6h8axtmaGKLG+plJZJHAB +srwadaM7+8jrEpb+Zh0PKmq12z2Tz1znPAuYxtr1cRyXkjQx8zC93yrInspM7dePUY+zOD/RdO3f +4AVsSg4IBGiNhV9U6TYTGZSe9x7L5zAd7O2CChYY2KruTvIja9jv3ZJd+6d3RNL3FrGuPcrCRBWd +Hphdw+UmyXHeS0cdbsNImtHjdH5iTfuXSRRx78+fIWd5DUvUsnNJhHW5s5nBHVbcliD4cfXiBJed +NDfpMkjmtdtz3yAfgb9EvRBwAQACST+a5REBYPnfF8VzLid/jeZjc+pcj7C5vh8Th5bIw/ZzXAOH +6jzsLOIg1zwXE+cctw+T4PkureYxtnF6o5yiaEMr52u36c8dj6ZPTmjAd9Rcdl7XE6IU76C2eK4P +j+N4PQlbHyH9n/tHKRkOL57AldXsyuefxOE8TmHz4AbrxpZTqLUGC5Fjeodf6Y6kf7PzYHs+g9+x +Kf8A4EhEm/tG6b8wq7h4Fed8Q/KrdKy7H3TQrZfAXHML44JS57LERHjujfI6QyMB9pQ4EO7SA2BR +RfjPMK2QyH7BzNf9i8kjZ3SY6d+xMB7yV36Ani+/c3y32e1jvpUnQcqnOMwjpn1rucaIEfGOavky +GL8aZWyLQDPB+ge3T270PAa0e6uNRHq3xD+evC58ZXsfKZWvIy7ibgOjVuRHuikB0defB8fhcUEt +XKqXjHXLikvBBluTW4sXnKNhmPy2IJAsw2/UEbg2Inuczu27Y3podvy1wFtICIiAiIgIiICIiAiI +gIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIi6rdivUqzW7c8VevCx0kssrw1kbGjZc4nw +AACSSgrnnT7XUS5NwXCMc3CQW2R8kybttZ2sLXupQ/d8j/pD3fhY0kHuce0WUoF0KebnD7ubjgdD +TzOZv5KkHxlj315Z3ujkcCAR3t08fo4KfICIoRzrqVgOMYTkV42a1ifBxNMsT5xEySdzS5tdr9Hc +vaAS0AkBzfzQSXk+dxPGcDbzudvQ0cdTjMk00h8NH2AHuSToBo2SSAASVUXBudZDrJRdjsXHLFhr +M8kmbnfEGCtUJ7Y8fG4E980rAHyPBPptkcAQ4s7YLjb3MPiE5R+ysvi/5ucfqRi9HOYzI/5WRzmR +mFsjQBNIGygTOB7WtPY1n1epsnxLjmF4px+rgeP0IqOPqt7Y4o/+9xJ8ucT5JOySg8PP8MMjxhra +tBtm1jLFfIUIGhoLpq8jZGRtJIDO/sMfdsAB5+2wfdxfIyZDG9ll0b71Qtr3nQg+kbAjYZAw/doc +4t/Qgg+QVll1Vq8FaL0q0McMfc53bG0NG3EknQ+5JJP5klB2oiIC/Mj2RsdJI5rGNBLnOOgB+ZX6 +VZ9Y3PznIOOcClndXw2RbZyOfkZL2F1GqGEwk+4ZJJJG1xBB7Q4fcoPRa6kXsrBM/p5w3JcsjY8x +tv8AzEVKhIQSHenNKe6UAjXdGxzT/WXno846lVnSS8i6P3oqbGlxkxWZrXJRr/oiYy7+DST+ihHS +rqT1G6p2spZ6e4vi/HOH4iUU6b8pUlmksEN2GhsUjGsAb2EtH4Q9oBcrq4dcz13Bsk5NiIcVlI5H +xTxQWBNDJ2uIEsbvB7HgBwDgHDeiPGyHTw/mPHuWRWDhb/qWKruy3UmjdDZqv8/TLC8B7D4PuNHX +jaz6i3NuE47kj4sjDNLieQVG/wBwZmnptiufftP2kjOz3RP21wJ8A6Iqit1p5R08z383+tmCFaq9 +/p0uQ42Bzq9rRA7nMG/Oj3Ht8j27EF9268FurLVtQxzwTMdHLHI0Oa9pGi0g+4IOtKrOATzVOqEH +FLk75rmCw1ur3yO2+at61Z1aUk+XExuDXO+8kcv5KzcRksfmMZXyeKuQXaVlgfDPA8PY9p+4IWL5 +LxivlrUeUp2pcTna8Toa2TrNaZWMJBMbmuBbJGSASxwI39Te1wDgHq5Rx3B8nxhxufxlfIVe7va2 +VvmN49nscPLHDZ05pBH2KguT6fc4xwceEdVMvRi25wqZmvHkmAn2a2WQeq1o/VzyshX4JyS+4fzs +6kZzIwNd3NrYuNuKjPj+k+E+sf7JAP0XkqV5eA9R8Pi6+Ry1rjvJI5a8cN65LbFO9Ez1Gdksr3PD +ZI2y7aSR3RjWtlBH8RR+ITHZQ2OQZLCcgox6LKuKsR03ynf9My1j9P6Nc0/r9lI6vJerk2Sjjl6X +4qrTJIfJJyVjnAfY/TCf9GirHRBUOa6XTcx6lYjlfJuPcYxkeNnbae+jLJYuXpYwBE2WQxxtEbdN +OiHk9jRsAkC3kRAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBVW2l +b6u2xcyffW6ewS7p0ge2TPOY7xPMftV2Nxx+8nh7vp7Wmzr1dtulPVe97GzRujc5h04AjWwfz8qv +cPx7qTjeJ4zh+PyvHsZVx1OOk3MsjksWZI42BjXtrODY43loG9ySNB34I8IM1zzqFwrgGLnlz2bo +U31a3qx0GTM+ZlaPDRHDsOds+BoaH3IAJFSXuqfMeY+k6pVPGuGNkDcvyDEWW3pqgcH6i7+zsa7Y +Z3yRCVsQeCXDyRLeIdIs1hqVjE3edz2MbasOsXJadH5bIXnOOz69syPc7Y+kuYGP0AA5oViPrY3j +HEZoMZVgoUMdTeYooWhrI2saT4H/AHoKNxfEL/Vn0reF5HnMDwenO6KveGRszZLMOZtr5A+Z7hHD +3dwbsEktJLR4DbH4X0W6b8Unbco8cguZAODzeyLjamMnv3gv2GuJ87aG+V7+hVSOl0Z4bBE0tBwt +WVwJ89z4mvd/9zipoggFuR3Hut1aeSMGlyzGtpiUNO47dP1ZWNJ9tPillI/WH9VP1VnUOxkj1Z41 +LbsGDBYmxVdFE0Ddi5cNiu1znH2bGxpAaNbdNs+wBtNAREQfiaWOGF800jI442lz3vOmtA8kkn2C +wvF+W4Pk5kfg5rNyuwuDbYpzMrS9ru0+nM5oZIN/dhIOjr2WYt169ypNUtwRz1543RyxSNDmPY4a +LXA+CCCQQV5chWvR41lfBS0KUkYDYxPVdJEGAaDQ1r2a+2jvxr2Qe9Q7qRjntfj+T1sc+/LjDJDc +rRsL32MfOA2wxrRsuLe2OUNALnGHsb5espxfPSZOa7jcjSGPzGPLRaqtl9RhY/fpyxv00vjd2uAc +Wg7Y9pALSuM1nn1+R4zjuOgjs5C3uxYDnabWqMID5Xa87cSGMH3cSfZjtBj+nnCafT3p1BxPjEgc +akUphntt36kzy53fJ262O4/b7AAewWp3Dcr1TxPVGbG9VoOoTrGQmMFHJ0Z7RZQsE+JYYYj6E8Wy +0ujDS3TRpp0Wnd9cIKu6ZdULGWy9bjHLKdfHZxzJa5MTz6clys7sswgH769OdmidxzN/q7dY+Wxu +Oy1CWhlaFW/UlGpILMTZI3j8i1wIKrLm3T6xmLmY5LUbLBmcXmTmML6fg2JY6EEQjf8A9G+SFgcP +ctZoEd3iyePZStm8Bj81T7vlr9WK1D3fi7JGBzd/rohBEcD0/m4tzCTJ8QzDcZgbr/UyGAdWD6zp +D7ywEEGB3tsAFrteR7ET1EQFXnXukJuK4fJtcWz4nkmKuQaHu4244SP+zM7/AMPupLzbmPGeFYk5 +Tk+Zq42v5DPUdt8pHuGMG3PI35DQdDyfCgfH87P1nlx9/H4+/iuFY6+y26e12tmy1mCTuYyNrXOb +8uyRrXOfs97mho12vKC2R7LlEQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQ +EREBERAREQEREBYLqHE+fgHIoYhuSTFWWtH5kxOAWdXVbhbZqTV3fhlY5h/gRpBH+lTmP6YcUfHr +sdhaZbr8vQZpSVQjoNa+a6NcTJZ2Pr4uGpI0n2fA30Xj/tRlTdBFepnCqPNsD8jYv3sXahe2Wpfp +TGOWCRr2yNP5Ob3xscWnxtjSNOa1wwvRnm2R5RHexuWFWxYoRRTQZKsCyPI1pJJ44rAiO/T7/l3O +A7nAtcxwIDtCYctxA5BxTL4E2pKgyVGaoZ4xt0XqMLO8fqN7/sVbuucr4nDUztng8omx1FlPL/s2 +1TbRmqRfUJInSzRyM9IGRzGuZrT3sPuJGhbiLE8c5DjM9X9Sk+aKYRsklqWoHwWYQ7fb3xPAe3en +aJGjo6JWWQEREEH6nVbuLkp89wtWSzewjXi7VhYDJdx7tGaIDY29va2Vn/OYWj8ZXk6O5Snyu5yn +mtOX5ivkMp8lRm7iQalZjWM7d/0TK6xIPH/KlWGqs4tj4Ol/O7eEb6dfinKbhs4s67WUsg4fvKp+ +wbKGh0fsO5rmAbLdhaaIiAuihTq4+lDRo14q1aBgjiiiaGsY0DQaAPAAH2XeiDpu2q1GnPdu2Ia1 +WvG6WaaZ4YyNjRtznOPgAAEkn2WsfVj4hOXyZx2K6a4CQV6sgEty3UeZbDvpIayJwBa362b2C4+r +GPoc5oOzd6nUv1/l71WCzD3sk9OaMPb3McHsdo+Ntc1rgfsQD9l5KmBwtR8clfF02SRu72yekC/u +7nuLi4+S4ullcSTsmR5PlxJDTXox075l1o5nksz1FydqfDUb3p5EvLRLZnZ5+WYWgFkbe7ZDdNAd +9ABd3DdajVq0aUFKlXirVa8bYoYYmBrI2NGmtaB4AAAAAUO5Lg87hszf5fw1zbVmzG1+Swlh+osg +Y2hrXxP/AORn7GhgPljw1ocBoPbIuJZ7Hco4zjuQ4l7n0shXbPCXDTgHD2cPs4HYI+xBQZVERARE +QEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREEB6QuNC1y/i0 +r29+Jz9iWJg+1e3q2w/w7ppG/f8AAVPlX+eceOdZMNmSS2hyWocPacXANbah75qpP6ua6yz+PYP4 +2AgLwZ7FwZjGuo2CWsMsUoIAOnRyNkbsEaI7mDY+4XvRBVfUvEyT8jwLMlI/HzTWXQ4fkWJf6Vuj +OGPl9GVjw9skL2RODtktcQAWDw4Znpjz5nKnSY6anaNmuJQ3IsgDaWRbFL6RngIc49jj2uAPjyQ1 +zwxzlh+pGFx3LOolXDZivNcoYjGOy8tV87gy05xfEyFsYOnN8SeoSCdPYzYZI9rpZ03x/o8bq5az +YguZLJ1obFmzCP3RBbtkUI/owMDiGNH2Jcdve9zgk6IiAvByDD4zP4a1hsxTjuUbTOyaJ+9Ee4II +8tcCAQ4EEEAgggFe9EFSXuX8j6VD5Xm1XI8h4pGQ2tySrF6tiszfht6NvuWjx6zRp307b3OKzWO6 +19K8hXbNU5tjJO/XbES5szifsIyA8n9NKwCAQQRsFRZnT7ikFqSxjaFjDvkPdI3FXp6Mb3fdzo4H +tY536kEoMNb6tYSpbabmHzePxPcGuy+Uhjx1byN7a2y+OWTXtpkZP5b8LH5LrTjpanzHEOG8y5dE +4fu7OPxErazjvWvUkDd+x8ta4KS4jprwjGZc5mLAxW8oSD89kZpLtkEexbLO572/2EKWoNb831m6 +5zuP7C6HXaTQP/bYp7BP6/SI/wDQq+zHxQdZcNlRisvwzA4++darWcZbjlOzoaa6YE7+35rdJQbr +ZxWryXg9yw3+58ziIn38Pfj0JalmMd7XNdrwCWgOH3H6gEBDOFRdWup3H4mdRKlXh+Dlf3WaePbL +DeyEWv708ue51eIn8WiJHAFv0g7Ny0alWhSgo0q8VarXjbFDDEwNZGxo01rQPAAAAACx3CsueQcN +wmedEIXZLH17hjB8M9SNr9f2d2lmEBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQ +EREBERAREQEREBERAREQEREEf6h8d/nVxG7h4rJp3HBs1G233rWo3CSGUf4sjWnX3AI+6/PTvkn8 +6eK18jNAKmQjc6tkqfcCatuM9s0R8n2cDo/dpafYhSJQHkkT+GcufzWv3DB5EMh5FGPw13NHbFeA ++waNRyn+p2vPiI7CfIuGua5oc0hzSNgg7BC5QYfk/HMbyCGH5tssFusS+nerP9OzUeRoujePbY8F +p21w8ODmkgwO3iuS4MMpU8szB3A8No5CGAOxV5znfTDZqnxXke46L4izvc7Yd3OEStReLO38fi8N +byOWlZFQrwuksPe0uAYB58AEn8tAEn2AO0GE6dcom5LjLUeSx5xmbxdk08pS7u4RTBrXBzHf0o3t +c17XfcO/MFShVvx+3YxM+f5tlcXZrXeR2IYsVhtD5uZsURbExzfZsr/3j3bOo2aLy0MeRn+Wcwi4 +3TgbdoST5OxVMsNSs/ubJN6sELYQ8gfilsRNDi0DRJOtIJSuiSOwbsUrLIbXbG8SQ+nsvcS3td3f +YAB3jXnuHka8/nGfO/s6t+0jXN30m/MfLgiL1NfV2d3nt3vW/Ol6UEe4tyqrn8hkKdenca2o/wDd +3Pl5DUtxn2fDMWhr/sCB7Heu4accd1B6hcU4tE+nkeZ4HDZMlhbHc/fuaCQSXQse1+i3YB2ACQfP +scxy7BzZzAyYunmLuGLmkNlpv7D+EhrSW6eGglrv3b2OPaB3AEg6zc4+G6lScy18xViqOsxVqsfr +PltXbM8wiY+zKQAGgubK8RNb9IewAuAlISfk/wATPGOOZLtGdj5X2wnUGHxTq0XeSNd800ztgDfh +jT59z9hF3fGa0OIb04JH2Jzev/4FCuJfDdezfKYMSzlNSTGPlmsWJ4qY9VlWKeWGOQHZAMxYSxoc +RoPJ2YwHSCP4feH43rZj+I3rmVnrWbvrwQzytb8xQjreo49zWgucZg6M9uu1vnwSCgnnCPiR5RzB +5/YXRfM5CIP7HTVL5kiY73055haxp/iQpFleW9Sec17vCqnTLLcX+fj+Wt5m/aY6GpDINSPj7QPV +f2dwaGu8OLSdAK48bRpY2hBQx1SCnUrsEcMEEYZHG0ewa0eAP0C9CDzYujWxmMq42lEIqtSFkEMY +9mMa0NaP7AAvSiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiIC +IiAiIgIiIC/L2texzHtDmuGnNI2CPyX6RBT+YvZXo1kYJm17OW6d27DIPRhY6SzgpJHBrAwDZfWL +iGhnuwkBu/pa60YcxiZqtC1Fkqj4MiGmlIJm9tnub3N7Dv6tt24Ae4BP2XTy/Euz3FcrhGWG1nX6 +ctZszoy8RF7C0P7QWk63vwR7e4WF4tiak+Lz2KtY2xLi5b8obDeriNs5LWGZ7GEAhjpjK4EgbcXO +b9BYSEvWA55i72WwLIMd6DrMF6pcZHM4tZL6FiOYsJAPaXCMgHR0SCvVxKvkqnHKVXLSepcij7Hu +MxlcQCe3ueQC93b29ztDbtn7rKoKnt5a7kbvLrVrH5PDZ6lj4o6lV5jktVsbJozWYBE57XSOe2bw +0kk14A5oOt4jq9cZU6kdOOVmYXOLzzxwG0yTvgic8gxSOk3rtcXMcHex9L39la3IuN4/Nz1Lkrp6 +mRolxp36r+yeDuADgCQQ5p0NseHMOhtp0NROrx+TCtuca5NPTzfFc7OY4GPqCI1ZZBsxPDT2Fkjg +XNc0M7ZHaA+pvaHifk7NmDC0G3rENvmmVsufZa8tkjoRMkkY2Lz+7JhZEzbdEGV7xp52rLoVa9Gl +BSpwthrV42xRRtHhjGjQA/gAqGqS5HFcMxONjLpTjizKcSyE7iXCKNpE1KcN8vfFEZWuDPMkW3Ma +Xxlqt/gvK6XKsY+aKM1L9YiO9Qke10laQjYBLfDmOH1MePpe0ghBIVi+S4huYx8cIlEFivYitVpj +H3iOWN4c0luxtp1ogEEtJAIPkZRfiaSOGJ8sr2xxsaXPe46DQPck/YIKt4lUg4J1enwFu36tbkuP +b+wiYwHRio+Z8tZxHv2tshzHaG2gg7cO5/T1jzUUvCOScnpthjynB8oyTH2gT/fGxwukYSP6L2TP +hc32O/zA14Ic9jOX8+o85oskyFXEmapx9sZH92SvY5soi+31bBfJ+GNkTASC6VrPNhMRY59HR49T +kba4fWyTsrn8sGfuc5d9YzGvWDvx1my+7/ILY2Ma49pJC8Ynd8bX6I7hvR+y/SIgIiICIiAiIgIi +ICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAsdhMSzEieKv +btSVZJC+GvKWllbZJLYz2h3bsnw4uDRoN7WgBZFEBERB03LNalUmuXLEVatBG6SaaV4YyNjRtznO +PgAAEkn2Vd5zkGSzeZpMoYaxqu42cdQsgxTXptOayedpG61RhJdt49R72t7Wgsa2WUdQcbcyWCi+ +RqRX5qdyC6KMsgYy36Tw8Rlx8A7Ac0nQ72s7j27Xi6SRTfzMq3cnVngz1sCXNfMRlkpua1IDv+g0 +/SzW2+mGdv06QeiPiFd/BKXGblyWSapDF2X4mhkrLLNEWGDyGv7x36Ox5IOwSDS+MzD4sVSu42nV +tcpxFaeGB9OIsryxftB7akbZPLvRdHE6ONmyHiwzWwHPZdfUhvq8TsVAxsr7csNRkcm/Se6WVsYE +oBBdFtwL2gjuaHN9ioTwnCPw/NaOOtzGYQWMg+aewWtlmtGRz6+w0Bru6tNI7TRoeiQA3s0AnPL+ +Tw4GGGFsbZ8hZY58Fcv0O1pa1z3EAntDpI26aCXOexoBLgqS6oPyWaD5OUZOW3immRrMbBPJBDYd +CSLD7BicQ2rCXNa4ND5XyuEIe/THSSzCnIGzb5hkyLE1upFYqgjuLK7YJbUbAPchss0jR9z6TfyA +EC4661lPiir8CJ9TE8cpVJ5nuOnWGV6zHwB2gN6s2HSn+s7sJ/A1BbHB+DOtYWGxy6pXJlgbG3Es +gbHBDAB9ML42kt7QP+RBMbfAPqvb6zrFijZFG2OJjWMYA1rWjQAHsAF+kQEREBERAREQEREBERAR +EQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQYrlO +Mmy2JMFWdle3FNFZrSPZ3MEsb2vaHDwS0luiAQdE6IOio/lsJFzWNtTP4DL4W7VDZI8hUvMb2SNO +wYpI39zwHbc0SRgeAS0HQU1RBT9/jWTxv7LwdTLitncUXNwV68P7lzFXtdulZDAB3ta5wGh3AD1I +wf3rG1VTsZ3iHWrG9TeV4HJYGINiw/JhNqWLb4zFBZilaA2WNwji7+0bY5jvH1NC2rymPpZShJQy +NWG1Vl13xStDmnRBB0fuCAQfsQCFjLPFcVe4xa41mBYzGLsgtdDflMzgzwQ31D9Z7SAQ5zi8HR7t +gaDL0rMVyrHZhEgjkb3N9SJ0btfq1wBH9oXcoxxrhdHA2BLWzPJLTGnbIb2ZsWI2eNez3HY19jsf +p7KToCIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiIC +IiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIg +IiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIi +AiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIi +ICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAi +IgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiIC +IiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgwHKOZcW4vkMXj+QZupjrWWlMNCKZxBsPBa0tb+u3 +sH/zBZ9alfH7kxheZ9Jcwa0loUL9qyYYzp0nZLTd2j9TrSydnr51Y4Jy7CnrFwLE4Ti+blMcNmlI +Xy1PI8yOEjwS0OBc0taSNkexag2iRUdwTq7ye38S/Jek3LKOGrQVYZJ8RPVjkbLOz6JGB5c9wcTC +8uOg3RY7+A9HSXqvyXnvXPnHGa9HEs4lxlxrNtMjkNmSx39gBd39haTHOfDfZrf4oLpREQEREBER +AREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQER +EBERAREQakfygd2fG8t6UZCrTddnq3rc0VZoJMzmyU3BgABJ2Rr2Puo58THVLBdeqHD+nfTStdye +Tu5NluQy1nRmsRG9nY7Y9gJHOe4ba0M3sj23ZLQSCR7ey8FHCYWhkbORo4ihVu2zuzYhrMZLMd7+ +twG3efzQau/GNWvdN+oPT7rNg4RLLjnfsu4HHt9UBrixp193xusNJ/Rvup98EPEpuO9EauXvtecl +ySw/KWHyD6yx30xefuCxoeP/AIhXR8SPTvql1UytbiFC5x/GcFM0Fmzbk7zcL27D2hvkHW9tH07I +G3aV5YujUxmMq42hA2CpUhZBBE32ZGxoa1o/QAAIPSiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgI +iICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIi1tyXxldM6GRs0ZsBy8y15XxPLatYglpIOv3 +/t4QbJIqZ6QfEl086m8qbxnERZnHZOWNz68eRgjYLHaC5zWFkj/IaC7R14B1tSPlnVzjvG+reB6a +XqGWly+bhZNWnhjjNdjXOkaA9xeHA7id7NPuP7AsNERARV5T6ucdtdbbvSWOhlhm6cAnksOjj+VL +TEyXw7v796kA/D7g/wAVYaAiIgIiICKAZTqvx7HdacX0ompZR2ayVU2obDI4zWawMlfpzi/uB1C7 +2afJH9k8lkjiifLK9scbGlznOOg0D3JP2CD9otc8x8XPCI8lcrcd4zyjkdWiT8zep1WiFrP6427u +7fB8uDfZWj0b6rcQ6r4KfKcWsz99V4Zbp2mBliuXb7e9oJGnAEggkHRG9ggBO0UW6ddQeIdQ8bZy +PDsw3KVa0ohmkEEsXa8tDtaka0+xHspSgIsJzvktHh3D8ryjJQ2ZqeMrOsTR12tdI5rfcNDiAT/E +hRjEdWuO5TopJ1Zr0cq3CMrT2DXfHGLPbFK+Nw7Q/t3thI+r217eyCwkUY6W82xfUTgmO5jha9yv +QyHq+lHbY1srfTlfEe4Nc4e7CRonxpSdAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQ +EREBERAREQEREBERAREQF8/Phy6rT9MeXdQTDwzM8l/aWQj3+zwT6HpyWPxaafxep4/xSvoGta/g +v4Ly7h3JupFnk+Ct4uLJ3K0lJ02tTNa+0XEaJ9u9n+kIK/6bZyHrd8YdDlzqMHFHcfpAvx1ib+7L +joxIN67RtwMjQ4HyGMHv9rD6wcw5RjPjH6e8Xx+dv1sJfowvtUY5SIpnGWyCXN+/hrR/YF587wfm +Fb46MXz2Dj1ybjb64jmvV2tLGl1N8H1+d+H9u/yABXs6ucI5ZlvjB4By3HYO1ZwWOowx27rNenC4 +S2SQfO/Ae0+33CDz9e+bc65J12wnRHgHIDxr5mt8zk8pGzcrB2vkLW68gBjAR2lpc54BLQCTmekG +K638G6rS8U5RlbfN+E2a5khztgsbJWm7O76g57pNEtLO3bh5Y4Fv1BR7r9xLnPEev+E63cH4xPym +COr8tk8bXJMxPY6MkNaC7RY5ui0O7XM2RogGSdH+Sdbee9Up+Q57C3eEcCqwFkeGvVY/mLU3b2gl +z42ygbJfsdrfpa0d31FBUXMMdy7L/HnyXFcLzUGCyVuhFHJkpIfVdVh+SgL3MaTovIHaPy7t7BAI +l3QDkvUPivxK57o7zDl9nldOGmbENuzsva/04pWuBcS4AseQWdxAPkH883heEcsh+OfN82lwdpnH +J8c2KLIHt9N7vlIGaHnf4muHt9kw/COWRfHPmebSYO03jk2PbFFkDr03O+UhZoed/ia4e32QYzrl +P1FyHVO9SzXVvG9KuGVqwkxcsd6H5q64doc4xtlZK7bu/wC/aAwDt2ST6fgo6kcm5ZkeY8XzvJXc +op4SaM4zKyRFks8Tnyt27f1EODGuHdtw2QSfAEE5JxnmfFfig5TyTO9G7XU6lmnE4qUxerXga4s9 +Lb3MeyMsa0RnvALQ3YPb+Ka/CPw/nnGOq3UHJc04pJhjm5DZikgDTU7vXe5zI3Anx+9HaPyB/JBB ++O5Xrh1C6x9TuD8T51LjKNTLWQ65bsPJpQMtSsZDAGglpdtvka02P8Q9jKuo/JepvPuvEHRPhXK5 +uNVcHj45szla+zLK/wBONzpO4EOLQZI2BgLduc4uJGu2Q/DbwnlfHevPVjO5vB2qONy+Smlx9iTX +bYYbUzwW6P8AVcD/AGrBdVuP9Qel/wASE3WHhXE7nLsTm6gq5KhSY500Z7GNLdMa5wBMMcgeGkb7 +mnXgkIZxPH81w/x3cSwvOc0zO38fQngrZMRem63W+Tsuje8f1x3Oafvtnu78R3D5rhnci4bm+Pss +mq7J4+xTE4GzEZY3M7tfp3b/ALFq3wjBdWeV/FvxvqjyvgtzA4h9WYRxueH/ACUPys8bGSHw7vL3 +bILQR3jwPYbU8px1nL8ZymKp5GfGWblOWCG7ASJKz3sLWytIIPc0kEeR7INQOlGe6y/DzhLnEsv0 +dt8hxPzclll3Fuc7ye1pe6SNkgLSGjQeGOHsfbQmPQXK9NOoDeZP6TvyPT7nOUjE9587fmfTBmD3 +SxRGT03MDnFugGdvePABG8TwvqJ8QXSupa4rzHpZyPqBLFYe+rlaliafuYT7GVsUvc0+7e7tc0HR +H2Eh+GLgPOJurvKusnN8FFxmTNwvgq4oDUgD3xuMjxvbdCID6gHOc5ziG+NhAvgCo8qh4fy7kOEy +xtQ1hNFBx58TWR2rnosdFIZy7bfbs1rWjvawPNc/1IwvGsjy7k3xF1qHMK9hwj4rjLMdhu2vDQ1w +gkLGeNnToyPA7jsnUi+G7jXUvjvCeo/SmzwzN4jJ5CjblpZmSN0dQziIQtiZLrsJcTsPa722fsop +w3inPT0bzHTvHfD5LX5J6U4tcmvwNikfF6ncWxukYC9xaBG1sbyPZ2vJKC9cry3Jc6+BnJcpzHpn +IXOP2BZcxoaHvje6Mv0PA7uzu0PA348KL8A/4uSz/kjJf+cnUj4lw/lMXwQ2uEz4G7DyJuLuVvkJ +GgSOe6eRzQPOjtrgd7X54ZwnldP4G7HCbODtRcidjL8Qx516he+1M9g99eWuaff7oMD03y2SwX8n +k3L4e7PRv1aNx8FiF3a+N37QlGwft7qvblzrnJ8OGP6zu6s3oYaLmiLGxhwdJGbXo+pK/epHl532 +vaR2a8j8KtjjnBeXV/gUl4PNgrTORmlajGPOvU7nXZHtHvry0g+/3Xkt8B5i74Cm8Fbx+2eSiOMf +s76fV2MmJT99fg+r39kFe9SM311x3SnA9c5+p767shLAWYSlB6daCKQOMZIJLZCdAuD2n8R8nQWw +vU/k3UG90Bx3JOAQ4+rnMnTq2Z7FmzFDFQhkh9SSQOmPYdHTR3b13b+yrvq3wHmOW+DTivD8dx+3 +Zz1SOgLFFnb6kZYwh+/OvBXZ8SfBOc534VeI4PA427Yv4qGg/J4yAbme2OqWOaGjy8teR9A3vWx+ +EIKj5J1C5d0s5BxzIYnr+3qHZszN/auLY82K0TPpLmCTvewg7c0Ob2OGtgefFy/HlzHlPDuJcYtc +Wzl7Ez2MjJHM6rKWGRoj2GnX22qg6mcS59z/AIdx4cS+H1/C8bjLQ+YgjjZHaty9gHcWOYyTsaGk +d79lxePJ0VcPxxcL5XzviHFouJYG7lZoL755o4mgOjYY/BcHEa8+EEB66XOunRq3guouT6nftv5+ +8IrmIjhdHRid29/osjJIdGWte3v0x40D+I7G5rSC0EexC18+OjhfKebdOMJj+KYWzlrUGXE8sUAG +2s9GQdx2R42QP7VsFGCI2g+4AQfpERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQER +EBERAREQEREBcLlEBERBwuURAXC5RAREQcLlEQcIuUQEREBERAREQcLlEQEREBERAREQEREBERAR +EQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREB +ERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQ +EREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBER +AREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQER +EBERAREQf//Z + Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/Stallman_Richard_-_The_GNU_Manifesto.fb2.zip and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/Stallman_Richard_-_The_GNU_Manifesto.fb2.zip differ diff -Nru shared-mime-info-1.15/tests/mime-detection/stream.nsc shared-mime-info-2.0/tests/mime-detection/stream.nsc --- shared-mime-info-1.15/tests/mime-detection/stream.nsc 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/stream.nsc 2020-05-06 14:11:14.242907500 +0000 @@ -0,0 +1,16 @@ +[Address] +Name=026m000000000QLm1D0300800i0200OW1Y06C0Rm1k06K0000 +NSC Format Version=029G0000000008Cm0k0300000 +Multicast Adapter=020G000000000UCG0p0380BW0n03W0DG0k0380CW0q02u0EG0m0000 +IP Address=0200000000000UCW0p03C0BW0n0380CW0k0380CW0t02u0DG0n0000 +IP Port=0x000013BA +Time To Live=0x00000040 +Default Ecc=0x0000000A +Log URL=020W0000000002000 +Unicast URL=020W0000000002000 +Allow Splitting=0x00000001 +Allow Caching=0x00000001 +Cache Expiration Time=0x00015180 +[Formats] +Format1=02kG000ae000hfC2QoTOvcpn6csG2g06BERBSA0000000020000042eTohZ4Ufpn6Ev030321JPMW0000000003SUuKxqAG4APRNmAgfJNxFSA00000000a19hAvKtnW40000000000000000000000000000000284m0000000080002a1G00f0K0090J1W2r0xzVBgdF4OxZ0C0C85DbKWS00000000HqjEhkgdF4Oxc0C0C85Db1W0a1m00gKP3VE3l}4koAJa{ta5SXJG0000000000W0CPG1k02q0Pm1Y000036K0RW0j07K0Sm0005sByIQ4HUn7dryEPHy4KiaQ000000000081wilunQzRTqY4PwgCHFfCok00000000001000004030020080001907C0LW120580000000000G0q00001W0004G0PG1s06a0Om1b04C0Rm1k06O0Rm1o06q0OG1k06C0PG1K06K0RG1m06m0OG1q06K0001C03800000008030020080001907C0LW120580000000000W0q0000300004G0PG1s06a0Om1b04C0Rm1k06O0Rm1o06q0OG1k06C0PG1K06K0RG1m06m0OG1q06K0001D0500G01D04m0001qr0OOtye9HQIwcglBbghe2WK0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003BfUOKSiOoGuEPgMbI1bjQM0000000000000000000000000000000s7m008WJ00000000s7m008WJ00000000vW800080000100400000000000000000owNc57B6CaE3cQbfKWPRMcu000000000000000000000000000000C3210284m0000000C3210284m0000000000000200000W01080Q1W0000000001052KlSP}XWT9WwF7UI6tCwq20000000WtghP5toSJxmeXLNTcEAY9W00000000000000000000000000042aqD87uz8Hb}00eCbUg52Y0000000000C0701N04q0HW1J04G0Im1M06K0SW1p06a0Rm1k0000000Q03a0BW0m0300BW0m0300BW0p0380DG0m00006W1N04q0HW1J04G0Im1E06K0PG1a06K0P00000005W0m02u0C00k0300BW0m0300C00m0000301907C0LW120580000200G00000041IqOOTCT0HewG0eCa3IFRm00000000045IqOOTCT0HewG0eCa3IFO200000W0M05S0QG1k06G0Rm1t07C0801D06K0P01f0640801107K0P01f06y0800v0000AW0W03C0CW0W06i0OW1m07C0B00W03G0D00W06i0I01w02m0801p07G0PG1o06K0Rm0W02W0GG0l05O0AG0W0340BG1m0640Sm1p0200Gm120580000206410G0M05S0QG1k06G0Rm1t07C0801D06K0P01f0640801M06a0P01b06y0800v00000G0000G0LqrMCv47tBUtgSyHZkO0m0mWKsLo00000000042UQVXDMyyHgFq0W5zSH2jGpSE}Zs7F4Oko0Ae0jE8W00000000000S0000200000400EW606410W14h000cmy00EO2400A0028000V034N0001vWBc0W400947tBUtgSyHZkO0m0mWKsM5000000000C3l6RnDMyyHgFq0W5zSH2i0L}iWLLlF4QZz081VN4Gh00000000000t00000000008000000901003W00000Ym0B0000901003W00000G0O05TDLZC000000000000000000000000004n96W7ETVXxZKRH4Os2062NoQAo9W00000000020040zee00080CFi403KcidMEPiyHfja0gW1Ypcmm00000000050F7LHBMyyHgFq0W5zSH2i400002W0003OcidMEPiyHfja0gW1Ypcmo0000000000t7k5Ez2a12cMry2ggKr{m0000000000041 + \ No newline at end of file diff -Nru shared-mime-info-1.15/tests/mime-detection/stream.sdp shared-mime-info-2.0/tests/mime-detection/stream.sdp --- shared-mime-info-1.15/tests/mime-detection/stream.sdp 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/stream.sdp 2020-05-06 14:11:14.242907500 +0000 @@ -0,0 +1,15 @@ +v=0 +o=bbcrd 1140190501 1140190501 IN IP4 132.185.224.80 +s=BBC ONE [H.264/AVC] +i=Multicast trial service from BBC Research & Development Copyright (c) 2006 British Broadcasting Corporation +a=x-qt-text-nam:BBC ONE [H.264/AVC] +a=x-qt-text-aut:BBC Research & Development +a=x-qt-text-cpy:Copyright (c) 2006 British Broadcasting Corporation +u=http://www.bbc.co.uk/multicast/ +e=Multicast Support +t=0 0 +c=IN IP4 233.122.227.151/32 +m=video 5150 RTP/AVP 33 +b=AS:1200000 +a=type:broadcast +a=mux:m2t Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/subshapes.swf and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/subshapes.swf differ diff -Nru shared-mime-info-1.15/tests/mime-detection/subtitle-microdvd.sub shared-mime-info-2.0/tests/mime-detection/subtitle-microdvd.sub --- shared-mime-info-1.15/tests/mime-detection/subtitle-microdvd.sub 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/subtitle-microdvd.sub 2020-05-06 14:11:14.243907500 +0000 @@ -0,0 +1,5 @@ +{823}{883}''We shall not cease from exploration... +{885}{959}and the end of all our exploring|will be to arrive where we started... +{961}{1031}and know the place for the first time.''|- T.S. Eliot, ''Little Gidding'' +{1033}{1181}''After the game is before the game.''|- S. Herberger +{3119}{3175}Man... diff -Nru shared-mime-info-1.15/tests/mime-detection/subtitle-mpsub.sub shared-mime-info-2.0/tests/mime-detection/subtitle-mpsub.sub --- shared-mime-info-1.15/tests/mime-detection/subtitle-mpsub.sub 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/subtitle-mpsub.sub 2020-05-06 14:11:14.243907500 +0000 @@ -0,0 +1,20 @@ +TITLE=Project title +FILE= +AUTHOR=Project author +TYPE=VIDEO +FORMAT=TIME +NOTE=Project description + +1.3 1.6 +- Hall?! + +4.8 1.6 +- God morgon. - God morgon. + +0.8 1.5 +- Jag ska komma upp. - OK. + +0.0 3.1 +- T?nder du lampan. - Ja. + + diff -Nru shared-mime-info-1.15/tests/mime-detection/subtitle.smi shared-mime-info-2.0/tests/mime-detection/subtitle.smi --- shared-mime-info-1.15/tests/mime-detection/subtitle.smi 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/subtitle.smi 2020-05-06 14:11:14.243907500 +0000 @@ -0,0 +1,62 @@ + + + President John F. Kennedy Speech + + Copyright {(C)Copyright 1997, Microsoft Corporation} + Media {JF Kennedy.wav} + Metrics {time:ms; duration: 73000;} + Spec {MSFT:1.0;} + + + + + + + +

Pres. John F. Kennedy + +

Let the word go forth, + from this time and place to friend and foe + alike that the torch + +

has been passed to a new generation of Americans, + born in this century, tempered by war, + +

disciplined by a hard and bitter peace, + proud of our ancient heritage, and unwilling to witness + +

or permit the slow undoing of those human rights + to which this nation has always + +

been committed and to which we are + committed today at home and around the world. + +

Let every nation know, + whether it wishes us well or ill, + that we shall pay any price, bear any burden, + +

meet any hardship, support any friend, + oppose any foe, to ensure the survival and + success of liberty. + +

End of: +

President John F. Kennedy Speech + + diff -Nru shared-mime-info-1.15/tests/mime-detection/subtitle.srt shared-mime-info-2.0/tests/mime-detection/subtitle.srt --- shared-mime-info-1.15/tests/mime-detection/subtitle.srt 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/subtitle.srt 2020-05-06 14:11:14.243907500 +0000 @@ -0,0 +1,9 @@ +1 +00:00:24,500 --> 00:00:28,500 +Ki Christina Walters? + +2 +00:00:28,527 --> 00:00:30,155 +Christina Walters? + + diff -Nru shared-mime-info-1.15/tests/mime-detection/subtitle.ssa shared-mime-info-2.0/tests/mime-detection/subtitle.ssa --- shared-mime-info-1.15/tests/mime-detection/subtitle.ssa 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/subtitle.ssa 2020-05-06 14:11:14.243907500 +0000 @@ -0,0 +1,22 @@ +[Script Info] +; This is a Sub Station Alpha v4 script. +; For Sub Station Alpha info and downloads, +; go to http://www.eswat.demon.co.uk/ +; or email kotus@eswat.demon.co.uk +Title: Neon Genesis Evangelion - Episode 26 (neutral Spanish) +Original Script: RoRo +Script Updated By: version 2.8.01 +ScriptType: v4.00 +Collisions: Normal +PlayResY: 600 +PlayDepth: 0 +Timer: 100,0000 + +[V4 Styles] +Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding +Style: DefaultVCD, Arial,28,11861244,11861244,11861244,-2147483640,-1,0,1,1,2,2,30,30,30,0,0 + +[Events] +Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text +Dialogue: Marked=0,0:00:01.18,0:00:06.85,DefaultVCD, NTP,0000,0000,0000,,{\pos(400,570)}Like an angel with pity on nobody + diff -Nru shared-mime-info-1.15/tests/mime-detection/subtitle-subviewer.sub shared-mime-info-2.0/tests/mime-detection/subtitle-subviewer.sub --- shared-mime-info-1.15/tests/mime-detection/subtitle-subviewer.sub 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/subtitle-subviewer.sub 2020-05-06 14:11:14.243907500 +0000 @@ -0,0 +1,16 @@ +[INFORMATION] +[TITLE] Title of film. +[AUTHOR] Author of film. +[SOURCE] Arbitrary text +[FILEPATH] Arbitrary text +[DELAY] 0 +[COMMENT] Arbitrary text +[END INFORMATION] +[SUBTITLE] +[COLF]&HFFFFFF,[SIZE]12,[FONT]Times New Roman +00:01:00.10,00:02:00.20 +Oh, no. +The eggs are hatching! + +00:02:00.30,00:03:00.40 +No, never mind, I was hallucinating. diff -Nru shared-mime-info-1.15/tests/mime-detection/survey.js shared-mime-info-2.0/tests/mime-detection/survey.js --- shared-mime-info-1.15/tests/mime-detection/survey.js 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/survey.js 2020-05-06 14:11:14.243907500 +0000 @@ -0,0 +1,145 @@ +// Out of error numbers? Fear not, Wikipedia (via TinyURL) to the +// rescue! http://tinyurl.com/lf9q7 + +function checkOther(the_name) { + var other = document.getElementById(the_name + '_99') + var specify = document.getElementById(the_name + '_other') + + if (!other) { + alert("Sorry, an internal error has occured. Please contact webmaster@metrics.net and alert him of this problem. Please referrence error #WMPP-3141-"+document.forms[0].__page.value+".\n\nThank you for your help."); // π + return + } + + if (!specify) { + alert("Sorry, an internal error has occured. Please contact webmaster@metrics.net and alert him of this problem. Please referrence error #WMPP-2718-"+document.forms[0].__page.value+".\n\nThank you for your help."); // e + return + } + + if (other.checked) { + specify.disabled = false; + } else { + specify.disabled = true; + } +} + + +function checkBoxOther(the_name) { + var other = document.getElementById(the_name + '_other_check_1'); + var specify = document.getElementById(the_name + '_other_specify'); + + if (!other) { + alert("Sorry, an internal error has occured. Please contact webmaster@metrics.net and alert him of this problem. Please referrence error #WMPP-0577-"+document.forms[0].__page.value+".\n\nThank you for your help."); // γ + return + } + + if (!specify) { + alert("Sorry, an internal error has occured. Please contact webmaster@metrics.net and alert him of this problem. Please referrence error #WMPP-0702-"+document.forms[0].__page.value+".\n\nThank you for your help."); // β* + return + } + + if (other.checked && !other.disabled) { + specify.disabled = false; + } else { + specify.disabled = true; + } +} + + +function checkBoxOtherNone(the_name) { + checkBoxNone(the_name) + checkBoxOther(the_name) +} + +function checkBoxNone(the_name) { + var none = document.getElementById(the_name + '_none_1') + + if (!none) { + alert("Sorry, an internal error has occured. Please contact webmaster@metrics.net and alert him of this problem. Please referrence error #WMPP-4669-"+document.forms[0].__page.value+".\n\nThank you for your help."); // δ + return + } + + // find the enclosing ul + var ul = none; + do { ul = ul.parentNode } while (ul && 'UL' != ul.tagName) + + if (!ul) { + alert("Sorry, an internal error has occured. Please contact webmaster@metrics.net and alert him of this problem. Please referrence error #WMPP-2502-"+document.forms[0].__page.value+".\n\nThank you for your help."); // α + return + } + + var inputs = ul.getElementsByTagName('input') + var disable = none.checked + for (var i = 0; i < inputs.length; ++i) { + if ('checkbox' == inputs[i].type.toLowerCase() && inputs[i] != none) + inputs[i].disabled = disable; + } +} + +function updateSum(theName) { + var holder = document.getElementById(theName+'_holder'); + if (!holder) { + alert("Sorry, an internal error has occured. Please contact webmaster@metrics.net and alert him of this problem. Please referrence error #WMPP-1414-"+document.forms[0].__page.value+".\n\nThank you for your help."); // √2 + return + } + + var inputs = holder.getElementsByTagName('input'); + if (!inputs || inputs.length == 0) { + alert("Sorry, an internal error has occured. Please contact webmaster@metrics.net and alert him of this problem. Please referrence error #WMPP-1732-"+document.forms[0].__page.value+".\n\nThank you for your help."); // √3 + return + } + + var sumspot = document.getElementById(theName+'_sum'); + if (!sumspot) { + alert("Sorry, an internal error has occured. Please contact webmaster@metrics.net and alert him of this problem. Please referrence error #WMPP-1618-"+document.forms[0].__page.value+".\n\nThank you for your help."); // φ + return + } + + var sum = 0.0; + for (var i = 0; i < inputs.length; ++i) { + sum += 1*(inputs[i].value); + } + + sumspot.innerHTML = sum; +} + + +function regionQuestion(the_name) { + var USbutton = document.getElementById(the_name + '_region_1') + var CANbutton = document.getElementById(the_name + '_region_2') + var USsel = document.getElementById(the_name + '_usa_state_sel') + var CANsel = document.getElementById(the_name + '_can_province_sel') + + if (!USbutton) { + alert("Sorry, an internal error has occured. Please contact webmaster@metrics.net and alert him of this problem. Please referrence error #WMPP-0660-"+document.forms[0].__page.value+".\n\nThank you for your help."); // C₂ + return + } + if (!CANbutton) { + alert("Sorry, an internal error has occured. Please contact webmaster@metrics.net and alert him of this problem. Please referrence error #WMPP-0261-"+document.forms[0].__page.value+".\n\nThank you for your help."); // M₠+ return + } + if (!USsel) { + alert("Sorry, an internal error has occured. Please contact webmaster@metrics.net and alert him of this problem. Please referrence error #WMPP-1902-"+document.forms[0].__page.value+".\n\nThank you for your help."); // B₂ + return + } + if (!CANsel) { + alert("Sorry, an internal error has occured. Please contact webmaster@metrics.net and alert him of this problem. Please referrence error #WMPP-0870-"+document.forms[0].__page.value+".\n\nThank you for your help."); // B₄ + return + } + + if (USbutton.selected && CANbutton.selected) { + alert("Sorry, an internal error has occured. Please contact webmaster@metrics.net and alert him of this problem. Please referrence error #WMPP-0915-"+document.forms[0].__page.value+".\n\nThank you for your help."); // K₄ + return + } + + + if (USbutton.checked) + USsel.disabled = false; + else + USsel.disabled = true; + + if (CANbutton.checked) + CANsel.disabled = false; + else + CANsel.disabled = true; + +} diff -Nru shared-mime-info-1.15/tests/mime-detection/systemd.automount shared-mime-info-2.0/tests/mime-detection/systemd.automount --- shared-mime-info-1.15/tests/mime-detection/systemd.automount 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/systemd.automount 2020-05-06 14:11:14.243907500 +0000 @@ -0,0 +1,7 @@ +[Unit] +Description=Test Automount Point +Before=sysinit.target +ConditionPathExists=/some/mountpoint/ + +[Automount] +Where=/some/mountpoint diff -Nru shared-mime-info-1.15/tests/mime-detection/systemd.device shared-mime-info-2.0/tests/mime-detection/systemd.device --- shared-mime-info-1.15/tests/mime-detection/systemd.device 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/systemd.device 2020-05-06 14:11:14.243907500 +0000 @@ -0,0 +1,14 @@ +[Install] +Wants=something.service + +# Here is some long exposition so that the Unit section is a lot further +# down the file than the Install section, so we are only relying on the +# Install section for the magic string comparison. +# +# It is interesting to note that there is no Device section because we +# cannot really set per-device options in files which are automatically +# generated, or in ones which are shipped with applications. You learn +# something new each day, right? + +[Unit] +Description=Some random description diff -Nru shared-mime-info-1.15/tests/mime-detection/systemd.mount shared-mime-info-2.0/tests/mime-detection/systemd.mount --- shared-mime-info-1.15/tests/mime-detection/systemd.mount 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/systemd.mount 2020-05-06 14:11:14.244907600 +0000 @@ -0,0 +1,14 @@ +# This file has a deliberately quite long introductory comment, which is +# designed to emulate the long license and copyright headers which some +# systemd files include. This might throw off simplistic magic string +# sniffing. +[Unit] +Description=Some Fancy Mount +DefaultDependencies=no +Before=sysinit.target +ConditionPathExists=/proc/sys/fs/mqueue + +[Mount] +What=mqueue +Where=/dev/mqueue +Type=mqueue diff -Nru shared-mime-info-1.15/tests/mime-detection/systemd.path shared-mime-info-2.0/tests/mime-detection/systemd.path --- shared-mime-info-1.15/tests/mime-detection/systemd.path 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/systemd.path 2020-05-06 14:11:14.244907600 +0000 @@ -0,0 +1,6 @@ +[Unit] +Description=Some Kind of Path + +[Path] +DirectoryNotEmpty=/run/systemd/some-path +MakeDirectory=yes diff -Nru shared-mime-info-1.15/tests/mime-detection/systemd.scope shared-mime-info-2.0/tests/mime-detection/systemd.scope --- shared-mime-info-1.15/tests/mime-detection/systemd.scope 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/systemd.scope 2020-05-06 14:11:14.244907600 +0000 @@ -0,0 +1,13 @@ +# This is a transient unit file, created programmatically via the systemd API. Do not edit. +[Scope] +Slice=user-1000.slice +[Unit] +Description=Session 2 of user philip +[Unit] +After=systemd-logind.service +[Unit] +After=systemd-user-sessions.service +[Scope] +SendSIGHUP=yes +[Scope] +TasksMax=infinity diff -Nru shared-mime-info-1.15/tests/mime-detection/systemd.service shared-mime-info-2.0/tests/mime-detection/systemd.service --- shared-mime-info-1.15/tests/mime-detection/systemd.service 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/systemd.service 2020-05-06 14:11:14.244907600 +0000 @@ -0,0 +1,11 @@ +[Unit] +Description=Pseudo-Emergency Shell +Conflicts=shutdown.target +Conflicts=rescue.service +Conflicts=syslog.socket +Before=shutdown.target + +[Service] +Environment=HOME=/root +WorkingDirectory=-/root +Type=idle diff -Nru shared-mime-info-1.15/tests/mime-detection/systemd.slice shared-mime-info-2.0/tests/mime-detection/systemd.slice --- shared-mime-info-1.15/tests/mime-detection/systemd.slice 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/systemd.slice 2020-05-06 14:11:14.245907500 +0000 @@ -0,0 +1,3 @@ +[Unit] +Description=Cake Slice +Before=desserts.target diff -Nru shared-mime-info-1.15/tests/mime-detection/systemd.socket shared-mime-info-2.0/tests/mime-detection/systemd.socket --- shared-mime-info-1.15/tests/mime-detection/systemd.socket 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/systemd.socket 2020-05-06 14:11:14.245907500 +0000 @@ -0,0 +1,5 @@ +[Unit] +Description=Another Bus Messaging Socket + +[Socket] +ListenStream=/run/another/system_bus_socket diff -Nru shared-mime-info-1.15/tests/mime-detection/systemd.swap shared-mime-info-2.0/tests/mime-detection/systemd.swap --- shared-mime-info-1.15/tests/mime-detection/systemd.swap 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/systemd.swap 2020-05-06 14:11:14.245907500 +0000 @@ -0,0 +1,9 @@ +# Automatically generated by systemd-fstab-generator + +[Unit] +SourcePath=/etc/fstab +Documentation=man:fstab(5) man:systemd-fstab-generator(8) + +[Swap] +What=/dev/mapper/fedora-swap +Options=defaults,x-systemd.device-timeout=0 diff -Nru shared-mime-info-1.15/tests/mime-detection/systemd.target shared-mime-info-2.0/tests/mime-detection/systemd.target --- shared-mime-info-1.15/tests/mime-detection/systemd.target 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/systemd.target 2020-05-06 14:11:14.246907500 +0000 @@ -0,0 +1,4 @@ +[Unit] +Description=Final Target +RefuseManualStart=yes +After=shutdown.target umount.target diff -Nru shared-mime-info-1.15/tests/mime-detection/systemd.timer shared-mime-info-2.0/tests/mime-detection/systemd.timer --- shared-mime-info-1.15/tests/mime-detection/systemd.timer 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/systemd.timer 2020-05-06 14:11:14.246907500 +0000 @@ -0,0 +1,10 @@ +[Unit] +Description=Do something once a week + +[Timer] +OnCalendar=weekly +AccuracySec=1h +Persistent=true + +[Install] +WantedBy=something.target diff -Nru shared-mime-info-1.15/tests/mime-detection/tb-from-sentbox.eml shared-mime-info-2.0/tests/mime-detection/tb-from-sentbox.eml --- shared-mime-info-1.15/tests/mime-detection/tb-from-sentbox.eml 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/tb-from-sentbox.eml 2020-05-06 14:11:14.246907500 +0000 @@ -0,0 +1,19 @@ +Subject: Re: something +From: user2 +To: user1 +Cc: ubuntu-devel-discuss@lists.ubuntu.com +In-Reply-To: <1209066303.6151.268.camel@saeko.local> +References: <1208716503.7231.5.camel@milan> + <1209066303.6151.268.camel@saeko.local> +Content-Type: text/plain; charset=utf-8 +Message-Id: <1209154204.13117.0.camel@milan> +Mime-Version: 1.0 +X-Mailer: Evolution 2.22.1 +Date: Fri, 25 Apr 2008 22:12:15 +0200 +X-Evolution-Format: text/plain +Content-Transfer-Encoding: quoted-printable +Status: +X-Mmail: \Seen +X-M-Uid: 77798.1209154336 + +[hidden text...] diff -Nru shared-mime-info-1.15/tests/mime-detection/tb-saved.eml shared-mime-info-2.0/tests/mime-detection/tb-saved.eml --- shared-mime-info-1.15/tests/mime-detection/tb-saved.eml 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/tb-saved.eml 2020-05-06 14:11:14.246907500 +0000 @@ -0,0 +1,19 @@ +Received: from [192.168.88.50] (i03v-213-44-177-152.d4.club-internet.fr [213.44.177.152]) + by relay-av.club-internet.fr (Postfix) with ESMTP id A042325612 + for ; Wed, 30 Apr 2008 19:23:11 +0200 (CEST) +Message-ID: <4818AAFF.7000006@club.fr> +Date: Wed, 30 Apr 2008 19:23:11 +0200 +From: user@server.net +User-Agent: Thunderbird 2.0.0.12 (X11/20080227) +MIME-Version: 1.0 +To: XXX +Subject: (pas de sujet) +Content-Type: text/plain; charset=ISO-8859-1; format=flowed +Content-Transfer-Encoding: quoted-printable +Status: RO +X-Mmail: \Seen +X-M-Uid: 78116.1209576193 + +[hidden text...] + + diff -Nru shared-mime-info-1.15/tests/mime-detection/terminal-app.svg shared-mime-info-2.0/tests/mime-detection/terminal-app.svg --- shared-mime-info-1.15/tests/mime-detection/terminal-app.svg 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/terminal-app.svg 2020-05-06 14:11:14.246907500 +0000 @@ -0,0 +1,53 @@ + + + Adwaita Icon Template + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru shared-mime-info-1.15/tests/mime-detection/test10.gpx shared-mime-info-2.0/tests/mime-detection/test10.gpx --- shared-mime-info-1.15/tests/mime-detection/test10.gpx 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test10.gpx 2020-05-06 14:11:14.290907400 +0000 @@ -0,0 +1,19 @@ + + + + + ACTIVE LOG + + + 115.976196 + + + + + diff -Nru shared-mime-info-1.15/tests/mime-detection/test1.pcf shared-mime-info-2.0/tests/mime-detection/test1.pcf --- shared-mime-info-1.15/tests/mime-detection/test1.pcf 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test1.pcf 2020-05-06 14:11:14.289907200 +0000 @@ -0,0 +1,2 @@ +[main] +bla bla Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test2.pcf and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test2.pcf differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test2.ppm and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test2.ppm differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test2.tga and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test2.tga differ diff -Nru shared-mime-info-1.15/tests/mime-detection/test3.py shared-mime-info-2.0/tests/mime-detection/test3.py --- shared-mime-info-1.15/tests/mime-detection/test3.py 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test3.py 2020-05-06 14:11:14.291907300 +0000 @@ -0,0 +1,19 @@ +#!/usr/bin/env python3 + +from math import sin, pi + + +def f(x): + return sin(x ** 2) + + +def integrate_f(a, b, N): + s = 0 + dx = (b - a) / N + for i in range(N): + s += f(a + i * dx) + return s * dx + + +if __name__ == '__main__': + print(integrate_f(0, pi, 1000)) Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.aa and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.aa differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.aax and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.aax differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.aiff and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.aiff differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.alz and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.alz differ diff -Nru shared-mime-info-1.15/tests/mime-detection/test_apple_systemprofiler.spx shared-mime-info-2.0/tests/mime-detection/test_apple_systemprofiler.spx --- shared-mime-info-1.15/tests/mime-detection/test_apple_systemprofiler.spx 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test_apple_systemprofiler.spx 2020-05-06 14:11:14.291907300 +0000 @@ -0,0 +1,7 @@ + + + + + + + Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.avf and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.avf differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.avi and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.avi differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.avif and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.avif differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.avifs and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.avifs differ diff -Nru shared-mime-info-1.15/tests/mime-detection/test.bflng shared-mime-info-2.0/tests/mime-detection/test.bflng --- shared-mime-info-1.15/tests/mime-detection/test.bflng 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.bflng 2020-05-06 14:11:14.255907500 +0000 @@ -0,0 +1,6 @@ + + +

+ +
+ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.bmp and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.bmp differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.bsdiff and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.bsdiff differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/testcase.is-really-a-pdf and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/testcase.is-really-a-pdf differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/testcases.ksp and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/testcases.ksp differ diff -Nru shared-mime-info-1.15/tests/mime-detection/test.cbl shared-mime-info-2.0/tests/mime-detection/test.cbl --- shared-mime-info-1.15/tests/mime-detection/test.cbl 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.cbl 2020-05-06 14:11:14.255907500 +0000 @@ -0,0 +1,25 @@ + IDENTIFICATION DIVISION. + PROGRAM-ID. Age. + AUTHOR. Fernando Brito. + + DATA DIVISION. + WORKING-STORAGE SECTION. + 01 Age PIC 99 VALUE ZEROS. + 01 Had_Birthday PIC X VALUE SPACES. + 01 Current_Year PIC 9999 VALUE 2010. + 01 Result PIC 9999 VALUE ZEROS. + + PROCEDURE DIVISION. + DISPLAY "==> How old are you?". + ACCEPT Age + DISPLAY "==> Had you already had birthday this year (y or n)?". + ACCEPT Had_Birthday + + SUBTRACT Current_Year FROM Age GIVING Result + + IF Had_Birthday = "n" THEN + SUBTRACT 1 FROM Result GIVING Result + END-IF + + DISPLAY "Let me guess... "" You were born in ", Result + STOP RUN. diff -Nru shared-mime-info-1.15/tests/mime-detection/test.ccmx shared-mime-info-2.0/tests/mime-detection/test.ccmx --- shared-mime-info-1.15/tests/mime-detection/test.ccmx 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.ccmx 2020-05-06 14:11:14.255907500 +0000 @@ -0,0 +1,18 @@ +CCMX + +DESCRIPTOR "CCMX for LCD" +CREATED "Tue Jan 3 15:30:11 2012" +KEYWORD "COLOR_REP" +COLOR_REP "XYZ" + +NUMBER_OF_FIELDS 3 +BEGIN_DATA_FORMAT +XYZ_X XYZ_Y XYZ_Z +END_DATA_FORMAT + +NUMBER_OF_SETS 3 +BEGIN_DATA +1.0 0.0 0.0 +0.0 1.0 0.0 +0.0 0.0 1.0 +END_DATA diff -Nru shared-mime-info-1.15/tests/mime-detection/test-cdda.toc shared-mime-info-2.0/tests/mime-detection/test-cdda.toc --- shared-mime-info-1.15/tests/mime-detection/test-cdda.toc 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test-cdda.toc 2020-05-06 14:11:14.246907500 +0000 @@ -0,0 +1,53 @@ +CD_DA + + +// Track 1 +TRACK AUDIO +NO COPY +NO PRE_EMPHASIS +TWO_CHANNEL_AUDIO +FILE "/home/sa/image.iso" 0 11:10:51 + + +// Track 2 +TRACK AUDIO +NO COPY +NO PRE_EMPHASIS +TWO_CHANNEL_AUDIO +FILE "/home/sa/image.iso" 11:10:51 13:36:21 +START 00:00:01 + + +// Track 3 +TRACK AUDIO +NO COPY +NO PRE_EMPHASIS +TWO_CHANNEL_AUDIO +FILE "/home/sa/image.iso" 24:46:72 10:20:74 + + +// Track 4 +TRACK AUDIO +NO COPY +NO PRE_EMPHASIS +TWO_CHANNEL_AUDIO +FILE "/home/sa/image.iso" 35:07:71 02:19:25 +START 00:02:21 + + +// Track 5 +TRACK AUDIO +NO COPY +NO PRE_EMPHASIS +TWO_CHANNEL_AUDIO +FILE "/home/sa/image.iso" 37:27:21 10:29:68 + + +// Track 6 +TRACK AUDIO +NO COPY +NO PRE_EMPHASIS +TWO_CHANNEL_AUDIO +FILE "/home/sa/image.iso" 47:57:14 13:52:66 +START 00:02:38 + diff -Nru shared-mime-info-1.15/tests/mime-detection/test-cdrom.toc shared-mime-info-2.0/tests/mime-detection/test-cdrom.toc --- shared-mime-info-1.15/tests/mime-detection/test-cdrom.toc 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test-cdrom.toc 2020-05-06 14:11:14.246907500 +0000 @@ -0,0 +1,8 @@ +CD_ROM + + +// Track 1 +TRACK MODE1 +NO COPY +DATAFILE "data.bin" 69:21:33 // length in bytes: 639197184 + Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.cel and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.cel differ diff -Nru shared-mime-info-1.15/tests/mime-detection/test.cl shared-mime-info-2.0/tests/mime-detection/test.cl --- shared-mime-info-1.15/tests/mime-detection/test.cl 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.cl 2020-05-06 14:11:14.256907500 +0000 @@ -0,0 +1,24 @@ +// RUN: c-index-test -test-print-type %s | FileCheck %s + +#pragma OPENCL EXTENSION cl_khr_fp16 : enable +#pragma OPENCL EXTENSION cl_khr_fp64 : enable + +typedef half half4 __attribute__((ext_vector_type(4))); +typedef float float4 __attribute__((ext_vector_type(4))); +typedef double double4 __attribute__((ext_vector_type(4))); + +void kernel testFloatTypes() { + half scalarHalf; + half4 vectorHalf; + float scalarFloat; + float4 vectorFloat; + double scalarDouble; + double4 vectorDouble; +} + +// CHECK: VarDecl=scalarHalf:11:8 (Definition) [type=half] [typekind=Half] [isPOD=1] +// CHECK: VarDecl=vectorHalf:12:9 (Definition) [type=half4] [typekind=Typedef] [canonicaltype=half __attribute__((ext_vector_type(4)))] [canonicaltypekind=Unexposed] [isPOD=1] +// CHECK: VarDecl=scalarFloat:13:9 (Definition) [type=float] [typekind=Float] [isPOD=1] +// CHECK: VarDecl=vectorFloat:14:10 (Definition) [type=float4] [typekind=Typedef] [canonicaltype=float __attribute__((ext_vector_type(4)))] [canonicaltypekind=Unexposed] [isPOD=1] +// CHECK: VarDecl=scalarDouble:15:10 (Definition) [type=double] [typekind=Double] [isPOD=1] +// CHECK: VarDecl=vectorDouble:16:11 (Definition) [type=double4] [typekind=Typedef] [canonicaltype=double __attribute__((ext_vector_type(4)))] [canonicaltypekind=Unexposed] [isPOD=1] Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.class and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.class differ diff -Nru shared-mime-info-1.15/tests/mime-detection/test.cmake shared-mime-info-2.0/tests/mime-detection/test.cmake --- shared-mime-info-1.15/tests/mime-detection/test.cmake 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.cmake 2020-05-06 14:11:14.256907500 +0000 @@ -0,0 +1,5 @@ +project(sample) + +set(foo_sources foo1.c foo2.c) +add_executable(foo ${foo_sources}) + diff -Nru shared-mime-info-1.15/tests/mime-detection/test.coffee shared-mime-info-2.0/tests/mime-detection/test.coffee --- shared-mime-info-1.15/tests/mime-detection/test.coffee 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.coffee 2020-05-06 14:11:14.256907500 +0000 @@ -0,0 +1,28 @@ +# Assignment: +number = 42 +opposite = true + +# Conditions: +number = -42 if opposite + +# Functions: +square = (x) -> x * x + +# Arrays: +list = [1, 2, 3, 4, 5] + +# Objects: +math = + root: Math.sqrt + square: square + cube: (x) -> x * square x + +# Splats: +race = (winner, runners...) -> + print winner, runners + +# Existence: +alert "I knew it!" if elvis? + +# Array comprehensions: +cubes = (math.cube num for num in list) Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/testcompress.z and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/testcompress.z differ diff -Nru shared-mime-info-1.15/tests/mime-detection/test.cs shared-mime-info-2.0/tests/mime-detection/test.cs --- shared-mime-info-1.15/tests/mime-detection/test.cs 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.cs 2020-05-06 14:11:14.256907500 +0000 @@ -0,0 +1,16 @@ +using System; + +public class Sample { + public Sample () { + } + + public void run () { + Console.WriteLine ("Hello World"); + } + + static int Main (string[] args) { + Sample sample = new Sample (); + sample.run (); + return 0; + } +} diff -Nru shared-mime-info-1.15/tests/mime-detection/test.csvs shared-mime-info-2.0/tests/mime-detection/test.csvs --- shared-mime-info-1.15/tests/mime-detection/test.csvs 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.csvs 2020-05-06 14:11:14.256907500 +0000 @@ -0,0 +1,5 @@ +version 1.0 +@totalColumns 3 +name: notEmpty +age: range(0, 120) +gender: is("m") or is("f") or is("t") or is("n") diff -Nru shared-mime-info-1.15/tests/mime-detection/test.d shared-mime-info-2.0/tests/mime-detection/test.d --- shared-mime-info-1.15/tests/mime-detection/test.d 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.d 2020-05-06 14:11:14.256907500 +0000 @@ -0,0 +1,95 @@ +#!/usr/bin/dmd -run +/* sh style script syntax is supported */ + +/* Hello World in D + To compile: + dmd hello.d + or to optimize: + dmd -O -inline -release hello.d +*/ + +import std.stdio; + +void main(string[] args) +{ + writefln("Hello World, Reloaded"); + + // auto type inference and built-in foreach + foreach (argc, argv; args) + { + // Object Oriented Programming + auto cl = new CmdLin(argc, argv); + // Improved typesafe printf + writeln(cl.argnum, cl.suffix, " arg: ", cl.argv); + // Automatic or explicit memory management + delete cl; + } + + // Nested structs and classes + struct specs + { + // all members automatically initialized + int count, allocated; + } + + // Nested functions can refer to outer + // variables like args + specs argspecs() + { + specs* s = new specs; + // no need for '->' + s.count = args.length; // get length of array with .length + s.allocated = typeof(args).sizeof; // built-in native type properties + foreach (argv; args) + s.allocated += argv.length * typeof(argv[0]).sizeof; + return *s; + } + + // built-in string and common string operations + writefln("argc = %d, " ~ "allocated = %d", + argspecs().count, argspecs().allocated); +} + +class CmdLin +{ + private int _argc; + private string _argv; + +public: + this(int argc, string argv) // constructor + { + _argc = argc; + _argv = argv; + } + + int argnum() + { + return _argc + 1; + } + + string argv() + { + return _argv; + } + + string suffix() + { + string suffix = "th"; + switch (_argc) + { + case 0: + suffix = "st"; + break; + case 1: + suffix = "nd"; + break; + case 2: + suffix = "rd"; + break; + default: + break; + } + return suffix; + } +} + Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.dcm and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.dcm differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.djvu and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.djvu differ diff -Nru shared-mime-info-1.15/tests/mime-detection/test.dot shared-mime-info-2.0/tests/mime-detection/test.dot --- shared-mime-info-1.15/tests/mime-detection/test.dot 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.dot 2020-05-06 14:11:14.257907400 +0000 @@ -0,0 +1,7 @@ +digraph Test { + node[shape=box, fontsize=20] + + foo [label="Foo"]; + bar [label="Bar"]; + foo->bar +} Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.dts and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.dts differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.dtshd and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.dtshd differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test-en.mo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test-en.mo differ diff -Nru shared-mime-info-1.15/tests/mime-detection/test-en.po shared-mime-info-2.0/tests/mime-detection/test-en.po --- shared-mime-info-1.15/tests/mime-detection/test-en.po 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test-en.po 2020-05-06 14:11:14.247907600 +0000 @@ -0,0 +1,18 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: test\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-11-07 14:54+0100\n" +"PO-Revision-Date: 2012-11-07 15:19+0100\n" +"Last-Translator: Pino Toscano \n" +"Language-Team: English \n" +"Language: en\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: test-gettext.c:5 +#, c-format +msgid "test of string\n" +msgstr "test of string\n" diff -Nru shared-mime-info-1.15/tests/mime-detection/test.eps shared-mime-info-2.0/tests/mime-detection/test.eps --- shared-mime-info-1.15/tests/mime-detection/test.eps 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.eps 2020-05-06 14:11:14.257907400 +0000 @@ -0,0 +1,98 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: GIMP PostScript file plugin V 1.17 by Peter Kirchgessner +%%Title: test.eps +%%CreationDate: Tue Oct 18 23:53:49 2005 +%%DocumentData: Clean7Bit +%%LanguageLevel: 2 +%%Pages: 1 +%%BoundingBox: 14 14 35 35 +%%EndComments +%%BeginProlog +% Use own dictionary to avoid conflicts +10 dict begin +%%EndProlog +%%Page: 1 1 +% Translate for offset +14.173228346456694 14.173228346456694 translate +% Translate to begin of first scanline +0 20 translate +20 -20 scale +% Image geometry +20 20 8 +% Transformation matrix +[ 20 0 0 20 0 0 ] +% Strings to hold RGB-samples per scanline +/rstr 20 string def +/gstr 20 string def +/bstr 20 string def +{currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop} +{currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop} +{currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop} +true 3 +%%BeginData: 1871 ASCII Bytes +colorimage +'=aWhQB#uXoBa++~> +'/2^_<(9>85Z^8s%NcW32a(YL +'5ibpR>[GdL7O-tMl`>*\DuuJl$r~> +'=3OXOF)4F4$cGE6""P@Dg6Sp]79~> +'3.P/<(]qb@qAS%4Yn-=A8Q49E.@~> +'6K(rR&6."P'VA=LO+!,`nT;Cm=5~> +':F62H"LYE0/ZI!6p3Y;>$bHbLk#~> +'2`7DD,XSHDg-P93(leCE0?fTSU^~> +'9Jc\UlC1b=`RqkJ:`3A^uXk]s*t~> +&!1pNH=B9$-QsfY)&"GV=8l;%B7K~> +'0ff0CHuBWIXQEX@9@/RMLgJESU^~> +':5hgV4<6WD,Fh_F^Js7WRpt5msk~> +';:qA?Vs0L-SH8H)(-Rg8Qo%p;Le~> +'0/W_ +'8_+!GC+^B?"RJB936(_U:K4.m=5~> +':,eK>%0?/+!D:0.Ocl076WLo>^u~> +'0&T[4]5p5F),?0E+s9 +'6/MH?=&%g8QSkf:etkJO2A6:id_~> +';`!W@SAs>/IrmG/efW^8j,748q6~> +'07pF.8W]H=\;e5F*2o(Wh>HHUjr~> +'52<'@Ur\DAmS>,7U0#*Q)`!ck^W~> +'>:W#G#UgW-ls3`)Ail1,>^d% +'/iiN/PJc&86])6K8b;KMNaO&Z%)~> +'4+7;CKaA+?X$Ve?!^3QQEJKql@8~> +'>(QCDfAf@,o7[e,U"Kb)(/*A6@]~> +'4#$3*'?>_;+Xi=LP`(LYHG%8[=A~> +'5)/u=@b8<:/*r&3CHbROeT50gjf~> +'>hGjU3plL2]b"1+ +'2V[o,s+(^7n%-EWN!YX] +'8:1)=@btN84ts%78@$$PG[!PhLG~> +'Bm-RR%J[t:Gj7I2'=kL;H-Cl9Rm~> +'2q1`-6Y9MBjtY:WiE\C\?N9DQ%/~> +'8LmR@:<5ADfniR9M&HEOh]]#j+%~> +'BRNWVN-%/8i/@P0.9.l?qWjZ@=S~> +'0JiM(c"6P>%)oCT:h=CWK`L5Mgt~> +'8(7+6pGU3RXJp`GD9ssZcC54`II~> +'?/bCU83HK7QE.V4[:u3Ce@Du=+C~> +'3S +'8grk2G[t6OGRsrIYEHUOf>n(\:=~> +'A`04b,0JS67=3D86T,1<)>tN=+C~> +'3@.K,u%!7>'OP?N.mLQG'8.REe"~> +'6@MD5XoFKJ:r`BH]EW7Z+e8c_12~> +'@Z0e_ie7d9/&2"ARBLn?t`n^<.F~> +'3dat7nl(?~> +'5C978R?:dMQiS3L6nj9Xh20b_12~> +'@4k3S:#Kf79<9&D165MI#rho@Xn~> +'4Yl[93k>!6![_kCi3lnB1>-g6%A~> +'21\I5=eV-L8(E#U91Ml[(4c1c%#~> +'>),KH?=@-;,qCZOe&%nQDg"4H[l~> +'2Me-7U0G-5>kB]5W;P4:J!026%A~> +'.P%j4'l`BGaGRhQ+X3'^;mt2d=;~> +'=kK/EdhqB=@-V_Xe_MVR\#n@Oam~> +'3.pq:0D!j5WDCs75Zq^3A`cR3Ih~> +'.G=k6!.iaL6AU#P,GP+gr.Ildsq~> +'=tE,@p +'5UrB=$]>;4$Z%d+<`fi,9/9o(k;~> +',_T285ruGOJ8YC[^EZgcI(J,m!o~> +'>^/u??'[N7Sd]jXfAM7^SSHfdsq~> +'4Fa66T@e8<*_R2+"A'B!!!oT'n?~> +'+Y9k-s(M9KV4^/]XbVnhrEelnpg~> +%%EndData +showpage +%%Trailer +end +%%EOF diff -Nru shared-mime-info-1.15/tests/mime-detection/test.ext,v shared-mime-info-2.0/tests/mime-detection/test.ext,v --- shared-mime-info-1.15/tests/mime-detection/test.ext,v 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.ext,v 2020-05-06 14:11:14.257907400 +0000 @@ -0,0 +1,1229 @@ +head 4.2; +access; +symbols; +locks; strict; +comment @# @; + + +4.2 +date 2004.07.22.15.07.14; author armnphy; state Exp; +branches; +next 4.1; + +4.1 +date 2004.04.20.19.33.53; author armnphy; state Exp; +branches; +next 4.0; + +4.0 +date 2003.09.19.18.49.18; author armnphy; state Exp; +branches; +next 3.9; + +3.9 +date 2003.06.16.18.49.37; author armnphy; state Exp; +branches; +next 3.8; + +3.8 +date 2003.04.01.21.57.11; author armnbil; state Exp; +branches; +next ; + + +desc +@@ + + +4.2 +log +@bidon +@ +text +@!copyright (C) 2001 MSC-RPN COMM %%%RPNPHY%%% +*** S/P CLDOPTX4 +* +#include "phy_macros_f.h" + subroutine cldoptx4 (LWC,IWC,neb,T,sig,ps,lat,mg,ml,m,lmx,nk, + + pbl,ipbl,dz,sdz,eneb,opdepth,asymg, + + tlwp,tiwp,topthw,topthi, + + ctp,ctt, + + omegav,tauae,istcond,satuco, + + cw_rad,ioptix,nostrlwc) +* +#include "impnone.cdk" +* + integer lmx,m,nk,istcond,cw_rad,ioptix + logical satuco,nostrlwc + real ipbl(lmx) + real LWC(LMX,nk), IWC(LMX,nk), neb(LMX,nk), t(m,nk), sig(LMX,nk) + real ps(LMX),lat(LMX),eneb(LMX,nk),mg(LMX),ml(LMX) + real opdepth(LMX,nk),asymg(LMX,nk),omegav(LMX,nk) + real tauae(LMX,nk,5),pbl(LMX),dz(LMX,nk),sdz(LMX) + real tlwp(lmx),tiwp(lmx),topthw(lmx),topthi(lmx) + real ctp(lmx),ctt(lmx) +* +*AUTHOR +* L. Garand and H. Barker (April 1995) +* +*REVISION +* +* 001 R. Sarrazin and L. Garand (May 1996) - Correct bug for omegav +* and change tuneopi +* 002 N. Brunet (Oct 96) Correct bug for mg +* 003 C. Beaudoin (Jan 98) Eliminate fictitious stratospheric clouds +* above 50 mb for CONDS condensation option +* 004 B. Bilodeau and L. Garand (Aug 1999) - Add IWC for interaction +* with microphysics schemes +* 005 B. Dugas (April 1999) Never any clouds above 70 mb, but this only +* when the new input parameter climat is true +* 006 A. Methot and L. Garand (Jun 2000) - introduce a maximum in the +* total optical depth +* 007 A. Methot (May 2000) - modify effective radius relationship +* with lwc +* 008 A. Methot and L. Garand (Jun 2000) - introduce Hu and Stamnes +* parameters for liquid water +* 009 A. Methot and Mailhot (Jun 2000) - introduce Fu & Liou parameters +* for ice +* 010 B. Bilodeau (Mar 2001) - Old cldotpx code as option +* 011 B. Bilodeau (Nov 2001) - Tuneopi = 0.8 for new optical properties +* 012 B. Bilodeau (Nov 2002) - Back to old optical properties for ice +* Lakes treated as land +* 013 B. Bilodeau, P. Vaillancourt and A. Glazer (Dec 2002) +* - Calculate ctp and ctt +* 014 B. Dugas - Rename CLIMAT to NOSTRLWC +* +* 015 M. Lepine (March 2003) - CVMG... Replacements +* 016 D. Talbot (June 2003) - IBM conversion +* - calls to vsexp routine (from massvp4 library) +* - calls to exponen4 (to calculate power function '**') +* - divisions replaced by reciprocals +* 017 B. Bilodeau (Aug 2003) - exponen4 replaced by vspow +* 018 B. Bilodeau (Feb 2004) - take ml into account for aerosols +* when ioptix.lt.2 +* +* +*OBJECT +* computes optical parameters as input to visible and infrared +* radiation also includes aerosol parameterization +* Optical parameters refer to entire VIS or IR spectrum +* but could be extended to several bands matching those +* of the radiation codes. +* +*ARGUMENTS +* - Output - +* ENEB cloud amount times emissivity in each layer (0. to 1.) +* (effective nebulosity to be used by IR code) +* OPDEPTH layer visible optical depth (dimensionless) +* ASYMG layer visible asymmetry factor (G in literature, 0. to 1. ) +* OMEGAV layer visible single scattering albedo (0. to 1.) +* TAUAE layer aerosol optical depth for VIS code +* IPBL closest model level matching PBL (LMX) +* TLWP total integrated liquid water path +* TIWP total integrated ice water path +* TOPTHW total integrated optical thickness of water (from TLWP) +* TOPTHI total integrated optical thickness of ice (from TIWP) +* +* -Output - +* LWC TOTAL (liquid and solid) cloud water content for +* CONDS and OLDSUND schemes (cw_rad=0). +* Units : Kg water/Kg air (caution: not in Kg/m3) (LMX,NK) +* +* -Input - +* LWC * TOTAL cloud water content for NEWSUND, CONSUN, EXMO +* and WARM K-Y condensation schemes (cw_rad=1); +* * LIQUID water content for MIXED PHASE and +* COLD K-Y schemes (cw_rad=2). +* IWC ICE water content in Kg water/Kg air (only if cw_rad=2) +* +* -Input - +* NEB layer cloud amount (0. to 1.) (LMX,NK) +* T layer temperature (K) (M,NK) +* SIG sigma levels (0. to 1.) (LMX,NK; local sigma) +* LAT latitude in radians (-pi/2 to +pi/2) (LMX) +* PBL height of planetary boundary layer in meters (LMX) +* DZ work array, on output geometrical thickness (LMX,NK) +* SDZ work array (LMX) +* MG ground cover (ocean=0.0,land <= 1.) (LMX) +* ML fraction of lakes (0.-1.) (LMX) +* PS surface pressure (N/m2) (LMX) +* LMX number of profiles to compute +* M first dimension of temperature (usually LMX) +* NK number of layers +* ISTCOND stratiform condensation scheme used; +* SATUCO .TRUE. if water/ice phase for saturation +* .FALSE. if water phase only for saturation +* CW_RAD = 0 if no cloud water content is provided as input; +* = 1 if total water content is provided (in LWC); +* = 2 if both liquid and ice water contents are provided +* separately (in LWC and IWC respectively). +* CW_RAD is defined in phydebu4, based on ISTCOND. +* NOSTRLWC .TRUE. removes all liquid water content above 70 mb. +* This should be removed with an updated IR code +* IOPTIX parameterizations for cloud optical properties +* = 1 for simpler condensation schemes +* = 2 for microphysics schemes +* +* +** +* +* +************************************************************************ +* AUTOMATIC ARRAYS +************************************************************************ +* + AUTOMATIC ( CLOUD , REAL , (LMX,NK ) ) + AUTOMATIC ( DP , REAL , (LMX,NK ) ) + AUTOMATIC ( FRAC , REAL , (LMX,NK ) ) + AUTOMATIC ( IWCM , REAL , (LMX,NK ) ) + AUTOMATIC ( IWP , REAL , (LMX,NK ) ) + AUTOMATIC ( LWCM , REAL , (LMX,NK ) ) + AUTOMATIC ( LWP , REAL , (LMX,NK ) ) + AUTOMATIC ( TRANSMISSINT , REAL , (LMX,NK ) ) + AUTOMATIC ( TOP , LOGICAL , (LMX ) ) +* +************************************************************************ +* + integer i,k + integer ire(m,nk) +* logical top + real lwcm1, tuneopw + real rei, rec_rei, ki, iwcm1, tuneopi, omi, gi, ssai + real dp1,dp2,dp3 + real elsa, emiss + real third,rec_grav,rec_180,rec_rgasd + real ct,aero,rlat,eps + real zz, No + real tcel(m,nk),aird(m,nk),rew(m,nk),rec_cdd(m,nk),kw(m,nk) + real kwf_ire(m,nk),kvf_ire(m,nk),ssf_ire(m,nk),gwf_ire(m,nk) + real ei(m,nk),omw(m,nk),ssaw(m,nk),gw(m,nk) + real ew(m,nk) + real kwf(3,3), kvf(3,3), ssf(3,3), gwf(3,3) + external LIQWC +* +#include "consphy.cdk" +* +c LWP,IWP are liquid, ice water paths in g/m2 + data third/0.3333333/ +c diffusivity factor of Elsasser + data elsa/1.66/ + data eps/1.e-10/ + save third,elsa,eps +* + rec_grav=1./grav + rec_rgasd=1./rgasd +* + if (IOPTIX.EQ.2) then +* +* ************************************************************ +* LIQUID WATER parameterization after Hu and Stamnes +* ----------------------------------------------------------- +* +* Parameters for the relationship between the +* diffusivity factor and equivalent radius +* at 11um wavelenght ( from table 4) +* After Hu and Stamnes 1993, JCAM p 728-742 +* 2.5 < radius < 12.5 um + kwf(1,1) = -3.88e-05 + kwf(2,1) = 5.24 + kwf(3,1) = 140. +* 12.5 <= radius <= 30 um + kwf(1,2) = 794. + kwf(2,2) = -.148 + kwf(3,2) = -423. +* 30.0 < radius < 60 um + kwf(1,3) = 1680. + kwf(2,3) = -.966 + kwf(3,3) = -5.84 + +* Parameters for the relationship between the +* optical thickness and equivalent radius +* at .719 um wavelenght ( from table 1) +* After Hu and Stamnes 1993, JCAM p 728-742 +* 2.5 < radius < 12.5 um + kvf(1,1) = 1810. + kvf(2,1) = -1.08 + kvf(3,1) = 6.85 +* 12.5 <= radius <= 30 um + kvf(1,2) = 1700. + kvf(2,2) = -1.04 + kvf(3,2) = 1.04 +* 30.0 < radius < 60 um + kvf(1,3) = 978. + kvf(2,3) = -.816 + kvf(3,3) = -9.89 + +* Parameters for the relationship between the +* asymmetry factor and equivalent radius +* at .719 um wavelenght ( from table 2) +* After Hu and Stamnes 1993, JCAM p 728-742 +* 2.5 < radius < 12.5 um + ssf(1,1) = 9.95e-7 + ssf(2,1) = -.856 + ssf(3,1) = -4.37e-7 +* 12.5 <= radius <= 30 um + ssf(1,2) = 1.88e-7 + ssf(2,2) = 1.32 + ssf(3,2) = 3.08e-6 +* 30.0 < radius < 60 um + ssf(1,3) = 2.03e-5 + ssf(2,3) = -.332 + ssf(3,3) = -4.32e-5 + +* Parameters for the relationship between the +* single scatering albedo and equivalent radius +* at .719 um wavelenght ( from their table 3) +* After Hu and Stamnes 1993, JCAM p 728-742 +* 2.5 < radius < 12.5 um + gwf(1,1) = -.141 + gwf(2,1) = -.694 + gwf(3,1) = .889 +* 12.5 <= radius <= 30 um + gwf(1,2) = -.157 + gwf(2,2) = -.782 + gwf(3,2) = .886 +* 30.0 < radius < 60 um + gwf(1,3) = -.214 + gwf(2,3) = -.916 + gwf(3,3) = .885 +* + endif +* +* ************************************************************ +* MISCELLANEOUS +* ----------------------------------------------------------- +* +* tuning for optical thickness in visible +* (ONLY VIS IS AFFECTED) +* this tuning affects outgoing and surface +* radiation; has little impact on atmosperic +* heating +* + if (ioptix.eq.1) then ! old optical properties + tuneopw = 0.30 + tuneopi = 0.30 + else if (ioptix.eq.2) then ! new optical properties (for water only) + tuneopw = 0.80 + tuneopi = 0.30 + endif + +* for maximum of lwc +* + call liqwc(asymg,sig,t,ps,lmx,nk,m,satuco) +* +* liquid water content if non available as input +* + if(cw_rad.eq.0) then + do 33 k=1,nk + do 33 i=1,lmx +* +* no clouds allowed above 50mb +* + if (sig(i,k).lt.0.050) then + lwc(i,k) = 0. + else + lwc(i,k)=0.4*asymg(i,k) + endif + 33 continue + endif + +* never any clouds allowed above 70mb in +* the "NO STRATOSPHERIC LWC" mode +* + if(nostrlwc)then + do 34 k=1,nk + do 34 i=1,lmx + if (sig(i,k) .lt. 0.070) then + lwc(i,k) = 0. + endif + 34 continue + endif +* +* initialize output fields to zero +* + do i=1,lmx + tlwp (i) = 0.0 + tiwp (i) = 0.0 + topthw(i) = 0.0 + topthi(i) = 0.0 + end do +* +* ************************************************************ +* PRELIMINARY WORK +* ----------------------------------------------------------- +* + do k=1,nk + do I=1,lmx +* + lwcm(i,k) = max(lwc(i,k),0.) + + if (cw_rad.le.1) then + iwcm(i,k) = 0.0 + else + iwcm(i,k) = max(iwc(i,k),0.) + endif +* + cloud(i,k) = max(neb(i,k),0.) +* + if(istcond.gt.1 .and. istcond.lt.5 ) then +* +* the following line is an artificial source of clouds +* when using the "CONDS" condensation option (harmful +* in the stratosphere) +* + if ((lwcm(i,k)+iwcm(i,k)) .gt. 1.e-6) then + cloud(i,k) = max(cloud(i,k) ,0.01) + else + cloud(i,k) = 0.0 + endif + endif + + if (cloud(i,k) .lt. 0.01) then + lwcm(i,k) = 0. + iwcm(i,k) = 0. + endif +* +* max of cloud +* + cloud(i,k) = min(cloud(i,k),1.) +* + if(cw_rad.gt.0) then +* +* normalize water contents to get in-cloud values +* + zz=max(cloud(i,k),0.05) + lwcm1=lwcm(i,k)/zz + iwcm1=iwcm(i,k)/zz +* +* consider diabatic lifting limit +* when Sundquist schem only +* + if ( istcond.lt.5 ) then + lwcm(i,k)=min(lwcm1,asymg(i,k)) + iwcm(i,k)=min(iwcm1,asymg(i,k)) + else + lwcm(i,k)=lwcm1 + iwcm(i,k)=iwcm1 + endif + endif +* thickness in sigma +* + dp1=0.5*(sig(i,min(k+1,nk))-sig(i,max(k-1,1))) + dp2=0.5*(sig(i,1)+sig(i,2)) + dp3=0.5*(1.-sig(i,nk)) + if (k .eq. 1) then + dp(i,k) = dp2 + else if (k .eq. nk) then + dp(i,k) = dp3 + else + dp(i,k) = dp1 + endif + + dp(i,k)=max(dp(i,k)*ps(i),0.) + + tcel(i,k)=T(i,k)-TCDK + + end do + end do +* +* LIQUID vs SOLID WATER PARTITION & +* LIQUID and SOLID WATER PATHS in g/m2 +* +* In the following, Frac is the fraction of the +* cloud/precipitation water in the liquid phase +* after Rockel et al, Beitr. Atmos. Phys, 1991, p.10 +* +* When this liquid-solid partition is given by +* the microphysic schem in used ( cw_rad.eq.2 ), +* frac=1. +* + if ( cw_rad .lt. 2 ) then +* + CALL VSEXP (frac,-.003102*tcel*tcel,nk*lmx) + do k=1,nk + do I=1,lmx +* tcel(i,k)=T(i,k)-TCDK + if (tcel(i,k) .ge. 0.) then + frac(i,k) = 1.0 + else +* frac(i,k) = .0059+.9941*exp(-.003102 * tcel(i,k)*tcel(i,k)) + frac(i,k) = .0059+.9941*frac(i,k) + endif + if (frac(i,k) .lt. 0.01) frac(i,k) = 0. + + IWP(i,k) = (1.-frac(i,k))*lwcm(i,k)*dp(i,k)*rec_grav*1000. + LWP(i,k) = frac(i,k)*lwcm(i,k)*dp(i,k)*rec_grav*1000. + end do + end do + else + do k=1,nk + do I=1,lmx + frac(i,k) = 1. + IWP(i,k) = iwcm(i,k)*dp(i,k)*rec_grav*1000. + LWP(i,k) = frac(i,k)*lwcm(i,k)*dp(i,k)*rec_grav*1000. + end do + end do + endif + +* +* end do +* end do +* +* +* ***************************************************************** +* MAIN LOOP FOR MICROPHYSICS SCHEMES ("NEW" OPTICAL PROPERTIES) +* ----------------------------------------------------------------- +* + if (IOPTIX.EQ.2) then +* + do k=1,nk + do I=1,lmx +* EQUIVALENT SIZE of PARTICLES +* +*-------------> determines equivalent size of WATER particles +* set number of drops per cm**3 100 for water +* and 500 for land + + if (mg(i) .le. 0.5 .and. ml(i) .le. 0.5) then +* cdd(i,k) = 100. + rec_cdd(i,k) = 1. / 100. + else +* cdd(i,k) = 500. + rec_cdd(i,k) = 1. / 500. + endif +* +* aird is air density in kg/m3 +* + aird(i,k) = sig(i,k)*ps(i)/T(i,k)*REC_RGASD +* + end do + end do +* + CALL VSPOWN1 (REW,(1.+LWCM*1.e4)*LWCM*frac*aird*rec_cdd, + + third, nk*lmx) +* + do k=1,nk + do I=1,lmx +* REW(i,k) = 3000. * ( (1.+LWCM(i,k)*1.e4)* +* + LWCM(i,k)*frac(i,k)*aird(i,k)*rec_cdd(i,k))**third + REW(i,k) = 3000. * REW(i,k) + REW(i,k) = max( 2.5,REW(i,k)) + REW(i,k) = min( 60., REW(i,k)) +* +* determines array index for given REW + + ire(i,k) = 2 + if ( rew(i,k) .lt. 12.5 ) ire(i,k) = 1 + if ( rew(i,k) .gt. 30.0 ) ire(i,k) = 3 +* avant d'appeler vspownn il faut definir + kwf_ire(i,k) = kwf(2,ire(i,k)) + kvf_ire(i,k) = kvf(2,ire(i,k)) + ssf_ire(i,k) = ssf(2,ire(i,k)) + gwf_ire(i,k) = gwf(2,ire(i,k)) +* + end do + end do +* + CALL VSPOWNN (kw,rew,kwf_ire,nk*lmx) +* + do k=1,nk + do I=1,lmx +* +* water diffusivity after Hu and Stammes, JCAM 1993 +* +* kw = ( kwf(1,ire(i,k))*( rew(i,k)**kwf(2,ire(i,k)) ) + kwf(3,ire(i,k)) )*1.e-3 + kw(i,k) = ( kwf(1,ire(i,k)) * kw(i,k) + kwf(3,ire(i,k)) )*1.e-3 +* + end do + end do + + REI = 15. + REC_REI = 1. / 15. + KI = .0003 + 1.290 * REC_REI + CALL VSEXP (EI,-elsa*ki*IWP,nk*lmx) + CALL VSEXP (ENEB,-elsa*ki*IWP-kw*LWP,nk*lmx) +* +* on elimine une boucle en faisant ceci plus tot + CALL VSPOWNN (omw,rew,kvf_ire,nk*lmx) + CALL VSPOWNN (ssaw,rew,ssf_ire,nk*lmx) + CALL VSPOWNN (gw,rew,gwf_ire,nk*lmx) + SSAI = 1.0 - 1.295E-2 - 1.321E-4 *REI +* +* + do k=1,nk + do I=1,lmx +* +* +* emissivity of ice after Ebert and Curry, JGR-1992,p3833 +* using 11.1 micron parameters as representative +* of entire spectrum assume equivalent ice particles +* radius of 25 micron will affect both VIS and +* IR radiation +* +* REI = 15. +* KI = .0003 + 1.290 / REI +* EI = 1. -exp(-elsa*ki *IWP(i,k)) + EI(i,k) = 1. - EI(i,k) +* +* +* compute combined ice/water cloud emissivity assuming +* the transmission is the product of the ice and water +* phase transmissions +* +* cloud amount is considered outside of the current +* main loop due to potential optical depth correction +* +* cloud emissivity temporarly in ENEB + +* ENEB(i,k) = 1. - exp( - elsa*ki *IWP(i,k) - kw(i,k) * LWP(i,k) ) + ENEB(i,k) = 1. - ENEB(i,k) + neb(i,k) = cloud(i,k) +* +* end do +* end do +* +* +* do k=1,nk +* do I=1,lmx +* OPTICAL THICKNESS +* +* water optical thickness: Hu and Stammes, JCAM 1993 +* for .719 um +* +* omw =LWP(i,k) * ( kvf(1,ire(i,k))*( rew(i,k)**kvf(2,ire(i,k)) ) + kvf(3,ire(i,k)) )*1.e-3 + omw(i,k)=LWP(i,k) * ( kvf(1,ire(i,k))*( omw(i,k) ) + kvf(3,ire(i,k)) )*1.e-3 + omw(i,k)=omw(i,k)*tuneopw + + OMI = min(IWP(i,k)*(3.448E-3+2.431*REC_REI) * tuneopi, 25.) + + OPDEPTH(i,k)= max(omw(i,k) + omi,1.e-10) +* +* save integrated quantities for output purposes +* + tlwp (i) = tlwp (i) + lwp(i,k) + tiwp (i) = tiwp (i) + iwp(i,k) + topthw(i) = topthw(i) + omw(i,k) + topthi(i) = topthi(i) + omi +* +* +* SINGLE SCATTERING ALBEDO +* +* note that this parameter is very close to one for +* most of VIS but lowers in near infrared; proper +* spectral weighting is important because small changes +* will affect substantially the solar heating outgoing +* radiance or planetary albedo; It has a smaller influence +* on the surface flux. A SSA of unity will create division +* by zero in solar code. + +* SSAI = 1.0 - 1.295E-2 - 1.321E-4 *REI +* + +* WATER Single scattering Albedo: Hu and Stammes, JCAM 1993 +* for .719 um + +* SSAW = 1.- ( ssf(1,ire(i,k))*( rew(i,k)**ssf(2,ire(i,k)) ) + ssf(3,ire(i,k)) ) + SSAW(i,k)= 1.- ( ssf(1,ire(i,k))*( SSAW(i,k) ) + ssf(3,ire(i,k)) ) +* +* weighting by optical depth +* + OMEGAV(i,k)= (OMW(i,k) * SSAW(i,k) + OMI* SSAI)/ (OMW(i,k)+OMI+eps) + OMEGAV(i,k)=max(OMEGAV(i,k),0.9850) + OMEGAV(i,k)=min(OMEGAV(i,k),0.999999) +* +* Ice Asymmetry factor: Ebert and Curry JGR 1992 Eq.8 +* for 25 micron particles and a weighting for the +* five bands given in their Table 2 +* + GI = min(0.777 + 5.897E-4 * REI, 0.9999) +* +* +* Water Asymetry factor: Hu and Stammes, JCAM 1993 +* for .719 um + +* GW = ( gwf(1,ire(i,k))*( rew(i,k)**gwf(2,ire(i,k)) ) + gwf(3,ire(i,k)) ) + GW(i,k) = ( gwf(1,ire(i,k))*( GW(i,k) ) + gwf(3,ire(i,k)) ) +* +* weighting by SSA * opt depth +* + ASYMG(i,k) = (SSAI*OMI*GI + SSAW(i,k)*OMW(i,k)*GW(i,k))/(SSAI*OMI+SSAW(i,k)*OMW(i,k)+eps) +* + asymg(i,k) = max(asymg(i,k), 0.75 ) +* + asymg(i,k) = min(asymg(i,k),0.9999) +* +* geometrical thickness +* + dz(i,k)= dp(i,k)/aird(i,k)*rec_grav +* +* + end do + end do + + else if (IOPTIX.EQ.1) then +* +* **************************************************************** +* MAIN LOOP FOR CONVENTIONAL CONDENSATION SCHEMES +* ("OLD" OPTICAL PROPERTIES) +* ---------------------------------------------------------------- +* + REI = 15. + REC_REI = 1. / 15. + KI = .0003 + 1.290 * REC_REI +* + CALL VSEXP (EW,-0.087*elsa*LWP,nk*lmx) + CALL VSEXP (EI,-elsa*ki*IWP,nk*lmx) +* + do k=1,nk + do I=1,lmx +* +* emissivity of water after Stephens, JAS 78 +* we take a 0.144 factor as average of his +* downward and upward emissivity which divided +* by diffusivity factor elsa yields 0.087 +* +* EW = 1. -exp(-0.087*elsa* LWP(i,k)) + EW(i,k) = 1. - EW(i,k) +* +* emissivity of ice after Ebert and Curry, JGR-1992,p3833 +* using 11.1 micron parameters as representative +* of entire spectrum assume equivalent ice particles +* radius of 25 micron will affect both VIS and +* IR radiation +* +* EI(i,k) = 1. -exp(-elsa*ki *IWP(i,k)) + EI(i,k) = 1. - EI(i,k) +* +* compute combined ice/water cloud emissivity assuming +* the transmission is the product of the ice and water +* phase transmissions +* + EMISS = 1. - (1.-EI(i,k))* (1.-EW(i,k)) +* +* effective cloud cover +* + ENEB(i,k)= cloud(i,k)*emiss +* +* black clouds for istcond non 3 +* +* eneb(i,k)= cvmgt(cloud(i,k),eneb(i,k),istcond.NE.3) +* +* optical thickness at nadir is computed +* set number of drops per cm**3 100 for water +* and 500 for land +* +* The following line is commented out to ensure bitwise +* validation of the GEMDM global model. It should be +* activated in a future version of the code. + if (mg(i).le.0.5) then +* cdd(i,k) = 100. + rec_cdd(i,k) = 1. / 100. + else +* cdd(i,k) = 500. + rec_cdd(i,k) = 1. / 500. + endif +* +* aird is air density in kg/m3 + aird(i,k) = sig(i,k)*ps(i)/T(i,k)*REC_RGASD +* + end do + end do +* + CALL VSPOWN1 (REW,LWCM*frac*aird*rec_cdd,third,nk*lmx) +* + do k=1,nk + do I=1,lmx +* +* this parameterization from H. Barker, based +* on aircraft data range 4-17 micron is that specified +* by Slingo for parameterizations +* +* REW(i,k) = max(4., 754.6 * (LWCM(i,k)*frac(i,k)*aird(i,k)*rec_cdd(i,k))**third) + REW(i,k) = max(4., 754.6 * REW(i,k)) + REW(i,k) = min(REW(i,k),17.) + +* +* slingo JAS 89 p 1420 for weighted average of +* bands 1-5 (all spectrum) +* + OMW(i,k) = LWP(i,k)* (2.622E-2 + 1.356/REW(i,k) ) +* +* follows Ebert and Curry, 1992 +* no variation as function of band +* ice optical depth limited to 25; water to 125. +* + omw(i,k)= min(omw(i,k)*tuneopw,125.) + OMI = min(IWP(i,k)*(3.448E-3+2.431*REC_REI) * tuneopi, 25.) + OPDEPTH(i,k)= max(omw(i,k) + omi,1.e-10) +* +* +* save integrated quantities for output purposes +* + tlwp (i) = tlwp (i) + lwp(i,k) + tiwp (i) = tiwp (i) + iwp(i,k) + topthw(i) = topthw(i) + omw(i,k) + topthi(i) = topthi(i) + omi +* + SSAI = 1.0 - 1.295E-2 - 1.321E-4 *REI +* Slingo JAS 1989 for weighted average bands 1-4 p 1420 + SSAW(i,k) = 1.0 - 6.814E-3 - 4.842E-4 *REW(i,k) +* +* +* weighting by optical depth +* + OMEGAV(i,k)= (OMW(i,k) * SSAW(i,k) + OMI* SSAI)/ (OMW(i,k)+OMI+eps) + OMEGAV(i,k)=max(OMEGAV(i,k),0.9850) + OMEGAV(i,k)=min(OMEGAV(i,k),0.9999) +* +* +* Ice Asymmetry factor: Ebert and Curry JGR 1992 Eq.8 +* for 25 micron particles and a weighting for the +* five bands given in their Table 2 +* + GI = min(0.777 + 5.897E-4 * REI, 0.9999) +* +* Water Asymetry factor: Slingo 1989 +* + GW(i,k) = min(0.804 + 3.850E-3*REW(i,k), 0.9999) +* +* weighting by SSA * opt depth +* + ASYMG(i,k) = (SSAI*OMI*GI + SSAW(i,k)*OMW(i,k)*GW(i,k))/(SSAI*OMI+SSAW(i,k)*OMW(i,k)+eps) +* + asymg(i,k) = max(asymg(i,k),GI) +* + asymg(i,k) = min(asymg(i,k),0.9999) +* +* geometrical thickness +* + dz(i,k)= dp(i,k)/aird(i,k)*rec_grav +* + end do + end do +* +* + endif +* +* +* +* ************************************************************ +* END OF MAIN LOOPS +* ----------------------------------------------------------- + +* + if (IOPTIX.EQ.2) then +* +* ****************************************************************** +* CORRECTION FOR MAXIMUM TOTAL OPTICAL DEPTH & +* FINAL CLOUD*EMISSIVITY CALCULATIONS +* ------------------------------------------------------------------ +* +* temporary use of ipbl as a work field. +* ipbl is 1. when there is no correction +* otherwise ipbl is a number between zero and one +* + do i=1, lmx + ipbl(i)=min( 1., 20./( max(topthi(i)+topthw(i), 1.e-10) ) ) + enddo +* only optical depth and cloud emissivity +* need to be re-scaled +* + do k=1, nk + do i=1, lmx + OPDEPTH(i,k) = ipbl(i) * OPDEPTH(i,k) + eneb(i,k) = neb(i,k) * + $ ( 1. - ( 1.-eneb(i,k) )**ipbl(i) ) + enddo + enddo +* +* + endif +* +* Diagnostics : cloud top pressure (ctp) and temperature (ctt) +* + do i=1,lmx + ctp (i) = 110000. + ctt (i) = 310. + top(i) = .true. + transmissint(i,1) = 1. - eneb(i,1) + if ( (1.-transmissint(i,1)) .gt. 0.99 .and. top(i) ) then + ctp(i) = sig(i,1)*ps(i) + ctt(i) = t(i,1) + top(i) = .false. + end if + end do + + do k=2,nk + do i=1,lmx + transmissint(i,k) = transmissint(i,k-1) * (1.-eneb(i,k)) + if ( (1.-transmissint(i,k)) .gt. 0.99 .and. top(i) ) then + ctp(i) = sig(i,k)*ps(i) + ctt(i) = t(i,k) + top(i) = .false. + end if + end do + end do +* +* +* ****************************************************************** +* AEROSOLS LOADING +* ------------------------------------------------------------------ +* + do 10 I =1,lmx + sdz(i) = 0. + ipbl(i) = 0. + 10 continue +* + do 5 k=nk,1,-1 + do 6 I=1,lmx + if ( int(ipbl(i)).eq.0 ) then +* pbl heiht recomputed as sum of layer thicknesses + sdz(i)=sdz(i)+dz(i,k) +* level closest to pbl + if (sdz(i) .gt. pbl(i)) ipbl(i) = float(k) + endif + 6 continue + 5 continue +* +* distributing aerosols +* optical thickness higher over land; +* decreases with latitude +* See Toon and Pollack, J. Appl. Meteor, 1976, p.235 +* aero being total optical thickness, we distribute it +* within PBL in proportion with geometrical thickness +* above pbl aerosol optical depth is kept negligible +* + ct=2./pi + REC_180=1./180. + do 3 k=1,nk + do 4 i=1,lmx + tauae(i,k,1)=1.e-10 + tauae(i,k,2)=1.e-10 + rlat = lat(i)*pi*REC_180 + if ( k.ge.INT(ipbl(i)) ) then +* + if ( mg(i).ge.0.5.or.ml(i).ge.0.5) then +* +* over land +* + aero = 0.25 - 0.2*ct * abs(lat(i)) + tauae(i,k,1)= max(aero * dz(i,k)/sdz(i), 1.e-10) + else +* +* over ocean +* + aero = 0.13 - 0.1*ct * abs(lat(i)) + tauae(i,k,2)= max(aero *dz(i,k)/sdz(i), 1.e-10) + endif + endif +* +* other types of aerosols set to negligible +* + tauae(i,k,3)=1.e-10 + tauae(i,k,4)=1.e-10 + tauae(i,k,5)=1.e-10 + 4 continue + 3 continue + return + end +@ + + +4.1 +log +@bidon +@ +text +@d60 2 +d863 1 +a863 10 + if ( (ioptix.eq.2 .and. + + (mg(i).ge.0.5.or.ml(i).ge.0.5)) .or. + + (ioptix.lt.2 .and. + + mg(i).ge.0.5 ) ) then +* +* The following line is commented out to ensure bitwise +* validation of the GEMDM global model. It should be +* activated in a future version of the code, and +* the previous lines should be deleted. +c if ( mg(i).ge.0.5.or.ml(i).ge.0.5) then +@ + + +4.0 +log +@La version 4.0 de la physique a ete creee le 4 septembre 2003. + +C'est la premiere version de la programmatheque des parametrages +destinee a etre mise en exploitation sur le nouveau calculateur +IBM. + +Principaux changements : +---------------------- + + * Correction de bogues introduits lors de la conversion vers IBM + * Nouvelles optimisations pour IBM + * Modifications pour permettre l'interpolation des profils + atmospheriques pres de la surface +@ +text +@@ + + +3.9 +log +@La version 3.9 de la physique a ete creee le 16 juin 2003. + +Elle constitue la premiere version de conversion vers le +calculateur IBM. + +Le nouveau code de "gravity wave drag" sgoflx3.ftn est une +copie du code linearise lin_sgoflx1.ftn. +@ +text +@d59 1 +d458 2 +a459 2 + CALL EXPONEN4 (REW,(1.+LWCM*1.e4)*LWCM*frac*aird*rec_cdd, + + third, nk*lmx, nk*lmx, 1) +d474 1 +a474 1 +* pour faire fonctionner exponen4 il faut definir +d483 1 +a483 1 + CALL EXPONEN4 (kw,rew,kwf_ire,nk*lmx,nk*lmx,nk*lmx) +d503 3 +a505 3 + CALL EXPONEN4 (omw,rew,kvf_ire,nk*lmx,nk*lmx,nk*lmx) + CALL EXPONEN4 (ssaw,rew,ssf_ire,nk*lmx,nk*lmx,nk*lmx) + CALL EXPONEN4 (gw,rew,gwf_ire,nk*lmx,nk*lmx,nk*lmx) +a540 4 +* CALL EXPONEN4 (omw,rew,kvf_ire,nk*lmx,nk*lmx,nk*lmx) +* CALL EXPONEN4 (ssaw,rew,ssf_ire,nk*lmx,nk*lmx,nk*lmx) +* CALL EXPONEN4 (gw,rew,gwf_ire,nk*lmx,nk*lmx,nk*lmx) +* SSAI = 1.0 - 1.295E-2 - 1.321E-4 *REI +d688 1 +a688 1 + CALL EXPONEN4 (REW,LWCM*frac*aird*rec_cdd,third,nk*lmx,nk*lmx,1) +a786 2 + CALL EXPONEN4 (eneb,1.-eneb,ipbl,nk*lmx,nk*lmx,lmx) +* +d790 2 +a791 2 +* eneb(i,k) = neb(i,k) * ( 1. - ( 1.-eneb(i,k) )**ipbl(i) ) + eneb(i,k) = neb(i,k) * ( 1. - eneb(i,k) ) +@ + + +3.8 +log +@La version 3.8 de la physique a ete creee le 12 mars 2003 + +Principaux changements par rapport a la version 3.72 : +---------------------------------------------------- + + * contenu de la rustine r2 de la version 3.72 + * code developpe pour le modele regional a 15 km + - MOISTKE (refonte) + - MIXPHASE (avec BLG) + - KTRSNT + - proprietes optiques des nuages + * option ADVECTKE reactivee + * BOUJO disponible dans eturbl + * ajouts importants au code de physique linearisee + * nouvelles cles : AS,BETA,KKL,KFCPCP,SHLCVT(2),STRATOS,QCO2 + * nombreux diagnostics supplementaires + * optimisation des series temporelles + * diagnostics supplementaires pour CHRONOS et AURAMS + * correction d'une multitude de bogues mineurs +@ +text +@d54 7 +a124 3 +#if defined (CVMG) +#include "cvmg.cdk" +#endif +d142 5 +a146 4 + integer i,k, ire + logical top + real rew, kw, lwcm1, tuneopw, omw, gw, ssaw + real rei, ki, iwcm1, tuneopi, omi, gi, ssai +d148 2 +a149 2 + real ei, ew, elsa, emiss + real aird, third, tcel, cdd +d152 4 +d168 3 +a273 1 + lwc(i,k)=0.4*asymg(i,k) +d277 5 +a281 1 + lwc(i,k)=cvmgt(0.,lwc(i,k),sig(i,k).lt.0.050) +d291 3 +a293 1 + lwc(i,k)=cvmgt(0.,lwc(i,k),sig(i,k).lt.0.070) +d329 5 +a333 2 + cloud(i,k) = cvmgt(max(cloud(i,k) ,0.01),0.0, + + (lwcm(i,k)+iwcm(i,k)).gt.1.e-6) +d336 4 +a339 2 + lwcm(i,k)= cvmgt(0., lwcm(i,k), cloud(i,k) .lt. 0.01) + iwcm(i,k)= cvmgt(0., iwcm(i,k), cloud(i,k) .lt. 0.01) +d369 8 +a376 2 + dp(i,k)=cvmgt(dp2,dp1,k.eq.1) + dp(i,k)=cvmgt(dp3,dp(i,k),k.eq.nk) +d378 5 +d397 11 +a407 4 + tcel=T(i,k)-TCDK + frac(i,k) = cvmgt(1.,.0059+.9941*exp(-.003102 * tcel*tcel), + x tcel.ge.0.) + frac(i,k)= cvmgt(0.,frac(i,k), frac(i,k).lt.0.01) +d409 4 +a412 1 + IWP(i,k) = (1.-frac(i,k))*lwcm(i,k)*dp(i,k)/grav*1000. +d414 2 +a415 1 +* +d417 4 +a420 1 + IWP(i,k) = iwcm(i,k)*dp(i,k)/grav*1000. +a422 1 + LWP(i,k) = frac(i,k)*lwcm(i,k)*dp(i,k)/grav*1000. +d424 2 +a425 2 + end do + end do +d442 7 +a448 1 + cdd =cvmgt(100.,500.,mg(i).le.0.5.and.ml(i).le.0.5) +d452 7 +a458 1 + aird = sig(i,k)*ps(i)/T(i,k)/RGASD +d460 7 +a466 4 + REW = 3000. * ( (1.+LWCM(i,k)*1.e4)* + + LWCM(i,k)*frac(i,k)*aird/cdd )**third + REW = max( 2.5,REW) + REW = min( 60., REW) +d470 13 +a482 4 + ire = 2 + if ( rew .lt. 12.5 ) ire = 1 + if ( rew .gt. 30.0 ) ire = 3 + +d484 2 +d488 6 +d495 16 +a510 2 + kw = ( kwf(1,ire)*( rew**kwf(2,ire) ) + kwf(3,ire) )*1.e-3 + +d518 5 +a522 3 + REI = 15. + KI = .0003 + 1.290 / REI + EI = 1. -exp(-elsa*ki *IWP(i,k)) +a523 1 + +d533 2 +a534 1 + ENEB(i,k) = 1. - exp( - elsa*ki *IWP(i,k) - kw * LWP(i,k) ) +d537 10 +d551 4 +a554 3 + + omw=LWP(i,k) * ( kvf(1,ire)*( rew**kvf(2,ire) ) + kvf(3,ire) )*1.e-3 + omw=omw*tuneopw +d556 1 +a556 1 + OMI = min(IWP(i,k)*(3.448E-3+2.431/REI) * tuneopi, 25.) +d558 1 +a558 1 + OPDEPTH(i,k)= max(omw + omi,1.e-10) +d564 1 +a564 1 + topthw(i) = topthw(i) + omw +d578 1 +a578 1 + SSAI = 1.0 - 1.295E-2 - 1.321E-4 *REI +d584 2 +a585 1 + SSAW= 1.- ( ssf(1,ire)*( rew**ssf(2,ire) ) + ssf(3,ire) ) +d589 1 +a589 1 + OMEGAV(i,k)= (OMW * SSAW + OMI* SSAI)/ (OMW+OMI+eps) +d603 2 +a604 1 + GW = ( gwf(1,ire)*( rew**gwf(2,ire) ) + gwf(3,ire) ) +d608 1 +a608 1 + ASYMG(i,k) = (SSAI*OMI*GI + SSAW*OMW*GW)/(SSAI*OMI+SSAW*OMW+eps) +d616 1 +a616 1 + dz(i,k)= dp(i,k)/(aird*grav) +d629 7 +d644 2 +a645 1 + EW = 1. -exp(-0.087*elsa* LWP(i,k)) +d653 2 +a654 3 + REI = 15. + KI = .0003 + 1.290 / REI + EI = 1. -exp(-elsa*ki *IWP(i,k)) +d660 1 +a660 1 + EMISS = 1. - (1.-EI)* (1.-EW) +d677 7 +a683 2 +c cdd =cvmgt(100.,500.,mg(i).le.0.5.and.ml(i).le.0.5) + cdd =cvmgt(100.,500.,mg(i).le.0.5) +d686 10 +a695 2 + aird = sig(i,k)*ps(i)/T(i,k)/RGASD + +d700 3 +a702 2 + REW = max(4., 754.6 * (LWCM(i,k)*frac(i,k)*aird/cdd)**third) + REW = min(REW,17.) +d708 1 +a708 1 + OMW = LWP(i,k)* (2.622E-2 + 1.356/REW ) +d714 3 +a716 3 + omw= min(omw*tuneopw,125.) + OMI = min(IWP(i,k)*(3.448E-3+2.431/REI) * tuneopi, 25.) + OPDEPTH(i,k)= max(omw + omi,1.e-10) +d723 1 +a723 1 + topthw(i) = topthw(i) + omw +d728 1 +a728 1 + SSAW = 1.0 - 6.814E-3 - 4.842E-4 *REW +d733 1 +a733 1 + OMEGAV(i,k)= (OMW * SSAW + OMI* SSAI)/ (OMW+OMI+eps) +d746 1 +a746 1 + GW = min(0.804 + 3.850E-3*REW, 0.9999) +d750 1 +a750 1 + ASYMG(i,k) = (SSAI*OMI*GI + SSAW*OMW*GW)/(SSAI*OMI+SSAW*OMW+eps) +d758 1 +a758 1 + dz(i,k)= dp(i,k)/(aird*grav) +d790 2 +d795 2 +a796 2 + eneb(i,k) = neb(i,k) * + $ ( 1. - ( 1.-eneb(i,k) )**ipbl(i) ) +d844 1 +a844 1 + ipbl(i)=cvmgt(float(k),ipbl(i),sdz(i).gt.pbl(i)) +d858 1 +d863 1 +a863 1 + rlat = lat(i)*pi/180. +@ diff -Nru shared-mime-info-1.15/tests/mime-detection/test.feature shared-mime-info-2.0/tests/mime-detection/test.feature --- shared-mime-info-1.15/tests/mime-detection/test.feature 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.feature 2020-05-06 14:11:14.258907600 +0000 @@ -0,0 +1,4 @@ +Feature: Recognition of .feature files + In order to use automated tools for specification by example + As a business analyst, developer or tester + I want my operating system to recognise .feature files Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.fit and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.fit differ diff -Nru shared-mime-info-1.15/tests/mime-detection/test.fl shared-mime-info-2.0/tests/mime-detection/test.fl --- shared-mime-info-1.15/tests/mime-detection/test.fl 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.fl 2020-05-06 14:11:14.258907600 +0000 @@ -0,0 +1,15 @@ +# data file for the Fltk User Interface Designer (fluid) +version 1.0108 +header_name {.h} +code_name {.cxx} +Function {} {open selected +} { + Fl_Window {} {open + xywh {457 247 100 100} type Double visible + } { + Fl_Button {} { + label button + xywh {20 40 64 20} labelsize 14 + } + } +} Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.flac and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.flac differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.fli and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.fli differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test-garbage.key and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test-garbage.key differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.gbr and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.gbr differ diff -Nru shared-mime-info-1.15/tests/mime-detection/test.gcode shared-mime-info-2.0/tests/mime-detection/test.gcode --- shared-mime-info-1.15/tests/mime-detection/test.gcode 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.gcode 2020-05-06 14:11:14.260907400 +0000 @@ -0,0 +1,407 @@ +; generated by Slic3r 1.2.9 on 2017-01-15 at 12:00:32 + +; external perimeters extrusion width = 0.50mm +; perimeters extrusion width = 0.58mm +; infill extrusion width = 0.58mm +; solid infill extrusion width = 0.58mm +; top infill extrusion width = 0.58mm + +M107 +M104 S205 ; set temperature +G28 ; home all axes +G1 Z5 F5000 ; lift nozzle + +M109 S205 ; wait for temperature to be reached +G21 ; set units to millimeters +G90 ; use absolute coordinates +M82 ; use absolute distances for extrusion +G92 E0 +G1 Z0.500 F7800.000 +G1 E-2.00000 F2400.00000 +G92 E0 +G1 X92.681 Y93.686 F7800.000 +G1 E2.00000 F2400.00000 +G1 X94.443 Y92.146 E2.14774 F899.921 +G1 X96.619 Y91.285 E2.29548 +G1 X98.031 Y91.139 E2.38516 +G1 X101.969 Y91.139 E2.63377 +G1 X104.274 Y91.536 E2.78151 +G1 X106.314 Y92.681 E2.92925 F899.921 +G1 X107.854 Y94.443 E3.07699 +G1 X108.715 Y96.619 E3.22473 +G1 X108.861 Y98.031 E3.31441 +G1 X108.861 Y101.969 E3.56302 +G1 X108.464 Y104.274 E3.71076 +G1 X107.319 Y106.314 E3.85850 +G1 X105.557 Y107.854 E4.00624 +G1 X103.381 Y108.715 E4.15398 +G1 X101.969 Y108.861 E4.24366 +G1 X98.031 Y108.861 E4.49226 +G1 X95.726 Y108.464 E4.64001 +G1 X93.686 Y107.319 E4.78775 +G1 X92.146 Y105.557 E4.93549 +G1 X91.285 Y103.381 E5.08323 +G1 X91.139 Y101.969 E5.17291 +G1 X91.139 Y98.031 E5.42151 +G1 X91.536 Y95.726 E5.56925 +G1 X92.645 Y93.751 E5.71226 +G1 E3.71226 F2400.00000 +G92 E0 +G1 X100.576 Y100.576 F7800.000 +G1 E2.00000 F2400.00000 +G1 X99.424 Y100.576 E2.07272 F899.921 +G1 X99.424 Y99.424 E2.14544 +G1 X100.576 Y99.424 E2.21816 +G1 X100.576 Y100.501 E2.28614 +G1 X101.469 Y101.469 F7800.000 +G1 X98.531 Y101.469 E2.47160 F899.921 +G1 X98.531 Y98.531 E2.65706 +G1 X101.469 Y98.531 E2.84252 +G1 X101.469 Y101.394 E3.02324 +G1 X101.035 Y101.219 F7800.000 +M104 S200 ; set temperature +G1 Z0.900 F7800.000 +G1 X100.775 Y100.775 F7800.000 +G1 X99.225 Y100.775 E3.06630 F600.000 +G1 X99.225 Y99.225 E3.10936 +G1 X100.775 Y99.225 E3.15243 +G1 X100.775 Y100.700 E3.19340 +G1 X101.266 Y101.266 F7800.000 +G1 X98.734 Y101.266 E3.26374 F600.000 +G1 X98.734 Y98.734 E3.33407 +G1 X101.266 Y98.734 E3.40440 +G1 X101.266 Y101.191 E3.47265 +G1 X101.719 Y101.719 F7800.000 +G1 X98.281 Y101.719 E3.55320 F600.000 +G1 X98.281 Y98.281 E3.63375 +G1 X101.719 Y98.281 E3.71431 +G1 X101.719 Y101.644 E3.79310 +G1 X101.285 Y101.469 F7800.000 +G1 X100.234 Y100.482 F7800.000 +G1 X100.482 Y100.234 E3.80316 F600.000 +G1 X100.462 Y99.538 E3.82309 +G1 X99.538 Y100.462 E3.86052 +G1 X99.518 Y99.766 E3.88046 +G1 X99.766 Y99.518 E3.89051 +G1 Z1.300 F7800.000 +G1 X100.775 Y100.775 F7800.000 +G1 X99.225 Y100.775 E3.93358 F600.000 +G1 X99.225 Y99.225 E3.97664 +G1 X100.775 Y99.225 E4.01970 +G1 X100.775 Y100.700 E4.06068 +G1 X101.266 Y101.266 F7800.000 +G1 X98.734 Y101.266 E4.13101 F600.000 +G1 X98.734 Y98.734 E4.20134 +G1 X101.266 Y98.734 E4.27168 +G1 X101.266 Y101.191 E4.33993 +G1 X101.719 Y101.719 F7800.000 +G1 X98.281 Y101.719 E4.42048 F600.000 +G1 X98.281 Y98.281 E4.50103 +G1 X101.719 Y98.281 E4.58158 +G1 X101.719 Y101.644 E4.66038 +G1 X101.285 Y101.469 F7800.000 +G1 X100.482 Y99.766 F7800.000 +G1 X100.234 Y99.518 E4.67043 F600.000 +G1 X99.538 Y99.538 E4.69037 +G1 X100.462 Y100.462 E4.72780 +G1 X99.766 Y100.482 E4.74773 +G1 X99.518 Y100.234 E4.75779 +M106 S255 +G1 Z1.700 F7800.000 +G1 X100.775 Y100.775 F7800.000 +G1 X99.225 Y100.775 E4.80085 F600.000 +G1 X99.225 Y99.225 E4.84391 +G1 X100.775 Y99.225 E4.88698 +G1 X100.775 Y100.700 E4.92795 +G1 X101.266 Y101.266 F7800.000 +G1 X98.734 Y101.266 E4.99829 F600.000 +G1 X98.734 Y98.734 E5.06862 +G1 X101.266 Y98.734 E5.13895 +G1 X101.266 Y101.191 E5.20720 +G1 X101.719 Y101.719 F7800.000 +G1 X98.281 Y101.719 E5.28775 F600.000 +G1 X98.281 Y98.281 E5.36830 +G1 X101.719 Y98.281 E5.44886 +G1 X101.719 Y101.644 E5.52765 +G1 X101.285 Y101.469 F7800.000 +G1 X100.234 Y100.482 F7800.000 +G1 X100.482 Y100.234 E5.53771 F600.000 +G1 X100.462 Y99.538 E5.55764 +G1 X99.538 Y100.462 E5.59507 +G1 X99.518 Y99.766 E5.61500 +G1 X99.766 Y99.518 E5.62506 +G1 Z2.100 F7800.000 +G1 X100.775 Y100.775 F7800.000 +G1 X99.225 Y100.775 E5.66812 F600.000 +G1 X99.225 Y99.225 E5.71118 +G1 X100.775 Y99.225 E5.75425 +G1 X100.775 Y100.700 E5.79522 +G1 X101.266 Y101.266 F7800.000 +G1 X98.734 Y101.266 E5.86556 F600.000 +G1 X98.734 Y98.734 E5.93589 +G1 X101.266 Y98.734 E6.00622 +G1 X101.266 Y101.191 E6.07447 +G1 X101.719 Y101.719 F7800.000 +G1 X98.281 Y101.719 E6.15502 F600.000 +G1 X98.281 Y98.281 E6.23558 +G1 X101.719 Y98.281 E6.31613 +G1 X101.719 Y101.644 E6.39492 +G1 X101.285 Y101.469 F7800.000 +G1 X100.482 Y99.766 F7800.000 +G1 X100.234 Y99.518 E6.40498 F600.000 +G1 X99.538 Y99.538 E6.42491 +G1 X100.462 Y100.462 E6.46234 +G1 X99.766 Y100.482 E6.48227 +G1 X99.518 Y100.234 E6.49233 +G1 Z2.500 F7800.000 +G1 X100.775 Y100.775 F7800.000 +G1 X99.225 Y100.775 E6.53539 F600.000 +G1 X99.225 Y99.225 E6.57845 +G1 X100.775 Y99.225 E6.62152 +G1 X100.775 Y100.700 E6.66249 +G1 X101.266 Y101.266 F7800.000 +G1 X98.734 Y101.266 E6.73283 F600.000 +G1 X98.734 Y98.734 E6.80316 +G1 X101.266 Y98.734 E6.87349 +G1 X101.266 Y101.191 E6.94174 +G1 X101.719 Y101.719 F7800.000 +G1 X98.281 Y101.719 E7.02229 F600.000 +G1 X98.281 Y98.281 E7.10285 +G1 X101.719 Y98.281 E7.18340 +G1 X101.719 Y101.644 E7.26219 +G1 X101.285 Y101.469 F7800.000 +G1 X100.234 Y100.482 F7800.000 +G1 X100.482 Y100.234 E7.27225 F600.000 +G1 X100.462 Y99.538 E7.29218 +G1 X99.538 Y100.462 E7.32961 +G1 X99.518 Y99.766 E7.34955 +G1 X99.766 Y99.518 E7.35960 +G1 Z2.900 F7800.000 +G1 X100.775 Y100.775 F7800.000 +G1 X99.225 Y100.775 E7.40266 F600.000 +G1 X99.225 Y99.225 E7.44572 +G1 X100.775 Y99.225 E7.48879 +G1 X100.775 Y100.700 E7.52976 +G1 X101.266 Y101.266 F7800.000 +G1 X98.734 Y101.266 E7.60010 F600.000 +G1 X98.734 Y98.734 E7.67043 +G1 X101.266 Y98.734 E7.74076 +G1 X101.266 Y101.191 E7.80901 +G1 X101.719 Y101.719 F7800.000 +G1 X98.281 Y101.719 E7.88956 F600.000 +G1 X98.281 Y98.281 E7.97012 +G1 X101.719 Y98.281 E8.05067 +G1 X101.719 Y101.644 E8.12946 +G1 X101.285 Y101.469 F7800.000 +G1 X100.482 Y99.766 F7800.000 +G1 X100.234 Y99.518 E8.13952 F600.000 +G1 X99.538 Y99.538 E8.15945 +G1 X100.462 Y100.462 E8.19688 +G1 X99.766 Y100.482 E8.21682 +G1 X99.518 Y100.234 E8.22687 +G1 Z3.300 F7800.000 +G1 X100.775 Y100.775 F7800.000 +G1 X99.225 Y100.775 E8.26993 F600.000 +G1 X99.225 Y99.225 E8.31299 +G1 X100.775 Y99.225 E8.35606 +G1 X100.775 Y100.700 E8.39704 +G1 X101.266 Y101.266 F7800.000 +G1 X98.734 Y101.266 E8.46737 F600.000 +G1 X98.734 Y98.734 E8.53770 +G1 X101.266 Y98.734 E8.60803 +G1 X101.266 Y101.191 E8.67628 +G1 X101.719 Y101.719 F7800.000 +G1 X98.281 Y101.719 E8.75683 F600.000 +G1 X98.281 Y98.281 E8.83739 +G1 X101.719 Y98.281 E8.91794 +G1 X101.719 Y101.644 E8.99673 +G1 X101.285 Y101.469 F7800.000 +G1 X100.234 Y100.482 F7800.000 +G1 X100.482 Y100.234 E9.00679 F600.000 +G1 X100.462 Y99.538 E9.02672 +G1 X99.538 Y100.462 E9.06415 +G1 X99.518 Y99.766 E9.08409 +G1 X99.766 Y99.518 E9.09415 +G1 Z3.700 F7800.000 +G1 X100.775 Y100.775 F7800.000 +G1 X99.225 Y100.775 E9.13721 F600.000 +G1 X99.225 Y99.225 E9.18027 +G1 X100.775 Y99.225 E9.22333 +G1 X100.775 Y100.700 E9.26431 +G1 X101.266 Y101.266 F7800.000 +G1 X98.734 Y101.266 E9.33464 F600.000 +G1 X98.734 Y98.734 E9.40498 +G1 X101.266 Y98.734 E9.47531 +G1 X101.266 Y101.191 E9.54356 +G1 X101.719 Y101.719 F7800.000 +G1 X98.281 Y101.719 E9.62411 F600.000 +G1 X98.281 Y98.281 E9.70466 +G1 X101.719 Y98.281 E9.78521 +G1 X101.719 Y101.644 E9.86401 +G1 X101.285 Y101.469 F7800.000 +G1 X100.482 Y99.766 F7800.000 +G1 X100.234 Y99.518 E9.87406 F600.000 +G1 X99.538 Y99.538 E9.89400 +G1 X100.462 Y100.462 E9.93143 +G1 X99.766 Y100.482 E9.95137 +G1 X99.518 Y100.234 E9.96142 +G1 Z4.100 F7800.000 +G1 X100.775 Y100.775 F7800.000 +G1 X99.225 Y100.775 E10.00448 F600.000 +G1 X99.225 Y99.225 E10.04754 +G1 X100.775 Y99.225 E10.09061 +G1 X100.775 Y100.700 E10.13159 +G1 X101.266 Y101.266 F7800.000 +G1 X98.734 Y101.266 E10.20192 F600.000 +G1 X98.734 Y98.734 E10.27225 +G1 X101.266 Y98.734 E10.34258 +G1 X101.266 Y101.191 E10.41083 +G1 X101.719 Y101.719 F7800.000 +G1 X98.281 Y101.719 E10.49138 F600.000 +G1 X98.281 Y98.281 E10.57194 +G1 X101.719 Y98.281 E10.65249 +G1 X101.719 Y101.644 E10.73128 +G1 X101.285 Y101.469 F7800.000 +G1 X100.234 Y100.482 F7800.000 +G1 X100.482 Y100.234 E10.74134 F600.000 +G1 X100.462 Y99.538 E10.76127 +G1 X99.538 Y100.462 E10.79870 +G1 X99.518 Y99.766 E10.81864 +G1 X99.766 Y99.518 E10.82870 +G1 E8.82870 F2400.00000 +G92 E0 +M107 +M104 S0 ; turn off temperature +G28 X0 ; home X axis +M84 ; disable motors + +; filament used = 12.5mm (0.1cm3) + +; avoid_crossing_perimeters = 1 +; bed_shape = 0x0,200x0,200x200,0x200 +; bed_temperature = 0 +; before_layer_gcode = +; bridge_acceleration = 0 +; bridge_fan_speed = 100 +; brim_width = 0 +; complete_objects = 0 +; cooling = 1 +; default_acceleration = 0 +; disable_fan_first_layers = 3 +; duplicate_distance = 6 +; end_gcode = M104 S0 ; turn off temperature\nG28 X0 ; home X axis\nM84 ; disable motors\n +; extruder_clearance_height = 20 +; extruder_clearance_radius = 20 +; extruder_offset = 0x0 +; extrusion_axis = E +; extrusion_multiplier = 1 +; fan_always_on = 0 +; fan_below_layer_time = 60 +; filament_colour = #FFFFFF +; filament_diameter = 3 +; first_layer_acceleration = 0 +; first_layer_bed_temperature = 0 +; first_layer_extrusion_width = 200% +; first_layer_speed = 30 +; first_layer_temperature = 205 +; gcode_arcs = 0 +; gcode_comments = 0 +; gcode_flavor = reprap +; infill_acceleration = 0 +; infill_first = 0 +; layer_gcode = +; max_fan_speed = 100 +; max_print_speed = 80 +; max_volumetric_speed = 0 +; min_fan_speed = 35 +; min_print_speed = 10 +; min_skirt_length = 0 +; notes = +; nozzle_diameter = 0.5 +; only_retract_when_crossing_perimeters = 1 +; ooze_prevention = 0 +; output_filename_format = [input_filename_base].gcode +; perimeter_acceleration = 0 +; post_process = +; pressure_advance = 0 +; resolution = 0 +; retract_before_travel = 2 +; retract_layer_change = 0 +; retract_length = 2 +; retract_length_toolchange = 10 +; retract_lift = 0 +; retract_restart_extra = 0 +; retract_restart_extra_toolchange = 0 +; retract_speed = 40 +; skirt_distance = 6 +; skirt_height = 1 +; skirts = 1 +; slowdown_below_layer_time = 5 +; spiral_vase = 0 +; standby_temperature_delta = -5 +; start_gcode = G28 ; home all axes\nG1 Z5 F5000 ; lift nozzle\n +; temperature = 200 +; threads = 2 +; toolchange_gcode = +; travel_speed = 130 +; use_firmware_retraction = 0 +; use_relative_e_distances = 0 +; use_volumetric_e = 0 +; vibration_limit = 0 +; wipe = 0 +; z_offset = 0 +; dont_support_bridges = 1 +; extrusion_width = 0 +; first_layer_height = 0.5 +; infill_only_where_needed = 0 +; interface_shells = 0 +; layer_height = 0.4 +; raft_layers = 0 +; seam_position = aligned +; support_material = 0 +; support_material_angle = 0 +; support_material_contact_distance = 0.2 +; support_material_enforce_layers = 0 +; support_material_extruder = 1 +; support_material_extrusion_width = 0 +; support_material_interface_extruder = 1 +; support_material_interface_layers = 3 +; support_material_interface_spacing = 0 +; support_material_interface_speed = 100% +; support_material_pattern = pillars +; support_material_spacing = 2.5 +; support_material_speed = 60 +; support_material_threshold = 0 +; xy_size_compensation = 0 +; bottom_solid_layers = 3 +; bridge_flow_ratio = 1 +; bridge_speed = 60 +; external_fill_pattern = rectilinear +; external_perimeter_extrusion_width = 0 +; external_perimeter_speed = 50% +; external_perimeters_first = 0 +; extra_perimeters = 1 +; fill_angle = 45 +; fill_density = 20% +; fill_pattern = honeycomb +; gap_fill_speed = 20 +; infill_every_layers = 10 +; infill_extruder = 1 +; infill_extrusion_width = 0 +; infill_overlap = 15% +; infill_speed = 80 +; overhangs = 1 +; perimeter_extruder = 1 +; perimeter_extrusion_width = 0 +; perimeter_speed = 60 +; perimeters = 3 +; small_perimeter_speed = 15 +; solid_infill_below_area = 70 +; solid_infill_every_layers = 0 +; solid_infill_extruder = 1 +; solid_infill_extrusion_width = 0 +; solid_infill_speed = 20 +; thin_walls = 1 +; top_infill_extrusion_width = 0 +; top_solid_infill_speed = 15 +; top_solid_layers = 3 diff -Nru shared-mime-info-1.15/tests/mime-detection/test.geojson shared-mime-info-2.0/tests/mime-detection/test.geojson --- shared-mime-info-1.15/tests/mime-detection/test.geojson 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.geojson 2020-05-06 14:11:14.260907400 +0000 @@ -0,0 +1 @@ +{"type":"FeatureCollection","features":[{"type":"Feature","properties":{},"geometry":{"type":"LineString","coordinates":[[13.012758493423462,55.59052086952047],[13.013659715652466,55.591945625827904],[13.012146949768066,55.593182393618314],[13.010891675949095,55.59070881905884]]}},{"type":"Feature","properties":{"marker-color":"#7e7e7e","marker-size":"medium","marker-symbol":"","name":"Mattis lekplats"},"geometry":{"type":"Point","coordinates":[13.0133056640625,55.59193350046055]}},{"type":"Feature","properties":{},"geometry":{"type":"LineString","coordinates":[[13.013455867767334,55.593437017442476],[13.012865781784056,55.593042956062085],[13.013745546340942,55.59264282814997],[13.013852834701538,55.592976268360054],[13.013498783111572,55.59300658096595]]}},{"type":"Feature","properties":{},"geometry":{"type":"LineString","coordinates":[[13.014142513275146,55.592667078442595],[13.014056682586668,55.59338245533352],[13.014657497406006,55.592679203583295],[13.014614582061768,55.59327333088803]]}},{"type":"Feature","properties":{},"geometry":{"type":"Polygon","coordinates":[[[13.015043735504149,55.59325514345095],[13.014968633651733,55.59273376667006],[13.016020059585571,55.59275195434878],[13.015902042388914,55.593249080970054],[13.015043735504149,55.59325514345095]]]}},{"type":"Feature","properties":{},"geometry":{"type":"LineString","coordinates":[[13.016266822814941,55.59281864243202],[13.016213178634644,55.59334001808522],[13.016856908798218,55.592891392939016],[13.016964197158813,55.593333955617425],[13.017414808273315,55.59291564307806]]}},{"type":"Feature","properties":{},"geometry":{"type":"LineString","coordinates":[[13.01755428314209,55.59334001808522],[13.017607927322388,55.59292776814194]]}},{"type":"Feature","properties":{},"geometry":{"type":"LineString","coordinates":[[13.01755428314209,55.59334001808522],[13.017929792404175,55.59332789314871]]}},{"type":"Feature","properties":{},"geometry":{"type":"LineString","coordinates":[[13.017597198486328,55.59312783115532],[13.017951250076294,55.593121768654754]]}},{"type":"Feature","properties":{},"geometry":{"type":"LineString","coordinates":[[13.017618656158447,55.59292776814194],[13.018165826797484,55.59294595573077]]}}]} \ No newline at end of file diff -Nru shared-mime-info-1.15/tests/mime-detection/test.geo.json shared-mime-info-2.0/tests/mime-detection/test.geo.json --- shared-mime-info-1.15/tests/mime-detection/test.geo.json 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.geo.json 2020-05-06 14:11:14.260907400 +0000 @@ -0,0 +1 @@ +{"type":"FeatureCollection","features":[{"type":"Feature","properties":{},"geometry":{"type":"LineString","coordinates":[[13.012758493423462,55.59052086952047],[13.013659715652466,55.591945625827904],[13.012146949768066,55.593182393618314],[13.010891675949095,55.59070881905884]]}},{"type":"Feature","properties":{"marker-color":"#7e7e7e","marker-size":"medium","marker-symbol":"","name":"Mattis lekplats"},"geometry":{"type":"Point","coordinates":[13.0133056640625,55.59193350046055]}},{"type":"Feature","properties":{},"geometry":{"type":"LineString","coordinates":[[13.013455867767334,55.593437017442476],[13.012865781784056,55.593042956062085],[13.013745546340942,55.59264282814997],[13.013852834701538,55.592976268360054],[13.013498783111572,55.59300658096595]]}},{"type":"Feature","properties":{},"geometry":{"type":"LineString","coordinates":[[13.014142513275146,55.592667078442595],[13.014056682586668,55.59338245533352],[13.014657497406006,55.592679203583295],[13.014614582061768,55.59327333088803]]}},{"type":"Feature","properties":{},"geometry":{"type":"Polygon","coordinates":[[[13.015043735504149,55.59325514345095],[13.014968633651733,55.59273376667006],[13.016020059585571,55.59275195434878],[13.015902042388914,55.593249080970054],[13.015043735504149,55.59325514345095]]]}},{"type":"Feature","properties":{},"geometry":{"type":"LineString","coordinates":[[13.016266822814941,55.59281864243202],[13.016213178634644,55.59334001808522],[13.016856908798218,55.592891392939016],[13.016964197158813,55.593333955617425],[13.017414808273315,55.59291564307806]]}},{"type":"Feature","properties":{},"geometry":{"type":"LineString","coordinates":[[13.01755428314209,55.59334001808522],[13.017607927322388,55.59292776814194]]}},{"type":"Feature","properties":{},"geometry":{"type":"LineString","coordinates":[[13.01755428314209,55.59334001808522],[13.017929792404175,55.59332789314871]]}},{"type":"Feature","properties":{},"geometry":{"type":"LineString","coordinates":[[13.017597198486328,55.59312783115532],[13.017951250076294,55.593121768654754]]}},{"type":"Feature","properties":{},"geometry":{"type":"LineString","coordinates":[[13.017618656158447,55.59292776814194],[13.018165826797484,55.59294595573077]]}}]} \ No newline at end of file diff -Nru shared-mime-info-1.15/tests/mime-detection/test-gettext.c shared-mime-info-2.0/tests/mime-detection/test-gettext.c --- shared-mime-info-1.15/tests/mime-detection/test-gettext.c 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test-gettext.c 2020-05-06 14:11:14.248907600 +0000 @@ -0,0 +1,7 @@ +#include + +int main() +{ + printf(_("test of string\n")); + return 0; +} Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.gif and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.gif differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.gih and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.gih differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.gnd and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.gnd differ diff -Nru shared-mime-info-1.15/tests/mime-detection/test.go shared-mime-info-2.0/tests/mime-detection/test.go --- shared-mime-info-1.15/tests/mime-detection/test.go 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.go 2020-05-06 14:11:14.260907400 +0000 @@ -0,0 +1,5 @@ +import "fmt" + +func main() { + fmt.Printf("Hello World !!! \n") +} diff -Nru shared-mime-info-1.15/tests/mime-detection/test.gpx shared-mime-info-2.0/tests/mime-detection/test.gpx --- shared-mime-info-1.15/tests/mime-detection/test.gpx 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.gpx 2020-05-06 14:11:14.261907300 +0000 @@ -0,0 +1,27 @@ + + + + + + Garmin International + + + + + Example GPX Document + + + 4.46 + + + + 4.94 + + + + 6.87 + + + + + diff -Nru shared-mime-info-1.15/tests/mime-detection/test.gs shared-mime-info-2.0/tests/mime-detection/test.gs --- shared-mime-info-1.15/tests/mime-detection/test.gs 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.gs 2020-05-06 14:11:14.261907300 +0000 @@ -0,0 +1,11 @@ +class Sample : Object + init + pass + + def run() + print "Hello World" + +init + var sample = new Sample() + sample.run (); + Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.h5 and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.h5 differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.hdf4 and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.hdf4 differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.hlp and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.hlp differ diff -Nru shared-mime-info-1.15/tests/mime-detection/test.html shared-mime-info-2.0/tests/mime-detection/test.html --- shared-mime-info-1.15/tests/mime-detection/test.html 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.html 2020-05-06 14:11:14.265907500 +0000 @@ -0,0 +1,926 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+ +
+
+
+ +
+
+ + diff -Nru shared-mime-info-1.15/tests/mime-detection/test-html-with-svg.html shared-mime-info-2.0/tests/mime-detection/test-html-with-svg.html --- shared-mime-info-1.15/tests/mime-detection/test-html-with-svg.html 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test-html-with-svg.html 2020-05-06 14:11:14.248907600 +0000 @@ -0,0 +1,17 @@ + + + + + Test animation + + + + + + alice + @ + example.com + + + Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.ico and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.ico differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.ilbm and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.ilbm differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.im1 and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.im1 differ diff -Nru shared-mime-info-1.15/tests/mime-detection/test.iptables shared-mime-info-2.0/tests/mime-detection/test.iptables --- shared-mime-info-1.15/tests/mime-detection/test.iptables 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.iptables 2020-05-06 14:11:14.266907500 +0000 @@ -0,0 +1,26 @@ +# Firewall configuration written by system-config-firewall +# Manual customization of this file is not recommended. +*filter +:INPUT ACCEPT [0:0] +:FORWARD ACCEPT [0:0] +:OUTPUT ACCEPT [0:0] +:RH-Firewall-1-INPUT - [0:0] +-A INPUT -j RH-Firewall-1-INPUT +-A RH-Firewall-1-INPUT -i lo -j ACCEPT +-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT +-A RH-Firewall-1-INPUT -p 50 -j ACCEPT +-A RH-Firewall-1-INPUT -p 51 -j ACCEPT +-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT +-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT +-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT +-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT +-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT +-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 137 -j ACCEPT +-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 138 -j ACCEPT +-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT +-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT +-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT +-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT +-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited +-A FORWARD -j REJECT --reject-with icmp-host-prohibited +COMMIT diff -Nru shared-mime-info-1.15/tests/mime-detection/test.ipynb shared-mime-info-2.0/tests/mime-detection/test.ipynb --- shared-mime-info-1.15/tests/mime-detection/test.ipynb 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.ipynb 2020-05-06 14:11:14.266907500 +0000 @@ -0,0 +1,34 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.5.1" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff -Nru shared-mime-info-1.15/tests/mime-detection/test.it87 shared-mime-info-2.0/tests/mime-detection/test.it87 --- shared-mime-info-1.15/tests/mime-detection/test.it87 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.it87 2020-05-06 14:11:14.266907500 +0000 @@ -0,0 +1,17 @@ +IT8.7/2 +ORIGINATOR "Richard Hughes" +DESCRIPTOR "Sample IT8.7/2 file" +MANUFACTURER "Richard Hughes - http://www.hughsie.com" +CREATED "November 10, 2009" +PROD_DATE "2009:02" +SAMPLE_BACKING "white" +SERIAL "0123456789" +MATERIAL "White paper" +NUMBER_OF_FIELDS 9 +BEGIN_DATA_FORMAT +SAMPLE_ID XYZ_X XYZ_Y XYZ_Z LAB_L LAB_A LAB_B LAB_C LAB_H +END_DATA_FORMAT +NUMBER_OF_SETS 1 +BEGIN_DATA +A1 1.23 4.56 7.89 1.23 4.56 7.89 1.23 4.56 +END_DATA Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.jar and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.jar differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.jceks and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.jceks differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.jks and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.jks differ diff -Nru shared-mime-info-1.15/tests/mime-detection/test.jnlp shared-mime-info-2.0/tests/mime-detection/test.jnlp --- shared-mime-info-1.15/tests/mime-detection/test.jnlp 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.jnlp 2020-05-06 14:11:14.266907500 +0000 @@ -0,0 +1,20 @@ + + + + mytitle + myvendor + mydescription + + + + + + + + + + + launch + action + + Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.jpg and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.jpg differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.kdc and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.kdc differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.key and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.key differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test-kounavail2.kwd and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test-kounavail2.kwd differ diff -Nru shared-mime-info-1.15/tests/mime-detection/test.kt shared-mime-info-2.0/tests/mime-detection/test.kt --- shared-mime-info-1.15/tests/mime-detection/test.kt 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.kt 2020-05-06 14:11:14.271907300 +0000 @@ -0,0 +1,3 @@ +fun main(args: Array) { + println("Hello, World!") +} Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.lwp and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.lwp differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.lz and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.lz differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.lz4 and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.lz4 differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.lzo and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.lzo differ diff -Nru shared-mime-info-1.15/tests/mime-detection/test.manifest shared-mime-info-2.0/tests/mime-detection/test.manifest --- shared-mime-info-1.15/tests/mime-detection/test.manifest 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.manifest 2020-05-06 14:11:14.272907500 +0000 @@ -0,0 +1,7 @@ +CACHE MANIFEST +NETWORK: +comm.cgi +CACHE: +style/default.css +images/sound-icon.png +images/background.png diff -Nru shared-mime-info-1.15/tests/mime-detection/test.mc2 shared-mime-info-2.0/tests/mime-detection/test.mc2 --- shared-mime-info-1.15/tests/mime-detection/test.mc2 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.mc2 2020-05-06 14:11:14.272907500 +0000 @@ -0,0 +1,5 @@ + +// Warp 10 WarpScript stack language +'hello ' +2 TOSTRING + +' world' + diff -Nru shared-mime-info-1.15/tests/mime-detection/test.metalink shared-mime-info-2.0/tests/mime-detection/test.metalink --- shared-mime-info-1.15/tests/mime-detection/test.metalink 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.metalink 2020-05-06 14:11:14.272907500 +0000 @@ -0,0 +1,49 @@ + + + + AbiSource + http://www.abisource.com/ + + + GNU GPL + http://www.gnu.org/licenses/gpl.html + + AbiWord + 2.4.6 + AbiWord is a free word processing program similar to Microsoft Word. It is suitable for a wide variety of word processing tasks. + + + 5410865 + Windows-x86 + + 685a82ca2a9c56861e5ca22b38e697791485664c36ad883f410dac9e96d09f62 + + 51777f8439c03eb6f7a7528a2414593e741a67c2 + ef47dbc9fad65aebba913ea64edd804df9664132 + 9af8a9435bcac7fc2dfcf06d9ea511308436966c + 93a290689673b6f5c21c1bd888883bdd36f1e865 + b0c8ce43b8ea00993065c6a0908571fe3377dca2 + 63bc039c960bdc6a71a974bf268a6faba110fec7 + 76e1fcf4c32d0e2a8dce4f540eb40c74b790b9de + e91dabe6d150388b46aad4e8834fd86ebb14db84 + 77c6e106bbdd2d760b075dab46ec592cd4be52e5 + dff4aa3cf6c0b3357687be16b8294b492f6e5667 + a9a92c132291cd244023c7ab363faad5b60c633f + 28308f0d20729ab788a6f1f9643537feef7499ae + 87bc71070c87fa0dd96cf378a397cea3739f59c9 + cc2de995b88148a80d41de49062cf4f73bcefa57 + f5936b561d8df275b47a5ad980488427bd5e67d3 + bea22600358d4d4f90de674a290f35ca637440b3 + e100448d240cb557ed16e9364a06d93a2c42f205 + debd6e735062ded880ad787b2c5dbad2d4e634d1 + ad821b40698d4bda2ac63df03b2b9aef5981f55e + 6e4acc3af2daa25c71fa15f7fa1715131ae5023e + 5075863c71c4daaeb0e0ff02f96d82e75621a0cd + + + + http://www.abisource.com/downloads/abiword/2.4.6/Windows/abiword-setup-2.4.6.exe + + + + \ No newline at end of file diff -Nru shared-mime-info-1.15/tests/mime-detection/test.mml shared-mime-info-2.0/tests/mime-detection/test.mml --- shared-mime-info-1.15/tests/mime-detection/test.mml 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.mml 2020-05-06 14:11:14.272907500 +0000 @@ -0,0 +1,2 @@ + + Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.mng and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.mng differ diff -Nru shared-mime-info-1.15/tests/mime-detection/test.mo shared-mime-info-2.0/tests/mime-detection/test.mo --- shared-mime-info-1.15/tests/mime-detection/test.mo 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.mo 2020-05-06 14:11:14.273907400 +0000 @@ -0,0 +1,6 @@ +model Test + parameter Real a = -1.0; + Real x(start = 1.0); +equation + der(x) = a * x; +end Test; Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.mobi and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.mobi differ diff -Nru shared-mime-info-1.15/tests/mime-detection/test.mof shared-mime-info-2.0/tests/mime-detection/test.mof --- shared-mime-info-1.15/tests/mime-detection/test.mof 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.mof 2020-05-06 14:11:14.273907400 +0000 @@ -0,0 +1,79 @@ +// Copyright (c) 2005 DMTF. All rights reserved. +// Add UmlPackagePath +// qualifier values to CIM Schema. +// ================================================================== +// CIM_UnitaryComputerSystem +// ================================================================== + [Version ( "2.8.0" ), + UMLPackagePath ( "CIM::System::SystemElements" ), Description ( + "A class derived from ComputerSystem that represents a Desktop, " + "Mobile, NetPC, Server or other type of a single node Computer " + "System.")] +class CIM_UnitaryComputerSystem : CIM_ComputerSystem { + + [Description ( + "This object contains the data needed to find either the " + "initial load device (its key) or the boot service to " + "request the operating system to start up. In addition, the " + "load parameters (ie, a pathname and parameters) may also be " + "specified.")] + string InitialLoadInfo[]; + + [Description ( + "This object contains the data identifying either the " + "initial load device (its key) or the boot service that " + "requested the last operating system load. In addition, the " + "load parameters (ie, a pathname and parameters) may also be " + "specified."), + MappingStrings { + "MIB.IETF|HOST-RESOURCES-MIB.hrSystemInitialLoadDevice", + "MIB.IETF|HOST-RESOURCES-MIB.hrSystemInitialLoadParameters", + "MIF.DMTF|Host System|001.3" }] + string LastLoadInfo; + + [Deprecated { "CIM_PowerManagementCapabilities" }, Description ( + "When TRUE, indicates that the computer can be power " + "managed. The use of this property has been deprecated. " + "Instead, the existence of an associated " + "PowerManagementCapabilities class (associated using the " + "ElementCapabilites relationship) indicates that power " + "management is supported.")] + boolean PowerManagementSupported; + + [Deprecated { "CIM_AssociatedPowerManagementService.PowerState" }, + Description ( + "Indicates the current power state of the ComputerSystem and " + "its associated OperatingSystem. This property is being " + "deprecated. Instead, the PowerState property in the " + "AssociatedPowerManagementService class SHOULD be used. " + "Regarding the Power Save states, these are defined as " + "follows: Value 4 (\"Power Save - Unknown\") indicates that " + "the System is known to be in a power save mode, but its " + "exact status in this mode is unknown; \n" + "Value 2 (\"Power Save - Low Power Mode\") indicates that " + "the System is in a power save state but still functioning, " + "and may exhibit degraded performance; \n" + "Value 3 (\"Power Save - Standby\") describes that the " + "System is not functioning but could be brought to full " + "power 'quickly'; value 7 (\"Power Save - Warning\") " + "indicates that the ComputerSystem is in a warning state, " + "though also in a power save mode. \n" + "Values 8 and 9 describe the ACPI \"Hibernate\" and \"Soft " + "Off\" states."), + ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" }, + Values { "Unknown", "Full Power", "Power Save - Low Power Mode", + "Power Save - Standby", "Power Save - Unknown", + "Power Cycle", "Power Off", "Power Save - Warning", + "Power Save - Hibernate", "Power Save - Soft Off" }] + uint16 PowerState; + + [Description ( + "The event that caused the System to power up. This " + "information is available in SMBIOS, in the Type 1 " + "structure, the Wake Up Type attribute."), + ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8" }, + Values { "Reserved", "Other", "Unknown", "APM Timer", + "Modem Ring", "LAN Remote", "Power Switch", "PCI PME#", + "A/C Power Restored" }] + uint16 WakeUpType; +}; Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.mpc and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.mpc differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.msi and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.msi differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test-noid3.mp3 and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test-noid3.mp3 differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.ogg and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.ogg differ diff -Nru shared-mime-info-1.15/tests/mime-detection/test.ooc shared-mime-info-2.0/tests/mime-detection/test.ooc --- shared-mime-info-1.15/tests/mime-detection/test.ooc 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.ooc 2020-05-06 14:11:14.275907300 +0000 @@ -0,0 +1,10 @@ +import structs/[ArrayList, LinkedList], io/FileReader +include stdarg, memory, string +use sdl, gtk +pi := const 3.14 +Int: cover from int { + toString: func -> String { "%d" format() } +} +Dog: class extends Animal { + barf: func { ("woof! " * 2) println() } +} \ No newline at end of file Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.opus and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.opus differ diff -Nru shared-mime-info-1.15/tests/mime-detection/test.owx shared-mime-info-2.0/tests/mime-detection/test.owx --- shared-mime-info-1.15/tests/mime-detection/test.owx 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.owx 2020-05-06 14:11:14.276907400 +0000 @@ -0,0 +1,32 @@ + + + + + http://example.com/someOtherOntology + + + + + + + + + + + + + + + + + + + + + + + Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.p12 and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.p12 differ diff -Nru shared-mime-info-1.15/tests/mime-detection/test-p6.ppm shared-mime-info-2.0/tests/mime-detection/test-p6.ppm --- shared-mime-info-1.15/tests/mime-detection/test-p6.ppm 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test-p6.ppm 2020-05-06 14:11:14.248907600 +0000 @@ -0,0 +1,4 @@ +P6 +1024 600 +255 +íìëíìëíìëíìëíìëíìëíìëíìëíìëíìëíìëíìëíìëíìëíìëíìëíìëíìëíìëíìëíìëíìëíìëíìëíìëíìëíìëíìë \ No newline at end of file Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.p7b and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.p7b differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.pat and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.pat differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.pbm and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.pbm differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.pcx and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.pcx differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.pdf.lz and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.pdf.lz differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.pdf.xz and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.pdf.xz differ diff -Nru shared-mime-info-1.15/tests/mime-detection/test.pgm shared-mime-info-2.0/tests/mime-detection/test.pgm --- shared-mime-info-1.15/tests/mime-detection/test.pgm 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.pgm 2020-05-06 14:11:14.277907400 +0000 @@ -0,0 +1,5 @@ +P5 +# CREATOR: The GIMP's PNM Filter Version 1.0 +20 20 +255 +`etoc\ENSF:4C>=Sd~ˆubsmccV\]TQFH?Pr|~•”nqtw_bXYcj]DMJ`r‹“˜¡anivT]fb]]WNDUY~~„‹–ahe\\^aVTQ[WQQf}‡„Š¥ZnaIXZVUSKSWS[gv{t‹›_`^@QIQM:FRYU_v‹ƒ}coRJPH;AICX_dWtl‚†œz{b;MDKC:Dbaby‹„‘”—xwfPPJKB:V`uu‰ŽŠž›…lqONNUbWNm}v‰“•–™™ˆwuiGOUY\Wfmyyu”„‡…[NZMNPVRy„|n†qsy}‚sfYg\YWaUxvy€€rsrmsurldOMV`^Ydiygchjwd„obd[cJc`_rzoqvickZksdTcjZKZdhbdrfqs\obnkVWdfVOE^]mcbehdfgdznVYKVHIQSW\XoXa[cm]u_]HMZQU`SW[`V[RJ`if \ No newline at end of file diff -Nru shared-mime-info-1.15/tests/mime-detection/test.pgn shared-mime-info-2.0/tests/mime-detection/test.pgn --- shared-mime-info-1.15/tests/mime-detection/test.pgn 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.pgn 2020-05-06 14:11:14.277907400 +0000 @@ -0,0 +1,16 @@ +[Event "F/S Return Match"] +[Site "Belgrade, Serbia Yugoslavia|JUG"] +[Date "1992.11.04"] +[Round "29"] +[White "Fischer, Robert J."] +[Black "Spassky, Boris V."] +[Result "1/2-1/2"] + +1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 {This opening is called the Ruy Lopez.} +4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 d6 8. c3 O-O 9. h3 Nb8 10. d4 Nbd7 +11. c4 c6 12. cxb5 axb5 13. Nc3 Bb7 14. Bg5 b4 15. Nb1 h6 16. Bh4 c5 17. dxe5 +Nxe4 18. Bxe7 Qxe7 19. exd6 Qf6 20. Nbd2 Nxd6 21. Nc4 Nxc4 22. Bxc4 Nb6 +23. Ne5 Rae8 24. Bxf7+ Rxf7 25. Nxf7 Rxe1+ 26. Qxe1 Kxf7 27. Qe3 Qg5 28. Qxg5 +hxg5 29. b3 Ke6 30. a3 Kd6 31. axb4 cxb4 32. Ra5 Nd5 33. f3 Bc8 34. Kf2 Bf5 +35. Ra7 g6 36. Ra6+ Kc5 37. Ke1 Nf4 38. g3 Nxh3 39. Kd2 Kb5 40. Rd6 Kc5 41. Ra6 +Nf2 42. g4 Bd3 43. Re6 1/2-1/2 diff -Nru shared-mime-info-1.15/tests/mime-detection/test.php shared-mime-info-2.0/tests/mime-detection/test.php --- shared-mime-info-1.15/tests/mime-detection/test.php 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.php 2020-05-06 14:11:14.277907400 +0000 @@ -0,0 +1,8 @@ + + +Test + + + + + Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.pix and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.pix differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.pkipath and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.pkipath differ diff -Nru shared-mime-info-1.15/tests/mime-detection/test.pl shared-mime-info-2.0/tests/mime-detection/test.pl --- shared-mime-info-1.15/tests/mime-detection/test.pl 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.pl 2020-05-06 14:11:14.278907300 +0000 @@ -0,0 +1,7 @@ +#!/usr/bin/env perl + +use 5.010_001; # Require Perl5 version 10.1 or newer +use strict; +use warnings; + +say scalar localtime; # now diff -Nru shared-mime-info-1.15/tests/mime-detection/test.pm shared-mime-info-2.0/tests/mime-detection/test.pm --- shared-mime-info-1.15/tests/mime-detection/test.pm 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.pm 2020-05-06 14:11:14.278907300 +0000 @@ -0,0 +1,9 @@ +use 5.010_001; # Require Perl5 version 10.1 or newer +use strict; +use warnings; + +package test; + +sub now { + say scalar localtime; # now +} Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.pmd and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.pmd differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.png and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.png differ diff -Nru shared-mime-info-1.15/tests/mime-detection/test.por shared-mime-info-2.0/tests/mime-detection/test.por --- shared-mime-info-1.15/tests/mime-detection/test.por 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.por 2020-05-06 14:11:14.278907300 +0000 @@ -0,0 +1,7 @@ +ASCII SPSS PORT FILE ASCII SPSS PORT FILE +ASCII SPSS PORT FILE ASCII SPSS PORT FILE +ASCII SPSS PORT FILE 0000000000000000000000000000000000000000 +0000000000000000000000000123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrst +uvwxyz .<(+|&[]!$*);^-/|,%_>?`:$@'="000000~-0000123456789000-()0{}\0000000000000 +00000000000000000000000000000000000000000000000000000000SPSSPORTA8/200903246/075 +1531E/GNU pspp 0.7.23H/i686-pc-linux-gnu41/5B/70/1/X5/1/0/5/1/0/F1/ZZZZZZZZZZZZZ diff -Nru shared-mime-info-1.15/tests/mime-detection/test.pot shared-mime-info-2.0/tests/mime-detection/test.pot --- shared-mime-info-1.15/tests/mime-detection/test.pot 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.pot 2020-05-06 14:11:14.279907200 +0000 @@ -0,0 +1,23 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-11-07 14:54+0100\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" + +#: test-gettext.c:5 +#, c-format +msgid "test of string\n" +msgstr "" Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.ppm and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.ppm differ diff -Nru shared-mime-info-1.15/tests/mime-detection/test.ps shared-mime-info-2.0/tests/mime-detection/test.ps --- shared-mime-info-1.15/tests/mime-detection/test.ps 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.ps 2020-05-06 14:11:14.279907200 +0000 @@ -0,0 +1,98 @@ +%!PS-Adobe-3.0 +%%Creator: GIMP PostScript file plugin V 1.17 by Peter Kirchgessner +%%Title: test.ps +%%CreationDate: Tue Oct 18 23:55:42 2005 +%%DocumentData: Clean7Bit +%%LanguageLevel: 2 +%%Pages: 1 +%%BoundingBox: 14 14 35 35 +%%EndComments +%%BeginProlog +% Use own dictionary to avoid conflicts +10 dict begin +%%EndProlog +%%Page: 1 1 +% Translate for offset +14.173228346456694 14.173228346456694 translate +% Translate to begin of first scanline +0 20 translate +20 -20 scale +% Image geometry +20 20 8 +% Transformation matrix +[ 20 0 0 20 0 0 ] +% Strings to hold RGB-samples per scanline +/rstr 20 string def +/gstr 20 string def +/bstr 20 string def +{currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop} +{currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop} +{currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop} +true 3 +%%BeginData: 1871 ASCII Bytes +colorimage +'=aWhQB#uXoBa++~> +'/2^_<(9>85Z^8s%NcW32a(YL +'5ibpR>[GdL7O-tMl`>*\DuuJl$r~> +'=3OXOF)4F4$cGE6""P@Dg6Sp]79~> +'3.P/<(]qb@qAS%4Yn-=A8Q49E.@~> +'6K(rR&6."P'VA=LO+!,`nT;Cm=5~> +':F62H"LYE0/ZI!6p3Y;>$bHbLk#~> +'2`7DD,XSHDg-P93(leCE0?fTSU^~> +'9Jc\UlC1b=`RqkJ:`3A^uXk]s*t~> +&!1pNH=B9$-QsfY)&"GV=8l;%B7K~> +'0ff0CHuBWIXQEX@9@/RMLgJESU^~> +':5hgV4<6WD,Fh_F^Js7WRpt5msk~> +';:qA?Vs0L-SH8H)(-Rg8Qo%p;Le~> +'0/W_ +'8_+!GC+^B?"RJB936(_U:K4.m=5~> +':,eK>%0?/+!D:0.Ocl076WLo>^u~> +'0&T[4]5p5F),?0E+s9 +'6/MH?=&%g8QSkf:etkJO2A6:id_~> +';`!W@SAs>/IrmG/efW^8j,748q6~> +'07pF.8W]H=\;e5F*2o(Wh>HHUjr~> +'52<'@Ur\DAmS>,7U0#*Q)`!ck^W~> +'>:W#G#UgW-ls3`)Ail1,>^d% +'/iiN/PJc&86])6K8b;KMNaO&Z%)~> +'4+7;CKaA+?X$Ve?!^3QQEJKql@8~> +'>(QCDfAf@,o7[e,U"Kb)(/*A6@]~> +'4#$3*'?>_;+Xi=LP`(LYHG%8[=A~> +'5)/u=@b8<:/*r&3CHbROeT50gjf~> +'>hGjU3plL2]b"1+ +'2V[o,s+(^7n%-EWN!YX] +'8:1)=@btN84ts%78@$$PG[!PhLG~> +'Bm-RR%J[t:Gj7I2'=kL;H-Cl9Rm~> +'2q1`-6Y9MBjtY:WiE\C\?N9DQ%/~> +'8LmR@:<5ADfniR9M&HEOh]]#j+%~> +'BRNWVN-%/8i/@P0.9.l?qWjZ@=S~> +'0JiM(c"6P>%)oCT:h=CWK`L5Mgt~> +'8(7+6pGU3RXJp`GD9ssZcC54`II~> +'?/bCU83HK7QE.V4[:u3Ce@Du=+C~> +'3S +'8grk2G[t6OGRsrIYEHUOf>n(\:=~> +'A`04b,0JS67=3D86T,1<)>tN=+C~> +'3@.K,u%!7>'OP?N.mLQG'8.REe"~> +'6@MD5XoFKJ:r`BH]EW7Z+e8c_12~> +'@Z0e_ie7d9/&2"ARBLn?t`n^<.F~> +'3dat7nl(?~> +'5C978R?:dMQiS3L6nj9Xh20b_12~> +'@4k3S:#Kf79<9&D165MI#rho@Xn~> +'4Yl[93k>!6![_kCi3lnB1>-g6%A~> +'21\I5=eV-L8(E#U91Ml[(4c1c%#~> +'>),KH?=@-;,qCZOe&%nQDg"4H[l~> +'2Me-7U0G-5>kB]5W;P4:J!026%A~> +'.P%j4'l`BGaGRhQ+X3'^;mt2d=;~> +'=kK/EdhqB=@-V_Xe_MVR\#n@Oam~> +'3.pq:0D!j5WDCs75Zq^3A`cR3Ih~> +'.G=k6!.iaL6AU#P,GP+gr.Ildsq~> +'=tE,@p +'5UrB=$]>;4$Z%d+<`fi,9/9o(k;~> +',_T285ruGOJ8YC[^EZgcI(J,m!o~> +'>^/u??'[N7Sd]jXfAM7^SSHfdsq~> +'4Fa66T@e8<*_R2+"A'B!!!oT'n?~> +'+Y9k-s(M9KV4^/]XbVnhrEelnpg~> +%%EndData +showpage +%%Trailer +end +%%EOF Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.psd and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.psd differ diff -Nru shared-mime-info-1.15/tests/mime-detection/test-public-key.asc shared-mime-info-2.0/tests/mime-detection/test-public-key.asc --- shared-mime-info-1.15/tests/mime-detection/test-public-key.asc 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test-public-key.asc 2020-05-06 14:11:14.248907600 +0000 @@ -0,0 +1,20 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.4.12 (GNU/Linux) + +mI0EUbhu/gEEANxdJ9qmKW+5qceJGZYhjuxiblMB/zJa+N2o6nUTxE7pnkU8foMh +4Gu4NpZUDlASgzEXWgbsNeqWJVYbVjgqLWw8eRJPgnoHaP/De72QOF0dBC1F3WRd +BTPdv6sjsG+gQE1hbri3uuzDIzx2HQyo1oIV+d/49DbIMvWJvl4yaenTABEBAAG0 +IlRlc3QgS2V5IChUZXN0KSA8dGVzdEBleGFtcGxlLm9yZz6IvgQTAQIAKAUCUbhu +/gIbAwUJAAFRgAYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQQkaUm9rcOLBW +mAQAre90nAhQAeL8G2gwir0h0D+9GTs7czXEq1tw+eRrzYU4UU48CF8oozj79FZY +wO/NcZYvEMBAbL/5AN68ovAS1EuxFsxyp592nW6Wr8bv7kyCJQRnRWNIZj8sRIWQ +O+Sflg+apzQ2ldBfYr9GWNP7+EfY5C7XrIIBFL3P1JSGT5u4jQRRuG7+AQQA0zGH +yukAG0renM28qeHjd/pozDiJmlg4wfRSij+lWys4xtez6IYH/Ob0JRwNWex7erBj +NxoDjLhUqRMHL7A/nTOj1yAI5AjKcjgbqqy+OQZbl81JbqrZT89YConj6YV/Oqcn +jOYqik8Wu4NHVOMwaFj80c66VMwXPOLm0X7wnyUAEQEAAYilBBgBAgAPBQJRuG7+ +AhsMBQkAAVGAAAoJEEJGlJva3DiwPusD/R7kQO80+u9nZPKS2BEnKzY/vosxXG7n +p0A1WBAVjIQT/QT4wjQWwPgfKm9gZ2IotioKrnKHFHCq50e3qE20vbl18kQKRZKm +XyEeks7N96tdvf4MAEhHnw2MkK5HF5SA7qacmRLa9vAWdBl1iogybAf5ZoX6CR8P +ACBA4fAZf4e3 +=dOZ/ +-----END PGP PUBLIC KEY BLOCK----- diff -Nru shared-mime-info-1.15/tests/mime-detection/test.py shared-mime-info-2.0/tests/mime-detection/test.py --- shared-mime-info-1.15/tests/mime-detection/test.py 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.py 2020-05-06 14:11:14.279907200 +0000 @@ -0,0 +1,19 @@ +#!/usr/bin/python + +from math import sin, pi + + +def f(x): + return sin(x ** 2) + + +def integrate_f(a, b, N): + s = 0 + dx = (b - a) / N + for i in range(N): + s += f(a + i * dx) + return s * dx + + +if __name__ == '__main__': + print(integrate_f(0, pi, 1000)) diff -Nru shared-mime-info-1.15/tests/mime-detection/test.py3 shared-mime-info-2.0/tests/mime-detection/test.py3 --- shared-mime-info-1.15/tests/mime-detection/test.py3 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.py3 2020-05-06 14:11:14.279907200 +0000 @@ -0,0 +1,19 @@ +#!/usr/bin/env python3 + +from math import sin, pi + + +def f(x): + return sin(x ** 2) + + +def integrate_f(a, b, N): + s = 0 + dx = (b - a) / N + for i in range(N): + s += f(a + i * dx) + return s * dx + + +if __name__ == '__main__': + print(integrate_f(0, pi, 1000)) Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.pys and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.pys differ diff -Nru shared-mime-info-1.15/tests/mime-detection/test.pysu shared-mime-info-2.0/tests/mime-detection/test.pysu --- shared-mime-info-1.15/tests/mime-detection/test.pysu 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.pysu 2020-05-06 14:11:14.280907400 +0000 @@ -0,0 +1,10 @@ +[Pyspread save file version] +2.0 +[shape] +1000 100 3 +[grid] +0 0 0 "Test" +[attributes] +[row_heights] +[col_widths] +[macros] diff -Nru shared-mime-info-1.15/tests/mime-detection/test.pyx shared-mime-info-2.0/tests/mime-detection/test.pyx --- shared-mime-info-1.15/tests/mime-detection/test.pyx 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.pyx 2020-05-06 14:11:14.280907400 +0000 @@ -0,0 +1,17 @@ +from math import pi + +cdef extern from "math.h": + double sin(double) + +cdef double f(double x) except *: + return sin(x**2) + +def integrate_f(double a, double b, int N): + cdef int i + cdef double s, dx + + s = 0 + dx = (b-a)/N + for i in range(N): + s += f(a+i*dx) + return s * dx Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.qp and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.qp differ diff -Nru shared-mime-info-1.15/tests/mime-detection/test.qti shared-mime-info-2.0/tests/mime-detection/test.qti --- shared-mime-info-1.15/tests/mime-detection/test.qti 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.qti 2020-05-06 14:11:14.280907400 +0000 @@ -0,0 +1,19 @@ +QtiPlot 0.9.8 project file + muParser + 1 + +Table1 30 2 28.01.11 12:05 +geometry 0 0 445 220 active +header 1[X] 2[Y] +ColWidth 100 100 + + +ColType 0;0/13 0;0/13 +ReadOnlyColumn 0 0 +HiddenColumn 0 0 +Comments +WindowLabel 2 + + +
+1 diff -Nru shared-mime-info-1.15/tests/mime-detection/test.raml shared-mime-info-2.0/tests/mime-detection/test.raml --- shared-mime-info-1.15/tests/mime-detection/test.raml 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.raml 2020-05-06 14:11:14.281907300 +0000 @@ -0,0 +1,9 @@ +#%RAML 1.0 +title: GitHub API +version: v3 +baseUri: https://api.github.com +securitySchemes: + oauth_2_0: !include securitySchemes/oauth_2_0.raml +/users/{userid}/gists: + get: + securedBy: [null, oauth_2_0] diff -Nru shared-mime-info-1.15/tests/mime-detection/test-really-html-not-perl.html shared-mime-info-2.0/tests/mime-detection/test-really-html-not-perl.html --- shared-mime-info-1.15/tests/mime-detection/test-really-html-not-perl.html 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test-really-html-not-perl.html 2020-05-06 14:11:14.248907600 +0000 @@ -0,0 +1,7 @@ + + + + + + + diff -Nru shared-mime-info-1.15/tests/mime-detection/test-really-html-not-xhtml.html shared-mime-info-2.0/tests/mime-detection/test-really-html-not-xhtml.html --- shared-mime-info-1.15/tests/mime-detection/test-really-html-not-xhtml.html 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test-really-html-not-xhtml.html 2020-05-06 14:11:14.249907500 +0000 @@ -0,0 +1,4 @@ + + + +

Hello

diff -Nru shared-mime-info-1.15/tests/mime-detection/test-reordered.ipynb shared-mime-info-2.0/tests/mime-detection/test-reordered.ipynb --- shared-mime-info-1.15/tests/mime-detection/test-reordered.ipynb 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test-reordered.ipynb 2020-05-06 14:11:14.249907500 +0000 @@ -0,0 +1,34 @@ +{ + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.5.1" + } + }, + "nbformat": 4, + "nbformat_minor": 0, + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ] +} diff -Nru shared-mime-info-1.15/tests/mime-detection/test.rs shared-mime-info-2.0/tests/mime-detection/test.rs --- shared-mime-info-1.15/tests/mime-detection/test.rs 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.rs 2020-05-06 14:11:14.281907300 +0000 @@ -0,0 +1,3 @@ +fn main() { + println!("Hello, world!"); +} diff -Nru shared-mime-info-1.15/tests/mime-detection/test.sass shared-mime-info-2.0/tests/mime-detection/test.sass --- shared-mime-info-1.15/tests/mime-detection/test.sass 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.sass 2020-05-06 14:11:14.281907300 +0000 @@ -0,0 +1,16 @@ +@import theme/typography +@import theme/palette + +.c-menu-item + display: block + overflow: hidden + border-radius: 15px 15px + padding: 0.5em + +.c-menu-link + color: $text + text-decoration: none + +.c-menu-link:hover + background: $primary-light + Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.sav and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.sav differ diff -Nru shared-mime-info-1.15/tests/mime-detection/test.scala shared-mime-info-2.0/tests/mime-detection/test.scala --- shared-mime-info-1.15/tests/mime-detection/test.scala 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.scala 2020-05-06 14:11:14.281907300 +0000 @@ -0,0 +1,5 @@ +object HelloWorld { + def main(args: Array[String]) { + println("Hello, world!") + } +} diff -Nru shared-mime-info-1.15/tests/mime-detection/test.scm shared-mime-info-2.0/tests/mime-detection/test.scm --- shared-mime-info-1.15/tests/mime-detection/test.scm 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.scm 2020-05-06 14:11:14.281907300 +0000 @@ -0,0 +1,15 @@ +;; tested with Guile; might need +;; slight modification for your +;; Scheme dialect + +(use-modules (ice-9 format)) + +(define (fac n) + (let loop ((acc 1) + (i n)) + (if (zero? i) + acc + (loop (* acc i) (- i 1))))) + +(format #t "(fac 5) = ~d\n" (fac 5)) + diff -Nru shared-mime-info-1.15/tests/mime-detection/test.scss shared-mime-info-2.0/tests/mime-detection/test.scss --- shared-mime-info-1.15/tests/mime-detection/test.scss 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.scss 2020-05-06 14:11:14.281907300 +0000 @@ -0,0 +1,12 @@ +@import "theme/typography"; +@import "theme/palette"; + +.c-menu-item { display: block; + overflow: hidden; + border-radius: 15px 15px; + padding: 0.5em; + } +.c-menu-link { color: $text; + text-decoration: none; + } +.c-menu-link:hover { background: $primary-light; } diff -Nru shared-mime-info-1.15/tests/mime-detection/test-secret.key shared-mime-info-2.0/tests/mime-detection/test-secret.key --- shared-mime-info-1.15/tests/mime-detection/test-secret.key 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test-secret.key 2020-05-06 14:11:14.250907400 +0000 @@ -0,0 +1,35 @@ +-----BEGIN PGP PRIVATE KEY BLOCK----- +Version: GnuPG v1.4.12 (GNU/Linux) + +lQH9BFG4bv4BBADcXSfapilvuanHiRmWIY7sYm5TAf8yWvjdqOp1E8RO6Z5FPH6D +IeBruDaWVA5QEoMxF1oG7DXqliVWG1Y4Ki1sPHkST4J6B2j/w3u9kDhdHQQtRd1k +XQUz3b+rI7BvoEBNYW64t7rswyM8dh0MqNaCFfnf+PQ2yDL1ib5eMmnp0wARAQAB +/gMDAl/TqclmjUSrYMW3XdXp8iQ7JJBZcOfP1kz3rM/Kc3/8nzsH1sgTNG01jOT/ +tJ4vBnIIA2naOLXUxPGcn9plS6iT30v3Z3ESmpMVwCYrBPXaNGcU87GQyEN6n71M +lHsGYJ8FijNv3Bafj5L1rP/tEMHwSDe7/Q3kXx5Cc5XbSw9+EhA9Ajp7/WaN4vNr +lfMXli1GeTasBa3IldFCNjO77aJJTBQ1Xp7tAFwDZo2gOOi/FTQk2xavHvLX9x+w +VBBvejn5kJVYFVtTPRpjKyrqxYHiCsQ7qlhRLNY7uQrGU/uGW2UJgCZsBANvJZZ4 +MzxaWALZ94CES1NanKNmuE5eonuIVv8CKWmnBJBj3YWsQY2XzFgw9sJta2f88gIs +LNADorUl5NfxxnnJwh/94X/eLEs7ryh0/duppOSdCy6fRoyvLYkblVfg6h/uKnzZ +n2wMYXFVu57Gflr2xDIdgMcxrGIFOel+zXY9XZW1HV60IlRlc3QgS2V5IChUZXN0 +KSA8dGVzdEBleGFtcGxlLm9yZz6IvgQTAQIAKAUCUbhu/gIbAwUJAAFRgAYLCQgH +AwIGFQgCCQoLBBYCAwECHgECF4AACgkQQkaUm9rcOLBWmAQAre90nAhQAeL8G2gw +ir0h0D+9GTs7czXEq1tw+eRrzYU4UU48CF8oozj79FZYwO/NcZYvEMBAbL/5AN68 +ovAS1EuxFsxyp592nW6Wr8bv7kyCJQRnRWNIZj8sRIWQO+Sflg+apzQ2ldBfYr9G +WNP7+EfY5C7XrIIBFL3P1JSGT5udAf4EUbhu/gEEANMxh8rpABtK3pzNvKnh43f6 +aMw4iZpYOMH0Uoo/pVsrOMbXs+iGB/zm9CUcDVnse3qwYzcaA4y4VKkTBy+wP50z +o9cgCOQIynI4G6qsvjkGW5fNSW6q2U/PWAqJ4+mFfzqnJ4zmKopPFruDR1TjMGhY +/NHOulTMFzzi5tF+8J8lABEBAAH+AwMCX9OpyWaNRKtgj1CMQ4unXWMwlCYMxbHp +6THL/4Zl3nruLT/esy2VJjip9VJbI+QYBdzJRJqr9EHCxT3yJrHX6T9h4xiZ0tcu +xikYNqBmXFkuEr2I4z1MYODnWAjEK970FsLcwlNaAeOMra7ul/RRnqVRdpjmwI4A +rNFF7jM8xDCeiN4kt/39PX9yFgmv2/r2rTbbpTYiIcc0AYr+YWf71eaYD+vrUdp4 ++ZiuPVhDQ+yiUv5xr4SZTGzVBAK7evLbUSsccO91iNI4EaUrWt31owRCLOCzyZEA +qJ3IQcmSenxC7FyAXPouawhaNtej7Y2Fmr8uD6ao95C4GHbitvjPryBpWu0YLZ5g +eUR4Q61pszdiXehc/9ftTApJwRloTI6HOOs04gw07I5u0IDyKH2vrM/N8R4pu0k+ +dF79LAfetMIyPJqxVrXvjGgWvYzQIOp977o7z3qDlHsCIDM/UBsqD+S9dGDUIB4a +Ypl5q7GIpQQYAQIADwUCUbhu/gIbDAUJAAFRgAAKCRBCRpSb2tw4sD7rA/0e5EDv +NPrvZ2TyktgRJys2P76LMVxu56dANVgQFYyEE/0E+MI0FsD4HypvYGdiKLYqCq5y +hxRwqudHt6hNtL25dfJECkWSpl8hHpLOzferXb3+DABIR58NjJCuRxeUgO6mnJkS +2vbwFnQZdYqIMmwH+WaF+gkfDwAgQOHwGX+Htw== +=1xyV +-----END PGP PRIVATE KEY BLOCK----- diff -Nru shared-mime-info-1.15/tests/mime-detection/test-secret-key.asc shared-mime-info-2.0/tests/mime-detection/test-secret-key.asc --- shared-mime-info-1.15/tests/mime-detection/test-secret-key.asc 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test-secret-key.asc 2020-05-06 14:11:14.249907500 +0000 @@ -0,0 +1,35 @@ +-----BEGIN PGP PRIVATE KEY BLOCK----- +Version: GnuPG v1.4.12 (GNU/Linux) + +lQH9BFG4bv4BBADcXSfapilvuanHiRmWIY7sYm5TAf8yWvjdqOp1E8RO6Z5FPH6D +IeBruDaWVA5QEoMxF1oG7DXqliVWG1Y4Ki1sPHkST4J6B2j/w3u9kDhdHQQtRd1k +XQUz3b+rI7BvoEBNYW64t7rswyM8dh0MqNaCFfnf+PQ2yDL1ib5eMmnp0wARAQAB +/gMDAl/TqclmjUSrYMW3XdXp8iQ7JJBZcOfP1kz3rM/Kc3/8nzsH1sgTNG01jOT/ +tJ4vBnIIA2naOLXUxPGcn9plS6iT30v3Z3ESmpMVwCYrBPXaNGcU87GQyEN6n71M +lHsGYJ8FijNv3Bafj5L1rP/tEMHwSDe7/Q3kXx5Cc5XbSw9+EhA9Ajp7/WaN4vNr +lfMXli1GeTasBa3IldFCNjO77aJJTBQ1Xp7tAFwDZo2gOOi/FTQk2xavHvLX9x+w +VBBvejn5kJVYFVtTPRpjKyrqxYHiCsQ7qlhRLNY7uQrGU/uGW2UJgCZsBANvJZZ4 +MzxaWALZ94CES1NanKNmuE5eonuIVv8CKWmnBJBj3YWsQY2XzFgw9sJta2f88gIs +LNADorUl5NfxxnnJwh/94X/eLEs7ryh0/duppOSdCy6fRoyvLYkblVfg6h/uKnzZ +n2wMYXFVu57Gflr2xDIdgMcxrGIFOel+zXY9XZW1HV60IlRlc3QgS2V5IChUZXN0 +KSA8dGVzdEBleGFtcGxlLm9yZz6IvgQTAQIAKAUCUbhu/gIbAwUJAAFRgAYLCQgH +AwIGFQgCCQoLBBYCAwECHgECF4AACgkQQkaUm9rcOLBWmAQAre90nAhQAeL8G2gw +ir0h0D+9GTs7czXEq1tw+eRrzYU4UU48CF8oozj79FZYwO/NcZYvEMBAbL/5AN68 +ovAS1EuxFsxyp592nW6Wr8bv7kyCJQRnRWNIZj8sRIWQO+Sflg+apzQ2ldBfYr9G +WNP7+EfY5C7XrIIBFL3P1JSGT5udAf4EUbhu/gEEANMxh8rpABtK3pzNvKnh43f6 +aMw4iZpYOMH0Uoo/pVsrOMbXs+iGB/zm9CUcDVnse3qwYzcaA4y4VKkTBy+wP50z +o9cgCOQIynI4G6qsvjkGW5fNSW6q2U/PWAqJ4+mFfzqnJ4zmKopPFruDR1TjMGhY +/NHOulTMFzzi5tF+8J8lABEBAAH+AwMCX9OpyWaNRKtgj1CMQ4unXWMwlCYMxbHp +6THL/4Zl3nruLT/esy2VJjip9VJbI+QYBdzJRJqr9EHCxT3yJrHX6T9h4xiZ0tcu +xikYNqBmXFkuEr2I4z1MYODnWAjEK970FsLcwlNaAeOMra7ul/RRnqVRdpjmwI4A +rNFF7jM8xDCeiN4kt/39PX9yFgmv2/r2rTbbpTYiIcc0AYr+YWf71eaYD+vrUdp4 ++ZiuPVhDQ+yiUv5xr4SZTGzVBAK7evLbUSsccO91iNI4EaUrWt31owRCLOCzyZEA +qJ3IQcmSenxC7FyAXPouawhaNtej7Y2Fmr8uD6ao95C4GHbitvjPryBpWu0YLZ5g +eUR4Q61pszdiXehc/9ftTApJwRloTI6HOOs04gw07I5u0IDyKH2vrM/N8R4pu0k+ +dF79LAfetMIyPJqxVrXvjGgWvYzQIOp977o7z3qDlHsCIDM/UBsqD+S9dGDUIB4a +Ypl5q7GIpQQYAQIADwUCUbhu/gIbDAUJAAFRgAAKCRBCRpSb2tw4sD7rA/0e5EDv +NPrvZ2TyktgRJys2P76LMVxu56dANVgQFYyEE/0E+MI0FsD4HypvYGdiKLYqCq5y +hxRwqudHt6hNtL25dfJECkWSpl8hHpLOzferXb3+DABIR58NjJCuRxeUgO6mnJkS +2vbwFnQZdYqIMmwH+WaF+gkfDwAgQOHwGX+Htw== +=1xyV +-----END PGP PRIVATE KEY BLOCK----- Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test-secret-key.skr and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test-secret-key.skr differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.sgi and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.sgi differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.sqlite2 and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.sqlite2 differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.sqlite3 and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.sqlite3 differ diff -Nru shared-mime-info-1.15/tests/mime-detection/test.ss shared-mime-info-2.0/tests/mime-detection/test.ss --- shared-mime-info-1.15/tests/mime-detection/test.ss 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.ss 2020-05-06 14:11:14.282907200 +0000 @@ -0,0 +1,15 @@ +;; tested with Guile; might need +;; slight modification for your +;; Scheme dialect + +(use-modules (ice-9 format)) + +(define (fac n) + (let loop ((acc 1) + (i n)) + (if (zero? i) + acc + (loop (* acc i) (- i 1))))) + +(format #t "(fac 5) = ~d\n" (fac 5)) + diff -Nru shared-mime-info-1.15/tests/mime-detection/test.sv shared-mime-info-2.0/tests/mime-detection/test.sv --- shared-mime-info-1.15/tests/mime-detection/test.sv 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.sv 2020-05-06 14:11:14.282907200 +0000 @@ -0,0 +1,10 @@ + +`include "test.svh" + +function void + someclass::something(); + + $display("Something called!"); + +endfunction : something + diff -Nru shared-mime-info-1.15/tests/mime-detection/test.svh shared-mime-info-2.0/tests/mime-detection/test.svh --- shared-mime-info-1.15/tests/mime-detection/test.svh 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.svh 2020-05-06 14:11:14.282907200 +0000 @@ -0,0 +1,8 @@ + +class someclass; + + extern function void + something(); + +endclass : someclass + diff -Nru shared-mime-info-1.15/tests/mime-detection/test.t shared-mime-info-2.0/tests/mime-detection/test.t --- shared-mime-info-1.15/tests/mime-detection/test.t 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.t 2020-05-06 14:11:14.282907200 +0000 @@ -0,0 +1,16 @@ +use Test::More tests => 4; + +my $true_value = !0; +ok( $true_value, "Boolean negation of 0 is true" ); + +SKIP: { + skip("Confused implementor", 1); + is( $true_value, "0 but true", "'0 but true' is true"); +} + +TODO: { + local $TODO = "Need fuzzy magic"; + is( $true_value, 0.999999999999999, "True-ish in the fuzzy sense"); +} + +is( $true_value, 1, "Boolean negation of 0 is 1" ); Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.tar.lz and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.tar.lz differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.tar.lz4 and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.tar.lz4 differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.tar.zst and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.tar.zst differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test-template.dot and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test-template.dot differ diff -Nru shared-mime-info-1.15/tests/mime-detection/test.tex shared-mime-info-2.0/tests/mime-detection/test.tex --- shared-mime-info-1.15/tests/mime-detection/test.tex 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.tex 2020-05-06 14:11:14.283907400 +0000 @@ -0,0 +1,4 @@ +\documentclass[12pt]{beamer} + +this paragraph should not match graphviz (#22534). + Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.tga and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.tga differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.tif and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.tif differ diff -Nru shared-mime-info-1.15/tests/mime-detection/test.ts shared-mime-info-2.0/tests/mime-detection/test.ts --- shared-mime-info-1.15/tests/mime-detection/test.ts 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.ts 2020-05-06 14:11:14.284907300 +0000 @@ -0,0 +1,38 @@ +GÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿG@° ÁàvñDÑÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿG ·‹pþ’ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿG£l MÎÎÞ÷«Î<f{YƒˆÓvxùܳ脃¶e=/ñ0\¦e5Â)ãRJ‚¶ P4 É—sÉÞï=¯›\xÑÑ‚ÔE¬uÔµNdšÊÑ 0ee.ÔœC-rüdx啽ФUÔhxÖ´ÎÚÙÔìvúqƒ¨ÖF/‹'3m}Óº®>1B8Îã*@C;šH|éJ®mêü縞™uq’è“HË|œmm¶55º½^“fÖB¯vG;‰ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ&a$bôEDس’dÔ»R¬¨­,ÚdBI²ß2͸z[‘5YûYÁ"ÄM„T`GÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGAÀ€€!q‹ÿüÄbéxD3UUUUUDUUŽJÝq$I$ Ì†üªº!›¾£˜¶«îªëíÆûn²ûoºûo¾Û²¶Ûíºûoºën¶û.¾ìo» o»î²ëo»ñºûï¾Üm¾»+ÕÔÕêt:ŽzíÆ»5³@Ä<ÊÀM4 +Ê[=Df6åG»AkºÅ=°nÿû¨‰@¿wuŠ3Š®åÌ{¸‡. ]Ó0køÈ×fÜl‡ZFº†, ~O¸g¦RƒG×Âü|›ˆ5Ô1`‰î6ê¤ãG}ÝƇÜ`MK½Ü`'¦B +&úƒ&Îç•Ç4'ÃÈ3ÕÆHû{ˆrâ|÷P5ì<@  Ó`#¼Á¨oƒÿÜÍîæžâ¾šÇŒ\õ,ß±®ç‘Îeñ¢‡Hª°ôû›ÖÁbE +6ÿô:›áµBÝ'Ô&A‰÷wP‡š ßÿuP@ƒgÝgœG»ˆ)Y·ÂK«ŽX[ˆwwL¥?ÅdˆÓÓ!‹&úýîG?Ý‘.0­m®  3¸’îâ‡ë,Î]‘n"4}ËçÂé‘530íøÀ3£î4Œ¯]Ä-Ñw¦TÂ?¨}Ý°[\^Hó\6a?]Ë.'áN«ˆ2kÉ×Lè#JžâžI.î2Dœ*î¢FÌ`x #»ÄŽÀÕÿçL _þé¾  wu€`žâ‚»®¸À ,ÏtÆÔ¸À0MqA½Ä Wºbzæ;u{Gº‚¦vÜà £ÁÐ` #»@ð¥Ù´È1nÈó\`æ¦G„DÕ¤Û¨«™24huÄ® ÷ÌŸ©¹¹…n0íåÝÆ" Ó6á×¾½3㈑ÈÈB~,`Æ +}Ù:uåR@Ü1·@Y×`v9꙳{Ôe‰¿«­8qwwMaÅ)±®°­HSÓ ©x£i÷wá•dúeˆ:Å»9p7 Ä-X¢Gãî›ë9åÜë¸òî½Ät„6â 8"ïºÆ<_u œàqÿø‘ª9À,€ #»¨`jÓ}beÝÎ>LÀz€0I·X§I2î“i“ÐÏÔL¸6Àª‹Ñ÷q€@Oºd &¡—ž©˜çÜJÏ«ŒÝÝÛ ® W—s¾™ S3®üA’ƒsÊŒ¦@39!oÅ(iwX·dù® îX,ƒqU]Ô‹Gº€0-Õ2^ü~x mÓ!˸»‚ÊPû¹Äk(>‹î6›ãÉ=Ä…ÔÈR®£d/‹ÿà"Üp   #»A»ÿà à° é¾ ê,€ê²=ÖŒ\ïÿº5à¿'÷(#Bé“PËÖkºÚM]Ö{ˆ2l®06ãžšƒ„u‘®‡:®ïÿ¸nâ®çGŸWp— Fºg,z„(^uă*¥\JØ’ytȾfä:Ì€ ꀉª®¦!OÆ%É^©•=BÕ§¦¤—h#ÝÀÚ@ðÛÓ|`$…Ãî<พâÁ?º“pyŒ @°w(`#¸ˆ¢@5ÿý® H—\`™'¦ø“¢tÕqODK™>]3 +Úf ŸÀ+BçÜÔÌ •`n°xˆ >â°¡ï=ÌMGa3Ï”ÝLÅÇwÿÀÝÿ÷[QúZàca“n0íÉWtùÝttûˆZ°Ðoÿû']ÏL¹aoMAÆ¢û®P]gwwq- )2ãì‹ÝÄš™a5|îëî%bœÿÿ¸˜…,îi{ž*ãÎ q€@,ñ·®¤åg“€8Œ€#¸x€ÿÜ.â5ÄË—q‰rO…Ü@îâ¦û©@•=Ûçû‡ÈR§ÝÄ€owqG{`Þ7 +¨7 ðteÄ1`çm5Æ=ø)ñæ¦C×ñ‡h‘wP #£nnyãn±/й`OºoƒDùî:¤û¦ tyA.î"v@¸Ä8 ×që,g¦\ARè7ÿýÆÔ;>s½w-®03¦@LÀ ëÇ ¸À îU7ÅŒÉq€xûˆ +'ÜhOo¹G¤Ûˆ +zelø£K‘é¾7àºÇ»¸·b ÆZ›î€yŽó8® %àd#»ðæ +ê €<¥Ô ½Ý`X‘îæž™†m3Ó”¸ûŒ#AEÝÝ8!8Jˆ7”âýÆ\Ö@ºÅ¸#ݸ $»ºÃœN‡S  (kºƒWq„fH\GºÂ´Ms MÝÅÐygÓ"Þ1ïÈtÁŸ‘2‡¡Í仺êÈ·wLĹêG %tßSÈ-ÝÝC wwXr-qŸ=‘õq!-§ºæ„‘Ü×@%ä;÷XUÜaZÏ»¨R‚A¸ß‚ë€Þ7ðÂK³i˜—=c^‹rnê pðxÿú>hî#»ð5WÿÀ?"Ó 8À0Óî²ç:×Pµ’îâ–»º{Œ;t÷MÈJWMaÞdƒqaFÜc$}2ƒ¨BˆàÚ2®1ϵÝÄoMõA.kW=G‘il*…»»ŒS¤ôÌN0 ~î ¹â ÖG»Œéýw÷ààßÿññö}Ð×ßw#ÝÀäR¸À´OLà¤ÌkÞÐD„…ÝÖ„»"Ü@$]Ì_»­Ø.7ÜLÓ’>îPG…ÜnÈ7¦°ê „å@F<x#¼x™cÜ7«º€¡Þï}Ý„{„Ü@ wWH:>‰ @¸NBhúšê¸]ªîœpv×¹çvGÂûš{¥ 0‹u€a•ÙD»¸€0‡zéÍÁ`nÿùwsƒÝ0UÒJ>>ꀇgÜ`1îãÕ9÷òòîë>~KºfÖtüwCN½ÄŒ;u×CÆ|WžÈ·pÌ(}Âî É¥ÝÇ - tßWðI°ƒu].îežë, Áâ纀 or®¶¤ú÷q{ƒ`Ô1º€ ãîëÁØ\àä3€Àì#¹€Ô3Ê ˆÕG ¦æcßõ [qƒgç»íuŽ|-Ý]CÖ`7 Üî Ü8AË»¤Ü ›ÜmÀÉBÂz¬\D¦úƒ&—wC:î·ÁþmÄ-^÷]NÃt»¸„©ÎîMÀÝÿ÷wX 6ë nÜ‹~UÔ1aîâÀÜ07ýÝ`7ÜO‚ wˆ5u€@W£®² ¼G¤ƒu‡nœ‹u¬r®ê‚ˆ7XÀÙ8€‚ŃÿÇ€ÈÁp#¸@5 GpÔ _ÿ »ŽwTÈ2\G‹ƒ5ÝÜ@ýÝ@5àn陜pv%]Ä-ÜëºÀmW +83O÷pヽ×PdxLE«ºë¥,Á;ˆ3Üc^´û»ˆb†¹þãî0~îæAãn°,„xŸUrÀ0øûºÇ¿ Aÿ¸ˆi÷ ˜wpG8ðƒî6ãÀ4qê ›k¨jÙwu‹n-Ä阇“"DÜd‰k»ˆ]Ü`Xœ|}3 +׌w0e4ØÛšë™CꙀAÖT“³æ¸Ú q:®·àW—wS€ÑÉÀ.tAP°Äàqÿùǘ(#¸îp6ü ßÿ°qpºdY ®¢A»ßq Xžâ)Cî ŸÝÜd ªáÇl>™ÌÀf°æ=˜ Gî°O® j4ƒwÇ}5¤d…Ùâ šÝ7Æ!³ÞMÕ¤£^®bÇÇÕÔ @xÿú¸€0>êë +Äšà>ĸñå½2ƒ¨±[˜ÑäH#¸¨þ¡÷M÷+‘êë`0}Uq1—9âœi‚®©˜3G0ͺ€ ¾ã†nñöE¸aü›Ý‰•—w6ÕWÜ)`Þ"zçž®! + ª¸Ã·§{¬sëî ¨;ºd-W6ŸsÝb"z¦ø„*ã*ãÀ“Ý3߈Î#ÙãÆÄÝ`sUÄ[«¬;b½\ôúd7ÖTÅ=Ť¢¼m3¤Ü@ë¿ÿî⢠·\rB`4Ÿ}îêÀ§TÌ +.0 »¶ÿãÿê@#¼AGÓÿèxD¦æc^ñ`C¸Ñ˜é÷ xÝnG‘„n ½Äzf-d—ÜNÙOºcŽ]Èww² ÒŽ á$ìAš©¹¾á¯¢ Üa› +wwhŸuY]5‡•7ÜdŒFÁ¼n® 7wP×P¤-ÕÆEù÷q [½Ä]`j₇\@$ˬîk"]b•îâ=ÖXÉü×u$î©•eë’ {¬GÄøUÞˆ4Ȭ +#Þ Ý` àÅÿë€<ÿ¢(€<`#»A¸lþqÇÜ×S ;šÓÓ0¾¶ãŠ{Œ¯w .âƒ{¬Zðž ÀÝÿõqHžãé´| ÿÿq…i.î?AjºéG}"ë¨7ü@»¸À0'û¸Ã6ª™€ñ Îâ"F»¬sêÁ·ÿîXkÜci>ê"F´\±®å n®gõMÌ÷⠘}Õ\@GQ÷§K® HE¸û¦@q€aÙîyÜBP›ˆB‚MÍñ©}ÊmÔxOÀ^¢8îxæ#»ÈàÑÿð5ý€|E¸€ vº¸€ >äÓ0;c}3p8ã Ù=ÆÄû¦Bu€`XƒGÜL„–ïw¢ Îû§@¸C ;žkˆrì>êWƺÃ6îî é×ÜaÛÇî17º…ª‡Ê™€ÌŽâ"FÞêã"g}3Gå‚ãîÐ'¦@‘ÌÀz„§×º‚¦Oqƒi‡Ü`"ýÝÖ’ë™Ï=ÎÍ×yÁq÷r=Ü@"ÝÕƨk‰¢²X\×Õ£ /£©œ3ž0íÛÜmÅ œ ÝÝÓ|`'¦Cq€§>ë ÚŽ»»ˆ3ÝeN¢G ßÿ5ÄDŒ(û»¸€SÓ|d×wgwq–5Ï\IDšm2’nd)TÈ >»»¸€ ®6™OÆtÚûˆ >çî ;»œš‚®  Z@8ða€Ð €]#¸ÉŒàjÿø]2®f=ìÌ.!*lúf¿"R4¨]3ó¶ 2ë~>ÎãÍ}Ä FO½sMq +TGŒ¸” /ÕÆ©›žîãÜÓj™‡oÄÅq2=Üÿ5ÝÄdG€þé4¼aÛi:™ñ€Ç»Œqn>î ‰Ó2†|D§"Üc˳é ®æœÚd9lÈ!jH*5ýÆ9Ì;º‡)%ÆÜ@Hw î2ðñZãÎê†û–P'Z®üYmÄqÀËÿñ#¿¯ÿ²*€d.ïÿ€ÆS|Boq‹wUÆ ž‹¸„«tÌ;~1ïÏ£n"¤wƒGÿÝpÃ÷ 3ñ‰s½Æ ” óÜGGÃA.6ãݽ®î0íËuq`0x\A¢-Õ0DÎç¸ás¹×q;-ãîâÀtÔSXq]§ÜhF!ÝÆqƒ½û³©‘ó0ÍxÂ3[\BTì‹q‰pO…Ü@‘$]2¯ˆb’ow<>ã‚ûŒ{üîi2íM¸Ä¹?‡\Ba÷l¸ÞMŽl ßÿ#¸®°¹WMó²5Ì›ÝÄ &qA]ÖBn0î0ûˆjÛé¨&²™Ga3 Úg<>óâ$¿?L€ šƒŒsøó®ãÇ{¼»¸‚¨OLÀ ê…=2 ™Ï=Ä wך}Ä%A¤"\븀¡Ou‚dÀ¸T|<Á!#»Ì"@9ãÿ΀Z;¦CVÌÆ<™€aÄ>"G]BÍítÌIdÈQçA +zf,o2'åŽôÌ  -´œ»´ ®°êd/µuÓ;5ÌwL¥O—)étüC×ßq…j)Ïw\ðãuÆ=ù¸‡¯H»ˆžâŒ'ÁwC{™댉Ä]Ä>÷ ¸—Y™©q€’»ˆ"<>›ã†y{ˆjÒ÷ýÎë¬AøãwP£Àg"#»¸`ÁG8H ®ë©c^ÿÿ«¨Ë’ Ýÿ÷î1dåk¦`u@-Ý\`jé…bƶO¸Â4³éÓÝDT÷F¦bÝ÷ML€0ã¨)éåÜRžÏ¸‡¯®ã +ÕçÜm2‚fPÓš{ŽXöûŒ3l#\@‘Uq[ k鹬&cßL›˜L×s£é@”^»ˆ"=qµ©î&!„3mÝÌòuÜÓ]`…{º##¼|=G²›™Œy2Žf=ÿQ‚„×:ϸ€ =ÝBÕ”îâ‚otÌsî Ü@K•q€DCšâ€îî! \c÷q‡o}Ä=tß2Or=Æ® j÷2TôÌ3i˜ È0*'S!Iú퇴÷÷Áe›L‡®ãø=2Ÿž÷… ©˜w35£Ž&¡–ë¬4ôÈjÞ1Ï£Úîüð°hÿø$#¸ÐÐ3€ .›æ;Ë»GÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿG@°Ááðáðáð6>ÑbÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ \ No newline at end of file diff -Nru shared-mime-info-1.15/tests/mime-detection/test.ttl shared-mime-info-2.0/tests/mime-detection/test.ttl --- shared-mime-info-1.15/tests/mime-detection/test.ttl 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.ttl 2020-05-06 14:11:14.284907300 +0000 @@ -0,0 +1,10 @@ +@prefix rdf: . +@prefix dc: . +@prefix ex: . + + + dc:title "RDF/XML Syntax Specification (Revised)" ; + ex:editor [ + ex:fullname "Dave Beckett"; + ex:homePage + ] . diff -Nru shared-mime-info-1.15/tests/mime-detection/test.ttx shared-mime-info-2.0/tests/mime-detection/test.ttx --- shared-mime-info-1.15/tests/mime-detection/test.ttx 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.ttx 2020-05-06 14:11:14.284907300 +0000 @@ -0,0 +1,8 @@ + + + + + + + + diff -Nru shared-mime-info-1.15/tests/mime-detection/test.twig shared-mime-info-2.0/tests/mime-detection/test.twig --- shared-mime-info-1.15/tests/mime-detection/test.twig 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.twig 2020-05-06 14:11:14.284907300 +0000 @@ -0,0 +1,7 @@ +{%extends 'site.html.twig' %} +{%block nav %} + +{%endblock%} diff -Nru shared-mime-info-1.15/tests/mime-detection/test.url shared-mime-info-2.0/tests/mime-detection/test.url --- shared-mime-info-1.15/tests/mime-detection/test.url 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.url 2020-05-06 14:11:14.284907300 +0000 @@ -0,0 +1,7 @@ +[DEFAULT] +BASEURL=http://www.foobar.co.uk/ +[InternetShortcut] +URL=http://www.foobar.co.uk/ +IDList= +[{000214A0-0000-0000-C000-000000000046}] +Prop3=19,2 diff -Nru shared-mime-info-1.15/tests/mime-detection/test.uue shared-mime-info-2.0/tests/mime-detection/test.uue --- shared-mime-info-1.15/tests/mime-detection/test.uue 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.uue 2020-05-06 14:11:14.284907300 +0000 @@ -0,0 +1,4 @@ +begin 644 hello +,2&5L;&\@5V]R;&0* +` +end diff -Nru shared-mime-info-1.15/tests/mime-detection/test.v shared-mime-info-2.0/tests/mime-detection/test.v --- shared-mime-info-1.15/tests/mime-detection/test.v 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.v 2020-05-06 14:11:14.284907300 +0000 @@ -0,0 +1,10 @@ +module main; + initial + begin + $display("Hello world!"); + $finish; + end +endmodule + +// from http://en.wikipedia.org/wiki/Verilog#Example +// Text is available under the Creative Commons Attribution-ShareAlike License diff -Nru shared-mime-info-1.15/tests/mime-detection/test.vala shared-mime-info-2.0/tests/mime-detection/test.vala --- shared-mime-info-1.15/tests/mime-detection/test.vala 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.vala 2020-05-06 14:11:14.285907300 +0000 @@ -0,0 +1,16 @@ +using GLib; + +public class Sample : Object { + public Sample () { + } + + public void run () { + stdout.printf ("Hello World\n"); + } + + static int main (string[] args) { + var sample = new Sample (); + sample.run (); + return 0; + } +} diff -Nru shared-mime-info-1.15/tests/mime-detection/test.vcf shared-mime-info-2.0/tests/mime-detection/test.vcf --- shared-mime-info-1.15/tests/mime-detection/test.vcf 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.vcf 2020-05-06 14:11:14.285907300 +0000 @@ -0,0 +1,7 @@ +BEGIN:VCARD +VERSION:4.0 +UID:urn:uuid:4fbe8971-0bc3-424c-9c26-36c3e1eff6b1 +FN:J. Doe +EMAIL;PID=1.1:jdoe@example.com +CLIENTPIDMAP:1;urn:uuid:53e374d9-337e-4727-8803-a1e9c14e0556 +END:VCARD diff -Nru shared-mime-info-1.15/tests/mime-detection/test-vpn.pcf shared-mime-info-2.0/tests/mime-detection/test-vpn.pcf --- shared-mime-info-1.15/tests/mime-detection/test-vpn.pcf 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test-vpn.pcf 2020-05-06 14:11:14.250907400 +0000 @@ -0,0 +1,13 @@ +[main] +Description=Location is anywhere +Host=123.123.123.123 +AuthType=1 +GroupName=foobar +GroupPwd= +EnableISPConnect=0 +ISPConnectType=0 +ISPConnect= +ISPCommand= +Username= +SaveUserPassword=0 +EnableBackup=1 Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.vsd and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.vsd differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.wav and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.wav differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.webp and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.webp differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.wim and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.wim differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.wps and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.wps differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.xar and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.xar differ diff -Nru shared-mime-info-1.15/tests/mime-detection/test.xbm shared-mime-info-2.0/tests/mime-detection/test.xbm --- shared-mime-info-1.15/tests/mime-detection/test.xbm 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.xbm 2020-05-06 14:11:14.287907400 +0000 @@ -0,0 +1,8 @@ +#define test_width 20 +#define test_height 20 +static unsigned char test_bits[] = { + 0x00, 0x01, 0x00, 0x40, 0x03, 0x00, 0xea, 0x97, 0x02, 0xe0, 0xff, 0x0a, + 0xec, 0xff, 0x0f, 0xf0, 0xff, 0x0f, 0xf4, 0xff, 0x0f, 0xe0, 0xff, 0x0b, + 0xe0, 0xff, 0x0f, 0xc0, 0xff, 0x0f, 0xc0, 0xff, 0x0f, 0x00, 0xff, 0x0f, + 0x00, 0xff, 0x05, 0xa0, 0x7f, 0x05, 0x40, 0x95, 0x04, 0x54, 0x2a, 0x00, + 0x50, 0x01, 0x00, 0x32, 0x00, 0x00, 0x09, 0x00, 0x00, 0xca, 0x01, 0x00 }; Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.xcf and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.xcf differ diff -Nru shared-mime-info-1.15/tests/mime-detection/test.xht shared-mime-info-2.0/tests/mime-detection/test.xht --- shared-mime-info-1.15/tests/mime-detection/test.xht 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.xht 2020-05-06 14:11:14.287907400 +0000 @@ -0,0 +1,14 @@ + + + + + + + Test case + + + +

Test case

+

This document is not detected as application/xhtml+xml.

+ + diff -Nru shared-mime-info-1.15/tests/mime-detection/test.xhtml shared-mime-info-2.0/tests/mime-detection/test.xhtml --- shared-mime-info-1.15/tests/mime-detection/test.xhtml 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.xhtml 2020-05-06 14:11:14.287907400 +0000 @@ -0,0 +1,14 @@ + + + + + + + Test case + + + +

Test case

+

This document is not detected as application/xhtml+xml.

+ + Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.xlr and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.xlr differ diff -Nru shared-mime-info-1.15/tests/mime-detection/test.xml.in shared-mime-info-2.0/tests/mime-detection/test.xml.in --- shared-mime-info-1.15/tests/mime-detection/test.xml.in 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.xml.in 2020-05-06 14:11:14.288907300 +0000 @@ -0,0 +1,2422 @@ + + + + + admin-tools + <_name>Administration Tools + <_description>This group is a collection of graphical administration tools for the system, such as for managing user accounts and configuring system hardware. + true + true + + authconfig-gtk + gnome-packagekit + system-config-boot + system-config-date + system-config-firewall + system-config-keyboard + system-config-language + system-config-lvm + system-config-network + system-config-rootpassword + system-config-users + cacti + dbench + etherape + ettercap-gtk + galternatives + gparted + gpointing-device-settings + kpackagekit + lat + lshw-gui + luma + ntop + pessulus + qtparted + system-config-kickstart + yumex + + + + afrikaans-support + <_name>Afrikaans Support + <_description/> + false + true + af + + aspell-af + autocorr-af + hunspell-af + hyphen-af + moodle-af + openoffice.org-langpack-af_ZA + + + + albanian-support + <_name>Albanian Support + <_description/> + false + true + sq + + hunspell-sq + moodle-sq + + + + amazigh-support + <_name>Amazigh Support + <_description/> + false + true + ber + + hunspell-ber + + + + arabic-support + <_name>Arabic Support + <_description/> + false + true + ar + + aspell-ar + eclipse-nls-ar + gcompris-sound-ar + hunspell-ar + kde-i18n-Arabic + kde-l10n-Arabic + moodle-ar + openoffice.org-langpack-ar + dejavu-sans-fonts + dejavu-sans-mono-fonts + kacst-fonts + paktype-fonts + m17n-db-arabic + scim-tables-arabic + + + + armenian-support + <_name>Armenian Support + <_description>This group is a collection of tools and resources of Armenian environments. + false + true + hy + + dejavu-sans-fonts + hunspell-hy + moodle-hy + m17n-db-armenian + + + + assamese-support + <_name>Assamese Support + <_description/> + false + true + as + + lohit-bengali-fonts + m17n-contrib-assamese + m17n-db-assamese + ibus-m17n + kde-l10n-Bengali + openoffice.org-langpack-as_IN + iok + + + + authoring-and-publishing + <_name>Authoring and Publishing + <_description>These tools allow you to create documents in the DocBook format and convert them into HTML, PDF, Postscript, and text. + false + true + + tex-cm-lgc + docbook-slides + docbook-style-dsssl + docbook-style-xsl + docbook-utils + docbook-utils-pdf + linuxdoc-tools + texlive + xhtml1-dtds + xmlto + abcm2ps + BibTool + conglomerate + dblatex + docbook2X + html401-dtds + kile + latex-mk + latexmk + lilypond + lout + ooo2txt + python-docutils + scribus + tetex-prosper + txt2rss + w3c-markup-validator + xdvik + xmlcopyeditor + + + + azerbaijani-support + <_name>Azerbaijani Support + <_description/> + false + true + az + + hunspell-az + + + + base + <_name>Base + <_description>This group includes a minimal set of packages. Useful for creating small router/firewall boxes, for example. + true + true + + at + authconfig + bc + bind-utils + bzip2 + crontabs + cyrus-sasl-plain + ed + logrotate + lsof + mailcap + man + NetworkManager + ntsysv + parted + pciutils + psacct + quota + tmpwatch + traceroute + aspell-en + hunspell-en + acpid + anacron + ccid + coolkey + cpuspeed + cryptsetup-luks + device-mapper-multipath + dhcpv6-client + dmraid + dos2unix + dosfstools + dump + eject + fbset + fedora-release-notes + finger + fprintd-pam + ftp + gnupg + hunspell + iptstate + irda-utils + irqbalance + jwhois + krb5-workstation + lftp + logwatch + man-pages + mcelog + mdadm + microcode_ctl + mlocate + mtr + nano + nc + nfs-utils + nss_db + nss_ldap + ntfs-3g + ntfsprogs + numactl + openssh-clients + pam_ccreds + pam_krb5 + pam_passwdqc + pam_pkcs11 + pam_smb + pcmciautils + pinfo + pm-utils + prctl + prelink + rdate + rdist + readahead + redhat-lsb + rng-utils + rsh + rsync + sendmail + setuptool + smartmontools + sos + specspo + stunnel + sudo + symlinks + system-config-firewall-tui + system-config-network-tui + talk + tcpdump + tcp_wrappers + telnet + time + tree + unix2dos + unzip + usbutils + vconfig + wget + which + wireless-tools + words + ypbind + yum-utils + zip + apmd + aspell + authd + bridge-utils + brltty + btrfs-progs + gnupg2 + gpart + gpgme + gpm + hardlink + hfsutils + iscsi-initiator-utils + jfsutils + kexec-tools + ksh + mgetty + mkbootdisk + mtools + pax + reiserfs-utils + squashfs-tools + star + tcsh + x86info + xfsprogs + yum-updatesd + + + + base-x + <_name>X Window System + <_description>Install this group of packages to use the base graphical (X) user interface. + true + true + + bitmap-fonts + desktop-backgrounds-basic + xorg-x11-drivers + xorg-x11-server-Xorg + xorg-x11-xauth + xorg-x11-xinit + authconfig-gtk + cups-pk-helper + firstboot + glx-utils + gnome-packagekit + kerneloops + krb5-auth-dialog + openssh-askpass + plymouth-system-theme + policycoreutils-gui + setroubleshoot + smolt-firstboot + system-config-date + system-config-firewall + system-config-network + system-config-printer + system-config-services + system-config-users + xorg-x11-utils + alltray + aterm + devilspie + gdm + gxmessage + lilyterm + lxpanel + roxterm + rss-glx + rss-glx-xscreensaver + rxvt + sakura + slim + switchdesk + system-config-display + system-switch-displaymanager + termit + tigervnc-server + uim-gtk2 + workrave + xdaliclock + xguest + xkeycaps + xlockmore + xorg-x11-apps + xorg-x11-resutils + xorg-x11-server-Xnest + xorg-x11-server-Xvfb + xorg-x11-twm + xorg-x11-xfs + xorg-x11-xfs-utils + xorg-x11-xsm + xscreensaver + xscreensaver-base + xscreensaver-extras + xscreensaver-gl-extras + xterm + + + + basque-support + <_name>Basque Support + <_description/> + false + true + eu + + autocorr-eu + gcompris-sound-eu + hunspell-eu + kde-l10n-Basque + koffice-langpack-eu + moodle-eu + openoffice.org-langpack-eu_ES + + + + belarusian-support + <_name>Belarusian Support + <_description/> + false + true + be + + hunspell-be + moodle-be + apanov-edrip-fonts + + + + bengali-support + <_name>Bengali Support + <_description/> + false + true + bn + + lohit-bengali-fonts + m17n-contrib-bengali + m17n-db-bengali + aspell-bn + hunspell-bn + ibus-m17n + kde-i18n-Bengali + moodle-bn + openoffice.org-langpack-bn + iok + + + + bhutanese-support + <_name>Bhutanese Support + <_description/> + false + true + dz + + jomolhari-fonts + openoffice.org-langpack-dz + + + + bosnian-support + <_name>Bosnian Support + <_description/> + false + true + bs + + moodle-bs + + + + brazilian-support + <_name>Brazilian Portuguese Support + <_description/> + false + true + pt_BR + + aspell-pt + autocorr-pt + eclipse-nls-pt_BR + gcompris-sound-pt + hunspell-pt + hyphen-pt + kde-i18n-Brazil + kde-l10n-Brazil + koffice-langpack-pt_BR + moodle-pt_br + mythes-pt + nqc-doc-pt + openoffice.org-langpack-pt_BR + + + + breton-support + <_name>Breton Support + <_description/> + false + true + br + + aspell-br + hunspell-br + LabPlot-doc-br + + + + british-support + <_name>English (UK) Support + <_description/> + false + true + en_GB + + kde-i18n-British + kde-l10n-British + koffice-langpack-en_GB + + + + buildsys-build + <_name>Buildsystem building group + <_description/> + false + false + + bash + bzip2 + coreutils + cpio + diffutils + fedora-release + findutils + gawk + gcc + gcc-c++ + grep + gzip + info + make + patch + redhat-rpm-config + rpm-build + sed + shadow-utils + tar + unzip + util-linux-ng + which + + + + bulgarian-support + <_name>Bulgarian Support + <_description/> + false + true + bg + + aspell-bg + autocorr-bg + eclipse-nls-bg + hunspell-bg + hyphen-bg + kde-i18n-Bulgarian + kde-l10n-Bulgarian + koffice-langpack-bg + moodle-bg + mythes-bg + openoffice.org-langpack-bg_BG + apanov-edrip-fonts + fonts-ISO8859-2 + fonts-ISO8859-2-100dpi + fonts-ISO8859-2-75dpi + + + + burmese-support + <_name>Myanmar (Burmese) Support + <_description/> + false + true + my + + padauk-fonts + myanmar3-unicode-fonts + + + + catalan-support + <_name>Catalan Support + <_description/> + false + true + ca + + aspell-ca + childsplay-alphabet_sounds_ca + hunspell-ca + hyphen-ca + kde-i18n-Catalan + kde-l10n-Catalan + koffice-langpack-ca + moodle-ca + mythes-ca + openoffice.org-langpack-ca_ES + tkgate-ca + + + + chichewa-support + <_name>Chichewa Support + <_description/> + false + true + ny + + hunspell-ny + + + + chinese-support + <_name>Chinese Support + <_description/> + false + true + zh + + cjkuni-ukai-fonts + cjkuni-uming-fonts + autocorr-zh + eclipse-nls-zh + eclipse-nls-zh_TW + ibus-chewing + ibus-pinyin + ibus-table-chinese + kde-i18n-Chinese + kde-i18n-Chinese-Big5 + kde-l10n-Chinese + kde-l10n-Chinese-Traditional + koffice-langpack-zh_CN + koffice-langpack-zh_TW + moodle-zh_cn + moodle-zh_tw + openoffice.org-langpack-zh_CN + openoffice.org-langpack-zh_TW + taipeifonts + gcin + ibus-table-cangjie + ibus-table-erbi + ibus-table-wubi + lv + m17n-db-chinese + scim-array + scim-fcitx + scim-pinyin + scim-python-pinyin + scim-python-xingma-cangjie + scim-python-xingma-erbi + scim-python-xingma-wubi + scim-python-xingma-zhengma + scim-tables-chinese-extra + stardict-dic-zh_CN + stardict-dic-zh_TW + wqy-bitmap-fonts + wqy-unibit-fonts + wqy-zenhei-fonts + + + + clustering + <_name>Clustering + <_description>Clustering Support + false + true + + cluster-cim + cluster-snmp + ipvsadm + modcluster + rgmanager + ricci + system-config-cluster + heartbeat + + + + coptic-support + <_name>Coptic Support + <_description/> + false + true + cop + + hunspell-cop + + + + core + <_name>Core + <_description>Smallest possible installation + true + false + + acl + attr + audit + authconfig + basesystem + bash + coreutils + cpio + cronie + dhclient + e2fsprogs + fedora-release + file + filesystem + glibc + initscripts + iproute + iprutils + iptables + iptables-ipv6 + iputils + kbd + libgcc + ncurses + openssh-server + passwd + policycoreutils + procps + readline + rootfiles + rpm + rsyslog + selinux-policy-targeted + setserial + setup + shadow-utils + sudo + util-linux-ng + vim-minimal + yum + efibootmgr + grub + ppc64-utils + s390utils + yaboot + silo + + + + croatian-support + <_name>Croatian Support + <_description/> + false + true + hr + + aspell-hr + hunspell-hr + hyphen-hr + moodle-hr + openoffice.org-langpack-hr_HR + fonts-ISO8859-2 + fonts-ISO8859-2-100dpi + fonts-ISO8859-2-75dpi + m17n-db-croatian + + + + czech-support + <_name>Czech Support + <_description/> + false + true + cs + + aspell-cs + autocorr-cs + eclipse-nls-cs + gcompris-sound-cs + hunspell-cs + hyphen-cs + kde-i18n-Czech + kde-l10n-Czech + koffice-langpack-cs + man-pages-cs + moodle-cs + mythes-cs + openoffice.org-langpack-cs_CZ + tkgate-cs + fonts-ISO8859-2 + fonts-ISO8859-2-100dpi + fonts-ISO8859-2-75dpi + stardict-dic-cs_CZ + + + + danish-support + <_name>Danish Support + <_description/> + false + true + da + + aspell-da + autocorr-da + eclipse-nls-da + gcompris-sound-da + hunspell-da + hyphen-da + kde-i18n-Danish + kde-l10n-Danish + koffice-langpack-da + moodle-da + mythes-da + openoffice.org-langpack-da_DK + m17n-db-danish + + + + development-libs + <_name>Development Libraries + <_description>The packages in this group are core libraries needed to develop applications. + false + true + + bzip2-devel + glibc-devel + ncurses-devel + pam-devel + readline-devel + zlib-devel + binutils-devel + boost-devel + coolkey-devel + cyrus-sasl-devel + db4-devel + dbus-cxx-devel + dbus-cxx-doc + dbus-cxx-tools + dbus-devel + expat-devel + gdbm-devel + geoclue-devel + gmp-devel + gpm-devel + gssdp-devel + gupnp-devel + gypsy-devel + hesiod-devel + krb5-devel + libacl-devel + libattr-devel + libcap-devel + libcurl-devel + libogg-devel + libselinux-devel + libuser-devel + libvorbis-devel + libxml2-devel + lockdev-devel + newt-devel + openldap-devel + openssl-devel + pciutils-devel + pcsc-lite-devel + perl-devel + python-devel + rpm-devel + slang-devel + check-devel + expatmm-devel + libdwarf-devel + libusb-devel + mona-devel + + + + development-tools + <_name>Development Tools + <_description>These tools include core development tools such as automake, gcc, perl, python, and debuggers. + false + true + + autoconf + automake + binutils + bison + flex + gcc + gcc-c++ + gdb + gettext + libtool + make + pkgconfig + redhat-rpm-config + rpm-build + strace + automake14 + automake15 + automake16 + automake17 + byacc + ccache + cscope + ctags + cvs + diffstat + doxygen + elfutils + gcc-gfortran + git + indent + intltool + ltrace + oprofile + oprofile-gui + patchutils + python-ldap + rcs + subversion + swig + systemtap + texinfo + valgrind + abicheck + alex + alleyoop + aplus-fsf + archmage + asa + astyle + bazaar + bigloo + bugzilla + buildbot + bzr + check + clips + clips-doc + clips-xclips + clipsmm-devel + clisp + cmake + cmucl + CodeAnalyst-gui + codeblocks + cogito + colordiff + coredumper + cpan-upload + cpanspec + cppunit + cproto + crossvc + curry + cvs2cl + cvs2svn + cvsgraph + cvsps + cvsweb + darcs + dejagnu + ecl + ElectricFence + elfinfo + email2trac + epydoc + eric + erlang + expect + flasm + fpc + frysk + frysk-gnome + ftnchek + gambas-ide + gauche + gcc-gnat + gcc-objc + gcl + gcl-emacs + gcl-xemacs + gforth + ghc + giggle + gnu-smalltalk + gphpedit + gprolog + gpsim + gputils + gtranslator + haddock + happy + highlight + hugs98 + iasl + imake + insight + ipython + jam + koji + koji-hub + koji-web + kuipc + lazarus + lcov + libdwarf-tools + lightning + livecd-tools + lua + lush + mach + manedit + mantis + mcrypt + meld + memtest86+ + mercurial + mlton + mock + monodevelop + monotone + mr + nasm + nemiver + nqc + nqc-doc + ocaml + oorexx + parrot + patchy + pax-utils + perl-perlmenu + perltidy + phpcs + pikdev + pl + plague + plague-client + plt-scheme + polyml + pscan + pungi + pylint + q + qgit + quilt + rapidsvn + regexxer + revisor + robodoc + rpmdevtools + rpmlint + sbcl + scanmem + scons + sigscheme + smarteiffel + splint + Sprog + srecord + subcommander + sunifdef + svn2cl + svnmailer + sysconftool + tailor + tclpro + tkcon + tkcvs + tla + tolua++ + trac + trac-git-plugin + trac-mercurial-plugin + translate-toolkit + ucblogo + utrac + virtaal + wxGlade + xbsql + xfce4-dev-tools + yap + yasm + zzuf + + + + dial-up + <_name>Dial-up Networking Support + <_description/> + false + true + + ppp + isdn4k-utils + lrzsz + minicom + rp-pppoe + wvdial + efax + pptp + statserial + + + + dns-server + <_name>DNS Name Server + <_description>This package group allows you to run a DNS name server (BIND) on the system. + false + true + + dnssec-conf + bind-chroot + bind + dnsperf + ldns + nsd + pdns + pdns-recursor + unbound + + + + dutch-support + <_name>Dutch Support + <_description/> + false + true + nl + + aspell-nl + autocorr-nl + childsplay-alphabet_sounds_nl + eclipse-nls-nl + gcompris-sound-nl + hunspell-nl + hyphen-nl + kde-i18n-Dutch + kde-l10n-Dutch + koffice-langpack-nl + LabPlot-doc-nl + moodle-nl + mythes-nl + nqc-doc-nl + openoffice.org-langpack-nl + tesseract-langpack-nl + + + + eclipse + <_name>Fedora Eclipse + <_description>Integrated Development Environments based on Eclipse. + false + true + + eclipse-cdt + eclipse-changelog + eclipse-jdt + eclipse-mylyn + eclipse-mylyn-java + eclipse-pde + eclipse-pydev + eclipse-rpm-editor + eclipse-subclipse + eclipse-cmakeed + eclipse-egit + eclipse-epic + eclipse-findbugs + eclipse-moreunit + eclipse-mylyn-trac + eclipse-photran + eclipse-phpeclipse + eclipse-quickrex + eclipse-rpmstubby + eclipse-shelled + eclipse-slide + + + + editors + <_name>Editors + <_description>Sometimes called text editors, these are programs that allow you to create and edit text files. This includes Emacs and Vi. + true + true + + vim-enhanced + cssed + emacs + emacs-auctex + emacs-bbdb + emacs-ess + emacs-muse + emacs-nxml-mode + emacs-vm + geany + gobby + jed + joe + leafpad + nedit + pida + poedit + psgml + scite + scribes + scribes-templates + vim-X11 + virtaal + xemacs + xemacs-ess + xemacs-muse + xemacs-packages-extra + xmlcopyeditor + zile + + + + education + <_name>Educational Software + <_description>Educational software for learning + false + true + + gcompris-sound-en + anki + childsplay + corrida + drgeo + drgeo-doc + fantasdic + gcompris + genchemlab + glglobe + gperiodic + gtypist + justmoon-gtk + kdeedu + kdeedu-kstars + kdeedu-math + mnemosyne + moodle + nightview + saoimage + skychart + starlab + stellarium + tuxtype2 + + + + electronic-lab + <_name>Electronic Lab + <_description>Design and Simulation tools for hardware engineers + false + true + + alliance + arm-gp2x-linux-binutils + arm-gp2x-linux-gcc + arm-gp2x-linux-gcc-c++ + arm-gp2x-linux-glibc + arm-gp2x-linux-kernel-headers + arm-gp2x-linux-SDL + arm-gp2x-linux-zlib + avarice + avr-binutils + avr-gcc + avr-gcc-c++ + avr-gdb + avrdude + dfu-programmer + dinotrace + drawtiming + electric + gds2pov + geda-docs + geda-examples + geda-gattrib + geda-gnetlist + geda-gschem + geda-gsymcheck + geda-symbols + geda-utils + gerbv + ghdl + gnucap + gresistor + gsim85 + gspiceui + gtkterm + gtkwave + gwave + irsim + iverilog + kicad + ktechlab + LabPlot + linsmith + magic + netgen + ngspice + octave-forge + pcb + perl-Hardware-Verilog-Parser + perl-Hardware-Vhdl-Lexer + perl-Hardware-Vhdl-Parser + perl-Hardware-Vhdl-Tidy + perl-ModelSim-List + perl-Perlilog + perl-SystemC-Vregs + perl-Verilog + perl-Verilog-CodeGen + perl-Verilog-Readmem + pharosc + pharosc-alliance + pharosc-magic + pharosc-synopsys + pharosc-xcircuit + picocom + pikdev + piklab + pikloops + qtoctave + qucs + sdcc + sk2py + tkcvs + toped + uisp + vhd2vl + vym + xcircuit + xorg-x11-fonts-100dpi + xorg-x11-fonts-ISO8859-1-100dpi + xorg-x11-fonts-ISO8859-9-100dpi + xorg-x11-fonts-Type1 + freehdl + kdesvn + minicom + planner + qemu + rfdump + + + + engineering-and-scientific + <_name>Engineering and Scientific + <_description>This group includes packages for performing mathematical and scientific computations and plotting, as well as unit conversion. + false + true + + gnuplot + units + asana-math-fonts + atlas + automaton + automaton-javadoc + blacs + blas + cdo + cernlib-utils + chemtool + dx + dx-samples + freefem++ + funtools + gabedit + galculator + gdl + geant321 + genius + geomview + ginac + GMT + GMT-coastlines-all + GMT-coastlines-full + GMT-coastlines-high + GMT-doc + gnome-chemistry-utils + gpredict + grace + grads + gridengine + gromacs + gromacs-mpi + gts + harminv + hdf + hdf5 + hmmer + jmol + kpolynome + kst + lagan + lam + lapack + libctl + libmatheval + libtcd + Macaulay2 + malaga + mathml-fonts + maxima + maxima-gui + mona + mona-emacs + mona-examples + mona-xemacs + ncl + nco + ncview + netcdf + numpy + octave + octave-forge + openbabel + opencv + orpie + osiv + paraview + paw + perl-bioperl + plotutils + pvm + pypop + python-biopython + qalculate-gtk + qalculate-kde + qcad + qtiplot + R + rrdtool + scalapack + scigraphica + scrip + seaview + sextractor + SIBsim4 + speedcrunch + stix-integrals-fonts + stix-pua-fonts + stix-sizes-fonts + stix-variants-fonts + tcd-utils + TeXmacs + tgif + tideEditor + vaspview + veusz + wcstools + wgrib + wgrib2 + wise2 + wvs-data + wxMaxima + xdrawchem + xtide + + + + esperanto-support + <_name>Esperanto Support + <_description/> + false + true + eo + + hunspell-eo + m17n-contrib-esperanto + + + + estonian-support + <_name>Estonian Support + <_description/> + false + true + et + + eclipse-nls-et + hunspell-ee + hyphen-et + kde-i18n-Estonian + kde-l10n-Estonian + koffice-langpack-et + moodle-et + openoffice.org-langpack-et_EE + apanov-edrip-fonts + fonts-ISO8859-2 + fonts-ISO8859-2-100dpi + fonts-ISO8859-2-75dpi + + + + ethiopic-support + <_name>Ethiopic Support + <_description/> + false + true + am + + abyssinica-fonts + m17n-db-amharic + scim-tables-amharic + senamirmir-washra-fantuwua-fonts + senamirmir-washra-fonts + senamirmir-washra-hiwua-fonts + senamirmir-washra-jiret-fonts + senamirmir-washra-tint-fonts + senamirmir-washra-wookianos-fonts + senamirmir-washra-yebse-fonts + senamirmir-washra-yigezu-bisrat-goffer-fonts + senamirmir-washra-yigezu-bisrat-gothic-fonts + senamirmir-washra-zelan-fonts + xorg-x11-fonts-ethiopic + + + + faeroese-support + <_name>Faeroese Support + <_description/> + false + true + fo + + aspell-fo + hunspell-fo + + + + fedora-packager + <_name>Fedora Packager + <_description>Tools and Utilities needed by a Fedora Packager + false + true + + bodhi-client + bzr + curl + cvs + fedora-packager + git + koji + make + mercurial + mock + plague-client + redhat-rpm-config + rpm-build + rpmdevtools + cpanspec + + + + fijian-support + <_name>Fijian Support + <_description/> + false + true + fj + + hunspell-fj + + + + filipino-support + <_name>Filipino Support + <_description/> + false + true + fil + + hunspell-tl + moodle-fil + + + + finnish-support + <_name>Finnish Support + <_description/> + false + true + fi + + autocorr-fi + eclipse-nls-fi + gcompris-sound-fi + kde-i18n-Finnish + kde-l10n-Finnish + koffice-langpack-fi + moodle-fi + mozvoikko + openoffice.org-langpack-fi_FI + openoffice.org-voikko + enchant-voikko + tmispell-voikko + + + + font-design + <_name>Font design and packaging + <_description>This group is a collection of tools used in the design, modification, manipulation, and packaging of fonts. + false + true + + fontforge + xgridfit + fontmatrix + fontpackages-devel + fonttools + fontypython + ghostscript + gimp + gimp-data-extras + gimp-help + gimp-help-browser + gnome-specimen + gucharmap + inkscape + perl-Font-TTF + poppler-utils + xgridfit-doc + bzr + cvs + darcs + freetype-demos + gbdfed + ghostscript-doc + ghostscript-gtk + giggle + git + meld + mercurial + nautilus-bzr + qgit + quilt + scribus + scribus-doc + subversion + xmbdfed + + + + fonts + <_name>Fonts + <_description>Fonts packages for rendering text on the desktop. + true + true + + abyssinica-fonts + cjkuni-uming-fonts + dejavu-sans-fonts + dejavu-sans-mono-fonts + dejavu-serif-fonts + jomolhari-fonts + kacst-fonts + khmeros-base-fonts + liberation-mono-fonts + liberation-sans-fonts + liberation-serif-fonts + lklug-fonts + lohit-bengali-fonts + lohit-gujarati-fonts + lohit-hindi-fonts + lohit-kannada-fonts + lohit-maithili-fonts + lohit-oriya-fonts + lohit-punjabi-fonts + lohit-tamil-fonts + lohit-telugu-fonts + padauk-fonts + paktype-fonts + smc-meera-fonts + stix-fonts + thai-scalable-waree-fonts + un-core-fonts-dotum + vlgothic-fonts + adf-accanthis-fonts + allgeyer-musiqwik-fonts + allgeyer-musisync-fonts + apa-new-athena-unicode-fonts + apanov-edrip-fonts + apanov-heuristica-fonts + aplus-fsf-KAPL-fonts + asana-math-fonts + baekmuk-ttf-batang-fonts + baekmuk-ttf-dotum-fonts + baekmuk-ttf-gulim-fonts + baekmuk-ttf-hline-fonts + beteckna-fonts + beteckna-lower-case-fonts + beteckna-small-caps-fonts + bitstream-vera-sans-fonts + bitstream-vera-sans-mono-fonts + bitstream-vera-serif-fonts + brettfont-fonts + cf-bonveno-fonts + chisholm-letterslaughing-fonts + chisholm-to-be-continued-fonts + cjkuni-ukai-fonts + conakry-fonts + ctan-cm-lgc-roman-fonts + ctan-cm-lgc-sans-fonts + ctan-cm-lgc-typewriter-fonts + ctan-kerkis-calligraphic-fonts + ctan-kerkis-sans-fonts + ctan-kerkis-serif-fonts + darkgarden-fonts + dejavu-lgc-sans-fonts + dejavu-lgc-sans-mono-fonts + dejavu-lgc-serif-fonts + denemo-music-fonts + dustin-domestic-manners-fonts + dustin-dustismo-roman-fonts + dustin-dustismo-sans-fonts + ecolier-court-fonts + ecolier-court-lignes-fonts + extremetuxracer-papercuts-fonts + extremetuxracer-papercuts-outline-fonts + freecol-imperator-fonts + freecol-shadowedblack-fonts + gfs-ambrosia-fonts + gfs-artemisia-fonts + gfs-baskerville-fonts + gfs-bodoni-classic-fonts + gfs-bodoni-fonts + gfs-complutum-fonts + gfs-decker-fonts + gfs-didot-classic-fonts + gfs-didot-fonts + gfs-eustace-fonts + gfs-fleischman-fonts + gfs-garaldus-fonts + gfs-gazis-fonts + gfs-jackson-fonts + gfs-neohellenic-fonts + gfs-nicefore-fonts + gfs-olga-fonts + gfs-philostratos-fonts + gfs-porson-fonts + gfs-pyrsos-fonts + gfs-solomos-fonts + gfs-theokritos-fonts + gnu-free-mono-fonts + gnu-free-sans-fonts + gnu-free-serif-fonts + google-droid-sans-fonts + google-droid-sans-mono-fonts + google-droid-serif-fonts + hanazono-fonts + hartke-aurulent-sans-fonts + hartke-aurulent-sans-mono-fonts + icelandic-fonts + inkboy-fonts + ipa-gothic-fonts + ipa-mincho-fonts + ipa-pgothic-fonts + ipa-pmincho-fonts + khmeros-battambang-fonts + khmeros-bokor-fonts + khmeros-handwritten-fonts + khmeros-metal-chrieng-fonts + khmeros-muol-fonts + khmeros-siemreap-fonts + kurdit-unikurd-web-fonts + levien-inconsolata-fonts + lilypond-aybabtu-fonts + lilypond-century-schoolbook-l-fonts + lilypond-emmentaler-fonts + lilypond-feta-alphabet-fonts + lilypond-feta-braces-fonts + lilypond-feta-fonts + lilypond-parmesan-fonts + linux-libertine-fonts + lohit-assamese-fonts + lohit-kashmiri-fonts + lohit-konkani-fonts + lohit-malayalam-fonts + lohit-marathi-fonts + lohit-nepali-fonts + lohit-sindhi-fonts + madan-fonts + mathml-fonts + mgopen-canonica-fonts + mgopen-cosmetica-fonts + mgopen-modata-fonts + mgopen-moderna-fonts + mscore-mscore-fonts + myanmar3-unicode-fonts + nafees-web-naskh-fonts + oflb-goudy-bookletter-1911-fonts + oflb-notcouriersans-fonts + oflb-prociono-fonts + oflb-riordonfancy-fonts + oldstandard-sfd-fonts + openoffice.org-opensymbol-fonts + roadstencil-fonts + samyak-devanagari-fonts + samyak-gujarati-fonts + samyak-malayalam-fonts + samyak-oriya-fonts + samyak-tamil-fonts + sarai-fonts + sazanami-gothic-fonts + sazanami-mincho-fonts + senamirmir-washra-fantuwua-fonts + senamirmir-washra-fonts + senamirmir-washra-hiwua-fonts + senamirmir-washra-jiret-fonts + senamirmir-washra-tint-fonts + senamirmir-washra-wookianos-fonts + senamirmir-washra-yebse-fonts + senamirmir-washra-yigezu-bisrat-goffer-fonts + senamirmir-washra-yigezu-bisrat-gothic-fonts + senamirmir-washra-zelan-fonts + serafettin-cartoon-fonts + sil-andika-fonts + sil-charis-compact-fonts + sil-charis-fonts + sil-doulos-fonts + sil-gentium-alt-fonts + sil-gentium-basic-book-fonts + sil-gentium-basic-fonts + sil-gentium-fonts + silkscreen-expanded-fonts + silkscreen-fonts + sj-delphine-fonts + sj-stevehand-fonts + smc-anjalioldlipi-fonts + smc-dyuthi-fonts + smc-kalyani-fonts + smc-rachana-fonts + smc-raghumalayalam-fonts + smc-suruma-fonts + sportrop-fonts + stix-integrals-fonts + stix-pua-fonts + stix-sizes-fonts + stix-variants-fonts + thibault-essays1743-fonts + thibault-isabella-fonts + thibault-rockets-fonts + thibault-staypuft-fonts + tibetan-machine-uni-fonts + tiresias-info-fonts + tiresias-info-z-fonts + tiresias-key-v2-fonts + tiresias-lp-fonts + tiresias-pc-fonts + tiresias-pc-z-fonts + tiresias-sign-fonts + tiresias-sign-z-fonts + tulrich-tuffy-fonts + un-core-fonts-batang + un-core-fonts-dinaru + un-core-fonts-graphic + un-core-fonts-gungseo + un-core-fonts-pilgi + un-extra-fonts-bom + un-extra-fonts-jamobatang + un-extra-fonts-jamodotum + un-extra-fonts-jamonovel + un-extra-fonts-jamosora + un-extra-fonts-pen + un-extra-fonts-penheulim + un-extra-fonts-pilgia + un-extra-fonts-shinmun + un-extra-fonts-taza + un-extra-fonts-vada + un-extra-fonts-yetgul + vlgothic-p-fonts + vollkorn-fonts + woodardworks-laconic-fonts + woodardworks-laconic-shadow-fonts + wqy-zenhei-fonts + yanone-kaffeesatz-fonts + yanone-tagesschrift-fonts + + + + french-support + <_name>French Support + <_description/> + false + true + fr + + aspell-fr + autocorr-fr + childsplay-alphabet_sounds_fr + eclipse-nls-fr + gcompris-sound-fr + hunspell-fr + hyphen-fr + kde-i18n-French + kde-l10n-French + koffice-langpack-fr + LabPlot-doc-fr + man-pages-fr + moodle-fr + moodle-fr_ca + mythes-fr + openoffice.org-langpack-fr + tesseract-langpack-fr + tkgate-fr + ecolier-court-fonts + ecolier-court-lignes-fonts + m17n-db-french + + + + frisian-support + <_name>Frisian Support + <_description/> + false + true + fy + + hunspell-fy + + + + friulian-support + <_name>Friulian Support + <_description/> + false + true + fur + + hunspell-fur + + + + ftp-server + <_name>FTP Server + <_description>These tools allow you to run an FTP server on the system. + false + true + + vsftpd + proftpd + pure-ftpd + xferstats + + + + gaelic-support + <_name>Gaelic Support + <_description/> + false + true + gd + + aspell-gd + hunspell-gd + + + + galician-support + <_name>Galician Support + <_description/> + false + true + gl + + aspell-gl + hunspell-gl + kde-l10n-Galician + koffice-langpack-gl + moodle-gl + openoffice.org-langpack-gl_ES + + + + games + <_name>Games and Entertainment + <_description>Various ways to relax and spend your free time. + true + true + + gnome-games + gnome-games-help + joystick + abe + abuse + adanaxisgpl + agistudio + alex4 + alienarena + alienblaster + alphabet-soup + amoebax + angrydd + ants + apricots + armacycles-ad + arrows + asc + asc-music + astromenace + asylum + atanks + atomix + atomorun + auriferous + ballbuster + ballz + barrage + beneath-a-steel-sky + beneath-a-steel-sky-cd + berusky + biloba + biniax + blobAndConquer + blobby + blobwars + BlockOutII + bolzplatz2006 + bombardier + boswars + boswars-addons + bsd-games + btanks + bygfoot + bzflag + ca-installer + cave9 + cdogs-sdl + celestia + cgoban + chess + clanbomber + clonekeen + coco-coq + colossus + crack-attack + CriticalMass + crossfire + crossfire-client + crystal-stacker + crystal-stacker-themes + csmash + cylindrix + cyphesis + dd2 + dgae + dopewars + drascula + duel3 + egoboo + ember + enigma + escape + extremetuxracer + fbg + fillets-ng + flight-of-the-amazon-queen + flight-of-the-amazon-queen-cd + FlightGear + flobopuyo + foobillard + fortune-mod + fRaBs + freeciv + freecol + freedink + freedoom + freedoom-freedm + freedroid + freedroidrpg + freetennis + frozen-bubble + gamazons + games-menus + gbrainy + gemdropx + gl-117 + glaxium + glest + glob2 + gnome-games-extra-data + gnome-hearts + gnubg + gnubik + gnuchess + gnugo + greyhounds + grhino + gweled + hedgewars + kbilliards + kcheckers + kcirbshooter + kdeaddons-atlantikdesigner + kdegames + kdegames3 + kitsune + KoboDeluxe + koules + lacewing + lbrickbuster2 + lincity-ng + liquidwar + lmarbles + londonlaw + lordsawar + lostlabyrinth + lpairs + lucidlife + lure + machineball + Maelstrom + magicmaze + magicor + manaworld + manaworld-music + maniadrive + maniadrive-music + maxr + MegaMek + methane + mirrormagic + monkey-bubble + monsterz + nagi + naturette + nazghul + nazghul-haxima + nethack + nethack-vultures + netpanzer + neverball + nexuiz + njam + nogravity + numptyphysics + oneko + openalchemist + openarena + openlierox + overgod + pachi + penguin-command + pengupop + pinball + pingus + pioneers + pipenightdreams + pipepanic + planets + poker2d + poker3d + powermanga + prboom + professor-is-missing + puzzles + pychess + PySolFC + PySolFC-cardsets + PySolFC-music + qascade + qgo + qstars + quake3 + quake3-demo + quarry + rafkill + raidem + raidem-music + Ri-li + rocksndiamonds + rogue + rott-shareware + scorched3d + scorchwentbonkers + scummvm + seahorse-adventures + sear + sergueis-destiny + shippy + sirius + six + slashem + slingshot + smashteroid + solarwolf + sopwith + spring + stormbaancoureur + supertux + supertuxkart + taxipilot + tecnoballz + teeworlds + tennix + TnL + tong + torcs + torcs-data-cars-extra + torcs-data-tracks-dirt + torcs-data-tracks-oval + trackballs + trackballs-music + tremulous + trophy + tunneler + tuxpuck + typespeed + ularn + ultimatestunts + uqm + urbanterror + vavoom + vdr-sudoku + vdrift + vegastrike + vegastrike-music + vodovod + warzone2100 + wastesedge + wesnoth + widelands + wordwarvi + worldofpadman + worminator + wormux + xaos + xarchon + xblast + xboard + xgalaxy + xgrav + xmoto + xpilot-ng + xpilot-ng-server + xplanet + xqf + xscorch + xstar + xteddy + xu4 + yofrankie-bge + zasx + + + + georgian-support + <_name>Georgian Support + <_description/> + false + true + ka + + dejavu-sans-fonts + moodle-ka + bpg-chveulebrivi-fonts + bpg-courier-fonts + bpg-glaho-fonts + dejavu-sans-mono-fonts + dejavu-serif-fonts + bpg-algeti-fonts + bpg-courier-s-fonts + bpg-elite-fonts + bpg-ingiri-fonts + bpg-nino-medium-cond-fonts + bpg-nino-medium-fonts + bpg-sans-fonts + bpg-sans-medium-fonts + bpg-sans-modern-fonts + bpg-sans-regular-fonts + bpg-serif-fonts + bpg-serif-modern-fonts + + + + german-support + <_name>German Support + <_description/> + false + true + de + + aspell-de + autocorr-de + childsplay-alphabet_sounds_de + eclipse-nls-de + gcompris-sound-de + hunspell-de + hyphen-de + kde-i18n-German + kde-l10n-German + koffice-langpack-de + LabPlot-doc-de + man-pages-de + moodle-de + moodle-de_du + mythes-de + nqc-doc-de + openoffice.org-langpack-de + tesseract-langpack-de + tkgate-de + + + + gnome-desktop + <_name>GNOME Desktop Environment + <_description>GNOME is a powerful graphical user interface which includes a panel, desktop, system icons, and a graphical file manager. + true + true + + control-center + fedora-gnome-theme + gnome-applets + gnome-panel + gnome-session + gnome-terminal + gvfs-fuse + metacity + nautilus + PolicyKit-gnome + yelp + ibus-gtk + scim-bridge-gtk + alacarte + at-spi + brasero-nautilus + bug-buddy + compiz-gnome + dasher + eog + evince + evince-djvu + file-roller + gcalctool + gdm + gdm-plugin-fingerprint + gdm-user-switch-applet + gedit + gnome-backgrounds + gnome-bluetooth + gnome-disk-utility + gnome-media + gnome-pilot + gnome-power-manager + gnome-screensaver + gnome-system-monitor + gnome-themes + gnome-user-docs + gnome-user-share + gnome-utils + gok + gst-mixer + gthumb + gtk2-engines + gucharmap + gvfs-archive + gvfs-gphoto2 + gvfs-smb + libcanberra-gtk2 + mousetweaks + nautilus-sendto + NetworkManager-gnome + notification-daemon + orca + pulseaudio-module-gconf + pulseaudio-module-x11 + tomboy + vino + xdg-user-dirs-gtk + zenity + avant-window-navigator + beagle-evolution + beagle-gnome + buoh + byzanz + deskbar-applet + esc + evince-dvi + file-browser-applet + gconf-editor + gdesklets + gedit-plugins + glipper + glunarclock + gmpc + gmrun + gnochm + gnome-applet-alarm-clock + gnome-applet-bubblemon + gnome-applet-cpufire + gnome-applet-music + gnome-applet-netspeed + gnome-applet-sensors + gnome-applet-timer + gnome-commander + gnome-device-manager + gnome-netstatus + gnome-phone-manager + gnome-pilot-conduits + gnome-schedule + gnome-theme-curvylooks + gnomesword + gnote + gnotime + gonvert + grsync + gtweakui + gvfs-obexftp + hamster-applet + istanbul + lock-keys-applet + nautilus-actions + nautilus-image-converter + nautilus-open-terminal + nautilus-search-tool + nautilus-sound-converter

c #621FAC", +", c #631B99", +"' c #5B1F8C", +") c #6637B8", +"! c #813DE3", +"~ c #8C63ED", +"{ c #AC53F3", +"] c #C756E9", +"^ c #B35574", +"/ c #894789", +"( c #915E95", +"_ c #905498", +": c #7B4AA6", +"< c #784F95", +"[ c #4B5381", +"} c #3B6392", +"| c #41657A", +"1 c #495378", +"2 c #5E3D96", +"3 c #413D87", +"4 c #60337A", +"5 c #6D1E72", +"6 c #653896", +"7 c #6F64C6", +"8 c #786DDB", +"9 c #7A6EDC", +"0 c #9782F7", +"a c #BB70ED", +"b c #995190", +"c c #7C639D", +"d c #925BA4", +"e c #796DA4", +"f c #66538D", +"g c #665988", +"h c #336286", +"i c #2F6F59", +"j c #357772", +"k c #4D7B61", +"l c #4E6072", +"m c #443880", +"n c #3D4B82", +"o c #3C487D", +"p c #5C569F", +"q c #5A70C0", +"r c #5E92E4", +"s c #5C9EEC", +"t c #8191FE", +"u c #889DFF", +"v c #903F97", +"w c #755EAD", +"x c #6D5E98", +"y c #7A6BA5", +"z c #62409C", +"A c #446385", +"B c #377C6E", +"C c #277E6D", +"D c #217D51", +"E c #267764", +"F c #1F6E70", +"G c #196175", +"H c #13585F", +"I c #29676C", +"J c #35657F", +"K c #578AA9", +"L c #5881D7", +"M c #5885F9", +"N c #5892ED", +"O c #679DEF", +"P c #A13989", +"Q c #9C497C", +"R c #795391", +"S c #5F5677", +"T c #515B7B", +"U c #43667C", +"V c #37775C", +"W c #276D5D", +"X c #2F6366", +"Y c #176C60", +"Z c #0F8352", +"` c #19784B", +" . c #276657", +".. c #216470", +"+. c #3A7880", +"@. c #4990A2", +"#. c #5A94B9", +"$. c #538BE0", +"%. c #5897CF", +"&. c #52C2ED", +"*. c #963871", +"=. c #AE4A7F", +"-. c #7C4F78", +";. c #5A3D5E", +">. c #62525E", +",. c #35677D", +"'. c #1C7261", +"). c #1F7349", +"!. c #216B57", +"~. c #136554", +"{. c #117550", +"]. c #2A7050", +"^. c #29694F", +"/. c #2B706B", +"(. c #3B7B73", +"_. c #458B8F", +":. c #3E8CC2", +"<. c #338AB3", +"[. c #42A6BD", +"}. c #5CADE2", +"|. c #A53A68", +"1. c #B2336F", +"2. c #754F70", +"3. c #622962", +"4. c #4C5064", +"5. c #3E4C5B", +"6. c #306156", +"7. c #2D5966", +"8. c #0F4A5E", +"9. c #1E5851", +"0. c #216D4A", +"a. c #2E7346", +"b. c #14755C", +"c. c #267D57", +"d. c #2AA064", +"e. c #4AAA95", +"f. c #3DA0AA", +"g. c #3B90CA", +"h. c #50A0E1", +"i. c #4AA4E8", +"j. c #BD365E", +"k. c #B05549", +"l. c #80395F", +"m. c #762D6B", +"n. c #544C5A", +"o. c #434A4B", +"p. c #28414E", +"q. c #28485F", +"r. c #1E5B5B", +"s. c #185558", +"t. c #367131", +"u. c #1A835D", +"v. c #188C5E", +"w. c #0C7F4C", +"x. c #279A7D", +"y. c #238A96", +"z. c #5093AE", +"A. c #449BCD", +"B. c #4CA0E7", +"C. c #56B1EA", +"D. c #BB5D67", +"E. c #B2616D", +"F. c #A0406C", +"G. c #6F1C58", +"H. c #703C48", +"I. c #583C34", +"J. c #3C5446", +"K. c #25514E", +"L. c #17494D", +"M. c #20573F", +"N. c #3D7F2A", +"O. c #248739", +"P. c #218944", +"Q. c #26AB52", +"R. c #2BC361", +"S. c #19AF91", +"T. c #27AEA2", +"U. c #4CAEB4", +"V. c #3EB4D0", +"W. c #42B5DC", +"X. c #C25085", +"Y. c #BD556A", +"Z. c #B5405A", +"`. c #A22558", +" + c #7C3B48", +".+ c #6F3848", +"++ c #474F44", +"@+ c #374748", +"#+ c #1E454B", +"$+ c #3A6939", +"%+ c #2B8337", +"&+ c #20A945", +"*+ c #1EA94E", +"=+ c #31BF5A", +"-+ c #1ECE6A", +";+ c #2FBB93", +">+ c #2FB3A6", +",+ c #53B9D8", +"'+ c #36B2C6", +")+ c #39C0DE", +"!+ c #E85387", +"~+ c #BD417A", +"{+ c #CC4271", +"]+ c #982661", +"^+ c #9F2161", +"/+ c #7A3657", +"(+ c #4B595B", +"_+ c #4F696F", +":+ c #356275", +"<+ c #20654F", +"[+ c #2E9252", +"}+ c #35AA4C", +"|+ c #20AA49", +"1+ c #38BB5B", +"2+ c #48BB88", +"3+ c #52B891", +"4+ c #54B0BF", +"5+ c #4EB2DC", +"6+ c #56B1D3", +"7+ c #4C95E3", +"8+ c #E53C83", +"9+ c #CE4970", +"0+ c #C33E58", +"a+ c #A61844", +"b+ c #8E323F", +"c+ c #7C3D6F", +"d+ c #5C5274", +"e+ c #4A5A9A", +"f+ c #34617D", +"g+ c #347F6A", +"h+ c #279167", +"i+ c #2F9F77", +"j+ c #28A086", +"k+ c #42916D", +"l+ c #5CA591", +"m+ c #60A9B3", +"n+ c #4B94C7", +"o+ c #4390CA", +"p+ c #4A9ACC", +"q+ c #618BC5", +"r+ c #C5598A", +"s+ c #DC5576", +"t+ c #C12E36", +"u+ c #A22736", +"v+ c #A4374F", +"w+ c #842D67", +"x+ c #5E3D7D", +"y+ c #464990", +"z+ c #395C89", +"A+ c #305E71", +"B+ c #309F70", +"C+ c #3DAA7E", +"D+ c #409985", +"E+ c #388584", +"F+ c #5C8CAB", +"G+ c #6C9291", +"H+ c #4A7BA9", +"I+ c #4D7AB9", +"J+ c #5081BC", +"K+ c #5786B8", +"L+ c #DD5773", +"M+ c #F0385F", +"N+ c #DB323D", +"O+ c #CA2540", +"P+ c #A64D46", +"Q+ c #7A4A68", +"R+ c #465990", +"S+ c #425A80", +"T+ c #287884", +"U+ c #276388", +"V+ c #3C9293", +"W+ c #488C7B", +"X+ c #5A858E", +"Y+ c #589480", +"Z+ c #6A898B", +"`+ c #5476B1", +" @ c #5076BE", +".@ c #4479C7", +"+@ c #4475B4", +"@@ c #5772C1", +"#@ c #D35B6A", +"$@ c #E8414E", +"%@ c #C94E4A", +"&@ c #C34749", +"*@ c #924D5E", +"=@ c #5C426E", +"-@ c #3B4C82", +";@ c #4B528A", +">@ c #306AB0", +",@ c #34689B", +"'@ c #515390", +")@ c #655E86", +"!@ c #5F6597", +"~@ c #7373A8", +"{@ c #6A59A6", +"]@ c #6057AD", +"^@ c #6859BB", +"/@ c #5F61BA", +"(@ c #6A6EC7", +"_@ c #545AC1", +":@ c #CF634C", +"<@ c #CB6D41", +"[@ c #B85632", +"}@ c #9C4B3F", +"|@ c #7C5D48", +"1@ c #764F50", +"2@ c #605D89", +"3@ c #454186", +"4@ c #575DA2", +"5@ c #4F5CA2", +"6@ c #6E4F8B", +"7@ c #6D6CA2", +"8@ c #7E6EAD", +"9@ c #6A67AC", +"0@ c #8060A3", +"a@ c #7C67B4", +"b@ c #9046B9", +"c@ c #7F40D6", +"d@ c #6C58CA", +"e@ c #6241CD", +"f@ c #BB4F2A", +"g@ c #C25A1E", +"h@ c #984F43", +"i@ c #7A463B", +"j@ c #745C5E", +"k@ c #77636C", +"l@ c #505B70", +"m@ c #513F78", +"n@ c #555297", +"o@ c #6B52AE", +"p@ c #7C5888", +"q@ c #914095", +"r@ c #9D37BC", +"s@ c #9D51AC", +"t@ c #804AB1", +"u@ c #964FBE", +"v@ c #A849C7", +"w@ c #932EBE", +"x@ c #954ACB", +"y@ c #7B41D1", +"z@ c #B95529", +"A@ c #B45228", +"B@ c #8C403B", +"C@ c #724E41", +"D@ c #7E5958", +"E@ c #6F6169", +"F@ c #6B4092", +"G@ c #584086", +"H@ c #423892", +"I@ c #664BAB", +"J@ c #923992", +"K@ c #AD4592", +"L@ c #A435A7", +"M@ c #9D35B0", +"N@ c #9A38C9", +"O@ c #9A39DC", +"P@ c #9E34C4", +"Q@ c #983ACD", +"R@ c #A234DB", +"S@ c #9139D3", +"T@ c #BA6C19", +"U@ c #B05D17", +"V@ c #8C4423", +"W@ c #635748", +"X@ c #5B4154", +"Y@ c #714760", +"Z@ c #503A7E", +"`@ c #4B3B90", +" # c #5640A2", +".# c #5840A7", +"+# c #85329C", +"@# c #B120B6", +"## c #A321B5", +"$# c #BB3BB9", +"%# c #9921CA", +"&# c #B423CE", +"*# c #AA1CD1", +"=# c #A22DDD", +"-# c #AD37E1", +";# c #B118EC", +"># c #C1610F", +",# c #9B5106", +"'# c #8E4F22", +")# c #5E4328", +"!# c #713857", +"~# c #694D74", +"{# c #494E79", +"]# c #465484", +"^# c #4F5DA0", +"/# c #683B98", +"(# c #A024A5", +"_# c #AD1FBC", +":# c #AA2AB9", +"<# c #AD17BA", +"[# c #BA16C6", +"}# c #BF00DF", +"|# c #A500E3", +"1# c #B81AE4", +"2# c #D119F7", +"3# c #D315F2", +" . + @ # $ % & * = - ; > , ' ) ! ~ { ] ", +"^ / ( _ : < [ } | 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 ` ...+.@.#.$.%.&.", +"*.=.-.;.>.,.'.).!.~.{.].^./.(._.:.<.[.}.", +"|.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.`. +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+", +"!+~+{+]+^+/+(+_+:+<+[+}+|+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+`+ @.@+@@@", +"#@$@%@&@*@=@-@;@>@,@'@)@!@~@{@]@^@/@(@_@", +":@<@[@}@|@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@`@ #.#+#@###$#%#&#*#=#-#;#", +">#,#'#)#!#~#{#]#^#/#(#_#:#<#[#}#|#1#2#3#"}; diff -Nru shared-mime-info-1.15/tests/mime-detection/test.xsl shared-mime-info-2.0/tests/mime-detection/test.xsl --- shared-mime-info-1.15/tests/mime-detection/test.xsl 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.xsl 2020-05-06 14:11:14.288907300 +0000 @@ -0,0 +1,8 @@ + + + + + + + + Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.xwd and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.xwd differ diff -Nru shared-mime-info-1.15/tests/mime-detection/test.yaml shared-mime-info-2.0/tests/mime-detection/test.yaml --- shared-mime-info-1.15/tests/mime-detection/test.yaml 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/test.yaml 2020-05-06 14:11:14.289907200 +0000 @@ -0,0 +1,3 @@ +%YAML 1.2 +--- +- Hello world Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.zip and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.zip differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.zst and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.zst differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/test.zz and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/test.zz differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/text1.PS.gz and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/text1.PS.gz differ diff -Nru shared-mime-info-1.15/tests/mime-detection/text-iso8859-15.txt shared-mime-info-2.0/tests/mime-detection/text-iso8859-15.txt --- shared-mime-info-1.15/tests/mime-detection/text-iso8859-15.txt 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/text-iso8859-15.txt 2020-05-06 14:11:14.291907300 +0000 @@ -0,0 +1,2 @@ +some text in a certain encoding 1234567890. +some more text with non-ASCII: öäüÖÄÜ diff -Nru shared-mime-info-1.15/tests/mime-detection/text.pdf shared-mime-info-2.0/tests/mime-detection/text.pdf --- shared-mime-info-1.15/tests/mime-detection/text.pdf 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/text.pdf 2020-05-06 14:11:14.292907200 +0000 @@ -0,0 +1,1124 @@ +%PDF-1.4 +%µí®û +3 0 obj +<< +/Length 1480 +>> +stream +/GS1 gs +q +q +BT +0.000 0.000 0.000 rg +11.00 0.00 0.00 11.00 56.69 745.93 Tm +/F8 1 Tf +[(\1\2\3\4) 1 +(\5\6\7\10) 1 +(\11) 1 +(\12) 1 +(\4) 1 +(\7\12) 1 +(\13\3\14) 1 +(\15\4) 1 +(\16) 1 +(\7\17\4) 1 +(\20\17\21) 1 +(\22) 1 +(\17\23\24) 1 +(\25\17\20\17)] TJ +ET +Q +Q +q +q +BT +0.000 0.000 0.000 rg +11.00 0.00 0.00 11.00 482.33 745.93 Tm +/F8 1 Tf +[(\26) -1 +(\14) 1 +(\27) 1 +(\4) 1 +(\6\30) 1 +(\6\11) 1 +(\23\6\30)] TJ +ET +Q +Q +0.000 0.000 0.000 RG +1.00 w 0 J 0 j 11.00 M +[]0.00 d +56.69 736.98 m +538.58 736.98 l +S +q +q +BT +0.000 0.000 0.000 rg +9.00 0.00 0.00 9.00 56.69 714.79 Tm +/F12 1 Tf +[(\1) -1 +(\2) -1 +(\3) -1 +(\4) -1 +(\5) -1 +(\6) -1 +(\4) -1 +(\7) -1 +(\6) -1 +(\5) -1 +(\10) -1 +(\11) -1 +(\5) -1 +(\12) -1 +(\5) -1 +(\13) -1 +(\4) -1 +(\14) -1 +(\6) -1 +(\12) -1 +(\10) -1 +(\11) -1 +(\5) -1 +(\4) -1 +(\11) -1 +(\13) -1 +(\2) -1 +(\15) -1 +(\10) -1 +(\11) -1 +(\16) -1 +(\5) -1 +(\17) -1 +(\20) -1 +(\21) -1 +(\22) -1 +(\23) -1 +(\24) -1 +(\25) -1 +(\26) -1 +(\27) -1 +(\30) -1 +(\31)] TJ +ET +Q +Q +q +q +BT +0.000 0.000 0.000 rg +9.00 0.00 0.00 9.00 56.69 703.94 Tm +/F12 1 Tf +[(\1) -1 +(\2) -1 +(\3) -1 +(\4) -1 +(\5) -1 +(\3) -1 +(\2) -1 +(\14) -1 +(\4) -1 +(\5) -1 +(\6) -1 +(\4) -1 +(\7) -1 +(\6) -1 +(\5) -1 +(\32) -1 +(\10) -1 +(\6) -1 +(\33) -1 +(\5) -1 +(\11) -1 +(\2) -1 +(\11) -1 +(\34) -1 +(\35) -1 +(\36) -1 +(\37) -1 +(\40) -1 +(\40) -1 +(\41) -1 +(\5) -1 +(\42) -1 +(\43) -1 +(\44) -1 +(\45) -1 +(\46) -1 +(\47)] TJ +ET +Q +Q +endstream +endobj +4 0 obj +<< +/ProcSet [/PDF /Text ] +/Font << +/F12 12 0 R +/F8 8 0 R +>> +/ExtGState << +/GS1 1 0 R +>> +>> +endobj +13 0 obj +<< +/Length 14 0 R +/Length1 5273 +/Length2 15 0 R +/Length3 0 +>> +stream +%!PS-AdobeFont-1.0: LuxiMono 1.2 +%%CreationDate: Mon Nov 12 2001 +% Copyright Copyright (c) 2001 by Bigelow & Holmes Inc. Instructions copyright (c) 2001 by URW++. +% Copyright (c) 2001 by Bigelow & Holmes Inc. Instructions copyright (c) 2001 by URW++. +12 dict begin +/FontInfo 10 dict dup begin +/version (1.2) readonly def +/Notice (Copyright (c) 2001 by Bigelow & Holmes Inc. Instructions copyright (c) 2001 by URW++.) readonly def +/Copyright (Copyright Copyright (c) 2001 by Bigelow & Holmes Inc. Instructions copyright (c) 2001 by URW++.) readonly def +/FullName (Luxi Mono Regular) readonly def +/FamilyName (Luxi Mono) readonly def +/Weight (Regular) readonly def +/ItalicAngle 0.0 def +/isFixedPitch true def +/UnderlinePosition -88 def +/UnderlineThickness 83 def +end readonly def +/FontName /LuxiMono def +/PaintType 0 def +/WMode 0 def +/FontBBox {0 -211 600 993} readonly def +/FontType 1 def +/FontMatrix [0.001 0.0 0.0 0.001 0.0 0.0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 65 /A put +dup 66 /B put +dup 67 /C put +dup 68 /D put +dup 69 /E put +dup 70 /F put +dup 71 /G put +dup 72 /H put +dup 73 /I put +dup 74 /J put +dup 75 /K put +dup 76 /L put +dup 77 /M put +dup 78 /N put +dup 79 /O put +dup 80 /P put +dup 81 /Q put +dup 82 /R put +dup 83 /S put +dup 84 /T put +dup 85 /U put +dup 86 /V put +dup 87 /W put +dup 88 /X put +dup 89 /Y put +dup 90 /Z put +dup 198 /AE put +dup 140 /OE put +dup 216 /Oslash put +dup 196 /Adieresis put +dup 193 /Aacute put +dup 192 /Agrave put +dup 194 /Acircumflex put +dup 195 /Atilde put +dup 197 /Aring put +dup 199 /Ccedilla put +dup 208 /Eth put +dup 203 /Edieresis put +dup 201 /Eacute put +dup 200 /Egrave put +dup 202 /Ecircumflex put +dup 207 /Idieresis put +dup 205 /Iacute put +dup 204 /Igrave put +dup 206 /Icircumflex put +dup 209 /Ntilde put +dup 214 /Odieresis put +dup 211 /Oacute put +dup 210 /Ograve put +dup 212 /Ocircumflex put +dup 213 /Otilde put +dup 138 /Scaron put +dup 220 /Udieresis put +dup 218 /Uacute put +dup 217 /Ugrave put +dup 219 /Ucircumflex put +dup 221 /Yacute put +dup 222 /Thorn put +dup 159 /Ydieresis put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 106 /j put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 113 /q put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 119 /w put +dup 120 /x put +dup 121 /y put +dup 122 /z put +dup 230 /ae put +dup 156 /oe put +dup 248 /oslash put +dup 223 /germandbls put +dup 228 /adieresis put +dup 225 /aacute put +dup 224 /agrave put +dup 226 /acircumflex put +dup 227 /atilde put +dup 229 /aring put +dup 231 /ccedilla put +dup 235 /edieresis put +dup 233 /eacute put +dup 232 /egrave put +dup 234 /ecircumflex put +dup 239 /idieresis put +dup 237 /iacute put +dup 236 /igrave put +dup 238 /icircumflex put +dup 241 /ntilde put +dup 246 /odieresis put +dup 243 /oacute put +dup 242 /ograve put +dup 244 /ocircumflex put +dup 245 /otilde put +dup 154 /scaron put +dup 252 /udieresis put +dup 250 /uacute put +dup 249 /ugrave put +dup 251 /ucircumflex put +dup 253 /yacute put +dup 240 /eth put +dup 254 /thorn put +dup 255 /ydieresis put +dup 49 /one put +dup 50 /two put +dup 51 /three put +dup 52 /four put +dup 53 /five put +dup 54 /six put +dup 55 /seven put +dup 56 /eight put +dup 57 /nine put +dup 48 /zero put +dup 163 /sterling put +dup 36 /dollar put +dup 162 /cent put +dup 131 /florin put +dup 128 /Euro put +dup 165 /yen put +dup 185 /onesuperior put +dup 178 /twosuperior put +dup 179 /threesuperior put +dup 46 /period put +dup 58 /colon put +dup 133 /ellipsis put +dup 44 /comma put +dup 59 /semicolon put +dup 145 /quoteleft put +dup 148 /quotedblright put +dup 147 /quotedblleft put +dup 132 /quotedblbase put +dup 33 /exclam put +dup 161 /exclamdown put +dup 63 /question put +dup 191 /questiondown put +dup 187 /guillemotright put +dup 171 /guillemotleft put +dup 155 /guilsinglright put +dup 139 /guilsinglleft put +dup 47 /slash put +dup 45 /hyphen put +dup 173 /sfthyphen put +dup 150 /endash put +dup 151 /emdash put +dup 40 /parenleft put +dup 41 /parenright put +dup 91 /bracketleft put +dup 93 /bracketright put +dup 38 /ampersand put +dup 167 /section put +dup 134 /dagger put +dup 135 /daggerdbl put +dup 42 /asterisk put +dup 39 /quotesingle put +dup 34 /quotedbl put +dup 64 /at put +dup 35 /numbersign put +dup 176 /degree put +dup 43 /plus put +dup 215 /multiply put +dup 247 /divide put +dup 61 /equal put +dup 153 /trademark put +dup 182 /paragraph put +dup 164 /currency put +dup 130 /quotesinglbase put +dup 146 /quoteright put +dup 123 /braceleft put +dup 125 /braceright put +dup 170 /ordfeminine put +dup 186 /ordmasculine put +dup 177 /plusminus put +dup 189 /onehalf put +dup 188 /onequarter put +dup 190 /threequarters put +dup 37 /percent put +dup 137 /perthousand put +dup 92 /backslash put +dup 168 /dieresis put +dup 180 /acute put +dup 96 /grave put +dup 136 /circumflex put +dup 152 /tilde put +dup 184 /cedilla put +dup 169 /copyright put +dup 174 /registered put +dup 32 /space put +dup 160 /nbspace put +dup 149 /bullet put +dup 60 /less put +dup 62 /greater put +dup 172 /logicalnot put +dup 94 /asciicircum put +dup 124 /bar put +dup 166 /brokenbar put +dup 95 /underscore put +dup 126 /asciitilde put +dup 181 /mu put +readonly def +/UniqueID 5078983 def +currentdict end +currentfile eexec é ×`£Â,ñùÜiš"Ã[[5íj¢5“ÇmTÊ»^”+÷ÖÝ„ñfK‰iœt´rÞŸŽmù%öÄòéñÆ9´Û©ˆí*Äÿ++Þ`[Žã&NÝfA-O!ÆJÅ"½ü|UùÃóåY+; “Ó<›úíÒÔž‰ªº¨2â?.‘¢P2QhnD´àtw•=y0)n*[þ Y]É~ ‰ÎØ×øRÿœÜzYŒiî[AX¡m2Ø;ô|þåJèCÁÿ‘‘ ø_Ül&ÍI2ÿûϕ׬Ž·&¨%mœ´ŠáQº~ºUkÈ–b!èMál-Ao6fWDŪ„ +ŒžJi~(…dº¿Ÿ"Q9©w‚_V¼DÀ|xÅÍq×…™ÊÔa§ÛS›˜C=œ¤_j¦}85Qršï^'{ŒüöX9ëin;[d˜q)Çñ•Dj‰‹ Ž Cþ¿çMÄ¡‚Ž`é¾Zx]mõ@Ï +æ_.ù%ý'Þc&‘`óX¯¦ÎÁÁ!ñî+áŒÜ7Å’ƒ¾wNû˜c¾Þ­‚)äY¼n-®ê£2èGª÷kgÉÈLôYÈàW\¾ï‰b¹jlè®xLçrF÷¼h¢¤´öB¬:´tŽ5-èU_Y³lh¬¤!‚Ðéü"{¶?k-ЀѮØÂ[m|m¹á#gð¹ÊÂz4®Ž²˜ª”®ƒw‡\P½Cݹ:-òaEkK”S@Èy ^Þ\8(Å^$M¦%}ÐÒÃ'J5üùl¿fkŒE‚rŸØÉæÑøJ4iås/ Ïí´ØŠ¥Uá\ñž,§»"”Ùš‘‚Ø—×<&/b) i7Dønå\ôº/Wœh%¹ú‘%X„É¥ +rŽ4ŽåëO7IÃÒzÖ¦††Ï2¿ûEï§5Κà6~j#›…ýué.,}ŠaŠß´‚r3zë¨o™*6c°ÞñhÚuºÛ@q As À™ Ê„ïQjÓNZáO­óãäN­Fa4#$¿àâÛm2Ð8®SK¾$ µ¿­‰Ì+/f!D™6Ƈ†¥èÁy¶CäÐæ„›ü‰è–±Ã5mÙèü¶–‘ªö¾º$Ö+Ÿ&mV @‰â +Ÿ5­Je§7a«¾à÷ï&í5e¢U£¥¥qC—šîØÍR¦žNäy_>àÊ!¹ôÑfx:šõK¶Åg“*1—ã(Æ榺ڡf©R–O1ýi‚úÑâ¤Q*Ÿ'B3²ûw +:tíc ®³d)Щ[Øö(ñïN?Eµ¯ÉcŠF¿†âtc­øØpÏ6rÈ?턹gÎ1Åñž6çz³”j¡Ýéz‡Ïq¿¯%©¿Úw9úµX5¨¸®ÑfòD^ «Ë¨K + ÈÍ'x¼>Lô˜äT÷RÎtºÇ +Ì´À“…JÇ/(ðí"hV+aóÂî4DÌä¤aÊËc(Ǩûv\J‹]¥«™¯ƒÌ{vœešyJ|>ø’Àì.¢ý¬ÆæÂÀ'‡èÄ}ÜØNŠ£»‰v@BïÈ$žÑ†»¥ãÇÕ9LÕ~%~S‡R¾> E6fp`¶Jh‹k#Lì–ð–q™›0tçIE¾G&<ö³^sFÛ˜TÔ>áCðÿ„…ŽW•m¸cdM6Ÿ¢j™›çUø!“+èÁö™^Î5›ìŒ§#.pÃá ¯Iƒ§¢òXRf¹¯<Mpµ6cèhü¯“"àŸð—{b£˜lfÐô¦è¢×7ll` ž1ð®¥lÄ.0ýß$þ©\…™Ñ@‚JëŸþ +w‘Å "èáX˜Ÿ®9¤=á½èñ?Þ;݆[ìd>cO=° ÿFWµ\öJiW9­âP‹¶Sœ«‘ùUÑ[¤u8H` ¼°ࢥ<ŵɋ+ –ÓÜ®9KÛ„¦·Ò:ÐqN­oLtþsQ©Úæ¦0þª~ÒºÛÔwžw¸fï\ÖÑzygO?Zì›ÀH +æûÒÝóÛM#O“ŠOµöÍ^#±Qè›aVÍÆIÐ6Ú8‰~&éâ¥áaØHJ «Ùs«d–FvšSKlŠÕÊ[Å£B6Þ2ó?G!C¯F(窑)è™ <…ÕÓÈjö’³ƒ$?Wõ´˜Ðn‹ÄuÖÿ×ÛÔP3TLÇqµd÷²e²¼)+¤ýIǧ§£odkÍìµæ1X¦ÛtK’YwI'ùv(Ö!¦OmõýcwJv¤íÐËð<*ëâ³d)}Š@‰êª}ùÍM2ã…%ÐåŸqˆºCmë³ÐP·Ò²ØBÞ(æÔm'?dû+šP†9ü>®!²öYV„tÆ ï»RC×IosàîJ:Ctn{šz±³—Mî‚T7—»³Ð“Ú¼ï9Â|è«rŒÉqÎï·j$íÊVJ1ÈRV>¤éõ0ÈÊ.&ò×*ð`iõ ù—ȇ>ºÍ—L‹Ø]XmÞŽbAd‹²Mü;¬×O«yîž¾0ºŒq^Y@’x“²yw`c4ÛæÍ4ŽVµÎ¹¬ùïzb|º]µè™½AE2žFð¹„s6U?*5®™-B×®M¦nuÍÒ<­VÔÅv’M[éL*—K´nXEOß\~½¡c.Ý5?ÿ÷RQ“(jšö^)yÏî™Ùû<±ü.²Wv±©¡šCHÕCØAD9’-‰åhÖè:Wýv€-ÀÓ1‚[¿Ðo*°=Èò¨t#ˆpt +Ó¸•BbUG\;Ʊìwº‹»j‰Yªùš)iÄà£!M'×Î’ ×ïèãœÔ,Ãc–Š½ÙxóŒ/p¶ã†€ˆ ˜&él1ñ2[¿øýJY2pIý©xÉÍçמV^¾É øë±,køPX…[»üîreQ˜u•KŸDûL(§4º¯::d͕؈K2Cñ8üèk%cÂË­°O@6° ‹†?¦žˆÓ³d¯™Ê(áÐ#S‘X·ÌÄ ,¾g{46°zɽ[‚ð.¸È¿™âôc™LÆ + ¾©¦N,½–a@ô«óaÖ(E÷/«špYÉnpÜ$iîÚ®9‚¦KÃÉè©‹4ØÚï6¹áõ^?V—ïože H !Èñ†Gì#VŽÞ "åE$ðKã}ø_¦3w ŽWà;UOÛ@ð.†%žŠw2 §ê¯@2á¾é¤S+&¹ÈÀc9m¸%§1Á‹1¨C“éì´òyȄš^YnÑDÐÄ·ØÏFä>5ï õh’ã"ÓEû{ËÜf_ü’JÔìcŠð•“3¥NbÆŽÁ… G×>‡Õ¦ábƒ}üáavÍâÇS¼±Î LñÿH0÷HK‹4ak`ÍT³b>QŒ¼ò•ÄÕFçƒø„Ó‹†(eèµq9cuï«È:JŽá¾b>Ý]¯X__:ž¹njQÁŽ 7“ª”¶04sÅ‹¹2.ù þ‰fënÆ¡ŒÒ®#˜ë¸tŸ­Õ‡Ç኱q¡IÒb¨ê*F,K +Ñ  S÷ÃÓÑÉ땧e1Ó‡íW šíIÅÊ&P}ól%tÁÿs¿Î¼ÔYv2 ºšfj ™Àn9(?Bçï³ÿÇŸ{)b–qõÎAÏ>ªE°’ò¼C;­¯WãÕ™[iñç€k΃D3È‘ó€iB—&ˆª.¼: ÊÓ+~ >QµK¨°%›}­þŸ„§ÅܸdG¶fô‰‘ÃS5Ý|lÌ §h²)7ÐÝá‹á.殃öûž²±Ù¼+OŠz€Û±jIk+{:¿\½+«þ^^I¯œ3˜`]ðXžÂCŠ}Ó‹FÕ#@.ô|DÎXE $úga‘®%@ÔÉŒgd° iö,'mž½Âƒ¥œ¿ÇÆÂR#;ý\ – ²±ç„6ëôü/‚· êÇ3»[3Rä)7ßâÞ6÷€V}%Z¯¬ÈC'tw'‘ݺL% óÕ=°ØÛˆò¶$¯C7ÁŸ6ÕU~ŒÞ‡¥ñ;2}ï”1•:œM~¦`%+Ðý#Ú^Ú~åªêÍ2­·XÓiqÜA¶ö|ÁŸt5»žÞQµ×ÙAðríÛÐàÛ7º„ðjÙ§Ë"ìÅÙŒr ÛV£Œ‰aS=<â‰pcÜ‘_„½¤ WGêör §5,WL»4,>iî$-¿ô¼‹g2 kkûÅýÃ÷’ôOŽ*­À'”,±ziiyÍOrd&«ùøFJàß?é¨rŸ‹j ´“Î[ñ½•‰ý”s!Z×Q1WËF½A´á0²ÊÀ—3_œToÆöx È5”$éó×E(FÝ¥ƒ„^Õ…”|‡Ñá'zÛr\– ›½;Þ3!¾å!2¦*WFjö¿‹cœž[>WFÔgƒ#m ÷Âo5ï¶ÓcA~$hLƒÇX¹¬_¿.êniõʵ[ý¡ .mCŸü¥P纡–6Å?æ¿öO)€$:CYÑâ€);€«2½º4 ]¬©U;ÄÀñþ±ñn97±ÅYœ…yT=Ñ£Pöœ fï-€y"Ï¡¬Ee"8¼GÔÞÔjÚb&½ƒŸá‘Çš/á/_O°ÔAÿ†F]E9¢'ç‚áÿ¹e.…?eÓÙ =Lš“¬øÕOभòè9É—üI’{’©–½wÎùÇrf Jô!ž¤Ôï]—MI“ëÓÿßðµ×« ñ2yW|XÞrdv Â‘Ë@j]±¦1Ôú *ýR[TäüôÝ”³&@Q6•ۃ߼"ÖÏìõA_êÄLe)ªþ…!.ŸDÞpv–°WÖ¬Pï?[ØݹU,Ùô*âœþ¥ eðjá¼?{²4j²ë¹B”ìØ+ÑÊÎÖ +Õì‘D|ú”yûû'š½¿/ª‡`¥Gæ^ä³ËæqDzßéŤzƒÕß–þèê¼â0 žjRÑûI½.’xÆ`?¨-ÁÊ 8RXp™V4T1§qw»ø ÏéÁ.Ã!ûÎû‘fSóI$Km©<åÔŒmÀÖs)šGbƒ—༱dímLÖW ЯFÐýÙ X¡ò#mzá&ðw#DZ£ayS3ødˆÖ4”)A¡·Š{b¸¸x;—çÈõú~e˜~ß#À°Ž„¾¥¸a? Nã.XÈ7°¢Q´g>Éý¥Øþ^r‰E]Õj'V7âõ¾^¹ÕsòØ4°¿ÀÏÔÕiÔ¯ÃÇõ-©¡§<Ú­©Nê½›Ô$!¥b]ùïòxO@Ò¯DÌhñæýhÊ瘘x_£ü1]@*f—öå/ï—}–)fÐäLqK¼›a:h Mkd¹t­ Öĺ}%^IýØu[…œ¿Wêè$ÿèE:ì/ÉÑzŒM:R¶Ô%œì`M¾w¦Ã©k⟳ w:rRœ!ú¯³¯@yx²P5=I ɺfAnR. [¯‡£®¢¥VT×·Jš³Ì U¥®+F*¼g2|ËSÉ9àXm¦ë|-ñÉi/¤ÊÊ%sêÂhïEñÃ6—XáD†#DwÈ_±pÑ|6¦lÌTTJ­þ4æ!òR„«ÏWu¬cÇã9_Ÿ1—j| ©©^0¥Ë¸ÞˆŒ¸ù±¢¼Ãj‰àç[/ ëAEÉÏ QŒìk<Ï}°ìcT·[œT•–È%ÙغîoGí6¿ïd?hLo}A¬‘è@MFWñn(QÓCgpý˵=ñôœ[mé̪+õG7ÅÈSÆ#FÀ„Èßz ‘4u.“·oT§¥sú•ÖSÿGIn`‚AÒã>Q·›žH8Ý´ŠÜMéI&bùS’RâÂ&²‚dùnJI²HYN€Søb4eàZˆâkÃÒËqÚÛ¼Mùƒ¶‰P™ª3 pËP¡Î7sìæDgBßtC*8´€ ³8Äí„çUËŽ`4[ö ¨´—¬—e³4p¨_½-» ÿœµ$ôJ¶ ¬çNÚF1|²½H‹bÂ7ËÛ²:E dº¸›`þ—a`å»d,dzÖ ²¦Þ(™x«î ×ÙŸrtìdºË°á(Ì)áAð"䤻%÷ýWµX-nªÝ®~3…©3uȳ}’J¯V^÷å<$ÖÚïgfÙ½”)ÈDHÙñ‰ ìæ5åi&øVUt–ÒßîhSy°ŒÿœS²€XoãÅÅÈÕLTp_±Ìlv:×›¹Ds®ånÓ—Kqÿ]:ýh«e”­¤øLXÜBóâ;t#Ç-Þ$Bð8³8؈‘'´õ_@ñeKKè¡–¬‰|Õ-ëÇ~ L´³‡Ô×ÚyýìU­~b®ÏJi®ðJ,Ó÷ø—¥±í‹zícàz –Eï|Ö¹ìëu²>LHÉø#øÁ—/)ðÁ2óø‹<(ÛŒ U~ °øöó^ú¹Ã`h‹Pƒ›y»ýžŽ‚Ñ`è Š9@¥U>Í'³(ê„%¥>Âl£†Ô†Ùì‹ÝÜˤB ¿õJ|©6yýÙäj(€`ä/Û`¼·„ÿX!AÝ$mçò@ŽN_žç©yEÙY“mi,SEª«îsœ‹ë¨Sd´WÄ0Œú¢Ñ¯ðí³µ ŒOoßH°S¡×øœG:Š€¹kGZOø̨×jNÑ„“‚¬¡¼b” /+T#Øüg´8{D +·[$´Á_ke˜„'ò:<½Wd6ÊFV 5éβ3ÿÁü5¨ƒgÜHÖÍ($²'*’0K]Ô.þ:†°GKz +)Úž!¥uí—@^xÞ``X$à Ú%éõ3Q(–”UæÓaœFP£RåóL\0‹^g°~Nh†é þ½û-Ü =±ô—ƒ&¥ +Þt™ˆ@ó±^‚ÅEKWÞ…JX£4µ·FËšúùuŒx!žLé‘¿¼£^µd’4yù å_ç×7º­»ïã}ñ|yZðHƒã zr­R "ÜØ&¶vF=óAãeÃé_XÌ ÿ^Ú ®vÕÀ^Z»RÒm3™ªMˆÒ¬¹&Ú£ižÈ™E™–ânó 6¶6±ŽU2ÞþžáyI×UÕwÁÅAêÚ¹VM*ZŽ²BLev@Þh£¦÷µ$ì9G~”ûØà"ù³9 —•;äù`˜Ïœò'.]JL %PñÛ˜ —ûŒ6Âé Ž<¼”ammO–”ÈÐE,Jòî8Q44c:Û€áÎä?Û1Ý4©¨÷ŸžLmLÔõô¸%k—9#vmݱ$–?Ebs§h`‹A±`G%ü_p‹hbÉzÅr'™îe k”©ÌfH?Ö»ñr‚ÁïPj04wQ¸ËâIH„eœ¹¹ç&Õ/wXÇí8Æw!äÞ( +‘LÓÑÍœ°-Rïaž£¼¦0JŒdÒw»vy á>¼&^%§á÷è$6úUõΪ˜K ´Ù®–˜EŽ3o²W.JCA¢²liûËîÈN`‡wÏì\ œ‘+c€7Çôx(õáÔyWû¿èzZ{TTCUÕ§›vžïœjæM|„¯nB€Ã[ÛSXNÛ°¸iÊ›i2´;óñž +PžÛU¼ É>í¤6¬)À‡ƒ\·Ú ˆˆ’aÂYâÂr©&l÷­!^r%ˆš˜ ú3ÙÓ›_«ë…˜ô¤v2 )Ùžm@šsznî ]ΗvtdH´Ý¼¸ uÿƒpQ+Ù- eáë{J24ëúEµßÒ€7p>õMÜÀY*/W“*‡§å·¶™2t´‘&©CJì‘TÄŒ.nc–ÅãkPõúïh·n¯!zö€4 +Çùƒ×‘á±hÇmW}.8¢‡¥ØöÔ]!ëÙE~ù©p…Ž€­¦0ö;•oÐqúŸè)éFÄF"Ê@·½ÚªtïœÒ èj"4È6 zSåÛŒ}Ä0Ëâ+Ñù>ÂyW¢ÄqIÏàëaš„ḡ˜][cƆü‡8Ïy ‘ÙwA§Jû9D™ìµŽzz\ë¢P½aoµ8Î?3.EX`Sn©Y–+ì=#ì)C`CÅDam2EïMjbQ{ø[£0æZÙÙtÇ©|Æ4p­cÚüøôGn¯&Ý|‰³0µäQ·?_m%I9î˻ɖïºÇÒö¤#ô@&ÞÂ?p5mGò‘Q¹ÿ¥Ñ{Š]1½ø?ëð@ý¸áyÇA7fÁ_[ÚdñŽ,øhÚbø˜ƒÌh"²fÁíÈJ*ZvíåèIÂyKYuéhÎØ#ó?ÕnèWÑÝlTëg€¶jį\%À èý‹hš2[Ðÿ'XÍÐ̼e—ž+,í§îÆï +¹|òOP!ðRœŽRÚ+'Ž“‘ÐádÚÀUÒgý4#ù¾M0f-ȪFíìB0ªÊœ™eÚ)lJHÓú¦jFÓ²ÄïÅ…´cÊ% Ÿm¥˜uhD +“hÄWÉ^40¸g7Áº±ß²Ü½¨ÖY­ö3CHyïÓŠ}ýÁ“Z 'u7z94oH y-uÓÑ 6ÛéÆàôº5^ÅŽF§ÈRA×-<¨{.[Þ«$¾n|½¦œõPu`Ñ=Q@t,±ŸÛE*1=?¼W§NHÒøɘÃVÂ.ïI_ˆö”pŠç%¶Å¥_±¿m—_u$¬!ÎÌŠ‘u»øïÈÚ4Èsåíϳ¯£íëJK­uÏcØOøoï͵÷¸ˆ~\.MãbªÚ¸º&qò÷J}—u(±¹Pœ6BŽ'{óz z(-š¾ñc(PZ&ZO+šàØöó‘xSXƒ]]8/»+ÏX9׎½I¡¬Ê!\‡~Y´8­ÆR¢^yÔDûÆ<¨®g0ü®ñ,’üñ$ƒüW‰¡  ú†\ÝÍß÷t#]†žmñ~.þÈ^æÆq Q(7¤Ó”eþT4;Á•I>í¼æ[‘>šEùkU‘$£%—µòÌ—‘¶2ðWH/Ž Ó¢ +RÂ9‹Éfso0»xäõ_ô3œÜ¯¨ÄzM¾Ì +5H±ÊÎf’T'¹jÚ«†ä²%ÂmÜv[ÇÝ×Ê + çà¹*OC^z¿oe8°ì\q7t¼=qf0)à­-gJª&©m,ƒ€dWgËúˆ/ûbµE*´ySÃ]£Ío‹PÞyÕÏÛ|¶(âœ;§tÓ_4dˆ‰/ Õ;G¸a;ÍoØêsºËúÈVSÔÚÉ’J2D#É&8Ù>,¹(’q÷ÞÿÆ|\óÛÔÛY—Ù5j@†µÒ£JN.¸JÀÿÏÚVåDN6±½ø­8Ö‰uö‹–Ƭ}ømú‹èViHómó4¼?|z +{r†SÓ3É6|”4ãQ}x+}Ì6n]yÈx9àø §>Ž~Ô0¶ÖPÿn`õkI1­ð¹Ç–Ô|´L›„—×®þƒßAíîYó=$È“Ü|—'iØV©—D"¯y£*îçøNÞ_ÛSô LøÑà8ܺ¦¶v!¾™—›ÈЈh,禺ùª dù–†­4¸Ld—×]½š]†‡!ë’ìsÖ-û'-lŸPHà­Z¡èÞ䙫¢øØ‘åë‹£¿úTÚ¿;ä9ü4*öÚ˜ý—z*mÍ4.Ìf拘>4NʽùS‡×¢À÷IåÉõ×µ šäA×32ͯìNWüüyN³g0zµu ·qº3ÈYLãÐèÄÈAãü¢0`+F ñ43ÍÔÐ_pY¾iŒMàÐ)z´<< dÍm¥b›¸WôG]ÃgØ1AqF°ÁÇÜøwäEúPÂÌZC>ªhG˜âí×nù¼Ì—‹dsò0l¦¹*Sƒ^/ld¬–Dê1 +’BfÎ&HãÜ(ÓdµÃê™3ìWå_Á¬SO´“,dØDXø±J>™íq·Ö|È9éûGG×á^ÿ`î&Yý9ÍücOeCMSJ3¥ÅcúänÜŠ}O{b¿u8iLõ½B~æ Î0°Pò‰`÷¸¸.ãÅâ1 6·hd˜:{ÆýÞ‹öL—ivõÆÌU ¿<€æ›è²¬1rzÖQf^å?“PÔräÏ¢é\×*ëþÒA›}ÄÂ÷ùýP!N™Pì?|hK +‚r§i žýHìö¦3Qˆõsù{„·# xéÁÇh ð8ϬF^?ZÊ3âÎ…?‘A^¨@rùäJ°—•£>øàìzš{|¾ ü.ÍÑÃÖáð˜b0óÑn’nÏýCýi]R‰%°°1ÁJ¶Où–ÿa(ÜxÛÖí<›€ä›6³Ä.žæ:pƉ,eh{¸;¨ç‘gr jÙr{tqìÕã,ÀO§kW‘]À‚|8sDç,²73%fs’ï-›zµ† Zð.ô5¢êè,ò›ŽsoOñ™+²9Æ'½œêÒ ‚¹g[p«fäù2³¬’ßsòôRÂüiQÖêþß»páµhFeÜ +£bzð_¯XfCÐÎ¥OâÐ|ßÉÞò춅R,ombÕ–wª`cÐôHzJ~,™"†Lè“´¨ŸÃ+«# ¼9aîKIé5+(ç (¨7ÿÏ âöIÀ»¬á‘E?ôm ¼;Ûãe„nÒ¨šË]–sÅ +¨+ÀýÃ9úøËaÝ^ õñ‹Ÿ—ž4BL³dæÙ®r ®ÿá¨bÀ¦ŽÚ»Ää2x´¤ÉŒÙuö,1ƒk>ø‘-@ñÒìÓÿ–~³o3.=|˜×´¥{74Ås+”ž9Æ·ÄVç.jÞÉIæDgÚ}*ëú2î± 9íy5œ» ü—‚²‹t³VÎ+9`^Æe‰q6ír¥$©_ÏhJDx<Ê‹Ô9$Ñ hR~`î,ë»<Ô^t”hå§>ÿ6\ïR0¥+¤ýS@]u-a0)×~ò§¢÷–DéUf Ê£òÊ^Xí‚/$ç9pÉ%bó®™ûûrp­Õˆ1‹D¢ÌM¥Êlúª?pü»§ð´gIZ/YŸŒM¥ Uî›Ò€ðži:;j7bŠÇQËúœåþQµ¼Ìøm×;+Í’þQ$m ±“fs;q‡…=Òg¡l9OŒÎ $÷!>: önF[×ÁÝ÷bô†3FMB{…)þih³xÝa@ýca…áÅŒJØü_Ú]Ívè%ò›Ø-ãi ÉêŽÊ7Êå”L¼tþhRe#:ð-CžÜÉæi˜“ÇQçN;¦ •`]¥\¹íNà`£HY} »P!Á^Yca4nƒ9‡„_Ùª¸þ@<”UÂIG¹x„ ÑW¤—’âßö>^ÄÙC^)|±ïµà"ë0ý•Âm5±W%ŸÇæµ0”ôë~P½!—ŸBŒ©–´8ØŽºüÑÂÝRHy§o¹lQ_Ý;Ôš›Ë›m[퉗W¾~t„*a¹߆Ì<¡C;o‹¿O4Špà>ì΃–vu͈!’AÀÚgå¾Àž¼:JÛ÷ô/ó]{Óì!µ/ªMjDg!o,w ýNƒ ñê£_ìëèx¸Z: Å蓮à<¡§ÁIªfÎæ«1ãóvªM<ºÁKÆÕÞÉ!Ó+¼ °—½w8N!Z0ïÍ¢âK(fÀËè£údlÁÔQb§¶¡¤BY˜Rù5"!!žìxsÞHð_•ªK¾Îªÿ3ùK®¤¹ ZD”>K•Y&vÚv/Óöœù,³ÿî½Ì:3<ý1õ‰?YßzA,{k$üdQ½¯ ¸Šþ;Ã…Ó ”YºÍzJP®í($:f…b•`bNOU~”"ܸkL_ˆ¡Lªü÷ý¿¿b`žNžÔ +¶/mc†o'ˆ`ãøšI‡Í±0'§ ¸Ä-Ù½"¡IKRí;qvEœ0I&íq*šQÎWD<ÌÒŽa¼¼Ò'Å7¬x窑f®lx·i[HSH€wƒ©x·]-¦ÌØ;{ÕPxÏúû©+mî/± ;Gh/³%óíÏÄ(ÓÕmæqί”Z»‹ìš›"< +£"àð1”•ïZkU8ÏvÅ8ÕÕ~”TµW ««,ÐúôÞ÷y1¢ô¯×¹¢ï¦3õv}égà9T§ Wà’z—ã±O×-×VeR^ÂÛþÛ³;|з¾^§AHÕWCl?7€ÈÚçJqZAüõ žEÓEíÞH6‰HîšdÓRRµrÀ××grG (ak~v ½ Å*‚Ø:¦‚ñ‰",£ ‰àºHT±¬òÎYÚìê2?œÌ4VDü¦°Su•…£ÁáYÕÌ@é¶2©Aî +úPÏóâeu£·™ØPÞ8MÏ„­X0°ï¬fëOéܬ @?/Bº»Æã ×íSü݉6ÊŸAëÙU êHø¿vºT[:­ºø•‘E.³1 +ÇÕøkÿ@uùhR—mqstÆ+*ï;aSˆ\&äâ³\X„6¸%ζ1Á åéëÅ)Þ*¥óôÒ5*i‰øäÑH²õTò+•îÑ;´Ïø¯|¸ïÀŒM Mé–R²›ÚÖÅãbj1Ðû24iX5Ã>ߣu„ÊHX4~ü(#vIõ¢—uÒhùI“½Í·Y´NÂôWàŸ%ûhäÙ‚ êÃ3î!Ya)„ñ‹Ü~‰ò#œ×´CúÉ\²ì!Ó«h‘h«Néà”ß6ÁÉxÇÇoíqv·,?}d°c\@Llî¢_ºåµf›]›V+Õÿ¯ãÁÆS¥]on´ë¡¥oŽ%\´i’àp±Ûèrè /qcãlr¬xÝV΂9¿1˜)0»ª‰p}äÇ)×tî]·ÿYˆP”Zq–“ïá¢ßØžìS y +¥Óª1 Ó3¿)pÏ 8ÃÛ‡¾9ËkÚpmUÂlŸ‹OþÍÔCà˜^ 5úŠTÂwleQâád8±8s¼Ú²Ù"…iWn¶Z3³®'ÝÀ_µ~0z{UVÀì…^D™·=Ð*o•jšåÆKg}å3—ñŸK×]JQß4êŸ^^øÇ·Ñ;÷^€!-³Ã©hü£…ÁØU>)Ÿž-ÄìVðŠº;i*Gu•¯Â1£A —Å£JÊ;³µçÔIcÛÎzq|Û¾¿4ñªÛØþØB=U!áfí¤ûuxÔà#|¶øúBêUå½…m´ÎŸ„Ò{ E#s©ÌŒÆ&zl‹[%:“ à¨aT ÓÖŶ‹}ÍÀHw›.$5&‘Š5CsÅø œÕ¸®Äxm%‘n  Ó5ÿ=q„ðVS[0ÚYý™Sšàîiù…„ã×ßUØxü’°ÙO8gè'? +üÉ,©³KÇ ýÝ ê_»IÚ”ñthõyp íÄN} \fæ2ZœU½ËO ;åhßËÔ ‘î=ÀQLº7@‹5B†‰¯ÿæÀQÍÍøÝékó7Û£¯‡Ôá÷«M²!ï©0”¿|‹§fÔ… ‡>ün+ýÎu$»þY-|_ÂxVR ¡œ«Ø9Caˆ˜K˜.„ë8ÉUÅ݃ÕIÀ‹PvátÛ‹:s—€¹lRE«~ƒsMºÑš±A­°´²¨:W›`ï=µ†ñçcf’•b÷-ó|~>äWÔ®lÃ^É0M›tàE^ Âí„Ó":GltB3e•ýçñÙËÓ±ï£õº§Ã°?¢­ Ǫ,`MØ~-±VáÅ•V¥ +˜žÙ7¡g4›™qÜîo„z˜^¤DR¦*iò@o x}RWQq Bòlg¿hø(G¡çš¾(}j¢8‘®•k¿O#…²I5@“Ü’{Œö³qÍÍÇB¢ +ªL¦Ü,Ý*2’5*ùv' Qª{Új@Švs'wä¦Â™óâ)/wèÓõ£Atúæ›Ñ…Z-º|ò8ðàóá¬pzB @¬ñ¯]yÒh Ò'®°â]&^ø[lGø²›¥fl6œ=àÓRß™ü²£Y™/Sy÷–™,wÄd‹tÒ¼ûpÒˈdNgs±s…v|Sc¨—âYÝ%ÑÞÁ¹'œ+C#C /b£èdž£äƒPH*ÞVEŒdmÃ!<ígÃW˜q„gSlA~çìÞ=–Ž^n€¼3a_ÝB$¸¤¦òÐcy˜h¾Üîkõ2ÿɤÆ"éœZ;k;‹ á™4ç´vŽB)É™=ù='œÀŽbMvä—õȦ‹› +> Û—­b©ïÐÙL†Õõ¥Ù6€÷‡^ÌÅÙr ÛvÄÞ5Ô(%q\’ŒL}üçµiƒXÆO¢Óy¥Åï/ì-|­rÁ_¿áuÿvŠü?®—wñ[5ö°@µÜJm•,”|“¿£¤œ×fHðËgá·ëý°/‰´)!,XÌ&èШbùxt?æ~n<Øžã`#©œnökß a>i½{´‰7W÷r„,Žqà)t +E:_óî ü@qCa$EGÅìñ‚N¼vg±ÃFœ^6gM»Í˜"‘BD£þáŒk^æ €mÚá:‚{ÿ£Å×!–‰ÈOBVð¹á]g9Z W;˜‚.lÐS|fú¨….VÀ&òÏ v䉗Â]߆4s×·iSÊkRò?td¾PÎ,˜uˆ-&ZÕä<ô@ õ·RÐ’aÙ\_Q’H‘ëÄZ á6 ,½.e۽ȼ’§Ã¿áÌW +·Ì‘–PÉuñïMTü“CqæÄ~€=…‘[X.†£”ðoÿ÷-siÂË碥¡âß“s½<-v«íÔñ‘x®/là`D¶ã¯"õr408‡ñ¤ëžÁz: +ÒÐ ï/Îïúíç>“¶qL³C±c¡¸3àx?‘rÅÅ)×l¼O +Óë†ë(†Hò…}Tnð"µ°°9ä¾—]¬ìØïÄM=-Eÿƒ•÷^º{©s­·ìsÅ9 ¾£ã€øu«ÚQqTêmG‹9àh9Å¡cº®ÍîdtÙë0+€aáäæýÿ‚Û`wÖÖÉ“ ¢%NnŽ’%`BãèÍ” úéG–—ä®Oiù4¦IÀ`|ÝáTéÞÜ9ÙöªÂ-íht6 ÞqŒuÿÜ’ü v¾Me¢I¼r”äñÐ?òËn ¾¥!¿´¥6èþ6cžÓë êÐAÞdU…v¾~A«•?Ãr +ÄóQ+â¥âÕÆ12á°Õj݇(ÍaaîmNh¸+ÿ¯¹Ý‘ËiU…4ÌAž`ãæp% òú£ysT*ö/ÃÐÒPÂJ+ÅÂã®Û~Óú…UŽä}ÿ¤vŠš#:±„@5íWI~3•ð#††¾ÙuÏz¾’àÅ€8ª{ ßhïLUžÙõ¦æx}T  Ç}F‘¤u·³“c¶×ˇ 2ÄÈã‚{Và¹Æø» cSÀ„“¬$ô¼ƒyʇÈõ»ÕÏU¦Ç¿¼z ä ‡v`4G¼Šl¶:ó85[DT[MŸò4@>…,Ä5„ÛŽã‹<'2)231'i ©„¬×!ÿú$ :©  ÑbÓ2êd!Äôéü°8è¸ü¦"(Þ•ÌÍÊø²¤;¥•½q6(o½ÎˆÃ¼–N&‹Æë¡Ógîœû'wxò ÂðÚ6?sü Ê¾éeYšûÕ,ž^È_YŒëûÄêºÝT(ó*n|!~‹¥—²% ‹ªípÃ^Éÿ¨”q›n"Œ>ÉHyþú3Ê‹iA˜Ž¯Œ¦BǦ“&†ë~w»TôGrÞY?*ðcT,ôŒ ’T‰ßADÎÚɹ¤è8$ƒ‘ˆÐuZâ„Ü‹×%rêÊyß/›ÖÅ8ÆM…_+‹6XºUç9Íãåµú~s‹óéR+ô¯R«lyž9ÈÏEÚ(¥˜Þ”°ô]Äýú"µ: +U{‹„øík +ÚÃu¸74a0§ —ÌFí`¤TÊ•ŽàeXJ;¯øgË)ˆŸ`ºD«aÞ¨Yñ,Ðò—ïÞ²D¬ÈU7QAY¿"w™lgM›"¨”Ò¥R¯…Vô‡¶5Y³ïó(öuΤ4õx Yå@”"tÖ….$aì8ßXÖ>û:R¦àŠi‰P—taw¡ògb%¢)C.ZD·y §M¿¿ôFªC”RO“ôb­]ÄG" +yªL'^ÚÃænÕÌé¤zI<ÀÜi"¶9ëÉŽÝÉE.725zoõøsi˜×¯žƒ@&…ÎåØ}KÉʃEHy¡jÙrC¿±5¯ä*Œ/Ân|/6Uyvö§"½z‡ˆ{æµÇ€¦.WŒ.n®FŒÅ<ÓHˆ¤T*¼ÿYF¤uÎ1Ö18À2ˆí^þjРV˜¥\èbQj»§87Àó`]{_»ˆþïbÏ€ðu™àâˆ14¶Ù¤6†Kçg't?Jôc +ÞAPzëüÜKß †k­lÈTáQ”çV¹m,Ÿ˜aTçgôÝs«Ù}1ÀÅa›\¬kŸp›êZŸâ©KpÀ¶àÛö?„›²SëhðnCQ>ÝoløÙ4ööüÞ_  +¯p:_N÷/ 1>~·E +¢¼Æ8dcýCµ˽/X]æ®dÈÀ¥ŠÂcwéïÒG› NЙœ8z1v¢ÜÁBÈ;t'_™|N8¾§_%Ï5”™9¿ÕÛCœ$ò^]Sïçž‚m€„•¶’u‡5NRè"`–9­ÚÙÄfýÕäj;ÏÎë£6´âbÝ=]g¶€ðN Š!·ýŠ¿-AÔkêŸV—ã.ÉpÀó•´ì„|È"Y¥öím‹1ÆH¼Ï?ˆÑœ$ÎÿÔÚâTccÀ2âtµ8q#ôl,³åO…ÑMëgQŠW…xŒès;`™~ ZT„ƒƒµ` ÷[_þ'‹fפÐuµ·ð-{¡ëÚ©ê2êYSYª*9üšrÃdÐüDÑ™¼]õ¥Jç‘¢":£úòÃnÓ/)5·(¿ªÕߊ7œ"1rý†òn×~í1@],Z–O þc#Ý>¤¥îj[k –û¾¶”èù–r쀊 ©®–¦Œ – Íç1¤Ÿß_ŠïÙk%>€EwÛï|Ì#xwGÒVPâi9Êÿ“í§5JŸ¶˜Ö)Ïî­Ô°HË¥“¦ÒiŽícõ(ÙάOm„G½«•s¯ji2o‚¡ÒŒqµûƽ`ÕÐX³6Ûé¿3«þKbüµ¯4ÙLGøýr2 +,û²µÆØqÖc‡¹+uÖÞj°Š=þ˜•ëG0‹ôÍΘ• $9A®é¹]—o@íÃâúø1vuCPz6 ˆœui[s³Ù^ÝÏéˆb –ÛÕQq[äcfдÀ{A»†Ó<Ömœ`²GQ,¡½®Dv &Ñá¯Üªˆ.öÛÌß\ŒœQUʼn…±åXï{á5@[3]ü0•Û;/Û’Ÿ†Ø€“Þõþñ+í·3Mæ:vè‡ù +±Rö´s"#UÀˆÛ¬2ù`]vÇâïÒ8ñðn‘G.1h^r–²ÛÑÀâ<`‹ú‡_c,œ)CÁƺþYñ±þDtþ›4ñø1vuCPz6 ã¯šã«w§_JÁôÍÐmW¨±|ð`Š çwiÂ'ˆ3ì“e„Æ+Äé'ä&J¯|@áýù0âéÜwTº,ß…ž–{;†}ap=^= ºÀÒ¥àž/J¿;ßÛ+Ðþb±©‹Zø8$µ®Cø{ô ê>K‚Ôg-D“qôá«ae6X;Å© ÎyW-Žjžiþ~y[±ÓÒs?wµÒe»éFAÂ{‡›‰çn +§ÛUÃsc~ œ5ƒ$É R/n&²c× " çˆÞ¥IÞj™;Ø\N£ç+Fç©À‘9™*´tÏ72¸í©Ã1gäÝ;5¿™‰7Gí• IAAÓ#Ip¹ØÚ¡Ÿmµ*#ÁU©ˆûÁˆÅ çT’À9¦çÈU4sx‰5Ps2ÝNRÉnp@ÅÜ7!M´½î&Ëñââçö k}ž†ÇVB¶>\K”ÜÎÏ’ *Ô+;?yŸX¤È]¶G»¤­“"—ù9V_8§þ[\£Äy㕈VW­8I¡4ð5ý*&:h*ϺÛÄÏ>d¡dÅï{_¨Å±Éžu¸:ø‘²Û‹uéBGpé犗PyA—˜ÔÊRÞ±Œ äIJMOµh2à!4+÷iC~²fêºÃ“2ÃuÍ€M¾« ›Z)G^mŒyæÖa›å +¹ñ¬Ýihó˜DìPUZ]è4S‚ &“¶¦~ +êóÝИXzÈУú¯U/"O Å{–~™ˆ„\aªh¯t£Ý[  +×ê{´Õ˜'y×9{VníÚ“ÔãþXëƒQ·ñ[Kú95º¥K°ÿÑÓ"èÀ ³æB¦F(Å\Ó¤¹ª$ >Äõ—šìÊ! ë«A2ðØ`¡Î½îøqaÞI§$ +pögÊ^x4`pbŒD€ùúKP&ü·ÄŠš¯<š)³œÖwŒá°´±âîuvÝPà‚èKê“þø„Z;@,)ÓsÏ^3‰ˆë’¥4\Öá kaü¿Q衶L@¾úÕÇ,]¤ÒÄóж­.ñbmYÝèîfü~eøÛÚX¶ÙRGwùñezäÊóX®«ßrg§$­b´ÐÄc´B!¾Ú Ê“L]ûw´¦¡ø¥m‘±Ù'"²e胬EÁÎÅávó1;cóçÖ)†räf1ÿc‘k­=ÁRS‡˜ ÛP£Ѩœ=­&š‹^n.ÆzV, X ZDq°ƒùÛÒ3×ÛÜ ÛŒFOZy„£ëPL÷5øèÁnoƒÎe· ¿±T«ŠÔ©@{»>zhêÇzî–˜åå Þæî ©„Hô—®@ ‰™ðŠurÉ |Ø<±úÛÕb cb¡>;/Ø-g€BGБ ø4òøCë¼ÀE¾Ÿ!ÔX×÷5ö¥À¸n;œŸ¢_SÇ΋Ñ4’Žˆî Êpô›‰BÍ3û›ÕUöùù´yÿ{ôì%Ææv$Já Ñ6v Ÿ®Ì?¶+ˉ«sˆy2Ãx'ôLU^‰ÿÝmýßåÞW…ÁnÛ±=*Çj)G–í4jk?Ô4ýá2›7¤îú¸ZHŸ²S«Tö'ÔQ@Ç·/´CÄ{3ó9€Ä99hc’Ó±º€>5ðzU8Æk{,ñXʲíª% Wȉë´~–0…ìÚÝ\¿tú£Óu…0«»\*P½Ê'h—!5¾(ÝðçîÊ£évÝ¡9ç«ù#Ç,Û#4®ÉQ“Jù*YOŸëëªtÕ%ݦmµ[ÅýCE H›H ˜h±}72qŸPУú÷éMûü´=©XQ@f0;º XW!ÈažÝ(„(ÜÌRRß)ʽ¡‰¹ªVF?¾´o Ž_þìÌÈ«1®·¬ ųv‘ÙWøzÑ­å><èÎzÙ<€˜%¼ñØÇ6ë«ýRfï1E'¨'ÐŒ˜wIï߸Օа¤Ó+{¾(ë-ôÆLMòÆp;Ø4oÅššëv³Æ»í ô” È`÷ÃDÊ × " Ì…r°pE0ªïR+F”TaÚÁ¡µíJ5YM9¬*z}Û¦Æ(ïuç¤âT‰oZô/¯ ¥ìaƒbˆ!]Œ‹Ý†lúãf9º!ug¾ÙôTÿY¸Qþ:Ü*0Ck1„ˆNdfûÃòLZ»2b Ly: »QĦ„)¦V1bE}úEöQiŸ/!™F€Òካ¦[ƒÖ¤öÊÞ4”#¤ÓØ4#ëY>f8rè –ÓâeŽ0båï[š£Ä½D/W¿°ô†ŽÉÓsµ¸Ç/ŠN) +Ѳê§ìHâ{Ë, ó©õ©`h™×=Þ2•¼;4- 7TQæS¬v –÷1‡Œ % ^=E ΆÅd1“0Ÿd‰>Åå†v˜ Ïû3r­ÍekB­¢2½«”Ë…·8³ÇŠ‰)Ž±mÀŽ4"QnQ¸q$=4Š Wjõ©§®ËŒM¶yxyîçoÁþûæü÷é¥%Ð/N0g+â‚Ý-)&_+ƒ9S>ý•uâÿW±-´±m5¥O&šã9bƒ(0è‡ ¿«;ïôIÓ`!ˆPËÏ'r÷€0oÖ™,ÿBœÝ¡6½÷Χ®Þá@ï Ùöè'ýù çs¡G¤­ , ŽxŸC‡ÝiÏMÛzP„£|<öºí½Ã}È*¿¾DæÔY`…ŒF¥°a§ÿž•ÄÍÅ•t³o{A CÈd>¥`-Œ¬“•Ÿ=¶žx,q ÚxÜsú_=k°Ðà\Ô߬x`MÉ¡G€W|^Ø A+ÿ‚Ê‚Ä~I áàŠªÊCn¶ O5Û…Õr°F¤þ©=íá ðþß+ðÄ×¼:›•‚ì•\Åz“wÐ÷V/y‘÷þµB€mú¹ù0KFÉÐL44®¶¬+öï=Ê° .ýPˆK‹âÜ|ù…%ŒT‰£{Ýš·'äC +#aÖÏ ´\€¦ ðïÆwñ¾fËLØhø‹ómšíB¤/ ‹iCè´/ì­²Hˉ´ Ób‰áõf¤Í-î|Ž¹ö.Š.³ög€Æ FP·Õ™ÐO8h•cqÕ‡æ€cØjg<¼žÖ0¨_'ˆ>,Þä“ЫýPUñb  Ë;)Ó!œ¸ª?nAá‰Âžp3$“zèªNœÌ“°ææèê=¯re“xé]Ưç-ãH»˜’ÛLá¿‹NÖ@©ÏžÐžJ:ÖY¯6jŽ+¸'…Ť“6Ï룔½©0o“¾Béw[rt4ÔVVÆq`Ó!„Q@­“Å@·ë”I;Â\'¾ÅóºEŸ›Wë¹7š´*ó&óLŽ¶éaâ21¹nM}>wãÀ‹â ]Ö$¸MxvàšXç^:Ô éq ‡¸x9Ú3§N8Äq ‚†ïí:“¢ó’h‹µrRÞ÷äæÅPGk£þµínæCO¹ï-lÅ.Ƥƒ•n*0ĵe -…îÁ‰Ÿ\Ý’’kÁB÷±¡œD‡´A”¯—ƒ^‚^DZoÈ'§\)8Ç R\nÝŠ1ûqI¬é/X ¾ªÞM€%º{RŒˆ¶Õû8­bg2«ÌäiqgŽ£I*‹Pe5Wc¸c±úVm8·¢Ûñ­ˆQݼƒ(¹²ã°ªkºÒ]!sìÏ­ Ë9T¶ J +“ð' +##È¢Au¿ë Ã?”u@„b_0ÊJ)ìª1'©|õ™\_ +¯~­?ÕåÛ½ó¢—gc;ø–þÄ:DWWy +ÿZÿbK—Aó§,‡/ñ)iS¸’ÎqYdëëû÷»@´½ä¾fòUÔ_°&Õ»Ä{éÌŸëŸXÀ/^ÏÑl@*Uáo1¯(Ëb¨‚T·¸}‘’7¤ +Ì“¿Y+Ù"9ázLâý¬ŸE ÿ +xL3À¡ßö^/½oÍ”ÄÄIØ —qgO’i7ë„5fÖçÝ +ñåÑô¿__¶àqñc‰ê¼Ò +øU2'uöï] Ë5% 5_¸§[-ÜBj==ßIå”ö/@î„`{!Þó<¶Q˜hvÏÿ{›ûऊ¦X=Azä˜]£â•vžh3ÀsBz±*·öŽ+hœbÊÂ~I«ÈT¯´{eÃG^‚‡àQÈ%sieƒ<—ÅH¤ÚJ\Û— +&åYMŠfJ½^_ýØÔ²äl±JF½Cܦ¹4ÀÀË5š/†CÀ`)ÇÛ<.îzSÞíãH‚ƒ„Œa.£TmQêûÍêí\‹õ¥?‡eˆ‚Â35Vq¬©qTo:õÕ#ÖË‹Òå.ÍáÈj2 V\|¡âÇÚ¦Mz™F¼<ËÔÜ™íLÄŸÏzÌë8% §ûfâ Ü|ն߅¦ùeZ +jø§}$~XŒãÑ +e²$ Å’a~„Kx1Cš†JƒñP¹ÌÌwüè×gbùþ6Øb.'(|âœj̇ºÄ02)ZÚ´9X:~.*%®¹bâÞ󓋤£lÆ”#2àUlHäÊo-‹wŠ¢!ÇÂÆå½ï¨)¸/òomè«$ÃÖ¬ð¬‡ý]½õoÚC[DµµÀøFU“ÞB¬Ê¥C”¹TƒÕj˜”&À¬mŸ2"õQlÐ~Šb!u•-ÛaÀ-¥ÌS4„·Q´Hè(³òõ·€8N‡šJ °F<úËnqæIѬS@¯¬v«¹õ‹Íì¦iC—°ÿ¿&ç/œQ#}ßQq¼rÒ©'•ú”ûÏÉ£ ´—)Ý6³N§B˜Lî{Gþ…®Œ·ð—a‘Æ¡yÇ“ËXT¬çVQïþòïŠ&’̨G5–Vfª¶~fúù‹ÂÉÖ»,¬¢V—Ü7C» &í ¿:•èÔ?=îCâ#½?!­uBfnLÑ›íšc´ÌÞ“Mê÷Awyt‹e¬×‰ +šð RamBV œ¦ÉÂþ_u„ªsù¶kI•G’AÑ ©¨Ô‡RZ“²pÝÒœ¸ŸHÊ7”þ¦ù’¶Ðcî)N¦Pn¬Pä—Ôš.Äypöœ<Ù8q‹$Û{dùáÛÖÂhHȈÛHžT”¢r¢gÞªëTgÙ¾6ܬWÁêdµ˜ÖÀÍçv± 쟶½í+:œ]¼Æ‰JL'ˆ¶be®)ÕþÊ8”å+ÓiÈ•GÂûë¢~eÛîy‹†AªLj½ŸÚ/ùc£Bæ•Tr¯ñw)ûl̃’ÛßÐpM xø9¡(@Û9NŒR·Õ%ñÏjžÅXT‰´ÆËRœÆÉ­ž…letåv^ð@ ¼t9̉“cÈ—ûU+T JÄ9Æ3× +kú_,ì·Ó™rìÏ Ò6o3ˆog[ìže—„y +ØG‚¼aJ ´PùógÊŒì2Àñg[”B9|vwI èr£ç˜wˆBç,™• Ùî~w¨´àµ,½ 0])úB#-%ÎŒõ•¯ÞŠÒ8ylªºzs.ÞÜ=–ç?²ôŠƒŠàÑ۫ШáÇ“í)È!·K`{¿zõQd4'÷žJ]T0­#v)Ür+•ßy—Õl +£Raù˜•ä‘T㑇(%= ü5É"Ǽ}cG­yëWÑo|Ø ðVˆÅ¼=Î(3CZ–°rL +ì7ÿ`I7ñíÞÚ0[²'`h°6UÇ«Ì”cg+ïSQ zpÊ›ÎkìO©ÚËâ)­Ýa–gŠ´“DSÔ3¾ƒÿKxvUJã!0uô#”šÉ›Ìª ^EâÆD>ì=¼Ê^¼˜üÉ`MಭMcø$:ß ÆiC69Ș¶+ï˜Öq&$¹×™.9ÐnÙ8æàmÐi«.I³œuV©§O¹Í@½“•q—:÷R)×BvC‚¥Gƒqž · :¯œ´>“Ç ÎO/%RI’­ðJ…~¡h— _{®–ñ˜!6Ò½í&±?å…Ø‹œý€¾ÃÄuº—m2~¢ÉE49ʧpt¥7œ´‰!²*õéoª”ü᣼^éX¢€‰Þ[x©Úy÷š)+a5 ¾hL뵞}±Æ5z_ñIwîï|Têöý±DMÍw V;;êÞ&)R¶Õ’`ÙùÅäÐÀ ?¬2âf°)z’Ìs0ò¶8Kѵ)`Å®Jù–Í‚øê‘ל/z%ãÒ…Iï +¯ÏŸ%«tNçkbüÌù¢ÜžÀD­k*?}·â*Ý1Ú)í>¶\†UFûà©­ö¯6VëžíxÖËϼeì2Ö@\bÅ»6ú0ú +Ç㊣© ¦æ6‚DÎN:… Õ×yÛ„«-,É®~·é€>fPã â¼}Ö¡#æ@æÇÉPõ±ïÁÿÑ›ià]q(^ˆÇ€i. ŸøiQ¡42k2–(~¾BÉÔ]‡Ù“ +€s-ã—7Gª›]œòNu1æH •øz`Uù¿ŒÜcªz0O‘¹‘žeŽ>5ϭͬøZ£,/©›¦¤ÚÂq4,)iǦZ T=˜/·«cîžkÈœ7‚¯˜úäóÛ"Bz Äâ£û¾nkˆs¼DŽyÃŽNÎœºô“¾ƒÎ¿ÕìÝ9¶Øzø}+#УžRžo¤‡y™yÉÊzŽ}'Ò°o^ún{j*›¯ðsƒ·>^o²¿Ia³\Á¤ÌèrF\˜Àçïuf#*nQž]­uí½¾ÃfÇ×ÄsêCîÒoÒQH.;æ˜_ö+Æ®Ïê8ž4±:ðNï@¾FLV©¾{õÜ$³Wûá„Œbÿ •ÕÌY|IþQi€c¤m+¸ÏÏš`RîÒÄSŽÉJªLBóÏá&kß«x‡Ixö—dg«2-P+£Åwå2Óˆ†C!ô}GP¥P°›9õ_v½ÃS† ¾­» ¨‰†Øü ~kVJè¬Æ8»ùe¾ùgÌ6G·¾Ðl(ë6õˆµÄ®]Íy¦ŠäŠ68\Õ9°h%QÑ×ɳ]¡™AD?8Fö¤éWœ¸³ËG¤2`Ê(ñº2¨ÆB]«w#„4!ÀRJ¡T-{#Ól×®óÆ]Z´#´.ƒJÊ!º’µÌ~;d½²<‡÷/ذл¸JÚå<‚ÃXcÿ7/àÑÁC? ÜS°Ä/_º­¾ËØ»Z°Í‘·@ξ{⴮˞]W,R½<¢R´-ű†@ë!íÊ Ü¥xûc§hµ²[ççžj4ÚÇ}{´Á‹–Ò®ãú™#YåÛ®lÍÏ>ç*€ÂØ4º ³ágm«Þĺp}¢6ÃÄéùqj»,q¥zl{6nðãÖš!ýhœãÑ7Õ´n'ªÞb±rk…/Úš›ÐûºoD“ ÅW]¡Žz’U/Šç‹;œ— =çu¹ôëø@Ý¡÷ . å”j„Ùt6 õ-^¸É#ér>ñ쓼†ò}ÄÒl‰nÈ‹7jÀt ÿ®LÛ§.[xºC£úOF¨‹›&O˹¨ Cÿû¥)¡4ö*1˜%Ç”š |ÿ<%\h½¸Ð¬}uœçM²Ú®‘S©ïNH’œÜ¦…–\õøÞŽu&û_Œy5Òr‡È¥‡FÝOHéS‰óѲ³H¥k*Zál ðU[@³³w£âøw‡)Dêü3JÀ$Á¾ ÈèᥳãÌîÓ€Õ '®–uºá¦§ò" „IbƒíQ/(°ÌŠ4òšà-)Ô¢8\˜æ]P}ËÛüÝm£ÌÞ‹ü¾+³uÆ/Z:Ú6¥¾ /7*ˆÈC%&Èý¿Â¨Íc_0Uû3Z¡1„%ÔL|) &ÛR%ŠDg®gú*7#,§ô={Ó°‹;“ªôE9ªîÌo5P|ݵé-’¸zrÌœ¢ÆÄTÓ豬ÌÊ_¸ Q‡H‰w{d(ÝlÊ(µP×H‹)ní\Pòýt%\{*wÛM†õ@vNœQîøü9e;*àQqî&¢‚BP-¨WëÙqƒ†iÙìø°rËÐ¥¾b<ÂkHbë"ëY®öUíOR½TA°O‘~À#…ÙK÷„ö„Ý‘i'Gq”:rèºäOx+z´9âG¢v_ùîD¯fƒNæá"±YúrG¯AæåöB)H ùÖ¸¾fô-Q"4×'_tšÆ:“­åéÅã,±ë¡ªN¨@óž ûßØÄ`x ü­ ü2`oú{ò?Û›øühÕþ,k&ub·wóá£xv£Ÿ$XeHõúꯥt ÐÌ(¥zì9Àz÷€ÉÕ=Éqä·—9òû™Zž^ïiWº7Ú*Zã´fí¥{X<ñ©÷¡žÁ1Ž|¶;Ì:·°«{+p^…vjaU ¸´u*ß­Û$ .ý×7v ضLh݄Ȧ­¶§-ºªÎX|n»†F4*êÉKÏÉÔwv8GÚ»J@a)+€¤QÕ°í)$,„+r½Š’’ø7iø¶‚dˆÛ´É_VÇèÄ[¹µ¹kÓœC+ز>ö‰ƒ Çà ++$¦G† u§ÎzlX3j"†2ÃKâLF‹ ;¯¡~Ghìm0£Ÿh†‰Îø C(¸!Ìr_ƒ]2µ`¼Ôºá¿ÏÉÌd_$Íq͵]ëõy¦²¥ y ˜8V–“xAàÖ̾Ð8§c\ÏçÚ„Ý© ¿:0ùyãP`¡ÂJµËfVÛêtÀNÊ7¸É@D&Æ öp±APÇõ–ÿ®›ЖQ£WÝÇruŸ{‘_t•m|›3ßÅ’!ì|¡y•-Тþ¡ +Ö]þ˜YQ0G ¨iÆDMÆtn¾Ùþ7àF©Ã Rcð­°'¢ãýüà#9v æf²›­‰]ÅŒê¯wÉ· NH¨àý×礪‰ +AKõ=½D$÷>üŽ$ø'îi +,E[¥h&½Ñv®–ÎË\é$ª R#§#úúÊñŒ‡›uá3Mßà»Cósn¤ +…è0àà4ãìÝë*»ki#TU÷PЮ)¸((Ûu\Óâ‹›L4vïg-Ÿí¶\YúÑHi;/šjåXeXT êßï1}¶#ªxÄ#Ç*_§ÏeƒµeÖJìжwzû^T·rH8ú'»ÊìÇþúH,á"Ö|Zz‰RJ•´1Åa€æzrŽ¸~81î«ŠÜ\Ѻ4ÌÓ÷Ƶq0ñsáçAgP\•àb¯ÚâT‡Ó~ËrÔŽ¡W¾ˆSó PÚãyFœVõ)†|±ÛHYFôd-ê(¯²380•Ég/`IœÏ¥ºsˆa­óˆLw8ä-¤ŒÛ‹“ÖŒ”MœÍúùóên¯Ä» FÖ –éã,ÁÚؾeÌ¢Mž'^ºt0À€ë/—ëœí¡sý]ÍÇ©µ_ rÏÖ€‘¿ 6òËkGb´·¡04#“¼DÅã3½ÆŸÁ%y?qäšp Ï²“S„mHšË8PpöwñüÑŠÞ¦‹drٻĵ 4’”½šŽUÅ<2iÃ?N ³ ±ÜÙ\ÿsmì2‡¼:ÖGÕ¹„Ûñ_ÏØÕ-þAn“0è§Ë8y“é,@Ï4\å´ªb7åÁeäD‡¹™Éɺނ~™3Š“Y`´>]H’¬:U9ƒç8}¦ 0ŒÛG#DÂÍ&/OQ4ÝJVƒÙ©±]‚̚˕¿‚ €y+é‰øʢƢ½¡{Õ½ÒÎt0ÓÉÕ ÒWÀJ'ä^°¢;ÁBøéOÅê…v¾Ko( ¾5Ë’ÕŽ(>§xɵ1¦AùiËÉvù—ƒ”†„|sÏÇAhküc& ê7X¾š­ñÃÏV¿½óŠ$;ßsH«P5§Ò +©$M’*¦kšZä€ßùÇNÍey§ÚÀ¶¾îs@kMçßyznÆ“òú¼ÇËá$Á~ ãú +òcíâ>xŸþ}^PJ. ½?2€%AʆÓÜÿ«ûkÍxÓîVÙºMœyr~ÓÎýœ•û½Í‘ä`òI¹U¬æÙ Òņ!”Xè¼,|Ì¿DØg}Ð +Õ9xÄ`d:#äÀR  M0‹¬¸Hþ¢ ]:èÒ»Öª7àQ BÏ´×ÜidßÛ&b.?šv>²[wk´ºÖ J&YzÕ¢²^Tî`¶ý#‰¢a’¾Sœ0È6@+§RR)ã[˜~Ä}tðAR$Æf„|Ag5ª”¢6QÞ¡SúšûGë¶{fÝü +ß¹@QYº7®½ ¬mâ6x{È`éicƒqË@esò.²i_W€©ïiFÄ»³†^£%Ïzs–jÌŸÐqƒwï–Dx@3¢µä9gdd›"8FÇ-H[ÎÆÆ'¢NV‘•(žÝH5‚†¹øŸûú™I­QHb"Ù¹ +ƒnŸ:0߇ȶ`_Ú„u<­í ÍO^F*v€|Ù>u—X<'4iäQÜ +î-DÜ9 …i>>K­ß(bZ”ÆKG;#2£œ}fz†¨Ç˜@¥¼Ë&éà +¯‘šãÛéÍ$„:\1ÕÅóDÌé·Œ™ß`'õceƒÔª&'2JÃ_Æ É]Š‰ÒÕÓ¿…é™^Øõn:ÍvŒbn¤Ö)Â%ÛveÊg‹Îé&*÷sìÔ(ÌÄü•:Ëê‹‚f(Cï)Kì¡Š›Ÿ}¦î^iáö8‘¶df¤]¼î*Ζb1F +úËö_ŒÀæÜ™ +ßýiXéÍÃâ@j¿&VmfÅ?ëæv¦æ|°I +E/6ýÛßr +s´™²¢EYD~kdÓѹÝu~µ‡Ü£°›½Ö'3AóÀPÕŠßèÞl–}Ò‘¯uFË*)¶©(lN$}ÈISñfùn{HöÊškòeióbÈ7’)ˆlš·Ì'•éá­K‘ K[P™ ¦ÍK“µÔž) $ȱw7|e×n€ËC·Ñ®Ä¼"ý ¬Þ‡=xŽvyºŒÒH  åG4û±Ê·0]¦üå„xþ!3Òw5}‰CnÌbaðv °GE8ñûDD¬fˆÕ™ÁFb]–ËiÞNòéoæaÝç_¨tûL…õ3ÇÃD«þïyÁ:|Ãt+ƒ&)ñÉ4Ù‡ÌĘwÞéãÚࢷר“¾ûf jaQf9Rn¯WH´xv€õ°âÀ»ÛÅ@³!ÛŽó øv'‡£U oä¡ôÄH¸˜œŽÐdlO9÷* ¢ð3¢z0Ÿ'yc=iäqmîéIWs+¦°Ûó«žÆƒŽ•ÂÌ´óÂÞh:ÓOøÙŒç Âͼ#ÿähëóâŒQÒnÿt€~N§Km15ƒ’P WÓQŒf>\"Ô1 ú<âÓ¾”1\<&>1’â ®thèsL9V[‘z€&7¸á| 0™àœåþLIèù†íÃö+’ZøªàÞç;ETá”Ô¨®T TÊÜŽŽÀÛOL½Õ—Þ BøÁý†zYx”ËܬË[ 'z¸õ-_°ï\ºoþ±[µî˜\[µ¶úÖ³Ú…ê`~× +ôj—aWÏÕ×u³{3f²ÕvçÄ»[ã| µ¤ˆÚ935ÂõìQpÓeØìZ?t$”=2Õ“côá’’Ìدô¤ŠÊ>êê/€¹|r/VƒËÓ½Ú«â¿Óe­ÔhÌ÷só LÕ¿x'lË"a3T9‚ 35àIb[Ö-dÁ¥H,¤„‘5=ÿM#­:´_TMíÙU·kâš<[¢†þö¹þÀÑþL¯Ê8¼lœ=lëžÏ~£K%VÙôfóÞŽ˜DXŽäâ¾)«+§Í½3ä€pâÊfV1×K;¹<ˆ±’ŸAiç;­ªÃf¥X>Üàš;6 d…Ðëo•+Äu©’zå*Gù0d®ù&ß¾±¸)XCÃE&Ïu=)iùAÔ»þ­dE,ufY~'JmeuÉUv(3ï˵œÉ­;éãÿibµ­sãWÂ;•é]fñ‡Bn>Åìe™3- 6P[ÕUà…RƼ¾Yøçõ ™ÝŽbÍEß$ý™ó\눈îv• +¹|2]Èý¦µœ¥æB¾Íð»ÁØý«™_ B¬K!Ah=Ëè°å}˜6êœPvÔáû}'Œ‹¾Í`lìF”äÇ%ŒK|Õ H´)°ß¨\‰êçDØ’Ó/- M˜]Õ!î‡û·U½Œˆ_Ö«[Þq-n¾l‡ãÏ•v<—Ãâ‹FÜä¼ÙBʲYö6W+SW®o=Z¼JòV‚ôª„™b:¹Ÿa<:ŠÑQR‹7É«qØ„ïvòB°s;ØÐS3ŠþìÛÀO\ãù¸x‚ÂA½"a-‹ÈÊÝ: ]éùQ´©½L1Énì|×xqË¢`m®°\• €BHRxânF —[éf†X?¨Y•Ö¶fa (]xó"`M,öÏ£ù/é¹úµþ„†q9VÁ¤ßjx™‘¤%¹ra¾@úä¯RM _ åb4rIoˆj“Y<Øzê&œe+‚a¾Ÿ,}öâÙ#÷ºë‰¼Ú?Ÿl!ë +ÐðÏ(õ²I€Ù•±J§ÜƨÅö ó‡›L•3Ä-l>²4ê*Å'ÅQИµ_à•d[Öêt‡65þÎ@h•¶Dñ€´Q_½ª¯üFžÞ³Ò%}=ùð͇4}˜”· «]-/Ú’oNfš[,f¢,÷‡]é™$Ž_÷r±ô˜šU¼0K }¬½›#2•Û×íufêÙÁ8ü¨ó‹àg°$út§@JŽìK7¿,§gƒØ·ÔÑî)ÍIOÊF?-•ÎÄÆÕ+%Vâ æGËžÛL aÍ@ÿNÿ5Ç÷×ãze¹25‹jtŸ Ù°uL4áÕ™ ö'¶±º«¨8Vq Ôì¢ÆDÊî!ÜXûl´¢”²Â±„„™:B‚ø‘M)±X34ƒ¢Ã°Ì\5É´Oæ)ö¥¤´"pãZ9CC‡èú+¶VÝ<¯Î9Í.Á¸Æ”ÿŠ +ƒA+YàdÎc%}GÁæСL.ÿ#Ì;FIÎµË wÀv¶‚‚*îó:ÃråÃÇñ0Ôì¦W=Ï®€â¯¿Íu¹wg3f"·mM-Û¤Ôç„Š%(Ê )2Ìÿ|DÌ„9yD¶‹{jÄå$~赪y±#À‡ÄÿÑ=ñj2ÁLÝÃßÕÇpzð­ý l_¶ýûæ¢[ÚïÚÆÆ-FúÖ|ë¹b%?B.ãPû.]…1 uJVÌÄÔú>ã0öWxÙÿnßEa—³iv§ªe‡3’ÛŸêeÖËÑ’×|³×ºWÏíâÞp=r,!úÓ<>ÆÛ +ŠÍ/[ÞÆfJà„ã|Û*9Mj¤µªµ„Åi†¦§ í’S[¸ÍënvšñÄô¶h|0š¾l¤Pgï½›¶‹‚¸„¨*“€\™yåìBY‚ž³¦ WŒ‹tl!çŠÿÁ¼ï¦Wº~jR2öD,y|Ä`ëà†äµ¾Íq¤³é_ >)Ù’^H’6›O‡-M©H„¬ÝïK„»÷ʲèlÙyI1ÿÍýYäS/K¦ C·Èx¡©^Tœïà)_͹BáÝ{Ån½7Ò\­ D6c<ªÊ"lÄa">Ø.kÄ휞F5Ϫ×-{)Oj?-ÄbÛÑ×£oÝO3ÅÎŒ”~XÈŠâ:Y蹎j¾—³¢@W•K4à+ ¼ªŽS¢£½€¯Y7^XWG–Çn´ø +ueчfÉWºéwü«°Zy‹Ü}÷d§Jƒ/§êX=,€ñw¥cSë6Þ{«³jrÐÉéGøR(•³qi2‘’1HO¿mæ?K.—íäK€0ŒµpÔŸæ uDÏ‹ipùætµ$hWU¿&oošwí5¨²·‹ë0ç\¥_Õ0NÏE–£7õxNØcö„BwÝ£—‡s5\h )ÝüLÇ¿&mR?*q`‚ŽèN;NÁ8†ä:9›µ¦û¾D'^Ç­B°Õ÷ôO±øHïôù;{Cë:lp!;èé Rî0p ÕóXšT‡Ü3–r)°£g®pA‡9ÒV²N»ÂÖ‡h„ý†qc‹éEb/t®/lW¦4„Ëh ó +ÑÅ2•#ÖyilJ{Œï—ýȺ\ 1·ñžÈÚaåÐ`¡L¹Ø™³c­ˆù)yæ¿Qµ1\´-ÝlìUZÅN ¹~˜–8£x—ªvaC&Ù w¶Õï݃@“妅ÈËPÙvïTMŒqÓà7ážBʇ‹Â}w@jÛÄÎjš¬ÖÁy"¦ʉL ƒê«€1ËÜ<¸†¡ù†{üs®óRl +¼/wû5¥/‚‹z\UÞê%"¥·D‡‚ý´5/¨™•¹?nÃøE’ÂÔ¶Óæ© à‚äM'ZlEýa£(a–æÛË,ÞWõ–:öûš=ß½¢íù³ ߧì;8Ø+¥"žŸ#×€.éUàß¿nbL épzÔÉ$à€öRCÁ°Õ4’±Ôèt¼ù(bøZG Ã/Éÿ8X`®l•Hظ;7¨d5®üb0pdR™9‚­ï$‚6õÔZO\ Èygx¸Ã¬ÔÐi˜DY`‰ÇX}8, i¡Ú7°ç\Üp`¥—•Q¥““/È¡7Ê2•+Ö{nðASè«-ó쫺” 4ödtZyï­O°Ã÷U‹„ÉŽ­ @‚¢qE9ÌU‡P-°_ÎÊxc A3Í‚y2¨M!Ì•;™œŒ…"KƒóìO Ø í£Y‡!`h:e‹e0›¹*‡sn^w¥ŒC¦X©7?’E–SÄw){ò°Š€‡°Ðé½­0‡‚××=šQÇrå)3P‰!áánHÀ?Ú°ñÃ;Ù@ßQœwq-;iþG)gp‘Kæ«ÍE•n,Ý¡žl6¨ݬIbÞp Žqþh¢åDTÅÉ&sH*ýÚŸ%Ó›¤fzÈŽ&ž +YsêÐñûi*ålЄ-:Úž5ÈÜS&i¬ŽüŠG ?fm"Ñ´ú¯W‘%Õ€cÑÞb™»œß“”‚‹º|s¼øc¸¸;BÉJðoks!'V£¶úÏùô®ïpJ^nf L>®0Bå†5Ûâ² o¿ÿOè4Ý><¢M˜p讇2·®c.œŒ¯ÉÈÌŸÒ¨ÐB6TÿÎ¥?^ ­fi-φL6»‹“-†š´g_°Wf£žBný÷”û¥Ë]€5k.:nÇ*`©º+ôUʈhãXjìßkò”(LÝìÄ­ÕoÝÔɃ$Ö¢;Èüa„,ŒÛEîy–! +çÝUì<¹Š‰º»Ëïû3-Ò SâôÛÛÑG¨ +6J¤´íîoy+°”ýÍ^/ß³ÊÇÕ’Ç°L’)¶ÅâÞ[ˆúßüi³V9Ixú6»Ô¸¯ÍaîÇ€)↵_ÚÔÄDrV_T¼vþ”PþA»Ô|½è5؈¯œ¨*êñRÐì6m¾rƒ)‡ôáš&*§s¤µâø>QJúÉí‰<ãlŒó¤-y³Ýg~Iä +@í‹I¤ž‘5ý:•ËGÊ~Þ ~Uƒ¹-}˺…ªbÇ |ypoiÃt쌜ö…ÿ¬xj¾«LeU¿k]‹ |sèþEÛªP†eí¯ÄÄœ:1VÒU©…rrÑgÞ™Õiô2Ÿ3eFØÊ¥dÄð›û$ש.`+R /¯€®#¦äÿ$ëë+åô:é•F÷9,´l~g„ùsýdÈù¨û¬$ݬ—ü;®R…­¨âeí÷”Dsÿè.&W›ªè*ì–ökûýB±ñ„OoF„6ñã±5 +–ãí;¦î¥KF@ù]©g‹wdé´â?Ù)PZÄ«Äp¢‡‘;A¢D‚C².Lžð`mµ,´ä+%Ž&㘑Šÿg-Û7£Ùåjª¯òƒÍ O`p I{óª¯ÕÑ›Åq)u•R¼ëf`%©Xãȇòb‹±Ê™¥6OERJ09Š‰2E1ÿtMŽD/·ò¿ °/8½à¢Þ dPÝ[Á´3[UÚ8’|ÖÀÿd‚ÊkW¬P’<848SÑûO¸¥ ŠÞ9`3…'YÍ*û.²,ðHªÙõ]yÈö@ü©5z /éæÙx75kKÒ†´þ™>®‰Á–ÐŒDZ 6ÙªZ¾00õAsã:Ý£ëú-­ÇfWÀîz® åüÎN(s)¤‘ øßuÂÄŽÇ€£d ƒmi g…°ú¯7qì‹d mÄ9ƒÏƒÀ˜Q?#œ”Ý¢¾F—8e™ÓÇriý(¨³,ñ•HªÌq³ù‚„–(T1TÒŽ8³zé43‚Oö¨V(ò=ådìR¯I]¶_á`‡Ñóú +61›Q{Qg—Uìžpj¾¸àd6ûüáæg( ãéÅìbA†€^C™Áõ_#þÿdÅ[‰æ­#Ò`U9:áU­‹T[M ê.¨'^O{Ïûß©øÔRo¹í‡Ñ·Cp÷G°°ä· ÊÍ:"§ˆìlº­zrž^Bí›Qf­¢©NíâbwQ3lóù?ò Õ+ãõnìgå·2™Kg6˜J&¦K• \°Xýû¬WXéð%*1÷.ÌßSàv-®„ð$Ýoíq“ù• úàVÊg‘Hgj¨lrø]„=Þ(ýÁlÝØP£7äUÜ¿¯`_½©¾~;ñè€Î2)RÇÜ+6@EM 6ÀVHÛí²î»õ…Óq粩ó±±SåcP%øYôk£Íïè È ¼7C„yÞÕÒd@\û¬zB“`JÓ”Xj»1/7Qû(±\{ÿÖ·é+«®0 ?½.d¯ òË §¶'xÈnŽZ5k`íÑšþp\èç:XfWç5~KÆahLù°°}‡Ÿë/IUܸf3îrù¼wï}hŽõÚ[ŽVFûz[Wóp7÷aúóÛôPO ?V•PWŽê“…zÏ&ÅŠ·\¯Žö¾}âl—NT¨žº-´ÇPnýn™·v§†:•;Ê7v‹¹Õje pЀ]!…cºžÑÎœ¤mý¡ˆÄõÇ4­u?¼ÖÙfE™¼âŒfdÇ&¾Ëux?í·)î}ÚtÇNb½™S’T4·•›ðˆ’>!æYvX‹£àk0ÜLb¤ádöÖ8Ì쑉§»3èµ™Ì*¶GmE«UÊI|&B¶ó2oÈF­ëš÷Ù†kYˆ­«î™Fr[RɧòƒCþ‘>© šÜ¨/øîz/>ChKB ]UF<Üà™Ø°ìË$´ tÝ“ÅäŸ;´H@¡J)‘éTF,ðKðçÛ©;ô­EXO°*þð…¯ÂH&;×a3wjwCÍ èÏšoÍp'{ÿ‰­Jx@\M<|ggí…ñ …‘‡íÅð&Ïé;÷ßMÀ³-F`µ™Z*y¨þÿ“8œË“Ð +<îÍ;c¥mžl^0ÓmÙŽlÒ£ö‰@ª ~DBü¡ì Pü).5Ó¡ËŠ´ªø[a—º• +õÑË”q,zWP^‹ +Øeg+ ‹î¾  +œ¦{÷vnàêYAÖ‚:¼Çw,ž5ÈEÚvàðnuŽÜж[¨ª±CÃ9ÙèC$á!HÂÍ”æ_«“Ûó~ð/Õ*}ýÇ‚é»Ý×iU¿„zuØS=í¬zmlÍõ™¦O8Ì\"¥'– +ŒycÿX0#kÇСŠ™9±YµjÓMz‹ì·íÛÆëTjáª=ˆËvÙ¸àiñ‚²€FT€.ŽÝšžÒE™ÅÂÐM‡@“(*À‡”WQ Á¨ì³Îr´ }}5ð÷K‹æî›÷àv0*ú\ + »€•Ó/FžW^j¬J¹¦¿‚ÿ¨lÆ +:4Ñêu=Þ#!Ù¤‰w¹RéÙÚãMiDËž®Rˆ†®SÉ£ç!1– ÝšÛ£zäÆ:#üuwê°Y‡Ó¼ +eKÙÏÕæôJíÉg¨Åî‡Þ–)½Ýh™mqýA|·„ãíæH߉ïq¿“â®qNB'’×+_£¶]Ûdˆ˜YKD£?Rgmýéx½ˆ9 ÐÀåU wÍ:ʼòÿ[bÅ›+o•¸¢ØóÞ+ï“éË ¾dÅàà3EŸEBÃ=Ì6¡ûüOâzHög‰,|$S&2+` l25‡ç za2¾ð)ƒ_çÎ]Ý]¢oÅÆxoí„%ê20Ña§‹åS†öÑé-ºZ ‹[[¼JØu´;†Dš¶u½²iÒT/yHUmÑ2á‹e}3¹ƒßaZ¬û„4Sâ‘Ê­ž,ÏÇIŸnWÉ4Å© 7èfè;'…îoöÔß¼‹èÜ8>Ôug« §FiâÅ?ï ¶œÐÜÕ¨ +å/ êf¿7³ÜdaÍx)W£¡@ˆ§äh¬`:»»N˜b¢)®>K ílåb÷¾„˜¡|½XéTó®‚sDvÅgÚ\(Q#Ç‘FUÕ; °”Xj ÁöGpÅ].³2Ÿûgã]PS6)Û؉†DN¤p {ljîÀãK\Õ\d =táîÅõ¡ææw¾- †”9LcsNoôü5Iu«üV Hz÷¬™aÙæ 0ZXzzœíÏÇE:) (á¯AA•qToËTB¢tEžžNVÐ-mcmë&:…8Æ?öôð~ºàãâéLJVªßµKºTÚL%¥\ %ÆËdƒ¼;U¯WŒ´½ÈÛXÿTcÑüÌc@¤ÃÏJóÒƧí8¶3:u^¡ õOxÓù¯ö@âÛ³c!݃<¤Æ%c!ÝnƒCÌS%3v]êVzŠËŠ~T®tÇÚ–êKæ©á;°@“º€Ü˜½^!O4­ÉE-J•åPýN—Ò¦OÿÃf‰nƒ%¦¨ÐKÍ‹ºOdiÓ¾£—ã\‘¬u²-Ü[›Ð¿ØÂYàF^‡KüBìn×ýðCFŸ¶œ›êtywŠ™ds‰b•‡BO&gãxŽ”X•ÏÊžÛç'JJ¼Dñn⧅™Ís´%º…s'=ª}j*¡”tª)ÁƽeeHgP§oÌÕcKu™6/Ü›J%+Õf|B`ño¨VªO6?Æ)tݵ˜}'½Y¸ íBýÒ…%X?(þ¢fPîêß Õ h…×Üpmê„`ÐM9éàù*j•>í†ßë ³ÛßòRвÜ~»½u_£’ Y†ª×@NÙg¯ +Æ:Þ5*JÐéÆ<`&y¶¯Ñ| 1™¸B|a–I"µ õáú%-úI»CÓIRth©¨ós-ÛJ­ž0(¸íF#ØÑ2 ø¡à²œÚ´¥Yïê°Ò4¡§Ø¼q²]\Þ{ʲ®~q£(òÎ>ÉÒ>7 +^•„ŠòÑ­Ž­Ïî~’Ÿfnö<ÉÉ  ,*ÝÓ!l;§ŸF—8Ѳ¶4ŸrÎóÊÉô´YgqÖì9æ˜CŸ€¥z—ª u·Ú« †JXà K(ðT‘ ¹;7¯çj~§w»ëÙ¤X‰ûRÆüÿ˜VyÉ`zágêÔ'‘½BÛθ5d£€" ëô£ ¥w0r27í¸;E{æËg;[¤¼ |b“ëè94C·Pvk‡SII{È&PH§HÖK€ùœÇáì6!}Ê' ¿Ü‚ø^uàüó#^Ï&jxèY¬@ ]í8^~0I-ò-}[05Ò-ÿ•çé kó W³÷Tó¨yÒ]þ9 î„Z;xBxy…µÖ +66® j‘qº4†c6äG݈¶‰*ºlqV÷Ôôæ¿>¢ó%™l·^ýw±ï}š@p_â«Œ2ëYžt ˆ³¤laTã÷’Jïã ¡dÂvØχ{âñû¦Ò¥-5Õº5nŠš½‡ Á§“`BûŠî¡Ð-{× Í +Ba±…ìÈöÚ <#% kLÙŸ[ Žà€›² ‰Òè¶únöä‰ Äéø%/nâX0Õ¿6[XàÖ‚´û#mûão2ÌWKuœ™>tƒ%¬WÄ–Øñ1ö¦$l1õHÈYÜ4Êëfø­JcUÇÐJæ‡gFHš”ÇPGÑ£?ßÚµ‹çÑê‰Gs(b‰­­5¾²ñ{.çzýŸ±âxÉŸ…ÆïÁɗߥfü28ÿ‰»„ ¶¹a ˜<$BN©Z")ÌÐж-êãw걇 XF `¶ +™BÝD0è²ý_7Ï^Äá±ãä‚#¹rM|…a©ú\Þ»Ô½†fGe?Mæ×”ýÄ]ˆÂw2G¥Ö9|ä%å–ÇAúï«]¨nT56Vqâ½)¦(º¨ V¯·%º„å¬ÀÆXQbÿè\¬®®:" —5äpÌ—°K  ©iä”ë­þ@hN €Ñ&|.'ôkª´„ 2°Ïг—s"ª)Žµ¡ܲñT)Oܾ‘Ý? ‡ƒC–²Ô2¤qa^Êw‰¦°´–0œ„$È5xDóJΣqøŽ‰ª®»~÷(×T%Îì±@ƒ4ÒƒjŸbѳJÉü%¤?,ið2¾‡V>©Þ¿ˆÇeYGð½rR€4šò†La8Ó·‹&x]Í>Ä})zLk¬@ÅãÆFR}è¯ÎœÇ¯q_bª7ç–^ô‚vªŒz¹×ÖB?9ËÙþíþ™­)Ç=o=ÍKÛÕon`ˆFã,òmä{Å=5!ŸˆA¯UTu} ËDú~Í[Ý &= }™uáÄÎôØɱ—ìYwêýž@[BE@Qaî¥MF2Öìb âŒqSÀ0~9SÞêåզŊ¶›ÂR‹»(~ôS¦…£)†}*}/éá_úïæAêQ é/îAÿN‹ýW‡]Ôø' €ÍÎ¥(Pdìy4-Á’²¹:nuÛ4·¦bÉ^¾ÚøbrjÏe9:q™€ƒšœÇòQæ´n'l°|»~¤ÂQ°g,ý\Ò‡yØû̳‘é¹ø½2üæW3OË"f8MÝ°”Û†è~Çxš2‡ÁH'£‰&®PöÚ÷ ->¹8ØqHd.°i?uƒðØØâ¶ú·Ü›Ë ®¨À„ÁKƒ[¹(û·ÞšP-‰ {†s¾Üò $½™WwWJ4•»U„èýÞo”ò?¹Qçn8FQ\ùTCRÊ`ÀŽ4\èæŸA…RB§1_ñ­ì¢¢;rº÷Ø•ª§ÕÄš×ïÏŠ.ÿÌ­ûÁ‰]°ÃáÇÚÎ{Éwä›Á Äg>õ]û0Ýü¿Y*úB¨‡2/%ÁZ‚õÓ3hæ½ +GÖmfðþ­®v¾jCmq[æ*e7¾ŽNYM™a +¾bjšüâçke)]È{jP£êl C%€­’fýè%Ä°ùÞc[eC]Ç·’ +;¼Ô i×åYµ¯˜Ð!iÔò¼ ÀŒùOÜbч|‚=ˆeië]¥¹>Åð(;ŠÜqšH1Á9IßXZ³º½Í˜¦;=ò¼UíÑŽ!•Ì¬Tœ›Ló¹V«¿µipëhž«‡oµ‘›?!AŒ»ìŸû.rh)v¹“64)² +]L|fѳÞVÿ£¡|–¼ïolÕRþMâË&ç™ÇháßGeIhö§©Bã£-«gïmg“Ãoæ‡o¬´ Õ¥¦@Ϲ§=%ü'ö·ÿme‡»mé0³+wÄŒ(ÕO9gÀéÃaŸ ‡,*aßÊ3¿êJ¨}5Š5Y¦ôçÇ@J•Ó:²n•µ¿È]m‹ýÞ—ܪßgᣠâmPJ»­1j ¹üV¡ +g!懤bqÃ0DÖ| +R×#l{ ÚFuyÆ* »²]ý¡së¸-F£Y(¬£äÌ”Ìr=OÄ™vóžæb%XMÃS~¤Šðb•üл]AñæpíGÜÅžgße‰BƒSSx?W¿3’-Ž¸†¯Fïf‚Os^šP±SU6®–ÿ4ò˜È7Ú¥Kx¸6ˆ¿Õfuïñ>¨í£vö6{€‰Ü¹ÂTdÄ~Ö‹ª 9ßÌýª `g*4ž.Gh³†¸´ÈùYÔ_¨ƒ½N¤œ¹ñRüsŸÚ™³ˆψhd’zéðG…ZäÍÝkÅÄs;HÆaNžŸ~¾@K¢n5,¿á¥3éçLxî©û‹P;!T&L!£›2=‹OøšŽIÞ,(Ð]ýÊ.ôKéµf?34Ô|ˆv­•@í}¯Ïð!mjP÷ÙÀ‘­o²|íîp=l=Fu¡ëÝÇõÔßÇòÚÜ¢¡rëš!ë3õÈ2\øØ# ¦kl{Å8jÚÄ â Þ;_/øI7›¼G§‹k +3¿@Q*Bã S#Ð{ …’zÈ)îø—†rNÄ0¸òòh1¼r8®†“läoç²Bj ÓpF •…¢Öq Pç„—Â~_ä;zƒgÅò‚Ø°¼X ++ë>z–Ìoȳڇ áÂjð·Ø ƒÂ"õ,;’ŸsŒ¾¬±YH(ž´>3K[öý|΂þíž5QØOfÉùÁ£ºÅ4לÞÙµ¢^zFP´óÜR‹aŸ°Ê=Ç ˜µÊÃYÄi䈹%hU®P„Äï…rêHߪÎ5®¹Îü‘óŠ&¢]ùøYgOk ù³©·âÝ/뀨™ý'1Tª^ÈÖzUÅšœ ò™ ²!bžEãqú£­éy„Go>?.—&¼ÓrvéB[‰23…"Øí-u;3E ÝŠ×5¾ã¬ŒNM¦Qt‹#3¹r¶©Ü>=i]l—Pg"ŽÖ¤r‡)ЫU +áTöh¢ÞŒæÍ[û²Šãù5‹öæm{Ð@Y¦ãC ,2Úñ-U¨5n%¹¸¦›‚‹9Ÿ–‚K–X\íJŸ­ƒ× âÏ|›œóN?UB?GŠ+âLlüý€è‰Œ&þeß l+áÆC›¯¿€FG*ŸSË£€Øà:âpôV²ö9‡ñŠí˜#ÛÝ9ø¡uw adØ9½Íz§2æ3yô¥Ä^!z_7¯ãõôc»gõq’÷ú°lÙk*ÜÄÙÿª¡j\ÌÍî„SWžâ?—>kdL<I8×>h¼QÁAp_Ãa£þ­=†š¿¨3®Ÿµeš÷ÓTÙ1)ÞÝ"zJßÛ¼v…½4'¢‹œ•s–¿nSW“¢nSQ] ZŸ´Nò`9ƒÃôÓJ‡á¦1|&+JuÀr9¸öukZëãe“‹~UÏYÃ]ÄŽoDM}´YPe!"vt3œÉÑ̀üG+mð¤_a¨”-n“y¹_(¬;¡9‡æ…äà ¸öºebïÉÑ¿ön­r¯àHÚ• =Ki,­ÆÚxb!ÍVUÿv‹QþÊ(“•pbéR 4ªý (ñ­¼ ±!ð­¦5Яý/e§iÛ/iº1 +º÷ªùÃÅÜúÚ5qjŸS¥ê::!ÑAcH§–<‹ÁÚq .¸|(cnüê®»R‰V7h™!üæw}‡LÏñ§#‘ò\Ù"ÚZ{5 ä ä +òRVu–ßB-çv©ÝöGDøO$˜[sô>C!{ðÞùÎR,æ«s‘’½¸ú×™Ä?ªCk|Érh§=X;Åy¹^V²úî0:V\¯[èýÀ4£fµIû~{àpÀ°Zias=O›xýAA.ÉŸ[~„¼Zuåýüè^-ÏMKþœégÀ‘9/¦ô7s›j¼ƒî»=øì+p¿ü2Ï£¯•"áÀ_: +“ç%ÔÕï"÷”"Å*층µ!’NCÿTºšOàKÎͬßdÐ sbr“’WI.¨>@Q«®O±ÛìTo´³(Ÿ°•è2™µ|¶'kxôe€Q¸÷ÈG›—àã§AÎs#D@ÀÆ/Ãsm¥˜åP¬8mÆà“/F£ŠˆÃ­†/ÁMš‰WL˜K'¶˜\–—)‰Š‘—Rœ(—ÏŠø!¼ðUÂïÁ”ŠðVš«ÍYñ]d†qç&óô#ëÀæ¼ ÷¹w°@ —jæE¥s„ß-r KÉ 2ýs4òÈRƒ…ƒF]²|ƒO?±#z}¬^6¿Ç…uŸ)õ·Ë ¥À*ýt`ñN§<‹18$²;CãX;ÁÕZéç +Ág§Òò 5ýró;i_%¶ðùVw +endstream +endobj +15 0 obj +35292 +endobj +14 0 obj +40565 +endobj +16 0 obj +<< +/Type /FontDescriptor +/Ascent 993 +/CapHeight 900 +/Descent 211 +/Flags 38 +/FontBBox [0.00 -211.00 600.00 993.00] +/FontName /GnomeUni-LuxiMono +/ItalicAngle 0 +/StemV 0 +/XHeight 600 +/FontFile 13 0 R +>> +endobj +12 0 obj +<< +/Type /Font +/Subtype /Type1 +/BaseFont /MAAAAA+LuxiMono +/Name /F12 +/FirstChar 0 +/LastChar 11 0 R +/Widths 10 0 R +/Encoding 9 0 R +/FontDescriptor 16 0 R +>> +endobj +17 0 obj +<< +/Length 18 0 R +/Length1 5283 +/Length2 19 0 R +/Length3 0 +>> +stream +%!PS-AdobeFont-1.0: LuxiSans 1.1000 +%%CreationDate: Mon Nov 12 2001 +% Copyright Copyright (c) 2001 by Bigelow & Holmes Inc. Instructions copyright (c) 2001 by URW++. +% Copyright (c) 2001 by Bigelow & Holmes Inc. Instructions copyright (c) 2001 by URW++. +12 dict begin +/FontInfo 10 dict dup begin +/version (1.1000) readonly def +/Notice (Copyright (c) 2001 by Bigelow & Holmes Inc. Instructions copyright (c) 2001 by URW++.) readonly def +/Copyright (Copyright Copyright (c) 2001 by Bigelow & Holmes Inc. Instructions copyright (c) 2001 by URW++.) readonly def +/FullName (Luxi Sans Regular) readonly def +/FamilyName (Luxi Sans) readonly def +/Weight (Regular) readonly def +/ItalicAngle 0.0 def +/isFixedPitch false def +/UnderlinePosition -36 def +/UnderlineThickness 72 def +end readonly def +/FontName /LuxiSans def +/PaintType 0 def +/WMode 0 def +/FontBBox {-215 -211 988 993} readonly def +/FontType 1 def +/FontMatrix [0.001 0.0 0.0 0.001 0.0 0.0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 65 /A put +dup 66 /B put +dup 67 /C put +dup 68 /D put +dup 69 /E put +dup 70 /F put +dup 71 /G put +dup 72 /H put +dup 73 /I put +dup 74 /J put +dup 75 /K put +dup 76 /L put +dup 77 /M put +dup 78 /N put +dup 79 /O put +dup 80 /P put +dup 81 /Q put +dup 82 /R put +dup 83 /S put +dup 84 /T put +dup 85 /U put +dup 86 /V put +dup 87 /W put +dup 88 /X put +dup 89 /Y put +dup 90 /Z put +dup 198 /AE put +dup 140 /OE put +dup 216 /Oslash put +dup 196 /Adieresis put +dup 193 /Aacute put +dup 192 /Agrave put +dup 194 /Acircumflex put +dup 195 /Atilde put +dup 197 /Aring put +dup 199 /Ccedilla put +dup 208 /Eth put +dup 203 /Edieresis put +dup 201 /Eacute put +dup 200 /Egrave put +dup 202 /Ecircumflex put +dup 207 /Idieresis put +dup 205 /Iacute put +dup 204 /Igrave put +dup 206 /Icircumflex put +dup 209 /Ntilde put +dup 214 /Odieresis put +dup 211 /Oacute put +dup 210 /Ograve put +dup 212 /Ocircumflex put +dup 213 /Otilde put +dup 138 /Scaron put +dup 220 /Udieresis put +dup 218 /Uacute put +dup 217 /Ugrave put +dup 219 /Ucircumflex put +dup 221 /Yacute put +dup 222 /Thorn put +dup 159 /Ydieresis put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 106 /j put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 113 /q put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 119 /w put +dup 120 /x put +dup 121 /y put +dup 122 /z put +dup 230 /ae put +dup 156 /oe put +dup 248 /oslash put +dup 223 /germandbls put +dup 228 /adieresis put +dup 225 /aacute put +dup 224 /agrave put +dup 226 /acircumflex put +dup 227 /atilde put +dup 229 /aring put +dup 231 /ccedilla put +dup 235 /edieresis put +dup 233 /eacute put +dup 232 /egrave put +dup 234 /ecircumflex put +dup 239 /idieresis put +dup 237 /iacute put +dup 236 /igrave put +dup 238 /icircumflex put +dup 241 /ntilde put +dup 246 /odieresis put +dup 243 /oacute put +dup 242 /ograve put +dup 244 /ocircumflex put +dup 245 /otilde put +dup 154 /scaron put +dup 252 /udieresis put +dup 250 /uacute put +dup 249 /ugrave put +dup 251 /ucircumflex put +dup 253 /yacute put +dup 240 /eth put +dup 254 /thorn put +dup 255 /ydieresis put +dup 49 /one put +dup 50 /two put +dup 51 /three put +dup 52 /four put +dup 53 /five put +dup 54 /six put +dup 55 /seven put +dup 56 /eight put +dup 57 /nine put +dup 48 /zero put +dup 163 /sterling put +dup 36 /dollar put +dup 162 /cent put +dup 131 /florin put +dup 128 /Euro put +dup 165 /yen put +dup 185 /onesuperior put +dup 178 /twosuperior put +dup 179 /threesuperior put +dup 46 /period put +dup 58 /colon put +dup 133 /ellipsis put +dup 44 /comma put +dup 59 /semicolon put +dup 145 /quoteleft put +dup 148 /quotedblright put +dup 147 /quotedblleft put +dup 132 /quotedblbase put +dup 33 /exclam put +dup 161 /exclamdown put +dup 63 /question put +dup 191 /questiondown put +dup 187 /guillemotright put +dup 171 /guillemotleft put +dup 155 /guilsinglright put +dup 139 /guilsinglleft put +dup 47 /slash put +dup 45 /hyphen put +dup 173 /sfthyphen put +dup 150 /endash put +dup 151 /emdash put +dup 40 /parenleft put +dup 41 /parenright put +dup 91 /bracketleft put +dup 93 /bracketright put +dup 38 /ampersand put +dup 167 /section put +dup 134 /dagger put +dup 135 /daggerdbl put +dup 42 /asterisk put +dup 39 /quotesingle put +dup 34 /quotedbl put +dup 64 /at put +dup 35 /numbersign put +dup 176 /degree put +dup 43 /plus put +dup 215 /multiply put +dup 247 /divide put +dup 61 /equal put +dup 153 /trademark put +dup 182 /paragraph put +dup 164 /currency put +dup 130 /quotesinglbase put +dup 146 /quoteright put +dup 123 /braceleft put +dup 125 /braceright put +dup 170 /ordfeminine put +dup 186 /ordmasculine put +dup 177 /plusminus put +dup 189 /onehalf put +dup 188 /onequarter put +dup 190 /threequarters put +dup 37 /percent put +dup 137 /perthousand put +dup 92 /backslash put +dup 168 /dieresis put +dup 180 /acute put +dup 96 /grave put +dup 136 /circumflex put +dup 152 /tilde put +dup 184 /cedilla put +dup 169 /copyright put +dup 174 /registered put +dup 32 /space put +dup 160 /nbspace put +dup 149 /bullet put +dup 60 /less put +dup 62 /greater put +dup 172 /logicalnot put +dup 94 /asciicircum put +dup 124 /bar put +dup 166 /brokenbar put +dup 95 /underscore put +dup 126 /asciitilde put +dup 181 /mu put +readonly def +/UniqueID 5078987 def +currentdict end +currentfile eexec é ×`£Â,ñùÜiš"Ã[[5íj¢5“ÇmTÊ»^”+÷ÖÝ„ñfK‰iœt´rÞŸŽmù%öÄòéñÆ9´Û©ˆí*Äÿ++Þ`[Žã&NÝfA-O!ÆJÅ"½ü|UùÃóåY+; “Ó<›úíÒÔž‰ªº¨2â?.‘¢P2QhnD´àtw•=y0)n*[þ Y]É~ ‰ÎØ×øRÿœÜzYŒiî[AX¡m2Ø?.½ïíyòÙ¸œŽÅ8Å +ゼç2îæØ]½m'’%è-‚;v¦ìî7ŒúHXÇ—(3Û­zn3”øæ”áI/ä¶tzÖ¦ìǦ­É^z³„åÆê÷ZÝ,#%S„xºhµ Nî,KÀ ‚™Ki +Y=즺ÉMù•ŒJ^Œ³ùxã ŠÚï‹ I¾Ï–26¼˜¿«æAë(ä%’m};^Óó³1¥’9z·Ÿ:4'’-dk@ñSZÄÿšf9`à\¸ËrÜ#ÿ<C(•wO¯.[ÈÄ GŽ|^!/Ì°@À»•¿Xf§Â,üuÛ^øò®OÐ{È(a¯x1¬Åuž `:‚’ÌH½‡ Àl߬ÃC}ÓµÑô¯QNµsâ}½óÿ|O]ÖDÌŒ8?C:Ä×NŠàÇo"+ÊøåvýHœþ +¼P<[Ë9’þše9*JÆONUQ¨ƒ3ÖÏ…JHr~ù: »X”&ªÍÇÀo£ÖIõŒtAn‡:kj!˜¤“÷84ÕÁ›å©,ZÏ >/yuHÝ7ÿ˜A±fB–úʦ‡yì5Òy³yQÊg("M OÔ¯6@¥ŸžDÅ•A÷ðm±5(›èE‡Æ˜F2†ãB‡›šg + ¢µÆÂâ¡èô¯Þ‘Z®EÎYG›É 4uªHWç%x¿lâì³_hSq„<=•Q%r§ ã½$jÞ®®•æ.—u¬$Yy¨µjëˆôkÔ³«„2Ùs|\¾sw¨+V¯•)<} „|zP„pÍgb¬‰oâ#áw0ð\7Gã@ó~{¯iKÚÉ«Û—¼í{= +Žhá æG»äæ}á—!eÁyo^ºÏzZ×þ£„CÙÛå@(Ë£uê ¤ÑOIc‚ ØÉÂ{ÎÝjQd÷ ú,[3J--ïšìñÃœÀHNçùz9ÓFÎPü},Å$ ‰Ž R‰dˆ`jS(ûZ•aéÕ¤LÈnÞ`ø lpykê;Õ¾°^fV¨½5¢¨„¿†wÐZ„‰úïí\dZÒ:¿>xÆž»ôˆK)Ѥ×ð:fî Ðê÷Gn€îE¨”çµÖ®è³X“\¾0ç·£™S1º›¢ð?šM2o$›Ê¬YEYoƒiŒË•ðÑΊD9•&!Nâ‰'ü˜³¿fv±ïHÜæ??HiZ:ÆhúÑí;P¡üҞΞø¼0:ùk }'gI´ŒðFç@f!—š’ûë{]Õ˱TíQÄ©¡Á?b#»Töóº2on®tÛسp¢Zzà é¡|¢0¨h·Rú±_C[è£êWuÌÜ3£`ÝÂ[(‘÷Ò¬9›Ïox‘ ̳}Ý¿ž·êízœè'“ßo§öES +ì‘ש%ØûÉ“OþOá¾Ø(ÿ;ún‘$JûØ´0µ1­ô÷gâÚõpƒ¸öjVø 0¹VÄ4ºn\¸¬«½³‹ïuxwß-(l¶´xïÔÈŠ=ÁtZ2¥m„Z~aLy§î•zL}¦RX!a¾ñ‰Gç'¤žv]dŒÿ—BsÑŠë¶!éd9ød1ïмÄÊ--ŠOïÆ\v(üæ»ú°Uàß–R¬å£x{ô¤Xm±Í¶q´†~_QUºS}s: >ˆ ŒáÅIe¢‰ <¡-œ4×Þ•™æÚµGÍqm‘g¾=c±šž('éMOÃô×ÕyB(Ü•‹?¸&Ï!ïÔ¥žùE¥-ÖnÇ~PóZ‡“…ˆ6A7Am7-ÛîDª•,VaÈã¢È»i€_H¼²|’æ ]9Çû‚¦*br€¬øI7°ñ.õy¶™’¡”!3ÚTPÍ:Qÿ/ÅlÆ«Ú2È?»A'„9(¤öçèã‡X„x¿”tèc+ÒˆQGFs&Zô¡‰ÀzNçxeÊAÒ0ia_Òjµ%•Ñèk†Ú AkgI{kŸË>?pœ:NU.žá0ºÿ8ÃAy_h[·Þw;d5¯ÕxÁ}- 3È$U ïÃ…îvërÖÓ¿¯`—9øû´â@yõ9'÷ñþ¦oà¬T–¡=DkºÚaFsFª²å©öàœ’ŸÞ+¶`ÿ-­­ƒJC©X[Hé *·€­*41åɲªÕ¹ä—;ª”Jiô˜üÿ{ÿ Å¢þ…mu}¥ióOÐ9SSCü¾Ó„Êô(ûõ!fÉa¿F%¨. hhÓä¹?•ù°KûÙ¹”ˆüRx¨bì·t ÎYΰC# mý²0ìïÖIZ˃±`4®5þg­Wó6ŸM–Î'l¼ºÚ/Œ20ãRRㆋ +¡è³‡Ý%gàÌ«’›´ùõÚ©9â¤ÄöÅéQr\ÉM¹rý{‹FÈhÖÒú›cÈIéÃìwíÿNÐû!£«äÅOÆÖÑŒà9´@¹\çÂb÷‰%…¾¹ŠÙ™¢‡Qú¬7¿j¾‚3”(øséTè ÚIœôþ…ð̃ÛGcִƸ2Ó®ŒÿwÀȃ ´!Þ6¡Ó-Á>÷Ó_>†Çï„a±q1`åoÛ*2Ѻúéh¤ûg¾îörs²8Ãâ7·Øà´`j_åÚ Öb$|Ãc…TLK¥+ø‹| ÇŠ ‹°úH5ú·d/])¥í®ïךÊîUPÃEšNðÕç÷ÀhÑêH‚# zQÖ9u%Pùmu/—°¬êe$­w.¶ä XIðÖ"Yˆ2õÿœ¶ö¢ynu¯g^8†b!â°Þ:¶æÐÆZÄ·6kÛ§LvÅöݨžörÐ*Ï&vm|¶[ï“NÐ>7EÞ’º†f ¬xeaô¦O•š{M‚^ý•g©W¹Ær­­¸0py^äMp"tZž‹} ­éY£:ÚýŸÆšîþ¿$gK o³ó¿xhµ1KLsþ1Ö@Örn¦šPÃZ3RM(0ç}œ‹_« ¸rÕhÕ¹[-êC"íM Á[¤ðÁѯ’Hs?¸ ¶‰djLñÙz`ùSÈ"äÒ¥Ž7 +òi9ï½<¾Ç¤r² ìëÀÏa¯ã—Œ™<â=~“”`ƒhœÖl >ú–.+ü?ÏãžÀùcÅw²§Ò ÊñðµÜ«Ù†D—ÏÙ Sîç “­è +¶Î†JÀº¤¶fÅNÜ  ùö|ûÂ;üN#õ„œ ›~F +`ŒWÿ‰ÞÔ¦Õ—f5íû17Sëï85}þ¦^(§FºŽ +JÖIà̶«V9’+–=÷Kø:F êkä°\ÇzF ýÌYé¼–Ñm£dÂÜUæ »>Š-Ír¤Àg¡Áìk +dßóÐ\PŒM©‚np‚ÎX°'Àl!ô/!±‚!窪 .Á—¯Y.£Ô2XVõçêý¸íúÜÏ8®€{-ÍŽB`ãHãµaç!Ü×»2 få_#™ÙÈšæ\³:5IÓzš^Hº®ªHSF"(ÈŠù”W÷ü±SŒ+ØmÊðmdð/Ù‚V.«rî!&ˆgÎ,:7æ"Ð dö”ÎçðóWÐ72ƒ™3ÜŽß_œ»í±I®÷¥]ô«1°ÏèOBÓû}×Úsí¸ƒJÄTyÁ;ü[„ZòL/G®K¬äÖvIÊã£fucþñ/¾vgñêb $IÖ‹ ½’Õ2FBUe¼úÕ\í­P8~*ÙOüq„ø½%0ü}Õ…P4¯8F»•ÏA{!‡Xñ4'’ØŒì=—Q½&:±¿Öé²Âvá°aR*ˆ“ÒÁi‡r•îS@¤ÑÃö›˜tåÎ><‚ÃçÌDk³4²ò±7"KžB†Àn²‘ÐA dûõ>pÈëçØ.ÖÇùZƒ®@–ùúq¼§GD‹=”½æ²]›LUIk=€Êù;?ÍÆÝW똼‰œ¯¦ÒtÅýXr…%QÍ]ê½n["£ô!‰í6ó¥ßuø¡º¨’Ò–¤f ýE—ÛË‘»Æ4Ïþ{w¨Ð“gò%,"îczhoÀv«ü؃•Óv¬æÌ#ÛÍlEz̃þ´œkP½ú\¬ùÐmú"~(ÃöQë0:eƒUºQvû¯•ALjpO³ÈQ T‚ (ðUG©¬·1¢‘ñÎêet'-ÂüMHnáW¼Ð«)<«ó¶ M5î)H¤DõœwHG¥óÎvã(ó¡¯Ës/3í7Nã¿›–Lš&³áÃRN²Ú KìH;Ûbúª³&¸bRž (Bƒ­(è6#C¼Æmøê 8¯Âùb7pSŠ8i‚“ýï uãÅØQ Lå’PÇ)b@±9@–gÍîv´ñc9âÄ©¹N1mzk'‚¡œåݾaE¥²F 4ŽwÑê °–¢™Õ.QÀ~¶ŒnÔÐ&Ö®êDgƒÆNçÇ`%"PxšM8íë|öv]ü1ÿ„ÛzJ”¤@ ùJîaT1=Þ½xm C á'Œš°+ðpZ.use¸2ÜçuÿïÆ™¹|ô¬¢ÙF#ÄstŒÁZ¶Ñ ]‰yÎS&Å 3^G¥?EÉäë_|¸3.ËDÎêÍd¬„¿ï…Œ\߉\ñ¬u¿!Ò¶¸lé[âò'’ÏhÌûÐÇ(èx:ü¨"sñgf&&…~|RW“£‰UÄô ûŽBøj© Ëð)oœTboñºâ]bµ0"d!íùå×¾zº:Ðô‡q%/O¾NU`_J +R ¾Ì”±•-‰c8@ûÑ÷›ÿÇéjS”q pc]^üÞ:VaMT³FÛìîyú‡ëõAGVìö‹2/o&<î;¨‚ßû°°‹ù½®,šïˆƒr5»ÂÌñœ›âb¶øtŒÓ°"N"7Τ«'$¶»<3‘ÏÖèÄZÃ*ÊrI©UeigYDÑH#×ë Ôýo7Gí1šk:¸v*ùJ´;üÙö7fu>Á& ¸Í¥e‡[ Þäv‘q]) `vÒq,Õ»L¹ãç2 Åôo¯³­ªb…¥wÅŠ–•ã$¶¢K–ôÔ~¦'qêsqÐÐ4‹ˆ“å&³ôÍ@îw "dºä†Ë4\ÞàÀ +˜í–£¬lèÅ4õΫˆŸ~5c -ú–ÄJ('šã Î@1*Oªê^-…MŠá-æ+ƒ°]ÙÇð½^Ñ"ýûmN]Þ[¡Â~‰aÏa›H,i\6âáߑeüÕòL»]aCÉä:“ë& ÖlÔ¿T«zÐdý {rçQFN|ôº6ŽÔé¥Ñcì~%c¶xÛÈ>·}£¬KdLy“D§¹;y%™P‡«ÍkLròÆ :³é±°ßÂâôŽGʾ${b*u­¯>^›0¸d)üdáåׂ,ë½ð‹ƒ¥ç2ûE²  +ïß/ü{¶¨Gê9Œ®›ÐV/sۺY^WtÅ)só±)i!¥\LŽœ’Z¥C3‚TçÙ…^€:.©kJجóäh 0·ºBŒlP\Ÿj—V~V€) ý e)G­ü·ût¿¶÷,«Rgî†óM‡ŒbÜ»ò/þËg`509™^F²ÒØ~¢ÏÅO-[á<ÉŸë£s3"Œs£JOPŽæYW—ó{Ò¿@Udiþ£Tk‰ÓiIî¢ÎÎq„*Rð]­ö8)ò³Løú¦Ls¶^NΛ I¯™Wñ¶û)¾öGè‡øì˜x‰p_á{ÚPkžRÊF¡ ×(¿ž!Uoâ31o·õÏ<¡_׸'l‰ÔîzJ¨/ç&ycR? o½GßÖl¡¦šM|mš*½Z‡· ñn)ÃiŠýôyEW‚?{RP1^ÈZŽ{gÂéðdâ·4ì÷î¡H†"õ`²+9¼ò\é–j¯vkÆÊ“ÀJ»³ÜÌ~ ¸ôÏ"-7Êð¼ä;“²î1‹×+¥Õ–ï6V*nÞÇv¢ G‘ÉȬ¢í§#Ë핈¬ýµ%Œ¡¯8êfã¨nÇWã”ÇPÏYÄÿ×Ýô7ú|…J<{Ê +Ò7 #„OŽiÁVËá}„þœ ”‘=h¹ŠkÈûGž `âæ$¥´æB´¿G4½<‹0°æ‘±³ ò´™x¾©7¿Ó¡Š´þ}wëuƒ~Ê%­èd8«Höâ¦Çß,º0ô¨šÈéYeì?²K3âOˆ©”)7lß^„ÖyCFïØ;äU4Ž›Í¡í€–£!V¡êÂx¹šÃþŠÃºšÓ¸a¤’ϳ‹ïuö|ÕA‹vŒy^:1綗H/ß‚e/¶?,K“…† E¸>$K·v‘`Óé ¥è9…ûŠ·×¨U²Xµ¯MzÂZQÿ69¯ Ÿ:n˜Ã‘cƒœ…)Øy²­Óé¥vB¯ièì‰J%’¦u<|ngS‹"±¨Ø6µ>NwZt_O +ÜI:"ñÜîÄ÷á„ETo»3/E¦/J}+ÚIw§ïÑŸHB D¢¨ß’ÙS«b •ð#XµB­Œý¡âÇ9ï«ÚãÇÁzû/„[Ô¿)H6I¥®l}t8ÔwÑ_t“‘ƒ¶6qI³+8Ä'~¶ï‚æ¯N”ÿ ]Ï×pRÂúÛÐUIdb9á“ÊþÒ1÷΂8»„!Qˆ:ï ÅÁUM*n‚û”7’ßšÎ}6•¸|Úž"ƒ”H$þˆe¯¡dpxBYš–Ne¢ê»+÷)ê­ÏöË=¡½xM¼kÆÔ‰^þKØ5[eªçüöú ._g·ò’aUuÃÅ.lgÿù¶ õ8gþµãéó[ñX4.ˆ:ðPëËvÐSh‘(´ÜæcîZÜ…&ôj÷Ü)¢‹Ø À?jÒWil+`®ž3Û˜å £2Bó³g(zQ’U®’òQ.;ªpߣÔú¤‹n×|ìÇAÒqN±›ð!ïÊ]M’%…ñÂëÎa½¼¸¨4΄¡qo:OøÈõ–å´ÆßÒY•§g4®Ä‡»±Ô@ññ/ÃE1{Â’Š´õ‘´³îÔxè!æ¨NÎÇ`i‹ù>2Òš¿’Åâ€T4ÃÀ_{ã´~&¯3ûS§ ‚ 0w-ÎÀé‘Knz)ÄÄ©LjüňÉjÅ¢ÿ«ˆšªZÝÉ9¦ú速±ÛI¶Ñ)~ªÍéN­ó¯õŸŽ ùhçe¼¦üÃÕ+}õzËøžEÑ?%·–á[Õª<l +û9ýy„Ó¼nÂH,ârø7äOXùÌÐÀl],P˜…M1#L¢®œA¹Îæ àÞÁ½9£ì>?5\­®ç+Ó Ÿý¦2’B±bBŽx §Í`JaTf[1‡q1I¢ÀLfàq‚Dåòdh™ñ’?ù ÂÕ’¹ÃqXȉEµÐë«þ $Ðò+T|çßÕVË(_ åÙÌzõmÞ_aÐÆh•œÛa£œ”FdËC„"çýý/?Æ2Ž\ŽÉ˜g>‹©é.d¬?ùͪ4ßx6±!µ%˜­ä2M ç·ÍòÙOZ *ßzjÿ Ú^˜÷/š4°݆‚µ|ùvêG]ªÏ”ý¹æÁLÒ²Ì6—êÁõN>û÷C¥QúÕµ!tHjTHcu0!€‘Þ ED<ƒBͶi¿¿$$›¼€€«#a1;" 9CÔø.³¦ascPGs +Dy|ÒSñ–¡™Ñ÷[°ç–!@XŽÙ‚óÀÙ¥$lj×ö4uŸÞ¨À5ç3³N‡4ÆèÈgPa`0å±™uŽ7N+Ø8½¦—œ8ÿv%ñ½A¹Ä¶¿ }ãÞiñÆÁÓôÓ‡¹1|S +I£í7˜™D$?òÖAÌnNR…(š~¥—Ñß’d +ƒ68µ§&ë Ñå(PÈ)Û‡â‹G¸òÌ<‰B󆔥ÜZS!ÛW%‰ôœ¦Ñ¢¬UXxÍC #OÞaþ‹Š¨@ìÂû¿A¼TÿFзU&#„¦dÉŽÑÑ¡¢¯éiqî.JùçÀ²Ô¦ za”|‹ÌÎÔi„3/Šþ¬“Eû`þÉý54ßN˜X_7Êž”±"»eÙ®‚Ño ßíAÓ¡DH¨?{®éÆrž‚ÞhÊteTœæ!HBÙ¯vÌxA[RPŒÓ0 +wf€h_ì;£š\J­ýâîSÏSÅVœT¥œ³F>§þ¢:[ÊòD+NÉ`’ ¡£4ç OwHøŒ>Bóº aU>¨ËÙ‰ÀǾº6~cÈHJ-óèë'å`Лq¸R6âî‹Ó~dD&n÷Øñ§2TåB*¤år‡Ã!x)ÄæZOßÚ'¢Ä"ªou )/Á7M´%(†`€«»³Åôyéj¡vD¾ CWø1'µ{PXÎÅ4uÏ‚¹Fçc&f„{åm7ï›LâG¸"‡¸|=´\OÔž +ÕÀ¿+QÇŸ’ŸÈN¸ïfê!>†*/uY×)1‚-5i\‚¨4ð‹!Û@ɽç„É{¤ƒá]êÃU!F­g®Ax6 $/8Ž»~‡zëÂ&A¼^¶-ôÈ30> 6EÝ=ò|y=K‰TÐ܈Dž+r%Fi åg¢;€þ{žPÚÕªA8,NœË˜üî÷x[ñtM8gwÞ¤2œƒüÍZäŽoÞ´7üH­|{ Œìe‡XWhÂHR+põÝ:T©/8¤ muÈÞ¹UG8©ïK¼8ß9Ääæι) —J@ÍV"ÿ§ÓÊ/%$š@äð¶„èþâ¨9û6]äPû˜—¹’Éè¬X·O„!†\nH°Dࡤ ÷M‚×Sƒ«FÎi¬­KK õüóÆjc}Å)i\”BñšÉ'V‘akþüŒÑ·§óùÆzD_‹mÍ.å?¢_hp^B +aÓ]7Aûé–ù!ÂJN¤|ÅÒ š1Aƒõ_K <ÅgéÚN·O˜e¨‘¯þ\‹ÓNÆr(T +OItvxúyÚóìñB¤óîå¶oN¯o£ËÞG‚H •AÊnKý¶«|rÆõf0í/;x·ü®¿Óý© ’°Ü©×ZÙÖë¹Ýdœ;*õ¡àá‹1lóÒg´€ÑÒñmŠkäsTþª1ŠÁc«K]袓‚+¶=¸·-xéO­¢°ÎŠ’œ[›ÆÕ`² +-ÖœúÀ=.±oªC°çíÇ}ü@®,ŽÏÀÏÔ©â6¿5l¶ê©f0€ÌµwìJ3F1‚ÛŸ@­PFieSpÏ—Mu6ê‹ÝVÂhò6.TL¼1â_ž]oI 3euä[6w9×}ûM›çÃy#\€•ÖÔõ,ðýLmÿ-l| Ûº³š÷2ÃH¤±p—„fŒÁ¢šŠ>ÚÁ°Œ Íkí• +-ó‰;–Ë5õQר3€ñ&OîÞ|dGƒÆXy ×4gжÈj xzš ÙÉËCŸª +œœ÷¢&©Ê;Šs|’"Çkri¨D?±È”ó_{Ó~㨙u´íæ@…9G,é€V#_Õæ~o¬sJnƒ¿“½î‰ë]@!w|B4aUO,$Ó_¦ùH$ë)øŽ ¿Ö8tdm-¡Gùa]Ië–«Þ’ýšfþš®ù—3õ™YCÈŽ¯µø·åϬ/§~ùÌOgˆ t*6ÒЮñR4WÛð¤Å5pJ÷wÓ~Z3ÁÃûî–³/­Þ1š¬Á«6|Á¥ºA²‘ÊþDƒ€ÿ±|à'‘××è<*͉97+}Ýé” ”ø%ï÷Y»ò½p8}ÂFz°²So_PòîShT*¤+ô0Ñ}LéT:I +ê?Ë6 d™fºs +ø¢DTÕ§ [ T_ðÏÇ.ƒ®t´ãeoA<Ë’§xÑT÷N¼ #ì’jèk½þ¿¬ª”¹¦|±c6îJA+2úñ›|y”*Š9œ¦!íí1Ã1g? büˆ,äûóüe²kôzŸÓ¯k½Sž„/’…1ÍÏÛâÎõlçöö ŸÎÙ­;;| ‰ÝÓz<Á®ëiÅL.̱}sú@[×õ‹xê"ËWöœÊÊ^ ej‚nb‚™ÎPÆ+412¼§å†í=³Mýb׬W ˆ7[_~ÍT¾þíg‘Å;LG\ iñJ!–§gLˆE9~KàñÙ¤¾[->íëa‚nþ=e©D§kûc~]PS˜‰Þô(êâW"‘rÎèÕYÏ™ðÅE•YµÓŠe©I"âÍUÈ¥’sxµ€ÀHÿ]^`1{FŸN爞Da*¡² Ø¢òAÒV5ñ•!Š7ò‘ÂÞªÇØ£±ìԦΠ$ÎÈ}Íâ-¾ +saL=±@fD†ß®øÓU˜Æª¨÷ +ðz}ð¶I !1Õa:ÜŠ¼ú¥1³ï +EÑœr×~Ò%óa¼†· ›SIÆ˹PS,\P¼Ò¡)T4ñçc¬•æ|u$Dí£Â?µ (gÍ šu2äã í½ùþÔ9Òð—þ Ö³‡ÿ‰ÊHæ$)_‘ÙmcpýBªj áFf×‘àˆ¾ËW*9Ž‡òÆå „u·LüO[ÑíÂ'‘½1ª¹.­MÝÇæf{±«÷ƒt6'“§VY#)hfùpM—®ó‡cgZ?ŒÖŒ’#¶!yppÕ¿ot>÷çTùMn½ °MÂ@—# E7Kºà½@‘x|¶xR-1dKåÛ‚„cuA J¨•uôUbÃ8b%XÄorMXÿíQ3÷ˆÊ´äÄEœálýüu÷hÊQ5#ƪªä +!›Æ{J©’Àt5b˜¥ˆµq  ;Va(Àö*Ü–càê+¹ö†`›ßn±x°2b ·3•¦5Qø7:"€Ç¿ª®e-Î|­œz±Ëdl`\lO.B¼ÈrÙA`ML -¾Ë%eõÊé‘˲oû"ƒUO\¨b žcJw®ˆU>áYQž#'IåÐ7ë+ÓÞ(ïÄaUÞDº«æ‘o§Ö,Võ°Ýk8z|à 0+ÓÑ’]cr»È×#DA¹¨zds†üJOÍÊF+’ÙNŒh·`¬f¡%³RûôVÁEÀÝÿ>Om,„“zÈ+µ= ÷ »Žõœ ñßØ¡9À’Ú×µ˜’08"«ý$ê’+ õ´4B³d|¯nv"X7˜=ªAU‘m±/'E0LFº~?˜ñ1š?eÄ=Œê‰¡`“^&ìÞxÓbÃM·ã¥îÜ@TÛ,Å*ˆÒ‚ « ¯ØŒä~ ºè´|£!݆ºæÈ+‘˜„ȸU×õær·‘“nçTg +Sé*ÐÇHCÑTE¯9¶Ç°eí:)¸ßÊ/]A‘!*ËÓ1i,ÎÈÜOD*u?`Ii½§å =¶@E;5?Ïw&xÅ'ým³+«Ö¼}£#= ïû‹]p ë?X×| ²4³Ô…ì4€ÈB¶áìMøPRû*õ¤„Í¡»½µrnÁÜ=X8ú¾ŠÌ\=AMüêÇ …v8Y$S8ºd_,¨t6{ Ç +…ø¨P +^²Þc?°8Åq ž½:u¢öp.’…_cT‘‘‰ãctéYˆk"‰˜—øh¸rù½Z—öä Bï²lSYÔ¦²1OÌèÇž!E4üÄÆÝÒƒ²©1µÊ‡7sc{Ɇ<ù{6°ìµbÄýˆ:c˜ƒYÅ×q6­éMÍœI_1Tp ~_Ð"å=ËuڶǑ´íœcn-åõ²$‚7O‡6ùà.ÚèŒUÅί!ïÖNâ‚«„E*ª£i[x +¾ÍwÍÄ¿}ŸÐžÎ÷=æ‚D¡EÉ<çا5ï+Öó—Ý(… mõ¨Å,‰½T±Oa7l¦Ö4/D¥½ÿHë•~´|bÉ·Õ‘oü‹-ŸKtN={xKé…ÜW¦’5)ß#ZS 7+½F¨¸b)Ž¶–x)Ü>UÎ…ðØ´ÙR…ʽ̘¯åÕ=)õ_ûFè'¬ÆÁGµbΙ‰BŠxŠ˜ÜM¼ðM¿øÛLo £Íèþ2Hòžø8x$0ðcYn4BLìÉÉÿi…ÔÛ†ê÷ÐÛp™£ÄÕâj0p€ÄX’gŽ¦l +Sœ2æˆ", ˜ê4rJ™ZWå0~Úë|…:K{Fù‘X¿Ä²÷çÍ ›Z w<¼#æä<ÐjNˆïoE(^…e¥m¦cÛÓVþå(w*Pc—ÙØk=d]?¼WŸçY‘ÖNâLmyq{» ŒP+»¥Ÿ›,ì×DÎÔ%i¨„8gËëòí4†õÁ‡X>k]^”A¹ðöYå¾H¡{ùÓÙo(Ù]u{ï<¸<Úàægóø²BôæÕªÓ ¢á¹l<|Éj‡7§ —G`œà‰AÃàlïK«êÔº&ÅÃbz#Ú²‹±%„É}[¶³š´Õž!ßÆ nùíRRùÀÿ˜úJ+I? ÷–¿Ä18¸Œ~È +-÷¶ åº~ï틱¬ µmÄWÞ±Ã7ã¿Øw-D÷ÁüO‚ô…þq È]hôÇ7'¦˜!(”ËÚ2ÿ+pek&–W®çç]‹µFYÔ`%@Uƒ½0£Dëm-íu0B€~4ÖaþÊ£ŸV~ +É;=è3o¨L¤w2.­mÏä˜-¦0Œ3‚:«7G—”jg‰8%œDî›Ö²Û·½,é $Ýo{H¦-:«—wå ýOKÇ/T ëÍûðC8ÒâþÉIÉfáMýé§/o&Æ_ +5Á¬ß'~p4má%˜LµQºQÊøLCø̹‘j/‹Ûh±ìEÊ- 2Gù;)ÁFû¦1­_œK‚Ç©Ssøx9¢ù%°’E‚^~°ƒ±i÷YÁé²aÖFs$Vé †ù“HoѵsmN +oˆpÃû¿,xeÈF’4ˆ}W(gZàx&5¼sŠ+ºYõéaKµ¹ç#4ç`¾¿~IçOhR_šz4¡Šô +ÜÊ]X5ñ&.`htÝÄŽyבÚù²fÜjƒ9iûW2çEÚ\v¶A%ŠÜYÈ/šœŽnÝÔF„2x¨;ýC÷IêŠ(ë&˜óŠPBzRü‘6Nè¢ÞìÆogn/œªóÓ¼nOÝÀó’Yí¥¬u¹i%~cS‘S“0¿šà¯ss„RÒcˆÂ—\Ùr{ñ Nˆu°—_hçzÝ'‚m`Ÿ +/?Ôš®W)}D Äïœfø½óIúOFh:V[ÊÌ£ÖH´}PÑ_ƒêe]RaÛØ2¦Çsó¢[ÿ1“¹³}Ò3O)€â‹ßa-Ãréó\¹alùò$‹qYF_û»Wºa° OÉWdG)òpÿHRRd?Ÿ$KÏxÇÊ+ÊS/D¸§¤uP¿Øœ +¯Aº5Ćö\ÜB­ìîàHˉðÌ1 8 ‰>D…âc\¡ +†›þà·Sý É„“p Ï1Þ@oª\Jœ—ê`Ž×+¾Ø,α Äx¡c6§sÌõ(~–FiZj'èJ:¾.ÜüIe`¹Qç³ÀE4 §=^3óÎ$ŒŠ U=Ž¢ŸRíD7ì–HÓÂáTpðHÓ! +g‘j¾Páa™×ië\xäGÙKü¹úeedz®ú†•÷ÓÔh¯èî2 kÂMUùrÊfº˜å!I÷Òûÿ.^°l·/¦±W&Ðüxõ„)E¥„DI˜*¿•ZMß¾6M´ åsÉ7@*¼%dñ0¿ý ^ì+sš›‰‰_Žôo +D#­Ê‡8s]‡®^ã[ ­ dy¬µÐ†Ž¯ò˧ï¿÷ÊÏd`ß]ÇüÕyT—WÌŽþ¯zÈÏDg …‚_£%z#ßiÊäsá™8Oø8€àL†=K) „PQ)g ¼W–ÄõQw (¼ÕGq8{£J³¼©D{•+Îì˜Ç+{¦U¿½¯åˆ Ìhûjú­ì©õrt3׎m>e-oˆ·q±á³+Ñ£m¶2É.j+¯ÒìÁ_sþ«b)CNÙyhR@qË‹Q*Rqê»ñ´yyŒòã _ò®'¹>êI¤xHK‘¨Dù2\ðt*ÆvÕ\‘‡íëp‹L7ï–Í;UDX¸@¨Ã„¸š‘Õ> Ž·$ƒ»°Œ½ŸÚ ¡NGÅGá7æ 7èŠÓ[¹Üò¢›Ž-Œ§…Wjõ%“]…`IÊýéIÊÕô*9EÙ,É|˜ÂrCStÜ>Ñàä,à˜L¡á)`Âìkòcô×C‰ñvn‡…yg¦ê»¤m6ñ­M‹ÌÛ‰ˆy]ÇfwÚüp.èc®9*„ !^ ÀÈ8ST.}Ò’?A•)z:°ý 1Öalê^ˆŠÏ½ƒ\¸ ]¶1æ2‚*…V•¤²ÙŽ½'º²ÚÛëoÀ r̨:ijgACÓb‘­wwG£ÂžR™*%ÓÞ§žÛóp­~œFÆeÇ.W¶üÈ¢6aýëqYÍ\ž¶ IT$ðxÆ9šQ#$ i‹v%¯ 4¿ã$¶¢K•Ä¾BÎT^v&pZ|®ØD`´BV[‚˜Ùøü1œ×,€m{×4:Êý†m­^¡éž÷*V·ÿ¾gù»è…=4ÑF®È^(Ð:”< ðå"XøYf°·‡>¾)ÐâC— ¦ò•èI<’³ /PÔäòÀÇuÂZÿOP''ºÄ€g!~U‡ê j$‘Š² j|y88 4+véž´Æõ»BNDz&;%vm¸¡çãtºûN¢ÝXì¿ BûjTˆ^Ú=Œ¤=Ž¸jÜerôh¯ > ðè‚•Š·ê~:Ìæu´Ã_oRç…r„ž…ûÛhÂoÒš¶èIÏ`ÝOêüƒqL/+únL OæghµJ‘=J)Išä³C»E =p)æÅxõ#—CSÞ7Õ"èû öhgQyýkÛÚ¶¤+3ÌCq|lÅnµÈ⧪/ü€—ì]õï–V‡|Lêc`-P #»°¯KNýñZ36 ê6Ý%‘û·¡Pj1’{õ¿ºÿ¢/ž¾„“c»0^0}Ü>Y^RW€ÌÂÔÏÿÑž©ºaâ½lº½å,›“ÛíHh3ç¢RØê€@”!;ÿ-¶Y­Ñ&­Uî…“mlæz±cÝÁ µ¤#'P4ˆ@W-aÌ ÉQ •Š=d46:RÛL¹¹åo¤j +¼9¡ûÖ2áŒ=%˜²t@6G|g6K¿kçV•a»`Ë®÷¬Âp–Ü·¹žN\]@¼ò!‚H®cSÍ‹V«1£ÂGC&ñM ©ö Å"6Ùû‰ì„-ÈÔHW°Û77«"*Q|¸ gÿŠšX‰È»*Ýü½ÊÜÌ+ÃTsÓí© ÿœupBHö‘-Ø’âψ€©Ñ±Ÿð¡—’-Á(é¤Ç…Š;;–é¤ÚóYŽt×KµòT]³±ØN†âj¨9minf|)p Ý™x|X=AZàY»ÝלT{šVùxGU1¾T)$eÒ9(Þ¬!Ì} ÿ… +Ï€æ)êF×Ê( aöZ¸Õo'ŒwiƒãÎqãõ±ãêó ˜¾£@g?»#Í4Êd‡5Í*S*‹:S >R<ÐuÿfDcÜ°³ˆ¿`Í’Ž(šWV5óI¿pǘÐïÕ çZ{:(Aü=reï ¼b†6K:~ùñô€‰TæÙs­ðË“Ô›GÛ°º­fêN„»Âñ`OßÇÉú;¡¿”jhYÞ>E. ›_e•"¿"Qƒ8¶Éƒ—ð@ðé?ŽjF=}PM6.&ÂrèÛCåÜ-Ee_}Ù™ó+kÉ©ÐÈAÂ2ÅLNÍuÿ:•¸qÚqU§<;/þÛØQ­‡C{íFÁ™ ®ÖžiªŸf×0‡:PŒciÄø˜x‚û[^îÄ‹,XQ#Ʋ;f‚²B?çk|S–“IÏrñþà}KŽšù~›{nÀ‰LnÞŽû½ÓvAíÞ$LD@Ì‘øãã½çvš÷"~z¾v3kFÛesС•ƒtqцf4)ºDe‘:EÜ«d F,_û‹ñåFÐÅ° íȱ^]zA£ÝJ©q’ GòžŒŠV4äwŽ¥ñdrT-š $ÈtTw„°<¶B˜­S|„¾üK\ S¡Èk­?^¦hØ;F/À½fO bÖ.1ácûØþߠÙD!åJ›Ýb B­çí,&Y_ŒÙ1ÄÊÇômt2¶5rP8¤ÿmΒÓ…‘.$®BÕÇ.ÇNþ ÔBIaÔEOAsŠl=+KYøù×¥à;jj›˜,Ð{î®w`‡&Fwc$º%®Üˆ 8§0±ú¾KºÉ 7_¯öd¼9òiÎq¹,åÓ¢Uï_\Õí“Ýû¼¢ÄŠmX¡äpîØÊ€>VÏÿÍX“΃IU|´ô®œîÜýá@çpت¸´¨QÐ!•8ØPBFäBé T‹ÃHëX–»1±…ÖYP;’ˆ\Â`ïXðâìï"†·ðXèôS]~õó¶tÿ[GnuÖH•Íc=Þ¥oÇu +Ÿp|4C !‰ö #&ôõ9bÔÔÅIëNINÀ=¹]ë#¦Ëò]õ'G á;ýF~<¤-ì×›Lÿqé(AhyO!QÁºúJÔ<í—¼¤ÜZÕ²pØë©©cÍ©Úæµ 6 qGtÚ+"¨…ö5èıxv@šË2Dæ› ½æÉM/rY?,6ìîâò“Ýî§Lã%èØ%ùKB€éKX§¢:GÞÊ~u¿B¦|YÁupÚk`R…e𮘮 é ™€`^ `’·ö^œ`ÔJ‹Èvï ÔÞ˜Ú^M+ÇŽgT9'ÆÛWÅĀʦÕØAC/>ðT 46žIœREPzb‰1}Ä”&]·*ùlã‚]ºjµÉgsñë :¥ /cÀÜ\G†Åä( w¨PR›ú¥±Æ@1Þ.p×]ŠGë`ÖO2Ø,€z{ËçÓCîÔ¹¸@:XáŒMrPûØÜcŠ=Ѭ©ËqØÔ€›Þׇ2íLÚ]op]ʼn.¼9ëb0•Ö×ͮОO:cd¼ƒÐÚ$ª#3ôsí<ùž­ÿ÷à¸å¼od„¶Çç˜BÄõbDæ¥o v¤!+šãg§°,¶ƒÆ¡ñ˜Þ¶aÏ#BBr2ríúð‡Â¦&“§ÈùÍˬ٨‰aC +®»4¥ï\2Ö°¯=¨<ÎÈ|Ç¢E…b»ÛuáLÌNÆ’t”2¥/ù‚¨íoGœî»¹E·øzÞªPšŸ/ñÃa_4ÐNÇ^°+ð«ódûU“_ ¨Xó|†—J4…’v”i]Õ`qƒü·?4(ÉÂOÝû„B2¤=,YfÇ ŸÞ˜ò"Íab­Aþ<7.Y‡š¤%‹ýÈ›AÔ.—ï“ýnP¨+‚³&Ö5¢ 5ú…[í_ö«Øŵ¼ƒ=\¬ùǦ«=´™,[ç¶Ü–«º ?‰¤û wþ²ƒÎfm«Ä¬t‹vè €ÈÙZ^4 Š#s9`Ü’ƒ­Ë Ç[xw;ŒZ7á'·G ¶á\ញ  |¡¤ñõüÅÁËjý[S  5…VŽ:PÊ^=Ì€NDE†–‰GŒá×8ŒN¾öýý$X«,X`Í2 +«r%4®ëž4ƒ2›É{i=Ï}:ôÒžè?¤‡·#ê*ˤ°?=ø8 ,Íl&›m FYs½‚Õ«¼z®°TÞ¨vÔKו÷­›‹xq¿ëi—Šym_ŒtáÓ7Z“*;Wa1‚lƒò´´”V¿]æ­»NæÿÓò×`1AËl!P˜qßlÀ„ az¹J2üÆc.>Œ˜µ¢³ç´žSÃþ9fÍÛRn¥¡Ä‰F`ìOº%½©%H’S\6‡ É,Þ´¢ERfgL=Õ õÜt/r‰ólã!ƒ†€ëŸŽfr4èæëö`å&áTò¿:CI%ý>´qGaØa'¯x”ÄM Nß+¬¦q ÚS±¡²¹ºG¨=y•5ã4˜ØÇæ~)†R ˆÓ\fýŒï†'¿ƒ31§ß?~«îaâ[f{¶¤XJì÷´_$Xzë¶Û{irûKC(² +‘œê0Ö.ð3zMO¯’>Â$v`¥®ÄÒ.—irǾŸÙÌ™ˆÒârØü á\héÏ&!GxÍŒ<Ô"5÷û3ÓÚqõÒÅÏ¡t!«•Xy¬§\…åäYɪ=¥* +‡YKäò¬2YÖÃú3@ÛÌØ{Ž}Vu•ãÒTö`ï,^«“só3•½s'w~=ÍJ·¿åLârCžâ¼Æøï"g/òÊ•ûØ­óáŽÐJNsɳ.¤“1{™çh +9zri- +³‡|î¹ø××ç´ —äI÷kô±ýÝåÞ7`˜–Þ½â\î0*P™h@aì»'qBÓQ$…ÑãÚÕ|‰’£–ŒÛËeóÙuì^6…ðû-$¸à7tÊúx[Êö«[•¶0·Û.þfìDn^¿†Àð.¹©nX$q䋸hª¹–À-µ1¤_Ó¯&–à¤YbAè K%ÌlŸ`µ!Œ+Ö—ðPá”æd¬"‚ecQÈË°OáXD€ &þ{¥û.L«e s´¦.AÁ]J’î‚!Å|i˜Î™¼P\Ú??8BÎŽ½(“èïÛžùìßú")×C˜cKR¨Á7† d1ö¸á߆œâûòT‹lZN@‚?¬›yXÁ:²£C-W ËØb‡µâ¯m®'åóMž£ÄtÙHIQ÷kóAˆB‡O +ð’ÌÊCïpàá5‹ö’ø´ 5Œã3”1zØgÍGõ¹_[rÄ›ßum(/7Ο¿†Ïäõ  aEÀò]O‰~Îy† SÛ¸ @·ô·v»K?‚x*vîë»ü2xÚqhhܼ |ÓÓ£{“X ×þÅ‹Sw™áR~”±ù™#×<š +pHÔËù"`d£:Úœ%J Ýúʺñ[=ÛÄ×æU‘6$¦ŠUYɺ”ä{ÂÀŠ¸Æú> +$”ì‹@ù ¿åjË‘ªºÚI»§œä~p•R%du¾g5*eÇR’ª‚ü9˜ÙÛM~Sf‹|Qhðíß’5ãL÷0ý3›ƒ€µ-|Ÿ·îûìC;<ÂêðºUY ˆ¬{ëí!ò$>¨YUIé0L%)Ê1_•¡¨–ÀÁ÷‚rM7Ó#mܱ)¬5nä?É<¦¾—s9ÆR{N¥N·N‰ÌNBóª/z¥½?·þ½Áñtõõ”¼jñL‰¬ñvÖñsušú€GgYÊ.~€kÐR„Æ7dz +¸¥EÆxh#dÙgQýÿÝI2IQàqzŽeŸÊ®“Û·ã‡V™YĤ®_’¡>@€*- ‹=£vá ¡ªšB#°ù¹–Pýï(ª€›r‘Ôx€DN~àœ ìÔ4Ïõ¸Q£C»pâÏðhT犒΃Í%7J’0@["Òûq9ͽ”o,ʶ$-è|\ueë™…̦†\üÕ}ªr‘Y $’͆:˜ášÂ͘gë‚~pÖ¸¸i–¬à¿8»»xÆÈyü÷ øÙG)Ðm;­œ¼ìè^WkA’ÿ&¶ù#ÐŽª¥Ž¶pØCaùh‚)©ñËC—‹Ã ®£;[$Mpi›kïzxíQ(ÖxágÃîn›ÃŽOÅ]×i/Rí’Lè<Åf¿mk3V@Gú/;,Ù_¥çå'Å9K]=¢¸Ý+No|ÙCæK`—åY¸`â5âÍ9]×}“ ŒŽºÜ±',Ïì(•c*ÏU¥%ÓBùk6HèÅGœj ©¿—)ß.pÜT¢¢kþ{ÇfŸé8ÿëu‚8oÛ!æ¡BþmÚ˜PÕª×@PÕ1Mu +D’µ *£•y\Ö5È©·±N5„MÞò‘.Ö°xÒhZÿ¹‡ØÄØjέޮM§r¹G)Ÿå¤8Š“l +ò1ú¨,‹¸ÔìSq¢®—™Q;}Ø7¦½ÿUQÉF~¢j©9^æQ…ÚÎ gZ‹ÖÉÔ¾Kjþ‰q>‹sr¨mJ@S-jØ}/ç¶+=.ÆÝ7zUÄè9-:ÌÈFd¬>0ÁŒHnŒP!–ô£b&ÁSŒJþ0+„o*‡¯ˆÎïÅ—?ëžšHÄãVìyÓ¬qN#·V/®q™ÀúSEÓ~ËO7¡#¶| hÏg»Ú“&N¥BÙÏk3ƒŠOB³u0úZÿñ UŒ›U©0Êä‘r¦Ó`y?•&ܘ-c[=Öâd+—×^4^)Ÿå|:ñè>³Kؤ$M•÷ËåÕóXwÁ^SOÏäÆ7ãåpÚ tGHac¿¤':‚>z冉ºq$ûßÄãFÛÂ4kE•¿,èx@Ñ­tC/Z:Z~niI‰•H0ÔÇÉ{ +¤Gl©õôKE†Ñ<ô…³ÊààÚ$صýxÙ`dîì­‚ýˆ`FWO³%Eµ¹Ö\FÇ`Y%BA1Á°ÑÚ½ð EëË‚srþÙ±%¹ )¾¶ø÷ <ÜÅóìä©Ó;U€;3uŒ¹ø-ðá:~Œ€ íìh@ãzó+@¤ößän›iùe‰­T}÷_›i@qñö÷¤Yë° ²kÈtN% +™ºê!PL¼w(b¼ãð~çGÕt‡ÜŠaëR`•¸r¡ h9³~U-,yvÀñiŠäŸÙ‹ŒÎ‡2Y¹Ö$êl_ZûDe[ôTÑÓY6c†„¥úÀáˆN6*Ë°K¾pB‚†è|gBE?^5µ˜ô1ê=̤C1Žû…$*ï«ÖK!Ê{7'H¢^̦ÞÓ§è7®Çuar>Õzpùm¸8]‘»ê:eVDþò*WuCV# +oÑeüQ@òýýÑ´KE1-›XdÑ`bŽªž™Ë\·e»š"Ïñz?Wa9Ç ¥’G9ê¾·_¡"wÅ8‘fþX‘´„Äó1{%ÿëÞmŒÏý…ÅÁGÁÃká¼s•‚‘¦Aã˜wóì£ø%¥9Í Ó'AÇ%§÷R (†p®mµ[Ò‡Y—DËT±¿‡YÇïý¯™/U|Ìw©_°w†(q:ÊšO›S¢è(CöÞc=Ä#´®:úÎm¢Ë{§Ï* +ãÕ!£ 7´Fµ=iÍHGq…CK5ˆOù©e¼CJjí0Âe7áM^'C\ÎZK°7P’qT©“wÃÖ‡L6Ü <X¾LŒžC}'XmOØ´¨k –¤ñ?ôŠžú&ЗLs½|;òí½*‡0L_¢Ò…Ó$½!Á¸ÊËOZ«Üø†°Œ¨üèùL툿êÏ*n#{¬íìã‹`Õ̵µµØm¸„†#ÛQÑ-ä“yv\Å™Mflˆm¨ÔMÓï5áAVëëvr7ìš“`nCuƒ–Ú¬£ÒUfm W"%rç$£½I8‰=,*€BtBôÅW@égAC_¿j¥~& „ܾ:!ITŠÁíM²ÆÞ-¿§Id~A§†=¹˜&1¶[ÚU +™AŠÙ‚u'¹Ótd¸aD8¯`+(\Ø:ò¼j悾CT vZ]VÀ§r»Éœ0Ræn%÷-6¡0¬·8Ò +rN(Á þºJ?g|‹gBò! ÉŸ À/«Ì $Ì2°œ¤-B…¬cä!ùÀÀ‡Òw­XÚÞýÁ‡«Çן…Ü× |êGƒ¯ÚŽ§Ídž :¾£»S×­n£Áun(,PXÕ™ü4¹p"ÎéAq´L +jý˜¦ç‘ øh_Úl*úáâGÍN¾¡ä‚)í”NÛ[S-¾£• œqVäUÔ2†?c¶5Å£oÇãÚ–PÙµëö¤^6òҲ̉áŠ$o§Ó‘§rQ±ŠÔÉ-—¼ˆ§_?Q“‹®¯­¾tN©¹’wÈd5¦G]\³÷úà.(‹Õ ™=¿\5¥Ã¸~®çÓíq·0‘V.E°"Ìô.¨ÙŽþp;JÈM'[å Û¦ÆÿN 4cš1jÅí~/×èW;Ü +Zg Òòò5UKŽv—º’ñzÍÔ&á¢fØÞOwNé þ88‚_±ûwß—yÁkëÜÆiiÕéw»@¾Îý¿K²4 5a+Ó3§à»°ƒ8Å¿»7VêÉEfûÀñTç-´@Mp=èÕfi=ɨ½myÕOèûZÀ“M#6` +RŽ ퟹ?lС“cí”pKçÈí¹ |î¯_àÞƒÞÙ9ŽBAÛ¨Éÿ&oè-7_ö¶¶´.k#"˜ß/[{Á}W§ +¡ìûœúÉ+LCÚEN—îš´/¸ó—Äx[YЖ6[}\嘑1U§S³1æ3¯F¨ú1÷µä»«Cz{›G»Èuø·±K{F¤!Ê¥³ÆüâÖ¹îú¿ÈÛ Q‚ÿà@F˜W:þšÌ…ìJí£ú7lý5Qä^Ç‘=Çîˆ&c¡±ÀE! !ls»à–Ó×lÞ SÅ1&ß–)ˆËùü tzAéúðXhØ ·ŒDsfRèÚqžt'¦öˆÅsnYúÍ{†…j÷®­‚®¹£ó·b à²íI#çÊ\ã¡t©ÎOï ì}â G(‰åSɈ¬J‘Œ<ïï;´ïÂr]žº@igø¤––”é)Áø}…è*CL\^]Ÿª·ýÖÚ!Óé[g ºlÊ_7Ö§ìXÎ[ØÈ/Á¥¡ð¹ +nIñKؽö$<îI›C¹ü5èS¤€O•ùfüRcVs–⊟`R5Ç—«®­¡ÇF¢ÿ$'SÆÓ¥4„Añ–)H`ÔLGÚñå Lðg|í»¸B·¤äã…1N1¦eÌ>À³ð6…gáT¤¦Ì lØ®<ÔPa­gú•”ijý{°d ÙÅâ22<`Vn %MþôR‚çVv[¦ûúáþ¹G{§“,Góì/¥çßnM|`S3ôþøÛÛeP.}¨iU‰exØN!$tŽúÍÕ'ô|‰1×Ó Š«_ûOU¸ÞßâË„# ÞÅAúi~„³ àÕ«ÖdÇþPI"–6‹òëUË2R‰P$ø÷H鸨ZÒձ舥ļ²Å¾¯Ù€Â Å€„ŠÙ·ŠSªô¯çê5Ñóà\}HínÞùÔw˜t ç•Ñëvó0C¦Ñ†Dý?~æU—ÕÆ™Dusó{-øÔRw€¥·zz3wYaKk’aƒƒ·XZˆlë:Žáb+êÿ‘{#—ý¨¯¯ Éš -y[OâsEóÒuÒšà¡<%Œ.¾äŽS2ÀKø.-p”p[éðºlâíN|4ýpMɵ†q/úŽØ÷b;šúÓ§U%1¥¼…ÞƒnLVrG 09^"t·l8Eî¡Ýõô˜ß/=Ýô‡ô,Äög€&•#<‹Ëÿµ»ŸÄ¥­Al¦2Ûg¥4_…­U׸X +ÎØœ¼@¹ký˜f™aey©`ÛÅäîCg0É2ÖEƒ˜H¡ õ°¸Ûr[-ƒô6â;°K1TùÉ2«È—Ú†É3íP¼áJrŠRþ ù÷ä{ÃòÚøÂ-ÇùìfÂfG‚ú”³¹µnIH™›Æ&ˆzî}£­c£/eÓþí]lùKËaŠƒ‚ëÕËÝñRq䫺„Óo +,&–Æs éÈo¥"Õ!Y2U‹(ÒÊ\Ï.õ^’³ /úû%x»%ߦ±Ã |AŒ@$_søéêLG>*F£<<¯ÛÀ½²¶tB½lwòí㉪f®¨áÙ0ÿÅ¥<©¥ð#a•:šceøfhÒ¯³hgrN_NÛUË‚3*Òµ Oõ˜t:[ÒwpÒèxà5YlÁ}%Å^{åɲ?Ó0±Íü;% +5ŸG÷%æ¨7ÉiSîÜZO2Iõ5C*Bhq Ù7ZòR±©g’TY(ÝÑû‰q uï«DÅOV(¯Èõ; é+²™å Ƀ, +¹‹àÖéä2‡hY²[˜5]ߟˆ½E³4˜÷ é¡Fþå%¥Ç'X5 H“ŽcÙ-ê^p Hê\u´“ÈÕI¡/볫»Zü»¾P®Ü÷—ݦÔ¤A/ Li}ìúIõ¯Ër#D'ùÕÃäÊÔtK4c'×Ë+À±Î½>qŽc§¢Š!Tˆ¶®8‹ÞÛ¢Äسè«Kì_¹À¢[ÆÿG—:¬j¢6±mnþIï'¿«»5—4àÆ…Q)§E<·JB…µ`­£Øsàê ÈŸ +në*ÅùRoy°ƒÞ#†jJ„4-u„”‡?dÝ<ç·þª¼ªê€Ž”MÀ1챧 çn£çã:Ç·Ìq5ÙOÎ3üÌï«Šbâ¹Ò ýeµ~CmºË^0ŠŽEÃ{ äßz°!µ3ÆÉ<Š¶¯=–×qžV€”S½ 䪟Ê»cM—#Fñf_Y但Iô:k!ïødx)<ãJàEÝzWl\3¬GdÀß“ÛË. 4RÑZr“AAöƒI†„ÉQÐs=²úª†*=zL³76o‡“©¸e×€ÍNqHHÕÉx#«Êð…(_ 42Ÿ2eã€EæGR²Œû¶hÈ|9çSpO.¿Z•¨ö‡ž!57LÏzPë¶Þc7)uìzƒw Û`îO£Ê=ñã[Hš¦.)¹.ÃÙ^,]Ÿ(\ó€eضí"Ío2€Yß)ÁT­î?± VØ`U¨#á ž¿£wŠ\»ÊYþ?@ê7öuåùG_dx_"^ˆ+Ýg/CK;+K¶n¿ž…“O?7”¹³ Ñí +³Ã¶„w¥•ÚÉSk.LGæ·z–5›Wà/r‚ó^›±¨÷ÛbÉ€›²˜¶@)H| )Ç0„³v4d$Ùž,º‚ff3_¨Ý R%‚:s4WìÛëÈŸ£ý$›Ì÷FøCKŽ`íã5Ðõ c& lo oV‘–ÏX…d!­EaÈdà¬ùüÍLý´ëÆVÖm£ÁÚ!*UkFÞÚ79ÆÓÐviìöiq´`À +ÔsY'l²“Ôy´¨Í)¦1:"S¢¨ÂÏF™q¯6YTõö˜°IíŸ2cÓªÊhúÌío$¾>Zž`/wZyï­O°‰Ö–E9£FHÇÏø¯º5ýw,ÒS½*å^­´.SjÁç…I2 :6×Æ<®ÂŽO܃bePOø@fu¦%dAh?ÂÒðPøÂ23àH2¾£(§ü\EDn©Ú>ÒŒÒØÙ:ð°ÄnªùÑYÃHàJ£çãa£Mg•Ð@ÞÐÆñ]‰  –謩ãD`ÿõ¬OÐPyƒt‘Bù.-Ÿ*]ûÀÎD)F¬ÙGèz«‚å¦vsZºÞ"nŠÖÔ&p0³AVñŠY¿oTo\rܸK˜Û¥¬²0!5jöy³¯GŽ Ï™âòÐF( ë5d|c§Ö­ÙHÒ.‡²c•.qfx´©KZWdÆšo&ŒÕ‚…¨*¦Ý<Í-òfÃVÿ“©ZFÄN“Q@”Y.ô4%þ^I oQÝ5coT¼éFXoþóGtä=-°›Ö g3Û†HH{ÌÓñß5ÒF8°¤ðJAÛˆ`ŸcÌ+r–`×Mè@êÏÝ6èÓ+ßÙ†£÷î—ßX±¾hgÃÅß¼Ÿb_òù÷C¨„ˆ›ÈÄ’Gÿ£24[k¼™©F>:ê˜3Fõ]ߌ¡•$YµЙºš%F ð‡Ý7¢ +á:Ò1#‡7˜ß"ùN(ìаº¨ß؉jÞÙ’/xÓ_»\¨ùZi˜OÛ”€á=RLê‚ ­ÊðJVZ­Kuj(x€í1%XO LmJå;|x Á$XÚ˜©š—Ý•‡é5/ŠöB–rÀ5ã{u®Þüc„­úR v.AEW2fW·ôä5É—ÝVÕ&ÁAÊeLÂÓZÈÏÀýiFÇ3¥æZåƒñ†¿ªLŒ/”¢M3´5È‚™áÑO¿Û‰S~ÙSTúšNÙôãϼ“Øü¶tðáÂÄqj 3‰å£ŽBÁ +LAïnc¼ }XJ—úPFwð7Ëɹ–;ŠÖOÈÖ>²J¥òFLjùõäghÌùGê«=0ô ¯›áº "Ÿo[å"k”qX\}h5oVMr0Id@9ÑÓËa$¬¾|kïÃe—aáWö‘üäËôåP­5ÌM4[+ôèY‚Õ#½‘œs©t¸¡È÷…y‹R–ÔŠK[»M{sljÛýÒY =’DͳȖ6Å[¶ŸQ†eMfƒ –oÄÁÎ×Ê­$2b´)£¡`1ê¼¼äÿÐ-þº ƒÑÈ“cZJºµ"Ù>N»‘÷Á‹8îGÅsœm!^3 ¦ßZ»^mê@”Ö2¢‰<€ÔV’LT…ˆ¹¦ð3 5•åà ‚ºu ¦S¤êû †2Ö;˜ƒ¯8V~:Á…¨+}¯27BÚ~å©QåÎe-P}f8P6=ðh(!4»³’…QÛá +‚\8ŠsÁóÛ'baTÄÖ¦ux¡ðºG€$lkæĶ–·ðÛ`[ì»z"“‰5õÃ. +;Ù˜C_£Ë?ú몢[…ÛKŽ·b½¢tû2/³œÌsh’2Ì +ƒŽú(5úú¤éU4ŠYR@‚ šËl¨ÍžÊI€ÅKTxs¥‹È@¢…’Ãæ`ËMz(ʱ—€ƒî(Gò¶îµ--‰-2B”Èá9°úEx*$GB"l¨‘ƒÁ×ÉŠ*’`%Ëø^‚‚LìÝjžD[¸þ!è ±! ÑMéKE2tåö_k½³f°·þKÜLÅWT0J¶¶ Jˆ§n…AG"ÏþŠ¢fCûue³ôýd“Ê*0Ýíð?WIQ]ù!N~ !’–ð”ù&7¤'ß·Ãèñ3Ï\~€Šó~>9”Ô°Ar1+ëñôð?•¡yž:¢CR¹;+¨‘ÝaƒÝK¹ƒ<‚ôº+A@23ÚŽÌ؈BbZ¿µãè9‰':?Ü1úÚhÍVȹTy²¼*)]v¶„7¸ üà7³¿‡Í!p‹¯ÁXs ;/i]ÖÇÆPr 3vXkÇ‘fêìþ¦ùà@æ&QüŒrô{GË.6¤çf{•è,ˆâ !¥,vë¼àlû)«uÐQ~õº^ª5úËõI¨[;o7ãÒ÷ÈÓœ …ãútÓ!õæ’­Ú’ÀH;šÞ­,d¶wŠªûlȤüná‚™ŸåC°òÞÝ~D. ÊÔ!/8…-o!ƒïŒ=¬wfjøVÄEMŸÝÛ¾±T~gû›yÐ +ž?t@qÌuÃô‹¼? @oj†ºL°Ñiäsª:bÖ‡…(;ŒXbæ1©ºx ‡¯hÆ![hg\”´>©Y/²¸»Õ;ýƒSVÿE¢­U0u’~Í’KmÃ÷ý O©®a®›3.+™fèÙô’W·ØÄ!2Ì3‚Ÿj \zšÑŽ y§IŒ[°»þ?2IHŸ¬£iG isDé‰ “wÚôƒÉ>·çB ¤6½ +ºwzÛ²qi'€m•Rj¢&á)>„ïv€ySÅ+Q]µyB¸ß²€th¨GˆìVwûÕ\ÊÌÛ&TX^BÚšGÀÕÜ2CÅá~­n€Ü=Õ vû4.Ò¿\ŒÑ!ü˜X61RjÏs:#çzny3qXAªÜ|¯p`©Ë¬+ã;v„H}K©K¤Ct¨†u¤ê3Ž%2GlØê× ƽgJŠÇ]ÁŒNL.x_¥/‰ï¥ðïÆö$ó•6Êùñh-/ÎÍzÑ)îÔöM‚µŽ„Q€-H…AÂSAì^Ђ{ʨ›× +bÒé 83'D‰huªy‰qçxÑ.5 +ÑI¯T,DÜ6Â6'/±+¸ihœtslhˆâˆKÀÀNU7¼óÈð΂’¼\N,™f_2G¬“0¥§d ÐpÙ‚jjC©¬·yñÉÁÔ>ácc^‡… ˆ¦Ó·zKWBe¦y3Mã_iŽÇˆL@ q‡“:6âÅwu>aÄ!⣫ClÊœ ×閺̱V†z‰í+Ëm¹Î¸pÞ‘Mߢhå¼jJý™ƒEòu@E%{ô5‘G?5bª—×0{·­|´:sÕî̘4ʱ’HWt"~"$¥Í +>+Ð(z<1>ßW¤Ùá¿++ó\­=¸ [9r& ñ$½?Ãê–kWÕRÞ‡‚*ü¤b‘Êfb?ä­µÝ|µqöóŸ ÝT•¯`³‰ó±ú7C«tðÉýNò(ÑÀùÞáX9Ö•`9ÀªŽÿKƒ©pþQÏdxäÙÚiã$ +±°œ$«â²<ø×Mä>3æ!¡/ÿQÐ:À +DõRô½>Ú剽ãŽÖ¤±däWQz~6<Í?¬±™juwtC*°ð·õêÃf—Η2záä Á2>ÀÄ Èñ‹/Y¤Ó–'c¹J…\ÔÎ!ä’;kš³÷©_[ÍŸ3 ý'˃í’À¨H +Üák~«ÂOg'ž¤”ÝÌ}íl 4Q]^ ;Î6øu^±Â´„®W·=FÔ˜5ŒJ»ÃIƒÚÉk?²=)äs7ܪ/|¯Oè |"Å4¾OÜ»ûG1¿™£iáãÖ#2õ®*p¨¹÷­ˆ¥á{¹ 0]f˜lAŒlÛxÍÐCËöþH#c)1VÆœ +ÛÍÏ7üCaú Ê Ó‡•Vnž ÿ[Rè8sZª¯¨™ç)(V-©—7VWa'Íê³D{^¥{æÃ'ÒH>¨¹>†Ÿ!7ö]\ +åÕä!9>Úo¡†MÑ{V ¢S)âþÖmþúîIUAŒAßqªâÑÏÿ[8Éwc²xÜ‚\Óå<ÎœÈÅ¡<Ξü´9(ÁèH#Íkf¢Ï|¾§é‚”÷ò\Ix0€ç.Êì_5cºc/. 9‹XB„ßž¹ffýñ +²Í-4Am) ¤{Ÿ<µÚ5m³Wàh)CðåúT9‡î§` ö3üESóÔâúk†f7Bºñ.“„¨ —¢áyÆ41}D>VØõ±ZÏ8œmóQ%әўڪSžž±Ô Ï}–{›ý業¬â",ÍbKh‰ÓWLæéO•a˜íZE•o„·S‘AÐ[föÞ¼%Âzwðt.8ÒÊï¢Ø>t ƒH—ž^Û ¯ÁkÔÕâ~bGe©=Êüy`LÒSuKÆO?pYŽ‘²ÂûŠMÃSLlt mV-ãV}Ó¯ÅÊRÉÜÅ{â=G£ùå^ΘI‘ªG!Wý…¨Â®kk:Zs'òû÷"öJ͆ ƒÎð!yþÌâæõ5ggF¸w…0 aö¸¸é*ð¹?% +®ly’jµ!â–î1 ˆ’q%{–qÊÞ yχpí¸;¯ŸSÚe(v'Å éúÖ)¼­(€\ãr"ΫP]•U¶`ÕUBÊ%ˆ7³•X>¹X‘”+D=ð³¸}Wê6gfåž)ÝK¹:}vã\È‘ê©–Îâƒí«Iή{Õ ß1ÎÞ¬O§çúR©Úz};á\ +ÒmUˆ¸yæ•ö3•çƒF:Œ„eŸ:Ê}¡ì™}zПƒxGêžË:æÅj;Y¨ü©v-=¡‡Ûß=÷w%x< Ùµ· µÙÏ$KŽÏ¢Dî"Óµ›ù«Îs ÞúÚÔBêÇ®Ê;@Žç•óœ`;€Ú,ÙD„ù¤s¬ó=ñýx%•›»¨Ãð!ÀšÓv±pÁÅýÎ/ˆ‚Y2Ó•]sÀù‚z +&+MP©)iFœ3™øX gºa™”|ÂÖIÿn²Ìa~Tµ-ÆÉRµË¹uÎþ¨äúê{Ä°¼îðW)úrå…÷tðö,3ÀÙÀ…«‰RÍ|ðĶ=ÁÁÂë‘ÜëzP?ðb|Tgù\ŽÔŸòèQ:6‘´ê”©owKƒžjqPæ„#1í—d4½ÿ§RkM;B¿ÃÅP¶ŽÂó},ö¶óßã—ØMú²™·˜;Ë‚ýB=d ½²PÚÞ—aЋxíÄŒ|W›‰&Æê›æDÕ¦ÎgÍ«¿µ5¢€Ô:ÚÍ\bfK¤O¯pÔ~­•mì¬'3†êx²hÚˆÈEîåóú[9°¢XäuµŠ¥²PÛªfŸB6†ÿÔ‚ÌšêˆL¹ÛˆB¤£;ãö/BtCy¨+0ý`7w>bä횦ۃ#Ög!ßQ­™Æ–YN—Pãù×;!SE¡ìEþGø˜LNÙ°šX+ç.8Öõ(\&m•­ÀEæ;öSÈç®@¾„'2èw°ÿè¬lSΠDžäD „!m.éŠX’xàmü{ZÔ=­…ûF_c×s‰œå±™qñ_íé7Cò 3<ü¯q¹q"Õ¯0o(×ÕeuÅížüÇÎô6FO)93#0©-‚%G[¥Ë*oº»¢‰0¿ts–ÂòÜB¼¼;˜¬®w™Ê|£îPà5UéWQlQÏv‚Å <©è?ƒ«³Ö‚1ôóD_ŠªAd,Gá@ H2.Bv@ œ®b!?MU¸TÇÂUÒOþ‹ óÆ~yl~F3C¼VCN@z_›Š’sÿp*O*H¸XtÓ Û;H$i.ui×å:ÿ&¡U]{ä!1ÓF6ÓÂW/;YMîÕüGd*ý[zÌ´u¬úG}IlI9Ôó+b9â §Bï”y¦ÀŸÚ½Xárþ‰…`Ú]¾8 psƒ?ÜÙAk³³—ÃŽË -˜ƒc1‰âùxÍŸuTæOç±q%`žñÇáêXб s ¤×Á?/]ˆ xm(9uùŠL¸Gµª.e¢è"®õÄ›BqôžÙ3áHWí°†ǸkÞó‡Â²•bm·œ6øËQv‹L)z_è×>´pYLî- e’IÑÃpé°à,[tÑ`!ð9:˜P{žÏ4äÁ˜'8¹´ŒùÒ,¡Ž$Ù)¡ðçP”•f‰×¹@|騳’áä!/ÚXûækÕjÆ-'GÙ¤YÐÚàüR +TÇ6šÿÄi‹ºÉ!(@_¬Q~Ž'8i€™eÒd,sSLg Íö˜G­Àÿt‡V\3St÷6…f…»>¹Ç'çy.H«¥ÚÕ–|Óõý3ÞJ9Ûϱ¯³}þÄ@ZÍš ríx¥jjlxÏïDðvZ&r*4g•ýMMv«:f²l†°ô]@8dÖí¾b1vEï¥(û1ºšÎ3>ëé‡ “6£“^ˆB•L­¯S†2\Kò¨yiú³5éÿ7’ž [ºYyZS(ª,ÄûA X˜À’±‘4”‹¢”2ªPE&N¦Q&KÃý–íÀšD€‘‡.ÿ9ʦnª¬cÆPQAþ¦1øµ†+±¤ÞÏ`r†²£˜y"àϬˆþê-,|zvùC>S¼UC`‡I3ýzí&‰†·‰ÿ½me5w!4¤R²“²sÉ‹òje¤´/9¤“^ñ¿íxÒ’Ú¶µZCå«n?[(Åú¶éæ´•À‰G¯ äp ƒ$ÌçàBsk²EµD¹½#t¶}韺GNœ–ú–<ñ·4 +¨?šÕ¯u´h¦ÚÑ>t ¬µ–ê¹Äµ*ÁÒ†k';ðâÇÀoËð¬3JŠ85Êæo«x® WÁŠÏÁ ˜àÝqÑnáyI%+Ä')iÙþ¤5¢ð +[ÐõÅrTêbûw°$ˆs«hÛz`A:–õ8Pìi;Åһ߶±—P ,ÅóU—ÔR¥èÁøÂ5T/²ç‚xÐáÁÐÉl¯&(µL˜ãó-¸Ö,º4A¦9E¢Pì!Ä»—Ë¥J€÷0ËØÙtë?Ý>Ô^°íT×kÐfüªgS@,ï¹²0fÕlë‘~HÇ.Ô±â¿JoçrŒöŠ#öê?ó~_•td]¾Ñ\T º…7cÞ‰«Gû‰A6ŸjØfJð&×kRt+töÚFžV <.+Ú3W¥b ºÓðF»¿'¥íRÆÉlòûç#o vá—ãíOjpºË.Rð & a¶`@”jÇ¥´†laPˆ8—Q.úú¦‡íG|Ï÷´gL¼+›0ð§„Y¶Ò:Äœ¾Új#ñ%ñnÞà±C¯‰}Û×¹ÙûT Ië?´¹‹tŸ±V7Nsý~½rìœO¾TâOªï)±èF¤,„Ó¡Ï'âå›çk:ˆ(¡îpˆ|ê=÷J|}é¢9ÌÉéw@án‡„íýê[4ƒ„Àô)‹z¬®7§1®)ø—ð2¢÷¨Œ&ç3ö¼ìƒÿɛޛÅÿŸ4™»V™ÏŽøƒg,×{E&",=ß [°oè"°X>¤%ØZK)c;õmŸ_|ÌšøÄ3:«e„ǤþûÐz¿6}i"8Cbô:ÁNôþAo³/)í²¢ ¬(]xøÜy÷g}Í.J0ÉîJÙê ­Ú‹l’.˜@³Âél¬6Ÿ÷>S¤3Kõ?›l!Žç¸Ò:•§fÞMEA­ü´¤ˆØùùÐ}5+0?%à¾pT› ðØÓ>º ò¿˜uÓhÑ–¼zÇc 5~Nñ!µ€ blr¼†Ä]$D®ÍöÇ4©ÑL¿$7w¹p$ze‡ªŽ¸ Ý‘1-r›k{Åi¤DF ¥"(E øõ§ ôeò©3 vH¬×c °¯ŸÏŸëЈGÈÌlö4$§„“YM1ìµ^ŠÄ:/Ü…ÛpÞ_þ%ñÓÏ„{òßì/xnÈX:>RظðÈî°á‹?(‡ûݨ¤çpFbγÎn…oè!ª(˜¸LíÇü¿](R$|’/©@¹4!òVÎ7ðD€•á£HÖqÆQÆ„NH—%ê[4P F8—Ë_°ª£¾Q ´¤ž +endstream +endobj +19 0 obj +31660 +endobj +18 0 obj +36943 +endobj +20 0 obj +<< +/Type /FontDescriptor +/Ascent 993 +/CapHeight 900 +/Descent 211 +/Flags 34 +/FontBBox [-215.00 -211.00 988.00 993.00] +/FontName /GnomeUni-LuxiSans +/ItalicAngle 0 +/StemV 0 +/XHeight 600 +/FontFile 17 0 R +>> +endobj +8 0 obj +<< +/Type /Font +/Subtype /Type1 +/BaseFont /IAAAAA+LuxiSans +/Name /F8 +/FirstChar 0 +/LastChar 7 0 R +/Widths 6 0 R +/Encoding 5 0 R +/FontDescriptor 20 0 R +>> +endobj +21 0 obj +<< +/Type /Halftone +/HalftoneType 1 +/HalftoneName (Default) +/Frequency 60 +/Angle 45 +/SpotFunction /Round +>> +endobj +1 0 obj +<< +/Type /ExtGState +/SA false +/OP false +/HT /Default +>> +endobj +10 0 obj +[ 0 600.0 600.0 600.0 600.0 600.0 600.0 600.0 600.0 600.0 600.0 600.0 600.0 600.0 600.0 600.0 600.0 600.0 +600.0 600.0 600.0 600.0 600.0 600.0 600.0 600.0 600.0 600.0 600.0 600.0 600.0 600.0 600.0 600.0 600.0 +600.0 600.0 600.0 600.0 600.0 ] +endobj +9 0 obj +<< +/Type /Encoding +/BaseEncoding /MacRomanEncoding +/Differences [1 +/s /o /m /e /space /t /x /i /n /a /c /r /d /g /one /two /three /four /five /six /seven +/eight /nine /zero /period /w /h /hyphen /A /S /C /I /colon /odieresis /adieresis +/udieresis /Odieresis /Adieresis /Udieresis ] +>> +endobj +11 0 obj +39 +endobj +6 0 obj +[ 0 611.0 222.0 222.0 556.0 278.0 278.0 278.0 556.0 556.0 833.0 500.0 556.0 500.0 556.0 278.0 500.0 333.0 +556.0 278.0 556.0 278.0 667.0 556.0 556.0 ] +endobj +5 0 obj +<< +/Type /Encoding +/BaseEncoding /MacRomanEncoding +/Differences [1 +/F /i /l /e /colon /space /slash /h /o /m /c /a /s /n /t /x /hyphen /u /f /eight +/period /P /g /one ] +>> +endobj +7 0 obj +24 +endobj +2 0 obj +<< +/Type /Page +/Parent 23 0 R +/Resources 4 0 R +/Contents 3 0 R +>> +endobj +23 0 obj +<< +/Type /Pages +/Kids [2 0 R ] +/Count 1 +/MediaBox [0 0 595 841] +>> +endobj +22 0 obj +<< +/Type /Catalog +/Pages 23 0 R +>> +endobj +24 0 obj +<< +/CreationDate (D:20051020003055) +/Producer (libgnomeprint Ver: 2.12.1) +>> +endobj +xref +0 25 +0000000000 65535 f +0000080455 00000 n +0000081519 00000 n +0000000017 00000 n +0000001555 00000 n +0000081301 00000 n +0000081131 00000 n +0000081498 00000 n +0000080141 00000 n +0000080797 00000 n +0000080534 00000 n +0000081109 00000 n +0000042624 00000 n +0000001673 00000 n +0000042368 00000 n +0000042343 00000 n +0000042393 00000 n +0000042809 00000 n +0000079882 00000 n +0000079857 00000 n +0000079907 00000 n +0000080322 00000 n +0000081699 00000 n +0000081608 00000 n +0000081756 00000 n +trailer +<< +/Size 25 +/Root 22 0 R +/Info 24 0 R +>> +startxref +81855 +%%EOF diff -Nru shared-mime-info-1.15/tests/mime-detection/text.ps shared-mime-info-2.0/tests/mime-detection/text.ps --- shared-mime-info-1.15/tests/mime-detection/text.ps 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/text.ps 2020-05-06 14:11:14.293907200 +0000 @@ -0,0 +1,2343 @@ +%!PS-Adobe-3.0 +%%Creator: Gnome Print Version 2.12.1 +%%CreationDate: D:20051020003047 +%%LanguageLevel: 2 +%%DocumentMedia: Regular 595 841 0 () () +%%Orientation: Portrait +%%BoundingBox: 0 0 596 842 +%%Pages: 1 +%%PageOrder: Ascend +%%Title: +%%DocumentSuppliedResources: procset pnome-print-procs-2.12.1 +%%+ font (GnomeUni-LuxiMono) cvn +%%+ font (GnomeUni-LuxiSans) cvn +%%Requirements: numcopies(1) duplex +%%EndComments +%%BeginDefaults +%%PageMedia: Regular +%%EndDefaults +%%BeginProlog +%%BeginResource: procset gnome-print-procs-2.12.1 +/B {load def} bind def +/n /newpath B /m /moveto B /l /lineto B /c /curveto B /h /closepath B +/q /gsave B /Q /grestore B +/J /setlinecap B /j /setlinejoin B /w /setlinewidth B /M /setmiterlimit B +/d /setdash B +/rg /setrgbcolor B +/W /clip B /W* /eoclip B +/f /fill B /f* /eofill B +/S /stroke B +/cm /concat B +/SP /showpage B +/FF /findfont B /F {scalefont setfont} bind def +%%EndResource +%%EndProlog +%%BeginSetup +<< +/PageSize [595 841] +/ImagingBBox null +/Duplex true +/Tumble false +/NumCopies 1 +/Policies << +/PolicyNotFound 1 +/PageSize 3 +>> +>> setpagedevice +%%BeginResource: font (GnomeUni-LuxiMono) cvn +%!PS-AdobeFont-1.0: LuxiMono 1.2 +%%CreationDate: Mon Nov 12 2001 +% Copyright Copyright (c) 2001 by Bigelow & Holmes Inc. Instructions copyright (c) 2001 by URW++. +% Copyright (c) 2001 by Bigelow & Holmes Inc. Instructions copyright (c) 2001 by URW++. +12 dict begin +/FontInfo 10 dict dup begin +/version (1.2) readonly def +/Notice (Copyright (c) 2001 by Bigelow & Holmes Inc. Instructions copyright (c) 2001 by URW++.) readonly def +/Copyright (Copyright Copyright (c) 2001 by Bigelow & Holmes Inc. Instructions copyright (c) 2001 by URW++.) readonly def +/FullName (Luxi Mono Regular) readonly def +/FamilyName (Luxi Mono) readonly def +/Weight (Regular) readonly def +/ItalicAngle 0.0 def +/isFixedPitch true def +/UnderlinePosition -88 def +/UnderlineThickness 83 def +end readonly def +/FontName /LuxiMono def +/PaintType 0 def +/WMode 0 def +/FontBBox {0 -211 600 993} readonly def +/FontType 1 def +/FontMatrix [0.001 0.0 0.0 0.001 0.0 0.0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 65 /A put +dup 66 /B put +dup 67 /C put +dup 68 /D put +dup 69 /E put +dup 70 /F put +dup 71 /G put +dup 72 /H put +dup 73 /I put +dup 74 /J put +dup 75 /K put +dup 76 /L put +dup 77 /M put +dup 78 /N put +dup 79 /O put +dup 80 /P put +dup 81 /Q put +dup 82 /R put +dup 83 /S put +dup 84 /T put +dup 85 /U put +dup 86 /V put +dup 87 /W put +dup 88 /X put +dup 89 /Y put +dup 90 /Z put +dup 198 /AE put +dup 140 /OE put +dup 216 /Oslash put +dup 196 /Adieresis put +dup 193 /Aacute put +dup 192 /Agrave put +dup 194 /Acircumflex put +dup 195 /Atilde put +dup 197 /Aring put +dup 199 /Ccedilla put +dup 208 /Eth put +dup 203 /Edieresis put +dup 201 /Eacute put +dup 200 /Egrave put +dup 202 /Ecircumflex put +dup 207 /Idieresis put +dup 205 /Iacute put +dup 204 /Igrave put +dup 206 /Icircumflex put +dup 209 /Ntilde put +dup 214 /Odieresis put +dup 211 /Oacute put +dup 210 /Ograve put +dup 212 /Ocircumflex put +dup 213 /Otilde put +dup 138 /Scaron put +dup 220 /Udieresis put +dup 218 /Uacute put +dup 217 /Ugrave put +dup 219 /Ucircumflex put +dup 221 /Yacute put +dup 222 /Thorn put +dup 159 /Ydieresis put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 106 /j put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 113 /q put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 119 /w put +dup 120 /x put +dup 121 /y put +dup 122 /z put +dup 230 /ae put +dup 156 /oe put +dup 248 /oslash put +dup 223 /germandbls put +dup 228 /adieresis put +dup 225 /aacute put +dup 224 /agrave put +dup 226 /acircumflex put +dup 227 /atilde put +dup 229 /aring put +dup 231 /ccedilla put +dup 235 /edieresis put +dup 233 /eacute put +dup 232 /egrave put +dup 234 /ecircumflex put +dup 239 /idieresis put +dup 237 /iacute put +dup 236 /igrave put +dup 238 /icircumflex put +dup 241 /ntilde put +dup 246 /odieresis put +dup 243 /oacute put +dup 242 /ograve put +dup 244 /ocircumflex put +dup 245 /otilde put +dup 154 /scaron put +dup 252 /udieresis put +dup 250 /uacute put +dup 249 /ugrave put +dup 251 /ucircumflex put +dup 253 /yacute put +dup 240 /eth put +dup 254 /thorn put +dup 255 /ydieresis put +dup 49 /one put +dup 50 /two put +dup 51 /three put +dup 52 /four put +dup 53 /five put +dup 54 /six put +dup 55 /seven put +dup 56 /eight put +dup 57 /nine put +dup 48 /zero put +dup 163 /sterling put +dup 36 /dollar put +dup 162 /cent put +dup 131 /florin put +dup 128 /Euro put +dup 165 /yen put +dup 185 /onesuperior put +dup 178 /twosuperior put +dup 179 /threesuperior put +dup 46 /period put +dup 58 /colon put +dup 133 /ellipsis put +dup 44 /comma put +dup 59 /semicolon put +dup 145 /quoteleft put +dup 148 /quotedblright put +dup 147 /quotedblleft put +dup 132 /quotedblbase put +dup 33 /exclam put +dup 161 /exclamdown put +dup 63 /question put +dup 191 /questiondown put +dup 187 /guillemotright put +dup 171 /guillemotleft put +dup 155 /guilsinglright put +dup 139 /guilsinglleft put +dup 47 /slash put +dup 45 /hyphen put +dup 173 /sfthyphen put +dup 150 /endash put +dup 151 /emdash put +dup 40 /parenleft put +dup 41 /parenright put +dup 91 /bracketleft put +dup 93 /bracketright put +dup 38 /ampersand put +dup 167 /section put +dup 134 /dagger put +dup 135 /daggerdbl put +dup 42 /asterisk put +dup 39 /quotesingle put +dup 34 /quotedbl put +dup 64 /at put +dup 35 /numbersign put +dup 176 /degree put +dup 43 /plus put +dup 215 /multiply put +dup 247 /divide put +dup 61 /equal put +dup 153 /trademark put +dup 182 /paragraph put +dup 164 /currency put +dup 130 /quotesinglbase put +dup 146 /quoteright put +dup 123 /braceleft put +dup 125 /braceright put +dup 170 /ordfeminine put +dup 186 /ordmasculine put +dup 177 /plusminus put +dup 189 /onehalf put +dup 188 /onequarter put +dup 190 /threequarters put +dup 37 /percent put +dup 137 /perthousand put +dup 92 /backslash put +dup 168 /dieresis put +dup 180 /acute put +dup 96 /grave put +dup 136 /circumflex put +dup 152 /tilde put +dup 184 /cedilla put +dup 169 /copyright put +dup 174 /registered put +dup 32 /space put +dup 160 /nbspace put +dup 149 /bullet put +dup 60 /less put +dup 62 /greater put +dup 172 /logicalnot put +dup 94 /asciicircum put +dup 124 /bar put +dup 166 /brokenbar put +dup 95 /underscore put +dup 126 /asciitilde put +dup 181 /mu put +readonly def +/UniqueID 5078983 def +currentdict end +currentfile eexec E98D09D760A3C22CF119F9DC699A22C35B5B35ED6AA23593C76D54CABB5E942B +F7D6DD84F1664B89699C74B472DE9F8E6DF925F6C4F204E9F1C639B4DBA988ED +2AC419FF2B2BDE605B8EE3264EDD66412D4F21C64AC522BDFC7C5502F9C3F3E5 +592B3B2093D33C9BFAEDD2D49E89AABAA832E23F062E91A25032519D1868816E +44B4E0747795003D7930299D6E1E2A5BFE0D595DC97E140989CE81D8D7F852FF +9CDC7A1B1B598C69131DEE005B415805A16D8F1232D83BF47CFE01E54AE843C1 +FF919109F85F08DC15086C2613CD4932FFC3BBCF951312D7AC8EB70626A8256D +9CB48AE151BA7EBA556B7FC8966221E8114D04E16C2D41159D816F0736665744 +C5AA840A8C9E4A697E288564BABF9F22155139A91877825F56BC44047FC0057C +78C5CD71D7859D99CAD461A73C7871F7161E71EF00E7DF6D787AD0209C092AC4 +FEB4AE0EDF2141C62D4C5120EC43941E32433D8D3EDB02539B98433D8D9CA45F +6AA67D383551729AEF5E277B8CFC1BF612583912EFA2A3EB1C1490696E3B5B64 +987F7129C7F195446A898B0405208E0943FEBF10E74DC40EA182198E60E9BE5A +785D6DF540CF0AE65F2EF925FD27DE63269160F358AFA6CEC1C121F1EE2BE18C +DC1237C59283BE1B774EFB9863BEDEAD8229E459BC6E2DAE03EAA3083214E847 +AA01F76B67C91AC84CF459139DC819E0575C04BEEF896208B91E6A6CE8AE784C +E77246F7BC68A2A4B4F642AC3AB4748E352DE8555F5907B36C1668ACA42182D0 +E9FC1C228F7BB63F6B041C2DD08180D1AED8C25B136D007C6DB9E11C2367F0B9 +CAC27A34AE8EB2981315AA94AE8377875C50BD43DDB93A2DF261456B4B945340 +C81C790B5EDE5C3828C55E244DA6257D05D0D2C3274A35FCF96C19BF666B8C45 +1982729FD8C9E61FD1F81A4A346902E511732F09CFEDB4D88AA555E15C05F19E +2CA7BB2294D9079A9182D8970ED7153C9D262F6203290D693744F86EE55CF4BA +2F11579C681D25B9FA91255884C9A5050A15728E11348EE5EB4F370749C3D27A +D6A686868DCF0E327FBFFB45EFA735CE9AE0367E6A239B85FD751BE92E2C7D8A +618A08110FDFB48272337AEBA86F992A033663B0DEF168DA75BADB4071110941 +7320C0990BCA84EF516AD34E5AE14FADF3E3E44EAD46613423069D24BFE0E28D +DB6D32D0001738AE534BC2BE240BB5BFAD1489CC2B2F6621449936C68786A51C +02E8C179B643E401D01BE6849BFC89E896B1C3356DD9E8FCB69691AAF6BEBA04 +24D62B9F266D560B4089E20A9F35AD4A7F65A7183761ABBEE0F7EF26ED3565A2 +5516A3A5A57143979A1EEED8CD52A69E4E1AE4795F3EE0CA21B9F4D166783A9A +F54B08B6C56703932A310197E328C6E6A6BADAA11D66A952964F31FD690082FA +02D1E2A4512A9F274233B203FB770A3A1C7490ED630D0FAEB3066429D00302A9 +5B07D8F628F1EF4E3F45B5AFC9638A46BF1286E21A7463ADF8D870CF36728FC8 +3FED84B967CE31C5F19D9E36E707907AB3946AA1DDE97A87CF71BFAF25A904BF +9D15DA7739FAB55835A8B8AED166F2445E020BABCBC2A84B0A20C8CD2778BC3E +074CF498E454F752CE7412BAC70A04CCB4C093854AC72F28F0ED22066816568D +2B61F311C2EE3444CCE402A461CA0118CB6328C7A8FB765C4A008B5DA5AB9916 +AF83CC04157B769C659A794A7C3EF8149211C0EC2E81A2FDACC6E6C2C0271987 +E8C47DDCD84E8AA3BB0889764042EFC8249E0FD10586BBA5E3C7D5394C3C2FF1 +D482A67514026A4D65B094DB94C4A8872BE1FF437E983F6F2E8B336EEA6FCEC7 +5ED6683A41C9CE6E70671A63F4BDBE846CE41857FDACE3327FF35AAADE4C338D +528224A55C4504C2CE5A774EE32DE11CA3FBFAD628A915FE452B0B40F774AD1F +099860E44D875F4DA0C71B9E586A7D4B8AAA9B7D8225CBADC7C069C46B465BB0 +3F558588B9A6F0330D353A8025B39BFE5ECD63F6A6DAD23A1034B09F44BE2CFB +F7D974BFFABD8E22DB54CFC0CF46203ED59D7E257E07531D818752BE3E059D0C +453666701360B64A0E687F8B6B06234CEC96F09671999B301174E74945BE4726 +3CF6B35E73461E18DB1598541CD4903EE143F0FF8411858E57956DB86364104D +369FA26A999BE77F55F821932BE8C1F6995ECE359BEC8CA7232E70C3E17F0DAF +4983A7A210F2585266B9AF3C044D70B536630411908DE81B688DFCAF9322E09F +F0977B628FA31D986C1A66D0F4A6E8A2D7376C6C60099E31F0AEA56CC42E30FD +DF24FEA95C859905D140824AEB9FFE0A7791C50B22E8E158989FAE39A43D14E1 +BD1617E8F13FDE3BDD86015BEC64003E1D634F3DB00520FF465705B55C18F64A +695739ADE2508BB69D539CAB9101F955D15BA475043848600BBCB00FE0A2A53C +C5B5C98B2B0996D3DCAE394BDB1284A6B716D23AD0714E05AD6F4C749DFE7351 +A9DA7F1EE6A630FEAA7ED2BADBD4779E7715B866EF5CD6D17A79674F3F185A19 +EC9BC0480AE6FBD2DD06F3DB4D234F938A4FB5F61FCD5E23B151E89B610556CD +C649D036DA38897E2603E9E2A5E16116D8484A0D810FABD973AB649646769A11 +534B6C8AD5CA5BC5A38D4236DE32F33F47132143AF460828E7AA912911E899A0 +1F3C85D501D3C8136AF692B3832412113F57F5B498D06E8BC475D6FFD7DBD416 +5033544CC77111B564F7B21465B2BC0429162BA4FD49C7A7A7A36F646BCDECB5 +01E63158A6DB744B925977154927F97628D61221A64F6DF5FD63771F4A76A4ED +D0CBF03C2AEBE2B364298D7D8A4089EAAA7DF9CD4D0632E38525D0E59F037188 +BA436DEBB3D050B7D214B21AD842DE28E6D46D273F6413FB2B9A508639FC3EAE +21B2F659568474C617900CEFBB5243D7496F73E0EE7F4A3A0343746E7B189A7A +B1B3974DEE82543797BBB3D093DABCEF39C27CE8AB728CC971CEEFB76A24EDCA +564A31C80052563EA4E9F5308F070FC807CA062E26F2D72AF06069F50B1EF911 +97C8873EBACD1D974C8BD85D586DDE8E621F41648BB24DFC3BACD74FAB79EE9E +1DBE30BA8C1671125E5940927893B2790F7760631A34DBE6CD348E5605B5CEB9 +ACF9EF7A627CBA5DB5E899BD414506329E46F0B9848F730E36553F2A35AE992D +42D7AE4DA66E75CDD23CAD56D4C51176924D5BE94C2A974BB46E1058454FDF5C +7EBDA1632EDD353FFFF7525193286A9AF6145E102979CFEE99D9FB3CB1FC2EB2 +570476B11EA9A19A434801D58F4318D8414439922D89E568D6E83A57FD76802D +C0D30431821B145BBFD0126F2AB0161F103DC8F2A874238870740AD3B8954262 +55475C3BC6B1EC0E77BA8B1CBB176A8959AAF99A2969C4E0A3214D0627D7CE92 +A0D7EFE8E39CD42CC31263968ABDD978F3108C8D2F70B6E386198088209826E9 +6C31F1325BBFF8FD0E4A59327049FDA978C9CDE7D79E565E1BBEC909F8EBB12C +6BF8505890855BBBFCEE7265519875954B9F44FB1A024C28A734BA1A03AF3A3A +64CD95D8884B321A43F1041E38FCE81A6B2563C2CBADB04F4036B0208B863FA6 +9E88D301B364AF0F99CA28E1D023539158B7CCC48D092CBE1167817B113436B0 +7AC9BD5B0382F02EB8C8BF99E2F463994CC60A09BEA9A64E8D2CBD966140F4AB +F361D62845F72FAB9A107059C96E70DC1E2469EEDA1FAE3982A64BC300C9E81E +A98B34D8DAEF36B9E1F55E3F5697EF6F029E650D480D210014C8F18647EC2356 +8EDE0B22E54524F04BE37DF85FA61E3377A08E57E03B14554FDB1B40F07F2E86 +259E818A7732150B01A71181EA18AF4032E1BEE9A4532B26B9C8C063396DB817 +1A1E25A731C10F8B31A84393E9ECB4F279C884C29A5E596E08D144D081C4B7D8 +CF46E43E35EF09F56892E322D345FB7BCBDC665FFC924AD4EC638AF0959D931D +33A54E0062C68EC1852047D73E8715D5A6E11F62837DFCE1617608CDE2C753BC +B1CE0C4C1B151CF1FF1A4830F7484B8B1134617F6B1B60CD54B3623E518CBCF2 +95C49DD546E783F884D38B86022865E8B57139637516EFAB9DC8043A4A8EE1BE +623EDD5DAF585F5F3A9EB96E6A51C18E0B3793AA94B6301C3473C58B11B9322E +F90BFE890466EB6EC6A1138CD2AE2398EB1AB8749FADD587C711E18AB171A149 +D262A8EA2A462C4B0AD1A00C53F7C3D3D1C9CE8FBB95A7653113D387ED03573C +6AE045A7190E794571972FD93DBB5BB1475EB2F946795C131C1572F187F1E6DD +438DC64EC74AFB6B730830D835642F1456E76C3327850B745C38ABADF4E742EC +17B3293D8C64E041EDC5750FF5552C333DF29FF5AAEF6214463FCC682254BAAE +84C0C71D4ECBF232AC4A4DC563C819BF966C37993F2754077385DDEFCE85C532 +95B2F6FAC17A557DA24669B61997BE8D589CF50BA27FEDD9E76A19A96D1D48EE +4A4D2905E97F89E6C08F25172E511F66E04233648C85F00F219DB234C3FF33C1 +3A75ACEDA696AD9D778666C706246428F6B0BB75F812A4C16A689C9733B0D105 +71F948225DE8A512B7B94298D38555F9486E4496389426C896BDA10B71A25D12 +E984AF2EC3F78613269F85BBC185013872B1572A799506137E9A6A271683B7C5 +4590BC0FAC02DE3E0C9AED49C5CA0E26507DF36C2574C1FF73BFCEBCD4597632 +810D07BA9A666A07A099C06E0639283F42E7EFB3FF8DC79F7B2962967107F5CE +41CF3EAA45B092F2BC433BADAF57E390D5995B69F1E7806BCE13834433C891F3 +80694297260788AA2EBC3A0910CAD32B7E0B3E5101B5164BA8B0259B7DADFE9F +84A7C5DC8DB864471CB666F4148991C3530535DD7C086CCC09A768B22937D0DD +E18B1EE12E1DE6AE83F6FB9E1FB217B1D9BC2B4F8A01907A80DBB16A496B2B7B +3A00BF5CBD2BABFE145E5E49AF9C3398605DF0589EC2438A167DD38B46D52340 +2EF47C0644CE0258457F0D24FA19676191AE2540D4C98C6764B00D6917F62C01 +276D9E04BDC21E83A59CBFC7C6C252233BFD5C0C96A004B217B1E78436EB81F4 +FC2F82B70B19EAC733BB0E5B3352E4293717DFE2DE360EF780567D255AAFACC8 +432774772791DDC2BA4C250CF314D53DB0D8DB88F2B624AF4337C19F36D5557E +8CDE1B8703A5F1103BEF1E83A8327F7DEF9431953A9C814D067EA660252BD0C3 +BD0423DA5EDA7EE5AAEACD32ADB758D3697110DC41B6F67CC19F7435BB9EDE00 +51B5D7D941F01872ED0EDBD0E012DB3715BA84F06AD9A7CB13221290ECC5D98C +167209DB56A38C8961533D3CE2897063DC915F84BDA4095703477FEAF6720F09 +A70F352C574CBB342C3E69EE05242DBFF4BC8B673216206B6BFBC5FDC3F79216 +F44F8E2AADC0172794192CB17A696979CD4F7264268D1CABF9F8464AE0DF3FE9 +A8729F8B6AA0B493CE015BF1BD950E9D89FD9473215AD7513157CB46BD410FB4 +E130B2CAC097335F9C546FC6F678A0C8351A9424E981F316D7452846DDA58384 +5ED585947C87D1E1271E7ADB72085C960D9BBD3BDE3321BEE52132A62A57466A +F6BF8B639C9E5B3E57461ED4671283236D09F7C26F35EFB6D363417E24684C83 +C758B9AC5FBF012EEA6E69F5CAB55BFDA10B062E6D439FFCA550E7BAA1019636 +C5113FE61ABFF64F29118024063A4359D114E21D80190E293B80AB32BDBA340B +065DACA9553BC4C0F1FEB1F16E073937B11413C5599C058579543DD1A350F69C +0C66EF2D800F790222CFA1AC0745652238BC471FD4DED46ADA6226BD83089FE1 +91C7909A2FE12F5F4FB0D41341FF86465D4539A227E782E1FFB9652E853F65D3 +04D9203D4C9A93ACF81DD54FE0A4ADF2E839C997FC49927B92A99616BD77CEF9 +C77266204AF4219EA4D4EF5D974D4993EBD3FFDFF0B5D7AB0CF13279577C58DE +726476A0C291CB406A8D5DB1A631D404FA202AFD525B54041EE4FCF4DD94B326 +40511F36C2958FDB83DFBC22D6CFECF5415FEAC44C6529AAFE85212E9F030844 +DE707696B057D6AC50EF053F5BD88DDDB9552CD9F42AE29CFEA52065F06AE1BC +3F1D7B12B2346AB2EBB9024294ECD82B148D17D1CACED60D2BD5EC91447CFA12 +9479FBFB279ABDBF2FAA8760A54708E65EE4B3CBE671447A8DDFE9C51881A47A +83D5DF96FEE8EABCE230209E6A5208D1FB109D1B49BD2E9278C6603FA82DC102 +CAA038525870995634541931A77177BBF80BCFE9C12EC321FBCEFB916653F349 +244B6DA93CE590D48C6DC0D673299A47621E8397E0BCB164ED6D4CD605570CD0 +AF46D0FDD920181A58A1F2236D7AE126F07723445AA36179531633F8647F88D6 +3494299041A1B7818A7B62B8B8783B97E7C8F5FA7E65987EEE8C87DF23C0B09D +8E84BEA5B8613F0C144EE32E58C837B0A2037F51B467083EC9FDA57FD8FE5E72 +89455DD56A17275637E21AF50EBE5EB9D573F2D834B0BFC0CFD414D569D4AFC3 +C71219F52DA9A1A73CDAADA94EEABD9B14D42421A562065DF9EFF2784F1F40D2 +AF44CC68901213F1E6FD68CAE79898785FA3FC317F5D402A6697F6E52FEF977D +1C962966D0E44C714B15BC9B613A680B054D6B64B974AD0CD6C4BA7D255E49FD +D881755B15859CBF57EAE82406FFE8453AEC2F07C9D17A8C4D3A52B6D4259CEC +604DBE8177A6C3A96BE29FB309773A1B1472529C21FAAFB3AF407978B250353D +490CC9BA66416E522E200F5BAF87A3AEA2A556021354D7B74A9AB3CC0955A5AE +2B462ABC670F327CCB53C939E0586DA606EB7C2DF1C9692FA4CAC3078A250F10 +1A73EAC268EF45F1C3369758E1448600234477C85FB11770D17C36A66CCC5413 +544AADFE34E62102F2528407ABCF5775AC6308C7E3395F9F31976A7C0CA9A95E +30A5CBB8DE888F8C81B8F9B1A2BCC36A89E0E75B2F0B19EB4145C9CF0917518C +0EEC1D6B3CCF7DB0EC6354B75B9C54951796C825D9D8110F17BAEE6F4713ED36 +07BFEF64033F1B1E684C6F7D41AC91E8404D46577FF16E2851D3436770FDCB17 +B53D05F1F49C5B6DE9CCAA2B11F5470537C5C80353C62346058110C084C804DF +7A0B9134752E93B76F54A7A573FA95D6175319FF47496E608241D2E33E51030E +B79B9E4838DDB48A81DC4DE9492662F91C5308925214E2C226B28D8264F96E16 +4A49B248594E8053F86234651DE05A0188E26BC3D2CB7116DADBBC4DF98312B6 +8950C20F99AA330B1F011370CB0E50111CA1CE3773ECE6446742DF74432A38B4 +800DB338C4ED84E75506CB8E601B345BF60BA8B49710AC9765B33470A85FBD2D +BB0D2000FF9C0EB524F44AB6A0ACE74EDA1D46317CB2BD488B621FC237CBDB03 +B23A450B64BAB89B60FE976160E5BB90642C647A0FD609B2A6DE281A9978ABEE +0CD7D99F087274C3AC641CBACBB0E128CC29E141F022E4A404BB25F7FD57B58D +582D176EAADDAE7E3385A93375C8B37D11924AAF00565EF7E53C117F10EEA3A8 +24D6DAEF6766D9BD9429C84448D9F1890BEC8FE63513E5690426F85655741096 +D2DF9DEE68530E79B08CFF9C53B280581C6FE3C5C5C8D54C54705F12B1CC6C14 +7606153AD79BB94473AEE5056ED3974B71FF5D3AFD68AB651A94ADA4F84C58DC +42F3E29D3B7423C72DDE240542F038B338D888910E27B4F55F40F11B654B4BE8 +A196AC89067CD52DEBC77E0C4CB4B387D4D7DA79FDEC55AD017E62AECF4A69AE +F04A2CD3F7F897A50FB1ED048B117A1BED63E07A0B9645EF7CD6B91FECEB75B2 +3E4C48C9F82300F8C100972F29F0C132F3F802128B3C28DB8C0C557E0C18B0F8 +F6F3085E1300FA06B9C360681B8B5083079B79BBFD9E8E82D160E8208A3940A5 +553ECD27B328EA8425A53EC26CA31D86D486D9EC8BDDDCCBA4421B050CBFF54A +7CA93679FDD917E46A288060E42FDB60BCB784FF90045821410FDD246DE7F240 +8E4E5F9EE7A97945D959936D692C5345AAABEE0E739C8BEBA85316649DB457C4 +308CFA1AA2D107AFF0EDB39DB5208C4F6FDF48B053A1D7F89C473A158A031213 +80B96B47905A4FF806CCA81002C3976A4ED1849382ACA1BC62940D2F2B5423D8 +FC67B48D387B440A04C2051BB75B24B4C15F6B0665988427F23A3CBD576436CA +4656A035E9CE18B233FFC11FFC35A88367DC48D61512CD052824B2272A92304B +5D04D414022E16FE3A86B047194B7A0A29DA9E2111A575ED97405E78DE606058 +24E00909DA25E9F50E335128969455E6D3610F129C46501917A352E5F34C5C30 +8B5E67B07E4E6886E909FE8DBDFB2DDC0D3DB1F4978326A50ADE74998840F3B1 +5E82C51F00454B57DE06854A58A38D34B5B7197F46CB9AFAF975198C7821029E +4CE991BFBCA3115EB5131414640292341979F90CE55FE7D737BAADBBEFE37D14 +F17C8D795A06F04883E3207A1E72AD520B22DCD826B676463DF341E365C3E95F +58CC0C17FF5E13DA0CAE7601D5C09D0F5E5A06BB0452D26D3399AA084D88D2C2 +AC9DB9261BDAA3699EC899459996E26EF30C36B636B18E5532DEFE9EE1157949 +D719550715D577C1C541EADAB9564D2A5A8EB242014C65764002DE9D1368A3A6 +F7C2B52411EC39477E94FBD8E022F9B3392097953BE4F90F6098CF819CF2272E +5D4A4C202550F1DB1D98A097FB8C1B1636C2E90C8E903CBC9461066D6D4F9694 +C8D0452C4AF2EE38513434633ADB80E1CEE43F90DB31DD3402A9A8F79F9E4C6D +4CD4F5F4B8256B973923766DDDB1241E963F456273A768608B41B160472512FC +5F708B6862C97AC5722799EE650D6B94A9CC66483FD6BBF17282C1EF506A3034 +7751B8CBE2494884659CB9B9E71126D50F2F771358C7ED0038C67721E4DE280A +91174C08D3D1CD9CB02D52EF619EA3BCA6304A8C64D277BB7679A0E13E12BC26 +5E251DA7E103F7E82436FA55F5CEAA984B0920B415D919AE9698458E336FB257 +2E4A4341A2B26C69FBCBEEC84E608777CFEC5C099C912B638037C7F47828F5E1 +D47957FBBFE87A5A7B5454435510D5A79B769EEF11199C6A81E64D7C84AF6E42 +80C3185BDB0353584EDBB0B8691505CA9B69321DB43B9DF3F19E0A509EDB55BC +0D1BC93EEDA436AC29C087835CB7DA098813889261C2591DE2C20672A9260E6C +F7AD215E722505889A98A0FA33D9C3939B5FABEB8598F413A47632A029D99E6D +1E40079A737A6EEE0D5DCE9776746448B4DDBC1DB82075FF8370512BC31F992D +0C1865E1EB7B4A3234EBFA45B5DFD2803770063E06F54D07DCC059022A2F5793 +2A87A7E516B7B69099328F1274B491261FA9118F4305814AEC9154C48C2E6E63 +96C5E315056B50F5FAEF68B76EAF217AF680340A8FC7F91B83D79103E1B168C7 +6D90577D2E151338A287A5D8F6D45D21EB07D98D1445157EF9A970858E80ADA6 +30F63B956FD01971FA9FE829E99D8F460616C4462215CA40B7BDDAAA74EF9CD2 +20E86A2234C836201A7A53E511DB8C7DC430CBE22BD1F93E9010C27957A20FC4 +714981CFE0EB619D9A84E1B8A1985D5B638FC686FC8738CF790D91D97741A74A +FB39448D99ECB58E7A7A5C061DEB0EA250BD616FB538CE3F332E455860536EA9 +7F59962BEC3D23EC294302604305C544616D3245EF904D6A62517BF85BA33090 +E68D5AD9D974C7A97CC63470138DAD63DA0FFCF87FF4476EAF26DD7C1D89B330 +9D11B5E451B73F5F6D254939EECBBBC90596EF0EBAC7D2F6A423F44026DEC23F +70356D47F2911351B9FFA5D17B8A5D3100BD020FF83FEBF040FDB8E179C74105 +376613C15F5BDA64F18E162CF868DA0862F89883CC6822B266C1EDC84A2A5A76 +EDE519E849C2794B5975E968CE9001D823F33FD56E14E857D1DD6C5490EB678D +80B66AC404AF5C25C00DE8FD8B811F68019A325BD008FF2758CDD0CCBC65979E +2B8F2CEDA715EEC6EF000AB97CF24F5021F0529C8E52DA2B05278E9391D0E164 +DAC055D267FD3403237FF9BE4D30660E192DC8AA46EDEC4230AACA029C99651F +DA02296C4A7F48D3FA14A66A46D3B2C4EFC585B4638DCA012505A09F6DA59875 +3C418609DCCF6EF10336093B10BAAFEC6447D8820F7F1D2BF8A1692D3876C8CD +2152617F95BE5E507C9FD85B65CCC9716157E15E9A9A163C95A615981F67FB83 +B9A30F47E660766CDAB3D2FB5D4B32CC38B1EB62F4B0E3977EA0CEEC21391C6B +602EDD051F432F219FC7EA421597F67D09B713DB13061DAB18219213F340E5A3 +CFDDA5A71F5FC87E6AE0DF373C0F4B38CCC8A69844740E63E17E526B32718E4B +E1678F5B1EB02F35ACD314962D7D0111369142F1F318CC5CB72D21A1749F3C80 +744A126E6FC8875FF8AAC49573E9D28CBF5EEE5EF984507F01F5B56C6B2B9012 +F5C2D8C85BD09F8548D24095B691888C39ECDF6C1961DFFD56FB055ED7C620CE +3E680603440A9368C457C95E340130B86737C1BAB1DFB2DCBD14A87FD61359AD +F633434879EFD38A7DFDC11F935AA0271875377A39346F4809792D75D3D1A036 +DBE9C6E0F4BA355EC58E46A7C85241D72D3CA87B2E5BDEAB24BE6E087CBDA69C +F5507560D13D13510640742CB19FDB451C2A313D3FBC571CA74E48D20FF8C998 +C30E56C2142EEF490F5F88F694708AE7251AB61FC5A55FB1BF6D975F750124AC +21CECC1B8A9175BB8FF8EFC8DA34C873E5C3ADCFB3AFA3EDEB4A4BAD75CF63D8 +4FF86FEFCDB51FF7B8887E5C2E4DE36201AADAB8BA2671F2F7154A157D1C9700 +7528B1B9509C36428E277BF37A097A281F2D9ABE1AF16328505A265A4F2B8F9A +E0D8F6F391785358835D5D382FBB2BCF5839D78EBD49A104ACCA215C17877E59 +B438ADC652A2130F5E79D4441BFBC63CA8AE9D6730FCAEF12C92FCF1061D0E24 +83FC035789A10DA0FA865CDDCDDFF7749D0723115D869E6DF100057E2EFEC85E +1BE6C671205128371FA4D39465FE54343BC195498F3EEDBCE65B913E9A45F96B +5591241EA325970EB5F2CC9791B632F057482F8E1309D3A20A52C2398BC96673 +8D6F30BB78E4F55FF4339CDCAFA8C47A4DBE00CC0A3548B1CACE66925427B900 +1E6ADAAB861EE413B225C26DDC765B1EC7DDD718CA0AA0E7E0B92A4F11435E7A +BF6F106538B016EC5C713774BC3D71663029E0AD2D02674AAA26A91A6D048D2C +8380645767CBFA882FFB0F62B5452AB47953C35DA3CD6F178B5006DE79D5CFDB +7CB628E29C3BA71674D35F346488892F0C1FD53B47B8613BCD6FD8EA73BACBFA +15C85653D4DAC9924A324423C92638D93E2C9DB9289271F7DEFFC67C5CF3DBD4 +DB5997D9356A4086B5D2041EA33C78EB7A4B8271840614E5D9021448C93CCA50 +85EFFCECB75F30B1466869558851A9190EF43F6C25EA419F02D0B4A571C62454 +2B5AF2D07841904716A18AED7F49DC7649704FB5D3154D1BEFE2E47073D9D2CF +40D1D6EA1D0806ABEEE7803DEDBB65F30E69E0EA7838BAD0E878A86359529A8D +716C6123D5BE99ED71A47CF92D27EF42F8BE0828261054C62565CF6DE988943D +0E653E4A4E2EB84AC004FFCFDA56E5444E36B1BDF8021DAD38D68975F68B96C6 +AC7DF86DFA8B06E85669487FF3066DF334BC3F7C7A0A7B728653D333C901367C +9434E3517D782B7DCC366E5D1217790F14C87839E0F820A7073E8E7ED430B6D6 +50FF6E60F50E6B4931ADF0B9C796D47CB44C9B8497D7AEFE83DF411DEDEE59F3 +3D9D24C893DC7C9727691818D856A9974422AF79A32AEEE7F84EDE5FDB53F405 +0C4CF8D19DE038DCBAA6B67621BE99979BC8D08801682CE7A6BAF9AA0920641E +19F99686191AAD34B84C6497D7035DBD189A5D868721EB92EC73D62DFB0E272D +6C9F5048E0AD5AA1E8DEE499ABA2F8D891E5EB8BA3BFFA54DABF3B16E439FC34 +2AF610DA9801FD977A102A136DCD03342ECC66E68B983E344ECABDF95387D7A2 +C0F749E5C9F5D71AB50B9AE441D7053332CDAFEC4E57FC1AFC794EB367307AB5 +750CB771BA33C8591D4CE3D0E8C4C841E3FCA230602B4609F13433CDD4D0815F +7059BE698C1F4DE0D0297AB43C3C0B6417CD6DA5629BB857F4475DC30267D831 +01417146B0C1C7DCF877E445FA50C2CC5A433EAA684798E2EDD76EF9BCCC978B +1A6473F2306C17A6B92A53835E2F6C64AC1D129644EA310A920E420266CE2648 +E3DC281BD364B5C3EA9933EC57E55FC1AC534FB4932C1764D84458F8B14A9D18 +3E99ED71B7D67CC839E9FB4747D7E15EFF60EE9026598D7FFD39CDFC634F6543 +4D538D4A33A5C563FAE46EDC8A7D4F7B62BF7538694CF5BD427E01E60CCE30B0 +50F2890260F7B8B82EE310C5E20E1D02310B36B76864983A187BC6FDDE8B1617 +F64C971F69761AF5C6CC550DBF3C80E69BE8B2AC311B727AD651665EE53F9350 +D472E4CFA202E95CD72AEBFED28F411F9B7DC4C2F7F9FD501B214E9950EC3F7C +684BC28D0A8272A769209EFD48ECF6A633511388F5738FF97B84B7230C78E9C1 +C76804160BF038CFAC465E3F5ACA33E2CE853F0191415EA84072F9E44AB09715 +950013A33EF8E0EC7A9A7B7C10BE0DFC17082ECDD1C3D6E108F098623008F3D1 +6E926ECFFD1A0743FD695D52008925B0B031C14AB64FF996FF6128DC781FDBD6 +ED3C9B0E80E49B36B3C4812E9EE63A70C689172C65687BB83BA8E7916772A06A +D972087B74718FECD5E32CC04FA76B57915DC0827C9D387344E72CB20E373325 +66037392EF2D1E9B7AB58609145AF02EF435A2EAE82C06F29B8E736F081D4FF1 +992BB239C627BD9CEAD20D82B9675B70AB6603E4F932B3AC9281DF73F2F40F52 +C2FC6951D6EAFEDF7F02BB70E1B5684665DC0AA3627AF05FAF58031D6643D0CE +A54F11E2D07CDFC9DEF212ECB685522C9D6F6D6290D59677AA606313D0F44812 +7A4A7E1E2C992286184CE893B4A89FC32BAB2320BC3961EE4B49E9351C2B28E7 +0B28A837FFCF09E2F6054902C0BBACE191453FF48D6D0B0190BC3BDBE365846E +D2A8039ACB5D9673C50C0AA82BC0FDC339FAF8CB61DD5E0BF5F18B9F979E3442 +4CB364E6D9AE720DAEFFE1A862C0A68EDABB17C4E43278B4A4C98C08D975F62C +31836B3EF8912D40F1D211ECD3FF967EB36F332E3D8D7F7C98D7B4A57B373418 +C5732B949E391CC6B7C456E72E6ADEC949E603814467DA7D2AEBFA32EEB1A039 +ED79359CBB060DFC9782B28B7481B356CE2B39605EC6658971360EED1C72A524 +A95FCF684A44781D103CCA8B11D4390524D1201B68527E60EE2CEBBB3CD45E74 +9468E5A73EFF365C05EF520230A52BA4FD53405D08752D01613029D77EF2A7A2 +05F79644E955660CCAA3F2CA5E58ED822F24E73970C92562F3AE99FBFB7270AD +D588318B44A214CC4DA5CA6CFAAA3F70FCBBA7F0B40767495A2F19599F8C4DA5 +A055EE9BD280F09E693A3B196A37628AC7115190CBFA9CE5FE51B5BCCCF86DD7 +3B2BCD92FE8F51246D0CB193661F197F9D731A3B719D87853D1BD267A16C391A +9D4F1E8C16818DCE0D24F7213E3A140C07F66E465BD7C1DDF762F48633464D42 +7B8529FE6968B378DD6140FD636185E1C58C4AD8FC5FDA1F5D1ECD76E81B2515 +F29BD82DE369208FC9EA8ECA3704CAE5944CBC74FE076852658F237F3AF02D43 +9E11DC17C900E66910009893C751E74E3BA60B95605DA55CB9ED4EE060A34859 +7D0DBB5021C15E596361346E07833987845FD9AAB8FE403C9455C21B4947B978 +00840CD11857A4979208E2DFF63E5EC4D9435E297CB1EFB5E022EB30FD1C9508 +C26D1135B157259FC7E6B53094F4EB7E50BD21979F428CA996B438D88E02BAFC +D1C2DD524879A76FB96C515F18DD3BD49A9BCB9B6D5BED899757BE7E748D842A +61B916DF86CC3CA1431A9D3B6F048BBF4F348A70E03EECCE83961F7675CD8821 +9241C0DA67E5BEC09EBC3A4A16DBF7F42FF35D7BD3EC21B52FAA4D1F6A446721 +6F9D2C770CFD004E830CF11BEAA35FECEBE878B85A3A0D13C5EF7FA6999DE090 +3CA1A7C149AA66CEE6AB31E3F376AA4D3CBAC14BC612D5DEC98121D32BBCA0B0 +97BD77384E215A3011EFCDA2E24B2866C0CBE8A3FA646CC1D40F519D62A7B6A1 +10A442599852F9352221219EEC7873DE48F0105F95AA4BBECEAAFF33F94BAEA4 +B90C5A44943E4B9502598D260476DA762FD3F69CF92CB3FFEEBDCC3A333CFD31 +F5893F591CDF7A14412C7B6B24FC6451BDAFA0B88AFE3BC385D30C9459BACD7A +4A50AEED28243A668562956006624E4F557E942212DCB86B114C5F88A1064CAA +FCF7FDBFBF62609E114E9E1AD40AB62F6D638D866F278860E3F89A4987CDB130 +2704A70DB8C42D1CD9BD22A1494B52ED3B71761E459C30492601ED712A9A1751 +CE57443CCCD28E6116BCBCD227C50437AC7812E7AA9166AE6C0078B7695B4853 +4880007783A978B75D2DA6CC7FD83B1E7B07D55078CFFA0312FBA9062B6DEE2F +B1093B47682FB325F3EDCFC428D3D56DE67101CEAF945ABB8BEC9A9B223C092B +A322E0F0319495EF5A6B8F5538CF76C538D5D57E8D05945412B55720ABAB2CD0 +14FAF4DEF7793100A21715F4AFD7B9A2EF18A633F5767DE967E03954A7052057 +E0928F7A8115C2971DE3B14FD72DD75665525EC2DBFEDBB3153B7CD0B7BE1E5E +A74148D557436C3F3780C8DAE74A715A41FCF50B069E45D3451BEDDE480F3689 +0E48EE9A64D35252B51672021805C0D7D76772470D28616B7E760DBD09C52A82 +D83AA682F189222CA3A01889E016BA4854B1ACF2121ACE59DAECEA323F9CCC34 +5644FCA6B0537595851B12A3C1E159D5CC40E9B632A941EE0AFA50CFF3E26575 +A3B799D850DE384D1BCF84AD581E30B0EFAC66EB8F4FE9DCACA0403F2F42BABB +C6E30BD7ED53FCDD893606CA9F41EBD95509EA1448F8BF76BA545B3AADBA02F8 +9591452EB3310AC78FD5F86BFF400475F9680452976D717374C62B2AEF3B6115 +53885C26E4E2B35C58847F36B825CEB631C11109E5E9EBC52918DE2A9DA5F3F4 +D2350E2A69897FF8E4D148B2F554F22B95EED13BB4CFF88DAF7CB8EFC08C4D0B +1A4DE99652B29BDA1AD6C58FE3626A1D31D0FB3234695835C33EDFA37584CA48 +5813347EFC28237649F5A29775D2681CF949130F93BDCD16B759B44EC210F457 +E09F25FB0368E4D98209EAC333EE2159612984F18B8F06DC1F7E89F2239CD7B4 +43FAC95CB2EC0881218DD3AB689168AB4EE907E09490DF361A1BC1C978C7C79D +6FED7176C2B72C3F7D64B01E635C404C6CEEA25FBAE5B5669B5D089B562B1408 +D5FFAFE3C1C653A55D6F1F6EB4EBA1A56F8E255C15B41C6992E070B1DBE872E8 +202F7163E36C72AC78DD56CE8239BF3198293006BBAA89707D90E4C729D774EE +165DB7FF5988125094175A7196939017EFE1A2DF1ED89EEC5309790AA50ED3AA +1B310BD333BF2970CFA038C3DB87BE39CB6BDA17706D5508C26C9F8B4FFECDD4 +43E098165E0D0635FA8A54C2776C655113E27FE1641E1738B13873BCDAB2D922 +85698D571A6EB65A8F33B3AE27DD12C05F08B57E307A7B55561805C0EC855E44 +99B73DD02A6F95156A9AE5C64B677DE5339D97F19F4BD75D4A1251DF34EA169F +5E5EF8C7B7D1043BF75E80212D05B3C3A9161F68FCA385C1D8553E299F9E2DC4 +EC56F08ABA3B8F692A477595AFC231A319410B97C5A34ACA08133BB3B5E7D449 +63DBCE7A0404711C7CDB14BEBF3405F1AADBD8FE13D8423D5521E11766EDA4FB +8D751F78D4E012237C0F90B6F8FA1E42EA550FE5BD856DB4CE9F84908DD27B0D +452373A9CC8CC6267A6C8B8D5B253A7F930DE0A861540CD3D6C5B68B817DCDC0 +11074810779B2E243C444DD60FA0E165B662FFB16418DFC1E476BD40549C09DD +EFAA9752533B315BBC5072A3671C294126A8D4DE746CB0C61499577D3AA047F1 +28ABACCF06BC80D32B76D83C4E4EA743D61BB4D8F6309C5BB8320CAE0D0E84F0 +F5E407311074CA8260A32D676B3015DFFD9442D9F3F5E55C06982B3E359D2608 +8F918A354373C5F8209CD51BB8AEC4786D2591108D6EA01C0CD335FF3D007184 +F056535B30DA59FD9916531C9AE0EE69F9851784E3D79DDF5502D878FC92B08D +D94F0538670EE8273F0AFCC92CA9B34BC71F06080DFD08DD0BEA5FBB4918DA94 +1AF17468F57970A007EDC44E7D095C66E6325A9C55BDCB1E4F0D003BE568DFCB +D49D0C91EE3DC0514CBA3707408B35428689AFFFE60EC051CDCD04F8DDE96BF3 +37DB8DA3AF0587D4E1F7AB4DB221EFA93094BF7C8BA71C66D41A850C873EFC6E +2B0FFDCE7524BBFE592D7C5FC27856125209A19CABD8390E436188984B982E84 +EB38C95514C5DD830ED54908C08B5076E174DB8B3A739780B96C085245AB077E +83734DBAD19AB141ADB004B4B2A83A579B60EF3DB586F18DE7636692956290F7 +2DF3027C7E083EE457D4AE6CC35E11C90405304D9B74E0455E0DC2ED84D3223A +476C7442336595FDE7F1D9CBD3B108EFA3F5BAA7C3B03FA2AD9D0BC7AA2C0160 +4DD87E2DB156E11F0410C59556A50A989ED90F37A167349B9971DCEE6F840117 +7A985EA44452A62A69F2406F0E0D781B7D52575171190D42F2156C67BF68F828 +1947A1E79ABE287D6A19C2A2003891AE956BBF4F18012385B249354093DC1692 +8D7B068CF6B371CDCDC742A20AAA4CA6DC052CDD2A1A3292352AF976270951AA +7BDA8D6A408A761E73271A77E4A6C299161FF3E2292F77E8D319F5A39041741C +FAE69BD1855A2DBA7CF238F0E0F3E1AC707A420D40ACF1AF5D79D268A01106D2 +27AEB0E25D265EF85B6C4715F8B2169B191FA5666C369C3DE090D352DF99FCB2 +A359992F5379F796992C77C4648B74D2BCFB70D2CB88644E6773B17385767C53 +63A897E259DD25D1DEC1B917270E9C2B90432343A02F62A3E864019EA3E48350 +482ADE56458C646DC3213CED67C35798718467536C417EE7ECDE3D968E5E6E80 +00BC3317067F615FDD4224B8A4A6F2D063799818681FBEDCEE6BF532FFC9A4C6 +22E99C5A3B6B3B8B0906E19934E7B4768E4229C9993DF93D279CC08E624D76E4 +97F5C8A68B9B0A3E20DB1F97AD62A9EFD0D94C86D5F5A50804D93680F7875E8D +CCC5D9720BDB031E76C4DE35D408282506715C928C4C7DFC1CE7B569830E8158 +C64FA2D3791CA5C5EF2FEC2D0E7CAD0F72C15FBFE175C3BF768A011AFC3FAE97 +77F15B35F618B040B5DC4A6D952C947C93BFA3A49CD7660548F0CB67E1B7EBFD +B02F89B429212C589DCC26E8D0A862F978743FE67E6E3CD80E9EE36023A90F9C +6EF66BDF100B09613E6903BD7BB4893757F772842C8E71E01529740A453A5FF3 +EEA0FC407143610F244547C5EC06F18182014EBC167667B1C3469C5E36674DBB +CD9822914244A3FEE18C6B145EE60C806DDAE13A827B1BFF9DA3C5D7219689C8 +4F425601F01CB9E15D67395A0D571B3B189818822E6CD0537C661DFAA8852E56 +1DC02616F2CF080976E48997C2115D1BDF863473D7B76953CA6B52F23F7464BE +50CE2C9875882D265A9DD514E41F3CF44009F5B71E1F52D09261D95C025F1D51 +924891EBC45A09E1360D062CBD2E65DBBDC8BC92A7C3BF8FE1CC570AB7CC1691 +129650C975F1EF024D54FC934371E605C47E06803D85915B582E86A3940618F0 +6FFFF72D7369C2CBE7A2A5A1E2DF9373BD3C2D76AB12EDD4F11291781DAE2F6C +E0601144B6E3AF22F5723403303887F1A4EB9EC17A3A0AD2D020EF2FCEEFFA9D +EDE73E93B6714CB34307B11763A1B833E0783F918F72C508C529D76CBC4F0AD3 +EB9D86EB288648F2857D546E8FF022B5B0B039E490BE97025DACEC16D8EFC44D +3D2D45FF8395F75EBA7BA973ADB7EC73C539160DBEA3E380F875ABDA51710054 +EA6D478B39E06839C5A163BAAECD19EE086474D9EB302B818061E1E4E6FD1D12 +FF82DB6077D6D6C99309A225074E6E8E92256042E3E88FCD9409FA1E19E90047 +9697E4AE194F086908F91B8D34A649C060027CDDE154E9DEDC39D9F6AA90C217 +2DED68743609DE718C75FFDC92FCA076BE4D0865A249BC72000F94E4F1D03FF2 +7F13CB176E0DBEA521BFB4A536E8FE36639ED3EB0CEAD041DE6455138576BE7E +41AB953FC3720AC4F3512BE290A5E2D5C63132E1B0D56ADD8728CD616117EE12 +066D4E68B82BFFAF18B9DD91CB69558534CC419E600EE3E670250D0E19F2FA17 +A381077973542A10F6182FC3D0D250C24A2BC5C2E3AEDB7ED3FA858D558EE47D +FF81A4768A9A233AB11C844035ED5718497E3395F0238686BE00D975CF7ABE92 +E0C58038AA7B09DF68EF4C559ED91AF5A6E607781C7D540BA0C77D4691A475B7 +B39363B6D7CB872032C4C8E382127B0756E0B91BC6F87FBB050C630453C08493 +AC24F4BC8379CA871515C8F503BB0ED5CF55A6C7BFBC7A09E4208776603447BC +068A016CB63AF338355B44545B4D9FF234403E858D2CC43584DB031F8EE38B3C +2732293233312769A0A984ACD721FFFA24A03AA9A00CD1620FD332EA6421C40E +F4E917FCB00638E8B8FCA62228DE95CC02CDCAF8B2A43BA5950881BD7136286F +BDCE88C3BC964E268D8BC6EBA1D367EE179CFB277778F20CC21DF0DA363F73FC +A0CABEE965599A00FB9DD52C9E5EC85F598CEBFBC43C6B1A85CD6A382829FDBC +D65E57C80AF9BB8D33177C856F488A91F6C97D89105702D9E36D3CEE11657DE5 +848D08C6F777ED161CF596C2C21DF22D5CAA13E9FC2B0DA8847C63B78E9D8239 +B48EEA44A4C1D17EEF695C8ABDF5F688B0C71537BF80146CA2DBC3030CA9D942 +1BBA232834D3220B5DE5452109AE248D0F5C87F26813BFAC6A953C49C456A74F +D0840CB8E08AED6E07BFDB69AE6A4E9F8CDF872DC0D05D3CBB3EEABADD5428F3 +2A6E7C217E8BA597B225A08BAAED70C35EC9FFA8941D719B6E228C3E1BC94879 +FEFA33CA8B6941981A8E1DAF8CA642C7A6932686EB7E77BB54F4477290DE593F +2AF063542CF48F8C0D92548903DF4144CEDAC9B9A4E83824839188D0755AE284 +07DC1C008BD7102572EACA79DF2F069BD6C53818C64D855F2B8B3658BA55E78F +391BCD00E3E517B5FA7E738B10F304E917522BF4AF52AB6C799E1839C8CF45DA +28A598DE94B0F4101C5DC4FDFA8D22B53A0A9D557B8B84F8ED6B0ADAC375B837 +346130A77F0B97CC46ED60A454CA958EE065584A0E3BAFF867CB29889F60BA44 +AB61DEA85910F12CD0F297EFDEB244ACC85537514159BF2277996C674D9B22A8 +94D2A552AF8556F487B6357F59B3EFF328F675CEA434F5780C1C59E540942274 +D6852E2461EC38DF58D6173EFB3A520EA6E08A6904895097746177A1F2676225 +A229432E5A44B77909A74D1300BFBFF446AA4394524F93F4621A10AD5DC44722 +0A0F1B79AA194C275EDAC3E6016E7FD5CCE9A47A493CC0DC6922B639EBC98EDD +C906452E37193235127A6FF5F873691F98D714AF9E834004268D85CEE5D87D4B +C9CA8345487900A16AD97243BFB135AFE42A138C2FC26E7F7C2F3655797608F6 +A722BD7A87880E7F7B18E61BB5C780A62E81578C2E6EAE90468CC53C16D34888 +A41F542ABCFF5946A475CE31D631010238C03288ED5EFE6AD0A08F5698A55CE8 +6202516ABBA71A3837168DC0F3605D7B5FBB88FEEF8F62CF8014F0759912E0E2 +883134B6D916A436864BE76727743F4AF4630ADE41507AEBFCDC4BDF1B09866B +AD6C12C854E15194E756B96D2C9F986154E767F4DD73ABD97D31C0C5619B5CAC +6B8F9F709BEA5A9FE2A94B70C0B6E0DBF63F849BB253EB68F06E43513EDD6F6C +F80E10D98D348DF6F6FCDE5F0C20030A05AF703A5F4EF72F09313E7EB7450AA2 +BCC6386463FD43B51DCBBD2F585DE6AE64C8C0A58A06C26377E917EFD2477F9B +0C084ED099199C387A3176A2DCC142C8103B74275F997C4E38BEA75F25CF3594 +079939BFD5DB439C24F25E5D900353EFC3A71F9E826D8019148495B692137587 +354E52E822609639ADDA15D9C466FDD5E41A6A3BCFCE8DEBA38F3605B4E262DD +3D905D67B680F04E08208A21B7FD8ABF2D41D46BEA9F5697E32EC9701DC0F395 +B41101EC847CC82259A5F603ED6D8B311CC68D48BCCF3F88D19C2414CE01FFD4 +DAE254116363C032E274B538712310F46C2CB3E54F85D14D8FEB6751068A5785 +788CE873183B60997E0D5A0E54848383B56020F7105B5FFE278B66D7A4D075B5 +B7F02D7BA1EBDAA9EA32EA5953591DAA2A39FC9A72C364D0FC44D199BC1D035D +F5131AA54AE791A2223AA3FAF28FC36ED32F102935B728BFAAD51EDF8A379C22 +193172FD86F26ED77EED31405D2C5A964F20FE631123DD3EA41CA5EE1A6A0113 +5B6BA096FBBEB694E813C3B99672EC808A0909A9AE96A68C0B960BCDE731A49F +DF5F8AEF17D96B253E80064577DBEF7CCC237877477FD25650E26939CAFF93ED +A7354A9FB698D629CF1CEEADD41EB09048CBA593A6D2698EED63F5281ED9CEAC +4F6D8447BDAB9573AF6A69326F82A1D28C1D71B5FBC6BD0160D5D058B3368F16 +DBE9BF339018ABFE4B1462FC12B5AF34D94C47F8FD72320A2CFBB2B5C6D871D6 +630887B9022B75D603DE136AB08A3DFE989519EB471C308BF4CDCE9895092439 +190441AEE9B95D976F4017EDC3E2FAF831767543507A36A011000F889C75695B +73B38DD95EDDCFE98862142096DBD55100715BE46366D0B4C07B41BB86D33CD6 +6D069C60B2479D512CA1BDAE44760D26D1E1AFDCAA882EF6DBCCDF5C8C9C0351 +55C58985B1E558EF7BE135405B3C6F436C4B601976951BC2FC021C95530D4962 +4B1AACB5CECC35355CD348565F2FFD9726CFB074F1AC582B433D330560B72DB7 +7E1DA2E2F92E695978074DE5ACBDE9B3BA497249A6E31629FF041E8F9D1AB785 +9954E01AF3E318B983E57668D6F9A2C71CE7744BEC3FA216ECE3740D70445691 +FB86F4181B0F8DD0250A0A5FF42E07018D0F42D2C052751D942AB2ABD417A219 +15B3F393CF8567EEA0991F9C749AB79DC9CDB9972EE564AC97281018BF54C116 +F5678650A7C0408E4CABDF28B7BB84383B4DA3F3B32B54F1B01972EBBF2C540F +AB2C85B4E34106D01593D680CEE680B83E335DFC30951100DB3B2F1DDB92169F +86D88093DEF5FEF12BEDB7334DE681043A76E887121AF90AB152F6B473222355 +C088DBAC06100F32F9601C5D76C7E2EFD238C3B1F06E91471E2E31685E7296B2 +DBD18DC081E23C608BFA875F632C9C2943C10EC6BAFE59F116B1FE4474FE9B34 +F1F831767543507A36A0110017E3AF059AE3AB77A75F4AC116131CF4CDD06D1D +57A80FB17CF0608A0D00E77F7769C2278833EC936584C62BC403E92716EEAAA2 +E4264AAF7C0340E1C3BDF93090E2E9DC77541690BA2CDF850F9E1A967B3B867D +1961709D9D3D5E3D0D9013BAC0D2A581E09E7F2F4ABF073BDFDB2BD0FE1C8162 +B1A98B5AF8382481B511AE0143F87BF420EA3E4B82D4672D449371F4E1AB6165 +36583BC5A90CCE79572D8E6A3C6CA0FD46FA494765FF4351F6A773D4EEFD42B4 +A2A1A24DE128D63457808B5CAF5DF465C1E966923DCDD7E3099A8D43C3676BF1 +9E3D6B1E7D996664E063E0D51EE85CD6AA56240BBA9DCB5485888E3F7436E467 +8CA74F68060D052110401E694AF6E016184348EF4C6FFEFAA073498205527B2F +51EB6276E8B1A483ED40E46D10D775E5E9FC3A58DF4E4BF7E7692E61BE18F517 +BDD664E28E4EC5C6F53AFAFD18CB2FB7F9F4B2A47CF529F9536637875AA9FFAF +544A50B142F015EA16B9A1055B5A15F184E4F6BEEDC245455943A3DF312D7F24 +9EDE312CEC2160BC7A169D3E9E6917FE7E795BB1D3D2733F0E77B5D265BB1DE9 +4641C27B08879B89E76E0AA7DB55C373637EA09C358324C9A0522F6E26B263D7 +2022A0E788DEA549DE6A1C991A3BD85C4EA3E71C2B461BE7A9121FC09139992A +B474CF3732B8EDA9C38F903167E4DD3B35BF99893747ED95A0494141D3234970 +B9D8DAA1109F6DB5122A23C155A988FBC188C5A0E7540392C039A6E7C8553473 +7889355073080E32DD4E529DC97F6E7040C5DC37214DB4BDEE26CBF1E2E2E7F6 +A06B7D9E86C7561842B61A3E5C4B94DCCE011BCF92092A00D42B1A3B3F799F58 +11A4C8115DB64711BBA4AD932297F91739565F38A7FE08025B5CA3C479E39588 +5657AD3849A134F035FD142A263A1A68902ACFBADBC4CF3E64A10064C5EF7B5F +A8C5B11EC9199E75B83A1BF891B2DB8B180F75E942471E7090E9E78A97507941 +9798D4CA52DEB18C09E4C4B24D4FB511681732E021342BF769437EB266EABAC3 +9332C3008375CD804DBE03AB0C9B5A29475E6D8C79E61ED661819BE50AB9F1AC +81DD036968F39844EC50555A5DE8345382150B2693B607A67E0AEAF3DDD09858 +7AC8D0A3FAAF552F1B224F0BC57B967E9988845C61AA68AF74A3DD5BA00AD7EA +7BB4D503982779D7397B566EEDDA93D4E3FE0558EB8351B7F15B4BFA39351FBA +0EA54BB0FFD1D31E22E8C00BB3E642A64628C51A5CD3A4B9AA240B1E3EC4F597 +9A1090ECCA2120EBAB4132F0D81B60A1CEBDEEF87161DE49A707240A70F667CA +5E78346070629D8C4480F9FA4B5026FCB7C48A149AAF3C909A298FB39CD6778C +E1B0B400B1E2EE7576DD50E082E84BEA93FE08F884171F5A3B402C29D373CF5E +339D8988EB92A5345CD6E10B6B61FCBF51E881A1B64C40BEFAD5C72C5DA4D219 +C4F3D0B68FAD2EF1626D1659DDE8EE66FC9D7E65F8DBDA58151412B6D9524777 +F9F1657AE4CAF358AEABDF7267A724AD62B4D006C463B44221BEDA0C08CA934C +5DFB1C77B4A6A1F8A56D91B1D9192722B265E883AC45C1CEC5E176F331183B63 +F3E7D61929861372E46631FF63916BAD3D10C1111E5253878F9820DB501B0FA3 +1FD1A89C3DAD269A818B175E6E2EC61B7F7A562C0D58205A9D4471B083F9DBD2 +33D7DBDC0CDB8C464F5A1A798401A3EB50004CF735F8E8C16E6F83CE65B720BF +B15410AB8AD4A9407BBB3E7A68EAC77AEE9698E5E50DDEE6EEA0A984480417F4 +9097AE400B8999F08A7572C37F89207CD83C1BB1FADBD562096362A13E173B2F +D82D67804247D0910BF81334F2F843EBBCC0458DBE9F21D458D7F7900235F6A5 +C0B81D6E3B9C9FA25F53C714CE8BD134928E88EEA0CA70F49B8942CD33FB9BD5 +55F6F9F9B40879FF7BF41BEC25C6E676244AE10DD13676A09FAECC3FC2B62BCB +89AB7305887932C37827F4044C555E89FFDD6DFDDFE507DE5785C16EDBB13D2A +C76A294796ED347F6A6B3FD434FDE1329B37A4EEFAB85A489FB253AB54F627D4 +51401BC7B78F2FB41F43C47B33F33980C43939686392D3B1BA80063E35F07A55 +38C66B7B2CF11058CAB2EDAA16250D57C889EBB4147E963085ECDADD5CBF741C +FA9D1CA3D307758530ABBB5C2A50BDCA276808972135BE28DDF01016E7EECAA3 +E90E76DDA13906E7ABF92301C72CDB2334AEC951934AF92A594F9FEBEBAA74D5 +25DDA66DB5045BC505FD43450B489B480C9868B17D0305373271039F50D0A381 +FAF7E94DFBFCB40E3DA958514066303BBA8D0B585721C861149EDD288428DC05 +CC5252DF29CA07BDA189B9AA0E56463FBEB46F098E5F1FFEECCC14C8AB0731AE +B7AC09C515B3167691D90457F87A16D1AD02E53E3CE8CE7A199DD93C809825BC +F1D8C736EBABFD526601EF314527A827D08C987749EFDFB8D57F95D0B0A4D32B +7BBE1828EB2DF4C64C4DF2C6703BD8346F14C59A9AEB7615B3C6BB81ED09F494 +0B02C88D60F7C344CA0DD720220820CC857208B0704530AAEF522B46945461DA +1FC1A105B514ED4A35594D391DAC2A7A7DDBA6C62802EF75E7A4E21454896F5A +F42FAF1909A5EC61831E6288215D8C8BDD866C18FAE3668D39BA217567BED9F4 +5415FF5916B851FE3ADCEF9B9E2A113019436B3184884E6466FBC3F24C5ABB32 +621C0C4C793AA0BB51C4A68429A611563162457DFA45F651699F2F21994680D2 +E18AABA6115B1183D6A4F6CADE349423A4D3D83423EB59023E66023872E80D96 +D3E2658E3062E5EF5B9A90A3C4BD07442F57BFB0F4868EC9D373B5B8C72F8A4E +290A12D1B2EA158FA7EC4818E27BCB2C0DF316A9F5A9606899D73DC39E3295BC +3B342D20375451E653AC76A096F731878C0B250C5E3D1045A01ECE86C5643193 +0E309F64893EC5E5818676980BCFFB3372ADCD656B42ADA232BD1EAB9481CB85 +B738B31F0504C78A89298EB16DC08E3422516E51B871241C3D348A09576AF5A9 +A7AECB8C4D04B679187879EEE76FC1FE0810FBE6FCF7E9A51E25D02F4E30672B +9D1DE282DD2D29265F2B8339533EFD9575E2FF57B1122DB4B16D35A54F3C4908 +6CAFC314068E5C37A89E2E6BCAF8D9B1BCCA87C14F41BEDB9214B3230274F922 +3E269AE3396283032830E8870DBFAB3B01EFF41A49D360218850CBCF2772F780 +0E30166FD6992C18FF429CDDA136BD81F7CEA7AEDEE140EF20D9F6E827FDF918 +0C1FE773A147A4AD0C2C0D8E789F4387DD69CF4DDB7A5084A37C3CF6BAEDBDC3 +7DC82ABFBE44E6D45960858C46A5B061A7FF169E95C4CDC59574B36F7B410B43 +C8643EA56010192D8CAC939D95009F3DB69E782C71A0DA0F78DC73FA5F3D6BB0 +D0E05C11D401DFAC1F127860814DC9A14780577C5ED809412BFF82CA82C47E49 +0DE1E08AAACA436EB618C2094F3519DB1685D572B046A4FEA93D19EDE10CF0FE +DF2BF0C402D7BC3A9B9582EC955CC57A9377D0F7562F7991F7FEB542806DFAB9 +05F9304B0546C9D04C343418AE1204B6AC2BF6EF3DCAB00B2EFD50884B8BE2DC +7CF985258C5489A37BDD9AB727E4430A2361D6CF0CB45C80A60DF0EFC677F1BE +66CB904C11D868F88BF36D9AED9D4217A42F0D138B6943E8B42FECAD07B248CB +89B415A0D36289E1F566A4CD2DEE7C8EB9F62E8A2EB3F6016780C60C460750B7 +D599D04F3868956371D587E68063D86A673CBC9E1FD630A85F27883E2CDEE493 +D0ABFD045055F162A009CB3B29D3219CB8AA3F6E0441E189C29E0E7033240F93 +907A7FE8AA4E9CCC93B0E6E6E8EA3DAF7212659378E95DC6AFE72DE348BB9892 +DB4CE11916BF8B4ED640A9CF0E9ED09E4A133AD659AF36196A8E2BB82785C51A +A4931E36CFEBA394BDA9306F93BE42E9775B72743413D41A5656C6716013D30E +21845140AD93C540B7EB94493BC25C27BEC5F3BA459F9B57EBB9379AB42AF326 +F3004C8EB6E90661E23231B96E054D7D903E77E3C01B8BE2A05DD624B84D7876 +E09A58E75E3A14D40BE9710C87B87839DA33A74E38C40171098286EFED3A931C +A2F3921A688BB57252DE0FF714E4E6C57F50476BA3FEB5ED6EE6434F1CB9EF2D +6CC52EC6A483956E812A30C4B565A02D85EE90C1899F5CDD9210926BC142F7B1 +A19C4487B4417F94AF9783815EC2825EC7B16FC827A75C293800C70C525C1C6E +DD8A31FB7149ACE92F580CBEAADE4D8025BA127B528C88B6D511FB38AD626732 +ABCCE4176971678EA3492A168B16055065351D18576312B863B1FA566D380FB7 +A2DBF1AD881751DDBC8328B9B2E3B00EAA12136B14BAD25D2173ECCFAD1C0CCB +3954B60B4A0A93F027050A2323C8A24175BFEB0DC33F9475401A84625F30CA4A +2990ECAA3127A97CF50F995C001D5F190AAF7E1AAD3FD511E5DB04BDF3A21D97 +6763083BF896FEC43A4407571857790AFF5AFF1262814B9741F3A72C872FF129 +6953B892CE7159640FEBEBFBF790BB4017B4BDE4BE66F255D4115FB0261BD500 +90BBC4117BE9CC9FEB9F58C02F5ECFD16C402A55E16F31AF0028CB62A8825419 +8F04B7B83C6BDBD31FFFE546617B785D1CB84918226C8D15E29CB8E20EE2F706 +58E899DF355A4CDF41C7C3DCD52356B97ED4D9632A11C1F10C728D8CAFCB6A9B +F9780D00B6B3088C8542AFA3BD27BFE59FE97B1A959295AD9F3998637EC138F1 +686C00676484DD3CF97AC801F31A764C799F2F207398267508558163DB6F9401 +041BD8E9D12A194E2B9816EA4585414005264F0F475E10A452799732C04A629C +B2A6B696CB661584A092BCE0622AAEB5C8DE8753925752E8D7EC353E7D819192 +37A48D0ACC93BF59192BD92239E17A144C8FE2FDAC9F45A0FF0A784C0F33C0A1 +DFF65E2F1BBD6FCD94C4C41D49D82097191871674F926937EB84351E66D618E7 +DD0AF1E5D1F4BF5F5FB6E071F16389EABCD20AF855322775F6EF175DA0CB3525 +A0355FB8A75B2DDC429D6A3D3D14DF49E594F6132F40EE84607B21DEF33CB651 +986876CFFF7B9BFBE0A48A13A616583D41167A1AE4985DA3E295769E6833C073 +421B7A1BB12A1FB7F68E2B689C62CAC27E49ABC85400AFB47B65C347165E8287 +E051C825736965833C97C548A4DA4A5CDB970A26E5594D058A664ABD5E5FFDD8 +D4B2E46CB14A1146BD4318DCA6B934C0C0CB359A2F864314C060298DC7DB3C2E +EE7A53DEEDE3488283848C612E01A3541C006D51EAFBCDEAED5C8BF5A53F8765 +8882C233355671ACA971546F073AF5D523D6CB158BD2E52ECDE1C86A320C1D56 +5C7CA1E2C7DA1518A64D7A9946BC3CCBD4DC99ED4C06C49FCF7ACCEB3825C20B +A7FB66E20CDC7CD5B6DF85A6F9651B5A0A6AF8A7007D247E588CE3D10A659DB2 +2409C592617E844B788F8F31439A864A83F150B9180ECCCC77FCE80FD76762F9 +FE36D8622E27287C1BE29C6ACC87BAC41E303229045ADAB41339583A7E2E182A +25AEB962E2DEF3938BA4A36C1FC61694231232E0556C48E4CA6F2D8B778AA221 +C7C2C602E5BDEFA829B8042FF26F6DE8AB24C3D6AC15F08F18AC87FD5DBD10F5 +6FDA435B1844B5B5C001F812465593DE42ACCAA50107438F94B9540883D5006A +989426C0AC036D9F32221DF58D516CD07E8A62217595902DDB61C0122DA5CC53 +033484B751B448E828B3F2F5B780384E879A4AC2A0B0463CFACB6E71E64910D1 +C29D15AC53900540AF00AC76ABB9F58BCDEC17A66943978DB0FFBF26E7182F9C +51237DDF5171BC1272D2A92795FA94FBCFC990A30BB4089729DD36B34EA74298 +4CEE7B47FE85AE188CB7F01E9D976191C6A179C793CB5854ACE7105651EFFEF2 +EF8A2692CCA84735965666AAB61B7E66FAF98B03C2C91AD6BB2CAC04A25697DC +378F43BB2026ED0CBF3A95E8D43F3DEE43E2121623BD3F211D15AD7542666E4C +D1139BED9A63B41A12CCDE934DEAF7417779748B6507ACD789049D0A9A13F020 +52616D42561F9D099CA6C9C2FE5F75841BAA73F9B66B499547924103D120A9A8 +D487525A93B270DDD29CB89F48CA3794FEA61AF992B6D063EE294EA6506EAC90 +50E497D4029A2EC47970F69C3CD93871128B24DB7B64F9E1DB03D6C26848C888 +DB489E5494A272A2671FDEAAEB5467D9BE36DCAC57C1EA64B5981105D6C0CDE7 +16047600B109EC9FB61CBDED2B3A9C048F5DBCC6894A4C2788B66265AE2919D5 +FECA073894E52BD30069C895471E01C2FB1AEBA27E651ADBEE11798B8641AA4C +6ABD9FDA2FF963A342E695155472AFF17729FB6CCC8392DBDFD0704DA078F819 +39A12840DB11394E8C52B7D525F1CF6A9EC558175489B490C6CB529CC6C9AD9E +858F6C6574E5765EF040A0BC741339CC899363C897FB17552B54170C094AC439 +C633D71A0A6B07FA0E5F052CEC01B7D39972ECCF810DD236071E6F33886F1967 +5BEC9E659784790AD81F18478217BC614A09B450F9F367CA8C1319EC321304C0 +F167005B9442397C767749A0E80172A3E798778842E72C9995090ED9EE7E77A8 +B4E0B5182CBD20305D29FA42232D25CE8CF595AFDE8AD238796CAABA7A05732E +DEDC3D9611E73FB21BF48A838AE013D1DB05ABD0A8E104C793ED29C821B74B60 +7BBF7AF551643427F79E4A5D5430AD237629DC722B95DF7997D56C0AA35261F9 +059895E4915405E39187287F253D0BFC35C9221BC7BC7D1D6347AD79EB57D16F +7CD8A0F05688C5BC3DCE2833435A9617B0724C9D0AEC113719FF60498D379DF1 +EDDEDA305BB21A276068B03655C718ABCC9463672BEF5351A07A70CA909BCE6B +EC8D4FA901DACBE229ADDD6196678AB4931A4453D433BE83FF4B10781976554A +E32181301F75F423949AC99BCCAA0D5E45E2C6443EEC033DBCCA5EBC98FCC960 +4D0FE0B2AD4D63F8243ADF0C07C669433639C898B6032BEF98D61A1C712624B9 +D703992E39D06ED9903819E6E06DD069AB2E49B39C7556A9A74FB9CD4005BD93 +9571973AF75229D7427643828DA54783719E0BB7093AAF9CB43E93C70C17CE00 +4F2F2518524992ADF04A85077EA168970C035F7BAE96F1982136D215BD19ED26 +B13FE585D88B9CFD80BE1CC3C475BA976D327E06A2C9453439C498A77074A537 +9CB48921B22AF51CE96FAA8194FC00E1A3BC5EE90758A28089DE5B78A9DA79F7 +9A292B613509BE684CEBB5029E7D06B115C6357A5FF14977EEEF7C54EA07F6FD +B144024D10CD770D563B3BEADE262952B6D59260D9F9C5E4D0C0A01D3FAC32E2 +667FB0297A92CC731A30F2B6380E4BD1B5296001C5AE4AF98196CDC282F8EA91 +D79C2F7A25E3D28549EF0AAFCF9F9D25AB744EE76B62FCCCF9A2DC9EC00F4411 +AD6B2A3F7DB78DE22ADD31DA29ED3EB6105C86554605FBE0A9ADF6AF06360856 +8FEB129D9EED78D6CBCFBC65EC32D619405C62C5BB36FA30FA0AC7E38AA3A920 +A681E6368244CE4E3A850D08D5D779DB84AB1E2D2CC9AE7EB7179D01E910803E +8D156650E3A0E2BC7DD6A123E640E6C7C950F5B11DEFC114FFD19B69E0028D81 +5D71285E888DC780692E120C9FF86951A13403321B6B32189608287EBE42C9D4 +5D87D9930A80732DE39715374715AA9B5D9CF24E753110E6480C0895F87A6055 +F9BF8CDC63AA7A304F91B9919E658E3E3506CFADCDACF85AA32C2FA99BA6A40E +DAC21971342C2969C79DA65A09543D982FB7AB63EE9E016BC89C3782AF98FAE4 +F3DB22427AA0C4081BE2A3FBBE6E6B8873BC448E79C38E4ECE119CBAF49303BE +83CEBFD5ECDD39B618D87AF87D2B23D0A39E529E6FA487799979C9CA7A8E057D +00270FD2B06F5EFA066E071C7B6A2A9BAF7FF07383B73E115E6FB2BF4961B35C +C1A4CC19E872465C98C0E7EF7566232A6E519E5DAD75EDBD011EBEC366C78FD7 +C38473EA43EED26FD251482E3BE6985FF6012BC6C29DAECFEA389E34B13AF04E +EF40BE464C56A9BE7BF590DC2400B357FBE1010F848C62C3BF13A095D5CC597C +49FE5119698063A4126D2B1EB8CFCF9A60521EEE14D203C4538EC94AAA4C42F3 +CFE1266BDFAB7807874978F69764670312AB322D502BA3C577E532D388864321 +F47D4750A55010B09B39F55F76BDC353860BBEAD1DBB0DA88986D8FC0B7E6B56 +4AE8ACC638BBF965BE16F967CC3647B7BE00D06C28EB360FF58801B5C4AE5DCD +79A68AE48A36385CD539B0682551D1D7C9B35DA190991341443F3846F6A4E957 +9CB8B3CB47A432906010CA28F18DBA32A8C6425DAB7723843421C0524AA1542D +7B23D36CC397AEF3C65D5A18B423B42E834ACA21BA92B5CC7E3B64BDB23C87F7 +2FD8B0D0BBB84A14DAE53C0582C35863FF8F372FE09DD1C1433F20DC53B0C42F +15015FBAADBECBD8BB5AB0CD91B740CEBE9D7BE2B4AECB9E5D572C52BD3C8DA2 +1C52B42DC5B1861540EB21EDCA20DCA5901578FB63A768B5B25BE7E79E6A34DA +C77D7BB4C18B90968FD2AEE3FA992359E5DBAE6CCD81CF3EE72A80C2D834BAA0 +B3E1676DABDE1FC4BA707DA236C3131DC4E91EF9716ABB2C71A57A076C7B366E +1015F0E3D69A002190FD689C11E3D137D5130EB46E27AADE6203B1726B852FDA +9A9BD004FBBA6F449309C517575DA18E7A9255152F8AE78B3B9C970C163DE775 +B9F4EBF840DDA1F70B2E20E5946A84C3997436A0F52D5EB8C923E9723EF105EC +93BC86F27DC41BD26CC28912126EC88B376AC07409FFAE4CDB01A72E5B781BBA +4316A3FA4F46A88B9B264F8DCBB9A8A043FFFBA529A134F62A05319825C7949A +A07CFF3C255C68BDB81DD007AC7D759CE74DB20EDAAE9153A9EF4E48929CDCA6 +8F85965CF5F8DE1C8E7526FB5F8C79351BD2027287C8A587461FDD4F4801E953 +8910F3D1B2B3487FA56B2A5A19E16C0DF0555B4003B3B377A3E2F877872944EA +FC334A14C024C1BEA0C8E8E18DA5B3E3CCEED380D50B278FAE9675BAE1A6A7F2 +8FEEA5B7220C84496216141E83ED512F281EB0CC8A34F29A04E02D29D4A2385C +98E61C5D507DCBDBFCDD6DA3CCDE8BFCBE2BB31875C62F5A3ADA36A5BE0B2F1E +372A88C8432526C8FDBFC2A8CD635F9D3055FB335AA1318425D44C7C290926DB +52258A4467AE67FA2A373C6ED1FE3FD47FEAAA70439A06A3BC4F764754F48B89 +A47594FD6C71901DD76C969477F61D4D0760F0D961AF9A24620C3BED85DAC965 +0D2EB1883381DAA2E88792693D52516CA19AEC59085AF2DB01903E2310812CA7 +F43D7BD3B08B3B930EAAF44539AAEECC6F35507CDDB5E92D928DB87A72CC9CA2 +C6C454D3E8B1ACCCCA5FB80D518748898D771D7B6428DD6CCA288DB550D7488B +296EED5C50F2FD74255C7B2A1177DB4D86F540764E9C51EE17F8FC39653B2AE0 +5171EE26A21F8242502DA857EBD9718319168669D9ECF8B072CB8DD0A5BE623C +C26B4862EB22EB5911AEF655ED4F52BD5441B04F917EC023851BD94BF70E84F6 +84DD916927014771943A72E8BA16E44F782B7AB40839E20847A2765FF9EE44AF +66834EE6E122B159FA7247AF41E616E5F6427F1D29480CF9D6B8BE66F42D5122 +34D7275F749AC63A93AD14E5E9C5C3A32CB1EBA1AA184EA8400FF39E0CFBDFD8 +C46078110DFCAD0CFC32606FFA7BF2183FDB0F9BF8FC68D5FE2C6B267562B777 +F3E11B16A37876A39F1824586548F5FAEAAFA57420D0CC28A57AEC1839C07AF7 +80C9D53D08C9030271E4B79739F2FB995A9E5EEF6957BA37DA2A5AE3B49D66ED +A57B58063CF1A9F7A19EC131178E8F7CB63BCC3AB7B0AB7B2B705E1885766A14 +615520B8B4752ADFADDB24092EFDD737761709D8C2B64C68DD84C8A6ADB68FA7 +2DBAAACE58047C6E051EBB8646342AEAC94BCFC9D4111977763847DABB4A4061 +292B80A451D5B0ED2908242C842B907206BD8A9292F88F37106900F8B6826488 +81DBB4C9005F5618C7E807C45B04B914B5B96BD39C432BD8B29D3EF605898309 +C7C30A2B24A64706862075A7CE7A6C58331B1E6A22868D9032C34BE24C468B20 +CDBEAF15A1027E4768EC6D30A39F68868911CEF80C074328B8210FCC725F835D +32B560BC1BD4BAE1BFCFC9CC645F24CD71CDB55D8F1FEB1CC3B579C2A6B2A50B +0C79A09838569602937841E0D6CCBED038A7635CCFE7DA841CDDA91C0C14BF3A +30F979E31B5060A102C24AB5CB6656DBEA74C04ECA37B8C9404426C60E0CF670 +B14150C7F519967FFF101AAE9B1912D0965119A31A57DDC772759F107B915F74 +956D7C9B33DFC59221EC7CA179952D0F05D0A21BFEA10AD65DFE985951304701 +1B0DA869C6444DC6746EBED908FE37E046A9C3A05263F0ADB027A201E3FDFCE0 +002339107609E666B29BAD895D1EC51C8CEAAF77C9B7900D4E48A8E0FDD7EFA6 +85890A414BF53D0811BD4424F73EFC028E1E24F827EE690A2C455BA56826BDD1 +76AE96CECB5CE924AAA05223080EA723FA1AFACAF18C879B1675E1334D14DFE0 +BB8F4390F3736EA40A1385E830E015E09034E3EC1EDDEB2ABB6B6923540555F7 +50D0AE29B82828DB755C16D3E28B9B4C003476EF672D9FEDB65C59FAD148693B +2F9A6AE55865581D54A0EADF9DEF317DB623AA0178C423C72A5FA7CF6583B565 +D68F4AECD003B6777AFB5E54B7724838FA27BBCAECC7FEFA482CE122D67C1F5A +7A89524A95B431C56180E67A728EB87E3831EE81AB8ADC8D5CD1BA34CCD3F7C6 +B57130F173E1E74167505C95E062AF8D17DA1AE20F5487D37ECB72D48EA157BE +8853F32050DAE379469C56F529867CB1DB8102485946F4642D12EA28AFB23338 +309516C967102F60499CCFA5BA738861ADF3881E4C77381AE42DA48CDB8B93D6 +8C944D9C00CD08FAF9F3EA6EAFC4BB81A046D60B9615E9E32CC1DAD8BE65CCA2 +4D9E275EBA74300318C0808FEB2F97EB11179CEDA173FD5DCD01C7A9B55F01A0 +72CFD68091BF0936F2CB6B4762B4129DB790A130341B1281239317BC4413C5E3 +33BDC68F9FC125793F1E71E49A160E70A0CFB2935384036D489ACB19385070F6 +77F1FCD18ADE1BA6128B6472D9BBC41916B50D349294BD9A8E55C53C32146906 +C33F4E0DB30DC2B1DCD95C14FF736DEC32100887BC3AD61F47D518B984DBF15F +9DCFD8D52DFE416E9330E8A7CB387993E92C40CF345CE5B4AA6237E5C165E444 +87B999C9C9BADE827E99338A935960B43E5D489216AC3A1B12553983E7387DA6 +0B30128CDB47234410C2CD262F4F513406129DDD4A5683D9A90213B15D82CC9A +CB95BF820B80792BE989F8CAA2C6A2BD03A17BD5BDD2CE037430D3C9D50B04D2 +57C04A27111800E45EB0A23BC142F8E94FC5EA851476BE4B6F28040CBE35CB92 +D58E7F283EA78F7803C9B531A641F969CBC91F76F9971D839486841F7C73CFC7 +12014116686BFC632620EA3758BE9A1BADF107C3CF1D56BFBDF38A243BDF7348 +1EAB5035A7D20A19A9244D922A16A66B9A015AE480DFF90EC74E1ACD6579A7DA +C0B60F1ABEEE7340156B4DE7DF797A6EC6931AF2FABCC7CBE12408C17EC209E3 +FA0AF21963EDE23E789F16FE7D5E504A082E0B1ABD3F32802541CA86D3DCFFAB +FB6BCD78D318EE56D9BA4D9C79727ED3CEFD9C95FB08BD05CD91E460F249B955 +AC1EE6D90C09D2C58621940E58E8BC2C7CCCBF44D8677D17D00AD53978C46064 +7F3A231901E4C0520D07A04D308BACB848FEA20D5D3AE8D2BBD6AA1637E0510B +42CFB4D7DC696414DFDB26622E3F9A763EB25B77136BB41ABAD6201D4A26597A +D5A21CB25E54EE60B6FD238905A26192BE539C1C06301AC836402BA71952528D +29E35B987EC4107D74F018410E5224C666847C416735AA1894A23651DEA153FA +9AFB47EBB67B66181EDD00FC8D0ADFB9405159BA37AEBD20AC6DE2361C787BC8 +60E969638371CB4003657300F22EB205695F5780A9EF6946C41ABBB314860407 +5E8FA325CF7A73966ACC1A9FD07183067705EF961E44784033A2B5E439679D03 +649D027F64149B1C223846C72D485BCEC6C627A24E5606919500289EDD483582 +86B9F89FFBFA9949AD5119486222D9B90A836E9F3A30DF87C8B6605FDA841D75 +3CADEDA0CD4F5E462A769D807CD93E817597583C273469E451DC0A0EEE2D44DC +390C8569903E0E1A8F3E4BADDF2810625A94C64B478F3B23329DA39C7D667A86 +A8C7980840A5BCCB26E9E00A03AF919AE303DB02E9CD24843A5C31D5C581F344 +CC05E9B78C99DF60271303F5636583D4AA19261A27324AC35FC60609C95D8A89 +1E1BD2D5D3BF85E9995ED8F5016E3ACD768C628F6EA4D629C225DB7665CA678B +CEE9262A08F77313EC07D428CCC490FC953ACBEA8B82662843EF29194BECA18A +9B9F7DA6EE5E69E1F6063891B6640E66A45DBC1BEE2ACE06966231460AFACBF6 +5F8CC0E6DC0E990ADFFD6958E9CDC3E2406ABF261D1E566D66C53FEBE676A6E6 +7CC2B0490A452F36FDDBDF720A73B499B2A24559447E6B64D3D1B9DD757EB587 +DCA3B09BBDD6270F3341F3C050D58A19DFE8DE6C967DD21191AF8D007546CB2A +29B6A9286C4E247DC8499D53F166F96E7B48F6CA9A1615156BF26569F38162C8 +379229886C9A14B7CC27079581E9E1AD044B911A204B5B5099A0A6CD4B93B5D4 +9E19292024C8B177377C650F14D7156E7F80CB1543B7D1AEC4BC22FD0CACDE1B +873D788E7679BA8CD24809A0E54734FB1DB1CAB70F0E305DA6FCE5158478FE21 +33D27702357D89436ECC6261F07609B047450F38F1FB447F44AC661B88D599C1 +46625D0796CB6907DE4EF2E96FE6619DDDE75FA874FB4C1885F533C7C3441FAB +FEEF1179C13A7C15C3742B832629F1C934D9870FCC0FC49877DEE9E31BDAE0A2 +B7D7A893BEFB1D1E8D661AA06A615166EE1A809739526EAF5748B402787680F5 +15B0E2C09D10BB1CDBC540B321DB8EF320F8762787A3550C6F0EE4A1F4C448B8 +989C8ED0646C084F39F72A0DA2F033A27A309F002779633D69E4900E716DEEE9 +4957732BA6B0DB00F3AB9EC6838E8D95C2CCB4F3C2DE12683AD34FF8D98CE70D +C2CD04BC2308FFE468EBF3E28C0451D2126E12FF74807E4EA74B6D318D358392 +50A057D3518C663E5C22D431097FFA3CE2D3BE94315C3C263E3192E2A0AE7468 +E8734C3907565B917A802637B8E17C0C3099E09CE5FE1F4C49E8F986EDC3F62B +925AF8AAE0DEE73B4554E19407D4A8AE540954CADC8E8E04C0DB4F4CBDD597DE +A042F8C1FD867A5981117894CB11DCAC13CB5B1609277AB8F52D5F14B0EF5CBA +6FFEB15BB5EE985C5BB5B6FAD69DB3DA85EA0F607ED70A07F4186A976157CFD5 +1FD77590B37B053366B2D59076E7C4BB5B17E37C0905B5A4178801DA04393335 +C2F5EC5170D36510D8EC5A3F74241D943D32D5936312F4E1929201CCD8AFF4A4 +8ACA3EEAEA2F80811E1AB97C722F5683CBD3BDDAABE2BFD365ADD468CCF773F3 +0D4CD51FBF78276CCB2261335439820D3335E049625BD62D64C10FA5482CA484 +91353DFF4D23AD3A1BB45F544DEDD955B76BE2179A3C115BA21486FEF6B9FE06 +C09DD1FE4CAFCA1638BC6C9C063D6CEB9ECF127EA34B258D56D9F466F3DE8E98 +44588EE4E2BE29AB2BA7CDBD0833E48070E2CA66569D1A31D74B3BB93C88B192 +9F41690EE73BADAAC366A5583EDC00C3A09A3B36206485D0EB6F952BC475A992 +7A08E52A909D47F93064AEF90826DF8DBEB1B8295843C34526CF1A753D2969F9 +41D4BBFEAD6445152C7566597E27074A6D65751802C955762833EFCBB59CC9AD +143BE9E315FF6962B510AD73E357C23B1E95E95D0E66F1870342066E083EC5EC +106599332D0B1C04080710368D15505BD555E08552C6BCBE59F8E7F52099DD8E +1262CD45DF1424FD99F35CEB8888EE76950AB97C325D1FC8FDA6B59C1DA5E642 +BECDF0BBC1D8FDAB995F0B42AC4B210841683DCBE8B0E57D9836EA9C5076D4E1 +FB7D278C068BBECD60136C1FEC4694E4C7258C4B907CD50D03481AB429B0DFA8 +5CEE01A1A789EAE744D80392D32F2D0D4D985DD521EE87FBEF8880B755BD8C88 +125FD6AB5BDE712D6EBE6C87E3CF95763C7F97C390E28B46DCE4BCD942C38A0F +B259F6EF84B53657102B0F531757AE6F3D5ABC4AF25682F4AA841599623AB99F +13613C3A8AD151528B371AC9AB71D884EF7605F242B0733BD8D053338AFEECDB +C04F5CE3F9B87882C241BD22612D8BC8CADD3A0C5DE9F951B4A9BD4C31C96EEC +7CD77871CB7FA20002606DAEB05C950B80428F48527800E26E462003975BE918 +6686583FA859951BD6B66661A0285D78F322604D2CF6CF12A3F92FE9B9121F05 +FA07B5FE84861D713956C1A4DF6A7899918FA425B97261BE40FAE4AF0F524D0B +1D3C7708CAC08B05D68296333F7CECEAD9DE485E3F290E8C8011B7A0AF2ABAD4 +C8C91729CF4CD7176F99ADEDE5B888EF92FE06D05E597738BDBD4579103CF437 +75A0F31B10B54642583CCA5C7C2030E21068A52CC5419406BCE7334F4861970B +1974F921D71FB38A0DDD0276EC5C2EA35C500C0806D9E06316B43F1B00B954BD +ED1DEB6F6840D36EF1E6F0DA25C565D06862BED9473D6F1F41F7B8B5B91E7398 +EECC397C96AD82ECC8411C61E0AC028E557B5AC3155EA12547C4E7BF9583F0C4 +AAD5FDA2DF0A8590B0A142287F7CD739734FA5CC5C9F4F3BE2007B055BDFED37 +D5A1414599E5BD8308B7C0CC59F59A2E5296EC476E578983C818F1307BE7EF50 +5BF52A9F05BEAED92F19301C5D754B4DC22607DF4F17C843EB25A57963128882 +1636862F5791840C87DB94004094D7472E1742AC5A8223803BD20BC0FF3B4803 +C64DFEE01FD9603B9ACAC6BCA107E276D5AA4F120C007B0720493A37EFBE8110 +0873203D4CC3F03BB8986608787346ABAFA70C97ED093AD9F8DE3898454D286B +FC6BDFBDDF3A907B1B9756431A73857B9C4605735776E00B63168AA6A7DB76F3 +3F57D42D4A742641C43C16DC4E9F9361100855DC833F154EABD36432338160B6 +7DCF1DF9CC167BE044C95A0C78ED4122DE12E8651941A9A00E9C110C7C8DF6C4 +3FEC21390330A78136783A85A410289C94B6EC85B28DD48F2D7299F10380CA40 +0689234695AF310ABCA57D37421A09245CCF60213C250BDD57D3FFC4B9DADA63 +4AE1788F0C90490780650C1BBA52139B4DD961A3650F6144C89E82012484AF76 +49C3371F84EFA5EFDAC65F27E899655F78E40DFD797CFBDF2888C10F720B55E0 +36B8670C5D0F2F1F7309F109583C440338082265523750F1872CB7C97E93E319 +D9D2CD62FD24A67DBBA77B305EE62FCFC13A60831F86F066AE738EDE223AD809 +74A5E78B2973B979B27652B12B2F65A8BE423E5F09E511623472496F1F886A93 +593CD8037AEA269C1D652B8261BE9F2C7DF6E2D923F7BAEB1089BCDA3F9F6C21 +EB0A8DD0F0CF8F28F5B2498018D995B14AA7DCC6A8C5F620F387009B7F4C9533 +C42D6C3EB234EA2AC527C551D098B55FE095645BD6EA74873635FECE40689D95 +B644F180B4515FBDAAAFFC469EDEB3D2257D3DF9F0CD87341F7D9894B709AB5D +2D2FDA926F4E66019A5B2C66A22CF7875DE999248E1C5FF77207B1F4989A1155 +BC301C4B0C7DACBD9B1A233295DBD7ED1E750366EAD9C138FCA8F38B12E067B0 +24FA74A712404A8EEC4B37BF2CA76783D8B7D4D1EE29CD494FCA463F2D95CEC4 +C602D52B102556E20DE647CB9EDB1A4C0D0D61CD40FF4EFF35C7F7D7E39D7A65 +B932358B6A749D90089F0BD9B0754C0034E1D599A0F627B6B1BAABA838567120 +D4EC81A2C61A44CAEE0721DC58FB6CB4A294B2C27FB1848499073A4282F8914D +29B158333483A2C30F1EB0CC5C35C9B44FE629F6A5A4B4227010E3065A39431E +4387E8FA2BB656DD3CAFCE39CD2EC1B8C694FF8A9D0A83412B59E064CE126325 +7D47C1E6D0A14C2E00FF23CC3B46491290CEB5CB0D77C076B682822AEEF33AC3 +72E5C3C7F130D4ECA6573DCFAE80E2AFBFCD8F75B97767336622B7186D1E4D2D +DBA4D4E7848A2528CA0B2932CCFF7C44CC84391A790844B68B7B6AC4E5247E11 +12E8B511AA79B10523C08F87C4FFD13DF16A32C14C14DDC3DFD5C7707AF0ADFD +206C5F08B6FDFBE6A25BDAEFDAC6C62D46FAD67CEBB962253F422E03E350FB2E +5D85310C754A56CCC4D415FA3EE330F65778D9FF6EDF4561971AB36976A7AA13 +65873392DB9FEA65D6CBD192D77CB3D712BA57CFEDE28FDE700E023D722C2107 +FAD33C3EC6DB0A1B8ACD2F5BDEC6664AE084E37C08DB2A394D6A03A4B5AAB584 +C56986A6A70CED92535BB8CDEB6E061803769D9AF11CC4F4B6681F7C309ABE6C +A45067EF13BD9BB6128B82B884A82A93805C7F9979E5EC4259829EB3A609578C +8B746C21E78AFFC105BCEFA657BA7E6A5232F6442C8F797CC460EBE086E4B5BE +CD71C218A4B381E95FA0193E29D9925E4892369B4F872D4D05041E04A94884AC +DDEF4B84BBF7CAB2E86CD9794931FF10CDFD59E4532F064BA6A043B7C878A1A9 +5E549CEFE02905047F5FCD191CB9421DE1DD7BC56EBD37D25CAD0B443663813C +AACA226CC461223ED82E6BC4ED9C9E463508CFAAD72D7B294F6A1C3F2DC462DB +D1D7A36FDD4F7F33C5CE8C9401117E58C88A1504E23A59E8B9028E6A17BE97B3 +A24057954B34E02B2013BCAA8E53A2A3BD80AF59375E58574796C76EB4F80A75 +65D18766C38957BAE977FCAB12B0905A798BDC7DF764A74A832F01A7EA583D2C +80F177A56353EB1436DE7BAB8FB36A72D0C99DE947F801522895B37169329106 +9231484FBF6DE63F4B2E97EDE44B80308CB50770D49F00E61E0B7544CF8B1069 +7014F9E674B59D24685755BF266F6F9A77ED1035A8101CB2B78BEB3008E75CA5 +5FD5304ECF13459607A337F5784ED89063F6844277DDA39787738D355C680929 +DDFC4CC7BF266D18523F2A710260820E8EE84E3B4EC13886E43A399B06B5A6FB +1CBE44275EC77FAD42B0D5F7F44FB119F848EFF4F93B7B4381EB3A6C70213BE8 +E90B52EE30700BD51306F314589A1154878DDC33967229B0A367AE70418739D2 +56B24EBBC2D687681684FD867163128BE945622F74AE2F6C57A63484CB126820 +17F30AD1C5329523D679696C4A7B8CEF97FDC8BA5C0C31B7F19EC8C39A61E5D0 +60A11A4CB9D899B363AD88F9297900E6BF51B5315CB42DDD6CEC555AC54E0320 +B97E989638A37897AA76614326D90977B6D5EF13DD830F004093E5A685C8CB50 +D976EF544D8C0471D3E037E19E42CA87028BC27D1477406ADBC4CE196A1EEE89 +BE9A06ACD6C17922A61705CA894C0D7F1783EAAB8031CB1C18DC3CB81186A1F9 +867B07FC73AEF3526C0ABC2F77FB35A52F82168B7A5C0455DEEA2522A5B74487 +82FDB49035062FA89995B9123F6EC3F84592158DC2D4B6D3E61EA90BE082E44D +275A6C4512FD61A3012861111496E6DBCB2CDE57F5963AF6FB129A3DDFBDA2ED +0EF9B3208FDFA7EC3B1F02381002D82BA5229E9F8D23D7802E8FE955E0DFBF6E +624C20E9707AD4C924E080F65243C1B0D53492B1D4E874BCF92862F85A47A010 +C32FC9FF385860AE6C95481FD8B83B37A86435AEFC6230706452993982ADEF24 +8236F5D4105A4F5C20C8796778B8C3ACD4D0691B984459608915C7587D382C20 +69A1DA37B0E75C90DC7060A5971B9551A593932FC8A137CA32952BD67B6EF041 +53E8AB1D2DF33C50D1F8B46D057333F58009BA460057573463E0895AFAA843FD +99F54D106E0BD9C7A87F8930DA17C78FA0A7057314E1E450CEBA5E65CF2596D4 +13684ECCB6BB7BA6C778127C4D69CA2E5F39FFD757BBDABDE26CD4059A85BED7 +C0FBB4C9428796356EA5F3094E76472A79E9E395F5CAB8B49F991F4D20CFE349 +D07B6412320C52F18EB4E87659D7E48AFF69D7A415F38BCD5BE489256C1144BD +281F85F7A037E4E7C8D141FE449D16F8D36D9039B298BB1F61BFCCF6737178B9 +ADF9A3A184489C6D5EA2B6C81CCBC3D89072F5093025BA69B6A29F2976898824 +406D932F7F3A6EAC0A65A7F016FFB80D0738FBC2D503E2531433E4F074D29DF8 +507C48857E39E25A1EEB835D5300ECFECDFF08215141C7B6100DFA0BB932334A +A4250162E36AC575FAECB1174F20F11EC6FAFA4CD886C023BB60DFA8595BDDFE +BCE6792B85B17D046054A266412F96583F76A66DD1D25599F31FBF598E8E9641 +7415366257EDACEC2D4672F9165BBE172F11BA76E5783CAB60F86655F87BFFEB +08E31DF6CC6863D05AD0ACCE9AD421437D17090354412872287B6D9575F45562 +C35597EA596E716B67971F5667713D8F2A971285C4D1B67EA77811AE7799CB13 +E357B1A03D5B71F3A7B836F74E65DC19DC8822277DE8B0073EEC17ABBA940B34 +F664745A79EF90AD4FB007C3F7558B84C98EAD1C20064082A2714539CC7F0155 +87508D192DB05FCECA78630C4133CD827932A84D21CC953B999C8C851A224B83 +F3EC014FA0D80C0BED17A359872160683A658B65309BB92A871B736E1B5E77A5 +8C43A658A9373F92459653C47707297BF2B08A8087B0D0E9BDAD307F118782D7 +D7003D9A160051C772E5291F33508921E1E16E48C03FDAB0F1C33BD9401CDF51 +9C7771022D3B69FE47296770914BE6ABCD4595116E2CDDA1139E6C0236C217A8 +DDAC4962DE70098E71FE6811A2E5441A54C5C91C2673482AFDDA9F1D25D39BA4 +667AC88E269E0A5973EAD0F112FB692A8DE56CD0840F2D3ADA9E35C8DC532669 +AC8EFC8A473C52E68A47C2EB6D1D60FBD80039C1722CD8D33121C295EC3B0949 +9DC8E10A76323B17EF0989B8C811A46099B179716BE70163106B15C58FEE49A6 +2BC6787698965C531312264F7AC5013A7F48C25D3B484D88213E093F81666D22 +D11A0FB4FAAF8D579125D58063D11ADE621799BB9CDF9394828BBA7C73BCF863 +B8B83B42C94AF06F076B73212756A3B6FACFF9F4AEEF704A5E8F6E66204C3EAE +3042E58635DB16E2B20D6FBFFF4FE81D34DD3E3CA24D9870E81519AE8701328F +B7AE637F2E009C8CAFC9C8CC9FD212A8D04236540FFFCE06A53F5E0DAD66692D +CF04864C36BB8B932D869AB4675FB0576610A39E426E16FDF718940E11FBA5CB +5D80356B2E191F3A6EC7062A60A91ABA2BF455C38A88681213E358016AECDF6B +F29412284CDD0EECC405ADD56FDD02D4C98324D60EA23BC8FC61849D2C8CDB45 +EE7996210A041FE7DD55EC3CB98A89BABBCB11EF1DFB332DD2A053E2F4DBDB18 +D147A80A364AA417B4EDEE6F799D012BB094FDCD5E2FDFB3CAC7D592C7B04C92 +29B6C5E2DE5B1C88FADFFC69B356394978FA36BB8DD4B8AFCD61EEC7818029E2 +86B5135FDAD4C4024472565F1154BC76FE9450FE41BBD47CBDE835D888AF9CA8 +2AEAF152D0EC8F366DBE7283298711F4E19A262AA773A4B5E2F83E514AFAC904 +ED893CE36C8CF3A4032D79B3DD677E49E40A40ED8B818D1C49A49E9135FD3A95 +CB47CA7EDEA07E1A5583B92D7DCBBA85AA62C70C7C79706F69C374EC8C9C8DF6 +85FFAC786ABEAB4C650755BF6B5D8B0D7C73E8FE45DBAA508665EDAF8FC4C49C +3A053156D255A9857272D167DE1999D51869F4329F336546D8CAA564C40E11F0 +9BFB24D7A92E602B520D2FAF80AE1F2306A6E4FF24EBEB2BE5F43AE99546F739 +2C1EB46C7E678416F973FD64C8F9A8FBAC24DDAC97FC3BAE905285ADA80EE265 +EDF710944473FFE82E0326579BAAE82A11EC1796F66BFBFD9D42B1F1844F146F +468436F1E3B101350A15961BE3ED3B060EA6EEA54B4640F9135DA9678B776415 +0EE9B4E2023FD929505AC4ABC41870A287913B41A29D4482439081B22E4C9EF0 +606DB52CB4E42B258E26E398918AFF672DDB8137A3D9E56AAAAFF283CD204F60 +1A7020497BF3AAAFD5D19BC5027129759552BCEB666025A958E3C89D87F2628B +B1CA120F99A5011E364F45524A30398A89324531FF1974064D8E442FB7F217BF +0DB02F38BDE00115A217DE0B6450DD5B06C1B4335B55DA1B1738927CD6C0FF64 +82CA6B57AC50923C38343853D1FB4F04B8A5A08ADE3960339D85271E59CD2AFB +2EB22CF048AAD9F50E5D79C8F640FCA9357AC2201E2F111B19E9E6D97837356B +4BD21586B4FE993EAE89C196D08C445A0936D9AA5ABE103030F5054173E33ADD +A3EBFA2DADC766577FC0EE7AAE0BE5FCCE4E28732905A49107201BF8DF75C2C4 +8EC78180A36420836D6909671E85B0FAAF3771EC118B6420116DC43983CF83C0 +98513F8F231E9C94DDA2BE07461E9738659913D3C7157269FD28A8B32CF11E0E +9548AA110FCC71B3F98284962854310454D28D8E38B37AE93433824FF61AA808 +5628F23DE58D64EC1A52AF495DB65FE16087D1F3FA0A36319B517B51679755EC +9E19706ABE12B8E0641336FB8F05FCE1E6672820E3E9C5EC624186805E4399C1 +F55F16230018FEFF64C51D5B89E6AD23D260551504393A9DE155AD8B545B4D09 +EA2EA8275E104F7BCFFBDFA9F8D4526F1DB9ED1687D1B74370F747B0B0E4B720 +CACD3A22A78819EC6CBA08AD1E7A729E5E42ED9B8D5166ADA2A94EEDE2627751 +336CF3F9033FF20CD52BE3F56EEC67E5B732998F4B1F136736987F4A2605A64B +1E95A07F5CB058FDFBAC5758E9F0252A31F72ECC06DF1053E090762D17AE84F0 +0424DD6FED7193F99520FAE01556CA67914867016AA86C1C72F87F5D843DDE28 +FDC16CDDD89050A337E455DCBFAF605FBDA91BBE7E3BF1E88005CE32291C52C7 +DC2B3640454D0C36C05648DBEDB2EEBB00F585D371E7B2A9F3B1B153E5635002 +25F859F46BA3CDEFE809C80B1DBC37438479DED51ED2647F405CFBAC7A429360 +4AD394586ABB312F3751FB1328B15C7B15FFD6B7E92B3C8D61C99C8054A33C94 +F6A9412EDFD6894C45AC431D1B29E2AE959D6B610A91725265C4EA7A865A64BC +CC1BD93DF0828E529C0CD5744644F08FC05B88A5D0AF329972E3B2CC2768CA75 +05DCFB2F758327BD961D7DB6C8401F3337D0A72CA5CDC00CAFF86A5A40BBDC38 +904BBF359700AE4DAFD9AF7B8731095AFF6F0572E857E9E8AC1C2DD5D74F5FF2 +DF3C0B3EABAE300C043FBD2E64AF0CF21ECB09A78FB62778C86E8E5A356B6007 +12ED08D19AFE705CE8E73A58136657E7357E074BC661681B4CF919B0B01B7D87 +9FEB2F4955DC17B86633EE72F9BC1277EF7D688E7FF5DA5B8E5646FB7A5B0457 +F37037F76100FAF3DBF4504F203F569550161D1B578E0E03EA93857ACF26C58A +B75CAF8E1BF6BE7DE26C974E540FA8049EBA2D17B4C7506EFD6E99B776A78613 +3A953BCA37768BB990D56A650C70D0805D21856301BA9ED1CE9CA46DFDA188C4 +F5C73416AD75903FBCD6D9661C4599BC07E28C6664C72606BECB75783FEDCE87 +29EE7DDA74C74E62BD1F1699531892540E34B795189BF088923E21E65976588B +A3E06B30DC4C62A4E10064F6D638CCEC9189A7BB33E8B599CC2AB618476D45AB +55CA9D497C2642B6F3326FC846AD02EB109AF7D9866B5988ADABEE994672085B +52C906A7F28343FE913EA90B9ADCA82FF8EE7A1B2F3E43687F4B420B5D551846 +3CDC11E099D8B0ECCB24B40C74DD93C5E40E9F3BB4814840A14A291191E95446 +2CF04B18F0E7DBA93BF4AD458F584FB02AFEF085AFC248263B12D76133776A77 +1343CD1E0BE802CF9D9A6FCD7F70277B10FF89AD4A78405C4D3C7C6767ED85F1 +20859187EDC5F026CFE93BF7DF4DC0B32D1F4660B5995A2A79A8FEFF93389CCB +93D00A3CEECD3B631015A56D9E6C5E30D36DD98E6CD2A3F6148940AA180D7E02 +4442FCA1EC0950FC292E35D3A1CB8AB4AA1EF85B6197BA950AF5D1CB94712C7A +57500E5E8B1B0A05D865672B098BEE02BE07A01B0A9CA67BF7766EE0EA5941D6 +823ABCC777162C9E35C8451EDA76E0F06E758EDCD0B65BA8AAB143C339D9E843 +24E12148C2CD94E6025FAB0093011ADBF3199D7EF02FD52A7DFDC782E9BB9DDD +D76955BF841D7A75D806533DEDAC7A906D6CCDF5990FA64F38CC5C22A5270396 +0A8C7963FF5830231D6BC7D0A18A9939B159B50E026AD34D7A8BECB7EDDBC6EB +00546AE102AA3D88CB76D9B816E069F1821BB2804654802E8EDD9A9ED2458D99 +C5C2D04D87174093282AC0879457510CC1A8EC14B3CE72B4207D7D35F0F74B8B +0F121DE6EE1A189BF7E076302AFA5C0A09BB8095D32F469E08575E6AAC4AB9A6 +BF82FFA86CC60A3A34D1EA753DDE232119D9A4891B77B9527FE9D9DAE34D6944 +CB9EAE528886AE53C91EA315E708213196A01CDD9A181EDBA37AE4C63A23FC75 +77C3AAB05987D3BC0A654BD9CFD5E6F48D8F4AEDC967A8C51DEE87DE9629BDDD +680515991E6D71FD417CB784E3EDE648DF8912EF71BF93E20FAE714E422792D7 +2B5F02A314191CB65DDB648898594B44A33F1252676DFDE978BD0188390120D0 +C0E5550B77CD3A08CABCF2FF5B62C59B2B6F95B8A2D8F3DE2BEF93E9CBC20CBE +64C51CE0E03300459F11451F42C33DCC1D361206A1FBFC4FE27A48F667892C7C +0817245326322B600B6C323587E7A07A6132BEF029835FE7CE5DDD5DA26FC5C6 +786FED8425EA1D113230D161A78BE519538614F61ED1E92DBA5A0D8B5B5BBC4A +D875B43B1986449AB67508BDB269D2549D2F794881556DD132E18B657D33C2B9 +83DF615A05ACFB843453E291CAAD9E2CCFC7490F9F6E57C934C5A92037E866E8 +3B2785EE6F10F6D4DFBC8BE8DC383ED4750E67ABA0A74669E2C53FEF09B69CD0 +9D14DCD5A8050AE52F0BEA66BF37B315DC6461CD782957A3A14088A7E4016815 +AC603ABBBB4E179862A20129AE3E4BA0ED6CE562F7BE1C8498A17CBD58E954F3 +AE82734476C567DA005C28510423C7914655D53B0CB094586A0509C190F64770 +C55D2EB3329FFB1D67E35D50533629DBD88986444EA470207BC789EEC011E302 +4B5CD55C640C3D1174E1EEC5F5A1E68FE677BE2D0D8694394C0563734E6F08F4 +FC35024975ABFC560C487AF7AC9961D912E620305A58907A0F7A9CEDCFC7453A +290C28E1AF0441419571546FCB5442A20674459E9E4E56D02D6D636DEB263A85 +38C63FF6F4F07EBAE0E3E204E94C4A56AA818FDFB54BBA54DA4C25A55C2025C6 +CB6483BC3B55AF578CB4BDC8DB58FF5463D1FCCC63400481A4C3CF4AF3D2C61C +A7ED38B6333A755EA1190CF54F7881D3F9AFF6408FE2DB0FB36321DD833CA4C6 +25816321DD6E830343CC5325331E765DEA567A8A1ECB8A7E54AE74C7DA049606 +EA4BE6A9E13BB0084093BA80DC98BD5E214F34ADC9452D4A9512E550FD4E97D2 +A64FFFC366896E8325A6A816D04BCD8BBA114F6469D3BEA397E35C7F91AC75B2 +2DDC5B9BD0BFD8C259E0467F5E874BFC42EC6ED7FDF043469FB69C9BEA747915 +778A99648F8F00738962958D1D87424F2667E3788E945895CFCA9EDBE7274A4A +BC44F16EE2A78599CD73B41E189025BA088573273DAA7D6A2AA19474AA29C1C6 +BD656548816750A76FCCD5634B7599362FDC9B4A252BD5667C4260F1116FA856 +AA4F363FC6032974DD19B5989D7D27BD59B8A0ED42FD9D1DD2858125583F28FE +A266081D50EEEADF0DD5096885D7DC706DEA8460D04D3900E9E081F92A6A1F95 +3EED1486DFEB20B3DBDFF252D0B2DC7EBBBD755FA3929015205986AAD7404ED9 +67AF080AC63ADE35132A4AD0E9C63C600326048179B6AFD1907C0912113199B8 +427C6196084922B5A0F5E1FA25052DFA4902BB43D349527468A9A8F3732DDB4A +AD1E9E3028B8ED4623D8D1320CF8A1E0B29C16DAB4A559EFEAB0D234A1A7D8BC +71B25D5CDE127BCAB2AE7E71A328F2CE9D3EC9D23E370A5E95848A00F2D1AD8E +ADCFEE7E929F666EF63CC9C90CA02C2ADDD3216C3BA79F469738D1B2B6349F72 +CEF3CAC9F4B4596771D6EC39E61B9817439F0380A57A97AA04091D75B7DA14AB +0B864A58E00B4B28F054910709B93B37AFE76A7EA777BBEBD9A45889FB52C6FC +FF985679C9607AE167EAD42791BD42DBCEB89D356416A38007220CEBF4A3203C +70DE5BF488A91278272E337A47CF8A5F12F95641AEACA5AB485FC5A316BFBDD9 +3052340DD5739FF1C1F850DDEEED70968EDB150D50D7A1F1C894FCB95F9B4CE1 +79721CB1DDC387073BAB999EF40FAEAF721B6BFE427276E3AB02143D3CA60AC5 +055757203EA5071D7730811D723237ED10B83B457BE6CB673B5BA4BC097C6293 +EBE8393443B750766B87534949057B7FC8265048A748D61C4B80F9109CC7E1EC +36217DCA2709BFDC1682F85E75E0FCF3235ECF266A78E859AC400D5D02ED385E +7E30492DF22D7D5B3035D2162DFF1795E7E9096BF30957B3F75481F31FA87916 +D25DFE1711390CEE845A3B7842787985B516D60A7F3636AE0D036A911771BA34 +866336E447DD88B6892A00BA6C017156F7D4F4E613BF163EA2F325998F046CB7 +5EFD1077B1EF7D9A40705FE2AB8C9D3200EB1E5903C5BE740B88B3A46C6154E3 +F702924AEFE30BA19D64C20876D8CF14877BE2F1FBA6D2A52D35C395BA35016E +8A9ABD8720C1A79360150242FB188AEEA1D02D7BD70D15CD0A4261B185ECC8F6 +DA0D3C23250D6B4C188D10D99F5B0B8EE0809BB20D0189D2E8B6FA6E0EF6E415 +890DC4E9F8252F6EE25830D5BF07365B58E0D682B4FB236DFBE36F32CC574B75 +9C997F3E74832510AC57C496D8F131F610A607246C31F548C859DC34CAEB66F8 +AD4A6355C7D04AE6876746489A94C750471DD1A33FDFDAB58BE702D1EA89471B +1E73286289ADAD1935BEB2F17B2EE77AFD9FB1E278C99F85C6EFC112C997DFA5 +66FC3238FF89BB840CB6B9610C983C24424EA95A2229CCD0D0B62DEA1CE377EA +B18709581246A060B6181D0A99144212DD9D4430E8B213FD5F37CF5EC4E11DB1 +E3E48223B990724D7C8561A9FA5CDEBBD4BD866647653F4DE6D794FDC4005D88 +C2773247A5D6397CE425E51B96C741FA01EFAB5DA86E5435365671E2BD29A628 +BAA80C56AF17B725BA84E5ACC005C658105162FFE81B5CACAEAE8F3A22209735 +E470CC97B04B0CA0A969E41E94EBADFE40684E0D018007D1267C2E27F4176BAA +B484A032B0CFD0B3977322AA298EB5A11ADCB2F154294FDCBE9117DD3FA00587 +83430596B2D432A471615ECA7789A6B01BB496309C8424C818357844F34ACEA3 +1B71F88E89AAAE14BB7EF728D75425CEECB1408334D2836A9F62D1B34A1BC9FC +25A43F2C69F01F3217BE0487563E11A9DEBF88C7655947F0BD725280348F9AF2 +864C611638D3B78B26785DCD3E05C47D297A4C6BAC0840C5E3C646521C7DE8AF +CE9CC7AF715F62AA0537E7965EF4158276AA8C7A1EB9D7D61C423F39CBD918FE +EDFE99AD29C73D106F7F1C3DCD4BDBD56F6E608846E32CF26DE47B08C53D3521 +9F8841AF5554757D0CCB44FA7ECD5BDD0C20263D097D9975E1C41DCEF4D8C9B1 +97EC5977EA0EFD9E405B429D451140105161EEA54D4632D6EC6220E28C7153C0 +307E1A3953DE1CEAE5D51CA6C58A15B69BC2528B1500BB281C7E90F40453A685 +A329867D17142A7D2FE906E15FFAEFE641EA5109E92FEE41FF134E8BFD57875D +D4F8270C12808FCDCEA5812812501F64EC79342DC192B20FB93A1A6E0475DB34 +B7A662C95EBEDAF862726ACF65393A719980839A9C05C705F251E6B46E276CB0 +127CBB7EA4C251B0672C01FD185C7FD287791019D8FBCCB391E9B9F818BD32FC +E61D57334FCB2266384D8FDDB094DB86E87EC7789A3287C1194827A38926AE50 +F6DAF70C2D3EB91238D87148642EB0693F7583F0D8D8E2B6FAB7DC139B06CB0D +AEA8C08415C14B835BB928FB81B7DE129A08502D89207B8673BEDCF22024BD99 +5777574A3495BB18121903550084E8FDDE6F940511F23FB95104E76E3846515C +F954431752CA60C08E345CE8E6199F1041855242A7315FF1ADECA2A23B7218BA +F7D895AAA7D5C49AD7EF03CF8A2EFFCC1DADFBC101895D17B0C3E102C7DA16CE +7BC977E49BC120C4673E14F55D00FB30DDFCBF592AFA42A887322F25C15A100F +82F5D3336804E68FBD0A470FD66D0566F0FEADAE76BE6A436D715BE62A653700 +BE088E4E594D99611E0ABE626A9AFCE2E7066B65295DC87B6A508FA3EA6C0C43 +2580AD8D9266FD81E825C4B0F908DE635B650613435DC700B7920A3B08BCD409 +69D7E559B5AF1E98D02169D4F2BC0CC08CF94FDC62D1877C823D886569EB5DA5 +B93EC5F0283B8ADC719A4831C107394919DF585AB3BABDCD98A63B153DF2BC7F +55EDD18E2195CCAC549C9B4CF3B91156ABBFB56970EB689EAB871D6FB5919B3F +21418C07BBEC9FFB2E1C7268290776B993363429B20A5D4C7C66D1B3DE0256FF +A3A1157C96BC1CEF6F6CD55207FE4DE2CB26E799C768E1DF47654968F6A708A9 +7F42E3A32DAB67EF6D16146793C36FE6876F1CAC18B409D5A5A6408F13CFB9A7 +141D3D25FC0027F6B7FF6D186587BB146DE91530B32B0F1677C48C28D54F3967 +C0E9C3619F09878D2C2A6112DF8FCA1133BFEA4AA87D358A35591BA6F402E7C7 +404A078F95D33AB26E0595B5BFC85D6D8BFDDE1297DCAADF67E1A30DE26D504A +7FBBAD316A050CB9FC56A10F0A6721E61E87A462711604C33044D6197C0A52D7 +236C147B09DA467579C62A09BBB25DFD9DA11773EBB8032D1946A35928ACA3E4 +CC94CC723D4FC49976F39EE66225584DC3537EA4138AF062951CFCD0BB9D5D41 +F119E670ED47DCC59E67DF658942835353783F571801BF33922D8EB886AF461A +EF66824F731E5E9A50B153195536AE96FF7F34F21598C83712DAA54B780FB815 +36880FBFD56675EFF13E12A8EDA31C76F6367B818089DCB9C25464C47EC3968B +AA0939DFCCFDAA0D60672A349E2E4768B386160EB8B41FC8F959D45FA8831BBD +4EA49CB9F152FC8D730216129FDA998DB38810CF886864927AE9F047855AE4CD +DD6BC5C4733B48C6614E9E9F7EBE404BA26E352CBFE1A533E9E74C78EE17A9FB +148B178F503B2154264C21A39B323D8B4FF8129A8E101949DE2C081E28D05DFD +CA2E08F44BE9B5663F331D34D47C8876AD9540ED7DAFCFF0216D6A50F7D9C00F +1591AD6FB27CEDEE703D6C3D9D024675A117EBDDC79DF5D4DFC7F201DADCA2A1 +72EB9A21EB33F5C8325CF8D8230DA66B6C7BC504386ADAC40C00E20BDE3B5F2F +111AF81049379BBC4712A78B6B0A33BF40512A1C42E3095323D07B0B85927AC8 +29EEF89786724EC48D30B8F2F26831BC7238AE0786936CE46FE7B2426A09D370 +460B950E850FA2D6710C50E78497C27E5FE43B7A830E67C5F28219D8B0BC1158 +0A2B02EB3E7A96CC1B6FC8B3DA8708070CE1C26AF0B7D80D83021FC27F0322F5 +2C3B92C29F738CBEACB1065948289EB43E334B5BF6FD7CCE82FE9DED9E3551D8 +1C4F66C9F9C1A3BAC534D79CDED98FB5A28F5E7A4650B4F3DC52058B619FB0CA +3DC70998B508CAC359C469E488B925685590AE5084C4EF8572EA48DFAACE35AE +B9CEFC91F38A26A2105DF9C3B859674F6B20F9B3A9B7E2DD2FEB80A899FD2731 +54AA5EC8D6107A55C59A9C20F2990B9DB221908F629E0E45E371FAA3ADE91879 +84479D6F3E3F8F2E972606BCD37276E9425B893233852201D8ED2D753B33450B +1CDD8AD735BEE3AC8C4E4DA651748B2333B972B6A9DC1A133E3D695D6C975067 +228ED6A4728729D0AB55040AE154F668A2DE8CE6CD5BFBB28A9DE3F90E358BF6 +1BE66D7BD0409D59A6E3430C2C32DAF12D55A8356E25B9B805A69B828B399F96 +824B96589D5CED4A9FAD83D70D12E2CF7C9B9CF34E3F55423F478A2B8FE24C6C +FCFD80E8898C26FE65DF206C2BE1C6439BAFBF809046472A059F53CBA38090D8 +E03AE270F456B2F63987F18AED9823DBDD39F8A175770C6164D839BDCD7AA732 +E63379F4A5C45E217A5F37AF8DE3F5F463BB67F57192F71AFAB06CD96B2ADCC4 +D9FFAAA11B176A5CCCCD8FEE8453579EE23F97143E6B176418184C0F3C004908 +38D73E689018BC811251901EC141705FC39D61A3FEAD3D869A1CBFA833AE9FB5 +659AF715D30854D9312919DEDD227A4ADFDBBC76851DBD3427A28B9C957396BF +6E530F570893A2056E53515D0B5A9FB44E16F26039161683C3F4D34A87E1A631 +7C262B4A9D1175C07239B87FF6756B5AEB02E315659D938B7E55CF59C35DC48E +006F444D7D17178FB459506521227674339CC9D1CC80C3BC472B026DF0A45F61 +A8940F2D6E9379B95F28AC3BA13987E685E4C30BB8F6BA6562EFC9D1BFF66E1E +AD72AFE048DA95093D064B0E692CADC6DA786221CD5655FF768B51FECA289395 +7062E952A0347FAAFD0C28F1ADBC0BB121F0AD038DA635D0AFFD2F1D65A769DB +2F69BA310ABAF715AAF91EC3C5DCFADA1235716A9F53A510EA3A3A21D1034163 +48A7963C8B12C1DA71A02EB87C2863176EFCEAAEBB5289568D37689921FCE677 +7D874CCFF1A72391F25CD922DA5A7B35A0E40CE40AF2521B567596DF422DE776 +A9DDF64744F8164F24985B081F0E73F43E43217BF0DEF9CE522CE604AB739192 +BDB8FAD799C43F17AA436B7CC97268A73D583BC579B95E56B2FAEE303A565CAF +5BE8FD7F04C03417A3121966B549FB7E7BE070C0B05A6961733D4F189B78FD41 +412EC99F5B7E841DBC5A7503E5FDFC10E85E2DCF4D4BFE9CE967C09139082FA6 +F40337731B9B6ABC831DEE16BB3DF818EC2B701210BFFC32CFA306AF069522E1 +C05F3A0A0F93E7251FD4D57FEF2211F79422C5172AECB8B51D1FB521924E43FF +54BA9A4FE04BCECDACDF64D00D736272937F9257492E90A83E064051ABAE4FB1 +8FDB08EC54106FB4B3289FB095E83299B57CB6276B78F465800651B8F7C8479B +1C97E0E31CA741CE73234440C0C62FC373006DA598E550AC386DC6E0932F46A3 +8A0588C3AD1B862FC14D9A8910574C17984B1127B6985C969729898A9197529C +2897CF8A077FF821BCF055C2EFC1948AF0569AAB1ACD59F15D648671E726F3F4 +2312EBC0E6BCA0F7B977B04020976AE645A5738401DF2D81720C4BC90D1132FD +7334F2C852838583465DB27C834F3F10B1237A7DAC5E0136BFC785759F29F5B7 +CB0DA5C01C2AFD7460F14E03A73C818B313824B23B1B5B7443E3581E3BC11200 +D55AE9E7900AC167A7D2F20935FD72F33B695F25B6F08DF95677 +0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark +32 dict begin +/FontType 0 def +/FontMatrix [1 0 0 1 0 0] def +/FontName (LuxiMono-Glyph-Composite) cvn def +/LanguageLevel 2 def +/FMapType 2 def +/FDepVector [ +(LuxiMono) cvn findfont dup length dict begin +{1 index /FID ne {def} {pop pop} ifelse} forall +/Encoding [ +/.notdef /Aacute /Agrave /Acircumflex /Abreve /Atilde /Aring /Aogonek /Ccedilla /Cacute /Ccaron /Dcaron /Edieresis /Eacute /Egrave /Ecircumflex +/Ecaron /Edotaccent /Eogonek /Gbreve /Idieresis /Iacute /Igrave /Icircumflex /Idotaccent /Lacute /Lcaron /Nacute /Ncaron /Ntilde /Odieresis /Oacute +/Ograve /Ocircumflex /Otilde /Ohungarumlaut /Racute /Rcaron /Sacute /Scaron /Scedilla /Tcaron /Udieresis /Uacute /Ugrave /Ucircumflex /Uring /Uhungarumlaut +/Yacute /Zacute /Zcaron /Zdotaccent /Amacron /Tcommaaccent /Ydieresis /Emacron /Imacron /Iogonek /Kcommaaccent /Lcommaaccent /Ncommaaccent /Omacron /Rcommaaccent /Gcommaaccent +/Umacron /Uogonek /adieresis /aacute /agrave /acircumflex /abreve /atilde /aring /aogonek /cacute /ccaron /ccedilla /dcaron /edieresis /eacute +/egrave /ecircumflex /ecaron /edotaccent /eogonek /gbreve /idieresis /iacute /igrave /icircumflex /lacute /lcaron /nacute /ncaron /ntilde /odieresis +/oacute /ograve /ocircumflex /otilde /ohungarumlaut /racute /sacute /scaron /scommaaccent /tcaron /udieresis /uacute /ugrave /ucircumflex /uring /uhungarumlaut +/yacute /zacute /zcaron /zdotaccent /ydieresis /tcommaaccent /amacron /emacron /imacron /kcommaaccent /lcommaaccent /ncommaaccent /omacron /rcommaaccent /umacron /uogonek +/rcaron /scedilla /gcommaaccent /iogonek /Scommaaccent /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 /AE +/OE /Oslash /Eth /Dcroat /Lslash /Thorn /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 +/ae /oe /oslash /germandbls /dotlessi /fi /fl /dcroat /lslash /eth /thorn /one /two /three /four /five +/six /seven /eight /nine /zero /sterling /dollar /cent /florin /Euro /yen /onesuperior /twosuperior /threesuperior /period /colon +/periodcentered /ellipsis /comma /semicolon /quoteleft /quotedblright /quotedblleft /quotedblbase /exclam /exclamdown /question /questiondown /guillemotright /guillemotleft /guilsinglright /guilsinglleft +/slash /hyphen /sfthyphen /endash /emdash /parenleft /parenright /bracketleft /bracketright /ampersand /section /dagger /daggerdbl /asterisk /quotesingle /quotedbl +] def +currentdict end (LuxiMono-Glyph-Page-0) cvn exch definefont +(LuxiMono) cvn findfont dup length dict begin +{1 index /FID ne {def} {pop pop} ifelse} forall +/Encoding [ +/at /numbersign /degree /plus /minus /multiply /divide /equal /trademark /paragraph /currency /quotesinglbase /quoteright /braceleft /braceright /ordfeminine +/ordmasculine /plusminus /onehalf /onequarter /threequarters /fraction /percent /perthousand /backslash /dieresis /dotaccent /ring /acute /grave /circumflex /caron +/breve /tilde /hungarumlaut /cedilla /ogonek /macron /commaaccent /copyright /registered /space /nbspace /bullet /less /greater /logicalnot /asciicircum +/bar /brokenbar /underscore /asciitilde /mu /Adieresis /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +] def +currentdict end (LuxiMono-Glyph-Page-1) cvn exch definefont +] def +/Encoding [ +0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +] def +currentdict end +(GnomeUni-LuxiMono) cvn exch definefont pop +%%EndResource +%%BeginResource: font (GnomeUni-LuxiSans) cvn +%!PS-AdobeFont-1.0: LuxiSans 1.1000 +%%CreationDate: Mon Nov 12 2001 +% Copyright Copyright (c) 2001 by Bigelow & Holmes Inc. Instructions copyright (c) 2001 by URW++. +% Copyright (c) 2001 by Bigelow & Holmes Inc. Instructions copyright (c) 2001 by URW++. +12 dict begin +/FontInfo 10 dict dup begin +/version (1.1000) readonly def +/Notice (Copyright (c) 2001 by Bigelow & Holmes Inc. Instructions copyright (c) 2001 by URW++.) readonly def +/Copyright (Copyright Copyright (c) 2001 by Bigelow & Holmes Inc. Instructions copyright (c) 2001 by URW++.) readonly def +/FullName (Luxi Sans Regular) readonly def +/FamilyName (Luxi Sans) readonly def +/Weight (Regular) readonly def +/ItalicAngle 0.0 def +/isFixedPitch false def +/UnderlinePosition -36 def +/UnderlineThickness 72 def +end readonly def +/FontName /LuxiSans def +/PaintType 0 def +/WMode 0 def +/FontBBox {-215 -211 988 993} readonly def +/FontType 1 def +/FontMatrix [0.001 0.0 0.0 0.001 0.0 0.0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 65 /A put +dup 66 /B put +dup 67 /C put +dup 68 /D put +dup 69 /E put +dup 70 /F put +dup 71 /G put +dup 72 /H put +dup 73 /I put +dup 74 /J put +dup 75 /K put +dup 76 /L put +dup 77 /M put +dup 78 /N put +dup 79 /O put +dup 80 /P put +dup 81 /Q put +dup 82 /R put +dup 83 /S put +dup 84 /T put +dup 85 /U put +dup 86 /V put +dup 87 /W put +dup 88 /X put +dup 89 /Y put +dup 90 /Z put +dup 198 /AE put +dup 140 /OE put +dup 216 /Oslash put +dup 196 /Adieresis put +dup 193 /Aacute put +dup 192 /Agrave put +dup 194 /Acircumflex put +dup 195 /Atilde put +dup 197 /Aring put +dup 199 /Ccedilla put +dup 208 /Eth put +dup 203 /Edieresis put +dup 201 /Eacute put +dup 200 /Egrave put +dup 202 /Ecircumflex put +dup 207 /Idieresis put +dup 205 /Iacute put +dup 204 /Igrave put +dup 206 /Icircumflex put +dup 209 /Ntilde put +dup 214 /Odieresis put +dup 211 /Oacute put +dup 210 /Ograve put +dup 212 /Ocircumflex put +dup 213 /Otilde put +dup 138 /Scaron put +dup 220 /Udieresis put +dup 218 /Uacute put +dup 217 /Ugrave put +dup 219 /Ucircumflex put +dup 221 /Yacute put +dup 222 /Thorn put +dup 159 /Ydieresis put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 106 /j put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 113 /q put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 119 /w put +dup 120 /x put +dup 121 /y put +dup 122 /z put +dup 230 /ae put +dup 156 /oe put +dup 248 /oslash put +dup 223 /germandbls put +dup 228 /adieresis put +dup 225 /aacute put +dup 224 /agrave put +dup 226 /acircumflex put +dup 227 /atilde put +dup 229 /aring put +dup 231 /ccedilla put +dup 235 /edieresis put +dup 233 /eacute put +dup 232 /egrave put +dup 234 /ecircumflex put +dup 239 /idieresis put +dup 237 /iacute put +dup 236 /igrave put +dup 238 /icircumflex put +dup 241 /ntilde put +dup 246 /odieresis put +dup 243 /oacute put +dup 242 /ograve put +dup 244 /ocircumflex put +dup 245 /otilde put +dup 154 /scaron put +dup 252 /udieresis put +dup 250 /uacute put +dup 249 /ugrave put +dup 251 /ucircumflex put +dup 253 /yacute put +dup 240 /eth put +dup 254 /thorn put +dup 255 /ydieresis put +dup 49 /one put +dup 50 /two put +dup 51 /three put +dup 52 /four put +dup 53 /five put +dup 54 /six put +dup 55 /seven put +dup 56 /eight put +dup 57 /nine put +dup 48 /zero put +dup 163 /sterling put +dup 36 /dollar put +dup 162 /cent put +dup 131 /florin put +dup 128 /Euro put +dup 165 /yen put +dup 185 /onesuperior put +dup 178 /twosuperior put +dup 179 /threesuperior put +dup 46 /period put +dup 58 /colon put +dup 133 /ellipsis put +dup 44 /comma put +dup 59 /semicolon put +dup 145 /quoteleft put +dup 148 /quotedblright put +dup 147 /quotedblleft put +dup 132 /quotedblbase put +dup 33 /exclam put +dup 161 /exclamdown put +dup 63 /question put +dup 191 /questiondown put +dup 187 /guillemotright put +dup 171 /guillemotleft put +dup 155 /guilsinglright put +dup 139 /guilsinglleft put +dup 47 /slash put +dup 45 /hyphen put +dup 173 /sfthyphen put +dup 150 /endash put +dup 151 /emdash put +dup 40 /parenleft put +dup 41 /parenright put +dup 91 /bracketleft put +dup 93 /bracketright put +dup 38 /ampersand put +dup 167 /section put +dup 134 /dagger put +dup 135 /daggerdbl put +dup 42 /asterisk put +dup 39 /quotesingle put +dup 34 /quotedbl put +dup 64 /at put +dup 35 /numbersign put +dup 176 /degree put +dup 43 /plus put +dup 215 /multiply put +dup 247 /divide put +dup 61 /equal put +dup 153 /trademark put +dup 182 /paragraph put +dup 164 /currency put +dup 130 /quotesinglbase put +dup 146 /quoteright put +dup 123 /braceleft put +dup 125 /braceright put +dup 170 /ordfeminine put +dup 186 /ordmasculine put +dup 177 /plusminus put +dup 189 /onehalf put +dup 188 /onequarter put +dup 190 /threequarters put +dup 37 /percent put +dup 137 /perthousand put +dup 92 /backslash put +dup 168 /dieresis put +dup 180 /acute put +dup 96 /grave put +dup 136 /circumflex put +dup 152 /tilde put +dup 184 /cedilla put +dup 169 /copyright put +dup 174 /registered put +dup 32 /space put +dup 160 /nbspace put +dup 149 /bullet put +dup 60 /less put +dup 62 /greater put +dup 172 /logicalnot put +dup 94 /asciicircum put +dup 124 /bar put +dup 166 /brokenbar put +dup 95 /underscore put +dup 126 /asciitilde put +dup 181 /mu put +readonly def +/UniqueID 5078987 def +currentdict end +currentfile eexec E98D09D760A3C22CF119F9DC699A22C35B5B35ED6AA23593C76D54CABB5E942B +F7D6DD84F1664B89699C74B472DE9F8E6DF925F6C4F204E9F1C639B4DBA988ED +2AC419FF2B2BDE605B8EE3264EDD66412D4F21C64AC522BDFC7C5502F9C3F3E5 +592B3B2093D33C9BFAEDD2D49E89AABAA832E23F062E91A25032519D1868816E +44B4E0747795003D7930299D6E1E2A5BFE0D595DC97E140989CE81D8D7F852FF +9CDC7A1B1B598C69131DEE005B415805A16D8F1232D83F2EBDEFED79F2D9B89C +8EC53816C50F0AE382BCE732EEE6D88D5DBD81066D279225908FE82D1016823B +76A6ECC3AE378CFA8D4858C797172833DBAD7A6E3394F8E694E1492FE4B67412 +7AD6A6ECC7A6ADC95E7AB30E84E5C6EAF70F5ADD2C2325538478BA68B505A016 +4E1EEE2C4BC00D82994B690B0A7F593DECA6BAC94DF9958F8C9D4A1B5E8CB301 +F978E31D098ADAEF1A8B0C49BE16CF963236BC1C98BFABE641EB28E425926D7D +121C3B5ED3F3B331A592397A0118B79F023A1F3427922D646B40F1535AC406FF +9A6639600E9DE05CB8CB72DC1C2315FF3C04432895774FAF2E5BC8C409478E7C +5E14212F16CCB01F40C090BB951FBF5866A7C22C10FC75DB5EF8F207AE4FD07B +10C82861AF1C7831ACC5759E0B603A9D8292CC48BD8720C06CDFAC12C303437D +D3B5D1F4AF514EB57314E27DBDF3FF7C4F1B5DD60244CC8C383F433AC4D74E8A +E0C76F22042BCAF8E576FD489CFE0ABC503C5BCB003992FE159A65392A4AC64F +4E555112A88333D6CF854A48727EF93AA0BB589426AACDC7C06FA3D61049F58C +74416E873A6B6A2198A493F73834D5C19BE517A92C5ACF16093E2F797548DD37 +FF9841B166114296FA9D03CAA6877981EC35D279B3795106CA671228224D0B4F +D4AF3640A59F9E44C59541F7F06DB11535289BE84587C698463286E342038704 +8D9B9A670A0D11A2B5C6C2E2A1E8F4AFDE915A03AE45CE5947909B1FC9A03413 +75AA4857E725120F78BF6CE2ECB35F685371843C3D95512572A7A0E3BD246ADE +AEAE95E62E9775AC24597907A8B56AEB88F46BD4B39018AB8432D9737C5CBE73 +77A82B56AF95293C7D0D847C7A508470CD6762AC896FE223E17730F05C9D3747 +E340F37E7BAF694BDAC9ABDB97BC12ED7B01173D3C713E0A8E68E10DE647BB03 +E4E67DE1972165C1796F5EBACF057A5AD7FEA38443D91ADBE54028CBA31F75EA +0DA41FD14F15496382A0D8C9C27BCE1FDD6A5164F70BFA2C5B334A2D2DEF9AEC +F1C39CC0484EE7F97A39D31A46CE50FC7D2CC52420898E2052896488606A5328 +FB195A9561E9D5A41A4C8117C86EDE60F80B6C70796B90EA9D3BD5BEB05E6656 +A8BD35A2A884BF8677D05A1F8489FAEFED5C645AD23A141ABF3E78C69EBBF48D +14884B29D1A4D7F03A66EEA0D0EAF7476E80EE45A894E706B5D681AEE8B31E58 +935CBE30E790B7A3995331BA9B0FA2F03F9A4D326F249BCAAC590345596F8369 +028CCB95F0D1CE8A44391C0E9526214EE28927FC98B3BF6676B1EF48DCE63F3F +48695A3AC668FAD1ED3B50A1FCD29ECE9E01F8BC3012053AF96B0C7D276749B4 +8CF046E7406621979A92FBEB7B5DD5CBB154ED51C4A9A1C13F6223BB54F6F3BA +326F6EAE74DBD8B370A25A7A1DC320E9A17CA230A868B752FA7FB1065F435BE8 +A3EA5775CCDC33A360DDC25B2891F7D2AC399BCF6F789109CCB37DDD02BF9EB7 +EAED7A9CE82793DF6FA7F68F9D45530A14EC91D71A19A9251BD810FBC9934F19 +FE4FE1BED828FF3BFA6E91244AFBD8B430B53106AD18F41DF767E2DA16F57083 +B8F66A0356F80C30B956C43416BA6E5CB805AC10ABBD18B31F8BEF14757877DF +152D286CB6B478EFD4C88A3DC1745A32A56D845A7E61034C7907A7EE957A4C7D +A6525821611CBEF18947E727A49E0F765D648CFF974273D18A03080EEBB6211C +E96439F86431EFD0BCC4CA2D2D8A4FEFC65C768D28FCE6BBFAB055E0DF961A52 +81ACE5A300787BF4A458016DB1CDB671B4867E5F5103551007BA0F53117D733A +0D3E8802208CE1C54965A28912A03CA12D9C34D7DE9599E6DAB5124713CD716D +916701BE3D6318B19A9E2827E94D4FC3F4D7D5794228DC958B3FB82617CF21EF +D4A5129EF9051745A52DD66EC77E50F35A8793858819131F36413715416D372D +DBEE44AA952C566114C8E3A21EC8BB0669805F48BCB27C92E609905D39C7FB82 +A62A627280ACF84937B0F10E132EF579B69992A1942133DA541F50CD3A51FF2F +C56C10C6ABDA32C83F1DBB4127843928A4F6E714E815E387588478BF941F1F74 +E8632BD28851474673265AF4A18905C07A4EE77865CA41D23069615FD2176AB5 +2595D1E86B86DA9D0C416B67497B6B9FCB3E3F709C3A4E552E9EE130BAFF3810 +C30F41795F68105BB700DE11773B6435AFD59D7815C17D2D0C33C824550CEFC3 +1285EE76EB1E72D6D3BFAF60973919F8FBB4E2904079F53927F7F1FEA66FE0AC +5496A13D446B0FBADA61467346AAB2E5A9F61619E09C929FDE2BB660FF152DAD +AD834A43A906585B1B48E90D2AB718011880AD2A3431E5C9B2AAD5B9E401973B +AA944A69F49810FC10FF7B7FFF0BC5A2FE856D757DA569F34FD03953534315FC +BED3841FCAF428FBF5210F66C961BF468F25A82E0D6868D3E4B93F95F9B04BFB +D9B99488FC520678A862EC1AB774A0CE59CEB043230B6DFDB2309D0FECEFD69D +8D49085ACB83B16034AE0835FE67AD57F38D369F4D9604CE276CBCBADA2F8C0F +3230E3525204E3868B0AA1E8B387DD2567E000CCAB04929BB4F9F5DAA93914E2 +A4C4F6C5E91C51725CC94DB972FD7B8B46C868D6D2FA9B63C84904E9C3EC77ED +FF4ED0FB21A310ABE4C54FC6D6D18CE039B4407F06B95CE7C262F789258D0585 +BEB98AD999A28751FAAC37BF6ABE82331A9428F873E91254E820DA499C11F4FE +85F0CC83DB4763D6B4C6B832D3AE8CFF77C0C883A0B41A21DE36A1D32DC13EF7 +D35F3E86C7EF1D8461B171813160E56FDB2A0232D1BAFAE968A4FB67BEEEF61F +7273B238C3E2371A05B71B15D8E0B460156A5FE5DA20D662247CC36385544C4B +A52BF88B7C20C78AA08BB0FA4835FAB7642F195D29A5EDAEEFD711169ACAEE55 +1350C30E459A4EF0D5E7F7C068D1EA4882230D157A51D639750E2550F96D752F +97B0AC14EA6524AD772E10B6E420584990F0D622598832F519FF9CB6F6A20E79 +6E75AF675E3886621421E2B0DE3AB619E6D0C65AC4B7366BDBA74C76C5F6DDA8 +9E8D11F672D02ACF26766D7CB6185BEF931A4ED03E3745DE92BA86660BAC7865 +61F4A64F959A7B4D825E15FD9567A957B9C672ADADB83070795EE44D7022745A +9E8B7D0C03ADE959A33ADAFD9FC69A0EEE08FEBF24674B0B6F16B31BF3BF0278 +68B511314B4C73FE31D640D6726EA6051A079A7F503C6C886C9DFFB6D03D2E6B +AAC0BAB66F9C06FC11A4D7C165CF97CCF9737899D41F602E326BF02394F6E438 +A579EBA81C049CA9B773C10BC5BE33353775FFE01E3529DB4FDC9467564372CE +1D2976040390CD1F1C0DD3DAC8936854A0E9B5074730AF4736C0E4F040759B69 +5AD6A1C46714E61914180D1F80ECBC33689CDFBE788204DEB11FA4E35DD610C2 +B82E28A25991DC4E55331DB54345E3D11EC304B7B25CFB5F1762444C55AD642B +8095CF31A30BD6C429497BC0904B1F06EE90FD9926125E77FD430AE3852CA235 +92428660C10A19470784FE02E536926779B248650A6315FB8B784DBA9D226B06 +09C6900E5797693983CDDCF08754C3159545042ED401B364A45A9FD7BE0AC6DA +ACD9120E8114EDF40F21D968935F1BF9DE05228EC140AFB1889AF353996B79C2 +E6795E23B5D0CED1E0FB1E6A572C6746958619FAF88C368EBBD742570DB4CB4E +DED4D19E89AFDBF6092D5A0A48372685DD9639A32E4F91ACD9CA3A9E34D64E11 +9AF8E6BDF8674D52F1242D8FE11E19820F26BF1F533C34EA6471A4C96D4D5207 +A9AE99536705F6934CB16165657EE6F6E7CAA7720D4AAFDC6C075346672B3E16 +001BC35A331F03524D28301FE77D9C8B5FAB0BB872D568D5B95B2DEA4322ED4D +0DC15BA4F0C1D1AF924873193FB809B689646A4CF1D97A1660F953C82211E4D2 +A58E370AF2693919EFBD3C1E18BEC7A472B20DECEBC0CF1861AFE3978C993CE2 +3D7E93946083689CD61E6C180B3EFA962E2BFC1D073F7FCFE39EC0F963C51C77 +B2A77F81D20BCAF1F0B5DC1AABD9869D4497CFD90953EEE70993ADE80AB6CE15 +864AC0BA7FA4B666C54EDCA0A0F9F67CFBC21A3BFC4E2303F5849C130B9B7E46 +0A8F60048C57FF89DED4A6D5976635ED1AFB0331370E53EBEF3835107D02FEA6 +5E28A746BA8E0A4AD649E0CC03B6AB56398D922B96133DF7024BF83A46A0EA6B +E4B05CC77A461AA0FDCC59E90FBC96D16DA364C2DC55E618090800BB3E8A2D90 +CD72A4C067A1C107EC6B0A648FDFF3D05C508C4DA9826E7082CE58C2B027C014 +6C001421F42F21B18221E7AAAA092EC197AF592EA3D432175856F58FE7EAFD05 +B81FEDFADCCF38AE807B2DCD8E4260E348E3B561E72112DCD7BB0032120966E5 +5F131F2399D9C89AE65CB33A354903D37A9A5E480EBAAEAA485305462228C88A +16F99457F7FCB1538C2BD86DCAF01F6D6404F02FD91C82562EAB72EE21268867 +CE2C0F3A083719E62205D0090F64F694CEE7F0F38D57D01F3732839933DC0F8E +DF5F9CBB1FED7FB149AEF7A53C644E17A672DF4F8BD4A0ACDBCB32859117ED77 +82ED68468C311C51C8851ADBB6A9212DBBC84EC1B88A4AA31CC6D1F764AD69F5 +CEBBE3F7983C3442FD91D7EBAFA16CA047165BD327BFFDC247F822314F346D2D +D3E28BB4C05C485438E70E62DF3E165DF4AB31B0CF7FE84F420304D3FB7D11D7 +DA73EDB8834AC45479C13BFC5B845AF24C2F1A4711AE4BACE4D60276491D1BCA +E3A3667563FEF12FBE7667F1EA621D0C241E49D68B09BD92D5163246425565BC +FAD5051C5CEDAD508F387E192AD94FFC7184F8BD2530FC7DD585501E34AF3846 +BB1295CF417B218758F11D342792D81C8CEC903D970E51BD263AB1BFD6E9B2C2 +76E1B061522A88930712D2C169877295EE5340A4D1C3F69B9874E5CE3E3C82C3 +E7CC446BB33407B2F2B13722054B9E4286C06EB291D0410964FBF53E079D70C8 +1AEBE7D82ED6C7F95A0F83AE408196F9FA71BCA747448B3D94BDE6B25D9B1B17 +4C55496B3D0480CAF91E053B3FCD02C6140317DD0457EB98BC899CAFA6D274C5 +06FD587285251051CD5DEABD6E5B22A3F42189ED36F3A5DF75F8A1BAA892D296 +13A466A0FD134597DBCB91BBC63400CFFE7B77A8D09367F2252C22EE637A686F +C076ABFC10D88395D376ACE6CC23DB7F05CD6C457ACC83FEB49C6B50BDFA075C +ACF9D01E6DFA07227E28C3F651EB02303A658355BA5176FBAF95414C6A704FB3 +C8025111091F5482A01628F05547A9ACB731A291F1CE05EA8D6574272DC2FC4D +48006EE157BCD0AB293CABF3B6201A4D90350EEE2948A444F59C774847A5F3CE +76E328F3A1AFCB732F339DED374E8FE3BF9B964C9A26B3E1C3524EB27FDA0B4B +EC483B16DB62FAAAB326B862529E0B284283AD28E80F362343BCC66DF8EA0E20 +38AFC2F98F623770538A38698293FDEF0B75E3C5D851094CE5928150C7296240 +1FB139409667CDEE7605B4F16339E2C4A9B94E316D7A6B271182A19CE5DDBE61 +458DA5B24620348E77D1EA20B096050013A299D52E51C07EB68C151F6EC394D0 +26D6AEEA446783C64E15E7C7602522500E789A4D38EDC317AB7CF6765DFC3190 +FF1B84DB7A4A0194A4400DF94AEE615411313DDEBD12786D1720430E0DE1278C +9AB02BF0705A2E75738D65B832DCE7751EFFEFC699B97CF4151AACA2D94623C4 +73748CC15AB6D1A07F5D13178979CE175326C5110B335E47A53F45818FC9E4EB +5F7CB8332E12CB441FCEEACD64AC84BFEF1E858C5CDF1F0E895CF1AC75BF2105 +D2B6B86C14E9145BE2F22792CF68CCFBD007C728E816783AFCA822730EF16766 +2626857E1E7C525793A38955C4F40CFB8E42F86AA9A0CBF0296F9C54626FF1BA +E25D62B530221D6421EDF9E5D7BE7A1311BA3AD0F48771252F4FBE4E55605F4A +0A520DBE08CC94B181952D89633840FBD1F79BFFC71090E918076A9053947120 +70635D5EFCDE3A566101104D54B346DBECEE79FA87EBF54104904756ECF68B32 +2F6F26103CEE3B06A882DFFBB0B08BF9BDAE2C8D9AEF88837235BBC2CCF19C9B +E262B6F8748CD3B0224E2237CE0413A4AB2724B6BB3C3391CFD6E8C45AC32ACA +7249A955656967035944D14823D7EBA0D4FD6F3747ED319A6B133AB8762AF94A +B43B1D03FCD9F63766753EC12609B8CDA51E65875B04A0DEE40F768D91715D29 +A06076D2712CD5BB154CB9E3E77F322008C505F46FAFB3ADAA066285A50F77C5 +8A9695E324B6A24B1D96F4D4197EA627089D71EA7371D0D0348B8893E5261EB3 +F41BCD40EE77A02264BAE486CB345CDEE0C00A98ED7F96A3AC6CE8C534F5CEAB +889F7E3563092DFA96C44A28279AE30DCE4031150E2A4F03AAEA5E2D854D8AE1 +0E2DE62B83B05DD9C7F0BD5ED122FDFB6D4E5DDE5BA1C27E8961CF61119B482C +69055C36E2C3A1DF9165FCD5F24CBB5D6143C9E43A0F93EB260CD66CD4BF54AB +7AD064FD0D7B72E71F51464E7CF407BA9D90368ED4E9A5D11E63EC7F7E2563B6 +1678DB1300C88F3EB77DA3AC104B644C799344A7B93B7925991A065087ABCD6B +4C72F2C60B3AB3E9B1B008DFC201E2F48E47C38ABE247B622A75ADAF193E5E9B +301E0F19B8066429FC8F64E1E5D7822CEBBDF08B83A5E732FB45B211090F0A90 +EFDF2FFC7BB6A847EA398CAE9BD0562F73DBBAEEBF83595E5774C5290373F3B1 +161905296921A55C4C8E9C925AA543338254E7D9855E01803A2EA96B4AD8ACF3 +E4682030B7BA428C6C505C9F6A97567E568029A0FDA0652947ADFCB7FB74BFB6 +F72CAB5267EE86F34D878C62DC81BBF22FFE13CB066760353039995E461AB2D2 +040ED87EA2CFC54F2D5BE13CC99FEBA37333228C7302A34A4F508EE6595797F3 +7BD211BF901C4055641869FEA3546B89D36949EE0FA2CE8DCE71842A52F05DAD +F63829F2B3184CF814FAA64C73B65E4ECE9B0517204981AF9957F1B6FB29BEF6 +8D47E887F8EC987889705FE17BDA506B1C9E521BCA46A10BD728BF9E21551C6F +E233316FB7F5CF3CA15F1DD7B827126C89D4EE7A4AA82FE71026107963523F09 +096FBD47DFD66CA1A69A4D7C076D9A2ABD9D5A87B70DF1016E29C3698AFDF479 +451C57823F7B5250315EC85A8E7B1367C2E9F064E2B716340EECF712EEA14886 +22F560B22B39BC1CF25CE9966AAF766BC606CA93C04ABBB3DCCC7E0BB8F4CF22 +2D37CAF0BCE43B93B2EE318BD72BA502D596EF36562A056E1413DE0700C776A2 +0B4791C90FC8ACA2EDA723CBED95908811C2ACFDB5258CA181AF38EA66E305A8 +046EC71857E31894C750CF59C4FFD7DDF405378FFA7C854A0E0E3C7BCA0AD237 +2023844F8E8D69C15608CBE17D84FE9C0C9404913D68B98A6BC8FB01479E0B60 +E2E624A5B4E64213B4BF4734BD3C8B30B0E691B190B30CF2B49978BEA937BFD3 +A18AB4FE7D77EB75837ECA25ADE86438AB48F6E2A6C7DF2CBA1A3006F4A89AC8 +E9596510EC3FB24B33E24F8819A9129429376CDF5E84D61F79084346EFD83BE4 +55348D8E9BCDA1ED8096A3215600A1EAC278B99AC3FE8AC3BA9AD3B861A492CF +B38BEF7502F608907CD5418B768C795E3A31E7B6971E482FDF8265032FB63F2C +4B9385860945B83E244B19B7769160D3E90CA5E81E39001085FB8AB7D7A855B2 +7F58B5AF4D7A04C214015A5112FF363981AF0C9F3A6E98C391630F839C8529D8 +79B2AD12D38181E9A57642AF6915E8EC894A2592A606753C7C6E67538B22B1A8 +18D836B53E4E775A9D745F4F0C2BDC493A1122F1DCEEC4F7E18445546FBB332F +45A62F4A7D2BDA18491577A7EF07D19F1F48420944A2A8DF92D953AB628D2095 +F02358B542AD8CFDA1E2C739EF10ABDAE3C7C17AFB2F0884175BD4BF29164836 +49A5AE6C7D7438D477D15F74939183B61119367149B32B38C4277EB60EEF82E6 +AF4E94FF0D5DCFD77052C2FADBD0554964066239180611E193CAFED231F7CE82 +381A14BB9D908D842151883AEFA0C5C155184D2A6E82FB943792DF1D1B9ACE7D +3695B87CDA9E22839448241DFE11886518AFA164707842599A964E65A2EABB2B +1118F729EAADCFF6CB3DA1BD784DBC6BC6D41E895EFE4BD8355B65AAE7FCF6FA +0B2E115F67B7F29210611955759DC3C52E6C67FF1AF9B69D0DC3B53867FE8DB5 +E3E9F35BF158340E2E888D3A9DF0160F8150EBCB76D053689128B4DCE663EE5A +DC8526F46AF7DC1629A28BD8200EC03F6A11D2573C68580CC18B0DF7E138A6E2 +9C9022DD9093D3198ED133895B6EB49A5475EB0BB06016E646F3244D76218EB8 +F26F00F8F507ABFD902788EDD8755DDAF9973C40D1B7CFF83E696C2B60AE9E33 +DB98E520A33242F3B367287A519255AE92F2512E3BAA70DFA3D4FAA48B6E16D7 +167CECC79D41D27F714EB1029BF021EFCA5D4D9203062585F1C2EBCE61BDBCB8 +A834CE84A1716F3A4FF8C8F596E5B4C607DF81D25995A76734AEC487BBB1D440 +F1F11D2FC345317BC2928AB4F59091B4B3EED478E821E6A84ECE01C760698BF9 +19163E32D29ABF92C5E2805434C317C05F7B1BE3B47E26AF33FB53A720820B30 +771A2DCE04C0E9914B6E7A2902C4C4A91BC788FCC588C96AC517A2FFAB00889A +AA125ADDC939A6FAE98D809F8DB1DB49B6D1297EAACD08E94EADF3AFF59F8E0D +1EF968E765BCA6FCC3D52B7DF57ACBF89E45D13F001325B796E11A5BD51AAA3C +036C0AFB391EFD7984D3BC6EC248122CE2721DF837E44F58F9CCD0C06C045D2C +5098854D31234CA2AE9C41B901CEE60220E0DEC181BD39A3EC3E3F355CADAEE7 +2BD3A09FFDA632139242B16207428E0578080CA7CD604A186154665B31877131 +4916A2C04C66E01C1B71821C44E5161DF2646899F1923FF90BC203D592B9C371 +58C88945B5D0EBABFE0924D01CF22B547CE7DFD556CB285F0BE5D9CC7AF56DDE +5F61D0C66895199CDB61A39C944664CB438422E7FDFD2F3FC632058E5C8EC998 +673E8BA91DE92E64AC3FF9CDAA34DF107836B121B5259807ADE4324D0CE7B7CD +F2D94F1A5A0D2ADF7A6AFF0DDA5E98F72FC29A34B01ADD8682B57CF97610EA47 +5DAACF94FDB9E61CC14CD2B2CC361C9704EAC1F54E3EFBF743A551FAD5B52174 +486A5448637530218091DE0B4513443C8342CD18B669BFBF241C249BBC8080AB +012361313B220C3943D4F82EB3A66173635047730A44797CD20753F196A19919 +D1F75BB016E796214058908ED982F3C0D9A524C789D7F634759FDEA8C035E715 +190133B34E87347FC6E8C8671F50616030E5B199758E370F4E2BD838BDA6979C +3815FF7625F1BD41B9C4B6BF0C7DE3DE69F1C6C1D3F4D387B9317C530A49A3ED +37989944243F8DF2D60241CC6E4E5285289A7EA597D1DF92640A83360738B5A7 +26EB20D1E52850C829DB87E28B4717B8F2CC3C8942F38694A5DC5A5321DB5725 +89F49CA6D1A2AC555878CD43A023114FDE61FE8B8A08A840ECC2FBBF1041BC54 +FF4681D0B755262384A664C98ED1D1A1A2AF0F1AE96971EE2E4A1EF9E7C0B2D4 +A60B7A6108947C8BCCCEC3946984332F8AFE04AC9345FB60FEC9FD3534DF4E98 +585F371ACA9E10941CB122BB65D9AE82D16F0DDF13ED41D3A14448A83F120F7B +AEE9C6729E8D82DE68CA746554169CE6214842C399AF76CC78415B52508CD330 +0A776680685FEC3BA39A5C4AADFDE2EE53CF53C5569C54A59CB346033EA7FEA2 +3A5BCAF2442B4E18C9609220A1A334E71D0C4F7748F8068C3E42F3BA0D906155 +3EA8CBD989C0C7BEBA367E63C8484A2DF3E8EB27E50E60D09B1D71B8521336E2 +04EE168BD3077E6444266E1506F7D8F1A73254E5422A0FA4E5728712C3217829 +071803C4E65A4FDF9DDA27A2C4220EAA6F7520292FC1374DB4252886600780AB +BB1EB3C5F479E96AA17644BE204357F8073127B57B5058CE06C53475CF82B946 +E7632666847BE56D1E37EF9B4CE247B80E2287B80E7C3DB45C4F90D49E0AD5C0 +BF2B51C79F1D929FC84EC2B8EF66EA213E862A2F06759059D72931822D35695C +82A834F08B21DB8F40C9BDE784C97BA483E15DEAC3552146AD67AE417836A024 +2F388EBB7E877AEB04C226031941BC5E00B62DF4C833303E8D09360345DD3DF2 +7C05793D4B8954D01DDC88C7852B722546691B0DE58D03671CA23B1F8015FE7B +9E50DAD5AA41382C4E9CCB98FCEEF7785BF174171C4D386777DE16A4329C831D +FC04CD5AE48E6F13DEB41337FC48AD7C7B208CEC6587585768C24852122B70F5 +DD3A54A92F38A4201C6D75C8DEB955471638A9EF4B81BC38DF39C4E4E6CEB929 +0B06974A9D40CD5622FF02A7D3CA2F25249A40E4F0B684E8FEE2A839FB365DE4 +50FB988F97B992C9E8AC58B74F840221865C6E48B044E0A1A4201490F74D82D7 +5383AB46CE69ACAD4B4B09F5FCF3C66A637DC529695C9442F19A15C927569161 +6BFEFC8CD1B7A7F3F9C67A445F8B6DCD2EE53FA25F68817012105E420A61D35D +3741FBE996F921C24A4EA47CC5D2099A314183F55F4B098F3CC567E9DA4EB74F +9865A8019106AFFE5C8BD34EC67228540A4F49747678FA79DAF3ECF142A4F3EE +07E5B66F004EAF6FA3CBDE4782480D9541CA6E4BFDB69DAB7C72C607F56630ED +2F3B78B7FCAE17BF13D3FDA9A092B0DCA9D75AD9D6EBB9DD649C3B032AF5A1E0 +E18B31810E6CF3D26702B480D1D2F16D8A6BE47354FE17AA318AC16390AB1C4B +10165DE80EA293822BB63DB8B72D78E94FADA203B0CE078A929C5B9BC681D560 +B20A2DD69CFAC03D8F2EB16FAA431AB0E7EDC77DFC40AE2C8ECFC0CFD4A9E236 +15BF356CB6EAA90F6630801CCC05B577EC4A33463182DB9F40AD504669655370 +11CF974D7536EA8D8BDD56C268F2362E544CBC1D31E25F9E5D6F490D33026575 +E45B367739D77DFB4D079BE7C379235C8095D6D4F52C8FF0FD4C6DFF2D6C7C0B +13DBBAB39AF732C38348A4B170978410668CC1A2189A058A3EDAC1B08C09CD6B +ED16950A2DF3893B96CB35F551D7A8103380F1264FEEDE157C641B4783C6581C +790DD7349D6703D0B61AC8196A0B787A9A1F0BD9C906CB00439FAA0A9C9CF7A2 +0F26A9CA013B8A737C921722C76B167269A8443FB1C894F35F7BD37EE31DA899 +75B4EDE61F409D8539472CE9805623105FD5E67E6FAC734A6E83151BBF93BD01 +EE89EB5D4021777C423461554F2C2406D35FA6F94824EB29F88E20BFD6383C6B +2499DF337517DFE6F01B0CF4E35C4E05EADCF5684E34B7A646F3FCCBF3811790 +EE1B34FCA03BD9E6F65916C15C68D8E7B7D2306FBC705B90341415DB1262D49F +A6BB3BFCDA817AD7668A2528A76CA62AA8CDC02C9671D254B8427AA2F0CC354C +C9F2B673814A0637DEC6A052F3F279C23391148B4C9E761C5B811F89E737969C +79E7666282A91CF9D865F25A1EA923C85660404A914C90C9CA6ED4EA1E552BF2 +F03A64AD507EF630E917ACDAAF2CF94A6DFE99BAFB2309BF05F9B6CC991664E0 +C477E1BE53A422CA0C85ED03933D3B210D6716E50022E0BC0DB4E5D5030A9FDC +4DAE2DF78BF602F524F138F682A21CE9E1B929CAFF0F1006F289A94F5F0C9A68 +A2DBED5009FB809985FB0E9DE0A0CD342366A329B0FB96601624415392B0CA13 +F62538B0B96F27B6E24E8DF136800885C9A3CDD5615B8FA19529073873BC725D +DFB03865A17573CCDEE9572D13FD100ACA9EF2AAA0FDE0A60A3A219778146581 +92B520565791410F4E515A7B088C43D514B8B16BAE2A658E0AEC9E9A6E7849B4 +4051FFBD37916E095F56B93D56DF69B39B3AA423CF3021862F9BF963405DC9BF +2A13467ED56E1EB1A8A874BA6FEB5E9B72ABF43BD10C709CC687482CF96806CF +8BEFA8F7E7AD89186534A4795FA08224116ABF435509E9A6773F88589EF40C87 +7EDE77FE457008692EC223B98E0EF858DB4C8DFB275F6E631FBE611CF31D319E +C3E946180CD64A4D519BF3F311892C1A5462838271D03D5CE7C4960D675EC73B +18D41303945FBA3504E55798D86E174BA38DD8B7B1D4F23109857567256AD067 +AE8BBE62696CE29C95D4326E1BF4A5DCF73BC0C79E972518C558654D7CD8BDDF +67A3E799A95B05426A1072ECAA116CA332E1D611CBA90BBF9D15DA7739FAB50F +E31BB619F7513BC6BC72617923EE35A2999EF78AB74EF7B3DCF32A6286EB096A +920DA01F6DCF0693585165EA80543E74646D2DA147F9615D4914EB9690ABDE16 +92FD179A66FE9A0290AEF99733F5995943C88EAF7FB5F8B7E5CFAC2FA77EF9CC +4F678820742A36D2D0AE01F11652063457DBF0A4C535708D4AF777D37E5A33C1 +C3FBEE96010EB3112FADDE319A17ACC1AB36157CC1A5BA41B291CAFE448380FF +B11C7CE02791D702D70819E83C2ACD8939372B7DDD08E98D0F17940D94F825EF +F759BBF2BD70387DC2467AB0B21A536F5F50F2EE5368542AA42BF43008D17D4C +E9543A490AEA3FCB360B09198D649966BA730A06F8A2441F5408D5A7095B1A0B +545FF0CFC72E831EAE74B4E3656F413CCB92A778D154F74E05BC0C1623EC926A +E86BBDFEBFACAA94B9A6127CB16336EE4A412B32FAF19B7C79942A8A399D9C15 +A621EDED310FC33108673F0D6290FC882CE490FBF3FC65B26BF47A9FD3AF6BBD +13539E842F08928531CDCF19DBE2CEF56C1FE7F6F617099F18CED9AD3B3B7C0B +89DDD37A3CC1AEEB69C54C162ECCB17D73FA18405BD7F58B0E78021BEA22CB81 +1357F69CCACA5E090E658D1B6A826E621482991101CE50C62B343132BCA7E586 +ED3DB34DFD1562D7AC57A088375B145F7ECD54BEFEED6791C53B4C0F475C0B69 +F14A2196A701674C8845397E4BE0F13C66A2E28A98DC42EB96569E06F3D923C2 +18ABED5B8FF7B43DC738B9E2258D1C0F5A242350AFEAC5E95BD80C16F094246F +182C53E12CE7B880D1A252999C8EBC6014AEEF1EC179C1F5175A7AD8163ED9A4 +07BE5B2D3EEDEB61826EFE3D65A9441701A76BFB637E5D5053988903DEF41C28 +EAE257229172CE100FE8D5591BCF99F000C5459559B517D3818A9D65A94922E2 +CD5517C8A5927378B580C048FF5D5E60317B469F4EE7889E4461050F2AA1B20D +D8A2F241D25635F195218A37F29112C2DEAAC7D8A3B1ECD4A68FCE0C24CEC87D +CDE22DBE1A0A73614C3DB14066448681DFAEF8D35598C6AAA8F70AF07A7DF0B6 +100113490C2131D5613ADC8ABC12FAA531B3EF0A45D19C72D77ED225F361BC0F +86B70C9B531F4900C6CBB9500E532C5C50BCD2A1295434F1E763AC95E68D7C75 +2444EDA3C23FB50D2867CDA09A758D32E4E30B01EDBD02F917FED439D2F097FE +0BD6B387FF89CA48E624295F91D96D6370FD42AA6A0BE14666D791E088BECB57 +2A391A8E87F2C6E50D188475B74CFC4F5BD1ED8D1EC22791BD31AAB92EAD4DDD +C7E610667BB1ABF783137436279D93A71E565923296866F9704D97AEF3876367 +5A063F8CD68C9223B621797F7070D5BF6F743EF717E754F94D6EBD201AB0164D +C240049723150C45374BBA15E0BD104091781F7CB67852002D31644B12E590DB +82846375410D004AA8129575F45562C33862250858C46F72044D58FFED513301 +F7881208CAB4E4C4459CE16CFDFC75F768CA513523C6C2AAAAE41C0A219B06C6 +7B4AA98F92C074356298A588B571A0A03B566128C0F62ADC9663E0EA2BB9F686 +609BDF8D6EB178B00E121632620CB7331995A63551F8373A22801915C7BFAAAE +652D11CE7CAD9C7AB1CB646C605C6C4F2E42BCC872D94160024D4C0B2DBECB02 +25650FF58D1ACAE991CBB26FFB229D8355814F5CA8620C9E637F4A77AE88553E +E159519E232749E5D037EB2BD3DE28EFC4615515DE0F44BAABE6916F0FA7D61E +2C56F5B0DD6B387A7C160EE009302BD3D1925D6372BBC8D72344100641B9A87A +647386FC7F4A4F16CDCA462B9215D94E8C9068B760AC18660FA125B352FBF456 +C145C0DDFF3E4F6D2C84937AC82BB53D0DF720BB8E0EF59CA0F1DF1AD8A139C0 +92DAD7B59892303822ABFD24EA1A922B09F5B4344290B3647CAF6E7622583798 +3DAA4155916D90B1142F2745304C46BA7E3F98F1319A3F6500C402133D8CEA89 +A10360935E26ECDE1578D362C34DB7037FE312A5EEDC4054DB2CC52A88D2820D +C2ABA013AFD88CE47E09BAE8B40F7CA321DD86BAE6C82B919884C8B855D7F5E6 +72B791936EE754670A53E92AD0C74843D15445AF39B6C7C2B065ED1B3A29B81F +DFCA2F5D4191212ACB7FD331692C0ECEC8DC4F442A753F60024969BDA7E5A010 +3DB640453B353FCF772678C52781FD6DB32BAB10D6BC7DA3233D0DEF0EFB8B5D +7009EB3F58D77C0B02B2341FB3D485EC340E80C842B6E1EC4DF85052FB2AF512 +A48412CDA18DBBBDB5726EC1DC3D5838FABE8ACC5C3D19414DFCEAC70B857638 +5924531C3803BA645F902CA88F74367B09C70A1E8504F8A850100A5EB21ADE63 +3FB038C571150C9EBD3A75A2F670122E92855F6354919189E36374E91C59886B +22899897F868B8720508F9BD5A161797F61EE40942EFB26C155359D4A6B2314F +CCE8C7059E214534FCC40EC602DDD283B2A931B5CA1E873773637BC9863CF916 +1B7B36B008EC1BB562C4FD883A631598831B1559C5D77136AD03E94DCD9C495F +315470097E005FD022E53DCB7581DAB60FC791B4ED9C636E2DE5F5B22482374F +088736F9E02EDAE88C55C5CEAF21EFD64EE282AB84452A1319AA8DA3695B7806 +0ABECD77CDC40FBF7D9FD09E1ACEF73DE682447FA18F45C93C03E7D8A70135EF +2B18D6F397DD2885206DF5A8C52C89BD54B11B4F61376CA6D6342F44A57FBDFF +171548EB957EB47C62C9B78FD5916FFC8B2D9F9D4B744E3D7B784BE985DC57A6 +92352900DF235A531109372BBD46A8B862298EB6967829DC163E55CE85F0D8B4 +D952851ACA00BDCC981DAF1B15E5D53D29F55FFB46E81327ACC6C147B5627FCE +9989428A788A98DC4DBC9DF0904DBFF8DB4C6F0BA3CDE8FE3248F29EF8003878 +132430F063596E34424CECC9C9FF6985D4DB0786EA1CF7D0DB7099A3C4D5E26A +307080C45892678EA66C0A539C32E688222CA098EA3472814A995A5701E5307E +DAEB7C853A4B7B46F9910158BFC4B206F7E7CD0D9B5A1820773CBC23E6E43CD0 +6A4E88EF6F45285E85651FA56DA663DB16D356FEE528772A506397D9D86B3D18 +645D3FBC57199F8FE75913911FD64E03E24C6D0279718F7BBB0C8C502BBBA59F +9B2CC3C21FACD744CED42569A8841D3867CBEBF2ED3486F5C187583E0E6B5D5E +9441B9F0F659E5BE48A17B05F9D3D96F28D95D757BEF3CB83CDAE0E667F3F8B2 +42F4E6D5AA1511D320A2E1B96C3C7CC96A8737A70B974760159CE08941C3E06C +EF4B1F07AB12EAD4BA26C5C3627A231EDAB2197F8B0EB12584C9817D5BB6B39A +B415D59E2112DFC61B10A06EF9ED5252F9C0FF98FA4A2B49193F09F796BFC431 +38B88C7EC80A1E192DF7B6A0E5BA7EEFED908BB108AC20B5816DC41D57DEB1C3 +37E3BFD817772D44F7C1FC4F82F41685FE711220C8175D68F4C73727A6982190 +2894CBDA32FF2B70656B269657AEE710E75D8BB54659D46025405583BD30A344 +EB026D2DED75300342807E34D661FECA07A39F567E0AC9053B3DE8330E6FA84C +10A47732062EAD6DCFE4982DA630008C33823AAB374797946A17678938259C44 +EE9BD6B2DBB700BD2CE90B2407DD6F7B48A62D3A9DAB971477E50CFD4F4BC72F +5405120220EBCDFBF0034338D21BE2FEC949C90466E14DFDE981A70F2F6F26C6 +5F0A35C1ACDF277E7034066DE11C25984CB5511FBA51CA0EF84C1143F8CCB991 +116A2F8BDB68B1EC45CA2D0B3247F93B2905C146FB10A63104AD5F9C4B82C7A9 +5373F8783913A2F925B09245825E167EB08308B1691DF759C1E90FB2611AD646 +0F73248F56E90C86F99093486FD1B5736D4E0A6F880670C37F1AFBBF142C7865 +C846921E34887D57187F0828675AE07826351005BC73158A2BBA59F5E9614BB5 +B9E72334E760BEBF7E49E74F68525F9A017A34A18A1EF40ADC811DCA5D5835F1 +26132E606874DDC48E181F79D791DAF9B2668DDC6A833969FB573201E745DA5C +8176B641258ADC5990C82F9A9C8E6EDDD446843278A83BFD4300F749EA148A28 +1CEB260198F38A5090427A0052FC91364EE8A2DE0317ECC66F676E2F9CAAF3D3 +BC6E4FDDC0F31F9259EDA5AC75B969257E635391539330BF9AE0AF73738452D2 +6388C2975CD9727BF11E0C4E887511B0975F6813E77A08DD27826D609F0A2F12 +3FD49AAE57298D7D814409C4EF9C66F81A02BDF349FA0F4F8D46683A56165B06 +CACC0EA3D648B47D501AD15F83EA655D5261DBD832A6C7131A73F3A25BFF3193 +B9B37D19D2334F29808FE28BDF612DC38172E9F35CB9616CF9F2248B7159465F +FB90BB57BA61B00B4FC957644729F270FF485252643F9F16244BCF1178C7CA2B +CA532F178D44B8A7A47550BF1D1BD89C0A15AF41BA0735C486F61D5CDC421DAD +17ECEEE048CB89F0CC319D0C3809893E441F85E2635CA10A869BFEE0B753FD0B +C9849370A0CF1631DE406FAA5C4A9C97EA07608ED72BBE10D82C17CEB10BC478 +1EA17F6336A773CCF515287E9646695A6A27E84A3ABE2EDCFC49656008B951E7 +B3C0453409A7003D5E33F3CE248C108AA0553D8EA29F52ED17443716EC967F48 +D3C2E15470F048D317210A67916ABE50E11F6199D769EB5C78E447D9164BFCB9 +FA6565C7B3AEFA07018695F7D3D40868AFE8EE320D6BC24D55F972CA66BA98E5 +1E2149F7D205FBFF2E1C5EB06CB71F2F10A61DB1571726D0FC78F584294508A5 +844449982ABF95005A4DDFBE364DB40D81E573C937402ABC251B64F130BFFD0B +5EEC2B739A109B89895F8EF47F6F180A4423ADCA8738735D1287AE5EE35B0CAD +09086479AC06B5D0861D8EAFF2CB0EA7EFBFF7CA03CF6460DF5DC7FCD5795497 +57CC8EFEAF7AC8CF44670B8519825FA30825057A23DF1469CA1C14E4737FE199 +38064FF83880E04C863D4B16292084505129670B11BC5796C4F551770C2807BC +D5054771387B8FA34AB300BCA9447B952BCEEC98C72B7BA65504BF02BDAFE588 +0DCC68FB6AFAADECA915F572740233D78E6D3E652D6F8817B771B1E1B32BD1A3 +6DC2B632C92E6A2BAFD2ECC15F7316FEAB6229434E0FD979685202408F71CB8B +1201512A065271EAC2BBF1B479798CF2E3A05F05F21E123C5644F701E3113EAE +27B93EEA49A478484B91A844F9325CF0742AC676D55C9187EDEB708B4C8D1B1B +37EF1B96CD3B554458B840A8C384B89A91D53E0C8EB72483BBB08CBD9FDA0BA1 +4E124713C547E137E60B37E88AD35B0FB9DCF2A29B8E191A2D8CA785576AF525 +938D5D856049CAFD10E949CAD5F42A390045D90F2CC97C981D1FC272435374DC +3ED1E0E42C04E0984CA1E12960C2EC6BF263F4D74389F1761A6E87857967A6EA +16BB17A46D36F1AD4D8BCCDB8988795D00C76677DAFC702EE863AE02392A840C +03215E0CC08DC8385354022E7DD2923F419501297A3AB017FDA031D6616CEA5E +888ACFBD83145CB8205DB631E632822AEEA28585015695A4B206D98EBD27BAB2 +DADBEB6FC00C72CCA83AC401B367414306D36291AD777747A3C29E52992A8F25 +D3DE12A79EDBF370AD7E9C4612C665C72E57B612FCC81CA23661FDEB7159CD5C +1F159EB60B49085424F078081DC690399A5123240B698B7625AF0D34BFE324B6 +A24B1D95C4BE19428DCE545E7626705A7CAED84460B44256125B829098D97FF8 +FC319CD72C806D7BD7343ACAFD866D00AD8F5EA111E9089EF7902A56B7FFBE67 +F9BBE8853D1734D146AEC85E28D0903A94163C1BA0F0E5220558F85966B0B787 +3EBE0329D0E243970B7FA61DF295E8493C92B30B2F5019D4E4F2C0C775C25AFF +4F502727BAC48067217E5587EA0C6A24918AB20D6A7C7938380D1A342B76E99E +0F12B4C6F5BB424E447A26CDBE25766DB8A1E7E374BAFB4EA2DD58ECBF0942FB +6A54885EDA3D8CA43D8EB86A1DDC6572F468AFA03E20F0E882958AB7EA7E3ACC +8DE675B4C35F6F9052E7850E7205849E8505FBDB8168C26FD29AB6E849CF6001 +DD4FEA81FC83718F4C2F2BFA6E4C0C4FE66768B54A913D4A29499AE406B343BB +450B3D7029E6C578F523974353DE37D522E8FB091EF6106819675179FD6BDBDA +B6A42B339DCC43717C6C12C56EB5C80EE2A7AA2FFC8097EC905DF5EF9656877C +4CEA6360082D500D23BBB0AF4B4EFDF15A33360DEA36DD2591FB9DB7A1501A18 +6A31927BF5BFBA8FFFA22F9EBE0384939063BB305E307DDC3E595E525780CCC2 +D4CFFFD19EA9BA61E2BD6CBABD1CE52C9B93DBED0F486833E7A252D818EA8040 +94213BFF2DB659ADD126AD0455EE85936D6C02E67A07B163DDC10C11B5A42327 +50348D881F4005572D61CC0DC9510C958A153D6434363A52DB4CB9B9E56FA46A +0ABC1939A1FBD632E18C3D250798B27418403610477C6736004B1FBF6BE7561C +950861BB6013CBAEF7ACC21C7096DCB7B99E8F4E17815C5D40BCF2218248AE02 +086353CD1E8B0856AB31A3C2474326F14D0CA9F6A0C52236D9FB89EC842DC8D4 +4857B0DB7F37131137AB222A517CB80C671CFF8A9A5889C8BB2ADDFCBDCADC06 +CC2BC3540F12169D3C46E579E6185B218228603A4B3FA8AD8E840C3761C61217 +8861458EC8BF163C492B748FFD349E00996B78705D9DD932D6CCB6FE7D7B25C5 +A92DEC2C6B950FECB4ADF57C5A95BF7ED12E431787DD29C6D4414FCF3C4E360A +31E19B37E2722A94BCE47087C5E1845929FEB43E73D3EDA981A0FF9C0F757042 +48F6912DD892E2CF8880A9D1B19FF0A197921A2DC12881E913A4C7858A3B3B96 +E9A4DA7FF3598E74D74B04B5F2545DB3B1D84E86E26AA8396D696E667C2970A0 +DD9978187C583D415AE00359BBDDD7109C15547B9A56F978475531BE02542924 +65D23928DEAC21CC7D0C1E1B1BFF850ACF80E629EA46D71FCA2809061C61F65A +B881D56F270E8C776983E3CE0271E3F502818DB1E3EAF30D0C98BEA340673FBB +23CD34CA17648735CD2A532A8B3A530C3E523CD013151B75FF664463DCB0B388 +BF60CD928E28139A13575635F349BF70C798D0EFD52011E75A7B3A2841FC3D72 +65EF0CBC6286367F1F4B3A7EF9F1F4808954E6D973ADF0CB1893D49B47DBB0BA +AD66EA4E84BBC2F1604FDFC7C9FA0E131718053BA1BF946A6859DE3E452E05A0 +0E179B5F1D03659522BF22518338B6C98397F040F0E93F8E6A463D7D504D3690 +142E26C28172E8DB43E5DC2D45655F7D05D999F32B6BC9A9D0C89041C2031C32 +C54C4ECD75FF3A95B871DA7155A73C3B2FFEDB148FD851AD87437BED46C10E99 +0BAED69E6900AA9F66D77F30873A508C6369C4F898788F8204FB5B5EEEC4068B +2C58510223C6B23B668204B2423FE7146B7C5314969349CF72F100FEE07D4B8E +9AF97E9B7B6EC0894C6E81DE8EFBBDD37641EDDE1D241E4C4440CC91F8E3E3BD +E70703769D9AF7227E7A16BE76336B46DB6573D0A195837471D18666342990BA +4465913A45DCAB6420462C5FFB8BF1E546D0C5B009ED19C8B11F5E5D7A41A3DD +4AA97192A047F29E8C8A195634E4778EA5F16472542D9A0B24C8741F547784B0 +3CB68F42169804AD537C0884BEFC4B5C0953A11F050117C86BAD3F5E151FA668 +D83B462FC0BD10664F0962D62E31E163FBD8FEDFA0C300994421E54A9BDD620C +42ADE78FED182C26595F8CD93190C4CAC7F46D7432B635725038A4FF6DCE92C3 +9385912E24C214AE42D5C72EC74EFE2017D4428F4961D416454F41738A6C3D2B +4B59F8F915D7A5E03B6A6A9B982CD07BEEAE7760872646776324BA25AEDC88A0 +38A730B1FA17BE4BBAC909375FAFF664BC811439F269CE71B92CE5D30FA255EF +5F5CD5ED0393DDFBBCA2C4008A6D58A1E470EED8CA803E56CFFFCD581793CE83 +1D49557CB4F47FAE9CEEDCFDE140E70F70D8AAB8B4A851D01F219538D8185042 +46E442E90954118BC348EB5896BB31B185D659503B9214885CC2600719EF8F58 +F006E2EC11EF22C286B7F058E8F4535D7EF5F3B674FF0F5B476E8D75001ED67F +48029504CD633DDEA56FC7750A9F9D707C9D3416430C210089F60B231526F4F5 +3962D40FD4C549EB4E494EC03DB95DEB23A6CBF25DF58F1327470CE13B9001FD +04467E3C1FA4082DECD79B4CFF71E9284168794F2151C1BAFA164AD43CED97BC +A410DC015AD503B270D81AEBA9A963CDA9031FDAE6B51F0C1F3606A00215719D +477402DA2B221AA885F6351EE8C4B17876409ACB320444E69B0DBDE6C90E4D10 +2F72593F2C36ECEEE2F293DDEEA74CE325E806D825F94B4280E94B8F5803A7A2 +3A47DECA7E1175BF08421112A67C59C1187570DA6B60528565F0AE1F9810AE20 +E9A0990380605E0C186092B7F65E9C0F1602609DD44A8BC80376EFA0D406DE98 +DA5E4D2BC78E67543927C6DB57C5C480CAA6D5D81041432F3EF05420341F369E +499C5245507A621789317DC4C294265DB72AF96C7FE3825DBA6AB5C96773F1EB +203AA5092F63C0DC5C8D47C28F86C5E41B280C77A8501F529B1AFAA5B1C64031 +DE2E70D75D8A471E16EB1660D64F8F1000173206D82C807A7BCBE7C318934315 +EED4B9B8403A58E18C1D4D7250FBD8DC638A3D13D1ACA9CB71D805D4809BDED7 +8F8732ED4C08DA5D6F705DC510892EBC39EB623095D6D7CDAE7FD01A9E4F3A63 +64BC83D0DA24AA2333F473ED023CF9189EAD1BFFF702E0B8E5BC6F6484B6C77F +E79842C4F56244E6A5816F0C76A4210F2B9A81E367A7B02CB683C6A19DF10F98 +DEB661CF23424272183272EDFAF0871EC214A6261A93A7C8F9CD1C08CBACD9A8 +048961430AAEBB34A5EF5C0E321CD6C2B0AF1E3D81A8153CCE16C87CC7A24585 +62BBDB75E14CCC4EC692749432A52FF9827F1CA8ED6F47059CEEBBB945B701F8 +7ADE1DAA3C6FB9F3E95954CBDF0883BEC86A6F63C4A794634F503750B169A642 +3D73762550A657BF8A5B6388E41E7C8136062EE343EAF09C07FDB04A9972A91B +6E9B192EF143F9E8D111CACA0540CFB62346A23938314B9EAADB27D5879E9376 +DF4465948BBD6B1E845C90518802D5389900E1B98B68DF86066A90C7EFBAB98B +58335EB75CF3E0572DE2BBA77E7F6AF3E199842DBBB7060ECAD3045E834E1BD8 +64BDED3FBF9306C2912811E237FF9D6CEEE5278F6613E371AAEC15620C4A2A15 +22150F8B1B0C81F9A18D49B2684640E7ED5CFBC31357A236FB1942982EE96B6C +E3C54F03A25C06968A53CB9D7FC3AE8C5B917BF33C2D4181280A0242E823E2FD +DDE615424F9A3FDCCBAF420542AC90A4D9856BD2C6371F75767A6BEA4F861909 +1444B6A5BB066C63E46B32B55F2D26B97D074661CC54BA96497B226A353CE86B +62D435CC24BAC65985A947BC16218E15579F16FC8DB371582A15D3E510558BC7 +EE6169F2D9D239F40C010AD8EC8EA128CE416E21637174D34F651E4DE30A024E +0FBE8B5FEFB5C89772D5230B3AA652D6778299B048C4CB5D68455E18B66DF0AF +851DF300836E15EAE115DBD03DE42716281E531D5B6994DEBB0897B97D21ADE1 +49F76FB3DF0FD481B322E2F3CBDE64B16BB7FFF8DAE55923757F1A65FCF48F36 +E51BE3D300E0D251BBD18AC914B242D71E491F9CB99AE0909D326AE17D9D94F6 +6F8CBEC8421AE9941069126986D9C26DAAA474928B2BB477D14D7CC7A4B3301C +A9B795626F9FD0BFBDC870275229C5E67451D37BF4BF92090A5571158169BB81 +D3F45B9C6D65E3DB921ACBFF42885AEF73285D3BDB6FB4B9B8C8864BE52156B5 +B2F20F8627BBDC08D8AD002440E47A2C96D79240147936CEA7CFD7B09027FAE2 +60AB5109DBF7059DFF4FA0D8B8EB06DCC73A1D1405FC19CE7D23C18CF6B353F4 +FBAF8AEC7E36B738F6B1CCD05A0B9C9A4C13D060273DCF6D39DF922B3797DCAC +876E0635F4D60C3D5A5DB9715D09CA2C6D0D16B62B747BB8BFA0580D0BFC0469 +3D78A9331EE1C9E7D5FEB03C241B47C60E70AF08FCC5A37CD973B4C6DC83C6B7 +0D4BBA368135DB44092579F9FC257EFBC1CF7D915FFACB222D06C52E4E927178 +80EEA6947B47345342D24FC41FC24A90178BD358759247F8102EACAFB14F4BEB +256AC2EA0E6D3446B1F1DB46922790290C38F16317FEB372898EA0854C333A01 +6A43B3DEE51F5A114B90B421C4CF9F874C8AE2CEA867C7C7A95DB46C30C1AA49 +6FA9F53DA9825F54B6653E509A079F2FF1C3615F0F34D04EC75EB02BF0ABF364 +12FB55935F20A858F30F7C86974A3485927694695DD500607183FCB73F1C3428 +C9C24FDDFB844232A43D2C596605C70C9F0F14DE98F222CD610262EF9CB6AD1A +41FE3C37051B2E591A879AA425118BFDC89B41D42E97EF93FD6E50A82B7F82B3 +267FD63506A2208D35FA855BED185FF6ABD8C5B5BC833D5CACF9C71AA6AB3DB4 +992C5BE71BB6DC0596ABBAA03F89A4FB0D77FEB283CE666DABC4AC06741D8B76 +05E80D80C8D95A5E340B8A23733960DC9283ADCBA0C75B0E78773B198C5A37E1 +27B7470CB6E15CE19E890BA07CA1A419F1F5FCC5C1CB6AFD5B530BA03585568E +11063A0050CA5E8F3DCC804E440845869689478CE1D7388C4EBEF6FDFD245810 +AB2C5860CD320AAB722534AEEB9E3483329BC97B693DCF7D3AF4D29E08E83F0F +A487B723EA2ACBA403B03F3D17F8380B2CCD6C269B6D201E465973BD821ED5AB +BC7AAEB05418DEA87619D40F4B1CD70E951CF7AD151A9B8B1A127871BFEB6997 +8A90798D6D075F8C74E1D3375A932A3B57136131826C83F2B4B4159456BF5DE6 +ADBB4EE690FFD3F2D760310841CB6C21509871DF6CC08409617AB94A32FCC617 +632E3E8C98B5A2B3E7B4169E53C3FE3966CDDB526EA5A18DC4894660EC1C4FBA +25BDA925174892535C368720C92C0EDEB4A245065266674C033D90D52009F5DC +742F7289F36CE321838680EB9F8E667234E802E6EBF61B60E526E154F2BF3A43 +4925FD043EB471476117D86127AF7894C44DA04EDF2BACA67120DA53B1A116B2 +B9BA47A8193D791E951735E33498D8C705E67E2986520D880110D35C0566FD8C +EF860427BF833331A7DF3F7EABEE61E25B667BB6A4584AECF704B45F24587AEB +B6DB1D7B6972FB4B4328B2160A91199CEA30020FD62EF0337A4D4F10AF923EC2 +247660A5AEC4D22E976972C71EBE9FD9CC9988D2E272D8FC20E15C68E9CF2621 +4778CD8C3CD42235F7FB33D3DA71F5D2C5CFA17421AB95587919AC1BA75C85E5 +E459C9AA3DA52A0A8714594BE4F2AC32599DD6C3FA3340DBCCD87B8E7D567595 +14E3D254F660EF2C5EAB9373F33395BD7327777E3DCD4A11B7BFE54CE272439E +E2BCC6F8EF22672F81F20318CA95FBD8ADF3E18ED04A4E73C9B32EA493317B99 +E7680A397A72692D0AB3877CEEB916F8D7D7E7B40D97E449F76BF4B1FDDD08E5 +DE37609896DEBDE25CEE302A509968144061ECBB277142D3512485D11003E3DA +D57C8992A310C2968CDBCB65F3D975EC5E3685F0FB2D24B8E03774CAFA785BCA +F6AB8F5B958FB630B7DB2EFE66EC1C446E5EBF86C0F02EB9A96E582471E48BB8 +68AAB996C02DB531A45FD3AF2696E0A459629041E80D4B25CC6C9F60B5218C9D +2BD697F050E194E664AC1F229082656351C8CBB04F8DE1584411800C19261918 +FE7BA5FB2E4C02AB650D73B4A62E41C15D4A92EE8221C51A7C6998CE99BC505C +DA3F3F384215CE8EBD281393E8EFDB9EF91F03EC00DFFA1B2229D70143981563 +4B52A88FC1378607096431F6B8E1DF869CE2FBF2548B6C1A9D5A4E40821E3FAC +9B15907958C13AB21017A3432D57A0190FCBD86287B5E2AF6DAE27E5F34D9EA3 +1B8DC48F1574D9484951F76BF3411788428D05874F0AF0048192CC05CA43EF70 +E0E1358BF692F8B420358C131E06E33394317AD867CD47F5B91A075F5B72C49B +DF756D282F3702CE9F03BF86CFE4F51FA00D186145C002F25D4F897ECE7986A0 +5308DBB80B40B71FF4B776BB4B3F82782A76EEEBBBFC3278DA716868DCBC097C +D3D3A37B935809D7FEC58B537799E1527E7F0094B11490F9999D23D73C129A0A +7048D4CBF9226064A31B3ADA9C19254A20DD1BFACABAF15B3DDB06C4D7E65591 +3624A68A5559C9BA94E47BC2C08AB8C6FA3E0A2494EC8B40F90E0CBF14E5076A +CB91AABADA49BBA79CE47E70955200256475BE67352A65C75292AA82FC3998D9 +DB4D7E5366138B7C516819F0EDDF92351FE34CF73011FD339B0F8380B52D7C9F +B7EEFBEC433B3CC2EAF0BA105559172088AC7BEBED21F2243E7FA81C59554911 +08E9304C1C252908CA315F95A1A896C0C1F782724D3716D3236DDCB129AC356E +06E4043FC93CA6BE977339C6527B4EA54EB74E89CC4E8D42F3AA2F7AA5BD9D3F +B7FEBDC1F174F5F594BC6AF14C89ACF1760ED6F173759AFA80476759CA2E7E80 +6BD05284C63764047A0AB8A545C67868236411D96751FDFFDD4990324951E071 +7A8E17659FCAAE93DBB7E387569959C4A4AE5F069207A13E1D1C7F40802A2D0B +8B3DA376E109A1AA9A428F23B0F9B99650FDEF28AA801C1F9B7291D47880444E +7EE09C0920ECD434CFF5B851A343BB70E2CFF06854E78A1F92CE831BCD253713 +4A92308D405B22D204FB7139CDBD1B14946F2CCAB6242DE87C5C7565EB1C9D99 +85CCA6865CFCD57DAA7291591A202492CD863A98E17F9AC2CD9867EB827E70D6 +B8B81A6996ACE08112BF38BB07BB78C6C879FCF709F8D94729D06D3BAD9CBCEC +E85E1A08576B1B4192FF26B6F923D08EAAA58EB670D84361F9688229A9F103CB +1D43978B1B067FC31CA0AEA33B5B244D7069C29B6BEF12907A78ED5128D678E1 +67C39DEE6E9BC38E134FC55DD7692F5219ED04924CE8163CC566BF6D6B331456 +4047FA2F3B2C10D95F1BA5E7E527C539144B135D3DA214B88DDD2B024E6F8F7C +D943E64B6097E559B860E235E2CD13395DD7177D7F93070B8C8EBADCB127162C +CFEC2895632A15CF1E55A525D342F96B023648E8C5479C6AA0A9BF9729DF2E70 +DC54A2A26B1DFE7BC7669FE938FFEB7582386FDB2104E6A19042FE6DDA8F9850 +D5AAD74050D5318F0F8D4D750A4492B50C2AA395795CD635C8A914B707B14E35 +844DDE1DF2912ED6B078D2685AFFB987D8C4D86A9DCEADDEAE4DA772B947299F +E5A438058A936C0AF23106FAA82C9D8BB8D414EC5371A2AE978F99513B7DD837 +A6BDFF5551C9467EA26AA91C3900055EE65185DACE0D675A8BD6C9D4BE4B006A +FE0F89713E038B7372A86D4A40532D6AD87D2FE7B62B3D2EC605DD00377A55C4 +E8392D8D3ACCC84664AC3E30C18D8C486E8C502196F4A36226C1538C4AFE302B +846F2A87AF880514CE1CEFC5973FEB9E9A48C4E356EC79D3AC1B714E23B7562F +AE7199C0FA5345D37ECB4F371BA123B67CA068CF67BBDA93268F4E08A5427FD9 +0ECF6B33837F8A4F42B37530FA5AFFF10D8D558C9B55A930CAE49172A6D36079 +3F952690DC1D987F2D63015B3DD6E2642B97D7175E345E299FE57C3AF1E83E02 +B34BD8A4244D95F7CB1AE5D501F358051477C15E534FCFE4C637E316E5701EDA +1009743C789B2FD633798171F4E88DBDC447ABFC9C32701527F34BEE07FFDC36 +003856BFA9325A4F7D1611CC5B36A4D7604484471B74EA3D8D5A28E9DE243332 +D3C6146772D773971E5BB3CA34D8EBD37C8F435B0BB57AC9352DFB3D09BC2C92 +E9081DBA9D8BCBEBE3C2C42066DA13188A5DA5939BFA435FE5D2CD8466EB0EAC +4F735302C75CBF6ECC96969E3AB91593FA24BA117BD0BED4E3F9A51384A5FBB0 +BDCC7A14B31D8833C1B796B8667FAE8348A7589218988BD4C2094B1456099BCE +0E925A5673C13BEF4F1D91A72B00B75524E9F2B6EEE39EDCD8436A239FD6194E +02AF04CE213AF8A4DE0BEBE6103A1CA891C90F1F79E34E8D7217B59F1F8A146D +94017DD36B2610883692D55453BD9300545764CA404E3699548992C65226F772 +19066C8DC53B6CD2E378C0773B10F16FDEE74FFD370EEC6963762A9EE64FCAD0 +D793878A07386CDDC0B00A6E3500D50536E7CEF106105AEB4F7FD391C7825C96 +3D1492F6B4431AA74736462D14F63CBCDA4CA2808E3C55BDFBE668F6B1AE5F01 +4A4B8A8EA303C345CA242F0D9CC02F1BEDE134C6B4FFC0231CB3F16D0F5ED86B +56A2D04CF64925215CC4DF3B51F59F69E99DA91BCE06D02872A60E8756EC89EC +15FDA8D54067FEAC2E07483F66B00E8FBD5BAD31BB3DA45A549B205B2525BB6C +74B4762CC4AD3BAF05C4A1A23B50BB22EB8D88603B7CA3052F83FBFF2D7E49D0 +438F3810F8076865973D1A4D2B06F3FC38498935E6CF0DF4DEEF6335403E4748 +611D63BFA4273A823E027AE5868907BA7124FBDF11C4E30446DBC2346B4595BF +2CE8784006D1AD74432F5A3A1E5A7E6E69498995114830D4C7C9057B0AA4476C +A9F5F44B45861ED13CF485B3CAE0E0DA24D805B5FD78D96064EEECAD82FD881D +6046574FB32545B5B9D65C46C7605925054241013115C1B0D112DABDF00B45EB +11CB82077372FED9B125B9091129BEB6F8F71F093CDCC5F3ECE4A9D33B55803B +33758CB9F82DF01DE13A7E8C800BEDEC6840E37AF32B40A412F6DFE46E9B0469 +F96589AD547D14F75F9B694071F1F6F7A459EB8DB009B26B9DC8744E250A99BA +EA1421504C17BC772862BCE3F07EE747D57487DC8A611FEB526095B872A10902 +6839B37E552D2C798F761EC0F1698AE49FD98B8CCE873259B911D61724EA6C5F +5AFB0E44655BF454D1D35936638684A5FA041CC0E1884E362ACBB04BBE704282 +86E87C674245143F5E35B598F431EA3DCCA443318EFB85242AEFABD64B8F1A21 +CA7B1E372748A25ECCA6DED3A7E81737AEC77561723ED57A7006F96D17B8385D +91BBEA3A651B5644FEF22A577543169056230A6FD1651EFC5140F2FDFDD1B417 +4B458D312D9B58176403D160628EAA9E99CB5CB7658DBB9A2217CFF17A3F5761 +39C720A5924739EABEB75FA12277C5389166FE5891B484C4F3317B2513FF0EEB +18DE6D8CCF1306FD85C5C19D47C1C36BE1BC73957F8291A641E39877F3ECA3F8 +25A539CD09D32741C725A7F7520B288670AE6DB55BD2879005599744CB54B1BF +8759C7EFFDAF992F557C13CC77A95FB0778628713ACA9A1A4F0F9B5304A2E828 +43F6DE633DC423B4AE3AFACE6D08A2CB7BA7CF2A0AE3D52100A3090637B446B5 +3D69CD48477185434B35884FF9A965BC434A6AED30C26537E14D7F5E27438F5C +CE5A8F4B01B0375092137154A9937719C3D6874C9D1136DC203C1F5811BE4C8C +9E10437D27586D4FD8B4A8146B0C96A4F13FF403188A9EFA26D0974C731CBD7C +143B1AF2EDBD2A87304C5FA205D285D324BD21C1B8CACB4F5AABDCF81186B08C +19A8FCE8F94CED88BFEACF2A6E237BACEDECE38B60D581CCB5B5B5D86DB88486 +0123DB51D12D11E49379765CC5994D16666C886D18A8D44DD3EF0235E14156EB +EB767237EC9A93606E034375048396DAACA3D20F55666D0C1357222572E72404 +163C6F5F398A73ED1395AADF530282D61879A6DEA51473A286EA7F6243CADAE4 +BA9342FBF4A5248C1915590189A4616A3C774304B6E88FDF20930552BCC493F5 +0FA5DF80C3C72608D532F4F5933A225DE0F261A1D33D866417E49DD3C5CAA669 +853AFB20D792FC6BA87A46049621030AC1B7176156B1D2F49A8DB24861C14445 +4E528E2653D4E4F41681655CAF55E57A8C1D27B60ACE5AFCFC0EC8839CD99387 +880E8CBAFA86B397E8E4B6B286A8BB53EB55CDEB3F8A238B15A3C1E5BD457450 +E3DA8794F224C8EEE4A09CA8567A4E71FEADD076E0CE221A4834B817A5F5517B +5FAEFA742EB1CA422822BB178B19225EC5B90387929145F7690A2ABF9043E595 +E67E23C9482385C17038DC83B9AD1EA4B0D5E0E0A9BAF8355EA256808B55366E +FA65F8089A406983191238BDCA8F61C732D99E204CEFCB3F344BF39E240B8457 +5A6204C0257753542985E7AABE35B01B991AE9B4B10E87B3FC44BC3A14479902 +CFA8572E0D255269B7ED30FCFA1023B8A614586C5A2722EBAEB9DB53E87BC93B +BDC9CABB3EA3BD4938893D2C8F2A198042744213F419C5571540E96741435FBF +6AA57E260D84DCBE3A214954028AC1ED4DB2C6DE2DBF14A749647E1641A7863D +B91A9801261731B65BDA550A199941158AD9827527B9D37464B8614438AF6008 +2B285CD83AF213BC6AE6198208BE43540B76165A5D5617C01CA772BBC98F9C30 +52E67F6E25F7192D36A130AC18B71E38D20A724E28C109FEBA4A3F1D677C8B67 +42F22120C99FA00FC0122F18ABCC0D24CC32B09CA42D428508AC63E421F9C0C0 +87D277AD58DADEFDC187ABC7D79F8504DC1113D70D7CEA1B4783AFDA128EA7CD +C7860C3ABEA3BB53D7AD6EA3C116756E282C509058D599FC34B98F7022CEE941 +7108B44C0A6AFD98A6E79109F8685FDA6C2AFAE11BE2478FCD4E14BE04A19DE4 +822906ED944EDB5B532DBEA395A09C7156E45505D43215863F63B635C5A30F6F +C7E316DA9650D9B5EB90F6A45E36F2D2B2CC89E18A246FA7D391A7728D51B18A +D4C92D0E97BC88A78D5F3F5107938BAEAFADBE744EA9B9921177C86435A6475D +5CB3F71FFAE0132E0F288BD509993DBF5C35A5C3B87EAEE7D3ED71B73091562E +45B022CC7FF481142E18A8D98EFE703B4AC8904D275B08E51FA \ No newline at end of file Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/text.ps.gz and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/text.ps.gz differ diff -Nru shared-mime-info-1.15/tests/mime-detection/text.qmlproject shared-mime-info-2.0/tests/mime-detection/text.qmlproject --- shared-mime-info-1.15/tests/mime-detection/text.qmlproject 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/text.qmlproject 2020-05-06 14:11:14.294907300 +0000 @@ -0,0 +1,17 @@ +import QmlProject 1.1 + +Project { + mainFile: "text.qml" + + /* Include .qml, .js, and image files from current directory and subdirectories */ + QmlFiles { + directory: "." + } + JavaScriptFiles { + directory: "." + } + ImageFiles { + directory: "." + } +} + diff -Nru shared-mime-info-1.15/tests/mime-detection/text-utf8.txt shared-mime-info-2.0/tests/mime-detection/text-utf8.txt --- shared-mime-info-1.15/tests/mime-detection/text-utf8.txt 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/text-utf8.txt 2020-05-06 14:11:14.291907300 +0000 @@ -0,0 +1,2 @@ +some text in a certain encoding 1234567890. +some more text with non-ASCII: öäüÖÄÜ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/text.wwf and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/text.wwf differ diff -Nru shared-mime-info-1.15/tests/mime-detection/tree-list shared-mime-info-2.0/tests/mime-detection/tree-list --- shared-mime-info-1.15/tests/mime-detection/tree-list 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/tree-list 2020-05-06 14:11:14.295907300 +0000 @@ -0,0 +1,15 @@ +# Supposed to work +image-dcf x-content/image-dcf +video-vcd x-content/video-vcd +video-svcd x-content/video-svcd +video-dvd x-content/video-dvd x-content/audio-dvd +video-dvd-2 x-content/video-dvd x-content/audio-dvd +video-dvd-3 x-content/video-dvd x-content/audio-dvd +video-bluray x-content/video-bluray +video-hddvd x-content/video-hddvd +image-picturecd x-content/image-picturecd +software x-content/unix-software +ostree-repository x-content/ostree-repository + +# Supposed to fail +x tree-failure x-content/image-dcf Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/TS010082249.pub and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/TS010082249.pub differ diff -Nru shared-mime-info-1.15/tests/mime-detection/upc-video-subtitles-en.vtt shared-mime-info-2.0/tests/mime-detection/upc-video-subtitles-en.vtt --- shared-mime-info-1.15/tests/mime-detection/upc-video-subtitles-en.vtt 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/upc-video-subtitles-en.vtt 2020-05-06 14:11:14.295907300 +0000 @@ -0,0 +1,33 @@ +WEBVTT FILE + +1 +00:00:03.500 --> 00:00:05.000 D:vertical A:start +Everyone wants the most from life + +2 +00:00:06.000 --> 00:00:09.000 A:start +Like internet experiences that are rich and entertaining + +3 +00:00:11.000 --> 00:00:14.000 A:end +Phone conversations where people truly connect + +4 +00:00:14.500 --> 00:00:18.000 +Your favourite TV programmes ready to watch at the touch of a button + +5 +00:00:19.000 --> 00:00:24.000 +Which is why we are bringing TV, internet and phone together in one super package + +6 +00:00:24.500 --> 00:00:26.000 +One simple way to get everything + +7 +00:00:26.500 --> 00:00:27.500 L:12% +UPC + +8 +00:00:28.000 --> 00:00:30.000 L:75% +Simply for everyone \ No newline at end of file diff -Nru shared-mime-info-1.15/tests/mime-detection/Utils.jsm shared-mime-info-2.0/tests/mime-detection/Utils.jsm --- shared-mime-info-1.15/tests/mime-detection/Utils.jsm 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/Utils.jsm 2020-05-06 14:11:14.163908000 +0000 @@ -0,0 +1,498 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +'use strict'; + +const Cu = Components.utils; +const Cc = Components.classes; +const Ci = Components.interfaces; + +Cu.import("resource://gre/modules/XPCOMUtils.jsm"); +XPCOMUtils.defineLazyModuleGetter(this, 'Services', + 'resource://gre/modules/Services.jsm'); +XPCOMUtils.defineLazyModuleGetter(this, 'Rect', + 'resource://gre/modules/Geometry.jsm'); + +this.EXPORTED_SYMBOLS = ['Utils', 'Logger', 'PivotContext', 'PrefCache']; + +this.Utils = { + _buildAppMap: { + '{3c2e2abc-06d4-11e1-ac3b-374f68613e61}': 'b2g', + '{ec8030f7-c20a-464f-9b0e-13a3a9e97384}': 'browser', + '{aa3c5121-dab2-40e2-81ca-7ea25febc110}': 'mobile/android', + '{a23983c0-fd0e-11dc-95ff-0800200c9a66}': 'mobile/xul' + }, + + init: function Utils_init(aWindow) { + if (this._win) + // XXX: only supports attaching to one window now. + throw new Error('Only one top-level window could used with AccessFu'); + + this._win = Cu.getWeakReference(aWindow); + }, + + uninit: function Utils_uninit() { + if (!this._win) { + return; + } + delete this._win; + }, + + get win() { + if (!this._win) { + return null; + } + return this._win.get(); + }, + + get AccRetrieval() { + if (!this._AccRetrieval) { + this._AccRetrieval = Cc['@mozilla.org/accessibleRetrieval;1']. + getService(Ci.nsIAccessibleRetrieval); + } + + return this._AccRetrieval; + }, + + set MozBuildApp(value) { + this._buildApp = value; + }, + + get MozBuildApp() { + if (!this._buildApp) + this._buildApp = this._buildAppMap[Services.appinfo.ID]; + return this._buildApp; + }, + + get OS() { + if (!this._OS) + this._OS = Services.appinfo.OS; + return this._OS; + }, + + get ScriptName() { + if (!this._ScriptName) + this._ScriptName = + (Services.appinfo.processType == 2) ? 'AccessFuContent' : 'AccessFu'; + return this._ScriptName; + }, + + get AndroidSdkVersion() { + if (!this._AndroidSdkVersion) { + if (Services.appinfo.OS == 'Android') { + this._AndroidSdkVersion = Services.sysinfo.getPropertyAsInt32('version'); + } else { + // Most useful in desktop debugging. + this._AndroidSdkVersion = 15; + } + } + return this._AndroidSdkVersion; + }, + + set AndroidSdkVersion(value) { + // When we want to mimic another version. + this._AndroidSdkVersion = value; + }, + + get BrowserApp() { + if (!this.win) { + return null; + } + switch (this.MozBuildApp) { + case 'mobile/android': + return this.win.BrowserApp; + case 'browser': + return this.win.gBrowser; + case 'b2g': + return this.win.shell; + default: + return null; + } + }, + + get CurrentBrowser() { + if (!this.BrowserApp) { + return null; + } + if (this.MozBuildApp == 'b2g') + return this.BrowserApp.contentBrowser; + return this.BrowserApp.selectedBrowser; + }, + + get CurrentContentDoc() { + let browser = this.CurrentBrowser; + return browser ? browser.contentDocument : null; + }, + + get AllMessageManagers() { + let messageManagers = []; + + for (let i = 0; i < this.win.messageManager.childCount; i++) + messageManagers.push(this.win.messageManager.getChildAt(i)); + + let document = this.CurrentContentDoc; + + if (document) { + let remoteframes = document.querySelectorAll('iframe'); + + for (let i = 0; i < remoteframes.length; ++i) { + let mm = this.getMessageManager(remoteframes[i]); + if (mm) { + messageManagers.push(mm); + } + } + + } + + return messageManagers; + }, + + get isContentProcess() { + delete this.isContentProcess; + this.isContentProcess = + Services.appinfo.processType == Services.appinfo.PROCESS_TYPE_CONTENT; + return this.isContentProcess; + }, + + getMessageManager: function getMessageManager(aBrowser) { + try { + return aBrowser.QueryInterface(Ci.nsIFrameLoaderOwner). + frameLoader.messageManager; + } catch (x) { + Logger.logException(x); + return null; + } + }, + + getViewport: function getViewport(aWindow) { + switch (this.MozBuildApp) { + case 'mobile/android': + return aWindow.BrowserApp.selectedTab.getViewport(); + default: + return null; + } + }, + + getStates: function getStates(aAccessible) { + if (!aAccessible) + return [0, 0]; + + let state = {}; + let extState = {}; + aAccessible.getState(state, extState); + return [state.value, extState.value]; + }, + + getAttributes: function getAttributes(aAccessible) { + let attributesEnum = aAccessible.attributes.enumerate(); + let attributes = {}; + + // Populate |attributes| object with |aAccessible|'s attribute key-value + // pairs. + while (attributesEnum.hasMoreElements()) { + let attribute = attributesEnum.getNext().QueryInterface( + Ci.nsIPropertyElement); + attributes[attribute.key] = attribute.value; + } + + return attributes; + }, + + getVirtualCursor: function getVirtualCursor(aDocument) { + let doc = (aDocument instanceof Ci.nsIAccessible) ? aDocument : + this.AccRetrieval.getAccessibleFor(aDocument); + + return doc.QueryInterface(Ci.nsIAccessibleDocument).virtualCursor; + }, + + getPixelsPerCSSPixel: function getPixelsPerCSSPixel(aWindow) { + return aWindow.QueryInterface(Ci.nsIInterfaceRequestor) + .getInterface(Ci.nsIDOMWindowUtils).screenPixelsPerCSSPixel; + } +}; + +this.Logger = { + DEBUG: 0, + INFO: 1, + WARNING: 2, + ERROR: 3, + _LEVEL_NAMES: ['DEBUG', 'INFO', 'WARNING', 'ERROR'], + + logLevel: 1, // INFO; + + test: false, + + log: function log(aLogLevel) { + if (aLogLevel < this.logLevel) + return; + + let message = Array.prototype.slice.call(arguments, 1).join(' '); + message = '[' + Utils.ScriptName + '] ' + this._LEVEL_NAMES[aLogLevel] + + ' ' + message + '\n'; + dump(message); + // Note: used for testing purposes. If |this.test| is true, also log to + // the console service. + if (this.test) { + try { + Services.console.logStringMessage(message); + } catch (ex) { + // There was an exception logging to the console service. + } + } + }, + + info: function info() { + this.log.apply( + this, [this.INFO].concat(Array.prototype.slice.call(arguments))); + }, + + debug: function debug() { + this.log.apply( + this, [this.DEBUG].concat(Array.prototype.slice.call(arguments))); + }, + + warning: function warning() { + this.log.apply( + this, [this.WARNING].concat(Array.prototype.slice.call(arguments))); + }, + + error: function error() { + this.log.apply( + this, [this.ERROR].concat(Array.prototype.slice.call(arguments))); + }, + + logException: function logException(aException) { + try { + let args = [aException.message]; + args.push.apply(args, aException.stack ? ['\n', aException.stack] : + ['(' + aException.fileName + ':' + aException.lineNumber + ')']); + this.error.apply(this, args); + } catch (x) { + this.error(x); + } + }, + + accessibleToString: function accessibleToString(aAccessible) { + let str = '[ defunct ]'; + try { + str = '[ ' + Utils.AccRetrieval.getStringRole(aAccessible.role) + + ' | ' + aAccessible.name + ' ]'; + } catch (x) { + } + + return str; + }, + + eventToString: function eventToString(aEvent) { + let str = Utils.AccRetrieval.getStringEventType(aEvent.eventType); + if (aEvent.eventType == Ci.nsIAccessibleEvent.EVENT_STATE_CHANGE) { + let event = aEvent.QueryInterface(Ci.nsIAccessibleStateChangeEvent); + let stateStrings = event.isExtraState ? + Utils.AccRetrieval.getStringStates(0, event.state) : + Utils.AccRetrieval.getStringStates(event.state, 0); + str += ' (' + stateStrings.item(0) + ')'; + } + + return str; + }, + + statesToString: function statesToString(aAccessible) { + let [state, extState] = Utils.getStates(aAccessible); + let stringArray = []; + let stateStrings = Utils.AccRetrieval.getStringStates(state, extState); + for (var i=0; i < stateStrings.length; i++) + stringArray.push(stateStrings.item(i)); + return stringArray.join(' '); + }, + + dumpTree: function dumpTree(aLogLevel, aRootAccessible) { + if (aLogLevel < this.logLevel) + return; + + this._dumpTreeInternal(aLogLevel, aRootAccessible, 0); + }, + + _dumpTreeInternal: function _dumpTreeInternal(aLogLevel, aAccessible, aIndent) { + let indentStr = ''; + for (var i=0; i < aIndent; i++) + indentStr += ' '; + this.log(aLogLevel, indentStr, + this.accessibleToString(aAccessible), + '(' + this.statesToString(aAccessible) + ')'); + for (var i=0; i < aAccessible.childCount; i++) + this._dumpTreeInternal(aLogLevel, aAccessible.getChildAt(i), aIndent + 1); + } +}; + +/** + * PivotContext: An object that generates and caches context information + * for a given accessible and its relationship with another accessible. + */ +this.PivotContext = function PivotContext(aAccessible, aOldAccessible) { + this._accessible = aAccessible; + this._oldAccessible = + this._isDefunct(aOldAccessible) ? null : aOldAccessible; +} + +PivotContext.prototype = { + get accessible() { + return this._accessible; + }, + + get oldAccessible() { + return this._oldAccessible; + }, + + /* + * This is a list of the accessible's ancestry up to the common ancestor + * of the accessible and the old accessible. It is useful for giving the + * user context as to where they are in the heirarchy. + */ + get newAncestry() { + if (!this._newAncestry) { + let newLineage = []; + let oldLineage = []; + + let parent = this._accessible; + while (parent && (parent = parent.parent)) + newLineage.push(parent); + + parent = this._oldAccessible; + while (parent && (parent = parent.parent)) + oldLineage.push(parent); + + this._newAncestry = []; + + while (true) { + let newAncestor = newLineage.pop(); + let oldAncestor = oldLineage.pop(); + + if (newAncestor == undefined) + break; + + if (newAncestor != oldAncestor) + this._newAncestry.push(newAncestor); + } + + } + + return this._newAncestry; + }, + + /* + * Traverse the accessible's subtree in pre or post order. + * It only includes the accessible's visible chidren. + */ + _traverse: function _traverse(aAccessible, preorder) { + let list = []; + let child = aAccessible.firstChild; + while (child) { + let state = {}; + child.getState(state, {}); + if (!(state.value & Ci.nsIAccessibleStates.STATE_INVISIBLE)) { + let traversed = _traverse(child, preorder); + // Prepend or append a child, based on traverse order. + traversed[preorder ? "unshift" : "push"](child); + list.push.apply(list, traversed); + } + child = child.nextSibling; + } + return list; + }, + + /* + * This is a flattened list of the accessible's subtree in preorder. + * It only includes the accessible's visible chidren. + */ + get subtreePreorder() { + if (!this._subtreePreOrder) + this._subtreePreOrder = this._traverse(this._accessible, true); + + return this._subtreePreOrder; + }, + + /* + * This is a flattened list of the accessible's subtree in postorder. + * It only includes the accessible's visible chidren. + */ + get subtreePostorder() { + if (!this._subtreePostOrder) + this._subtreePostOrder = this._traverse(this._accessible, false); + + return this._subtreePostOrder; + }, + + get bounds() { + if (!this._bounds) { + let objX = {}, objY = {}, objW = {}, objH = {}; + + this._accessible.getBounds(objX, objY, objW, objH); + + this._bounds = new Rect(objX.value, objY.value, objW.value, objH.value); + } + + return this._bounds.clone(); + }, + + _isDefunct: function _isDefunct(aAccessible) { + try { + let extstate = {}; + aAccessible.getState({}, extstate); + return !!(aAccessible.value & Ci.nsIAccessibleStates.EXT_STATE_DEFUNCT); + } catch (x) { + return true; + } + } +}; + +this.PrefCache = function PrefCache(aName, aCallback, aRunCallbackNow) { + this.name = aName; + this.callback = aCallback; + + let branch = Services.prefs; + this.value = this._getValue(branch); + + if (this.callback && aRunCallbackNow) { + try { + this.callback(this.name, this.value); + } catch (x) { + Logger.logException(x); + } + } + + branch.addObserver(aName, this, true); +}; + +PrefCache.prototype = { + _getValue: function _getValue(aBranch) { + if (!this.type) { + this.type = aBranch.getPrefType(this.name); + } + + switch (this.type) { + case Ci.nsIPrefBranch.PREF_STRING: + return aBranch.getCharPref(this.name); + case Ci.nsIPrefBranch.PREF_INT: + return aBranch.getIntPref(this.name); + case Ci.nsIPrefBranch.PREF_BOOL: + return aBranch.getBoolPref(this.name); + default: + return null; + } + }, + + observe: function observe(aSubject, aTopic, aData) { + this.value = this._getValue(aSubject.QueryInterface(Ci.nsIPrefBranch)); + if (this.callback) { + try { + this.callback(this.name, this.value); + } catch (x) { + Logger.logException(x); + } + } + }, + + QueryInterface : XPCOMUtils.generateQI([Ci.nsIObserver, + Ci.nsISupportsWeakReference]) +}; \ No newline at end of file Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/virtual-boy-wario-land.vb and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/virtual-boy-wario-land.vb differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/weather_sun.xcf and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/weather_sun.xcf differ diff -Nru shared-mime-info-1.15/tests/mime-detection/webfinger.jrd shared-mime-info-2.0/tests/mime-detection/webfinger.jrd --- shared-mime-info-1.15/tests/mime-detection/webfinger.jrd 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/mime-detection/webfinger.jrd 2020-05-06 14:11:14.298907300 +0000 @@ -0,0 +1,10 @@ +{ + "subject" : "acct:carol@example.com", + "links" : + [ + { + "rel" : "http://openid.net/specs/connect/1.0/issuer", + "href" : "https://openid.example.com" + } + ] +} Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/white_640x480.kra and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/white_640x480.kra differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/wii.wad and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/wii.wad differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/wonderswan-color-chocobo.wsc and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/wonderswan-color-chocobo.wsc differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/wonderswan-rockman-forte.ws and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/wonderswan-rockman-forte.ws differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/xml-in-mp3.mp3 and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/xml-in-mp3.mp3 differ Binary files /tmp/tmpkdR663/_nxz1083dk/shared-mime-info-1.15/tests/mime-detection/x_speex_ogg.spx and /tmp/tmpkdR663/JL97ixQ6Lq/shared-mime-info-2.0/tests/mime-detection/x_speex_ogg.spx differ diff -Nru shared-mime-info-1.15/tests/test-case-sensitivity.sh shared-mime-info-2.0/tests/test-case-sensitivity.sh --- shared-mime-info-1.15/tests/test-case-sensitivity.sh 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/test-case-sensitivity.sh 2020-05-06 14:11:14.299907200 +0000 @@ -0,0 +1,10 @@ +#!/bin/sh + +SRC_ROOT_DIR=`dirname $0`/.. +OUTPUT=$(find $SRC_ROOT_DIR | grep -v './.git' | tr '[:upper:]' '[:lower:]' | sort | uniq -d) + +if test -n "$OUTPUT" ; then + echo "There will be a case collision for a number of files on case insensitive filesystems" + exit 1 +fi +exit 0 diff -Nru shared-mime-info-1.15/tests/test_duplicate_mime_types.sh shared-mime-info-2.0/tests/test_duplicate_mime_types.sh --- shared-mime-info-1.15/tests/test_duplicate_mime_types.sh 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/tests/test_duplicate_mime_types.sh 2020-05-06 14:11:14.300907100 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/env bash + +xml_db_file="${1}" + +duplicated=$( + grep ' -#include -#include - -int -main (int argc, - char **argv) -{ - xmlDocPtr doc; - xmlNodePtr node; - - doc = xmlReadFile ("freedesktop.org.xml", NULL, 0); - if (doc == NULL) { - fprintf (stderr, "Reading \"freedesktop.org.xml\" failed. Aborting.\n"); - return 1; - } - - if ((node = xmlDocGetRootElement (doc)) == NULL) { - fprintf (stderr, "\"freedesktop.org.xml\" has no root node. Aborting.\n"); - return 1; - } - - for (node = node->children; node != NULL; node = node->next) { - if (!strcmp ((char *) node->name, "mime-type")) { - xmlNodePtr p; - xmlChar *prop; - - for (p = node->children; p != NULL; p = p->next) { - if (!strcmp ((char *) p->name, "sub-class-of")) { - break; - } - } - - if (p != NULL) { - /* got sub-class-of node */ - continue; - } - - prop = xmlGetProp (node, (xmlChar *) "type"); - printf ("%s\n", prop); - xmlFree (prop); - } - } - - xmlFreeDoc (doc); - return 0; -} diff -Nru shared-mime-info-1.15/test-tree-magic.c shared-mime-info-2.0/test-tree-magic.c --- shared-mime-info-1.15/test-tree-magic.c 2018-10-14 09:43:17.000000000 +0000 +++ shared-mime-info-2.0/test-tree-magic.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,695 +0,0 @@ -/* - * Copyright (C) 2008 Red Hat, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General - * Public License along with this library; if not, write to the - * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301 USA - * - * Author: Matthias Clasen - */ - -#include -#include -#include -#include - - -typedef struct -{ - gchar *path; - GFileType type; - guint match_case : 1; - guint executable : 1; - guint non_empty : 1; - guint on_disc : 1; - gchar *mimetype; - GList *matches; -} TreeMatchlet; - -typedef struct -{ - gchar *contenttype; - gint priority; - GList *matches; -} TreeMatch; - -static GList *tree_matches = NULL; - -static void -tree_matchlet_free (TreeMatchlet *matchlet) -{ - g_list_foreach (matchlet->matches, (GFunc)tree_matchlet_free, NULL); - g_list_free (matchlet->matches); - g_free (matchlet->path); - g_free (matchlet->mimetype); - g_slice_free (TreeMatchlet, matchlet); -} - -static void -tree_match_free (TreeMatch *match) -{ - g_list_foreach (match->matches, (GFunc)tree_matchlet_free, NULL); - g_list_free (match->matches); - g_free (match->contenttype); - g_slice_free (TreeMatch, match); -} - -static void -tree_magic_shutdown (void) -{ - g_list_foreach (tree_matches, (GFunc)tree_match_free, NULL); - g_list_free (tree_matches); - tree_matches = NULL; -} - -static TreeMatch * -parse_header (gchar *line) -{ - gint len; - gchar *s; - TreeMatch *match; - - len = strlen (line); - - if (line[0] != '[' || line[len - 1] != ']') - return NULL; - - line[len - 1] = 0; - s = strchr (line, ':'); - - match = g_slice_new0 (TreeMatch); - match->priority = atoi (line + 1); - match->contenttype = g_strdup (s + 1); - - return match; -} - -static TreeMatchlet * -parse_match_line (gchar *line, - gint *depth) -{ - gchar *s, *p; - TreeMatchlet *matchlet; - gchar **parts; - gint i; - - matchlet = g_slice_new0 (TreeMatchlet); - - if (line[0] == '>') { - *depth = 0; - s = line; - } - else { - *depth = atoi (line); - s = strchr (line, '>'); - } - s += 2; - p = strchr (s, '"'); - *p = 0; - - matchlet->path = g_strdup (s); - s = p + 1; - parts = g_strsplit (s, ",", 0); - if (strcmp (parts[0], "=file") == 0) - matchlet->type = G_FILE_TYPE_REGULAR; - else if (strcmp (parts[0], "=directory") == 0) - matchlet->type = G_FILE_TYPE_DIRECTORY; - else if (strcmp (parts[0], "=link") == 0) - matchlet->type = G_FILE_TYPE_SYMBOLIC_LINK; - else - matchlet->type = G_FILE_TYPE_UNKNOWN; - for (i = 1; parts[i]; i++) { - if (strcmp (parts[i], "executable") == 0) - matchlet->executable = 1; - else if (strcmp (parts[i], "match-case") == 0) - matchlet->match_case = 1; - else if (strcmp (parts[i], "non-empty") == 0) - matchlet->non_empty = 1; - else if (strcmp (parts[i], "on-disc") == 0) - matchlet->on_disc = 1; - else - matchlet->mimetype = g_strdup (parts[i]); - } - - g_strfreev (parts); - - return matchlet; -} - -static gint -cmp_match (gconstpointer a, gconstpointer b) -{ - const TreeMatch *aa = (const TreeMatch *)a; - const TreeMatch *bb = (const TreeMatch *)b; - - return bb->priority - aa->priority; -} - -static void -insert_match (TreeMatch *match) -{ - tree_matches = g_list_insert_sorted (tree_matches, match, cmp_match); -} - -static void -insert_matchlet (TreeMatch *match, - TreeMatchlet *matchlet, - gint depth) -{ - g_return_if_fail (match != NULL); - - if (depth == 0) - match->matches = g_list_append (match->matches, matchlet); - else { - GList *last; - TreeMatchlet *m; - - last = g_list_last (match->matches); - if (!last) { - tree_matchlet_free (matchlet); - g_warning ("can't insert matchlet at depth %d", depth); - return; - } - - m = (TreeMatchlet *) last->data; - depth--; - while (depth > 0) { - last = g_list_last (m->matches); - if (!last) { - tree_matchlet_free (matchlet); - g_warning ("can't insert matchlet at depth %d", depth); - return; - } - - m = (TreeMatchlet *) last->data; - depth--; - } - m->matches = g_list_append (m->matches, matchlet); - } -} - -static void -read_tree_magic_from_directory (const gchar *prefix) -{ - gchar *filename; - gchar *text; - gsize len; - gint i; - TreeMatch *match; - TreeMatchlet *matchlet; - gint depth; - - filename = g_build_filename (prefix, "mime", "treemagic", NULL); - match = NULL; - - if (g_file_get_contents (filename, &text, &len, NULL)) { - if (strcmp (text, "MIME-TreeMagic") == 0) { - gchar **lines; - - lines = g_strsplit (text + strlen ("MIME-TreeMagic") + 2, "\n", 0); - for (i = 0; lines[i] && lines[i][0]; i++) { - if (lines[i][0] == '[') { - match = parse_header (lines[i]); - insert_match (match); - } - else { - matchlet = parse_match_line (lines[i], &depth); - insert_matchlet (match, matchlet, depth); - } - } - g_strfreev (lines); - } - else - g_warning ("%s: header not found, skipping\n", filename); - - g_free (text); - } - - g_free (filename); -} - -typedef struct -{ - gchar *path; - gint depth; - gboolean ignore_case; - gchar **components; - gchar **case_components; - GFileEnumerator **enumerators; - GFile **children; -} Enumerator; - -static gboolean -component_match (Enumerator *e, - gint depth, - const gchar *name) -{ - gchar *case_folded, *key; - gboolean found; - - if (strcmp (name, e->components[depth]) == 0) - return TRUE; - - if (!e->ignore_case) - return FALSE; - - case_folded = g_utf8_casefold (name, -1); - key = g_utf8_collate_key (case_folded, -1); - - found = strcmp (key, e->case_components[depth]) == 0; - - g_free (case_folded); - g_free (key); - - return found; -} - -static GFile * -next_match_recurse (Enumerator *e, - gint depth) -{ - GFile *file; - GFileInfo *info; - const gchar *name; - - while (TRUE) { - if (e->enumerators[depth] == NULL) { - if (depth > 0) { - file = next_match_recurse (e, depth - 1); - if (file) { - e->children[depth] = file; - e->enumerators[depth] = g_file_enumerate_children (file, - G_FILE_ATTRIBUTE_STANDARD_NAME, - G_FILE_QUERY_INFO_NONE, - NULL, - NULL); - } - } - if (e->enumerators[depth] == NULL) - return NULL; - } - - while ((info = g_file_enumerator_next_file (e->enumerators[depth], NULL, NULL))) { - name = g_file_info_get_name (info); - if (component_match (e, depth, name)) { - file = g_file_get_child (e->children[depth], name); - g_object_unref (info); - return file; - } - g_object_unref (info); - } - - g_object_unref (e->enumerators[depth]); - e->enumerators[depth] = NULL; - g_object_unref (e->children[depth]); - e->children[depth] = NULL; - } -} - -static GFile * -enumerator_next (Enumerator *e) -{ - return next_match_recurse (e, e->depth - 1); -} - -static Enumerator * -enumerator_new (GFile *root, - const char *path, - gboolean ignore_case) -{ - Enumerator *e; - gint i; - gchar *case_folded; - - e = g_new0 (Enumerator, 1); - e->path = g_strdup (path); - e->ignore_case = ignore_case; - - e->components = g_strsplit (e->path, G_DIR_SEPARATOR_S, -1); - e->depth = g_strv_length (e->components); - if (e->ignore_case) { - e->case_components = g_new0 (char *, e->depth + 1); - for (i = 0; e->components[i]; i++) { - case_folded = g_utf8_casefold (e->components[i], -1); - e->case_components[i] = g_utf8_collate_key (case_folded, -1); - g_free (case_folded); - } - } - - e->children = g_new0 (GFile *, e->depth); - e->children[0] = g_object_ref (root); - e->enumerators = g_new0 (GFileEnumerator *, e->depth); - e->enumerators[0] = g_file_enumerate_children (root, - G_FILE_ATTRIBUTE_STANDARD_NAME, - G_FILE_QUERY_INFO_NONE, - NULL, - NULL); - - return e; -} - -static void -enumerator_free (Enumerator *e) -{ - gint i; - - for (i = 0; i < e->depth; i++) { - if (e->enumerators[i]) - g_object_unref (e->enumerators[i]); - if (e->children[i]) - g_object_unref (e->children[i]); - } - - g_free (e->enumerators); - g_free (e->children); - g_strfreev (e->components); - if (e->case_components) - g_strfreev (e->case_components); - g_free (e->path); - g_free (e); -} - -static gboolean -matchlet_match (TreeMatchlet *matchlet, - GFile *root) -{ - GFile *file; - GFileInfo *info; - gboolean result; - const gchar *attrs; - Enumerator *e; - GList *l; - - e = enumerator_new (root, matchlet->path, !matchlet->match_case); - - do { - file = enumerator_next (e); - if (!file) { - enumerator_free (e); - return FALSE; - } - - if (matchlet->mimetype) - attrs = G_FILE_ATTRIBUTE_STANDARD_TYPE "," - G_FILE_ATTRIBUTE_ACCESS_CAN_EXECUTE "," - G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE; - else - attrs = G_FILE_ATTRIBUTE_STANDARD_TYPE "," - G_FILE_ATTRIBUTE_ACCESS_CAN_EXECUTE; - info = g_file_query_info (file, - attrs, - G_FILE_QUERY_INFO_NONE, - NULL, - NULL); - if (info) { - result = TRUE; - - if (matchlet->type != G_FILE_TYPE_UNKNOWN && - g_file_info_get_file_type (info) != matchlet->type) - result = FALSE; - - if (matchlet->executable && - !g_file_info_get_attribute_boolean (info, G_FILE_ATTRIBUTE_ACCESS_CAN_EXECUTE)) - result = FALSE; - } - else - result = FALSE; - - if (result && matchlet->non_empty) { - GFileEnumerator *child_enum; - GFileInfo *child_info; - - child_enum = g_file_enumerate_children (file, - G_FILE_ATTRIBUTE_STANDARD_NAME, - G_FILE_QUERY_INFO_NONE, - NULL, - NULL); - - if (child_enum) { - child_info = g_file_enumerator_next_file (child_enum, NULL, NULL); - if (child_info) - g_object_unref (child_info); - else - result = FALSE; - g_object_unref (child_enum); - } - else - result = FALSE; - } - - if (result && matchlet->mimetype) { - if (strcmp (matchlet->mimetype, g_file_info_get_content_type (info)) != 0) - result = FALSE; - } - - g_object_unref (info); - g_object_unref (file); - - } - while (!result); - - enumerator_free (e); - - if (!matchlet->matches) - return TRUE; - - for (l = matchlet->matches; l; l = l->next) { - TreeMatchlet *submatchlet; - - submatchlet = l->data; - if (matchlet_match (submatchlet, root)) - return TRUE; - } - - return FALSE; -} - -static void -match_match (TreeMatch *match, - GFile *root, - GPtrArray *types) -{ - GList *l; - - for (l = match->matches; l; l = l->next) { - TreeMatchlet *matchlet = l->data; - if (matchlet_match (matchlet, root)) { - g_ptr_array_add (types, g_strdup (match->contenttype)); - break; - } - } -} - -static void -tree_magic_init (void) -{ - static gboolean initialized = FALSE; - const gchar *dir; - const gchar * const * dirs; - int i; - - if (!initialized) { - initialized = TRUE; - - dir = g_get_user_data_dir (); - - read_tree_magic_from_directory (dir); - - dirs = g_get_system_data_dirs (); - for (i = 0; dirs[i]; i++) - read_tree_magic_from_directory (dirs[i]); - } -} - -static GPtrArray * -sniff_content_type (GFile *root) -{ - GPtrArray *types; - GList *l; - - /* TODO: monitor and reload */ - tree_magic_init (); - - types = g_ptr_array_new (); - - for (l = tree_matches; l; l = l->next) { - TreeMatch *match = l->data; - match_match (match, root, types); - } - - return types; -} - -static gboolean -handle_one_line (const char *line, - const char *cwd) -{ - GFile *file; - GPtrArray *array; - gboolean retval = TRUE; - gboolean supposed_to_fail = FALSE; - char **items, **mimetypes; - char *filename; - guint i; - - if (strncmp (line, "x ", 2) == 0) { - supposed_to_fail = TRUE; - items = g_strsplit (line + 2, " ", 2); - } else { - items = g_strsplit (line, " ", 2); - } - - filename = items[0]; - mimetypes = g_strsplit (items[1], " ", -1); - - file = g_file_new_for_commandline_arg_and_cwd (filename, cwd); - - array = sniff_content_type (file); - if (array->len == 0) { - if (supposed_to_fail == FALSE) { - g_warning ("Tree %s didn't match %s (found nothing)", - filename, items[1]); - retval = FALSE; - } else { - g_message ("Tree %s failed to match %s (expected)", - filename, items[1]); - retval = TRUE; - } - goto bail; - } - - for (i = 0; i < array->len; i++) { - char *found; - gboolean matched; - guint j; - - matched = FALSE; - found = (char *) array->pdata[i]; - for (j = 0; mimetypes[j] != NULL; j++) { - if (strcmp (mimetypes[j], found) == 0) { - matched = TRUE; - break; - } - } - if (matched == FALSE && supposed_to_fail == FALSE) { - g_warning ("Tree %s didn't match %s (found %s)", - filename, items[1], found); - retval = FALSE; - goto bail; - } else if (matched == FALSE) { - g_message ("Tree %s failed to match %s (expected)", - filename, items[1]); - } else { - g_message ("Tree %s looks good (found %s)", - filename, found); - } - } - -bail: - g_strfreev (items); - g_ptr_array_free (array, TRUE); - g_strfreev (mimetypes); - - return retval; -} - -static const char * -type_to_path (GFileType type) -{ - switch (type) { - case G_FILE_TYPE_REGULAR: - return "Regular"; - case G_FILE_TYPE_DIRECTORY: - return "Directory"; - case G_FILE_TYPE_SYMBOLIC_LINK: - return "Symbolic link"; - default: - return "Unknown"; - } -} - -static void -print_matchlet (TreeMatchlet *matchlet, guint depth) -{ - GList *l; - guint i; - - for (i = depth + 1; i != 0; i--) - g_print ("\t"); - g_print ("%s (type=%s)\n", matchlet->path, type_to_path (matchlet->type)); - for (l = matchlet->matches ; l != NULL; l = l->next) - print_matchlet (l->data, depth + 1); -} - -int main (int argc, char **argv) -{ - GError *error = NULL; - char *content, **lines, *cwd; - guint i; - -#if GLIB_CHECK_VERSION(2,36,0) -#else - g_type_init (); -#endif - - if (argc != 2) { - g_print ("Usage: %s [file]\n", argv[0]); - g_print ("Where file contains, on each line, a directory path,\n" - "followed by one or more content types\n"); - g_print ("Lines starting with '#' are ignored\n"); - g_print ("Examples:\n"); - g_print ("\t#Supposed to work\n"); - g_print ("\ttests/image-dcf x-content/image-dcf\n"); - g_print ("\t# Supposed to fail\n"); - g_print ("\tx tests/ x-content/image-dcf\n"); - return 1; - } - - if (strcmp (argv[1], "-d") == 0) { - GList *l; - - tree_magic_init (); - for (l = tree_matches ; l != NULL; l = l->next) { - GList *k; - TreeMatch *match = (TreeMatch *) l->data; - g_print ("Type: %s\n", match->contenttype); - for (k = match->matches ; k != NULL; k = k->next) { - TreeMatchlet *matchlet = (TreeMatchlet *) k->data; - print_matchlet (matchlet, 0); - } - } - return 0; - } - - if (g_file_get_contents (argv[1], &content, NULL, &error) == FALSE) { - g_warning ("Failed to load %s: %s", argv[1], error->message); - return 1; - } - lines = g_strsplit (content, "\n", -1); - g_free (content); - - cwd = g_path_get_dirname (argv[1]); - for (i = 0; lines[i] != NULL; i++) { - if (*lines[i] == '\0' || *lines[i] == '#') - continue; - if (handle_one_line (lines[i], cwd) == FALSE) - return 1; - } - g_free (cwd); - - tree_magic_shutdown (); - - return 0; -} - diff -Nru shared-mime-info-1.15/.tx/config shared-mime-info-2.0/.tx/config --- shared-mime-info-1.15/.tx/config 1970-01-01 00:00:00.000000000 +0000 +++ shared-mime-info-2.0/.tx/config 2020-05-06 14:11:14.035909000 +0000 @@ -0,0 +1,8 @@ +[main] +host = https://www.transifex.com + +[shared-mime-info.efault-po-shared-mime-info-pot_0] +file_filter = po/.po +source_file = po/shared-mime-info.pot +source_lang = en + diff -Nru shared-mime-info-1.15/update-mime-database.1 shared-mime-info-2.0/update-mime-database.1 --- shared-mime-info-1.15/update-mime-database.1 2014-06-27 16:31:18.000000000 +0000 +++ shared-mime-info-2.0/update-mime-database.1 1970-01-01 00:00:00.000000000 +0000 @@ -1,66 +0,0 @@ -.\" Hey, Emacs! This is an -*- nroff -*- source file. -.\" -.\" (c) 2001 Filip Van Raemdonck -.\" -.\" This manpage is in the public domain. -.\" - -.TH update-mime-database 1 "26 Jul 2002" "Filip Van Raemdonck" "X Desktop Group" - -.SH NAME -update-mime-database \- a program to build the Shared MIME-Info database cache - -.SH SYNOPSIS -.B update-mime-database \-h -| -.B \-v -| [ -.B \-V -| -.B \-n -] -.I MIME-DIR - -.SH DESCRIPTION -.B update-mime-database -is a program which is responsible for updating the shared mime-info cache -according to the system described in the -.UR http://www.freedesktop.org/wiki/Specifications/shared-mime-info-spec -Shared MIME-Info Database specification -.UE -from the X Desktop Group. - -.SH OPTIONS -.TP -\fB\-h\fR -Print out a command summary. -.TP -\fB\-v\fR -Print out the version information. -.TP -\fB\-V\fR -Be verbose. -.TP -\fB\-n\fR -Only update if \fBMIME-DIR\fR/packages/ or a file in that directory -is newer than \fBMIME-DIR\fR/version. This is useful for package pre- -and post-installation scripts. - -.SH ARGUMENTS -.TP -\fBMIME-DIR\fR -This is the directory for which -.B update-mime-database -should rebuild the cache. Mandatory if none of the options is provided. - -.SH AUTHOR -Filip Van Raemdonck (mechanix@debian.org) wrote this manpage for the -Debian GNU/Linux project, but it may be used by others. - -.SH LICENCE -Copyright (C) 2002 Thomas Leonard. -.br -You may redistribute copies of -.B update-mime-database -under the terms of the GNU General Public License. - diff -Nru shared-mime-info-1.15/update-mime-database.c shared-mime-info-2.0/update-mime-database.c --- shared-mime-info-1.15/update-mime-database.c 2018-07-24 11:57:08.000000000 +0000 +++ shared-mime-info-2.0/update-mime-database.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,3981 +0,0 @@ -#include - -#define N_(x) x -#define _(x) (x) - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define XML_NS XML_XML_NAMESPACE -#define XMLNS_NS "http://www.w3.org/2000/xmlns/" -#define FREE_NS (xmlChar *)"http://www.freedesktop.org/standards/shared-mime-info" - -#define COPYING \ - N_("Copyright (C) 2003 Thomas Leonard.\n" \ - "update-mime-database comes with ABSOLUTELY NO WARRANTY,\n" \ - "to the extent permitted by law.\n" \ - "You may redistribute copies of update-mime-database\n" \ - "under the terms of the GNU General Public License.\n" \ - "For more information about these matters, " \ - "see the file named COPYING.\n") - -#define MIME_ERROR g_quark_from_static_string("mime-error-quark") - -#define NOGLOBS "__NOGLOBS__" -#define NOMAGIC "__NOMAGIC__" - -#ifndef PATH_SEPARATOR -# ifdef _WIN32 -# define PATH_SEPARATOR ";" -# else -# define PATH_SEPARATOR ":" -# endif -#endif - -/* This is the list of directories to scan when finding old type files to - * delete. It is also used to warn about invalid MIME types. - */ -const char *media_types[] = { - "all", - "uri", - "print", - "text", - "application", - "image", - "audio", - "inode", - "video", - "message", - "model", - "multipart", - "x-content", - "x-epoc", - "x-scheme-handler", - "font", -}; - -/* Represents a MIME type */ -typedef struct _Type Type; - -/* A parsed element */ -typedef struct _Magic Magic; - -/* A parsed element */ -typedef struct _Match Match; - -/* A parsed element */ -typedef struct _TreeMagic TreeMagic; - -/* A parsed element */ -typedef struct _TreeMatch TreeMatch; - -/* A parsed element */ -typedef struct _Glob Glob; - -struct _Type { - char *media; - char *subtype; - - /* Contains xmlNodes for elements that are being copied to the output. - * That is, , and nodes, and anything - * with an unknown namespace. - */ - xmlDoc *output; -}; - -struct _Glob { - int weight; - char *pattern; - Type *type; - gboolean noglob; - gboolean case_sensitive; -}; - -struct _Magic { - int priority; - Type *type; - GList *matches; - gboolean nomagic; -}; - -struct _Match { - long range_start; - int range_length; - char word_size; - int data_length; - char *data; - char *mask; - GList *matches; -}; - -struct _TreeMagic { - int priority; - Type *type; - GList *matches; -}; - -struct _TreeMatch { - char *path; - gboolean match_case; - gboolean executable; - gboolean non_empty; - gint type; - char *mimetype; - - GList *matches; -}; - -/* Maps MIME type names to Types */ -static GHashTable *types = NULL; - -/* Maps "namespaceURI localName" strings to Types */ -static GHashTable *namespace_hash = NULL; - -/* Maps glob patterns to Types */ -static GHashTable *globs_hash = NULL; - -/* 'magic' nodes */ -static GPtrArray *magic_array = NULL; - -/* 'treemagic' nodes */ -static GPtrArray *tree_magic_array = NULL; - -/* Maps MIME type names to superclass names */ -static GHashTable *subclass_hash = NULL; - -/* Maps aliases to Types */ -static GHashTable *alias_hash = NULL; - -/* Maps MIME type names to icon names */ -static GHashTable *icon_hash = NULL; - -/* Maps MIME type names to icon names */ -static GHashTable *generic_icon_hash = NULL; - -/* Lists enabled log levels */ -static GLogLevelFlags enabled_log_levels = G_LOG_LEVEL_ERROR | G_LOG_LEVEL_CRITICAL | G_LOG_LEVEL_WARNING; - -/* Static prototypes */ -static Magic *magic_new(xmlNode *node, Type *type, GError **error); -static Match *match_new(void); - -static TreeMagic *tree_magic_new(xmlNode *node, Type *type, GError **error); - -static void g_log_handler (const gchar *log_domain, - GLogLevelFlags log_level, - const gchar *message, - gpointer unused_data) -{ - if (log_level & enabled_log_levels) { - g_printf("%s\n", message); - } -} - -static void -fatal_gerror (GError *error) G_GNUC_NORETURN; - -static void -fatal_gerror (GError *error) -{ - g_assert(error != NULL); - g_printerr("%s\n", error->message); - g_error_free(error); - exit (EXIT_FAILURE); -} - -static void usage(const char *name) -{ - g_fprintf(stderr, _("Usage: %s [-hvVn] MIME-DIR\n"), name); -} - -static void free_type(gpointer data) -{ - Type *type = (Type *) data; - - g_free(type->media); - g_free(type->subtype); - - xmlFreeDoc(type->output); - - g_free(type); -} - -/* Ugly workaround to shut up gcc4 warnings about signedness issues - * (xmlChar is typedef'ed to unsigned char) - */ -static char *my_xmlGetNsProp (xmlNodePtr node, - const char *name, - const xmlChar *namespace) -{ - return (char *)xmlGetNsProp (node, (xmlChar *)name, namespace); -} - -/* If we've seen this type before, return the existing object. - * Otherwise, create a new one. Checks that the name looks sensible; - * if not, sets error and returns NULL. - * Also warns about unknown media types, but does not set error. - */ -static Type *get_type(const char *name, GError **error) -{ - xmlNode *root; - xmlNs *ns; - const char *slash; - Type *type; - int i; - - slash = strchr(name, '/'); - if (!slash || strchr(slash + 1, '/')) - { - g_set_error(error, MIME_ERROR, 0, - _("Invalid MIME-type '%s'"), name); - return NULL; - } - - type = g_hash_table_lookup(types, name); - if (type) - return type; - - type = g_new(Type, 1); - type->media = g_strndup(name, slash - name); - type->subtype = g_strdup(slash + 1); - g_hash_table_insert(types, g_strdup(name), type); - - type->output = xmlNewDoc((xmlChar *)"1.0"); - root = xmlNewDocNode(type->output, NULL, (xmlChar *)"mime-type", NULL); - ns = xmlNewNs(root, FREE_NS, NULL); - xmlSetNs(root, ns); - xmlDocSetRootElement(type->output, root); - xmlSetNsProp(root, NULL, (xmlChar *)"type", (xmlChar *)name); - xmlAddChild(root, xmlNewDocComment(type->output, - (xmlChar *)"Created automatically by update-mime-database. DO NOT EDIT!")); - - for (i = 0; i < G_N_ELEMENTS(media_types); i++) - { - if (strcmp(media_types[i], type->media) == 0) - return type; - } - - g_message("Unknown media type in type '%s'", name); - - return type; -} - -/* Test that this node has the expected name and namespace */ -static gboolean match_node(xmlNode *node, - const char *namespaceURI, - const char *localName) -{ - if (namespaceURI) - return node->ns && - strcmp((char *)node->ns->href, namespaceURI) == 0 && - strcmp((char *)node->name, localName) == 0; - else - return strcmp((char *)node->name, localName) == 0 && !node->ns; -} - -static int get_int_attribute(xmlNode *node, const char *name) -{ - char *prio_string; - int p; - - prio_string = my_xmlGetNsProp(node, name, NULL); - if (prio_string) - { - char *end; - - p = strtol(prio_string, &end, 10); - if (*prio_string == '\0' || *end != '\0') - p = -1; - xmlFree(prio_string); - if (p < 0 || p > 100) - return -1; - return p; - } - else - return 50; -} - -/* Return the priority of a node. - * Returns 50 if no priority is given, or -1 if a priority is given but - * is invalid. - */ -static int get_priority(xmlNode *node) -{ - return get_int_attribute (node, "priority"); -} - -/* Return the weight a node. - * Returns 50 if no weight is given, or -1 if a weight is given but - * is invalid. - */ -static int get_weight(xmlNode *node) -{ - return get_int_attribute (node, "weight"); -} - -/* Return the value of a false/true attribute, which defaults to false. - * Returns 0 or 1. - */ -static gboolean get_boolean_attribute(xmlNode *node, const char* name) -{ - char *attr; - attr = my_xmlGetNsProp(node, name, NULL); - if (attr) - { - if (strcmp (attr, "true") == 0) - { - return TRUE; - } - xmlFree(attr); - } - return FALSE; -} - -/* Process a element by adding a rule to namespace_hash */ -static void add_namespace(Type *type, const char *namespaceURI, - const char *localName, GError **error) -{ - g_return_if_fail(type != NULL); - - if (!namespaceURI) - { - g_set_error(error, MIME_ERROR, 0, - _("Missing 'namespaceURI' attribute'")); - return; - } - - if (!localName) - { - g_set_error(error, MIME_ERROR, 0, - _("Missing 'localName' attribute'")); - return; - } - - if (!*namespaceURI && !*localName) - { - g_set_error(error, MIME_ERROR, 0, - _("namespaceURI and localName attributes can't " - "both be empty")); - return; - } - - if (strpbrk(namespaceURI, " \n") || strpbrk(localName, " \n")) - { - g_set_error(error, MIME_ERROR, 0, - _("namespaceURI and localName cannot contain " - "spaces or newlines")); - return; - } - - g_hash_table_insert(namespace_hash, - g_strconcat(namespaceURI, " ", localName, NULL), - type); -} - -/* 'field' was found in the definition of 'type' and has the freedesktop.org - * namespace. If it's a known field, process it and return TRUE, else - * return FALSE to add it to the output XML document. - * On error, returns FALSE and sets 'error'. - */ -static gboolean process_freedesktop_node(Type *type, xmlNode *field, - GError **error) -{ - gboolean copy_to_xml; - - copy_to_xml = FALSE; - if (strcmp((char *)field->name, "glob") == 0) - { - gchar *pattern; - gint weight; - gboolean case_sensitive; - - weight = get_weight(field); - case_sensitive = get_boolean_attribute(field, "case-sensitive"); - - if (weight == -1) - { - g_set_error(error, MIME_ERROR, 0, - _("Bad weight (%d) in element"), weight); - } - pattern = my_xmlGetNsProp(field, "pattern", NULL); - - if (pattern && *pattern) - { - Glob *glob; - char *pat = case_sensitive ? g_strdup (pattern) : g_ascii_strdown (pattern, -1); - GList *list = g_hash_table_lookup (globs_hash, pat); - - glob = g_new0 (Glob, 1); - glob->pattern = pat; - glob->type = type; - glob->weight = weight; - glob->case_sensitive = case_sensitive; - list = g_list_append (list, glob); - g_hash_table_insert(globs_hash, g_strdup (glob->pattern), list); - xmlFree(pattern); - copy_to_xml = TRUE; - } - else - { - if (pattern) - xmlFree(pattern); - g_set_error(error, MIME_ERROR, 0, - _("Missing 'pattern' attribute in " - "element")); - } - } - else if (strcmp((char *)field->name, "glob-deleteall") == 0) - { - Glob *glob; - GList *list = g_hash_table_lookup (globs_hash, NOGLOBS); - - glob = g_new0 (Glob, 1); - glob->pattern = g_strdup (NOGLOBS); - glob->type = type; - glob->weight = 0; - glob->noglob = TRUE; - glob->case_sensitive = FALSE; - list = g_list_append (list, glob); - g_hash_table_insert(globs_hash, g_strdup (glob->pattern), list); - copy_to_xml = TRUE; - } - else if (strcmp((char *)field->name, "magic") == 0) - { - Magic *magic; - - magic = magic_new(field, type, error); - - if (!*error) - { - g_return_val_if_fail(magic != NULL, FALSE); - g_ptr_array_add(magic_array, magic); - } - else - g_return_val_if_fail(magic == NULL, FALSE); - } - else if (strcmp((char *)field->name, "magic-deleteall") == 0) - { - Magic *magic; - Match *match; - - magic = g_new0(Magic, 1); - magic->priority = 0; - magic->type = type; - magic->nomagic = TRUE; - match = match_new (); - match->data = g_strdup (NOMAGIC); - match->data_length = strlen (NOMAGIC); - magic->matches = g_list_prepend (NULL, match); - - g_ptr_array_add(magic_array, magic); - } - else if (strcmp((char *)field->name, "treemagic") == 0) - { - TreeMagic *magic; - - magic = tree_magic_new(field, type, error); - - if (!*error) - { - g_return_val_if_fail(magic != NULL, FALSE); - g_ptr_array_add(tree_magic_array, magic); - } - else - g_return_val_if_fail(magic == NULL, FALSE); - } - else if (strcmp((char *)field->name, "comment") == 0 || - strcmp((char *)field->name, "acronym") == 0 || - strcmp((char *)field->name, "expanded-acronym") == 0) - copy_to_xml = TRUE; - else if (strcmp((char *)field->name, "alias") == 0 || - strcmp((char *)field->name, "sub-class-of") == 0) - { - char *other_type; - gboolean valid; - GSList *list, *nlist; - - other_type = my_xmlGetNsProp(field, "type", NULL); - valid = other_type && strchr(other_type, '/'); - if (valid) - { - char *typename; - - typename = g_strdup_printf("%s/%s", - type->media, - type->subtype); - - if (strcmp((char *)field->name, "alias") == 0) - g_hash_table_insert(alias_hash, - g_strdup(other_type), type); - - else - { - list = g_hash_table_lookup(subclass_hash, typename); - nlist = g_slist_append (list, g_strdup(other_type)); - if (list == NULL) - g_hash_table_insert(subclass_hash, - g_strdup(typename), nlist); - } - g_free(typename); - xmlFree(other_type); - - copy_to_xml = TRUE; /* Copy through */ - } - else - { - xmlFree(other_type); - g_set_error(error, MIME_ERROR, 0, - _("Incorrect or missing 'type' attribute " - "in <%s>"), field->name); - } - } - else if (strcmp((char *)field->name, "root-XML") == 0) - { - char *namespaceURI, *localName; - - namespaceURI = my_xmlGetNsProp(field, "namespaceURI", NULL); - localName = my_xmlGetNsProp(field, "localName", NULL); - - add_namespace(type, namespaceURI, localName, error); - - if (namespaceURI) - xmlFree(namespaceURI); - if (localName) - xmlFree(localName); - } - else if (strcmp((char *)field->name, "generic-icon") == 0 || - strcmp((char *)field->name, "icon") == 0) - { - char *icon; - char *typename; - - icon = my_xmlGetNsProp(field, "name", NULL); - - if (icon) - { - typename = g_strdup_printf("%s/%s", - type->media, - type->subtype); - - if (strcmp((char *)field->name, "icon") == 0) - g_hash_table_insert(icon_hash, - typename, g_strdup (icon)); - else - g_hash_table_insert(generic_icon_hash, - typename, g_strdup (icon)); - - xmlFree (icon); - - copy_to_xml = TRUE; /* Copy through */ - } - } - - if (*error) - return FALSE; - return !copy_to_xml; -} - -/* Checks to see if 'node' has the given value for xml:lang. - * If 'lang' is NULL, checks that 'node' doesn't have an xml:lang. - */ -static gboolean has_lang(xmlNode *node, const char *lang) -{ - char *lang2; - - lang2 = my_xmlGetNsProp(node, "lang", XML_NS); - if (!lang2) - return !lang; - - if (lang && strcmp(lang, lang2) == 0) - { - xmlFree(lang2); - return TRUE; - } - xmlFree(lang2); - return FALSE; -} - -/* We're about to add 'new' to the list of fields to be output for the - * type. Remove any existing nodes which it replaces. - */ -static void remove_old(Type *type, xmlNode *new) -{ - xmlNode *field, *fields; - char *lang; - - if (new->ns == NULL || xmlStrcmp(new->ns->href, FREE_NS) != 0) - return; /* No idea what we're doing -- leave it in! */ - - if (strcmp((char *)new->name, "comment") != 0) - return; - - lang = my_xmlGetNsProp(new, "lang", XML_NS); - - fields = xmlDocGetRootElement(type->output); - for (field = fields->xmlChildrenNode; field; field = field->next) - { - if (match_node(field, (char *)FREE_NS, "comment") && - has_lang(field, lang)) - { - xmlUnlinkNode(field); - xmlFreeNode(field); - break; - } - } - - xmlFree(lang); -} - -/* 'node' is a node from a source file, whose type is 'type'. - * Process all the child elements, setting 'error' if anything goes wrong. - */ -static void load_type(Type *type, xmlNode *node, GError **error) -{ - xmlNode *field; - - g_return_if_fail(type != NULL); - g_return_if_fail(node != NULL); - g_return_if_fail(error != NULL); - - for (field = node->xmlChildrenNode; field; field = field->next) - { - xmlNode *copy; - - if (field->type != XML_ELEMENT_NODE) - continue; - - if (field->ns && xmlStrcmp(field->ns->href, FREE_NS) == 0) - { - if (process_freedesktop_node(type, field, error)) - { - g_return_if_fail(*error == NULL); - continue; - } - } - - if (*error) - return; - - copy = xmlDocCopyNode(field, type->output, 1); - - /* Ugly hack to stop the xmlns= attributes appearing on - * every node... - */ - if (copy->ns && copy->ns->prefix == NULL && - xmlStrcmp(copy->ns->href, FREE_NS) == 0) - { - if (copy->nsDef) - { - /* Still used somewhere... */ - /* xmlFreeNsList(copy->nsDef); */ - /* (this leaks) */ - copy->nsDef = NULL; - } - } - - remove_old(type, field); - - xmlAddChild(xmlDocGetRootElement(type->output), copy); - } -} - -/* Parse 'filename' as an XML file and add all the information to the - * database. If called more than once, information read in later calls - * overrides information read previously. - */ -static void load_source_file(const char *filename) -{ - xmlDoc *doc; - xmlNode *root, *node; - - doc = xmlParseFile(filename); - if (!doc) - { - g_warning(_("Failed to parse '%s'"), filename); - return; - } - - g_message("Parsing source file %s...", filename); - - root = xmlDocGetRootElement(doc); - - if (root->ns == NULL || xmlStrcmp(root->ns->href, FREE_NS) != 0) - { - g_warning("Wrong namespace on document element in '%s' (should be %s)", filename, FREE_NS); - goto out; - } - - if (strcmp((char *)root->name, "mime-info") != 0) - { - g_warning("Root element <%s> is not (in '%s')", root->name, filename); - goto out; - } - - for (node = root->xmlChildrenNode; node; node = node->next) - { - Type *type = NULL; - char *type_name = NULL; - GError *error = NULL; - - if (node->type != XML_ELEMENT_NODE) - continue; - - if (!match_node(node, (char *)FREE_NS, "mime-type")) - g_set_error(&error, MIME_ERROR, 0, - _("Excepted , but got wrong name " - "or namespace")); - - if (!error) - { - type_name = my_xmlGetNsProp(node, "type", NULL); - - if (!type_name) - g_set_error(&error, MIME_ERROR, 0, - _(" element has no 'type' " - "attribute")); - } - - if (type_name) - { - type = get_type(type_name, &error); - xmlFree(type_name); - } - - if (!error) - { - g_return_if_fail(type != NULL); - load_type(type, node, &error); - } - else - g_return_if_fail(type == NULL); - - if (error) - { - g_warning("Error in type '%s/%s' (in %s): %s.", - type ? type->media : _("unknown"), - type ? type->subtype : _("unknown"), - filename, error->message); - g_error_free(error); - } - } -out: - xmlFreeDoc(doc); -} - -/* Used as the sort function for sorting GPtrArrays */ -static gint strcmp2(gconstpointer a, gconstpointer b) -{ - const char *aa = *(char **) a; - const char *bb = *(char **) b; - - return strcmp(aa, bb); -} - -/* 'path' should be a 'packages' directory. Loads the information from - * every file in the directory. - */ -static void scan_source_dir(const char *path) -{ - DIR *dir; - struct dirent *ent; - char *filename; - GPtrArray *files; - int i; - gboolean have_override = FALSE; - - dir = opendir(path); - if (!dir) - { - perror("scan_source_dir"); - exit(EXIT_FAILURE); - } - - files = g_ptr_array_new(); - while ((ent = readdir(dir))) - { - int l; - l = strlen(ent->d_name); - if (l < 4 || strcmp(ent->d_name + l - 4, ".xml") != 0) - continue; - if (strcmp(ent->d_name, "Override.xml") == 0) - { - have_override = TRUE; - continue; - } - g_ptr_array_add(files, g_strdup(ent->d_name)); - } - closedir(dir); - - g_ptr_array_sort(files, strcmp2); - - if (have_override) - g_ptr_array_add(files, g_strdup("Override.xml")); - - for (i = 0; i < files->len; i++) - { - gchar *leaf = (gchar *) files->pdata[i]; - - filename = g_strconcat(path, "/", leaf, NULL); - load_source_file(filename); - g_free(filename); - } - - for (i = 0; i < files->len; i++) - g_free(files->pdata[i]); - g_ptr_array_free(files, TRUE); -} - -static gboolean save_xml_file(xmlDocPtr doc, const gchar *filename, GError **error) -{ -#if LIBXML_VERSION > 20400 - if (xmlSaveFormatFileEnc(filename, doc, "utf-8", 1) < 0) - { - g_set_error(error, G_FILE_ERROR, G_FILE_ERROR_FAILED, - "Failed to write XML file; For permission problems, try rerunning as root"); - return FALSE; - } -#else - FILE *out; - - out = fopen_gerror(filename, error); - if (!out) - return FALSE; - - xmlDocDump(out, doc); /* Some versions return void */ - - if (!fclose_gerror(out, error)) - return FALSE; -#endif - - return TRUE; -} - -/* Write out globs for one pattern to the 'globs' file */ -static void write_out_glob(GList *globs, FILE *stream) -{ - GList *list; - Glob *glob; - Type *type; - - for (list = globs; list; list = list->next) { - glob = (Glob *)list->data; - type = glob->type; - if (strchr(glob->pattern, '\n')) - g_warning("Glob patterns can't contain literal newlines " - "(%s in type %s/%s)", glob->pattern, - type->media, type->subtype); - else - g_fprintf(stream, "%s/%s:%s\n", - type->media, type->subtype, glob->pattern); - } -} - -/* Write out globs and weights for one pattern to the 'globs2' file */ -static void write_out_glob2(GList *globs, FILE *stream) -{ - GList *list; - Glob *glob; - Type *type; - gboolean need_flags; - - for (list = globs ; list; list = list->next) { - glob = (Glob *)list->data; - type = glob->type; - if (strchr(glob->pattern, '\n')) - g_warning("Glob patterns can't contain literal newlines " - "(%s in type %s/%s)", glob->pattern, - type->media, type->subtype); - else - { - need_flags = FALSE; - if (glob->case_sensitive) - need_flags = TRUE; - - if (need_flags) { - g_fprintf(stream, "%d:%s/%s:%s%s\n", - glob->weight, type->media, type->subtype, glob->pattern, - glob->case_sensitive ? ":cs" : ""); - } - - /* Always write the line without the flags, for older parsers */ - g_fprintf(stream, "%d:%s/%s:%s\n", - glob->weight, type->media, type->subtype, glob->pattern); - } - } -} - -static void collect_glob2(gpointer key, gpointer value, gpointer data) -{ - GList **listp = data; - - *listp = g_list_concat (*listp, g_list_copy ((GList *)value)); -} - -static int compare_glob_by_weight (gpointer a, gpointer b) -{ - Glob *ag = (Glob *)a; - Glob *bg = (Glob *)b; - - if (ag->noglob || bg->noglob) - return bg->noglob - ag->noglob; - - return bg->weight - ag->weight; -} - -static void -set_error_from_errno (GError **error) -{ - int errsv = errno; - g_set_error_literal(error, G_FILE_ERROR, g_file_error_from_errno(errsv), - g_strerror(errsv)); -} - -#ifdef HAVE_FDATASYNC -static gboolean -sync_enabled(void) -{ - const char *env; - - env = g_getenv("PKGSYSTEM_ENABLE_FSYNC"); - if (!env) - return TRUE; - return atoi(env); -} -#endif - -static int -sync_file(const gchar *pathname, GError **error) -{ -#ifdef HAVE_FDATASYNC - int fd; - - if (!sync_enabled()) - return 0; - - fd = open(pathname, O_RDWR); - if (fd == -1) - { - set_error_from_errno(error); - return -1; - } - if (fdatasync(fd) == -1) - { - set_error_from_errno(error); - close(fd); - return -1; - } - if (close(fd) == -1) - { - set_error_from_errno(error); - return -1; - } -#endif - - return 0; -} - -/* Renames pathname by removing the .new extension */ -static gboolean atomic_update(const gchar *pathname, GError **error) -{ - gboolean ret = FALSE; - gchar *new_name = NULL; - int len; - - len = strlen(pathname); - - g_return_val_if_fail(strcmp(pathname + len - 4, ".new") == 0, FALSE); - - new_name = g_strndup(pathname, len - 4); - - if (sync_file(pathname, error) == -1) - goto out; - -#ifdef _WIN32 - /* we need to remove the old file first! */ - remove(new_name); -#endif - if (rename(pathname, new_name) == -1) - { - int errsv = errno; - g_set_error(error, G_FILE_ERROR, g_file_error_from_errno(errsv), - "Failed to rename %s as %s: %s", pathname, new_name, - g_strerror(errsv)); - goto out; - } - - ret = TRUE; -out: - g_free(new_name); - return ret; -} - -/* Write out an XML file for one type */ -static void write_out_type(gpointer key, gpointer value, gpointer data) -{ - Type *type = (Type *) value; - const char *mime_dir = (char *) data; - char *media, *filename; - GError *local_error = NULL; - char *lower; - - lower = g_ascii_strdown(type->media, -1); - media = g_strconcat(mime_dir, "/", lower, NULL); - g_free(lower); -#ifdef _WIN32 - mkdir(media); -#else - mkdir(media, 0755); -#endif - - lower = g_ascii_strdown(type->subtype, -1); - filename = g_strconcat(media, "/", lower, ".xml.new", NULL); - g_free(lower); - g_free(media); - media = NULL; - - if (!save_xml_file(type->output, filename, &local_error)) - fatal_gerror(local_error); - - if (!atomic_update(filename, &local_error)) - fatal_gerror(local_error); - - g_free(filename); -} - -/* Comparison function to get the magic rules in priority order */ -static gint cmp_magic(gconstpointer a, gconstpointer b) -{ - Magic *aa = *(Magic **) a; - Magic *bb = *(Magic **) b; - int retval; - - /* Sort nomagic items at start */ - if (aa->nomagic || bb->nomagic) - return bb->nomagic - aa->nomagic; - - if (aa->priority > bb->priority) - return -1; - else if (aa->priority < bb->priority) - return 1; - - retval = strcmp(aa->type->media, bb->type->media); - if (!retval) - retval = strcmp(aa->type->subtype, bb->type->subtype); - - return retval; -} - -/* Comparison function to get the tree magic rules in priority order */ -static gint cmp_tree_magic(gconstpointer a, gconstpointer b) -{ - TreeMagic *aa = *(TreeMagic **) a; - TreeMagic *bb = *(TreeMagic **) b; - int retval; - - if (aa->priority > bb->priority) - return -1; - else if (aa->priority < bb->priority) - return 1; - - retval = strcmp(aa->type->media, bb->type->media); - if (!retval) - retval = strcmp(aa->type->subtype, bb->type->subtype); - - return retval; -} - -/* Write out 'n' as a two-byte big-endian number to 'stream' */ -static void write16(FILE *stream, guint32 n) -{ - guint16 big = GUINT16_TO_BE(n); - - g_return_if_fail(n <= 0xffff); - - fwrite(&big, sizeof(big), 1, stream); -} - -/* Single hex char to int; -1 if not a hex char. - * From file(1). - */ -static int hextoint(int c) -{ - if (!isascii((unsigned char) c)) - return -1; - if (isdigit((unsigned char) c)) - return c - '0'; - if ((c >= 'a')&&(c <= 'f')) - return c + 10 - 'a'; - if (( c>= 'A')&&(c <= 'F')) - return c + 10 - 'A'; - return -1; -} - -/* - * Convert a string containing C character escapes. Stop at an unescaped - * space or tab. - * Copy the converted version to "p", returning its length in *slen. - * Return updated scan pointer as function result. - * Stolen from file(1) and heavily modified. - */ -static void getstr(const char *s, GString *out) -{ - int c; - int val; - - while ((c = *s++) != '\0') { - if(c == '\\') { - switch(c = *s++) { - - case '\0': - return; - - default: - g_string_append_c(out, (char) c); - break; - - case 'n': - g_string_append_c(out, '\n'); - break; - - case 'r': - g_string_append_c(out, '\r'); - break; - - case 'b': - g_string_append_c(out, '\b'); - break; - - case 't': - g_string_append_c(out, '\t'); - break; - - case 'f': - g_string_append_c(out, '\f'); - break; - - case 'v': - g_string_append_c(out, '\v'); - break; - - /* \ and up to 3 octal digits */ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - val = c - '0'; - c = *s++; /* try for 2 */ - if(c >= '0' && c <= '7') { - val = (val<<3) | (c - '0'); - c = *s++; /* try for 3 */ - if(c >= '0' && c <= '7') - val = (val<<3) | (c-'0'); - else - --s; - } - else - --s; - g_string_append_c(out, (char)val); - break; - - /* \x and up to 2 hex digits */ - case 'x': - val = 'x'; /* Default if no digits */ - c = hextoint(*s++); /* Get next char */ - if (c >= 0) { - val = c; - c = hextoint(*s++); - if (c >= 0) - val = (val << 4) + c; - else - --s; - } else - --s; - g_string_append_c(out, (char)val); - break; - } - } else - g_string_append_c(out, (char)c); - } -} - -/* Parse the value and mask attributes of a element with a - * numerical type (anything except "string"). - */ -static void parse_int_value(int bytes, const char *in, const char *in_mask, - GString *parsed_value, char **parsed_mask, - gboolean big_endian, GError **error) -{ - char *end; - char *out_mask = NULL; - unsigned long value; - int b; - - value = strtoul(in, &end, 0); - if (errno == ERANGE) { - g_set_error(error, MIME_ERROR, 0, - "Number out-of-range (%s should fit in %d bytes)", - in, bytes); - return; - } - - if (*end != '\0') - { - g_set_error(error, MIME_ERROR, 0, "Value is not a number"); - return; - } - - for (b = 0; b < bytes; b++) - { - int shift = (big_endian ? (bytes - b - 1) : b) * 8; - g_string_append_c(parsed_value, (value >> shift) & 0xff); - } - - if ((bytes == 1 && (value & ~0xff)) || - (bytes == 2 && (value & ~0xffff))) - { - g_set_error(error, MIME_ERROR, 0, - "Number out-of-range (%lx should fit in %d bytes)", - value, bytes); - return; - } - - if (in_mask) - { - int b; - unsigned long mask; - - mask = strtoul(in_mask, &end, 0); - if (errno == ERANGE) { - g_set_error(error, MIME_ERROR, 0, - "Mask out-of-range (%s should fit in %d bytes)", - in_mask, bytes); - return; - } - - - if (*end != '\0') - { - g_set_error(error, MIME_ERROR, 0, - "Mask is not a number"); - return; - } - - out_mask = g_new(char, bytes); - for (b = 0; b < bytes; b++) - { - int shift = (big_endian ? (bytes - b - 1) : b) * 8; - out_mask[b] = (mask >> shift) & 0xff; - } - } - - *parsed_mask = out_mask; -} - -/* 'len' is the length of the value. The mask created will be the same - * length. - */ -static char *parse_string_mask(const char *mask, int len, GError **error) -{ - int i; - char *parsed_mask = NULL; - - g_return_val_if_fail(mask != NULL, NULL); - g_return_val_if_fail(len > 0, NULL); - - if (mask[0] != '0' || mask[1] != 'x') - { - g_set_error(error, MIME_ERROR, 0, - "String masks must be in base 16 (starting with 0x)"); - goto err; - } - mask += 2; - - parsed_mask = g_new0(char, len); - - i = 0; /* Nybble to write to next */ - while (mask[i]) - { - int c; - - c = hextoint(mask[i]); - if (c == -1) - { - g_set_error(error, MIME_ERROR, 0, - "'%c' is not a valid hex digit", mask[i]); - goto err; - } - - if (i >= len * 2) - { - g_set_error(error, MIME_ERROR, 0, - "Mask is longer than value"); - goto err; - } - - if (i & 1) - parsed_mask[i >> 1] |= c; - else - parsed_mask[i >> 1] |= c << 4; - - i++; - } - - return parsed_mask; -err: - g_free(parsed_mask); - g_return_val_if_fail(error == NULL || *error != NULL, NULL); - return NULL; -} - -/* Parse the value and mask attributes for a element */ -static void parse_value(const char *type, const char *in, const char *in_mask, - GString *parsed_value, char **parsed_mask, - GError **error) -{ - *parsed_mask = NULL; - - if (in == NULL || !in[0]) - { - g_set_error(error, MIME_ERROR, 0, "No value specified"); - return; - } - - if (strstr(type, "16")) - parse_int_value(2, in, in_mask, parsed_value, parsed_mask, - type[0] != 'l', error); - else if (strstr(type, "32")) - parse_int_value(4, in, in_mask, parsed_value, parsed_mask, - type[0] != 'l', error); - else if (strcmp(type, "byte") == 0) - parse_int_value(1, in, in_mask, parsed_value, parsed_mask, - FALSE, error); - else if (strcmp(type, "string") == 0) - { - getstr(in, parsed_value); - if (in_mask) - *parsed_mask = parse_string_mask(in_mask, - parsed_value->len, error); - } - else - g_assert_not_reached(); -} - -static Match *match_new(void) -{ - Match *match; - - match = g_new(Match, 1); - match->range_start = 0; - match->range_length = 1; - match->word_size = 1; - match->data_length = 0; - match->data = NULL; - match->mask = NULL; - match->matches = NULL; - - return match; -} - -static void match_free(Match *match) -{ - GList *next; - - g_return_if_fail(match != NULL); - - for (next = match->matches; next; next = next->next) - match_free((Match *) next->data); - - g_list_free(match->matches); - - g_free(match->data); - g_free(match->mask); - - g_free(match); -} - -/* Sets match->range_start and match->range_length */ -static void match_offset(Match *match, xmlNode *node, GError **error) -{ - char *offset = NULL; - char *end; - - offset = my_xmlGetNsProp(node, "offset", NULL); - if (offset == NULL || !*offset) - { - g_set_error(error, MIME_ERROR, 0, "Missing 'offset' attribute"); - goto err; - } - - match->range_start = strtol(offset, &end, 10); - if (errno == ERANGE) { - char *number; - number = g_strndup(offset, end-offset); - g_set_error(error, MIME_ERROR, 0, - "Number out-of-range (%s should fit in 4 bytes)", - number); - g_free(number); - return; - } - - if (*end == ':' && end[1] && match->range_start >= 0) - { - int last; - char *begin; - - begin = end + 1; - last = strtol(begin, &end, 10); - if (errno == ERANGE) { - char *number; - number = g_strndup(begin, end-begin); - g_set_error(error, MIME_ERROR, 0, - "Number out-of-range (%s should fit in 8 bytes)", - number); - g_free(number); - return; - } - - if (*end == '\0' && last >= match->range_start) - match->range_length = last - match->range_start + 1; - else - g_set_error(error, MIME_ERROR, 0, "Invalid offset"); - } - else if (*end != '\0') - g_set_error(error, MIME_ERROR, 0, "Invalid offset"); -err: - xmlFree(offset); -} - -/* Sets match->data, match->data_length and match->mask */ -static void match_value_and_mask(Match *match, xmlNode *node, GError **error) -{ - char *mask = NULL; - char *value = NULL; - char *type = NULL; - char *parsed_mask = NULL; - GString *parsed_value; - - type = my_xmlGetNsProp(node, "type", NULL); - g_return_if_fail(type != NULL); - - mask = my_xmlGetNsProp(node, "mask", NULL); - value = my_xmlGetNsProp(node, "value", NULL); - - parsed_value = g_string_new(NULL); - - parse_value(type, value, mask, parsed_value, - &parsed_mask, error); - - if (*error) - { - g_string_free(parsed_value, TRUE); - g_return_if_fail(parsed_mask == NULL); - } - else - { - match->data = parsed_value->str; - match->data_length = parsed_value->len; - match->mask = parsed_mask; - - g_string_free(parsed_value, FALSE); - } - - if (mask) - xmlFree(mask); - if (value) - xmlFree(value); - xmlFree(type); -} - -/* Sets match->word_size */ -static void match_word_size(Match *match, xmlNode *node, GError **error) -{ - char *type; - - type = my_xmlGetNsProp(node, "type", NULL); - - if (!type) - { - g_set_error(error, MIME_ERROR, 0, - _("Missing 'type' attribute in ")); - return; - } - - if (strcmp(type, "host16") == 0) - match->word_size = 2; - else if (strcmp(type, "host32") == 0) - match->word_size = 4; - else if (!*error && strcmp(type, "big16") && - strcmp(type, "big32") && - strcmp(type, "little16") && strcmp(type, "little32") && - strcmp(type, "string") && strcmp(type, "byte")) - { - g_set_error(error, MIME_ERROR, 0, - "Unknown magic type '%s'", type); - } - - xmlFree(type); -} - -/* Turn the list of child nodes of 'parent' into a list of Matches */ -static GList *build_matches(xmlNode *parent, GError **error) -{ - xmlNode *node; - GList *out = NULL; - - g_return_val_if_fail(error != NULL, NULL); - - for (node = parent->xmlChildrenNode; node; node = node->next) - { - Match *match; - - if (node->type != XML_ELEMENT_NODE) - continue; - - if (node->ns == NULL || xmlStrcmp(node->ns->href, FREE_NS) != 0) - { - g_set_error(error, MIME_ERROR, 0, - _("Element found with non-freedesktop.org " - "namespace")); - break; - } - - if (strcmp((char *)node->name, "match") != 0) - { - g_set_error(error, MIME_ERROR, 0, - _("Expected element, but found " - "<%s> instead"), node->name); - break; - } - - match = match_new(); - match_offset(match, node, error); - if (!*error) - match_word_size(match, node, error); - if (!*error) - match_value_and_mask(match, node, error); - - if (*error) - { - match_free(match); - break; - } - - out = g_list_append(out, match); - - match->matches = build_matches(node, error); - if (*error) - break; - } - - return out; -} - -static void magic_free(Magic *magic) -{ - GList *next; - - g_return_if_fail(magic != NULL); - - for (next = magic->matches; next; next = next->next) - match_free((Match *) next->data); - g_list_free(magic->matches); - - g_free(magic); -} - -/* Create a new Magic object by parsing 'node' (a element) */ -static Magic *magic_new(xmlNode *node, Type *type, GError **error) -{ - Magic *magic = NULL; - int prio; - - g_return_val_if_fail(node != NULL, NULL); - g_return_val_if_fail(type != NULL, NULL); - g_return_val_if_fail(error != NULL, NULL); - - prio = get_priority(node); - - if (prio == -1) - { - g_set_error(error, MIME_ERROR, 0, - _("Bad priority (%d) in element"), prio); - } - else - { - magic = g_new0(Magic, 1); - magic->priority = prio; - magic->type = type; - magic->matches = build_matches(node, error); - - - if (*error) - { - gchar *old = (*error)->message; - magic_free(magic); - magic = NULL; - (*error)->message = g_strconcat( - _("Error in element: "), old, NULL); - g_free(old); - } else if (magic->matches == NULL) { - magic_free(magic); - magic = NULL; - g_set_error(error, MIME_ERROR, 0, - _("Incomplete element")); - } - } - - return magic; -} - -static TreeMatch *tree_match_new(void) -{ - TreeMatch *match; - - match = g_new(TreeMatch, 1); - match->path = NULL; - match->match_case = 0; - match->executable = 0; - match->non_empty = 0; - match->type = 0; - match->mimetype = NULL; - match->matches = NULL; - - return match; -} - -static void tree_match_free(TreeMatch *match) -{ - GList *next; - - g_return_if_fail(match != NULL); - - for (next = match->matches; next; next = next->next) - tree_match_free((TreeMatch *) next->data); - - g_list_free(match->matches); - - g_free(match->path); - g_free(match->mimetype); - - g_free(match); -} - -/* Turn the list of child nodes of 'parent' into a list of TreeMatches */ -static GList *build_tree_matches(xmlNode *parent, GError **error) -{ - xmlNode *node; - GList *out = NULL; - char *attr; - - g_return_val_if_fail(error != NULL, NULL); - - for (node = parent->xmlChildrenNode; node; node = node->next) - { - TreeMatch *match; - - if (node->type != XML_ELEMENT_NODE) - continue; - - if (node->ns == NULL || xmlStrcmp(node->ns->href, FREE_NS) != 0) - { - g_set_error(error, MIME_ERROR, 0, - _("Element found with non-freedesktop.org " - "namespace")); - break; - } - - if (strcmp((char *)node->name, "treematch") != 0) - { - g_set_error(error, MIME_ERROR, 0, - _("Expected element, but found " - "<%s> instead"), node->name); - break; - } - - match = tree_match_new(); - - attr = my_xmlGetNsProp(node, "path", NULL); - if (attr) - { - match->path = g_strdup (attr); - xmlFree (attr); - } - else - { - g_set_error(error, MIME_ERROR, 0, - _("Missing 'path' attribute in ")); - } - if (!*error) - { - attr = my_xmlGetNsProp(node, "type", NULL); - if (attr) - { - if (strcmp (attr, "file") == 0) - { - match->type = 1; - } - else if (strcmp (attr, "directory") == 0) - { - match->type = 2; - } - else if (strcmp (attr, "link") == 0) - { - match->type = 3; - } - else - { - g_set_error(error, MIME_ERROR, 0, - _("Invalid 'type' attribute in ")); - } - xmlFree(attr); - } - } - if (!*error) - { - attr = my_xmlGetNsProp(node, "executable", NULL); - if (attr) - { - if (strcmp (attr, "true") == 0) - { - match->executable = 1; - } - xmlFree(attr); - } - } - if (!*error) - { - attr = my_xmlGetNsProp(node, "match-case", NULL); - if (attr) - { - if (strcmp (attr, "true") == 0) - { - match->match_case = 1; - } - xmlFree(attr); - } - } - if (!*error) - { - attr = my_xmlGetNsProp(node, "non-empty", NULL); - if (attr) - { - if (strcmp (attr, "true") == 0) - { - match->non_empty = 1; - } - xmlFree(attr); - } - } - if (!*error) - { - attr = my_xmlGetNsProp(node, "mimetype", NULL); - if (attr) - { - match->mimetype = g_strdup (attr); - xmlFree(attr); - } - } - - if (*error) - { - tree_match_free(match); - break; - } - - out = g_list_append(out, match); - - match->matches = build_tree_matches(node, error); - if (*error) - break; - } - - return out; -} - -static void tree_magic_free(TreeMagic *magic) -{ - GList *next; - - g_return_if_fail(magic != NULL); - - for (next = magic->matches; next; next = next->next) - tree_match_free((TreeMatch *) next->data); - g_list_free(magic->matches); - - g_free(magic); -} - -/* Create a new TreeMagic object by parsing 'node' (a element) */ -static TreeMagic *tree_magic_new(xmlNode *node, Type *type, GError **error) -{ - TreeMagic *magic = NULL; - int prio; - - g_return_val_if_fail(node != NULL, NULL); - g_return_val_if_fail(type != NULL, NULL); - g_return_val_if_fail(error != NULL, NULL); - - prio = get_priority(node); - - if (prio == -1) - { - g_set_error(error, MIME_ERROR, 0, - _("Bad priority (%d) in element"), prio); - } - else - { - magic = g_new(TreeMagic, 1); - magic->priority = prio; - magic->type = type; - magic->matches = build_tree_matches(node, error); - - if (*error) - { - gchar *old = (*error)->message; - tree_magic_free(magic); - magic = NULL; - (*error)->message = g_strconcat( - _("Error in element: "), old, NULL); - g_free(old); - } - } - - return magic; -} - -/* Write a list of Match elements (and their children) to the 'magic' file */ -static void write_magic_children(FILE *stream, GList *matches, int indent) -{ - GList *next; - - for (next = matches; next; next = next->next) - { - Match *match = (Match *) next->data; - - if (indent) - g_fprintf(stream, - "%d>%ld=", - indent, - match->range_start); - else - g_fprintf(stream, ">%ld=", match->range_start); - - write16(stream, match->data_length); - fwrite(match->data, match->data_length, 1, stream); - if (match->mask) - { - fputc('&', stream); - fwrite(match->mask, match->data_length, 1, stream); - } - if (match->word_size != 1) - g_fprintf(stream, "~%d", match->word_size); - if (match->range_length != 1) - g_fprintf(stream, "+%d", match->range_length); - - fputc('\n', stream); - - write_magic_children(stream, match->matches, indent + 1); - } -} - -/* Write a whole Magic element to the 'magic' file */ -static void write_magic(FILE *stream, Magic *magic) -{ - g_fprintf(stream, "[%d:%s/%s]\n", magic->priority, - magic->type->media, magic->type->subtype); - - write_magic_children(stream, magic->matches, 0); -} - -/* Write a list of TreeMatch elements (and their children) to the 'treemagic' file */ -static void write_tree_magic_children(FILE *stream, GList *matches, int indent) -{ - GList *next; - - for (next = matches; next; next = next->next) - { - TreeMatch *match = (TreeMatch *) next->data; - - if (indent) - g_fprintf(stream, - "%d>\"%s\"=", - indent, - match->path); - else - g_fprintf(stream, ">\"%s\"=", match->path); - - switch (match->type) - { - default: - case 0: - fputs("any", stream); - break; - case 1: - fputs("file", stream); - break; - case 2: - fputs("directory", stream); - break; - case 3: - fputs("link", stream); - break; - } - if (match->match_case) - fputs (",match-case", stream); - if (match->executable) - fputs (",executable", stream); - if (match->non_empty) - fputs (",non-empty", stream); - if (match->mimetype) - g_fprintf (stream, ",%s", match->mimetype); - - fputc('\n', stream); - - write_tree_magic_children(stream, match->matches, indent + 1); - } -} -/* Write a whole TreeMagic element to the 'treemagic' file */ -static void write_tree_magic(FILE *stream, TreeMagic *magic) -{ - g_fprintf(stream, "[%d:%s/%s]\n", magic->priority, - magic->type->media, magic->type->subtype); - - write_tree_magic_children(stream, magic->matches, 0); -} - -/* Check each of the directories with generated XML files, looking for types - * which we didn't get on this scan, and delete them. - */ -static void delete_old_types(const gchar *mime_dir) -{ - int i; - - for (i = 0; i < G_N_ELEMENTS(media_types); i++) - { - gchar *media_dir; - DIR *dir; - struct dirent *ent; - - media_dir = g_strconcat(mime_dir, "/", media_types[i], NULL); - dir = opendir(media_dir); - g_free(media_dir); - if (!dir) - continue; - - while ((ent = readdir(dir))) - { - char *type_name; - int l; - l = strlen(ent->d_name); - if (l < 4 || strcmp(ent->d_name + l - 4, ".xml") != 0) - continue; - - type_name = g_strconcat(media_types[i], "/", - ent->d_name, NULL); - type_name[strlen(type_name) - 4] = '\0'; - if (!g_hash_table_lookup(types, type_name)) - { - char *path; - path = g_strconcat(mime_dir, "/", - type_name, ".xml", NULL); -#if 0 - g_warning("Removing old info for type %s", - path); -#endif - unlink(path); - g_free(path); - } - g_free(type_name); - } - - closedir(dir); - } -} - -/* Extract one entry from namespace_hash and put it in the GPtrArray so - * we can sort it. - */ -static void add_ns(gpointer key, gpointer value, gpointer data) -{ - GPtrArray *lines = (GPtrArray *) data; - const gchar *ns = (gchar *) key; - Type *type = (Type *) value; - - g_ptr_array_add(lines, g_strconcat(ns, " ", type->media, - "/", type->subtype, "\n", NULL)); -} - -/* Write all the collected namespace rules to 'XMLnamespaces' */ -static void write_namespaces(FILE *stream) -{ - GPtrArray *lines; - int i; - - lines = g_ptr_array_new(); - - g_hash_table_foreach(namespace_hash, add_ns, lines); - - g_ptr_array_sort(lines, strcmp2); - - for (i = 0; i < lines->len; i++) - { - char *line = (char *) lines->pdata[i]; - - fwrite(line, 1, strlen(line), stream); - - g_free(line); - } - - g_ptr_array_free(lines, TRUE); -} - -static void write_subclass(gpointer key, gpointer value, gpointer data) -{ - GSList *list = value; - FILE *stream = data; - GSList *l; - char *line; - - for (l = list; l; l = l->next) - { - line = g_strconcat (key, " ", l->data, "\n", NULL); - fwrite(line, 1, strlen(line), stream); - g_free (line); - } -} - -/* Write all the collected subclass information to 'subclasses' */ -static void write_subclasses(FILE *stream) -{ - g_hash_table_foreach(subclass_hash, write_subclass, stream); -} - -/* Extract one entry from alias_hash and put it in the GPtrArray so - * we can sort it. - */ -static void add_alias(gpointer key, gpointer value, gpointer data) -{ - GPtrArray *lines = (GPtrArray *) data; - const gchar *alias = (gchar *) key; - Type *type = (Type *) value; - - g_ptr_array_add(lines, g_strconcat(alias, " ", type->media, - "/", type->subtype, "\n", - NULL)); -} - -/* Write all the collected aliases */ -static void write_aliases(FILE *stream) -{ - GPtrArray *lines; - int i; - - lines = g_ptr_array_new(); - - g_hash_table_foreach(alias_hash, add_alias, lines); - - g_ptr_array_sort(lines, strcmp2); - - for (i = 0; i < lines->len; i++) - { - char *line = (char *) lines->pdata[i]; - - fwrite(line, 1, strlen(line), stream); - - g_free(line); - } - - g_ptr_array_free(lines, TRUE); -} - -static void add_type(gpointer key, gpointer value, gpointer data) -{ - GPtrArray *lines = (GPtrArray *) data; - - g_ptr_array_add(lines, g_strconcat((char *)key, "\n", NULL)); -} - -/* Write all the collected types */ -static void write_types(FILE *stream) -{ - GPtrArray *lines; - int i; - - lines = g_ptr_array_new(); - - g_hash_table_foreach(types, add_type, lines); - - g_ptr_array_sort(lines, strcmp2); - - for (i = 0; i < lines->len; i++) - { - char *line = (char *) lines->pdata[i]; - - fwrite(line, 1, strlen(line), stream); - - g_free(line); - } - - g_ptr_array_free(lines, TRUE); -} - - -static void write_one_icon(gpointer key, gpointer value, gpointer data) -{ - char *mimetype = (char *)key; - char *iconname = (char *)value; - FILE *stream = (FILE *)data; - char *line; - - line = g_strconcat (mimetype, ":", iconname, "\n", NULL); - fwrite(line, 1, strlen(line), stream); - g_free (line); -} - -static void write_icons(GHashTable *icons, FILE *stream) -{ - g_hash_table_foreach(icons, write_one_icon, stream); -} - -/* Issue a warning if 'path' won't be found by applications */ -static void check_in_path_xdg_data(const char *mime_path) -{ - struct stat path_info, dir_info; - const char *env; - char **dirs; - char *path; - int i, n; - - path = g_path_get_dirname(mime_path); - - if (stat(path, &path_info)) - { - g_warning("Can't stat '%s' directory: %s", - path, g_strerror(errno)); - goto out; - } - - env = getenv("XDG_DATA_DIRS"); - if (!env) - env = "/usr/local/share/"PATH_SEPARATOR"/usr/share/"; - dirs = g_strsplit(env, PATH_SEPARATOR, 0); - g_return_if_fail(dirs != NULL); - for (n = 0; dirs[n]; n++) - ; - env = getenv("XDG_DATA_HOME"); - if (env) - dirs[n] = g_strdup(env); - else - dirs[n] = g_build_filename(g_get_home_dir(), ".local", - "share", NULL); - n++; - - for (i = 0; i < n; i++) - { - if (stat(dirs[i], &dir_info) == 0 && - dir_info.st_ino == path_info.st_ino && - dir_info.st_dev == path_info.st_dev) - break; - } - - if (i == n) - { - g_printerr(_("\nNote that '%s' is not in the search path\n" - "set by the XDG_DATA_HOME and XDG_DATA_DIRS\n" - "environment variables, so applications may not\n" - "be able to find it until you set them. The\n" - "directories currently searched are:\n\n"), path); - g_printerr("- %s\n", dirs[n - 1]); - for (i = 0; i < n - 1; i++) - g_printerr("- %s\n", dirs[i]); - g_printerr("\n"); - } - - for (i = 0; i < n; i++) - g_free(dirs[i]); - g_free(dirs); -out: - g_free(path); -} - -static void free_string_list(gpointer data) -{ - GSList *list = data; - - g_slist_foreach(list, (GFunc)g_free, NULL); - g_slist_free(list); -} - -#define ALIGN_VALUE(this, boundary) \ - (( ((unsigned long)(this)) + (((unsigned long)(boundary)) -1)) & (~(((unsigned long)(boundary))-1))) - - -static gint -write_data (FILE *cache, const gchar *n, gint len) -{ - gchar *s; - int i, l; - - l = ALIGN_VALUE (len, 4); - - s = g_malloc0 (l); - memcpy (s, n, len); - - i = fwrite (s, l, 1, cache); - - g_free(s); - - return i == 1; - -} - -static gint -write_string (FILE *cache, const gchar *n) -{ - return write_data (cache, n, strlen (n) + 1); -} - -static gboolean -write_card16 (FILE *cache, guint16 n) -{ - int i; - - n = GUINT16_TO_BE (n); - - i = fwrite ((char *)&n, 2, 1, cache); - - return i == 1; -} - -static gboolean -write_card32 (FILE *cache, guint32 n) -{ - int i; - - n = GUINT32_TO_BE (n); - - i = fwrite ((char *)&n, 4, 1, cache); - - return i == 1; -} - -#define MAJOR_VERSION 1 -#define MINOR_VERSION 2 - -static gboolean -write_header (FILE *cache, - gint alias_offset, - gint parent_offset, - gint literal_offset, - gint suffix_offset, - gint glob_offset, - gint magic_offset, - gint namespace_offset, - gint icons_list_offset, - gint generic_icons_list_offset, - gint type_offset, - guint *offset) -{ - *offset = 44; - - return (write_card16 (cache, MAJOR_VERSION) && - write_card16 (cache, MINOR_VERSION) && - write_card32 (cache, alias_offset) && - write_card32 (cache, parent_offset) && - write_card32 (cache, literal_offset) && - write_card32 (cache, suffix_offset) && - write_card32 (cache, glob_offset) && - write_card32 (cache, magic_offset) && - write_card32 (cache, namespace_offset) && - write_card32 (cache, icons_list_offset) && - write_card32 (cache, generic_icons_list_offset) && - write_card32 (cache, type_offset)); -} - - -typedef gboolean (FilterFunc) (gpointer key); -typedef gchar ** (GetValueFunc) (gpointer data, gchar *key); - -typedef struct -{ - FILE *cache; - GHashTable *pool; - guint offset; - GetValueFunc *get_value; - gpointer data; - gboolean weighted; - gboolean error; -} MapData; - -static void -write_map_entry (gpointer key, - gpointer data) -{ - MapData *map_data = (MapData *)data; - gchar **values; - guint offset, i; - guint weight; - - values = (* map_data->get_value) (map_data->data, key); - for (i = 0; values[i]; i++) - { - if (map_data->weighted && (i % 3 == 2)) - { - weight = atoi (values[i]); - - if (!write_card32 (map_data->cache, weight)) - map_data->error = TRUE; - - map_data->offset += 4; - } - else - { - offset = GPOINTER_TO_UINT (g_hash_table_lookup (map_data->pool, values[i])); - if (offset == 0) - { - g_warning ("Missing string: '%s'", values[i]); - map_data->error = TRUE; - } - if (!write_card32 (map_data->cache, offset)) - map_data->error = TRUE; - map_data->offset += 4; - } - } - - g_strfreev (values); -} - -typedef struct -{ - FilterFunc *filter; - GPtrArray *keys; -} FilterData; - -static void -add_key (gpointer key, - gpointer value, - gpointer data) -{ - FilterData *filter_data = (FilterData *)data; - - if (!filter_data->filter || (* filter_data->filter) (key)) - g_ptr_array_add (filter_data->keys, key); -} - -typedef struct -{ - GetValueFunc *get_value; - gpointer data; - guint count; - gboolean weighted; -} CountData; - -static void -count_map_entry (gpointer key, - gpointer data) -{ - CountData *count_data = (CountData *)data; - gchar **values; - - values = (* count_data->get_value) (count_data->data, key); - count_data->count += g_strv_length (values) / (count_data->weighted ? 3 : 2); - g_strfreev (values); -} - -static gboolean -write_map (FILE *cache, - GHashTable *strings, - GHashTable *map, - FilterFunc *filter, - GetValueFunc *get_value, - gboolean weighted, - guint *offset) -{ - GPtrArray *keys; - MapData map_data; - FilterData filter_data; - CountData count_data; - - keys = g_ptr_array_new (); - - filter_data.keys = keys; - filter_data.filter = filter; - g_hash_table_foreach (map, add_key, &filter_data); - - g_ptr_array_sort (keys, strcmp2); - - count_data.data = map; - count_data.count = 0; - count_data.get_value = get_value; - count_data.weighted = weighted; - - g_ptr_array_foreach (keys, count_map_entry, &count_data); - - if (!write_card32 (cache, count_data.count)) - return FALSE; - - map_data.cache = cache; - map_data.pool = strings; - map_data.get_value = get_value; - map_data.data = map; - map_data.weighted = weighted; - map_data.offset = *offset + 4; - map_data.error = FALSE; - - g_ptr_array_foreach (keys, write_map_entry, &map_data); - - *offset = map_data.offset; - - return !map_data.error; -} - -static gchar ** -get_type_value (gpointer data, - gchar *key) -{ - Type *type; - gchar **result; - - type = (Type *)g_hash_table_lookup ((GHashTable *)data, key); - - result = g_new0 (gchar *, 3); - result[0] = g_strdup (key); - result[1] = g_strdup_printf ("%s/%s", type->media, type->subtype); - - return result; -} - -static guint32 -get_glob_weight_and_flags (Glob *glob) -{ - guint32 res; - - res = glob->weight & 0xff; - if (glob->case_sensitive) - res |= 0x100; - return res; -} - -static gchar ** -get_glob_list_value (gpointer data, - gchar *key) -{ - GList *list; - Glob *glob; - Type *type; - gchar **result; - gint i; - - list = (GList *)g_hash_table_lookup ((GHashTable *)data, key); - - result = g_new0 (gchar *, 1 + 3 * g_list_length (list)); - - i = 0; - for (; list; list = list->next) - { - glob = (Glob *)list->data; - type = glob->type; - - result[i++] = g_strdup (glob->pattern); - result[i++] = g_strdup_printf ("%s/%s", type->media, type->subtype); - result[i++] = g_strdup_printf ("%ud", get_glob_weight_and_flags (glob)); - } - return result; -} - -static gboolean -write_alias_cache (FILE *cache, - GHashTable *strings, - guint *offset) -{ - return write_map (cache, strings, alias_hash, NULL, get_type_value, FALSE, offset); -} - -static void -write_parent_entry (gpointer key, - gpointer data) -{ - gchar *mimetype = (gchar *)key; - MapData *map_data = (MapData *)data; - guint parents_offset, offset; - GList *parents; - - parents = (GList *)g_hash_table_lookup (subclass_hash, mimetype); - offset = GPOINTER_TO_UINT (g_hash_table_lookup (map_data->pool, mimetype)); - if (offset == 0) - { - g_warning ("Missing string: '%s'", (gchar *)key); - map_data->error = TRUE; - } - - parents_offset = map_data->offset; - map_data->offset += 4 + 4 * g_list_length (parents); - - if (!write_card32 (map_data->cache, offset) || - !write_card32 (map_data->cache, parents_offset)) - map_data->error = TRUE; -} - -static void -write_parent_list (gpointer key, - gpointer data) -{ - gchar *mimetype = (gchar *)key; - MapData *map_data = (MapData *)data; - guint offset; - GList *parents, *p; - - parents = (GList *)g_hash_table_lookup (subclass_hash, mimetype); - - if (!write_card32 (map_data->cache, g_list_length (parents))) - map_data->error = TRUE; - - for (p = parents; p; p = p->next) - { - gchar *parent = (gchar *)p->data; - - offset = GPOINTER_TO_UINT (g_hash_table_lookup (map_data->pool, parent)); - if (offset == 0) - { - g_warning ("Missing string: '%s'", parent); - map_data->error = TRUE; - } - - if (!write_card32 (map_data->cache, offset)) - map_data->error = TRUE; - } - - map_data->offset += 4 + 4 * g_list_length (parents); -} - -static gboolean -write_parent_cache (FILE *cache, - GHashTable *strings, - guint *offset) -{ - GPtrArray *keys; - MapData map_data; - FilterData filter_data; - - keys = g_ptr_array_new (); - - filter_data.keys = keys; - filter_data.filter = NULL; - g_hash_table_foreach (subclass_hash, add_key, &filter_data); - - g_ptr_array_sort (keys, strcmp2); - - if (!write_card32 (cache, keys->len)) - return FALSE; - - map_data.cache = cache; - map_data.pool = strings; - map_data.offset = *offset + 4 + keys->len * 8; - map_data.error = FALSE; - - g_ptr_array_foreach (keys, write_parent_entry, &map_data); - - map_data.offset = *offset + 4 + keys->len * 8; - g_ptr_array_foreach (keys, write_parent_list, &map_data); - - *offset = map_data.offset; - - return !map_data.error; -} - -typedef enum -{ - GLOB_LITERAL, - GLOB_SIMPLE, - GLOB_FULL -} GlobType; - -static GlobType -glob_type (gchar *glob) -{ - gchar *ptr; - gboolean maybe_in_simple_glob = FALSE; - gboolean first_char = TRUE; - - ptr = glob; - - while (*ptr != '\0') - { - if (*ptr == '*' && first_char) - maybe_in_simple_glob = TRUE; - else if (*ptr == '\\' || *ptr == '[' || *ptr == '?' || *ptr == '*') - return GLOB_FULL; - - first_char = FALSE; - ptr = g_utf8_next_char (ptr); - } - - if (maybe_in_simple_glob) - return GLOB_SIMPLE; - - return GLOB_LITERAL; -} - -static gboolean -is_literal_glob (gpointer key) -{ - return glob_type ((gchar *)key) == GLOB_LITERAL; -} - -static gboolean -is_simple_glob (gpointer key) -{ - return glob_type ((gchar *)key) == GLOB_SIMPLE; -} - -static gboolean -is_full_glob (gpointer key) -{ - return glob_type ((gchar *)key) == GLOB_FULL; -} - -static gboolean -write_literal_cache (FILE *cache, - GHashTable *strings, - guint *offset) -{ - return write_map (cache, strings, globs_hash, is_literal_glob, - get_glob_list_value, TRUE, offset); -} - -static gboolean -write_glob_cache (FILE *cache, - GHashTable *strings, - guint *offset) -{ - return write_map (cache, strings, globs_hash, is_full_glob, - get_glob_list_value, TRUE, offset); -} - -typedef struct _SuffixEntry SuffixEntry; - -struct _SuffixEntry -{ - gunichar character; - gchar *mimetype; - gint weight; - guint32 flags; - GList *children; - guint size; - guint depth; -}; - -static GList * -insert_suffix (gunichar *suffix, - gchar *mimetype, - gint weight, - guint32 flags, - GList *suffixes) -{ - GList *l; - SuffixEntry *s = NULL; - - for (l = suffixes; l; l = l->next) - { - s = (SuffixEntry *)l->data; - - if (s->character > suffix[0]) - { - s = g_new0 (SuffixEntry, 1); - s->character = suffix[0]; - s->mimetype = NULL; - s->children = NULL; - - suffixes = g_list_insert_before (suffixes, l, s); - } - - if (s->character == suffix[0]) - break; - } - - if (!s || s->character != suffix[0]) - { - s = g_new0 (SuffixEntry, 1); - s->character = suffix[0]; - s->mimetype = NULL; - s->children = NULL; - - suffixes = g_list_append (suffixes, s); - } - - if (suffix[1] == 0) - { - GList *l2; - SuffixEntry *s2; - gboolean found = FALSE; - - for (l2 = s->children; l2; l2 = l2->next) - { - s2 = (SuffixEntry *)l2->data; - if (s2->character != 0) - break; - if (strcmp (s2->mimetype, mimetype) == 0) - { - if (s2->weight < weight) - s2->weight = weight; - found = TRUE; - break; - } - } - if (!found) - { - s2 = g_new0 (SuffixEntry, 1); - s2->character = 0; - s2->mimetype = mimetype; - s2->weight = weight; - s2->flags = flags; - s2->children = NULL; - s->children = g_list_insert_before (s->children, l2, s2); - } - } - else - s->children = insert_suffix (suffix + 1, mimetype, weight, flags, s->children); - - return suffixes; -} - -static void -ucs4_reverse (gunichar *in, glong len) -{ - int i; - gunichar c; - - for (i = 0; i < len - i - 1; i++) - { - c = in[i]; - in[i] = in[len - i - 1]; - in[len - i - 1] = c; - } -} - -static void -build_suffixes (gpointer key, - gpointer value, - gpointer data) -{ - gchar *pattern = (gchar *)key; - GList *list = (GList *)value; - GList **suffixes = (GList **)data; - gunichar *suffix; - gchar *mimetype; - Glob *glob; - Type *type; - glong len; - guint32 flags; - - if (is_simple_glob (pattern)) - { - suffix = g_utf8_to_ucs4 (pattern + 1, -1, NULL, &len, NULL); - - if (suffix == NULL) - { - g_warning ("Glob '%s' is not valid UTF-8", pattern); - return; - } - - ucs4_reverse (suffix, len); - for ( ; list; list = list->next) - { - glob = (Glob *)list->data; - type = glob->type; - mimetype = g_strdup_printf ("%s/%s", type->media, type->subtype); - - flags = 0; - if (glob->case_sensitive) - flags |= 0x100; - *suffixes = insert_suffix (suffix, mimetype, glob->weight, flags, *suffixes); - } - - g_free (suffix); - } -} - -static void -calculate_size (SuffixEntry *entry) -{ - GList *s; - - entry->size = 0; - entry->depth = 0; - for (s = entry->children; s; s= s->next) - { - SuffixEntry *child = (SuffixEntry *)s->data; - - calculate_size (child); - entry->size += 1 + child->size; - entry->depth = MAX (entry->depth, child->depth + 1); - } -} - -static gboolean -write_suffix_entries (FILE *cache, - guint depth, - SuffixEntry *entry, - GHashTable *strings, - guint *child_offset) -{ - GList *c; - guint offset; - - if (depth > 0) - { - gboolean error = FALSE; - - for (c = entry->children; c; c = c->next) - { - SuffixEntry *child = (SuffixEntry *)c->data; - if (!write_suffix_entries (cache, depth - 1, child, strings, child_offset)) - error = TRUE; - } - - return !error; - } - - if (entry->mimetype) - { - offset = GPOINTER_TO_UINT(g_hash_table_lookup (strings, entry->mimetype)); - if (offset == 0) - { - g_warning ("Missing string: '%s'", entry->mimetype); - return FALSE; - } - } - else - offset = 0; - - if (entry->character == 0) - { - if (!write_card32 (cache, entry->character)) - return FALSE; - - if (!write_card32 (cache, offset)) - return FALSE; - - if (!write_card32 (cache, (entry->weight & 0xff) | entry->flags)) - return FALSE; - } - else - { - if (!write_card32 (cache, entry->character)) - return FALSE; - - if (!write_card32 (cache, g_list_length (entry->children))) - return FALSE; - - if (!write_card32 (cache, *child_offset)) - return FALSE; - } - - *child_offset += 12 * g_list_length (entry->children); - - return TRUE; -} - -static gboolean -write_suffix_cache (FILE *cache, - GHashTable *strings, - guint *offset) -{ - GList *suffixes, *s; - guint n_entries; - guint child_offset; - guint depth, d; - - suffixes = NULL; - - g_hash_table_foreach (globs_hash, build_suffixes, &suffixes); - - n_entries = g_list_length (suffixes); - - *offset += 8; - child_offset = *offset + 12 * n_entries; - depth = 0; - for (s = suffixes; s; s= s->next) - { - SuffixEntry *entry = (SuffixEntry *)s->data; - calculate_size (entry); - depth = MAX (depth, entry->depth + 1); - } - - if (!write_card32 (cache, n_entries) || !write_card32 (cache, *offset)) - return FALSE; - - for (d = 0; d < depth; d++) - { - for (s = suffixes; s; s = s->next) - { - SuffixEntry *entry = (SuffixEntry *)s->data; - - if (!write_suffix_entries (cache, d, entry, strings, &child_offset)) - return FALSE; - } - } - - *offset = child_offset; - - return TRUE; -} - -typedef struct { - FILE *cache; - GHashTable *strings; - GList *matches; - guint offset; - gboolean error; -} WriteMatchData; - - -static void -write_match (gpointer key, - gpointer data) -{ - Magic *magic = (Magic *)key; - WriteMatchData *mdata = (WriteMatchData *)data; - gchar *mimetype; - guint offset; - - if (!write_card32 (mdata->cache, magic->priority)) - { - mdata->error = TRUE; - return; - } - - mimetype = g_strdup_printf ("%s/%s", magic->type->media, magic->type->subtype); - offset = GPOINTER_TO_UINT (g_hash_table_lookup (mdata->strings, mimetype)); - if (offset == 0) - { - g_warning ("Missing string: '%s'", mimetype); - g_free (mimetype); - mdata->error = TRUE; - return; - } - g_free (mimetype); - - if (!write_card32 (mdata->cache, offset)) - { - mdata->error = TRUE; - return; - } - - if (!write_card32 (mdata->cache, g_list_length (magic->matches))) - { - mdata->error = TRUE; - return; - } - - offset = mdata->offset + 32 * g_list_index (mdata->matches, magic->matches->data); - - if (!write_card32 (mdata->cache, offset)) - { - mdata->error = TRUE; - return; - } -} - -static gboolean -write_matchlet (FILE *cache, - Match *match, - GList *matches, - gint offset, - gint *offset2) -{ - if (!write_card32 (cache, match->range_start) || - !write_card32 (cache, match->range_length) || - !write_card32 (cache, match->word_size) || - !write_card32 (cache, match->data_length) || - !write_card32 (cache, *offset2)) - return FALSE; - - *offset2 = ALIGN_VALUE (*offset2 + match->data_length, 4); - - if (match->mask) - { - if (!write_card32 (cache, *offset2)) - return FALSE; - - *offset2 = ALIGN_VALUE (*offset2 + match->data_length, 4); - } - else - { - if (!write_card32 (cache, 0)) - return FALSE; - } - - if (match->matches) - { - if (!write_card32 (cache, g_list_length (match->matches)) || - !write_card32 (cache, offset + 32 * g_list_index (matches, match->matches->data))) - return FALSE; - } - else - { - if (!write_card32 (cache, 0) || - !write_card32 (cache, 0)) - return FALSE; - } - - return TRUE; -} - -static gboolean -write_matchlet_data (FILE *cache, - Match *match, - gint *offset2) -{ - if (!write_data (cache, match->data, match->data_length)) - return FALSE; - - *offset2 = ALIGN_VALUE (*offset2 + match->data_length, 4); - - if (match->mask) - { - if (!write_data (cache, match->mask, match->data_length)) - return FALSE; - - *offset2 = ALIGN_VALUE (*offset2 + match->data_length, 4); - } - - return TRUE; -} - -static void -collect_matches_list (GList *list, GList **matches) -{ - GList *l; - - for (l = list; l; l = l->next) - *matches = g_list_prepend (*matches, l->data); - - for (l = list; l; l = l->next) - { - Match *match = (Match *)l->data; - collect_matches_list (match->matches, matches); - } -} - -static void -collect_matches (gpointer key, gpointer data) -{ - Magic *magic = (Magic *)key; - GList **matches = (GList **)data; - - collect_matches_list (magic->matches, matches); -} - -static gboolean -write_magic_cache (FILE *cache, - GHashTable *strings, - guint *offset) -{ - guint n_entries, max_extent; - gint offset2; - GList *m; - WriteMatchData data; - - data.matches = NULL; - g_ptr_array_foreach (magic_array, collect_matches, &data.matches); - data.matches = g_list_reverse (data.matches); - - max_extent = 0; - for (m = data.matches; m; m = m->next) - { - Match *match = (Match *)m->data; - max_extent = MAX (max_extent, match->data_length + match->range_start + match->range_length); - } - - n_entries = magic_array->len; - - *offset += 12; - - if (!write_card32 (cache, n_entries) || - !write_card32 (cache, max_extent) || - !write_card32 (cache, *offset)) - return FALSE; - - *offset += 16 * n_entries; - - data.cache = cache; - data.strings = strings; - data.offset = *offset; - data.error = FALSE; - - offset2 = *offset + 32 * g_list_length (data.matches); - - g_ptr_array_foreach (magic_array, write_match, &data); - for (m = data.matches; m; m = m->next) - { - Match *match = (Match *)m->data; - write_matchlet (cache, match, data.matches, *offset, &offset2); - } - - offset2 = *offset + 32 * g_list_length (data.matches); - - for (m = data.matches; m; m = m->next) - { - Match *match = (Match *)m->data; - write_matchlet_data (cache, match, &offset2); - } - - *offset = offset2; - - g_list_free (data.matches); - - return !data.error; -} - -static gchar ** -get_namespace_value (gpointer data, - gchar *key) -{ - Type *type; - gchar **result; - gchar *space; - - type = (Type *)g_hash_table_lookup ((GHashTable *)data, key); - - result = g_new0 (gchar *, 4); - space = strchr (key, ' '); - if (*space) - { - *space = '\0'; - result[0] = g_strdup (key); - result[1] = g_strdup (space + 1); - *space = ' '; - } - else - result[0] = g_strdup (key); - - result[2] = g_strdup_printf ("%s/%s", type->media, type->subtype); - - return result; -} - -static gboolean -write_namespace_cache (FILE *cache, - GHashTable *strings, - guint *offset) -{ - return write_map (cache, strings, namespace_hash, NULL, - get_namespace_value, FALSE, offset); -} - -static gchar ** -get_icon_value (gpointer data, - gchar *key) -{ - gchar *iconname; - gchar **result; - - iconname = (gchar *)g_hash_table_lookup ((GHashTable *)data, key); - - result = g_new0 (gchar *, 3); - result[0] = g_strdup (key); - result[1] = g_strdup (iconname); - result[2] = NULL; - - return result; -} - -static gboolean -write_icons_cache (FILE *cache, - GHashTable *strings, - GHashTable *icon_hash, - guint *offset) -{ - return write_map (cache, strings, icon_hash, NULL, - get_icon_value, FALSE, offset); -} - -/* Write all the collected types */ -static gboolean -write_types_cache (FILE *cache, - GHashTable *strings, - GHashTable *types, - guint *offset) -{ - GPtrArray *lines; - int i; - char *mimetype; - guint mime_offset; - - lines = g_ptr_array_new(); - - g_hash_table_foreach(types, add_type, lines); - - g_ptr_array_sort(lines, strcmp2); - - if (!write_card32 (cache, lines->len)) - return FALSE; - - for (i = 0; i < lines->len; i++) - { - mimetype = (char *) lines->pdata[i]; - mime_offset = GPOINTER_TO_UINT (g_hash_table_lookup (strings, mimetype)); - if (!write_card32 (cache, mime_offset)) - return FALSE; - - g_free(mimetype); - } - - *offset += 4 + 4 * lines->len; - - g_ptr_array_free(lines, TRUE); - - return TRUE; -} - -static void -collect_alias (gpointer key, - gpointer value, - gpointer data) -{ - GHashTable *strings = (GHashTable *)data; - Type *type = (Type *)value; - gchar *mimetype; - - mimetype = g_strdup_printf ("%s/%s", type->media, type->subtype); - g_hash_table_insert (strings, key, NULL); - g_hash_table_insert (strings, mimetype, NULL); -} - - -static void -collect_parents (gpointer key, - gpointer value, - gpointer data) -{ - GList *parents = (GList *)value; - GHashTable *strings = (GHashTable *)data; - GList *p; - - g_hash_table_insert (strings, key, NULL); - for (p = parents; p; p = p->next) - g_hash_table_insert (strings, p->data, NULL); -} - -static void -collect_glob (gpointer key, - gpointer value, - gpointer data) -{ - GList *list = (GList *)value; - GHashTable *strings = (GHashTable *)data; - gchar *mimetype; - Glob *glob; - Type *type; - - switch (glob_type ((char *)key)) - { - case GLOB_LITERAL: - case GLOB_FULL: - g_hash_table_insert (strings, key, NULL); - break; - default: - break; - } - - for (; list; list = list->next) - { - glob = (Glob *)list->data; - type = glob->type; - mimetype = g_strdup_printf ("%s/%s", type->media, type->subtype); - - g_hash_table_insert (strings, mimetype, NULL); - } -} - -static void -collect_magic (gpointer key, - gpointer data) -{ - Magic *magic = (Magic *)key; - GHashTable *strings = (GHashTable *)data; - gchar *mimetype; - - mimetype = g_strdup_printf ("%s/%s", magic->type->media, magic->type->subtype); - g_hash_table_insert (strings, mimetype, NULL); -} - -static void -collect_namespace (gpointer key, - gpointer value, - gpointer data) -{ - gchar *ns = (gchar *)key; - Type *type = (Type *)value; - GHashTable *strings = (GHashTable *)data; - gchar *mimetype; - gchar *space; - - mimetype = g_strdup_printf ("%s/%s", type->media, type->subtype); - g_hash_table_insert (strings, mimetype, NULL); - - space = strchr (ns, ' '); - - if (space) - { - *space = '\0'; - g_hash_table_insert (strings, g_strdup (ns), NULL); - g_hash_table_insert (strings, space + 1, NULL); - *space = ' '; - } - else - g_hash_table_insert (strings, ns, NULL); -} - -static void -collect_icons(gpointer key, - gpointer value, - gpointer data) -{ - gchar *mimetype = (gchar *)key; - gchar *iconname = (gchar *)value; - GHashTable *strings = (GHashTable *)data; - - g_hash_table_insert (strings, mimetype, NULL); - g_hash_table_insert (strings, iconname, NULL); -} - - -static void -collect_strings (GHashTable *strings) -{ - g_hash_table_foreach (alias_hash, collect_alias, strings); - g_hash_table_foreach (subclass_hash, collect_parents, strings); - g_hash_table_foreach (globs_hash, collect_glob, strings); - g_ptr_array_foreach (magic_array, collect_magic, strings); - g_hash_table_foreach (namespace_hash, collect_namespace, strings); - g_hash_table_foreach (generic_icon_hash, collect_icons, strings); - g_hash_table_foreach (icon_hash, collect_icons, strings); -} - -typedef struct -{ - FILE *cache; - GHashTable *strings; - guint offset; - gboolean error; -} StringData; - -static void -write_one_string (gpointer key, - gpointer value, - gpointer data) -{ - gchar *str = (gchar *)key; - StringData *sdata = (StringData *)data; - - if (!write_string (sdata->cache, str)) - sdata->error = TRUE; - - g_hash_table_insert (sdata->strings, str, GUINT_TO_POINTER (sdata->offset)); - - sdata->offset = ALIGN_VALUE (sdata->offset + strlen (str) + 1, 4); -} - -static gboolean -write_strings (FILE *cache, - GHashTable *strings, - guint *offset) -{ - StringData data; - - data.cache = cache; - data.strings = strings; - data.offset = *offset; - data.error = FALSE; - - g_hash_table_foreach (strings, write_one_string, &data); - - *offset = data.offset; - - return !data.error; -} - -static gboolean -write_cache (FILE *cache) -{ - guint strings_offset; - guint alias_offset; - guint parent_offset; - guint literal_offset; - guint suffix_offset; - guint glob_offset; - guint magic_offset; - guint namespace_offset; - guint icons_list_offset; - guint generic_icons_list_offset; - guint type_offset; - guint offset; - GHashTable *strings; - - offset = 0; - if (!write_header (cache, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, &offset)) - { - g_warning ("Failed to write header"); - return FALSE; - } - - strings = g_hash_table_new (g_str_hash, g_str_equal); - collect_strings (strings); - strings_offset = offset; - - if (!write_strings (cache, strings, &offset)) - { - g_warning ("Failed to write strings"); - return FALSE; - } - g_message ("Wrote %d strings at %x - %x", - g_hash_table_size (strings), strings_offset, offset); - - alias_offset = offset; - if (!write_alias_cache (cache, strings, &offset)) - { - g_warning ("Failed to write alias list"); - return FALSE; - } - g_message ("Wrote aliases at %x - %x", alias_offset, offset); - - parent_offset = offset; - if (!write_parent_cache (cache, strings, &offset)) - { - g_warning ("Failed to write parent list"); - return FALSE; - } - g_message ("Wrote parents at %x - %x", parent_offset, offset); - - literal_offset = offset; - if (!write_literal_cache (cache, strings, &offset)) - { - g_warning ("Failed to write literal list"); - return FALSE; - } - g_message ("Wrote literal globs at %x - %x", literal_offset, offset); - - suffix_offset = offset; - if (!write_suffix_cache (cache, strings, &offset)) - { - g_warning ("Failed to write suffix list"); - return FALSE; - } - g_message ("Wrote suffix globs at %x - %x", suffix_offset, offset); - - glob_offset = offset; - if (!write_glob_cache (cache, strings, &offset)) - { - g_warning ("Failed to write glob list"); - return FALSE; - } - g_message ("Wrote full globs at %x - %x", glob_offset, offset); - - magic_offset = offset; - if (!write_magic_cache (cache, strings, &offset)) - { - g_warning ("Failed to write magic list"); - return FALSE; - } - g_message ("Wrote magic at %x - %x", magic_offset, offset); - - namespace_offset = offset; - if (!write_namespace_cache (cache, strings, &offset)) - { - g_warning ("Failed to write namespace list"); - return FALSE; - } - g_message ("Wrote namespace list at %x - %x", namespace_offset, offset); - - icons_list_offset = offset; - if (!write_icons_cache (cache, strings, icon_hash, &offset)) - { - g_warning ("Failed to write icons list"); - return FALSE; - } - g_message ("Wrote icons list at %x - %x", icons_list_offset, offset); - - generic_icons_list_offset = offset; - if (!write_icons_cache (cache, strings, generic_icon_hash, &offset)) - { - g_warning ("Failed to write generic icons list"); - return FALSE; - } - g_message ("Wrote generic icons list at %x - %x", generic_icons_list_offset, offset); - - type_offset = offset; - if (!write_types_cache (cache, strings, types, &offset)) - { - g_warning ("Failed to write types list"); - return FALSE; - } - g_message ("Wrote types list at %x - %x", type_offset, offset); - - rewind (cache); - offset = 0; - - if (!write_header (cache, - alias_offset, parent_offset, literal_offset, - suffix_offset, glob_offset, magic_offset, - namespace_offset, icons_list_offset, - generic_icons_list_offset, type_offset, - &offset)) - { - g_warning ("Failed to rewrite header"); - return FALSE; - } - - g_hash_table_destroy (strings); - - return TRUE; -} - - -static FILE * -fopen_gerror(const char *filename, GError **error) -{ - FILE *stream = fopen(filename, "wb"); - - if (!stream) - set_error_from_errno(error); - - return stream; -} - -static gboolean -fclose_gerror(FILE *f, GError **error) -{ - int err = ferror(f); - if (err != 0) - { - set_error_from_errno(error); - return FALSE; - } - if (fclose(f) != 0) - { - set_error_from_errno(error); - return FALSE; - } - return TRUE; -} - -static gint64 -newest_mtime(const char *packagedir) -{ - GDir *dir; -#if !GLIB_CHECK_VERSION(2,26,0) - struct stat GStatBuf; -#else - GStatBuf statbuf; -#endif - gint64 mtime = G_MININT64; - const char *name; - int retval; - - retval = g_stat(packagedir, &statbuf); - if (retval < 0) - return mtime; - mtime = statbuf.st_mtime; - - dir = g_dir_open(packagedir, 0, NULL); - if (!dir) - return mtime; - - while ((name = g_dir_read_name(dir))) { - char *path; - - path = g_build_filename(packagedir, name, NULL); - retval = g_stat(path, &statbuf); - g_free(path); - if (retval < 0) - continue; - if (statbuf.st_mtime > mtime) - mtime = statbuf.st_mtime; - } - - g_dir_close(dir); - return mtime; -} - -static gboolean -is_cache_up_to_date (const char *mimedir, const char *packagedir) -{ - GStatBuf version_stat; - gint64 package_mtime; - char *mimeversion; - int retval; - - mimeversion = g_build_filename(mimedir, "/version", NULL); - retval = g_stat(mimeversion, &version_stat); - g_free(mimeversion); - if (retval < 0) - return FALSE; - - package_mtime = newest_mtime(packagedir); - if (package_mtime < 0) - return FALSE; - - return version_stat.st_mtime >= package_mtime; -} - -int main(int argc, char **argv) -{ - char *mime_dir = NULL; - char *package_dir = NULL; - int opt; - GError *local_error = NULL; - GError **error = &local_error; - gboolean if_newer = FALSE; - - /* Install the filtering log handler */ - g_log_set_default_handler(g_log_handler, NULL); - - while ((opt = getopt(argc, argv, "hvVn")) != -1) - { - switch (opt) - { - case '?': - usage(argv[0]); - return EXIT_FAILURE; - case 'h': - usage(argv[0]); - return EXIT_SUCCESS; - case 'v': - g_fprintf(stderr, - "update-mime-database (" PACKAGE ") " - VERSION "\n" COPYING); - return EXIT_SUCCESS; - case 'V': - enabled_log_levels |= G_LOG_LEVEL_MESSAGE - | G_LOG_LEVEL_INFO; - break; - case 'n': - if_newer = TRUE; - break; - default: - return EXIT_FAILURE; - } - } - - if (optind != argc - 1) - { - usage(argv[0]); - return EXIT_FAILURE; - } - - LIBXML_TEST_VERSION; - - mime_dir = argv[optind]; - - /* Strip trailing / characters */ - { - int l = strlen(mime_dir); - while (l > 1 && mime_dir[l - 1] == '/') - { - l--; - mime_dir[l] = '\0'; - } - } - - package_dir = g_strconcat(mime_dir, "/packages", NULL); - - if (access(mime_dir, F_OK)) - { - g_warning(_("Directory '%s' does not exist!"), package_dir); - return EXIT_FAILURE; - } - - g_message("Updating MIME database in %s...\n", mime_dir); - - if (access(package_dir, F_OK)) - { - g_fprintf(stderr, - _("Directory '%s' does not exist!\n"), package_dir); - return EXIT_FAILURE; - } - - if (if_newer && is_cache_up_to_date(mime_dir, package_dir)) { - g_message ("Skipping mime update as the cache is up-to-date"); - return EXIT_SUCCESS; - } - - types = g_hash_table_new_full(g_str_hash, g_str_equal, - g_free, free_type); - globs_hash = g_hash_table_new_full(g_str_hash, g_str_equal, - g_free, NULL); - namespace_hash = g_hash_table_new_full(g_str_hash, g_str_equal, - g_free, NULL); - magic_array = g_ptr_array_new(); - tree_magic_array = g_ptr_array_new(); - subclass_hash = g_hash_table_new_full(g_str_hash, g_str_equal, - g_free, free_string_list); - alias_hash = g_hash_table_new_full(g_str_hash, g_str_equal, - g_free, NULL); - icon_hash = g_hash_table_new_full(g_str_hash, g_str_equal, - g_free, NULL); - generic_icon_hash = g_hash_table_new_full(g_str_hash, g_str_equal, - g_free, NULL); - - scan_source_dir(package_dir); - g_free(package_dir); - - delete_old_types(mime_dir); - - g_hash_table_foreach(types, write_out_type, (gpointer) mime_dir); - - { - FILE *globs; - char *globs_path; - GList *glob_list = NULL; - - g_hash_table_foreach(globs_hash, collect_glob2, &glob_list); - glob_list = g_list_sort(glob_list, (GCompareFunc)compare_glob_by_weight); - globs_path = g_strconcat(mime_dir, "/globs.new", NULL); - globs = fopen_gerror(globs_path, error); - if (!globs) - goto out; - g_fprintf(globs, - "# This file was automatically generated by the\n" - "# update-mime-database command. DO NOT EDIT!\n"); - write_out_glob(glob_list, globs); - if (!fclose_gerror(globs, error)) - goto out; - if (!atomic_update(globs_path, error)) - goto out; - g_free(globs_path); - - globs_path = g_strconcat(mime_dir, "/globs2.new", NULL); - globs = fopen_gerror(globs_path, error); - if (!globs) - goto out; - g_fprintf(globs, - "# This file was automatically generated by the\n" - "# update-mime-database command. DO NOT EDIT!\n"); - write_out_glob2 (glob_list, globs); - if (!fclose_gerror(globs, error)) - goto out; - if (!atomic_update(globs_path, error)) - goto out; - g_free(globs_path); - - g_list_free (glob_list); - } - - { - FILE *stream; - char *magic_path; - int i; - magic_path = g_strconcat(mime_dir, "/magic.new", NULL); - stream = fopen_gerror(magic_path, error); - if (!stream) - goto out; - fwrite("MIME-Magic\0\n", 1, 12, stream); - - if (magic_array->len) - g_ptr_array_sort(magic_array, cmp_magic); - for (i = 0; i < magic_array->len; i++) - { - Magic *magic = (Magic *) magic_array->pdata[i]; - - write_magic(stream, magic); - } - if (!fclose_gerror(stream, error)) - goto out; - if (!atomic_update(magic_path, error)) - goto out; - g_free(magic_path); - } - - { - FILE *stream; - char *ns_path; - - ns_path = g_strconcat(mime_dir, "/XMLnamespaces.new", NULL); - stream = fopen_gerror(ns_path, error); - if (!stream) - goto out; - write_namespaces(stream); - if (!fclose_gerror(stream, error)) - goto out; - if (!atomic_update(ns_path, error)) - goto out; - g_free(ns_path); - } - - { - FILE *stream; - char *path; - - path = g_strconcat(mime_dir, "/subclasses.new", NULL); - stream = fopen_gerror(path, error); - if (!stream) - goto out; - write_subclasses(stream); - if (!fclose_gerror(stream, error)) - goto out; - if (!atomic_update(path, error)) - goto out; - g_free(path); - } - - { - FILE *stream; - char *path; - - path = g_strconcat(mime_dir, "/aliases.new", NULL); - stream = fopen_gerror(path, error); - if (!stream) - goto out; - write_aliases(stream); - if (!fclose_gerror(stream, error)) - goto out; - if (!atomic_update(path, error)) - goto out; - g_free(path); - } - - { - FILE *stream; - char *path; - - path = g_strconcat(mime_dir, "/types.new", NULL); - stream = fopen_gerror(path, error); - if (!stream) - goto out; - write_types(stream); - if (!fclose_gerror(stream, error)) - goto out; - if (!atomic_update(path, error)) - goto out; - g_free(path); - } - - { - FILE *stream; - char *icon_path; - - icon_path = g_strconcat(mime_dir, "/generic-icons.new", NULL); - stream = fopen_gerror(icon_path, error); - if (!stream) - goto out; - write_icons(generic_icon_hash, stream); - if (!fclose_gerror(stream, error)) - goto out; - if (!atomic_update(icon_path, error)) - goto out; - g_free(icon_path); - } - - { - FILE *stream; - char *icon_path; - - icon_path = g_strconcat(mime_dir, "/icons.new", NULL); - stream = fopen_gerror(icon_path, error); - if (!stream) - goto out; - write_icons(icon_hash, stream); - if (!fclose_gerror(stream, error)) - goto out; - if (!atomic_update(icon_path, error)) - goto out; - g_free(icon_path); - } - - { - FILE *stream; - char *path; - int i; - path = g_strconcat(mime_dir, "/treemagic.new", NULL); - stream = fopen_gerror(path, error); - if (!stream) - goto out; - fwrite("MIME-TreeMagic\0\n", 1, 16, stream); - - if (tree_magic_array->len) - g_ptr_array_sort(tree_magic_array, cmp_tree_magic); - for (i = 0; i < tree_magic_array->len; i++) - { - TreeMagic *magic = (TreeMagic *) tree_magic_array->pdata[i]; - - write_tree_magic(stream, magic); - } - if (!fclose_gerror(stream, error)) - goto out; - if (!atomic_update(path, error)) - goto out; - g_free(path); - } - - { - FILE *stream; - char *path; - - path = g_strconcat(mime_dir, "/mime.cache.new", NULL); - stream = fopen_gerror(path, error); - if (!stream) - goto out; - write_cache(stream); - if (!fclose_gerror(stream, error)) - goto out; - if (!atomic_update(path, error)) - goto out; - g_free(path); - } - - { - FILE *stream; - char *path; - - path = g_strconcat(mime_dir, "/version.new", NULL); - stream = fopen_gerror(path, error); - if (!stream) - goto out; - g_fprintf(stream, - VERSION "\n"); - if (!fclose_gerror(stream, error)) - goto out; - if (!atomic_update(path, error)) - goto out; - g_free(path); - } - - g_ptr_array_foreach(magic_array, (GFunc)magic_free, NULL); - g_ptr_array_free(magic_array, TRUE); - g_ptr_array_foreach(tree_magic_array, (GFunc)tree_magic_free, NULL); - g_ptr_array_free(tree_magic_array, TRUE); - - g_hash_table_destroy(types); - g_hash_table_destroy(globs_hash); - g_hash_table_destroy(namespace_hash); - g_hash_table_destroy(subclass_hash); - g_hash_table_destroy(alias_hash); - g_hash_table_destroy(icon_hash); - g_hash_table_destroy(generic_icon_hash); - - check_in_path_xdg_data(mime_dir); - -out: - if (local_error != NULL) - fatal_gerror(local_error); - return EXIT_SUCCESS; -}