summaryrefslogtreecommitdiffstats
path: root/Makefile
blob: 099ae04cc882194f613409033e4143d2b807693f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
ARCH := $(patsubst i%86,i386,$(shell uname -m))
ARCH := $(patsubst sparc%,sparc,$(ARCH))

RELEASE_BOOT_IMG = hd.img hdreiser.img cdrom.img network.img
ifeq (i386,$(ARCH))
RELEASE_BOOT_IMG += pcmcia.img blank.img all.img other.img
endif
ifeq (sparc,$(ARCH))
BOOT_IMG = live.img tftp.img tftprd.img live64.img tftp64.img tftprd64.img
RELEASE_BOOT_IMG += hd64.img cdrom64.img network64.img
endif
BOOT_IMG += $(RELEASE_BOOT_IMG)

BOOT_RDZ = $(BOOT_IMG:%.img=%.rdz)
BINS = install/install install/full-install install/local-install install/installinit/init
DIRS = tools install install/installinit perl-install

ROOTDEST = /export
UPLOAD_DEST_ = ~/cooker
UPLOAD_DEST = $(UPLOAD_DEST_)/cooker
UPLOAD_DEST_CONTRIB = $(UPLOAD_DEST_)/contrib
UPLOAD_SPARC_DEST = /mnt/BIG/distrib/sparc

.PHONY: dirs $(FLOPPY_IMG) install

install: build autoboot rescue
	for i in images misc Mandrake Mandrake/base; do install -d $(ROOTDEST)/$$i ; done
	cp -f $(RELEASE_BOOT_IMG) $(ROOTDEST)/images
ifeq (alpha,$(ARCH))
	cp -f $(BOOT_RDZ) $(ROOTDEST)/boot
	cp -f vmlinux.gz $(ROOTDEST)/boot/instboot.gz
	make -C tools/$(ARCH)/cd install ROOTDEST=$(ROOTDEST)
endif
	install live_update $(ROOTDEST)/live_update
	make -C perl-install full_stage2

build: $(BOOT_IMG)

autoboot:
ifeq (i386,$(ARCH))
	install -d $(ROOTDEST)/boot
	cp -f vmlinuz {hd,cdrom,pcmcia,network,all,other}.rdz $(ROOTDEST)/boot
	/usr/sbin/rdev -v $(ROOTDEST)/boot/vmlinuz 788
endif

dirs:
	for i in $(DIRS); do make -C $$i; done

rescue: modules
	make -C $@

network_ks.rdz pcmcia_ks.rdz: %_ks.rdz: %.rdz

$(BOOT_RDZ): dirs modules
	./make_boot_img $@ $(@:%.rdz=%)

$(BOOT_IMG): %.img: %.rdz
	./make_boot_img $@ $(@:%.img=%)

tar: clean
	rpm -qa > needed_rpms.lst
	cd .. ; tar cfy gi.tar.bz2 gi
	rm needed_rpms.lst

modules:
	`./tools/specific_arch ./update_kernel`

$(BOOT_IMG:%=%f): %f: %
	dd if=$< of=/dev/fd0
	xmessage "Floppy done"

clean:
	rm -rf $(BOOT_IMG) $(BOOT_RDZ) $(BINS) modules modules64 install_pcmcia_modules vmlinu* System*.map
	rm -rf install/*/sbin/install install/*/sbin/init
	for i in $(DIRS) rescue; do make -C $$i clean; done
	find . -name "*~" -o -name ".#*" | xargs rm -f

upload: clean install
	function upload() { rsync -qSavz --verbose --exclude '*~' -e ssh --delete $(ROOTDEST)/$$1/$$2 mandrake@kenobi:/c/cooker/$$1; } ;\
	upload Mandrake/mdkinst '' ;\
	upload Mandrake/base compss* ;\
	upload Mandrake/base *_stage2.gz ;\
	upload boot '' ;\
	upload misc genbasefiles ;\
	upload misc genhdlist_cz2 ;\
	upload misc make_mdkinst_stage2 ;\
	upload misc packdrake ;\
	upload misc rpm2header ;\
	upload '' live_update ;\
	for i in $(RELEASE_BOOT_IMG); do upload images $$i; done ;\
	echo

	perl -pe 'exit if /  DrakX </' perl-install/ChangeLog | tools/mailchangelog
	tools/addchangelog perl-install/ChangeLog 'snapshot uploaded'
