PKGBUILD 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471
  1. # Maintainer (arch:thunderbird): Levente Polyak <anthraxx[at]archlinux[dot]org>
  2. # Contributor: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
  3. # Contributor: Ionut Biru <ibiru@archlinux.org>
  4. # Contributor: Alexander Baldeck <alexander@archlinux.org>
  5. # Contributor: Dale Blount <dale@archlinux.org>
  6. # Contributor: Anders Bostrom <anders.bostrom@home.se>
  7. # Maintainer: Andreas Grapentin <andreas@grapentin.org>
  8. # Contributor: André Silva <emulatorman@hyperbola.info>
  9. # Contributor: Márcio Silva <coadde@hyperbola.info>
  10. # Contributor: Luke R. <g4jc@openmailbox.org>
  11. # Contributor: Isaac David <isacdaavid@isacdaavid.info>
  12. # Contributor: bill-auger <bill-auger@programmer.net>
  13. # parabola changes and rationale:
  14. # libre:
  15. # - rebranded to icedove
  16. # technical:
  17. # - added i686 and armv7h arches (TODO)
  18. # - added makedepends required for rebranding
  19. # - added rebranding sources
  20. # - use system python packages
  21. # privacy:
  22. # - removed google api keys
  23. # - disabled geo-location
  24. _pkgbase=thunderbird
  25. pkgbase=icedove
  26. pkgname=(icedove)
  27. epoch=1
  28. pkgver=115.11.0
  29. pkgrel=4
  30. pkgrel+=.parabola1
  31. _brandingver=115
  32. _brandingrel=1
  33. pkgdesc='Standalone mail and news reader from mozilla.org'
  34. url=https://wiki.parabola.nu/${pkgname}
  35. replaces=(${_pkgbase})
  36. arch=(x86_64)
  37. arch+=(i686 armv7h)
  38. license=('MPL-2.0' 'GPL-2.0-only' 'LGPL-2.1-only')
  39. depends=(
  40. glibc
  41. gtk3 libgdk-3.so libgtk-3.so
  42. mime-types
  43. dbus libdbus-1.so
  44. dbus-glib
  45. alsa-lib
  46. nss
  47. hunspell
  48. sqlite
  49. ttf-font
  50. libvpx libvpx.so
  51. zlib
  52. bzip2 libbz2.so
  53. botan2
  54. libwebp libwebp.so libwebpdemux.so
  55. libevent
  56. libjpeg-turbo
  57. libffi libffi.so
  58. nspr
  59. gcc-libs
  60. libx11
  61. libxrender
  62. libxfixes
  63. libxext
  64. libxcomposite
  65. libxdamage
  66. pango libpango-1.0.so
  67. cairo
  68. gdk-pixbuf2
  69. freetype2 libfreetype.so
  70. fontconfig libfontconfig.so
  71. glib2 libglib-2.0.so
  72. pixman libpixman-1.so
  73. gnupg
  74. json-c
  75. libcanberra
  76. ffmpeg
  77. icu libicui18n.so libicuuc.so
  78. )
  79. makedepends=(
  80. unzip zip diffutils python nasm mesa libpulse libice libsm
  81. rust clang llvm cbindgen nodejs lld
  82. gawk perl findutils libotr wasi-compiler-rt wasi-libc wasi-libc++ wasi-libc++abi
  83. )
  84. makedepends+=(quilt imagemagick)
  85. options=(!emptydirs !makeflags !lto)
  86. source=(https://archive.mozilla.org/pub/thunderbird/releases/$pkgver/source/thunderbird-$pkgver.source.tar.xz{,.asc}
  87. vendor-prefs.js
  88. distribution.ini
  89. mozconfig.cfg
  90. metainfo.patch
  91. $pkgname.desktop
  92. thunderbird-system-icu-74.patch) # https://bugzilla.mozilla.org/show_bug.cgi?id=1862601
  93. source+=(https://repo.parabola.nu/other/icedove/${pkgname}_$_brandingver-$_brandingrel.branding.tar.xz{,.sig})
  94. validpgpkeys=(
  95. 14F26682D0916CDD81E37B6D61B7B526D98F0353 # Mozilla Software Releases <release@mozilla.com>
  96. 4360FE2109C49763186F8E21EBE41E90F6F12F6D # Mozilla Software Releases <release@mozilla.com>
  97. )
  98. validpgpkeys+=(
  99. BFA8008A8265677063B11BF47171986E4B745536 # Andreas Grapentin
  100. 3954A7AB837D0EA9CFA9798925DB7D9B5A8D4B40 # bill-auger
  101. )
  102. prepare() {
  103. # parabola change: installed rust-1.77.2 in the chroot instead of using rustup
  104. # packed_simd no longer builds with 1.78.0
  105. #rustup toolchain update --profile minimal 1.77.2
  106. #rustup default 1.77.2
  107. cd $_pkgbase-$pkgver
  108. echo "${noextract[@]}"
  109. local src
  110. for src in "${source[@]}"; do
  111. src="${src%%::*}"
  112. src="${src##*/}"
  113. [[ $src = *.patch ]] || continue
  114. echo "Applying patch $src..."
  115. patch -Np1 < "../$src"
  116. done
  117. sed -e 's|73114a5c28472e77082ad259113ffafb418ed602c1741f26da3e10278b0bf93e|a88d6cc10ec1322b53a8f4c782b5133135ace0fdfcf03d1624b768788e17be0f|' \
  118. -i third_party/rust/mp4parse/.cargo-checksum.json
  119. # Make icon transparent
  120. sed -i '/^<rect/d' comm/mail/branding/thunderbird/TB-symbolic.svg
  121. cp ../mozconfig.cfg .mozconfig
  122. sed "s|@PWD@|${PWD@Q}|g" -i .mozconfig
  123. ## [CARCH-SPECIFIC CONFIG] ##
  124. case ${CARCH} in
  125. aarch64|armv7h)
  126. # TODO
  127. true
  128. ;;
  129. i686)
  130. # TODO
  131. true
  132. ;;
  133. esac
  134. ## branding ##
  135. local branding_srcdir="${srcdir}"/${pkgname}-${_brandingver}
  136. local branding_destdir="${srcdir}"/${_pkgbase}-${pkgver}/comm/mail/branding/${pkgname}
  137. local blank_svg='<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"></svg>' # TODO: branding package
  138. # apply branding
  139. msg "applying parabola branding"
  140. export QUILT_PATCHES="${branding_srcdir}"/patches
  141. export QUILT_REFRESH_ARGS='-p ab --no-timestamps --no-index'
  142. export QUILT_DIFF_ARGS='--no-timestamps'
  143. export QUILT_PC="${srcdir}"/.pc
  144. rm -rf -- ${branding_destdir}
  145. cp -aT -- "${branding_srcdir}"/${pkgname}-branding ${branding_destdir}
  146. quilt push -av
  147. # customize distribution.ini
  148. local branding_gui_ver="(${_brandingver}-${_brandingrel} branding)"
  149. sed -i "s|version=.*|version=${branding_gui_ver}|" "${srcdir}"/distribution.ini
  150. # customize .mozconfig
  151. cat >> .mozconfig <<EOF
  152. ac_add_options --disable-crashreporter
  153. ac_add_options --disable-updater
  154. EOF
  155. # stage "appdata" file
  156. cp "${branding_srcdir}"/${pkgname}.appdata.xml ${branding_destdir}/
  157. # generate icons, logos, banners
  158. for i in 16 22 24 32; do
  159. rsvg-convert -w ${i} -h ${i} "${branding_srcdir}"/app-icons/${pkgname}_small.svg \
  160. -o "${branding_destdir}/default${i}.png"
  161. done
  162. for i in 48 64 128 256; do
  163. rsvg-convert -w ${i} -h ${i} "${branding_srcdir}"/app-icons/${pkgname}_big.svg \
  164. -o "${branding_destdir}/default${i}.png"
  165. done
  166. echo "${blank_svg}" > ${branding_destdir}/${pkgname}-symbolic.svg # TODO: branding package
  167. cp "${branding_srcdir}"/preview.png comm/mail/themes/linux/mail/preview.png
  168. ## search-engines ##
  169. pushd comm/mail/components/search/extensions > /dev/null
  170. # Patch search-engines config
  171. sed -i 's|https://duckduckgo.com/|https://html.duckduckgo.com/html/|' ddg/manifest.json
  172. # Delete unused search engine configs
  173. find -mindepth 1 -maxdepth 1 \
  174. -not -name ddg \
  175. -not -name wikipedia \
  176. -exec rm -frv {} \;
  177. popd > /dev/null
  178. ## libre patching ##
  179. sed -i '\|Phishing Protection|d
  180. \|UrlClassifier|d
  181. \|URLClassifier|d
  182. \|url-classifier|d
  183. ' comm/mail/installer/package-manifest.in
  184. }
  185. build() {
  186. cd $_pkgbase-$pkgver
  187. if [[ -n "${SOURCE_DATE_EPOCH}" ]]; then
  188. export MOZ_BUILD_DATE=$(date --date "@${SOURCE_DATE_EPOCH}" "+%Y%m%d%H%M%S")
  189. fi
  190. export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system # parabola policy
  191. export MOZBUILD_STATE_PATH="${srcdir}/mozbuild"
  192. # malloc_usable_size is used in various parts of the codebase
  193. CFLAGS="${CFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}"
  194. CXXFLAGS="${CXXFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}"
  195. ./mach configure
  196. ./mach build
  197. ./mach buildsymbols
  198. }
  199. package_icedove() {
  200. optdepends=(
  201. 'hunspell-en_us: Spell checking, American English'
  202. 'libotr: OTR support for active one-to-one chats'
  203. 'libnotify: Notification integration'
  204. )
  205. cd $_pkgbase-$pkgver
  206. DESTDIR="$pkgdir" ./mach install
  207. install -Dm 644 ../vendor-prefs.js -t "$pkgdir/usr/lib/$pkgname/defaults/pref"
  208. install -Dm 644 ../distribution.ini -t "$pkgdir/usr/lib/$pkgname/distribution"
  209. install -Dm 644 ../$pkgname.desktop -t "$pkgdir/usr/share/applications"
  210. install -Dm 644 comm/mail/branding/${pkgname}/${pkgname}.appdata.xml \
  211. "${pkgdir}/usr/share/metainfo/${pkgname}.appdata.xml"
  212. # NOTE: comm/mail/branding/${pkgname} is $branding_destdir in prepare()
  213. for i in 16 22 24 32 48 64 128 256; do
  214. install -Dm644 comm/mail/branding/${pkgname}/default${i}.png \
  215. "$pkgdir/usr/share/icons/hicolor/${i}x${i}/apps/$pkgname.png"
  216. done
  217. install -Dm644 comm/mail/branding/${pkgname}/${pkgname}-symbolic.svg \
  218. "$pkgdir/usr/share/icons/hicolor/symbolic/apps/$pkgname-symbolic.svg"
  219. # Use system-provided dictionaries
  220. ln -Ts /usr/share/hunspell "$pkgdir/usr/lib/$pkgname/dictionaries"
  221. ln -Ts /usr/share/hyphen "$pkgdir/usr/lib/$pkgname/hyphenation"
  222. # Install a wrapper to avoid confusion about binary path
  223. install -Dm755 /dev/stdin "$pkgdir/usr/bin/$pkgname" <<END
  224. #!/bin/sh
  225. exec /usr/lib/$pkgname/$pkgname "\$@"
  226. END
  227. # Replace duplicate binary with wrapper
  228. # https://bugzilla.mozilla.org/show_bug.cgi?id=658850
  229. ln -srf "$pkgdir/usr/bin/$pkgname" \
  230. "$pkgdir/usr/lib/$pkgname/$pkgname-bin"
  231. }
  232. _package_l10n() {
  233. pkgdesc="$2 language pack for Icedove"
  234. depends=("${pkgname}>=$epoch:$pkgver")
  235. replaces=(thunderbird-i18n-${1,,})
  236. provides=(thunderbird-i18n-${1,,})
  237. mkdir $1
  238. unzip $pkgbase-l10n-$pkgver-$1.xpi -d $1/$pkgbase
  239. rm -v $pkgbase-l10n-$pkgver-$1.xpi
  240. local localizedRe
  241. localizedRe="$(cat $1/$pkgbase/chrome/$1/locale/$1/messenger-region/region.properties | grep '^[^#]*localizedRe')"
  242. if [ -z "$localizedRe" ]; then
  243. localizedRe="mailnews.localizedRe="
  244. fi
  245. local branding_srcdir="${srcdir}"/${pkgbase}-${_brandingver}
  246. install -vDm644 $branding_srcdir/$pkgbase-l10n-branding/brand.dtd $1/$pkgbase/chrome/$1/locale/$1/branding
  247. install -vDm644 $branding_srcdir/$pkgbase-l10n-branding/brand.properties $1/$pkgbase/chrome/$1/locale/$1/branding
  248. install -vDm644 $branding_srcdir/$pkgbase-l10n-branding/region.properties $1/$pkgbase/chrome/$1/locale/$1/messenger-region
  249. echo "$localizedRe" >> $1/$pkgbase/chrome/$1/locale/$1/messenger-region/region.properties
  250. sed -i -e 's/thunderbird/icedove/' $1/$pkgbase/manifest.json
  251. sed -i -e 's/Thunderbird/Icedove/' $1/$pkgbase/manifest.json
  252. rm -rv $1/$pkgbase/chrome/$1/locale/$1/global-platform/{mac,win}
  253. cd $1/$pkgbase
  254. zip -r langpack-$1@$pkgbase.mozilla.org.xpi .
  255. mv -v langpack-$1@$pkgbase.mozilla.org.xpi $srcdir
  256. cd ../..
  257. rm -rv $1
  258. install -vDm644 langpack-$1@$pkgbase.mozilla.org.xpi \
  259. "$pkgdir/usr/lib/$pkgbase/extensions/langpack-$1@$pkgbase.mozilla.org.xpi"
  260. }
  261. _languages=(
  262. 'af "Afrikaans"'
  263. 'ar "Arabic"'
  264. 'ast "Asturian"'
  265. 'be "Belarusian"'
  266. 'bg "Bulgarian"'
  267. 'br "Breton"'
  268. 'ca "Catalan"'
  269. 'cak "Kaqchikel"'
  270. 'cs "Czech"'
  271. 'cy "Welsh"'
  272. 'da "Danish"'
  273. 'de "German"'
  274. 'dsb "Lower Sorbian"'
  275. 'el "Greek"'
  276. 'en-GB "English (British)"'
  277. 'en-US "English (US)"'
  278. 'es-AR "Spanish (Argentina)"'
  279. 'es-ES "Spanish (Spain)"'
  280. 'et "Estonian"'
  281. 'eu "Basque"'
  282. 'fi "Finnish"'
  283. 'fr "French"'
  284. 'fy-NL "Frisian"'
  285. 'ga-IE "Irish"'
  286. 'gd "Gaelic (Scotland)"'
  287. 'gl "Galician"'
  288. 'he "Hebrew"'
  289. 'hr "Croatian"'
  290. 'hsb "Upper Sorbian"'
  291. 'hu "Hungarian"'
  292. 'hy-AM "Armenian"'
  293. 'id "Indonesian"'
  294. 'is "Icelandic"'
  295. 'it "Italian"'
  296. 'ja "Japanese"'
  297. 'ka "Georgian"'
  298. 'kab "Kabyle"'
  299. 'kk "Kazakh"'
  300. 'ko "Korean"'
  301. 'lt "Lithuanian"'
  302. 'ms "Malay"'
  303. 'nb-NO "Norwegian (Bokmål)"'
  304. 'nl "Dutch"'
  305. 'nn-NO "Norwegian (Nynorsk)"'
  306. 'pa-IN "Punjabi (India)"'
  307. 'pl "Polish"'
  308. 'pt-BR "Portuguese (Brazilian)"'
  309. 'pt-PT "Portuguese (Portugal)"'
  310. 'rm "Romansh"'
  311. 'ro "Romanian"'
  312. 'ru "Russian"'
  313. 'sk "Slovak"'
  314. 'sl "Slovenian"'
  315. 'sq "Albanian"'
  316. 'sr "Serbian"'
  317. 'sv-SE "Swedish"'
  318. 'th "Thai"'
  319. 'tr "Turkish"'
  320. 'uk "Ukrainian"'
  321. 'uz "Uzbek"'
  322. 'vi "Vietnamese"'
  323. 'zh-CN "Chinese (Simplified)"'
  324. 'zh-TW "Chinese (Traditional)"'
  325. )
  326. _url=https://archive.mozilla.org/pub/thunderbird/releases/$pkgver/linux-x86_64/xpi
  327. for _lang in "${_languages[@]}"; do
  328. _locale=${_lang%% *}
  329. _pkgname=icedove-l10n-${_locale,,}
  330. pkgname+=($_pkgname)
  331. source+=("${pkgname}-l10n-$pkgver-$_locale.xpi::$_url/$_locale.xpi")
  332. eval "package_$_pkgname() {
  333. _package_l10n $_lang
  334. }"
  335. done
  336. # Don't extract languages
  337. noextract=()
  338. for _src in "${source[@]%%::*}"; do
  339. case "$_src" in
  340. *.xpi) noextract+=("$_src") ;;
  341. esac
  342. done
  343. sha512sums=('002f783cff7f2b50d9a29f20061fe55a1f64487b38a18dcb49217c3d7b99c2852af842decbd0347939aaf4c4c73ae66a8b04527ccd1b6db7f87aab402cb84ca1'
  344. 'SKIP'
  345. '6918c0de63deeddc6f53b9ba331390556c12e0d649cf54587dfaabb98b32d6a597b63cf02809c7c58b15501720455a724d527375a8fb9d757ccca57460320734'
  346. '81c88dd67b9e21e563e6fdfc332ead8ab210c50ec00a43664be5cd4d75c169d6d3e9d19ca631397b39f6ddd6c4d9a9ca132757a8f8bfcc5c018d1cfdbfce7860'
  347. '27b8dd4edc7ca9e96a2238c16b11b2fdd4982e143fb2a9875dd5c98480cce4182794feb9ef51fee79c6db6fed7a803d3535cf4a135fda2178f0b192c8eee0863'
  348. '7e43b1f25827ddae615ad43fc1e11c6ba439d6c2049477dfe60e00188a70c0a76160c59a97cc01d1fd99c476f261c7cecb57628b5be48874be7cf991c22db290'
  349. 'cc727665dbb4e0adfaf798575c3c8e2be424ae2f92367afeb9fa269c90e6a56f68bfb08d203be0fd5458bd8962e818977dc04cd50feafd2a460a26480f571cf4'
  350. '9897cb0ababc8e1a0001c4e1f70e0b39f5cdb9c08c69e3afd42088dfd001aa1fc6996cd83df0db1fb57ee0a80686c35c8df783108408dbe9191602cddd1e3c65'
  351. '4be9eeff631645cb1b0a3a10b90f4c650d6e9d84a1a053a55d9fa40cd6e8f82084b3a311005db6143aeb8fc9dc6d3bd43fc8b3f38585dcbc6ddcb9f955b77f6f'
  352. 'SKIP'
  353. '5e7dab8b00e1d93ef599db039bb1fbfee7d44ff92cb1424068734bc175c36ec0be43eaebe7df86cf9e9fa9a76d48c3c7b192ccf1f9e87380519c53d276f2e474'
  354. '48430a143464a435c8b4e402fe93c9d3bcecd92c83af2c702e317cb7ff302d45a42ed97b98c61e130f332d15d18852a7f6f41398a8ef5139cd4fd81a73e2132c'
  355. '6376cdc3483b0fb29ebd59af1c777df92f516c27123d18176bf998bb3f3643da50ca6b648c612ce4b4746acd365e9a8fd389390ffef3bc92b8c67f49cc3fb867'
  356. '545b9fe88f2850ec459dabc55917c27f63a82b2abd95e20f8a7b7a480ca61b502d181f7ea8e7345f53929544695ce23c7da087f97c786972a3126b877566ab71'
  357. '87980c88ef0dfe50aefee45fcd717793e946f637a5763b9384de08a0192135096dc63e442ad2732dd0e48e78caf5e0ea8c7698dcdaae368c649de0f470642234'
  358. '757d7bc595858d1aec4e933b25521b5c83aa3da47b54e5ffb4d71b7a55c8df245a3a938719c8695eb787e956ea70f1138b1b74a619419758bd480d458f744555'
  359. 'b35ba673533b3ec55f4b10854a05674cddbfcf4575e23293ac301e71ed78f8b4a4a213ddf163c916b55bafac94bbe8b244ae411fa4b517ece3a25102b0b3d87b'
  360. 'e684b318ffc07d4367419dc3645643619da3db6cb134d0dc422f6cee1c5d08a96e21e9d68b4f5da8d19575a4915095ae9eca02b457024669e6dc9583bde9574d'
  361. '424cffdcd139e93cfe582324d3a0ca7c495a8bb2778be20481d6aa05b62c011b57aea5c9e35c6bd140bc4fba9c22b6e5e32d02f32bb272344847122d9d638eee'
  362. 'fd8167527860be1cb82427dfb8d9f28ff168ecded6a1471889088f82b20fee6a48ee24a67b45950f67efa84fa3190bee7b50b54da2e28bed85b340b738e21362'
  363. '6624efef40d01ee7385e691eda6f6f16cfa60737977a11db85ca0163fb22c61470c215257f4c6f994d1189c45db7a3e1f80c67bc383a644e6df4eafd876a972f'
  364. '8d2cfb3276d1e5067e0c154c08fbd6d97c4e17b4fb02f31682f46056bb80f2a22473943e9ac93f4f7bdaf9c192147615c57dbc7b9a87269511337f406cd44ba1'
  365. 'db9ed044fd7aaf913fdd02ad17eed92e762cf9ad7d29df588f5fbdd8a00722afba26b640acb6bdabcb23009f330dc5b3d0e9064578c0828a050536f340ff023b'
  366. 'a544d87225d82d3ddb5ba1c923a41914cebe84b9df7a6f169b5c1083e367ccfca82c191f7a5574fd00be4b653b922c1b5b67e151bfe48a68bb0aaf08c6959096'
  367. '83a30497121e8920d3af1b7967a87aa0b7572e3728b1f357e1400c9ad2e29d83ec0d85089bb51ffb72a1783e1c5867ddeb0f173e609ed7fddf1b938d1bbacf3d'
  368. 'aa4b0e4e315ffea9a23a0b774c4965fdd747c7d6cc8921209f81cc5e771d32edaef647fd9e5c842b5034dfcbaacf8e3c0bf04ed7985c6de036ba6159c79740d5'
  369. 'd66790bff02dea7e0cb66a7f90db562bb4d8c9879582f595d50a49b364d2ec518446915564c5ee91b73bdd1d8af52f4f11c1cc7a5f873dcb07774eb610eb5f5d'
  370. 'd7d049eac9edde56ba965ffdce90fcc1a9d077637782d1192632eb183ef62ccd4448e1006051d481f4759ec55d02a36b5d4be7e4e40a474227bca3c419f4d777'
  371. '8ff3650d9431e4c8ee7a666a26cf89eee825644cf20f12616a946dedfdc6cd07e97ffb8fc26985bddf775b0ca4c4abe9778683a09baef7ec7121072806f5b0d4'
  372. 'd2cccb1ce5a734e77b70c828119886390ee9d509a1ecd932b29d098344e433c8b548f57948734067556df64fb6785db85b1af45c569958957406a71465a726ba'
  373. '5696e3d3e491776bda2a3f46badc7a2971e73d84ae42b77c35a7554dd834704e520fb92ce8078705c6d765bd2396d0951ce0ca155e34e3475eb6325d638eea14'
  374. '7b25046fd80d329a1688a94e3bf62f458c81771941da09935134533d2ebef12930ec31bca4a5c82a8d68c8669fac8c7e4156b7325346b6c6876ceba39929fbee'
  375. '2c48247d761fdc3019f79da1348d577ffe3bdcc82193c49643a330a81b2c85be5b95a6ff62f7bd07eae355573421c7086ff8ae11acaabde67d5bd0a51f2b5941'
  376. '8ac0f593f1a38206188a4b854486e83a478e705caac4442dbaf307fb4b828ebe0a723ef38ba9b3bec97a76b4f2e6ee833747c8f7c91236a019cee4eac8bc5909'
  377. '901f83ea0177ef72ce54c782d53ec1ceecaad71a61d3336a28d180d91b9e391200b0aec5baf90e2d814c35cf18d43af9a1b893f0425b21d1f3ab802c61e55a6e'
  378. 'b245e41f0574cd072d0881d3015380ef7390031b8cfa9506e98b15309fd8bc2f35a7e54ccd9ff0b21e1ab4fcb8649d470a163cd4f898f51e6a1b4880f9bdbd0e'
  379. '8cba7e3e494276bd09147a56b8cea6f67ff4bf54d568d242f46fcc6e65d7bd9d86664f3bd80f8ea84598deabc1fd6324c2215b32b99c9ee932842b2258c936e3'
  380. 'cdaf5ee4825b27e9231e546713b863e4dc5d50a5e1e6774d62d716bdcd9a489ee6a1c561873316562fcc70cca8e74a2263f675aecc451951b8fe1cbfbc497f98'
  381. '0ee916bbdf3fdf6aac3c39156086a7fb3d0ea8d624ef889dc068cc99130d5bcf5d59355cc53662c05c397b7af7fa313d046d1c60a1ac523cda9e01afe772d082'
  382. 'c356d69f608205c164f48aaed441bc41dac7a835a410552bb970012ad5f47557d66fdf5790467b95a7e07aba62adbbee1802e03078bd2d12810b4564752da151'
  383. 'c28a2ca175ec3a4073b5b0a7b796e265f79b7e8f5d3235ed13005aa2f639225281da321b3e9c6e99f144fb5f775744b46406bf266984657e3b95e60788086a51'
  384. '30f56aadbb2f3573e9ec23a52d17e2e409578f5b90a8b43cab038a19e2727c9d38798da66f650b214e65d520364907ae4072fd1721a8129dba3d1d98f2f2d209'
  385. 'e1bf0e5fd43326bb6e8c54cd44fd779dc96cf10f8d43211ca525223351dbd69e215fb355a1b52dbcbc0efb977383d0ff49a0612cec468929caaf2b23ea063422'
  386. 'b9c810ec5074815efb9e1988da3ea56bbd1b2d5155f5a1742580f06062447b10d39865472f9516983ca966005796ecad6e4c1a027d13f5d4e2d8278470d3ea8f'
  387. '0874ef26cb95bf875a267ab6ad40d4893719f6796d0d939d62f50b0c1a2be7bc32d36382df6a532ff68950f38caf7927fa6cca5b456c4ba4e07a4b11787ed1cb'
  388. '97b1069e6f0e90423e74da3dbeb955baa8c884c7aeb860575fb494056318ed2f599c95a5832d1cab262fb3f1672c667db902810571b1a007ec48b273853d1caf'
  389. '7d5a292ef57fff8c2328414cfd7cb94ea3df90cb69cc732250d852a6ffb97ddd17c6e3ffcbe2651b92807067c4223fde6e3dd8fb7ba31f6a1dd15be64ef72be0'
  390. '824bf5d85b1bdc4d9b4b74cac43065c8c57484184cfddd39ef057780485aa515931b91a8af9a5839a866c908bea669b4d32886bca9bb3e2a5f4de3740a2180f1'
  391. '2ad86ab8d8434b71b36a440d86a157ad81d8d018141d1187001dcb96a5f4d809d1655b247b584858ed8a3f914cdf26927c34157313cbef1c9e34c354bbe94778'
  392. 'c14f2cd7d6a36117d440ce7033f2340bbe8a606bdff3911de970f6391ef454ff8a8375a21c34186c2babfee39343ce1f9524f5ae2c91debb3b26d023a4dc6f1e'
  393. '9441f44a8c29dab54c44db6ee52aa453a1bf484556fbac6771f5c6d80c0b5a095d5e333c8c0d87ba89bc8055010547c7857057d727ae56542f476ffac8220c25'
  394. 'f08290b3f9f24b12c64b02acb56cc898caac5d70a100edefd26229ddd9bd755764ee7f040ed48829b51f8c0b7c0317b0c3403c93035eab0a292d2ddd4d25c394'
  395. 'b6652df5016a2e771e2a9ec730d753147cc4ad0f8727e37b8902492d5a977a654c8bccec0bc095beacbc62b46f15aa988b1b9d1c6b72cfa3307e43584fecf2c7'
  396. '8f724376fdabce1a87c0f9e65ec630cce5f91f74ea4a2ffce130cbbaf41d05b620bf0d11229a8e60d83d1dccfabc356843bc0e43ffcfb5c36d0a2bf8987c65a7'
  397. 'fded24a530baf2865f7035d3a9e2fa433a1928a8ecf6449ef50f17e87815c16091bd43368ab1d9de5eae719a802ce10a7d5f92a3aeb4d5a68c2a261c17e01882'
  398. '4359711e3f4d1b35b80424422b50b2f34bfe003f2c9bb8114814e28eafa67bbfa3722877a2dd9a2668e1298c7c82aa055eee40363635e3c3fc28915947ab9e17'
  399. '7ab445b0c6c03aa2111c777255430b4e027ac21462ccd928034f3eaf15f46552d802cc270adf99b5c319d7c60b0ae49f1738d28fa89e64dce0b030ac0c6204fc'
  400. '65543e864d6909724eadadf0707f48774b825623535c5e95a3fafcf7b19646ef5f15c801b91bdd6a293954fbc0c16614bf1fb1f545248973b39478a4f887bccc'
  401. '93a184b1114ed716534b814c3fcf4a25b772e081779e753d2b5b5b351d279c1bdfb8b3715d8285d861c1fb46d477c8d87e78c38ccd27cecdf28eeb53aee1e31b'
  402. '02a1c4cc48ca85624980cc76449d75935e8e3300f6c75111d351336fb14d5ed2f7df8d76bb2f8dae2c3a9e2b25d57373b2db90214f45560f7c504fed09a29504'
  403. 'c44d82448364921b3ede1c5a66689936070893e662b93ba29d072efb1bcba291402e4defa1dfe2f80bd303124a08830fdc128468aa97018d7a16ac9dcac3d59f'
  404. '2f343fa9e626756caf9d54788d9ca1c855458032fd24e9af136854de398e6b27ab72df6630b0f85a1c48d38d9d7afe3bf7fb392454a50b4460f18d5efd03f555'
  405. 'a372a2137579b6916debd25bd6200541c9245e7305b2f9bdaad397393644c61e98706242d02f3c0dc5bf54de785c9299e157d9769a4e99221b2f673b40168141'
  406. '76200e8d9b87e59b162c1195a353fd7e80cebe9d623393816f25303fa8e7fcca49ec4477ee2802e162891a70aa44c3455b47e4a73c9bba7aa72a7638dfa49931'
  407. '8762de7b2545f0070484f885960c11cc8c47032f4d9c1acc4e71479d8233be53fd5341a694b0867375a5d25cc57521f3fb663c243485765f06c863d2b19fdc0d'
  408. '841213c48b60f0c113af821b7d14911eba3455cb984f04f291889a9a83c231ff96ff8d0e04476e867eaafebe5fa92f5b5d8a8aa38143ae4d42d4b915e1b77400'
  409. '84a1a1bff35773b365f7bdef480f0dcbef0e8ddd9e72611b899beb3c361e9a1d2a36717b8994224972805f2d602dc560d82f21e12fef7e61393d3757419ed83a'
  410. 'efc3fe623e76f2ac9a178d96818115b55090aca2091afbe8e15719bb895d9f1510dd8bb38b388586a42a28c75de982522462910cd9459f8ca0dffe92db050661'
  411. '6336a9cc4e53bf4fb319a192fc7bf179fc19c413251036ee82dd9b14e1a847df38a0c399aff20aced259152f416f1095f68e65aa06b744e55b477acf6312622f'
  412. 'aa4e41f1ac5707d6909b5688f37e5919e247f9d23075148cbdcdf4dcae9f1189717200d9aae7c520cf1398aff2164267723de2f83e52beb32d03bc6286275923'
  413. '06156a5de0e2294b5038151d743788a09427ab69825f009150949030561a445d571858f2555379dd93886c955a5cc1a9b8240285adf06a7801befa731e2b454b'
  414. '075f922b324cb22ef6adefec2173093495139eff0fde93e4cf4861c7d054aa53c082938268cc4488ff5059ae13a8b9ee31adc1094c8e2ee606f703294e4402b0'
  415. '3f9b7c909c232b3ed6a989546bc90cf62443e348b628b39b97d3d0a5425fb1950b8bfc805495a1cb69adec1358b21b0838f9343e452129f4ab3bb8d101724659')
  416. # vim:set sw=2 et: