# Maintainer: reflexing # Package is maintained on GitHub: https://github.com/reflexing/ttf-ms-win8 # ArchWiki page: https://wiki.archlinux.org/index.php/Ttf-ms-win8 # # BUILD INSTRUCTIONS: # ---------------------- # This package is based on 'ttf-win7-fonts' package with fixes, # suggested by AUR's 'severach' user in comments. # # It is intended as a more up-to-date replacement for the AUR's # 'ttf-ms-fonts', 'ttf-vista-fonts' and 'ttf-win7-fonts' packages. # It provides newer versions of the fonts in these packages, but due # to license issues cannot automatically download the fonts. # # Please note, that usage of Microsoft fonts outside running Windows # system is prohibited by EULA (although in certain countries EULA is invalid). # Please consult Microsoft license before using fonts. # # You can acquire fonts either from an installed Windows 8.1 RTM system # or install medium. Any edition of Windows 8.1 RTM build 6.3.9600.17050 will work. # # On the installed Windows 8.1 system fonts are usually located in # C:\Windows\Fonts # and license file is # C:\Windows\System32\license.rtf # # How to acquire fonts from Windows 8.1 RTM install medium: # # You can freely download the Windows 8.1 Enterprise 90-day evaluation from: # # http://technet.microsoft.com/en-US/evalcenter/hh699156.aspx # # Fonts are located in 'sources/install.wim' file on the ISO, which # is a 'Windows Imaging Format' (WIM) archive. # # You can extract WIM using wimextract ('wimlib' package from AUR). # # Put the following script together with previously extracted # 'install.wim' and execute: # # wimextract install.wim 1 /Windows/{Fonts/"*".{ttf,ttc},System32/license.rtf} --dest-dir fonts # # Fonts and license will be located in the 'fonts' dir. # # Fonts are best viewed with Infinality freetype2 packages: # # https://wiki.archlinux.org/index.php/Font_Configuration#Infinality # # Infinality offers great font rendering and customization. # # You need the files listed in the source=() array. Place them in the same # directory as this PKGBUILD file, then run makepkg. pkgbase=ttf-ms-win8 pkgname=($pkgbase $pkgbase-arabic $pkgbase-hebrew $pkgbase-sea $pkgbase-indic $pkgbase-japanese $pkgbase-korean $pkgbase-zh_cn $pkgbase-zh_tw $pkgbase-thai $pkgbase-other) pkgver=6.3.9600.17050 pkgrel=4 pkgdesc='Microsoft Windows 8.1 TrueType fonts' arch=('any') url='http://www.microsoft.com/typography/fonts/product.aspx?PID=164' license=('custom') depends=('fontconfig' 'xorg-fonts-encodings' 'xorg-mkfontscale' 'xorg-mkfontdir') makedepends=('fontforge') provides=('ttf-font' 'ttf-ms-fonts' 'ttf-tahoma' 'ttf-vista-fonts' 'ttf-win7-fonts') conflicts=('ttf-ms-fonts' 'ttf-tahoma' 'ttf-vista-fonts' 'ttf-win7-fonts') install="$pkgbase.install" PKGEXT='.pkg.tar' # because XZ compression is awfully slow _ttf_ms_win8=( ######################################################################################################### # Normal Bold Italic Bold+Italic # Full name Version Comment # ######################################################################################################### arial.ttf arialbd.ttf ariali.ttf arialbi.ttf # Arial 6.85 ariblk.ttf # Arial Black 5.21 comic.ttf comicbd.ttf comici.ttf comicz.ttf # Comic Sans MS 5.11 cour.ttf courbd.ttf couri.ttf courbi.ttf # Courier New 6.85 framd.ttf # Franklin Gothic Medium 5.01 framdit.ttf # Italic 5.00 Gabriola.ttf # Gabriola 5.92 georgia.ttf georgiab.ttf georgiai.ttf georgiaz.ttf # Georgia 5.51 impact.ttf # Impact 5.10 lucon.ttf # Lucida Console 5.00 l_10646.ttf # Lucida Sans Unicode 5.00 marlett.ttf # Marlett 5.00 Symbol micross.ttf # Microsoft Sans Serif 6.00 pala.ttf palab.ttf palai.ttf palabi.ttf # Palatino Linotype 5.02 segoepr.ttf segoeprb.ttf # Segoe Print 5.02 segoesc.ttf segoescb.ttf # Segoe Script 5.00 segoeui.ttf segoeuib.ttf # Segoe UI 5.32 segoeuii.ttf # Italic 5.26 segoeuiz.ttf # Bold Italic 5.26 #seguibl.ttf seguibli.ttf # Segoe UI Black 2.00 #seguiemj.ttf # Segoe UI Emoji 1.02 segoeuil.ttf # Segoe UI Light 5.33 seguili.ttf # Italic 5.26 seguisb.ttf # Segoe UI Semibold 5.32 seguisbi.ttf # Italic 5.26 segoeuisl.ttf # Segoe UI Semilight 5.33 seguisli.ttf # Italic 5.26 seguisym.ttf # Segoe UI Symbol 6.06 #Sitka.ttc #SitkaB.ttc #SitkaI.ttc #SitkaZ.ttc # Sitka Banner 1.10 Latin, Greek and Cyrillic #Sitka.ttc #SitkaB.ttc #SitkaI.ttc #SitkaZ.ttc # Sitka Display 1.10 #Sitka.ttc #SitkaB.ttc #SitkaI.ttc #SitkaZ.ttc # Sitka Heading 1.10 #Sitka.ttc #SitkaB.ttc #SitkaI.ttc #SitkaZ.ttc # Sitka Small 1.10 #Sitka.ttc #SitkaB.ttc #SitkaI.ttc #SitkaZ.ttc # Sitka Subheading 1.10 #Sitka.ttc #SitkaB.ttc #SitkaI.ttc #SitkaZ.ttc # Sitka Text 1.10 sylfaen.ttf # Sylfaen 5.03 symbol.ttf # Symbol 5.00 tahoma.ttf tahomabd.ttf # Tahoma 6.00 times.ttf timesbd.ttf timesi.ttf timesbi.ttf # Times New Roman 6.85 trebuc.ttf trebucbd.ttf trebucit.ttf trebucbi.ttf # Trebuchet MS 5.12 verdana.ttf # Verdana 5.31 verdanab.ttf # Bold 5.30 verdanai.ttf # Italic 5.30 verdanaz.ttf # Bold Italic 5.30 webdings.ttf # Webdings 5.00 Symbol wingding.ttf # Wingdings 5.00 Symbol ) _vista=( ######################################################################################################### # Normal Bold Italic Bold+Italic # Full name Version Comment # ######################################################################################################### calibri.ttf calibrib.ttf calibrii.ttf calibriz.ttf # Calibri 5.86 calibril.ttf calibrili.ttf # Calibri Light 2.11 cambria.ttc cambriab.ttf cambriai.ttf cambriaz.ttf # Cambria 6.81 #cambria.ttc # Cambria Math 6.81 Candara.ttf Candarab.ttf Candarai.ttf Candaraz.ttf # Candara 5.61 consola.ttf consolab.ttf consolai.ttf consolaz.ttf # Consolas 5.33 constan.ttf # Constantia 5.91 constanb.ttf # Bold 5.90 constani.ttf # Italic 5.90 constanz.ttf # Bold Italic 5.90 corbel.ttf corbelb.ttf corbeli.ttf corbelz.ttf # Corbel 5.61 ) _ttf_ms_win8=("${_ttf_ms_win8[@]}" "${_vista[@]}") _sea=( ######################################################################################################### # Normal Bold Italic Bold+Italic # Full name Version Comment # ######################################################################################################### daunpenh.ttf # DaunPenh 5.00 Khmer dokchamp.ttf # DokChampa 5.00 Lao #javatext.ttf # Javanese Text 1.00 Javanese KhmerUI.ttf KhmerUIb.ttf # Khmer UI 5.02 Khmer LaoUI.ttf LaoUIb.ttf # Lao UI 5.01 Lao himalaya.ttf # Microsoft Himalaya 5.10 Tibetan ntailu.ttf ntailub.ttf # Microsoft New Tai Lue 5.96 Tai Lue phagspa.ttf phagspab.ttf # Microsoft PhagsPa 5.97 Phags-pa taile.ttf taileb.ttf # Microsoft Tai Le 5.96 Tai Le msuighur.ttf msuighub.ttf # Microsoft Uighur 6.00 Uighur msyi.ttf # Microsoft Yi Baiti 5.97 Yi Script moolbor.ttf # MoolBoran 5.00 Khmer monbaiti.ttf # Mongolian Baiti 5.41 Mongolian mmrtext.ttf #mmrtextb.ttf # Myanmar Text 1.10 Myanmar Nirmala.ttf NirmalaB.ttf # Nirmala UI 1.10 South Asian scripts (Bangla, Devanagari, Gujarati, Malayalam, Odia, Telugu) #NirmalaS.ttf # Nirmala UI Semilight 1.00 ) _indic=( ######################################################################################################### # Normal Bold Italic Bold+Italic # Full name Version Comment # ######################################################################################################### aparaj.ttf aparajb.ttf aparaji.ttf aparajbi.ttf # Aparajita 6.00 Hindi gautami.ttf gautamib.ttf # Gautami 6.00 Indic script — Telugu kalinga.ttf kalingab.ttf # Kalinga 6.00 Oriya kartika.ttf kartikab.ttf # Kartika 6.00 Indic script — Malayalam kokila.ttf kokilab.ttf kokilai.ttf kokilabi.ttf # Kokila 6.00 Hindi latha.ttf lathab.ttf # Latha 6.00 Indic script — Tamil mangal.ttf mangalb.ttf # Mangal 6.00 Indic script — Devanagari raavi.ttf raavib.ttf # Raavi 6.00 Indic script — Gurmukhi shruti.ttf shrutib.ttf # Shruti 6.00 Indic script — Gujarati tunga.ttf tungab.ttf # Tunga 6.00 Indic script — Kannada utsaah.ttf utsaahb.ttf utsaahi.ttf utsaahbi.ttf # Utsaah 6.00 Hindi Vani.ttf Vanib.ttf # Vani 6.81 Indic script — Telugu vrinda.ttf vrindab.ttf # Vrinda 6.81 Indic script — Bengali vijaya.ttf vijayab.ttf # Vijaya 6.81 Tamil Shonar.ttf Shonarb.ttf # Shonar Bangla 6.81 Bengali iskpota.ttf iskpotab.ttf # Iskoola Pota 6.00 Sinhala ) _zh_cn=( # Chinese (Simplified) ######################################################################################################### # Normal Bold Italic Bold+Italic # Full name Version Comment # ######################################################################################################### simkai.ttf # KaiTi 5.01 Simplified Chinese simsun.ttc # NSimSun 5.04 Simplified Chinese simhei.ttf # SimHei 5.03 Simplified Chinese font features plain strokes similar to sans serif designs #simsun.ttc # SimSun 5.04 Simplified Chinese font features mincho (serif) stroke style simsunb.ttf # SimSun-ExtB 5.01 simfang.ttf # FangSong 5.01 Simplified Chinese msyh.ttc msyhbd.ttc # Microsoft YaHei 6.10 Simplified Chinese #msyhl.ttc # Microsoft YaHei Light 1.01 #msyh.ttc msyhbd.ttc # Microsoft YaHei UI 6.10 Simplified Chinese #msyhl.ttc # Microsoft YaHei UI Light 1.01 ) _zh_tw=( # Chinese (Traditional) ######################################################################################################### # Normal Bold Italic Bold+Italic # Full name Version Comment # ######################################################################################################### kaiu.ttf # DFKai-SB 5.00 Serif style with Traditional Chinese support. DFKai-SB has graceful strokes msjh.ttc msjhbd.ttc # Microsoft JhengHei 6.10 Chinese: Traditional chars — Taiwan and Hong Kong #msjhl.ttc # Microsoft JhengHei Light 1.00 #msjh.ttc msjhbd.ttc # Microsoft JhengHei UI 6.10 #msjhl.ttc # Microsoft JhengHei UI Light 1.00 mingliu.ttc # MingLiU 7.01 Traditional Chinese font in a mincho (serif) stroke style #mingliu.ttc # MingLiU_HKSCS 7.01 mingliub.ttc # MingLiU_HKSCS-ExtB 7.01 #mingliub.ttc # MingLiU-ExtB 7.01 #mingliu.ttc # PMingLiU 7.01 Traditional Chinese font that features a mincho (serif) stroke style with proportional Latin characters #mingliub.ttc # PMingLiU-ExtB 7.01 ) _japanese=( ######################################################################################################### # Normal Bold Italic Bold+Italic # Full name Version Comment # ######################################################################################################### meiryo.ttc meiryob.ttc #meiryo.ttc meiryob.ttc # Meiryo 6.12 Japanese and Roman #meiryo.ttc meiryob.ttc meiryo.ttc meiryob.ttc # Meiryo UI 6.12 msgothic.ttc # MS Gothic 5.10 Japanese font features plain strokes similar to sans serif designs msmincho.ttc # MS Mincho 5.10 Japanese font that features serifs at the end of its strokes #msgothic.ttc # MS PGothic 5.10 Japanese font with proportional latin in the gothic (sans serif) style #msmincho.ttc # MS PMincho 5.10 Japanese font with proportional latin in the mincho (serif) style #msgothic.ttc # MS UI Gothic 5.10 The default glyph shapes of this font are based on JIS2004. This font also provides access to a set of JIS90 legacy glyphs via jp90' OpenType layout table. #yugothic.ttf yugothib.ttf # Yu Gothic 1.55 #yugothil.ttf # Yu Gothic Light 1.55 #yumindb.ttf # Yu Mincho Demibold 1.55 #yuminl.ttf # Yu Mincho Light 1.55 #yumin.ttf # Yu Mincho Regular 1.55 ) _korean=( ######################################################################################################### # Normal Bold Italic Bold+Italic # Full name Version Comment # ######################################################################################################### batang.ttc # Batang 5.00 Korean font that features a mincho (serif) stroke style #batang.ttc # BatangChe 5.00 gulim.ttc # Dotum 5.00 Korean #gulim.ttc # DotumChe 5.00 #gulim.ttc # Gulim 5.01 Korean #gulim.ttc # GulimChe 5.00 Korean #batang.ttc # Gungsuh 5.00 Korean #batang.ttc # GungsuhChe 5.00 Korean malgun.ttf malgunbd.ttf # Malgun Gothic 6.50 Korean ) _arabic=( ######################################################################################################### # Normal Bold Italic Bold+Italic # Full name Version Comment # ######################################################################################################### aldhabi.ttf # Aldhabi 1.00 Arabic, Latin andlso.ttf # Andalus 6.00 Arabic, Latin arabtype.ttf # Arabic Typesetting 6.00 Arabic, Latin majalla.ttf majallab.ttf # Sakkal Majalla 6.81 Arabic font based on Naskh calligraphy simpo.ttf simpbdo.ttf # Simplified Arabic 6.00 Arabic simpfxo.ttf # Simplified Arabic Fixed 5.92 trado.ttf tradbdo.ttf # Traditional Arabic 6.00 Arabic UrdType.ttf #UrdTypeb.ttf # Urdu Typesetting 6.00 Arabic ) _hebrew=( ######################################################################################################### # Normal Bold Italic Bold+Italic # Full name Version Comment # ######################################################################################################### ahronbd.ttf # Aharoni Bold 5.10 Hebrew, Latin david.ttf davidbd.ttf # David 6.00 Hebrew frank.ttf # FrankRuehl 5.10 Hebrew gisha.ttf gishabd.ttf # Gisha 5.01 Hebrew lvnm.ttf lvnmbd.ttf # Levenim MT 6.00 Hebrew mriam.ttf # Miriam 5.10 Hebrew mriamc.ttf # Miriam Fixed 5.10 nrkis.ttf # Narkisim 5.10 Hebrew rod.ttf # Rod 5.10 Hebrew ) _thai=( ######################################################################################################### # Normal Bold Italic Bold+Italic # Full name Version Comment # ######################################################################################################### angsa.ttf angsab.ttf angsai.ttf angsaz.ttf # Angsana New 5.01 Thai, Latin angsau.ttf angsaub.ttf angsaui.ttf angsauz.ttf # AngsanaUPC 5.01 Thai, Latin browa.ttf browab.ttf browai.ttf browaz.ttf # Browallia New 5.01 Thai browau.ttf browaub.ttf browaui.ttf browauz.ttf # BrowalliaUPC 5.01 Thai cordia.ttf cordiab.ttf cordiai.ttf cordiaz.ttf # Cordia New 5.01 Thai cordiau.ttf cordiaub.ttf cordiaui.ttf cordiauz.ttf # CordiaUPC 5.01 upcdl.ttf upcdb.ttf upcdi.ttf upcdbi.ttf # DilleniaUPC 5.01 Thai upcel.ttf upceb.ttf upcei.ttf upcebi.ttf # EucrosiaUPC 5.01 Thai upcfl.ttf upcfb.ttf upcfi.ttf upcfbi.ttf # FreesiaUPC 5.02 Thai upcil.ttf upcib.ttf upcii.ttf upcibi.ttf # IrisUPC 5.02 Thai upcjl.ttf upcjb.ttf upcji.ttf upcjbi.ttf # JasmineUPC 5.01 Thai upckl.ttf upckb.ttf upcki.ttf upckbi.ttf # KodchiangUPC 5.01 Thai leelawad.ttf leelawdb.ttf # Leelawadee 5.05 Thai #LeelawUI.ttf LeelaUIb.ttf # Leelawadee UI 1.00 Khmer, Lao, Thai, Buginese #LeelUIsl.ttf # Leelawadee UI Semilight 1.00 upcll.ttf upclb.ttf upcli.ttf upclbi.ttf # LilyUPC 5.01 Thai ) _other=( ######################################################################################################### # Normal Bold Italic Bold+Italic # Full name Version Comment # ######################################################################################################### ebrima.ttf ebrimabd.ttf # Ebrima 5.08 African estre.ttf # Estangelo Edessa 6.00 Syriac euphemia.ttf # Euphemia 5.05 Unified Canadian Syllabics gadugi.ttf gadugib.ttf # Gadugi 1.06 Unified Canadian Aboriginal Syllabics nyala.ttf # Nyala 5.01 Ethiopic, Latin plantc.ttf # Plantagenet Cherokee 5.07 Cherokee mvboli.ttf # MV Boli 6.00 Thaana, Maldivian ) source=("${_ttf_ms_win8[@]}" "${_arabic[@]}" "${_hebrew[@]}" "${_sea[@]}" "${_korean[@]}" "${_japanese[@]}" "${_zh_cn[@]}" "${_zh_tw[@]}" "${_indic[@]}" "${_thai[@]}" "${_other[@]}" 20-ttf-ms-win8-japanese.conf 20-ttf-ms-win8-korean.conf 20-ttf-ms-win8-zh_cn.conf 20-ttf-ms-win8-zh_tw.conf license.rtf) function _extract_ttcs { # Tabs are essential! # Important: use real tab characters! ff_script=$(cat <<-'SETVAR' i = 1 while (i < $argc) theFontNames = FontsInFile($argv[i]) cnt = SizeOf(theFontNames) j = 0 while (j < cnt) thefontname = theFontNames[j] thisPath = $argv[i] + "(" + thefontname + ")" Open(thisPath, 1) Generate(thefontname + ".ttf", "ttf") Print(thefontname + ".ttf") Close() j++ endloop i = i+1 endloop SETVAR) fontforge -lang=ff -c "$ff_script" $* rm $* } function _remove_from_fonts_array { fonts_len=${#fonts[@]}; for (( i = 0, j = $#; (i < $fonts_len) && (j > 0); i++)); do for remove in "$@"; do if [ "${fonts[$i]}" = "$remove" ]; then unset fonts[$i] (( j-- )) break fi done done } function _package { # Array name can't have underscores… thus this check if [ "$1" = "$pkgbase" ]; then fonts_array_name=_${pkgbase//-/_}[@]; else fonts_array_name=_${1#${pkgbase}-}[@]; provides=($1) conflicts=() fi fonts=("${!fonts_array_name}") declare -a ttcs_to_extract case "$1" in $pkgbase) ttcs_to_extract=( cambria.ttc #Sitka*.ttc );; $pkgbase-arabic) pkgdesc="Microsoft Windows 8.1 Arabic TrueType fonts";; $pkgbase-hebrew) pkgdesc="Microsoft Windows 8.1 Hebrew TrueType fonts";; $pkgbase-sea) pkgdesc="Microsoft Windows 8.1 Southeast Asian TrueType fonts";; $pkgbase-indic) pkgdesc="Microsoft Windows 8.1 Indic TrueType fonts";; $pkgbase-japanese) pkgdesc="Microsoft Windows 8.1 Japanese TrueType fonts" ttcs_to_extract=(meiryo*.ttc msgothic.ttc msmincho.ttc) ;; $pkgbase-korean) pkgdesc="Microsoft Windows 8.1 Korean TrueType fonts" ttcs_to_extract=(batang.ttc gulim.ttc) ;; $pkgbase-zh_cn) pkgdesc="Microsoft Windows 8.1 Simplified Chinese TrueType fonts" ttcs_to_extract=(msyh*.ttc simsun.ttc) ;; $pkgbase-zh_tw) pkgdesc="Microsoft Windows 8.1 Traditional Chinese TrueType fonts" ttcs_to_extract=(mingliu*.ttc msjh*.ttc) ;; $pkgbase-thai) pkgdesc="Microsoft Windows 8.1 Thai TrueType fonts";; $pkgbase-other) pkgdesc="Microsoft Windows 8.1 other TrueType fonts";; esac if (( ${#ttcs_to_extract[@]} > 0 )); then readarray -t extracted_ttfs < <(_extract_ttcs ${ttcs_to_extract[@]}) _remove_from_fonts_array ${ttcs_to_extract[@]} fonts+=("${extracted_ttfs[@]}") fi # Prepare destination directory install -dm755 "$pkgdir/usr/share/fonts/TTF" # Install fonts for font in "${fonts[@]}"; do install -m644 "$font" "$pkgdir/usr/share/fonts/TTF" done # Install available fontconfig fix if [[ -e 20-$1.conf ]]; then backup=("etc/fonts/conf.avail/20-$1.conf") install -Dm644 "20-$1.conf" -t "$pkgdir/etc/fonts/conf.avail" fi # Install license install -Dm644 license.rtf -t "$pkgdir/usr/share/licenses/$pkgname" } for package_name in ${pkgname[@]}; do eval "function package_$package_name() { _package $package_name; }" done md5sums=('1e0acd79a5a6e269a3421dc00d9aa722' '38de9acc2d1d8318e464930df1b8ca2d' 'dec6705e773e544f6f19a150f83d3114' '3d6c0be1f2859fe527795c4d7d709d76' '1f704893145d21747186116f85b2c062' 'cfbe2858223b5d6f0fead9583b07f3fd' '6548235ee4b7ca0b8a7d464546fa5ca5' '1d32338d1c97538b798ca8563f70d39a' '8f87bcf26c27af0830c28c30a35bb211' '2d1f895adcb5d23e9300d32c1f78104e' '391e637d4610de7c1f1e4dcaaa44c74b' '8f5e2cc6baf642e7dea9ebe68d129987' '4f0fe9bfbbff9647ccc24d00a80ecf16' '45a9841a7f5ba7a780f0a804553cfce7' 'e2ae623d5f37a67aaf66673fc5be6ea7' '9f6c62f1f041ca9f3d69ac76684314d0' 'de6243382a94fdc4813e4cbd4ff7d919' 'd9e4d24448593640c2cc90e68c3317f6' 'ca432c56ca6ff81a0a1476846dffeac9' '9d82f2cd4cf4ec35d72f70e4e025072b' '9d0962f073f288d799831d4688b1e917' 'ed07815509f9c255b6e0f66c7910eb97' 'bcccd674c3fe808a4b01b8914c6898d5' '5f10daf510c3cb9ccfa737cade9c5a90' 'a5de9a11d94b2cf305d13a32d1088660' '8361c7922287c672493a11c10ffedb32' '363ce725d6c62520d087cd583c2f63f4' '3ee4f47946aa203f078877fd6f6427c0' '3eb766b15f377d0956685ce734063d30' 'c455d94eee43dc4ceeb83c0c0fd0d4c8' '4ed8298204138b08c1e73d2d9a6cba9a' '5c452fb7a0f5751f4e94e9d84eb01154' 'acd33fd0ea8c011932aa4f3ac713663c' 'f99ea84062835b8d7ac4c68f6acf5b7e' '1fcaecda063112df9165fb6ec00882bb' '452133c98458128fe74e982078460cab' '5d51eba86e9217c97559947f2d01f53b' '886dc601b2adb01bbfe8a4facf9d566d' 'd6a449664f4fcbec971dc5b92ff7801d' 'ae4f7684dc1c509accc0d295f7487a2b' '1770fbba68d5afa129c8243ed92b0c1c' '073c54deab691dba98be14fe4fea8278' 'c5e631d3da2bdf8ce9929ae794843a06' '437c3323b83093ccb16abbf197bb4e40' '4c8aa8124876afd5474fb94d53785536' '9629034e291841f941497d4a365c01f7' 'a2b250ae6a2bf656d77d908c8fd2bfdc' 'e04520b1269ce0ab75e2ec2b1fd80782' '878a4f7dd749d2484386e1c994ded1da' '3c8fa6e342a058359f85fbd7722c6144' 'b24f0a2dc431774a60aece53a0de1bdb' 'f617a107c4509b8c44e5747920a52df9' '1abd1c73463dca1a3e18006ba34ad4ac' '8b3f07fcea987ce38c83246fa6175cd3' '4c98e9ed8ddca5e465f3340f833a616e' '6d953d3bbe8817cd2b004dc11ac9f1d5' 'ba34b303291e36596759eb46ad9c51f2' 'ddbe52e2cfdcc2b8c9c4ab8de872a325' '85e38a5e32b54e416c4b437b59501d31' 'b8d06d04e2d848ebcdd428cd8125f211' '40a90d72da61d7c609c9a4c4bb37c710' '68c74934563bf4afa50793c67bd19b24' 'baf2d27a2cc7aea124138fb8b4fb5b4d' '8879a4caa29c42ce616cd5f172299366' 'a2e4c0b388a3013015349a2aee18fe38' 'a3e6f73440d8535c2c7c43489e942a10' '333ce7de4d889233dea963e16f547487' '2c03a94cb796eb012908069335c98252' '6ede9249499bba99886e63efb89eac37' '081c24bfc5625fd86e7aa96d2599d869' '7e32ca996d7f588ed65551a37ae145ed' '6036be2d769db6a0f1918cb65b48b89c' '8daa0f2304ee100fe3888d5b7307e64f' '702d8433e65d57e2612d01f1db078242' 'f4ab481e2d12c0321cc1907192da90f0' '44b0a478d3b790698f52828bbf6b2b68' '2b96269935d724df38efb541ee391f8f' '3ff4f49424db1e955ca167ce06a0dfd2' '5409c269bd43ed6daece60eaa546a02c' '242915b2e93efd217abef857cc3d3ed1' '39d51726a8c8b7eb4bb6fab61d16841a' 'b411b0999020c9c25b8151e359197150' '68948ea9bc8b232cc5664e2aab39c80c' '1ad619060822679a34db35a498f98ecc' '51ee907427c788c3ab4442e73286d641' 'c87f06ae40c78321844f2eac8b51737f' 'e6c0e179deb07f3fc7a6d0d7a2a77247' '6c5e3e581b522258be508b4d8868025d' 'd44e7660a481c4301fef58738e6b0e09' 'ba372cb7ef918164f520ebb0a693006e' 'edeaf9e7f4404f7cd577c7628cc56a08' '09472561d98bb662466d0fd093e9c1e6' 'd0126c33d3fea2ecb01cd91b8160129c' '7cdc198e3527bf6c5ca330a70278f310' '6f8beb62aeae3e7ffd3dbf342f4d4253' 'af53b53dcea967bd95b045bc5f7aaa86' '3d3aa0c809a54d4aee31bd46acaab29a' '04848fe193cc29ebb136c62e4e9d86e2' '4cdcbaebff67417de67435deb061b789' '3c1a440c0da3e6484b92282953ca3555' '8d7367b9ce52c725c1f8fb96cc0c8829' 'd432ed840a9a13992897dde5f803bd17' 'ca7f7cedd1df47077bfcf74dea2107dd' '405b972928c4b2e19d54034f6b02d709' 'f67ffb5a32e345123b6e22aff1544a47' 'd4669f57d7ee1cb1641b33692fbbf11a' '3cd2bb8a3d1c7fc15eef01f1adc4c071' '706d06a0c45362744dfdc2896366bd31' 'd1fcc5ac64e9b52c6e63f53f59ac8d80' '0b5daaee28ed20474e5b2f204add18f0' '75e6ef1b533b46479e1390bf8f887603' '5a68a4e0bd54f918326fdcf96028e3ff' '119688cc24c7a1c78a469b0ed365edd7' 'c9ebe11cbee5b011666eeffa9a549f6c' '1ca7356ca863431f36aff1647a76b918' 'b01bdacdd24858fac6bbe36c69eb281b' 'b4ece38d8537d1a15ac9d133353d2631' '0a87dbbedf7f74b08ef4474df817603d' '95ecc0565801dd1bf141999d2c6a773b' '3350b74ee179d80520af3ebee4349ae7' 'feffee027a2741a805fc4a1fbf8cdeec' 'dd65023bb564646bd667f15a4ca3615f' '41b542e60d48fe9ce55f52cca935cf8f' '1ac7418067be30f0bf726abff6487f8c' '0723999ddc6b4b922ec011b475f07d9d' '8d39983818afbd9cbd8927b037588e5e' 'f4fde5baf005269c9ab6edb4fc24025a' 'dbb5d50716af7c45dd357a6a585d7a9e' 'bbb263a37fb063b359e33887b6a4f438' 'a4df3d010a6050b0e9cf0fa936a89d29' '812829dc374bf32e984a2fc3f45364b3' '0f27d0f170856e6bda9eea60f7bca0b0' '982509f4c25a0ac0f4e368e222e894fe' 'fde85c81a1b925fac046e0c916f04847' '8da139ade3e81de0bbe8ffe30a8e3099' '08f7717ade19b78b48e02744f9b13f2e' '9ae66cdfad1a6456c4687b9133c09c3e' '5d6668ab1003220bf03185971cc731b0' '79e95205706c61bfe684c3a00ba5f870' '0c5496ca205ffe62b69da242c6cd1170' 'bbfaa12767e15e3f94ea902402527b17' '5505af031d79715c8663fbed0f7ca7fd' 'e54ea8e978c319647285100ebcabb037' '127efc862e34db7d79b5c9c68ffba19c' '2ecbfe1d9bfc191c6f15c0ccc23cbd43' '5e42bcb1a2f001debc82305025461bc5' '754b8ca1a3bc662247a948adcaa91459' '831990523227b528157bb99b63f6b45b' '3132d56329d73980d5fd547ea7271a98' '5d1a0d45e04ebe0ef8c7a44e1ca46b56' '0f833110f12084efc38a3fce20c536b1' 'a3272cf4d7504b5149a7f1df5701f21a' 'c3936597ba7b66a50395c34c2f6ddc7e' '7de81d401f7296a6bc91ae1a22f61454' '28036b73523a9611b5462394b96982d7' '922c69f8bc91cc1fbe399bff2763f94a' 'e6d787ca7e5e22fcd2e96ef16ceab535' '95e2fd1b367ddd8a4f096baf3146c481' '35010e03d04d3517f4b083bb2741dd56' '5f6ed84883c73a8e9b871696553f0735' '5a7e248e9904665bff2ed61eabfda95e' 'f1c7dba4cfe491c65ac2c224211dea88' '49b8a04d266f07aeee9502844866bbea' '80d3c02fdfa4e1addaeabbddb2998e3f' '97a691acff5583b5bf9898e912facf1a' '3ea7a1100614e84e44139e2c689373d0' '1f00634e4b14e1c850f7a6cedc9abfc9' '97234c3d16113891ca7d34225854a4c4' '0657a2cb45e432a9240e934c88a5b048' 'a67fb83da88e5bc3948c66298657fdb5' '334188a2bfdcbed1732f1f5d3f9926aa' '3b98517806f22c685f5aeeda21c424da' '3caa929ecdb555261d42cedd40b7cca7' '2a6ccae36b0e1df8ce2feb25549b14e6' '0e49d01dfa7eb7c78aad0dd50fc42ade' 'afa8ac9764369f076613bdc560adb1a1' 'bb967b84010cc6f6bd067ca24d2e0f61' 'c9d9dc80a14553d1537a810aa9274b1b' 'bdab91abf0d4de49395f357333bf4d3f' '4dcefb243cda43847e8af38ec0d5713e' '39445d1352b1a73d5ce935066138e7c3' 'eb50dd97aad245ccad2b898483bf9268' 'de58a36b91c830a97897dc4cb00c9e7e' '4e24c34cfe38c779c97dc5c88bdd5d4e' 'c9106b754d1358c2eef862963b35e4e7' 'c2f87ead12c0420d19fd944d4a409787' '70a3e6d215adcfd3aaa722b732e84ca0' '170585fb55659d5577932b9e2877431b' '8687738851acc1c4cd0e2317c0cf8069' 'aec55e3620952c7381d7cd462c52257b' 'cc6c99b66a5b4c4e82ff2c6ed95077b4' '3cb74fe6198ee7b4e4f675aacf265618' 'b50ef16c35ec7487935d84bde8c770d1' '5e9f0667fb361414006555937ea5e053' '070f54e1790ee0a495de46729b974b57' '764f1693a1b650f28a9de87e4bf26c5f' 'fc8825bd36bbc597d3dfe69f43fa1d0a' '8b278d0dde318c103f0a6e48e28cf979' 'bd62018c47c6141847cd00dcf20a215e' '2e571e571f0815b5e0488d05b3b0bd15' '0028965ad4f00a50fb734256f882f8c2' '16524d39509891d28a9c54ff90015ca8' 'dd4c3fdecbe653539dcff65e3359d837' 'ec2fd5c5e8ee0f866a5db50f7184e3f0' '91e8bd036d529a8c5cab178dab22f561' 'cd3ee79a96eb48acedc65a5f00c3f1c2' '1059ad38e2a3bd334504686a2901eedb' '89472d248b96ed4271ee74c7e6cdbe9d' '7a6cd3b905e2cf67ec81a58d1284ee17' '3239d4ce37dc032f69b9d20ce4d1b094' '4659d2f8c0a7b29bbb90a3dd48027fc7' 'bb6a3523f05c7657e9d4f579b91c5925' '5ac608dd341653cec6ed7eb33d6522ec' '67a5931beaa0bf6f56505317dcedb218' 'd377b9809c76e4c23fd1220ec6b53d68' '45c0a614c6a6cd1533a79483d0b4654d' 'e1beec2f30e6fc4e89a9c58ca9a9de73' '068e54316b6e7ba1d1bfd973c7d3b059' 'ae32da51cb4715541b6a9f2a5e3939f0' '0ca38fd8b36f42551016799eb262823b' '2e6f2270914cff35e0c7aef5f6ebd82c' '11ce603207f2546af540c4d1c27d287e' 'ddca0eac084a0d438fc60aa310b66b31' '2dd7f1672fd7f3b4608baa334ab9059c' 'dc29157237cb5e7f6fac4c58029953d5' 'b89c8729b39065ee275beedc13fe7a4b' '9d89303c895428cf4a585d0a937f033e' '6175f89f7539b7a68ea9528fe48c2370' '2fec0470dcaac02b4cd2ebc6a694acf1' 'fed576f140815b94c793e22c991c2502' 'f3b22ecbd734443a5c99b9908eeaeb7e' '85eb84d8b56261f6f4ca511f3b99f0a7' 'b919b4e8df73ef06e6cdfc49ed20e288' 'fc64a78f4c7513930767797622924d3c' 'c0bfb17b52723f06f5e5be61b3031dd9' 'dc6ce921588efbff7c3230c500e41564' '31ab347314e501b747387a28e61e1d3c' '9b17af8c8e352ab66c5772c171871c28' '63921fe40d60c5bd6eff14f10065bc18' 'b09b497925ae99f5b58fb854e1056f5b' 'ac39fdef0e9d11d8eec9644491d67e95' 'c404020f4ee57d612f51c6514527f456' 'aa1670c15c9ee445c6b27973de080f08' 'e8db0680922a406aed2a21c0576f295d' '5519f156b480e952712b20991317ecf1' '0c9ea7edae52522a3db685416dc0dd34' '0bbc39244ed40871e67541d9f7f35569' 'b9423634d027b085c84cee26e13db70a' 'abc0bef3fdd877abe64aa81d035548a8' '428896fa5b8ccceced61f4092a19bed9' '9a75b65bbb8757301cf5bf5a54c8df2a' 'a580c429ba5130a697350dbb5fe64927' 'e82263c736c3fb0631639571c34663ca' '49bd0e2a91dfa22c23df990f2d0908e0' '7dca2ed765480ede970aebb9d2a698f2' 'b8dbd6078b1601dd3b69e330973ae606' 'bceb1884fcf8c7b569cf64602ddc8ef0' 'd05e36cf420f8cfee1113eff9693fe55')