#	cvs commit perl-install/ChangeLog # otherwise i always have a conflict :-(

upload_firewall: clean install
	function upload() { rsync -qSavz --verbose --exclude '*~' -e ssh --delete $(ROOTDEST)/$$1/$$2 mandrake@kenobi:/mnt/BIG/build/corporate/pieces/install.firewall/$$1; } ;\
	upload Mandrake/mdkinst '' ;\
	upload Mandrake/base compss* ;\
	upload Mandrake/base *_stage2.gz ;\
	upload boot '' ;\
	upload misc genbasefiles ;\
	upload misc genhdlist_cz2 ;\
	upload misc make_mdkinst_stage2 ;\
	upload misc packdrake ;\
	upload misc rpm2header ;\
	upload '' live_update ;\
	for i in $(RELEASE_BOOT_IMG); do upload images $$i; done ;\
	echo

	perl -pe 'exit if /  DrakX </' perl-install/ChangeLog | tools/mailchangelog
	tools/addchangelog perl-install/ChangeLog 'snapshot uploaded'
#	cvs commit perl-install/ChangeLog # otherwise i always have a conflict :-(

upload_sparc:
	touch /tmp/mdkinst_done
	cp -a $(ROOTDEST)/images/* $(UPLOAD_SPARC_DEST)/images ; true
	cp -a $(ROOTDEST)/boot/* $(UPLOAD_SPARC_DEST)/boot; true
	cp -a $(ROOTDEST)/misc/* $(UPLOAD_SPARC_DEST)/misc; true
	rm -rf $(UPLOAD_SPARC_DEST)/Mandrake/mdkinst
	cp -a $(ROOTDEST)/Mandrake/mdkinst $(UPLOAD_SPARC_DEST)/Mandrake/mdkinst; true
	( cd $(ROOTDEST)/Mandrake/base; cp mdkinst_stage2.gz rescue_stage2.gz compss compssList compssUsers compssUsers.desktop $(UPLOAD_SPARC_DEST)/Mandrake/base ); true
	rm -f /tmp/mdkinst_done

# mkisofs -r -J -b images/cdrom.img -c images/boot.cat /tmp/r /mnt/disk/ | cdrecord -v -eject speed=6 dev=1,0 -
# as distrib: mv ~/oxygen/oxygen/images ~/tmp/r
# as mandrake: ~distrib/bin/mkisofs -r -b images/cdrom.img -c images/boot.cat -o /home/ftp/linux-mandrake/pub/mirror/oxyiso/oxygen-3.iso ~distrib/tmp/r ~distrib/oxygen/oxygen
# as mandrake: remove old iso in /home/ftp/linux-mandrake/pub/mirror/oxyiso
# as mandrake: cd /home/ftp/linux-mandrake/pub/mirror/oxyiso ; md5sum *.iso > md5sum
# as distrib: mv ~/tmp/r/images ~/oxygen/oxygen
Tʑon>\Oz|;SnX}Y~FL+䃛cNwfCq sՔ 9rp5Ĕv70,{;͘0@:#7: SZZ}W.g(<,a>ǛxUܻ G=iՅHФ_xSx.-m֣KXj22^O±E/klYi񱺄u3H) %VJ$'u8N~+w&t3M,|J(TfAAϘ<pA6e #V1=UBL:5j6Į8tJ.` G`'ۭ_:r^yo>쁎1kx富7kq[<)Z$?c*…)$hOMcvsS(| 6 VLnf!]DXnR HZu7+RB ɓIFP-.#9}WZ~Wyri迦*xîm<`!O#Oc=̇x8sh!0ڢW@A4OkV:'N 89Ѡ0vN軜{ #oH3?Z5M==HDXPFx,f`<&aF"{2fdt5G+Gy@ h=\:(w7I{3 PWop|l![lU'KTN:σ*K˓GiG 6孁.;2 XRz{0zV{r .K'' f/GKX[`5S fҳ.롂d+顁Tƙ@zn;#)D#VRz$~{827l̙Jn!X[` dK&Մ¼3elo)X0XD-?__*vhrMyHoFs<ff͍VJ.nKSN >rB,& ñMbn/hh[i)] Z5*I} j(Zv3n!a?skM23M ojLy v t$$/$_ijSH c  tHͱOq zΤpH;eLkx&Dd,rqorBOD+i~Ņuemb㫎CG?b)@?:Uq+m-k.XL-f;~ XgC<п4;ÍpK_ ΂vQiH`ݒrnH'yXƷa҉( )˜.E{Og)1 aR ]+T"ªxd8Bjx _%O k7Zm, ȴ6.eع:J#* B}3n<QzߟIl"fu:\l0EҀa v!tW8ʹF32|qID8e_mI @G1Saޘs&`# CsD*د'N5mr]sŲcޠ\Q)5C;=,#$L& |U@ʸ//#0KB;bxG5L^F.#wFN$N=#HjZ+b^1)H*WB 5d]x|$ho3ƈP"\\tsR o]KܳfhyGkAPT Rr p T-׿{uF?[䴁ϦR|)i$ A^M@P]f=&>7ITƎ.<}CNxmd{9ilنg4 I :ߐCU}FbI]=gn\Y+VA& 7۹gA"鱤u'* ìJ=~P}-bB9 E0&d!OMa rW@cc 70,>ĝ,P)3:+ cnfDp#£oңot,3nHB5UOVLfGrױ!6tJ:zdrvr欿uGżO34T@Y?\ޮǚ _w^TgC00V*Ψt9o׋D1 -@xseU=¤&lNr ~Fa/N.eId9J*h!=|Q:'&Tv |{s Ȫ>Hk{-OTw6~V?T|MWGBλnu:XD9}5_Ojr?ۏu4E3Z쑾I_vl[8a;H4#أmnn {u*NZ;]"ˀ0mne#Q wM6?" m~B~D 'xwrݐ~rse>4ygz%hW#C>+=<8wuxrl$7T5Af$ƐXH2+ , ;7>/s>(ڼ" z5j?Lo_Bp}!֔;쌛b^(^d+84Go W,H!*A4SyHud#|NLԓCG0 ^~+KҺ$l..v5 H>G-k~ƀ7~5y g簇< `:sgS 0,Q!crNH=3[̹ԑu\wƧC %VQ482v)v q޾JřtZ ֞F1hX ̲]/`â\R^F~Qk-.mwLM>^Rwyt&؃#ZzvF`DoթkmAw AbHׅK_kԃfBPKjVs"DIȸ5(gm~e 1H5ϩ6IDgQ't{:6p鍢bﺞ9 kj}dE (ծyl9Wk/PB:Wpy.| ESsxkߩhf9w;VGZ13ITDdwZ+)yX|~ .T$/wH"%JL6;?竐񰰪۪%/oC%<8=F;ҧQtJq:Ԧ?Or.eJ^dU;*Jg `d}=0B^`\֊,FqfkH^pyp17@nmMCN>|ęXYbY}h(7(AON$UB~OЖ3ic7TBh`o&1z,zjH T77 : a?N9]$USDXB_%ފ&ҷ)=?iV65!A'l-xwU|av.r)zS IgLoy'apĞ[3M~'U-fk8Z5xZОh#p{m7)'ڈM; Q}ȑƫOu6镊H,~͊$7ʅ7='*{TQ4&[X7Lz zl:,xeT#T*^S;ԾZ#'AX#zl ;K <2Ȗ0D&)OڻS.>-jWW.34$jLr iVػVJ>\\R5J^\7t^nHTSfuk̒YƜ¾sfUY7T€BF\LG;4oཟ;fȵ R>D $e U3blQ&1QO8  tN1Z.ˢ qW*,勔u%j B n˰q&#3PU(Yo4P_3$sÒϚ5d^! kE/;br~[J刿~{W~Aպ'9u #Lz{pףǨݹ8"4pcV&sڏ  /͇&Xb,< RLۊh:Yo5C󢥲prais|XQX`a8*;&cK()`ĶQU1 &;#x!zxQm29P:nNFHY-V%\#&<,դhrߗHSh.Z7@1-G8A,@7ɟ.!FHRd-ÍY{Iug.((ZsMT#R=;y?nSR#bqs̵RF{'Ut=N#fl/sў5h鏬>MSnk͌L'&=;9/!ዐ¾:YNV|u3f&;a,Ŀm43ꖊ~6dAͽ\Gx`j lGc]m,dcL)0~ihzZB#hR P}JMk "LAc ΕmM8d;F^(ӥg"R` vgf ~q_V&%m%D @j47 2|^C"Cw܆4[:rI)~<)&ʋL'Ң ~(Kf`=If"X^nD;N^5Ea4}Ffy''!ɹe4||:$ /G@E^x]o?3!X!2.ݍQ:mE L<jpGL*zRhw$6&,yskJCo}ODͺgԝ:dg+ 1kB7%mװCJlāK54u+Y]\F K UL:օzV+@όH>w8O uDjGƅj9%wW͡#Gk"_<&݀Ŝ^U|l[ vd VgFÂ*Dp59_}#F[B^'?dmjX[ #_ըs=w-^7uF}]#qXK 6y-6qѨ#fBnvP ‰Q'i_ɼ1wo]ȘxEKM|N31bUbYG{p*J"7%vbKת>_h^/+Ն(M*s,v1KR<1tr{#Dxb-4#ۂI}m3)m<8z*B:)0**+=-,o"ip@4ϩ=uL׷bզhnZ>_q 1F֘{'A:­?;׆;#k6T;US 5pIՆzqUN 0Vi빈Pk(Z"24XCv/ gSV {^~\ 5Eo];} i"l# 3WhoËk|N9!^QSK{R_QK -ꅒG* C|@zS[-gEYLt.^<ļ*`R!ߠk#߾o%tGX_bBqX29 `ClTnY%RׂC EާL0|T%eO,@|g牌יP ăt%binۖѵ뀩T2Olo>aVzs>2Dp孼_O,QzmkW7gڢXKv'x|W-i(Uk;P ėADk־_E v3ܶ {MWʆpV2y3䚙f4@Tt?s 0<yoUz/UxȔ.tEEW88Z" +id[_-DhrM*EVE= cCqBGoԮc}Â;N7g,r`wAR N"3XEOJ ;lKTȩNt^LіEH+@g,܃9k!/Onz5I8p^TkGNG((,N3P9 eߑisǮ̆WN%M1u@@urr,Aܞkܸj2T[M˥s^U46l8]%M? 2%N^1`@VTUg8pJ[,=بA{E&s22* I︳a4Ԅi\`q2H!ҳxO DbWte(6)5B]omйԯJRНjW.gWM̻<@ mԿ?ݰ?vT7^)*r$hJ,A6{~V,x~# a| NFE4 blۍ )y"&e삮9O3tW-W"=u?SCM _%lgP"g`Ꭴ6 8l2?ap9*P!4{߆|k]RޱȇGs1?Mh{O'3דanK5q>ʒm8!Km:Q! '`/),䞣靵5gujc; `iX(GA!]R|Ht뛀su D\azTwȌ9/*G4)ޝSN>,`N^&//tiBX '\4/M7|S? eR^/AT.MK.Al Ez'۩&38ؓDDwtOP!ޤ*}'x6Y@Jߣi{rxT!6_e}xa:*NZ(߁J\^hSZ'Iy]{1%ޏr`f׵^kDOLȁAK/tH1dҪd8A oZk ÛD@ww)dgO~?Р8;+w+!뮆3\ _'έETL2pŵj4([%b2פne>d[)ѡqr!o+`D0{7 ǴXKq @z}iyMB{҅;?*Ǟr-ZV_ϖ[}/A/bmo.ymҍ>4Uy5[-ܻaj[ըW̪Z;猺0sNV4 3*G~ݒ04|\i/.F@Vkz훷2`Vfl!9;~BF@g,zVi< )`:鼜Yӥm[TY[,=>8lkx#:)f+rc,i|y[ 8jv/:>.0WӦ.^6^oJYe$њ& ժV͹qwW? ;$W^\tmLSy)M[& 3t|">1xI[֘fi@ cQ1}aL4*rnĺ ~$6d$P}_(}/ωxCk,[\]6i *\6X[giSf!&N(j9 eQ+&]ꉣف>t3,Z+bslU=Mb tԣuE $>7xG J/:YnٴJ٧Y#*S0@H{J~ys:kb(UgORsY 5^7{h);<뮻Q`NS Fϙ|l ^Z+Q ܃X|_3eHn ~V$õO&M|>|SEePvܒUF(t\4J^~d ?=P{ .B!Y,f؃7KxXW}ȤH⪀@ j׻WC֎adcb1ɫ ZYE~F8G>OO%i]. d# Qx{/D ږ!*_C$i'Tt g p˷jroKNRNC!t#d4j5L$.:09Wcܨa{ L^ewDtӞ%C- Q4"+Y(sߧ&!W/)JIZ>O!W7-ZZ<)#_;dҵ AhC֋ Ij$H[Z\ "%>r[Mɽ_&G_] rKr8$.(8PB -Xۉ\W AMvb*Ŵ`(+EsPU<8?Yx$'iyt5M {H5y踞:j$_H\l#~B2 q@Ra?H0L}tW 8KS{{Dшa^>^\R`7B}.o8vs4\;gRoB"0tpqhsPB|-}> yֵg)`Os{FO0jŋlL%],}'M3oj@Vg^Tt5o2FsRK]Cv3#};gޤvKjn:oi F.cG.D|1ve$;2A>\%_ ۑ_4JhQxuG,0@mL?ޜLft7@3=q~GC 2oc~q@UU,"#1DM52U7Ht贎!+¢ "5/!ʞ®ͩч[L42? P??%)':#)ٖGHFd(c"*6Wҹt@Th:{LNCJ? ѡE#Rc ,,׾8XE\FF#`^y>E+iUv0wzV U!U10@SVY67Mtf]ٍd=H*ݎאO1U$Lu:M\u7ɜSHpj8߳CRiX%k>WunώE0"O, @0h"@1kp\Ž7rTAn $^&)IU0KP fs k]z;{O2yjĝs9]ˡB"`>$CKKUyP_@u/9>>X3߿>UdNYH7Dy5m,g`*]'C ը_ҶY39P=\qэ/s3Fץ Vkj濳jn" 7@kRUPjVE'B$,[#@QS%%ףc JTJϖBՏk60Ii-ݲLr,XAyqeɷ(l i]#Q[}J́,n9M}r7ޜ: ,ApQRZR"N7|[۾'0V%?K$6 {S2l-=1K%e뿜CaּCSb~^]HKq9.cA q '$ARKI  S_/@Ꙝ$oAMg c|BS1EAt4q_U] 8>5jGl5JuI@r'w?FG~^;MoDZ+g7!4/L OF^CH9f\yA@"/(;Z{y:rFyt0@Q,Ƽ8yt +v~ j?;Dt2wtЉ$#A޸sRNfF@ JL0@/nЃ:!f ͻm!# 2~՚TghnUJӑq;t=Zm Z;ބ̕J}I\H# W{w< AΛܝ'Tэ8{’ΧTdV3/{ļ(ߊuٱ=?%PaQ'sPȷ2-]`4n @e3AxX5jغ3I'vwqEL"bQ#c N2m]!W.$_T{u~v7ﶘ)k)l2S^"6EcwP+RsSE_L{& nQ9օ٤j8Ul yo䰄نC v]_mDh~J^??n"\ha̷U~"{̑rx}pF@jKq]34ܽ'%kՎN3-\Uv7үPS <Љto]nKGA\oI.x! y&PcbUǫiM!FjPIDj15*>X@ۛɮůϵs8_n r5ti*;a|PE;.J c9n<DzťbaPfTw>4R42J~hf'?ĎB=բp4fhi;6OڌiLTG(ȱVߥ͡_1I~w;$(=4yWcin,LؤkM!F֢,7!{3mJ IGm +&5AbYOCy@lɆ6䆿@ 6mORt,>-1z>zq[)BYX@u H@h1U/8)gT$[LHae/Eq2ZUj#[khxT}CMF ,yI,Y8 J4$eOMԜڋ]wˎJ@=xv@8cIܖ[giI0FT YHo㤎o!ܡde8w͆Ht:Z4'Eߺ7t:h s?m$:Rf%xa%I@&73hkE.5ԨGSLgJECprϬչ֚n=]3Q%iPk8uQ>:`9S :у|Bx 9$JI=pXeՔ&6}C|9JJuAnֆO)&خB:ywX}?lr@LZ5,1gI/;] vm/S3@9;;KXa,yEkdJ8Hz$6ǝ4bɔEݠ9@.m 9}دn%cZ^B$mͩ }tnCV]sE:,CM&JAiU |K| SV3%`'%)ׄsiW:~=wq%? mET=f~uc!OtBA(&F9'.M0Z@JD o~F v_9wS<c?OUT?2W8%fK9c| "HH!SO-Fkt:\zb>FbУd5{(SKIi:̲ (qOuэ]|nH.BJz-wX>fdppF ]ޗrҚs$rË\6$8P*W ɓ&^[M_2=Q0>,3Уӵ;e %G 1ݸ _fq $Ǐxޓm`ߩVeeL/mΟA )0 .~Ȁف866/07}a;ק dg,j68}897!)# B Z6Nu~k 5ڭ_t5y@\&#amnӼ%>胨'WMg38 "iaK#m(/gJE'B{F̉_uQJ] n {*Ż!7^e`0z|?ZˮRRdӶ 5?X,&MpIJn~X aaJ%2mhpĆW,=Хoȍ{7ʐ/aN@^u6ˍ5-A@vo|Nu{8QJ6ú@3GSA/F{ƅj2݆:gtB`r;b2&,)X|:$Zh|Ufg\:E%~Grw~Ck[/(!~,ӕgc]4k.t*5-`+#oc,Z lػ-`qAyv1" e  ^b2k*fD\GA '30S7w(OؑpeK޹?XfNQ7dCh=|/{, \Ҥjɵ%@ٛThO.3$9:lZn>LltdPYKy<01 1xF5xroQN[DX莢Jth_H߶[<[5foO{t>b^X>'iYVMvRy)a[S5V` 2ZOfoC;gD~N MmeODc*Nf.iɿI,8\5Ե}!wP L˲24A|ț8 rwybδMD)C"x8@gU)8iBB=KҎ,ZE<†0 #өS{ e}ą]eۘ|$f3vTJ e_FW@Lt6j8l=~;lW/5"f94%L}VSȐ>hͿзaYHgO:32w+1QQ_FA_ .Yml2W+Z { ->q |Q_ ߔ%%W;7: _~qs琯D f`GR,C+^wV >^am,z:c}"}o$V`Sm! %諮>? ύHZ~w,g$tue{Kes% Y wo(#kzN\i'PGxNdž EOS7{hUB?<7)$IBv˖sRb[Y'CDÕ37AĦl67 a oA>W"٥vb>j/Eޢin@ R%;τXG4&!q`ifT_^3uf?|d*]*k ɮe%,Pz5f3ew?6KEس=-<3'sm5O]!3:҂vvϧ{^g9 c-%n9g$~gF;w$+sUd@=Yf+L L3qVU08v_, ań.qowv}l2j;s" aHLprI2gAc^ P|y, į 0%Czkyt'kDrG1tm":>4gBaR]݋pΙe hCZY- **\W vY²2.\VN;L˪=*ЀRՈͶƇqm?`%=zʁ"x*#8UrXx/6px%~o t'ygff=sØ2Obg^Sj6 i84n,[ t-!h`TFJ-eg!>w^4LV6u\>$v M^*&0rzO+ϥQx$.[`v]@n:+9$^(k:yWDEU9/ƿAje( z *^[g@p NQ% o˶v;s]0RW 5u2О뭫Fy]υO}Pb<^YZn )7߈:ҁܳڙ[jX}@˵3m>bH@$%ti1ACcG#6_ .4[5sčrcUІƄ? tL_f)*w*#{6~MYƬrh{ѽ/gL5Bva>׸H<˜%~y^<^'(J9[CXc̙҅7Z'4_"2^[\ [" |J IE'R?Ur[$<'Me iƱs|#қ99~H)?D.rY&o~7"L7vX/<'PJUʂz-&|6ǝ@V4pDy㩘T 4Hh(ܷrQό/ ǂL reZ9\`rngH*#0GiBn$t`o()C Gi۬xvEfnpB# bY(WwNG)C֞Y# Y|+ ފZh Uqȥ{24-2GGgQP[{.\j~^M"PQƖ 23Khv $e$\CP E'̂`wIN4/ʽ.[#ѱ8LhL _y6%}3ΤJa #/y1ttܞ70灃zD%_dl #~R2RtxƟ;:'c|&GI˾N'_۝w#@!Nȍompۙ0 ?!u@|Դ:Kj1wd/~ZfyCfsf#hG-2').Ta!740og9%XFOri{N.gŅE~MFyeKҮhcW>/axJeW~\0aHANRشg`;Тތo0WMĥQ-O Y 1J.yS{Q"#(ͣ7WLLidž&mGOdJP@$R#yCic;uӚ>UT ݙ`p>XHB$pjf$i1$p>tHNQТjd4(ui$L"aG+u/ka)B^!p /D<ͼlhgɽm! BCf~S~ +mR9|KXmN~ U{5rV0y/ӎZ9pˮUKil1~V% mFx! vP "T"r#~Fl ɘ+͢[c<iʧWsO7]<"I/"/N_\Y ?}n*9P#^Ȅ(hEQ 䠰;c x1컲X7SADǺޭ+d`т)]wGD쩛0lcbtL̯\pH(/03"}7L>bH$F5,*jDphpT=ܑYI~AsdΚ9t5"Ev%88Y݊+p5bW?R4ծ)fDwH~P@>3">Y9g3ĜB4Tp 2uD% !يl-̕ye:g%sz2 g:R4م/t_V[l8-~! O$s .%.EVr,U)lyi$>+B^' fCR[iJӖnybQXЗQY0̸2r<%/TbFL\5V|A,0荹p3hiSO,,]O!AW=l!θ[rў*L8|6C*i(Qn1d,̻(BCP%bY77'VBЊԨb<'36AE;ny! U SrBc.@ ,gKHKUr[уq/lwTJ@mZLHӯ7,-?n(Q)El21[cR=D-\v];v%iJj{SvcYZ #ɲc˙S& #Dɗk2^!m EV\,j+ZQQ]Ξ֏Ѩݗ}~bMť9=5pCL)fkP" 0n,hqrt>o3ݶsjArU]mAAG(u p($%˳$eCy'v [re!m"U轡&\\PZVԟ!%zZ`Zl*=Q|*E3ysCBgn3&WSN3FaZ u~}f_z9ʞ[!}J#gT Gw07%l_1nAZy TW?jBvM;c\~g})kז_A|.)^Y|dmњG3;ueZ@I0Es9SA>2Er:,K#|,φQ/WTC tP fL+׬npb׉C"D\mC\&Ts~8"5mV␰մbx!&+].8o%gBӏ9nzpBLJBƣ M*1,̬ͳ scex4)iԶ18R pajB۽u^C➜Gt"$r+pSݘRs<3psO'.a@~]D3C*zf}N-F28X*xcz5t*buM7:)_&'4+EUAޘ`u+-"a/"U>j*g-w](H[:-[a_ Kj6l]cD>KXL0#)&U u?MCgEzciy޷xTQ+3![lCn#])VkW:g$5TjVA؅Pj laOS*=qU%vl|_3"<ˊ5 CfnYBMCeyvo:3=_nZޙ$Tq v& ܍ȓţ~{B4B) עq0HS .`SWd)D\n_TmD^l>P7DNz&Z*ĂY(O~A)2#iW)րF绵Up `p5^!jޣg8 k_y"b,'[1TKQ|w$]m>Y\#' Op2#gꤜ!Jn"蹰9<oWj  =v=LQ`WʎFp4<~A]]}Rit/g01DTޗd8FnZۍt4fl[H&.gE;BƋI- ~2YBLNGP:&@Qh[.'Fwr6Nh VAoOF(K廵M?Oh",G,}Ft㚕=^?\F5 O}8%tS >S L1|{zIWJzsOȒC^X¥P?rkf^C^|y(4PWI|kM 2Yڲ%pɞ3bXwohyڎm܂3 N& g*u&sTϠ0J`D̦T!` $CQ7\r䯀\4r+PMFUYbׅ@]c/%3,l7P'yCģd'K˭  D[FW.r5i%EeJK(*?ה)Ȍe'ertP'8X\ATm(k󞭕q&H,ziE@OSe-=jؚԑ ?2]jL3>X eTޕrP`z}}=?(My.r/p8ƨ'ԌLz5^Q[5\6dLɕ-Mׁ䗥oSf.sqf8p fᓧD|?<-)vW‘R Tn6(5Wq:%:}$_?ζ+c\jr۾HE_c'n;{cr8}Xq‘_ݚk|gﲩM0hZv`{%;7 kf/{|*ۍ%c'/wz sqؼ\l( Jҷ7}jhPSEX ;밥[$-raJ4\vsItu|& z\lTVHED *Z>!@'M9m < ],V!Ω^Շqq1IcS`ZbcZD1]4gԎq"{jp/O A'T {#QorP;V&m:bE(,\;-T ~^m{}'cR=Dxh/I<`$W&fjܡ`hQ_jʫ1U%@l~.CMbH iPnܯp'ѶGJ -c鉼pƸ͐A8_q.L9+: ;}%(&0#0Z[aZryU>֥as_2 '!Wu$tF7ث=sј C太jOj@  sȧ g fI'^McT:)y:"w b7Q,[zǪ!'' y\;sG9! X]7f=T?uV[ x)!:]Е*z=S[d}_3뒉}LpxޘYwÜOibPl/2󵯟Bʸv${\Ձo,vM S:HX$dtU cx Xl_a@٠+yJPhQ&ɵ*drm,3LE-zC"zkG|Z3bUv*F *JqD9󽲒Nkg:@pUVƗI:OĿc+@4@i!.Vk#_*xϜB9ehuöEKe]$ihJf{ϣE#Yy@-ddAVRid\YO&("yCb8qd% )Av)_ Φ*(> #Dæy i#1np'f6ކ:S጖(*'(?60o닥PcpRE+4yvk#~\BOgådѥUulLA['|^K} zK2޼([UF E%.aЕKA_k ~0)}4U&ñ- 3[k'pIP&!]h=}-ܡ}A?aD> ߢxy$n0Q(ܹwKn!Sj ՟t5c:gYtNz;hU8A AzUdҿx6NXj@wÃTsŻkC8UٙI6/f1xylFf{\5ptBfƻ"&A\˜dL!:HI|rc(d=GpҟeQmcHXNa&3vO UvJ1( |GfN`NBﯠ%4w@2zhp8#[jzd=qrC8,Ѥ/D!u4^S̍bέgMf ?j500؋L('-6T".h~0'?Dz0/xC 0>Q̠ 80YRMaIXC RLTK;@,+O 2uM,IM_w'N տ>=+*gi:_C6Jg"ڛ6 (95-x[%&ϝ_>b"h44p[Y}ȏՓy] bCڍZK >=!ѕE7XOqSr}mD/kTɺ%yItef^ e:}Y&p"1ʄaeVqF7#;Tq۔T<,ڦptX  n*bi "?+Z|bC_W4(2`5c~:Ppkw-yvG'tyG9Hg3Za6#gK^;Uok+)~ #qGN2GcE\MR*lĢ͜RB[^ RSx-]AL޷XWAqMݹq܍2g*2 5λO2ʸ-3KаC̆3vL~xm`0zLͯ;<Mju A =k 5|jTXQsDe/Άd} rU>V^~h?d݂dY*e(/LN4x8pK](4NLʊZq@ aDݽ +к2݂h&hoԙbMͻ|ѹEK~bU0C<>}&_HQk\AM{\h$T?66CrPժ*EOF:'c48.'sX5?wu 5`brOސSZhzjl0-=GTRm10#]zU,Ҋ>ݲ'+HmhTKMYTEB fhU4T*/\B)h ZW?t6-P+jV*SFřge .,%M{- Y<|6+gdR2?C,&'I)ɱj_ J>ih`^M=X @ťqiU :#y@׎k6A jB0Ik*e^F-rS\9zUj x' p