package list_modules; # $Id$ use MDK::Common; our @ISA = qw(Exporter); our @EXPORT = qw(load_dependencies dependencies_closure category2modules module2category sub_categories); # the categories have 2 purposes # - choosing modules to include on stage1's (cf update_kernel and mdk-stage1/pci-resource/update-pci-ids.pl) # - performing a load_category or probe_category (detect_devices.pm and many files in perl-install) our %l = ( ################################################################################ network => { atm => [ qw(ambassador eni firestream fore_200e he horizon idt77252 iphase lanai nicstar zatm) ], main => [ if_(arch() =~ /ppc/, qw(bmac fec_mpc52xx ibm_emac mace oaknet sungem)), if_(arch() =~ /^sparc/, qw(sunbmac sunhme sunqe)), if_(arch() !~ /alpha|sparc/, qw(3c501 3c503 3c505 3c507 3c509 3c515 3c990 3c990fx), qw(82596 ac3200 acenic aironet4500_card amd8111e at1700 atl2 atp), qw(bcm4400 cassini cs89x0 de600 de620), qw(depca dmfe e2100 eepro eexpress eth16i), qw(ewrk3 hp hp-plus hp100), qw(iph5526), #- fibre channel qw(lance ne ni5010 ni52 ni65 nvnet), qw(prism2_plx rcpci rhineget), qw(sb1000 sc92031 smc-ultra smc9194), qw(tc35815 tlan uli526x), ), if_(arch() !~ /alpha/, qw(b44 com20020-pci de2104x), qw(defxx), # most unused qw(dgrs e100 eepro100 epic100 fealnx hamachi natsemi), qw(ne2k-pci pcnet32 plip sis900 skfp starfire tulip), qw(typhoon via-rhine winbond-840 forcedeth), qw(sungem sunhme), # drivers for ultrasparc, but compiled in ix86 kernels... ), qw(3c59x 8139too 8139cp cpmac niu sundance), #rtl8139 ], firewire => [ qw(eth1394 pcilynx) ], gigabit => [ qw(atl1 bnx2 cxgb cxgb3 dl2k e1000 e1000e igb ipg ixgb ixgbe myri_sbus netxen_nic ns83820 qla3xxx r8169 s2io sis190 sk98lin skge sky2 spidernet tehuti tg3 via-velocity yellowfin), qw(bcm5820 bcm5700), #- encrypted ], raw => [ qw(ppp_generic ppp_async ppp_deflate bsd_comp), ], pcmcia => [ qw(3c574_cs 3c589_cs axnet_cs fmvj18x_cs), qw(ibmtr_cs libertas_cs nmclan_cs pcnet_cs smc91c92_cs), qw(xirc2ps_cs xircom_cb xircom_tulip_cb), ], #- generic NIC detection for USB seems broken (class, subclass, #- protocol reported are not accurate) so we match network adapters against #- known drivers :-( usb => [ qw(catc cdc_ether kaweth pegasus rtl8150 usbnet), ], wireless => [ qw(acx-pci acx-usb adm8211 airo airo_cs aironet4500_cs aironet_cs arlan), qw(at76_usb ath_pci ath5k atmel_cs atmel_pci b43 b43legacy bcm43xx com20020_cs dyc_ar5), qw(hostap_cs hostap_pci hostap_plx ipw2100 ipw2200 ipw3945 iwl3945 iwl4965 iwlwifi), qw(madwifi_pci netwave_cs ndiswrapper orinoco orinoco_cs orinoco_nortel orinoco_pci orinoco_plx orinoco_tmd), qw(p54pci p54usb prism2_cs prism2_pci prism2_usb prism54 r8180 ray_cs), qw(rt2400 rt2500 rt2570 rt61 rt73 rtusb), qw(rt2400pci rt2500pci rt2500usb rt61pci rt73usb), qw(spectrum_cs usbvnet_rfmd vt_ar5k wavelan_cs wl3501_cs wvlan_cs zd1201 zd1211rw), if_(arch() =~ /ppc/, qw(airport)), ], isdn => [ qw(avmfritz c4 cdc-acm b1pci divas hfc4s8s_l1 hfc_usb hfc4s8s_l1 hisax hisax_st5481 hisax_fcpcipnp hysdn sedlfax t1pci tpam w6692pci), qw(fcpci fcdsl fcdsl fcdsl2 fcdslsl fcdslslusb fcdslusb fcdslusba fcusb fcusb2 fxusb fxusb_CZ) ], cellular => [ qw(hso nozomi option), ], modem => [ qw(ltmodem mwave sm56), ], slmodem => [ qw(slamr slusb snd-ali5451 snd-atiixp-modem snd-intel8x0m snd-via82xx-modem), ], tokenring => [ qw(3c359 abyss ibmtr lanstreamer olympic proteon skisa smctr tms380tr tmspci) ], wan => [ qw(c101 cosa cyclomx cycx_drv dlci dscc4 farsync hdlc hostess_sv11 lmc n2 pc300 pci200syn sbni sdla sdladrv sealevel syncppp wanxl z85230) ], usb_dsl => [ qw(cxacru speedtch ueagle-atm usbatm xusbatm) ], }, ################################################################################ disk => { # ide drivers compiled as modules: ide => [ qw(aec62xx ali14xx alim15x3 amd74xx atiixp cmd64x cy82c693 cs5520 cs5530 cs5535), qw(delkin_cb dtc2278 hpt34x hpt366 ns87415 ht6560b it8213 jmicron), qw(opti621 pdc202xx_new pdc202xx_old piix qd65xx rz1000 sc1200 serverworks siimage sis5513 slc90e66), qw(tc86c001 triflex trm290 umc8672 via82cxxx ide-pci-generic ide-generic), ], scsi => [ if_(arch() =~ /ppc/, qw(mesh mac53c94)), if_(arch() =~ /^sparc/, qw(qlogicpti)), if_(arch() !~ /alpha/ && arch() !~ /sparc/, '53c7,8xx', qw(AM53C974 BusLogic NCR53c406a a100u2w advansys aha152x aha1542 aha1740), qw(atp870u dc395x dc395x_trm dmx3191d dtc g_NCR5380 in2000 initio pas16 pci2220i psi240i fdomain), qw(qla1280 qla2x00 qla2xxx qlogicfas qlogicfc), qw(seagate wd7000 shasta sim710 stex sym53c416 t128 tmscsim u14-34f ultrastor), qw(eata eata_pio eata_dma nsp32), ), qw(aic7xxx aic7xxx_old aic79xx pci2000 qlogicfas408 sym53c8xx lpfc lpfcdd), # ncr53c8xx ], sata => [ # note that ata_piix manage RAID devices on ICH6R qw(ahci aic94xx ata_adma ata_piix pata_pdc2027x pdc_adma sata_fsl sata_inic162x sata_mv sata_nv sata_promise sata_qstor sata_sil sata_sil24 sata_sis sata_svw sata_sx4 sata_uli sata_via sata_vsc sx8), # new drivers: old ide drivers ported over libata: qw(pata_ali pata_amd pata_artop pata_atiixp pata_bf54x pata_cmd64x pata_cmd640 pata_cs5520 pata_cs5530 pata_cs5535 pata_cs5536 pata_cypress), qw(pata_efar pata_hpt366 pata_hpt37x pata_hpt3x2n pata_hpt3x3 pata_isapnp pata_it821x pata_it8172 pata_it8213 pata_jmicron), qw(pata_legacy pata_marvell pata_mpiix pata_netcell pata_ns87410 pata_oldpiix pata_opti pata_optidma), qw(pata_pdc2027x pata_pdc202xx_old pata_platform pata_qdi pata_radisys pata_rz1000), qw(pata_sc1200 pata_sch pata_serverworks pata_sil680 pata_sis pata_sl82c105 pata_triflex pata_via pata_winbond ata_generic), if_(arch() =~ /ppc/, 'sata_fsl'), ], hardware_raid => [ if_(arch() =~ /^sparc/, qw(pluto)), if_(arch() !~ /alpha/ && arch() !~ /sparc/, # 3w-xxxx drives ATA-RAID, 3w-9xxx and arcmsr drive SATA-RAID qw(a320raid megaide), qw(3w-9xxx 3w-xxxx aacraid arcmsr cciss cpqfc cpqarray DAC960 dpt_i2o gdth hptiop i2o_block ipr it821x it8212), qw(iteraid megaraid megaraid_mbox megaraid_sas mptfc mptsas mptspi mptscsih qla2100 qla2200 qla2300 qla2322 qla4xxx qla6312 qla6322 pdc-ultra), qw(ips ppa imm), ), ], pcmcia => [ qw(aha152x_cs fdomain_cs nsp_cs qlogic_cs ide-cs pata_pcmcia sym53c500_cs) ], raw => [ qw(ide-disk sd_mod) ], usb => [ qw(usb-storage) ], firewire => [ qw(sbp2) ], cdrom => [ qw(ide-cd_mod sr_mod) ], card_reader => [ qw(sdhci tifm_sd tifm_7xx1) ], }, ################################################################################ bus => { usb => [ qw(isp116x-hcd ehci-hcd ohci-hcd r8a66597-hcd sl811_cs sl811-hcd uhci-hcd u132-hcd usb-uhci usb-ohci) ], bluetooth => [ qw(bcm203x bfusb bpa10x hci_usb) ], firewire => [ qw(ohci1394) ], i2c => [ qw(i2c-ali1535 i2c-ali1563 i2c-ali15x3 i2c-amd756 i2c-amd8111 i2c-i801 i2c-i810 i2c-nforce2), qw(i2c-piix4 i2c-prosavage i2c-savage4 i2c-sis5595 i2c-sis630 i2c-sis96x i2c-via i2c-viapro i2c-voodoo3), if_(arch() !~ /^ppc/, qw(i2c-hydra i2c-ibm_iic i2c-mpc)), ], pcmcia => [ if_(arch() !~ /^sparc/, qw(au1x00_ss i82365 i82092 pd6729 tcic vrc4171_card vrc4173_cardu yenta_socket)), # cb_enabler ], usb_keyboard => [ qw(usbkbd keybdev) ], #serial_cs #ftl_cs 3c575_cb apa1480_cb epic_cb serial_cb tulip_cb iflash2+_mtd iflash2_mtd #cb_enabler }, fs => { network => [ qw(af_packet nfs) ], cdrom => [ qw(isofs) ], loopback => [ qw(isofs loop squashfs) ], local => [ if_(arch() =~ /^i.86|x86_64/, qw(vfat ntfs)), if_(arch() =~ /^ppc/, qw(hfs)), qw(reiserfs jfs xfs), ], various => [ qw(smbfs romfs ext3 ext4dev ufs ntfs unionfs) ], }, ################################################################################ multimedia => { sound => [ if_(arch() =~ /ppc/, qw(dmasound_pmac snd-aoa snd-powermac)), if_(arch() =~ /sparc/, qw(snd-sun-amd7930 snd-sun-cs4231 snd-sun-dbri)), if_(arch() !~ /^sparc/, qw(ad1816 ad1848 ad1889 ali5455 audigy audio awe_wave cmpci cs4232 cs4281 cs46xx cx88-alsa), qw(emu10k1 es1370 es1371 esssolo1 forte gus i810_audio ice1712 kahlua mad16 maestro), qw(maestro3 mpu401 msnd_pinnacle nm256_audio nvaudio opl3 opl3sa opl3sa2 pas2 pss), qw(rme96xx sam9407 sb sgalaxy snd-ad1816a snd-ad1848 snd-ad1889 snd-ali5451 snd-als100 snd-als300), qw(snd-als4000 snd-atiixp snd-au8810 snd-au8820 snd-au8830 snd-audigyls snd-aw2 snd-azt2316 snd-azt2320 snd-azt3328 snd-azx), qw(snd-asihpi snd-at73c213 snd-bt87x snd-ca0106 snd-cmi8330 snd-cmi8788 snd-cmipci), qw(snd-cs4231 snd-cs4232 snd-cs4236 snd-cs4281 snd-cs46xx snd-cs5530 snd-cs5535audio), qw(snd-darla20 snd-darla24 snd-dt019x snd-echo3g snd-emu10k1 snd-emu10k1x), qw(snd-ens1370 snd-ens1371 snd-es1688 snd-es18xx snd-es1938 snd-es1968 snd-es968), qw(snd-fm801 snd-gina20 snd-gina24 snd-gina3g), qw(snd-gusclassic snd-gusextreme snd-gusmax), qw(snd-hda-intel snd-hdsp snd-hdspm snd-ice1712 snd-ice1724), qw(snd-indi snd-indigo snd-indigodj snd-indigoio snd-intel8x0 snd-interwave), qw(snd-interwave-stb snd-korg1212 snd-layla20 snd-layla24 snd-layla3g), qw(snd-maestro3 snd-mia snd-mixart snd-mona snd-mpu401 snd-nm256), qw(snd-opl3sa2 snd-opti92x-ad1848 snd-opti92x-cs4231 snd-opti93x snd-oxygen snd-pcsp snd-pcxhr snd-riptide snd-rme32), qw(snd-rme96 snd-rme9652 snd-sb16 snd-sb8 snd-sbawe snd-sc6000 snd-sgalaxy snd-sis7019 snd-sonicvibes), qw(snd-sscape snd-trident snd-via82xx snd-virtuoso snd-vx222 snd-vxp440 snd-vxpocket snd-wavefront), qw(snd-ymfpci sonicvibes sscape trident via82cxxx_audio wavefront ymfpci), ), ], tv => [ qw(bt878 bttv cx23885 cx8800 cx8802 cx88-blackbird dpc7146 ivtv mxb pvrusb2 saa7134 zr36067) ], dvb => [ qw(b2c2-flexcop-pci b2c2-flexcop-usb budget budget-av budget-ci cinergyT2), qw(dvb-dibusb dvb-ttpci dvb-ttusb-budget dvb-usb-a800 dvb-usb-cxusb), qw(dvb-usb-dib0700 dvb-usb-dibusb-mb dvb-usb-dibusb-mc dvb-usb-digitv dvb-usb-dtt200u), qw(dvb-usb-gp8ps dvb-usb-nova-t-usb2 dvb-usb-ttusb2 dvb-usb-umt-010 dvb-usb-vp702x dvb-usb-vp7045), qw(hexium_gemini hexium_orion pluto2 skystar2 ttusb_dec), ], photo => [ qw(dc2xx mdc800) ], radio => [ qw(radio-gemtek-pci radio-maestro radio-maxiradio) ], scanner => [ qw(scanner microtek) ], gameport => [ qw(cs461x ns558 emu10k1-gp fm801-gp lightning ns558 vortex) ], usb_sound => [ qw(audio dabusb dsbr100 snd-usb-audio snd-usb-caiaq snd-usb-usx2y usb-midi) ], webcam => [ qw(cafe_ccic cpia_usb cpia2 cyber2000fb em28xx et61x251 gspca ibmcam konicawc mod_quickcam ov511 ov511-alt ov518_decomp ov51x-jpeg ovfx2 pwc qc-usb-messenger quickcam quickcam_messenger se401 stv680 sn9c102 tcm825x ultracam usbvideo usbvision vicam w9968cf zc0301) ], }, # USB input stuff get automagically loaded by hotplug and thus # magically work through /dev/input/mice multiplexing: input => { joystick => [ qw(iforce xpad), # there're more drivers in drivers/input/joystick but they support non USB or PCI devices # and thus cannot be detected but by slow (and maybe dangerous?) load_category: qw(a3d adi analog cobra db9 gamecon gf2k grip grip_mp guillemot interact), qw(joydump magellan sidewinder spaceball spaceorb stinger tmdc turbografx warrior) ], remote => [ qw(ati_remote) ], # USB tablets and touchscreens: tablet => [ qw(acecad aiptek wacom kbtab) ], touchscreen => [ qw(ads7846_ts gunze hp680_ts_input itmtouch mk712 mtouch mtouchusb touchkitusb) ], }, various => # just here for classification, unused categories (nor auto-detect, nor load_thiskind) { raid => [ qw(dm-crypt dm-mirror dm-mod dm-zero linear lvm-mod multipath raid0 raid1 raid10 raid456 raid5 raid6), ], mouse => [ qw(atixlmouse busmouse generic_serial inport ioc3_serial logibm logibusmouse msbusmouse pcips2 qpmouse synclinkmp), if_(arch() =~ /ppc/, 'macserial'), qw(mousedev usbhid usbmouse), ], char => [ if_(arch() =~ /ia64/, qw(efivars)), qw(applicom n_r3964 nvram pc110pad ppdev), qw(wdt_pci i810-tco sx), #- what are these??? ], crypto => [ qw(amd768_rng amd7xx_tco i810_rng hw_random leedslite padlock), ], laptop => [ qw(i8k sonypi toshiba), ], serial => [ qw(8250_pci 8250 epca esp isicom istallion jsm moxa mxser mxser_new stallion sx synclink synclinkmp), ], other => [ qw(defxx ide-floppy ide-scsi ide-tape loop lp nbd sg st), qw(parport_pc parport_serial), qw(btaudio mmc_block), 'cryptoloop', arch() =~ /i.86/ ? 'aes-i586' : 'aes', if_(arch() =~ /sparc/, 'openprom'), qw(evdev), qw(usblp printer), 'floppy', #- these need checking qw(rrunner meye), ], agpgart => [ if_(arch() =~ /alpha/, qw(alpha-agp)), if_(arch() =~ /ia64/, qw(hp-agp i460-agp)), if_(arch() =~ /ppc/, qw(uninorth-agp)), qw(ali-agp amd64-agp amd-k7-agp ati-agp efficeon-agp intel-agp), qw(k7-agp mch-agp nvidia-agp sis-agp sworks-agp via-agp), ], }, ); my %moddeps; sub load_dependencies { my ($file) = @_; %moddeps = (); foreach (cat_($file)) { my ($m, $d) = split ':'; my $path = $m; my ($filename, @fdeps) = map { s![^ ]*/!!g; s!\.ko!!g; s!\.gz!!g; $_; } $m, split(' ', $d); my ($modname, @deps) = map { filename2modname($_) } $filename, @fdeps; $moddeps{$modname}{deps} = \@deps; $moddeps{$modname}{filename} = $filename; $moddeps{$modname}{path} = $path; } } sub dependencies_closure { my @l = map { dependencies_closure($_) } @{exists $moddeps{$_[0]} && $moddeps{$_[0]}{deps} || []}; (@l, $_[0]); } sub filename2modname { my ($modname) = @_; $modname =~ s/-/_/g; $modname; } sub load_default_moddeps() { require c; load_dependencies('/lib/modules/' . c::kernel_version() . '/modules.dep'); } sub modname2filename { load_default_moddeps() if !%moddeps; $moddeps{$_[0]}{filename}; } sub modname2path { load_default_moddeps() if !%moddeps; $moddeps{$_[0]}{path}; } sub category2modules { map { my ($t1, $t2s) = m|(.*)/(.*)|; my @sub = $t2s eq '*' ? keys %{$l{$t1}} : split('\|', $t2s); map { my $l = $l{$t1}{$_} or die "bad category $t1/$_\n" . backtrace(); map { filename2modname($_) } @$l; } @sub; } split(' ', $_[0]); } sub all_modules() { map { @$_ } map { values %$_ } values %l; } sub module2category { my ($module) = @_; $module = filename2modname($module); foreach my $t1 (keys %l) { my $h = $l{$t1}; foreach my $t2 (keys %$h) { $module eq filename2modname($_) and return "$t1/$t2" foreach @{$h->{$t2}}; } } return; } sub ethernet_categories() { 'network/main|gigabit|pcmcia|tokenring|usb|wireless|firewire'; } sub sub_categories { my ($t1) = @_; keys %{$l{$t1}}; } 1; jW${E(u=}!{ TlChkN@q.읽vFO\w67N $n9fH\4#[G=U֯ ڻs2r ?"p>P̓~ѩ2U!LIDb} 5H@'N-hS:,Xi&@ 8P|rڟx&wV|p6smn'a/O!)ZBZI0@[<+PWb!-XE/xLݤBLmD3Lt),mv|ɌEs)z3saj}%j cHa|yHizd25f>c{pwYHTDX_be Ek1$fc=j%JK@\&IA PJ[)u0+t̷b>ֶ{&Zz=>W`ˌJ( PU}P?%F*9(2Gvkɣq@|0>=什;~ dvi㗡T epdɳ>8Z$nCe/s/D^WLr>>kdr>e 03¢(xY_KÒ8v ;8CPD<"RM7]5i1.NB5Z}d& up rLh %~柈vZQ!gDEa*xCg/AyJq3`O[5b] 憣lʍgO.u8~}$iĵTuY۾+ .P5Ӗ(aOD;'4j ҼO{&]ԗ @xθh0(0L-+MBrz *sJDm R!â|q"^3iqJ)}E:_#3>5CڇP&S|ȨǾDД\lQ?}4,>;<@E0?K\P E?MTO<7A8a65c(mKۜPGԗC$iܣ )̸5$E%->;M/S/50&#jkPr)5Oɡs29]Pf fPLsEm Sk -@)"/7]mzOOeNtP$*J+a|5%AQzf1=c#Ssp՚T՛V2,j$B 6T_,*C][}-uc*$7[8ÌBw>zc39d1!ZQr"w!S2* -Xfi]d;Z=k޴3 x~}>l=[ZкGކ(BͣL7=Q̹s0 (q/gLD禤˫Bۃ9ĦA,Jk9t?>lH Mp纓1 d 2& MY|e6⼳w9u"R7H[C\JpBW+QZ2o^>,锑 \6%5Яl]Y=R\=-g48K.YwE%<ޤ{k; .=4ۚFVo~I"4Xe#48qh\WyӴG)CS,8 U )/Cb 7LVw hœl&>]6=;KY6BEoJJp`Kn`nնjf~s9:_f=n<5òWQ ~nt979~Bnq,"\/fb&2KKD&9 "Vx~J}越óv8 ^RYp1mr?ٗqu\BY4YhW WX@,c? yOiKvpԱ8JꨄHBq Soȹ&%\\IrĨ0E_tL9Tʫ JK`i[:Lo? Jf >.v&wdD+U?(~5OQ"ߢ ,cc#} 5On^s&buPl!{ -Yht D ^<}Hfݽ?ccg V")p,I;*sڟ$Э ù8̄os~Om:J](x;k"6u j$LԲhI'ΗYv!oPb~,G#ZF/ZSD/7myXy$,iƯ_Q|'=k\7KXI;JF~wT=;n ce̶ kZ(# 8(hܾg%|6bA 8(1j<)cCET4Hec% Yd{q*& Xt3=;x]|a*[;6+ٛR1bi3xuh$䎑6~_*}\|o;M#{PFcOӼ_f—`lQak/ʛ%*[k?ԋ=[ȏ1"UqJ zޝb/*e!quzdDTkz_( |ͪ*ׯQc)]t8 ދoR0$wU'z ߂|c`\({)SnNp@h#LȘcWO9'\XxUtΓa-?Ӟ)p M}%xAơGUT (eCC;% %cFeV,LƢ);ZҎ˶@fr4Ay&rN,N jZZ#Im1Զʬ|~f Z1Hؖ} -?L,WtDiOk ӭI\#J>k W;T] 8д*hє+:M\(Emiɲƀ*RoɚI&>k@_:9E eW0n#?&6 ⨟$;Dn܈Y_X55L@r֟VAab+U_-ޏl 9FxcsN+9 g\YHk\ `)`snϝ<8P 4MhUh-C:FNT r''{Dр!ULԠW 7&TE& gOP3-c$wEN=FfV{}a'm60Q< a'f&']uiT[GS.0.vx2kиw Y* ]\+v~C{΂x`-+܎˪Ȓ˕'Kz.@ev}Ct8*DLvKRs!>ƺ c2JQ ¬G;@3fXNa'/}Sec}yp6C㰻:dž4 !ZPΕbKnxR@Q%;I+oQsUeϗogwD\ZNu?!a1PW>Sp2f|J De?8 ql*9!(3b>RA'xÎhc2T<=ȯ!ٴPww;0cbgw,B5x!̨տ(AR1\qU`=>BYbb!VPcIUOxUaMΟx\94H$-78)^,\k ڐjs<"<$"9d*AMkؖ[/~w,SP:ĉVDUe;Y N`kZkhtZ焸C[!Uy,StI9lmZ EU3p; 6a˸816{1d %T h$HKl-ᒀP+|`Eh~x8 ]D$|;e$Uy[D`, ZYvEu5 WBeNG诫Y.TNp}l9 RsbŽ7gÈR R[ߒHmeSdĊkLV8Qn'g [9۔r> a tU ˜@_ c/o1H։=X6-JOS_BŤq#.Ă tQ|ˤ 7"T\;jk8%hQMjtJ οI@XX*{Jj>aVpbl ~wSe~]\\J+[*Of*>pYymz'rΙjs-W숔Xg/1:&( Ї-ϚиaD%IXA4ZMxtwH:OstmOp` \Ԉ#Q _w-58pu` d8*FS%WJYU 57΋ 3,c%I \zdjO~²2cvjwd@2u)Dw[EӍy+p*Lw)t'&­?ao~^2=QՙvéO OͿ8C adǂ("xJװ y g9q\ \"-. Nra_Ɍqpt6z23 QDC\XR#4:>6ڧY023JWuq]RFI/IĽܬͧ a6SܞcGkWzS`k+ 52| fc9u7b'M#U^ #'k%oWaZUٝ|/9mƹM<6­,,{ ޑӽ1v !f. Ĩ2yHe B[ 6}>`᷑SFz)OvFrla}yCnμd>"t+"mv3Ÿ5Jx4RY&7't t(T|z$+a^,͹w(m{,JhÿaWN¦ &Q{c,A_ioٳWڟr㈒vj;&YD댳Ps'=c1|^?v6sY oL֕ޅbq,f"{QMJnQi(Pw*Uun栃RǢ @ejh,G'cZ3$N-nUC05myJKZO]/pP GgK kŭ+bEWh`tcRBtnѿ@0ZQ.C,^DO " tW-*i:(xUc'W>'ހ<0iHXFM[k}3$@V=Vn$LQ Oذ~:iAvnAbOq4k{9& _vVq`?6o,.];J [hc6\qYK_!{#|A` Vҷ;#'I?I1xu"qD+2vSPWp , ׺(,i 7߻K0ˉuhFQk)ö6C;c2dsmI p䠅NQ E[bLp9i~K֤ Vj&OpCX&Uo?[ v+]ֽ.RICl:o)Z e$vm J*3eWx(_T޺7M roaoh#(q`Ű%7[3[lTtxtͷ[-')4^CdKpW-WhO/v.RH^;DZ e@DV(Npt$US|N/d6Ե^Mrx|iP @w#y 13IcɈ}bHB_M= Puuk(TJ9+ivDv*X0֟u.TDWDeʓ)`{Y S#"Zv?~a2/35e,k<;qO(R*Sׯu!`$櫿'2ޯurgwq\0aH Gt`peϵQn54Fe!Є/nH.` g:MdDYiXl/g3Bܺyk_/|;A`S fʀ67lq:IEh׆$ߩm nRjQXO*Bձ}=?'zAh Pc,,gCxKtgx*ƪ5 ^]'xUʆJΥzpX= *1CܲK#wY4Zp'!>Z{mTin/o]r΄8g+szǮ/**T%Ԋ#nO?K4h>& 9Tɒ?~)LLK= "f>sG; q#N0+)]ע=Zجɡl"k0]>z%`׵h 2ɮ#)F.B=꽴m!^\/u@;m#*QZG;}pS)ǏU#yMrze̡ ;E]"GQxşd==And>ܗgH q~Fn ہ-c0!p$2rO)K^8q %.j;vQlu.dy76Ě[b}9^`pgc"9ջ0sŎ)7Qoj8߿mN쳏Q4UOe4e0s0 @S1nۻ#;d`sD8pd&:3Εj4, 9$p$2eL ^߹vvKXQ^ys*Vq)᨝3hMIƵ -lC 8=*'-kiUnF NE`*6Rٺ0a֖ g%q^i/ ӿ1ELl)cL!8:(uh؈s cV_Q2;@BZEpc7ǫ7xc6n*I 5%Yd|dSc=8 %8qGU$J H pnV(nٻ4[T4;W5W|:'2XʠEDX% Vi{8JO"ΓR6l(*sjbzҮ~b>Z.|F*' ػln{❈mt?N* eG'1['gJ5ev?5+m~uzC7~otioc ,veH8jD~_dN/[ QɎAzјW!)a ;8ͦA{yW.ŋuښ(;##xMBlgOp&U1jy~̋ı|򐔷Ya9Y.'ޫK`>Xq݀uX@!Mό̆j44W!mŻЧvSrqV7bKH5G;NA7Ƌ!N[E\ҼN AǙV[k*}w?@}\q$8A+ l΅A>O!BhӦi]B>F?m% KNFNwtf!ypM\rdρX$T)wP( a(ZBmGE۸!?v18_[HXfui#n:ipd;1KWs96}[YtZ@6ϲi_xQ-2 Dpq6/l[-ϳ_r<ƪR}v5Vr#j*[jq7_V _`;q `Uپb(1ƹ=S=A ΍EPȥ q{ xvtK֓8}SZ꾹/1Z*渂rq736fLAIW8o&އ y}{rpQt|p! `Ƈ '@TQxZ"&E3!VbfL?!? ]xl|2bQ3nX'Z}g&d(9-c@:<Q^oq1\dk7j]m(4Zޯ'sшLlFb.a"yhJ&&"vέq:P;ˊ8mIH -&#?MlV[HUVJh'h5V"Ӄ\@)_!}f<ԥ} Pk'E@Ta-f#(3y|1 uU'fM :|'rOk7`j" Jvזkb+̜*[L׈WuǰP{r`ͫg%t''}/JIU> 0J%qL|9ya1C܍5ON1 И5O9$ Ͱ\QP'E,, YHΑ'pIk4@ܘ$*9uULlR 4ܢ?MbkYa&}9oE򼺼9NZv ULFCYI DT愞ηztգ7qjD;+/șlcʥZa<:FZ( K . Rdx~<%<s.uLoi[a ˟wxOx^-<ȫAlE a+oDRL\vscGAP %n{]e :簖$|Z5,ƌ^GI-"P=nvi/3V*K1PfLȿo)9S=?)e6vhStCL\{"T#20G&p?U$rOh`W^}QY#T=":h>hoD83F=;%dY^Ari?4o?eDr m!01K',%{쀾9mĚÌ0S,%J4_v43DuX=H7k1XKi?&~6L)A*=$FYVgJaiV24egB߰F\:ˀژ칾$}AVDiFq&_q&Q9K ڿf띊OGdIMY3:emO? GljH&Ys:/~sT5#+'^]vx趽K?^xtq!]lx|K$6eze eSI@Zl) ^S?)pX)FmCEG{k!]uj9 @\ݬ?sc[ArVZIWh]'~ tp o gSVz +mXt?*d/eJ̣ c_[?7ӅZ &kݹ7qͬ89?.cq+B&eubC87LPt)ZV B=u$dC⫢. moF>I{:r󅬋wQX^ Z.Q3.X0Cc潾L,1gDڇa] X='MYŶm{PU9;Jw3|^|mҾ{^~.깻C2fhck4~2`th{=~2MR\SZRY!8;[l}bo1vuH/Bm'xsULIXcԍ#a-'0 piZZN"9?G?7Т4~1ZHUHv!G}l-AD]ۚ?uBr" ;րhW+U0tE溑Ee7ԫcuzC!;?Nf鮟PDX=>}g3[ x۸(N{( "hۆKJ'͠r `eK"feHCIyb-ł[_+ _`2=U=ꔊ-{4a1?)K9xm ~D*s rid ٻK EӢ",Y"G:S(0h(;:!$t<-ˮgvfK\'"QjVZp@D6!>8'#[c!6ԟ<.{E*_bF\MV(ӅB6T!Y<K4 }jhsLXr1OXF 7~[ְ$,KjH4C;F}+X7֧uViZwe?/lhM{$]<"JWl" 6klfo}MDPtXK.p?쇏(Q .J#JK~FT_7mGCG-lD|T#ɹʽ.HCb%!_/Yo6tWSegG941 ˑ`g~ܟVraGȂF0Dl|Af6$̛zvO;?]߼l75p_i%S 3Mu^{u%b݂h u{UKM1vA_OvLC!lCy6of"SᬵI?5M ?~zzo}2`?kOR@Z0EWˑ:}"C@5GTBF5;u!*BV~#FE`^ ѽ0tX=Bx /"BЖ5J"H ߟl/u /WDuĉڵ8uTχJ&˒YaJ)*.>O7/Ʀ*w}$"[=o*THIkEKJ(FECY,D$N}ĘWQ4[m*Acߌ(9KF#ƒ LK-Z(X|Mܳv**P;/-m h*6M,O.o2u AuS`ZFJP:E"q5孢^y#0vE#E)S0 zCK׀;Io9uZ2R:KXPb_'610v /*!ࡔ Sb$SņϭdR~vJ)*u~PXxr_2nP-hn-/t"@c>VaD;~m(Az⤱oE9=ڷ1+HoW?T9^bUtOpH q&G3VS1A~ޢIi]ќEjE8{ՍN3"zYFdo}8e+*V8 N.crl/0 BJ^eglX++z?=(up.*#7z !ڵPioԧ4E!҃JKTmju {6J׻h ;`/O}dFKvK㫘jAu%Xwhdll,v&IpXd!O$UXa=#nW׆;; CƷnpP:`L@9g!~#X_\v7#q9\U6qY03S2?]=,eDsj(|yصlkryl! >__.XCoԟ_> >e4j9ke j6> :lCYKx)a*^thq1ҍbl g7="b|dMaT3{bI?X'߾9?+]i8=MK'O pd`Ȯ)ON"كK ;,ox|wgȧp2Ѭm8ڪ8w]0^sBk՝y"Vg) ţ%  p;b`]@kSnWt$SW%ꓷ#^3%x!kF9T¢jU^&L=BzGZ(^b(h2ڀ^QZ|:>0nԓ:]0P6 ~v}V?lhbq K63š7A A]J6qAz7?η|%O$B#NӶTn3N1.d?Qq-5QDqCQBY'm|pUӹ7Z2|C[ydWIKK*}+Xũ X D6hdLJ,AtV/ /?tk;`ĭ`xٕ7qWQp,hǣ^tx 3}#Sj"NѴowgJ - ^xa 3-I#x<3h,HxY7emF%ԅk&-( dUuBbP-|P'NuA x8B*=$W1{K>R0YĹ< ~X?uqY t [ԡA1pv.GĖLv}$"oN73 Aיܥe8GoY.g/2FIL7$ : \ϟG.Z_Ȇ𔺶| ?.uQo!%Ew☙E>`eI|$3 ߤۯ8< LdY$Y+);nz)rG8}{<i૵鹭\8!*/|qu%P]zOҶ(G+zړ?>ۗ56Nh\-o U9lh}Ɠzfz1$EOi=' l:3\•1!S>[(~?1ug}nJ^VAh8$[ :<6 Grv: "f"D% z<'Cecl^YIj9@SWlenA/5o"I z((AJ%)ߙ~ HʇAT lml!mfl»*V/Oib1Lf_'[I;  ܝ{E۳3 ĕ#(L1ژls6\o{6Z9́CN^4) )J㔦asVmT0~#`bāD/<>{ պoXrMUp BAP&KEj$I\޾ڳ'\l/"ucڒЫ/g⎹qJɐ9&@Bʩ*Z9Q2C'EodYzd,OF^cnf d$m#Ѷ^z( 5] :Ӈm8ͦLut>`*(J!>7'/1L]lr< 2y4X/m:Yzj[Oqx /2ǚ0(d6L#|`e)Hww⛠-a20*Mɹ~$8+8FXUZx)zCIR)A8MZ칖EXfє(K(w0R+䓼b\#B FVWLdvϡ̅J/6fkpdZezlnC<'XQz;tŰD'ԲJĮdXwToƎl 9~~,X7V_x-ayG(,Wлv`Bw%s,> -O*Gxu=eK4\p q/$`^Z)=Ckߵ&ߕ[_O>CM;d/.㲪YN/T;H.EX[*MYiiEI虳53l;֬B\Tzc(9;?W| ?KD,g@1LCUDi^`!C@X #犞2,BT()Jq 3J \eR(6.vh5@X %+fLvUy|: H =kex;]j8sC$yܰec6g{e,nsz@SM$ƮjthWѥ ig0w\=PZ߃V]rVzo[IA+%q={Nֱ]=7:o-{H/*~$B7usc}fSEGڭ9m摫9I](q;3fbC$ 󈦭uVZ,'ף/1 ßP؂h?lm%vX3?#ӃLYlI%krY3Gn[E6hPx)*\_kﯳ`;tE%? PyR?$t|O  J8dxē8V/pv;wҋ#8‡v'&;U29 3-ES9ڎRXgn`ʄ-gv1Ԁ!IOAdNmMF"185kU}`bƪb ,@)G]iw.` Jځi"7Ʉ٪BSJ!>i\?l}(߿e41h%wt+k;*J8Lp ξ]Mj A Ʃ4Ə0ܔbTtq9eXPMVݱ 4 ]:z@q?[߲թdi,ۻ YGWN(,͉g僵 Sj+c/R v%=-,ܑ̈*rd|}Ho3Nx/i(ia{r.)lx ] PC*uCC< Cwx[5: XOQ&aW UxMgp95 ap.QLY]hLvjCiJ{=~̋Z8_:FypkA)2 :D]rs-(6LeEADɚ\RW F{85QZ"07d8=OhӷK!RÿCN>k1:uw1lX ֦|eWԦkE&`A*;cw P{I&9 qͥC.AW(ᴳ$Iؘ|C1ӘR¤V!SQo?nvO͛Y&^MX1ɩtŭ/ 1GRH,nPK"宀ܗHtyj{G\-90g3$; /  ԔOH*S@錌qqpxt$Bg8ZH>W}o/=5s&UOF iz nwcKt zi^Rۘk{$2)i͋8BhHO޿$7MhnxdG)xw՚ToܳNUV+!yJM,)nR,BeW3y@&,eTA%jLc>·7E+֪ʍZH|+f7'e`y`#ZӁ0F=k9ůl7 Ij1H ~ͩ (-uACXsGkFhp"a +gB&ΉHϨ^j ( .3`@^}Cb'יQX; /5'5CզD{ʤ/ܞ~nhnB{ː ׽Ci A4MȐrmqN"ZNԣJnoV1sW3NvN@5Up (ipWAԅ5<-]rjo:"ȃlGsû%BN2H쀮?=!zZ\$P)hH^WuS-A&S>fȦ%< ZpFa2øơmI+g:l?O653- M"qa 3\?d0,v{Y' quDJ++9-t*yxb'3P: #ޠFTt ~9٣lVYve&o͟LCO$uzwqy~ M 4;O4X1R\0Cˆ8de 5בVk,aE.J19d)(J\ly U@]^P|?Fq3I~'~dKS@]AtML/JDԫ9A(p-'-FC4 ݂"ƄqO"fV0B\9{$9lTO?'E9iײ]2jNy\TKI<և`[ʓRuiU`M:]1_ 󘁞E.%#O_.ȑzn9xAx;dZkNėcp(lfA&m>AFFKLi(4;C6$ߟUe-'].:$wKdLx:Z L&GH7h ?w4F [7o49SYK b>m5/I"<@x\@(h ߼XWpa';UTmn/C/;!Xt=>m=`phJ*"/N$dBW[1hu[DN‰CP:2 4fĢR־.gr˽VXvOr@&m/+Ge!%c-ٞhrZzVn`PPO'Ws}m_9+yȾ5Cag8MyS46@lcP"#T)^qSOB㶗J*?oKJqև{8}Vq,\\,8d|/]E|0(_L)x6UV=wN/5G RHGy~\#ע*y%kdJƢ$̄#xp 4vqŴXx5pH#n 蚺JaG˨=;!.v>U|+Ҫ!Ѓ*ibnF&aƤxRߕGp5xH C IIZت~ɹ_OEأv7#oA;4p=_N3RHFfOsڢ ʏh &Yt {,4KB ](7?\ՙ;P*I]WtNHEWJ=_Wm)hJ/A-wnCbkVƻ:wTestm:wOtD>3B9 GÙG%Ii[-|jj}wV/@{D0@b3[XAwqAr&JKV5dv9Rؗ1lU0R˨\ފPԵP!ue[JϜFU?[+8q$ӋI`=.WqŇ* |)E+}"9Jp8 pW0G(D4Jj2{f$%u4[c+>hFWrjA!v+zvK5|EfCg !q @M6"-x0~6# \C|0ֶ_ZĜ*ד$XL ,*vZ̟l3&,kŻxRJ°mׯ&?_Iy9ʫl[{_240ɣòk+_R~Q'}2 r(=T::/PiH2(SFLj@|#r_i,Z|نE4:3'CQW|7#AC46hDg9v&H0?Ƨ85)1U۱]"a#$ aY oUY"gL]͞nXJ7-`tmV)CZ:LZG+4<4fʲBm^ =xv֗~7em~6ZW _br-[N fvgC8=<ԭ#+iL<;ݰIidطe6qIߡ?SquގQz`-?|P,4 YM6AT|G3:R`PDp"7$ƦO(,8wZw"]"z]nt": [ä UEuL K~b1嗓RХ0NcYi~oNrY6VSBAɠ.ȴ!0)9eCq28^|F?aBPp1D| ͥp ghQ$-%Vj?!:BiϹ&9cĝ]Eix^vKՍU } Duxvmߚq-;:;HEN?Vv$wc,bk&k%~d8@^NٴH@$7D?|'yX_#it8%x$cIJzj yg!a0??J'F9E .$I )_4æzFwm"_ Ig4(".MkD+njrP>)Ѹ"w(P 70(+ap i-Gcp8J;٧UN@R52p'~3Iau< B"| sɧPH(Gܹ̲5䎾k]T(R)+Ȑ.ӿCNxyteypP~/`ɵ<'c߬C:CvbOף$:{XNc꼃c832G^Z8mŔ|CqVa׌1jT$u~O}סK qڲq#F0 ?e_xm9e'v{Z)ܝzVt!,~]/2!ہ;j7R/jj-*J>Ճ Jr9(rc>xXz%`ǒQ3Or S[%}3Rzaų8 MHo3`r8fH-(U2w,f'Fċxxl .{LU&y-V5p=VB o`~Ð؉F% GpbT{3 -rQ!C֕99f=(C)#>luY pUd5xlĘ"w;lgHRQMRAkS5kٝĪhv"ԣB–AœwEة0JN wkZ#5<փ { |NlѢwr~ึݑq"r4T!PA8J+m7ż#tDN=`?{Ѧ,.*˪ 'ء7q[\O~NFӄ$kަ͢C0ԕ;>Q(x -v'xyLHYȌsnSҷQ5l\%NIM/36Cs]E. B3HE yQ mrZtW*JS(W1&/zHlSog??UϞV?Z9ۄhѕ`2q!b\qhLrЪ3tE /VB;A#".f.'`rc^Lip%!L.SUVӜ9x2פNܙ5OKp[_W$eP$ < w[Zͳa#[ XqO:ե ٚ ꉷ6ѥҠ ] -]c-^>)l"l L,hq`HT:g< ~'KG-Lޮ% z]l9Lw؏rwigSML#A2QM+iUZ*&?0O}KBڱ>J| mH[ۑV+vII"f2[#l#9u|'gNZ^%nFD Tp~zMOmH~#c`҃=HfGs+Ak=ĥ*[q0WJ@PȆGV#[ӾX w^mJ Inoz3hNoPR0]e M!s>@`@b`8ws&ypŖ~(g6U63]<݄܎%)+_&1X1Ap$#%Ų *pkkҿRH dn~IW=4%Rm]>%@G5@Zeڭ 1 Vy8;3Sg=kel. m=ǹ3v"G,%mBΪMzy?n5f%HVzKBB }3@c1J0^|^w6]b.v|hgy^0,LL4ލ| ^Z|p> ,$͏e5xdWW`3+^Z\ˡi~k10iTN-Ð&!h VԏQn%9W6@iꆉ_'YvGJ"E\g\@:Uks0ZA+ *x/(E!'s5k:Ե+RpK(f6Ev`Ufb:f2&V m xb'dC6Mu8 Sa KuSn|^Wݸ*tl)ũoGW#>YzV  /sA+ia?nn+Q20cH.j@e9 sK^B'}DU-hZuR;RqϴJnkSH~4%%ㆵ=5EX]tB_; @] ʦh@v{Ŏz"[8W gCk?@Ӽ% o[ʩ#|tFUr꟞;'9*/oEJ[kEڎU 9\Sz$DK0ádA Ѝ Ԣ_f'CWN"K-e~ FiyITkEb-6ba1-ռ [3:~Kp?6+N_` yՀiY_dF.Jj9_`VȝDnm$̾3aܻj_>*zڹWQ{'Z@~y>y'=%h I $惪W_ʋ)]*!b7H*NO}#F|@ܶvRKGӷ+H {&e6kzgCp+e|O \G $9 ~(lC} oZ޶$ y8;X3T- $<]E-#@M㛸@k~&]Sc"/2"FA*ZV $Ty0|38e A-07XW9_ laV;q}\ ̒j6o7ncV9yzm`:G!л!yfQ&[$Y=l],zg=4 nu2#Z|Xo^7voԖ{i~w&Ï\c9tR)8/Ҏ^5L(@l^ 23SeF#r6BViV]D$zl"dx޾I M,VKظG{1v/qY=0f@ 8ޓC,~v+|]#֮(GAʼnJ6U2 s8M^4o7)07*Dɦ"~^KgWC3gL< hN? ޛ69іa,ouu2HDuA_褘BXCz:,ͩEu]\V%Koi8Fg!Bʳ;>;Ԕdj8W<LX@0m@PN5(;*aE R,"2m]mp&2E?G 0Y"C&?&Ӿ"sO0|}?T{vp)}JܫuJGoܡb4[ݪ9k W\5fxRNw %!y(%XO"@܁/!z5v91Gm<`zZ0f<&. E9[q,3I!3`LDR)|7qu֫(R]{ RE8[!HOi FpyDM5KѴ7 /ˊz5ׇȁgm7EC{DXVXqAB2 tK qpTE,a`O뭅42}6SQPla-Ƀmsi BZ昲ɅJ9v!fr)9O]c^zK H]ԟ8k߶~m° fӮßQ*OtnQ,TSX䅨;e^ NxXM-T6Q^YIt<`M!b{([,nXL云G}'P~ cY"U9ƽu!gFGuDKۋ~2_Uh>C!#d0GдQePZ]ԲWjCexprQ0qpgO@Yi6,]Fp]. M[ZX< /{iqGꝣAG M[~βU/=~ --} [U@{%Me}R LLAÔlCˠvpC#c!ZOߗkk)=q&O [ӊ љvK)Q%s\t=i||*NG3}@C (]R|-`mONEr{U%08yr  3jjoFvE%L4, 4)N)H|Po߯Dݤf.WE@'+ ֲZS04BלF-S ):j]4İ$^j2n]+(Ų7Zo=eboY&=.!2FY#= SE>JW - }%%YѺ.H?|SI;܂+ 3)~ W>4C@ ~S F ëέ89_K0tbt4ӠS62uLnY![-I.uQ=A1:A=Ua? +/,vF,hzU~8f&.#L?J+l3CIZpƟ@뤠8w3\갟ΕcLmn)hƫ9[ $ڋ!3նasKIsS4d)kw@LXq؅vFR?l[ܺW91h+U>yj5@ @JC̪1 9{T'd+ f_wOhsnv[ Se#c4Tr32\q@8Jtp ^q fx9!ƞ?r LG >\ۊ}teðJdZ؃Q;I@wAr% |[ J˖݆rNxŬ*X9I]d75 I3C2%{?N B I=9hLhCπ=<}sx]i2H`Mku)DQ}'Oi ‚iͦXm5#-Az@~rs8WL_r1jccaVe1?Ю odNv` NY5|$Df`0|N;z$ U\?g*2:MYr՜uo¯I SSE卣gQ55`1Iqu*%=@7\1KW Gy 6K!S޾ׇYؗ@XeXZVYMY].[%Z+%Jy>]dc*t}|X)}̷ lM/ u>;;Ͳo1>2=9t!_+{sNITu ivFVG~aU ЈUٓৢAvdG(c=xvnW?cDUݟZb9$n2a<ۺk&4Ee3s*mʾT"=k}Tj>nƍ|{aj1G@ro& ?!*G:/c%PS::v5ić^KĆI=,b9fi:EȡCޫYֵRfXѱsc4#e,`JmM~RSk WCO) 55-ֽrͫ]flp,iKCض06h嵥`j`kl%E41 ;R$PĮCu_% 2eV&q -]|ܽr3B#Em\vpkq~MkOՓoAzmS+Xnutcb}7 O1\tHOΥ)Zn8l<#4"g˳OHvë.X6,:k$'d9-`Mz"tO J2KH4'l r yĘyI9)SnÛu~ LΆ!k'g7R}uϳB.{pSWTܽX4)#R53ʐ<+?-RZ7S8NGBeޯ'".~HQVtyTֵ(o`z!!Aoog :!n:D/)DiHH_s}ƒ,Q_&͓g(@O3uz Ѳ_lDy5Z}PH RO>5' I0/N}!pIK$b@+i2("X\wnE .nT[)g25Jwɡ4ik)s7~a 0y%=qt}j:Ӈ WWB,qߟѡ|Wk2mu=9mlʼndJ9x LM1OZ!R%hQ7lm/m; M5 +n˶ztj}r~ރAwzCWmSJukFt G6Yy3;2Lga7%0İRNO8Sӝ8䉢PfHDRAh%=zMO}b"oI}$(;NmP׈"RP+*aE+y.i]$n=(LQ3{A0e9vbP:Kn2>4KηZ2rS`yL)=@z;?!r*ΨP-%KaN=H|R]=ٽS Wfj*v?%ǏIOQ"yH2z,?oο$z`BBh֏`ZhSٷ=J?1ϙmɨ\p^U I=Bsps2[~q"BԚ|| k}rPq% `b`G <$Lkq_ .[h,re}~oCe@h(sK h-E{};(&\1L<+tFDƼ\z+l͂(RFc@r(ޙWL |cn=tpޒZrVqpllrFianź1c cH,h/{uz!y{T܄$U2?T\ 9@#K N3(0[HVVT}HW!CD|b1y'#^wҽQ# fqqjyefI_3\G|<`3eϐRN63.I0wÙǛ|FI~bx_EPn> D7^4;4@!=,Y:Y7JA{r=_F6d6OmsW+mW^j2EӪ!.ADS1w3Sw|ϳE;sI;ƺbV }<[蜰k _ xli]O(KgG$<4 E'AϳZkl2k6P~~?5Nܼ~7Ȋӎ(ͬ&7֭'qs䐠ajJiP1XI@8黟'z31K06*Ry)?SR2 כ T!3ȚY{);i'8ǹDeg4z]Ģ@^ (<),"1~0-p[2cďcCQ_r|Oy-4h8E]Vgs\2JVQE R"{MӢV&&(9Eݒ 4vSU|GAc>EnҢJۘV㠓vQb?(>oe ̻.Bע"z#ZBZAݳEJW(y:h(I "LȺ7U5rl4?NF;:5٬bjOEFN0҆𴌸NPVRd72g0Ǐ '9_oqu3*5G!A|q6\'>wXgYo#^u#+Gx9, dkJI^cz:Pq̦*$s5$o.:V/oD)'\8A>p[ t,a)b._',jm{E(.s fu74H//*ce,' ެ&Xji`w8)z5X~ǺvTg q3 SFhDCUW ;փ7y{J (9욣^l*H*u܉nIw}e3`{åhK`>u4{{Hq[YdƧa5 3'%d^'GzM̯ F/;MTxG2DL\-^\AI޳C]" T:%E]pa(T"fo9^hg|oti>rvƑ'LXMݸ3veZ>JbEql>w*]y.ۢ/ؽ(bt¯ӐL kbXpd4=NG]cUi ~ r;Ӱ_)#[0094zM"WqxߒVnޒҩ~|6]hLꦥ(3%X:^#C$4 وT(+i1u3(ġOwBGpH񞞧HϷfέkWs|O0G+"i3x*-`r*C/ʝd{³"rMo3 U`Qd6G(<#99TYg~ )[ %ZUӐSuz}00W,ni7-O2ef91#TU'GyoD0a#yvg>}i]D| fԀ+|oU?g@6JrG:{1/bBc:`"^FGiI䒏VLlN¸Da+%ix'Q1th& 08 8yP_6&[ھ6_dHgSڒUg,Fr3b@b,4J'irGRWؒSsֈpq;5u\&Hdo%p O'1{2SUK@j 43~7Vq֛{UdY8΂^VK =[-|3ÈTw_חnI 5+g M} 9֧ vRJ#kM=R,q@yj,j BDJ }psV[9a6UwG2+QS~.½;GC)#2S5\pNȥW>G'59t,,毡a3XsHN?.t/-M-e8-U[Z 3M{\e`^‹"dnYm 8~ =;rPT$P+M[pk1kǤ~[a)=]j4),L'#`OAcg?MHϔSAi_;9pҪЂC5W3 ^;n2ZRɝ6ueOʸ[\%31%br`˂.TQfp#vn@]x&'pg`0Wz`vaS+|3te) lR|DD3Vbi >ASs(xXZ-'E޸=mwg#/hbm8 L$*e2lt"y@s{&YugZWG !}zLdqe-W{4=u JKȉ 3 WE$.+^l+BNcz263^$BS+#"ڤEF@: 8 >"xOq-20 do3"Yrj#e +iEw;IIV ke*7oά\X LT>Y`~_#Rk<"Rv{d:&)/]Hq Ch8U~?h䙼lOaiWin$w /2繧$S NN T< cv=T KjYu͔M[Uu8ȝs=h>O PoU .k %'{ 1hb:d_> ta(jl°Yӎ1]@4/8"Fgܷ^,`X\.Z2sS2̳V|/xp҄uU,Ghd֬$l lI"] ̴47oݑX /r]ZC}z5Q' A'w)]@rE1 ɽpẃeFΰ^(LIQpHD S>V>oeiv3bG쑛svZ7>^ R[·zz}SmL~o+-\q;,=^Y4>SLK^X iq}WQRXL'i hWg)5:0'Q횮@Z鬱YIV%`j7Rycg$%v4aj脉vQԆ!BRbdA㑨;Z< Y ȞՌZeȽLiOFV. 67"v}vFd9ˇ(MO7oܙ`̲6HUe UsYlvB"diSNC3ૡ:(ۣW͘dC?O;}f/oׯͷ5_;zҤ{3]}/7uWMh'fK!BѬlpaz57.;@$ -C"{G~0(4R;0DCEᒓ?fգpFroF8lV]^nM|:Vee}URԥA}TdM7< QWdRp*ީ( [\ˌi