[alt.sources] Psroff 2.0 Part 02 of 16

clewis@ecicrl.UUCP (Chris Lewis) (11/17/90)

Submitted-by: Chris Lewis <clewis@ecicrl.uucp>
Archive-name: psroff2.0/Part02

#! /bin/sh
# This is a shell archive.  Remove anything before this line, then feed it
# into a shell via "sh file" or similar.  To overwrite existing files,
# type "sh file -c".
# The tool that generated this appeared in the comp.sources.unix newsgroup;
# send mail to comp-sources-unix@uunet.uu.net if you want that tool.
# Contents:  fonts.lj/HI.10.pk.UU fonts.lj/S.36.pk.UU lj.c
# Wrapped by clewis@ecicrl on Fri Nov 16 23:35:00 1990
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
echo If this archive is complete, you will see the following message:
echo '          "shar: End of archive 2 (of 16)."'
if test -f 'fonts.lj/HI.10.pk.UU' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'fonts.lj/HI.10.pk.UU'\"
else
  echo shar: Extracting \"'fonts.lj/HI.10.pk.UU'\" \(6654 characters\)
  sed "s/^X//" >'fonts.lj/HI.10.pk.UU' <<'END_OF_FILE'
Xtable
X !"#$%&'()*+,-./0123456789:;<=>?
X@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
Xbegin 644 fonts.lj/HI.10.pk
XM]UD``*``````````!":N``0FKM@.J0```!4(!_<<-C;S8V-CT!"H````%0H'
XM\QQS8V-44V-C<-`1LP```!\*!_$<-C@3-D<S&#4PH!HA````#0D=^QQN(^-3
XM;R;S;B)C;C)C8M@U\V#0%"(````5#`CZ'!XC4_$F(A<2)B(7$[!3(P```",@
XM)?T<Q_)RR#8\@G+(-CR"<L@V/()RR#8\CR<L@V/()RK0/2P"<L@V/(\G+(-C
XMR/)RR#8[TCT*\G+(-CR"<L@V/()RR#8\@G+(-CR.(G+&T#HD````%10A_1[/
XM(!)[J3(B1C(E%C,E%>(T*N)#+%$LG)R=C2%;\C2^(D.O)#0E(S4T(C="(3FL
XM8!+RP,!E)0```",;(?D>5-(E;1)(PS,THS-3DT-3@T-C@E-C<U-C8V-C4W-3
XM4X-34I-#4Y,T0ZE#QT/11B9-$U;#6*-3,Z)31(-#8W-38V-C8U-C8V)S8U-S
XM8T.#4T.34S.S,T+(0]!E+21@P%$F````'QH?_1W038;6C4,SU"0]/S0],E/3
XM)#TS0],S/4,CU7UFUULG7"9<)GLD43HD0SDE-$@D-C<E-D4E-T0F.$(G.3$H
XM.5HY1R%%A2.RI6=CX`PG````#`0(]QQW=F3(P"8H````$!`J_1[0/#P\/#P\
XM\\/////.(\XCSE/.8]'C/1\]'ST3T3C`)2D````0$"H`'H/1/1/1\]'C/1Z3
XMY,/.(\\\\\\\\\/#P\/#P\/0P"<J````%1$2^AZ?/1+1.#,S,D(R0E$A5:EJ
XM>*51(5)2(E$S,SCB/1*0P",K````(!L<_!?3\ML]OC+;/;XRVSL"G0+;/;XR
XMVSV^,ML]LM+@#"P````,!`C\`G[FS(C("2T````."P+^"=G0"BX````,!`/\
XM`A;QP$8O````%1@I`![9\M@]@M@]@M@]<]@M@]@M@]@M@]<]@M@]@M@]@M@]
XM<]@M@]@M@]@M@]<]@M@]@M@]@M@]<]@M@]@M@]@MD-`M,````!42'?P;E;F+
XM9$1C8U.#\SDS*C\CHR.3+C.C'C.C+SDS\X-$8V0T>XBUH-`:,0```!4.'/P;
XMT;.%:&(SOSKD.N,ZY#KD-?T0P#0R````%10<_ANFT)DU2"<W*$4Y/U*C4;/4
XM/333/333/3/3/3/3/2323232/3/3/3/232_30,`S,P```!43'?T;I;J$1&-S
XM4X1"E%&4TCTDTCTDT%J+;0?33333/3XDT4/QM#*44G1C5(JVD,`Q-````!43
XM&_T:T%T4T1$]`A//(CLB.S(Z,SE#.30X-#@U-T4W-C8V-C<U1S7]6^0]+S?`
XM*S4````5%!S]&FT6T'/3XST_/4,DNYQV-']&1C=-/C32]%&44I-C<X-$J<:P
XMP#4V````%1(=_!NUN81!@]$]$]$](M(](D1S*%T$94-7,T@S.3)),N,Z,O.3
XM,X-2@F-C8T2(Q9#`*C<````5$AOZ&BTQT](]$]$]$]%-!-$]$]%-$]%-#TT/
XM30]-#B30XDT/31#0,3@````5%!W]&Z;*A%1O.#7SH_,Z-$@V-T9%2*QLJ35'
XM-S8X->(Z,^(Z-3@V-S@T2:QJP#@Y````%1,=_1NER*1"@V-C@F*24Y-"H^(S
XMHS.3,Z,TA$.$0W5$1FD3:"-U,],]+STCTC<7-S4YG%N`#CH````,!Q+\$4\S
XM/=,_-(`2.P````P'%_P13S,]TS\U)/)?%J`:N`````T)'?T4;B/7XB8VXB;S
XM;B)N(V)N,U-@P!`]````(!T,_0\]P]X-O>/<,,`@N0```!0/'?\4KB,$GB+.
XM(L+#L[2DI*2^([21(V4=$K5UT"$_````%`\=^1Q':STC=!&C_#L[2DE92SL[
XM/"SC+"!9._/`P$5`````'!@=^QS0?2K-"69'639&E$6S1<,U1%(U1D%%-T$U
XM.$$U.#'B-3DQ\U.#(U-T(U1C,V-$1%IC:'1EI-A85]*M#1>0P$!!````'!D=
XM_QS4/8]=8A/5\B/4(SU"--(D31-$T25-`U30)DPV3"A*.$GSE(_4<[5BT$4]
XM!$\]%#/20RTT(].-5,`Y0@```!P9'?P<;1O3E(5TI62T;B3$1-`U3$5+1DE7
XMU'TYU(1H=*54Q%XTT$--$T301$Q%2T9(9M2-*L`J0P```!L7'_H=T(S0E&1T
XMH7353536/635]-7B35Z4USUTUST!9*-U9*S0><`U1````!X:'?P<;1S3I(6$
XMM'],1O301$T4XT32/C--)/)-)#]-%$301$T35-!%3$9*2$A8TZT<P!Q%````
XM&1@=_!QOU636Y$UN1-;]1_36Y$UN1-;]5L`<1@```!@7'?P<;]1DU>1-7D35
XM_3?TU>1-7D35]-;`-4<````<&!_Z'=!]'0I&5THG3!9-9-<]=-;TUN)-;B37
XM28-(A.--`T3#8\-DLW.S=*.%5;S1>L`?2````!T:'?P<;B3$Y%3$7D3$7]=O
XM3$7D3$7D3$7TQ&#0%DD````,"AW\'&XDY%1>1%XT7D1>1%]&P!]*````%!,>
XM_AS2XDY-%-'D31XTT>1-'B1A=')5;(JVH,!+2P```!T<'?P<9-%&30.$PX2T
XME*2DE+2$Q'3$<]%&/21$TT--1"730GTD$Q32<ET61-!E305EQ(3$A;24I*2D
XMI92TE+6$Q'301TT48+`63````!8/'?P<;B2N1*Y$KC2N1*Y$K2#`:4T````D
XM(1W\'&]M)F;1=3$]$11O,3T"%&,4LB1C%*,D4R2B)&,DDR1C,Y(T8S.#-&,S
XM@D130W,T8T1B1&-$4T1C1%)44U1#1&-40E1C8S-48V,R9&-C(G13<R)D;S<Q
XM)T;S=813DX1CUT;0.4X````=&AW\'&XFLU,3HVXS(Y->(S1S8T-S8T1C7B-4
XM4V-C4UXC=#-O.#,U.3(V\Y038Z,38Z=?.V;`/T\````?&A_['=!]2]#1IE:%
XME66T5<5$T4--)"330DU#\4U3%-2./5C]1!]--"320TT51,55I725AE:M'1O4
XM;0#`*U`````;&1W\'&T;TY2%?TM&XDQ$30-4Q%3#9+1DI&25?4C2I-?D37Y$
XMU_38P$-1````'QHC^QW0?4O0T:96A95EM%7%1-%#323R333B%-2./5C]1!]-
XM-"1D5#1S141D-%1Y=&B&5JT='0TF%-E=GUV54-`U4@```!L9'?P<;<`2E(5T
XMM&3#;B3$1--4Q%2T9*1TAF`3@!*=Q&._1TKB2$CB2D?TM%3$5-1`P#)3````
XM%Q4?_1VWRY-D8Y)RL6/4XCU/3534;3G0K*T)TUU%U/35\]3S,L-"PE.C9&.;
XMQZ#(&E0````<&1WY'`);37Y$U^1-?C37Y$U^1-?TT]`F50```!T8'OH<3B33
XMY#33/D33/C33/C333TPU]+-SHX2#I%3*`2;0R#Y6````'!D=^1STU7U#%=,C
XM32,_31-/30-4PW]*./23E(.D@L1CST4]!$/11"TD,],S+4,CU#(M4Q+6;678
XM33#(:E<````G)!WY'/3%Q\6S%+(3LQ2Q(Z,DHB.C)*(CDS22,Y,TDC.21()#
XM@T2"0X)D8E-S9&)3<G134V-T4F-BA$-C4X1"<U*4,W-#E#*#0J0R@S.O0BDS
XM*_02HR+#(;,AT2$L(2T?3032/1/1P$A8````'!T=_QQTTC==`Y3$E:2TE,2$
XMT49-)%340TUC)-=!/9;:7</<7:;9C70CUD--1%/31DTC=-$Y3#I+/$D]!731
XM1DTE1-1$R#E9````'!L=^1Q-5!730ETS1=$U70-ULX6DE)2E@\1ST%4])$/3
XM4CU4(]5!/7;879XTVCVN--H]KTU0P#-:````&1H=_AQ_UMA-A-A-A===A-A-
XMA-A=====A-A-A-A===A-A-A-A===A-A-A-A=?]=@T"1;````#!`I_QZ.*(/2
XMWC/2WB/?+>(]+>,]+>,]+>(]+>,]+>*(T"-=````#!`I`AZ.*/T]+>,]+>,]
XM+>(]+>,]+>,]+>(]+>,WXHC0%%X````5#@?X''*TDA-C,E-#,V,3@^`,8```
XM``P$"/<<$B9.[M`B80```!00$OT1=HE<0V-!D]/#IEL])6,C<R\X,D52`0/%
XM4S/0*V(````5$1W]'&XCWD/>(P$#-6,83454\S@^,CDR.#(Y,CA"1D-%1,0Q
XMA3-6T!EC````$@\2_!%V>5LT4R._.^4\.1)%0\279L`M9````!43'?P<T^(^
XM32/2XCA3-I$UT%544W1#DT.#3C.33S@U-T5$9I$V@3E#-M`=90```!(.$OP1
XM98A+,T0C<A."$"WBP[.1%%0L.690T!UF````#1$=_!RFF(ETT@$.(]XCK[GC
XM/>0]Y#WS`0#`-&<````5%AL`$:4TG0C1<T.S5*-CGB-CLT/)R=`A31\]:[T(
XMTF.44[-$LT/#1*14=7T9O0>@T"9H````%1$=_1QN(]Y#WB,!`S5C&$`0-50T
XM<S.#)',^,X,N0X,O.#.0%6D````*"1W]'%XD1-KS7C->0UY#7S;0'6H````+
XM$24$'-XDQ`AO/>,]Y#WD/>,]\W)$>8BFH-`P:P```!01'?T<;B/>0]XC`0-D
XM0U1#5%-$8S1S)',DB)F%$X0D9$-O-44V-39#.#,X0M`6;`````H)'?T<;B/D
XM4UY#7C->0UY#7S;0*6T````B'A+]$4,V9F,9.4,;&S5F9#2$@S.3DR2$@SXS
XMDY,N0Y.3+SDY,\`?;@```!41$OT10S5C&$T354-',S@R1S/C.#+D.#+S@S#0
XM(&\````5$A+]$8:I?%1D-(04HQ.VXL;[,3HR2$-%5-:J:,`L<````!43&O\1
XM8S6#&&T&5%4W13@^-#DT.#0Y-#A$1D5%1L8QAS-8\]+D/2/3T"MQ````%1$:
XM_!%E,U<C3$1%-&0D=".#+C.3+S@S-T-%5)$T@393,!#SWD/38-`8<@````X-
XM$OT10S-#%3,51G6$A)XSGD.?.M`<<P```!`/$OX19VL[-&(^(\>8B+7/,ADR
XM-C/$IV;0&70````/#!C[%TXCCB-OL^,XY#CB.3,D^%5@P!UU````%1$2_!$_
XM.#XR.#+D.#+S@S-T,V4]$Y$U8S38)'8````3$1+\$4H_$Y,O.#,W-#<F-3;S
XM0W\S.#(Z(BLA.R$L7$KH0W<````<&A+\$>`?`=P'P&<#<#G`W`QP=P<<&<&'
XM#G#APYPP<<<<'''&!SAS@<X<P',',!W!V`-@=@#8#0`\`\`/`.``P"UX````
XM$Q42_Q$TE%.$<V2#5*,ST#$]%M--0]5-,A+2(CT"0[-#HV.#<W.34Z1`P#%Y
XM````$Q4:`!%3H_4Y-O.#@V.?-3KS0\(ST",M$B/1\B+3$2U//5+5\M4M4]!]
XM%M)=,,`B>@```!(2$O\17]!-#1/1/1/1/1/1/1/1/1/1/1/1/1T3_12P"_8`
XM```5%0/^#!W/$-`2K````!4/!?@;-%,F-!T31B-4,-@,JP```!4,!/8<]$CS
XM0=`0_@```"`;'/X:WL+`..K2P#C`5-(````@&QS^%Z?5)RT2LK'2&1U!<=01
XM%1U!,4'3%!,=,6$ATA<1'2&2T1HM`;+\'"L=`J'1*1TA$7'2$A8=,3%!TQ03
XM'4%1$=07'4&1TALK+1)RU7K`'WX````@&PG^#E73$XTA*]`114M86%M%01T+
XM(=*#'350P$S[````*B4<_A?:*BV$A-9(37.3UTA-9(362$USD]=(362$UDA-
XM<Y/72$UO2$VDA-HY/:2$VDA-I(3:.3VDA-I(3:2$VCD]I(3:2$VBHLA,_0``
XM`"HE'/X7*BVDA-I(3:.3VDA-I(3:2$VCD]I(3:2$VDA-HY/:2$VO2$UDA-<Y
XM/72$UDA-9(37.3UTA-9(362$USD]=(362$V"HMK0.[T````2"R7]'#5203-1
XM(F7U9A$Y*3DJ*3<B)#,C)#$U(>(U,24Q-",C-"(G.2HI.2DQ%F]58B%3,4)5
XM,)@)7P```!45`P#WU8@)?`````P"*?L>V1@*_````!D4%?X4#R#`*SP````@
XM&1C]%=D]=-9-9-9-9-9-9-9-9-9-;TVDVDVDVDVDVDVDVDVDVDVCR"L^````
XM(!D8_14]I-I-I-I-I-I-I-I-I-I-KTUDUDUDUDUDUDUDUDUDUDUSV<@L7```
XM`!40*?X>\M+B+2XBTN(M+B+2\M+B+2XBTN(M+RTN(M+B+2XBTN(M(M(0T!M[
XM````%0XI_1ZD@Z.ROL.RLY.$T]/"SL/"P\/4V!M]````%0XI_1Y-/3PL[#PL
XM/#U(.CLK[#LK.3A*P#>[````(!D=_!S476)!TS8=$W'1*1PY'#<[-SPX'0\]
X;CB/5O4XSV.,]1Z%9H4)%@5%70U$S.(1U@/7V
X`
Xend
END_OF_FILE
  if test 6654 -ne `wc -c <'fonts.lj/HI.10.pk.UU'`; then
    echo shar: \"'fonts.lj/HI.10.pk.UU'\" unpacked with wrong size!
  fi
  # end of 'fonts.lj/HI.10.pk.UU'
fi
if test -f 'fonts.lj/S.36.pk.UU' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'fonts.lj/S.36.pk.UU'\"
else
  echo shar: Extracting \"'fonts.lj/S.36.pk.UU'\" \(23815 characters\)
  sed "s/^X//" >'fonts.lj/S.36.pk.UU' <<'END_OF_FILE'
Xtable
X !"#$%&'()*+,-./0123456789:;<=>?
X@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
Xbegin 644 fonts.lj/S.36.pk
XM]UD``E``````````!":N``0FKG%6(0```'-JD_5NWCWO7<;<7<;<]=QMQ=QM
XMQ=QMQ=QMQ=QMSUW&W%W&W%W&W%W&W/7<;<7<;<7<;<7<;<7<;<]=QMQ=QMQ=
XMQMQ=QMQ=QMSUW&W%W&W%W&W%W&W/7<;<7<;<7<;<7<;<7<;<]=QMQ=QJ4:Y:
XM4JUJ-:Q:-JMJ*`JEHH&J6@@ZEI\R@*A9\S@*=IXF@*99TW@*5IPX&`I%GA@H
XM"C:I@*-:N`H6JX"A6M@*!:V`GVK8"?6O@)UJ^`G5L8";:Q@)M;*`FFL_@)E;
XM6`EVM8"76W@)5K>`E5N("4:Y@)-;J`DFNX"16\@)!KR`D%OH"/6^@(YK^`C5
XMP(",;`@(Q<*`BFPH"*7$@(AL2`B%Q8"';&^`AER("$;(@(1<J`@FRH""7+@(
XM%LR`@%S8!VSO@&7/@%;0@$71@#;2@"73@!;3@!75A=6$UX/7@MGX'9@-M]MM
XMU=U+D)%K)````*211/="KZ/<HL6KTJN^L<RPNK7(M+>XQ+BSO,"[L;^]I:2@
XMKL.YHZN:NEBNMZ*OBIHJ:LLZ*RBGH:NJL:&V>FFOJ:^@N7I(LJFMH+MJ.+6I
XMJIOFH8MZFHG`:@>YJ::<)9>[J:2<-H:]J*.<57:_J*&<=6;`J)G(56PJAYRE
XM1<2H6<M47%J$C-0UQZ<YS5)<BG&<Y27)K]!"3+K=%!7+K=&@S*O2H,VIU(SZ
XMC4C0I]2-&GTXT:C2C2J-&-.GT8U*?0C4J,^-2IS:#2J\R@T:W+44T:W+0DT*
XM_)4ESI&GR%)<V3I\=33-A*C%5%RY6HQ%1<J7J,)E7(F:C`9EQYH:B_9UQ9HZ
XMB]:&PYI*F[>5PIIJFY>@;`FHJ;>*%KZ:JIM8HVNZ"MJ;**1[F@KZFOFF>VH;
XM&JJZ&GBRHK.LIJ*IBOHK>NBEJYJZ.YPZZ@I*6]O[&[P+RSN,2XM[3(M;JPS+
XM&^J]*KQ:+<HZ\&!-)0```(!M7?=4GQT7++=LCWC&>L3B?,+B?L+B?,1ZQO>,
XMAVRW+1$`DN_4$.#QU`"2X=%RRW;(]XQGK$XGS"XG["XGS$>L;WC(=LMRT1GP
XMH2DF````?VQ$]T*\L`%+"YN-NTMKW6M[7!T;FSQ<V[LL?*M7&PR\>QO+)[G$
XML;VK2WP:OYN+:_J_B\M;V<%[^TNYP7P;2YC"?#M+>,-L6TM8PVQ[2SC$;(M+
XM&,1LJTJ,5<RTB,5LVSB,5<^S:,9="S2,9=*S-\==*S*,==.[R/35N<A=:WR5
XMU[;)38M<I-FTRDVK/*3;LLI-NSR4W+/(3=LLA-VSQTW;3&3=M<5=NVQ5V[?%
XM]-JYQ$V;O#77@K/"77<[/#36A+/"74AK/!73B+/!72B+3`71BK3`7/BQM+]L
XMV+.TOUS(M;2^;*BWM+YLB+FTOFQ9N[2]?#F]M;Q\"K^VNWOJP;>ZBYL<2YMY
XMM;''O[&Q>URKVSQ,V\M,'1NK:]UK>XN-NUO+`!2PH.,J````?TY/Z$TD`80E
XM`747`5M`$[8!&1G?DJW:.MNEK9IZUZFM6K"M.K*M&K2L^K:LVKBLNKJLFKRL
XM>KZL6L"L.L*L&L2K^L:KVLBKNLJKFLRK>LZK6M"K.M*K&M2JK6J*V*:MJDK<
XMHJWKD!"W`2M0%+,!:Q`8H!BQ`6LP%+4!*W`0N=ZBK<I*VJ:MBHK6JJU*L:TJ
XMLZT*M:SJMZS*N:RJNZR*O:QJOZQ*P:PJPZP*Q:OJQZO*R:NJRZN*S:MJSZM*
XMT:LJTZL*U:FM>GK9I:VZ.MVBG?D9`1M@$[0!5Q4!=30!A!!P#RT```!_8@?R
XM*1_8$,[QV!"0D#P```!C3$7U1]\=]-Q]B@UJ'5HM2BTZ+4HM2BU*+3HM2BU*
XM+4HM.BU*+4HM2BTZ+4HM2BU*+3HM2BU*+4HM.BU*+4HM2BTZ+4HM6AUYV:'8
XMHMBBV:+8HMBBV*+9HMBBV*+8HMFBV*+8HMBBV:+8HMBBV*+9HMBBV*+8HMFB
XMV*+8HMBBV:+8HMBAV:#;?=0!`2"0D#T```!C3$7U1R$!!-U]N@V:'8HMBBV:
XM+8HMBBV*+9HMBBV*+8HMFBV*+8HMBBV:+8HMBBV*+9HMBBV*+8HMFBV*+8HM
XMBBV:+8HMBAV9UZ'5HM2BTZ+4HM2BU*+3HM2BU*+4HM.BU*+4HM2BTZ+4HM2B
XMU*+3HM2BU*+4HM.BU*+4HM2BTZ+4HM6AUJ#8?<3?'?"(7D,```!F6&CZ9YB1
XMP$XMM-R6FZ:=F)BLF)F6KY::E;&4FI6SDIJ5M)&:E;60FI6VB:^5MXF?E;AY
XMGBE;EIGY6Z69^5NFF.:5NUF..5O%[#EY70E\Z9RYZ\X[BNF)2:K@821$````
XMB'=L^&NB7:<-CW+6]TU/=M+WC0]ZSGS,]^RF%YR5)YR&-YQU1YQF5YQ59YQ&
XM<'G#5R>,)G)YP5='C`9T>;[V=GF\]GAYNF>GFY5[>;AGQYMU?7FV9^>;57]Y
XMM&@'FS6">+)H)YL5A'BP:$>:[VAGFL]HAYJFBGFI6+>:AHQYIUC7FF:.>:59
XM!XI&D'FC62>*)I)YH/:4>9[VEGF<:8>9M9EYFFFGF96;>9AIQYEUG7F6:>>9
XM5:!XE&H'F36B>))J)YD/:D>8[VIGF,:H>8M:EYBFJGF)6K>8AJQYAUKGB&:N
XM>85;!XA&L'F"]K)Y@/:T>7YK9Y?5MWE\:X>7M;EY>FNGEY6[>7AKQY=UOGAV
XM:^>75<!X=-9R_8</VE_</]X0_H$]2````']L;?=JMI7?H=:GT*W+EI.6QI6;
XME<*3H9._DZ63NY.ID[B3JY.UDZ^3LI.QD["2M9*NDK>2JY.YDZB3NY.F^3O9
XM.DD[^3HI/!DZ"3PY.>E,.4G)3%E)N3QY.:E,>4F/E,F4EOE,N4E/E,V4DI7-
XME9&4SY20^5SY6)31E'^5T959;1EDXI73E3EM.6+BEI!;=9"6+Y616W61E1Z2
XMEI'!D:7Y%;=9&6\9616W61E2EI!;=9"6+BEM.6/Y73E4EM&67BE=&5?BE<^5
XMD)3/E)&5S962E,V4DY7+E924RY26^4R928^4QY2:E,64G)/%DYZ3PY.?E,&4
XMH)/!DZ*3OY.DD[V3II.[DZB3N9.JD[>3K).UDZ^2LY*RDZ^3M).MD[>3J9.[
XMDZ63OI2AE,&5FY7%EY.7RJW0I]:AWY6V<1M+````<69L^VNI39;7XH#5XH+3
XMXH31XH;/XHC-^*R^*,R6&'R/4H?'8X?&]4A\5EA\16A\17AL-GA\)8"'PE@8
XM;!:!A\!8*'P%@X:_]82'O6A8>\]8:'NVAX>Z]8B'N6B8>X6*A[A8N&MVBX>V
XM6,A[98V&M6C8>T6.A[18^&L_60A[%I&'L/62AZ]I.'KO64AZUI6'K/66AZMI
XM>'JEF(>J69AJEIF'J%FH>H6;AJ=IN'IEG(>F6=AJ7UGH>C:?AZ+UH(>A:AAZ
XM#UHH>?:CAYY:2'GEI8:=:EAYQ::'G%IX:;:GAYI:B'FEJ8:9]:J'E_:KAY5Z
XMN'E7K(>3@*R'DH*KB)"#JXB/A:F*C(FFC(B/H)&!XYB5JX"&E8F"AH`V3@``
XM`&U>:/EG+I$!%(T8-]5RXVUV+F794`0PYUNUI^D<6GYUNU`%2>==N2Y-EA;7
XM8HTX+I$!,8@V4````'MN:/IGF(PX`!@).9N9FAE[F7I):YEJ;MZ5N96FE[>7
XMI)FUF:&=L9V3X[69QI.8F9B3F'$B4@```'9C:?=H'63BUTV$BJB56*KHYHFR
XMBFBK.(>*M(:`BK6$@(JV@X&*MH*"BK:"@HFV@H**MH&#BK:`A(JU@(6)MGA8
XMJU>&BK5H>*M&AXJT>'BK1HB*LVB8FS:)BK-8J*LEBXJQ6,B;%8R*L%C8JP6-
XMB;!8V*KUCHJN6/BLJ)RHK*BLKXK*BLJ*RHG*BLJ*RHK*B<J*RHK*^*RHG+B,
XMR&S87/A-""TH#2@--]-]-]-]-]-]-]-]-[!99[%95[)92`LEDX"R:2@+-9-[
XM19)[59%[99![9H][=HY[AHU[AXQ[EXM[IHM[IXI[MXF`NH"(@+N`AX"[@8=[
XMN"AGO(*%>\@X1[R#A'O(2#>[AH)[J(@7N8J`>VCG>OEFU5UDUDXM==9`H))3
XM````/#U3^T+)MLR_Q<3`R;RSL+*YLKB;BKYK>L,;>M>=B-B=B-F-F-F-GXV8
XMV?C9C9G9^-F=GXV>2=GBK8L-?['6LM:RU;/4M=.VT;C0N-"YS[K.N\V\S+W+
XMOLN^RK_*O\J_RK[+OLN]S+O.NL^XT;?2M=2SUK'7^PV/K9G9C9G9^-GXS"L(
XMS&:<VYS[;2L]>;ZPI50```!_;&OW:L60')TL4!3%S,K>RLG-VLW&T-C0P]/4
XMT\'5TM6]?0UZV,[8G:S-I_W,K<7"K&R,:L)+Q,3&Q,2SG)P\3#R9*,S!Q,',
XM@GSL'"P<YR;0P,+`T&%M+`P,#2P-.\"].]6ZO5K6JJUJUKB]:M>HK743V*BM
XM@][Z:@-_I*`Y^4D#OCDI`]X\8#_EQ`0>`9P@0<0#_&`[S`*N,!@!S'PL?0#!
XM*E4```!V8VGW:-O6T-8"/C`F`QV@0M0$;2!([-`$;6`]`2`S`:`L`@`FU"T"
XMU`(-)]!](!O1K0K1`7T-#0T-`!3-+0TL`1S4T-3-[-70U<V\U]#7S8S8T-C-
XM;-G0V<U,VM#:S2T-K0VM#0T-O0V]"]#<T-S0G1W-#<T8T-W0W=!_T=W0W=%?
XMT=[0WM$_TM[0WM(M'?T-_1'HTM_0W](='?T-_1+]+>T-[2/]'>T-[17]'=T-
XMW1?0W=#=T(T=S0W-&=#<T-S0O0V]#;T-#0VM#:T-+-K0VLU,V=#9S6S8T-C-
XMC-?0U\V\U=#5S>S4T-3`$<TM#2P!30T-#0T`%]&M"M$!O2?0?2`@U"T"U`)@
XM(`+`&@,P$@/=8$;LT`2-($;4!"V@,>,"8"/6T-;;<0=7````?VQI]VB4BX6+
XML>.KOX_0B=2'UN@X6IAIB%F888F6A9>;E866BABI2%E8IH>3A92'@X>2A9.'
XMA8>1A9*'AX:1A9*&B?AI"%D8:+^&CX60AHWBA8^%D(6.^&CH6/AH_H2%CH6/
XMA9"&C86.AI'DA8V%CH63XH6,A8V%E82,A8R%EOA8N%C(67A(N%BX68A8J%BX
XM69A(J%BH6:A8F%BH6;A(F%B86<A8B%B82>A8>%B(6?A(>%B(2AA(:%AX2BA8
XM6%AH2DA82%A82FA8.%A(2IA(*%@X2KA(&%@H2MA7A8"$L8585H6SACA3AK>C
XMNY_`FL63SHG5Z$A=:'U(G0C[_CJ[&+A8N5"1.E@```!V9VOY:L&G`6L]R[U<
XM'0J*&HRZ:KIL:EL:7#I+6DP*2YI+RDO:2YI+^DMZ3!I+2DQ:2QI,>DKZ3)I*
XMVER:6KI<NEJ:7-I:?Z7/I:6ET:6CIM&FHJ73I:&FTZ:@I=6EGZ;5IGXZ;7IE
XMI]>G3J"FV:9*?7IUXZ;7IGXJ;5III=6EH*;3IJ'BI=.EHZ71I:6DT:2FI<^E
XMI_I,^DJ?I,VDJZ/-HZWZ/+HZ^CR:.QHLFBLZ')H;2BQZ*UH<>AM_H<6AN:#%
XMH+OZ##H+V@P:"_G!G!C!C"F_G#B_C%>_>N6IB]BIH*I[UZI16IB[BI4O6J>[
XM>J4EJVNVJU):QKEJQ3]:MKEJM46L6Y6L5%K&MVK%1JQ;=:QE6L6W6L5FJUMU
XMJV:*I+=*J&^WM;=^2VM;:+:UM:"UM;6@M+>T4&DD60```(AW;/AH#^\=X_W%
XM_:</V'+6='C`5U>;YG9XOE=WF\9X>;M7EYNF>GFY5[>;AGQYMU?7FV9^]YM&
XM@/>;)H)YL&A'BP6%>:YH9YK5AWFL:(>:M8EYJFBGFI6+>:AHSWFF:.]YI&D'
XMFB:2>*)9-YH&E'B@65>9YI9YG5EWF<:8>9M9EYFFFGF96;>9AISWF6:>]YE&
XMH'F2:B>)):-YD&I'B06E>8YJ9YC5IWF,:H>8M:EYBFJO>8AJSWF&:N>81K!X
XMA%L7F":R>();-Y@&M'E_6U>7YK9Y?5MWE\:X>7M;EY>FNO>7AKSWEV:^>71L
XM!X=%P7ER;">')<-Y<&Q'EEQ7E6QGE%QWDVR'DER7D6RO?LQ\SO>M#WC2]VU/
XM=-;W+8<-I:*A8%H```!65&_Y;,^R`8N@$<#<Q-FQFRU:MK#2B[K/B_K,?"K*
XM?$K(?&K';(K%;*K#;,G#;,K!;.J_G,L+ZPRZOK'*L+RSRJO/L\JPNK3+JZM,
XMNPN?L\RPN;+-L;FPS["ZG0L+Q=*P`>Y['P'++,LKBRR+FULL6_LK+"P[&RP+
XM2:JROK*UB+.]L+MGL[NPOF:SNK#`9;.XL<)5L[>PQ5.TMK#&4[.UL<A2L[2Q
XMR5*SL['+N;*QS+FQLLVWL;+.M[#[+/MZLM&UJRTK6;/2M9LM.TG[/3M(L]2T
XMBST[2+33M(^SU+.+33M(^SU+.+34LXM-.SFSU+.;/4LJL].SFTT[*K/4LJ^S
XMT[*P^STK*QLM.QLOLM*QL[+1L;7['0L;:QS[&WL<^PN;'-L+JQS+"\L,NQO+
XM'*L+ZPR;#`K(L,&PQJQ+##L,:L*PR*P+#*J]L,VKJQT*MK'3LIL]?%V\'?O`
XM%K/4<-)<````?V*"\F;533?1@LZ$S(;*A\F)QXC(B,B(R(C(B,B(R(C(B,B(
XMR(C(B,B(R(C(B,B(R(C(B,B(R(C(B,B(R(C(B,B(R(C(B,B(R(C(B,B(R(C(
XMB,B(R(C(B,B(R(C(B,B(R8?*ALR$SH;-A\N)S(C,B,R(S(C,B,R(S(C,B,R(
XMS(C,B,R(S(C,B,R(S(C,B,R(S(C,B,R(S(C,B,R(S(C,B,R(S(C,B,R(S(C,
XMB,R(S(C,B,R(S(C,B,R(S(?-ALZ$T(+2?54`F?UCV!#.\=@0<-%>````?V*"
XM\F84UGTH+0A,Z&S8?+B<R(S(C,B,R(S(C,B,R(S(C,B,R(S(C,B,R(S(C,B,
XMR(S(C,B,R(S(C,B,R(S(C,B,R(S(C,B,R(S(C,B,R(S(C,B,R(S(C,B,R(S(
XMC,B,R'S8;.A,R&RH?)B<>(R(C(B,B(R(C(B,B(R(C(B,B(R(C(B,B(R(C(B,
XMB(R(C(B,B(R(C(B,B(R(C(B,B(R(C(B,B(R(C(B,B(R(C(B,B(R(C(B,B(R(
XMC(B,F'RH;,A,Z"T7TU`)^M8]@0SO'8%("E\```!+2P4`W@\@L1UA````:5M$
XM^4+9P`+L@"C.`CT0(,)\`!S`PJ`:O&H!:\FLQ,B\NLIL6\V\EL2\^\A<2]&L
XMA<.]*\9L*]2\5L'`U+Q5P<#6O#;`P->\-KP-B\)KP=C`P6O`VKP5O!VKP&K!
XMV\"VK!V\"FK!W,"FK!W;EJP=ZY:L'>N&K!W[AJP=^W:L+?MVK\$!"V:L(!"U
XM:\(!"T;`P0$<`VP,$!'`)L'!`1P!;!P@$<`6P<$!+&POP0$L7#P0$L3$P0$L
XM/%P0$L+&P`$\''_``3P,GBL!2\G``3O*L!'!RK`0PLJ]_#R[W<3+O;QLR]ER
XMO!1ZUX.\!7O4AJP%B]&7JVFL^:J7J\JL"I;!K&O#IVP\"L+&E7QM3)Q\G/SL
XM3,RM+!TL':BPH8YB````7%F*_&L!.Q`>N`&+T!3!`0L8L-Z;2=N;>=B;J=:+
XMV=1[^M&,&=!\.LY\2LU\:<Q\>LI\BLE\FLELJLALNL=LRL9LRPQ7S+#%;-L,
XM1LZPPWSK##;.L<)L^QPFS[#";0L,)L^QP6T+#";/L<'VT+#"70L,)M"PPFS[
XM#";0K#;/L,-<^PQ%SK#$;-L,5KFT6L9;?%QUM<7(:TQ<EK1["RREM6L+3)6U
XMQL=K;&QFM[HJQ5NK1ZQ%T+#";1K";1L,'UT["_;3L+]M2POO75L+WVU;&\]=
XM:QN_;6L;M=>QNUUK*Z]M:RNO77LKGVUK.Y]=>RN?;6L[EM:RNEUK.Y]M:RNF
XMU;.Z;5LKI]2SNHT[*[C3L;R-*RNYT;*\K0L;VL^RO:S[&]L<VQOK',L;]2;*
XML<!3;(L<!C;'L<%D;%L<)6;#L,17;!L,1H>]L<5IBZL,=;";6RR%LK";/):S
XMQ,MK6_SEN;G16]L=3V`H]0*/8"CU`H]@*/4"CV`H]0*/8"CU`H]@*/4"CV`H
XM]0*C`J"`V&,```!456/^0J&2SIBP.<G:U9F@JVF*.I:6IJ=I:HIFE*ND:4K:
XM-I.OH6D["A:2LI]I*8DI>?:1E9F5G6D9.?DYQI&1HY&;:1D*:1FFD)"HD)EI
XM&*J)EI"*R)=I%ZYY=I!Z^)5I%K%Y5I%K)I1I%K-Y-I%K1I-9);5I)I);99)I
XM,[=I!L=I!LA8;)9VR6=<IF;+5FR_56S/8VSE-<_U)L_U%M!171^2T>*1TN*0
XMT_C4XGU>)M9=;C;5XFU>-]3B?4^-3WU/C4]]3XU/?4^-3B?5]M5]5M==@JJQ
XM%60```!(0FWY:]^P&,4!+*WLW<MZV*P8UIQ7U(R&TXRFT8RWSXS6SHSUS9SU
XMS)T3S9`<^0'.*0'.2@'/L!O``:P0&<(!C#`7Q0%L4!7&`5QP%,<!3'`4QP%,
XM@!3'`4QP%,<!3'`0R]W.VM'7P2Q=6VQ-.YQ-&[P\_`P</-O$PLR\;"RKR,')
XMO*P,C`R[Q\#-O%P,Z\3`T*P\'1G#P-*<+!TIP?P=2,#!U8P,'6>_P==Z_!V'
XMG"V&K\'8>?PMAYP=EJ_!V'G"V'GBP=AZ_!UWO!UVP,'6?`P-=\#`UGPKUGPO
XMO5?#P--\6]-\6])\:]%\B]!\B\]\J\U\RLQ\ZLI\^\B-"L>-*\1]:L&-C`>M
XMO-W\H!+&`8O6L'1E````0C5#^$'7Q=/+S\[-T,K2RL37PMG"VL':P=O!V\#<
XMP-S`W,#<P=O!V_P=O!V\+;P=O"V\';_"V]^>,!&,';PMOFP=SBP-[[WN+`WO
XMO?^]^M^]^@$*W[TSF]!IK/>KRYP*R*PKP[QL",')TLW.TLC9P,60U68```!(
XM18OY:\$=E-;D75;5XEU_764Z7$L,&QP;&^H*)[RBH8N[6Z@JRZA*JYB:2[C2
XMC2?2C2C2C2C2C2C2C3?3?3C2C2C2^-*-*-+XTHTOC2^-+XTHTITHTITOC2^-
XM*=+XTITOC2^=+XTN.=+XTN:=+CH-'Z'1H-'Z'0HL^CSZ/.I,ZDS:7,ILRGRZ
XMC)J\>NQ+#"LL"TO[6]M[RWN[B[M[VUO[/!L<.NQJS(J<RFS:3/HM#Z'1^@TO
XMG2XHTOB\2I>]:FB]>DC`>AC"H&C%J\>HRZ70BQ#`^&<```!23&/[0M"`$<V]
XM#:UM;3U]K3UM/>T'2M&HNV>KG0JEFI?4J&FG?6MFNE?8IFND?9M&RR?;I&RQ
XM;=I%T-7=HVT-3>LFT-/?LET=(!"_%M#2`1L5T=$!*Q71T`$]30T0$M70T`$[
XM'UT<`4LCT<`4S6P!3-;[`5O6_`%,UOL!6];\`4S6^P%;UOP!3-;[`5O6_`%,
XMUOL!6];\`4S6^P%;UOP!3-;[`5O6_`%,UOL!6];\`4S6^P%;UOP!3-;[`5O7
XML!3->@%<V(`6O:4!BP,_P#/[`S_`,_L#/\`S^P,_P#/[`S_`,_L#/\`S^P,_
XMP#/[`TH#:`.5V;$E:````$Q";?EKWI`:P@%L8!+*WK6=R:C:FYUZP8UJPXU*
XMQ)TJQHT:QYSZR)SJR:S+RIS*RYRZS)RKS*R+S:R*SJQ[SJQKS[Q,#/O$O0O#
XMP-"\.]&\+`T;_!P-*_P,#3N\'3N\#4NL'4NL'3P/G!U,"<#5P/C!U<#B?!U<
XM%L+5P6P=;!;!U<%L+5P6_!UL%?PM7"7!UL%@(%\"%?`@7\+5PE_!UL%L'5PE
XMPM7!;!UL%L'5PFXL'5P7XL#5P7_!U,&,#5P)P-3!G`U,"L#3P:_`T\"_P-+`
XMP+TL#"K2P,+ZT<##K0P,2M"\6L_`Q:S[QYSKR*S;R*S+R:R[RYRZS)RJS9R;
XMSIR*SYQZT8QJTIQ*U(PZU9P9V(P)VHFMR5K?R@$L8!7#`:G=L']I````.BM$
XM]T+&79C5K5O3_`T_O3_`T_O3_`T_O3_`T[T_P-/[T_P-/[T_P-.]/\#3O3_`
XMT[T_P-.]/\#3O3P-/`RT2\MBP,MBP,M3O+8L#+8L#*8[RV+`RF.\MCO*9+R7
XM2\AUK(=JQW>L9XK%>IQ'NL&,&:G$EKQLO)R,W$T:S+#Z:@```%Y01/="QE`N
XMC9C-K5P<R]+$RL#0Q\G`SLG)O.RLF\R"PLC`RW3"R,#)=L+(O)=\')O'><'(
XMP,9ZP,G`Q6P9R[Q6Q%S;PW`2P,)P$\#!8!6\!P%KMP%L"F`8P(<!FX<!JV<!
XMO`2`',`H`>L9`?QP(-`!C7`1VM[=VL"<O8P,/'UKR,35O*P]/`S,+2P,[!T;
XMT,#1O0P<_\#1P,^].\^].\5%_`T[Q&]+U+Q%3\#3P,-DO4O$5;U+PV3`U+PV
XM3`U+PU6]6\)EO5O"5<#5O!9<#6K!5KUZP&:]>K9L#8FV;`V*EGO:F&B]N5>;
XMW,>JW\3`@!'!PU`6C#"1`FL```!?3VSW:JF=NDUZ;6I]BDV:38I-BCV*38H]
XMBDV/H]GZ/9XJ/9XJ/9^CV>*CV>*CV?H]GBH]GBH]GZ/9XJ/9XJ/9^CV>*CV>
XM*CV?H]GBH]>EU:;4J-*IT:K0@:/.@J/-@Z/,A:/)H%H\B@>CQJ"*/%H)H\2@
XMH:/"H**CP:"CH\"@I:.^H*:CO:"HH[N@J:.ZH:FCN:&KH[>AK*.VH:VCM:&O
XMH[*BL*.QHK*CKZ*SHZZBM*.MHK:CJZ.VHZJCMZ.IH[FCIZ.ZHZ:CO*.DH[VC
XMHZ.^HZ*CP*.@H\&CFCPJ-Z3$HUI<2C6DQJ,Z3'HSH\BD*BRJ,J',HQH,VD&-
XM"B)M*@&Q"FP```!B6&/[0LY0-HVEUZV(UKUJU/P-6]3[UKT_P-7`T_O6O3_`
XMU<#3^]:]/\#5P-/[UKT_P-7`T_O6O3_`U<#3^]:]/\#5P-/[UKT_P-7`T_O6
XMO3_`U<#3^]:]/\#5P-.]:]2]:\),'\#5P,%L#`U;PEP;UKPEP/P-7`P6P,#4
XMP,)<'`T\'"7`P=/!P6P,'2PL%<'"T,/!7!PL_#P6P,/.Q,%<'$S<3`;!Q,MQ
XMNVP<7)<ZIL'&R'2J;!Q\6&J&PLG!B*=L/,>JI7PL`L["Q\/`/,Q,3%M\;)P<
XM:[O/C'_``P^P,/P`,/L##\`##[`P_``P^P,/P`,/L##\`##[`P_``P^P,:`S
XM@#90-+#7;0```%!,0_A"R'W5P,;<A<O:I,S:OSS-G`/+VKP<+:O#_`V<##O:
XMO$O9P,/`V<##P-F\2]G`Q+V;Q/P-C`Q/O8P,3\#7P,6]?`QKU[QL#6P,;`UK
XMQ[UL#'O5P,?`U;R,#4P,B]6\F]2\G`T[RL#2P,J].\N]*\O`T;S,#0O-O0O.
XMO/O.P,^L_`SJT+SJT;S:T<#,K2P,NM.\J]2\F]3`R*UL#'K7O'K8O%K9P,2M
XMK`PJW+PJW;P*WL"J`0P(L!&WL!.TP`%,`L`!;+`9R0&\8!W$`@P0)(`GD.IN
XM````2$.+_&N_'734Y%TVT^)=7UU%&GPK"\M+BXM::C>SJ:&+&D&NL:0ZRPI&
XMJK"DH*2RH\NCRJ3*^DRJ3*I,KZ3*^DROI,NCR_I,OIH\WBH\VCS:+-HWI[6C
XM*MM+VTN[6GHVMZ2C>UNK2ZLY.NM(FGMHSYSYSXT(T)SYT(T(T(T)T(T/C0^-
XM#XT)T/C0YIT/H,^ASOHLVDS*3+I<JGR:G'JL6MPZ_!L;^SOK.]M;RVNKBYN;
XMFXNK:[MKRTOK+`K\.MQ*O'J,JES:+.H<_Z#0^=#XN$JHN6J(N8I8O(HHOJ%X
XMP:W$J<BFS9K`L,=O````3T5$^4+9P`&,@!+.W=+9PGP-;!P;T[QJT+R:SKRZ
XMR\#-K)O/O'O1K&O2O$O4O"P-2\'`U;P,#7NL#8N<'8N<#9P'P=G`]L':P/7!
XMV\#TP=S`\\'<P2PMS!\L'=P?'"W,+QP=W!+!W,(<+<PAP=W!+!W,(OP=S!/\
XM';P4_`V\%<#:P7O:P7O9P8O9P)P-?`N];!N];`P+U<#"O3P,.]+`Q;T,#'K/
XMP,B\V\N\N\VLF]"\7`TZPL#6P(P=K1WLT!+(`9P-@*#3<````%Y80_Q!N@%K
XMD!JV`=M`'K(""Q`AL`(;`"*@(J`AL+*S6V7&L+9;9<6K=K5L6+EK5L2+I;9L
XM.+IK9<.+MK5L-[QK5L)[QK9L)KUK9L%KYK5\%KU[5L-+YK9@$&MFWWMFWWM7
XMWVMGWN)[9]U[=]U[:-SXMHW'MXV_BWC:FWC:^+B-F;B-F+BM?YN*UJN*UIN:
XMU:N:U?JYL-.KJPTZN[#1L+NPT:O+#0^PO+'.L+VQSK"]LLRQOK',L+^RROL;
XM^RROL,&QRK#"L,JL.LR,6,Y<A<"Q#W$```!42V/[0@$[`@Q@&\H!?.`3P&L!
XM"\"=ZL.MJL:MBL>M>LFM6LNM.LRM*LV]"L^L^M"\VM&\R]&\N]+`RKT[R;U+
XM_(O4P/Q[U<#&P-7`QKUL#%P-;`Q;U\#%O6P<3`UL'\2]?!_#P-;"_#O7P</\
XM#6PL.]?!Q+UL+#_`UL'$O6PL2];!Q,#6P<3`U<'%O6P<6]7!Q<#5P,;`U,'&
XMO5P,?`T\#'P=+`R,'2O)PM#`R<+/P,G$S<#*Q,S`R\7*O-L6R+S<`7QKSL`G
XMP[T+1\#`T;67P-+`?,U,",G6N\78O"K;_``C^P(_P`(_L"/\`"/[`C_``C^P
XM(_P`(_L"/\`"/[`C_``C^P)*`F@"E0)PL,5R````7E5#^4'6`5U0&=$!W.`?
XMS`(<H"/)`CR`)<<"7&`EQ\><7;Q,3#V</(P=C"R\'6P<[`U<'0O5P-'`T\#3
XMO2P-2]'`U;T<#6O/P->\[\#8O-_`V;S/P-J\R]N\O`V[R[W+RL#;P,K`V[R_
XMO<O*_`V\#*O<O+^]O`R[V[S+VL#,^MN\WZVKSOK9O/K8O0K7O2K6O2K5O3K4
XMO5G3O6K2K8G1K9K.O;G-O=G+H!"<F@$IQJ`5K!P`&+?!`;T`'\P"/'`JL!N0
XM<W,```!)3T/\0:O.JM*GU:76H]BBV:'9H=J@VJ#9H:.G;`H:IK^@K&OXK7OH
XMKGO8KVO8KWO7L'O'L7O&LGN_:R>]2S?=^-U]WCC<XHW/G<C<XIVZ#;XIV_H-
XMN=OBH-JAVN*@VN*AV>*AV?HMGBH=J@W(WFQPL.5T````65!$^T+%@!%<?"W)
XMQ,3:O!R-?`P(6=7"IWK4PI:IU,*&NM/#9L"M/#5\"M/#5L&]+#1L*]/"1L*]
XM3!-L.]7`-</`UK\FP[V)+VP\#9@EP\#:@6P\#;<6P[W&+UP\#<8SQ+W6R<#=
XM;)P-U<G`WER<#=;)O>;(_`WER;WFR,#>;(P-Y<F]YLC`WFR,#=;)O>;)O>7)
XMP-ULG`W5RKW6RKW5R[W&R_O;;,O:;-K;;-K:;.^]AL^]=M"]9M*M5M.]-].]
XM)]6]!]>L]]B\U]J\M]R\AP$+Q(`2PID!;1`9S0'<D"3!UL%K=0```&%5BOAJ
XM`N0$/B4$+V!"]00O8$+U!"]@0O4$+V!"]00O8$+U!"]@0O4$+V!"]00O8$+U
XM!"]@0O4#W2`TW`*P$P)0&`(=,F/1`=T69\`9RENP%<Q="@$LT&T:`0O2;3G=
XMO475G;O576G9K6;6K6O7;7K4O879K2O979K1O9;:K+VFVJN]M=NYS;7<J;VV
XMW*B]QMRGS<7=M<W5W;6]UMVTS=;=M+WEWK/-Y=ZSO>;>LLWFWK+-Y=^RO?7?
XMOQS>;>SQO?7?LOO>;>P<WEWL*]]=["O>;>L[WFW<.]Y=ZUK>7=Q:W6W;:MUM
XMRWK=7<Q[W%W+FMMMNZK;;:N[VEVKT*VEV;T:V6V+TZV&U[U9V%U[UJUUUKV*
XMU6U;VJU&T[W:TUT[WZTET;`2O&S`%;IIT`&,A7T0'-%%+4`@`8`E`3`LW`,]
XM(#WV!"]00O8$+U!"]@0O4$+V!"]00O8$+U!"]@0O4$+V!"XE!#0"L(%'=@``
XM`&9:8OM"E)'4E\,Y&;OU>>O6:$E;IU=Y6X=7D)6V=FDI6T=FDY:RAFE)6R=U
XMEI6P>026E:]Z65K7II6L>HE*MZF5J7JY2H>LE:9ZZ4I7KY6C>QE*)[*5H'M)
XM2?>UE)Y[>4G(MY2<>XE)M[J4F7NY28>]E)9[Z4E7OY24?!E))\*4D7Q).0?%
XME'?&E&?(DU?)E#?*E"?,DQC,F\V:SYC0E]&6T^*4U>*4TY;1E]"8SYK-F\R!
XMD\QRE,ISE,EUD\AVE,9WE,5Y"3Q'D93">2E,%Y24OWE92^>6E+UYB4NWF92Z
XM>;E+AYR4MXG)2W>>E+5Y^4M'H)6R>BE+%Z.5KWI92N>FE:QZB4JWJ96I>KE*
XMAZR5IGK96E>OE99)!["5EE=[*5E&:+*6DV9[25DF9[:5D'5[B5=U>ZE4AFO9
XMYUOYN1/#E]21E+&C=P```&MBBOMJ`J,$)00/8$#U!`]@0/4$#V!`]00/8$#U
XM!`]@0/4$#V!`]00/8$#U!`]@0/4$#V!`]00/8!:-9<Q<?"TURIQ,31;)O!R,
XM]LC`P(6<Y<C"IWK-7(PI:IS&R,*&NLMLC#9L"LM<G#5\"LM<G#5L&\ELG#1L
XM*\ELK"1L*\E<S!-L.\E<W`-</`R&SK)L.\EL^3;#O)70DFP\#)71@FP\#(;1
XM@EP\#);1@6P\#)73<6P[RETV+UP\#);38SQ+REU&R<#*74;)P,EM1<G`RFU%
XMR<#*74;)O+74;(P,IM1<G`RFTVR;RUU&R,#+747)P,IM-LF\MM-LC\#+73;)
XM^\MM)LG\#+72;*O+;1;+O+;0?+O+71;,O+70;-O*;/?-O*;.?.O*7/;/O*7.
XM;0O);-;2O(;,?2O(7,?3O(7+?5O&;*?6O&;(?9O%7(?;O$7'?<P,)L6-[`P6
XMPX`2O`7#@!3!E<"0&,)6J@&L46;``>V@(]4"C/`QQ0./4$#V!`]00/8$#U!`
XM]@0/4$#V!`]00/8$#U!`]@0/4$#V!`4$)`'@L0!X````9E]$_4(#E<HP(YQU
XM`AO%8"#`Q'`?PL)P(,+"8"'"P7`AP[<"+#M@(\.F`DPZ8"7"E@)\&'`HP(8"
XMJ_=@+)?V`NAF`OAF`P=E`Q9FV$V69M=]=F77C796UIUV5M:==676K75?;6K6
XM9?76O65?;6K696UJU69=:M9F76K5=EUJU6==:=5V;6G59VUIU'=M:-5W;6C4
XM>'U(U(A]2-.)?4?4B7TXTXJ-&M&:C0O0FYSL#/G!C-PLR\&<O#R[PJR,;)O#
XMO&R,;!P\#"S,+#Q<*-&<7&V1VL?9+8R=<]?*UDULS4;4S=*-//T*T-+.P,[4
XMR\/+V,?'Q]S#RL0!"M"=<-`.>0```"0%D_%N$Q`"UQ,0L%MZ````0"N3]F[8
XM?4O2C5?6?7?7;8;8;8?7]]?B?7[??7XGU_?7?8;8;8;8;7?7;6?2O4?8O:?;
XM;:?:;:;:;:;9?9]]GB?9[??9XGV??9?9;:;:;:?9?:?:C9O8<+A;>P```$`K
XMD_9N?8O9C:?:?9?:;:;:;9?9]]GB?9[??9XGV??9?9;:;:;:;:?:;;?:O8?4
XMO2?6;7?7;8;8;8;8?7]]?B?7[??7XGU_?7?8;8;8;7?7?6?5C2O4?8"0I'P`
XM``!_;$CW2:R@WRJJ?:.HJ]=:6PU%H[/36BMM%:"ZSUF\SEB_S%?!RF>EH*G)
XM9J.GILAEHJNFQ6:@KZ7$9:"RI,)UBVI,!EBXI+YU>[H[R$B\H[MU>^I+B%;`
XMI+:%?"I+*@5L2EKZ!FQ::KHE;(IJ>C9LFIH*5VRL%US+^%SKR5S[J@71MJ)=
XM.SHUU+"E77JZ@]JGJRWJ``P:`N,#`0`0KQ`P$&`A?0```']L2?=*'],0W1TS
XMT0"I3],0W?'3`*E-$],0W?'3$*"M?@```$`QD_EN$]+B71;1]=%M'UT6T?71
XM;1XET6T?71;1]=%M'UT6T?71;1XET6T?71;1]=%M'UT6T>)=%M'UT6T?71;1
XM]=%M'UT6T>)=%M'UT6T?71;1]=%M'B71;1]=%M'UT6T?71;1XET6T?71;1]=
XM%M'UT6T?71;1XET6T?71;1]=%M'UT6T>)=%M'UT6T?71;1]=%M'UT6T>)=%M
XM'UT6T?71;1]=%N+172,0L51_````@&UP]VS*O?O<Q]?'ULS1S-+0S=#.U,G4
XMR];'ULG9P]G'PIQ,'$G"Q<#$P;P<3`P[R,"<#(O"G,M[S)P9SK6\Z;G1E9T9
XMJ-.3G3B8U9&=6(C6@8UH?XV,/8A8VL':A(V[VX1]R]QSC<O<@HW9W8+WWIWG
XM)]]]]Q^-]]_#`14!'"`20!'"Z`0\/P08\7!!<O@#^#<#]T^`/85P/7;X`[A_
XM@#F)@#>*D#6;@#6,&`,XPI`QG#@#&,6`+XQI`MG'D"N<GY`IG+D"><V0)9SY
XM`CG1D"&=*@'ZTZ`=K5H!NM>@&:V:`7K;H!6MV@$ZWZ`1H!&M^@$ZW:`5K;H!
XM>MF@&;U;`;O3L!V]&P'[S[`AO-L".\NP)JR:`IK'H"NL6@+:PZ`OK!H#&KH#
XM.;D#69D#>7D#F'@#N%@#R3D#V#@#^!@$#%!!PP0_P01?L$?Y!)]P2_4!@*!?
XMH0```%([B?5JP3W/7:]]CYUK#4^RTK30MLZXS+K*<7%\AR<GQH)RC$@W.,*$
XM=(P'9V>]AW>+J(>(MYEYFSFP>PFJL7L:6PLWL[`;"T>TN;9[:UN'N'%+I[I,
XM#@/GVSP00&JB````I)$W]T&]37]1UU#7]1UU'64M91UU'64M91UU'64M92UE
XM+64M92UE+64M93U5/55-544]9-L0`;X];15-%4TE/34]-2U%+44M12U%+44M
XM12U5'54=52U5'54=52U5'5]1UE#6]1UT9J!?HP```%([B?5JP3V^`^?`2Z>Z
XM07N'N+6V>VN;1[2P&PLWL[!:L7L:J;![";.9>9MXAXBZAW>+UV=GP(1TC"@W
XM.,2"<HQG)R?(<7%\JZS+C.MM"TTOLM2PUOG8]]KUW#P00&JD````I)$W]T%F
XM37]1UE#6]1U5'54M51U5'54M51U5'54M12U%+44M12U%+44M-3TU/25-%4T=
XM9``;TMI-935-54U5/54]92UE+64M92UE+64M92UE'74=92UE'74=92UE'7]1
XMUU#7]1UTO9#[I@```%))4_Q/)-IMB=:AU*+3I-&FSZC-J<RKRG&ER'.EQG6D
XMQ7>DPWBEP7H*6_>BI+YZ2DO'I:6Z>GI+EZFDMWJZ2U>LI;-ZZDLGL*2P>QI:
XMY[.EK'M:2K>WI*E[BEIWNJ6E>\I*1[ZDHGOZ6@?!I8?#I'?%I%?&I3?(I1?*
XMHQ?,J<VHS*G*HQ?(I1?&I3?%I%?#I'?!I8>_I:![ZDHGO*2D>ZI:5[BEIWMZ
XM2I>UI*M[.EK'L:6N>PI+!ZZDLGK*6S>KI+5ZFDMWIZ2Y>EI;IZ2DO'HJ2^>@
XMI;]XI<%WI,-UI,5SI<9QI<BKRJG,J,VFSZ31HM.AU)UVVDV0D/NH````4DE3
XM_$_:39;7G4H=.BT:3/ILVHS*G*J\BE%\:E-\6D5\.D=\&EA[^EH'OJ2B>\I*
XM1[JEI7N*6G>WI*E[6DJWLZ6L>RI*Y["DL'KJ2R>LI;-ZNDM7J:2W>GI;AZ6E
XMNGI*2\>BI+YZ"EOWBEP7>DPW6DQ7.EQG*DR'&CRJG,J,VIS'&CRG*DR'.EQG
XM6DQ7>DPWBEP7H*6_>BI+YZ2DO'I:6Z>GI;AZFDMWJZ2U>LI;-ZZDLGL*2P>R
XMI*Y[.EK'M:2K>WI*E[BEIWNJ6E>\I*1[ZDHGOZ6@?!I8?#I'?%I%?&I3?(I1
XM?*J\RIS:C/IM&DTZ+4H=:=AMM!!("K````!+2P4`<`\@D&2U````;5I>]ULD
XM`50E`44>U'`2I?`0@7`0<GWX*-Z"C>=/C<A8VH:=B7G6F9U)H*#2H*&ASJ&C
XMH<RAI:+(HJ>BQJ*IH\*CJZ6\I:ZEN*6QJ+"HM*RDK+?.NLJ_Q,3`R;K0LMJF
XMNY!DM@```&U:7O=;NZ;:LM"ZR<#$Q+_*NLZWK*2LM*BPJ+&EN*6NI;REJZ/"
XMHZFBQJ*GHLBBI:',H:.ASJ&AH-*@H)U)F=:7G8EHVH7XW(1]Z"C>@HWW)P$'
XM'X`0I>U`$G%0%%-`%4&0E[<```!M4&'R5L"[O,"YQ+7'LLJPRZ_-KJK0I]2E
XMU:37H]BBV:+9H=JAVJ#;H-N@W)W)W)W8W8W9W8W?C=^-WXWGWOC>?>^-[B?>
XM^-[WW_`5$`$%\???^-_B??^-]]_XWWW_C?^-_XWXWIWHWXWIWIWIW:#=H-V@
XMW:'<H=RBVZ+;H]JDVJ78I]>JT\VQR[/*M<>XQ+O`P;L0<)VZ````?V)A\E:B
XMKYZTF[B7NY2^DK^1P9",Q(G(A\F&RX7,A,V$S8/.@\Z"SX+/@M"!T('0@=&`
XMT8#1@=&`T?@-'X#1^`TGTO@-)]+X#2XGTO@-+H)]/X#3XGT_@--]/X#3?3^`
XMT_@-/X#3@-*!TH#3@-*!TH'2@=&"T8+1@M&#T(/0A,^$SX7.ALZ'S(G+C,?!
XMD[^5OI>[FKB=M*.O$'"=NP```']B8?)6*NH[2=N)J[E[Z5OY3`QXS+B<R'SH
XM;.A<^$SX30@]"#T8+1@M&"T8'2@=*!TH#3@-*!TH#3^`T_@-/X#3?3^`TWT_
XM@-/B?3^`Z"TW_2@.+2?2^`TGTO@-)]+X#1^`T?@-&`T8'1@-&`T8'0@="!T(
XM+/@L^"SH/.@\V$S83,A<N&R8?(B<2,D<"1OY*^E+N7N)NTGZZB!PI[X```!_
XM8H+R9J*OGK2;N)>[E+Z2OY'!D(S$B<B'R8;+A<R$S83-@\Z#SH+/@L^"T('0
XM@="!T8#1@-&!T8#1^`T?@-'X#2?2^`TGTO@-+B?2^`TN@GT_@-/B?3^`TWT_
XM@--]/X#3^`T_@-.`TH'2@-.`TH'2@=*!T8+1@M&"T8/0@]"$SX3/A<Z&SH?,
XMB<N,Q\&3OY6^E[N:N)VTHZ\`FBU%U4XM=-5M07"GOP```']B@O)F*NH[2=N)
XMJ[E[Z5OY3`QXS+B<R'SH;.A<^$SX30@]"#T8+1@M&"T8'2@=*!TH#3@-*!TH
XM#3^`T_@-/X#3?3^`TWT_@-/B?3^`Z"TW_2@.+2?2^`TGTO@-)]+X#1^`T?@-
XM&`T8'1@-&`T8'0@="!T(+/@L^"SH/.@\V$S83,A<N&R8?(B<2,D<"1OY*^E+
XMN7N)NTGZX`G'U&U4XM=-5=10<!7(````;5HJ]S8?T!"V\='IC+?,7/$PD%?,
XM````4C\_]T6PH<:IOZ^ZL[:WL[FPO:V_J\&IPZ?%I<>C_)H<N?S7_/7BT3XM
XM,0`OGB'3/BT5_/?\V<NA_)H\>EQ:?#J<&KOZV]L+FSM[:SNJ^_J<:AL`D7O-
XM````I)&-]VS5J0/K4#2]`MPP)\D"'/`<TP%Z^GKP$JNSJ]^HNZC<I\&GV*;'
XMIM6ERZ72I-&DSZ/5H\VCUZ/*H]NCQZ+?HL6B`1HL.A`5H<&A`7H;^A`9H;V@
XM`=H+N@`?H+F@`AH+>@`CH+:0)9M9`GFSD"F;&0*YL(`MBOD"V:V0+YK(`QBK
XM@#.*F0,YJ(`UBG^`-XI?@#F*/X`[BA^`/8GX`_B'!!=_@$&&<$-U^`0X3W!%
XM<_@$6"XW!'<?@$>EZD!)I?!'CC%P1W+X!%@_<$5T^`0X5P0W;X!!AW!!>/@#
XM^)^`/8H?@#N*/X`YBE^`-XIX`UBHD#.:F`,XJX`QBLD"^:V0+9KX`MBPD"N;
XM&0*9LY`GFUD"6;:@`CH+>@`AH+F@`?H+N@`=H+VA`9H;^A`7H<&A`5H<.B`1
XMHL6BWZ+'H]NCRJ/7H\VCU://I-&DTJ7+I=6FQZ;8I\&GW*B[J-^KLZL!*OIZ
XM\!?3`<SP(<D"?#`MO0-+4#ZIU:!(S@```$HWC/=KOEUGU)TNL+#2YYU.9];F
XM7!BS6SA;.5FS.X55N!#H&X55N#LY6;-8LULXP>)=;E?4Y9TNR+#2ZXG4ZR?6
XMY5V#OZ![SP```$HWB_=KOEUGU)TNFPTN:=3D?6XUP8LULX6SE9LSN%5;@0Z!
XMN%5;@[.5FS6+-;.,'C76Y'U.:=+IL-*=1]90/EUGU)TNFPTN:=3D?6XUP8LU
XMLX6SE9LSN%5;@0Z!N%5;@[.5FS6+-;.,'C76Y'U.:=+IL-*=1]9;X*"IU0``
XM`$1#C?=LUXWK':M=>WU85].'?1B6T7F,^'K.A['-AK+BS(>RRY>R_+B++*F;
XM#+FIS)L5SHW^6=[DG>XJWOG>Y*W?L-WCK=Y+#=K=Y;#<L=SDL-S['<Y+#<^Q
XMW.2PW+'<Y;#=K=Y+#=XZW?L-WDK>^=[BK>Y)WN6=^,Y;&<R:G+L)G*^RB,NR
XM><OBLGC,LFC-L7C.IXSXE]%IC1=XTW6-6WU[7:L=Z->Q9M@```!208'X=0%D
XM`@4!_W`=^`'7`=^-JX?8Q5?5RQC3UM&YP]&</`T(QZSIR9S9RJS(RZRXS+R8
XMS,''C-PL9\["Q8S<3#C.@8PHSG*,&,]SC`^,Z#BYSG2:C.A8F<Z%F)SG:8G-
XMAI><Z'EISGB6^<V(E:S7FD^LR)I/K,>J/ZS(NBK,?`HOK+C`HJRWP:+ZRHP:
XM&\I\+*_)C"RLE\/*_(C#ROR'Q,K\>,3*QWQ<K\:,7*QGQLK\6,;*Q7Q\K\2,
XM?*_$?(ROPXR,K#?)ROPHR<K"?*RL&,JQK!C*HJP7RZ+ZP(RZ*L!\RB^ZC+LK
XMI\RSJGS*3ZF,RDJ7S:2HC-I9B,V6IWS::FC-IY:,V8EGSIB5C.F92,V:E'SI
XMJ3C.FX.,Z,"2?.G!@GSHPL7-G#Q,V,3#S9Q<+-C'P<R,F\R,J\N<NLJ<V<F<
XMZ\6L_!P:T<.;T=;3@<O5=,?7>+VO@!UP'?@!WW`?]0%0@>79````@'&'^6BY
XME`%I[>I-BJTZ[/EI26RY.>D\>2I)+$D:B1P9&LD;Z0L)"\BTBYD+:0MHNHM(
XMO(LHOHL'PGKGQ'K'QGJGR'J'RGIVS&IFSFI&T&HO;2:@;4:>;6:=786<;8:;
XM7:6:;::8;<:77>66;>:54!!91@$&D_4!)9)@$FD5`460:UD*UH6SEJM86Q:%
XMJ5=J]95*=F6N:8.G5EK5G"IE9:Q9XJ55:K6@*D9%JUHBI%1:IJ(J146I:D*C
XM4VJ5IAHV):EJ8J-26H:G*C4EJ&J"HE):=J5J)26G:D>B46IGHXHI*G>CBCD?
XMIGI(HY&F>E:DD:6*9*61I8R)'Z5\F1Z*2,F2HXR&XA6CC(4EI'R%):2,=2:C
XMC&8UHXQE3UI'QE1J.,1E6D?$5EI'JBGU9:5ZDI]6:D>H*?9UI6J"GUA:5Z8Y
XM]8:E:F*?:06E>D.?61:E>C*?:26F:B.?636G:@.@63:G:>.@:46H:<.A65:H
XM>82A:66J:56B67:K>&HVF&K)BD::6OD:A9MMAIQ=A9UM9IYM1J#VTFHFT&I&
XMSFIFS&IWRGJ'R'JGQGK'Q'KGPGL(OHLHO(M(NHMI"VD+F+2+R0L)"^D:R1P9
XM&HD<22I)+'DYZ3RY:4EL^NTZK8I-Z>`6E+F0$MH```!./T#Y/QTQ#'[+RPQQ
XMTQ!8#>````!R)I//;0`=/MUQ6`[A````<B:3SV_MUI<0`<2P9.(```!R*I//
XM;=E==]:-6=.]*]*]*]*]*]*]*]*]*]*]+`T<#2O2P-'`T?P-'`T<'1P-'`T<
XM'1P-'\'0_!T/P=#\'0PM#\'0PM#!T.+"S^+"S\//XL+/XL//_"S^7#S\+/X#
XM?#SPL(CC````<BJ5ZF_/[<P\_"S^+#S\+/_#S\+/P\_"S\//PL_"S\//PL_"
XMS\+0P=#!T,'0P=#!T,#1P-#!T,#1P-#`T,#1O1O1O3G5;8G5O5O5O4P-3`U,
XM#3P-/!T\#3P-/!TL'2P=+!TL'1PM'"T<+0P]#"T<+0P]#"T,/0PM#\/0PM#B
XMP]#"T.W,,+ABY````'(JD\]OX#?#T,+0Y</0_"T.+#T.+"T,/0XL+1XL+1P=
XM'"T?P='"T?P=+\'2_!TOP=+`TL'2P-/`TL'2P-/\#3P-/`T[T\#3P-.]2]2]
XM2]2]2]2]2]2]2]2]6=:-=]E06`[P````<B:3YFT`'$[=<6E0#?$```!R)I/F
XM;W'MT`'3N&+R````<BJ3ZFU=E]>-:=6]2]2]2]2]2]2]2]2]2]2]/`T\#3O3
XMP-/`T_P-/`TL'2P-/`TL'2P-+\'2_!TOP=+\'1PM'\'1PM'!T>+"T>+"T,/0
XMXL+0XL/0_"T.7#T,+0X#?#"XB/,```!R*I7/;^W,/0PM#BP]#"T/P]#"T,/0
XMPM##T,+1PM##T,+1PM'"T<'2P=+!TL'2P=/`T\#3P=/`T\#4P-3`U+U;U;U9
XMV&U9T[T;T;T<#0P-#`T<#0P=#`T<#0P=#!T,'0P=#!T,+/PL_"S\//PL_"S\
XM//PL_#S\+/_#S\+/XL//PL_MS#SPL&3T````<BJ3ZF_/X#?#S\+/Y<//_"S^
XM+#S^+"S\//XL+/XL+0P=#"T/P=#"T/P=#\'0_!T/P='`T<'1P-'`T<'1P-'\
XM#1P-'`TKTL#1P-*]*]*]*]*]*]*]*]*]*]*].=6-9]==D-@+]0```'(/E<]O
XM`(O0V`OV````I*,$`"H`*.!`K_L```"DD5GW4H%0UE+4]3T_4]/U/34]-4TU
XM/34]-4TU/34]-4TE325-+U325-)4TE325-*U<+EMNVN\:KUHOV>_9U705L]7
XMSU;/5\Y7S5G,6<M:RES(7<=>R/7,Q=S%W.6\]:SUG16-%8T5?25M-6TE;35M
XM)6T[YJOFJ];+MMNFZX<+5S5-14U%345-14U%/54]14U%344]53U%344]53U%
XM344]7U/5]3U?4]52UE"AV`O\````3C]`^3\`_"!`K_T```"DD5GW4J%0UE+5
XM]3U?4]7U/54]14U%/54]14U%/54]14U%345-3U345-14U%345'.U<+EMNVR\
XM:[UJOVF_TU735M)7TE;25])7T5G06=!:SES-7<Q>S/7,E=R%W(6\I:S%G,6,
XMU8SE?/5L]6T%;/5M!69[YHOFF]:KMLNFZX<;725-)4TE325-)4TU/34]-4TE
XM334]-3TU334]-3TU334]/U/3]3T_4]12UE"!8"#^````?VQM]VJ=30;/Z9<)
X2S],0W?'3G>E'"<_3$-WQTQ#U
X`
Xend
END_OF_FILE
  if test 23815 -ne `wc -c <'fonts.lj/S.36.pk.UU'`; then
    echo shar: \"'fonts.lj/S.36.pk.UU'\" unpacked with wrong size!
  fi
  # end of 'fonts.lj/S.36.pk.UU'
fi
if test -f 'lj.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'lj.c'\"
else
  echo shar: Extracting \"'lj.c'\" \(21773 characters\)
  sed "s/^X//" >'lj.c' <<'END_OF_FILE'
X/*	Copyright 1985, 1986, 1987, 1988 Chris Lewis
X		All Rights Reserved
X
X    Permission to copy and further distribute is freely given provided
X    this copyright notice remains intact and that this software is not
X    sold for profit.
X
X	Project:	Generic Troff drivers
X	Module:		lj.c
X	Author: 	Chris Lewis
X	Specs:		LaserJet driver, hacked from ps.c and lcat.c
X
X			Without font downloading, this is LJ compatible.
X			Font downloading will require a LJ+, LJ500+ or
X			LJ II.
X
X*/
X
X#include "defs.h"
X
X#ifdef	LJ
X#include "lj.h"
X
X#ifndef	LJF
Xchar *LJF;
X#endif
X
X#ifdef	PK
X#include "pk.h"
X#endif
X
X#if	defined(PARTIAL)
X#include "pkc.h"
X#endif
X
X#ifndef	lint
Xstatic char SCCSid[] =
X    "@(#)lj.c: 2.1 Copyright 90/07/18 16:51:32 Chris Lewis";
X#endif
X
Xstruct troff2befont ljStdFont[108] = {
X
X/*	Note on X-shift, Y-shift and point scale factor:
X	The first two are shifts in the baseline position of the
X	character, and the third is a multiplier of the point size.
X	If they are zero, nothing happens.  If they are non-zero,
X	they are first multiplied by .01, then (in the case of the
X	shifts), multiplied by the current points to get a shift
X	value in TROFF2LJ[XY] coordinates.  In the case of point scale
X	factor, it is multiplied by <currentpointsize> * .01 and becomes
X	the pointsize of the sequence to be emitted.
X */
X/*          +-------------------------------- Troff character number
X	    |
X            |    +--------------------------- N: standard fonts
X            |    |                            S: symbol font
X            |    |                            D: draw macro
X            |    |                            n: new font
X            |    |
X            |    |  +------------------------ X-shift: scale by deci-point*100
X            |    |  |
X            |    |  |  +--------------------- Y-shift: scale by deci-point*100
X            |    |  |  |
X            |    |  |  |  +------------------ Point-scale
X            |    |  |  |  |
X            |    |  |  |  |   +-------------- Sequence
X            |    |  |  |  |   |
X            v    v  v  v  v   v */
X	/*  0*/	{N, 0, 0, 0, "h"},
X	/*  1*/	{N, 0, 0, 0, "t"},
X	/*  2*/	{N, 0, 0, 0, "n"},
X	/*  3*/	{N, 0, 0, 0, "m"},
X	/*  4*/	{N, 0, 0, 0, "l"},
X	/*  5*/	{N, 0, 0, 0, "i"},
X	/*  6*/	{N, 0, 0, 0, "z"},
X	/*  7*/	{N, 0, 0, 0, "s"},
X	/*  8*/	{N, 0, 0, 0, "d"},
X	/*  9*/	{N, 0, 0, 0, "b"},
X	/* 10*/	{N, 0, 0, 0, "x"},
X	/* 11*/	{N, 0, 0, 0, "f"},
X	/* 12*/	{N, 0, 0, 0, "j"},
X	/* 13*/	{N, 0, 0, 0, "u"},
X	/* 14*/	{N, 0, 0, 0, "k"},
X	/* 15*/	{N, 0, 0, 0, NOC},
X	/* 16*/	{N, 0, 0, 0, "p"},
X	/* 17*/	{S, 0, 0, 0, "\366"},
X	/* 18*/	{N, 0, 0, 0, ";"},
X	/* 19*/	{N, 0, 0, 0, NOC},
X	/* 20*/	{N, 0, 0, 0, "a"},
X	/* 21*/	{N, 0, -200, 0, "_"},
X	/* 22*/	{N, 0, 0, 0, "c"},
X	/* 23*/	{N, 0, 0, 0, "`"},
X	/* 24*/	{N, 0, 0, 0, "e"},
X	/* 25*/	{N, 0, 0, 0, "'"},
X	/* 26*/	{N, 0, 0, 0, "o"},
X	/* 27*/	{N, 0, 0, 0, "\367"},
X	/* 28*/	{N, 0, 0, 0, "r"},
X	/* 29*/	{N, 0, 0, 0, "\370"},
X	/* 30*/	{N, 0, 0, 0, "v"},
X	/* 31*/	{N, 0, 0, 0, "-"},
X	/* 32*/	{N, 0, 0, 0, "w"},
X	/* 33*/	{N, 0, 0, 0, "q"},
X	/* 34*/	{N, 0, 0, 0, "/"},
X	/* 35*/	{N, 0, 0, 0, "."},
X	/* 36*/	{N, 0, 0, 0, "g"},
X	/* 37*/	{N, 0, 0, 0, "3/4"},
X	/* 38*/	{N, 0, 0, 0, ","},
X	/* 39*/	{N, 0, 0, 0, "&"},
X	/* 40*/	{N, 0, 0, 0, "y"},
X	/* 41*/	{N, 0, 0, 0, NOC},
X	/* 42*/	{N, 0, 0, 0, "%"},
X	/* 43*/	{N, 0, 0, 0, NOC},
X	/* 44*/	{N, 0, 0, 0, "Q"},
X	/* 45*/	{N, 0, 0, 0, "T"},
X	/* 46*/	{N, 0, 0, 0, "O"},
X	/* 47*/	{N, 0, 0, 0, "H"},
X	/* 48*/	{N, 0, 0, 0, "N"},
X	/* 49*/	{N, 0, 0, 0, "M"},
X	/* 50*/	{N, 0, 0, 0, "L"},
X	/* 51*/	{N, 0, 0, 0, "R"},
X	/* 52*/	{N, 0, 0, 0, "G"},
X	/* 53*/	{N, 0, 0, 0, "I"},
X	/* 54*/	{N, 0, 0, 0, "P"},
X	/* 55*/	{N, 0, 0, 0, "C"},
X	/* 56*/	{N, 0, 0, 0, "V"},
X	/* 57*/	{N, 0, 0, 0, "E"},
X	/* 58*/	{N, 0, 0, 0, "Z"},
X	/* 59*/	{N, 0, 0, 0, "D"},
X	/* 60*/	{N, 0, 0, 0, "B"},
X	/* 61*/	{N, 0, 0, 0, "S"},
X	/* 62*/	{N, 0, 0, 0, "Y"},
X	/*from here on are actually code 1-45, upper half of font */
X	/* 63*/	{N, 0, 0, 0, "F"},
X	/* 64*/	{N, 0, 0, 0, "X"},
X	/* 65*/	{N, 0, 0, 0, "A"},
X	/* 66*/	{N, 0, 0, 0, "W"},
X	/* 67*/	{N, 0, 0, 0, "J"},
X	/* 68*/	{N, 0, 0, 0, "U"},
X	/* 69*/	{N, 0, 0, 0, "K"},
X	/* 70*/	{N, 0, 0, 0, "0"},
X	/* 71*/	{N, 0, 0, 0, "1"},
X	/* 72*/	{N, 0, 0, 0, "2"},
X	/* 73*/	{N, 0, 0, 0, "3"},
X	/* 74*/	{N, 0, 0, 0, "4"},
X	/* 75*/	{N, 0, 0, 0, "5"},
X	/* 76*/	{N, 0, 0, 0, "6"},
X	/* 77*/	{N, 0, 0, 0, "7"},
X	/* 78*/	{N, 0, 0, 0, "8"},
X	/* 79*/	{N, 0, 0, 0, "9"},
X	/* 80*/	{N, 0, 0, 0, "*"},
X	/* 81*/	{N, 0, 0, 0, "\366"},
X	/* 82*/	{N, 0, 0, 0, "fi"},
X	/* 83*/	{N, 0, 0, 0, "fl"},
X	/* 84*/	{N, 0, 0, 0, "ff"},
X	/* 85*/	{N, 0, 0, 0, "\277"},
X	/* 86*/	{N, 0, 0, 0, "ffl"},
X	/* 87*/	{N, 0, 0, 0, "ffi"},
X	/* 88*/	{N, 0, 0, 0, "("},
X	/* 89*/	{N, 0, 0, 0, ")"},
X	/* 90*/	{N, 0, 0, 0, "["},
X	/* 91*/	{N, 0, 0, 0, "]"},
X	/* 92*/	{N, 0, 0, 0, "\263"},
X	/* 93*/	{S, 0, 0, 0, "\316"},
X	/* 94*/	{N, 0, 0, 0, "="},
X	/* 95*/	{N, 0, 0, 0, "O\br"},
X	/* 96*/	{N, 0, 0, 0, ":"},
X	/* 97*/	{N, 0, 0, 0, "+"},
X	/* 98*/	{N, 0, 0, 0, NOC},
X	/* 99*/	{N, 0, 0, 0, "!"},
X	/*100*/ {S, 0, 0, 0, "\314"},
X	/*101*/	{N, 0, 0, 0, "?"},
X	/*102*/ {N, 0, 0, 0, "\250"},
X	/*103*/	{N, 0, 0, 0, "|"},
X	/*104*/	{N, 0, 0, 0, NOC},
X	/*105*/	{S, 0, 0, 0, "\331"},
X	/*106*/	{S, 0, 0, 0, "\332"},
X	/*107*/	{N, 0, 0, 0, "$"}
X};
X
Xstruct troff2befont ljSymFont[] = {
X/*          +-------------------------------- Troff character number
X	    |
X            |    +--------------------------- N: standard fonts
X            |    |                            S: symbol font
X            |    |                            D: draw macro
X            |    |                            n: new font
X            |    |
X            |    |  +------------------------ X-shift: scale by deci-point*100
X            |    |  |
X            |    |  |  +--------------------- Y-shift: scale by deci-point*100
X            |    |  |  |
X            |    |  |  |  +------------------ Point-scale (scaled by 100)
X            |    |  |  |  |
X            |    |  |  |  |   +-------------- Sequence
X            |    |  |  |  |   |
X            v    v  v  v  v   v */
X	/*  0*/	{S, 0, 0, 0, "\167"},
X	/*  1*/	{S, 0, 0, 0, "\150"},
X	/*  2*/	{S, 0, 0, 0, "\155"},
X	/*  3*/	{S, 0, 0, 0, "\154"},
X	/*  4*/	{S, 0, 0, 0, "\153"},
X	/*  5*/	{S, 0, 0, 0, "\151"},
X	/*  6*/	{S, 0, 0, 0, "\146"},
X	/*  7*/	{S, 0, 0, 0, "\162"},
X	/*  8*/	{S, 0, 0, 0, "\144"},
X	/*  9*/	{S, 0, 0, 0, "\142"},
X	/* 10*/	{S, 0, 0, 0, "\156"},
X	/* 11*/	{S, 0, 0, 0, "\147"},
X	/* 12*/	{S, 0, 0, 0, "\165"},
X	/* 13*/	{S, 0, 0, 0, "\164"},
X	/* 14*/	{S, 0, 0, 0, "\152"},
X	/* 15*/	{S, 0, 0, 0, NOC},
X	/* 16*/	{S, 0, 0, 0, "\160"},
X	/* 17*/	{N, 0, 0, 0, "@"},
X	/* 18*/	{S, 0, 0, 0, "\243"},
X	/* 19*/	{S, 0, 0, 0, NOC},
X	/* 20*/	{S, 0, 0, 0, "\141"},
X	/* 21*/	{N, 0, 0, 0, "|"},
X	/* 22*/	{S, 0, 0, 0, "\166"},
X	/* 23*/	{N, 0, 0, 0, "\042"},
X	/* 24*/	{S, 0, 0, 0, "\145"},
X	/* 25*/	{N, 0, 0, 0, "="},
X	/* 26*/	{S, 0, 0, 0, "o"},
X	/* 27*/	{S, 0, 0, 0, "\244"},
X	/* 28*/	{S, 0, 0, 0, "\161"},
X	/* 29*/	{S, 0, 0, 0, "\241"},
X	/* 30*/	{S, 0, 0, 0, "\163"},
X	/* 31*/	{N, 0, 0, 0, "_"},
X	/* 32*/	{N, 0, 0, 0, "\\"},
X	/* 33*/	{S, 0, 0, 0, "\127"},
X	/* 34*/	{S, 0, 0, 0, "\177"},
X	/* 35*/	{S, 0, 0, 0, "\044"},
X	/* 36*/	{S, 0, 0, 0, "\143"},
X	/* 37*/	{S, 0, 0, 0, "\277"},
X	/* 38*/	{S, 0, 0, 0, "\046"},
X	/* 39*/ {S, 0, 0, 0, "\375"},
X	/* 40*/	{S, 0, 0, 0, "\170"},
X	/* 41*/	{S, 0, 0, 0, NOC},
X	/* 42*/	{S, 0, 0, 0, "\131"},
X	/* 43*/	{S, 0, 0, 0, NOC},
X	/* 44*/	{S, 0, 0, 0, "\125"},
X	/* 45*/	{S, 0, 0, 0, "\110"},
X	/* 46*/	{S, 0, 0, 0, "\130"},
X	/* 47*/	{S, 0, 0, 0, "\265"},
X	/* 48*/	{S, 0, 0, 0, "\260"},
X	/* 49*/	{S, 0, 0, 0, "\123"},
X	/* 50*/	{S, 0, 0, 0, "\113"},
X	/* 51*/	{N, 0, 0, 0, "\366"},
X	/* 52*/	{S, 0, 0, 0, "\103"},
X	/* 53*/	{S, 0, 0, 0, "\325"},
X	/* 54*/	{S, 0, 0, 0, "\120"},
X	/* 55*/	{S, 0, 0, 0, "\272"},
X	/* 56*/	{S, 0, 0, 0, "\273"},
X	/* 57*/	{N, 0, 0, 0, "~"},
X	/* 58*/	{S, 0, 0, 0, "\132"},
X	/* 59*/	{S, 0, 0, 0, "\104"},
X	/* 60*/	{S, 0, 0, 0, "\041"},
X	/* 61*/	{S, 0, 0, 0, "\122"},
X	/* 62*/	{S, 0, 0, 0, "\174"},
X	/* 63*/	{N, 0, 0, 0, ">"},
X	/* 64*/	{S, 0, 0, 0, "\116"},
X	/* 65*/	{N, 0, 0, 0, "<"},
X	/* 66*/	{N, 0, 0, 0, "/"},
X	/* 67*/	{S, 0, 0, 0, "\266"},
X	/* 68*/	{S, 0, 0, 0, "\124"},
X	/* 69*/	{S, 0, 0, 0, "\310"},
X	/* 70*/	{S, 0, 0, 0, "\360"},
X	/* 71*/	{S, 0, 0, 0, "\342"},
X	/* 72*/	{S, 0, 0, 0, "\365"},
X	/* 73*/	{S, 0, 0, 0, "\343"},
X	/* 74*/	{S, 0, 0, 0, "\344"},
X	/* 75*/	{S, 0, 0, 0, "\362"},
X	/* 76*/	{S, 0, 0, 0, "\363"},
X	/* 77*/	{S, 0, 0, 0, "\364"},
X	/* 78*/	{S, 0, 0, 0, "\361"},
X	/* 79*/	{S, 0, 0, 0, "\341"},
X	/* 80*/	{S, 0, 0, 0, "\340"},
X	/* 81*/	{S, 0, 0, 0, "\052"},
X	/* 82*/	{S, 0, 0, 0, "\045"},
X	/* 83*/	{S, 0, 0, 0, "\376"},
X	/* 84*/	{S, 0, 0, 0, "\134"},
X	/* 85*/	{S, 0, 0, 0, "\136"},
X	/* 86*/	{S, 0, 0, 0, "\175"},
X	/* 87*/	{N, 0, 0, 0, "=\b/"},
X	/* 88*/	{N, 0, 0, 0, "{"},
X	/* 89*/	{N, 0, 0, 0, "}"},
X	/* 90*/	{N, 0, 0, 0, "\250"},
X	/* 91*/	{N, 0, 0, 0, "\251"},
X	/* 92*/	{N, 0, 0, 0, "^"},
X	/* 93*/	{N, 0, 0, 0, "#"},
X	/* 94*/	{S, 0, 0, 0, "\373"},
X	/* 95*/	{S, 0, 0, 0, "\267"},
X	/* 96*/	{N, 0, 0, 0, "~"},
X	/* 97*/	{N, 0, 0, 0, "\322"},
X	/* 98*/	{N, 0, 0, 0, NOC},
X	/* 99*/	{S, 0, 0, 0, "\317"},
X	/*100*/	{N, -220, 0, 0, "|"},
X	/*101*/	{N, 0, 2, 0, "*"},
X	/*102*/	{S, 0, 0, 0, "\276"},
X	/*103*/	{S, 0, 0, 0, "\315"},
X	/*104*/	{S, 0, 0, 0, NOC},
X	/*105*/	{N, 0, 0, 0, "+"},
X	/*106*/	{S, 0, 0, 0, "\242"},
X	/*107*/	{N, 0, 0, 0, "\275"}
X};
X
Xint fontCount = 0;
X
XljPage() {
X    printf("\033&l0H");
X    pagePending = 1;
X}
X
Xstatic
XdoPageStart() {
X    currentPage++;
X    fontCount = 0;
X    pagePending = 0;
X}
X
Xstatic
Xputoct(s)
Xchar *s; {
X    int d;
X    if (strlen(s) < 3) {
X	fprintf(stderr, "%s: octal sequence in fonts.l[kj] bad\n", progname);
X	exit(1);
X    }
X    d = (*s - '0') * 64 + (*(s+1) - '0') * 8 + *(s+2) - '0';
X    putchar(d);
X}
X
Xstatic
Xint
Xptcvt(points)
Xint  points; {
X    register int r;
X    switch (points) {
X	case 6:  r = 0; break;
X	case 7:  r = 1; break;
X	case 8:  r = 2; break;
X	case 9:  r = 3; break;
X	case 10: r = 4; break;
X	case 11: r = 5; break;
X	case 12: r = 6; break;
X	case 14: r = 7; break;
X	case 16: r = 8; break;
X	case 18: r = 9; break;
X	case 20: r = 10; break;
X	case 22: r = 11; break;
X	case 24: r = 12; break;
X	case 28: r = 13; break;
X	case 36: r = 14; break;
X	default: r = 15; break;
X    }
X    return(r);
X}
X
X/*	This function originally from Ronald Florence (ron@mlfarm),
X	but extensively modified for new fontFlags mechanisms.
X
X	We'll go at most 4 points up or down.  If this fails,
X	we'll let the printer decide...  You may want to tweak
X	these arrays.
X
X	We go up first for requested pointsizes > 10, and down
X	first for requested pointsizes < 10.  Seems to work best
X	with EQN.
X */
X
Xstatic int
Xbestmatch(font, points)
Xint font, points;  {
X
X    static int smalltry[ ] = { 0, -1, 1, -2, 2, -3, 3, -4, 4, 100 },
X                 bigtry[ ] = { 0, 1, 2, -1, -2, 3, 4, -4, 100 };
X
X    register char *p;
X    register int *ip;
X
X    ip = (points < 10) ? smalltry : bigtry;
X    p = fonttable[font].fontFlags;
X
X    for ( ; *ip < 100; ip++)
X	if (p[ptcvt(points + *ip)] != 'n')
X	    return(points + *ip);
X
X    return (points);
X}
X
X#ifdef	INCR
Xdumpseq(font, pointidx, seq)
Xint font, pointidx;
Xregister char *seq; {
X    int fn = (font << 4) + pointidx;
X    static int lastftid = -1;
X    register int c;
X    register struct pkc *pc = (struct pkc *) NULL;
X
X    DBP((D_FONT, "dumpseq font: %d, idx: %d, seq: %s\n", font,
X	pointidx, seq));
X
X    for (;c = (*seq)&0xff; seq++) {
X	if (!downchar(font, c, pointidx)) {
X
X	    for (pc = fonttable[font].map->pkfont[pointidx]->pkp_chars;
X		pc; pc = pc->pkc_next)
X		if (pc->pkc_char == c)
X		    break;
X
X	    setdown(font, c, pointidx);
X
X	    if (!pc)
X		continue;
X
X	    if (lastftid != fn) {
X		DBP((D_FONT,"Emitting download font select (%d)\n", fn));
X		printf("\033*c%dD", fn);
X		lastftid = fn;
X	    }
X
X	    DBP((D_FONT,"Downloading %02x\n", pc->pkc_char));
X	    epkc_desc(pc, stdout);
X	} else
X	    DBP((D_FONT,"Already downloaded %02x\n", c));
X    }
X}
X#endif
X
XljSetFont(font, selpoints, fontcode, sequence)
Xint font, selpoints, fontcode;
Xchar *sequence; {
X    int points, pointidx;
X    register char *pf, *p;
X    register struct pkp *pk;
X#if	!defined(INCR) && defined(PK)
X    register struct pkc *pc;
X#endif
X    char buf[BUFSIZ];
X#ifndef	PARTIAL
X    FILE *fontfile;
X#endif
X    int count;
X    int ftid;
X
X#ifdef	COMPRESS
X    int compressed = 0;
X#endif
X
X
X#ifndef	INCR
X    if (lastPoints == selpoints && font == lastFont)
X	return;
X#endif
X
X    points = bestmatch(font, selpoints);
X    pointidx = ptcvt(points);
X
X    pf = &fonttable[font].fontFlags[pointidx];
X    ftid = (font << 4) + pointidx;
X
X#ifdef	INCR
X#ifdef	SFP
X    if (*pf == 'S' || *pf == 'P') {
X#else
X    if (*pf == 'P') {
X#endif
X	/* header downloaded, check and download individual characters */
X	dumpseq(font, pointidx, sequence);
X
X	if (lastPoints != points || font != lastFont) {
X	    DBP((D_FONT, "Selecting font %d\n", ftid));
X	    lastPoints = points;
X	    lastFont = font;
X	    printf("\033(%dX", ftid);
X	}
X
X	return;
X
X    }
X
X    if (lastPoints == selpoints && font == lastFont)
X	return;
X#endif
X
X    lastPoints = selpoints;
X    lastFont = font;
X
X    switch(*pf) {
X#ifdef	PK
X	case 'p':
X#ifdef	PARTIAL
X	case 's':
X#endif
X	    sprintf(buf, "%s/%s.%d.%s", LJF,
X		fonttable[font].troffName, points,
X		    (*pf == 's') ? "sfp":"pk");
X
X	    fontCount++;
X	    if (fontCount >= MAXDLFONTS) {
X#ifdef	INCR
X		pkflush(font, pointidx);
X#else
X		fprintf(stderr, "Too many fonts (page %d), simplify!\n",
X		    currentPage);
X#endif
X	    }
X	    DBP((D_FONT,"FONTLOAD PK font (ftid: %d) %s.%d via '%s'\n",
X		ftid, fonttable[font].troffName,
X		points, buf));
X
X	    /* Read the PK file in-core */
X	    pk = pk_read(buf,fontcode);
X
X	    /* Set the fontid we'll use */
X	    printf("\033*c%dd4F", ftid);
X
X	    /* Emit the SFP header */
X	    epk_desc(pk, stdout);
X
X#ifndef	INCR
X	    /* Emit each character */
X	    for (pc = pk->pkp_chars; pc; pc = pc->pkc_next) {
X		DBP((D_FONT,"Downloading ch %02x\n", pc->pkc_char);
X		epkc_desc(pc, stdout));
X	    }
X
X	    /* Clobber in-core PK */
X	    pk_destroy(pk);
X#else
X	    fonttable[font].map->pkfont[pointidx] = pk;
X	    dumpseq(font, pointidx, sequence);
X#endif
X
X	    *pf = toupper(*pf);
X
X	    /* buf */
X	    goto setdownloaded;
X#else
X	case 'p':
X	    fprintf(stderr,
X		"%s: Font %s, size: %d is a PK - PK not defined in defs.h\n",
X		progname, fonttable[font].troffName, selpoints);
X	    goto setbuiltin;
X#endif
X
X#ifndef	PARTIAL
X	case 's':
X	    sprintf(buf, "%s/lj/%s.%d.sfp", LIBDIR, fonttable[font].troffName,
X		points);
X
X	    fontfile = fopen(buf, "r");
X
X#ifdef	COMPRESS
X	    if (!fontfile) {
X		sprintf(buf, "%s %s/lj/%s.%d.sfp.Z",
X		    COMPRESS, LIBDIR, fonttable[font].troffName, points);
X		fontfile = popen(buf, "r");
X		compressed = 1;
X	    }
X#endif
X
X	    if (!fontfile) {
X		fprintf(stderr, "%s: cannot open fontfile\n(%s)\n", progname,
X		    buf);
X		goto setbuiltin;
X	    }
X
X	    fontCount++;
X	    if (fontCount >= MAXDLFONTS) {
X#ifdef	INCR
X		pkflush(font, pointidx);
X#else
X		fprintf(stderr, "Too many fonts (page %d), simplify!\n",
X		    currentPage);
X#endif
X	    }
X
X	    DBP((D_FONT,"Loading font (ftid: %d) %s.%d via '%s'\n",
X		ftid, fonttable[font].troffName,
X		points, buf));
X
X	    printf("\033*c%dd4F", ftid);
X
X	    while(0 < (count = fread(buf, sizeof(char), sizeof(buf), fontfile)))
X		fwrite(buf, sizeof(char), count, stdout);
X
X#ifdef	COMPRESS
X	    if (compressed) {
X		if (!pclose(fontfile)) {
X		    fprintf(stderr, "%s: compress failed!\n", progname);
X		    exit(1);
X		}
X	    } else
X#endif
X		fclose(fontfile);
X
X	    *pf = toupper(*pf);
X#endif
X	    /* Fall Thru */
X
X	case 'S': case 'P':
X	    /* Select primary font by font id */
X	setdownloaded:
X	    DBP((D_FONT, "Selecting font2 %d\n", ftid));
X	    printf("\033(%dX", ftid);
X	    break;
X
X	default:
X	setbuiltin:
X	    *pf = 'b';
X
X	case 'b':
X	    /* if builtin font, select it by characteristic */
X	    for (p = fonttable[font].fontSeq; *p; p++) {
X		if (*p == '\\') {
X		    putoct(p+1);
X		    p+=3;
X		} else
X		    putchar(*p);
X	    }
X	    printf("\033(s%dV", points);
X	    break;
X    }
X}
X
XljChar(x, y, font, points, troffChar, sequence)
Xint x, y;
Xint font, points, troffChar;
Xchar *sequence; {
X    register int nx = TROFF2LJX(x), ny = TROFF2LJY(y);
X    register struct troff2befont *rp;
X
X#ifndef	OPT
X    sequence = (char *) NULL;
X#endif
X
X    if (pagePending) {
X	resetState();
X	doPageStart();
X    }
X
X    DBP((D_BEND,"BEFORE (troffChar,x,y,font,points) = (%d,%d,%d,%d,%d)\n",
X	troffChar, x, y, font, points));
X
X    if (font == 3) {
X	rp = &be->besymfont[troffChar];
X    } else {
X	rp = &be->bestdfont[troffChar];
X    }
X
X    switch(rp->t2b_font) {
X	/* Only fonts with "N" are subject to font translation */
X	case N:
X	    if (font == 3)
X		font = 0;	/* Special chars are Roman */
X	    else {
X		DBP((D_BEND,"ljSetChar %d->%s (%s)\n", font,
X		    xlatetable[font]->troffName,
X		    xlatetable[font]->fontName));
X		font = xlatetable[font] - fonttable;
X	    }
X	    break;
X	case S:
X	    font = 3;
X	    break;
X	case D:
X	    break;
X	default:
X	    /* Typically used when the R and S fonts don't have the
X	       character desired, so select the font via the index
X	       in the fonts.?? file */
X	    font = rp->t2b_font;
X	    break;
X    }
X
X    if (!sequence)
X	sequence = rp->t2b_charseq;
X
X    if (!sequence) {
X	fprintf(stderr, "%s: No coding for char %d in %d font\n",
X	    progname, troffChar, font);
X	return;
X    }
X
X    /*	We're committed now - the "if" statements avoid floating
X	arithmetic on slow machines */
X
X    if (rp->t2b_scale) points *= (.01 * rp->t2b_scale);
X    if (rp->t2b_xc) nx += points * (.01 * rp->t2b_xc);
X    if (rp->t2b_yc) ny += points * (.01 * rp->t2b_yc);
X
X    ljSetFont(font, points, rp->t2b_font, sequence);
X
X    DBP((D_BEND,"AFTER (sequence,x,y,font,points) = (%s,%d,%d,%d,%d)\n",
X	sequence, nx, ny, font, points));
X
X/*	Egads, I discovered that 42% of the time in troff2ps was spent
X	doing these damn conversions! */
X
X#define	XYS	"\033&a%dh%dV%s"
X#define	XS	"\033&a%dH%s"
X
X    if (lastYPos != ny) {
X	printf(XYS, nx, ny, sequence);
X	lastYPos = ny;
X    } else
X	printf(XS, nx, sequence);
X}
X
XljProlog() {
X    extern char *ctime();
X    FILE *library;
X    int c;
X    register char *p;
X
X#ifndef	LJF
X    LJF = mustmalloc(strlen(LIBDIR) + 5, "ljprolog");
X    sprintf(LJF, "%s/lj", LIBDIR);
X#endif
X
X    /* to ensure that the strings are long enough for indexing and
X       are sufficiently initialized */
X
X    for (c = 0; fonttable[c].troffName; c++) {
X	register int i;
X	p = mustmalloc(20, "ljfontflags");
X	strncpy(p, fonttable[c].fontFlags, 16);
X	p[16] = '\0';
X	free(fonttable[c].fontFlags);
X	for (i = strlen(p); i < 16; i++)
X	    p[i] = 'n';
X	fonttable[c].fontFlags = p;
X    }
X
X#if	defined(INCR)
X    /* create empty downloaded-yet arrays */
X    for (c = 0; fonttable[c].troffName; c++) {
X	register int i;
X	for (i = 0, p = fonttable[c].fontFlags; *p; p++, i++)
X#ifdef	SFP
X	    if (*p == 'p' || *p == 's') {
X#else
X	    if (*p == 'p') {
X#endif
X		DBP((D_FONT, "Allocating font %d, size %d\n",
X		    c, i));
X		if (!fonttable[c].map) {
X		    fonttable[c].map = (struct downmaps *)
X			mustmalloc(sizeof(struct downmaps), "downmaps");
X		}
X		fonttable[c].map->nm[i] = (ETYP *) mustmalloc(ELEN *
X		    sizeof(ETYP), "Nmaps");
X		fonttable[c].map->lastpage[i] = 0;
X	    }
X    }
X
X#ifdef	DEBUG
X    dumpmaps(1);
X#endif
X
X#endif
X
X#if	defined(PARTIAL)
X    /* create need-arrays */
X    for (c = 0; c < 108; c++)
X	if (ljStdFont[c].t2b_charseq != NOC)
X	    for (p = ljStdFont[c].t2b_charseq; *p; p++)
X		addneedchar(ljStdFont[c].t2b_font, *p);
X
X    for (c = 0; c < 108; c++)
X	if (ljSymFont[c].t2b_charseq != NOC)
X	    for (p = ljSymFont[c].t2b_charseq; *p; p++)
X		addneedchar(ljSymFont[c].t2b_font, *p);
X#endif
X
X#if	defined(DEBUG) && defined(PARTIAL)
X    dumpmaps(0);
X#endif
X
X    currentPage = 0;
X    pagePending = 1;
X
X    library = libopen(printer, "lib");
X
X    ljXlate(library);
X    fclose(library);
X    doprologs();
X}
X
XljEpilog() {
X#if	defined(INCR)
X    register struct fonttable *fp;
X    register int i;
X    /* delete fonts still active that we downloaded */
X    for (fp = fonttable; fp->troffName; fp++)
X	if (fp->map)
X	    for (i = 0; i < 14; i++)
X		if (fp->map->pkfont[i])
X		    printf("\033*c%dd2F", ((fp - fonttable) << 4) + i);
X#endif
X
X#if	defined(DEBUG) && defined(INCR)
X    dumpmaps(1);
X#endif
X}
X
X/*	Copy the library file to the standard output, stripping
X	%line\n
X	%%%<something> is a metadirective
X	and converting \nnn and \xnn as you go.
X	Strip out line termination.
X*/
X
XljXlate(library)
XFILE *library; {
X    char buf[4];
X    int c, i;
X    c = getc(library);
X    while(!feof(library)) {
X
X      nextchar:
X
X	switch(c) {
X	    case '%':
X		/* strip from percent sign to end of line */
X		/* If line is %%%<something> pass onto interp */
X		if (((c = getc(library)) == '%') &&
X		    ((c = getc(library)) == '%')) {
X		    char buf2[4];
X		    sprintf(buf2, ".%s", be->bename);
X		    fgets(buf, strlen(buf), library);
X		    interp(buf, ljXlate, buf2);
X		    break;
X		}
X		while ((c = getc(library)) != EOF && c != '\n');
X		break;
X	    case '\n':	/* throw away real newlines. */
X		break;
X	    case '\\':
X		c = getc(library);
X		if (c == 'x' || c == 'X') {
X		    i = 0;
X		    while(1) {
X			c = getc(library);
X
X			if (c == EOF || !((c >= '0' && c <= '9') ||
X					  (c >= 'A' && c <= 'F') ||
X					  (c >= 'a' && c <= 'f')))
X			    goto nextchar;
X
X			buf[i++] = c;
X			if (i == 2) {
X			    buf[i] = '\0';
X			    sscanf(buf, "%x", &i);
X			    putchar(i);
X			    i = 0;
X			}
X		    }
X		} else {
X		    buf[0] = c;
X		    i = 1;
X		    while(1) {
X			c = getc(library);
X			if (c == EOF || c < '0' || c > '7')
X			    goto nextchar;
X			buf[i++] = c;
X			if (i == 3) {
X			    buf[i] = '\0';
X			    sscanf(buf, "%o", &i);
X			    putchar(i);
X			    i = 0;
X			}
X		    }
X		}
X		/* NOTREACHED */
X
X	    case ' ': case '\t':
X		break;
X
X	    case EOF:
X		fprintf(stderr, "%s: Unexpected eof on ljlib\n", progname);
X		break;
X
X	    default:
X		putchar(c);
X	}
X	c = getc(library);
X    }
X}
X#endif
END_OF_FILE
  if test 21773 -ne `wc -c <'lj.c'`; then
    echo shar: \"'lj.c'\" unpacked with wrong size!
  fi
  # end of 'lj.c'
fi
echo shar: End of archive 2 \(of 16\).
cp /dev/null ark2isdone
MISSING=""
for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ; do
    if test ! -f ark${I}isdone ; then
	MISSING="${MISSING} ${I}"
    fi
done
if test "${MISSING}" = "" ; then
    echo You have unpacked all 16 archives.
    echo "Read the README to get started with psroff installation"
    rm -f ark[1-9]isdone ark[1-9][0-9]isdone
else
    echo You still must unpack the following archives:
    echo "        " ${MISSING}
fi
exit 0
-- 
Chris Lewis, Phone: TBA
UUCP: uunet!utai!lsuc!ecicrl!clewis
Moderator of the Ferret Mailing List (ferret-request@eci386)
Psroff mailing list (psroff-request@eci386)