[comp.sources.atari.st] v01i004: C compiler driver, part01/04

koreth@ssyx.ucsc.edu (Steven Grimm) (04/04/88)

Submitted-by: woodside@ttidca.tti.com (George Woodside)
Posting-number: Volume 1, Issue 4
Archive-name: cc/part01

cc - Compiler driver for Alcyon 4.14, and either LINK68 or ALN   (Part 1 of 4)

Runs from a shell, preferably medium or high resolution.
.ARC'ed & uue'd sources and executable, for Alcyon. 
512K or 1M.

[If you aren't using Alcyon, this won't do you much good. -sg]

------------- (cut here) -------------
table
 !"#$%&'()*+,-./0123456789:;<=>?
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
begin 644 cc.arc
M&@A#0RY#  $         ;3H  'D0CR+ M&+1   ,+U1 8O*B@8* (" I45'Pz
MH H03=Z0J<.FC(Z$!<:,<3$F80Z&!A$J!.D0A)$Z;L;02?/&S45( XC(26.Gy
M# @Z:&P. 3'F31LX:2K*29B"I,B%#1$&J8/SC9R7!92@"7,GS% A8=JT29,Px
MAM&'D!I$))/&3)HR9$"(R0/B2!FG9VQ*<0'BRAN)<]*0L0GIP]>$2$,^)!*&w
MCL6$!YI8'8,&A P8+$#$R($#1\* 2<$&=CBPH<$1:5*RJ;,7!(\Y=,B^<8'&v
MQ^?08T:7YO%FCIC09%B[5@!:-&F;(C2R%F%0<&?!((K@,2S'31@V<Q("^7I<u
M@<$RR\LT!Q&:3L(!;^"L=$-F1T(*"-F$00W"ZIDZ;<JX\5YG#MJ$#TAB9^Z&t
MY]2A*H1'AWOF08+>0^[!)Y]W9CC%4QMIL1&:30*RU!\D!9!D'$'('<'&&V(\s
M%QTD0E#'H74*?.C&&2!\,0452TR1A!8)&= #"#/(<(,--S!18 ,(Y;@$"*B%r
M,<8:(*P 0DYAP)%0!"2IR&*1=-2'V(TP^/@D0E1::>08\%%4F(.0Y-<08U:!q
MH (<<I3QA1GJG3'B #>B@": *3A1!1-:0G) >FFP]X89(, 9AIR%.LAF&6R^p
M,489<\Q!Y@ DW:DF'.O-$<.;<497IZ4JY+EGGW\^)*&@A!J*:(-#81II#"#Lo
MU--/WU7ZGYKKM<'IH7-^>FNH>O)98*D@G.K=H(5VFNA0F9;1AAA"U6AKF@$Rn
M!0=3-?I*K:C"(H:0<_&!@"QV98 Y(+046HLM) A,"^ :7[RAKG>0$* MGL&2m
M^FU6%!+J@@TX#-F==O'E5FA0?!G@KIH2N@&O615%!\*]:G*KKZF!'NOO&P='l
M?!/'8MC4\!KWU;NP"A*&/.(!% ,[ZK" HEIL&F+(8=59T='!<7U\)7!RB'0Pk
M=B4(=OYJ,<P/ 2TTQ#;I# +/R\[L,&(+CP'A%C+4@$,7!6J T*QMA$'>36$$j
ME5 %)UM-QA?B#57OC2:HO44,7"<$Y$.&+2<NH0.:#0G:9_[:)AU?M#$'BV^#i
M( (2:7@G11%45"&%$Q_SU-)X=93A@@CF(80IU/%%>BA?#IQ\AU/PDC%331/7h
M]0414B1A11$_(G2Z'$C.@>FC(*A.DTW@\L6 A@J VD8>7V@GQQ9=?'<C)!8@g
M).]0RCL8^ARCCVBF07L8!(+B3V"+;!/..I6'""QXK_@08KOQAG=3D5<1D73,f
MM&)T4FIW4_R.U6 #=_/1CG/8P(;S&:0/!3(!0N23ENH-Y7K9PP_Q+ 43-I@Ae
M>,QK77#&\(7GN,$%H8$#YQ*2 (2$$%M, T'P$B*!A57P"_:!0P8UR((10D("d
M"-F+&<) $>^,3'\G]$X,K3(FMU'*,YPYD>W*QB '/2YRDVN/&9C3NT#!03UYc
M" V+(!B7A(3 1$BTPQOT H*J-*YPAT.!X<Z0 H,8[W %\@!"N&@3.(PQ@&YKb
M84.ZIX#OM>D,&0/B?'A2H N8T W7\LZ=C$3%&Q+O>V5!P</B-+$;44$*52A"a
M"LYC0D*1+ ^+BE2R#B6N"Y6N(0DA !]KQ*;NF $%(BC!'+C@!O2M,04%>D!Zz
MWL BG-B$CBPD28WN@ :$H<!.K1N"&\H5&A2D8),AN-$)N""'$X# !"8@6D>By
M"8)INN$$S^S<0U"R$C;$Z@52$-=0"&($C B37:V<SRM%0$L1X#(A$T!($1C#x
ML2%(@0GMA 0&WDF /B1D! L<VR=#&1U5)00")#$H)$Z0T+28T3O A 24D!B0w
MZN@3#XTK)9%\ KR6M*!-/:F)S= % @<FY 1@+(X"Q$A&!Z+ #2PP TK&T$8%v
M=.=[;BA0"!8H!SDXJ">E@<0%3J;3E!2H PAIJDHL5,:<M(D[\&L2'.13L@.0u
M9)4@B"<=YJF1B\@2@";9Z4I: @)9UI,%QTM>4;?@AB[D=*?WW"6+7 J)X:&Rt
MC$Q$XQE0,#C!WM- 2PQI6518!K24; +";"E(Z8""&!Q6C@_!3DCOT+C&\%6/s
M!WQI10M5F.>TM*AD BV*.JK$ARBG7$RQ21@LIQ6QI042.(@IBJ34NS<D#P_Er
MLI-/PD8>%O2-#3T%%=ALV[6O#=>VE2.7N?BRO>+]ZKA/=6YMQW;<LWU5?7\,q
MY%!0DI<S+#,M/ZU(4!/" (1T5[UGP$E"+!#9\*)&?Z""0X$JL,LQF!93<LC+p
MBL)ZQT;Z5:;?<]*-NJLD%$@I!7G1PUM>>:?#(L!S!:Y<D>2@,;+Y;0&1C:2#o
MY=,ZU,A!O2B PS-!X(/^U6"3D%A )SUL3IUQC+<:):A-8U!#,OA6NO8L4 0\n
M1\Z$=."1:NKNO5*@W@(=" 1A(UFQY!/?QBQ2)?KK*Y(C^:$S[(I%/; D)C7)m
MPAD;2XNT)2X91G1*[]5+K/,\JUMKR8+E%E?%!;JPJ7B)U81L8,NO=,.7*PF"l
M2V82QD]>;$L*.#/4H-G.:R8A00=7A^:@($N'S0!"H$OI[;P!209"<J?=@ (Hk
M2/?2=7YN<8_+@J)M*U_A!$$..192Z$54M)D=FW1CFV;H0J+-JQ5(:T$0!#*Dj
MQ6DF1C,8DKTB:_JR/<9NG(5,RVP6@2$,QCY!9-KTG _Y=SQ3TIG-XN*"OTBAi
M#%5J3G3L.+"A.*U-<^BAV(18/RW213F-BTX8IJ@_8++5@73QDV[=^"OL8(H\h
M**@V"[!-AI[:EXJ@JG:!</@0IZ0!D .DG_T0I]J'X_=7#-\OE^H]8*<Q_#S?g
M[2,(/#X4 'KG)DTNLZFH+%]D5?M)@$;!R<.L3:/!&C\S9CB:W8<3-$,"HJBLf
MUZ@33G(VBOPA\.XA=Z*ST_C%Y;; 5E\D;\YS5^-K5#!N[T,4/1.,FS90+?T)e
M'=@2%H*N$A(&$#'7><+!L!'044P_L7QT;NP4K,"RF^PZJ"RV2>F)CU#Q:8.:d
MDHX FT)&! :W;9 3X@"$ ))U=7 2)#3P2+B;> QPR$/>M;CPON?2N:'?GVRCc
MO=:, YA>/DNZ 99>[</F$T%C&_7^"A/,I!?TH*-U T7,:7&SF_/HD2T#=/@Bb
M H2(X7V-J?:ZX;T@N[G=S0:@@WI+7#\4USY)&D<QPS>II!B(DTB[L\D=@-?8a
MVS;@G7%_I?9)W.*LV0#1,XXZ&[QCXV*U!''5E1"-AUIR4%DU%'GD,7F_9CLVz
MX5_?Y!T^UF>0 %E(5"-RUW2MHQ%?P&UW-P:CMR+&I5XK)G@^!W:R]A FAFY"y
MHSM&8A/O-(!&58"/AX!DH("5]Q [A#"W]6<5Z'GU\VT?> :EUW"GAR#&IGJ,x
M=0<$QF%4]6OP1WM-9WN;-C:79Q,A<B0K!RE2UW:^)U$(E6MI\7SR)7UA17V#w
M! FQ%UH3-5HTF!!+Q5'"EAD@D 1N(&W/D082UE(JE0=%-V"00 ,#-U-CA%YUv
M2%D]!5:+\F6](ED'1P8IUB:*R )0\#A?8 1,$ 1', 5Y]1"+0EM $2W(]U>Nu
MHBF*V#HTF&*9LBFJ,@>2& 13, 6;8HF8J(GG-RN?F&5(ISZY4HHP<2.GN(NKt
MR *NV 25>(F9N(GM$2G.@BYN0X&Z. >ZLHK.PXBVI7/0&(FP(SN:M .;=H3Gs
M,C_>5AA-6%WJ(R]TD$C90HT(9XZ)Q ).$ 1-L(VIE$-EL$-2QXXHA# JQ"^2r
M]E?P@H_T8B_JZ(C_."\L<#NILSIE@(PZQ$/[!P( ,R0 V3L*F4J159#GN"X"q
M>8H8V8Y+\([QR)#UZ)#>$9'B,B_[&"Z0H  7&2\HF3@<Z9(920<LL 1?4 18p
M0 4B:8\/:9(3N1\,E&4*TQ 215%@"$"UE@'$PUIRJ!R$LW9;!0(M(%GUPTA(o
M")3S0550V2_MT3' PX]_$XC[\05;B0),$SS)]2MGR2\%HFD/L4+(YH#>M4?@n
M50: =%]#D5]/YW_^94[LAD<H5X'<\4HIUCKVLQ=X8)8($SPL< (N $Z!US*$m
M=X(JQ#%8V7KL-6GH5FFD1@1/0 5?@ 6'%3T/<08@8R1(XBSBP784@&1PL (Kl
M4"#-QXF9@H0^1B^ @V"#F7<HIF(L)ADPQE\H2%)]N$5.T33\XP)8D! @YGM+k
MYYF@*9H%0IHCU3LC*76UUIJ".0><%31H@ )K F,<\#4Y@87/MI7X='U]!'?^j
M91_=- 8GH /8UYXV<0)#$)]NA@#/^9E?, 2'17%=Z0([D4("U7D&0)_=- ?Xi
MN9X'NA[U.04+*H#["9JT*'/):!_/PF@$JIT(QIX.VDUO$*$>ZIXG\ 0BJI^;h
M:6G0^05/\)_2(P9J4"X,HH^VUH,&T) ]))_KB:+IUIG\*9T66H5/HWF<UX7 g
M=Y3<V3A"HU2WMH9'.9;H&99PZ%$/<6X]BH0AXIXKA"RS1: K$(B@DJ7RP2^*f
M61%I22U,DUTXJ(]PR3%S()>AR#UU>9<0]RMBL)<3^9>-Y(PJQW+^02T,5""We
MUU)C@RPK5*-S*EXN]STQAUAOR8_P)5^(BB*01)@,9)BX@1UE6@:-^9@C*)D_d
M]RV6F1UND!=LY82^MWTW8F(HQC2'-63#.64K(E]HUVU[(X'-J3[*YYZ0,)M4c
M&92M8H;TLE%N1@"J2C3=L4DH0#0/=JE3Z6#_EP(IA(RVR&MB*JM5EA L*9@Bb
M)@896'?=AG?J]7>?VG.O9H*&UV&)9SX2Y'N.5T-B&CP*" %$=H9'MIWUDQ*Aa
MAP)BD%,(PP(B.'&HQQ;QRH]VQ(2G>F J)P9;H%[-(TU<  ,G4" 8X%X$$QJ%z
M81.UEIN4FH4]RJ^'-9ZXEQ9">H5(<JC5592C5; JR;$;(H=6RIE8ZJ!;2BA=y
MJH]L]6R,]#L4R;/<H3E5E;$J=0+X4X_T<D3(L6]4]&R80JO1T297U((6U5E(x
M6+-(N+.LXSLU$1E:)H?0]6R7.759V 9O4!,& PF8\;(R!2IW("$UL:EG"B!Iw
M:F11E09LRH].TRB/(DI=*Z=]:I>*&J9[*09U8 9FH#\,!V\CPJ=^!+AX^:< v
M$JCX-%K($D1SF:B/^U-IL .82T4_-0><^[=T*D@^A&U[&:F-@2Q-VQB'"FR-u
M.[I#D5[R$;KJHQYIL:K=MW=!\#JQ,SN'1:^EB6YA51B-@;J]IYLB=JDW<IB:t
MRC2="IF$YG45$ZIC1RCN\ZMGZ+KU<JRLNG>N*F3I07.-@7;$] ;S<W,QEGS+s
MEQ"^BI5[$:R04GTYEJHD5B?)2C3,&JW.FK\K(JWZB(S&BRPI=*C;BKR$Z:TWr
MHH%VYVTCUA]*8KO@!WC1.WC4>Y+J6CYRP'9>Y:X$B&HBX+9EH(!/=BWVBF0Fq
MIJ^BUZ_$QKO:&!D0?%AB1S]6X1W=V1BK>[PJYRG%8KH)@5DI:1.F"2E+HAU\p
MP:?JPRHHP!588AY<P0.RRL2P"6,W&#66>ZB,6R]O%W_+NJE;D 8/*TTZ $X@o
MP =$PS1=_,7=Q 5<(,:%5[U$PBA$)&Z9R7AST .VVUQ)@YH:-B <%IC8MZM\n
MX<.O=ZN'RK$"R+!S )L/ZY5G7(35V1.I5VMO6*Q>.%J03+ T"Y:YV+&(O,C3m
M)+%X?!,7ZQR&(8$N^[<?*P8A.X5IH7N)"RG:TZ1&2:@6!<(),5!3.FPQNQW/l
M9E3O<ZLW.S]N$#9 "PDJ *:_<@>^3%FN2G!HBC"A"U9^"KEJ<J><E#2%>[C,k
M8FR*FYY_-<V@(KDW1+F$LLQ+B)F&"I9#V;GZLZC<<;KB:SGDE&6,FX6P"TF#j
M],23^ZCA8KR3^KJ*ZLXZ# /@^Q"7#$"(Z88YAP+*NW*9FIC.ZYC02X+GRB=Mi
M[!_E@B2L@KVF>B$;7*S<F[ND]KU;@C=6I;'1X3[+Y,<J!\CLZUXG+;9BP]$6h
MPK6YNI[&6K_(.A_*RK]LM+_0VK_3>GZ2PAWF=9P22*P=VZW?6CCAZH';1ZZ1g
M::Y?9]&4&1?>0;B&JS\LR#OIR\$QZ,'*?!=TH("#:HZWNJX9S-)'[!1)W#H$f
MS1VFH<]I$,64%U4.\FP!S#<Y 4#HR)B+5ZQ9'$EEC#!G3&CQ*<9DS,5>C-AJe
MS,:4N5BS=<-#9#/BQK4$\()U'->0(+(4&1Y]!ET;YAV'4C874L ,ZM*0X,/0d
MIQV<91^1H5@-=;<J^=$[BLB*W#IF[,6.7-0'+<D$5<E'B=5J\:&'NLGJT\FMc
M\\D3FQ!>,W:E6FE-,\H9>UO(C<J<";(%XMF<EJ+]H;/<#,O,&5$RQ93(L<O?b
MW==6.UL(Z960!+3/UMY:6T>C,2*J!=,VP31$NW)D_<,!!XB941W.#"!W@)!Pa
M.^!J,K>0 %5K*LQXRS%Z*]Y<Z+< _;B">S;.E\WZHZ?T7%^.6Z> 2AZ"2L[%z
MK:5@J=05[KF#Q 9W4!X83IORY<_T]<T?3KKZ_#?[TL_Q/*FZ.C8W,M;O [=.y
M9GG"V\O]O4)F$6#T@MJUJ]/=2VH,=%A/1MQZO>/US.*W&WY[AY!?,-^'=3=Ax
M5=](>,/^_'[<>L!-O<#B2F(K@.5)(L$47=5,<-%HC2QJS79IB-/O*@(%CCIFw
M7:_T<J^Z^7G[JL)<[N4% KPRW,<U/+R2JEK?\WF%P:^1$>6%U(W'UM<$>LJ-v
MF\JK#'7>7;5EH(2M*\NCU>>X<\M+&8?( 07V0Q_8TT7 !%V:12\M$(@TE1;Uu
M,3K.1.%EZ$JPI!%2&2L^<8M/4TZ-DP=T 0)6H!T=[1@N4 /?HQARP!B1,1F5t
M\1U5$.L604OUA$OJ V?!WA%;T )A( 9CL!=IL 9LT ;N P>H80=WT#PIM 5,s
MXP(PT07?'KH)]NKSE$KF;C<WLNTV$01,0#FA<5_8=JM,D 1.L 0 XP+['N[^r
M#DL [ZWVCC#- W<W@A7>Z=X;/3(27TO@KG+B+@( WQ%A<2-#4.SZ"%W-DJ$Vq
M@0(12'12LP8I,/)!1O' CO+UT@)IL05SD ?/T@-V\!S-TSI$4(\30B1$C\ @p
M</1LH/,EW^\]#_!\T0 WXNJ,8E1[FS-NFAKF2/7\_NOR9/$_SQ5;L+H;;R-So
MZ!NEP33Z=E6A 0)K3[Q=0/8\?_8^3P M &I:7Q=,%#6SM5#=7/<A0P?K1V*Cn
M""EZ;_(5W_<M8$X97Q%M?R-,0#,VL]:57P9Y/_&0?_4_KW@K#P).P#%P\@:%m
M,0=TD?E3T^@ITP:/;_5\#_ 7$OBG+UFPU7ITX>H_!6G1L6C*#OJT/U9H[_<<l
MT_F7#P+A,Y-$@@;RP@9A^)4%8_=,\_DD7_8G#_":%_A04&E=M!<U\2%P$!^#k
M5#9K-OMF;_R2/R*![P*S/3\32?,<8_,QSU(.,C(Y3_SK_^\_[QU;,-\;7P"6j
MI)I.815L(?<BM07SC?T['_JU__-V(/#,KAW/YYYDNQ?JO_T_KX2E?P5648<#i
M1D=S;Q/Q!@<,A1:/KSX7)5B$A6Z&->0/<5&#R5B.=5OU7.N5=5GXW1\D3"^Xh
MK(:S?*F[WD4%FLLP6SZL$\PHW6>:A1HCDK9)%$:#N'*Z4A:_E3&;R@+[$;<)g
M#LUTV^!-PS%[41&E/($GLQ]QM$"D^NP%2I>B&[B_$CP"V^!-PS%[41&E/($+f
MO4()#*X=R)O>BS#DI^50OASD!YQ3+;TN8]'%NN=RH"ME\5L9HX!@WOQIC<&Le
M:<(_N*^,2=*.NN@T3+6'"ND:!X2,N1^')9S0UD"D^KZ7N]2OU&6#QG.&1F;Cd
M[,9=AG$L OR41U G+P>*-V?H@Y:ULV>]U-=[41&E/($Y)V@.Q7-&8/!30&83c
MF']ET&UL@9!&M\FI9 1[41&&<5/\,IKT6!&E7&NXK)L:: 9M4@8WQ2^'5;&@b
M7A$?^FQ:K<WMJH:S?*E[41&E3*"JI;8E(04H@80[L2@1'BED,@.X/HAEZ"81a
M'BF;>I"H$[<)#LUTV^!-PS'<=EL<R[:HHZ9EA#KN7:!T*;J!^RN0YLB0)C5Uz
M5&!99N:Z"6FFB >->$P4/"HLD(V^2]1\3,-4.]\X]U>09HIXT(C"M5UD((F4y
M.(E/X)\%,@"L7(9=[RBP[""'JK!:]TJ)*(W<)+TN8]5H.&.^=%56D=_*4B8$x
M1>BBIS9L4S\LD(BK>%@E<7*^1/I*^5>J[:O7NR@M$.&1XB#2^-7%J@)JPS;Uw
ML]P1V]R.^L@5D2;/IM7:3'DF_(.3KC9L4S_^:J8%[=[O5@8++Z7J(^F4I39Lv
M4S\UI#@NBH)P;-ED@LOJ(^F4I39L4S\'B3JO:CNHX]X%^E>23EEJPS;U4T,@u
MI("P6D94Z[Y9QJ%+39A=HL,^]EO!!6EU!B$KQDV8%MF$$E(Y"!TXG$I9+ >Zt
M4A:_E3$H@) U!$(**&,/L09!46-]/9&.)'M#/P=R%=9=,@>_BQ!0ZQ3\U]=\s
MA>)P=U&"15CH9EB)GEC>L5C+Y%BW=<4&4.N5=5C/W1ZZ-ED)H91&"@E?2,NGr
M%8-HM2BVB#!ND^=:]TINXE \9VADYJB#N7(H48<#MB@M$.&1XB#";Y'.J2MEq
M\5L9@P((64,@I(!@O@9!46-]/9$$:N:ZJ8%FT"9E(%S;180O?C!U. <Y,;7Rp
MI=7:;'U$B6NT7(9ET (1'BED<MWF71)2@!)(N!,M_Q,(XS8W@.N#R!-?8(O&o
MY+P@?)"H$[<)#LUTV^#4SQ>XC. H\SMJ:L'H" D\B. J@)!J6D:H@WXMJ-!Tn
M*;J!^RN0YLB01F#MAL,4[R81'BF;>I"H<UBZ!'4H489=[RBP3"9*K3Z09HIXm
MT(C'1,&CP@+9Z+NUZ/+1,M_>K#Z09HIXT(C"M5UDT(JO:%D%8@"L/+RB!"N'l
MJEKJ0^BBIS9L4S\'B3JO2N0TC#H]RSH3&%F23EEJPS;U4T,@I#B_>TCHF$+Nk
MFV6NJW% J#9L4S\'B3JO:CNHT[.LPZ1_)>F4I39L4S\UY *P,J^'Q!P%DP89j
MZ]YQFL,_..EJPS;U<Y"H\ZJV@SH]RSI,^E>23EEJPS;U4T,N( .*\[N'Q!P%i
MDP89Z]YQFL,_..EJPS;U<Y"H\ZJV@SH]RSI,^E>23EEJPS;U4T,N, ,*"*LNh
M1S!HD089Z]YQFL,_..EJPS;UPP*CJ(J=<E@E<7+/)HVA=N9J-&@\9P0&/P5Dg
M-H$S5A]HEOJKC\.I).F4I39L4S\L8(E/$ 2@*8M'<%@E9(29GM\?PGL5<JIFf
M;L#'U"4Z[&._%5R05F<0LF+<A&F132@AE8/0@<.IE,5RH"ME\5L9@P((64,@e
MI( R]A![41&E;+E2BGURH"ME\5L9@P((64,N$ ,**&,/L1<54<KM5C!ID+&4d
M]X2Z4A:_E3$H@) UY (RH( R]A![41&EW&X%DP892WE/J"ME\5L9@P((64,Nc
M, ,**&,/L1<54<KM5C!ID+&4!W]#/P=R%=9=,@>_JU=728 L/4R!M4:$A6Z&b
ME>B)Y1V2/0<D<UL<FMJ355F']=SM084\FWGS%=Q'2LO#*TJPPE=*#5ZZ4A:_a
ME3$H@) U!$(*J$L/L1<54<JC*!E^O2ZN2W=OTB9E(%S;180OGH45\:'/IM7:z
MW*ZZ"6FFB >->$P4/"HLD(V^>WZCZ!@]RSI2JCZ09HIXT(C"M5UDT(JO* .'y
M90">4YLR\,/S9<(_N*]JPS;U<Y"H\ZJV@SH]RSI,^E>23EEJPS;U4T,N "OSx
M>DCH2*"3G,,_..EJPS;U<Y"H\ZJV@SH]RSI,^E>23EEJPS;U4T,N( .*\[N'w
MA(X$.LE+_4IS,&@\9VADYJB#221A8 =H!O_N':<X+>F4I39L4S\ ^SN'I4N<v
MB"TAQ598:Q/S/=Y_I=J^NEA$Q[5%6JR23EEJPS;U<Y"H<UBZA#<<$]^HT[.Lu
M$Z<=*^F4I39L4S\U!/\*"*O0UD"D^KZ7F\,_..EJPS;UTXJO* /%.(N'51(Gt
M]VS2&&KX6AA6<B,^]EO!!6EU!B$6-FL2R 'UI2ME\5L9@P((64,N$ ,*J$L/s
ML1<54<KM5C!ID+'NC8;UI2ME\5L9@P((64,N( ,*J$L/L1<54<KM5C!ID+'Nr
MC88YUR71P4V8-E]!UQ]\->."C7U;-V@\9VAD=G0SACUV@&;P[]YQNJ-RH"MEq
M\5L9XV"_4T/PKX E-'9TL-]LA;4V,=_6)WNJ[<.+9?/88P=H5FLHSBYRH"MEp
M\5L9@P((64/PKX E-'9TL-\YV]?R79%?W:$&,/1S(%=AW25S\+MZ=94$R-+#o
M%%AK1%CH9EB)GEC>(=ES0#*WQ:&I/5F5=5C/W1ZZ-ED)H91&"@E?2,O#*THRn
M<%HQB'."J8%FT"9E(%S;180OWELKW>A:K<TX1Y2X1LN>B##4 USFTH0WK;8Em
M(04H@80_Q"QC$S9Y$#)9V.X2D1#''. G8A"YGH5L\ 4CT^L*(,TUGI>_ FF.l
M#&E2PQ><;L^!^RN@5S\":]"J%B%-_Z;MDV5FKG5GR "Q,;L6"FE2(S([[KJ+k
MVE=F@ 9#WN V$3]D,#__3,TQYD%F,#<RL#6UT^#4;X4:[C9*K3Z09HIXT(C'j
M1,&CP@+9Z+M$S<<T3+7SC7-GKG.#QG-&8/!30&83.&/U@68-__  @\.I!&FFi
MB >-*%S;108LT/ /?U@%@.E(^$/-J+Z\ZJOU@68&3SD%ZGN09HIXT(C"M5UDh
M((P'?U@&@.E(^$/-F'-B,&@\9VADYJB#N7(H48<#-EM*TQ@$BMJI--BO% :#g
MQG-&8/!30&9E,F/U@68-__  @\,"2.BBIS9L4S\LT/ /_P5"$ 14, 1(<%@%f
M@.DS^_$.52;PI]H^7!]H9O"44Z!T_(/[JC9L4S_">/!?( 1!0 5#@ 2'90"8e
M/K,?[U!E8J"23EEJPS;UPP)*@P8PS,I(.,":#'^1% :#QG-&8/!30&9E,F/Ud
M@68-__  @\,"*.F4I39L4S\UU 5=H( R9M ?XI[/5B$M,2*;G$K"3<O%_?$$c
M6L^J[:MR@!)U.&"0)C59KYX6^$IA,&@\9P0&/P5D5B8S5A]HUO /#S X+("$b
M+GIJPS;U4T-;H( Q'!XD5B$M,2*&#'>J[</U@68&3SD%RGAOIP"$+GIJPS;Ua
M4T.*<U@E@8Z9]\8 5D0XEW0^]4IV,&@\9VADUE<SIE+/YYYDFU20WE>23EEJz
MPS;U(XP'_P6S(P5"\ 13L(V8CH32&&J,)U$?,%KU@68&3SFA9J.1! >#QG-&y
M8/!30&9E,F/88P=H]FQ#_RSF.R(**X!OYU.O% :#QG-&8/!30&8Q-F/U@68-x
M__  @\/L)>F4I39L4S\UQ(H*2"PG]VP5<JI7K " [&8,(.F4I39L4S\UU +1w
MH8 &@.E(6"&G>L4((%$?,%K88P=H-O3/8KZQ;*.1% :#QG-&8/!30&9E,F/Uv
M@68-__  @\,"^'8*(.F4I39L4S\LT/ /7XRS>%@#@.DWKS_2.+]NI@"23EEJu
MPS;U<Y"HT^4*>5@#(*I*>)ZJZ116P1;SK:WOI "23EEJPS;U4T-=T#P*J&<\t
M\2'N^6P5TA(CLLG:*NF4I39L4S\LT)%,<5@%<$C,43!ID+'N':?KJ0"23EEJs
MPS;U4T,]H( ET29Q4 =IT"9I,?3S$09X@,,"*%$?,%KU@69\XO 0;QEQFMKKr
MN]H(41]H9O"44Z",]W8*(.F4I39L4S_">/#%.(N'10"8?O/Z(XWSZV8*(.F4q
MI39L4S\UU (<HX!Z=J$7E][IXOQQNIX*(.F4I39L4S\L )"'12Q.4W3QSQ>&p
MO)*23EEJPS;U4T.*<U@E(=IP;-E\8<CL(E$?,%KU@68&3SFA)GN23EEJPS;Uo
M ["A\3 (,P>'12PG)_>5,S(/%=Q'2LN]-C8-8X5U$!2W==-:]TIA,&@\9VADn
MYJB#^30"QB(&3SE2*MCS&=)Z1VIJPS;U<U@R9M#EB220)C4BL^/M(GN1%!OTm
M)QDP  /XY\:0QE@W,V 2LA6P]X)OIP"$+GH>9 8'B3I=KI"'90 ( 37QC3H]l
MRSIE\DX*(.F4Y4%F + 7Q"^'51(G]VP#K,GOI !FT!CVR]-&, ;<9A@ZQP9Nk
M8 8L  .'10!?PVVE;+D$NLG:&DEFT!A.# /XY\9CP&VE_%GOQ  V909H4$,&j
MC_"(Q!0*: " ;F3O5#QMDX$0PC;UX\@'#=ZJ(^%*[68*0$S&I *@5S\P!J Ai
M'\_( FES[&8,\'8.$$DJ 'KU@]C=!&,E(=GHUX(*G700!7KUL]RTU-PQ-D=Ah
M(&4A-5L-4\2=YP"@5S^P.>(/0;:81Z3OQ  2M0$D#FE20SKOQ)*@5S^PN=RTg
MU-QE@NDW83-!@68-D]_M-]Y)QY*@5S_+';'-K5&L+,IRL!6DS!<<NIX*8 3*f
MW#AE8)9HT&H/%AOR\7=U!B%L4S_(J,R-TX"J%B%-W[?KJ0!&$!NU409FB092e
M:- ?XIY)^4X*0.BBIS9L4S\U))4=H8#$@B8KTC2G^?%DFU1F[F8*(.F4I39Ld
M4S\+QP9N8 :'54)&&(:%L30T>L4((%$?8,FJ=FQWX7]^:.:4?*2T_#0"QB(&c
M3SFA)I@:: 9M4@8.%AH/@S!SX*(/X6,KW>B^Q*NJI3Y=HL,^]EO!!6EU!B$6b
M-FM(.#+SE7-A,&@\9VADYJB#^30"QB(&3SE2*MC8%TFQ07^2 0,P@']N#&F,a
M=3,#)B%; 7LO: 1[41&&H7-LX 9FX*(/L1<54<J62Z";G$K"3<M/(V L8O"4z
M$VIGSG2%827<A&GS-6,AE8/0,5_J:8&O% :#QG-&8/!30&9E,F/U@68-__  y
M@\,2JBME\5L9(TDRV8XHKX &@!!M0K:L,Y$$&H!PI]H^7!]H9O"44Z",)P>Zx
M4A:_E3$H ) UI#@6AA!M0K:L,Y$$2HX,.O1S(%=AW25S\+MZ=5HQJ.JR=U&"w
M15CH9EB)GEC>(=ES0#*WQ:&I/5F5=5C/K7K]0<+T@LN4?*2T?%HQJ.J"J8%Fv
MT"9E(%S;180OWELKW>B0)C5\<=-:]TIA,&@\9P0&/P5D-H$S5A]HUO /#S Xu
MG$I9#&FFB >->$P4/"HLD(V^2]1\3,-4.]_6)WN09HIXT(C"M5UDP */PP1-t
M\ 1$@(PGUR;M+A$_C,/81^BBIS9L4S\L\#A,T 1/0 3%.(N'50"8GH7M+A&Cs
MA"CSBWV23EEJPS;UPP(=R12'54+0C8YH%].A)GN23EEJPS;U4T.*<UA3?'*5r
M740L72.23EEJPS;UPP( >5@R5G$H&<31$=/SBWU=HL,^]EO!!6EU!B&'10"Sq
M)H$<\(2Z4A:_E3&2))/MB/(*J&=C6[8:BTCY.#]Q2JEPMW4#4B71P4V89J&+p
M%5)D43*3O*-OIP!RH"ME\5L9@P( 64,*2"Q[41&E/)&AEG0*,/1S(%=AW25So
M ,-Z=5HQJ.I)IP 7)5B$A6Z&52 Q?%&#F8PD<UL<NIX*4.N5-9JLK!9VV1)\n
M,<D[V@<=>J <9 9M4@;"M5U$6-*]M=*-#FD/%=Q'2LM/(V LTO /#S X1Y2Xm
MUELK#?NA 6I&G$1R& 3**/-=Z;S661&E#/^#:9UL $.%-F9>A.N#>*'+6!'\l
MZJ L8([.NQ=L $-Q6\T.JJ;NS;)\P:'612WFJ.#/;<'H., G3A)"\ 1/P 3?k
MLQ=L $/;38\54<H.-:G27.-Y^2N0YLB0)C5\P>F]YN,#>4P4/"HLD(V^2]1\j
M3,-4.]\X]U>09HIXT(C"M5UD((Q3T 06AND7NHS1@K(F_(/[JC9L4S\+=XVKi
M",.BJH3W'RW2B*KJ(^F4I39L4S\U))4<HX"Z5'$H.<#\Z%!]F\,_..EJPS;Uh
MPP+F2-(+6'$H.< G'EF23EEJPS;U4T,NP#'SFJ[HF$)1BN(:!X1JPS;UPP)Bg
M^JIU.S_7:L61)>F4I39L4S\U!/\*"*OMH6ND^KZ7V[%=HL,^]EO!!6EU!B$6f
MAA!R@!(7NHR@R*%+_4I[P08P1&B&1F8X[L9[41'@)D7,415R$&E?7:QRH"MEe
M\5L9PZ\.6D/PKX!@WB9DRSJUALL&S'2%827<A&GS%73]P5<S+MC8-_1S(%=Ad
MW25S\+MZ)8$\B'T7)5B$A6Z&E>B)Y1V2/0<D<UL<FMJ355F']=SM,38A8YHKc
MS:1&"@E?2,L7NHR,QE?DJ'(:: 9M4@;"M5U$^.)96!$?^FQ:K<WMJH:S?*ERb
M@!(7NHR@>-WF71**4?<-8Q-3V=XX851U< :-D4+&4BA&I7@G'7 <$(AATTSNa
M,0:1X1YVT%,_!1/N,09JVAYR\![FKTCR<H9\"BKN80?,4R ;L&ER\![F[T,9z
MP]+27..QF\]C,)W2(QY4!6#VX38<*KJ*^E/^!V8@P-F*WF7N'3P-14FHJIM^y
M"BH*#J (B68#K,D>?L]AZJ "V^!6:-Q@6<]^"BH@++ (,E596Y$J]>P3WK&6x
MHB8(&<H(B69=74<%EF4*^SV6HB;+',H#S(_F/(&192F70KLJ%TGNT1%.+ ,Pw
M]MR569R5$X&AYGM9O.MQX4RAW&5/P^VJ+GNU?FF']=SMH6N3E1!*::20\(6Tv
M7)GM(0?O8?YT,")*K76%Z$P%\@&SMNATT *95RAJ92$CHK#J0TS&9"<]@-4"u
MHG-R< 9CL'!R< 9V4$-!, 1%L 1-X 10, 578 4MN ;N#N]W8 ="H -$H -)t
MH -,H -/H -4H -BH -DH -IH -LH -OH -TH /VE +15 1/8 0]E4I9G*0?s
M;R<P5K%X RG\U]<5<JJ0SBYO5SP?>@)A$)\O_C3N:?"4$_*A 6HHOI((>@)!r
M(*(,$ :#)F:95"!3;!_>8?"4XU!2ZF8,P 8PQ"A;  .>W$VU8]!6US1NFGYOq
M#&!%)(#OQ  U4P9AL :TNY[%\Z$G( ;Q^>+%_?$I%/*A 6K:6SP?>@)"(*(,p
M( :#)F:95"!3;!]971A+0TD3^$X,H#2-X8MXT(C\6AC6+B[BX1[(V(;/AK+Oo
MQ  U4P9AL :TNY[%\Z$G )\O(9R>^/)C<__S,^'K63P?:I\BR@ <Y%!BEDD%n
M,L5$I['T4J1NQ@ U4P9AL :TNY[%\Z$G0 ;Q^>(@L/1FL=*S-?3/8KXXK*T(m
M>@)$(*(,D(C2Z(MXT(B/Z";!J#A /WF[M/#/YE!?[68,D(C2Z(MXT(B/Z";!l
M*"[BX1[(^+5]/?3/8KX"^$X,D(C2Z(MXT(B/Z";!J#B*@XR5740/]4X,4#-Ek
M$ 9K0+OK63P?>@)E$)\O7H9UY/6P["#"'QG()O8:^4[%\Z$G4 0BR@"1Y"8.j
MQ7.&1F8K&71LP&UDP!:ZPTQF43)F[F8.4#-E$ 9K,.1C=]1T3R^XW*$,X"8.i
M)6:95"!3;!_\)P>9DQ!*F70,D(C2Z(MXT(B/Z";!J#@M !S(>'+/YE!?[68,h
M4#-E$ 9K0+OK63P?>@)I$)\O#@)3(+RP(1LBH_E6P18WC(;O5#P?>@))(*(,g
MD :#)F:95"!33'0:"_=\8<A]E8C2Z(MXT(B/Z";!J#@MP!63A^E(Z%!?[68,f
MD(C2Z(MXT(B/Z";!*"[BX1[(^+5]?<,KV7D,$$G,FY@"XAZ1D=A3+;TN8]4Se
M=KV57432DG0.D(C2Z(MXT(B/Z";!J#@Z,'F8;CDJ0GF=QP")*(V^B >-^(ANd
M$HR*HSC(6-D9&S7+I#<.!1/OQ  U4P9AL :TNY[%\Z$GL ;Q^>+0EA:&+]X7c
M%<M)5SP?>@)+(*(,,$FD)&:95"!3;!_>8?CB[5!QNIX,4#-E$ 9K0+OK63P?b
M>@)L$)\O#FUI,5LIL_FL^4[%\Z$GP 0BR@ I(\2^B >-Z& T RD "T.,@DN8a
MWFNJGG0,D#)"[(MXT(@.1C.0P@("XA[("%W+I(0IL_ELM\GL53-E$ 9K0+OKz
M63P?>@)M$)\O;OJH_R&K[\*A@22P3S.DWRY)5SP?>@)-(*(,$(V4U#J&1CMVy
MPR7">[VIO_HLS5XU4P9AL :TNY[%\Z$G\$TO(9P@H 3U 8%6A$6]1A[1$1?+x
M9-GW$=CK63P?>@).(*(,(&@.U3J&1CMVPR7">[V[AIGSZV8,T&6#)F:95" Qw
M_+4RRU9=AG&(H[T,(.Y,\ 1.< 1?T/!.((\KR<I2HWXVHWD<NIX,4#-E$ 9Kv
M0+OK63P?>@(A^A+"^<.W.I$$JKW%\Z$E*J(,$#Q9;FBT W0/L7Y+$@:L,UM6u
M_$X,H(%FT"9E@ ( "<,(T29DRSKFFQ8M4<3OQ  :: 9M4@:2)).)=%@E 5T_t
M-!03&:?KR0 3V8M4/;TO,X\&71%IPN%NPZ'KR0 =B2V@^C+SF#30=ZN^1/J&s
MW%<3V8L#B0( R0("XA[(2-S+1.I@28[KR0"1Q+R)*2#N\;Q3+;TN8]4S=KV7r
MV82V37D3Z8MXT(@H )#N"(]%<),YB8PG]VPX^I KV7D,H&!E9. "XAZ'51*$q
M&Q06A3I#!Y8!V%<=B2V^B >-*$DRV8YX1IE$I['T,LGKR0 =B2V^B >-*$DRp
MZ9$WF9/(>')8^>P3OIX,H(%FT"9ED&*O.FLKW>@XP7M:K<US[&8,4#-E$ 9Ko
M0+OK63P?>@)P$)\O_ME.,L#\HF]CTS V,0+[C2'O5#P?>@)0$)\OWEL %!N_n
MX?3/8KZQG'0,$$EP,&@\9VADMI)!QP;<1@9LH3O,9!8E8^9NY@ U4P9AL :Tm
MNYX,  >#)F:95"!3;!_\I^F4)*5NQ@")*(V^B >-^(AN$HR*TP).,GF8CH05l
M<JIYSEXU4P9AL :TNY[%\Z%$&Y\O7H8240>\ __N+5P_@3!#(?R;%-CK63P?k
M>@(0JJ/L-0>#)F:95"!3;!_\I^F4)*5NQ@ U4P9AL :TNY[%\Z$G0 ?Q^>*%j
MIII.815LD4*9<G'#++_MDG3%\Z$G0 4BR@"'7I&@^C+?\S45D2;FFQ;SC</Li
M=>@5Z8MXT(@H<.@*&1D"XA[(Z#Y*2-S+I(0MP1<9DG0,4#-E$ 9K0+OK63P?h
M>@)W$)\O#@)3D'D,!5C-@69T-"+MDG3%\Z$G< 4BR@"CJ(K*XHMXT(BH^"J1g
MJ#A2>0>3A^E(Z% "EW0,4#-E$ 9K0+OK63P?>@)V$)\O_L;>H5+/YYYDFU0Hf
MOI((>@)6(*(,8 >#)F:95"!3;!_>H5+/YYX.-;]NQ@!=-FABEDD%$L-?*[-Le
MU648ASC:RP#BS@1/X 1'\ 4-[P3RN)*L+#7J9S.:QZ'KR0 U4P9AL :TNY[%d
M\Z$G\ /Q^>)/8Q^M4@=ZH <5<5N&O)(XNG\ZREZ['A?.-.2<^.I/P^WS]4X,c
M4#-E$ 9KP._L(E$?,%I)^O%,:J20\(6T7%4TBLL&G,2#QG-&8/!30&83.&/7b
M"QNR44?$VZ[%FHC2Z(MXT(B/Z";!.(E%\ 4.[Y_G!S4X^I 3N-!NXE \9P0&a
M/P5DADU$,P>#QG-&8/!30&;8I$V#QG-&8/!3H$D7/3*UDJJA\3 (H\.G.#)Oz
M@C"L^")!( 4Z2=1\3!].0K83,3]EDG,5,C8^<"/NP5/77)G%63D1&&J^E\47y
M)5B$A6Z&E>B)Y1V2/0<D<UL<FMJ3=6F']=SM084< _TJ.>.4?*2T7)E>.2*<x
MOIL5,C9.K'-R< 8=,9427"8SU@8]E 97I+&(E(\>LY($U66P&4=<(KQ=]L.Cw
MA#C7_3T;C0+F42%CX\3N,0;F42'D8==^@M=#T29A$QIHEB#F3P<C@MJIE,4Iv
M="/N80=;4"'D43<+&+S\I^FTS1>;7"/7>B,L6P9"SEX9'A1A:-Q@">EP9\L_u
M#L)"#G08D[45>=".)'OM_>,&3M)E8CNHX]Y6_(3]_>/++.1 -[+\_<N'RJ&4t
MZGG=R1@,O1QD"4IE +=A)ZI*R!@9?1.@5,0O^';%\Z$K.@0O,:BSQ1'N7:!)s
MQP!<QDO!:6:\A'$L(O<_/"(W37DG/V?H0])PQR5AP!;$Q'LM@=)J409HYF,Kr
include cc.uab