X R@9|P^GWD0$   xP^z Ver 2.3 4/7/95 6:43pm Linker R12.3.1`*?p/3 Op;?U?o@p_pPpPp ??@_Ю0?O0Oop?0/p@0?o_Op/?0/OP   `@p`0/ P% %@%@' (o ()C0CC?`JJ_@MP@U?V0Y]?__aaaacodPepeg_ gi/ii_jOjo0qqtz0{}*G'(1"E )#+7* 8F0% /5,N!)T o  ( ;  [ f           @ _ j t  Z   ( w   ) @ N ] l   [ P = w % ^   2 b s     [   " 2    < < < F< < < < H< < / U/ / / / "/ / b / / / */ / X/ d/ / / 3/ !ll l llllll0l= b ._6[] ;ooojoooqooo o\oo o o o o( o` o ooo>uNuuu)uRuluuuuS u" u u uY u uu uBgzgg&ggqb%U$a ; ; ?T?g??JAJXCX5XXX XXXGXCCD DDD!D)D1D.\....'D SS/SFSXS[)[<_..F...0.. .{...`FF,G,_QyQ3[r[7gHg0~C~c~~}n$T5fIQT0    < s   * f    K a  {lv+B {  ! T   k   1 g    &a -h_j___Dsissys/.+FfFUFFFFFF;=P,&$!A!`!!)!!r!!4".4"*4"94"c^#t^#^#p#9p#p########[#~###$$$$$$$$)$L$[$$]1%1%1%1%F1%v1%1%1%2%`%%%%%%% < / lPdoug;?JX.@DMS[.,Q[g~ !7<_s*:F&3BE!!!" "4"j""""0#Z#^#p#|#~###########$$s$z$$ %%1%%%%  \ w   0 C T Z        E c      I u    R X     ! H g |       & b   0    1 H V e t      7 c  B X o u  E [ p : Z t  " B [ x L R f l           " ( A [ {       : {    , 2 > D          * : X m       E k {  < !< 4< :< M< S< f< l< < < < < < < < < < < < !< 9< ?< T< Z< o< u< < < < < < =< [< p< < < < < < 7< E< l< < < < < < < < < 8< H< {< < < < < < J< P< c< < < < < F< w< ~< < < < < %< :< N< c< x< < < < < < < < *< 0< I< O< n< < < < < < < < < S < i < <  < / < I < <  < B < [ < <  <  < ( < p < < < C< c< < < < < < ]/ / / / G/ s/ / / / f/ / / %/ B/ `/ }/ / / &/ Y/ / / 7/ X/ u/ / / / R/ ~/ / / / +/ 1/ D/ J/ ]/ c/ / / / / / */ h/ n/ / / / /  / % / : / @ / R / X / m / s / / / / / / / / / / / /  / $ / * / ? / E / i / o / / / / / ) / > / / / / / /  /  / ; / a / / /  / A / Z / k / / / / / / / / / // @/ P/ ~/ / / / / q/ w/ / / / / / S/ {/ / / / (/ >/ S/ i/ ~/ / / / / / / / $/ 6/ H/ Z/ l/ / / / / / / / "/ ;/ A/ Y/ _/ w/ }/ / / / / / K/ / / / / 5/ J/ _/ q/ / / / / / / / / #/ )/ E/ ]/ s/ / / / / / / / )/ // |/ / / / / '/ H/ {/ / / / 7/ =/ Y/ s/ y/ / / / / / Q/ g/ / E/ / / 6/ t/ / `/ / / / / ./ D/ /  / # / < / d / } / / / / "/ "/ 1#/ 7#/ '/ '/ @(/ F(/ d)/ )/ */ */ a+/ +/ +/ +/ ,/ ,/ -/ -/ 5// a// // // 80/ >0/ +1/ W1/ ;3/ 3/ 3/ 3/ 3/ l!l4l:lMlSlflllllllllll(l.lClIl[lalyllllllllllllll?lElalgllllllElclxllllll?lMl[lllll ll7lKldlulllllll(lElslll&l;lWl]lplllll lTlll lJ lQ l l l l l l l l2 lH l] lo l l l l l l l l" l; lA lZ l` lu l l l l l l l l l l0 lO lk l l l l l l l l l l% lQ lW l l l l l l l;lAlllll6lLllll6llll4lMll:l@lTlulll lsl}lllll.l4l`lfl{llll ll(l=llllllKl{llll!4:MSfl/5X^u{/5GMbhza!/[iw#;\u 1J[kJ_qw#n K R       + @ U j         0 B [ a z      M z       % A Z ` y       ;AVk2`: +I+>Dzz 168"Gg->]sD  i     e {  Lf-)`&,CoooobohoooroooodojooToyoo-o3ooodoyooo\oboooooo: o@ o o o" oQ oW o o o o o o0 oh o o o ooooo, L   u0uFuuFuuuWuuTuuuuu<ubuuu)u9uXuuuuuuu)u@uPusuuuu u[ uy u u u u# uB uR ur u u u u% uA uu u u* uC u\ uk u u u u: ua u u uuu)uuuggsg      ty]j-Aj,???J%X=XXXX(XXCCCCCCCCC=CkDDDD#'DQ/D:D>DBDFDJDODSDWD[D_DdDhDlDpDtDyD}DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEE EEEEE!E%E)E-E1E6E:E>EBEFEKEOESEWE[E_EeEjE#Q ~}s#@gDMAM4FNF[8[T[r[[[3[i[n[[[![[[[5AmIl..*.P.t. .o.s...6......C\Q`b%,N,,,I,Qa[[~Y[-LcB gnya;A   O   "7<`<9sZs03 3z9kF*4:u::FRF!y,bz  & &&&&-&3&&&&&&&&13333EpEEEEEFE_EnExEEEE EE0EEEEEE E&E<EREkEEEEEEE3EIEVEEEEEEEEEE'E@EHEaE{EEEE Jt1lJJKK KKKKKK"K&K*K.K2K6K:K>KBKFK_2h} !! !I!h!7!n!!!(!!!?!!!!5!!"!/!F!S!!![!!!J!j! "4"4" 4"h4"4"4"4"4"4"j"#j"(j"<j"Pj"Uj"ij"}j"j"j"j"j"j"j"j"j"j" j"j"Gj"Lj"ej"j"j"j"j"j"j"j"j"4j"Xj"]j"sj"j"j"j" j"j")j"1j"Tj"Yj"oj"j"j"j"j"mj"j"j""H"k""""""" """-"2"""""u"""(0#Y0#n0#%0#_0#0#,0#C0#0#&^#=^#U^#l^#ap#p##MM`##'#2#=#H#S#^#i## #>#F#Z#a#f#####(#-#A#U#k##7#P#Z#b#{#;#Q#V###+#c####"$2$?$L$Y$$s$ $N$$$$$$$.$P$.$3$8$=$Zs$Bz$z$ $$;$h$$$$$$$<$ %< %f % %)%%%%C%%D1%1%?1%1%1%71%Y1%~1%1%v1%1%%%7%p%%%B%%%%%%%BWBWPieTitleNumberofSlices SliceData1 SliceData2 SliceData3 SliceData4 SliceData5 SliceData6 SliceData7 SliceData8 SliceData9 SliceData10 SliceData11 SliceData12 SliceData13 SliceData14 SliceData15 SliceData16Slice#FormatBW LineTitlexLabelyLabelcLines LineData1 LineData2 LineData3 LineData4 LineData5 LineData6 LineData7 LineData8 LineData9 LineData10 LineData11 LineData12Line#xValue#yValue#FormatBWBarTitlexAxisyAxis cBarGroups cBarsPerGroupBarData1BarData2BarData3BarData4BarData5BarData6BarData7BarData8BarData9 BarData10 BarData11 BarData12Bar#BRGrp#FormatBW LineTitlexLabelyLabelcLinescCoords LineData1 LineData2 LineData3 LineData4 LineData5 LineData6 LineData7 LineData8 LineData9 LineData10 LineData11 LineData12Line#xValue#yValue#Format;x97Enter the name of a Quick Graph data file and Press GO.9(99(@@9@DataFileStatusM9H EEEE E'E.E9E@ EG EFkey GQQQQQQUUUUIIIIIIIICCCCCCKKKKQQQQQQQQUUUUIIIIIIIICCCCCCCCKKKKQQQQUUUUIICC KKKKQQQQUUUUIICC KKKK QQQQQUUUUIICC KKKKKKQQQQQUUUUIICC KKK KKQQQQQQQQ UUUUUUUUIIIIIIIICCCCCCCCKKKKQQQQQQ  UUUUUUIIIIIIIICCCCCCKKKK  :GGGGGGGRRRRRRRAAAAAAPPPPPPPHHHHGGGGGGGGRRRRRRRRAAAAAAAAPPPPPPPPHHHHGGGGRRRRAAAAPPPPHHHHGG RRRRRRRRAAAAAAAAPPPPPPPPHHHHHHHHGGGGGGRRRRRRRAAAAAAAAPPPPPPPHHHHHHHHGGGGRRRRAAAAPP HHHHGGGGGGGG RRRRAAAAPP HHHHGGGGGGRRRRAAAAPP HHHHkPCREnter the name of a Quick Graph data file and Press Go.PPbk@FileNameP>'Line Graph - AlphaNumeric<Title of the LINE Graph=X (Horizontal) Axis label=Y (Vertical) Axis label=<)The number of Comparative LINES for graph= The numberof Data Points per Line= < Name of LineX LabelY Value!  !  !  !  !  $  $  $  $  $  $   Format =   <;Zd@dd@kd@.r@d@.y@d@ dB- dB: dB !@d@% @d@2 @d@ !d@% d@2 d@ !d@% d@2 d@ !@d@% @d@2 @d@!@d@% @d@2 @d@% @d@2 d@% d@2 d@% d@2 d@% d@2 d@% d@2 d@% $d@2 $d@ 3d@% :d@2 :d@;Id LineTitleXLabelYLabelcLinescCoordsLine#xValue#yValue# LineData1 LineData2 LineData3 LineData4 LineData5 LineData6 linedata7 linedata8 linedata9 linedata10 linedata11FORMAT linedata12StatusM!! Bar Graph!KTitle for the Bar Graph= KX (Horizontal) Axis name=  Y (Vertical) Axis name= Number of Groups with Bars = +Number of BARS per Group= Format = K Name of Bar  Name of Bar Group  Value of BAR  in Group KK @@ @ @@@1@ B+ B= BH B @ @0 @ @ @0 @ "@ "@0 "@ /@ /@0 /@<@<@0<@I@V@c@p@}@@@KBARTitleXaxisYaxis cBarGroups cBarsPerGroupFormatBar#BRGrp#BarData1Bardata2Bardata3bardata4bardata5bardata6bardata7bardata8bardata9 bardata10 bardata11 bardata12StatusoE`o  >>  9?N& Pie ChartTitle of PIE chart=The number of slices=Name of Slice   Value of Slice7 Format = '77@@@B4B@%@@%@@%@@%@ @% @ @% @ +@% +@ :@@% :@@ I@@% I@@ X@@% X@@h@@%h@@x@@%x@@@@%@@@@%@@@@%@@@@%@@ '@7PieTitleNumberOfSlicesSlice# SliceData1 SliceData2 SliceData3 SliceData4 SliceData5 SliceData6 SliceData7 SliceData8 SliceData9 SliceData10 SliceData11 SliceData12 SliceData13 SliceData14 SliceData15 SliceData16FormatStatus\N8G0 Line Graph - NumericLTitle of the LINE Graph=X (Horizontal) Axis label=Y (Vertical) Axis label=The number of ComparativeLINES for graph=L Name of Line# of Data Points for LineX ValueY Value               4  4  4  4  4  4   Format = "  LLL!Data file format: Leading Spaces  Data length  Trailing Spaces GQ@QQ@XQ@._Q@fQB1fQB<pQBIxQBQ@#Q@5 Q@B Q@ Q@# Q@5 Q@B Q@ Q@# Q@5 Q@B Q@ Q@# Q@5 Q@B Q@ Q@# Q@5 Q@B Q@5 Q@B Q@5 Q@B Q@5 Q@B Q@5 Q@B Q@5 Q@B Q@5  Q@B  Q@ "Q@5 #Q@B #Q@L2QL9Q@"BQ@4KQ@JSQ@ LineTitleXLabelYLabelcLinesLine#xValue#yValue# LineData1 LineData2 LineData3 LineData4 LineData5 LineData6 LineData7 LineData8 LineData9 LineData10 LineData11Format LineData12StatusDataFileXFormat1DFormatXFormat2  ?*<0@A060A01061A01060A01[Kbd][Vid] [Lpt]4[Nul][Debug][SysIn]D[SysOut]>D|!#>%\)*T]7u84t<||<<||<t||<a<]<y<<<]<y<<B4.4\444B4<\44<B4.4\444Z]<y<< <|O<y]<y<< D<]<y<< <{DDy<<2ll;4 >h> [KBD][VID]     BWBWBWBW<8087>(=Rg|#A_} 'Ec{.CXm )Ge-Ki@@?2" k " zzxxxzk zzxxxz zqxxxz@B ,zzzzzzzzj((((((((sMissing Arithmetic ProcessorREAL Denormal DetectedREAL Precision Loss=REAL Arithmetic Processor Instruction Illegal or not Emulated= BWBWBWBWBW[VID] [KBD] 061A01Q<!<BWBWCBWȺ=070F01070F01070D01061A01061A01061A01+Press Go to confirm finish, Cancel to deny.+Finishing...... + Please WAIT.....System Error: "Press Go to retry, Finish to exit.Binary. Character.$data file already exists, Overwrite?!Press Go confirm, Cancel to deny.FileNameQuick Graph - VersionPath: []<>Binary. Character.StatusFKeyReturnDataFile.Dat,No such file or not a Quick Graph data file!No such Directory Bad file Specification No such Volume BTOS Error Code = 6File not of correct format - Press any key to continue[sys]QuickGraph.Run[sys]BGP.run[sys]OFISGraphics.Run[sys]BGP.run[sys]OFISGraphics.Run[sys]ArtDesigner.Run8Can't find BGP.Run, OFISGraphics.Run or ArtDesigner.Run.[sys]CMNull.Run[sys]Exec.RunCreate Edit Pie BarLine-ALine-NReturn.dat.Dat.dat.DatReturn[sys]ColorPie.Fm[sys]Pie.FmGraphChgFmtNamesValuesAn entry is required!Valid entries are 1 - 8.Valid entries are 1 - 16.A number is required! Saving... Save CompleteInvalid or missing entry.Invalid or missing entry.DataFileXFormat1DFormatXFormat2.dat.Dat.dat.DatReturn[sys]ColorLine.Fm[sys]Line.FmGraphInFileChgFmtNamesDatPtsxValuesyValuesGraphNamesDatPtsxValuesyValuesNamesDatPtsxValuesyValuesInFile Prev NextxValuesyValuesAn entry is required!Valid entries are 1 - 5.Valid entries are 1 - 12.A Number is required!A Number is required! Saving... Save CompleteInvalid or missing entry!.dat.Dat.dat.DatReturn[sys]ColorBar.Fm[sys]Bar.FmGraphChgFmt BarsGroupsValues Prev NextAn entry is required!Valid entries are 1 - 12.Valid entries are 1 - 5.A Number is required! Saving... Save CompleteInvalid or missing entry.Invalid or missing entry..dat.Dat.dat.DatReturn[sys]ColorLine.Fm[sys]Line.FmGraphChgFmtNamesXLabelYValueGraphNamesXLabelYValueNamesXLabelYValue Prev NextAn entry is required!Valid entries are 1 - 5.Valid entries are 1 - 12.A Number is required! Saving... Save CompleteInvalid or missing entryInvalid or missing entry062A01060A01060A01062F01 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzMandatory fieldInvalid cursor movementField overflowIllegal function keyReserved characterText characters onlyAlphanumeric characters onlyAlphabetic characters onlyNumeric characters onlySign cannot be inside a number No such valueNo help message No list of values for this field Invalid dataYesNo062F01060A01.   Binary CharacterRFlagB060A01060A01060A01Character.062F01062C01[KBD][VID][]}[!Scr]]$$.Tmp}[!Scr][!Scr][scr]<$>BsFilter.tmpVNVFp        ~{}MASTERSERVERLOCAL{}[]{}[]<>[sys]LptConfig.Sys&Press NEXT PAGE or SCROLL UP to continue(Press NEXT PAGE to continue2|0|,|.|  ||&||K1ql+%9C_isQz!    700E01C700E01No CASE Value Matches SelectorString Too Long in COPYSTR'Lstring Too Long in Intrinsic ProcedureSet Element Greater Than 255Unit Version Number Mismatch Illegal PcodeUnsigned Value Out of RangeSigned Value Out of Range!Uninitialized 16 Bit Integer Used Uninitialized 8 Bit Integer Used1REAL Indefinite (uninitialized or previous error)NIL Pointer ReferenceUninitialized PointerInvalid Pointer RangePointer To Disposed VarLong DISPOSE Sizes Unequal@ Set Element Out of Range 0000 0 ? Error: Error Code , Status  Line  In  Of PC =:; SS =, FP =, SP =ߌ3ǭߌ3G062E01VNVN062E011#NAN1#INF1#IND?@@@@ @P@$@@ @(k@  @ @C#@ &@ *焑*@ -@1_0@4@.7@@v:k :@#NJ>@bxA@z&D@n2xH@W ?hK@N@@aQYR@ȥoU@: 'X@fPKе@7pdeAlD> iyB ? d'@Bʚ; TvHrN @zZƤ~o#]xEcd %2.3 4/7/95 6:43pmU4PP(]U tFFF]UP3QPsP+PP(P3QPPPP\P(FP5P(~u!P3QPP+PP( ~t4~t~P3QPP+PP(P3QPQPP\P(]UPPPPP(]U/P(vFP,P(vvvv,P(]U^آڢ^&2ܢv آP,P(]Uv},P(]U^آڢ^&2ܢآP,P(]UFt3P P PPPP(4P^ S^ &2PP3Pv4PP$F~uF3PP(43PP P PPP(PNQvPP+TF3PP PFPF2PP(3PP PP"PP(FP5F~t~u~uF~uF3PP(FuFFF] U4Pvv\FF]U4Pvv v vv<FF] UF΢vv^S^&2Pv ΢PvvP(vv^S^&2Pv ^SPP=P0F>|u 4FFuw]U΢vv^S^&2Pv΢PvvP(vv^S^&2Pv^ Sv PEP0P(^ &]UFP^S^&2PP3PrmP>tv 3PP(3PPP^S^&2PP(3P^&2PPQP$PP(3PPPwP!PP(4FP5P(~t ~t~uي^2P3PPPP(PPP3P2P^SPPP^&"u>t4>u;>uP*P(F9F3;F(&wvvvwLv݃v3PP(FF]UF^ &2F~|6Fv^ &< uFv^ &^^&F@FH;Fu^F&] UP*PP(䢢rP_PP(F2P2PPvFPJP(FFFFFF2FFvvvvvvvv3PPKP(FFFF2F2Fvvvvvvvv3PPKP(FF2HF2FFvvvvvvvv3PPKP(FFvvvƚLP(FvPMP(3PP(PP(PP(P3PPPPP(PP3PP2PP(~̾PFPPPPFPt2PuPPFPPPPFPF2PFPPFPPPPF2Р2+P3PFPF2PP(]Uvv^ S^ &2Pv vvPPoP(]Uvv^S^&2Pv v vvPoP(]U4Pv vvFPZ<P(]UvvPPv^ S^ &2P Ft-FP5P(vvPPvP(]UPPPv^S^&2P ~tPPPvvP(] U PPP3P} ޸P3PPPP(툆l޸PPP3P2PNQPP޸P3PQP3P ;2PNQPFPsF2NQPP|F~t2PFPPP4PFPF2PP3PrmP4PP$PPlP,PP޸PPPlP3P3P 4PPlPP3P޸PPPlP3P3P 4jPPlPPGP޸PPPlP3P3P 40PPlPP_P޸PPPlP3P3P 4PPlPP_P޸PPPlP3P3P 4PPlPPoPPFP6PP+TFPPlPF2PFP޸PPPlP3P3P 4Mww^wzwOwwwVww 8vwwkwzwRwjwY>t>uu4P̢PPFP<P(F4PFP\P(~t̢ F@F=uӚ̢޸P*P(Pvȹ4󥚮޸P*P(Pvȹ46޸P*P(Pvȹ4󥚹޸P*P(Pvȹ4dPPlP6PP4޸PPPlP3PP ޸P*P(ws.޸P*P(]UPPP3PPP(>u$PPP3PQP3PP(>u$PPP3PQP3PP(]UFPPPP3PrmPF~uv P(FPPPP3PrmPF~uv P(PFP1PPP3PrmPF~uv P(vKP8P]U>uP*P(P*P(]U3PQP>u"PPP3PPP( PPP3PPP('PPP3P} PPP3P} >uP3PPPP(P3PPPP(3PPPDP(֢P5P(֢2PPP3P} PPP3P} PPP3P} PPP3P} PPP3P} t֢P5P(֢2=3Pr2663Pr26횮3Pr26s3Pr26횹MNI;B4;wvvvw4wWwvvvÃv7M /;(4!wvvvwMv]U2P^SrmP3PP(PPPWP(ФPPPWP(PPPWP(F~|3PPPWP(@H;FuӸP4P(P2PPWP(2ꤸP4P(P2PPWP(2䢘P4P(^S2PPWP(2^&P4P(P2PPWP(2F~|VP4P(&=P2PPWP(&ख2䈄<@H;Fu]UVu{^&2^SPP|>t2P^SPP^SP^&2P^&^Ssk^&2^SPP|>t2P^SP P^SP^&2P^&ꤸ2P^SwmP6VP( PP 6DŽΤ@= uФPP PP F~|(PP @H;FuVt PP P2@P VtP2PPbP2@P VtP2PPb^S^&2@P VtP2P^SbP2@P VtP2PPbVt PF~|P&<P&ख<2@P VtP&<P@H;FuF~|4&<P&ख<2@P @H;FuҚ]U  PPP3P} RVΤ̤P3PPPP(F<u FPPPXP3PP2P PPhP3PPi F~}PPhPP&=P&ख<2P PP6PPlTPPhPPP2P @H;Ft^PPP3PP2P Is 0󥤸PPP3PP2P Rt+F<tjPP8P(PPBPP} PPHP3P} PPPP3P} PPVP3P} `P3P8P(PPBP3P} PPHP3P} P3P^QP} P3P^QP} ̤]>Τ~gPPPP3P} PPVP3P} PPxP6̤Pi PyPx2PPP(>PyPx2PPP(PyPx2PPP(>Τ~gPPPP3P} PPVP3P} PPxP6̤Pi PyPx2PPP(>PyPx2PPP(PyPx2PPP(. TTTtPPΤHP6̤ P QPBPP3P^QP3P ΤHH;u >̤uF<Τ; 󥤸2PQPFPs~uT T̤D T%#wvvvvރvvTu4PP`P3P3P  P QP Ps P PPPPTTFu>~>~TFt>~>~TD T/-wvvvvރvvԃvփvTuC4FuPPvP3P3P FtPPP3P3P >̤u &Τ T P QP Ps P PΤPlTD T/-wvvvvރvvԃvփvTu4PPP3P3P ~>}6.  9Dd~t<P PP3P3P FPP PP3P3P F<t RVRVPPP3P2PQPBP>F<t̤>Τ}Τ_>F<t̤>Τ}Τ<P3P^QP3P #;>ΤuΤ @@;Τu>̤uΤ F<ΤΤ@@;Τu!>̤ṳΤ F<ΤΤwǃvƒw}vwhvwB v wfvww~wwww^wjwNwmw=ww+wΤHHRu~VtwF~|kFF;F5^=v>獽r74PPP3P3P ण@@Τ̤RHuRthVtaF~|UFस&ख<u74PPP3P3P ण@@Τ̤RHuP*P(VtFP]8U]UF;F~FFFFF]U~^PPPNQ3QPQPجP>ڬt>ڬudž"X PP2PP3PrmP PP$""t!4^PPPFP3PQP "tW>ڬt>ڬu~^PPPNQ3QPQPجP>ڬt>ڬuƆ$GPPPP3PP+T$$u!4^PPPFP3PQP $ui>ڬt>ڬu~&^PPPNQ3QPQPجP>ڬt>ڬuƆ$GPPPP3PP+T$$u!4^PPPFP3PQP $uj>ڬt>ڬu~.^PPPNQ3QPdQPجP>ڬt>ڬuƆ$UPPdPP3PP+T$$u$4^PPPFP3PQP VX6P拄,. dž( P*PP< PEPP<"D PDPSl P*PP< (&G&W  "u6P拄;(| tRdž(^P ( P ( 2PPP((@(= uË6P拄,. 6P P|wdž( PDP&&WRPPPl^P P ( PPEPD2P &G&W  (@(H;u6P拄,.VX6P拄,. dž( P*PP< PEPP<"D PDPSl P*PP< (&G&W  "u6P拄;(| tOdž(^P ( P ( 2PPP((@(= uË6P拄,. 6P P|xdž( PDP&G&WRPPPl^P P ( PPEPD2P &G&W  (@(H;u6P拄,.|.$uZ P"ڬFF]U2P^SrmP3PP(PPPWP( PPPWP(PPPWP(F~}LLPPPWP(6L>L狅PP*P(6L ,.SPPWP(6L拄F~|yN PP*P( &&W &&WSPPWP(N@NH;Fu6L拄,. SPPWP(6L拄F~|CN&G&W  SPPWP(N@NH;FuáL@LH;FtcP4P(P2PPWP(2P4P(P2PPWP(2謸P4P(^S2PPWP(2^&P4P([P2PPWP(2ZP4P(QP2PPWP(2PP4P(P2PPWP(2䢄F~|TLP4P(&LyP2PPWP(&LxL@LH;Fu]Uu{^&2^S9PP|>t2P^SP?P^SP^&2P^&^Ssk^&2^SEPP|>t2P^SPKP^SP^&2P^&2P^SwmP6櫚P(PP L6LDŽL@L= u PP PP F~} LLPP 6L拄,. SP 6L拄F~|5N&G&W  SP N@NH;Fuы6L拄,. SP 6L拄F~|8N&G&W  SP N@NH;FuΡL@LH;Ftt PP tP2PPbP2@P tP2PPbP2@P tP2P^Sb^S^&2@P tP2PZPbZPZ2@P tP2PPPbPPP2@P tP2PPbP2@P t PF~|PLtP&LxP&LxP&Lx2@P L@LH;Fu]U PPPP3P} ޫDPT6P拄,.VXL6LDŽ6LDŽL@L=uܸ^P3PPPP(F:u9FP^P PP3P[PZ2P ^P PP3PQPP2P ^P PP3PP2P ^P P P3PPi F~|tL^P P &L PP&LyP&Lx2P ^P P &L PPLPi L@LH;Fu02 ^P P̬P3PP2P Is謾X 謾p ^P P̬P3PP2P ޫt"F:uPP8P(PPPP} PPP3P} PPPP} PPP3P} PPP3P} PPP3P} PPP3P} P3PPP} P3PPP} P3P8P(PPP3P} PPPP} P3PQP} P3PQP} P3PQP} P3PQP} P3PPP} P3PPP} _>vPPP3P} PPP3P} PPP3P} PPP3P} P3PPP} P3PPP} ^PP2PPP(^PP2P3PP(^PP2P3PP(^P PPPPPi L^P &L P &L 2PPP(^P &L P &L 2PPP(L@L= uVX6P拄,. 6P PF~}L PDP&&WRPPPl^P P &L PPEPD2P PDP&G&WRPPPl^P P &L PPEPD2P &G&W  L@LH;Ft@PPP3P} PPP3P} PPP3P} PPP3P} P3PPP} P3PPP} ^P &P P &P 2PP3PP(^PP2PPP(^PP2P3PP(^PP2PPP(^P PPPTPi PPP3P} PPPP} PPPP} t'PP P3P} PPP3P} ^PP2PPP(^PP2PPP(>~3^P &P P &P 2PPPP(>t>Vt>XtL^P &L P &L 2PPP(^P &L P &L 2PPP(L@L= u6P拄,. 6P PF~}L PDP&&WRPPPlF;F5^=~ ruF:t)^P P &L PPEPD2P PDP&G&WRPPPlF;F5^=~ ruF:t)^P P &L PPEPD2P &G&W  L@LH;Ft>u<^PP2P3PP(^P PPPVPi :^PP2P3PP(^P PPPXPi >u\^P &P P &P 2PP3PP(P3PPP} P3PPP} |."JJt^P P &ܫP62PQPجP^P3PQP3P cZ󥤸2PZQPFPs~uFPT6P拄,.VXڬ /-wvvvvރvvԃvփvu4^PPP3P3P Pn2PQPPs2PPP3PP+T>v>vڬ 97wvvvvރvvԃvփvʃṽvu4^PP2P3P3P v&Px o2PQPPs2PPTP3PP+T6T惼wj6T拄6T;wQ6T惼vP6T拄,. 6T拄F~|&L&G&W  L@LH;Fu6T拄@F6T拄FF;F}FLP P*P(9L <=9T <=>Lu06T ,.6P拄,.* &&W  &&W  L@LH;FtL6T>T狅ڬ 97wvvvvރvvԃvփvʃṽvu4^PP\P3P3P M2PQPPs2PPSlڬ 97wvvvvރvvԃvփvʃṽvu4^PPvP3P3P 2PQPPs2PPSlڬ 97wvvvvރvvԃvփvʃṽvu4^PPP3P3P |.Bb~`}X.pJg'ڬ~t<^P PP3P3P FP ^P PP3P3P F:t ޫޫ;~^P3PQP3P e>~4'ܫ>ܫu;;Pu>~ >uF:'^P P̬P3P2PQPجPF:u>vPF:u>vTF:u >w6P拄;}6P拄⫋6P拄V6P拄,.VF~|&N&G&W N@NH;Fu,F:u >w6P拄;}6P拄䫋6P拄X6P拄,.XF~|&N&G&W N@NH;Fu>>t >t~^P &P P &P 2PP3PP(⫡䫡VX>PtP6P拄,.>>t >t^P &P P &P 2PP3PP(⫡䫡VX;PtP6P拄,.]>u>sP6P拄,.jT_V&G &W=X&G &W|.,$####;Pu(P6P拄,.$P6P拄,.^;TuT T46P拄;Vt> uOV+@VHF~|&L&G &WL@LH;Fu$V&G&W 6P拄;Xt> uOX+@XHF~|&L&G &WL@LH;Fu$X&G&W |.&i$$$x%53|.4&>$G$P$Y$b$b$b$b$b$b$b$b$b$b$b$b$b$ 6P拄V+AA;} V+@@RV@FRFF;F|&FL&G&W  L@LH;FuVHFRFF;F|&FL&G &W LHL@;FuV&G&W LLd>L ~6P拄;R} PDP&&WRPPPl^P P &L PPEPD2P 6P拄;Ru.L;}%L⫋6P拄V &G&W  /^P &L P &L 2PPP(LR6P拄X+AA;} X+@@RX@FRFF;F|&FL&G&W  L@LH;FuXHFRFF;F|&FL&G &W LHL@;FuX&G&W LLd>L ~6P拄;R} PDP&G&WRPPPl^P P &L PPEPD2P 6P拄;Ru.L;}%L䫋6P拄X &G&W  /^P &L P &L 2PPP(LR|.4*&V(53|.M*`&i&r&{&&&&&&&&&&&&&&u{V+ ~r V+⫣RVHFRFF;F|&FL&G &W LHL@;FuV&G &WLLd>L ~6P拄;R|c PDP&&WRPPPl^P P &L PPEPD2P &G&W  /^P &L P &L 2PPP(LRISX+ ~r X+䫣RXHFRFF;F|&FL&G &W LHL@;FuX&G &WLLd>L ~6P拄;R|c PDP&&WRPPPl^P P &L PPEPD2P &G&W  /^P &L P &L 2PPP(LRI|.0-*+53|.I-y*****************y?i`WN;Pu4P6P拄,.T$P6P拄,.;Tu,TVXTl6P拄;Vu>VX6P拄,. > t V+@@RVHFRFF;F|&FL&G &W LHL@;FuV&G&W L>L g PDP&&WRPPPl^P P &L PPEPD2P &G&W  LV&G&W ;PuU6P拄;XuE^P &P P &P 2PP3PP(F:6P拄;Xuy^P &P P &P 2PP3PP(P6P拄,.VX > t X+@@RXHFRFF;F|&FL&G &W LHL@;FuX&G&W L>L h PDP&G&WRPPPl^P P &L PPEPD2P &G&W  LX&G&W |.1-.D./53|.1u-~----------------v{wswwcwNw5wKw> w; w ww#wwwwwww=w]wtwwwww1www'wwޫuuF~}FL&Lxug4^PPP3P3P LP6P拄,.PVXޫLHLt~oݸ^P*P(tFP ]6U]U2P^SrmP3PP(^PP\PWP(PP\PWP(XPP\PWP(ZPP\PWP(XF~|ZZF~|;.NPP\PWP(@H;Fuˡ@H;FuVP4P(PV2P\PWP(V2VP4P(PV2P\PWP(V2VP4P(^SV2P\PWP(V2^&VP4P(3PV2P\PWP(V22VP4P(ePV2P\PWP(V2dVP4P(PV2P\PWP(V2䢘ZF~|VVP4P(&PV2P\PWP(&V2䈄@H;FuXF~|VVP4P(&PV2P\PWP(&V2䈄@H;Fu]Uu{^&2^SPP|\>\t2P^SPP^SP^&2P^&^Ssk^&2^SPP|\>\t2P^SPP^SP^&2P^&2P^SwmP6P(PP 6DŽ@= uPP XPP ZPP XF~|OZF~|0.NPP @H;Fu֡@H;Fut PP tP2PPbP2@P tP2PPbP2@P tP2P^Sb^S^&2@P tP2P2Pb2P22@P tP2PdPbdPd2@P tP2PPbP2@P t PZF~|PtP&P&P&2@P @H;Fut PXF~|PtP&P&P&2@P @H;Fu]U  XZF;F.65N=@=uԡ@= u  PPP3P} jP3PPPP(F:uFPjP PP3P3P22P jP PP3PePd2P jP PıP3PP2P jP PұP3PXPi jP PP3PZPi ZF~|LjP P&PP&P&2P @H;FuXF~|LjP P&PP&P&2P @H;FuZF~|dPNP6dbPPljP P&PPOPN2P @H;FujP PP3PP2P Is 󥤸jP PP3PP2P tF:tzPP"PP} PP(PP} PP0QP} PQ6QP} PP>PP} PP8P(wPP"QP} PP(PP} P3PFPP} P3QFQP} P3PFPP} P3P8P(>Zv9PP0QP} PQ6QP} PP>PP} > jP PPPPi jPP2PPP(jPP2PPP(jPP2PPP(P3PFPP} P3PFPP} mjP PPPPi jPP2PPP(jPP2PPP(jPP2PPP(P3PFPP} P3PFPP} jP PPPPi jP PPPPi jPP2PPP(jPP2PPP(> }> ~P3PFPP} P3PFPP} jPP2PPP(jPP2PPP(jP&P&2PP3PP(jP&P&2PPPP(jP&P&2PPPP(PPHPP} PPNPP} > t >tZF~}jP&P&2PPP(.6捴NF;F5^=~ruF:tYPNP.6PNPPljP P&PPOPN2P @H;Ft3|. 5 tDjP P& P62P`QPPjP3PFQP3P >u> ;Zu2jP&P&2PP3PP( 2`󥤸2P2QPFPs~u %#wvvvvރvvu4jPPTP3P3P d``2P`QP`Ps2P`PXP3PP+T>Xv>X v /-wvvvvރvvԃvփvu4jPPjP3P3P *2P`QP`Ps2P`PZP3PP+T>Zv>Zv /-wvvvvރvvԃvփvu4jPPP3P3P B&Ǯ` 9&Ǧ` jP&P&2PP3PP(2P`QP`Ps2P`P.NPl /-wvvvvރvvԃvփvuQ4jP&P&2PPPP(jPPP3P3P |.#!~}.B;Xu"]~tZwF:t jP&P&2PP3PP(jP&P&2PP3PP(P3PFPP} P3PFPP} >ZwF:t 2>ZwF:t >uP> ~IjP&P&2PP3PP(>t >uR> ~KjP&P&2PP3PP(X;t ]> uK > ~@# / $ |.MXc      ~ ;Zu    i ;Xu    = ;Zu  |.J53|.e       ;Zu    ;Xu   _Z;uX;u  F:& ;Zu  |.s53|.vwwgwwwww w w wwvwwfwwwuwwOw6w!wswBwwwwtitbZF~|VF&u84jPPP3P3P  HutitbXF~|VF&u84jPPP3P3P  Hu$jP*P(tFP]6U]U2P^SrmP3PP(سPPҳPWP(RPPҳPWP(ԳPPҳPWP(ֳPPҳPWP(ԳF~|ZnֳF~|;p .npPPҳPWP(p@pH;Fuˡn@nH;FuֳF~|tnFPPҳPWP(&nPvҳPWP(&nFF%sгP4P(n@nH;FuгP4P(cPг2PҳPWP(г2bгP4P(Pг2PҳPWP(г2гP4P(^Sг2PҳPWP(г2^&гP4P(yPг2PҳPWP(г2xгP4P(Pг2PҳPWP(г2䢢гP4P(ͷPг2PҳPWP(г2̷ԳF~|TnгP4P($&nPг2PҳPWP($&nгn@nH;Fu]Uu{^&2^SPP|ҳ>ҳt2P^SP P^ScP^&2P^&b^Ssk^&2^SPP|ҳ>ҳt2P^SPP^ScP^&2P^&b2P^SwmP6P(]PP n6nDŽPn@n= uRPP ԳPP ֳPP ԳF~|OnֳF~|0p .npPP p@pH;Fu֡n@nH;FuֳF~|jn&n2ppPP &nP&n2P p%s_PP n@nH;Fut PP tP2PbPbbPb2@P tP2PPbP2@P tP2P^Sb^S^&2@P tP2PxPbxPx2@P tP PPbP2@P tP P̷Pb̷P̷2@P t PԳF~|Pnt#P$&nP$&nP$&n2@P n@nH;Fu]U fԳֳdbnpF;F .n6p5=p@p= uԡn@n=uš PPP3P} P3PPPP(F:uFPP P"P3PyPx2P P P.P3PP2P P P:P3PͷP̷2P P PFP3PԳPi P PRP3PֳPi ԳF~|LnP P &nRPP$&nP$&n2P n@nH;FuֳF~}nP P &nRPP&nP&n2P PP6n그PPl`P P &nRPPP2P n@nH;FtfP PP3PP2P Is$ < P PP3PP2P tpF:u >ֳwPP8P(PPNPP} PPTPP} PP\P3P} PPbP3P} PPjP3P} P3PrPP} P3PrPP} P3P8P(PPtP3P} PPTPP} P3PrQP} P3PrQP} P3PrQP} P3PrPP} P3PrPP} b>dPPzP3P} PPP3P} PPP3P} PP2PPP(PP2PPP(P PPPrPi nP &nSP &nR2PPP(n@n= ušֳF~}n PP .r6nPPl` .r6n捴F;F5^=~rt)P P &nRPPP2P n@nH;Fth1PPP3P} PPP3P} PPP3P} P3PrPP} P3PrPP} P &rSP &rR2PP3PP(P PPPtPi PP2PPP(PP2PPP(<PPPP} PPPP} P PPPvPi PP2PPP(PP2PPP(>du\P &rSP &rR2PP3PP(P3PrPP} P3PrPP} >d~3P &rSP &rR2PPPP(>dtnP &nSP &nR2PPP(n@n= ušֳF~}n PP .r6nPPl` .r6n捴F;F5^=~ruF:t)P P &nRPPP2P n@nH;Ftb|. ``tP P &dP6b2PڳQPPP3PrQP3P d1xڳ󥤸2PxQPFPs~u``brtv `%#wvvvvރvv`u4PPP3P3P ڳb`̷ڳb`q2PڳQPڳPsb2PڳPԳP3PP+T`>Գv>Գv` `/-wvvvvރvvԃvփv`u4PPP3P3P 2PڳQPڳPs2PڳPֳP3PP+T`>ֳv>ֳ v` `/-wvvvvރvvԃvփv`u4PPP3P3P b$&rLjڳ`&tǮڳ `2PڳQPڳPs2PڳP .rvPl` `/-wvvvvރvvԃvփv`u4PPP3P3P |.BUt!~}.aW~t<P PP3P3P FPP PP3P3P uF:t bU;MP3PrQP3P 4P PP3P2PQPP >ֳwF:tbrd>ֳwF:tbtd>ֳwF:tbvd>d~P>buIP &rSP &rR2PP3PP(dv>rtrU>d~R>buKP &rSP &rR2PP3PP(dvԳ;rtr>duKd>d~@b#dr/dt$dv|.P[fddddddbԳ;rurdrdֳ;tutdtdlֳ;vu@P &rSP &rR2PP3PP(vdvd|.q 53|.~dvddd|dsdjb)Գ;rurtdbrdֳ;tutvbdtdԳ;rukֳ;vubdF:PP2P3PP(P &rSP &rR2PP3PP(bUֳ;vuDP &rSP &rR2PP3PP(rvdvd|.&H!~}.EvVwNww>w_ww&wO w w w/wwww0wPwgw~wwwwwwwXwwFtitbԳF~|VFn$&nu84PP*P3P3P nrndbnHnutitbֳF~|VFp&pu84PPDP3P3P ptpdbpHpuP*P(tFP]6U]U<,t .:t^ &GF&GFv FPFPF ue~uF:FwSF*F1F~uF:Fw2F*F1FFFFNNN8Fr8Nsw{^ Sv^ &GFFFF:Fs,FFF:Fw^ v^F&$F&N&ONtfs ފFv FPFPvFP\Fv FPFP^GPFPFFNp^&G:3r:4ws ފFv FPFPvFP\Fv FPFP^&wFPlFF@FF u9FFFtF ^ &GF^ &GF^ &G^ S] U^&ux^&GF&GF&ON&GF&GF&GFNF:FsFFF8Fw^v^F&N&ONVRPFPPQ\FFPFPFPPFPlF u;FtFNF@FFFnFtS^&G]UQ^S^Svv{F^SP^Sv^ S^S%]UQ^S^Svv{F^SP^ SF P^SL ]UQ^S^ Svv{F^SPp ] U^&G FFF;Fs^SPp F uF]UQ^S^ Sv v{F^SPv]UQ^S^Svv {F^SP^Sv ]U^&G FFF;Fst^&G FF&|^AFFv&t^&FN;u.^ S^SQu^&G t &G;FuFF넸] U FF$F^&*ɈN~,Nu+JVu~.Nu+JV~u FFFFFN*ɈNF:FsFF{F:FsFF{F*FFFsFFFu!~tFrFF^ &0FD~uZ^&<+t<-uL~tFr%Fȴ^&^ &F^ &0:^&^ &^ &G0F ^ F8vNFY~t=FF^ &,FF^Np^ yN^YFs,~u~u ^&FtFF^&F^&ȊN:r'^ &<,t<.uF^ &FuʋF]U6^&ux ~uyF^&G FF^&GF&Gv&F^&O&LN&ONF\^&Gu+FPFPFPPFPP((^&G &G ^0NFFFȊN:rt< tFFuۊFrcNt+JVN+ʋu+JVu F+FFFv\NN^&Guz& ts^&G t4FFP&w ^P^&w \PFP&w F9^&O S^_^&t 0\^&G FF\PFP^Sv^ S^SP]U F^&ux4~uy)F^&G ^F&8u &8Gu^&GF&Gv&F^&G&DF&GF荎VQP^ Sv FP^SPF uks^&Gt,^&G &G vP&D_^F&u^&O t$VN򤍆PvVP^S^&wVPvPUĞ&0Ğ&@u ~N] U~.u+JVt2~:Nu+JVuFFF^^&?tdF@NFN&^;uQP~WStNF;v.^PR@+QFPPFPPF tpF^&FNFNFsFNFN^Sv^Sv^ Sv^&SL^&FNFN!z]U~ t{~ދNt+JVuFFFF9Fv8^&:t*0rJ9wEF ^v&0FFN+N^v8t+JVt|F^&^&]U^&G &G PF^FF&|^^FFFFN&V^&8GsNNF:Fv}FF@FH^&FFF~uF%FF8Ft^&G:FsF8Fu]F^&FF@FH^&FNF;r^vQ^ SPF~U ^ &G &G PF^FF&t^ ^FF&NFF:FvFF@F^&FF܋FFNFN؎]U^&"^ &^&"O^&] UF#^ &#N^ &O]ULFP,PP(~u ~uFssBޣލFPPP(sF^&G FF;Fr.^&G FFذ&8u&8Gt v&D &D ^&gȋ^FFFFw^&H?Fu^&G"&W "ѱ&W "ѱ´&G "±&_ "ڱ^&"W´ޠs,PPPQRPQRPQdP(.PPQQRPPQdP(]FUFt~ uFt<,t .:tޣޣN ތދN Fuރ>t<uދ6&ހ u<ui޷Fu(,t.uFFt@@ރw4F$-<-t<+u >t>u@;vc>t2!>t)ދ6&޷Fu и] UFF9Fw^ &N^&F:td>u+JVt&F+>Fu+JVt&FF:FtF Fs] UQCs@GF~uHHQIQJQPKPlP(CsI߰Ks~tI:LvcHPIPIPJQL*ȵQLP(M8Lw]UI:LsFFN:LvGG~ t~ uN:Lr[GrT~ uI:LwEFr>FGHPLPJPPtP(>upR<t0u P mCsLƇ # HPLPJP6޸PlP(~ u I:Lt~ uN:LuEs ^S=~ u LLLtȢO LOFGF~ u[HPIPJPPKPP(߰KOuIIAL:NuLLXIޠNȊ:rPHPQJPPtP(>t$tȢOI:OvOOMu]UQ~ t[=SuI:Lv^S=HPIPJPPtP(t>Ru< t>RuQNȊL:vDCs ߢ$HPLPJPPtP(<+t<-uLI*ȈNFRuUQ<+t<-uJtUI:LuU>RuNCs ؊ߢ"HPIPJPPtP(<+t<-u P |HPLPLPJQN*ɵQLP(Cs?N*LFNFF:r^˷S^XFuB]UQuCsIߍnK)HPIPJPnPKPP(KȊ:r,nzu+JuuǠr Rt ފQ@uTt >u!Q":t ":u P +>u P Q^&G^&GA]UFS.U[g>?uL1uTuCsIߍlK)HPIPJPlPKPP(KȊ:r,l|u+JuuǠs P .^&G^&GA]U^.  4QlP ]U>SunCrYHPPPJPPtP(:uuSNȊL:wCs ߢ$HPLPJPPtP(<+tO<-uWIL8Is)HQȴPJPPtP(>ut;<+t<-u6L8Is'HQȴPLPJPPLP(F0ވF~HPLPJPFPߊLtTL<+t<-uGL8Is3ȴLߓߊHQSJP#PPlP(LƇ0@#~HPLPJPFPPP(PLM?>]UQ>Su-^ &?r^&^ &F3^&K*F,S<t<u$^ &?r&KȈF^ &;s&] US.>?uK*F,PL*I*EL*P^&^&@0Es^.&9GuLN*LL*I^&]UQF tCv ~^YFF HN;r!^&<,t<.u ^v&Fuԋ] UQQ^S^Svv{F^SP^ S^Sf]UQQ4P(FP5F u ~u޸]UF^&uxFt ^&O I;syoF^&G FF^&G &G v&dȋ^FFF^&Gt&^&tF^Sv^SFFs^&GH&Gv&I^&G&DJ&GK&GF߹^v&t 0ߊKFF%ĢTtD^&G^&GFKȊ^:rt < t ^&GFuظT$u@Cs;߹^&G &G ^0IߊKFFs:^&Gt^GPPP/ ޣދފ޴FHPIPJPF% FPKP\P(ILKND>?@=N@ ɱuAEN ɱuANGFFP7P(F$u@<^& u&O @^&G u&O ^&G $S&O "ʈRu&"W V^ &FFPFPvA>AtY S.u{>?uw8Du`^&O NN*ʈPʈLNs~tF?FLF(LL>DuNȴ+FLOOLFLFFDrQu9^&G#t tv&|u ^S8^Sv(FsS.o D,:QuRP Q8-t<uC>?uPP^SFL:Pu?DGhLG\.:QuE>?u+L:Pu P 4LOMF!PP^S/:Qu.>?uPP^SFPLG0:Qu->?uDPȢMFPP^SrQ<t782t181t+sIQ<t82u>V"t1:Qu,>Vu%>?uPPFCPP7QQts+>Qu$>VDu<Т<WP8P(:Qu>?u RP Qt ^SQRu P z>Ru,Q<+t<-u!>?u ^S TP G>?uP^S0P^S D>=u'>Qw= P P^S,:QuRu P =rQ<t782t181t+s6Q<t82u>V"t1:Qu>VuPPFsQQts+>Qu$>VDu<Т<WP8P(Q8-t<uPP^SF.:Qu+L:Nu P LOMF/:QuPP^SF0:QuDNȢMFQt ^SgQRu P M>RuQ<+t<-u ^S .P^S>=u)>Qw= P P^S,:Qu!=rRu P =Q<t8-ulFI:Lr7FsEr P Q^&G^&GAkLGQtMPPC.:QuPP^S'/:QuILGF 0:QuPP^SrQ<t@82t:81t4r/Q<t#82u>V"t1:Qt>VtPQQts*>Qu#>VDu<Т<WP8P(GQt ^S.QRu P P^SUW 8Bt8u P Cs@QLQ#s]>SuVN:LuFs*N:LuP>SuIFsF.HPLPJP6QPlP(>FEs ^S=N:LuLCs.>@u'^&G &G I^9KHPIPJPPKPP(^Sv뚀>^&G^&GCr.FKȊ^:rPt < t ^&GFu2IFIKȊ^:rt < t ^&GFuԠs&HPIPJPF%ފ޵ HPIPJPF%PKP\P(HPPPDP(]UFPFPF uq~ r-FPvv ^SvRPPF<F t=>FF9Fv.NQNQN Q^PtF uFʸ] UFPFPF u(~ r~ sUPPFP/F um^&G :Fw\F^X ^F&G^ &^&G(FPFPFPGtF uF^ &F^&] U~u8vv vlPvF uvv vlPvF] U&>u+Jd&>u+Jf>du&>u+Jd>fu&>u+Jfh]UQQhr~ދNt+JVt_^v&F&8t%&:Ft86dF&8t &8uF$6fF&8t &8uF|F~N F ^&]U^&sFF FFFF;FsFv~N^YF^&]UQFFN ;sNv~N^YN F;v+^8F^&]UQF FN;sNv~N^YF^&]U ߋF^&G FF&GtMv&D &D ^&gȋ^FF&Ot^FFjP rjP ]U"F ^ &G FF^ &G &G v&dȋ^ FF^ &GF&Gv&F^ &G&DF&GF&GF&G u&O ^&G $R^&GF&GFF%ĈFt^&G^&GFPPPDP(Fs:^&Gt^GPPP/ ޣދފ޴FFPFPFPF% FPFP\P(FFF=kFsFFP5F ts>s7r0F^߷t":u P  4P(FNr=s=F:Ft:F;~u8^&G#t tv&|u ^߷^ Sv ~u<Т<WP8P(^߷":uF:FuF%F ^߷":u~uFN^߷tNu^&Nߵ^&O^&GF^&GF^&GF^&GF|RtF:,u=e^߷RtP LFF^ S^&wFPPvᚢFx r,PPPPP؍QPEP(1>tl&?u, ᾛ9򥾻>9js 4P(sPPPފ PPPPP\FPk*1PP^GPQFjx r s1]UxPzPP(x s s0LPPlP/P(PPpP/P(l&G"ȢrGO l&O &p&Tl&G"ȢrF&O|~lO l&O &|tvl&G#s>x r'QQ6๓QP؍QPF<P(16tFl&?uT&Gl&Gࡎ 0F60F]UF>t=t P , ]U~u] vFP,F uqv~N^Y~u ЉFVTsjjj ^SvNF,jjFP/F uF^&G Z&W F&GF^SvFv ,UFPFP"V^&?{t@&?[uT6:t. FPQSVSVQ|^[Y=Xt ],N~] t&<u>uPdP(~u<&G& GujF P,F u|F&_^ F &FF #t+ȉNF V F V )NF &GZ&WF^ &F FN;s^ S+P F uHF^ &GF^ &GFF9Fr$^ X^F&^&GFuԸ>u>uPdP(&_^F&G;F s FP^Sv ؎F@P>u>uPdP(&_^F&G;Fs 2v^@^&O&&GUr &_S^SS]^&v ^ &Gv&L@^ &;vS&O+P0F ud^&O&7^ &y^Y^&G^ &w&^ &G^&^&G@^&G^ &Gv&D@^ &G ^&v ^&&G^ &;Gthj ^ &G@v&L^ &;vS&wF+PiF u^^&O&7^ &y^Y^&G^ &w&^&G@v&D^&G^ &G@v&D^ &G 9FsF^&&+GFSv+FF9Fw^SF+FPF%FPvFPF=t5v(^&%FN;tFPQvP( FF^&F^&OANFF;Fs"^&@&PFVFFFFFFF;FwFFF;Fs;^&@&PFVF9Fv9Fw~t FFFFF뽋v^&@&PFVFN;s7N0^~9^YFFvFV^&@&PFFFF@F^&GFF;Fs@^&@&PFV~uFFvFV^&@&PF^&+FFN@;vjvFPF=tCv(vF#^;Vu&#+ЉVFNPQjFLNFȃ#ʉN^QN+#QF uFP+F%Y+ȉNFF^&FU^SP u].!Ks].]U^SP u].)Ks].%]U^S!P u].1Ks].-]U^S#P u].9Ks].5]U^S%P u].AKs].=]U^ S)P u].IKs].E] U^ S*P u].QKs].M]U^S7P u].YKs].U]U^ S8P u].aKs].]] U].yU].}U].U].U].U].^&G :tSv^ S^Sg<<^SFPGF u'^Sv^ S^Sg<F^&G F^ &&W^&^&O :xv^&z2Vnjޱ;u$:u0Br)2PhPjRPQhrmRPQ$F u(^&G :Nu LFF^S<u ^&G s<&G s4~u ^&"^&G ^G ^ &Z&W^&}^&G&;Gr$Sv^ S^S9F uX^&?uL^&G&O+;FsFF^&^&FFv&t^^ &Z&W^F&G FFN F;vP~uJ^S+QFPFP<F t tu.^ v8vNFYFF릋F^&F^&G :tRS^ Sv ^S<FsmVnjޱ;u$:uH^SF9^SFPCF u'^S^ Sv ^S<F^&G F ^&^&O :xv ^&Vnjޱ;u$:u7r0r)PmPjRPQhwmRPQ$F u(^&G :cu PFF^S<u FFN F;w~t^&W&;WrS^ R+QFPFT^&G&+GFV N+;sV^&FF^ v0~&}^9N^Y^F&GFFcF^&FU^&G :xv ]U^&G :xv ^&G ]U^&]U^&]U]U^& t^&G :gu &G& u]UQF =rmt =tmt"6NrmP'LNN^&G ]UQF =wmt =amt!6cv 'PRc^&G ]U^&G :ct ^&PSP(]UQ^&^ &&W^&G :Nt LS)]U^&G :cuPSv*$ ]U]X[YZSPTt UtcRQRQSTU[YZTU+Zr tH]j&j^S/ u ^& +ZrHU3 &L&;Wt]UT#tH3&GtH]^ &G :tS^S2^ SFPGF u^ S^SF^ &O UQQ\P\pjP uJF6\PT u8r=u0VP u!F6\PT u^=t=!t3]^ &G :uSvv<^ &G :tWSvvln|^ &G ^ SvvlFNs=u8^ SFP~u#^ &G ^ &dt@Fsg률^ &G F,^ &G :xr^ &G :gtw&G 9Fu9Fu^ &G&WFV^ &G&W;Vu;Fw3&G^ &O^ &O^ &O&W;Vu;Ns+^ &r &G&;Gwe^ &G &W"N~;u;wL&wщFVN;u;s&+O &"N։~؋F^ &G-sStF u^ &G-sG<PFPF^ &G-FVFVF%Ff^ &G^ &G^ &GNV^ &O &W"^ SPFPFPtF u4F^ &G^ &G :|t :$t^ Sj|F t^ &G&G &W"FV&9Wu&9Gw&G&W9Fu9Fu^ &G&WFV^ &G&9G*s&G*^ &FF^ &G@1&@FތFF^ FV&9W"u&9G v&G*H1Fܺ&G &W"N~;u;r_F&+O &"N։~؋F։F&O,r&9G*sSllF tF^ &G^ &G*&;G(uF&G(F^ &G* ^ F&9G*s&G*^ F&9G(v&G(Fr^ Sj$F u^ SllF uy^ &G ts&w8&SP^ &w"&w G<P^ &w: F t@^ &G-^ &G &W"&G4&W6^ &G&G.^ &F&G0Z&W2~Yt^ &G@1&W^ &w&@F&Z&W^ &GN^ &O^ &OF~+&G &"^ &G&G(^ &G&G*^ &G,^ &Yti&w8&Sh^ &w"&w FP#Fu^ &?^ &G,(~t^ &G&GF^ &G :t ^&FF^&G &W"&O*&;Wu&;GrI1&G^&G*1 uSj$F u`^&G@1&@FF^&G*1&G &W"FV&w8^SQRPFP#FtK uX^&G*1V+^0^~&}*9^Y^&G*H13^SjF u/v&|*&L+^9 ^&G*&G^&G,^ &G :uS^Sz<O^ &G :t S^S<6^ &dug|^ &G ^ S^SF^ &G FU^&G :xr^&G :|t:$u^&G&G &W"^&&Wc^&G :guX&r&G&;Gv &G&W^&G&G &W"^&&W^&G s7&G s/^&/&_!^&G :u^&&G ]^&^ &&W^&G :gt ^StF uk^&G;s]@1V&G&G &"F~&w8&XSv^&pWPG<P^&w:F t@^&G-F^&GFrF@1V^&G&G &W"FV&G-sG<PFPF^&G-3^&w8v&XSv^&pvvFP#FNVF׉NV~u t%^&9Wu&9Or&O&WFF t ^&Gv^&@F&Z&W^&GFV^&G &W"^&G&W;Vu;FYvF&GF^&G8^&G^&G&W&+G &W"FVF&G^&uFF^&G :t SvW|6^&dug|^&G ^SvW|F^&G F^&G :|t:$t :t^&G&G &W"FV&9Wu&9Gw&G&W^&G&9G*s&G*FP&t@"FP$F u^&uSllF t^&w8&S^&w&w"&w G<P^&w: F t@^&G-^&G &W"&G4&W6^&G&G.^&F&G0Z&W2^Sv$F Yu,^&w8jGPj ^&G :gu ^&G :|t@&& tA"F&G :uC&dug ^&du|&G ^&G-sS&G :gu0G<PFP1^&G :|t:gt:$t ^G<PFPFF^&w:FP u ~u~uߊFs^&w8jGPj FF^&w8 F^&w:)F^&G F u F uFF :r10^&Fr^&0FFF 10^v&F@ vvFP,F^SvhF^&:F@F^Pvj]FF^&:F@F^Pvj6FF(FFF^SvRQPNQNQPF u$F t^ SNQvNQPjlF~uVFF^SrPvFPF u2~t,^SsPvFPF u~tF;Fv4N+NA^v0^ ~9^YFF+F@^&^&<{t<[tF FF^&^&?{uFStPvFPF uoF sdt_NAv~^YF@^&^v&48u ^& ^SPvFPF u ~uFHN;v9@N+^vp^~&=9^YF@N+^&CFPdF u^&O@wA^~&=9^Y^&G@^&^v&48^&v&4^P^&wg&we^&^v&48^&"^vFF^&F^&G^vNFY^&Gw^ &Gj^&GyF^&^vNFYFPdF uQ^&G@^&^&O@wA^^Y^&Ƈ^&Ƈ^PF uN^ GkP^ &PFPFPjF u#FPvhjj^ShPj Ⱦ^&G F =wmt =amt^SvFPFPjFF uݍFPvjjFPQ؍GPQF!t=u~^&Gi^GePF9FvF^kvN@YF^&^S^Sv^SFPF tF~u;^SvRPPRPF=u^v&xF^&Gi뾃~t<džCFEGv@CPEP}FF7^SFPvRQjv Pv$F u $^&G fs ^&G8^&G8Fvj^ Sj7F t^&F^GkPP^&PFPF uFt @^&F^& ^ &Ow~&=^ 9^NOY^ &G^&F t$@^wk~ ^Y^ vx~ B^&G :$t |^&G ^SFPFPPF u^SrF u}^&FFvN^S^SvmF tJ^G8P^SvRPjhmmF u"^&w8F t^&w8 FFU^&G :$t ~v F^&Gj]Uv&D ~&] ~&] Y]^ &dtZSFP4^& uV^ &du&G-sG<P^S^&^ Shwmvv ^& u|^ &G ^&^ &Gd<tN<uSh|^& uH^ SFP4^& u/^ Shrmvv ^& ug^ &G ^&U].]U#U$VWQ^SY_^F^OGG w 3GGG؉GGGFG F GFGFGFGFGPS]UU^ SG PPFP[#uMG~&wTr/^ F%;u^ ^ FF;tX F ;FuX] ^&^SP$F t^&G t~&w8&SP^&w"&w G<P^&w: F t@^&G-^&G &W"&G4&W6^&G&G.^&F&G0Z&W2~Yt^&GFu^&G@1V&G&G &W"F^&Gv^&@F&Z&Wv^&@&G^&G*^&G(^&G^&G, ^&G :|t :$t F^&G-rG<PFPF^&G-^&G0FF^F&G4&W6Ft.H^&O.+N^v0^9^Y^&O.N^F&)G.^v^&G0Z&W2F^&.uF tuSvF tF^&G0FF^&w8^S^&w.&w6&w4FP$FFt.H^&O.+N^v0^9^Y^&O.N^F&G4&W6^F&)G.^v^&G0Z&W2F t ^&.u%FsFr^ShF u^&G :|t :$t ^&G&WFV&O&O &"N~;u;wN~Fs FF%&u =F uFFPF tF= r= rF= t = t= tTs*v^Sv^Sv^Sv ^SvvZETs'^Sv^Sv^Sv ^Svv*jvv^Sv^Sv^Sv ^Sv\F hFPjF up~tjETs-hv^Sv^Sv^Sv ^Sv\(v^Sv^Sv^Sv ^SvF~uCF!>tF tt !tF*~ v~v~v ~vv~ڋNFv~ՋNF~ r'vRPQRPQ PjPjF~tFF9FvJtFF t Ⱦ ~F t ȍvڿ ~u~tI~ r)v PvPvRPQRPQFv PP4F u,FPF umFڈF۰F܈F݋FFދF؉FF FFFFFFFFFFFFFFF FFFFFFFPF u,v؍FPTF u^&G ;F t^&GF~ uN~uNP~uN F Pj@F t˸PPF t˃> u>s> v%%>uf>t_FF~uy>urjvP,F u)=8t =9t=9uFHP@X`F믂>u'>t&&>&u =F ucFPdF u^&G^&uvjP/>u :Fu vQhFFvjhF ue>t[>uv^ S^S>uv^ S^SF u#>uv^ S^S F u &%s6^&uFFFPPNQjRQPRQP5^&u$$ "^&7&w&w&w&wtF^&tFF<wH FFߠ%sRPQ^SjRPQRPQ5F^ F&@FuFF<wF FFߠ%sRPQ^SjRPQRPQ5F^ F&@FuFF<w< FFߠ%sRPQ^SjRPQRPQ5Fİ FuF Fߠ%sRPQ^SjRPQRPQ5FİFF<w: FFߠ%sRPQ^SjRPQRPQ5Fİ FuFFߠ%sRPQ^SjRPQRPQ5Fİ̊F Fߠ%sRPQ^SjRPQRPQ5F^ &GȊF Fߠ%sRPQ^SjRPQRPQ5F^ &GȊF Fߠ%sRPQ^SjRPQRPQ5F^ &GȊF Fߠ%s RPSvVQRPSRPS5F^ &GȊF Fߠ%sRPQ^SjRPQRPQ5F^ &GȊF Fߠ%sRPQ^SjRPQRPQ5F^ &GȊF Fߠ%sRPQ^SjRPQRPQ5F^ &GȊFFߠ%sRPQ^SjRPQRPQ5F^ &Ƞ%sRPQ^SjRPQRPQ5FhjP/F uF& &%s#FRPQ^SjRPQRPQ5^&8GtB>9t&u"F݊F<wаFu^&^ 0~޵FFF<wB޴PNݵBFuFF<wNЋBFu4^&u,FF<wаFuj^&^ 0~޵FFF<wB޴P@NݵBFuFF<w:ЋBFu FF<wаFu>9u,FF<wаFu>8ud^&u\~v FFF<wB޴P{NݵBFuFF<w>ЋBFu'FF<wаFu FPF u vv~tvFFFNNF NFF F?F*F r> u>rrsv RPQRPQFPjFPjF uH~u~~vNFv FPjRPQRPQRPQF uFPF uv^SvȆ^&^&G :t W^&G<t':t!&OFPsFr^&G^&u2F ^&~ t^ &?utPPP^ Sv _>,u!,FPF u ~ r,* (ujj(P/F t^&GF(&8G wF(X ^Fv&DF&GF&GF&GF^&GF&GF&GF&GF&G F&8G uANsNQPPDF t FF^&#tF ;Fv F&O#F ;Fw FrF9F w~^ &FF^&O&@^&G^&w6 FA:r 33&eg:t :.xt$Ch^Y tt &^&] ]U^&G :xw):NuL&G t&G uF&G &G 3  ]U^&G ~eF =wmtAN=smt=pmu'^S^Sv^Svv ^SvL0F =rmt=tmuFrmF =wmt =mmt=amuFmm iFP^Sv^SvvF=t=uB^S^Sv^Svv ^SvLFt !t= uFFa~uv~mmuo^Sv^Sv^&w&&w$F=u^Sv^SvjhF~u FP^Sv^SvvFFF t^G:P(F uM^&w:FP uF FuF^&G8#;u8< :uhj:P/F tf:& r 9FvFF1F1F1F;s ^Sh %F^&GZ&WvF&MX&E&uF+ƹ1&EFF&Z&U&E$<&E&FYs߸&G&G<~ tmuv^S^GPDvj^GPjFF usF =rmt=tmug^&G &G 5^&G&G~ mmu&O FV|^&G FF^Svv4F t ^SPmU2Vnjޱ;u$:u ^&G(h~F =rmt =tmt ^&G ]^&^ &&W^&G :t WFP5F uC~uF1~uF$^G^ &Z&W^&F^&GFUz~F =amt=wmt=rmt=tmt =mmt&^&G F^&Z&WF^&G]U^&^&G :t ^&GN ^&]U^&^ &&W^&G :t ]^ &GF&Z&W&G&O&G &G &O&G &W"&G(&G*&G,&G-&G.&G4&W6&O0&2<(Y~ rmug^ &G &Gd&G&G |^ &G &Gd&G&G ^ SvvlF^ &O Uv&D j|F~uv&<tF~to~tEv&<u<^&?t'~tv &* v &*&4v &^&~tv &rjj8P/<>< u : 8u{8F F^ &?TNt4bF FF&GF^ &O~F u+JVu4*^ &GFv^&FF^&Z&W U|>:t: ؚTh縄htʁ Žм00~&Z.Z+J@DFH縐`TVX\d3^b`i>6t6|JUv<uv4Dsv4DvPDhv4D v4L$v4 L4"ȋv4|u@"ȋv4|u@"svP&,vP P,vPuDv4Dv[]UFPU?HPU7]U]U]UF؋v F ~Ns] U P4^ &^&:uBVFt?^ &2F~r.Fv^ &v^&:tF F@FH;Fuך-4F]U P4^ S^S4F-4F]U P4^ &^&:sBV^&2FFt ^ &2FFF~rGFv^ &v^&:tv^ &v^&:sBV F@FH;Fu-4F]U P4^S^ S4F-4F]UP4vv:uANFt:v2F~r*Fvvvv:tF F@FH;Fuۚ-4F]UP4vv4F-4F]UP4vv:sANv2FFt v2FFF~r?Fvvvv:tvvvv:sAN F@FH;Fuƚ-4F]UP4vv"4F-4F]UP4^ &2F ;F~[L^S^ &2@^ Sv ^ &2F ^ &-4] U P4FFH^ &2;v[L^ &2+F^ &FF^ S^ ^S^ &2+F@P-4] UP4^&2F;F ^&2@;F}[L^^SFF^S^&2+F@P^S^^Sv^&2F^&-4]UP4F;F ~[LFF~r%FvN^ &^^&F@FH;Fu^F&-4] UP4F;F ~.L^Sv PFF~r(FvN^ &NI^&F@FH;Fuݚ-4] U P4FFFF FF;FrcFFFF~r@N7n3ɉNNNNN< t6ÚE<Ú<Ú?<U]Œ؎;U]Œ؎XYQP(U]XYQPU]u!3 & t@D&]tЩt7ÀtA2x s َ;u&;Ў؎ˀu*3 u$tu3& utЩt u Ў؎š53U]P..>PXPX.t,SQVRWU%.؀&t 2]_Z^Y[qtX..XU]PPP&=t@2=s6=t=t3>PXPX 3>PXPX>tURVWSPQ3磲硴P$&3یȎ26^Ë> YX[_^Z]U]U]SQWV. t3ێË>^_Y[" k  P裬裮裰XP裲衮衰XU]+uGGo t+،ÎÍ>(tP4 PWQPURR tPrY_X@Ptt"P5>= 5.55.=XUP /X]SWPQR<P3=r<ZYX_ tރ \6 6[Sw t6O46 6[UFŎ]E@ˠЊ& tU]t5tt*t@ t?<@tH<UVPRLuv NNv ,2&v 6`P~ OO~ W&-2P$aZX^]UVPRLuv NNv ,2\&v 6`P~ OO~ W&-2\P$aZX^]UVPRLuv NNv ,=&v 6`P~ OO~ W&-=P$aZX^]6&RUVWPSQRӋ6_6GMr4Ŋ݃60‹<3Ћ‹G$3Ћ‹GG5GG ƋՋ~݃t6S[Վݎŋ6 ;>u}=>D\~t6duYՎݎŋ6 ;>u}=6Dt>Dtt6p6 ;6uU6 6p ЎyZY[X_^]6&:$U%+6&:U6&:U6& :U6& :U6&:U6&5UT 6&5=U b6&4nU" lrD6&4 PU N:&6&4$2U 06&4,U 6&44U 6&4<U 6& 9U^ 6&"9=U |6&$8U, ^6&&8 jU hT@6&(8$LU J0"6&*8,.U , 6&,84U 6&.8<U 6&0;U 6&2;=Ua 6&47U 6&67=U e6&85wUg6&:5eUU6&<5SU|C6&>7,=U-6&@7<=%U6 ;6u6ЎD]ˌЎˌЎ6 ;>u}=>DËك6ك66 ;6u6Ëك6ك6uzuqt uu666u%uЎ؋6 ;6u)6À@ú'ú!3һ3҇3һ U]3һE D 2u 2T MD'>D;u2Ê,u þF2>Du ÀR^å t2x뺋Ƌ߹w똋딋ځu3ۓtt 3Ëځu'+|=C~/URu2y݋M]} xxURQ2֜譋Эȭح3 tp| tыˋ3wtSr)|3 tĊ╊֊͊ߊ2wt(Fu?t ΋?tXx%L\|ss@+L\|s3XPËځu'xU2R@P"3ۋˋ t  tU tU t ڃD t t ڃX P3ɋ tU t D tU t D t t X P3ۋ t eʃD tU t ʃD tU t ʃD t ʃՁ?X P3RD t eڃD tU t ڃDU t ڃQ3ɋD t eDU t DeY]ыˋX t^wËځu'2URVW_^譋ȭحЭ襥3r EU>JW@W<W8r";Tu ;Du;\u; s 2Y[_^<63;sb u;wARS3 tP tꡒ t[+[]蕒sOsO+‹ɰ ut ًʋ3F>DX]vuNJ݊Ί򗕊Ԋ2ufNtS ͊ tD rrwr't"XPr rXPr sF3Ջʊr^s Š t rrwr,t'XPr rXPr3sF32H tA rrwr,t'XPr rXPr3sFD藉M]EX]䀈e @}~uE Ë6F e Àrr"Re r  Āuje À Ātí$ȆČՎ݋6;6u 6ʀ2Ō؎6;6uh 6Ë>Ō؎6;6uB 6׋ ;>u}= ;6uS6íáŌێËáŌێËË6 ;>u}=E$*ȋEM yDp=@} =~Dy @D D 3ҊD e 3ۊ\ ] 62xz yߋD;E|NS2ut:r2w7@iuEEDD92A+t$xtxt2t t6 ;6u6Ë6D $עË6D $3ۋӊ\ U6.R縄z&7%]UVWRSF =$u)P uF P3PPPP؋F^1F PPP(F^^ F P PP([Z_^]UF^ GFG]UQ~ u1^&?tqPPF t t<t7:^&π~ u ^&?t(Pv F ttu F~ u ^&?t&]UQ2P,F tP t H؀ u顰9F vF ~N 飰F ]U^ GFĿWt4~Wwv +,F t<= u^ GG$~ u^ G"G%^ GGFG F ^ G"]UQQ^ ĿW~Wv G"P<F t);u^ "uO%F^ GGG]UQQ飰^SFP\F ttu)>tZF >rF< t<t<t 4뷋F6vP,F u"F<t<t< t鈇< uƸ]UQ^tĿW^S\1>u%;w^ 銇^]U^ G!G%sG"5^ uPv ^S,^ G rPv ^S,^ u);u ĿW,F t^ GG^FF ;Fw^ PFPF t?;u$^ G$s ~u O%^ G$F^ $^ GGFG>~ u^ G$FG"&F< t^v&Ft^ G$NO"]UQPF]UQQP^Sv FPZ<F tP]UQP PF tP]UQQ^ G!G$uiGFĿWt4~Wwv ,^ G t%= uG$GG ^ GG^ WF ^ G"G;G uKG$E^ ĿW~Wv G"PZ<^ G t tu ^ GGG]U^G!G$8GtN^tE^G s;^ĿW P^G t tu ^GGG]U^G!8GtF~+us^ğ^F&G F:t:$t :t:uF Q^ĿWFP4F u^ĿWPPFPZ<FFF~1uF F ~u^ĿWvF~0u~u^ĿWvFF t#tu ^GGFG ^G$]U]>Ju!܋_ݍFJGL_NPU]F;JrJtoo smallunsigneddivide by zeroREALlong integermath overflowSIN or COSargumentrangeEXPSQRTofLNTRUNC/ROUNDTANARCSIN or ARCCOS> 1.0negativetopowermath underflowstackno room inis invalidallocator interruptedheapnon-positive3 ûN4 ûBd#û6(û*5 5û(6 5û4e#5û@(5ûLfCNWûXg]NWûehafNûriifNûjlNWû˃xNû˄|f#û˅##ûT-û(ûqˆ#ûbˇ#ûV:ûJû >û2û!&˻겉I˻겊@˻겋7˻게.˿.C.2 .LN+F V |AFV+LNN|A"NZ:FwB"ʈNF]UvvFRPFRPPyFL^ &F] UvvFRPFRPPDFL22^ &F] Uvv3ҋFRP3ҋFRP3P FL^ &F] Uvv3ҋFRP3ҋFRP3PFL^ &F] U]Uvv,]U>Tu~ ~F~t8vF36T0Rvz9vv~C2BF36TFFHFuPFPve]U P47, PPU>v 2PF @PU-7, PPUT vU(~t PPUT vU 7,>@tq>BtPPUT 6BUP'PU6@tD2P6@DPUP-PU6@42P6@@PUx7,>JtzTP3PUZ6PUkP9PUF6NUWP;PU2B^FÓPU8PCPU6LU$PKPU6JU7,-4]UP4-4].~uF~uF F V -}ANԋF V #y؃ډF V v~u@~uA ~ uA ~uA ȋF V -Nҹ|A"N҈NFuIF!NڋvڋFRPF V p0vڈB݋vڀz9vvڋ~ڋC2B݋FRPF V XF V F V - uFt NڋvB-!+FډF܋F#y;F}F܉FF#y;FANFu~~ ~ tF0F ~~ F+F@FFvF#y؈F@Pv2Pv֚FFPFFPvܚv|0u@vv<-uA"svv0vD-F] FFF FFZFFv <unv 2;F3ZtFV؃^&&W^FV&&W3Fvv F~ t~ u ~uF뛀~u~u&~-u@Z~+u@ ZsFfF~0r~9w F2Fv~ar F2Fc~Ar F2FP~#uHFuBFFV-$| tmFV- uFFFFFAF;F|7vvFRPFPsvvFRPFPrFF]]^. FFU+r;.\wVt~}@FFtF@Pv PF؉F~uFFF5F 9^=FPFPr F@Pv.PvFF~tX~ uF~~FFFFt~-u@2FF@FFFF~}FFF)~}FFFFF@FF REFERENCE GUIDE Introduction What follows is a description of a process which can add verve, vitality, and visual clarity to verbal statements, thereby improving one's communication whether using the oral or written medium. Specifically, the Quick Graph program is directed toward the communication classes in the Business School, but can be used by other classes, by the faculty, and by executives in School seminars. The end product for the user can be either a hard copy of visual data or a transparency, this may be used within a written report or as part of an oral presentation. Three visual representations are possible through using Quick Graph: (1) pie charts; (2) bar charts; (3) two types of line graphs. These may be in black and white or in color, depending on the type of reproduction. We wish the users well and along with other receivers of visual communication look forward to vivid representations of assorted data. H. W. Hildebrandt Charles E. Brown QUICK GRAPH OVERVIEW Quick Graph is a program designed to shortcut the creation of pie, bar and line graphs on the B2X/B3X series of micro computers. Quick Graph accepts data that will be used to create a graph and then uses a CTOS software graphics package to draw the graph. Graphs can also be edited once they've been created. Quick Graph is function key driven and uses the function keys F1-F10 on the B25 keyboard. The most common graphics programs used on the B25 are: o Multiplan or OFIS Spreadsheet with OFIS Graphics o Lotus 1 2 3 o Quick Graph with OFIS Graphics Quick Graph is the easiest to learn and use of the above packages. This reference manual will not address CTOS OFIS Graphics or Business Graphics (BGP) Operations - ONLY Quick Graph. For further information on BGP Graphics or OFIS Graphics, refer to the appropriate reference manual. SYSTEM REQUIREMENTS Your BTOS/CTOS workstation should have the following components to effectively run Quick Graph: Graphics hardware (module or card) BGP Software 4.0 or greater if using classic BTOS B25 OFIS Graphics Software 1.0 or greater if using BTOS II A memory partition large enough to accommodate your graphics software Quick Graph has been qualified with Classic BTOS 5.0.4 or greater and Business Graphics (BGP) 4.0 or greater. Quick Graph is qualified with BTOS II level 1.0.2 or greater and OFIS Graphics (Art Designer) 1.0 or greater. INSTALLING QUICK GRAPH SOFTWARE ON YOUR DISK Insert the Quick Graph floppy disk into floppy drive [f0]. At the command line type "Software Installation" and press . The program QuickGraph.Run will be copied to [Sys] and the command "QuickGraph" will be created. NOTE: The program QuickGraph.Run must be in [Sys] to function correctly. STARTING THE QUICK GRAPH PROGRAM To use Quick Graph, type Quick Graph on the Command line and press the Go key. You may now CREATE or EDIT graph data. To CREATE, press F1; you will be prompted for the type of graph and then the graph TITLE. SAVING YOUR QUICK GRAPH FILE When active and the F1 (Graph) function key is pressed, the data file is automatically saved before the graph is generated. After the TITLE has been entered for a graph, pressing CODE-S will save the data that has been entered into the Quick Graph form without generating a graph. When saving a data file, if a data file already exists with the same name as the one currently being saved, Quick Graph will ask for confirmation to overwrite the existing data file. If it is not desired to overwrite the existing data file press the CANCEL key and a new data file name may be entered. The data and picture file will assume this new name, the Graph title will not be changed to this new name. EXITING QUICK GRAPH When the FINISH key is pressed, a message is displayed asking for confirmation to exit the Quick Graph program. Press the GO key to exit Quick Graph and return to the Command line. Press CANCEL to remain in the Quick Graph program. Helpful Hints 1. Type Q G on the Command line and press GO to use the Quick Graph software. 2. Use the UP-ARROW/DOWN-ARROW keys to go up and down, PREVIOUS or NEXT function keys to view entered data. 3. Enter names or data by column (e.g. all the names first then the values). Use the RETURN or NEXT key after data has been entered. 4. Use the picture examples on pages 4, 6, 8 and 10 for the type of graph desired as your guide. 5. Press F1 (Graph) to draw your picture after all necessary data has been entered. CREATE AND EDIT COMMANDS Entering Quick Graph on the Command line and pressing the GO key will display the function keys shown below. The Create and Edit function keys are the first level of function keys. They will be the first function keys that appear on the screen. F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 Create Edit CREATE, F1 Begins the operation of creating a Pie, Bar or Line Graph. EDIT, F2 Edits an existing Graph. Pressing Edit, F2 key, will display the screen shown below. Enter the name of the data file to edit and press the GO key. Quick Graph automatically saves the data entered, to generate graphs, in a data file that has the same name as the TITLE of the graph. Enter the name of a Quick Graph data file and Press GO F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 Return RETURN, F10 Returns to the CREATE or EDIT selections. Pie Chart Title of PIE chart = Sales By Region The number of slices = 4 Name of Slice Value of Slice Southern 30.00 Northern 37.00 Eastern 25.00 Western 21.00 Format = [sys]Pie.Fm F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 Graph ChgFmt Names Values Return Quick Graph Screen for a Pie Chart PIE CHART COMMANDS F1 Create F1 Pie F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 Graph ChgFmt Names Values Return PIE, F1 GRAPH, F1 Produces a graph from the Pie data (entered in the Pie Chart Screen) by using OFIS Graphics or the Picture Editor. OFIS Graphics software is not part of Quick Graph. For information on the operation of OFIS Graphics refer to the appropriate reference manual. CHGFMT, F3 Allows a user to specify/change the format of a Graph. NAMES, F4 Moves the cursor to the Name of Slice column on the Pie Chart Screen. VALUES, F5 Moves the cursor to the Value of Slice column on the Pie Chart Screen. RETURN, F10 Returns a user to the previous screen, Create/Edit, without saving your entered data. UP/DOWN ARROW, NEXT, RETURN Use these keys, after data has been entered, to position the cursor in the next field. Notes: 1) A Pie chart can have a maximum of sixteen slices. 2) If the sum of the slice values does not equal 100 then the slice values will be automatically converted to percents. 3) Negative slice values cannot be used. Bar Graph Title for the Bar Graph = Sales By Quarter X (Horizontal) Axis name = Region Y (Vertical) Axis name = Dollars Number of Groups with Bars = 5 Number of BARS per Group = 4 Format = [sys]Bar.Fm Name of Bar Name of Bar Group Value of BAR in Group 1st Qtr. Northern 12.00 2nd Qtr. Southern 25.00 3rd Qtr. Eastern 30.00 4th Qtr. Western 33.00 Central F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 Graph ChgFmt Bars GroupsValues Return Quick Graph Screen for a Bar Graph BAR GRAPH COMMANDS F1 Create F1 Bar F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 Graph ChgFmt Bars GroupsValues Prev Next Return BAR, F2 GRAPH, F1 Produces a graph from the Bar data (entered in the Bar Graph Screen) by using OFIS Graphics or the Picture Editor. OFIS Graphics software is not part of Quick Graph. For information on the operation of OFIS Graphics refer to the appropriate reference manual. CHGFMT, F3 Allows a user to specify/change the format of a Graph. BARS, F4 Moves the cursor to the Name of Bar column on the Bar Graph Screen. GROUPS, F5 Moves the cursor to the Name of Bar Group column on the Bar Graph Screen. VALUES, F6 Moves the cursor to the Value of Bar column on the Bar Graph Screen. PREV, F8 Only active when the cursor is in the VALUES column. Displays the VALUES for the PREVIOUS Bar Group. NEXT, F9 Only active when the cursor is in the VALUES column. Displays the VALUES for the NEXT Bar Group. RETURN, F10 Returns a user to the previous screen, Create/Edit, without saving your entered data. UP/DOWN ARROW, NEXT, RETURN Use these keys, after data has been entered, to position the cursor in the next field. Notes: 1) A Bar chart can contain a maximum of twelve Bar Groups. 2) The maximum number of Bars per Group is five. 3) Negative Bar values can be used. Line Graph - AlphaNumeric Title of the LINE Graph = Monthly Expenses X (Horizontal) Axis label = Month Y (Vertical) Axis label = Dollars The number of Comparative LINES for graph = 3 The number of Data Points per Line = 4 Name of Line X Label Y Value Electric Sept 100.00 Phone Oct 80.00 Salary Nov 120.00 Dec 115.00 Format = [sys]Line.Fm F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 Graph ChgFmt Names XLabelYValue Return Quick Graph Screen for a Line Graph-AlphaNumeric LINE-A, ALPHANUMERIC GRAPH COMMANDS F1 Create F1 Line-A F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 Graph ChgFmt Names XLabelYLabel Prev Next Return The difference between a Line-A and Line-N graph is that a Line-A graph allows the use of alphanumeric characters to label the X Axis. (i.e., Oct, Nov, Dec). A Line-N graph only allows the use of numeric values for the X Axis. (i.e., 10, 20, 30) LINE-A, F3 GRAPH, F1 Produces a graph from the Line-A data (entered in the Line-A Graph Screen) by using OFIS Graphics or the Picture Editor. CHGFMT, F3 Allows a user to specify/change the format of a Graph. NAMES, F4 Moves the cursor to the Name of Line column on the Line- Graph-Alphanumeric Screen. XLABEL, F5 Moves the cursor to the X Label column on the Line Graph-Alphanumeric Screen. YVALUE, F6 Moves the cursor to the Y Label column on the Line Graph-Alphanumeric Screen. PREV, F8 Only active when the cursor is in the Y VALUE column. Displays the VALUES of the PREVIOUS Line. NEXT, F9 Only active when the cursor is in the Y VALUE column. Displays the VALUES of the NEXT Line. RETURN, F10 Returns a user to the previous screen, Create/Edit, without saving your entered data. UP/DOWN ARROW, NEXT, RETURN Use these keys, after data has been entered, to position the cursor in the next field. Notes: 1) A Line graph can contain a maximum of 5 lines. 2) Negative Y Values can be entered. 3) This version of Quick Graph allows a maximum of twelve data points for a line. Line Graph - Numeric Title of the LINE Graph = Profit by Unit X (Horizontal) Axis label = Unit # Y (Vertical) Axis label = Profit The number of Comparative LINES for graph = 5 Name of Line # of Data Points for Line X Value Y Value Western 4 30.00 150.00 Eastern 4 40.00 350.00 Southern 4 50.00 225.00 Northern 4 60.00 400.00 Central 5 Format = [sys]Line.Fm F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 Graph InFileChgFmt Names DatPtsxValueyValue Return Quick Graph Screen for a Line Graph-Numeric LINE-N, NUMERIC GRAPH F1 Create F1 Line-N F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 Graph InFileChgFmt Names DatPtsxValueyValue Prev Next Return LINE-N, F4 GRAPH, F1 Produces a graph from the Line-N data (entered in the Line-N Graph Screen) by using OFIS Graphics or the Picture Editor. OFIS Graphics software is not part of Quick Graph. For information on the operation of OFIS Graphics refer to the appropriate reference manual. CHGFMT, F3 Allows a user to specify/change the format of a Graph. INFILE, F2 When the cursor is in the X Values or Y Values column, allows data points to be read in from the specified file. NAMES, F4 Moves the cursor to the Name of Line column on the Line Graph-Numeric Screen. DATPTS, F5 Moves the cursor to the "# of Data Points for Line" column on the Line Graph-Numeric Screen. XVALUE, F6 Moves the cursor to the X Value column on the Line Graph-Numeric Screen. YVALUE, F6 Moves the cursor to the Y Value column on the Line Graph-Numeric Screen. PREV, F8 Only active when the cursor is in the X VALUE or Y VALUE column. Displays the VALUES of the PREVIOUS Line. NEXT, F9 Only active when the cursor is in the X VALUE or Y VALUE column. Displays the VALUES of the NEXT Line. RETURN, F10 Returns a user to the previous screen, Create/Edit, without saving your entered data. SCROLL UP/DOWN Allows access to all X and Y values by scrolling the values up or down when graph contains more than 12 data points. Available only when entering X and Y data values. UP/DOWN ARROW, Use these keys, after data has been entered, to position the cursor in the next field. Cursor moves up or down the data columns of the X and Y points displayed on the screen. NEXT, RETURN Use these keys to position the cursor in the next field. All data values are scrolled when the cursor is at the last data value on the screen and the cursor stays at the last data value on the screen. If the cursor is at the last data value on the screen and is at the last data value for the line, the cursor is moved to the Y value column when in the X value column and to the Title of the LINE Graph entry when in the Y value column. READING VALUES FOR DATA POINTS FROM A FILE To read in data points from a data file when the cursor is in the X Values or Y Values column, press the F2 (InFile) function key. After pressing the F2 function key enter the data file name. Specify the Volume and Directory if the data file is not located in the current path. Press the Return key. If the data file does not exist, you will not be able to proceed. Enter another data file name or press the Cancel key. Next the data file format must be entered. The data can be either real numbers or integers. The number of spaces before the data, the length of the data, and the number of trailing spaces must be entered. When counting trailing spaces, do not forget to count the end of line character(s) as a space. Below are three examples for entering the data file format. Quick Graph version 2 can handle input of up to 9999 X and Y data points per line. The actual number of data points will depend on how much memory is available in your B20. Data values can be read from an ASCII data file. The file must have a fixed format. The data read in is associated with the X point or Y point data values. If the cursor is in the X point data values column, the file data will be assigned to the X values. The same is true for the Y point data values. The data file is read until the number of data values read is equal to the number of points in the line or until the end of the data file, which ever comes first. All data read in is first value relative, the first value read is associated with the first point. Example 1 1 2 3 4 1234567890123456789012345678901234567890 (ruler) 5.3 10.4 34.1 2.4 = carriage return 23.4 2.4 2.5 23.5 = carriage return If the X values were to be the second column of numbers, the format would be: Leading Spaces 12 Data Length 4 Trailing Spaces 17 This example would assign the value 10.4 to the first X value point and 2.4 to the second X value point. Example 2 If the Y values were to be the first row of numbers and the number of points for the line was 4, the format would be: Leading Spaces 4 Data Length 4 Trailing Spaces 0 This example would assign the value 5.3 to the first Y value point, 10.4 to the second value point, 34.1 to the third value point, and 2.4 to the fourth value point. 1 2 3 4 1234567890123456789012345678901234567890 (ruler) 5.3 10.4 34.1 2.4 = carriage return and line feed 23.4 2.4 2.5 23.5 = carriage return and line feed Example 3 If the X values were to be the third column of numbers, the format would be: Leading Spaces 20 Data Length 4 Trailing Spaces 10 This example would assign the value 34.1 to the first X value point and 2.5 to the second X value point. After the number of trailing spaces is entered, the data file is read with the specified format. The data values are displayed in the appropriate column. Notes: 1) A Line graph can contain a maximum of 5 lines. 2) Negative X and Y values are allowed. QUICK GRAPH FILE STRUCTURES Quick Graph will collect the data necessary to create a graph and OFISGraphics will DRAW, MODIFY and PRINT the graph. Therefore, there will be two different types of files generated with every graph that is created: one file by Quick Graph and one file by the graphics software. QUICK GRAPH FILES The data entered into the Quick Graph Screen is saved in a file that has a ".dat" suffix, representing a data file. The actual file name is taken from the TITLE entered on the first line of any of the graphs created. A Title must be entered whenever a graph is created. For example, if the TITLE of a graph is Monthly Expenses, Quick Graph stores the data in a file named MONTHLYEXPENSES.dat - spaces are automatically removed. To EDIT (Function key F2) the data in a Quick Graph data file; type the name MONTHLY EXPENSES in the form that appears. It is not necessary to add the .dat suffix. To copy the file, Monthlyexpenses.dat, it would be necessary to type MONTHLYEXPENSES.dat on the File from line of the Copy command of the B25 Executive. GRAPHICS FILES After all the data for a particular graph has been entered in Quick Graph and F1, (the Graph key) has been pressed, the graph will appear on the screen. The graph was generated by the OFIS Graphics Package or BGP. OFIS Graphics saves the picture image of the GRAPH with a ".pic" suffix, representing a picture file. OFIS Graphics will use the SAME FILE NAME as Quick Graph, unless the SAVE function is used to save the picture under a specified (different) file name. For example, if the FINISH key is pressed in OFIS Graphics, the file name MonthlyExpenses will appear in the form at the bottom of your screen and be automatically saved under the name MonthlyExpense.pic after the GO key has been pressed. To retrieve this file directly into OFIS Graphics without first using Quick Graph, use the OFIS Graphics command. Type MonthlyExpenses for the Picture file. FORMAT FILES A format file is a OFIS Graphics file that specifies the format of a Pie Chart, Bar or Line Graph. The FORMAT is the pattern, size, location on the screen, dimensions and colors of a graph (Picture File). Like Picture and Data Files, there is a suffix at the end of the format file. The suffix for format files is ".Fm". In Quick Graph, the default format file is displayed in the lower left corner of your screen for Pie Charts and Line Graphs. For the Bar Graph Screen, it will appear on the top right half of your screen. Quick Graph selects the default format file to use by checking what type of monitor is attached to your workstation. Some of the default format files are: COLOR MONITOR FORMAT FILE MONOCHROME MONITOR FORMAT FILE [sys]ColorPie.Fm [sys]Pie.Fm [sys]ColorBar.Fm [sys]Bar.Fm [sys]Colorstacked.Fm [sys]Stacked.Fm [sys]ColorLine.Fm [sys]Line.Fm For each type of graph created, a different format file name will appear on your screen. NOTE: Line-A and Line-N Graphs use the same format file. The only time it is necessary to change the default format file is if the workstation has a color monitor and you wish to print a Graph on a non-color printer. For example, when a Pie Chart appears on a color monitor, it looks very professional with each pie slice being a different color. However, if the graph is printed on a non-color printer using the default color format file, all slices of the pie would be black and indistinguishable. Using the Monochrome Format File will change the colored pie slices to patterns which can be easily recognized when printed. The same is true for Bar and Line Graphs.2  y `'`'`'`'@z  # Quick Graph 2.0 # HL*@#t -+\&@!@!@. rP*~B$???1) xP*`I2%p00( Quick Graph 2.0 # @ T GH  GH@ @   GH@ T@ ,0GH>?n $&(*,0@ @ 6Nl@ 6NlGH$&(*,0?GH تmopŃԅ؜ OPmno@ p GH GH@ @ 6NlGHGH@ 6NlGH.cԄYvwx./B0/abc݅Yvw.BC08@ TGH@ Nl  GHGH@ 6NlGH$&(*,0GH xy{|~ӄ^R GH GH GHGH@  P @ TGH@ TGH ̮̝̉0Ӆ„@ TGH@ 6NlGH@ $&(*,0@  P GH GH 68BҦx-.1>g7~ۤۥۦ./0hgGH GH @ YZ[\``bcGH@ P GH@ TGH &Q" GH GH GH@ 6YZ[\bGH @ T GH$&(*,0GH )+>BmnĀ*+>?@B)o GH @ @ $&(*,0@ GHGH@ 6bGH 78@PҁxL8AQ8ߪL@  p T GHGH@  p @  `   GHGH@ TGH ƤƧzϤ£@ b@ @  GH$&(*,0@  TGH 7\789]\@ TGH GH GH GH@# YZ[\``a`bcGH ČߓU+@  p @ @ GH @   GH@ GH$&(*,0GH Ő ~"x9Х }~ @  GH$&(*,0@ `' F GH@  p GHGH ZҔGH@ GH GH GH GH GH@ 'YZ[\bGH %(ޝŕޖޢ&'(fڜ  GH@ @ @ GH GH@ GH$&(*, 0GH ĵл 9:<˅'ˁF˭ &˅˾9:;<8 @ @  GH$&(*, 0@ @ GH GH@  GH ۑ*XYopr*+,YopqrX @ $&(*, 0GH@ GH GH GH GH@ YZ[\bGH su >stހWn9 GHGH@    GH@ @ GH@ @ GH  >?jh ߺz?@j@@.@h > GH"$&(*, 0  GH@  @  @  $& (* , 0GH ˠ  02ޜŧ78GH[]˲Ž&(78KNQR޳ Dڜ@\<ڳ MQ@(GH@"$& (* ,0@dGH@8Xx@ $LuGH @ GH9KĶݺ04 =Lĵw V 789KL;<=LM؋،شص N O u v V V@ @ $& (* ,0GHGH GH@ GH$&(*,0GH\`ăׇ345789:;͔͕@48;37:M,GH@ T,@!,H, GHGH@ @ GH TUՅ  T؅ , ,,,H,GH@ GH $  */=>@@@@@@Courier Courier Courier Times Times! Helvetica! Helvetica TimesPrestigexwxxx<xmT<PbxxPPPx<P<CxxxxxxxxxxCCkP]PCPqxPkxkxkPxxCCxCxxxxP]Cxxxxks0sxPP<xmx<<<OPOOOOOOOOOOOOOkkxxxkkkkxxPPkkk+kPPxxwxxx<xT<PxxPPPx<P<CxxxxxxxxxxPPx]xPCPxPxkkPxCPCxk]Pxxxk_5_}xPP<xx<<<OPOOOOOOOOOOOOOxxxxkkkkxPPxxxCxPPxwCTCPrCPP]CPCCPPCPCPCPCCC]Px]C]xPPCCCCWPWWWWWWWWWWWWWPPxx9xPPwCTCCU5PP]CPCCCCCxCCCq5xC55x5PxCxxxxP>PxPPCCCCWPWWWWWWWWWWWWWxPPPP.PPPydcyyddd2nydnn[Fqnnn2CRddCCCdq2C28dddddddddd88qqqYzoCNzoozzC8C^dCYdYdYCdd88d8ddddCN8ddddY`(`ldCC2d[d222BCBBBBBBBBBBBBBYYdddYYYYddCCYYY$YCCdGL?308$'OBJECT0rr%%??// DL==rrkV ComplexRomanDT4DT4EnhGRAPH=|VVv@ ComplexRomanDT4DT4EnhQUICKGL??H@@P xxH@@PH@@PH@@xPH@@`P@ H@@ @P@ H@@ @P H@@P$H@@P HHH@@@PHHH@@@P$H@@ P$H@@ P H@@PH@@P @H@@PP @H@@PP  @H@@PP @H@@PP@$ @H@@PP0$ @H@@PPH @H@@PP @H@@PP  @H@@P@ H@@PPH@@PPH@@P $H@@P$>H@@ PHHH@@@P(H`H @@PPP ( @P$@P  @P@@  @@ @P @ P@xP @Pxxx`@P@P(` `  @ @ @ @  ~ Hx  <0@H  @H   $ H   (H  HH  PH(  HH(  $ H(  $ H(  H(  PH(   H$H(   ((H$  (H   HH  PH   H  @H `@Hx  @    @H    @H  H  H   (H   0H  P H  ` H  $H  (H  H@$H  P@$H  @(H  @HH  HH   @ @H  <0@H    H  ?GL) *WriteVDM"?h  b n Picture 00B0$0b00 S_2XXXPPB@(/*@(*5M@(5M/@(/K3@(K3 5M@( 5M 5M@( 5M3@(3/@(/,k@(,ku'@(u'u4@(u4@(R@(R@( @(  @( K@(KR@( 5M 93@( 93/@(/,k@(,k'@('4@(4@(R@(R 9@( 9 @(4@(4@($474@( I5M I@(!p5M!p@(5M*5M@(*5M. 3@(. 3/G1@(/G10n.2@(0n.20n*@(0n*/G'@(/G'. %O@(. %O*#@(*#!p#@(*5M,3@(,3. 1@(. 1/G.2@(/G.2/G*@(/G*. '@(. ',%O@(,%O*#@($@('4#)!@()!*@(*. @(. /G@(/G0n@(0n1@()!*4@(*4,@(,. @(. 0n@(0n1@(11R@(?k5M7Y@(?k5MG}@(?k/FV@(9D@(5 ;@(BI@(P5MP@(Q5MQ@(MB5M[5M@([5M^3@(^3_1@(_1`.2@(`.2`(@(`(_%O@(_%O^#@(^#[!@([!Q!@([5M]g3@(]g3^1@(^1_.2@(_.2_(@(_(^%O@(^%O]g#@(]g#[!@(MBUT@(j5Mj@(k=5Mk=@(y5My@(z:5Mz:@(f5Mn5M@(u5M}5M@(k=#y#@(fn@(u}@(uU is@( is p@( pls@(lseX@(eX`@(`X@(X UZ@( UZ iQ@( iQP@(P,P@(,PQ@(QUZ@(UZX@(X?`@(?`?eX@(?eXls@(lsp@(ps@(s,uU@(,uUuU@(uU s@( s Ap@( Ap ls@( lseX@(eX`@(` X@( X AUZ@( AUZ Q@( QP@(,P{Q@({QUZ@(UZX@(X`@(`eX@(eXls@(lsp@(p{s@({s,uU@( iS iUZ@( iUZ X@( XZ@(ZZ@(ZTX@(TX{UZ@({UZH@(HG#@(G#G#@(G#?J@(?J?Lx@(UZN?@(N?J@(JH@(HH@(H?J@(#xuU#xZ@(#xZ$UZ@($UZ&Q@(&Q*cP@(*cP,P@(,P0'Q@(0'Q2vUZ@(2vUZ3Z@(3Z3uU@($uU$Z@($Z%UZ@(%UZ(Q@((Q*cP@( uU(uU@(0'uU7uU@(?%uU?%P@(@LuU@LP@(;uUCuU@(;PCP@(YpZj@(ZjZuU@(ZuUYp@(YpW\s@(W\sSuU@(SuUQuU@(QuUN#s@(N#sKp@(KpJls@(JlsIg@(IgI^=@(I^=JX@(JXKUZ@(KUZN#Q@(N#QQP@(QPSP@(SPW\Q@(W\QYUZ@(YUZZX@(QuUOJs@(OJsLp@(LpKls@(KlsJg@(JgJ^=@(J^=KX@(KXLUZ@(LUZOJQ@(OJQQP@(d uUd P@(e2uUe2P@(t0uUe2^=@(jeXt0P@(ieXs P@(`uUhuU@(ouUv~uU@(`PhP@(oPv~P @y .N~U~}F 49FvFFbËFd‹&ӌ]Ubãd]UF;dv=6b4+bӍ8bd@d‹&ӌ뺋6bN+bӍ8Fb]UFb]U6bӍ8vNFYFb]UQ|&G N;v6&G V;v)PQR2FP6abF.ՊF|&G+F%PPP2FP6ab.DH)]`˾b6F%y % h`F  FY GL:: 03?<P ObjTest:II[ PP??<=<;: :V99W䠕WڠUFTR@QbOsM8LXJ+IG"CFBDPCN=e<;:C :΍V9H9WQE B HȋA"V}{Pzx/wu&tr>qo|n-mkjirhigofeW9}877 766~6r6{6667s77k899t:G;-<$=,>D?l@AB9DQEWH9ȋ}8A77" 766V~6r6{6}6{6Pz7xs7/w7uk8&t9r9>qt:oG;|n-<-m$=k,>jD?il@rhAigBof9DeQEWVw7!v3 $eddXcb#baPie.Fmsalesbyregion.DatSales By RegionSouthernNorthernEasternWesternSouthernNorthernEasternWestern @dAȀ@hBBQ~WGB(qB SimplexRomanPA? Sales By RegionPA!F%B SimplexRomanPX&@? Southern 26.5%P;AB B!!Ca  #"A@B" :9 $>B"!E $"@!B" } fbaA C" E >B! b9@@<$?$H  T($DX($D-',rDo@y 'p@@@@L 8CP@0  H@@@@@( @ p     @ s y} %  % A@@@@=" 0 (~D<BA @`@@@@@@@ `0H0EDDDD #""""bAQHLAIDDDD#"*""""#{1ڎxQ<0(ۂ)QtDDDc&y#""b""" AAAA @LAAAAEDD@#""""#"" 0 H DD$,""""*" 8g PAAAA  D=0 q< AAAAaD #""""b@$"Dr T@|q``<"">O` < @q8('aA(@,ǜ GLR *WriteVDM"?h  b n Picture 00B0$0b00 S_2SRR@hCFUFUEUDDUBUAUd@NU#?T=T<~T!;ES:S?8R7R56Q5Q4Pa3O2N1NC1M0\L/K/K.rJ.APPB@(CFUF@(UFUE@(UEUDD@(UDDUB@(UBUA@(UAUd@N@(Ud@NU#?@(U#?T=@(T=T<~@(T<~T!;E@(T!;ES:@(S:S?8@(S?8R7@(R7R56@(R56Q5@(Q5Q4@(Q4Pa3@(Pa3O2@(O2N1@(N1NC1@(NC1M0\@(M0\L/@(L/K/@(K/K.r@(K.rJ.A@(J.ACF@(R8&T6:SRR@xCFJ.AI-I -TH),GC,F\,kEr,?D,$C,B,"A,;@,d?,? ,>*-G=J-*-G@(>*-G=J-@(=J-@-==)SRR@CF408&39J3@:v2;2z<2'>&1?n1@1sB 1MC]14D1&F 1$Ga1.H1CJ1dKc1L1N2 OK2[P2Q3S3T24UY4Vv5W5X6HY6Z7[f8W\>9]9]:^r:^@(CF408&@(408&39J@(39J3@:v@(3@:v2;@(2;2z<@(2z<2'>&@(2'>&1?n@(1?n1@@(1@1sB @(1sB 1MC]@(1MC]14D@(14D1&F @(1&F 1$Ga@(1$Ga1.H@(1.H1CJ@(1CJ1dKc@(1dKc1L@(1L1N@(1N2 OK@(2 OK2[P@(2[P2Q@(2Q3S@(3S3T2@(3T24UY@(4UY4Vv@(4Vv5W@(5W5X@(5X6HY@(6HY6Z@(6Z7[f@(7[f8W\>@(8W\>9]@(9]9]@(9]:^r@(:^r:^@(:^CF@(1M/dNuSRR@CF:^;_F<_=x`I>Y`?PGZWPYcQXdR WYRVDS-U%SSTRTuQTPVUOU[MULyUK'UIUH|UG$UF@(CF:^@(:^;_F@(;_F<_@(<_=x`I@(=x`I>Y`@(>Y`?@(O[>PGZW@(PGZWPYc@(PYcQXd@(QXdR WY@(R WYRVD@(RVDS-U%@(S-U%SS@(SSTR@(TRTuQ@(TuQTPV@(TPVUO@(UOU[M@(U[MULy@(ULyUK'@(UK'UI@(UIUH|@(UH|UG$@(UG$UF@(UFCF@(M ]NI`@(&g|`%}.@(%}.%}@(%}#}@(#}#}.@(#}."|`@("|`"{@("{"z@("z#z^@(#z^#y@(#y%My)@(%My)%x@(%x&!x[@(&!x[&gw@(&gw&gvY@(&gvY%u@(%u%u$@(%u$#u$@(#u$#u@(#u"vY@(+]z+]u$@(+]y*z^@(*z^*Cz@(*Cz)oz@()oz(z^@((z^(Uy@((Uy(x[@((x[(w@((w(UvY@((UvY(u@((u)ou$@()ou$*Cu$@(*Cu$*u@(*u+]vY@(-}-u$@(/x[2x[@(2x[2y)@(2y)2y@(2y2Bz^@(2Bz^1z@(1z0z@(0z0Tz^@(0Tz^/y@(/y/x[@(/x[/w@(/w/vY@(/vY0Tu@(0Tu0u$@(0u$1u$@(1u$2Bu@(2Bu2vY@(7y79z^@(79z^6ez@(6ez5z@(5z4z^@(4z^4xy@(4xy4x@(4x5Kx[@(5Kx[6w@(6w79w@(79w7v@(7v7vY@(7vY79u@(79u6eu$@(6eu$5u$@(5u$4u@(4u4xvY@(<0}<0u$@(<0}>}@(>}?~}.@(?~}.?|@(?|@ {@(@ {@ {,@(@ {,?z^@(?z^?~y@(?~y>y@(<0y>y@(>y?~y)@(?~y)?x@(?x@ w@(@ w@ v@(@ v?u@(?u?~u@(?~u>u$@(>u$<0u$@(AmzCu$@(DzCu$@(Cu$Bs@(BsAr@(ArAmrT@(AmrTA&rT@(I%}I%u$@(I%}K}@(K}Lt}.@(Lt}.L|@(L|M{@(M{M{,@(M{,Lz^@(Lz^Lty@(LtyKy@(KyI%y@(KyMu$@(Nx[Qx[@(Qx[Qy)@(Qy)Qy@(QyQjz^@(Qjz^Pz@(PzP z@(P zO|z^@(O|z^Ny@(NyNx[@(Nx[Nw@(NwNvY@(NvYO|u@(O|uP u$@(P u$Pu$@(Pu$Qju@(QjuQvY@(VzVtW@(VtWVs"@(Vs"Var@(VarUrT@(UrTUrT@(UrTTsr@(VyVaz^@(Vaz^Uz@(UzUz@(UzTsz^@(Tsz^Sy@(SySx[@(Sx[Sw@(SwSvY@(SvYTsu@(TsuUu$@(Uu$Uu$@(Uu$Vau@(VauVvY@(X}Y#}.@(Y#}.Yj}@(Yj}Y#}@(Y#}X}@(Y#zY#u$@(\rz[z^@([z^[Xy@([Xy[x[@([x[[w@([w[XvY@([XvY[u@([u\ru$@(\ru$]Eu$@(]Eu$]u@(]u^`vY@(^`vY^w@(^w^x[@(^x[^`y@(^`y]z^@(]z^]Ez@(]Ez\rz@(`z`u$@(`y)ahz^@(ahz^az@(azbz@(bzcVz^@(cVz^cy)@(cy)cu$@(U94V0 @(V4V0 @(V4W0 @(X^4W0 @(Y&1[ 1@([ 1[ 2U@([ 2UZ2@(Z2Z3@(Z3Zh3?@(Zh3?Y3?@(Y3?Y3@(Y3YO2@(YO2Y&1@(Y&1Y&1j@(Y&1jYO0@(YO0Y0E@(Y0EY0 @(Y0 Zh0 @(Zh0 Z0E@(Z0E[ 0@(]2]3@(]3]3?@(]3?\3?@(\3?\"3@(\"3[2@([2\"2@(\"2\s1@(\s1]<1@(]<1]1j@(]1j]0@(]0]0@(]0]0E@(]0E]0 @(]0 \0 @(\0 \"0E@(\"0E[0@(^4^0@(^0_0E@(_0E_n0 @(_n0 _0 @(^~3?_3?@(`1bj1@(bj1bj2U@(bj2UbB2@(bB2b3@(b3a3?@(a3?aQ3?@(aQ3?a3@(a3`2@(`2`1@(`1`1j@(`1j`0@(`0a0E@(a0EaQ0 @(aQ0 a0 @(a0 b0E@(b0Ebj0@(c3?c0 @(c1c2@(c2c3@(c3dL3?@(dL3?d3?@(e3?e0 @(e2Uf3@(f3fW3?@(fW3?f3?@(f3?g 3@(g 3gI2U@(gI2UgI0 @(jm3j4*@(j4*k64@(k64k60 @(m4mi4@(mi4mA4*@(mA4*mA3@(mA3mi3?@(mi3?m3@(m3nZ2@(nZ2n2@(n2o#2@(o#2oK1@(oK1oK0@(oK0o#0@(o#0n0E@(n0En0 @(n0 m0 @(m0 mi0E@(mi0EmA0@(mA0m0@(m0m1@(m1mA2@(mA2m2@(m2n 2@(n 2n3@(n3n3?@(n3?o#3@(o#3o#4*@(o#4*n4@(n4n4@(n4m4@(p0pd0E@(pd0Ep0 @(p0 p0E@(p0Ep0@(s4*s4@(s4s94@(s94r4@(r4rp4@(rp4r3@(r3q2@(q2q1@(q1r0@(r0rp0E@(rp0Er0 @(r0 s0 @(s0 s0E@(s0Es0@(s0t1j@(t1jt1@(t1s2U@(s2Us2@(s2s3@(s3r3@(r3rp2@(rp2r2U@(r2Uq1@(w4t0 @(u4v 4d@(v 4dv 3@(v 3u3z@(u3zu3?@(u3?uC3?@(uC3?t3@(t3t4*@(t4*u4@(u4uk4@(uk4u4@(u4v 4@(v 4v4d@(v4dv4d@(v4dwu4@(wu4w4@(w%1v1j@(v1jv0@(v0v0@(v0v0 @(v0 wM0 @(wM0 w0E@(w0Ew0@(w0w10@(w10wu1@(wu1w%1@(|(|#@(|((@(|&<&<@(|##@( 2& 2#@( 2&<&@(&&@(&&@(&&@(&x&<@(x&<O%@(O%O%@(O%x$g@(x$g#@(##@(##@(##@(# 2$g@(#&<"&@("&"e&@("e&!&@(!&!t&@(!t&!L&<@(!L&eH@(j>eHhb@(hbjb@(l cskc8@(kc8l b@(l blHc8@(lHc8l cs@(ognb@(mbgog@(sYgpb@(qNgqgW@(qgWqf@(qfqwfm@(qwfmq&f2@(q&f2pf2@(pf2pf@(pfpg@(pgpg@(pgpg@(pgqNg@(qNgqg@(qgrgW@(rgWrgW@(rgWs g@(s gsYg@(rdrhd]@(rhd]r@c@(r@cr@cs@(r@csrb@(rbrb@(rbs1c8@(s1c8sYc@(sYcsYd#@(sYd#s d@(s drd@(>99@(8A")|@(g{xAtxASR@pgKxBiyivg:xB@4gKxBiyivg:xBgKxBSR@t =BL/GKFIgL/@8 =BL/GKFIgL/ =BSR@p")|!, )")|@4")|!, )")|")|@(s?qs<@(s?q<@(?q<@(|?q<@(|?qb<@(=5 =5@(?q<@(?q<@(?q<@(?q<@(?q<@(?q ?q@(==@(< <@( x?q ??H@( ??H >@( > >@( > >*@( >* =^@( =^ <@( < <@( < ?*@( >* {>@( {> _>@( _> %?H@( %?H ?q@( ?q x?q@( b?q b<@( b?q?q@( b=H=@(>?H@(?Ho?q@(o?q?q@(?q?H@(?Hl>@(l>l>@(l>>S@(>S>*@(>*>@(>=@(==@(==^@(=^= @(= <@(<>@(>?H@(?H?q@(?q(?q@((?q?H@(?H>@(>>@(>{>*@({>*{=^@({=^<@(<<@(< SimplexRoman,,$+,$,,$,P.,$,,$<+,$0-2*,2*+90P.90P.90,90<+905-?6,?6+E<P.E<P.E<,E<<+E<10-LB,LB+RHP.RHP.RH,RH<+RH15-XN,XN+_TP._TP._T,_T<+_T20-eZ,eZ+k`P.k`P.k`,k`<+k`25-rf,rf+xlP.xlP.xl,xl<+xl30-~r,~r+…xP.xP.x,x<+x35-~,~P.,<+40+,$+’, A1A1>4>4,$AA,$A1,$>4,$>4,$>4A>4AA1AA1AA1,$ "O"ORR,$_T_T,$"O,$R,$R,$R_TR_T"O_T"O_T"O,$ mmpp,$[[,$m,$p,$p,$p[p[m[m[m,$ ,$_T_T,$,$,$,$_T_T_T_T,$ ŨŨ««,$_T_T,$Ũ,$«,$«,$«_T«_TŨ_TŨ_TŨ,$ s6s6sHsH̏̏s6̏sH̏sH̏sHsHs6s6s6̏ ;7;78:8:,$k`k`,$;7,$8:,$8:,$8:k`8:k`;7k`;7k`;7,$ UUXX,$RHRH,$U,$X,$X,$XRHXRHURHURHU,$ rruu,$xx,$r,$u,$u,$uxuxrxrxr,$ ސސۓۓ,$RHRH,$ސ,$ۓ,$ۓ,$ۓRHۓRHސRHސRHސ,$ ,$RHRH,$,$,$,$RHRHRHRH,$ [[mm̏̏[̏m̏m̏mm[[[̏ 5=5=2@2@,$xlxl,$5=,$2@,$2@,$2@xl2@xl5=xl5=xl5=,$ [[^^,$ss,$[,$^,$^,$^s^s[s[s[,$ xx{{,$RHRH,$x,${,${,${RH{RHxRHxRHx,$ ؖؖՙՙ,$xlxl,$ؖ,$ՙ,$ՙ,$ՙxlՙxlؖxlؖxlؖ,$ ,$xlxl,$,$,$,$xlxlxlxl,$ %%%%̏̏%̏%̏%̏%%%%%̏ /C/C,F,F,$ss,$/C,$,F,$,F,$,Fs,Fs/Cs/Cs/C,$ aa d d,$$M$M,$a,$ d,$ d,$ d$M d$Ma$Ma$Ma,$ ~~,$xlxl,$~,$,$,$xlxl~xl~xl~,$ ҜҜϟϟ,$,$Ҝ,$ϟ,$ϟ,$ϟϟҜҜҜ,$ ,$k`k`,$,$,$,$k`k`k`k`,$ ~~̏̏̏~̏~̏~~̏ywBFDB9 SimplexRomanef*Sales By Quarter_xn SimplexRomanΟ2s)? By Region,,Bar.Fmsalesbyquarter.DatSales By QuarterRegionDollars1st Qtr.2nd Qtr.3rd Qtr.4th Qtr.NorthernSouthernEasternWesternCentral@=A@ZB{BB AR:BB SimplexRomanPA? Sales By QuarterH8GB ? SimplexRomanP }@? RegionIA,PB SimplexRomanP@@? DollarsJ,AA SimplexRomanPJ@? NorthernJ3EBHA SimplexRomanPJ@? SouthernI,BA SimplexRomanPJ@? EasternB AHB SimplexRomanPDJ@? I fBBz@ SimplexRomanPJ@? CentralB AHB=? SimplexRoman B AHB=? SimplexRoman B AHB=? SimplexRoman B AHB=? SimplexRoman B AHB=? SimplexRoman B0? SimplexRomanB0? SimplexRomanB0? SimplexRomanJdAB SimplexRomanPtV@? 1st Qtr.JDHBB SimplexRomanPtV@? 2nd Qtr.J3EBB SimplexRomanPtV@? 3rd Qtr.JBB SimplexRomanPtV@? 4th Qtr.BIBBP? SimplexRoman  K ( ؼؼ  qȻ  {{ ގގ N͈ ͈ C __   HH  VRm iRmi 9Z SZ UU  fQBfQ (XP%>#3B!1@%> Z/%j"Sf" h$j i$w*ttw C_5ef qjƲq 溵i3Μ #QL)XQ ɵ :M >xMb4 n2`{/ ,P2E SimplexRoman** BARTITLE-!E! SimplexRomanE6̜6 BWesternG5 :5 !T SimplexRoman!! X AXIS LABELՈՈEg SimplexRomanl'l' X PER GROUPߙ;ߙ SimplexRoman<+<+ NAME OF BARS^% SimplexRoman~&~&NUMBER OF BARS̨ ̨( SimplexRomanh$h$N Y AXIS LABELUUFZ SimplexRoman!! Y AVALUE OFP P]U SimplexRoman!!VALBARScc  SimplexRoman(( WITH BARSb  < SimplexRomanh$h$NUMBER OF GROUPStA$$ D@A ğR>@A$Q D=ac$$as Ęy>\

@<к: :    @@@@@@@ @ Ⱥj @@@` @ @` @  @   @ Ⱥꫫj @" P@@" 0@@c @ @@b P@@" 0@ @# @` " @磌k F" 0&BEc eCĢ B Eb PdCz~F" `0&Bz:E# %B? " `$B磌j F"T `0&BEcl eCĢT `B Ebl PdCF"T `0&BE#l%B"T`$B` E"lP$Bﻫj Ecl6TFeC ĢT*`LŒB0Ebl6DFSdC@F"T"`dE2&BE#l6TF%B"T*`LŒ$B E"l6DFS$B F"T"`dE2&B 몺k ĢT*`LŒB Ebl6DFSdC F"T"`dE2&B E#l6TF%B "T*`LŒ$B E"l6DFS$B F"T"`dE2&B Ec l6TFeC ﺫj Ebl6DFSdC F"T"`dE2&B E#l6TF%B "T*`LŒ$B E"l6DFS$B F"T"`dE2&B Ecl6TFeC ĢT*`LŒB   (< @p@@ O`~z_/ ji~{O~~& 0y?k x,><4|p(I_|P/p7P{yxs  @t @v _ GL* *WriteVDM"?h  b n Picture 00B0$0b00 S_2PPB@(d@(VW@(@(t;@(;@(;@(;@(|@(|;5@(;5t@(t@(5@(5|@(| @(  ;@( ;@(@(@(t@(  PB@(d  PB@(  @(>(>@((>g@(g(@((a@(a@(@(P@(P @(  @( @(a@(aJ@(JaJ@(aJ(a@((ay@(y@(!6!6PB@(d%L%LPB@(%L%L@(& &"@(&"&i@(&i$v@(t&i;&R@(;&R& @(& %@(%%L@(%L$@($;$@(;$t$v@(t$v$v@($v$@($$@($ %L@( %L %@( %& @(& &R@(&R&i@(&it&i@()c)cPB@(d-x-xPB@(-x-x@(.7.O@(.O.@(.,@(.(.@((.-@(-(-@((-a-@(a--@(--@(--@(- -a@( -a -1@( -1,@(,,@(,,@(,a,@(a,(,@((,,@(,-@(11PB@(d55PB@(55@(6L6d@(6d6@(66@(66@(616@(16W6@(W6j6@(j6}6d@(}6d}64@(}64j6@(j6D5@(D54@(44@(t6;6@(;66d@(6d5@(55@(55.@(5.;4@(;4t4@(t44@(44@(45.@(5. 5@( 5 5@( 56d@(6d6@(66@(6t6@(99PB@(d==PB@(==@(>x>@(>>@(>>@(>>@(>1>@(1>W>@(W>j>@(j>}>@(}>}>`@(}>`j>0@(j>0D=@(D=<@(<<@(>(>@((>>@(>(>0@((>0a>H@(a>H>H@(>H>0@(>0>@(> =@( = =@( ==B@(=B=@(=<@(<a<@(a<(=@((==*@(=*=Z@(AAPB@(dEEPB@(EE@(G}G@(}G F\@( F\DF\@(DF\jFE@(jFE}F-@(}F-E@(EE@(E}En@(}EnWE?@(WE?E'@(E'E'@(E'E?@(E?EW@(EWE@(tG;G@(;GF@(FFE@(FEE@(EE@(E;E?@(;E?tE'@(tE'E'@(E'E?@(E?E@(E E@( E FE@( FEF@(FG@(GG@(GtG@(JJPB@(dN*N*PB@(N*N*@(OH}OH@(}OH N@( NDN@(DNjNq@(jNq}NY@(}NYN@(NM@(M}M@(}MWMk@(WMkMT@(MTMT@(MTMk@(MkM@(MM@(OH(OH@((OHNq@(Nq(N@((NaN@(aNN@(NN@(NNY@(NY N@( N M@( MM@(MMk@(MkMT@(MTaMT@(aMT(Mk@((MkM@(MM@(R@R@@(VWVW@(DWtV'@(V'V'@(DWtDU@(tWt;W\@(;W\W@(WV@(VVW@(VWU@(U;U@(;UtU@(tUU@(UU@(UU@(U VW@( VW V@( VW@(WW\@(W\Wt@(WttWt@(ddVW@(dVWVWSRR@p($($P@($@($$@($$(@($($(@($((@(((@((SRR@p&&5(N5(N@(&(N@((N(N@((N(N5@((N5(N5@((N5&5@(&5&5@(&5&SRR@p66:8w:8w@(68w@(8w8w@(8w8w:@(8w:8w:@(8w:6:@(6:6:@(6:6SRR@pGG5H5H@(GH@(HH@(HH5@(H5H5@(H5G5@(G5G5@(G5GSRR@pW,W,5X5X@(W,X@(XX@(XX5@(X5X5@(X5W,5@(W,5W,5@(W,5W,SRR@pV]Vb#b#]@(V]#]@(#]#]@(#]#b@(#b#b@(#bVb@(VbVb@(VbV]SRR@p=`=`@(`@(``@(``=@(`=`=@(`==@(==@(=SRR@p))-x+-x+@()+@(++@(++-x@(+-x+-x@(+-x)-x@()-x)-x@()-x)SRR@p::N*;N*;@(:;@(;;@(;;N*@(;N*;N*@(;N*:N*@(:N*:N*@(:N*:SRR@pJ>J>-xK-xK@(J>K@(KK@(KK-x@(K-xK-x@(K-xJ>-x@(J>-xJ>-x@(J>-xJ>SRR@pZhZh-x\-x\@(Zh\@(\\@(\\-x@(\-x\-x@(\-xZh-x@(Zh-xZh-x@(Zh-xZhSRR@p-]-b7Fb7F]@(-]7F]@(7F]7F]@(7F]7Fb@(7Fb7Fb@(7Fb-b@(-b-b@(-b-]SRR@pEE@(@(@(E@(EE@(EE@(EE@(ESRR@p-'-'J.J.@(-'.@(..@(..J@(.J.J@(.J-'J@(-'J-'J@(-'J-'SRR@p=Q=Q-x>-x>@(=Q>@(>>@(>>-x@(>-x>-x@(>-x=Q-x@(=Q-x=Q-x@(=Q-x=QSRR@pMzMzEOEO@(MzO@(OO@(OOE@(OEOE@(OEMzE@(MzEMzE@(MzEMzSRR@p]]E_AE_A@(]_A@(_A_A@(_A_AE@(_AE_AE@(_AE]E@(]E]E@(]E]SRR@pA]AbKzbKz]@(A]Kz]@(Kz]Kz]@(Kz]Kzb@(KzbKzb@(KzbAb@(AbAb@(AbA]SRR@p 9 9J!J!@( 9!@(!!@(!!J@(!J!J@(!J 9J@( 9J 9J@( 9J 9SRR@p0c0c0202@(0c2@(22@(220@(2020@(200c0@(0c00c0@(0c00cSRR@p@@EB*EB*@(@B*@(B*B*@(B*B*E@(B*EB*E@(B*E@E@(@E@E@(@E@SRR@pPPVWRTVWRT@(PRT@(RTRT@(RTRTVW@(RTVWRTVW@(RTVWPVW@(PVWPVW@(PVWPSRR@p``=b}=b}@(`b}@(b}b}@(b}b}=@(b}=b}=@(b}=`=@(`=`=@(`=`SRR@pU]Ub_b_]@(U]_]@(_]_]@(_]_b@(_b_b@(_bUb@(UbUb@(UbU]@($~vT$w@($w#iwX@(#iwX"wX@("wX!w@(!w!vvT@(!vvT!vu@(!vu!t@(!t!t@(!t"TtL@("TtL#s@(#s$sH@($sH$Fr@($Fr$~rD@($~rD$~q@@($~q@$p@($p#ip<@(#ip<"p<@("p @(> >, @(>, > 8@(> 8= @(> > @(?Y ?" @(?" > `@(> `> @(> > @(> > @(> ?" @(?" ?Y @(?Y ? @(? ? @(? @ @(@ @4 @(@4 @4 @(@4 @ `@(@ `? @(? ? @(? ?Y @(@ @ @(@ 5AF @(AF A} @(A} A @(A B @(B B! 5@(B! 5B! @(mZmX>@(mZZ@(Z@(X>mX>@(tZKY@(KY!Y@(!Y YB@( YB Y@( Y!X@(!XKX_@(KX_tX>@(tX>X>@(X>X_@(X_X@(XY@(YYB@(YBY@(YY@(YZ@(ZtZ@(ZX>@(RZRX>@(ZX>@(YY@(YZ@(ZKZ@(KZ"Y@("YY@(YYB@(YBY@(YX@(X"X_@("X_KX>@(KX>X>@(X>X_@(X_X@(ZX>@(YBY@(YY@(YZ@(Z)Z@(`YLY@(LY Z@( ZZ@(ZY@(Y|Y@(|YYc@(YcYB@(YB"Y!@("Y!LY@(LY`X@(`X`X@(`XLX_@(LX_ X>@( X>X>@(X>X_@(X_|X@(E@(E@(E@(#@(@(W@(W@(@(g@(gE@(E=E@(=Eig@(ig@(@(W@(W@(i@(i=#@(=##@(D#DE@(DWY@(Y@(#@(##@(uu@(ug@(gE@(EE@(4##@(ffE@(f@(#@(##@(#A@(AV@(VVE@(WW@(W@(@(@(#@(#]#@(]#1@(1@(W@(W@(@(1g@(1g]E@(]EE@(Eg@(g@(#E@(W@(@(#@(# =#@( # E@(  @( !#@(!#!Y#@(!Y#!@(!!@(!!E@(''@(''p@('p'@('&@(&&@(&&h@(&h&#@(&#&@(&'@(''@(''x@('x'W@('W'@(''@(''g@('g'pE@('pE'E@('E&g@(&g&@((#(@(((v@((v(aW@((aW(a@((a(v@((v(g@((g(E@((E)E@()E);g@();g)f@()f)}@()})}W@()}W)f@()f);@();)#@()#(#@(*#*@(**+g@(*+g*WE@(*WE*E@(*E*g@(*g+@(+#+E@(++@(++g@(+g, E@(, E,8E@(+#,"#@(,,E@(,,@(,-)#@(-)#-j#@(-j#-@(--@(--E@(.EW/KW@(/KW/K@(/K/5@(/5/ @(/ .#@(.#.#@(.#.@(..[@(.[.EW@(.EW.E@(.E.[@(.[.g@(.g.E@(.E.E@(.E/ g@(/ g/K@(/#/E@(/W/@(/0&@(0&0Q#@(0Q#0#@(1#1E@(11B@(1B1m#@(1m#1#@(1#1@(11@(11E@(77E@(78@(78@(7E8E@(:j#:jE@(:j:?@(:?:#@(:#9#@(9#9@(99z@(9z9eW@(9eW9e@(9e9z@(9z9g@(9g9E@(9E:E@(:E:?g@(:?g:j@(;;@(;;#@(;#;[#@(;[#;@(;;@(;;x@(;x;EW@(;EW;4@(;4;@(;;@(;;@(;;g@(;g;E@(;E;[E@(;[E;g@(;g;@(<<@(<<g@(<g<E@(<E=E@(W@(>W>@(>>n@(>n>Y@(>Y>-#@(>-#=#@(=#=@(==@(==~W@(=~W=~@(=~=@(==g@(=g=E@(=E>-E@(>-E>Yg@(>Yg>@(?#?E@(?W?3@(?3?^@(?^?#@(?#?#@(@9#@9E@(@9@z@(@z@#@(@#@#@(@#A@(AA)@(A)A)E@(YY @(Y YkM@(YkMY?o@(Y?oXo@(XoXM@(XMX @(X X{@(X{Xe^@(Xe^Xe@(XeX{L@(X{LX@(XX@(XX@(XY?@(Y?Yk@(YkY@(YYL@(Z0[6@([6[6@([6[ ;@([ ;[ ^@([ ^Z@(ZZ@(ZZq^@(Zq^ZE@(ZEZ0@(Z0Z0n@(Z0nZE@(ZEZq@(ZqZ@(ZZ@(Z[ @([ [6@([[@([\^@(\^\<@(\<\}@(\}\^@(\^\@(\\@(]o]*@(]*]@(]]@(]]@(]B]@(^t^t@(^t^@(^^^@(^^^@(^_#@(``@(``U^@(`U^`)@(`)_@(__^@(_^_@(__{@(_{_{n@(_{n_@(__@(__@(_`)@(`)`U@(`U`@(a0oa0@(}gg@(ghL@(hLeR@(fg*@(g*gN@(gNegN@(egNg*@(g*f@(ff@(fMft@(MftfP@(fPf+@(f+e@(ee@(eev@(eveR@(eReeR@(eeRev@(eve@(hLe@(eev@(eveR@(eR4eR@({gNgN@(hLh(@(h(g@(gg@(gg*@(g*ft@(ftf@(fe@(eev@(eveR@(eRyeR@(yeRev@(eve@(ef@(f ft@( ft g*@( g*g@(gg@(gh(@(h(yhL@(yhLhL@(bee @( hL e@( e ev@( ev!eR@(!eR!1eR@( xgN!gN@(!gN!eR@(!ft!f@(!f"g*@("g*"1gN@("1gN"wgN@(#e"ev@("ev#eR@(#eR#ev@(#ev#e@(-g-g@(-g-2h@(-2h-Ih(@(-Ih(-whL@(-whL-hL@(-hL.h(@(.h(.h@(.h.1g@(.1g.1gr@(.1gr.g*@(.g*-f@(-f-eR@(-eR.HeR@(.gN.eR@(.f/0g*@(/0g*/^gN@(/^gN/gN@(/gN/g*@(/g*/f@(/f/eR@(1hL1eR@(1f1tg*@(1tg*1FgN@(1FgN1gN@(1gN0g*@(0g*0f@(0f0ft@(0ft0f+@(0f+0e@(0e0ev@(0ev1eR@(1eR1FeR@(1FeR1tev@(1tev1e@(3hL3h(@(3h(3\g@(3\g3Dg@(3Dg3-g*@(3-g*3-ft@(3-ft3Df@(3Df3\e@(3\e3ev@(3ev3eR@(3eR4eR@(4eR4Dev@(4Dev4re@(4re4f@(4f4ft@(4ft4g*@(4g*4g@(4g4rg@(4rg4Dh(@(4Dh(4hL@(4hL3hL@(3e4e @(5ZhL5Ze@(5Ze5qev@(5qev5eR@(5eR5eR@(5gN5gN@(6YgN6YeR@(6Yft6pf@(6pf6g*@(6g*6gN@(6gN7gN@(7e7ev@(7ev7eR@(7eR7ev@(7ev7e@(AhLBhL@(BhLBg*@(Bg*Beg*@(Beg*Bg@(BgBf@(BfBft@(BftBf+@(Bf+Be@(BeB|ev@(B|evB6eR@(B6eRAeR@(AeRAev@(AevAe@(AeA}e@(CdgNCdeR@(CdftC{f@(C{fCg*@(Cg*CgN@(CgNDgN@(EhLEeR@(EfEcg*@(Ecg*E4gN@(E4gNDgN@(DgNDg*@(Dg*Df@(DfD{ft@(D{ftD{f+@(D{f+De@(DeDev@(DevDeR@(DeRE4eR@(E4eREcev@(EcevEe@(GhLGxh(@(Gxh(GJg@(GJgG3g@(G3gGg*@(Gg*Gft@(GftG3f@(G3fGJe@(GJeGxev@(GxevGeR@(GeRHeR@(HeRH2ev@(H2evH`e@(H`eHxf@(HxfHft@(HftHg*@(Hg*Hxg@(HxgH`g@(H`gH2h(@(H2h(HhL@(HhLGhL@(GeHxe @(IHhLIHe@(IHeI`ev@(I`evIeR@(IeRIeR@(IgNIgN@(JHgNJHeR@(JHftJ_f@(J_fJg*@(Jg*JgN@(JgNKgN@(KeKvev@(KvevKeR@(KeRKev@(KevKe@(VhLUfP@(UfPWfP@(VhLVeR@(WhLWe@(WeWev@(WevXeR@(XeRX.eR@(WugNXgN@(XhLXeR@(XfYg*@(Yg*Y.gN@(Y.gNYtgN@(YtgNYg*@(Yg*Yf@(YfYeR@([hL[h(@([h([sg@([sg[[g@([[g[Dg*@([Dg*[Dft@([Dft[[f@([[f[se@([se[ev@([ev[eR@([eR\,eR@(\,eR\[ev@(\[ev\e@(\e\f@(\f\ft@(\ft\g*@(\g*\g@(\g\g@(\g\[h(@(\[h(\,hL@(\,hL[hL@(\e\e @(]qhL]qe@(]qe]ev@(]ev]eR@(]eR]eR@(]+gN]gN@(^pgN^peR@(^pft^f@(^f^g*@(^g*^gN@(^gN_*gN@(_e_ev@(_ev_eR@(_eR_ev@(_ev_e@(oo@(a[|he|@(ZutdF{@(ie3~e3@(h]S~ ]S@(lY5z|Y5@(a`Ng_~@(g  @(g@(lSy@(*mS7 SSR@l4 d7 S5 @04 d7 S5 4 d@())O@(6 6@(633SR@t2Q&F)R&'Q&@82Q&F)R&'Q&2SR@t9DA CCVD@89DA CCVD9SR@te Z \A \ QZ @8e Z \A \ QZ e SR@tdJ Kg IK J$ @8dJ Kg IK J$ dSR@pZut\wx\uZut@4Zut\wx\uZutZutSR@p`fd4gd4e`f@4`fd4gd4e`f`fSR@pa`Wdq`dP_a`W@4a`Wdq`dP_a`Wa`W@(afhf@(bfjSR@pbdhdqb@4bdhdqbbSR@t Hm`)\O`^\n@8 Hm`)\O`^\n Hm`@(bQb|@(arQbQ@(c*Qc*|@(d>Qd>|@(cQdQ@(eTQeT|@(eT|fh|@(fQf|@(fQhQ@(f~/g~/@(f|h|@(FfG|\@(HfG|\@(HfH\@(I7fH\@(IK-@(K-K-@(K-K@(KJ>@(J>Jc@(JcJ^c@(J^cJ#>@(J#>I@(II@(II;@(I;I@(IJ#@(J#J^\@(J^\J\@(J\J@(JK-@(M$M>@(M>Lc@(LcLTc@(LTcK>@(K>K@(KK@(KL7@(L7L`@(L`M;@(M;M$@(M$M$@(M$M@(ML\@(L\LT\@(LT\K@(KK@(NfN@(NN-@(N-Nh\@(Nh\N\@(McNc@(O6P@(PP@(PP{@(P{P^>@(P^>P#c@(P#cOc@(OcO>@(O>OT@(OTO6@(O6O6;@(O6;OT@(OTO@(OO\@(O\P#\@(P#\P^@(P^P@(QhcQh\@(QhQ@(QQ>@(Q>Qc@(QcRTc@(RcR\@(RS@>@(S@>S{c@(S{cSc@(ScT>@(T>T-@(T-T-\@(||-@(||-@(|-@(-@(i@(-@(-@( h h-@(!!@(!!@(!!C@(!C! @(!  @(  @(  n@( n! W@(! W!0@@(!0@!@(!!@(!!@(!!@(!!r@(!r!D@(!D!-@(!-!C-@(!C-! D@(! D r@(##-@(#-#-@($$-@($%A-@($T% @(%%-@(%&@@(&@&w@(&w&@(&&@(&&@(&&W@(&W&w@@(&w@&@)@(%)&@)@(&@)&w@(&w&@(&&@(&&@(&&[@(&[&wD@(&wD&@-@(&@-%-@(''-@('(@(')')@('-(-@((v(v-@((v-)Q-@(l\`lZ-@(l\`mV\`@(mV\`m\F@(m\Fm\+@(m\+m[@(m[m[@(m[m[o@(m[om[T@(m[TmV[9@(mV[9l[9@(nW\`nWZ-@(nW\`om\`@(nW[To[T@(nWZ-omZ-@(o\`oZ-@(o\`p\`@(p\`p\F@(p\Fq\+@(q\+q[@(q[q[@(q[q[@(q[p[o@(p[op[T@(p[To[T@(p[TqZ-@(s[s\@(s\sr\F@(sr\FsG\`@(sG\`r\`@(r\`r\F@(r\Fr\@(r\r[@(r[rq[@(rq[rq[@(rq[rZ@(rZrZ}@(rZ}rZG@(rZGrZ-@(rZ-sGZ-@(sGZ-srZG@(srZGsZ}@(sZ}sZ@(sZs[@(sG[s[@(tI\`tIZ-@(tI\`u \`@(u \`uJ\F@(uJ\Fu_\+@(u_\+ut[@(ut[ut[@(ut[u_[@(u_[uJ[o@(uJ[ou [T@(u [TtI[T@(t[TutZ-@(vv\`vK\F@(vK\Fv \@(v \v [@(v [u[@(u[u[@(u[v Z@(v Zv Z}@(v Z}vKZG@(vKZGvvZ-@(vvZ-vZ-@(vZ-vZG@(vZGw!Z}@(w!Z}w6Z@(w6ZwL[@(wL[wL[@(wL[w6[@(w6[w!\@(w!\v\F@(v\Fv\`@(v\`vv\`@(w\`wZ@(wZwZ}@(wZ}x"ZG@(x"ZGxbZ-@(xbZ-xZ-@(xZ-xZG@(xZGxZ}@(xZ}yZ@(yZy\`@(y\`yZ-@(y\`zz\`@(zz\`z\F@(z\Fz\+@(z\+z[@(z[z[@(z[z[o@(z[oz[T@(z[Tzz[9@(zz[9y[9@(ih9ie@(ih9je@(jh9je@(lh9k`e@(lh9le@(kflf@(mKh9mKe@(mKh9ne@(nh9ne@(nh9ne@(o|h9o|e@(o|h9ph9@(o|gp7g@(o|epe@(rh9rih@(rihr:g@(r:gr#g@(r#gr gN@(r gNr f@(r fr#fd@(r#fdr:f)@(r:f)rie@(riere@(rere@(res$e@(s$esSf)@(sSf)sjfd@(sjfdsf@(sfsgN@(sgNsjg@(sjgsSg@(sSgs$h@(s$hrh9@(rh9rh9@(t%h9t%e@(t%h9uUh9@(t%gtg@(vh9ve@(vh9wh9@(wh9wh@(whwg@(wgwg@(wgwg@(wgwgN@(wgNwg1@(wg1wg@(vgwg@(wgwf@(wfwf@(wfwf@(wfwfG@(wfGwf @(wf we@(wewe@(weve@(yh9xXe@(yh9ye@(xfyf@(zDh9zDe@(zDh9{h9@({h9{\h@({\h{tg@({tg{g@({g{g@({g{tgN@({tgN{\g1@({\g1{g@({gzDg@(zg{e@(}_g}0h@(}0h|h9@(|h9|h9@(|h9|Fh@(|Fh|g@(|g|g@(|g|/gl@(|/gl|FgN@(|FgN|tg1@(|tg1}f@(}f}0f@(}0f}Gf@(}Gf}_f@(}_f}_f)@(}_f)}0e@(}0e|e@(|e|e@(|e|Fe@(|Fe|f)@(i`i^g@(i`j&^g@(j&`j&^g@(j`j_@(j_j^@(j^k ^@(k ^kJ^g@(kJ^gks^g@(ks^gk^@(k^k^@(k^k_@(k_k`@(l`l^g@(l`m>^g@(m`m>^g@(m`m^g@(n`n^g@(n`oF`@(oF`o`p@(o`po`V@(o`Vo`"@(o`"o_@(o_o_@(o_o_@(o_oF_@(n_oF_@(oF_o_k@(o_ko_Q@(o_Qo_@(o_o^@(o^o^@(o^o^@(o^oF^g@(oF^gn^g@(p@`p@^g@(p@`qO`@(p@_p_@(p@^gqO^g@(q`q^g@(q`r`@(r`r`p@(r`pr`V@(r`Vr`"@(r`"r_@(r_r_@(r_r_@(r_r_@(r_q_@(r]_r^g@(t`t`p@(t`pte`<@(te` SimplexRoman,2; 222; 2SeptI!I``; `; ``Octx!x&&; &; &&Nov?!?WW; W; WWDec,,.,s+0-#,#(.(.(,(s+(20-(-,(-32.32.32,32s+3240-?7,?7J<.J<.J<,J<s+J<60-UA,UA`F.`F.`F,`Fs+`F80-lK,lKwP.wP.wP,wPs+wP100-U,UÍZ.Z.Z,Zs+Z120-_,_äd.d.d,ds+d140-i,iûn.n.n,ns+n160-s,sx.x.x,xs+x180-},}.,s+200,2wP``F``F&Z&ZWX=TOT2`F`wP`wP&5l&5lWoTT2d`i`i&n&nWsTTxACݸ SimplexRoman,ffNw*Monthly ExpensesQypP  SimplexRoman2 Ay ExMonth,,< SimplexRomanQf& 2y DollarsFw<O SimplexRoman*R7yElectricxp SimplexRoman*R7yElPhone$ SimplexRoman*R7yESalaryBBBBBBCHC CC C*CSeptOctNovDec monthlysales[sys]Line.Fmmonthlysales.DatMonthly ExpensesMonthDollarsElectricPhoneSalaryRƼCAT^@BmBHCA?@?Rn;B7āB SimplexRomanPA? Monthly ExpensesGp=Bf^@ SimplexRoman }@? MonthIvA`NB SimplexRomanP@@? DollarsJSAB SimplexRomanPtV@? ElectricGBB SimplexRomanPtV@? PhoneH3EBB SimplexRomanPtV@? SalaryBBBP? SimplexRoman BIBBP? SimplexRoman   m u ޜ u : u ǭUխ ч& XdX :%:% :: M &/ OO K %R0y V"g L$> ?ƃ B] ] |ʙF 4t.`^U }) yW 3@ 3763 V"[!XV" mm Ae0A %,% j[J )*hX0n) tfm(mwitfm SvU"eQ]4OSvU CA D#q?CA  e"+h d e pAzl|llАlllbl@lllmŏ1mQmtm|mhmWmGn;:n1fn)n%n#n#o'Do-oo5oAoOo_pr@pepppӏppq0qQ0qtBqQq^qhqmq/qqAqqfoqjqbqؑWqHq 8qB$qc qpppגpwpSp,p+p;oGoQoYZo].o_o_n[nU|nMPnA&n3m#mmmcmʒAm"mmslRl1llꑛlƑllzlS|lAzl p/7r9rY,XXXX؏XXXXxX_}XE{X9yX [aD`D`D`E`E`E`El`!EX`-EE`:E3`HE!`XE`hE`zE_E_E_E_E_E_E_ F_$F_;F_QF_hF_~F_F_F_F_F_F_F `G` G*`0G<`?GN`LGa`YGv`dG`mG`uG`|G`G`G`GaGaG2aGJa}G`axGvaqGahGa^GaRGaEGa7Ga'GaGbGbF!bF+bF5bFaE(aDaDaD [2&O2'O2*O2.O23Oq2;O]2COK2MO:2YO)2fO2tO 2O1O1O1O1O1O1O1 P1#P19P1PP1gP1}P1P1P1P1P1P1Q1Q1(Q1:Q2LQ2\Q 2kQ12xQC2QT2Qg2Qz2Q2Q2Q2Q2Q2Q2Q2Q3Q#3Q73QJ3Q]3Qn3~Q~3qQ3cQ3SQ3CQ31Q3Q3 Q3P3P3P3P3P3P3qP3[P3DP3.P3P3P3O3O3O3O3O3O3}O3nOw3`Oe3TOT3IOA3@O.38O31O3-O2)O2(O2&O bC`:% 푐W VƔQ푐W bChDwg?bCV  SimplexRomanT#T# X AXIS LABELHH}s SimplexRoman$$NUMBER OF LINEShᆙІ SimplexRoman$$N NAME OF LINES}΋Aȋs SimplexRoman**E OFTITLE . SimplexRomanh$h$ Y AXIS LABELOMOT SimplexRomanT#T# Y AY VALUES-D `: M SimplexRomanT#T# Y AX LABELS%%+ SimplexRoman** DATA POINTSGLB@B@@0 B@@0 GB@@ȇ PDBDPI P!BH$@CȟQ !BH$@CH P!BH(@C !BH@Ą  !LH_H@@bgy ~s`>\ӓ/g`tHt \^ {?p?  8hT? xv ~S6S ,\ x     n?  @@ p @@  @@    zYUUUUUUUUUUUUUUUUUUU5  @@  @@   @@ z   YUUUUUUUUUUUU UUUUUU5 @@ | @ @  x @@ pzYUUUUUUUUUU]UUUUUUUU5( @@  @@   @@@ 0`  @@ rYUUUUUUUUUTUUUUUUUU5 @  @@ 8!WU@p'IW  p3? @? jY_UUUUUUUUUUUUWUUU? @%(@8`@( 0@p@ `  xYIUUUUUUUUUUUUUUuUUUu ,@@x  |@x0@   @|@    xYUUUUUUUUUUUUUUUUUuU5 >@ @A  @X @` @@<! & xYUUUUUUUUUUUUUUUUUUU= 0@@| @@  0 @~ tnh '&YUUUUUUUUUUUUUUUUUUUU#k  $n@@   @@    @@ @ ? p@]7[p@/|   8 @0S P'S 8  S8 GLSILS SIL) ""?      b n Picture 10B0$0b00 S_2PPB@(ds@( z PB@( V. zPB@( | @( e @(e  @(  @(  |@( | K@( K @(  @(  @( x @(x  @(  @(  S@( S @(  @( e @(e  @(  @(  @(4  @(  @(  @(  @(  @(  @( m @(m G @(G 4 @(4 4 S@(4 SG @(G m @(m  @(  @(  @(  @(  @(  @(  @(  @( C @(C j @(j | @(| | S@(| Sj @(j C @(C  @(  @(  @(  @(  @( & @(& K @(K q @( ^ @(#o#oPB@(/V./zPB@(/z/@(. .l @(.l .F |@(.F |.3 K@(.3 K. @(. . @(. .3 :@(.3 :.F @(.F .l @(.l . @(. . @(. / @(/ /( @(/( /; :@(/; :/N @(/N /N @(/N /; K@(/; K/( |@(/( |/ @(/ . @(. . @(0 0{ @(0{ 0V @(0V 0 @(0 / @(/ / @(/ / @(/ / S@(/ S/ @(/ / @(/ 0 @(0 0V @(0V 0{ @(0{ 0 @(18 18 @(18 1K @(1K 1p @(1p 1 @(1 1 @(<4<4PB@(HV.HzPB@(HzH@(F F @(F G @(G G @(H H @(H Hg @(Hg HT @(HT HT S@(HT SHg @(Hg H @(H H @(H H @(H I @(I I6 @(I6 II S@(II SII @(II I6 @(I6 I @(I H @(H H @(I J @(J J @(TTPB@(aZV.aZzPB@(aZzaZ@(_ _ @(_ ` @(` `I @(`I `o |@(`o |` K@(` K` @(` ` @(` ` :@(` :`o @(`o `I @(`I ` @(` _ @(a a @(a a @(a a @(a a @(a a @(a ad @(ad a? @(a? a @(a a @(a a S@(a Sa @(a a? @(a? ad @(ad a @(a a @(a a @(c; c @(c b @(b b @(b b @(b bk @(bk bY @(bY bY S@(bY Sbk @(bk b @(b b @(b b @(b c @(c c; @(V.@(@(Q@(@(5@(5@(n@(n$@($Q @(Q w @(w $@($n@(n@(5@(5@(@(w@(wQ@(_zzPB@(ds  PB@(  @(zz@(z@(@(4@(44@(47@(7J@(J]@(]]@(]Jn@(Jn$$@($$h,@(h,o,@(Q4@(@(U@(U @( @(E@(EQ,@(Q,w,@(w,E@(E@( @( U@(U@(@(w4@(w4Q4@(_PB@(ds++PB@(++@($Th@(h@($T$L@(QT<@(<@(u@(u+@(+@(e@(eQL@(QLwL@(wLe@(e@(+@(+u@(u@(<@(<wT@(wTQT@(_  PB@(ds$L$LPB@($L$L@(]%+J%\@(J%\%u@(%u%u@(%u%\@(%\%@(%z$@(z$z$@(z$#@(##@(##m@(#m#m@(#m7#@(7#]#@(]#o$@(o$o$@(o$]$d@(]$d7$@(7$$@($$@($$@($$d@($dz$@(Q%u%\@(%\%@(%$@($$L@($L#@(##@(#Q#m@(Q#mw#m@(w#m#@(##@(#$L@($L$@($%@(%%\@(%\w%u@(w%uQ%u@(_''PB@(ds+l+lPB@(+l+l@(,,|@(,|z,K@(z,Kz,@(z,+@(++@(++@(+7+@(7+]+l@(]+lo+:@(o+:o*@(o*]*@(]*J*@(J**@(**@(**@(*z*@(z*h*@(h*h+:@(h+:z+l@(z+l+@(++@(+$+@($+J+@(J+],@(],],K@(],KJ,|@(J,|,@(,,@(Q,,|@(,|,2@(,2+@(++l@(+l*@(**@(*Q*@(Q*w*@(w**@(**@(*+l@(+l+@(+,2@(,2,|@(,|w,@(w,Q,@(_..PB@(ds22PB@(22@((3SN3l@(N3l3@(31@(33@(3z3S@(z3Sh2@(h2h2@(h2z2@(z21@(11@(11@(171@(71]2@(]2o2@(o2o2@(o2]3S@(]3S73@(733@(33@(Q33@(33S@(3S2@(22@(22@(21@(1Q1@(Q1w1@(w11@(12@(22@(22@(23S@(3S3@(3w3@(w3Q3@(_66PB@(ds99PB@(99@((:sN:@(N::@(:8@(z:Zz:s@(z:s:@(::@(::@(::@(:7:@(7:J:@(J:]:s@(]:s]:A@(]:AJ:@(J:$9@($9h8@(h8o8@(Q::@(::s@(:s9@(99@(990@(908@(8Q8@(Q8w8@(w88@(890@(909@(99@(9:s@(:s:@(:w:@(w:Q:@(_====PB@(ds@@PB@(@@@((ANA@(NAA@(A?@($Ah@@(h@@@($A$?@(QAA@(AA@(AA@(A@@(@@Q@(@Q@@(@Q?@(Q?w?@(w?@@(@@Q@(@Q@@(@A@(AA@(AA@(AwA@(wAQA@(_D]D]PB@(dsGGPB@(GG@((HNH@(NHI@(IG@(]HJH@(JHI@(II@(IH@(HH@(HzH8@(zH8zG@(zGGY@(GYG'@(G'G@(GG@(G7G'@(7G']GY@(]GYoG@(oGoG@(oG]H@(]H7H8@(7H8HQ@(HQHQ@(HQH8@(H8H@(HzG@(QIH@(HH@(HH8@(H8G@(GGq@(GqG'@(G'QG@(QGwG@(wGG'@(G'Gq@(GqG@(GH8@(H8H@(HH@(HwI@(wIQI@(_K~K~PB@(dsOOPB@(OO@((ONO@(NOP7@(P7N/@(P7P@(PzO@(zOzO@(zOO@(OOq@(OqOX@(OX7O?@(7O?]O@(]OoN@(oNoN@(oN]N`@(]N`JNG@(JNGN/@(N/N/@(N/NG@(NGzN`@(zN`hN@(hNhN@(hNzO@(zOO?@(O?OX@(OX$Oq@($OqJO@(JO]O@(]O]O@(]OJP@(JPP7@(P7P7@(QP7P@(PO@(OOX@(OXO@(ON@(NNG@(NGQN/@(QN/wN/@(wN/NG@(NGN@(NO@(OOX@(OXO@(OP@(PwP7@(wP7QP7@(_RR@(V.V.@(VV@(VW&@(W&(W?@((W?NWX@(NWXWX@(WXW?@(W?W&@(W&V@(VV@(VV@(VVG@(VGUO@(UOUO@(WXW?@(W?zV@(zVhVy@(hVyhV.@(hV.zU@(zUUh@(UhUO@(UOUO@(UO7Uh@(7Uh]U@(]UoV.@(oV.oVy@(oVy]V@(]V7W?@(7W?WX@(WXWX@(QWXW?@(W?V@(VVy@(VyV.@(V.U@(UUh@(UhQUO@(QUOwUO@(wUOUh@(UhU@(UV.@(V.Vy@(VyV@(VW?@(W?wWX@(wWXQWX@(dsdsV.@(dsV.V.P@( 2/+l@(/+l/+l@(/+lH9@(H9H9@(H9aZ7@(a&2aPB@( +l/2@(/2/2@(/2HF%@(HF%HF%@(HF%aZV.@(7`aAaPB@( @/D]@(/D]/D]@(/D]HG@(HGHG@(HGaZK~@(R5a[aPB@( z r[@( z!r[@(#nz!r[@(#nz#nr[@(&w%w%@(%w%%&vh@(%&vh$uM@($uM$t@($t%&sv@(%&sv%r@(%r&r[@(&r[&r[@(&r['r@('r'sv@('sv't@('t'uM@('uM'vh@('vh'w%@('w%&w@(&w&w@()9w)9r[@()9v )w%@()w%*Lw@(*Lw*w@(*w+^w%@(+^w%+v @(+v +r[@(-z-s@(-s-r@(-r.(r[@(.(r[.r[@(,w._w@(/z/r[@(/v 0w%@(0w%0w@(0w1w@(1w2w%@(2w%2;v @(2;v 2;r[@(3z3r[@(5z;>r[@(;>z>z@(;>vhr[>r[@(?wAvr[@(Avw?r[@(BwBo@(BvhCdw%@(Cdw%Cw@(CwDww@(DwwDw%@(Dw%ERvh@(ERvhEuM@(EuMEt@(EtERsv@(ERsvDr@(DrDwr[@(Dwr[Cr[@(Cr[Cdr@(CdrBsv@(FuMIfuM@(IfuMIfv @(Ifv I/v@(I/vHw%@(Hw%Hw@(HwGw@(GwGxw%@(Gxw%G vh@(G vhFuM@(FuMFt@(FtG sv@(G svGxr@(GxrGr[@(Gr[Hr[@(Hr[Hr@(HrIfsv@(JwJr[@(Jv Kw%@(Kw%Kw@(KwLw@(LwM w%@(M w%MBv @(MBv MBr[@(QvhPw%@(Pw%PCw@(PCwOw@(OwNw%@(Nw%Nvh@(NvhNu@(NuOguM@(OguMPzt@(PztPt@(PtQs@(QsQsv@(QsvPr@(PrPCr[@(PCr[Or[@(Or[Nr@(NrNsv@(RiuMTuM@(TuMTv @(Tv Tv@(TvTw%@(Tw%T w@(T wS{w@(S{wS w%@(S w%Rvh@(RvhRiuM@(RiuMRit@(RitRsv@(RsvS r@(S rS{r[@(S{r[T r[@(T r[Tr@(TrTsv@(XvhXiw%@(Xiw%Ww@(WwW w@(W wV{w%@(V{w%VDvh@(VDvhV{u@(V{uVuM@(VuMWt@(WtXit@(XitXs@(XsXsv@(XsvXir@(XirWr[@(Wr[W r[@(W r[V{r@(V{rVDsv@(8`)8`V@(8`)99V@(:)99V@(:):V@(;W;!@(;!:W@(:W:@(::n@(:n:@(:;!@(;!;WV@(;WV;V@(;V;@(;<@(<<1n@(<1n<1@(<1<W@(<W;@(;;@(;;W@(<<V@(<)=@@(=@=w@(=w=@(==@(=>)@(>)>V@(?)?@(??)@(?)?_V@(?_V?V@(>?z@(@9)@9V@(@9)@@(@@@(@A@(AAH@(AHAc)@(Ac)AcV@(G[(GXB@(G[([(@([([@([>Z@(>ZRZw@(RZwgZ @(gZ gY\@(gY\RX@(RX>X@(>XXe@(XeXB@(XBGXB@(JZ0!Z @(!Z Y@(YY\@(Y\Y@(YX@(X!Xe@(!XeJXB@(JXBXB@(XBXe@(XeX@(XY@(YY\@(Y\Y@(YZ @(Z Z0@(Z0JZ0@([(XB@(#[(#XB@(Z0XB@(YZ @(Z XZ0@(XZ0Z0@(Z0Z @(Z Y@(YY\@(Y\Y@(YX@(XXe@(XeXB@(XBXXB@(XXBXe@(XeX@(OZ0OXB@(OY\dY@(dYZ @(Z Z0@(Z0Z0@((YZ @(Z Z0@(Z0Z0@(Z0ZZ @(ZZ FY@(FYZY@(ZYY\@(Y\Y9@(Y9Y@(Y(X@((X(X@((XXe@(XeXB@(XBXB@(XBZXe@(ZXeFX@(if}@(ii@(h/Th/@(f}f}@(QiQf}@(g g@( g h@( hhW@(hWh~@(h~h@(heh@(eh7h~@(7h~ h/@( h/g@(ggi@(gi f@( f7f@(7fef}@(ef}f}@(f}f@(f f@(!h/!vh~@(!vh~!Hh@(!Hh!h@(!h h~@( h~ h/@( h/ g@( g gi@( gi f@( f f@( f!f}@(!f}!Hf}@(!Hf}!vf@(!vf!f@("[i"[g@("[g"sf@("sf"f}@("f}"f}@("h"h@(#Yh#Yf}@(#Yg#ph/@(#ph/#h~@(#h~#h@(#h$h@($mi$i@($i$i@($i$i@($i$mi@($h$f}@(&9h/& h~@(& h~%h@(%h%h@(%h%jh~@(%jh~%h@(>h>Fh@(>Fh>sh~@(>sh~>h@(>h>f}@(?,g@?g@(@?g@?h@(@?h@(hW@(@(hW@h~@(@h~?h@(?h?h@(?h?ph~@(?ph~?Ch/@(?Ch/?,g@(?,g?,gi@(?,gi?Cf@(?Cf?pf@(?pf?f}@(?f}?f}@(?f}@f@(@f@?f@(TLiCTi@(TiSi@(SiS}i@(S}iS8i@(S8iS iC@(S iCS h@(S hS!h@(S!hS8h~@(S8h~SfhW@(SfhWSh@(ShTg@(TgT5g@(T5gTLgi@(TLgiTLf@(TLfTf@(TfSf}@(Sf}S}f}@(S}f}S8f@(S8fS f@(UhUf}@(Uh/Uh~@(Uh~Uh@(UhUIh@(UIhUh~@(Uh~Th/@(Th/Tg@(TgTgi@(TgiTf@(TfUf@(UfUIf}@(UIf}Uf}@(Uf}Uf@(UfUf@(ViVf}@(XWhXWf}@(XWh/X)h~@(X)h~Wh@(WhWh@(WhWh~@(Wh~WZh/@(WZh/WCg@(WCgWCgi@(WCgiWZf@(WZfWf@(WfWf}@(Wf}Wf}@(Wf}X)f@(X)fXWf@(YhYf}@(YgY&h/@(Y&h/YTh~@(YTh~Yh@(YhYh@(Z hZf}@([ hZf}@(Zf}Zhe@(ZheZ:e@(Z:eZ eh@(Z ehYeh@(P`_`@(C]O]SR@pC]FN9FNXC]@(fsn8s@(kf)}"f)@(j\$i\$@(k|@( %j@(b|b@(1 `1@( %a]@(7hC@(0k& @(f!u^u@(jmh*_ h*@(hg_&_Nc(@(ja6@(iJ$7@( R@p  7O R@p*d , +n*d R@p^h5biVbf^h5R@p_ic$bbbX`_ic$R@p^uavatq^u@(, #R@p6]`m]6]R@pa6dv35a1a6R@p (D _*6& (DR@p yA\CK w@i yAR@la?6a36a'6a6a6a6`6`6`6`6`6`7`7`7 `7/`7?`7P`7a`7s`7`7`7`7`7`7`7`8`8`8,`8=`8M`8^`8l`8{`8`8`8`8`8`8a8a8a!8a-8a98a?8aK8aW8ad8ao8a{8a8a8a8a8a8a8a8sa8ea8Ta8Ea84a8#a8a7a7a7a7a7a7a7a7|a7ja7Ya7Ha77a7'a7a7 a6a6a6a6a6a6au6aj6a]6aQ6aE6a?6R@lH85H86H87Hx8:HJ:HW:Hc:Hq:H~:H:H:H:H:H:H:H:H:H:H:I:I:I:I(:I1:rI9:_IA:KIH:6IO: IT: IX9I\9I_9Ia9Ia9Ia9|I`9dI^9LI[94IV9IQ9IL8IE8I>8I58I,8I"8I8I 8qI8eH8YH8OH8GH8@H8;H87H86H85R@l/*o/*p/*r/*t/*x/*~/*/*/}*/s*/i*/_*/W*/P*/H*/B*/=*/8+/4+/0+"/.+1/-+A/,+R/,+a/-+q//+/2+/6+/:+/?+/E+/L+/T+/\+/d+/n, /x,/,/,#/,*/,//,4/,7/,:/,;/,;/,:/,8/,50 ,20,-0",&0,,08,0A,0K,0S+0]+0e+0l+0r+0w+0}+0+0+0+y0+i0+Y0+I0+90+)0+0~+ 0z*0u*0n*0g*0a*0X*0P*0F*0<*01*0'*0*0*|0*w/*t/*q/*p/*oR@l1 1111111111111222"222A~2Q|2a{2q{2{2|2}2222223 33#3.393B3K3S3Y3_3d3g3j3j3j 3j+3g53e?3aJ3\T3V_3Oh3Fp3=y333(333222222222y2h2Y2I2:2*22211~1u1l1c1Z1P1E1;101%111@(0)ijR@pJ7M\6K3J7R@p0)4*Y3N&0)@(Q"R* @(R*Q" @(SS4 @(STc @(SmT+@(TU @(UT @(V=V= @(WW@(WWl@(WlW @(W V@(VV@(VV@(VVh@(VhVN@(VNW 5@(W 5W@(WW@(WW@(WW@(WWU@(WUW#@(W#Wl @(Wl W  @(W  V#@(V#VU@(Y Y  @(Y  Y @(ZZ @(Z[F @(ZO[ @([[ @([\O@(\O\@(\\@(\\@(\\@(\\N@(\N\5@(\5\O@([\O@(\O\@(\\@(\\@(\\n@(\n\<@(\<\#@(\#\O @(\O [ @(]2]2 @(]2^(@(]2]@(]2 ^( @(^^ @(^ _} @(k!_$k!]@(k!_$l5]@(l5_$l5]@(l_$l]@(l]l]Q@(l]Qm]@(m]mI]@(mI]mp]@(mp]m]@(m]m]Q@(m]Qm]@(m]m_$@(n_$n]@(n_$o"]@(o_$o"]@(o_$o]@(p^_$p^]@(p^_$q_$@(q_$qJ_ @(qJ_ q^^@(q^^qq^@(qq^qq^@(qq^q^^T@(q^^TqJ^:@(qJ^:q^!@(p^^!q^!@(q^!qJ^@(qJ^q^]@(q^]qq]@(qq]qq]k@(qq]kq^]7@(q^]7qJ]@(qJ]q]@(q]p^]@(q_$q]@(q_$r_$@(q^!r^!@(q]r]@(sr_$sr]@(sr_$t#_$@(t#_$t^_ @(t^_ tr^@(tr^t^@(t^t^@(t^tr^T@(tr^Tt^^:@(t^^:t#^!@(t#^!sr^!@(s^!t]@(v7_$v_ @(v_ u^@(u^u^@(u^u^T@(u^Tu]@(u]u]@(u]u]Q@(u]Qv]@(v]v7]@(v7]v]@(v]v]@(v]v]Q@(v]Qv]@(v]v]@(v]v^T@(v^Tv^@(v^v^@(v^v_ @(v_ v_$@(v_$v7_$@(w_$w]@(w_$x_$@(w^!x%^!@(y_$y]@(y]z]@(z_$z]@({_${]@({_$|]@(|_$|]@(}N_$}N]@(}N_$~N_$@(}N^!}^!@(}N]~N]@(^_ @(_ b_$@(b_$_$@(_$~_ @(~_ ~^@(~^~^@(~^~^o@(~^o~^T@(~^T~^:@(~^:u^@(u^]@(]]@(]]@(]]Q@(]Q]@(]b]@(b]]@(]~]@(~]~]Q@(l/i4l/g@(l/i4mCg@(mCi4mCg@(nDi4mg@(nDi4ng@(mgng@(oDi4oDg@(oDi4og@(pi4og@(pi4pg@(qi4qg@(qi4ri4@(qh1qh1@(qgrg@(si4si@(sislh@(slhsYh@(sYhsEhd@(sEhdsEg@(sEgsYg@(sYgslg`@(slg`sg-@(sg-sg@(sgt g@(t gt1g-@(t1g-tYg`@(tYg`tlg@(tlgtg@(tgthd@(thdtlh@(tlhtYh@(tYht1i@(t1it i4@(t i4si4@(u i4u g@(u i4v i4@(u h1uh1@(w3i4w3g@(w3gx g@(xi4xg@(yi4yg@(yi4z3g@(z3i4z3g@(zi4zg@(zi4{i4@(zh1{oh1@(zg{g@(}Hh}!i@(}!i|i4@(|i4|i4@(|i4|[i@(|[i|4h@(|4h|4h@(|4h|Gh~@(|Gh~|[hd@(|[hd|hJ@(|hJ|h@(|h}!g@(}!g}4g@(}4g}Hg@(}Hg}Hg`@(}Hg`}!g-@(}!g-|g@(|g|g@(|g|[g-@(|[g-|4g`@(gwgt@(gKwhw@(hwht@(jwjt@(ihwjw@(kwkt@(ktl"t@(lwlt@(lwmw@(lumGu@(ltmt@( ed@(dc@(Eed@(e0c@(e hc@(jdM -dM@( e c@( e c@( Pe Pc@( eh e@( e e@( e 9e@( 9e e@( e eh@( eh e5@( e5 e@( e d@( d &d@( &d d@( d d@( d dg@( dg d4@( d4 c@( c c@( c c@( c 9c@( 9c c@( c c@(5e5c@(5cc@(eGc@(ec@(dMDdM@(ec@(ee@(ee@(ee@(eeN@(eNe@(ed@(dd@(dd@(dd@(dd@(dd@(ddM@(dMd@(dc@(cc@(cc@(cc@(zezc@(zexe@(zdd@(zcxc@(ec@(cc@(Z5 4@(43@(5 4@(l5 3@(5 3@(Y5 3@(Y5 3@(33@(O5 O3@(O333@(5 3@(33J@(3J3@(33@(3)3@()3b3@(b33J@(3J3@(35 @(25 23@(25 (5 @(244@(23 (3@( 4 k4@( k4 25 @( 25 5 @( 5 4@( 4 4@( 4 4@( 4 4]@( 4] 4D@( 4D 4+@( 4+ E3@( E3 k3@( k3 }3@( }3 3@( 3 3J@( 3J k3@( k3 23@( 23 3@( 3 3@( 3 3J@(Z~cr@(c~Zr@(~r@(rr@(F~r@(F~r@(  @( =~ =r@( =~ ~@( ~! e@(! e!3L@(!3L!F@(!F!F@(!F!3@(!3! @(!  @( = @( ! k@(! k!3R@(!3R!F @(!F !F@(!F!3@(!3! @(!  r@( r =r@(!~!r@(!~"~@(!"b@(!r"r@(#2~#2r@(#2r$r@(%j3%Ee@(%Ee% ~@(% ~$~@($~$e@($e$a3@($a3$a@($a$t@($t$@($$@($%k@(%k%ER@(%ER%X:@(%X:%j@(%j%j@(%j%E@(%E% r@(% r$r@($r$@($$a@(lvl@(lvlv@(lvlX@(lXm(@(m(m?@(m?mV@(mVmV@(mVm?@(m?m(V@(m(Vl@(ll@(ll@(nivm@(nivo!@(mn@(ovo@(oOvpv@(quvp@(quvr,@(qq@(svs@(svtSv@(tSvtX@(tXt:@(t:t@(tt@(ttf@(tftI@(tItS*@(tS*s*@(uvuX@(uXu}@(u}uf@(ufuO@(uOuO@(uOuf@(ufu}V@(u}Vu@(uu@(uv4@(v4vb@(vbvV@(vVv@(vv@(vv@(vv@(vv@(vvbX@(vbXv4v@(v4vuv@(w_vw_@(xvx@(xvyW@(yWvyW@(zjvzj@(yv{ v@(||zX@(|zX|5v@(|5v{v@({v{X@({X{g@({g{g@({g{}@({}{@({{f@({f|L*@(|L*|z @(|z |@(||@(||V@(|V|z@(|z|5@(|5{@({{@({{gV @`P0^k&p E `PܐƇ$=^P`P5u0[zE&Us,‡ΨACܵ~ &E Y |P * i| DzE&UQD\PzE&U s-0(C ^&E Y |P vpEvGzE&UP_u#>~]== ??p< SimplexRoman0M&M&0U(0M&0D$30(:Q'(:M&CJCU(CU(CM&CD$35LQ'LM&NVJNVU(NVU(NVM&NVD$40_Q'_M&iJiU(iU(iM&iD$45srQ'srM&{J{U({U({M&{D$507Q'7M&JU(U(M&D$55Q'M&\J\U(\U(\M&\D$60Q'M& J U( U( M& D$65Q'M&U(M&D$700M&0JR2M&0M&;/M&01,0,1R21R2101;/1501707ƌ=R2=R2=0=;/=1001\C0\C+IR2+IR2+I0+I;/+I1501N0NTR2TR2T0T;/T2001Z0Zk`R2k`R2k`0k`;/k`2501;f0;f lR2 lR2 l0 l;/ l3001q0qƪwR2wR2w0w;/w3501z}0z}R2J0J;/J400M&J0J0+INVwNVw{Z{Z\J6mHm0k`NV lNV l{q{q\JTmfm0=NVTNVT{ l{ l\JrmՄm0TNV=NV={ l{ l\1ېmۢm02BNV%PNV%P{T{T\xR\xRWmm{S  SimplexRomanef-{Profit by Unit}St 0 SimplexRomanϟ2z<fit Unit #0_0_=ۊ SimplexRomanf&Q".fit Profit?5I SimplexRoman*3fitWestern]Tg SimplexRoman*3fitEastern{1p{ SimplexRoman*3fiSouthernۙ* SimplexRoman*3fiNorthern SimplexRoman*3fiCentralA BHBpBCCaCCA BHBpBzCCCCA BHBpBBHCCCA BHBpBHCBCHBA BHBpBBB4CHC>CRC profitbyunit[sys]Line.Fmprofitbyunit.DatProfit by UnitUnit #ProfitWesternEasternSouthernNorthernCentralR[[A{@ B.EBCHBAB@Pn~AB,B SimplexRomanPA? Profit by UnitHmvCBIA SimplexRomanP }@? Unit #HmAINB SimplexRomanP@@? ProfitISAB SimplexRomanPtV@? WesternIBB SimplexRomanPtV@? EasternJ3EBB SimplexRomanPtV@? SouthernJBB SimplexRomanPtV@? NorthernIIBB SimplexRomanPtV@? Central ,óó ]] Ϛ Ӣ2F2 " & # sU"sU 6i Pi  ໚ͮ ~] ;- G V# d7A  ^%j VR\%? [: ʠ|)[96H]t֟ہnXG;7_*ʂ9_%/̓@Nd4{Ppş柿Մ%Hj %ڠ//+/:/c//)סBg߄Ʉݢ` D!"1CރO[cpcNc(ccނ`TKn9L,) ́Ϣ{xhTR1@2#ġv N: [{JY{LY}{OY]{UY<{\Y{eYzsYzYzYzYzYpzYYzYCzY/zZz2ZzMZylZyZyZyZyZy[y'[yH[yg[y[y[z[z[&z[9z\Mz0\czH\|z]\zs\z\z\z\ {\,{\K{\n{\{\{\{\{\|\'|\H|\h|\|\|\|\|}\|i\}S\+}<\A}"\U} \g}[v}[}[}[}u[}W[}8[}[}Z}Z}Z}Z}{Z}}]Zo}@Z^}$ZK} Z7}Y }Y}Y|Y|Y|Y|xYx|lYX|aY8|XY|RY{MY{JY{JY ģs6 v~pY4 ]ɔʷ] |ګֲ[宇 ᣻}{أ ~}YтWY$;V~uY #> 7QVAGR~>Q 5I9:5  0G 0G0G/G/G/G/G/Hq/0H_/KHP/fHA/H7/H./H(/H#/I"/!I"/@I%/aI+/I2/I x `   $&@/ʪꪪ& 0@ #`$   [J`  @ Z ]R     &   ?8骫*  A    & $  h`0!  8 {@ !@!0pe  <h 7x    p`    &   `@ 着*&@  @  ` ! w 8H*)[Z   A:/kb& G%Kz/ 0 着&      `         &       ?@>@/?@???@@@  <0>$80 kp/p,< 8 <O? C/ IIL#PKK   GL( ""?      b n Picture 10B0$0b00 S_2PPB@(e@(u@(@(A@(Az@(z@(@(@(^@(^@(@(T@(T@(@(@(*@(p@(pIy@(Iy6@(66@(6I*@(I*p@(p@(@(@(,*@(,*?@(??@(?,y@(,y@(@(@(  PB@(WuPB@(u@(@(Z@(Z@(@(@(@(^@(^@(@(m@(m5@(5@(@(*@( 3u@(uc@(cu@(u,@(,,@(, @(  F@( F Y@( Y Y^@( Y^ F@( F @( @(@(u@(uc@(cP*@($$$$PB@()0W)0uPB@()0u)0@(('x@('x) x@(((@())@())|y@()|y)i@()i)i@()i)|*@()|*)@())@()*@(**9@(*9*_*@(*_**r@(*r*r@(*r*_y@(*_y*9@(*9*@(*)@(.=.=PB@(3IW3IuPB@(3Iu3I@(22x@(2x3$x@(22@(4e3@(33@(33@(33,@(3,4,@(4,4Q@(4Q4x@(4x4@(44^@(4^4x@(4x4Q@(4Q4@(43@(33@(33@(33*@(8V8VPB@(=bW=buPB@(=bu=b@(= =@(==y@(=y=@(==@(==*@(=*=@(=> @(> >2@(>2>k@(>k>*@(>*>@(>>@(>>y@(>y>k@(>k>2@(>2> @(BoBoPB@(G|WG|uPB@(G|uG|@(GF`@(F`FM@(FMF`@(F`F,@(F,F,@(F,G @(G G0@(G0GC@(GCGC^@(GC^G0@(G0G @(G F@(FF@(FF`@(F`FM@(FMF:*@(HG@(GG@(GG@(GH,@(H,HK,@(HK,H@(HH@(HH@(HH^@(H^H@(HH@(HHK@(HKH@(HG@(GG@(GG*@(LLPB@(QWQuPB@(QuQ@(QIQ6@(Q6P@(PP@(PP@(PPyy@(PyyPf@(PfPfx@(PfxPy@(PyP@(PP@(PP@(PQ#@(Q#QI@(QIQ\^@(Q\^Q\x@(Q\xQI@(QIQ#@(Q#P@(PP@(PP@(PPy@(PyPfx@(R?R@(RQy@(QyQ@(QQ@(QQ*@(Q*R@(RR?@(R?Rd@(RdR@(RR*@(R*R@(RR@(RRy@(RyR@(RRd@(RdR?@(VVPB@([W[uPB@([u[@([b[P@([P[@([Z@(ZZ@(ZZy@(ZyZ@(ZZx@(ZxZ@(ZZ@(ZZ@(Z[@([[<@([<[b@([b[u^@([u^[ux@([ux[b@([b[<@([<[@([Z@(ZZ@(ZZ@(ZZx@(\\ @(\ [@([\ @(\ \E,@(\E,\},@(\},\@(\\@(\\@(\\^@(\^\@(\\@(\\}@(\}\E@(\E\ @(\ [@([[*@(``@(eue@(ed@(de@(fqf9@(f9fy@(fye@(ee@(ef*@(f*f9@(f9fq@(fqf@(ff@(ff*@(f*g@(gg@(gfy@(fyf@(ff@(ffq@(W@(@(Z,!@(!@(E@(E@(w@(w!*@(!*Z@(Z@(*@(*w@(w@(E@(E@(@(,@(,Z,@(i::PB@(e||PB@(||@(Q@(@(@(@(@(>@(>d@(dwb@(wbw/@(w/d@(d>@(>@(@(@(@(n@(Z!@(!J@(J@(|@(|@(!@(!Z@(Z@(@(@(|@(|@(J@(J@(@(Z@(iPB@(e$$PB@($$@(.$S$@(S$%5@(%5#@(%5%@(%$@($n$M@(n$Mn$@(n$#@(##3@(#3#@(##@(#>#3@(>#3d#@(d#w$@(w$w$M@(w$Md$@(d$>%@(>%%5@(%5%5@(Z%5!%@(!%$@($$M@($M$@($#@(#!#3@(!#3Z#@(Z##@(##3@(#3#@(#$@($$M@($M$@($%@(%%5@(%5Z%5@(i(C(CPB@(e,,PB@(,,@(.-RS-l@(S-l-@(-+@(Q--@(-,@(,,@(,-@(--@(->,@(>,d,@(d,w,k@(w,kw,7@(w,7d+@(d+>+@(>++@(++@(++@(++@(+n,@(Z-!-@(!--R@(-R,@(,,@(,,@(,!+@(!+Z+@(Z++@(++@(+,@(,,@(,,@(,-R@(-R-@(--@(-Z-@(i00PB@(e5 5 PB@(5 5 @(55@(56 @(6 .6$@(.6$S6=@(S6=6=@(6=6$@(6$6 @(6 5@(55@(55p@(5p5#@(5#4!@(4!4!@(6=6$@(6$5@(5n5V@(n5Vn5 @(n5 4@(44;@(4;4!@(4!4!@(4!>4;@(>4;d4@(d4w5 @(w5 w5V@(w5Vd5@(d5>6$@(>6$6=@(6=6=@(Z6=!6$@(!6$5@(55V@(5V5 @(5 4@(4!4;@(!4;Z4!@(Z4!4!@(4!4;@(4;4@(45 @(5 5V@(5V5@(56$@(6$6=@(6=Z6=@(i9K9KPB@(e==PB@(==@(>B>[@(>[>@(>.>@(.>S>@(S>>@(>>@(>>@(>>[@(>[>(@(>(=@(==@(=<@(<<@(Q>>@(>=@(==@(=>@(>>@(>>=@(>=d=@(d=w=t@(w=tw=A@(w=Ad<@(d<><@(><<@(<<@(<<@(<<@(<n= @(Z>!>@(!>>[@(>[=@(==@(== @(= !<@(!<Z<@(Z<<@(<<@(<= @(= =@(==@(=>[@(>[>@(>>@(>Z>@(iAAPB@(eFFPB@(FF@(GFGF@(GFyFx@(yFxFx@(FxF^@(F^FE@(FEE@(EE@(EEw@(EwEC@(ECE*@(E*SE*@(SE*EC@(ECE]@(E]E@(GFG,@(G,F@(FnF^@(nF^nF@(nFE@(EEC@(ECE*@(E*E*@(E*>EC@(>ECdE@(dEwF@(wFwF^@(wF^dF@(dF>G,@(>G,GF@(GFGF@(ZGF!G,@(!G,F@(FF^@(F^F@(FE@(E!EC@(!ECZE*@(ZE*E*@(E*EC@(ECE@(EF@(FF^@(F^F@(FG,@(G,GF@(GFZGF@(iJTJTPB@(eNNPB@(NN@(OO@(OyN@(yNN@(NN@(NN@(NN|@(N|NI@(NIM@(MM@(MM@(MSM@(SMM@(MM@(MN@(QOO@(ON@(NN@(NO@(OO@(O>N@(>NdN@(dNwN|@(wN|wNI@(wNIdM@(dM>M@(>MM@(MM@(MM@(MM@(MnN@(ZO!O@(!OOd@(OdN@(NN@(NN@(N!M@(!MZM@(ZMM@(MM@(MN@(NN@(NN@(NOd@(OdO@(OO@(OZO@(iRR@(WW@(XOV@(VV@(XOV3@(XOX5@(X5W@(WnWh@(nWhnW@(nWV@(VVM@(VMV3@(V3V3@(V3>VM@(>VMdV@(dVwW@(wWwWh@(wWhdW@(dW>X5@(>X5XO@(XOXO@(ZXO!X5@(!X5W@(WWh@(WhW@(WV@(V!VM@(!VMZV3@(ZV3V3@(V3VM@(VMV@(VW@(WWh@(WhW@(WX5@(X5XO@(XOZXO@(eeW@(eWWP@(,)0N@()0N)0N@()0N=b9K@(=b9K=b9K@(=b9KQW@(:b2!b2PB@(=)0F@()0F)0F@()0F=bJT@(=bJT=bJT@(=bJTQW@((bb22b2PB@($)05 @()05 )05 @()05 =bF@(=bF=bF@(=bFQW@(8b2B:b2PB@(5 )0$@()0$)0$@()0$=bF@(=bF=bF@(=bFQ|@(Hb2Rcb2PB@('h)01@()01)01@()01=b5 @(=b5 =b5 @(=b5 Q3U@(Q3UQ3U@(Q3Ue6@(Xb2bb2PB@((yo(r @((yo*yo@(*yo+2y@(+2y+ix@(+ix+x@(+x+v@(+v+ivD@(+ivD+2u@(+2u*u@(*u(u@(-#v-#r @(-#t-Yu@(-Yu-v@(-v.6v@(.6v.v@(0v0]v@(0]v/u@(/u/t@(/t/t'@(/t'/s@(/s0]rd@(0]rd0r @(0r 1qr @(1qr 1rd@(1rd2Ms@(2Ms2t'@(2t'2t@(2t2Mu@(2Mu1v@(1v1qv@(1qv0v@(5Qyo4yo@(4yo4ty@(4ty4=x@(4=x4=r @(3v5v@(6eyo6y@(6y6yo@(6yo6y@(6y6eyo@(6v6r @(8yo8ss@(8ss8rd@(8rd90r @(90r 9r @(7v9hv@(=yo=r @(=u=~v@(=~v=v@(=v>v@(>v?v@(?v?ou@(?ou?t@(?t?t'@(?t'?os@(?os?rd@(?rd>r @(>r =r @(=r =~rd@(=~rd=s@(@vBr @(CNvBr @(Br Ap@(ApA'o@(A'o@o@(@o@o@(FyoFt'@(Ft'Fs@(FsGerd@(GerdH r @(H r Hyr @(Hyr Ird@(IrdIs@(IsIt'@(It'Iyo@(K}vK}r @(K}uL"v@(L"vLv@(LvM6v@(M6vMv@(MvMu@(MuMr @(O]yoOy@(OyOyo@(OyoOy@(OyO]yo@(OvOr @(QyoQss@(QssQrd@(QrdR)r @(R)r Rr @(PvR`v@(9 9@(99j@(9j9@(9:<@(:<:s@(:s:@(::j@(:j;@(;; @(; U;@(;  @(> = @(= = @(= U=@(> >@(>?@(??=@(?=?s@(> U?W U@(A ?A&@(B ?A@(A& B @(A B@(Q[QY@(Q[ [@( [I[@(I[][@(][r[T@(r[TrZ@(rZ]Z@(]ZIZ@(IZ Zg@( ZgQZg@(ZY@(Z$Z@(ZAZ@(AZjZ@(jZZ@(cZ9Z@(9ZZ@(ZZ$@(Z$Y@(YY{@(Y{9Y7@(9Y7cY@(cYY@(YY7@(Y7Y{@(Y{Y@(YZ$@(Z$Z@(ZZ@(ZZ@(ZcZ@([[@([[@([[T@([TY@(oZZ@(|[[@([[@([[@([|[@(ZY@(J[JY@(JY_Y7@(_Y7Y@(YY@( ZZ@(i@f@(i@f@(i&f@(i&f@( g"g@("g"h,@("h, hw@( hwh@(hh@(hh@(hRh@(Rh$hQ@($hQ g@( g g@( g$g#@($g#Rf@(Rff@(ff@(ff@(f"g#@(hQh@(hNh@(Nh h@( hh@(hhQ@(hQh@(hg@(geg@(egg@(ggI@(gIg#@(g#f@(fNf@(Nf f@( ff@(fg#@(cicgI@(cgIzf@(zff@(ff@(hh@(Jg_g@(_g_h,@(_h,Hhw@(Hhw1h@(1hh@(hh@(hh@(hahQ@(ahQJg@(JgJg@(Jgag#@(ag#f@(ff@(ff@(f1f@(1f_g#@( h f@( g hQ@( hQ Fh@( Fh th@( th h@(!-h!-f@(!-h,!rh@(!rh!h@(!h!h@(!h"h@("h"+h,@("+h,"+f@((Qi(Qf@((Qi)}i@((QhQ) hQ@((Qf)}f@(+h+f@(+hQ*h@(*h*h@(*h*dh@(*dh*5h@(*5h*hQ@(*hQ)g@()g)g@()g*g#@(*g#*5f@(*5f*df@(*df*f@(*f*f@(*f+g#@(,hQ,h@(,h,Ih@(,Ih,h@(,h+h@(+h+hQ@(+hQ+h@(+h+g@(+g,`g@(,`g,g@(,g,gI@(,gI,g#@(,g#,f@(,f,If@(,If,f@(,f+f@(+f+g#@(-]i-]gI@(-]gI-tf@(-tf-f@(-f-f@(-h-h@(.Eg/Yg@(/Yg/Yh,@(/Yh,/Bhw@(/Bhw/,h@(/,h.h@(.h.h@(.h.h@(.h.\hQ@(.\hQ.Eg@(.Eg.Eg@(.Eg.\g#@(.\g#.f@(.f.f@(.f.f@(.f/,f@(/,f/Yg#@(/h/f@(/g0hQ@(0hQ0@h@(0@h0nh@(0nh0h@(1(h1(f@(1(h,1lh@(1lh1h@(1h1h@(1h2h@(2h2%h,@(2%h,2%f@(8iZ8yi@(8yi84i@(84i7i@(7i7i@(7i7diZ@(7diZ7di@(7di7{h@(7{h7h@(7h7hw@(7hw8Kh,@(8Kh,8yh@(8yh8g@(8g8g@(8g8g#@(8g#8yf@(8yf84f@(84f7f@(7f7f@(7f7dg#@(9h9wh@(9wh9IhQ@(9IhQ92g@(92g92g@(92g9Ig#@(9Ig#9wf@(9wf9f@(9f9f@(9f:f@(:f:Gg#@(:Gg#:^g@(:^g:^g@(:^g:GhQ@(:GhQ:h@(:h9h@(9h9h@(;h;gI@(;gI;f@(;f;Ef@(;Ef;f@(;f;f@(;f;gI@(;h;f@(h@(>h>?h@(>?h>h@(>h>h@(>h>h,@(>h,>f@(?kg@g@(@g@h,@(@h,@hhw@(@hhw@Rh@(@Rh@#h@(@#h?h@(?h?h@(?h?hQ@(?hQ?kg@(?kg?kg@(?kg?g#@(?g#?f@(?f?f@(?f@#f@(@#f@Rf@(@Rf@g#@(A!hA!f@(A!gA8hQ@(A8hQAfh@(AfhAh@(AhAh@(BNhBNf@(BNh,Bh@(BhBh@(BhCh@(ChC4h@(C4hCKh,@(CKh,CKf@(GiGf@(GiIf@(IiIf@(J)hIh@(IhIhQ@(IhQIg@(IgIg@(IgIg#@(Ig#If@(IfJ)f@(J)fJnf@(JnfJf@(JfJg#@(Jg#Jg@(JgJg@(JgJhQ@(JhQJh@(JhJnh@(JnhJ)h@(KhKf@(KgKhQ@(KhQKh@(KhKh@(KhL;h@(LiLgI@(LgILf@(LfM f@(M fM9f@(LhM#h@(MiMf@(Mh,N h@(N hN8h@(N8hN}h@(N}hNh@(NhNh,@(Nh,Nf@(OdgPyg@(PygPyh,@(Pyh,Pbhw@(PbhwPKh@(PKhPh@(PhOh@(OhOh@(OhO{hQ@(O{hQOdg@(OdgOdg@(OdgO{g#@(O{g#Of@(OfOf@(OfPf@(PfPKf@(PKfPyg#@(QhQf@(QgQ1hQ@(Q1hQQ`h@(Q`hQh@(QhQh@(RGhRGf@(RGh,Rh@(RhRh@(RhSh@(ShS-h@(S-hSEh,@(SEh,SEf@(Z]iZFiZ@(ZFiZZi@(ZiYi@(YiYi@(YiY_i@(Y_iY1iZ@(Y1iZYi@(YiYh@(YhYg@(YgYgo@(YgoY1g#@(Y1g#Y_f@(Y_fYf@(YfYf@(YfZf@(ZfZFg#@(ZFg#Z]go@(Zg[g@([g[h,@([h,[hw@([hw[h@([h[h@([h[[h@([[h[-h@([-hZhQ@(ZhQZg@(ZgZg@(ZgZg#@(Zg#[-f@([-f[[f@([[f[f@([f[f@([f[g#@(\h\f@(\h,\h@(\h]h@(]h]Wh@(]Wh]h@(]h]h,@(]h,]f@(^ki^kgI@(^kgI^f@(^f^f@(^f^f@(^&h^h@(_ih_if@(_ig_hQ@(_hQ_h@(_h_h@(_h`"h@(ahaf@(ahQafh@(afha8h@(a8h`h@(`h`h@(`h`hQ@(`hQ`g@(`g`g@(`g`g#@(`g#`f@(`f`f@(`fa8f@(a8faff@(affag#@(bMibMf@(azkz@(lHiz}iz@(j` ` @(l@(3` ` @(35 e5@(N&B@(Oa@(_|Tv@(kDk dkhp@(O\Ds Z@(!o)M @( #@(<[9V:>:>:}>&:j>1:W>;:D>C:/>J:>P:>U9>X9>[9>\9>\9>Z9x>W9a>S9J>N94>G9>?9 >68>,8>!8>8>8=8=8=8=8v=8m=8e=8_=8Z=s8V=a8T=X8T@(RU8kv&@(>8pjR@pdkhpg:kghEdkhpR@pTvW:yX wTvR@pRU;U/RSXQRU(R@p>8zA%8^@>6>8tR@pC F F4C R@p&s )W ' Q&w R@p  f  R@p wCH0E7 eA C>R@pa,c a &a@(a*+b@(j^acblR@pcblfcff`cblR@p%R * '%1R@l).M)M) M(M (M(M(M (M*(M6(MC(MQ(xMb(lMr(`M(UM(LM(DM(+C+J+T+_+j+wv+i+]+Q+F+=+5+-, ', ",8,N,f,},,!,%,*,1-8-B-/L-CW-Vb-gp-w}-----------1-D-V-g-y-------p-_-L-9-& -,,,,",#,#,r!,Z,C,,,,++++++++q+d+X+Op+G_+@M+<:+8(+6+6@(jc*ja@(jc*la@(lc*la@(lc*la@(lalaU@(laUla!@(la!ma@(mam:a@(m:amsa!@(msa!maU@(maUma@(mamc*@(nFc*nFa@(nFc*na@(owc*na@(owc*owa@(pc*pa@(pc*pc*@(pc*pc@(pcq b@(q bqb@(qbqb@(qbq bY@(q bYpb?@(pb?pb%@(pb%pb%@(pb%pb @(pb q a@(q aqa@(qaqan@(qanq a:@(q a:pa!@(pa!pa@(papa@(qc*qa@(qc*rc*@(qb%r;b%@(qara@(sc*sa@(sc*sc*@(sc*sc@(sctb@(tbtb@(tbtb@(tbtbY@(tbYsb?@(sb?sb%@(sb%sb%@(sb%ta@(uc*uc@(ucusb@(usbu_b@(u_buMbY@(uMbYuMa@(uMau_a@(u_ausaU@(usaUua!@(ua!ua@(uav a@(v av2a!@(v2a!vXaU@(vXaUvka@(vkav~a@(v~av~bY@(v~bYvkb@(vkbvXb@(vXbv2c@(v2cv c*@(v c*uc*@(wc*wa@(wc*wc*@(wb%wb%@(yc*ya@(yaza@(zac*zaa@(zc*za@(zc*|a@(|c*|a@(|c*|a@(|c*}c*@(|b%}8b%@(|a}a@(b~c@(~c~c*@(~c*~Xc*@(~Xc*~c@(~c}b@(}b}b@(}b~ bs@(~ bs~bY@(~bY~Db?@(~Db?~b @(~b ~a@(~a~a@(~aa@(aaU@(aU~a!@(~a!~a@(~a~Xa@(~Xa~a!@(~a!}aU@(bb{@(bc@(dGdG{@(ee{@(dfv@(g g {@(g {hj{@(hh{@(hjz@(h}i}@(h{jz{@(lllj@(llmj@(mlmj@(nln7j@(nlopj@(nqkSo5kS@(oloj@(olpnj@(q lpnj@(q lq j@(qlqj@(qlrl@(qkrEk@(qjrj@(tBltl@(tlslx@(slxslC@(slCsk@(skskn@(sknsk@(sksj@(sjtj@(tjtBj@(tBjtj@(tjtj@(tjtj@(tjtk@(tkukn@(uknuk@(uktlC@(tlCtlx@(tlxtl@(tltl@(tltBl@(uluj@(ulvl@(ukv,k@(wlwj@(wjxj@(ylyj@(ylyj@(ylzj@(zlzj@({Ml{Mj@({Ml|Kl@({Mk{k@({Mj|Kj@(}lx}l@(}l}^l@(}^l}l@(}l|l@(|l|lx@(|lx|lC@(|lC|l @(|l |k@(|k|k@(|k}qk@(}qk}k@(}k}kn@(}kn}k8@(}k8}j@(}j}j@(}j}^j@(}^j}j@(}j|j@(|j|j@(=cb@(ba@(vcb@(caa@(ca@(bH`bH@(ca@(ca@(ca@(cnc@(cc@(coc@(oc4c@(4c cn@( cn c8@( c8!c@(!c4b@(4b[b@([bb@(bb}@(b} bc@( bcb.@(b.a@(aa@(aa@(aoa@(oa4a@(4a a@(lcla@(la Wa@( c a@( c a@( bH }bH@( c a@( c c@( c c@( c c@( c ,cS@( ,cS ,c@( ,c b@( b b@( b b@( b b@( b b@( b b}@( b} ,bH@( ,bH ,a@( ,a a@( a a@( a a@( a a@( c a@( c c@( b Rb@( a a@(*c*a@(*aa@(OQL@(QOL@(S#RdL@(S#SL@(R/S/@(TAUL@(UTAL@(V6V6L@(X+W@(WW@(WWT@(WTW @(W V@(VVT@(VTV@(VW @(W W=@(W=W@(WWq@(WqXP@(XPX+@(X+X+@(X+Wm@(WmWL@(WLWTL@(WTLW m@(W mV@(YYL@(YLZL@([[L@([\L@([W/\E/@(]]L@(]]@(]^#@(^#^:@(^:^Ru@(^Ru^R4@(^R4^:@(^:^#@(^#]@(]]@(]^#@(^#^:q@(^:q^R/@(^R/^R@(^R^:@(^:^#m@(^#m]L@(]L]L@(^^L@(^`/@(^_@(^L`/L@(``L@(`LaL@(98@(87>@(98@(9r7>@(19r7>@( 9`7>@( 97>@(8!8!@(U9U7>@(U7>t7>@(98@(87@(737^@(37^{7>@({7>7>@(7>7^@(7^ "7@( "7 98@( 98 99@( 9 7>@( 9 .9@( 8 8@( 7> .7>@( 9 9@( 9 }9@( }9 9@( 9 9@( 9 9@( 9 9E@( 9E 9@( 9 8@( 8 8@( 8 8@( 8 8b@( 8b 8B@( 8B 8@( 8 7@( 7 7^@( 7^ }7>@( }7> 7>@( 7> 7^@( 7^ 7@( d_@(d _@( q_@(0 q_@( `_@( _@(BB@(U U_@(U_ s_@(  "@( "!@(!!2@(!2!z_@(!z_!_@(!_!@(!"!@("!"9"@("9""9 @(" "_@(" $. @("#@("_$._@(%%@(%%| @(%| % @(% $@($$@($$g@($g$&@($&$@($%@(%%@(%%@(%%c@(%c%"@(%"%@(%%@(%%|_@(%|_%_@(%_$@($$@(ll@(lm@(mm@(mnj@(njn #@(n #n:@(n:n:@(n:n @(n nT@(nTm @(m m@(ml@(otn@(otpE@(no@(q1q1@(pzq@(rr@(rs@(rjso@(uFuF@(uFv1@(v1v@(vv@(vvG@(vGv@(vv@(vvq@(vqv1N@(v1NuFN@(ww@(wwj@(wjwk#@(wk#wP@(wPwP@(wPwk@(wkwT@(wTw @(w w@(wxV@(xVx @(x xT@(xTx@(xx@(xx@(xx#@(x#xj@(xjx@(xxV@(xVw@(yy@(z{z{@(z{{@({{@(}#}#@(|l}@(j|@(|.@(.~@(~~w@(~w~Cj@(~Cj~C#@(~C#~]@(~]~w@(~w~@(~HN@(HN|*@(|*@(@(T@(T| @(| .@(.~@(~~w @(~w ~CT @Fux ny iC ck4!a!tC "iM"ox"n#lC#ox#w$k$fP%ox%P*`I2t'2t@(2t2Mu@(2Mu1v@(1v1qv@(1qv0v@(5Qyo4yo@(4yo4ty@(4ty4=x@(4=x4=r @(3v5v@(6eyo6y@(6y6yo@(6yo6y@(6y6eyo@(6v6r @(8yo8ss@(8ss8rd@(8rd90r @(90r 9r @(7v9hv@(=yo=r @(=u=~v@(=~v=v@(=v>v@(>v?v@(?v?ou@(?ou?t@(?t?t'@(?t'?os@(?os?rd@(?rd>r @(>r =r @(=r =~rd@(=~rd=s@(@vBr @(CNvBr @(Br Ap@(ApA'o@(A'o@o@(@o@o@(FyoFt'@(Ft'Fs@(FsGerd@(GerdH r @(H r Hyr @(Hyr Ird@(IrdIs@(IsIt'@(It'Iyo@(K}vK}DH*0NL俤NLdtxvxQxt Z,., txxG! %igM5B=3.0 =A:## *,8058<OD]JSxYd h THIS SOFTWARE IS FREEWARE. IT IS DISTRIBUTED AS IS. USE AT YOUR OWN RISK. PERMISSION IS GIVEN BY THE AUTHOR FREELY DISTRIBUTE THIS SOFTWARE. Charlie Brown 3/94 ,X?XGX]XeXXXXXX6X[Volume]*@ QX[Directory]*@FoX[Default file prefix]*@ X[Password(* Forms.Edf *) Function DefaultField( pForm : Pointer; pbFieldName : Pointer; cbFielsName : Word; Index : Word):Word;Extern; Function DefaultForm( pForm : Pointer):Word;Extern; Function DisplayForm( pForm : Pointer; iFrame : Word; iCol : Word; iLine : Word):Word;Extern; Function ReadField( pForm : Pointer; pbFieldName : Pointer; cbFielsName : Word; Index : Word; pbRet : Pointer; cbMax : Word; pcbRet : Pointer; pType : Pointer):Word;Extern; Function SetFieldAttrs( pForm : Pointer; pbFieldName : Pointer; cbFielsName : Word; Index : Word; attr : Word):Word;Extern; Function UserFillField( pform : Pointer; pbFieldName : Pointer; cbFielsName : Word; Index : Word; pInitState : Pointer; pExitState : Pointer):Word;Extern; Function UnDisplayForm( pform : Pointer):Word;Extern; Function WriteField(pform : Pointer; pbFieldName : Pointer; cbFielsName : Word; Index : Word; pbData : Pointer; cbdata : Word; pType : Pointer):Word;Extern; cbData : Word; psDataRet : Pointer):Word;Extern; Function ReadKbdDirect( Mode : word; pCharRet: Pointer):Word;Extern; Procedure Read_the_FieldB( Form : Pointer; Consts FieldName: LString; Index : Word; VarS DataRet : Word; ExitState: Pointer);Extern; Procedure Read_the_FieldC( FoAlphaLineform B21WelcomeForm BarForm ConfirmForm EditFileForm FunctKeysForm LineForm PieForm WelcomeForm  97Z g} } } } } } } } ^} } %} } } } -!-!=!;=!n=!i!y!y!y!y!!..p_pP ` 0Oo0o/0`0 ??   ?oP` $. p/?`9< `D{$Debug-} {$PageSize:85} Module Bar; (*------------------------------------------------------------------------- ( ( FILENAME: BarMod.Pas ( Handles data collection for preparing a Bar Chart ( ( CONTENTS: GetBarData ( SaveBarData ( Bar_Chart ( ( REVISION HISTORY ( ( VERSION DATE BY DESCRIPTION ( ------- ---- -- ----------- ( ( 1.3.1 06-04-86 CB Loose highlight on bar name field if ( bar value field has an invalid entry. ( 1.2 02-17-86 CB Allow retries in OpenDataFile ( 1.1 01-10-86 CB Fixed Code-S ( 1.0 12-01-85 CB First release ( (------------------------------------------------------------------------- *) Type Pointer = Ads of Word; BarNameType = Array[1..5] of LString(20); BarGrpType = Array[1..12] of LString(20); BarValueType= Array[1..12,1..5] of Real; LSFileSpec = LString(50); Const BarCode = 0; Bars = ' Bars'; Cancel = 7; CodeS = 211; Code_s = 243; ColorFmt = '[sys]ColorBar.Fm'; DownArrow = 11; DType = 'Character.'; F1 = 21; F3 = 23; F4 = 24; F5 = 25; F6 = 26; F8 = 29; F9 = 30; F10 = 31; Finish = 4; Fmt = 'ChgFmt'; Go = 27; Graph = 'Graph'; Groups = 'Groups'; ModeRead = ReType(Word,'mr'); ModeWrite = ReType(Word,'mw'); MonoFmt = '[sys]Bar.Fm'; Next = ' Next'; NextPage = 12; OverType = 7; Prev = ' Prev'; PrevPage = 5; Retrn = 'Return'; Saving = 'Saving...'; SaveCmplt = 'Save Complete'; StatusFld = 'Status'; UpArrow = 1; Values = 'Values'; WaitMsg = 'Please wait....'; Var [Extern] BarForm : Word; Var BarGrpName : BarGrpType; BarName : BarNameType; BarTitle : LSFileSpec; BarValue : BarValueType; ByteRet : Byte; cBarGrps : Word; cBarsPerGrp : Word; cbRead : Word; ChartType : Word; DataRet : LSFileSpec; ExitState : Record ich[0] : Word; ch[2] : Word; fAutoExit[4] : Boolean; fModified[6] : Word; fEmpty[8] : Word; Reserved[10] : Array[1..6] of Byte; End; fDone : Boolean; fGraph : Boolean; FldName : Array[1..20] of Lstring(13); FmFile : LSFileSpec; Hdr : Array[1..8] of Word; iBNames : Integer; iBGNames : Integer; FormColumn : Integer; FormRow : Integer; InitState : Array[1..4] of Word; I,J : Integer; Ok : Boolean; PicFile : LSFileSpec; Vals : Lstring(20); xLabel : LSFileSpec; yLabel : LSFileSpec; Value FldName[1] := 'BarTitle'; FldName[2] := 'xAxis'; FldName[3] := 'yAxis'; FldName[4] := 'cBarGroups'; FldName[5] := 'cBarsPerGroup'; FldName[6] := 'BarData1'; FldName[7] := 'BarData2'; FldName[8] := 'BarData3'; FldName[9] := 'BarData4'; FldName[10] := 'BarData5'; FldName[11] := 'BarData6'; FldName[12] := 'BarData7'; FldName[13] := 'BarData8'; FldName[14] := 'BarData9'; FldName[15] := 'BarData10'; FldName[16] := 'BarData11'; FldName[17] := 'BarData12'; FldName[18] := 'Bar#'; FldName[19] := 'BRGrp#'; FldName[20] := 'Format'; {$Include:'Forms.Edf'} {$Include:'Main.Edf'} {$Include:'MiscMod.Edf'} {%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% Read the data file and load the data %%%%% %%%%% into the appropriate variables. %%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%} Procedure GetBarData(VarS DataFile : LSFileSpec); Begin CheckErc(OpenDataFile(DataFile,ModeRead,False)); CheckErc(ReadDataFile(Ads ChartType, 2, Ads CbRead)); CheckErc(ReadDataFile(Ads Hdr[1], 16, Ads cbread)); CheckErc(ReadDataFile(Ads cBarGrps, 2, Ads cbRead)); CheckErc(ReadDataFile(Ads cBarsPerGrp, 2, Ads cbRead)); For I := 1 To Ord(cBarGrps) Do Begin For J := 1 To Ord(cBarsPerGrp) Do CheckErc(ReadDataFile(Ads BarValue[I,J], 4, Ads cbRead)); End; CheckErc(Read_a_Byte(Ads ByteRet)); CheckErc(ReadDataFile(Ads PicFile[1], Wrd(ByteRet), Ads cbRead)); PicFile.Len := Wrd(ByteRet); CheckErc(Read_a_Byte(Ads ByteRet)); CheckErc(ReadDataFile(Ads FmFile[1], Wrd(ByteRet), Ads cbRead)); FmFile.Len := Wrd(ByteRet); CheckErc(Read_a_Byte(Ads ByteRet)); CheckErc(ReadDataFile(Ads DataFile[1], Wrd(ByteRet), Ads cbRead)); DataFile.Len := Wrd(ByteRet); CheckErc(Read_a_Byte(Ads ByteRet)); CheckErc(ReadDataFile(Ads BarTitle[1], Wrd(ByteRet), Ads cbRead)); BarTitle.Len := Wrd(ByteRet); CheckErc(Read_a_Byte(Ads ByteRet)); CheckErc(ReadDataFile(Ads xLabel[1], Wrd(ByteRet), Ads cbRead)); xLabel.Len := Wrd(ByteRet); CheckErc(Read_a_Byte(Ads ByteRet)); CheckErc(ReadDataFile(Ads yLabel[1], Wrd(ByteRet), Ads cbRead)); yLabel.Len := Wrd(ByteRet); For I := 1 to Ord(cBarsPerGrp) Do Begin CheckErc(Read_a_Byte(Ads ByteRet)); CheckErc(ReadDataFile(Ads BarName[I,1], Wrd(ByteRet), Ads cbRead)); BarName[I].Len := Wrd(ByteRet); End; For I := 1 to Ord(cBarGrps) Do Begin CheckErc(Read_a_Byte(Ads ByteRet)); CheckErc(ReadDataFile(Ads BarGrpName[I,1], Wrd(ByteRet), Ads cbRead)); BarGrpName[I].Len := Wrd(ByteRet); End; CloseDataFile; End; {%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% Write the BGP data file and append the %%%%% %%%%% memory params to the end of the file %%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%} Procedure SaveBarData(VarS DataFile : LSFileSpec); Begin If fGraph (*-----------------------------------------------------------*) (* If fGraph then check to see if file already exists *) (*-----------------------------------------------------------*) THEN Repeat cbRead := ULCMPB(Ads DataFile[Ord(DataFile.len-3)], Ads '.dat',4); If cbRead <> #FFFF Then ConCat(DataFile, '.Dat'); Movesl(Ads DataFile[1],Ads PicFile[1],DataFile.Len-4); PicFile.Len := DataFile.Len-4; Until OverWriteOk(DataFile) ELSE (*-----------------------------------------------------------*) (* Used CODE-S, do not check for data file go ahead and save *) (*-----------------------------------------------------------*) Begin cbRead := ULCMPB(Ads DataFile[Ord(DataFile.len-3)], Ads '.dat',4); If cbRead <> #FFFF Then ConCat(DataFile, '.Dat'); Movesl(Ads DataFile[1],Ads PicFile[1],DataFile.Len-4); PicFile.Len := DataFile.Len-4; End; CheckErc(OpenDataFile(DataFile,ModeWrite,fGraph)); (*-------------------------------*) (*----- Write BGP data file -----*) (*-------------------------------*) WriteDataFile(Ads BarCode,2); For I := 1 To 8 Do Hdr[I] := #FFFF; WriteDataFile(Ads Hdr[1],16); WriteDataFile(Ads cBarGrps,2); WriteDataFile(Ads cBarsPerGrp,2); For I := 1 to Ord(cBarGrps) Do Begin For J := 1 to Ord(cBarsPerGrp) Do WriteDataFile(Ads BarValue[I,J],4); End; (*-------------------------------------------------------------*) (*----- Append parameters passed to BGP via memory (VLPB) -----*) (*----- to the end of the data file. This is done so that -----*) (*----- all data for a given graph is located in one file -----*) (*----- and can be easily recalled for Editing. -----*) (*-------------------------------------------------------------*) If fGraph Then ParamInit(2048,8); If fGraph Then ParamSetSimple(1,PicFile); WriteDataFile(Ads PicFile[0], PicFile.len+1); If fGraph Then ParamSetSimple(2,FmFile); WriteDataFile(Ads FmFile[0], FmFile.len+1); If fGraph Then ParamSetSimple(3,DataFile); WriteDataFile(Ads DataFile[0], DataFile.len+1); If fGraph Then ParamSetSimple(4,BarTitle); WriteDataFile(Ads BarTitle[0], BarTitle.len+1); If fGraph Then ParamSetSimple(5,xLabel); WriteDataFile(Ads xLabel[0], xLabel.len+1); If fGraph Then ParamSetSimple(6,yLabel); WriteDataFile(Ads yLabel[0], yLabel.len+1); If fGraph Then ParamListStart(7); For I := 1 TO Ord(cBarsPerGrp) Do Begin If fGraph Then ParamSetNextInList(BarName[I]); WriteDataFile(Ads BarName[I].Len,BarName[I].Len+1); End; If fGraph Then ParamListStart(8); For I := 1 TO Ord(cBarGrps) Do Begin If fGraph Then ParamSetNextInList(BarGrpName[I]); WriteDataFile(Ads BarGrpName[I].Len,BarGrpName[I].Len+1); End; CloseDataFile; End; {%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% 1) Collects all the data from the BARFORM necessary to graph %%%%% %%%%% a Line graph. %%%%% %%%%% %%%%% %%%%% fEdit will be TRUE if the Edit Function key has been pressed or %%%%% %%%%% all form fields have been accessed. DataSpec will then contain the %%%%% %%%%% file spec of the data file. %%%%% %%%%% %%%%% %%%%% Fields on the form are accessed by: %%%%% %%%%% setting FormColumn ----> for the COLUMN the field is in %%%%% %%%%% setting FormRow -----> for the ROW the field is in %%%%% %%%%% %%%%% %%%%% FormColumn = 1 FormColumn = 2 FormColumn = 3 %%%%% %%%%% -------------- -------------- -------------- %%%%% %%%%% FormRow = 1 Title %%%%% %%%%% 2 X Axis Name %%%%% %%%%% 3 Y Axis Name %%%%% %%%%% 4 # of Bar Grps %%%%% %%%%% 5 # of Bars/Grp %%%%% %%%%% 6 BarName[1] BGrpName[1] BarVal[1] %%%%% %%%%% 7 BarName[2] BGrpName[2] BarVal[2] %%%%% %%%%% 8 BarName[3] BGrpName[3] BarVal[3] %%%%% %%%%% 9 BarName[4] BGrpName[4] BarVal[4] %%%%% %%%%% 10 BarName[5] BGrpName[5] BarVal[5] %%%%% %%%%% 11 BGrpName[6] %%%%% %%%%% 12 BGrpName[7] %%%%% %%%%% 13 BGrpName[8] %%%%% %%%%% 14 BGrpName[9] %%%%% %%%%% 15 BGrpName[10] %%%%% %%%%% 16 BGrpName[11] %%%%% %%%%% 17 BGrpName[12] %%%%% %%%%% %%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%} Procedure Bar_Chart(fEdit : Boolean; DataSpec : LSFileSpec); Begin InitState[1] := 0; cBarGrps := 0; cBarsPerGrp := 0; For I := 1 To 12 Do For J := 1 To 5 Do BarValue[I,J] := 0; iBNames := 1; iBGNames := 1; FormRow := 1; FormColumn := 1; DisplayFKeys; DisplayFunctionKey(10,Retrn,0); fDone := False; fGraph := False; CheckErc(DisplayForm(Ads BarForm, 0, 255, 255)); If fEdit Then Begin (*-----------------------------------------------------------*) (*----- Go read the data file and display the data into -----*) (*----- the form. -----*) (*-----------------------------------------------------------*) GetBarData(DataSpec); Write_the_FieldC(Ads BarForm, FldName[1], 0, Ads BarTitle[1], BarTitle.Len); Write_the_FieldC(Ads BarForm, FldName[2], 0, Ads xLabel[1], xLabel.Len); Write_the_FieldC(Ads BarForm, FldName[3], 0, Ads yLabel[1], yLabel.Len); Write_the_FieldB(Ads BarForm, FldName[4], 0, Ads cBarGrps); Write_the_FieldB(Ads BarForm, FldName[5], 0, Ads cBarsPerGrp); For I := 1 To Ord(cBarsPerGrp) Do Write_the_FieldC(Ads BarForm, FldName[5+I], 1, Ads BarName[I,1], BarName[I].Len); For I := 1 To Ord(cBarGrps) Do Write_the_FieldC(Ads BarForm, FldName[5+I], 2, Ads BarGrpName[I,1], BarGrpName[I].Len); For I := 1 To Ord(cBarsPerGrp) Do Begin Ok := Encode(Vals,BarValue[1,I]:-20:2); Write_the_FieldC(Ads BarForm, FldName[5+I], 3, Ads Vals[1], Vals.Len); End; Write_the_FieldC(Ads BarForm, FldName[20], 0, Ads FmFile[1], FmFile.Len); End ELSE Begin (*-----------------------------------------------------------*) (*----- Set up the default Format file to be used to -----*) (*----- create the graph and display it to the form. -----*) (*-----------------------------------------------------------*) If Color_Hdw Then FmFile := ColorFmt Else FmFile := MonoFmt; Write_the_FieldC(Ads BarForm, FldName[20], 0, Ads FmFile[1], FmFile.Len); End; WHILE NOT(fDone) DO Begin If fEdit THEN [DisplayFunctionKey(1,Graph,4); DisplayFunctionKey(3,Fmt,5); DisplayFunctionKey(4,Bars,5); DisplayFunctionKey(5,Groups,5); DisplayFunctionKey(6,Values,5); CheckErc(SetKbdLed(OverType,True))] ELSE [DisplayFunctionKey(1,Graph,5); DisplayFunctionKey(3,Fmt,5); DisplayFunctionKey(4,Null,5); DisplayFunctionKey(5,Null,5); DisplayFunctionKey(6,Null,5); CheckErc(SetKbdLed(OverType,False))]; If (cBarsPerGrp > 0) Then [DisplayFunctionKey(4,Bars,5); DisplayFunctionKey(5,Groups,5); DisplayFunctionKey(6,Values,5)]; Case FormColumn of (*---------------------------------------------------------*) (*----- If the FormRow is > 5 then the Title, XAxis -----*) (*----- name, YAxis name, Number of Bar groups & -----*) (*----- Number of bars per group have been entered. -----*) (*----- -----*) (*----- FormColumn = 1 is the BarName column. -----*) (*----- FormColumn = 2 is the BarGrpName column. -----*) (*----- FormColumn = 3 is the BarValue column. -----*) (*----- -----*) (*----- This Case statement writes the number of the -----*) (*----- BarName, BarGrpName or the number of the -----*) (*----- BarValue into the form, that is currently -----*) (*----- being input. -----*) (*---------------------------------------------------------*) 1 : If FormRow > 5 Then Begin Write_the_FieldB(Ads BarForm, FldName[18], 1, Ads iBNames); CheckErc(DefaultField(Ads BarForm, Ads FldName[19,1], FldName[19].Len, 1)); CheckErc(DefaultField(Ads BarForm, Ads FldName[18,1], FldName[18].Len, 2)); CheckErc(DefaultField(Ads BarForm, Ads FldName[19,1], FldName[19].Len, 2)); DisplayFunctionKey(8,Null,5); DisplayFunctionKey(9,Null,5) End; 2 : Begin Write_the_FieldB(Ads BarForm, FldName[19], 1, Ads iBGNames); CheckErc(DefaultField(Ads BarForm, Ads FldName[18,1], FldName[18].Len, 1)); CheckErc(DefaultField(Ads BarForm, Ads FldName[18,1], FldName[18].Len, 2)); CheckErc(DefaultField(Ads BarForm, Ads FldName[19,1], FldName[19].Len, 2)); DisplayFunctionKey(8,Null,5); DisplayFunctionKey(9,Null,5) End; 3 : Begin Write_the_FieldB(Ads BarForm, FldName[18], 2, Ads iBNames); Write_the_FieldB(Ads BarForm, FldName[19], 2, Ads iBGNames); CheckErc(DefaultField(Ads BarForm, Ads FldName[18,1], FldName[18].Len, 1)); CheckErc(DefaultField(Ads BarForm, Ads FldName[19,1], FldName[19].Len, 1)); If (FormRow >= 1) AND (FormRow <= 5) Then [DisplayFunctionKey(8,Null,5); DisplayFunctionKey(9,Null,5); CheckErc(DefaultField(Ads BarForm,Ads FldName[18,1], FldName[18].Len,2)); CheckErc(DefaultField(Ads BarForm,Ads FldName[19,1], FldName[19].Len,2)); CheckErc(SetFieldAttrs(Ads BarForm, Ads FldName[iBGNames+5,1], FldName[iBGNames+5].Len, 2, 0));] Else [CheckErc(SetFieldAttrs(Ads BarForm, Ads FldName[iBNames+5,1], FldName[iBNames+5].Len, 1, 5)); CheckErc(SetFieldAttrs(Ads BarForm, Ads FldName[iBGNames+5,1], FldName[iBGNames+5].Len, 2, 5)); DisplayFunctionKey(8,Prev,4); DisplayFunctionKey(9,Next,4)]; If (FormRow = 6) OR (ExitState.ch = F6) Then Begin For I := 1 TO Ord(cBarsPerGrp) Do Begin CheckErc(DefaultField(Ads BarForm, Ads FldName[I+5,1], FldName[I+5].Len, 3)); If (BarValue[iBGNames,I] <> 0) OR fEdit Then Begin Ok := Encode(Vals,BarValue[iBGNames,I]:-20:2); Write_the_FieldC(Ads BarForm, FldName[I+5], 3, Ads Vals[1], Vals.Len) End End End End {Case of 3} Otherwise ; End;{Case} Ok := FALSE; WHILE NOT(Ok) DO Begin (*----------------------------------------------------------*) (*----- Ok will be set to TRUE if the data entered for -----*) (*----- the form field is appropriate for that field. -----*) (*----- Data read from the field in the form is -----*) (*----- returned in the LString DataRet. -----*) (*----------------------------------------------------------*) Read_The_FieldC(Ads BarForm, FldName[FormRow], Wrd(FormColumn), DataRet, Upper(DataRet), Ads ExitState); WriteStatusLine(Ads BarForm, Null, 0, False); If (FormColumn = 3) AND THEN (FormRow-5 = Ord(cBarsPerGrp)) Then CheckErc(SetFieldAttrs(Ads BarForm, Ads FldName[iBGNames+5,1], FldName[iBGNames+5].Len, 2, 0)); Case FormRow Of (*-------------------------------------------------------*) (*----- Based on which Row and Column is active on -----*) (*----- the form this case statement knows what data-----*) (*----- is being input and does the appropriate -----*) (*----- checks and places the entered data in the -----*) (*----- appropriate variable. -----*) (*-------------------------------------------------------*) 1 : [BarTitle := DataRet; RemoveBlanks(BarTitle,DataSpec); If DataSpec.Len = 0 Then Ok := False Else [Ok := True;FormColumn := 1;iBNames := 1;iBGNames := 1]; Case ExitState.ch Of F10, Finish, Cancel : Ok := True; Otherwise ; End; If Not(OK) Then [Beep; WriteStatusLine(Ads BarForm, 'An entry is required!', 0,False)]]; 2 : [xLabel := DataRet; FormColumn := 1; Ok := True]; 3 : [yLabel := DataRet; FormColumn := 1; Ok := True]; 4 : [RemoveBlanks(DataRet,DataRet); FormColumn := 1; Ok := Decode(DataRet,cBarGrps); If (cBarGrps <= 0) OR (cBarGrps > 12) Then Ok := False; Case ExitState.ch Of F10, Finish, Cancel, UpArrow : Ok := True; Otherwise ; End; If Not(OK) Then [Beep; WriteStatusLine(Ads BarForm, 'Valid entries are 1 - 12.', 0,False)]]; 5 : [RemoveBlanks(DataRet,DataRet); Ok := Decode(DataRet,cBarsPerGrp); If (cBarsPerGrp <= 0) OR (cBarsPerGrp > 5) Then Ok := False; Case ExitState.ch Of F10, Finish, Cancel, UpArrow : Ok := True; Otherwise ; End; If Not(OK) Then [Beep; WriteStatusLine(Ads BarForm, 'Valid entries are 1 - 5.', 0,False)]]; Otherwise [Case FormColumn Of 1 : [BarName[iBNames] := DataRet; Ok := True]; 2 : [BarGrpName[iBGNames] := DataRet; Ok := True]; 3 : [CheckErc(SetFieldAttrs(Ads BarForm, Ads FldName[iBNames+5,1], FldName[iBNames+5].Len, 1, 0)); RemoveBlanks(DataRet,DataRet); Ok := Decode(DataRet,BarValue[iBGNames,iBNames]); Case ExitState.ch Of F10, Finish, Cancel, UpArrow : Ok := True; Otherwise ; End; If Not(OK) Then [Beep; CheckErc(SetFieldAttrs(Ads BarForm, Ads FldName[iBNames+5,1], FldName[iBNames+5].Len,1, 5)); WriteStatusLine(Ads BarForm, 'A Number is required!', 0,False)]]; Otherwise ; End];{Case of FormColumn} End;{Case of FormRow} End; {While Not(OK)} Case ExitState.ch of (*---------------------------------------------------*) (*----- This case statement checks the value of -----*) (*----- the keyboard key used to terminate the -----*) (*----- current form field. -----*) (*---------------------------------------------------*) CodeS, Code_s : If DataSpec.Len <> 0 Then [WriteStatusLine(Ads BarForm, Saving, 0, False); SaveBarData(DataSpec); WriteStatusLine(Ads BarForm, SaveCmplt, 0, False)]; F1,Go : If fEdit Then [fDone := TRUE; fGraph := TRUE]; F10 : [fDone := True; fGraph := FALSE]; Finish : ConfirmFinish; Cancel : WriteStatusLine(Ads BarForm, Null, 0, False); F3 : Read_The_FieldC(Ads BarForm, FldName[20], 0, FmFile, Upper(FmFile), Ads ExitState); F4 : [CheckErc(SetFieldAttrs(Ads BarForm, Ads FldName[iBNames+5,1], FldName[iBNames+5].Len,1,0)); CheckErc(SetFieldAttrs(Ads BarForm, Ads FldName[iBGNames+5,1], FldName[iBGNames+5].Len,2,0)); DisplayFunctionKey(8,Null,5);DisplayFunctionKey(9,Null,5); If fEdit OR (cBarsPerGrp > 0) THEN [FormColumn := 1; FormRow := iBNames+5]]; F5 : [CheckErc(SetFieldAttrs(Ads BarForm, Ads FldName[iBNames+5,1], FldName[iBNames+5].Len,1,0)); CheckErc(SetFieldAttrs(Ads BarForm, Ads FldName[iBGNames+5,1], FldName[iBGNames+5].Len,2,0)); DisplayFunctionKey(8,Null,5);DisplayFunctionKey(9,Null,5); If fEdit OR (cBarsPerGrp > 0) THEN [FormColumn := 2; FormRow := iBGNames+5]]; F6 : [If fEdit OR (cBarsPerGrp > 0) THEN [FormColumn := 3; FormRow := iBNames+5]]; F8,PrevPage : If (FormColumn = 3) AND THEN (FormRow > 5) Then [CheckErc(SetFieldAttrs(Ads BarForm, Ads FldName[iBGNames+5,1], FldName[iBGNames+5].Len,2,0)); If iBGNames <> 1 Then [iBGNames := iBGNames -1;iBNames := 1; FormRow := 6]]; F9,NextPage : If (FormColumn = 3) AND THEN (FormRow > 5) Then [CheckErc(SetFieldAttrs(Ads BarForm, Ads FldName[iBGNames+5,1], FldName[iBGNames+5].Len, 2, 0)); If iBGNames <> Ord(cBarGrps) Then [iBGNames := iBGNames +1 ;iBNames := 1;FormRow := 6]]; UpArrow : If FormRow = 1 THEN {Do nothing} ELSE [FormRow := FormRow -1; If FormRow > 5 Then Begin Case FormColumn of 1 : iBNames := FormRow - 5; 2 : iBGNames := FormRow - 5; 3 : iBNames := FormRow - 5; Otherwise ; End End]; DownArrow: [Case FormRow of 1 : FormRow := FormRow +1; 2 : FormRow := FormRow +1; 3 : FormRow := FormRow +1; 4 : FormRow := FormRow +1; 5 : FormRow := FormRow +1; 6..17 : [Case FormColumn of 1 : If FormRow-5 = Ord(cBarsPerGrp) Then [FormRow :=6;iBNames := FormRow-5] Else [FormRow :=FormRow +1;iBNames := FormRow-5]; 2 : If FormRow-5 = Ord(cBarGrps) Then [FormRow:= 6;iBGNames := FormRow-5] Else [FormRow :=FormRow+1;iBGNames := FormRow-5]; 3 : If FormRow-5 = Ord(cBarsPerGrp) Then [FormRow := 6; iBNames := 1;] Else [FormRow := FormRow +1;iBNames := iBNames +1;]; Otherwise ; End];{Case of FormColumn} Otherwise ; End];{Case of FormRow} Otherwise [Case FormRow of 1 : FormRow := FormRow +1; 2 : FormRow := FormRow +1; 3 : FormRow := FormRow +1; 4 : FormRow := FormRow +1; 5 : FormRow := FormRow +1; 6..17 : [Case FormColumn of 1 : If FormRow-5 = Ord(cBarsPerGrp) Then [FormRow :=6; FormColumn := 2;iBNames:=1] Else [FormRow :=FormRow+1;iBNames := FormRow-5]; 2 : If FormRow-5 = Ord(cBarGrps) Then [FormRow :=6; FormColumn :=3;iBGNames:=1] Else [FormRow :=FormRow +1;iBGNames:=FormRow-5]; 3 : Begin If (iBNames = Ord(cBarsPerGrp)) AND (iBGNames = Ord(cBarGrps)) Then [FormRow := 1; fEdit := True] Else Begin If FormRow-5 = Ord(cBarsPerGrp) Then [FormRow := 6; iBNames := 1; iBGNames := iBGNames +1;] Else [FormRow := FormRow +1; iBNames := iBNames +1;]; End; End; Otherwise ; End];{Case of FormColumn} Otherwise ; End];{Case of FormRow} End;{Case of ExitState.ch} (*-------------------------------------------------------------*) (*----- Check that all required fields have been entered, -----*) (*----- if not, set the form row & column to where the -----*) (*----- entry is in error and activate that field. -----*) (*-------------------------------------------------------------*) If (fDone AND fGraph) Then For I := Ord(cBarsPerGrp) DownTo 1 Do If BarName[I].Len = 0 Then Begin Beep; WriteStatusLine(Ads BarForm, 'Invalid or missing entry.',0,False); iBNames := I; FormRow := iBNames+5; FormColumn := 1; fDone := False End; If (fDone AND fGraph) Then For I := Ord(cBarGrps) DownTo 1 Do If BarGrpName[I].Len = 0 Then Begin Beep; WriteStatusLine(Ads BarForm, 'Invalid or missing entry.',0,False); iBGNames := I; FormRow := iBGNames+5; FormColumn := 2; fDone := False End; End; {While Not(fDone)} CheckErc(UnDisplayForm(Ads BarForm)); If fGraph Then [SaveBarData(DataSpec); ZipBGP]; End;{Procedure} End. If (FormColumn = 3) AND THEN (FormRow > 5) Then [CheckErc(SetFieldAttrs(Ads BarForm, Ads FldName[iBGNames+5,1], FldName[iBGNames+5].Len, 2, 0)); If iBGNames <> Ord(cBarGrps) Then [iBGNames := iBGNames +1 ;iBNames := {Misc. for modules} Procedure CheckErc( Erc : Word);Extern; Function PutFrameChars(iFrame : Word; iCol : Word; iLine : Word; pbText : Pointer; cbText : Word):Word;Extern; Procedure Beep;Extern; Function ULCMPB( pbString1 : Pointer; pbString2 : Pointer; cbStrings : Word):Word;Extern; cbString: Word);Extern; Procedure Exit;Extern; Function LoadTask( fh : Word; Priority : Word; fDe(* ByteStream.Edf *) Function CheckpointBs( pBSWA : Pointer):Word;Extern; Function CloseByteStream(pBSWA : Pointer):Word;Extern; Function GetBsLfa( pBSWA : Pointer; plfaRet : Pointer):Word;Extern; Function OpenByteStream(pBSWA : Pointer; pbFilespec : Pointer; cbFileSpec : Word; pbPassword : Pointer; cbPassword : Word; Mode : Word; pBufferArea : Pointer; sBufferArea : Word):Word;Extern; Function QueryVisBs( pBSWA : Pointer; pBsStatRet : Pointer):Word;Extern; Function ReadBsRecord( pBSWA : Pointer; pBufferRet : Pointer; sBufferMax : Word; psDataRet : Pointer):Word;Extern; Function ReadByte( pBSWA : Pointer; pbRet : Pointer):Word;Extern; Function ReadBytes( pBSWA : Pointer; cbMax : Word; ppbret : Pointer; pcbret : Pointer):Word;Extern; Function SetBsLfa( pBSWA : Pointer; lfa : Integer4):Word;Extern; Function SetImageMode( pBSWA : Pointer; mode : Word):Word;Extern; Function WriteBsRecord( pBSWA : Pointer; pb : Pointer; cb : Word; pcbRet : Pointer):Word;Extern; Function WriteByte( pBSWA : Pointer; b : Byte):Word;Extern; 8 WelcomeFormObjIO version X2.4~DATAFHo WelcomeForm oE`o  >> Ǡs 2tB21WelcomeFormObjIO version X2.4~DATAFHB21WelcomeForm =GQQQQQQUUUUIIIIIIIICCCCCCKKKKQQQQQQQQUUUUIIIIIIIICCCCCCCCKKKKQQQQUUUUIICC KKKKQQQQUUUUIICC KKKK QQQQQUUUUIICC KKKKKKQQQQQUUUUIICC KKK KKQQQQQQQQ UUUUUUUUIIIIIIIICCCCCCCCKKKKQQQQQQ  UUUUUUIIIIIIIICCCCCCKKKK  :GGGGGGGRRRRRRRAAAAAAPPPPPPPHHHHGGGGGGGGRRRRRRRRAAAAAAAAPPPPPPPPHHHHGGGGRRRRAAAAPPPPHHHHGG RRRRRRRRAAAAAAAAPPPPPPPPHHHHHHHHGGGGGGRRRRRRRAAAAAAAAPPPPPPPHHHHHHHHGGGGRRRRAAAAPP HHHHGGGGGGGG RRRRAAAAPP HHHHGGGGGGRRRRAAAAPP HHHHt AlphaLineFormObjIO version X2.4~DATAFHP AlphaLineForm BP>'Line Graph - AlphaNumeric<Title of the LINE Graph=X (Horizontal) Axis label=Y (Vertical) Axis label=<)The number of Comparative LINES for graph= The numberof Data Points per Line= < Name of LineX LabelY Value!  !  !  !  !  $  $  $  $  $  $   Format =   <;Zd@dd@kd@.r@d@.y@d@ dB- dB: dB !@d@% @d@2 @d@ !d@% d@2 d@ !d@% d@2 d@ !T@d@% @d@2 @d@!@d@% @d@2 @d@% @d@2 d@% d@2 d@% d@2 d@% d@2 d@% d@2 d@% $d@2 $d@ 3d@% :d@2 :d@;Id LineTitleXLabelYLabelcLinescCoordsLine#xValue#yValue# LineData1 LineData2 LineData3 LineData4 LineData5 LineData6 linedata7 linedata8 linedata9 linedata10 linedata11FORMAT linedata12StatusVt BarFormObjIO version X2.4~DATAFH\BarForm M!! Bar Graph!KTitle for the Bar Graph= KX (Horizontal) Axis name=  Y (Vertical) Axis name= Number of Groups with Bars = +Number of BARS per Group= Format = K Name of Bar  Name of Bar Group  Value of BAR  in Group KK @@ @ @@@1@ B+ B= BH B @ @0 @ @ @0 @ "@ "@0 "@ /@ /@0 /@<@<@0<@I@V@c@p@}@@@KBARTitleXaxisYaxis cBarGroups cBarsPerGroupFormatBar#BRGrp#BarData1Bardata2Bardata3bardata4bardata5bardata6bardata7bardata8bardata9 bardata10 bardata11 bardata12Status]t ConfirmFormObjIO version X2.4~DATAFHk ConfirmForm okPCREnter the name of a Quick Graph data file and Press Go.PPbk@FileNameĊt EditFileFormObjIO version X2.4~DATAFHH EditFileForm ;x97Enter the name of a Quick Graph data file and Press GO.9(99(@@9@DataFileStatus t FunctKeysFormObjIO version X2.4~DATAFH FunctKeysForm M9H EEEE E'E.E9E@ EG EFkey t LineFormObjIO version X2.4~DATAFH\LineForm 2\N8G0 Line Graph - NumericLTitle of the LINE Graph=X (Horizontal) Axis label=Y (Vertical) Axis label=The number of ComparativeLINES for graph=L Name of Line# of Data Points for LineX ValueY Value               4  4  4  4  4  4   Format = "  LLL!Data file format: Leading Spaces  Data length  Trailing Spaces GQ@QQ@XQ@._Q@fQB1fQB<pQBIxQBQ@#Q@5 Q@B `Q@ Q@# Q@5 Q@B Q@ Q@# Q@5 Q@B Q@ Q@# Q@5 Q@B Q@ Q@# Q@5 Q@B Q@5 Q@B Q@5 Q@B Q@5 Q@B Q@5 Q@B Q@5 Q@B Q@5  Q@B  Q@ "Q@5 #Q@B #Q@L2QL9Q@"BQ@4KQ@JSQ@ LineTitleXLabelYLabelcLinesLine#xValue#yValue# LineData1 LineData2 LineData3 LineData4 LineData5 LineData6 LineData7 LineData8 LineData9 LineData10 LineData11Format LineData12StatusDataFileXFormat1DFormatXFormat2t PieFormObjIO version X2.4~DATAFH4PieForm 9?N& Pie ChartTitle of PIE chart=The number of slices=Name of Slice   Value of Slice7 Format = '77@@@B4B@%@@%@@%@@%@ @% @ @% @ +@% +@ :@@% :@@ I@@% I@@ X@@% X@@h@@%h@@x@@%x@@@@%@@@@%@@@@%@@@@%@@ '@7PieTitleNumberOfSlicesSlice# SliceData1 SliceData2 SliceData3 SliceData4 SliceData5 SliceData6 SliceData7 SliceData8 SliceData9 SliceData10 SliceData11 SliceData12 SliceData13 SliceData14 SliceData15 SliceData16FormatStatusct3"*9 LineForm!AlphaLineForm! WelcomeForm!FunctKeysForm!BarForm! 7D0Zh?(I!RbqLineForm AlphaLineForm ConfirmForm EditFileForm WelcomeForm FunctKeysFormBarForm PieFormB21WelcomeForm ConfirmForm! EditFileForm!PieForm!B21WelcomeForm!QuickGraph.OBJ PieMod.OBJ LineMod.OBJ BarMod.OBJ AlphaLineMod.OBJ file 'QuickGraph.Run %'[Map file] '%2 %'[Publics?] ' %'[Line numbers?] ' %'[Stack size] ' %'[Max. array, data, code]'1 1 1 %'[Min. array, data, code]'1 1 1 %'[Run file mode] 'Protected %'[Version] ''%0 %D|!*o!/!*d!/!yy! !*h!:!0m!!*a!|' %'[Libraries] 'QGForms.lib [SYS]Forms.Lib [sys]CmApi.Lib %'[DS allocation?] ' %'[Symbol file] {$Debug-} Module Pie; (*------------------------------------------------------------------------- ( ( FILENAME: PieMod.Pas ( Handles data collection for preparing a Pie Chart ( ( CONTENTS: GetPieData ( SavePieData ( Pie_Chart ( ( REVISION HISTORY ( ( VERSION DATE BY DESCRIPTION ( ------- ---- -- ----------- ( ( 2.1 11-26-88 CB Supports OFIS Graphics (16 Pie Slices) ( 1.2 02-17-86 CB Allow retries in OpenDataFile ( 1.1 01-10-86 CB Fixed Code-S ( 1.0 12-01-85 CB First release ( (------------------------------------------------------------------------- *) TYPE ExitStateType = RECORD ich[0] : WORD; ch[2] : WORD; fAutoExit[4] : BOOLEAN; fModified[6] : WORD; fEmpty[8] : WORD; Reserved[10] : ARRAY[1..6] OF BYTE; END; LSFileSpec = LSTRING(50); Pointer = ADS OF WORD; SliceNameType = ARRAY[1..16] OF LSTRING(20); SliceValueType = ARRAY[1..16] OF Real; CONST Cancel = 7; CodeS = 211; Code_s = 243; ColorFmt = '[sys]ColorPie.Fm'; DownArrow = 11; DType = 'Character.'; F1 = 21; F3 = 23; F4 = 24; F5 = 25; F10 = 31; Finish = 4; Fmt = 'ChgFmt'; Go = 27; Graph = 'Graph'; ModeRead = ReType(WORD,'mr'); ModeWrite = ReType(WORD,'mw'); MonoFmt = '[sys]Pie.Fm'; Names = 'Names'; OverType = 7; PieCode = 1; Retrn = 'Return'; Saving = 'Saving...'; SaveCmplt = 'Save Complete'; UpArrow = 1; Values = 'Values'; VAR [EXTERN] PieForm : WORD; VAR ByteRet : BYTE; cbRead : WORD; ChartType : WORD; Color : BOOLEAN; cSlices : Integer; DataRet : LSTRING(32); ExitState : ExitStateType; fDone,Ok : BOOLEAN; fGraph : BOOLEAN; FldName : ARRAY[1..20] OF LSTRING(14); FmFile : LSFileSpec; FormColumn : Integer; FormRow : Integer; Hdr : ARRAY[1..8] OF WORD; I : Integer; InitState : ARRAY[1..4] OF WORD; PicFile : LSFileSpec; PieTitle : LSFileSpec; SliceName : SliceNameType; SliceNumber : Integer; SliceValue : SliceValueType; SlVals : LSTRING(18); VALUE FldName[1] := 'PieTitle'; FldName[2] := 'NumberofSlices'; FldName[3] := 'SliceData1'; FldName[4] := 'SliceData2'; FldName[5] := 'SliceData3'; FldName[6] := 'SliceData4'; FldName[7] := 'SliceData5'; FldName[8] := 'SliceData6'; FldName[9] := 'SliceData7'; FldName[10] := 'SliceData8'; FldName[11] := 'SliceData9'; FldName[12] := 'SliceData10'; FldName[13] := 'SliceData11'; FldName[14] := 'SliceData12'; FldName[15] := 'SliceData13'; FldName[16] := 'SliceData14'; FldName[17] := 'SliceData15'; FldName[18] := 'SliceData16'; FldName[19] := 'Slice#'; FldName[20] := 'Format'; {$Include:'Forms.Edf'} {$Include:'Main.Edf'} {$Include:'MiscMod.Edf'} {%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% Read the data from the data file and load %%%%% %%%%% into the appropriate variables. %%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%} PROCEDURE GetPieData(VARS DataFile : LSFileSpec ); BEGIN CheckErc(OpenDataFile(DataFile,ModeRead,False)); CheckErc(ReadDataFile(ADS ChartType,2, ADS cbRead)); CheckErc(ReadDataFile(ADS Hdr,16, ADS cbRead)); CheckErc(ReadDataFile(ADS cSlices,2, ADS cbRead)); FOR I := 1 TO Ord(cSlices) DO CheckErc(ReadDataFile(ADS SliceValue[I],4,ADS cbRead)); CheckErc(Read_A_Byte(ADS ByteRet)); CheckErc(ReadDataFile(ADS PicFile[1],Wrd(ByteRet),ADS cbRead)); PicFile.Len := Wrd(ByteRet); CheckErc(Read_A_Byte(ADS ByteRet)); CheckErc(ReadDataFile(ADS FmFile[1],Wrd(ByteRet),ADS cbRead)); FmFile.Len := Wrd(ByteRet); CheckErc(Read_A_Byte(ADS ByteRet)); CheckErc(ReadDataFile(ADS DataFile[1],Wrd(ByteRet),ADS cbRead)); DataFile.Len := Wrd(ByteRet); CheckErc(Read_A_Byte(ADS ByteRet)); CheckErc(ReadDataFile(ADS PieTitle[1],Wrd(ByteRet),ADS cbRead)); PieTitle.Len := Wrd(ByteRet); FOR I := 1 TO Ord(cSlices) DO BEGIN CheckErc(Read_A_Byte(ADS ByteRet)); CheckErc(ReadDataFile(ADS SliceName[I,1], Wrd(ByteRet),ADS cbRead)); SliceName[I].Len := Wrd(ByteRet); END; CloseDataFile; END; {%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% Save data entered for this pie chart %%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%} PROCEDURE SavePieData(VARS DataFile : LSFileSpec ); BEGIN IF fGraph (*-----------------------------------------------------------*) (* If fGraph then check to see if file already exists *) (*-----------------------------------------------------------*) THEN REPEAT cbRead := ULCMPB(ADS DataFile[Ord(DataFile.len-3)], ADS '.dat',4); IF cbRead <> #FFFF THEN ConCat(DataFile, '.Dat'); Movesl(ADS DataFile[1],ADS PicFile[1],DataFile.Len-4); PicFile.Len := DataFile.Len-4; UNTIL OverWriteOk(DataFile) ELSE (*-----------------------------------------------------------*) (* Used CODE-S, do not check for data file go ahead and save *) (*-----------------------------------------------------------*) BEGIN cbRead := ULCMPB(ADS DataFile[Ord(DataFile.len-3)], ADS '.dat',4); IF cbRead <> #FFFF THEN ConCat(DataFile, '.Dat'); Movesl(ADS DataFile[1],ADS PicFile[1],DataFile.Len-4); PicFile.Len := DataFile.Len-4; END; CheckErc(OpenDataFile(DataFile,ModeWrite,fGraph)); (*-------------------------------*) (*----- Write BGP data file -----*) (*-------------------------------*) WriteDataFile(ADS PieCode, 2); FOR I := 1 TO 8 DO Hdr[I] := #FFFF; WriteDataFile(ADS Hdr[1],16); WriteDataFile(ADS cSlices, 2); FOR I := 1 TO Ord(cSlices) DO WriteDataFile(ADS SliceValue[I], 4); (*------------------------------------------------------------*) (*---- Append parameters passed to BGP via memory (VLPB) -----*) (*---- to the end of the data file. This is done so that -----*) (*---- all data for a given graph is located in one file -----*) (*---- and can be easily recalled for Editing. -----*) (*------------------------------------------------------------*) IF fGraph THEN ParamInit(2048, 5); WriteDataFile(ADS PicFile[0],PicFile.Len+1); IF fGraph THEN ParamSetSimple(1, PicFile); WriteDataFile(ADS FmFile, FmFile.Len+1); IF fGraph THEN ParamSetSimple(2, FmFile); WriteDataFile(ADS DataFile[0],DataFile.Len+1); IF fGraph THEN ParamSetSimple(3, DataFile); WriteDataFile(ADS PieTitle[0],PieTitle.Len+1); IF fGraph THEN ParamSetSimple(4, PieTitle); IF fGraph THEN ParamListStart(5); FOR I := 1 TO Ord(cSlices) DO BEGIN WriteDataFile(ADS SliceName[I].Len,Wrd(SliceName[I].Len)+1); IF fGraph THEN ParamSetNextInList(SliceName[I]); END; FOR I := 1 TO Ord(cSlices) DO BEGIN WriteDataFile(ADS SliceName[I].Len,Wrd(SliceName[I].Len)+1); END; CloseDataFile; END; {%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% 1) Collects all the data from the PIEFORM necessary to graph %%%%% %%%%% a Pie chart. %%%%% %%%%% 2) Chains to the graphics software %%%%% %%%%% %%%%% %%%%% fEdit will be TRUE if the Edit Function key has been pressed or %%%%% %%%%% all form fields have been accessed. DataSpec will then contain %%%%% %%%%% the file spec of the data file. %%%%% %%%%% %%%%% %%%%% Fields on the form are accessed by: %%%%% %%%%% setting FormColumn ----> for the COLUMN the field is in %%%%% %%%%% setting FormRow -------> for the ROW the field is in %%%%% %%%%% %%%%% %%%%% FormColumn = 1 FormColumn = 2 %%%%% %%%%% -------------- -------------- %%%%% %%%%% FormRow = 1 Title %%%%% %%%%% 2 Number of Slices %%%%% %%%%% 3 SliceName[1] SliceAmount[1] %%%%% %%%%% 4 SliceName[2] SliceAmount[2] %%%%% %%%%% 5 SliceName[3] SliceAmount[3] %%%%% %%%%% 6 SliceName[4] SliceAmount[4] %%%%% %%%%% 7 SliceName[5] SliceAmount[5] %%%%% %%%%% 8 SliceName[6] SliceAmount[6] %%%%% %%%%% 9 SliceName[7] SliceAmount[7] %%%%% %%%%% 10 SliceName[8] SliceAmount[8] %%%%% %%%%% %%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%} PROCEDURE Pie_Chart(fEdit : BOOLEAN; DataSpec : LSFileSpec; fBTOSIIGraphics : Boolean ); BEGIN cSlices := 0; DisplayFKeys; DisplayFunctionKey(10,Retrn,0); fDone := False; fGraph := False; FormRow := 1; InitState[1] := 0; FormColumn := 1; SliceNumber := 1; CheckErc(DisplayForm(ADS PieForm, 0, 255,255)); IF fEdit THEN (*-----------------------------------------------------------*) (*----- Go read the data file and display the data into -----*) (*----- the form. -----*) (*-----------------------------------------------------------*) BEGIN GetPieData(DataSpec); Write_the_FieldC(ADS PieForm, FldName[1], 0, ADS PieTitle[1], PieTitle.Len); Write_the_FieldB(ADS PieForm, FldName[2], 0, ADS cSlices); FOR I := 1 TO Ord(cSlices) DO BEGIN Write_The_FieldC(ADS PieForm, FldName[I+2], 1, ADS SliceName[I,1], Wrd(SliceName[I].Len)); Ok := Encode(SlVals,SliceValue[I]:-18:2); Write_the_FieldC(ADS PieForm, FldName[I+2], 2, ADS SlVals[1], SlVals.Len); END; Write_the_FieldC(ADS PieForm, FldName[20], 0, ADS FmFile[1], FmFile.Len); END ELSE (*-----------------------------------------------------------*) (*----- Set up the default Format file to be used to -----*) (*----- create the graph and display it to the form. -----*) (*-----------------------------------------------------------*) BEGIN IF Color_Hdw THEN FmFile := ColorFmt ELSE FmFile := MonoFmt; Write_the_FieldC(ADS PieForm, FldName[20], 0, ADS FmFile[1], FmFile.Len); END; WHILE NOT(fDone) DO BEGIN IF fEdit THEN BEGIN CheckErc(SetKbdLed(OverType,True)); DisplayFunctionKey(1 ,Graph,4); DisplayFunctionKey(3,Fmt,0); DisplayFunctionKey(4,Names,0); DisplayFunctionKey(5,Values,0) END ELSE BEGIN CheckErc(SetKbdLed(OverType,False)); DisplayFunctionKey(1 ,Graph,0); DisplayFunctionKey(3,Fmt,0); DisplayFunctionKey(4,Null,0); DisplayFunctionKey(5,Null,0) END; CASE FormColumn OF (*---------------------------------------------------------*) (*----- If the FormRow is > 2 then the Title & Number -----*) (*----- of Slices have been entered. -----*) (*----- FormColumn = 1 is the SliceName column. -----*) (*----- FormColumn = 2 is the SliceValue column. -----*) (*----- -----*) (*----- This Case statement writes the number of the -----*) (*----- SliceName or the number of the SliceValue -----*) (*----- into the form, that the user is currently -----*) (*----- inputting. -----*) (*---------------------------------------------------------*) 1 : IF FormRow > 2 THEN BEGIN DisplayFunctionKey(4,Names,0); DisplayFunctionKey(5,Values,0); Write_the_FieldB(ADS PieForm, FldName[19], Wrd(FormColumn), ADS SliceNumber); CheckErc(DefaultField(ADS PieForm, ADS FldName[19,1], FldName[19].Len, 2)); END ELSE BEGIN CheckErc(DefaultField(ADS PieForm, ADS FldName[19,1], FldName[19].Len, 2)); CheckErc(DefaultField(ADS PieForm, ADS FldName[19,1], FldName[19].Len, 1)) END; 2 : IF FormRow > 2 THEN BEGIN DisplayFunctionKey(4,Names,0); DisplayFunctionKey(5,Values,0); Write_the_FieldB(ADS PieForm, FldName[19], Wrd(FormColumn), ADS SliceNumber); CheckErc(DefaultField(ADS PieForm, ADS FldName[19,1], FldName[19].Len, 1)); END ELSE BEGIN CheckErc(DefaultField(ADS PieForm, ADS FldName[19,1], FldName[19].Len, 2)); CheckErc(DefaultField(ADS PieForm, ADS FldName[19,1], FldName[19].Len, 1)) END; END; Ok := False; WHILE NOT(Ok) DO BEGIN (*----------------------------------------------------------*) (*----- Ok will be set to TRUE if the data entered for -----*) (*----- the form field is appropriate for that field. -----*) (*----- Data read from the field in the form is -----*) (*----- returned in the LString DataRet. -----*) (*----------------------------------------------------------*) Read_The_FieldC(ADS PieForm, FldName[FormRow], Wrd(FormColumn), DataRet, Upper(DataRet), ADS ExitState); WriteStatusLine(ADS PieForm, Null, 0, False); IF (FormRow-2 = cSlices) AND (FormColumn = 2) THEN fEdit := TRUE; CASE FormRow OF (*-------------------------------------------------------*) (*----- Based on which Row and Column is active on -----*) (*----- the form this case statement knows what data-----*) (*----- is being input and does the appropriate -----*) (*----- checks and places the entered data in the -----*) (*----- appropriate variable. -----*) (*-------------------------------------------------------*) 1 : BEGIN PieTitle := DataRet; RemoveBlanks(PieTitle,DataSpec); IF DataSpec.Len = 0 THEN Ok := False ELSE BEGIN Ok := True; FormColumn := 1 END; CASE ExitState.ch OF F10, Finish, Cancel : Ok := True; OTHERWISE ; END; IF NOT(OK) THEN BEGIN Beep; WriteStatusLine(ADS PieForm, 'An entry is required!', 0,False) END END; 2 : BEGIN RemoveBlanks(DataRet,DataRet); Ok := Decode(DataRet,cSlices); IF Not fBTOSIIGraphics AND THEN (cSlices <= 0) OR (cSlices > 8) THEN Ok := False; IF fBTOSIIGraphics AND THEN (cSlices <= 0) OR (cSlices > 16) THEN Ok := False; CASE ExitState.ch OF F10, Finish, Cancel, UpArrow : Ok := True; OTHERWISE ; END; IF NOT(OK) THEN BEGIN Beep; If NOT fBTOSIIGraphics THEN WriteStatusLine(ADS PieForm,'Valid entries are 1 - 8.',0,False); If fBTOSIIGraphics THEN WriteStatusLine(ADS PieForm,'Valid entries are 1 - 16.',0,False) END END; OTHERWISE BEGIN IF FormColumn = 1 THEN BEGIN SliceName[FormRow-2] := DataRet; Ok := True END ELSE BEGIN RemoveBlanks(DataRet,DataRet); Ok := Decode(DataRet,SliceValue[FormRow-2]); CASE ExitState.ch OF F10, Finish, Cancel, UpArrow : Ok := True; OTHERWISE ; END; IF NOT(OK) THEN BEGIN Beep; WriteStatusLine(ADS PieForm,'A number is required!',0,False) END END END; END; END; {While Not(Ok)} (*---------------------------------------------------*) (*----- This case statement checks the value of -----*) (*----- the keyboard key used to terminate the -----*) (*----- current form field. -----*) (*---------------------------------------------------*) CASE ExitState.Ch OF CodeS, Code_s: IF DataSpec.Len <> 0 THEN BEGIN WriteStatusLine(ADS PieForm, Saving, 0, False); SavePieData(DataSpec); WriteStatusLine(ADS PieForm, SaveCmplt, 0, False) END; F1,Go : IF fEdit THEN BEGIN fDone := True; fGraph := True END; F10 : BEGIN fDone := True; fGraph := False END; F3 : Read_The_FieldC(ADS PieForm, FldName[20], 0, FmFile,Upper(FmFile), ADS ExitState); F4 : IF fEdit OR (cSlices > 0) THEN BEGIN FormColumn := 1; IF FormRow < 3 THEN FormRow := 3 END; F5 : IF fEdit OR (cSlices > 0) THEN BEGIN FormColumn := 2; IF FormRow < 3 THEN FormRow := 3 END; Cancel: WriteStatusLine(ADS PieForm, Null, 0, False); Finish: ConfirmFinish; UpArrow: IF FormRow = 1 THEN !Don't do anything ELSE FormRow := FormRow -1; DownArrow: BEGIN IF FormRow = cSlices+2 THEN BEGIN IF FormColumn = 1 THEN BEGIN FormRow := 3 END ELSE BEGIN fEdit := TRUE; FormRow := 3 END END ELSE FormRow := FormRow + 1 END; OTHERWISE BEGIN IF FormRow = cSlices+2 THEN BEGIN IF FormColumn = 1 THEN BEGIN FormColumn := 2; FormRow := 3 END ELSE BEGIN fEdit := TRUE; FormRow := 1 END END ELSE FormRow := FormRow + 1 END; END; SliceNumber := FormRow - 2; (*-------------------------------------------------------------*) (*----- Check that all required fields have been entered, -----*) (*----- if not, set the form row & column to where the -----*) (*----- entry is in error and activate that field. -----*) (*-------------------------------------------------------------*) IF (fDone AND fGraph) THEN FOR I := Ord(cSlices) DOWNTO 1 DO IF SliceValue[I] <= 0 THEN BEGIN Beep; WriteStatusLine(ADS PieForm,'Invalid or missing entry.', 0,False); SliceNumber := I; FormRow := SliceNumber+2; FormColumn := 2; fDone := False END; IF (fDone AND fGraph) THEN FOR I := Ord(cSlices) DOWNTO 1 DO IF SliceName[I].Len = 0 THEN BEGIN Beep; WriteStatusLine(ADS PieForm, 'Invalid or missing entry.', 0,False); SliceNumber := I; FormRow := SliceNumber+2; FormColumn := 1; fDone := False END; END; {While Not(fDone)} CheckErc(UnDisplayForm(ADS PieForm)); IF fGraph THEN BEGIN SavePieData(DataSpec); ZipBGP END; END; END. ELSE BEGIN {$Debug-} Module AlphaLine; (*------------------------------------------------------------------------- ( ( FILENAME: ALineMod.Pas ( Handles data collection for preparing a ALine Chart ( ( CONTENTS: GetALineData ( SaveALineData ( ALine_Chart ( ( REVISION HISTORY ( ( VERSION DATE BY DESCRIPTION ( ------- ---- -- ----------- ( ( 1.3.1 06-04-86 CB Prev-Next function keys did not set the ( variable iyValues to 1. ( 1.3 02-25-86 CB Increased size of LineNameType to ( be compatible with the input form ( 1.2 02-17-86 CB Allow retries in OpenDataFile ( 1.1 01-10-86 CB Fixed Code-S ( 1.0 12-01-85 CB First release ( (------------------------------------------------------------------------- *) CONST ALineCode = 3; Cancel = 7; CodeS = 211; Code_s = 243; ColorFmt = '[sys]ColorLine.Fm'; DownArrow = 11; DType = 'Character.'; F1 = 21; F3 = 23; F4 = 24; F5 = 25; F6 = 26; F8 = 29; F9 = 30; F10 = 31; Finish = 4; Fmt = 'ChgFmt'; Go = 27; ModeRead = ReType(WORD,'mr'); ModeWrite = ReType(WORD,'mw'); MonoFmt = '[sys]Line.Fm'; NextPage = 12; OverType = 7; PrevPage = 5; Saving = 'Saving...'; SaveCmplt = 'Save Complete'; UpArrow = 1; WaitMsg = 'Please WAIT.....'; MaxLines = 5; TYPE LineNameType = ARRAY[1..MaxLines] OF LSTRING(35); LSFileSpec = LSTRING(50); Pointer = ADS OF WORD; xValueType = ARRAY[1..12] OF LSTRING(20); yValueType = ARRAY[1..MaxLines,1..12] OF Real; VAR [EXTERN] AlphaLineForm : WORD; VAR ByteRet : BYTE; cbRead : WORD; cLines : WORD; cCoords : WORD; ChartType : WORD; DataRet : LSFileSpec; fDone : BOOLEAN; fGraph : BOOLEAN; ExitState : RECORD ich[0] : WORD; ch[2] : WORD; fAutoExit[4] : BOOLEAN; fModified[6] : WORD; fEmpty[8] : WORD; Reserved[10] : ARRAY[1..6] OF BYTE; END; FldName : ARRAY[1..21] OF LSTRING(10); FmFile : LSFileSpec; Hdr : ARRAY[1..8] OF WORD; FormColumn: Integer; FormRow : Integer; InitState : ARRAY[1..4] OF WORD; I,J : Integer; iNames : Integer; ixValues : Integer; iyValues : Integer; LineTitle : LSFileSpec; LineName : LineNameType; Ok : BOOLEAN; PicFile : LSFileSpec; Values : LSTRING(10); xLabel : LSTRING(32); xValue : xValueType; yLabel : LSTRING(32); yValue : yValueType; VALUE FldName[1] := 'LineTitle'; FldName[2] := 'xLabel'; FldName[3] := 'yLabel'; FldName[4] := 'cLines'; FldName[5] := 'cCoords'; FldName[6] := 'LineData1'; FldName[7] := 'LineData2'; FldName[8] := 'LineData3'; FldName[9] := 'LineData4'; FldName[10] := 'LineData5'; FldName[11] := 'LineData6'; FldName[12] := 'LineData7'; FldName[13] := 'LineData8'; FldName[14] := 'LineData9'; FldName[15] := 'LineData10'; FldName[16] := 'LineData11'; FldName[17] := 'LineData12'; FldName[18] := 'Line#'; FldName[19] := 'xValue#'; FldName[20] := 'yValue#'; FldName[21] := 'Format'; {$Include:'Forms.Edf'} {$Include:'Main.Edf'} {$Include:'MiscMod.Edf'} {%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% Read the data file and load the data %%%%% %%%%% into the appropriate variables. %%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%} PROCEDURE GetALineData(VARS DataFile : LSFileSpec); VAR sbLegend : WORD; BEGIN CheckErc(OpenDataFile(DataFile,ModeRead,False)); CheckErc(ReadDataFile(ADS ChartType,2,ADS cbRead)); CheckErc(ReadDataFile(ADS Hdr[1], 16,ADS cbRead)); CheckErc(ReadDataFile(ADS cLines,2,ADS cbRead)); CheckErc(ReadDataFile(ADS cCoords,2,ADS cbRead)); FOR I := 1 TO Ord(cLines) DO BEGIN FOR J := 1 TO Ord(cCoords) DO CheckErc(ReadDataFile(ADS yValue[I,J],4,ADS cbRead)); END; FOR I := 1 TO Ord(cCoords) DO BEGIN CheckErc(ReadDataFile(ADS sbLegend,2,ADS cbread)); CheckErc(ReadDataFile(ADS xValue[I,1],sbLegend,ADS cbRead)); xValue[I].Len := sbLegend; IF Odd(sbLegend) THEN CheckErc(Read_A_Byte(ADS ByteRet)); END; CheckErc(Read_A_Byte(ADS ByteRet)); CheckErc(ReadDataFile(ADS PicFile[1],Wrd(ByteRet),ADS cbread)); PicFile.Len := Wrd(ByteRet); CheckErc(Read_A_Byte(ADS ByteRet)); CheckErc(ReadDataFile(ADS FmFile[1],Wrd(ByteRet),ADS cbread)); FmFile.Len := Wrd(ByteRet); CheckErc(Read_A_Byte(ADS ByteRet)); CheckErc(ReadDataFile(ADS DataFile[1],Wrd(ByteRet),ADS cbread)); DataFile.Len := Wrd(ByteRet); CheckErc(Read_A_Byte(ADS ByteRet)); CheckErc(ReadDataFile(ADS LineTitle[1],Wrd(ByteRet),ADS cbread)); LineTitle.Len := Wrd(ByteRet); CheckErc(Read_A_Byte(ADS ByteRet)); CheckErc(ReadDataFile(ADS xLabel[1],Wrd(ByteRet),ADS cbread)); xLabel.Len := Wrd(ByteRet); CheckErc(Read_A_Byte(ADS ByteRet)); CheckErc(ReadDataFile(ADS yLabel[1],Wrd(ByteRet),ADS cbread)); yLabel.Len := Wrd(ByteRet); FOR I := 1 TO Ord(cLines) DO BEGIN CheckErc(Read_A_Byte(ADS ByteRet)); CheckErc(ReadDataFile(ADS LineName[I,1],Wrd(ByteRet),ADS cbread)); LineName[I,0] := Chr(ByteRet); END; CloseDataFile; END; {%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% Save data entered for this pie chart %%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%} PROCEDURE SaveALineData(VARS DataFile : LSFileSpec); CONST Filler = 0; BEGIN IF fGraph THEN (*-----------------------------------------------------------*) (* If fGraph then check to see if file already exists *) (*-----------------------------------------------------------*) REPEAT cbRead := ULCMPB(ADS DataFile[Ord(DataFile.len-3)], ADS '.dat',4); IF cbRead <> #FFFF THEN ConCat(DataFile, '.Dat'); Movesl(ADS DataFile[1],ADS PicFile[1],DataFile.Len-4); PicFile.Len := DataFile.Len-4; UNTIL OverWriteOk(DataFile) ELSE BEGIN (*-----------------------------------------------------------*) (* Used CODE-S, do not check for data file go ahead and save *) (*-----------------------------------------------------------*) cbRead := ULCMPB(ADS DataFile[Ord(DataFile.len-3)], ADS '.dat',4); IF cbRead <> #FFFF THEN ConCat(DataFile, '.Dat'); Movesl(ADS DataFile[1],ADS PicFile[1],DataFile.Len-4); PicFile.Len := DataFile.Len-4; END; CheckErc(OpenDataFile(DataFile,ModeWrite,fGraph)); (*-------------------------------*) (*----- Write BGP data file -----*) (*-------------------------------*) WriteDataFile(ADS ALineCode,2); FOR I := 1 TO 8 DO Hdr[I] := #FFFF; WriteDataFile(ADS Hdr[1],16); WriteDataFile(ADS cLines,2); WriteDataFile(ADS cCoords,2); FOR I := 1 TO Ord(cLines) DO BEGIN FOR J := 1 TO Ord(cCoords) DO WriteDataFile(ADS yValue[I,J],4); END; FOR I := 1 TO Ord(cCoords) DO BEGIN J := Ord(xValue[I].Len); WriteDataFile(ADS J, 2); WriteDataFile(ADS xValue[I,1],xValue[I].Len); IF Odd(J) THEN WriteDataFile(ADS Filler,1); END; (*-------------------------------------------------------------*) (*----- Append parameters passed to BGP via memory (VLPB) -----*) (*----- to the end of the data file. This is done so that -----*) (*----- all data for a given graph is located in one file -----*) (*----- and can be easily recalled for Editing. -----*) (*-------------------------------------------------------------*) IF fGraph THEN ParamInit(2048,7); IF fGraph THEN ParamSetSimple(1,PicFile); WriteDataFile(ADS PicFile[0], PicFile.len+1); IF fGraph THEN ParamSetSimple(2,FmFile); WriteDataFile(ADS FmFile[0], FmFile.len+1); IF fGraph THEN ParamSetSimple(3,DataFile); WriteDataFile(ADS DataFile[0], DataFile.len+1); IF fGraph THEN ParamSetSimple(4,LineTitle); WriteDataFile(ADS LineTitle[0], LineTitle.len+1); IF fGraph THEN ParamSetSimple(5,xLabel); WriteDataFile(ADS xLabel[0], xLabel.len+1); IF fGraph THEN ParamSetSimple(6,yLabel); WriteDataFile(ADS yLabel[0], yLabel.len+1); IF fGraph THEN ParamListStart(7); FOR I := 1 TO Ord(cLines) DO BEGIN IF fGraph THEN ParamSetNextInList(LineName[I]); WriteDataFile(ADS LineName[I].Len,LineName[I].Len+1); END; CloseDataFile; END; {%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% 1) Collects all the data from the ALPHALINEFORM necessary to %%%%% %%%%% graph a Line chart. %%%%% %%%%% 2) Chains to BGP.Run. %%%%% %%%%% %%%%% %%%%% fEdit will be TRUE if the Edit Function key has been pressed or %%%%% %%%%% all form fields have been accessed. DataSpec will then contain %%%%% %%%%% the file spec of the data file. %%%%% %%%%% %%%%% %%%%% Fields on the form are accessed by: %%%%% %%%%% setting FormColumn ----> for the COLUMN the field is in %%%%% %%%%% setting FormRow -------> for the ROW the field is in %%%%% %%%%% %%%%% %%%%% FormColumn = 1 FormColumn = 2 FormColumn = 3 %%%%% %%%%% -------------- -------------- -------------- %%%%% %%%%% FormRow = 1 Title %%%%% %%%%% 2 X Axis Name %%%%% %%%%% 3 Y Axis Name %%%%% %%%%% 4 # of Lines %%%%% %%%%% 5 # of Data Points per Line %%%%% %%%%% 6 LineName[1] XLabel[1] YVal[1] %%%%% %%%%% 7 LineName[2] XLabel[2] YVal[2] %%%%% %%%%% 8 LineName[3] XLabel[3] YVal[3] %%%%% %%%%% 9 LineName[4] XLabel[4] YVal[4] %%%%% %%%%% 10 LineName[5] XLabel[5] YVal[5] %%%%% %%%%% 11 XLabel[6] YVal[6] %%%%% %%%%% 12 XLabel[7] YVal[7] %%%%% %%%%% 13 XLabel[8] YVal[8] %%%%% %%%%% 14 XLabel[9] YVal[9] %%%%% %%%%% 15 XLabel[10] YVal[10] %%%%% %%%%% 16 XLabel[11] YVal[11] %%%%% %%%%% 17 XLabel[12] YVal[12] %%%%% %%%%% %%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%} PROCEDURE AlphaLine_Chart(fEdit : BOOLEAN; DataSpec : LSFileSpec); BEGIN InitState[1] := 0; cLines := 0; cCoords := 0; fDone := False; fGraph := False; FormRow := 1; FormColumn := 1; FOR I := 1 TO 5 DO FOR J := 1 TO 12 DO yValue[I,J] := 0; DisplayFKeys; DisplayFunctionKey(10,'Return',0); CheckErc(DisplayForm(ADS AlphaLineForm, 0, 255,255)); IF fEdit THEN BEGIN (*-----------------------------------------------------------*) (*----- Go read the data file and display the data into -----*) (*----- the form. -----*) (*-----------------------------------------------------------*) GetALineData(DataSpec); Write_the_FieldC(ADS AlphaLineForm, FldName[1], 0, ADS LineTitle[1], LineTitle.Len); Write_the_FieldC(ADS AlphaLineForm, FldName[2], 0, ADS xLabel[1], xLabel.Len); Write_the_FieldC(ADS AlphaLineForm, FldName[3], 0, ADS yLabel[1], yLabel.Len); Write_the_FieldB(ADS AlphaLineForm, FldName[4], 0, ADS cLines); Write_the_FieldB(ADS AlphaLineForm, FldName[5], 0, ADS cCoords); FOR I := 1 TO Ord(cLines) DO BEGIN Write_the_FieldC(ADS AlphaLineForm, FldName[I+5], 1, ADS LineName[I,1], LineName[I].Len); END; FOR I := 1 TO Ord(cCoords) DO BEGIN Write_the_FieldC(ADS AlphaLineForm, FldName[I+5], 2, ADS xValue[I,1], xValue[I].Len); Ok := Encode(Values,yValue[1,I]:-10:2); Write_the_FieldC(ADS AlphaLineForm, FldName[I+5], 3, ADS Values[1], Values.Len); END; Write_the_FieldC(ADS AlphaLineForm, FldName[21], 0, ADS FmFile[1], FmFile.Len); END ELSE BEGIN (*-----------------------------------------------------------*) (*----- Set up the default Format file to be used to -----*) (*----- create the graph and display it to the form. -----*) (*-----------------------------------------------------------*) IF Color_Hdw THEN FmFile := ColorFmt ELSE FmFile := MonoFmt; Write_the_FieldC(ADS AlphaLineForm, FldName[21], 0, ADS FmFile[1], FmFile.Len); END; WHILE NOT(fDone) DO BEGIN IF fEdit OR ELSE (cCoords > 0) THEN BEGIN CheckErc(SetKbdLed(OverType,True)); DisplayFunctionKey(1,'Graph',4); DisplayFunctionKey(3,Fmt,5); DisplayFunctionKey(4,'Names',0); DisplayFunctionKey(5,'XLabel',0); DisplayFunctionKey(6,'YValue',0); DisplayFunctionKey(8,Null,5); DisplayFunctionKey(9,Null,5); END ELSE BEGIN CheckErc(SetKbdLed(OverType,False)); DisplayFunctionKey(1,'Graph',0); DisplayFunctionKey(3,Fmt,5); DisplayFunctionKey(4,Null,0); DisplayFunctionKey(5,Null,0); DisplayFunctionKey(6,Null,0); DisplayFunctionKey(8,Null,5); DisplayFunctionKey(9,Null,5); END; CASE FormColumn OF (*---------------------------------------------------------*) (*----- If the FormRow is > 5 then the Title, XAxis -----*) (*----- name, YAxix name, Number of Lines and number -----*) (*----- of Data Points per Line have been entered. -----*) (*----- -----*) (*----- FormColumn = 1 is the LineName column. -----*) (*----- FormColumn = 2 is the X Label column. -----*) (*----- FormColumn = 3 is the Y Value column. -----*) (*----- -----*) (*----- This Case statement writes the number of the -----*) (*----- LineName, X Label or the Y Value into the -----*) (*----- form, that is currentlybeing input. -----*) (*---------------------------------------------------------*) 1 : BEGIN IF FormRow > 5 THEN BEGIN DisplayFunctionKey(4,'Names',0); DisplayFunctionKey(5,'XLabel',0); DisplayFunctionKey(6,'YValue',0); CheckErc(DefaultField(ADS AlphaLineForm, ADS FldName[20,1], FldName[20].Len, 3)); CheckErc(DefaultField(ADS AlphaLineForm, ADS FldName[19,1], FldName[19].Len, 2)); Write_the_FieldB(ADS AlphaLineForm, FldName[18], 1, ADS iNames); FOR I:=1 TO 12 DO CheckErc(DefaultField(ADS AlphaLineForm, ADS FldName[I+5,1], FldName[I+5].Len, 3)); FOR I := 1 TO Ord(cCoords) DO BEGIN Ok := Encode(Values,yValue[iNames,I]:-10:2); IF yValue[iNames,I] <> 0 THEN Write_the_FieldC(ADS AlphaLineForm, FldName[I+5], 3, ADS Values[1], Values.Len) END END END; 2 : BEGIN DisplayFunctionKey(4,'Names',0); DisplayFunctionKey(5,'XLabel',0); DisplayFunctionKey(6,'YValue',0); DisplayFunctionKey(8,Null,5); DisplayFunctionKey(9,Null,5); CheckErc(SetFieldAttrs(ADS AlphaLineForm, ADS FldName[iNames+5,1], FldName[iNames+5].Len, 1,0)); Write_the_FieldB(ADS AlphaLineForm, FldName[19], 2, ADS ixValues); CheckErc(DefaultField(ADS AlphaLineForm, ADS FldName[18,1], FldName[18].Len, 1)); CheckErc(DefaultField(ADS AlphaLineForm, ADS FldName[20,1], FldName[20].Len, 3)) END; 3 : BEGIN DisplayFunctionKey(8,' Prev',4); DisplayFunctionKey(9,' Next',4); Write_the_FieldB(ADS AlphaLineForm, FldName[20], 1, ADS iyValues); CheckErc(DefaultField(ADS AlphaLineForm, ADS FldName[18,1], FldName[18].Len, 1)); CheckErc(DefaultField(ADS AlphaLineForm, ADS FldName[19,1], FldName[19].Len, 2)); IF FormRow =5 THEN BEGIN CheckErc(SetFieldAttrs(ADS AlphaLineForm, ADS FldName[iNames+5,1], FldName[iNames+5].Len, 1,0)); DisplayFunctionKey(8,Null,5); DisplayFunctionKey(9,Null,5) END; IF FormRow > 5 THEN CheckErc(SetFieldAttrs(ADS AlphaLineForm, ADS FldName[iNames+5,1], FldName[iNames+5].Len, 1,5)); IF FormRow = 6 THEN BEGIN FOR I := 1 TO 12 DO CheckErc(DefaultField(ADS AlphaLineForm, ADS FldName[I+5,1], FldName[I+5].Len, 3)); FOR I := 1 TO Ord(cCoords) DO BEGIN Ok := Encode(Values,yValue[iNames,I]:-10:2); IF (yValue[iNames,I] <> 0) OR ELSE fEdit THEN Write_the_FieldC(ADS AlphaLineForm, FldName[I+5], 3, ADS Values[1], Values.Len) END END END; OTHERWISE ; END;{case of FormColumn} Ok := FALSE; WHILE NOT(Ok) DO BEGIN (*----------------------------------------------------------*) (*----- Ok will be set to TRUE if the data entered for -----*) (*----- the form field is appropriate for that field. -----*) (*----- Data read from the field in the form is -----*) (*----- returned in the LString DataRet. -----*) (*----------------------------------------------------------*) Read_The_FieldC(ADS AlphaLineForm, FldName[FormRow], Wrd(FormColumn), DataRet, Upper(DataRet), ADS ExitState); WriteStatusLine(ADS AlphaLineForm, Null, 0, False); CASE FormRow OF (*-------------------------------------------------------*) (*----- Based on which Row and Column is active on -----*) (*----- the form this case statement knows what data-----*) (*----- is being input and does the appropriate -----*) (*----- checks and places the entered data in the -----*) (*----- appropriate variable. -----*) (*-------------------------------------------------------*) 1 : BEGIN LineTitle := DataRet; RemoveBlanks(LineTitle,DataSpec); IF DataSpec.Len = 0 THEN Ok := False ELSE [Ok := True; FormColumn := 1; iNames := 1; ixValues := 1; iyValues := 1]; CASE ExitState.ch OF F10, Finish, Cancel : Ok := True; OTHERWISE ; END; IF NOT(OK) THEN BEGIN Beep; WriteStatusLine(ADS AlphaLineForm, 'An entry is required!', 0,False) END END; 2 : BEGIN xLabel := DataRet; FormColumn := 1; Ok := True END; 3 : BEGIN yLabel := DataRet; FormColumn := 1; Ok := True END; 4 : BEGIN RemoveBlanks(DataRet,DataRet); FormColumn := 1; Ok := Decode(DataRet,cLines); IF (cLines <= 0) OR (cLines > MaxLines) THEN Ok := False; CASE ExitState.ch OF F10, Finish, Cancel, UpArrow : Ok := True; OTHERWISE ; END; IF NOT(OK) THEN BEGIN Beep; WriteStatusLine(ADS AlphaLineForm, 'Valid entries are 1 - 5.', 0,False) END END; 5 : BEGIN RemoveBlanks(DataRet,DataRet); Ok := Decode(DataRet,cCoords); IF (cCoords <= 0) OR (cCoords > 12) THEN Ok := False; CASE ExitState.ch OF F10, Finish, Cancel, UpArrow : Ok := True; OTHERWISE ; END; IF NOT(OK) THEN BEGIN Beep; WriteStatusLine(ADS AlphaLineForm, 'Valid entries are 1 - 12.', 0,False) END END; OTHERWISE BEGIN CASE FormColumn OF 1 : BEGIN LineName[iNames] := DataRet; Ok := True END; 2 : BEGIN xValue[ixValues] := DataRet; Ok := True END; 3 : BEGIN RemoveBlanks(DataRet,DataRet); Ok := Decode(DataRet,yValue[iNames,iyValues]); CASE ExitState.ch OF F10, Finish, Cancel, UpArrow : Ok := True; OTHERWISE ; END; IF NOT(OK) THEN BEGIN Beep; WriteStatusLine(ADS AlphaLineForm, 'A Number is required!', 0,False) END END; OTHERWISE ; END{Case of FormColumn} END; END;{Case of FormRow} END; {While Not(Ok)} CASE ExitState.ch OF (*---------------------------------------------------*) (*----- This case statement checks the value of -----*) (*----- the keyboard key used to terminate the -----*) (*----- current form field. -----*) (*---------------------------------------------------*) CodeS, Code_s : IF DataSpec.Len <> 0 THEN [WriteStatusLine(ADS AlphaLineForm, Saving, 0, False); SaveALineData(DataSpec); WriteStatusLine(ADS AlphaLineForm, SaveCmplt, 0, False)]; F1,Go : IF fEdit THEN BEGIN fDone := TRUE; fGraph := TRUE END; F10 : BEGIN fDone := True; fGraph := FALSE END; Finish : ConfirmFinish; Cancel : WriteStatusLine(ADS AlphaLineForm, Null, 0, False); F3 : Read_The_FieldC(ADS AlphaLineForm, FldName[21], 0, FmFile, Upper(FmFile), ADS ExitState); F4 : IF fEdit OR (cCoords > 0) THEN [FormColumn := 1; FormRow := iNames+5]; F5 : IF fEdit OR (cCoords > 0) THEN [FormColumn := 2; FormRow := ixValues+5]; F6 : IF fEdit OR (cCoords > 0) THEN [FormColumn := 3; FormRow := iyValues+5]; F8,PrevPage : IF (FormRow > 5) AND THEN (FormColumn = 3) THEN BEGIN CheckErc(SetFieldAttrs(ADS AlphaLineForm, ADS FldName[iNames+5,1], FldName[iNames+5].Len, 1, 0)); FormRow := 6; iyValues :=1; IF iNames <> 1 THEN iNames := iNames -1 END; F9,NextPage : IF (FormRow > 5) AND THEN (FormColumn = 3) THEN BEGIN CheckErc(SetFieldAttrs(ADS AlphaLineForm, ADS FldName[iNames+5,1], FldName[iNames+5].Len, 1,0)); FormRow := 6; iyValues :=1; IF iNames <> Ord(cLines) THEN iNames := iNames +1 END; UpArrow : IF FormRow = 1 THEN ! DO nothing ELSE BEGIN FormRow := FormRow -1; IF FormRow > 5 THEN BEGIN CASE FormColumn OF 1 : iNames := FormRow - 5; 2 : ixValues := FormRow - 5; 3 : iyValues := FormRow - 5; OTHERWISE ; END; END END; DownArrow: BEGIN CASE FormRow OF 1 : FormRow := 2; 2 : FormRow := 3; 3 : FormRow := 4; 4 : FormRow := 5; 5 : FormRow := 6; 6..17 : BEGIN CASE FormColumn OF 1 : IF iNames = Ord(cLines) THEN BEGIN iNames := 1; FormRow := 6 END ELSE BEGIN iNames := iNames + 1; FormRow := FormRow +1 END; 2 : IF ixValues = Ord(cCoords) THEN BEGIN ixValues := 1; FormRow := 6 END ELSE BEGIN ixValues := ixValues +1; FormRow := FormRow +1 END; 3 : IF iyValues = Ord(cCoords) THEN BEGIN CheckErc(SetFieldAttrs( ADS AlphaLineForm, ADS FldName[iNames+5,1], FldName[iNames+5].Len, 1,0)); iyValues := 1; FormRow := 6; END ELSE BEGIN iyValues := iyValues +1; FormRow := FormRow +1 END; OTHERWISE; END; END;{Case} OTHERWISE ; END; END;{DownArrow} OTHERWISE BEGIN CASE FormRow OF 1 : FormRow := 2; 2 : FormRow := 3; 3 : FormRow := 4; 4 : FormRow := 5; 5 : FormRow := 6; OTHERWISE BEGIN CASE FormColumn OF 1 : IF iNames = Ord(cLines) THEN BEGIN iNames := 1; ixValues := 1; FormRow := 6; FormColumn := 2 END ELSE BEGIN iNames := iNames + 1; FormRow := FormRow +1 END; 2 : IF ixValues = Ord(cCoords) THEN BEGIN ixValues := 1; iyValues := 1; FormColumn := 3; FormRow := 6 END ELSE BEGIN ixValues := ixValues +1; FormRow := FormRow +1 END; 3 : BEGIN IF (iNames =Ord(cLines)) AND (iyValues =Ord(cCoords)) THEN BEGIN FormRow := 1; fEdit := True; CheckErc(DefaultField(ADS AlphaLineForm, ADS FldName[20,1],FldName[20].Len,0)); CheckErc(SetFieldAttrs(ADS AlphaLineForm, ADS FldName[iNames+5,1], FldName[iNames+5].Len, 1, 0)); FormColumn := 1 END ELSE BEGIN IF iyValues = Ord(cCoords) THEN BEGIN CheckErc(SetFieldAttrs(ADS AlphaLineForm, ADS FldName[iNames+5,1], FldName[iNames+5].Len, 1,0)); iNames := iNames +1; iyValues := 1; FormRow := 6; END ELSE BEGIN iyValues := iyValues +1; FormRow := FormRow +1 END END END; OTHERWISE; END{Case} END END{Case} END; END;{Case of ExitState.ch} (*-------------------------------------------------------------*) (*----- Check that all required fields have been entered, -----*) (*----- if not, set the form row & column to where the -----*) (*----- entry is in error and activate that field. -----*) (*-------------------------------------------------------------*) IF (fDone AND fGraph) THEN FOR I := Ord(cLines) DOWNTO 1 DO IF LineName[I].Len = 0 THEN BEGIN Beep; WriteStatusLine(ADS AlphaLineForm, 'Invalid or missing entry',0,False); iNames := I; FormRow := I+5; FormColumn := 1; fDone := False END; IF (fDone AND fGraph) THEN FOR J := Ord(cCoords) DOWNTO 1 DO IF xValue[J].Len = 0 THEN BEGIN Beep; WriteStatusLine(ADS AlphaLineForm, 'Invalid or missing entry',0,False); ixValues := J; FormRow := J+5; FormColumn := 2; fDone := False END; END; {While Not(fDone)} CheckErc(UnDisplayForm(ADS AlphaLineForm)); IF fGraph THEN BEGIN SaveALineData(DataSpec); ZipBGP END; END;{Procedure} END. 2 : FormRow := 3; 3 : FormRow := 4; 4 : FormRow := 5; 5 : FormRow := 6; OTHERWISE BEGIN CASE FormColumn OF 1 : IF iNames = Ord(cLines) THEN BEGIN iNames := 1;(* Video.Edf *) Function InitVidFrame( iFrame : Word; IColStart : Word; iLineStart : Word; nCols : Word; nLines : Word; BordeDesc : Byte; BorderChar : Byte; BorderAttr : Byte; fDblHigh : Boolean; fDblWd : Boolean):Word;Extern; Function InitCharMap( pMap : Pointer; sMap : Word):Word;Extern; Function QueryVidHdw( pBuffer : Pointer; sBuffer : Word):Word;Extern; Function ResetFrame( iFrame : Word):Word;Extern; Function ResetVideo( ncols : Word; nLines : Word; fAttr : Boolean; bSpace : Byte; psMatRet : Pointer):Word;Extern; Function SetScreenVidAttr( iAttr : Word; fOn : Boolean):Word;Extern; Function PutFrameAttrs(iFrame : Word; iCol : Word; iLine : Word; attr : Word; nPos : Word):Word;Extern; Function PutFrameChars(iFrame : Word; iCol : Word; iLine : Word; pbText : Pointer; cbText : Word):Word;Extern; Function PosFrameCursor(iFrame : Word; iCol : Word; iLine : Word):Word;Extern; adKbdDirect( Mode : word; pCharRet: Pointer):Word;Extern; Procedure Read_the_FieldB( Form : Pointer; Consts FieldName: LString; Index : Word; VarS DataRet : Word; ExitState: Pointer);Extern; Procedure Read_the_FieldC( Fo{Misc.Edf} Function CloseFile( Fh : Word):Word;Extern; Function OpenFile( pFhRet : Pointer; pbFileSpec : Pointer; cbFileSpec : Word; pbPassword : Pointer; cbPassword : Word; mode : Word):Word;Extern; Function ReadKbd( pKbdCharRet : Pointer):Word;Extern; Function AllocMemoryLL( cBytes : Word; ppSegmentRet : Pointer):Word;Extern; Function GetUCB( pUCBRet : Pointer; sUCBMax : Word):Word;Extern; Function ReadKbdDirect( Mode : Word; pKbdCharRet : Pointer):Word;Extern; Function ResetMemoryLL:Word;Extern; Function NotifyCM( msgType : word; pbMsg : adsmem; cbmsg : word ):Word;Extern; ELSE CheckErc(UnDisplayForm( ADS WelcomeForm)); Pie_Chart(EditNo,Null,fBTOSIIGraphics); Done := TRUE END; F2 : BEGIN (*-------------------------------------------------------------------------- ( FILENAME: QuickGraph.Pas ( Main driver for Quick Graph ( ( CONTENTS: CloseDataFile ( ChkGraType ( Color_Hdw ( ConfirmFinish ( Create_or_Edit ( DisplayFKeys ( DisplayFunctionKey ( InitVideo ( GetEditFileSpec ( OpenDataFile ( OverWriteOk ( ParamInit ( ParamSetSimple ( ParamListStart ( ParamSetNextInList ( RemoveBlanks ( Read_A_Byte ( ReadDataFile ( Read_the_FieldB ( Read_the_FieldC ( WriteDataFile ( Write_the_FieldB ( Write_the_FieldC ( WriteStatusLine ( ZipBGP ( ( REVISION HISTORY ( ( VERSION DATE BY DESCRIPTION ( ------- ---- -- ----------- ( ( 2.3 12-19-91 CB Check fColorMonitor in QueryVidHdw to determine if ( color monitor is present, check for ArtDesigner.Run ( 2.2 02-27-90 CB If run under Context Manager, QG now returns ( to the CM screen not the Command line. ( 2.1.1 02-01-89 CB Expand size of some LString variables ( to 50 characters (see LineMod.Pas) ( 2.1 11-26-88 CB Protected mode, supports OFIS Graphics ( (16 Pie Slices) ( 2.0 02-12-87 TM Allow as much data as memory permits ( 1.3.1 05-31-86 CB Cosmetic changes to all the forms. ( 1.3 02-25-86 CB Eliminated call to OpenDataFile in ( GetEditFileSpec, used OpenByteStream ( 1.2 02-17-86 CB Allow retries in OpenDataFile ( 1.1 01-08-85 CB Changed ZipBGP to look for ExitRunFile ( and ChainFile on Local then Master disk. ( 1.0 12-01-85 CB First release ( (------------------------------------------------------------------------------ *) PROGRAM QuickGraph; {$Debug-} TYPE Pointer = ADS OF WORD; LSFileSpec = LSTRING(50); CONST B21 = 2; Bar = 0; Cancel = 7; ExecExitRunFile = '[sys]Exec.Run'; CMExitRunFile = '[sys]CMNull.Run'; F1 = #15; F2 = #16; F3 = #17; F4 = #18; F10 = #1F; Finish = 4; Go = 27; Line = 3; ModeRead = Retype(WORD,'mr'); NLine = 2; EditNo = False; Pie = 1; VAR [EXTERN] WelcomeForm : WORD; B21WelcomeForm : WORD; VAR BsBuf : ARRAY[1..1024] OF BYTE; BSWA : ARRAY[1..130] OF BYTE; cbRead : WORD; Done : BOOLEAN; Erc : WORD; ExitState : RECORD ich[0] : WORD; ch[2] : WORD; fAutoExit[4] : BOOLEAN; fModified[6] : WORD; fEmpty[8] : WORD; Reserved[10] : ARRAY[1..6] OF BYTE; END; GraphType : WORD; InitState : ARRAY[1..4] OF WORD; KbdByte : BYTE; Param : RECORD pb : Pointer; cb : WORD; END; pMap : Pointer; MaxLines : WORD; VidStatus : RECORD level [0] : BYTE; nLinesMax [1] : BYTE; nColsNarrow[2] : BYTE; nColsWide [3] : BYTE; bitMapLevel[4] : BYTE; ignore [5] : Array [1..35] of Byte; fColorMon [41] : Boolean; END; WsType : BYTE; fBTOSIIGraphics : BOOLEAN; {$Include:'Bs.Edf'} {$Include:'Forms.Edf'} {$Include:'Misc.Edf'} {$Include:'Param.Edf'} {$Include:'Task.Edf'} {$Include:'Vid.Edf'} PROCEDURE AlphaLine_Chart(Editing : BOOLEAN; FileSpec : LSFileSpec);EXTERN; PROCEDURE Bar_Chart(Editing : BOOLEAN; FileSpec : LSFileSpec);EXTERN; PROCEDURE Line_Chart(Editing : BOOLEAN; FileSpec : LSFileSpec);EXTERN; PROCEDURE Pie_Chart(Editing : BOOLEAN; FileSpec : LSFileSpec; fBTOSIIGraphics : BOOLEAN);EXTERN; {%%%%%%%%%%%%%%%%%%%%%%} PROCEDURE CloseDataFile[PUBLIC]; {%%%%%%%%%%%%%%%%%%%%%%} BEGIN CheckErc(CloseByteStream(ADS BSWA)); END; {%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% Returns TRUE if workstation has a color monitor otherwise %%%%% %%%%% returns FALSE. %%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%} FUNCTION Color_Hdw: BOOLEAN [PUBLIC]; BEGIN IF VidStatus.fColorMon THEN Color_Hdw := TRUE ELSE Color_Hdw := FALSE; END; {%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% Asks the user to confirm exiting the program %%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%} PROCEDURE ConfirmFinish[PUBLIC]; CONST ConfirmTxt = 'Press Go to confirm finish, Cancel to deny.'; Blank = ' '; Finishing = 'Finishing...... '; Go = #1B; Cancel = #7; VAR KbdByte : BYTE; BEGIN REPEAT CheckErc(PutFrameChars(1,0,1, ADS ConfirmTxt, Upper(ConfirmTxt))); CheckErc(PutFrameAttrs(1,0,1,8,80)); CheckErc(ReadKbd(ADS KbdByte)); IF KbdByte = Go THEN BEGIN CheckErc(PutFrameChars(1,0,1, ADS Finishing, Upper(Finishing))); Exit; END; IF KbdByte <> Cancel THEN Beep; UNTIL KbdByte = Cancel; CheckErc(PutFrameChars(1,0,1, ADS Blank, Upper(Blank))); CheckErc(PutFrameAttrs(1,0,1,0,80)); END; {%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% Displays a blank Function Key Form at the bottom of %%%%% %%%%% the screen (Video frame 2). %%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%} PROCEDURE DisplayFKeys[PUBLIC]; VAR [EXTERN] FunctKeysForm : WORD; BEGIN CheckErc(DisplayForm(ADS FunctKeysForm, 2, 255, 255)); END; {%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% Initialize a Variable Length Parameter Block in Long Lived Memory %%%%% %%%%% of size 'MemorySize' to contain 'cParameters' Parameters. %%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%} PROCEDURE ParamInit(MemorySize : WORD; cParams : WORD)[PUBLIC]; VAR ParamBlk : Pointer; BEGIN CheckErc(ResetMemoryLL); CheckErc(AllocMemoryLL(MemorySize, ADS ParamBlk)); CheckErc(rgParamInit(ParamBlk,MemorySize,cParams)); END; {%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% Load the 'iParameter' with the contents of 'Parameter' %%%%% %%%%% into the VLPB. %%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%} PROCEDURE ParamSetSimple( iParameter : WORD; CONSTS Parameter : LSTRING)[PUBLIC]; BEGIN Param.pb := ADS Parameter[1]; Param.cb := Parameter.Len; CheckErc(rgParamSetSimple(iParameter,ADS Param)) END; {%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% Initialize the VLPB to accept a list of %%%%% %%%%% sub-parameters for parameter 'Param'. %%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%} PROCEDURE ParamListStart(Param : WORD)[PUBLIC]; BEGIN CheckErc(rgParamSetListStart(Param)); END; {%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% Load the 'Parameter' as the next sub-parameter into %%%%% %%%%% the VLPB of a previously identified VLPB parameter %%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%} PROCEDURE ParamSetNextInList(CONSTS Parameter : LSTRING)[PUBLIC]; BEGIN Param.pb := ADS Parameter[1]; Param.cb := Parameter.Len; CheckErc(rgParamSetEltNext( ADS Param)) END; {%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% Opens a ByteStream of filespec 'FileName' in mode 'Mode' %%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%} FUNCTION OpenDataFile(CONSTS FileName : LSTRING; Mode : WORD; Graphing : BOOLEAN): WORD[PUBLIC]; CONST WaitMsg = 'Please WAIT.....'; VAR LocalErc : WORD; WriteErc : WORD; KbdChar : BYTE; ErcCode : LSTRING(5); fDone : BOOLEAN; BEGIN REPEAT IF Graphing THEN CheckErc(PutFrameChars(0, 10, 12, ADS WaitMsg, Upper(WaitMsg))); LocalErc := OpenByteStream(ADS BSWA[1], ADS FileName[1], FileName.Len, ADS NIL,0, Mode, ADS BsBuf[1], SizeOf(BsBuf)); IF LocalErc = 0 THEN fDone := True ELSE BEGIN CheckErc(ResetFrame(0)); Beep; CheckErc(PutFrameChars(0,1,12,ADS 'System Error: ',14)); fDone := Encode(ErcCode,LocalErc:5); CheckErc(PutFrameChars(0,15,12,ADS ErcCode[1],ErcCode.Len)); CheckErc(PutFrameChars(0,1,13, ADS 'Press Go to retry, Finish to exit.',34)); REPEAT WriteErc := ReadKbd(ADS KbdChar); UNTIL (KbdChar = #1B) OR (KbdChar = #04); IF KbdChar = #1B THEN fDone := False; IF KbdChar = #04 THEN fDone := True; CheckErc(ResetFrame(0)); END; UNTIL fDone; OpenDataFile := LocalErc; END; {%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% Read 1 byte from the data file and place it in bRet %%%%% %%%%% also RETURNS the Error Code %%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%} FUNCTION Read_A_Byte(pbRet : Pointer): WORD[PUBLIC]; BEGIN Read_A_Byte := ReadByte(ADS BSWA, pbRet); END; {%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% Reads cbData Bytes to pbData from the data file. %%%%% %%%%% Returns the actual number of bytes read and the ERC %%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%} FUNCTION ReadDataFile(pbData : Pointer; cbData : WORD; psDataRet : Pointer): WORD[PUBLIC]; BEGIN ReadDataFile := ReadBsRecord(ADS BSWA, pbData, cbData, psDataRet); END; {%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% Reads the BINARY field 'FieldName' with an index of 'Index' %%%%% %%%%% from form 'Form'. Places the field data into 'DataRet'. %%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%} PROCEDURE Read_the_FieldB( Form : Pointer; CONSTS FieldName: LSTRING; Index : WORD; VARS DataRet : WORD; ExitState: Pointer); CONST bType = 'Binary.'; VAR Ok : BOOLEAN; BEGIN Ok := False; REPEAT InitState[1] := 0; CheckErc(UserFillField(Form, ADS FieldName[1], FieldName.Len, Index, ADS InitState[1], ExitState)); Erc := ReadField(Form, ADS FieldName[1], FieldName.Len, Index, ADS DataRet, 2, ADS cbRead, ADS bType); Ok := True; IF Erc = 3708 THEN BEGIN Beep; Ok := False END; UNTIL Ok; END; {%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% Reads the CHARACTER field 'FieldName' with an index of 'Index' %%%% %%%%% from form 'Form'. Places the field data into 'DataRt'. %%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%} PROCEDURE Read_the_FieldC( Form : Pointer; CONSTS FieldName: LSTRING; Index : WORD; VARS DataRt : LSTRING; DataRetMax: WORD; ExitState : Pointer)[PUBLIC]; CONST cType = 'Character.'; BEGIN InitState[1] := 0; CheckErc(UserFillField(Form, ADS FieldName[1], FieldName.Len, Index, ADS InitState[1], ExitState)); CheckErc(ReadField(Form, ADS FieldName[1], FieldName.Len,Index, ADS DataRt[1], DataRetMax, ADS cbRead, ADS cType)); DataRt.Len := cbRead; END; {%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% Accepts a file spec. If the file exists then user is %%%%% %%%%% asked to confirm OverWrite. Returns True if the %%%%%% %%%%% file does not exist. Returns False if the file exists. %%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%} FUNCTION OverWriteOk(VARS DataFile : LSFileSpec): BOOLEAN [PUBLIC]; CONST AlreadyExists = 'data file already exists, Overwrite?'; ConfirmTxt = 'Press Go confirm, Cancel to deny.'; VAR [EXTERN] ConfirmForm : WORD; VAR FhRet : WORD; KbdByte : BYTE; BEGIN Erc := OpenFile(ADS FhRet, ADS DataFile[1], DataFile.Len, ADS NIL, 0, ModeRead); IF Erc = 0 THEN BEGIN Erc := CloseFile(FhRet); DisplayFKeys; CheckErc(ResetFrame(0)); CheckErc(PutFrameChars(0,0,20, ADS DataFile[1], DataFile.Len-4)); CheckErc(PutFrameChars(0,DataFile.Len-3,20, ADS AlreadyExists, Upper(AlreadyExists))); CheckErc(PutFrameChars(0,5,21,ADS ConfirmTxt, Upper(ConfirmTxt))); REPEAT Beep; CheckErc(ReadKbd(ADS KbdByte)); UNTIL (KbdByte = Cancel) OR ELSE (KbdByte = Go) OR ELSE (KbdByte = Finish); CASE KbdByte OF Cancel : BEGIN CheckErc(DisplayForm(ADS ConfirmForm, 0, 0, 20)); REPEAT Read_the_FieldC(ADS ConfirmForm, 'FileName', 0, DataFile, 80, ADS ExitState); IF DataFile.Len = 0 THEN ExitState.ch := 0; IF ExitState.ch <> Go THEN Beep; IF ExitState.ch = Finish THEN ConfirmFinish; UNTIL ExitState.ch = Go; CheckErc(UnDisplayForm(ADS ConfirmForm)); OverWriteOk := False END; Go : OverWriteOk := True; Finish : BEGIN ConFirmFinish; OverWriteOk := False END; OTHERWISE ; END; CheckErc(ResetFrame(0)); END ELSE OverWriteOk := True; END; {%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% Accepts LString 'Source' and RETURNS LString 'Dest' %%%%% %%%%% with all blanks removed. This is handy for user %%%%% %%%%% input that will be used as file specs. %%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%} PROCEDURE RemoveBlanks(VARS Source : LSTRING; VARS Dest : LSTRING)[PUBLIC]; VAR I,cBytes : Integer; BEGIN cbytes := 0; FOR I := 1 TO Ord(Source.Len) DO BEGIN IF Source[I] = ' ' THEN ! DO nothing ELSE BEGIN cbytes := cbytes +1; Dest[cbytes] := Source[I]; END; END; Dest.Len := Wrd(cbytes); END; {%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% Create the Three video frames this program needs, %%%%% %%%%% independent of hardware type. Display the program %%%%% %%%%% heading and path in frame 1. Also loads the global %%%%% %%%%% Variable WsType with the code for the workstation %%%%% %%%%% type. %%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%} PROCEDURE InitVideo; CONST Heading = 'Quick Graph - Version'; sUCB = 95; PathC = 'Path: '; VAR [EXTERN] sbVerRun : LSTRING(1); VAR border : BYTE; borderATTR : BYTE; borderDESC : BYTE; bSpace : BYTE; ColStart : WORD; LineStart : WORD; Frame : WORD; iAttr : WORD; nCols : WORD; nLines : WORD; Path : LSTRING(30); pMap : Pointer; sMap : WORD; UCB : RECORD LogInId[0] : Integer; DefaultVol[2] : LSTRING(12); DefaultDir[15] : LSTRING(12); DefaultPassWord[28] : LSTRING(12); Prefix[41] : LSTRING(40); DefaultNode[82] : Char; END; BEGIN CheckErc(QueryVidHdw(ADS VidStatus,42)); WsType := VidStatus.level; CheckErc(GetUCB(ADS UCB, sUCB)); bSpace := #00; CheckERC(ResetVideo(Wrd(VidStatus.nColsNarrow), Wrd(VidStatus.nLinesMax), TRUE, bSpace, ADS sMap)); border := #D8; borderATTR := 1; borderDESC := 4; ColStart := 0; Frame := 1; LineStart := 0; nCols := Wrd(VidStatus.nColsNarrow); nLines := 2; CheckERC(InitVidFrame(Frame, ColStart, LineStart, nCols, nLines, borderDESC, border, borderATTR, FALSE, FALSE)); borderDESC := 0; ColStart := 0; Frame := 0; LineStart := 3; nCols := Wrd(VidStatus.nColsNarrow); nLines := Wrd(VidStatus.nLinesMax-4); CheckERC(InitVidFrame(Frame, ColStart, LineStart, nCols, nLines, borderDESC, border, borderATTR, FALSE, FALSE)); ColStart := 0; Frame := 2; LineStart := Wrd(VidStatus.nLinesMax-1); nCols := Wrd(VidStatus.nColsNarrow); nLines := 1; CheckERC(InitVidFrame(Frame, ColStart, LineStart, nCols, nLines, borderDESC, border, borderATTR, FALSE, FALSE)); pMap.R := 0; pMap.S := 0; CheckERC(InitCharMap(pMap, sMap)); iAttr := 1; CheckERC(SetScreenVidAttr(iAttr,TRUE)); CheckErc(ResetFrame(0)); CheckErc(ResetFrame(1)); CheckErc(ResetFrame(2)); CheckERC(PutFrameChars(1, 0, 0, ADS Heading,Upper(Heading))); CheckERC(PutFrameChars(1, Upper(Heading)+1, 0, ADS sbVerRun[1], sbVerRun.Len)); Path := PathC; ConCat(Path,'['); ConCat(Path,UCB.DefaultVol); ConCat(Path,']<'); ConCat(Path,UCB.DefaultDir); ConCat(Path,'>'); CheckERC(PutFrameChars(1, Wrd(VidStatus.nColsNarrow)-Path.Len, 0, ADS Path[1], Path.Len)); END; {%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% Writes 'WriteData' to the BINARY field 'FieldName' with an %%%% %%%%% index of 'Index' from form 'Form'. %%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%} PROCEDURE Write_the_FieldB( Form : Pointer; CONSTS FieldName: LSTRING; Index : WORD; WriteData: Pointer)[PUBLIC]; CONST bType = 'Binary.'; BEGIN CheckErc(WriteField(Form, ADS FieldName[1], FieldName.Len, Index, WriteData, 2, ADS bType)); END; {%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% Writes 'WriteData' to the CHARACTER field 'FieldName' with %%%% %%%%% an index of 'Index' from form 'Form'. %%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%} PROCEDURE Write_the_FieldC( Form : Pointer; CONSTS FieldName: LSTRING; Index : WORD; WriteData: Pointer; sDataMax: WORD)[PUBLIC]; CONST cType = 'Character.'; BEGIN CheckErc(WriteField(Form, ADS FieldName[1], FieldName.Len, Index, WriteData, sDataMax, ADS cType)); END; {%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% Writes 'pbData' of size 'cbData' to ByteStream opened by 'OpenDataFile' %%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%} PROCEDURE WriteDataFile( pbData : Pointer; cbData : WORD)[PUBLIC]; VAR cbWritten : WORD; BEGIN CheckErc(WriteBsRecord(ADS BSWA[1], pbData, cbData, ADS cbWritten)); END; {%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% Writes 'Data' to the Status Line of 'Form'. %%%%% %%%%% Waits for a key to be pressed if Wait is TRUE %%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%} PROCEDURE WriteStatusLine( Form : Pointer; CONSTS Data : LSTRING; Index : WORD; Wait : BOOLEAN)[PUBLIC]; CONST StatusFld = 'Status'; VAR I : BYTE; BEGIN Write_the_FieldC(Form, StatusFld, Index, ADS Data[1], Data.Len); IF Wait THEN BEGIN CheckErc(ReadKbd( ADS I)); CheckErc(DefaultField(Form, ADS StatusFld,6,Index)) END; END; {%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% Displays the Function Key Label 'LabelData' for %%%%% %%%%% Function Key 'FunctionKey' in the Template at %%%%% %%%%% the bottom of the screen (Video frame 2). This %%%%% %%%%% LABEL is displayed with the video attribute of %%%%% %%%%% 'Attribute'. If 'Attribute' is zero (0) then %%%%% %%%%% the default unselected attribute for the field %%%%% %%%%% will be used. %%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%} PROCEDURE DisplayFunctionKey( FunctionKey : WORD; CONSTS LabelData : LSTRING; Attribute : WORD)[PUBLIC]; CONST FctKey = 'FKey'; VAR [EXTERN] FunctKeysForm : WORD; BEGIN Write_the_FieldC(ADS FunctKeysForm, FctKey, FunctionKey, ADS LabelData[1], LabelData.Len); IF Attribute <> 0 THEN CheckErc(SetFieldAttrs(ADS FunctKeysForm, ADS FctKey, Upper(FctKey), FunctionKey, Attribute)); END; {%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% Asks user to enter data file name and verifies %%%%% %%%%% this file exists and is of the correct format. %%%%% %%%%% Displays error messages if the file can not be %%%%% %%%%% opened successfully. %%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%} PROCEDURE GetEditFileSpec; CONST BadFileSpec = 'Bad file Specification '; BadSpec = 205; Bar = 0; CompareOk = #FFFF; Editing = True; ErCode = 'BTOS Error Code = '; F10 = 31; FieldName = 'DataFile'; FileSuffix = '.Dat'; Invalid = 9; InvalidType = 'File not of correct format - Press any key to continue'; Line = 3; ModeRead = ReType(WORD,'mr'); NLine = 2; NoFile = 203; NoDir = 204; NoVol = 215; NotMtd = 216; NoSuchFile = 'No such file or not a Quick Graph data file!'; NoSuchDir = 'No such Directory '; NoSuchVol = 'No such Volume '; Ok = 0; Pie = 1; VAR [EXTERN] EditFileForm : WORD; VAR cBytes : WORD; Check : BOOLEAN; DataFileSpec : LSFileSpec; ErrorCode : LSTRING(5); HdrByte : BYTE; I : Integer; StatusLine: LSTRING(80); BEGIN DisplayFKeys; DisplayFunctionKey(10,'Return',0); CheckErc(DisplayForm(ADS EditFileForm,0 ,255 ,255)); ExitState.ch := 0; Erc := 0; REPEAT StatusLine := Null; Read_the_FieldC(ADS EditFileForm, FieldName, 0, DataFileSpec, Upper(DataFileSpec), ADS ExitState); WriteStatusLine(ADS EditFileForm, Null,0,False); CASE ExitState.ch OF Cancel : Erc := 4; Finish : BEGIN ConfirmFinish; Erc := 4 END; F10 : Erc := Ok; OTHERWISE BEGIN RemoveBlanks(DataFileSpec,DataFileSpec); cBytes := ULCMPB(ADS DataFileSpec[Ord(DataFileSpec.Len-3)], ADS FileSuffix,4); IF cBytes <> CompareOk THEN CONCAT(DataFileSpec,FileSuffix); Erc := OpenByteStream(ADS BSWA[1], ADS DataFileSpec[1], DataFileSpec.Len, ADS NIL,0, ModeRead, ADS BsBuf[1], SizeOf(BsBuf)); CASE Erc OF Ok : ; NoFile : BEGIN CONCAT(StatusLine,NoSuchFile); WriteStatusLine(ADS EditFileForm, StatusLine,0, False); Beep END; NoDir : BEGIN CONCAT(StatusLine,NoSuchDir); WriteStatusLine(ADS EditFileForm, StatusLine,0, False); Beep END; BadSpec : BEGIN CONCAT(StatusLine,BadFileSpec); WriteStatusLine(ADS EditFileForm, StatusLine,0, False); Beep END; NoVol : BEGIN CONCAT(StatusLine,NoSuchVol); WriteStatusLine(ADS EditFileForm, StatusLine,0, False); Beep END; NotMtd : BEGIN CONCAT(StatusLine,NoSuchVol); WriteStatusLine(ADS EditFileForm, StatusLine,0, False); Beep END; OTHERWISE BEGIN CONCAT(StatusLine,ErCode); Check := Encode(ErrorCode,Erc:-5); CONCAT(StatusLine,ErrorCode); WriteStatusLine(ADS EditFileForm, StatusLine, 0, False); Beep END; END;{Case} END;{Otherwise} END;{Case} UNTIL Erc = Ok; IF ExitState.ch <> F10 THEN BEGIN CheckErc(ReadBsRecord(ADS BSWA, ADS GraphType, 2, ADS cBytes)); FOR I := 1 TO 16 DO BEGIN CheckErc(ReadByte(ADS BSWA, ADS HdrByte)); IF HdrByte <> #FF THEN GraphType := Invalid; END; CloseDataFile; CASE GraphType OF Bar : BEGIN CheckErc(UnDisplayForm(ADS EditFileForm)); Bar_Chart(Editing,DataFileSpec) END; Pie : BEGIN CheckErc(UnDisplayForm(ADS EditFileForm)); Pie_Chart(Editing,DataFileSpec,fBTOSIIGraphics) END; NLine : BEGIN CheckErc(UnDisplayForm(ADS EditFileForm)); LINE_CHART(Editing,DataFileSpec) END; Line : BEGIN CheckErc(UnDisplayForm(ADS EditFileForm)); AlphaLine_Chart(Editing,DataFileSpec) END; OTHERWISE BEGIN CONCAT(StatusLine,InvalidType); Beep; WriteStatusLine(ADS EditFileForm, StatusLine,0,True); CheckErc(UnDisplayForm(ADS EditFileForm)) END; END; END ELSE CheckErc(UnDisplayForm(ADS EditFileForm)); END; {%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% Sets Exit Run File to this program and chains %%%%% %%%%% the resident graphics program. %%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%} PROCEDURE ZipBGP[PUBLIC]; CONST ExitRunFile = '[sys]QuickGraph.Run'; BGP = '[sys]BGP.run'; OFISGraphics = '[sys]OFISGraphics.Run'; BEGIN CheckErc(SetExitRunFile(ADS ExitRunFile, Upper(ExitRunFile), ADS NIL, 0, 128)); IF fBTOSIIGraphics = FALSE THEN CheckErc(Chain(ADS BGP, Upper(BGP), ADS NIL,0,128,0,False)); IF fBTOSIIGraphics = TRUE THEN CheckErc(Chain(ADS OFISGraphics, Upper(OFISGraphics), ADS NIL,0,128,0,False)); END; {%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% Finds what graphics package is installed. %%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%} PROCEDURE ChkGraType; CONST BGP = '[sys]BGP.run'; OFISGraphics = '[sys]OFISGraphics.Run'; ArtDesigner = '[sys]ArtDesigner.Run'; VAR LocalErc : WORD; FileHandle: WORD; BEGIN LocalErc := OpenFile(ADS FileHandle, ADS BGP, Upper(BGP), ADS NIL, 0, ModeRead); IF LocalErc = 0 THEN BEGIN CheckErc(CloseFile(FileHandle)); fBTOSIIGraphics := False; RETURN END; LocalErc := OpenFile(ADS FileHandle, ADS OFISGraphics, Upper(OFISGraphics), ADS NIL, 0, ModeRead); IF LocalErc = 0 THEN BEGIN CheckErc(CloseFile(FileHandle)); fBTOSIIGraphics := True; RETURN END; LocalErc := OpenFile(ADS FileHandle, ADS ArtDesigner, Upper(ArtDesigner), ADS NIL, 0, ModeRead); IF LocalErc = 0 THEN BEGIN CheckErc(CloseFile(FileHandle)); fBTOSIIGraphics := True; RETURN END ELSE ErrorExitString(LocalErc, ADS 'Can''t find BGP.Run, OFISGraphics.Run or ArtDesigner.Run.',56); END; {%%%%%%%%%%%%%%%%%%%%%%%%%%} PROCEDURE RemoveWelcomeForm; {%%%%%%%%%%%%%%%%%%%%%%%%%%} BEGIN IF WsType = B21 THEN CheckErc(UnDisplayForm( ADS B21WelcomeForm )) ELSE CheckErc(UnDisplayForm( ADS WelcomeForm )); END; {%%%%%%%%%%%% Main Program %%%%%%%%%%%%} BEGIN Erc := NotifyCM(0, ADS NIL, 0); IF Erc = 0 THEN CheckErc(SetExitRunFile(ADS CMExitRunFile, Upper(CMExitRunFile), ADS NIL, 0, 128)) ELSE CheckErc(SetExitRunFile(ADS ExecExitRunFile, Upper(ExecExitRunFile), ADS NIL, 0, 128)); InitVideo; ChkGraType; WHILE TRUE DO BEGIN DisplayFKeys; DisplayFunctionKey(1,'Create',0); DisplayFunctionKey(2,' Edit',0); IF WsType = B21 THEN CheckErc(DisplayForm(ADS B21WelcomeForm,0,255,255)) ELSE CheckErc(DisplayForm(ADS WelcomeForm,0,255,255)); CheckErc(PosFrameCursor(0,255,255)); CheckErc(ReadKbd(ADS KbdByte)); CASE KbdByte OF F1 : BEGIN DisplayFunctionKey(1,' Pie',0); DisplayFunctionKey(2,' Bar',0); DisplayFunctionKey(3,'Line-A',0); DisplayFunctionKey(4,'Line-N',0); DisplayFunctionKey(10,'Return',0); Done := FALSE; WHILE NOT(Done) DO BEGIN CheckErc(ReadKbd( ADS KbdByte)); CASE KbdByte OF F1 : BEGIN RemoveWelcomeForm; Pie_Chart(EditNo,Null, fBTOSIIGraphics); Done := TRUE END; F2 : BEGIN RemoveWelcomeForm; Bar_Chart(EditNo,Null); Done := TRUE END; F3 : BEGIN RemoveWelcomeForm; AlphaLine_Chart(EditNo,Null); Done := TRUE END; F4 : BEGIN RemoveWelcomeForm; LINE_CHART(EditNo,Null); Done := TRUE END; F10: BREAK; Finish: ConfirmFinish; OTHERWISE Beep; END;{Case} END; {While Not(Done) } END;{F1} F2 : BEGIN RemoveWelcomeForm; GetEditFileSpec END; Finish : ConfirmFinish; OTHERWISE Beep; END;{Case} END;{While TRUE} END. Run File to this program and chains %%%%% %%%%% the resident graphics program. %%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%} PROCEDURE ZipBGP[PUBLIC]; CONST ExitRunFile = '[sys]QuickGraph.Run'; BGP = '[sys]BGP.run'; OFISGraphics = '[sys]OFISGraphics.Run'; BEGIN CheckErc(SetExitRunFile(ADS ExitRunFile, Upper(ExitRunFile), ADS NIL, 0, 128)); IF fBTOSIIGraphics = FALSE THEN CheckErc(Chain{$Debug-} Module Line; (*------------------------------------------------------------------------- ( ( FILENAME: LineMod.Pas ( Handles data collection for preparing a Line Chart ( ( CONTENTS: GetLineData ( SaveLineData ( Line_Chart ( ( REVISION HISTORY ( ( VERSION DATE BY DESCRIPTION ( ------- ---- -- ----------- ( ( 2.1.1 02-01-89 CB Expand size of some LString variables ( that were too small to 50 characters ( 2.0 02-12-87 TM Allow as much data as memory permits ( 1.2 02-17-86 CB Allow retries in OpenDataFile ( 1.1 01-10-86 CB Fixed Code-S ( 1.0 12-01-85 CB First release ( (------------------------------------------------------------------------- *) TYPE cCoordsType = ARRAY[1..5] OF WORD; LineNameType = ARRAY[1..5] OF LSTRING(20); LSFileSpec = LSTRING(50); Pointer = ADS OF WORD; pValueRec = ADS OF RECORD xValue : Real; yValue : Real; NxtPtr : ADSMEM; PrevPtr : ADSMEM; END; HeaderType = ARRAY [1..5] OF ADSMEM; CONST Cancel = 7; CodeS = 211; Code_s = 243; ColorFmt = '[sys]ColorLine.Fm'; CReturn = 10; DownArrow = 11; DScroll = #13; DType = 'Character.'; F1 = 21; F2 = 22; F3 = 23; F4 = 24; F5 = 25; F6 = 26; F7 = 28; F8 = 29; F9 = 30; F10 = 31; Finish = 4; Fmt = 'ChgFmt'; Go = 27; LineCode = 2; ModeRead = ReType(WORD,'mr'); ModeWrite = ReType(WORD,'mw'); MonoFmt = '[sys]Line.Fm'; NextPage = 12; OverType = 7; PrevPage = 5; Saving = 'Saving...'; SaveCmplt = 'Save Complete'; UpArrow = 1; UScroll = #11; WaitMsg = 'Please Wait.....'; VAR [EXTERN] BSVid, LineForm : WORD; VAR BsBuf : ARRAY[1..1024] OF BYTE; BSWA : ARRAY[1..130] OF BYTE; ByteRet : BYTE; cbRead : WORD; ChartType : WORD; cLines : WORD; cCoords : cCoordsType; DataPtr : pValueRec; TEMPPTR : PVALUEREC; DataRet : LSFileSpec; ExitKey : WORD; fDone : BOOLEAN; fF2 : BOOLEAN; FIndxX : Integer; FIndxY : Integer; fGraph : BOOLEAN; FldName : ARRAY[1..20] OF LSTRING(10); ExitState : RECORD ich[0] : WORD; ch[2] : WORD; fAutoExit[4] : BOOLEAN; fModified[6] : WORD; fEmpty[8] : WORD; Reserved[10] : ARRAY[1..6] OF BYTE; END; FmFile : LSFileSpec; FormColumn: Integer; FormRow : Integer; Hdr : ARRAY[1..8] OF WORD; Header : HeaderType; InitState : ARRAY[1..4] OF WORD; I,J : Integer; iNames : Integer; Indx : Integer; iCoords : Integer; ixValues : Integer; iyValues : Integer; LineTitle : LSFileSpec; LineName : LineNameType; MaxCoords : cCoordsType; Ok : BOOLEAN; pDataValue: pValueRec; pNewData : pValueRec; PicFile : LSFileSpec; Values : LSTRING(10); xLabel : LSFileSpec; yLabel : LSFileSpec; VALUE FldName[1] := 'LineTitle'; FldName[2] := 'xLabel'; FldName[3] := 'yLabel'; FldName[4] := 'cLines'; FldName[5] := 'LineData1'; FldName[6] := 'LineData2'; FldName[7] := 'LineData3'; FldName[8] := 'LineData4'; FldName[9] := 'LineData5'; FldName[10] := 'LineData6'; FldName[11] := 'LineData7'; FldName[12] := 'LineData8'; FldName[13] := 'LineData9'; FldName[14] := 'LineData10'; FldName[15] := 'LineData11'; FldName[16] := 'LineData12'; FldName[17] := 'Line#'; FldName[18] := 'xValue#'; FldName[19] := 'yValue#'; FldName[20] := 'Format'; {$Include:'Forms.Edf'} {$Include:'Main.Edf'} {$Include:'MiscMod.Edf'} {$Include:'Bs.Edf'} FUNCTION ReadKBD(pCharRet : POINTER) : WORD; EXTERN; FUNCTION AllocMemorySL(cBytes : WORD; ppSegmentRet : POINTER) : WORD; EXTERN; FUNCTION DeallocMemorySL(pSegment : POINTER; cBytes : WORD) : WORD; EXTERN; {%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% Find the minimum of the two numbers %%%%% %%%%% which are the parameters. %%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%} FUNCTION IMin(Int1, Int2 : INTEGER) : INTEGER; BEGIN IF (Int1 > Int2) THEN IMin := Int2 ELSE IMin := Int1; END; FUNCTION ReadASCIIData : WORD; VAR FieldNm, DataIn, DFormat, XFormat1, XFormat2, DataFile : LSTRING(80); Spaces : ARRAY [1..999] OF BYTE; J, Position : INTEGER; fValid : BOOLEAN; Erc, SpaceErc, cbRead, DataLen, SpacesLen1, SpacesLen2 : WORD; BEGIN REPEAT FieldNm := 'DataFile'; Read_The_FieldC(ADS LineForm, FieldNm, 0, DataFile, Upper(DataFile), ADS ExitState); IF (ExitState.ch = Finish) OR (ExitState.ch = Cancel) THEN Erc := 0 ELSE BEGIN Erc := OpenByteStream(ADS BSWA[1], ADS DataFile[1], DataFile.Len, ADS NIL,0, ModeRead, ADS BsBuf[1], SizeOf(BsBuf)); IF (Erc <> 0) THEN BEGIN Beep; Write_the_FieldC(ADS LineForm, FieldNm, 0, ADS NULL, 0); END; END; UNTIL (Erc = 0); IF (ExitState.ch = Finish) OR (ExitState.ch = Cancel) THEN ELSE REPEAT FieldNm := 'XFormat1'; Read_The_FieldC(ADS LineForm, FieldNm, 0, XFormat1, Upper(DataFile), ADS ExitState); IF (ExitState.ch = Finish) OR (ExitState.ch = Cancel) THEN fValid := TRUE ELSE BEGIN fValid := Decode(XFormat1, SpacesLen1); IF NOT (fValid) THEN BEGIN Beep; Write_the_FieldC(ADS LineForm, FieldNm, 0, ADS NULL, 0); END; END; UNTIL (fValid); IF (ExitState.ch = Finish) OR (ExitState.ch = Cancel) THEN ELSE REPEAT FieldNm := 'DFormat'; Read_The_FieldC(ADS LineForm, FieldNm, 0, DFormat, Upper(DataFile), ADS ExitState); IF (ExitState.ch = Finish) OR (ExitState.ch = Cancel) THEN fValid := TRUE ELSE BEGIN fValid := Decode(DFormat, DataLen); IF NOT (fValid) THEN BEGIN Beep; Write_the_FieldC(ADS LineForm, FieldNm, 0, ADS NULL, 0); END; END; UNTIL (fValid); IF (ExitState.ch = Finish) OR (ExitState.ch = Cancel) THEN ELSE REPEAT FieldNm := 'XFormat2'; Read_The_FieldC(ADS LineForm, FieldNm, 0, XFormat2, Upper(DataFile), ADS ExitState); IF (ExitState.ch = Finish) OR (ExitState.ch = Cancel) THEN fValid := TRUE ELSE BEGIN fValid := Decode(XFormat2, SpacesLen2); IF NOT (fValid) THEN BEGIN Beep; Write_the_FieldC(ADS LineForm, FieldNm, 0, ADS NULL, 0); END ELSE CASE FormColumn OF 3 : BEGIN FIndxX := 1; FIndxY := 1; ixValues := 1; iyValues := 1; FormRow := FIndxX + 4; pDataValue := Header[iNames]; J := 1; REPEAT SpaceErc := ReadBsRecord(ADS BSWA, ADS Spaces[1], SpacesLen1, ADS cbRead); Erc := ReadBsRecord(ADS BSWA, ADS Values[1], DataLen, ADS cbRead); Values.Len := cbRead; Ok := Decode(Values,pDataValue^.xValue); SpaceErc := ReadBsRecord(ADS BSWA, ADS Spaces[1], SpacesLen2, ADS cbRead); J := J + 1; pDataValue := pDataValue^.NxtPtr; UNTIL (Erc <> 0) OR (J > ORD(cCoords[iNames])) OR (NOT Ok); FOR J := 1 TO 12 DO CheckErc(DefaultField(ADS LineForm, ADS FldName[J+4,1], FldName[J+4].Len, 3)); pDataValue := Header[iNames]; FOR J := 1 TO IMin(Ord(cCoords[iNames]), 12) DO BEGIN Ok := Encode(Values,pDataValue^.xValue:-10:2); Write_the_FieldC(ADS LineForm, FldName[J+4], 3,ADS Values[1], Values.Len); pDataValue := pDataValue^.NxtPtr; END; DataPtr := Header[iNames]; END; 4 : BEGIN FIndxX := 1; FIndxY := 1; ixValues := 1; iyValues := 1; FormRow := FIndxY + 4; pDataValue := Header[iNames]; J := 1; REPEAT SpaceErc := ReadBsRecord(ADS BSWA, ADS Spaces[1], SpacesLen1, ADS cbRead); Erc := ReadBsRecord(ADS BSWA, ADS Values[1], DataLen, ADS cbRead); Values.Len := cbRead; Ok := Decode(Values,pDataValue^.yValue); SpaceErc := ReadBsRecord(ADS BSWA, ADS Spaces[1], SpacesLen2, ADS cbRead); J := J + 1; pDataValue := pDataValue^.NxtPtr; UNTIL (Erc <> 0) OR (J > ORD(cCoords[iNames])) OR (NOT Ok); FOR J := 1 TO 12 DO CheckErc(DefaultField(ADS LineForm, ADS FldName[J+4,1], FldName[J+4].Len, 4)); pDataValue := Header[iNames]; FOR J := 1 TO IMin(Ord(cCoords[iNames]), 12) DO BEGIN Ok := Encode(Values,pDataValue^.yValue:-10:2); Write_the_FieldC(ADS LineForm, FldName[J+4], 4,ADS Values[1], Values.Len); pDataValue := pDataValue^.NxtPtr; END; DataPtr := Header[iNames]; END; OTHERWISE ; END; { CASE } END; UNTIL (fValid); Erc := CloseByteStream(ADS BSWA); ReadASCIIData := ExitState.ch; END; { ReadASCIIData Function } {%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% Read the data file and load the data %%%%% %%%%% into the appropriate variables. %%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%} PROCEDURE GetLineData(VARS DataFile : LSFileSpec); BEGIN CheckErc(OpenDataFile(DataFile,ModeRead,False)); CheckErc(ReadDataFile(ADS ChartType,2,ADS cbRead)); CheckErc(ReadDataFile(ADS Hdr[1], 16,ADS cbRead)); CheckErc(ReadDataFile(ADS cLines,2,ADS cbRead)); FOR I := 1 TO Ord(cLines) DO BEGIN CheckErc(ReadDataFile(ADS cCoords[I], 2, ADS cbRead)); MaxCoords[I] := cCoords[I]; CheckErc(AllocMemorySL(SIZEOF(pDataValue^), ADS pDataValue)); Header[I] := pDataValue; CheckErc(ReadDataFile(ADS pDataValue^.xValue, 4, ADS cbRead)); FOR J := 2 TO Ord(cCoords[I]) DO BEGIN DataPtr := pDataValue; CheckErc(AllocMemorySL(SIZEOF(pDataValue^), ADS pDataValue)); DataPtr^.NxtPtr := pDataValue; pDataValue^.PrevPtr := DataPtr; CheckErc(ReadDataFile(ADS pDataValue^.xValue,4, ADS cbRead)); END; pDataValue := Header[I]; CheckErc(ReadDataFile(ADS pDataValue^.yValue, 4, ADS cbRead)); FOR J := 2 TO Ord(cCoords[I]) DO BEGIN pDataValue := pDataValue^.NxtPtr; CheckErc(ReadDataFile(ADS pDataValue^.yValue, 4, ADS cbRead)); END; END; CheckErc(Read_A_Byte(ADS ByteRet)); CheckErc(ReadDataFile(ADS PicFile[1],Wrd(ByteRet),ADS cbread)); PicFile.Len := Wrd(ByteRet); CheckErc(Read_A_Byte(ADS ByteRet)); CheckErc(ReadDataFile(ADS FmFile[1],Wrd(ByteRet),ADS cbread)); FmFile.Len := Wrd(ByteRet); CheckErc(Read_A_Byte(ADS ByteRet)); CheckErc(ReadDataFile(ADS DataFile[1],Wrd(ByteRet),ADS cbread)); DataFile.Len := Wrd(ByteRet); CheckErc(Read_A_Byte(ADS ByteRet)); CheckErc(ReadDataFile(ADS LineTitle[1],Wrd(ByteRet),ADS cbread)); LineTitle.Len := Wrd(ByteRet); CheckErc(Read_A_Byte(ADS ByteRet)); CheckErc(ReadDataFile(ADS xLabel[1],Wrd(ByteRet),ADS cbread)); xLabel.Len := Wrd(ByteRet); CheckErc(Read_A_Byte(ADS ByteRet)); CheckErc(ReadDataFile(ADS yLabel[1],Wrd(ByteRet),ADS cbread)); yLabel.Len := Wrd(ByteRet); FOR I := 1 TO Ord(cLines) DO BEGIN CheckErc(Read_A_Byte(ADS ByteRet)); CheckErc(ReadDataFile(ADS LineName[I,1],Wrd(ByteRet),ADS cbread)); LineName[I,0] := Chr(ByteRet); END; CloseDataFile; END; {%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% Save data entered for this pie chart %%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%} PROCEDURE SaveLineData(VARS DataFile : LSFileSpec); BEGIN IF fGraph THEN (*-----------------------------------------------------------*) (* If fGraph then check to see if file already exists *) (*-----------------------------------------------------------*) REPEAT cbRead := ULCMPB(ADS DataFile[Ord(DataFile.len-3)], ADS '.dat',4); IF cbRead <> #FFFF THEN ConCat(DataFile, '.Dat'); Movesl(ADS DataFile[1],ADS PicFile[1],DataFile.Len-4); PicFile.Len := DataFile.Len-4; UNTIL OverWriteOk(DataFile) ELSE BEGIN (*-----------------------------------------------------------*) (* Used CODE-S, do not check for data file go ahead and save *) (*-----------------------------------------------------------*) cbRead := ULCMPB(ADS DataFile[Ord(DataFile.len-3)], ADS '.dat',4); IF cbRead <> #FFFF THEN ConCat(DataFile, '.Dat'); Movesl(ADS DataFile[1],ADS PicFile[1],DataFile.Len-4); PicFile.Len := DataFile.Len-4; END; CheckErc(OpenDataFile(DataFile,ModeWrite,fGraph)); (*-------------------------------*) (*----- Write BGP data file -----*) (*-------------------------------*) WriteDataFile(ADS LineCode,2); FOR I := 1 TO 8 DO Hdr[I] := #FFFF; WriteDataFile(ADS Hdr[1],16); WriteDataFile(ADS cLines,2); FOR I := 1 TO Ord(cLines) DO BEGIN WriteDataFile(ADS cCoords[I],2); pDataValue := Header[I]; WriteDataFile(ADS pDataValue^.xValue,4); FOR J := 2 TO Ord(cCoords[I]) DO BEGIN pDataValue := pDataValue^.NxtPtr; WriteDataFile(ADS pDataValue^.xValue,4); END; pDataValue := Header[I]; WriteDataFile(ADS pDataValue^.yValue,4); FOR J := 2 TO Ord(cCoords[I]) DO BEGIN pDataValue := pDataValue^.NxtPtr; WriteDataFile(ADS pDataValue^.yValue,4); END; END; (*-------------------------------------------------------------*) (*----- Append parameters passed to BGP via memory (VLPB) -----*) (*----- to the end of the data file. This is done so that -----*) (*----- all data for a given graph is located in one file -----*) (*----- and can be easily recalled for Editing. -----*) (*-------------------------------------------------------------*) IF fGraph THEN ParamInit(2048,7); IF fGraph THEN ParamSetSimple(1,PicFile); WriteDataFile(ADS PicFile[0], PicFile.len+1); IF fGraph THEN ParamSetSimple(2,FmFile); WriteDataFile(ADS FmFile[0], FmFile.len+1); IF fGraph THEN ParamSetSimple(3,DataFile); WriteDataFile(ADS DataFile[0], DataFile.len+1); IF fGraph THEN ParamSetSimple(4,LineTitle); WriteDataFile(ADS LineTitle[0], LineTitle.len+1); IF fGraph THEN ParamSetSimple(5,xLabel); WriteDataFile(ADS xLabel[0], xLabel.len+1); IF fGraph THEN ParamSetSimple(6,yLabel); WriteDataFile(ADS yLabel[0], yLabel.len+1); IF fGraph THEN ParamListStart(7); FOR I := 1 TO Ord(cLines) DO BEGIN IF fGraph THEN ParamSetNextInList(LineName[I]); WriteDataFile(ADS LineName[I].Len,LineName[I].Len+1); END; CloseDataFile; END; {%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% 1) Collects all the data from the LINEFORM necessary to graph %%%%% %%%%% a Line chart. %%%%% %%%%% 2) Chains to BGP.Run. %%%%% %%%%% %%%%% %%%%% fEdit will be TRUE if the Edit Function key has been pressed or %%%%% %%%%% all form fields have been accessed. DataSpec will then contain %%%%% %%%%% the file spec of the data file. %%%%% %%%%% %%%%% %%%%% Fields on the form are accessed by: %%%%% %%%%% setting FormColumn ----> for the COLUMN the field is in %%%%% %%%%% setting FormRow -------> for the ROW the field is in %%%%% %%%%% FormColumn = 1 Column = 2 Column = 3 Column = 4 %%%%% %%%%% -------------- ---------- ---------- ---------- %%%%% %%%%% FormRow = 1 Title %%%%% %%%%% 2 X Axis Name %%%%% %%%%% 3 Y Axis Name %%%%% %%%%% 4 # of Lines %%%%% %%%%% 5 LineName[1] cCoords[1] XVal[1] YVal[1] %%%%% %%%%% 6 LineName[2] cCoords[2] XVal[2] YVal[2] %%%%% %%%%% 7 LineName[3] cCoords[3] XVal[3] YVal[3] %%%%% %%%%% 8 LineName[4] cCoords[4] XVal[4] YVal[4] %%%%% %%%%% 9 LineName[5] cCoords[5] XVal[5] YVal[5] %%%%% %%%%% 10 XVal[6] YVal[6] %%%%% %%%%% 11 XVal[7] YVal[7] %%%%% %%%%% 12 XVal[8] YVal[8] %%%%% %%%%% 13 XVal[9] YVal[9] %%%%% %%%%% 14 XVal[10] YVal[10] %%%%% %%%%% 15 XVal[11] YVal[11] %%%%% %%%%% 16 XVal[12] YVal[12] %%%%% %%%%% %%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%} PROCEDURE Line_Chart(fEdit : BOOLEAN; DataSpec : LSFileSpec); BEGIN DisplayFKeys; DisplayFunctionKey(10,'Return',0); fDone := False; fF2 := False; FormRow := 1; InitState[1] := 0; cLines := 0; iNames := 1; iCoords := 1; DataPtr := Header[iNames]; ixValues := 1; iyValues := 1; FIndxX := 1; FIndxY := 1; FormColumn := 1; FOR I := 1 TO 5 DO BEGIN cCoords[I] := 0; MaxCoords[I] := 0; END; CheckErc(DisplayForm(ADS LineForm, 0, 255,255)); IF fEdit THEN BEGIN (*-----------------------------------------------------------*) (*----- Go read the data file and display the data into -----*) (*----- the form. -----*) (*-----------------------------------------------------------*) GetLineData(DataSpec); Write_the_FieldC(ADS LineForm, FldName[1], 0,ADS LineTitle[1], LineTitle.Len); Write_the_FieldC(ADS LineForm, FldName[2], 0,ADS xLabel[1], xLabel.Len); Write_the_FieldC(ADS LineForm, FldName[3], 0,ADS yLabel[1], yLabel.Len); Write_the_FieldB(ADS LineForm, FldName[4], 0, ADS cLines); FOR I := 1 TO Ord(cLines) DO BEGIN Write_the_FieldC(ADS LineForm, FldName[I+4], 1, ADS LineName[I,1], LineName[I].Len); Write_the_FieldB(ADS LineForm, FldName[I+4], 2, ADS cCoords[I]); END; pDataValue := Header[1]; Write_the_FieldC(ADS LineForm, FldName[20], 0, ADS FmFile[1], FmFile.Len); END ELSE BEGIN (*-----------------------------------------------------------*) (*----- Set up the default Format file to be used to -----*) (*----- create the graph and display it to the form. -----*) (*-----------------------------------------------------------*) IF Color_Hdw THEN FmFile := ColorFmt ELSE FmFile := MonoFmt; Write_the_FieldC(ADS LineForm, FldName[20], 0, ADS FmFile[1], FmFile.Len); END; WHILE NOT(fDone) DO BEGIN IF fEdit THEN BEGIN CheckErc(SetKbdLed(OverType,True)); DisplayFunctionKey(1,'Graph',4); DisplayFunctionKey(2,'InFile',0); DisplayFunctionKey(3,Fmt,5); DisplayFunctionKey(4,'Names',0); DisplayFunctionKey(5,'DatPts',0); DisplayFunctionKey(6,'xValues',0); DisplayFunctionKey(7,'yValues',0); DisplayFunctionKey(8,Null,5); DisplayFunctionKey(9,Null,5); END ELSE BEGIN CheckErc(SetKbdLed(OverType,False)); DisplayFunctionKey(1,'Graph',0); DisplayFunctionKey(3,Fmt,5); DisplayFunctionKey(4,Null,0); DisplayFunctionKey(5,Null,0); DisplayFunctionKey(6,Null,0); DisplayFunctionKey(7,Null,0); DisplayFunctionKey(8,Null,5); DisplayFunctionKey(9,Null,5) END; CASE FormColumn OF (*---------------------------------------------------------*) (*----- If the FormRow is > 4 then the Title, XAxis -----*) (*----- name, YAxix name, & Number if Lines have been -----*) (*----- entered. -----*) (*----- FormColumn = 1 is the LineName column. -----*) (*----- FormColumn = 2 is the Number of data -----*) (*----- points per LineName. -----*) (*----- FormColumn = 3 is the X Value column. -----*) (*----- FormColumn = 4 is the Y Value column. -----*) (*----- -----*) (*----- This Case statement writes the number of the -----*) (*----- Active LineName, Number of Data Points, -----*) (*----- X Value or the Y Value into the form, that is -----*) (*----- currently being input. -----*) (*---------------------------------------------------------*) 1 : IF FormRow > 4 THEN BEGIN DisplayFunctionKey(4,'Names',0); DisplayFunctionKey(5,'DatPts',0); DisplayFunctionKey(6,'xValues',0); DisplayFunctionKey(7,'yValues',0); DisplayFunctionKey(8,Null,5); DisplayFunctionKey(9,Null,5); CheckErc(DefaultField(ADS LineForm, ADS FldName[17,1],FldName[17].Len,2)); CheckErc(DefaultField(ADS LineForm, ADS FldName[18,1],FldName[18].Len,0)); CheckErc(DefaultField(ADS LineForm, ADS FldName[19,1],FldName[19].Len,0)); Write_the_FieldB(ADS LineForm, FldName[17] ,1, ADS iNames); (*------------------------------------------------------*) (*----- Clear the X & Y values on the form for the -----*) (*----- current line name. -----*) (*------------------------------------------------------*) FOR I := 1 TO 12 DO BEGIN CheckErc(DefaultField(ADS LineForm, ADS FldName[I+4,1], FldName[I+4].Len, 3)); CheckErc(DefaultField(ADS LineForm, ADS FldName[I+4,1], FldName[I+4].Len, 4)); END; (*------------------------------------------------------*) (*----- Display the X & Y values on the form for -----*) (*----- the current Line Name. -----*) (*------------------------------------------------------*) FIndxX := 1; FIndxY := 1; ixValues := 1; iyValues := 1; pDataValue := Header[iNames]; FOR I := 1 TO IMin(Ord(cCoords[iNames]), 12) DO BEGIN Ok := Encode(Values,pDataValue^.xValue:-10:2); Write_the_FieldC(ADS LineForm, FldName[I+4], 3,ADS Values[1], Values.Len); Ok := Encode(Values,pDataValue^.yValue:-10:2); Write_the_FieldC(ADS LineForm, FldName[I+4], 4,ADS Values[1], Values.Len); pDataValue := pDataValue^.NxtPtr; END; END; 2 : BEGIN DisplayFunctionKey(4,'Names',0); DisplayFunctionKey(5,'DatPts',0); DisplayFunctionKey(6,'xValues',0); DisplayFunctionKey(7,'yValues',0); DisplayFunctionKey(8,Null,5); DisplayFunctionKey(9,Null,5); CheckErc(SetFieldAttrs(ADS LineForm, ADS FldName[iNames+4,1],FldName[iNames+4].Len, 1,0)); CheckErc(DefaultField(ADS LineForm, ADS FldName[17,1],FldName[17].Len,1)); CheckErc(DefaultField(ADS LineForm, ADS FldName[18,1],FldName[18].Len,0)); CheckErc(DefaultField(ADS LineForm, ADS FldName[19,1],FldName[19].Len,1)); Write_the_FieldB(ADS LineForm, FldName[17] ,2, ADS iCoords) END; 3,4 : BEGIN DisplayFunctionKey(2,'InFile',0); DisplayFunctionKey(8,' Prev',4); DisplayFunctionKey(9,' Next',4); IF fF2 THEN BEGIN DisplayFunctionKey(6,'xValues',0); DisplayFunctionKey(7,'yValues',0); END; CheckErc(DefaultField(ADS LineForm, ADS FldName[17,1], FldName[17].Len,1)); CheckErc(DefaultField(ADS LineForm, ADS FldName[17,1], FldName[17].Len,2)); IF FormRow > 4 THEN CheckErc(SetFieldAttrs(ADS LineForm, ADS FldName[iNames+4,1],FldName[iNames+4].Len, 1,5)); IF (FormRow = 5) AND (ixValues = 1) AND (iyValues = 1) THEN BEGIN FOR I := 1 TO 12 DO BEGIN CheckErc(DefaultField(ADS LineForm, ADS FldName[I+4,1],FldName[I+4].Len, 3)); CheckErc(DefaultField(ADS LineForm,ADS FldName[I+4,1],FldName[I+4].Len, 4)) END; FIndxX := 1; FIndxY := 1; pDataValue := Header[iNames]; FOR I := 1 TO IMin(Ord(cCoords[iNames]), 12) DO BEGIN Ok := Encode(Values, pDataValue^.xValue:-10:2); IF pDataValue^.xValue <> 0 OR ELSE fEdit THEN Write_the_FieldC(ADS LineForm, FldName[I+4], 3,ADS Values[1], Values.Len); Ok := Encode(Values, pDataValue^.yValue:-10:2); IF pDataValue^.yValue <> 0 OR ELSE fEdit THEN Write_the_FieldC(ADS LineForm, FldName[I+4], 4,ADS Values[1], Values.Len); pDataValue := pDataValue^.NxtPtr; END; END; IF FormColumn = 3 THEN BEGIN CheckErc(DefaultField(ADS LineForm, ADS FldName[19,1],FldName[19].Len,0)); Write_the_FieldB(ADS LineForm, FldName[18] ,1, ADS ixValues) END ELSE BEGIN CheckErc(DefaultField(ADS LineForm, ADS FldName[18,1],FldName[18].Len,0)); Write_the_FieldB(ADS LineForm, FldName[19] ,1, ADS iyValues) END; IF FormRow = 4 THEN BEGIN CheckErc(SetFieldAttrs(ADS LineForm, ADS FldName[iNames+4,1],FldName[iNames+4].Len, 1,0)); DisplayFunctionKey(8,Null,5); DisplayFunctionKey(9,Null,5) END; END; OTHERWISE ; END; Ok := FALSE; WHILE NOT(Ok) DO BEGIN (*----------------------------------------------------------*) (*----- Ok will be set to TRUE if the data entered for -----*) (*----- the form field is appropriate for that field. -----*) (*----- Data read from the field in the form is -----*) (*----- returned in the LString DataRet. -----*) (*----------------------------------------------------------*) Read_The_FieldC(ADS LineForm, FldName[FormRow], Wrd(FormColumn), DataRet, Upper(DataRet), ADS ExitState); WriteStatusLine(ADS LineForm, Null, 0, False); (*-------------------------------------------------------*) (*----- Based on which Row and Column is active on -----*) (*----- the form this case statement knows what data-----*) (*----- is being input and does the appropriate -----*) (*----- checks and places the entered data in the -----*) (*----- appropriate variable. -----*) (*-------------------------------------------------------*) CASE FormRow OF (*-------------------------------------------------------*) (*----- Based on which Row and Column is active on -----*) (*----- the form this case statement knows what data-----*) (*----- is being input and does the appropriate -----*) (*----- checks and places the entered data in the -----*) (*----- appropriate variable. -----*) (*-------------------------------------------------------*) 1 : BEGIN LineTitle := DataRet; RemoveBlanks(LineTitle,DataSpec); IF DataSpec.Len = 0 THEN Ok := False ELSE BEGIN Ok := True; FormColumn := 1; iNames := 1; iCoords := 1; DataPtr := Header[iNames]; FIndxX := 1; FIndxY := 1; ixValues := 1; iyValues := 1 END; CASE ExitState.ch OF F2, F10, Finish, Cancel : Ok := True; OTHERWISE ; END; IF NOT(OK) THEN BEGIN Beep; WriteStatusLine(ADS LineForm, 'An entry is required!', 0,False) END END; 2 : BEGIN xLabel := DataRet; FormColumn := 1; Ok := True END; 3 : BEGIN yLabel := DataRet; FormColumn := 1; Ok := True END; 4 : BEGIN FormColumn := 1; RemoveBlanks(DataRet,DataRet); Ok := Decode(DataRet,cLines); IF (cLines <= 0) OR (cLines > 5) THEN Ok := False; CASE ExitState.ch OF F2, F10, Finish, Cancel, UpArrow : Ok := True; OTHERWISE ; END; IF NOT(OK) THEN BEGIN Beep; WriteStatusLine(ADS LineForm,'Valid entries are 1 - 5.', 0,False) END END; OTHERWISE BEGIN CASE FormColumn OF 1 : BEGIN LineName[iNames] := DataRet; Ok := True END; 2 : BEGIN RemoveBlanks(DataRet,DataRet); Ok := Decode(DataRet,cCoords[iCoords]); IF (cCoords[iCoords] <= 0) THEN Ok := False ELSE IF (MaxCoords[iCoords] < cCoords[iCoords]) THEN BEGIN IF (MaxCoords[iCoords] > 0) THEN BEGIN pDataValue := Header[iCoords]; FOR I := 2 TO ORD(MaxCoords[iCoords]) DO pDataValue := pDataValue^.NxtPtr; END; FOR I := ORD(MaxCoords[iCoords]+1) TO ORD(cCoords[iCoords]) DO BEGIN CheckErc(AllocMemorySL( SIZEOF(pNewData^), ADS pNewData)); pNewData^.xValue := 0.0; pNewData^.yValue := 0.0; IF (I = 1) THEN BEGIN Header[iCoords] := pNewData; DataPtr := Header[iNames]; END ELSE BEGIN pDataValue^.NxtPtr := pNewData; pNewData^.PrevPtr := pDataValue; END; pDataValue := pNewData; END; MaxCoords[iCoords] := cCoords[iCoords]; END; CASE ExitState.ch OF F2, F10, Finish, Cancel, UpArrow : Ok := True; OTHERWISE ; END; IF NOT(OK) THEN BEGIN Beep; WriteStatusLine(ADS LineForm,'Valid entries are 1 - 12.', 0,False) END END; 3 : BEGIN RemoveBlanks(DataRet,DataRet); Ok := Decode(DataRet,DataPtr^.xValue); CASE ExitState.ch OF F2, F10, Finish, Cancel, UpArrow : Ok := True; OTHERWISE ; END; IF NOT(OK) THEN BEGIN Beep; WriteStatusLine(ADS LineForm, 'A Number is required!', 0,False) END END; 4 : BEGIN RemoveBlanks(DataRet,DataRet); Ok := Decode(DataRet,DataPtr^.yValue); CASE ExitState.ch OF F2, F10, Finish, Cancel, UpArrow : Ok := True; OTHERWISE ; END; IF NOT(OK) THEN BEGIN Beep; WriteStatusLine(ADS LineForm,'A Number is required!', 0,False) END END; OTHERWISE ; END END;{Case of FormColumn} END;{Case of FormRow} END; {While Not(Ok)} CASE ExitState.ch OF (*---------------------------------------------------*) (*----- This case statement checks the value of -----*) (*----- the keyboard key used to terminate the -----*) (*----- current form field. -----*) (*---------------------------------------------------*) CodeS, Code_s : IF DataSpec.Len <> 0 THEN BEGIN WriteStatusLine(ADS LineForm, Saving, 0, False); SaveLineData(DataSpec); WriteStatusLine(ADS LineForm, SaveCmplt, 0, False) END; F1,Go : IF fEdit THEN BEGIN fDone := TRUE; fGraph := TRUE END; F10 : BEGIN fDone := True; fGraph := FALSE END; Finish : ConfirmFinish; Cancel : WriteStatusLine(ADS LineForm, Null, 0, False); F2 : IF (FormColumn > 2) THEN BEGIN ExitKey := ReadASCIIData; IF (ExitKey = Finish) THEN ConfirmFinish; fF2 := True; IF (iNames = Ord(cLines)) AND (FormRow > 4) AND (FormColumn = 4) THEN fEdit := True; END; F3 : Read_The_FieldC(ADS LineForm, FldName[20], 0, FmFile,Upper(FmFile), ADS ExitState); F4 : IF fEdit OR ELSE (cLines > 0) THEN [FormColumn := 1; FormRow := iNames+4]; F5 : IF fEdit OR ELSE (cLines > 0) THEN [FormColumn := 2; FormRow := iCoords+4]; F6 : IF fEdit OR ELSE (cLines > 0) THEN [FormColumn := 3; IF FIndxX > ORD(cCoords[iNames]) THEN BEGIN FIndxX := ORD(cCoords[iNames]); ixValues := ORD(cCoords[iNames]); END; DataPtr := Header[iNames]; FOR J := 2 TO ixValues DO DataPtr := DataPtr^.NxtPtr; FormRow := FIndxX+4]; F7 : IF fEdit OR ELSE (cLines > 0) THEN [FormColumn := 4; IF FIndxY > ORD(cCoords[iNames]) THEN BEGIN FIndxY := ORD(cCoords[iNames]); iyValues := ORD(cCoords[iNames]); END; DataPtr := Header[iNames]; FOR J := 2 TO iyValues DO DataPtr := DataPtr^.NxtPtr; FormRow := FIndxY+4]; F8,PrevPage : IF (FormRow > 4) AND THEN ((FormColumn =3) OR (FormColumn = 4)) THEN BEGIN CheckErc(SetFieldAttrs(ADS LineForm,ADS FldName[iNames+4,1], FldName[iNames+4].Len,1,0)); FormRow := 5; FIndxX := FormRow-4; FIndxY := FormRow-4; ixValues := FormRow-4; iyValues := FormRow-4; IF iNames <> 1 THEN iNames := iNames-1; DataPtr := Header[iNames]; END; F9,NextPage : IF (FormRow > 4) AND THEN ((FormColumn =3) OR (FormColumn = 4)) THEN BEGIN CheckErc(SetFieldAttrs(ADS LineForm,ADS FldName[iNames+4,1],FldName[iNames+4].Len,1,0)); FormRow := 5; FIndxX := FormRow-4; FIndxY := FormRow-4; ixValues := FormRow-4; iyValues := FormRow-4; IF iNames <> Ord(cLines) THEN iNames := iNames+1; DataPtr := Header[iNames]; END; UpArrow : IF FormRow = 1 THEN ! DO Nothing ELSE BEGIN FormRow := FormRow -1; IF FormRow > 4 THEN BEGIN CASE FormColumn OF 1 : [iNames := FormRow-4; DataPtr := Header[iNames]; ]; 2 : iCoords := FormRow-4; 3 : [FIndxX := FormRow-4; ixValues := ixValues - 1; DataPtr := DataPtr^.PrevPtr; ]; 4 : [FIndxY := FormRow-4; iyValues := iyValues - 1; DataPtr := DataPtr^.PrevPtr; ]; OTHERWISE ; END; END END; DownArrow : BEGIN CASE FormRow OF 1 : FormRow := 2; 2 : FormRow := 3; 3 : FormRow := 4; 4 : FormRow := 5; 5..17 : BEGIN CASE FormColumn OF 1 : IF iNames = Ord(cLines) THEN BEGIN FormRow := 5; iNames := FormRow-4; DataPtr := Header[iNames]; END ELSE BEGIN FormRow := FormRow +1; iNames := FormRow-4; DataPtr := Header[iNames]; END; 2 : IF iCoords = Ord(cLines) THEN BEGIN FormRow := 5; iCoords := FormRow-4 END ELSE BEGIN FormRow := FormRow +1; iCoords := FormRow-4 END; 3 : IF (ixValues = Ord(cCoords[iNames])) OR (FIndxX = 12) THEN BEGIN FormRow := 5; ixValues := ixValues - FIndxX + 1; FOR I := 1 TO (FIndxX-1) DO DataPtr := DataPtr^.PrevPtr; FIndxX := FormRow-4; END ELSE [FormRow := FormRow +1; ixValues := ixValues+1; FIndxX := FormRow-4; DataPtr := DataPtr^.NxtPtr]; 4 : IF (iyValues= Ord(cCoords[iNames])) OR (FIndxY = 12) THEN BEGIN FormRow := 5; iyValues := iyValues - FIndxY + 1; FOR I := 1 TO (FIndxY-1) DO DataPtr := DataPtr^.PrevPtr; FIndxY := FormRow-4; END ELSE BEGIN FormRow := FormRow +1; iyValues := iyValues+1; FIndxY := FormRow-4; DataPtr := DataPtr^.NxtPtr END; OTHERWISE ; END END; OTHERWISE ; END END; UScroll : BEGIN CASE FormRow OF 1 : FormRow := 2; 2 : FormRow := 3; 3 : FormRow := 4; 4 : FormRow := 5; 5..17 : CASE FormColumn OF 3 : BEGIN IF ((ixValues - FIndxX + 2) <= ORD(cCoords[iNames])) THEN BEGIN pDataValue := DataPtr; Indx := ixValues - FIndxX + 2; FOR I := (ixValues+1) TO Indx DO pDataValue := pDataValue^.NxtPtr; FOR I := (ixValues-1) DOWNTO Indx DO pDataValue := pDataValue^.PrevPtr; ixValues := ixValues + 1; DataPtr := DataPtr^.NxtPtr; I := 1; END ELSE I := 100; WHILE (I <= 12) DO BEGIN IF (Indx <= ORD(cCoords[iNames])) THEN BEGIN Ok := Encode(Values,pDataValue^.xValue:-10:2); Write_the_FieldC(ADS LineForm, FldName[I+4], 3,ADS Values[1], Values.Len); IF (Indx = ORD(cCoords[iNames])) AND (FIndxX > I) THEN BEGIN FIndxX := I; ixValues := ORD(cCoords[iNames]); FormRow := FormRow-1; DataPtr := pDataValue; END; pDataValue := pDataValue^.NxtPtr; END ELSE CheckErc(DefaultField(ADS LineForm, ADS FldName[I+4,1], FldName[I+4].Len, 3)); I := I + 1; Indx := Indx + 1; END; END; 4 : BEGIN IF ((iyValues - FIndxY + 2) <= ORD(cCoords[iNames])) THEN BEGIN pDataValue := DataPtr; Indx := iyValues - FIndxY + 2; FOR I := (iyValues+1) TO Indx DO pDataValue := pDataValue^.NxtPtr; FOR I := (iyValues-1) DOWNTO Indx DO pDataValue := pDataValue^.PrevPtr; iyValues := iyValues + 1; DataPtr := DataPtr^.NxtPtr; I := 1; END ELSE I := 100; WHILE (I <= 12) DO BEGIN IF (Indx <= ORD(cCoords[iNames])) THEN BEGIN Ok := Encode(Values,pDataValue^.yValue:-10:2); Write_the_FieldC(ADS LineForm, FldName[I+4], 4,ADS Values[1], Values.Len); IF (Indx = ORD(cCoords[iNames])) AND (FIndxY > I) THEN BEGIN FIndxY := I; iyValues := ORD(cCoords[iNames]); FormRow := FormRow-1; DataPtr := pDataValue; END; pDataValue := pDataValue^.NxtPtr; END ELSE CheckErc(DefaultField(ADS LineForm, ADS FldName[I+4,1], FldName[I+4].Len, 4)); I := I + 1; Indx := Indx + 1; END; END; OTHERWISE ; END OTHERWISE ; END END; DScroll : BEGIN CASE FormRow OF 1 : FormRow := 2; 2 : FormRow := 3; 3 : FormRow := 4; 4 : FormRow := 5; 5..17 : CASE FormColumn OF 3 : BEGIN IF ((ixValues - FIndxX) > 0) THEN BEGIN pDataValue := DataPtr; Indx := ixValues - FIndxX; FOR I := (ixValues-1) DOWNTO Indx DO pDataValue := pDataValue^.PrevPtr; ixValues := ixValues - 1; DataPtr := DataPtr^.PrevPtr; I := 1; END ELSE I := 100; WHILE (I <= 12) DO BEGIN IF (Indx <= ORD(cCoords[iNames])) THEN BEGIN Ok := Encode(Values,pDataValue^.xValue:-10:2); Write_the_FieldC(ADS LineForm, FldName[I+4], 3,ADS Values[1], Values.Len); (* IF (Indx = ORD(cCoords[iNames])) AND (FIndxX > I) THEN BEGIN FIndxX := I; ixValues := ORD(cCoords[iNames]); FormRow := FormRow-1; DataPtr := pDataValue; END; *) pDataValue := pDataValue^.NxtPtr; END ELSE CheckErc(DefaultField(ADS LineForm, ADS FldName[I+4,1], FldName[I+4].Len, 3)); I := I + 1; Indx := Indx + 1; END; END; 4 : BEGIN IF ((iyValues - FindxY) > 0) THEN BEGIN pDataValue := DataPtr; Indx := iyValues - FindxY; FOR I := (iyValues-1) DOWNTO Indx DO pDataValue := pDataValue^.PrevPtr; iyValues := iyValues - 1; DataPtr := DataPtr^.PrevPtr; I := 1; END ELSE I := 100; WHILE (I <= 12) DO BEGIN IF (Indx <= ORD(cCoords[iNames])) THEN BEGIN Ok := Encode(Values,pDataValue^.xValue:-10:2); Write_the_FieldC(ADS LineForm, FldName[I+4], 4,ADS Values[1], Values.Len); (* IF (Indx = ORD(cCoords[iNames])) AND (FindxY > I) THEN BEGIN FindxY := I; iyValues := ORD(cCoords[iNames]); FormRow := FormRow-1; DataPtr := pDataValue; END; *) pDataValue := pDataValue^.NxtPtr; END ELSE CheckErc(DefaultField(ADS LineForm, ADS FldName[I+4,1], FldName[I+4].Len, 4)); I := I + 1; Indx := Indx + 1; END; END; OTHERWISE ; END OTHERWISE ; END END; OTHERWISE BEGIN CASE FormRow OF 1 : FormRow := 2; 2 : FormRow := 3; 3 : FormRow := 4; 4 : FormRow := 5; 5..17 : BEGIN CASE FormColumn OF 1 : IF iNames = Ord(cLines) THEN BEGIN FormRow := 5; iNames := FormRow-4; DataPtr := Header[iNames]; iCoords := 1; FormColumn := 2 END ELSE BEGIN FormRow := FormRow +1; iNames := FormRow-4; DataPtr := Header[iNames]; END; 2 : IF iCoords = Ord(cLines) THEN BEGIN iCoords := 1; FIndxX := 1; FIndxY := 1; ixValues := 1; iyValues := 1; FormRow := 5; FormColumn := 3 END ELSE BEGIN iCoords := iCoords + 1; FormRow := FormRow +1 END; 3 : BEGIN IF (ixValues = Ord(cCoords[iNames])) THEN BEGIN FIndxX := 1; FIndxY := 1; ixValues := 1; iyValues := 1; DataPtr := Header[iNames]; FormRow := 5; FormColumn := 4 END ELSE BEGIN IF (FIndxX = 12) THEN BEGIN pDataValue := DataPtr; Indx := ixValues - FIndxX + 2; FOR I := (ixValues-1) DOWNTO Indx DO pDataValue := pDataValue^.PrevPtr; ixValues := ixValues + 1; DataPtr := DataPtr^.NxtPtr; I := 1; WHILE (I <= 12) DO BEGIN Ok := Encode(Values,pDataValue^.xValue:-10:2); Write_the_FieldC(ADS LineForm, FldName[I+4], 3,ADS Values[1], Values.Len); pDataValue := pDataValue^.NxtPtr; I := I + 1; END END ELSE BEGIN FIndxX := FIndxX +1; ixValues := ixValues +1; DataPtr := DataPtr^.NxtPtr; FormRow := FormRow +1 END END END; 4 : IF iNames = Ord(cLines) AND THEN (iyValues = Ord(cCoords[iNames])) THEN BEGIN CheckErc(SetFieldAttrs(ADS LineForm, ADS FldName [iNames+4,1], FldName[iNames+4].Len, 1,0)); FormRow := 1; fEdit := TRUE; FormColumn := 1 END ELSE BEGIN IF (iyValues= Ord(cCoords[iNames])) THEN BEGIN CheckErc(SetFieldAttrs(ADS LineForm, ADS FldName[iNames+4,1], FldName[iNames+4].Len, 1, 0)); iNames := iNames +1; DataPtr := Header[iNames]; FormRow := 5; FormColumn := 3; fF2 := False; FIndxX := 1; FIndxY := 1; ixValues := 1; iyValues := 1 END ELSE BEGIN IF (FIndxY = 12) THEN BEGIN pDataValue := DataPtr; Indx := iyValues - FIndxY + 2; FOR I := (iyValues-1) DOWNTO Indx DO pDataValue := pDataValue^.PrevPtr; iyValues := iyValues + 1; DataPtr := DataPtr^.NxtPtr; I := 1; WHILE (I <= 12) DO BEGIN Ok := Encode(Values,pDataValue^.yValue:-10:2); Write_the_FieldC(ADS LineForm, FldName[I+4], 4,ADS Values[1], Values.Len); pDataValue := pDataValue^.NxtPtr; I := I + 1; END END ELSE BEGIN FIndxY := FIndxY + 1; iyValues := iyValues + 1; DataPtr := DataPtr^.NxtPtr; FormRow := FormRow +1 END END END; OTHERWISE ; END {Case of FormColumn} END; OTHERWISE ; END {Case of FormRow} END; END;{Case of ExitState.ch} (*-------------------------------------------------------------*) (*----- Check that all required fields have been entered, -----*) (*----- if not, set the form row & column to where the -----*) (*----- entry is in error and activate that field. -----*) (*-------------------------------------------------------------*) IF (fDone AND fGraph) THEN FOR I := Ord(cLines) DOWNTO 1 DO IF LineName[I].Len = 0 THEN BEGIN Beep; WriteStatusLine(ADS LineForm, 'Invalid or missing entry!',0,False); iNames := I; DataPtr := Header[iNames]; FormRow := iNames+4; FormColumn := 1; FIndxX := 1; FIndxY := 1; ixValues := 1; iyValues := 1; fDone := False END; END; {While not(fDone} CheckErc(UnDisplayForm(ADS LineForm)); IF fGraph THEN BEGIN SaveLineData(DataSpec); ZipBGP END; END;{Procedure} END. THEN BEGIN CheckErc(SetFieldAttrs(ADS LineForm, ADS FldName[iNames+4,1], (* Main.Edf *) Procedure CloseDataFile;Extern; Function Color_Hdw: Boolean;EXTERN; Procedure ConfirmFinish;Extern; Procedure Create_or_Edit;Extern; Procedure DisplayFKeys;Extern; Procedure DisplayFunctionKey( FunctionKey : Word; ConstS LabelData : Lstring; Attribute : Word);Extern; Function OpenDataFile(Consts FileName : Lstring; Mode : Word; fGraph : Boolean):Word;Extern; Function OverWriteOk(Vars DatFile : LSFileSpec):Boolean;Extern; Procedure ParamInit( MemorySize : Word; cParams : Word);Extern; Procedure ParamSetSimple( iParameter : Word; Consts Parameter : Lstring);Extern; Procedure ParamListStart(Param : Word);Extern; Procedure ParamSetNextInList(ConstS Parameter : Lstring);Extern; Procedure RemoveBlanks(VarS Source : LString; VarS Dest : LString);Extern; Function Read_A_Byte(pbRet : Pointer):Word;Extern; Function ReadDataFile(pbData : Pointer; cbData : Word; psDataRet : Pointer):Word;Extern; Function ReadKbdDirect( Mode : word; pCharRet: Pointer):Word;Extern; Procedure Read_the_FieldB( Form : Pointer; Consts FieldName: LString; Index : Word; VarS DataRet : Word; ExitState: Pointer);Extern; Procedure Read_the_FieldC( Form : Pointer; Consts FieldName: LString; Index : Word; VarS DataRet : Lstring; DataRetMax: Word; ExitState : Pointer);Extern; Function SetKbdLed( iLed: Word; fOn : Boolean):Word;Extern; Procedure WriteDataFile( pbData : Pointer; cbData : Word);Extern; Procedure Write_the_FieldB( Form : Pointer; Consts FieldName: LString; Index : Word; WriteData: Pointer);Extern; Procedure Write_the_FieldC( Form : Pointer; Consts FieldName: LString; Index : Word; WriteData: Pointer; sDataMax : Word);Extern; Procedure WriteStatusLine( Form : Pointer; Consts Data : Lstring; Index : Word; Wait : Boolean);Extern; Procedure ZipBGP;Extern; Function PutFrameChars(iFrame : Word; iCol : Word; iLine : Word; pbText : Pointer; cbText : Word):Word;Extern; Procedure Beep;Extern; Function ULCMPB( pbString1 : Pointer; pbString2 : Pointer; cbStrings : Word):Word;Extern; %'Link submit file Link V6 %'Object modules '@obj.fls %'Run file 'QuickGraph.Run %'[Map file] '%2 %'[Publics?] ' %'[Line numbers?] ' %'[Stack size] ' %'[Max. array, data, code]'1 1 1 %'[Min. array, data, code]'1 1 1 %'[Run file mode] 'Protected %'[Version] ''2.3 %D|!*o!/!*d!/!yy! !*h!:!0m!!*a!|' %'[Libraries] '@Lib.Fls %'[DS allocation?] ' %'[Symbol file] '%3 %'[Copyright notice?] 'N %'[File to append] 'legalese F^&^ &&W^&G :t ^&Gs^&G&G&WFV&w&wRP&S^&wFP\FV~NV~=]=u# t^&GF^&G^&GFF up^&GFV^&G&WF^&G^&G&W;Vu;Fw4&G^&G&W&+G&WFVF&G^&uFFU u. t!;v 33@33.P 3 ҃+@sH]U؋]UN~F V u. t!;v 33%'link @obj.fls QuickGraph.Run %2 '2.3 %D|!*o!/!*d!/!yy! !*h!:!0m!!*a!|' forms.lib QGForms.lib %3 ile] '%2 %'[Publics?] ' %'[Line numbers?] ' %'[Stack size] ' %'[Max. array, data, code]'1 1 1 %'[Min. array, data, code]'1 1 1 %'[Run file mode] 'Protected %'[Version] ''2.3 %D|!*o!/!*d!/!yy! !*h!:!0m!!*a!|' %'[Libraries] 'QGForms.lib [SYS]Forms.Lib [sys]CmApi.Lib %'[DS allocation?] ' %'[Symbol file] (* Parameter Management.Edf *) Function rgParamInit( pVarParams : Pointer; sVarParams : Word; iParamMax : Word):Word;Extern; Function rgParamSetEltNext(pSd : Pointer):Word;Extern; Function rgParamSetListStart(iParam : Word):Word;Extern; Function rgParamSetSimple( iParam : Word; pSd : Pointer):Word;Extern; Function ULCMPB( pbString1 : Pointer; pbString2 : Pointer; cbStrings : Word):Word;Extern; et : Pointer; cbMax : Word; pcbRet : Pointer; pType : Pointer):Wo(* Task Management.Edf *) Procedure Beep;Extern; Function Chain( pbFileSpec : Pointer; cbFileSpec : Word; pbPassword : Pointer; cbPassword : Word; priority : Word; ercTermination : Word; fDebug : Boolean):Word;Extern; Procedure CheckErc( Erc : Word);Extern; Procedure ErrorExit( Erc : Word);Extern; Procedure ErrorExitString( Erc : Word; pbString: Pointer; cbString: Word);Extern; Procedure Exit;Extern; Function LoadTask( fh : Word; Priority : Word; fDebug : Boolean):Word;Extern; Function QueryExitRunFile(pbExitFileRet : Pointer; cbExitFileRet : Word; pbPasswordRet : Pointer; cbPasswordret : Word; pbPriorityRet : Word):Word;Extern; Function SetExitRunFile(pbExitRunFile : Pointer; cbExitRunFile : Word; pbPassword : Pointer; cbPassword : Word; Priority : Word):Word;Extern; n; Function PutFrameChars(iFrame : Word; iCol : Word; iLine : Word; pbText : Pointer; %' Compile submit file pas QuickGraph.pas %1pas PieMod.pas %1pas BarMod.pas %1pas AlphaLineMod.pas %1pas LineMod.pas %1Submit Bind.Sub 2.3 %1 %2 %3 %'[Line numbers?] ' %'[Stack size] ' %'[Max. array, data, code]'1 1 1 %'[Min. array, data, code]'1 1 1 %'[Run file mode] 'Protected %'[Version] ''2.3 %D|!*o!/!*d!/!yy! !*h!:!0m!!*a!|' %'[Libraries] 'QGForms.lib [SYS]Forms.Lib [sys]CmApi.Lib %'[DS allocation?] ' %'[Symbol file] REFERENCE GUIDE Introduction What follows is a description of a process which can add verve, vitality, and visual clarity to verbal statements, thereby improving one's communication whether using the oral or written medium. Specifically, the Quick Graph program is directed toward the communication classes in the Business School, but can be used by other classes, by the faculty, and by executives in School seminars. The end product for the user can be either a hard copy of visual data or a transparency, this may be used within a written report or as part of an oral presentation. Three visual representations are possible through using Quick Graph: (1) pie charts; (2) bar charts; (3) two types of line graphs. These may be in black and white or in color, depending on the type of reproduction. We wish the users well and along with other receivers of visual communication look forward to vivid representations of assorted data. H. W. Hildebrandt Charles E. Brown QUICK GRAPH OVERVIEW Quick Graph is a program designed to shortcut the creation of Pie, Bar and Line Graphs on the B25. Quick Graph accepts data that will be used to create the graph and then uses the B25 Business Graphics Package to draw the graph. Graphs can also be edited once they've been created. Quick Graph is function key driven, similar to Business Graphics, and uses the function keys F1-F10 on the B25 Keyboard. They are arranged in four distinct levels. The most common graphics programs used on the B25 are: o Multiplan with Business Graphics o Lotus 1 2 3 o Quick Graph with Business Graphics Quick Graph is the easiest to learn and use of all the Graphics Packages. This reference manual will not address B25 Business Graphics Operations or OFIS Graphics - ONLY QuickGraph. For further information on B25 BGP Graphics or OFIS Graphics, refer to the appropriate reference manual. SYSTEM REQUIREMENTS A B25 should have the following components to run effectively Quick Graph: B25 Graphics Slice B20 BGP Software 4.0 or greater if using classic BTOS B25 OFIS Graphics Software 1.0 or greater if using BTOS II 512 KB Memory B25 System with Hard or Floppy Disk Quick Graph has been qualified with the 5.0.4 or greater of the BTOS Operating System and 4.0 and greater of Business Graphics (BGP). BTOS II level 1.0.2 or greater and OFIS Graphics (Art Designer) 1.0 or greater. STARTING THE QUICK GRAPH PROGRAM To use Quick Graph, type Quick Graph on the B25 Command line and press Go. You may now CREATE or EDIT graph data. To CREATE, press F1; you will be prompted for the type of graph and then the graph TITLE. SAVING YOUR QUICK GRAPH FILE When active and the F1 (Graph) function key is pressed, the data file is automatically saved before the graph is generated. After the TITLE has been entered for a graph, pressing CODE-S will save the data that has been entered into the Quick Graph form without generating a graph. When saving a data file, if a data file already exists with the same name as the one currently being saved, Quick Graph will ask for confirmation to overwrite the existing data file. If it is NOT desired to overwrite the existing data file then a new data file name may be entered. The data and picture file will assume this new name, the Graph title will NOT be changed to this new name. EXITING QUICK GRAPH When the FINISH key is pressed, a message is displayed asking for confirmation to exit the Quick Graph program. Press the GO key to exit Quick Graph and return to the Command line. Press CANCEL to remain in the Quick Graph program. Helpful Hints 1. Type Q G on the Command line and press GO to use the Quick Graph Software. If you are in the lab, be sure to insert your BTOS initialized floppy disk before you type Q G. 2. Use the Up-Arrow/Down-Arrow keys to go up and down, Previous or Next Function keys to view entered data. 3. Enter names or data by column (e.g. all the names first then the values). Use the RETURN or NEXT key after data has been entered. 4. Use the picture examples on pages 5, 5, 9 and 11 for the type of graph desired as your guide. 5. Press F1 (Graph) to draw your picture after all necessary data has been entered. CREATE AND EDIT COMMANDS-OVERVIEW Entering Quick Graph on the Command line and pressing the GO key will display the function keys shown below. The Create and Edit Function Keys are the first level of function keys. They will be the first function keys that appear on the screen. F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 Create Edit CREATE, F1 Begins the operation of creating a Pie, Bar or Line Graph. EDIT, F2 Edits an existing Graph. Pressing Edit, F2 key, will display the screen shown below. Enter the name of the data file to edit and press the GO key. Quick Graph automatically saves the data entered, to generate graphs, in a data file that has the same name as the TITLE of the graph. Enter the name of a Quick Graph data file and Press GO F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 Return RETURN, F10 Returns to the CREATE or EDIT selections. Pie Chart Title of PIE chart = Sales By Region The number of slices = 4 Name of Slice Value of Slice Southern 30.00 Northern 37.00 Eastern 25.00 Western 21.00 Format = [sys]Pie.Fm F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 Graph ChgFmt Names Values Return Quick Graph Screen for a Pie Chart PIE CHART COMMANDS - OVERVIEW F1 Create F1 Pie F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 Graph ChgFmt Names Values Return PIE, F1 GRAPH, F1 Produces a graph from the Pie data (entered in the Pie Chart Screen) by using Business Graphics and the Picture Editor. Business Graphics software is not part of Quick Graph. For information on the function keys in the Business Graphics package (Modify, Create, Save, etc.) see the INTRODUCTION TO THE BURROUGHS B25 BUSINESS GRAPHICS PACKAGE. CHGFMT, F3 Allows a user to specify/change the format of a Graph. NAMES, F4 Moves the cursor to the Name of Slice column on the Pie Chart Screen. VALUES, F5 Moves the cursor to the Value of Slice column on the Pie Chart Screen. RETURN, F10 Returns a user to the previous screen, Create/Edit, without saving the current file. UP/DOWN ARROW, NEXT, RETURN Use these keys, after data has been entered, to position the cursor in the next field. Notes: 1) A Pie chart can have a maximum of eight slices. 2) If the sum of the slice values does not equal 100 then the slice values will be automatically converted to percents. 3) Negative slice values cannot be used. Bar Graph Title for the Bar Graph = Sales By Quarter X (Horizontal) Axis name = Region Y (Vertical) Axis name = Dollars Number of Groups with Bars = 5 Number of BARS per Group = 4 Format = [sys]Bar.Fm Name of Bar Name of Bar Group Value of BAR in Group 1st Qtr. Northern 12.00 2nd Qtr. Southern 25.00 3rd Qtr. Eastern 30.00 4th Qtr. Western 33.00 Central F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 Graph ChgFmt Bars GroupsValues Return Quick Graph Screen for a Bar Graph BAR GRAPH COMMANDS - OVERVIEW F1 Create F1 Bar F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 Graph ChgFmt Bars GroupsValues Prev Next Return BAR, F2 GRAPH, F1 Produces a graph from the Bar data (entered in the Bar Graph Screen) by using Business Graphics and the Picture Editor. Business Graphics software is not part of Quick Graph. For information on the function keys in the Business Graphics package (Modify, Create, Save, etc.) see the INTRODUCTION TO THE BURROUGHS B25 BUSINESS GRAPHICS PACKAGE. CHGFMT, F3 Allows a user to specify/change the format of a Graph. BARS, F4 Moves the cursor to the Name of Bar column on the Bar Graph Screen. GROUPS, F5 Moves the cursor to the Name of Bar Group column on the Bar Graph Screen. VALUES, F6 Moves the cursor to the Value of Bar column on the Bar Graph Screen. PREV, F8 Only active when the cursor is in the VALUES column. Displays the VALUES for the PREVIOUS Bar Group. NEXT, F9 Only active when the cursor is in the VALUES column. Displays the VALUES for the NEXT Bar Group. RETURN, F10 Returns a user to the previous screen, Create/Edit, without saving the current file. UP/DOWN ARROW, NEXT, RETURN Use these keys, after data has been entered, to position the cursor in the next field. Notes: 1) A Bar chart can contain a maximum of twelve Bar Groups. 2) The maximum number of Bars per Group is five. 3) Negative Bar values can be used. Line Graph - AlphaNumeric Title of the LINE Graph = Monthly Expenses X (Horizontal) Axis label = Month Y (Vertical) Axis label = Dollars The number of Comparative LINES for graph = 3 The number of Data Points per Line = 4 Name of Line X Label Y Value Electric Sept 100.00 Phone Oct 80.00 Salary Nov 120.00 Dec 115.00 Format = [sys]Line.Fm F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 Graph ChgFmt Names XLabelYValue Return Quick Graph Screen for a Line Graph-AlphaNumeric LINE-A, ALPHANUMERIC GRAPH COMMANDS OVERVIEW F1 Create F1 Line-A F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 Graph ChgFmt Names XLabelYLabel Prev Next Return The difference between a Line-A and Line-N graph is that a Line-A graph allows the use of alphanumeric characters to label the XAxis. (i.e., Oct, Nov, Dec). A Line-N graph allows the use of only numeric values for the XAxis. (i.e., 10, 20, 30) LINE-A, F3 GRAPH, F1 Produces a graph from the Line-A data (entered in the Line-A Graph Screen) by using Business Graphics and the Picture Editor. CHGFMT, F3 Allows a user to specify/change the format of a Graph. NAMES, F4 Moves the cursor to the Name of Line column on the Line- Graph-Alphanumeric Screen. XLABEL, F5 Moves the cursor to the X Label column on the Line Graph-Alphanumeric Screen. YVALUE, F6 Moves the cursor to the Y Label column on the Line Graph-Alphanumeric Screen. PREV, F8 Only active when the cursor is in the Y VALUE column. Displays the VALUES of the PREVIOUS Line. NEXT, F9 Only active when the cursor is in the Y VALUE column. Displays the VALUES of the NEXT Line. RETURN, F10 Returns a user to the previous screen, Create/Edit, without saving the current file. UP/DOWN ARROW, Use these keys, after data has been entered, to position the NEXT, RETURN cursor in the next field. Notes: 1) A Line graph can contain a maximum of 5 lines. 2) Negative Y Values can be entered. 3) This version of Quick Graph allows a maximum of twelve Data Points for a Line. Line Graph - Numeric Title of the LINE Graph = Profit by Unit X (Horizontal) Axis label = Unit # Y (Vertical) Axis label = Profit The number of Comparative LINES for graph = 5 Name of Line # of Data Points for Line X Value Y Value Western 4 30.00 150.00 Eastern 4 40.00 350.00 Southern 4 50.00 225.00 Northern 4 60.00 400.00 Central 5 Format = [sys]Line.Fm F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 Graph InFileChgFmt Names DatPtsxValueyValue Return Quick Graph Screen for a Line Graph-Numeric LINE-N, NUMERIC GRAPH - OVERVIEW F1 Create F1 Line-N F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 Graph InFileChgFmt Names DatPtsxValueyValue Prev Next Return LINE-N, F4 GRAPH, F1 Produces a graph from the Line-N data (entered in the Line-N Graph Screen) by using Business Graphics and the Picture Editor. Business Graphics software is not part of Quick Graph. For information on the function keys in the Business Graphics package (Modify, Create, Save, etc.) see the INTRODUCTION TO THE BURROUGHS B25 BUSINESS GRAPHICS PACKAGE. CHGFMT, F3 Allows a user to specify/change the format of a Graph. INFILE, F2 When the cursor is in the X Values or Y Values column, allows data points to be read in from the specified file. NAMES, F4 Moves the cursor to the Name of Line column on the Line Graph-Numeric Screen. DATPTS, F5 Moves the cursor to the "# of Data Points for Line" column on the Line Graph-Numeric Screen. XVALUE, F6 Moves the cursor to the X Value column on the Line Graph-Numeric Screen. YVALUE, F6 Moves the cursor to the Y Value column on the Line Graph-Numeric Screen. PREV, F8 Only active when the cursor is in the X VALUE or Y VALUE column. Displays the VALUES of the PREVIOUS Line. NEXT, F9 Only active when the cursor is in the X VALUE or Y VALUE column. Displays the VALUES of the NEXT Line. RETURN, F10 Returns a user to the previous screen, Create/Edit, without saving the current file. {SCROLL UP/DOWN Allows access to all X and Y values by scrolling the values up or down when graph contains more than 12 data points. Available only when entering X and Y data values.} {UP/DOWN ARROW, Use these keys, after data has been entered, to position the cursor in the next field. Cursor moves up or down the data columns of the X and Y points displayed on the screen. } NEXT, RETURN Use these keys to position the cursor in the next field. All data values are scrolled when the cursor is at the last data value on the screen and the cursor stays at the last data value on the screen. If the cursor is at the last data value on the screen and is at the last data value for the line, the cursor is moved to the Y value column when in the X value column and to the Title of the LINE Graph entry when in the Y value column. READING VALUES FOR DATA POINTS FROM A FILE To read in data points from a data file when the cursor is in the X Values or Y Values column, press the F2 (InFile) function key. After pressing the F2 function key enter the data file name. Specify the Volume and Directory if the data file is not located in the current path. Press the Return key. If the data file does not exist, you will not be able to proceed. Enter another data file name or press the Cancel key. Next the data file format must be entered. The data can be either real numbers or integers. The number of spaces before the data, the length of the data, and the number of trailing spaces must be entered. When counting trailing spaces, do not forget to count the end of line character(s) as a space. Below are three examples for entering the data file format. QuickGraph version 2 can handle input of up to 9999 X and Y data points per line. The actual number of data points will depend on how much memory is available in your B20. Data values can be read from an ASCII data file. The file must have a fixed format. The data read in is associated with the X point or Y point data values. If the cursor is in the X point data values column, the file data will be assigned to the X values. The same is true for the Y point data values. The data file is read until the number of data values read is equal to the number of points in the line or until the end of the data file, which ever comes first. All data read in is first value relative, the first value read is associated with the first point. {Example 1 1 2 3 4 1234567890123456789012345678901234567890 (ruler) 5.3 10.4 34.1 2.4 = carriage return 23.4 2.4 2.5 23.5 = carriage return If the X values were to be the second column of numbers, the format would be: Leading Spaces 12 Data Length 4 Trailing Spaces 17 This example would assign the value 10.4 to the first X value point and 2.4 to the second X value point.} Example 2 If the Y values were to be the first row of numbers and the number of points for the line was 4, the format would be: Leading Spaces 4 Data Length 4 Trailing Spaces 0 This example would assign the value 5.3 to the first Y value point, 10.4 to the second value point, 34.1 to the third value point, and 2.4 to the fourth value point. 1 2 3 4 1234567890123456789012345678901234567890 (ruler) 5.3 10.4 34.1 2.4 = carriage return and line feed 23.4 2.4 2.5 23.5 = carriage return and line feed Example 3 If the X values were to be the third column of numbers, the format would be: Leading Spaces 20 Data Length 4 Trailing Spaces 10 This example would assign the value 34.1 to the first X value point and 2.5 to the second X value point. After the number of trailing spaces is entered, the data file is read with the specified format. The data values are displayed in the appropriate column. Notes: 1) A Line graph can contain a maximum of 5 lines. 2) Negative X and Y values are allowed. QUICK GRAPH FILE STRUCTURES Quick Graph will collect the data necessary to CREATE a Graph and Business Graphics will DRAW, MODIFY and PRINT the graph. Therefore, there will be two different types of files generated with every graph that is created: one file for Quick Graph and one file for BGP. QUICK GRAPH FILES The data that is entered into the Quick Graph Screen is saved in a file that has a ".dat" suffix, representing a data file. The actual file name is taken from the TITLE entered on the first line of any of the graphs that are created. A Title must be entered whenever a graph is created. For example, if the TITLE of a graph is Monthly Expenses, Quick Graph stores the data in a file named MONTHLYEXPENSES.dat - spaces are automatically removed. To EDIT (Function key F2) the data in a Quick Graph data file; type the name MONTHLY EXPENSES in the form that appears. It is not necessary to add the .dat suffix. To copy the file, Monthlyexpenses.dat, it would be necessary to type MONTHLYEXPENSES.dat on the File from line of the Copy command of the B25 Executive. BUSINESS GRAPHICS FILES After all the data for a particular graph has been entered in Quick Graph and F1, (the Graph key) has been pressed, the graph will appear on the screen. The graph was generated by the Business Graphics Package. Business Graphics saves the picture image of the GRAPH with a ".pic" suffix, representing a picture file. Business Graphics will use the SAME FILE NAME as Quick Graph, unless the F3 (SAVE) function key is used to save the picture under a specified (different) filename. For example, if the FINISH KEY is pressed in Business Graphics, the file name MonthlyExpenses will appear in the form at the bottom of your screen and be automatically saved under the name MonthlyExpense.pic after the GO key has been pressed. To retrieve this file directly into Business Graphics without first using Quick Graph, use the Picture Editor command. Type MonthlyExpenses.pic for the Picture file. FORMAT FILES A format file is a Business Graphics file that specifies the format of a Pie Chart, Bar or Line Graph. The FORMAT is the pattern, size, location on the screen, dimensions and colors of a graph (Picture File). Like Picture and Data Files, there is a suffix at the end of the format file. The suffix for format files is ".Fm". In Quick Graph, the default format file is displayed in the lower left corner of your screen for Pie Charts and Line Graphs. For the Bar Graph Screen, it will appear on the top right half of your screen. Quick Graph selects the default format file to use by checking what type of monitor is attached to your workstation. The are eight default format files: COLOR MONITOR FORMAT FILE MONOCHROME MONITOR FORMAT FILE [sys]ColorPie.Fm [sys]Pie.Fm [sys]ColorBar.Fm [sys]Bar.Fm [sys]Colorstacked.Fm [sys]Stacked.Fm [sys]ColorLine.Fm [sys]Line.Fm For each type of graph that is created, a different format file name will appear on your screen. NOTE: Line-A and Line-N Graphs use the same format file. The only time it is necessary to change the default format file is if the workstation has a color monitor and you wish to print a Graph on a non-color printer. For example, when a Pie Chart appears on a color monitor, it looks very professional with each pie slice being a different color. However, if the graph is printed on a non-color printer using the default color format file, all slices of the pie would be black and not distinguishable. Using the Monochrome Format File will change the colored pie slices to patterns which can be easily recognized when printed. The same is true for Bar and Line Graphs.2  y `'`'`'`'@z i ______________________________________________________________________________ Quick Graph 2.0 # HL*"FFt -+\&@!@!@. h!$C$vvv4 t&LJ2%pjj.  GH@ @   GH@ T@ ,0GHժ>?@ 6Nl@ 6Nl GH&*,0GH@ T GH '3=>&23<=>Z[%ٰ@ 6Nl  GHGH@ 6Nl$&(*,0@ GH 989@ p 4H  GH@ 6Nl@ 6NlGH GH@ GH "#ČՍıIJ#)*@ T@ NlGH@ 6Nl  GH$&(*,0GHֹh+hg$&(*,0GH@  P @ TGH@ T  GH '3>ZdġЩQ^ć'() !"YP@ @ P @ T@ 6Nl  GHGH@ GHLċįUߋϮK $&(*,0GH GH@ @ T GH$&(*,0GH -.LMīFĖО#!-@L_@  p @  ` @ TGH GH@   GH@ GHǢ'z"s(7ڝzy $&(*,0@  p U@  `  GH@  p GH  GHGH#F #GF@ TGH@ T GH@ GH@  GH ,-KLĕ՜!06Sv^ ,?K^C8u^υGH@  p  GH@ @   GH$&(*,0GH()EF@zĬ(+Ev'@ T GH@ @  GH$&(*,0@ `' FGH 2_2`l7`\ 4\1 GH@  @ GH@ `   GH$&(*, 0@ GH *1UVlm1ĀUWlJT߬GH@ @  GH$&(*, 0 GH@  ZGH"#/0NO֢-  =C_ŀ9:;"#/BNaݗ P&9<;GH@   GHGH@ @   GH$&(*, 0GH ĉIJ    ' ) ē ܔ  ׊x Ή GH GH@$&(*, 0  GHGH@  $&(*, 0GH ΑŒΡŢεŷQ\Uq΂ ΊŎ]fΘ  4 vʶ\]ʷR\ܩU+UqrUV 5 QT4 @   GH$&(*,0@(GH@$&(*,0GH@d GHMS=>CGjn ()՞՟ =qթ{|@  GH@ ,H ,GH GH  GH@ $&(*,0GH PQxyzޮAQAPyۮA,,,H ,GH@ ,@GH,  */=!F@ Courier Courier Elite 12 BTOSCharSetCourierxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxGL?308$'OBJECT0rr%%??// DL==rrkV ComplexRomanDT4DT4EnhGRAPH=|VVv@ ComplexRomanDT4DT4EnhQUICKGL??H@@P xxH@@PH@@PH@@xPH@@`P@ H@@ @P@ H@@ @P H@@P$H@@P HHH@@@PHHH@@@P$H@@ P$H@@ P H@@PH@@P @H@@PP @H@@PP  @H@@PP @H@@PP@$ @H@@PP0$ @H@@PPH @H@@PP @H@@PP  @H@@P@ H@@PPH@@PPH@@P $H@@P$>H@@ PHHH@@@P(H`H @@PPP ( @P$@P  @P@@  @@ @P @ P@xP @Pxxx`@P@P(` `  @ @ @ @  ~ Hx  <0@H  @H   $ H   (H  HH  PH(  HH(  $ H(  $ H(  H(  PH(   H$H(   ((H$  (H   HH  PH   H  @H `@Hx  @    @H    @H  H  H   (H   0H  P H  ` H  $H  (H  H@$H  P@$H  @(H  @HH  HH   @ @H  <0@H    H  ?GL) *WriteVDM"?h  b n Picture 00B0$0b00 S_2XXXPPB@(/*@(*5M@(5M/@(/K3@(K3 5M@( 5M 5M@( 5M3@(3/@(/,k@(,ku'@(u'u4@(u4@(R@(R@( @(  @( K@(KR@( 5M 93@( 93/@(/,k@(,k'@('4@(4@(R@(R 9@( 9 @(4@(4@($474@( I5M I@(!p5M!p@(5M*5M@(*5M. 3@(. 3/G1@(/G10n.2@(0n.20n*@(0n*/G'@(/G'. %O@(. %O*#@(*#!p#@(*5M,3@(,3. 1@(. 1/G.2@(/G.2/G*@(/G*. '@(. ',%O@(,%O*#@($@('4#)!@()!*@(*. @(. /G@(/G0n@(0n1@()!*4@(*4,@(,. @(. 0n@(0n1@(11R@(?k5M7Y@(?k5MG}@(?k/FV@(9D@(5 ;@(BI@(P5MP@(Q5MQ@(MB5M[5M@([5M^3@(^3_1@(_1`.2@(`.2`(@(`(_%O@(_%O^#@(^#[!@([!Q!@([5M]g3@(]g3^1@(^1_.2@(_.2_(@(_(^%O@(^%O]g#@(]g#[!@(MBUT@(j5Mj@(k=5Mk=@(y5My@(z:5Mz:@(f5Mn5M@(u5M}5M@(k=#y#@(fn@(u}@(uU is@( is p@( pls@(lseX@(eX`@(`X@(X UZ@( UZ iQ@( iQP@(P,P@(,PQ@(QUZ@(UZX@(X?`@(?`?eX@(?eXls@(lsp@(ps@(s,uU@(,uUuU@(uU s@( s Ap@( Ap ls@( lseX@(eX`@(` X@( X AUZ@( AUZ Q@( QP@(,P{Q@({QUZ@(UZX@(X`@(`eX@(eXls@(lsp@(p{s@({s,uU@( iS iUZ@( iUZ X@( XZ@(ZZ@(ZTX@(TX{UZ@({UZH@(HG#@(G#G#@(G#?J@(?J?Lx@(UZN?@(N?J@(JH@(HH@(H?J@(#xuU#xZ@(#xZ$UZ@($UZ&Q@(&Q*cP@(*cP,P@(,P0'Q@(0'Q2vUZ@(2vUZ3Z@(3Z3uU@($uU$Z@($Z%UZ@(%UZ(Q@((Q*cP@( uU(uU@(0'uU7uU@(?%uU?%P@(@LuU@LP@(;uUCuU@(;PCP@(YpZj@(ZjZuU@(ZuUYp@(YpW\s@(W\sSuU@(SuUQuU@(QuUN#s@(N#sKp@(KpJls@(JlsIg@(IgI^=@(I^=JX@(JXKUZ@(KUZN#Q@(N#QQP@(QPSP@(SPW\Q@(W\QYUZ@(YUZZX@(QuUOJs@(OJsLp@(LpKls@(KlsJg@(JgJ^=@(J^=KX@(KXLUZ@(LUZOJQ@(OJQQP@(d uUd P@(e2uUe2P@(t0uUe2^=@(jeXt0P@(ieXs P@(`uUhuU@(ouUv~uU@(`PhP@(oPv~P @y .N~U~}F 49FvFFbËFd‹&ӌ]Ubãd]UF;dv=6b4+bӍ8bd@d‹&ӌ뺋6bN+bӍ8Fb]UFb]U6bӍ8vNFYFb]UQ|&G N;v6&G V;v)PQR2FP6abF.ՊF|&G+F%PPP2FP6ab.DH)]`˾b6F%y % h`F  FY GL:: 03?<P ObjTest:II[ PP??<=<;: :V99W䠕WڠUFTR@QbOsM8LXJ+IG"CFBDPCN=e<;:C :΍V9H9WQE B HȋA"V}{Pzx/wu&tr>qo|n-mkjirhigofeW9}877 766~6r6{6667s77k899t:G;-<$=,>D?l@AB9DQEWH9ȋ}8A77" 766V~6r6{6}6{6Pz7xs7/w7uk8&t9r9>qt:oG;|n-<-m$=k,>jD?il@rhAigBof9DeQEWVw7!v3 $eddXcb#baPie.Fmsalesbyregion.DatSales By RegionSouthernNorthernEasternWesternSouthernNorthernEasternWestern @dAȀ@hBBQ~WGB(qB SimplexRomanPA? Sales By RegionPA!F%B SimplexRomanPX&@? Southern 26.5%P;AB B!!Ca  #"A@B" :9 $>B"!E $"@!B" } fbaA C" E >B! b9@@<$?$H  T($DX($D-',rDo@y 'p@@@@L 8CP@0  H@@@@@( @ p     @ s y} %  % A@@@@=" 0 (~D<BA @`@@@@@@@ `0H0EDDDD #""""bAQHLAIDDDD#"*""""#{1ڎxQ<0(ۂ)QtDDDc&y#""b""" AAAA @LAAAAEDD@#""""#"" 0 H DD$,""""*" 8g PAAAA  D=0 q< AAAAaD #""""b@$"Dr T@|q``<"">O` < @q8('aA(@,ǜ GLR *WriteVDM"?h  b n Picture 00B0$0b00 S_2SRR@hCFUFUEUDDUBUAUd@NU#?T=T<~T!;ES:S?8R7R56Q5Q4Pa3O2N1NC1M0\L/K/K.rJ.APPB@(CFUF@(UFUE@(UEUDD@(UDDUB@(UBUA@(UAUd@N@(Ud@NU#?@(U#?T=@(T=T<~@(T<~T!;E@(T!;ES:@(S:S?8@(S?8R7@(R7R56@(R56Q5@(Q5Q4@(Q4Pa3@(Pa3O2@(O2N1@(N1NC1@(NC1M0\@(M0\L/@(L/K/@(K/K.r@(K.rJ.A@(J.ACF@(R8&T6:SRR@xCFJ.AI-I -TH),GC,F\,kEr,?D,$C,B,"A,;@,d?,? ,>*-G=J-*-G@(>*-G=J-@(=J-@-==)SRR@CF408&39J3@:v2;2z<2'>&1?n1@1sB 1MC]14D1&F 1$Ga1.H1CJ1dKc1L1N2 OK2[P2Q3S3T24UY4Vv5W5X6HY6Z7[f8W\>9]9]:^r:^@(CF408&@(408&39J@(39J3@:v@(3@:v2;@(2;2z<@(2z<2'>&@(2'>&1?n@(1?n1@@(1@1sB @(1sB 1MC]@(1MC]14D@(14D1&F @(1&F 1$Ga@(1$Ga1.H@(1.H1CJ@(1CJ1dKc@(1dKc1L@(1L1N@(1N2 OK@(2 OK2[P@(2[P2Q@(2Q3S@(3S3T2@(3T24UY@(4UY4Vv@(4Vv5W@(5W5X@(5X6HY@(6HY6Z@(6Z7[f@(7[f8W\>@(8W\>9]@(9]9]@(9]:^r@(:^r:^@(:^CF@(1M/dNuSRR@CF:^;_F<_=x`I>Y`?PGZWPYcQXdR WYRVDS-U%SSTRTuQTPVUOU[MULyUK'UIUH|UG$UF@(CF:^@(:^;_F@(;_F<_@(<_=x`I@(=x`I>Y`@(>Y`?@(O[>PGZW@(PGZWPYc@(PYcQXd@(QXdR WY@(R WYRVD@(RVDS-U%@(S-U%SS@(SSTR@(TRTuQ@(TuQTPV@(TPVUO@(UOU[M@(U[MULy@(ULyUK'@(UK'UI@(UIUH|@(UH|UG$@(UG$UF@(UFCF@(M ]NI`@(&g|`%}.@(%}.%}@(%}#}@(#}#}.@(#}."|`@("|`"{@("{"z@("z#z^@(#z^#y@(#y%My)@(%My)%x@(%x&!x[@(&!x[&gw@(&gw&gvY@(&gvY%u@(%u%u$@(%u$#u$@(#u$#u@(#u"vY@(+]z+]u$@(+]y*z^@(*z^*Cz@(*Cz)oz@()oz(z^@((z^(Uy@((Uy(x[@((x[(w@((w(UvY@((UvY(u@((u)ou$@()ou$*Cu$@(*Cu$*u@(*u+]vY@(-}-u$@(/x[2x[@(2x[2y)@(2y)2y@(2y2Bz^@(2Bz^1z@(1z0z@(0z0Tz^@(0Tz^/y@(/y/x[@(/x[/w@(/w/vY@(/vY0Tu@(0Tu0u$@(0u$1u$@(1u$2Bu@(2Bu2vY@(7y79z^@(79z^6ez@(6ez5z@(5z4z^@(4z^4xy@(4xy4x@(4x5Kx[@(5Kx[6w@(6w79w@(79w7v@(7v7vY@(7vY79u@(79u6eu$@(6eu$5u$@(5u$4u@(4u4xvY@(<0}<0u$@(<0}>}@(>}?~}.@(?~}.?|@(?|@ {@(@ {@ {,@(@ {,?z^@(?z^?~y@(?~y>y@(<0y>y@(>y?~y)@(?~y)?x@(?x@ w@(@ w@ v@(@ v?u@(?u?~u@(?~u>u$@(>u$<0u$@(AmzCu$@(DzCu$@(Cu$Bs@(BsAr@(ArAmrT@(AmrTA&rT@(I%}I%u$@(I%}K}@(K}Lt}.@(Lt}.L|@(L|M{@(M{M{,@(M{,Lz^@(Lz^Lty@(LtyKy@(KyI%y@(KyMu$@(Nx[Qx[@(Qx[Qy)@(Qy)Qy@(QyQjz^@(Qjz^Pz@(PzP z@(P zO|z^@(O|z^Ny@(NyNx[@(Nx[Nw@(NwNvY@(NvYO|u@(O|uP u$@(P u$Pu$@(Pu$Qju@(QjuQvY@(VzVtW@(VtWVs"@(Vs"Var@(VarUrT@(UrTUrT@(UrTTsr@(VyVaz^@(Vaz^Uz@(UzUz@(UzTsz^@(Tsz^Sy@(SySx[@(Sx[Sw@(SwSvY@(SvYTsu@(TsuUu$@(Uu$Uu$@(Uu$Vau@(VauVvY@(X}Y#}.@(Y#}.Yj}@(Yj}Y#}@(Y#}X}@(Y#zY#u$@(\rz[z^@([z^[Xy@([Xy[x[@([x[[w@([w[XvY@([XvY[u@([u\ru$@(\ru$]Eu$@(]Eu$]u@(]u^`vY@(^`vY^w@(^w^x[@(^x[^`y@(^`y]z^@(]z^]Ez@(]Ez\rz@(`z`u$@(`y)ahz^@(ahz^az@(azbz@(bzcVz^@(cVz^cy)@(cy)cu$@(U94V0 @(V4V0 @(V4W0 @(X^4W0 @(Y&1[ 1@([ 1[ 2U@([ 2UZ2@(Z2Z3@(Z3Zh3?@(Zh3?Y3?@(Y3?Y3@(Y3YO2@(YO2Y&1@(Y&1Y&1j@(Y&1jYO0@(YO0Y0E@(Y0EY0 @(Y0 Zh0 @(Zh0 Z0E@(Z0E[ 0@(]2]3@(]3]3?@(]3?\3?@(\3?\"3@(\"3[2@([2\"2@(\"2\s1@(\s1]<1@(]<1]1j@(]1j]0@(]0]0@(]0]0E@(]0E]0 @(]0 \0 @(\0 \"0E@(\"0E[0@(^4^0@(^0_0E@(_0E_n0 @(_n0 _0 @(^~3?_3?@(`1bj1@(bj1bj2U@(bj2UbB2@(bB2b3@(b3a3?@(a3?aQ3?@(aQ3?a3@(a3`2@(`2`1@(`1`1j@(`1j`0@(`0a0E@(a0EaQ0 @(aQ0 a0 @(a0 b0E@(b0Ebj0@(c3?c0 @(c1c2@(c2c3@(c3dL3?@(dL3?d3?@(e3?e0 @(e2Uf3@(f3fW3?@(fW3?f3?@(f3?g 3@(g 3gI2U@(gI2UgI0 @(jm3j4*@(j4*k64@(k64k60 @(m4mi4@(mi4mA4*@(mA4*mA3@(mA3mi3?@(mi3?m3@(m3nZ2@(nZ2n2@(n2o#2@(o#2oK1@(oK1oK0@(oK0o#0@(o#0n0E@(n0En0 @(n0 m0 @(m0 mi0E@(mi0EmA0@(mA0m0@(m0m1@(m1mA2@(mA2m2@(m2n 2@(n 2n3@(n3n3?@(n3?o#3@(o#3o#4*@(o#4*n4@(n4n4@(n4m4@(p0pd0E@(pd0Ep0 @(p0 p0E@(p0Ep0@(s4*s4@(s4s94@(s94r4@(r4rp4@(rp4r3@(r3q2@(q2q1@(q1r0@(r0rp0E@(rp0Er0 @(r0 s0 @(s0 s0E@(s0Es0@(s0t1j@(t1jt1@(t1s2U@(s2Us2@(s2s3@(s3r3@(r3rp2@(rp2r2U@(r2Uq1@(w4t0 @(u4v 4d@(v 4dv 3@(v 3u3z@(u3zu3?@(u3?uC3?@(uC3?t3@(t3t4*@(t4*u4@(u4uk4@(uk4u4@(u4v 4@(v 4v4d@(v4dv4d@(v4dwu4@(wu4w4@(w%1v1j@(v1jv0@(v0v0@(v0v0 @(v0 wM0 @(wM0 w0E@(w0Ew0@(w0w10@(w10wu1@(wu1w%1@(|(|#@(|((@(|&<&<@(|##@( 2& 2#@( 2&<&@(&&@(&&@(&&@(&x&<@(x&<O%@(O%O%@(O%x$g@(x$g#@(##@(##@(##@(# 2$g@(#&<"&@("&"e&@("e&!&@(!&!t&@(!t&!L&<@(!L&eH@(j>eHhb@(hbjb@(l cskc8@(kc8l b@(l blHc8@(lHc8l cs@(ognb@(mbgog@(sYgpb@(qNgqgW@(qgWqf@(qfqwfm@(qwfmq&f2@(q&f2pf2@(pf2pf@(pfpg@(pgpg@(pgpg@(pgqNg@(qNgqg@(qgrgW@(rgWrgW@(rgWs g@(s gsYg@(rdrhd]@(rhd]r@c@(r@cr@cs@(r@csrb@(rbrb@(rbs1c8@(s1c8sYc@(sYcsYd#@(sYd#s d@(s drd@(>99@(8A")|@(g{xAtxASR@pgKxBiyivg:xB@4gKxBiyivg:xBgKxBSR@t =BL/GKFIgL/@8 =BL/GKFIgL/ =BSR@p")|!, )")|@4")|!, )")|")|@(s?qs<@(s?q<@(?q<@(|?q<@(|?qb<@(=5 =5@(?q<@(?q<@(?q<@(?q<@(?q<@(?q ?q@(==@(< <@( x?q ??H@( ??H >@( > >@( > >*@( >* =^@( =^ <@( < <@( < ?*@( >* {>@( {> _>@( _> %?H@( %?H ?q@( ?q x?q@( b?q b<@( b?q?q@( b=H=@(>?H@(?Ho?q@(o?q?q@(?q?H@(?Hl>@(l>l>@(l>>S@(>S>*@(>*>@(>=@(==@(==^@(=^= @(= <@(<>@(>?H@(?H?q@(?q(?q@((?q?H@(?H>@(>>@(>{>*@({>*{=^@({=^<@(<<@(< SimplexRoman,,$+,$,,$,P.,$,,$<+,$0-2*,2*+90P.90P.90,90<+905-?6,?6+E<P.E<P.E<,E<<+E<10-LB,LB+RHP.RHP.RH,RH<+RH15-XN,XN+_TP._TP._T,_T<+_T20-eZ,eZ+k`P.k`P.k`,k`<+k`25-rf,rf+xlP.xlP.xl,xl<+xl30-~r,~r+…xP.xP.x,x<+x35-~,~P.,<+40+,$+’, A1A1>4>4,$AA,$A1,$>4,$>4,$>4A>4AA1AA1AA1,$ "O"ORR,$_T_T,$"O,$R,$R,$R_TR_T"O_T"O_T"O,$ mmpp,$[[,$m,$p,$p,$p[p[m[m[m,$ ,$_T_T,$,$,$,$_T_T_T_T,$ ŨŨ««,$_T_T,$Ũ,$«,$«,$«_T«_TŨ_TŨ_TŨ,$ s6s6sHsH̏̏s6̏sH̏sH̏sHsHs6s6s6̏ ;7;78:8:,$k`k`,$;7,$8:,$8:,$8:k`8:k`;7k`;7k`;7,$ UUXX,$RHRH,$U,$X,$X,$XRHXRHURHURHU,$ rruu,$xx,$r,$u,$u,$uxuxrxrxr,$ ސސۓۓ,$RHRH,$ސ,$ۓ,$ۓ,$ۓRHۓRHސRHސRHސ,$ ,$RHRH,$,$,$,$RHRHRHRH,$ [[mm̏̏[̏m̏m̏mm[[[̏ 5=5=2@2@,$xlxl,$5=,$2@,$2@,$2@xl2@xl5=xl5=xl5=,$ [[^^,$ss,$[,$^,$^,$^s^s[s[s[,$ xx{{,$RHRH,$x,${,${,${RH{RHxRHxRHx,$ ؖؖՙՙ,$xlxl,$ؖ,$ՙ,$ՙ,$ՙxlՙxlؖxlؖxlؖ,$ ,$xlxl,$,$,$,$xlxlxlxl,$ %%%%̏̏%̏%̏%̏%%%%%̏ /C/C,F,F,$ss,$/C,$,F,$,F,$,Fs,Fs/Cs/Cs/C,$ aa d d,$$M$M,$a,$ d,$ d,$ d$M d$Ma$Ma$Ma,$ ~~,$xlxl,$~,$,$,$xlxl~xl~xl~,$ ҜҜϟϟ,$,$Ҝ,$ϟ,$ϟ,$ϟϟҜҜҜ,$ ,$k`k`,$,$,$,$k`k`k`k`,$ ~~̏̏̏~̏~̏~~̏ywBFDB9 SimplexRomanef*Sales By Quarter_xn SimplexRomanΟ2s)? By Region,,Bar.Fmsalesbyquarter.DatSales By QuarterRegionDollars1st Qtr.2nd Qtr.3rd Qtr.4th Qtr.NorthernSouthernEasternWesternCentral@=A@ZB{BB AR:BB SimplexRomanPA? Sales By QuarterH8GB ? SimplexRomanP }@? RegionIA,PB SimplexRomanP@@? DollarsJ,AA SimplexRomanPJ@? NorthernJ3EBHA SimplexRomanPJ@? SouthernI,BA SimplexRomanPJ@? EasternB AHB SimplexRomanPDJ@? I fBBz@ SimplexRomanPJ@? CentralB AHB=? SimplexRoman B AHB=? SimplexRoman B AHB=? SimplexRoman B AHB=? SimplexRoman B AHB=? SimplexRoman B0? SimplexRomanB0? SimplexRomanB0? SimplexRomanJdAB SimplexRomanPtV@? 1st Qtr.JDHBB SimplexRomanPtV@? 2nd Qtr.J3EBB SimplexRomanPtV@? 3rd Qtr.JBB SimplexRomanPtV@? 4th Qtr.BIBBP? SimplexRoman  K ( ؼؼ  qȻ  {{ ގގ N͈ ͈ C __   HH  VRm iRmi 9Z SZ UU  fQBfQ (XP%>#3B!1@%> Z/%j"Sf" h$j i$w*ttw C_5ef qjƲq 溵i3Μ #QL)XQ ɵ :M >xMb4 n2`{/ ,P2E SimplexRoman** BARTITLE-!E! SimplexRomanE6̜6 BWesternG5 :5 !T SimplexRoman!! X AXIS LABELՈՈEg SimplexRomanl'l' X PER GROUPߙ;ߙ SimplexRoman<+<+ NAME OF BARS^% SimplexRoman~&~&NUMBER OF BARS̨ ̨( SimplexRomanh$h$N Y AXIS LABELUUFZ SimplexRoman!! Y AVALUE OFP P]U SimplexRoman!!VALBARScc  SimplexRoman(( WITH BARSb  < SimplexRomanh$h$NUMBER OF GROUPStA$$ D@A ğR>@A$Q D=ac$$as Ęy>\

@<к: :    @@@@@@@ @ Ⱥj @@@` @ @` @  @   @ Ⱥꫫj @" P@@" 0@@c @ @@b P@@" 0@ @# @` " @磌k F" 0&BEc eCĢ B Eb PdCz~F" `0&Bz:E# %B? " `$B磌j F"T `0&BEcl eCĢT `B Ebl PdCF"T `0&BE#l%B"T`$B` E"lP$Bﻫj Ecl6TFeC ĢT*`LŒB0Ebl6DFSdC@F"T"`dE2&BE#l6TF%B"T*`LŒ$B E"l6DFS$B F"T"`dE2&B 몺k ĢT*`LŒB Ebl6DFSdC F"T"`dE2&B E#l6TF%B "T*`LŒ$B E"l6DFS$B F"T"`dE2&B Ec l6TFeC ﺫj Ebl6DFSdC F"T"`dE2&B E#l6TF%B "T*`LŒ$B E"l6DFS$B F"T"`dE2&B Ecl6TFeC ĢT*`LŒB   (< @p@@ O`~z_/ ji~{O~~& 0y?k x,><4|p(I_|P/p7P{yxs  @t @v _ GL* *WriteVDM"?h  b n Picture 00B0$0b00 S_2PPB@(d@(VW@(@(t;@(;@(;@(;@(|@(|;5@(;5t@(t@(5@(5|@(| @(  ;@( ;@(@(@(t@(  PB@(d  PB@(  @(>(>@((>g@(g(@((a@(a@(@(P@(P @(  @( @(a@(aJ@(JaJ@(aJ(a@((ay@(y@(!6!6PB@(d%L%LPB@(%L%L@(& &"@(&"&i@(&i$v@(t&i;&R@(;&R& @(& %@(%%L@(%L$@($;$@(;$t$v@(t$v$v@($v$@($$@($ %L@( %L %@( %& @(& &R@(&R&i@(&it&i@()c)cPB@(d-x-xPB@(-x-x@(.7.O@(.O.@(.,@(.(.@((.-@(-(-@((-a-@(a--@(--@(--@(- -a@( -a -1@( -1,@(,,@(,,@(,a,@(a,(,@((,,@(,-@(11PB@(d55PB@(55@(6L6d@(6d6@(66@(66@(616@(16W6@(W6j6@(j6}6d@(}6d}64@(}64j6@(j6D5@(D54@(44@(t6;6@(;66d@(6d5@(55@(55.@(5.;4@(;4t4@(t44@(44@(45.@(5. 5@( 5 5@( 56d@(6d6@(66@(6t6@(99PB@(d==PB@(==@(>x>@(>>@(>>@(>>@(>1>@(1>W>@(W>j>@(j>}>@(}>}>`@(}>`j>0@(j>0D=@(D=<@(<<@(>(>@((>>@(>(>0@((>0a>H@(a>H>H@(>H>0@(>0>@(> =@( = =@( ==B@(=B=@(=<@(<a<@(a<(=@((==*@(=*=Z@(AAPB@(dEEPB@(EE@(G}G@(}G F\@( F\DF\@(DF\jFE@(jFE}F-@(}F-E@(EE@(E}En@(}EnWE?@(WE?E'@(E'E'@(E'E?@(E?EW@(EWE@(tG;G@(;GF@(FFE@(FEE@(EE@(E;E?@(;E?tE'@(tE'E'@(E'E?@(E?E@(E E@( E FE@( FEF@(FG@(GG@(GtG@(JJPB@(dN*N*PB@(N*N*@(OH}OH@(}OH N@( NDN@(DNjNq@(jNq}NY@(}NYN@(NM@(M}M@(}MWMk@(WMkMT@(MTMT@(MTMk@(MkM@(MM@(OH(OH@((OHNq@(Nq(N@((NaN@(aNN@(NN@(NNY@(NY N@( N M@( MM@(MMk@(MkMT@(MTaMT@(aMT(Mk@((MkM@(MM@(R@R@@(VWVW@(DWtV'@(V'V'@(DWtDU@(tWt;W\@(;W\W@(WV@(VVW@(VWU@(U;U@(;UtU@(tUU@(UU@(UU@(U VW@( VW V@( VW@(WW\@(W\Wt@(WttWt@(ddVW@(dVWVWSRR@p($($P@($@($$@($$(@($($(@($((@(((@((SRR@p&&5(N5(N@(&(N@((N(N@((N(N5@((N5(N5@((N5&5@(&5&5@(&5&SRR@p66:8w:8w@(68w@(8w8w@(8w8w:@(8w:8w:@(8w:6:@(6:6:@(6:6SRR@pGG5H5H@(GH@(HH@(HH5@(H5H5@(H5G5@(G5G5@(G5GSRR@pW,W,5X5X@(W,X@(XX@(XX5@(X5X5@(X5W,5@(W,5W,5@(W,5W,SRR@pV]Vb#b#]@(V]#]@(#]#]@(#]#b@(#b#b@(#bVb@(VbVb@(VbV]SRR@p=`=`@(`@(``@(``=@(`=`=@(`==@(==@(=SRR@p))-x+-x+@()+@(++@(++-x@(+-x+-x@(+-x)-x@()-x)-x@()-x)SRR@p::N*;N*;@(:;@(;;@(;;N*@(;N*;N*@(;N*:N*@(:N*:N*@(:N*:SRR@pJ>J>-xK-xK@(J>K@(KK@(KK-x@(K-xK-x@(K-xJ>-x@(J>-xJ>-x@(J>-xJ>SRR@pZhZh-x\-x\@(Zh\@(\\@(\\-x@(\-x\-x@(\-xZh-x@(Zh-xZh-x@(Zh-xZhSRR@p-]-b7Fb7F]@(-]7F]@(7F]7F]@(7F]7Fb@(7Fb7Fb@(7Fb-b@(-b-b@(-b-]SRR@pEE@(@(@(E@(EE@(EE@(EE@(ESRR@p-'-'J.J.@(-'.@(..@(..J@(.J.J@(.J-'J@(-'J-'J@(-'J-'SRR@p=Q=Q-x>-x>@(=Q>@(>>@(>>-x@(>-x>-x@(>-x=Q-x@(=Q-x=Q-x@(=Q-x=QSRR@pMzMzEOEO@(MzO@(OO@(OOE@(OEOE@(OEMzE@(MzEMzE@(MzEMzSRR@p]]E_AE_A@(]_A@(_A_A@(_A_AE@(_AE_AE@(_AE]E@(]E]E@(]E]SRR@pA]AbKzbKz]@(A]Kz]@(Kz]Kz]@(Kz]Kzb@(KzbKzb@(KzbAb@(AbAb@(AbA]SRR@p 9 9J!J!@( 9!@(!!@(!!J@(!J!J@(!J 9J@( 9J 9J@( 9J 9SRR@p0c0c0202@(0c2@(22@(220@(2020@(200c0@(0c00c0@(0c00cSRR@p@@EB*EB*@(@B*@(B*B*@(B*B*E@(B*EB*E@(B*E@E@(@E@E@(@E@SRR@pPPVWRTVWRT@(PRT@(RTRT@(RTRTVW@(RTVWRTVW@(RTVWPVW@(PVWPVW@(PVWPSRR@p``=b}=b}@(`b}@(b}b}@(b}b}=@(b}=b}=@(b}=`=@(`=`=@(`=`SRR@pU]Ub_b_]@(U]_]@(_]_]@(_]_b@(_b_b@(_bUb@(UbUb@(UbU]@($~vT$w@($w#iwX@(#iwX"wX@("wX!w@(!w!vvT@(!vvT!vu@(!vu!t@(!t!t@(!t"TtL@("TtL#s@(#s$sH@($sH$Fr@($Fr$~rD@($~rD$~q@@($~q@$p@($p#ip<@(#ip<"p<@("p @(> >, @(>, > 8@(> 8= @(> > @(?Y ?" @(?" > `@(> `> @(> > @(> > @(> ?" @(?" ?Y @(?Y ? @(? ? @(? @ @(@ @4 @(@4 @4 @(@4 @ `@(@ `? @(? ? @(? ?Y @(@ @ @(@ 5AF @(AF A} @(A} A @(A B @(B B! 5@(B! 5B! @(mZmX>@(mZZ@(Z@(X>mX>@(tZKY@(KY!Y@(!Y YB@( YB Y@( Y!X@(!XKX_@(KX_tX>@(tX>X>@(X>X_@(X_X@(XY@(YYB@(YBY@(YY@(YZ@(ZtZ@(ZX>@(RZRX>@(ZX>@(YY@(YZ@(ZKZ@(KZ"Y@("YY@(YYB@(YBY@(YX@(X"X_@("X_KX>@(KX>X>@(X>X_@(X_X@(ZX>@(YBY@(YY@(YZ@(Z)Z@(`YLY@(LY Z@( ZZ@(ZY@(Y|Y@(|YYc@(YcYB@(YB"Y!@("Y!LY@(LY`X@(`X`X@(`XLX_@(LX_ X>@( X>X>@(X>X_@(X_|X@(E@(E@(E@(#@(@(W@(W@(@(g@(gE@(E=E@(=Eig@(ig@(@(W@(W@(i@(i=#@(=##@(D#DE@(DWY@(Y@(#@(##@(uu@(ug@(gE@(EE@(4##@(ffE@(f@(#@(##@(#A@(AV@(VVE@(WW@(W@(@(@(#@(#]#@(]#1@(1@(W@(W@(@(1g@(1g]E@(]EE@(Eg@(g@(#E@(W@(@(#@(# =#@( # E@(  @( !#@(!#!Y#@(!Y#!@(!!@(!!E@(''@(''p@('p'@('&@(&&@(&&h@(&h&#@(&#&@(&'@(''@(''x@('x'W@('W'@(''@(''g@('g'pE@('pE'E@('E&g@(&g&@((#(@(((v@((v(aW@((aW(a@((a(v@((v(g@((g(E@((E)E@()E);g@();g)f@()f)}@()})}W@()}W)f@()f);@();)#@()#(#@(*#*@(**+g@(*+g*WE@(*WE*E@(*E*g@(*g+@(+#+E@(++@(++g@(+g, E@(, E,8E@(+#,"#@(,,E@(,,@(,-)#@(-)#-j#@(-j#-@(--@(--E@(.EW/KW@(/KW/K@(/K/5@(/5/ @(/ .#@(.#.#@(.#.@(..[@(.[.EW@(.EW.E@(.E.[@(.[.g@(.g.E@(.E.E@(.E/ g@(/ g/K@(/#/E@(/W/@(/0&@(0&0Q#@(0Q#0#@(1#1E@(11B@(1B1m#@(1m#1#@(1#1@(11@(11E@(77E@(78@(78@(7E8E@(:j#:jE@(:j:?@(:?:#@(:#9#@(9#9@(99z@(9z9eW@(9eW9e@(9e9z@(9z9g@(9g9E@(9E:E@(:E:?g@(:?g:j@(;;@(;;#@(;#;[#@(;[#;@(;;@(;;x@(;x;EW@(;EW;4@(;4;@(;;@(;;@(;;g@(;g;E@(;E;[E@(;[E;g@(;g;@(<<@(<<g@(<g<E@(<E=E@(W@(>W>@(>>n@(>n>Y@(>Y>-#@(>-#=#@(=#=@(==@(==~W@(=~W=~@(=~=@(==g@(=g=E@(=E>-E@(>-E>Yg@(>Yg>@(?#?E@(?W?3@(?3?^@(?^?#@(?#?#@(@9#@9E@(@9@z@(@z@#@(@#@#@(@#A@(AA)@(A)A)E@(YY @(Y YkM@(YkMY?o@(Y?oXo@(XoXM@(XMX @(X X{@(X{Xe^@(Xe^Xe@(XeX{L@(X{LX@(XX@(XX@(XY?@(Y?Yk@(YkY@(YYL@(Z0[6@([6[6@([6[ ;@([ ;[ ^@([ ^Z@(ZZ@(ZZq^@(Zq^ZE@(ZEZ0@(Z0Z0n@(Z0nZE@(ZEZq@(ZqZ@(ZZ@(Z[ @([ [6@([[@([\^@(\^\<@(\<\}@(\}\^@(\^\@(\\@(]o]*@(]*]@(]]@(]]@(]B]@(^t^t@(^t^@(^^^@(^^^@(^_#@(``@(``U^@(`U^`)@(`)_@(__^@(_^_@(__{@(_{_{n@(_{n_@(__@(__@(_`)@(`)`U@(`U`@(a0oa0@(}gg@(ghL@(hLeR@(fg*@(g*gN@(gNegN@(egNg*@(g*f@(ff@(fMft@(MftfP@(fPf+@(f+e@(ee@(eev@(eveR@(eReeR@(eeRev@(eve@(hLe@(eev@(eveR@(eR4eR@({gNgN@(hLh(@(h(g@(gg@(gg*@(g*ft@(ftf@(fe@(eev@(eveR@(eRyeR@(yeRev@(eve@(ef@(f ft@( ft g*@( g*g@(gg@(gh(@(h(yhL@(yhLhL@(bee @( hL e@( e ev@( ev!eR@(!eR!1eR@( xgN!gN@(!gN!eR@(!ft!f@(!f"g*@("g*"1gN@("1gN"wgN@(#e"ev@("ev#eR@(#eR#ev@(#ev#e@(-g-g@(-g-2h@(-2h-Ih(@(-Ih(-whL@(-whL-hL@(-hL.h(@(.h(.h@(.h.1g@(.1g.1gr@(.1gr.g*@(.g*-f@(-f-eR@(-eR.HeR@(.gN.eR@(.f/0g*@(/0g*/^gN@(/^gN/gN@(/gN/g*@(/g*/f@(/f/eR@(1hL1eR@(1f1tg*@(1tg*1FgN@(1FgN1gN@(1gN0g*@(0g*0f@(0f0ft@(0ft0f+@(0f+0e@(0e0ev@(0ev1eR@(1eR1FeR@(1FeR1tev@(1tev1e@(3hL3h(@(3h(3\g@(3\g3Dg@(3Dg3-g*@(3-g*3-ft@(3-ft3Df@(3Df3\e@(3\e3ev@(3ev3eR@(3eR4eR@(4eR4Dev@(4Dev4re@(4re4f@(4f4ft@(4ft4g*@(4g*4g@(4g4rg@(4rg4Dh(@(4Dh(4hL@(4hL3hL@(3e4e @(5ZhL5Ze@(5Ze5qev@(5qev5eR@(5eR5eR@(5gN5gN@(6YgN6YeR@(6Yft6pf@(6pf6g*@(6g*6gN@(6gN7gN@(7e7ev@(7ev7eR@(7eR7ev@(7ev7e@(AhLBhL@(BhLBg*@(Bg*Beg*@(Beg*Bg@(BgBf@(BfBft@(BftBf+@(Bf+Be@(BeB|ev@(B|evB6eR@(B6eRAeR@(AeRAev@(AevAe@(AeA}e@(CdgNCdeR@(CdftC{f@(C{fCg*@(Cg*CgN@(CgNDgN@(EhLEeR@(EfEcg*@(Ecg*E4gN@(E4gNDgN@(DgNDg*@(Dg*Df@(DfD{ft@(D{ftD{f+@(D{f+De@(DeDev@(DevDeR@(DeRE4eR@(E4eREcev@(EcevEe@(GhLGxh(@(Gxh(GJg@(GJgG3g@(G3gGg*@(Gg*Gft@(GftG3f@(G3fGJe@(GJeGxev@(GxevGeR@(GeRHeR@(HeRH2ev@(H2evH`e@(H`eHxf@(HxfHft@(HftHg*@(Hg*Hxg@(HxgH`g@(H`gH2h(@(H2h(HhL@(HhLGhL@(GeHxe @(IHhLIHe@(IHeI`ev@(I`evIeR@(IeRIeR@(IgNIgN@(JHgNJHeR@(JHftJ_f@(J_fJg*@(Jg*JgN@(JgNKgN@(KeKvev@(KvevKeR@(KeRKev@(KevKe@(VhLUfP@(UfPWfP@(VhLVeR@(WhLWe@(WeWev@(WevXeR@(XeRX.eR@(WugNXgN@(XhLXeR@(XfYg*@(Yg*Y.gN@(Y.gNYtgN@(YtgNYg*@(Yg*Yf@(YfYeR@([hL[h(@([h([sg@([sg[[g@([[g[Dg*@([Dg*[Dft@([Dft[[f@([[f[se@([se[ev@([ev[eR@([eR\,eR@(\,eR\[ev@(\[ev\e@(\e\f@(\f\ft@(\ft\g*@(\g*\g@(\g\g@(\g\[h(@(\[h(\,hL@(\,hL[hL@(\e\e @(]qhL]qe@(]qe]ev@(]ev]eR@(]eR]eR@(]+gN]gN@(^pgN^peR@(^pft^f@(^f^g*@(^g*^gN@(^gN_*gN@(_e_ev@(_ev_eR@(_eR_ev@(_ev_e@(oo@(a[|he|@(ZutdF{@(ie3~e3@(h]S~ ]S@(lY5z|Y5@(a`Ng_~@(g  @(g@(lSy@(*mS7 SSR@l4 d7 S5 @04 d7 S5 4 d@())O@(6 6@(633SR@t2Q&F)R&'Q&@82Q&F)R&'Q&2SR@t9DA CCVD@89DA CCVD9SR@te Z \A \ QZ @8e Z \A \ QZ e SR@tdJ Kg IK J$ @8dJ Kg IK J$ dSR@pZut\wx\uZut@4Zut\wx\uZutZutSR@p`fd4gd4e`f@4`fd4gd4e`f`fSR@pa`Wdq`dP_a`W@4a`Wdq`dP_a`Wa`W@(afhf@(bfjSR@pbdhdqb@4bdhdqbbSR@t Hm`)\O`^\n@8 Hm`)\O`^\n Hm`@(bQb|@(arQbQ@(c*Qc*|@(d>Qd>|@(cQdQ@(eTQeT|@(eT|fh|@(fQf|@(fQhQ@(f~/g~/@(f|h|@(FfG|\@(HfG|\@(HfH\@(I7fH\@(IK-@(K-K-@(K-K@(KJ>@(J>Jc@(JcJ^c@(J^cJ#>@(J#>I@(II@(II;@(I;I@(IJ#@(J#J^\@(J^\J\@(J\J@(JK-@(M$M>@(M>Lc@(LcLTc@(LTcK>@(K>K@(KK@(KL7@(L7L`@(L`M;@(M;M$@(M$M$@(M$M@(ML\@(L\LT\@(LT\K@(KK@(NfN@(NN-@(N-Nh\@(Nh\N\@(McNc@(O6P@(PP@(PP{@(P{P^>@(P^>P#c@(P#cOc@(OcO>@(O>OT@(OTO6@(O6O6;@(O6;OT@(OTO@(OO\@(O\P#\@(P#\P^@(P^P@(QhcQh\@(QhQ@(QQ>@(Q>Qc@(QcRTc@(RcR\@(RS@>@(S@>S{c@(S{cSc@(ScT>@(T>T-@(T-T-\@(||-@(||-@(|-@(-@(i@(-@(-@( h h-@(!!@(!!@(!!C@(!C! @(!  @(  @(  n@( n! W@(! W!0@@(!0@!@(!!@(!!@(!!@(!!r@(!r!D@(!D!-@(!-!C-@(!C-! D@(! D r@(##-@(#-#-@($$-@($%A-@($T% @(%%-@(%&@@(&@&w@(&w&@(&&@(&&@(&&W@(&W&w@@(&w@&@)@(%)&@)@(&@)&w@(&w&@(&&@(&&@(&&[@(&[&wD@(&wD&@-@(&@-%-@(''-@('(@(')')@('-(-@((v(v-@((v-)Q-@(l\`lZ-@(l\`mV\`@(mV\`m\F@(m\Fm\+@(m\+m[@(m[m[@(m[m[o@(m[om[T@(m[TmV[9@(mV[9l[9@(nW\`nWZ-@(nW\`om\`@(nW[To[T@(nWZ-omZ-@(o\`oZ-@(o\`p\`@(p\`p\F@(p\Fq\+@(q\+q[@(q[q[@(q[q[@(q[p[o@(p[op[T@(p[To[T@(p[TqZ-@(s[s\@(s\sr\F@(sr\FsG\`@(sG\`r\`@(r\`r\F@(r\Fr\@(r\r[@(r[rq[@(rq[rq[@(rq[rZ@(rZrZ}@(rZ}rZG@(rZGrZ-@(rZ-sGZ-@(sGZ-srZG@(srZGsZ}@(sZ}sZ@(sZs[@(sG[s[@(tI\`tIZ-@(tI\`u \`@(u \`uJ\F@(uJ\Fu_\+@(u_\+ut[@(ut[ut[@(ut[u_[@(u_[uJ[o@(uJ[ou [T@(u [TtI[T@(t[TutZ-@(vv\`vK\F@(vK\Fv \@(v \v [@(v [u[@(u[u[@(u[v Z@(v Zv Z}@(v Z}vKZG@(vKZGvvZ-@(vvZ-vZ-@(vZ-vZG@(vZGw!Z}@(w!Z}w6Z@(w6ZwL[@(wL[wL[@(wL[w6[@(w6[w!\@(w!\v\F@(v\Fv\`@(v\`vv\`@(w\`wZ@(wZwZ}@(wZ}x"ZG@(x"ZGxbZ-@(xbZ-xZ-@(xZ-xZG@(xZGxZ}@(xZ}yZ@(yZy\`@(y\`yZ-@(y\`zz\`@(zz\`z\F@(z\Fz\+@(z\+z[@(z[z[@(z[z[o@(z[oz[T@(z[Tzz[9@(zz[9y[9@(ih9ie@(ih9je@(jh9je@(lh9k`e@(lh9le@(kflf@(mKh9mKe@(mKh9ne@(nh9ne@(nh9ne@(o|h9o|e@(o|h9ph9@(o|gp7g@(o|epe@(rh9rih@(rihr:g@(r:gr#g@(r#gr gN@(r gNr f@(r fr#fd@(r#fdr:f)@(r:f)rie@(riere@(rere@(res$e@(s$esSf)@(sSf)sjfd@(sjfdsf@(sfsgN@(sgNsjg@(sjgsSg@(sSgs$h@(s$hrh9@(rh9rh9@(t%h9t%e@(t%h9uUh9@(t%gtg@(vh9ve@(vh9wh9@(wh9wh@(whwg@(wgwg@(wgwg@(wgwgN@(wgNwg1@(wg1wg@(vgwg@(wgwf@(wfwf@(wfwf@(wfwfG@(wfGwf @(wf we@(wewe@(weve@(yh9xXe@(yh9ye@(xfyf@(zDh9zDe@(zDh9{h9@({h9{\h@({\h{tg@({tg{g@({g{g@({g{tgN@({tgN{\g1@({\g1{g@({gzDg@(zg{e@(}_g}0h@(}0h|h9@(|h9|h9@(|h9|Fh@(|Fh|g@(|g|g@(|g|/gl@(|/gl|FgN@(|FgN|tg1@(|tg1}f@(}f}0f@(}0f}Gf@(}Gf}_f@(}_f}_f)@(}_f)}0e@(}0e|e@(|e|e@(|e|Fe@(|Fe|f)@(i`i^g@(i`j&^g@(j&`j&^g@(j`j_@(j_j^@(j^k ^@(k ^kJ^g@(kJ^gks^g@(ks^gk^@(k^k^@(k^k_@(k_k`@(l`l^g@(l`m>^g@(m`m>^g@(m`m^g@(n`n^g@(n`oF`@(oF`o`p@(o`po`V@(o`Vo`"@(o`"o_@(o_o_@(o_o_@(o_oF_@(n_oF_@(oF_o_k@(o_ko_Q@(o_Qo_@(o_o^@(o^o^@(o^o^@(o^oF^g@(oF^gn^g@(p@`p@^g@(p@`qO`@(p@_p_@(p@^gqO^g@(q`q^g@(q`r`@(r`r`p@(r`pr`V@(r`Vr`"@(r`"r_@(r_r_@(r_r_@(r_r_@(r_q_@(r]_r^g@(t`t`p@(t`pte`<@(te` SimplexRoman--K --SeptF/F_9_K _K __Octjx/jxQ9QK QK QQNov7/7K Dec--9A/--,0|.##-##1(A/1(A/1(-1(-,1(20|.@--@-O2A/O2A/O2-O2-,O240|.]7-]7l<A/l<A/l<-l<-,l<60|.{A-{AÉFA/FA/F-F-,F80|.K-KçPA/PA/P-P-,P100|.U-UZA/ZA/Z-Z-,Z120|._-_dA/dA/d-d-,d140|.i-inA/nA/n-n-,n160|. t- tyA/yA/y-y-,y180|.+~-+~A/9-9-,92009-9-P_F_FQZQZ=X=O-F_P_PQwlQwl9joj-d_i_iQnQn t77kxBӮl SimplexRoman-ffH *Monthly ExpensesQy p i SimplexRoman2EBy ExMonth-g-gx=y SimplexRomanQf&D2y DollarsFm=m+PR SimplexRoman*%8yElectrickxm`pmvR SimplexRoman*%8yElPhone7m,mBR SimplexRoman*%8yESalaryBBBBBBCHC CC C*CSeptOctNovDec monthlysales[sys]Line.Fmmonthlysales.DatMonthly ExpensesMonthDollarsElectricPhoneSalaryRƼCAT^@BmBHCA?@?Rn' ?ƃ B] ] |ʙF 7bcq a_?m 3@ 3763 V"[!XV" mm Ae0A %,% j[J )*hX0n) tfm(mwitfm XqnǬkXq CA D#q?CA  e"+h d e [Azl|llАlllbl@lllmŏ1mQmtm|mhmWmGn;:n1fn)n%n#n#o'Do-oo5oAoOo_pr@pepppӏppq0qQ0qtBqQq^qhqmq/qqAqqfoqjqbqؑWqHq 8qB$qc qpppגpwpSp,p+p;oGoQoYZo].o_o_n[nU|nMPnA&n3m#mmmcmʒAm"mmslRl1llꑛlƑllzlS|lAzl [/7r9r\ p  ]; ; t   /~ $@ <  ` d   @  Ժ*d  `p@@8?d |    Ժ**~d | ?0 $?  0~ 0 pD ? x ? (:*0D '@0 ~88  KT  ˹td ` , t  *t   p?@  WU IWt   < *?<x  0     `   2 𻪪*&  x |     b   𺪪*             ສ*             𺪪*             ?  ? | > @  8 0 @ @P'08 %5h/S # <P)0GL! *WriteVDM"?h  b n Picture 00B0$0b00 S_2PPB@(Wdr@(WsW@( S @(  @( d @(d , @(,  S@( S @(  @( , @(, R @(R  @(  m@( m S@( S @(  @(  @(  @( d @(d , @(,  @(~ Sa S@(a Sa @(a N @(N ; @(;  @(  @(  @(  @( ~ S@(~ S~ @(~  @(  @(  @(  @( ; @(; a @(  @(  @( 0 @(0 h @(h  @(  @(  S@( S @(  @(  @( h @(h 0 @(0  @(  @(] ] @(] p @(p  @(  @(%  @(!!PB@(/ X/ sPB@(/ s/ @(- - @(- - S@(- S-l @(-l -Z @(-Z -Z S@(-Z S-l @(-l - @(- - @(- - @(- . @(. .; @(.; .b @(.b .t @(.t . S@(. S. @(. .t @(.t .b S@(.b S.; @(.; . @(. - @(/ / @(/ / @(/ /W @(/W /1 @(/1 / @(/ . S@(. S. @(. / @(/ /1 @(/1 /W @(/W / @(/ / @(/ / @(0q 0q @(0q 0 @(0 0 @(0 0 @(09 0 @(@(|:>:$@(:$:$@(:$:>@(:>9:@(9:K; @(K; K;W@(K;W9;@(9;<$@(<$<=@(<=<=@(>W>PB@(drBi*BiPB@(*BiWBi@(C5CO@(COC@(CA@(CB6@(B6B6@(CA@(C|C@(|CVC5@(VC5DB@(DBDBi@(DBiVA@(VA|A@(|AA@(AA@(AA@(A9A@(9AKBi@(KBiKB@(KB9C5@(9C5C@(CC@(CC@(FWFPB@(drI*IPB@(*IWI@(JJ@(JJ@(JH@(JJ@(JuJ@(uJOJ@(OJJ@(JJ@(JJ@(JI@(II.@(I.H@(HOH@(OHbH@(bHH@(HI.@(I.I{@(I{I@(II@(IJ@(JbJ-@(bJ-OJ-@(OJ-J@(JI@(II@(J|J@(|JVJ@(VJDJ@(DJDI@(DIVIG@(VIG|H@(|HH@(HH@(HH@(H9IG@(9IGKI@(KIKJ@(KJ9J@(9JJ@(JJ@(JJ@(MvWMvPB@(drQ%*Q%PB@(*Q%WQ%@(QR @(R RX@(RXP?@(*RXR>@(R>R @(R Q@(QQ@(QQ@(QbQr@(bQrQX@(QXQ%@(Q%P@(PP@(PPr@(PrPX@(PXuP?@(uP?*P?@(*P?PX@(PXPr@(PrP@(PP@(PQ%@(Q%QX@(QX@(R>uRX@(uRX*RX@(RX|R>@(|R>VQ@(VQDQr@(DQrDQ%@(DQ%VP@(VP|PX@(|PXP?@(P?P?@(P?PX@(PX9P@(9PKQ%@(KQ%KQr@(KQr9Q@(9QR>@(R>RX@(RXRX@(TWT@(*XWX@(fY6fYP@(fYPxY@(xYY@(YY@(YY@(Y"Y@("Y5Y@(5YHYP@(HYPHY@(HY5X@(5XX@(XSW@(SW[W@(}@(;Sy= y@(;Su>u@(?/{Au@(A{?/u@(C {C s@(C yCyz@(CyzC{@(C{D{@(D{Dz@(DzEgy@(EgyEx@(ExEw@(EwEgv@(EgvDv@(DvDu@(DuCu@(CuCyv@(CyvC v@(FxI{x@(I{xI{y@(I{yIDzE@(IDzEI z@(I zH{@(H{G{@(G{Gz@(GzGy@(GyFx@(FxFw@(FwGv@(GvGv@(GvGu@(GuHu@(HuI v@(I vI{v@(J{Ju@(JyKz@(KzL{@(L{L{@(L{M z@(M zMWy@(MWyMWu@(Q3yPz@(PzPX{@(PX{O{@(O{Oz@(OzNy@(NyOy @(Oy O|x@(O|xPx]@(Px]Pw@(PwQ3w8@(Q3w8Q3v@(Q3vPv@(PvPXu@(PXuOu@(OuOv@(OvNv@(R}xUx@(UxUy@(UyTzE@(TzETz@(TzT5{@(T5{S{@(S{S"z@(S"zRy@(RyR}x@(R}xR}w@(R}wRv@(RvS"v@(S"vSu@(SuT5u@(T5uTv@(TvUv@(XyX~z@(X~zW{@(W{W5{@(W5{Vz@(VzVYy@(VYyVy @(Vy Vx@(VxXx]@(Xx]X~w@(X~wXw8@(Xw8Xv@(XvX~v@(X~vWu@(WuW5u@(W5uVv@(VvVYv@(8_8_@(8_98@(:98@(::@(;W;!l@(;!l: @(: :{@(:{:@(::@(:;!)@(;!);W@(;W;@(;;)@(;)<@(<<0@(<0<0{@(<0{< @(< ;l@(;l;@(;;W@(<<@(<=@l@(=@l=v@(=v=@(==l@(=l>@(>>@(? ? @(? ?()@(?()?_@(?_?@(>?z@(@8@8@(@8@l@(@l@@(@A@(AAHl@(AHlAc@(AcAc@(]Z@(]:]@(:]w]@(w]]<@(]<\@(\\@(\[@([[`@([`[@([wZ@(wZ:Z@(:ZZ@(\\@(\Z\<@(Z\<F[@(F[F[@(F[Z[@(Z[Z@(ZZ@(ZZ@(ZZ@(Z=[@(=[Q[@(Q[Q[@(Q[=\<@(=\<\@(\\@(\\@(]Z@(]Z@( \ Z@( \<\@(\\@(\~\@(~\T\@(T\+\<@(+\<[@([[@([+[@(+[TZ@(TZ~Z@(~ZZ@(ZZ@(Z [@(\Z@([\<@(\<\@(\\@(\W\@(\<w\@(w\9\@(9\\@(\\@(\\<@(\<[@([[@([N[@(N[w[@(w[[;@([;[@([wZ@(wZ9Z@(9ZZ@(ZZ@(Z[@(lif@(ll@(k'k'@(ifif@(lif@(Dj Xj@( Xj Xj@( Xj AkP@( AkP *ky@( *kyk@(kk@(kky@(ky[k'@([k'Dj@(DjDj[@(Dj[[i@([ii@(iif@(ifif@(if *i@( *i Xi@(!k'!ky@(!ky!k@(!k!Uk@(!Uk!'ky@(!'ky k'@( k' j@( j j[@( j[ i@( i!'i@(!'i!Uif@(!Uif!if@(!if!i@(!i!i@("l"j @("j "i@("i"if@("if#!if@("ik# k@(#k#if@(#j#k'@(#k'#ky@(#ky$k@($k$ck@($l$l@($l$l@($l$l@($l$l@($k$if@(&k'&]ky@(&]ky&/k@(&/k%k@(%k%ky@(%ky%k'@(%k'%wj@(%wj%wj[@(%wj[%i@(%i%i@(%i%if@(%if&/if@(&/if&]i@(&]i&i@(8ql8qif@(8ql9@l@(9@l9l@(9l9ln@(9ln9l@(9l9k@(9k9kP@(9kP9k'@(9k'9@j@(9@j8qj@(:Tl:Tif@(:Tj:ky@(:ky:k@(:k; k@(; k;:ky@(;:ky;Qj@(;Qj;Qif@(ky@(>ky>1k@(>1k>vk@(>vk>ky@(>ky>j@(>j>if@(?\j@pj@(@pj@pj@(@pj@YkP@(@YkP@Bky@(@Bky@k@(@k?k@(?k?ky@(?ky?sk'@(?sk'?\j@(?\j?\j[@(?\j[?si@(?si?i@(?i?if@(?if@if@(@if@Bi@(@Bi@pi@(TOlET!l@(T!lSl@(SlSl@(SlSgL5H@( jdSR@p J d7 J@4 J d7 J JSR@p*d , J+*d @4*d , J+*d *d SR@p^jblbi^j@4^jblbi^j^jSR@p_iebeebWb_ie@4_iebeebWb_ie_ieSR@p^xayaw|^x@4^xayaw|^x^x@(, J#dSR@p6`Gb_6`G@46`Gb_6`G6`GSR@pKHOHNEKH@4KHOHNEKHKHSR@peKhIfG[eK@4eKhIfG[eKeKSR@p ( _*'# (@4 ( _*'# ( (SR@p yC\D wA yC@4 yC\D wA yC yCSR@lIGIGIGIzGIeHIRHI?HI-H)IH:I HLHH`HHwHHHHHHHHHHHIHI8HIXHIxHIHIHIHIHJHJ:HJYHJwHJHJHJHJHJHKIK+IK>I$KQI6K`IHKmI\KxIoKIKIKIKIKIKIKIKJK|JKqJ.KfJ@KWJRKFJcK5JsK JK JJJJJJJJJJJJgJJIJJ)JJ JIJIJIJIJIhJIHJI)JI JHJHJHJHJHJ{HlJkHVJZHDJIH1J7H!J$HJH IHIGIGIGIG@?pIGIGIGIzGIeHIRHI?HI-H)IH:I HLHH`HHwHHHHHHHHHHHIHI8HIXHIxHIHIHIHIHJHJ:HJYHJwHJHJHJHJHJHKIK+IK>I$KQI6K`IHKmI\KxIoKIKIKIKIKIKIKIKJK|JKqJ.KfJ@KWJRKFJcK5JsK JK JJJJJJJJJJJJgJJIJJ)JJ JIJIJIJIJIhJIHJI)JI JHJHJHJHJHJ{HlJkHVJZHDJIH1J7H!J$HJH IHIGIGIGIGIGSR@ld|LdlL!d\L#dLL'd=L-d.L3dL=dLHdLScL`cLocLcLcLcLcLcLcLcMcM cM6cMMcMdcM{cMcMcMcMcMcNcNcN)cN;cNMcN]cNmcN{d NdNd'Nd5NdENdTNddNdtNd|NdNdNdNdNdNdNdNdNeNteNeeNUe%NEe0N2e9N eAN eHMeOMeSMeXMe[Me]Me^Moe^MYe\MAeZM+eVMeQLeKLeDLe=Le4Le+Le LeLweLhdLZdLMdLAdL8dL0dL*dL%dL"dLd|L@?pd|LdlL!d\L#dLL'd=L-d.L3dL=dLHdLScL`cLocLcLcLcLcLcLcLcMcM cM6cMMcMdcM{cMcMcMcMcMcNcNcN)cN;cNMcN]cNmcN{d NdNd'Nd5NdENdTNddNdtNd|NdNdNdNdNdNdNdNdNeNteNeeNUe%NEe0N2e9N eAN eHMeOMeSMeXMe[Me]Me^Moe^MYe\MAeZM+eVMeQLeKLeDLe=Le4Le+Le LeLweLhdLZdLMdLAdL8dL0dL*dL%dL"dLd|Ld|L@(kQ>kQk>@(k>l6>@(l6>ld>@(ld>l{>F@(l{>Fl=@(l=l=M@(l=Ml{<@(l{ln]o+o>@(p>oqh=.q$=.@(r>rs>@(s>s>@(s>s>@(s>t>e@(t>et>@(t>s=@(s=s=@(s=s=@(s=r=@(u>t>@(t>t>@(t>t>F@(t>Ft=@(t=t=M@(t=Mt<@(tF@(u>Fu>@(u>u>@(u>up>@(up>u>@(v>vwRxxyzF>@({>{>@({>{q>@({q>{>@({>z>@(z>z>@(z>z>F@(z>Fz>@(z>z=@(z=z=@(z={=@({={=l@({=l{=M@({=M{=@({={<@({<{>xW== ??p< SimplexRoman1Z&Z&1d(1Z&1O$30:_':Z&+D+Dd(+Dd(+DZ&+DO$35M_'MZ&VVd(Vd(VZ&VO$40.`_'.`Z&iid(id(iZ&iO$45r_'rZ&1|1|d(1|d(1|Z&1|O$50_'Z&ގގd(ގd(ގZ&ގO$554_'4Z&d(d(Z&O$60_'Z&77d(7d(7Z&7O$65_'Z&d(Z&O$701Z&13Z&1Z&/Z&0C2-,1-,2323212/250C2717ƨ=3=3=1=/=100C2|C1|CPI3PI3PI1PI/PI150C2#O1#OT3T3T1T/T200C2Z1ZƟ`3`3`1`/`250C2rf1rfFl3Fl3Fl1Fl/Fl300C2r1rw3w3w1w/w350C2}1}31/400Z&ƕ11PIVwVw1|Z1|Zo7ɒoIɒ1`VFlVFl1|r1|rPUɒPgɒ1=VTVT1|Fl1|Fl1sɒ1ɒ1TV=V=1|Fl1|Fl2ɒɒ1RBVNPVNP1|T1|TRRLWɒɒ2|*S* SimplexRomanef{Profit by Unit}t1 SimplexRomanϟ2^=fit Unit #11?>/ SimplexRomanf&U.fit Profitp@ M6 Jg SimplexRoman*,3fitWesternQ^ T hg SimplexRoman*,3fitEastern2| p ؇g SimplexRoman*,3fiSouthern Î cg SimplexRoman*,3fiNorthern ,g SimplexRoman*,3fiCentralA BHBpBCCaCCA BHBpBzCCCCA BHBpBBHCCCA BHBpBHCBCHBA BHBpBBB4CHC>CRC profitbyunit[sys]Line.Fmprofitbyunit.DatProfit by UnitUnit #ProfitWesternEasternSouthernNorthernCentralR[[A{@ B.EBCHBAB@PnBBAB SimplexRomanPA? Profit by UnitH8GB ? SimplexRomanP }@? Unit #HAmLOB SimplexRomanP@@? ProfitISAB SimplexRomanPtV@? WesternIBB SimplexRomanPtV@? EasternJ3EBB SimplexRomanPtV@? SouthernJBB SimplexRomanPtV@? NorthernIIBB SimplexRomanPtV@? Central ,óó ]] Ϛ jnn " & # sU"sU 6i Pi  ໚ͮ ~] ;- G V# d7A  ^%j VR\%? [wH ,=kQBhԟہ{"bIMq:+ĂHu΃%&2QD{Wnʄğ5T r.V̅֠܅1^ӡ0]ᅊӅ…ޢ.ScvD$ϣ݄裶e;+4:<<_620$ڂ]ۣ7£큆ˁeAu\ʢG5t%G  [;|Ni|Pi{Si{Yi{`i{iiu{wiW{i9{i{i{izizizjzjz6jzQjxzpjnzjezj_zjZzjYz kYz+k\zLkbzkkizkszkzkzkzkzlz4lzLlzal{wl+{lH{le{l{l{l{l{l|l+|l;|l[|l|l|l|l|l}l}l=}lY}lt}ml}Wl}@l}&l} l}k}k}k~k~yk~[k~ 7QVAGR~>Q 5I9:5    U  C?@@A@?@D0]@@@ UUUUUWUUUUUU_TUUUUUUU_@@@0@`@B@g;@0 .% @ @ 69@ ࣑&=@` @M` pUUUUUWUU}UUUUUUUUUU_ `<0@`@|}>x@H@ 0@8$ @@@pA@@>@2 M`(@ @0U  PVTU]UUUUUU]UGUUUUUUUUUM `@ C I@@6 [J@8@@Z@ ]R@@@ @_@ ?pUWUUUVUUU_UUUUUTU _@P@~@L @@pE@@pA@@  @`@@@gUU UUU]UUUUUUUUUUUUUU_@@@@h@>x@@@@`@@@0_@@ pUUUUUVUUUUUUUUuUUUUUU_@@@@@@A@@@@ @@@MW@@ @UUUUUUUUUUUUUUUUUUUUM@@@ @@@ @@@@ @@@ \@@@@@   ~ ~ |  p| ^~ ~~~ x <` HP`pH0 HUxHUxp>0@x$R&_@'xFQJ$YQ @ GL% *WriteVDM"?h  b n Picture 00B0$0b00 S_2PPB@(fb@(@(e6@(6@(@(#@(#6@(6I@(IIf@(If6@(6@(@(@(e@(eR@(R?2@(-@(@(@(@(2@(2@(-@(-S@(S@(2@(2@(@(@(@(S@(S-@(PB@(WQPB@(@(R@(R@(@(?@(?R@(Re@(eef@(efR@(R,@(,@(@(@(n@(n[2@( @(@(@( 64@( 64 o4@( o4 @(  @(  @(  f@( f @(  @(  o@( o 6@( 6@(@(2@($$PB@()WQ)PB@())@()5(w@((w)@()5)5@(*e*,@(*,*@(*)@())@()*2@(*2*,@(*,*e@(*e*@(**@(**2@(*2*@(**@(**@(**@(**@(**e@(..PB@(3WQ3PB@(33@(3Q2@(23@(3Q3Q@(445@(454"@(4"45@(454n4@(4n444@(444@(45@(55@(55f@(5f5@(54@(44@(44n@(4n45@(454"@(4"42@(88PB@(=WQ=PB@(==@(=<@(<<@(<<@(<=4@(=4=G4@(=G4=@(==@(==@(==f@(=f=@(==@(==G@(=G=@(=<@(<<@(<<2@(>>d@(>d>>@(>>>+@(>+>+@(>+>>2@(>>2>d@(>d>@(>>@(>>@(>?"2@(?"2?5@(?5?5@(?5?"@(?">@(>>@(>>@(CCPB@(HWQHPB@(HH@(GF@(FF@(FF@(FG*4@(G*4Gc4@(Gc4G@(GG@(GG@(GGf@(GfG@(GG@(GGc@(GcG*@(G*F@(FF@(FF2@(I+Hm@(HmHZ@(HZHm@(HmH4@(H4H4@(H4I@(II>@(I>IQ@(IQIQf@(IQfI>@(I>I@(IH@(HH@(HHm@(HmHZ@(HZHG2@(MMPB@(R*WQR*PB@(R*R*@(QQ@(QQ@(QQl@(QlQ3@(Q3Q @(Q P@(PP@(PQ @(Q Q3@(Q3Ql@(QlQ@(QQ@(QQ@(QQf@(QfQ@(QQ@(QQ@(QQ@(QQl@(QlQ3@(Q3Q @(Q P@(RR@(RRv@(RvRc@(RcRc@(RcRv2@(Rv2R@(RR@(RR@(RS4@(S4SZ2@(SZ2Sm@(SmSm@(SmSZ@(SZS4@(S4R@(RR@(W8W8PB@(\FWQ\FPB@(\F\F@([[@([[@([[@([[O@([O[)@([)[@([[@([[)@([)[O@([O[@([[@([[@([[@([\ f@(\ f\ @(\ [@([[@([[@([[@([[O@([O[)@([)[@(]c\@(\\@(\\@(\\4@(\4]4@(]4]P@(]P]v@(]v]@(]]f@(]f]v@(]v]P@(]P]@(]\@(\\@(\\@(\\2@(aTaT@(fbfb@(f)ek@(ef)@(g f@(ff@(ff@(ff@(ff2@(f2f@(fg @(g g3@(g3gl@(glg2@(g2g@(gg@(gg@(ggl@(glg3@(g3g @(WQ@(W@(6@(}@(}jN@(jNj@(j}@(}4@(4@(@(;4@(;4a@(at@(ttN@(tNa@(a;@(;6@(66@(FFPB@(fbWPB@(W@(@(@(@(M @(M  @( @(@(q@(q>@(>@(@(@(M@(M@(@( @(@(}Y@(}Yj@(jj@(j} @(} @(@(@(;@(;a @(a t@(tt@(taY@(aY;@(;@(@(PB@(fb$W$PB@(W$$@($$@($ %I@( %I #-@(`%I'%0@('%0$@($$b@($b$@($#@(#'#G@('#G`#-@(`#-#-@(#-#G@(#G#@(#$@($$b@($b$@($%0@(%0%I@(%I`%I@(%I%0@(%0}$@(}$j$b@(j$bj$@(j$}#@(}##G@(#G#-@(#-#-@(#-;#G@(;#Ga#@(a#t$@(t$t$b@(t$ba$@(a$;%0@(;%0%I@(%I%I@((Z(ZPB@(fb,W,PB@(W,,@(-m-@(- -@( - +@(--@(-,@(,-@(-M- @(M- - @(- -@(-,@(,,@(,,R@(,R,@(,+@(++@(+M+@(M++@(++@(+,@(--@(-}-m@(}-mj,@(j,j,@(j,},@(},+@(++@(++@(+;+@(;+a,@(a,t,@(t,t,@(t,a-m@(a-m;-@(;--@(--@(00PB@(fb5)W5)PB@(W5)5)@(55@(56*@(6*6D@(6D6]@(6]6]@(6]C6D@(C6DV6*@(V6*i5@(i5i5@(i5V5@(V505C@(05Cr4A@(r4A|4A@(`6]'6D@('6D5@(55v@(5v5)@(5)4@(4'4[@('4[`4A@(`4A4A@(4A4[@(4[4@(45)@(5)5v@(5v5@(56D@(6D6]@(6]`6]@(6]6D@(6D}5@(}5j5v@(j5vj5)@(j5)}4@(}44[@(4[4A@(4A4A@(4A;4[@(;4[a4@(a4t5)@(t5)t5v@(t5va5@(a5;6D@(;6D6]@(6]6]@(9n9nPB@(fb=W=PB@(W==@(>h>@(>>@(>>@(>>@(>>@(>C>@(C>V>@(V>i>@(i>i>N@(i>NV>@(V>0=@(0=r<@(r<|<@(>>@(>>@(>>@(>M>4@(M>4>4@(>4>@(>=@(==@(==f@(=f=@(=<@(<<@(<M<@(M<<@(<<@(<=2@(>>@(>}>@(}>j>@(j>j=@(j=}=2@(}=2<@(<<@(<<@(<;<@(;<a=2@(a=2t=@(t=t>@(t>a>@(a>;>@(;>>@(>>@(AAPB@(fbF=WF=PB@(WF=F=@(GqiGq@(iGqF@(F0F@(0FVF@(VFiFp@(iFp|F#@(|F#|E@(|EiE@(iECEo@(CEo EU@( EUEU@(EUEo@(EoE@(ErE@(`Gq'GX@('GXG @(G F@(FF=@(F=E@(E'Eo@('Eo`EU@(`EUEU@(EUEo@(EoE@(EF=@(F=F@(FG @(G GX@(GXGq@(Gq`Gq@(GqGX@(GX}G @(}G jF@(jFjF=@(jF=}E@(}EEo@(EoEU@(EUEU@(EU;Eo@(;EoaE@(aEtF=@(tF=tF@(tFaG @(aG ;GX@(;GXGq@(GqGq@(JJPB@(fbNWNPB@(WNN@(OiO@(iOO-@(O-0O-@(0O-VO@(VOiN@(iN|N@(|N|Nz@(|NziN,@(iN,CM@(CM M@( MM@(MM@(MN@(NrNF@(OO@(OO@(OO-@(O-MOH@(MOHOH@(OHO-@(O-N@(NN@(NNz@(NzN,@(N,M@(MM@(MMM@(MMM@(MN@(NNF@(OO@(O}O@(}OjO@(jOjN@(jN}NF@(}NFM@(MM@(MM@(M;M@(;MaNF@(aNFtN@(tNtO@(tOaO@(aO;O@(;OO@(OO@(S S @(WWQWQ@(0XrW@(rWW@(0X0Vj@(`X'Xl@('XlX@(XW@(WWQ@(WQV@(V'V@('V`Vj@(`VjVj@(VjV@(VV@(VWQ@(WQW@(WX@(XXl@(XlX@(X`X@(XXl@(Xl}X@(}XjW@(jWjWQ@(jWQ}V@(}VV@(VVj@(VjVj@(Vj;V@(;VaV@(aVtWQ@(tWQtW@(tWaX@(aX;Xl@(;XlX@(XX@(fbfbWQ@(fbWQWQP@(,)N@()N)N@()N=9n@(=9n=9n@(=9nR*WQ@(bu"xbuPB@(=)F=@()F=)F=@()F==J@(=J=J@(=JR*WQ@((bu2buPB@($)5)@()5))5)@()5)=F=@(=F==F=@(=F=R*WQ@(9buBbuPB@(5))$@()$)$@()$=F=@(=F==F=@(=F=R*@(I?buRbuPB@(')1@()1)1@()1=5)@(=5)=5)@(=5)R*3s@(R*3sR*3s@(R*3sfb6@(Ylbuc+buPB@((y(r_@((y*y@(*y+yr@(+yr+y@(+y+xb@(+xb+wS@(+wS+v@(+v+vC@(+vC*u@(*u(u@(-}wS-}r_@(-}u3-vC@(-vC.#v@(.#v.wS@(.wS/8wS@(1,wS0v@(0v0NvC@(0NvC0u3@(0u30t~@(0t~0Nso@(0Nso0r@(0r1,r_@(1,r_1r_@(1r_2Ar@(2Ar2so@(2so2t~@(2t~2u3@(2u32vC@(2vC2Av@(2Av1wS@(1wS1,wS@(5y5Hy@(5Hy4yr@(4yr4xb@(4xb4r_@(3wS5wS@(6y7yr@(7yr7awS@(>awS?wS@(?wS?vv@(?vv?vC@(?vC@u3@(@u3@t~@(@t~?so@(?so?vr@(?vr?r_@(?r_>ar_@(>ar_=r@(=r=so@(A2wSB~r_@(CwSB~r_@(B~r_Bp@(BpAp@@(Ap@A2o@(A2o@o@(GAyGAt~@(GAt~Gyso@(GysoGr@(GrHr_@(Hr_Hr_@(Hr_Ir@(IrJso@(JsoJJt~@(JJt~JJy@(LwSLr_@(LuLv@(LvMwS@(MwSMwS@(MwSN0v@(N0vNgu@(NguNgr_@(OyP#yr@(P#yrPZy@(PZyP#z'@(P#z'Oy@(P#wSP#r_@(RyRs@(RsRMr@(RMrRr_@(Rr_S+r_@(QowSRwS@(9 9!@(9!: @(: :CA@(:CA:@(::@(:;A@(;A;U@(;U;p!@(;p!;p @(8 >T @(>T >o @(>o >T @(>T >8 @(>T >T@(?K ?K@(?K?fA@(?fA?@(??@(> ? @(BJ sA@(B sB.@(A -C -@(Ao!B!@(\YN@(\\@(\[@([[@([[@([[*@([*Z@(ZZ@(ZZ@(ZZ@([*YN@(Z^Z@(Z[@([[*@([*0[*@([*[@([Z@(ZZ^@(Z^Z@(ZY@(YYp@(YpYN@(YN*YN@(*YNSYp@(SYp|Y@(|YZ@(ZZ^@(Z^|Z@(|ZS[@(S[*[*@(*[*[*@(\v\@(v\L[@(L[8[@(8[8YN@([*[*@(\[@([1\@(1\\9@(\9\@([*YN@(\Y@(YYp@(YpYN@(YN?YN@([*+[*@(Kjf@(3jf@(3jf@(jf@(h(h(@(h(ht@(hth@(hwh@(whIi @(Ii i @(i h@(hh@(hh(@(h(g@(ggj@(gjg@(gf@(fIf@(Ifwg@(wggj@(0hh@(hi @(i i @(i Hh@(Hh1h@(1hHhN@(HhNvh(@(vh(h@(hg@(g0g@(0g0gj@(0gjg@(gf@(ff@(fHg@(Hg1gj@(jg@(gg@(g/f@(/f]f@(i Gi @(h(h(@(h(ht@(hth@(hh@(hi @(i Fi @(Fi h@(hh@(hh(@(h(g@(ggj@(gjg@(gFf@(Fff@(fg@(ggj@( i f@( h( h@( h h@( h i @( i !Ei @(!i !f@(!ht!h@(!h"-i @("-i "si @("si "h@("h"ht@("ht"f@((j(f@((j*j@((h)h@((f*f@(+i +f@(+h+_h@(+_h+0i @(+0i *i @(*i *h@(*h*h@(*h*vh(@(*vh(*vg@(*vg*gj@(*gj*g@(*g*f@(*f+0f@(+0f+_g@(+_g+gj@(-/h-h@(-h,i @(,i ,i @(,i ,Fh@(,Fh,0h@(,0h,FhN@(,FhN,uh(@(,uh(,h@(,h-g@(-g-/g@(-/g-/gj@(-/gj-g@(-g,f@(,f,f@(,f,Fg@(,Fg,0gj@(-j-g@(-g.g@(.g..f@(..f.\f@(-i .Ei @(.h(/h(@(/h(/ht@(/ht/h@(/h/h@(/h/i @(/i /Ei @(/Ei /h@(/h.h@(.h.h(@(.h(.g@(.g.gj@(.gj/g@(/g/Ef@(/Ef/f@(/f/g@(/g/gj@(0i 0f@(0h(0h@(0h0h@(0h0i @(0i 1Ci @(1i 1f@(1ht1h@(1h2,i @(2,i 2ri @(2ri 2h@(2h2ht@(2ht2f@(9/i9i@(9i8j@(8j8^j@(8^j8i@(8i7i@(7i7iW@(7iW8i @(8i 8h@(8h8Gh@(8Gh8ht@(8ht9hN@(9hN9h(@(9h(9/g@(9/g9/gj@(9/gj9g@(9g8f@(8f8^f@(8^f8g@(8g7gj@(:/i :h@(:h9h@(9h9h(@(9h(9g@(9g9gj@(9gj:g@(:g:/f@(:/f:uf@(:uf:g@(:g:gj@(:gj:g@(:g:h(@(:h(:h@(:h:h@(:h:ui @(:ui :/i @(;i ;g@(;g;g@(;g;f@(;f<f@(<f[j>[f@(>[ht>h@(>h>i @(>i ?i @(?i ?Ch@(?Ch?Zht@(?Zht?Zf@(?h(Ah(@(Ah(Aht@(Aht@h@(@h@h@(@h@i @(@i @qi @(@qi @Ch@(@Ch@h@(@h?h(@(?h(?g@(?g@gj@(@gj@Cg@(@Cg@qf@(@qf@f@(@f@g@(@gAgj@(Ai Af@(Ah(Ah@(AhAh@(AhB*i @(B*i Bpi @(Bi Bf@(BhtC*h@(C*hCXi @(CXi Ci @(Ci Ch@(ChCht@(ChtCf@(H]jH]f@(H]jIf@(IjIf@(Ji Jh@(JhJ\h@(J\hJDh(@(JDh(JDg@(JDgJ\gj@(J\gjJg@(JgJf@(JfJf@(JfK-g@(K-gK[gj@(K[gjKrg@(KrgKrh(@(Krh(K[h@(K[hK-h@(K-hJi @(Ji Ji @(Li Lf@(Lh(L,h@(L,hLZh@(LZhLi @(Li Li @(MZjMZg@(MZgMqg@(MqgMf@(MfMf@(Mi Mi @(NZjNZf@(NZhtNh@(NhNi @(Ni Oi @(Oi OAh@(OAhOYht@(OYhtOYf@(Oh(Qh(@(Qh(Qht@(QhtPh@(PhPh@(PhPi @(Pi Poi @(Poi PAh@(PAhPh@(PhOh(@(Oh(Og@(OgPgj@(PgjPAg@(PAgPof@(PofPf@(PfPg@(PgQgj@(Qi Qf@(Qh(Qh@(QhQh@(QhR)i @(R)i Rni @(Ri Rf@(RhtS(h@(S(hSWi @(SWi Si @(Si Sh@(ShSht@(ShtSf@(ZiWZi@(ZiZi@(ZiZ}j@(Z}jZ j@(Z jYi@(YiYi@(YiYiW@(YiWYh@(YhYh(@(Yh(Yg@(YgYgj@(YgjYg@(YgZ f@(Z fZ}f@(Z}fZg@(ZgZgj@(ZgjZg@([}h(\h(@(\h(\ht@(\ht\{h@(\{h\eh@(\eh\6i @(\6i [i @([i [h@([h[h@([h[}h(@([}h([}g@([}g[gj@([gj[g@([g[f@([f\6f@(\6f\eg@(\eg\gj@(]6i ]6f@(]6ht]{h@(]{h]i @(]i ]i @(]i ^h@(^h^5ht@(^5ht^5f@(_j_g@(_g_g@(_g_Kf@(_Kf_zf@(^i _ci @(`i `f@(`h(`h@(`h`Kh@(`Kh`zi @(`zi `i @(b3i b3f@(b3hbh@(bhai @(ai ai @(ai abh@(abha4h@(a4hah(@(ah(ag@(aga4gj@(a4gjabg@(abgaf@(afaf@(afbg@(bgb3gj@(bjbf@(b4zl)z@(liy~iy@(k$` ` @(lH,MH,@(3` ` @(35 y5@(s&|@(Pbg@(`k|Urv@(kk eho@(OD Z@(!) @( Q@( F>F>.F>@F>QF>bF>sF>Fu>Fh>FZ>FI>F9>F&>F>E>E>E>E>E>E>Ez>Eb>EL>E4>E>E>D>D>D>D>D>D>Dw>Dh>DY>DK>{D>>kD2>ZD)>HD!>7D>%D>D>D=D@?p=D=D=D=D=D=D$=D.=|D8=lDD=\DQ=MD`=@Dp=4D=(D=D=D= D=D F>F>.F>@F>QF>bF>sF>Fu>Fh>FZ>FI>F9>F&>F>E>E>E>E>E>E>Ez>Eb>EL>E4>E>E>D>D>D>D>D>D>Dw>Dh>DY>DK>{D>>kD2>ZD)>HD!>7D>%D>D>D=D=D@(TUpM@(ADpE SR@pehogkh[hDeho@4ehogkh[hDehoehoSR@pUbvWyXw Uhv@4UbvWyXw UhvUbvSR@pTUWfVhVSTU@4TUWfVhVSTUTUSR@p?DzBEEBECO?Du@4?DzBEEBECO?Du?DzSR@pD G F4D @4D G F4D D SR@p& ) 'A Q& @4& ) 'A Q& & SR@p    @4     SR@p CGGE7 yA C>@4 CGGE7 yA C> CGSR@p9a+c)a@a@49a+c)a@a9a+@(a*Bb@(kadhbkSR@pdhbkgUcfg5`dhbk@4dhbkgUcfg5`dhbkdhbkSR@p%R * '1%1@4%R * '1%1%R@(kc)ka@(kc)la@(lc)la@(mFc)mFa@(mFamYaT@(mYaTma @(ma ma@(mama@(mana @(na n@aT@(n@aTnSa@(nSanSc)@(nc)na@(nc)oa@(p!c)oa@(p!c)p!a@(pc)pa@(pc)qhc)@(qhc)qc@(qcqb@(qbqb@(qbqb@(qbqbX@(qbXqb?@(qb?qhb$@(pb$qhb$@(qhb$qb @(qb qa@(qaqa@(qaqan@(qanqa:@(qa:qa @(qa qha@(qhapa@(rPc)rPa@(rPc)sJc)@(rPb$rb$@(rPasJa@(sc)sa@(sc)tkc)@(tkc)tc@(tctb@(tbtb@(tbtb@(tbtbX@(tbXtb?@(tb?tkb$@(tkb$sb$@(tDb$ta@(vsc)vLc@(vLcv&b@(v&bvb@(vbubX@(ubXua@(uava@(vav&aT@(v&aTvLa @(vLa vsa@(vsava@(vava @(va w aT@(w aTw a@(w aw3a@(w3aw3bX@(w3bXw b@(w bw b@(w bvc@(vcvc)@(vc)vsc)@(wc)wa@(wc)xc)@(wb$xTb$@(yc)ya@(yaza@({c){a@({c){a@({c)|a@(|c)|a@(}^c)}^a@(}^c)~Xc)@(}^b$}b$@(}^a~Xa@(bc@(cec)@(ec)c)@(c)~c@(~c~b@(~b~b@(~b~bs@(~bs~bX@(~bXb?@(b?yb @(yb a@(aa@(aa@(aaT@(aTa @(a ea@(eaa@(a~a @(~a ~aT@(c~c~{@(bdL@(dd{@(fCfC{@(etg@(gg{@(g{i {@(ii{@(ik@(i}~j}~@(i{k{@(mglmgj@(mgln{j@(n{ln{j@(o|lnj@(o|lpj@(okRokR@(p|lp|j@(p|lqj@(qlqj@(qlqj@(rUlrUj@(rUlsUl@(rUkrk@(rUjsUj@(tltl@(tltlx@(tlxtlB@(tlBt}k@(t}kt}km@(t}kmtk@(tktj@(tjtj@(tjtj@(tjuBj@(uBjuij@(uijuj@(ujuk@(ukukm@(ukmuk@(ukulB@(ulBulx@(ulxuil@(uiluBl@(uBltl@(vClvCj@(vClwCl@(vCkvk@(xjlxjj@(xjjyVj@(ylyj@(zVlzVj@(zVl{jj@({jl{jj@(|l|j@(|l} l@(|k|k@(|j} j@(~lx~Xl@(~Xl~l@(~l}l@(}l}l@(}l}klx@(}klx}klB@(}klB}l @(}l }k@(}k}k@(}k~0k@(~0k~Xk@(~Xk~kkm@(~kkm~k8@(~k8~j@(~j~Xj@(~Xj~j@(~j}j@(}j}j@(}j}kj@(=cb@(ba@(xcb@(cea@(ca@(bGebG@(ca@(ca@(ca@(*cmc@(cc@(cyc@(yc>c@(>ccm@(cmc8@(c8*c@(*c>b@(>beb@(ebb@(bb}@(b}bb@(bb*b-@(*b-*a@(*aa@(aa@(aya@(ya>a@(>aa@(ycya@(ya ea@( +c a@( +c a@( bG bG@( *c *a@( *c c@( c c@( c *c@( *c >cR@( >cR >c@( >c *b@( *b b@( b b@( *b b@( b b@( b *b}@( *b} >bG@( >bG >a@( >a *a@( *a a@( a a@( a *a@( c a@( c c@( b gb@( a a@(@c@a@(@a,a@(PAQL@(QPAL@(SRL@(STbL@(S)/T/@(TVL@(VTL@(VVL@(XX@(XX:@(X:W@(WW@(WWb@(WbWbT@(WbTWz@(WzW@(WW@(WXR@(XRXq@(XqXP@(XPX@(XX@(XXm@(XmX:L@(X:LWL@(WLWm@(WmWb@(ZJZJL@(ZJL[jL@(\Z[L@(\Z]L@([/\/@(]]L@(]^j@(^j^@(^^@(^^u@(^u^4@(^4^@(^^@(^^j@(]^j@(^j^@(^^q@(^q^/@(^/^@(^^@(^^m@(^m^jL@(^jL]L@(__L@(_`@(_`J@(_L`L@(aRaRL@(aRLbrL@(98@(87>@(98@(9w7>@(79w7>@('9g7>@('97>@(8!8!@(_9_7>@(_7>7>@(98@(87@(7@7^@(@7^7>@(7>7>@(7>7^@(7^ 07@( 07 G8@( G8 G9@( 9 7>@( 9 ?9@( 8 8@( 7> ?7>@( 9 9@( 9 9@( 9 09@( 09 9@( 9 9@( 9 9E@( 9E 9@( 9 8@( 8 8@( 8 8@( 8 8b@( 8b 8B@( 8B 8@( 8 7@( 7 7^@( 7^ 7>@( 7> 07>@( 07> 7^@( 7^ 7@(= _@( =_@( _@(] _@(M _@(M  _@(BB@( _@(_ _@(! !"@(!"!5@(!5!e@(!e!_@(!_!_@(!_"%@("%"U@("U"m"@("m""m @(#- #-_@(#- $e @(#-#@(#-_$e_@(&-%@(%% @(% %U @(%U % @(% $@($$g@($g$&@($&% @(% %=@(%=%@(%%@(%&c@(&c&-"@(&-"&-@(&-%@(%%_@(%_%U_@(%U_% @(% $@(l,Ll,I@(l,LlL@(lLm3K@(m3KmgK@(mgKmKS@(mKSmJ@(mJmJ6@(mJ6mI@(mImgI@(mgIm3I=@(m3I=lI@(lIl,I@(nLnI@(nLoI@(nTJo[J@(pLpI@(oLqOL@(rULqI@(rULs(I@(qJrJ@(tLtI@(tLuL@(uLuK@(uKvK@(vKv"Kw@(v"Kwv"K @(v"K vJ@(vJuJ@(uJuJ~@(uJ~tJ~@(w^Lw)K@(w)KvK@(vKvKS@(vKSvJ@(vJvJ6@(vJ6vI@(vIvI@(vIw)I=@(w)I=w^I@(w^IwI@(wIwI=@(wI=x0I@(x0IxJI@(xJIxeJ6@(xeJ6xeJ@(xeJxJKS@(xJKSx0K@(x0KwK@(wKwL@(wLw^L@(yLyI@(yLyI@(yL{`I@({`L{`I@(|L|I@({L}TL@(-K~K@(~K~L@(~L~@L@(~@L}K@(}K}K@(}K}KS@(}KS}K @(}K }J@(}J~&J@(~&J~J~@(~J~~JZ@(~JZJ6@(J6-I@(-I-I@(-I~I=@(~I=~I@(~I~@I@(~@I}I=@(}I=}I @&LJsF tЋ]UFPFPFPvv P6s~uF0FF9Vu9Ft 0P6fbvFVRPFVRP^ P6ym^ :Ft 0P6fb~tK^ u^:^ Gt@VH;FsV1V@@FF6VFFV;Fv +FH6VgV@@VX;VuO>uFD>t63XV>u F@@PmX;VuTVF]UP4vF~s~u<<-4F]UP4-4]U؎~ NFs]UP4-4]UP4-4]UP4FXX\-4]UP4FFF^^F^&;TvI^T&FP0F3ҋFvvFV^&3+FV| t F^&^&#t<^&PvFPF~uFFFFT+FH^&FT~uFFF-4F]UP4^S]F-4F]U P4^^FT;FvW~s@>TvA"sFvvFP#u!FFFFT+FH^&FTQF+XF~v@F~s ~vFF;Fv XFFH^&FXX\-4]UP4-4]U] < UF؋v F ~NNO] UPPMP(FPPP(F^ &F^&^&7^ &7P PFPJP(PPP^&7^ &7P SPPPKP(RPvLP(PPMP(]U]X>Ju[X&J.LNP&Z<U]XX[PS9<U]XX[PS-<U]XX[PS <U]XX[PS<U]RUZU]RUZU]RUt$U]RUt 3 Uu Uu Uu ZU]RWVQ7,= ;tU ;x7-:=+uY^_ZUQVNSv9^Y]U]\lT3Ɉ+Tl\sTl\u.t 0-Gt2˹*t0^_[ZYX]UPQRSWVЎ؋~vD-?r3ɺ@+;wILTl\SU]W؎ йt(Ћ# .uD_ D03˾ Њ3ɭ ȭ ȭ u t t _3˳ #t 9 7>=.?;7.:;=9 =3Ȋ+y@ٚS#u:=:57>=&7.57.j:7>=%u!u B7.:= B7>=7>=Qfs ^YVV _U~vJ(5U]]U]UWΉ3ɉỳ u (.`3ux6nx+P&ȋ. uŋr XȃrXP @3ؿ ]t 7=/3{=Au=_9=.m%_9WP3 X_ _9=3؋ u=s u=s>~ _9=]23 쫫 7-7.9=Qx8;:=û,0rf< wb2 wxc,0rB< ~,:}6[<.t,0r(< w$t ɀ2À u N23 <-t <+tN2 Forms.Lib [sys]CmApi.Lib '@obj.fls %'Run file 'QuickGraph.Run %'[Map file] '%2 %'[Publics?] ' %'[Line numbers?] ' %'[Stack size] ' %'[Max. array, data, code]'1 1 1 %'[Min. array, data, code]'1 1 1 %'[Run file mode] 'Protected %'[Version] ''2.3 %D|!*o!/!*d!/!yy! !*h!:!0m!!*a!|' %'[Libraries] '@Lib.Fls %'[DS allocation?] ' %'[Symbol file] '%3 %'[Copyright notice?] 'y LIBRARY: Forms.lib VERSION: s6.4.7 (Monday October 24, 1994, 10:52)LIBRARY: cmapi.lib VERSION: R5.0.1 (monday december 27, 1993, 12:21) LIBRARY: ctos.lib VERSION: R12.3.1 (friday november 12, 1993, 17:19) LIBRARY: ctostoolkit.lib VERSION: R12.3.1 (friday november 12, 1993, 17:21) LIBRARY: enls.lib VERSION: R12.3.1 (friday november 12, 1993, 17:22) LIBRARY: Pascal.lib VERSION: s7.0.10 (tuesday march 28, 1995, 14:01) THIS SOFTWARE IS FREEWARE. IT IS DISTRIBUTED AS IS. USE AT YOUR OWN RISK. PERMISSION IS GIVEN BY THE AUTHOR FREELY DISTRIBUTE THIS SOFTWARE. Charlie Brown 3/94 mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm QuickGraph00D,[Sys]QuickGraph.RunTo quickly prepare Pie, Bar and Line Graphs. 299265 | 07-92 Produces Formatted 3x5-1/2 HandBook 26 HEDIT211.ZIP | 41883 | 07-92 Simple & Easy Editor For ASCII Text Or HEX 26 HOME.ZIP | 22761 | 11-91 Home Usage Forms For Inform-Z Form Creator 26 INFORM42.ZIP | 264270 | 06-92 Inform-Z, Easy & Flexible Forms Generator 26 INTERNAT.ZIP | 11885 | 11-91 International Keyboard Files, WP 5.0-5.1 26 KDP32-1.ZIP | 419775 | 06-92 Display/Edit/Print Japanese Kanji Text [1/ 26 KDP32-2.ZIP | 490082 | 05-92 Display/Edit/Print Japanese Kanji Text [2/ 26 KWRITE4.ZIP | 178226 | 09-91 Executive Word Processor, Many Different U 26 LBOOK-1.ZIP | 337984 | 10-91 ASCII Electronic Book/Hypertext System (1/ 26 LBOOK-2.ZIP | 265080 | 10-91 ASCII Electronic Book/Hypertext System (2/ 26 LEGAL92.ZIP | 167997 | 01-92 Legal Forms & Templates, Good For Many Use 26 LOOKF50C.ZIP | 16797 | 10-90 Search Text Files For Any Text Strings 26 LTRHEAD1.ZIP | 178948 | 02-92 WordPerfect Letterhead Kit, Easy Macros 26 MAILEM.ZIP | 117499 | 06-92 Create Form Letters, Print Mailing Labels 26 MANUSCR.ZIP | 160953 | 08-92 Writers & Authors Database, Track Your Wor 26 MARG28.ZIP | 27380 | 08-92 Margarine, Adds Left, Top, Bottom Margins 26 MED2GO10.ZIP | 54995 | 06-91 Medline File Conversion Utility 26 MORFORM1.ZIP | 245661 | 10-91 Complete Form Processing/Design System (1/ 26 MORFORM2.ZIP | 245430 | 10-91 Complete Form Processing/Design System (2/ 26 OFFICE.ZIP | 60612 | 11-91 Office Forms For Inform-Z Forms Creator 26 PASSWP.ZIP | 30905 | 09-91 Break WordPerfect Document Passwords 26 PBREAK.ZIP | 47511 | 07-92 Text File Page Breaking/Formatting Utility 26 PCAPS2.ZIP | 112790 | 02-92 Scaleable Key Caps For WordPerfect 5.1 Use 26 PCF23.ZIP | 148636 | 03-92 Pc-Form, The Pick & Click Forms Generator 26 PCM411.ZIP | 268836 | 07-92 PostCardMaster, Postcard/Mailing System 26 PCTCO253.ZIP | 55428 | 06-92 Revamped TECO Text Editor, Powerful/Danger 26 PCWA40-1.ZIP | 312638 | 07-92 Pc-Write Word Processor - Advanced v4.0 [1 26 PCWA40-2.ZIP | 180862 | 06-92 Pc-Write Word Processor - Advanced v4.0 [2 26 PCWA40-3.ZIP | 154483 | 06-92 Pc-Write Word Processor - Advanced v4.0 [3 26 PCWA40-4.ZIP | 298041 | 07-92 Pc-Write Word Processor - Advanced v4.0 [4 26 PCWST2-1.ZIP | 283946 | 03-92 Pc-Write Standard Level Word Processor [1/ 26 PCWST2-2.ZIP | 179191 | 03-92 Pc-Write Standard Level Word Processor [2/ 26 PCWST2-3.ZIP | 138585 | 03-92 Pc-Write Standard Level Word Processor [3/ 26 PCWST2-4.Z CrashDump.sys FdSys.Version= Install.Ctrl> Install.Jcl?Fileheaders.sysMfd.sys SysImage.sys Install.Sub<BootRecord.sysLog.sys BadBlk.sys Install.CmdsF @ QuickGraph@ ZwbzB @ H zH> 7@9|P^Sys8 SourceBDocHQGN9|qFileheaders.sysSys: [w[w[wH 9BootRecord.sysSys< \w\w\w Mfd.sysSys: ]w]wwzB 8Log.sysSys< ^w^w^w@ u SysImage.sysSys: w?w?w BadBlk.sysSys< wwwT CrashDump.sysSys8 www@ GLQuickGraph.RunQGurceNsx]bznz  <^*v QGRef.DocQGickGraph PwgbzgbzdMPqgCEB legaleseSource Bwhbzhbz| Forms.EdfSource BwjbzjbzM Form.FlsSource Bwlbzlbzi[ BarMod.PasSource Bwobzobzxz MiscMod.EdfSourceBwvbzvbzppXBs.EdfSourceDwwbzwbzmrRm QGForms.LibSourceDwybzybz<x<PObj.FlsSourceDwzbzzbzB  PieMod.PasSourceDw~bz~bzYZEAlphaLineMod.PasSourceDwbzbznyVid.EdfSourceDwbzbz{Misc.EdfSourceDwbzbzv<QuickGraph.PasSourceDwbzbz+? LineMod.PasSourceFwbzbz546Main.EdfSourceFwbzbz= j Bind.SubSourceFwbzbz%vLink.SubSourceFwbzbzoz9{qFileheaders.sysSys: [w[w[wH 9BootRecord.sysSys< \w\w\w Mfd.sysSys: ]w]wwzB 8Log.sysSys< ^w^w^w@ u SysImage.sysSys: w?w?w BadBlk.sysSys< wwwT CrashDump.sysSys8 www@ GLQuickGraph.RunQGurceNsx]bznz  <^*v QGRef.DocQGickGraph PwgbzgbzdMPqgCEB legaleseSource Bwhbzhbz| Forms.EdfSource BwjbzjbzM Form.FlsSource Bwlbzlbzi[ BarMod.PasSource Bwobzobzxz MiscMod.EdfSourceBwvbzvbzppXBs.EdfSourceDwwbzwbzmrRm QGForms.LibSourceDwybzybz<x<PObj.FlsSourceDwzbzzbzB  PieMod.PasSourceDw~bz~bzYZEAlphaLineMod.PasSourceDwbzbznyVid.EdfSourceDwbzbz{Misc.EdfSourceDwbzbzv<QuickGraph.PasSourceDwbzbz+? LineMod.PasSourceFwbzbz546Main.EdfSourceFwbzbz= j Bind.SubSourceFwbzbz%vLink.SubSourceFwbzbzoz6 Param.edfSource6Fwbzbz|o7Task.EdfSource7Fwbzbz`~v8 Compile.subSource8Fwbzbz9 QGRefDD.DocDoc9HMwbzvzhhMPHk;kgCEB : QGRef.DocDoc:JLwbzwzTMPqgCEBW;Lib.FlsSource;Dxbzbz3 O|< Install.SubSys<: wbzbz:= FdSys.VersionSys=8 wbzbz>> Install.CtrlSys>8 wbzbz@N? Install.JclSys?8 wbzbzB @MonthlyExpenses.picDoc@Jwbzbz!F"aASalesByRegion.picDocAJ?wbzbzBhtgBSalesByQuarter.picDocBJ=wbzbz*,C Cover.picDocCJBwbzbz)DQGRefMonoSp.DocDocDJ@wbzwzxxMP`nzyn> Install.CtrlSys>8 wbzbz@N? Install.JclSys?8 wbzbzB @MonthlyExpenses.picDoc@Jwbzbz!F"aASalesByRegion.picDocAJ?wbzbzBhtgBSalesByQuarter.picDocBJ=wbzbz*,C Cover.picDocCJBwbzbz)DQGRefMonoSp.DocDocDJ@wbzwzxxMP`nzyn. The program QuickGraph.Run will be copied to [Sys] and the command "QuickGraph" will be created. NOTE: The program QuickGraph.Run must be in [Sys] to function correctly. STARTING THE QUICK GRAPH PROGRAM To use Quick Graph, type Quick Graph on the Command line and press the Go key. You may now CREATE or EDIT graph data. To CREATE, press F1; you will be prompted for the type of graph and then the graph TITLE. SAVING YOUR QUICK GRAPH FILE When active and the F1 (Graph) function key is pressed, the data file is automatically saved before the graph is generated. After the TITLE has been entered for a graph, pressing CODE-S will save the data that has been entered into the Quick Graph form without generating a graph. When saving a data file, if a data file already exists with the same name as the one currently being saved, Quick Graph will ask for confirmation to overwrite the existing data file. If it is not desired to overwrite the existing data file press the CANCEL key and a new data file name may be entered. The data and picture file will assume this new name, the Graph title will not be changed to this new name. EXITING QUICK GRAPH When the FINISH key is pressed, a message is displayed asking for confirmation to exit the Quick Graph program. Press the GO key to exit Quick Graph and return to the Command line. Press CANCEL to remain in the Quick Graph program. Helpful Hints 1. Type Q G on the Command line and press GO to use the Quick Graph software. 2. Use the UP-ARROW/DOWN-ARROW keys to go up and down, PREVIOUS or NEXT function keys to view entered data. 3. Enter names or data by column (e.g. all the names first then the values). Use the RETURN or NEXT key after data has been entered. 4. Use the picture examples on pages 4, 6, 8 and 10 for the type of graph desired as your guide. 5. Press F1 (Graph) to draw your picture after all necessary data has been entered. CREATE AND EDIT COMMANDS Entering Quick Graph on the Command line and pressing the GO key will display the function keys shown below. The Create and Edit function keys are the first level of function keys. They will be the first function keys that appear on the screen. F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 Create Edit CREATE, F1 Begins the operation of creating a Pie, Bar or Line Graph. EDIT, F2 Edits an existing Graph. Pressing Edit, F2 key, will display the screen shown below. Enter the name of the data file to edit and press the GO key. Quick Graph automatically saves the data entered, to generate graphs, in a data file that has the same name as the TITLE of the graph. Enter the name of a Quick Graph data file and Press GO F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 Return RETURN, F10 Returns to the CREATE or EDIT selections. Pie Chart Title of PIE chart = Sales By Region The number of slices = 4 Name of Slice Value of Slice Southern 30.00 Northern 37.00 Eastern 25.00 Western 21.00 Format = [sys]Pie.Fm F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 Graph ChgFmt Names Values Return Quick Graph Screen for a Pie Chart PIE CHART COMMANDS F1 Create F1 Pie F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 Graph ChgFmt Names Values Return PIE, F1 GRAPH, F1 Produces a graph from the Pie data (entered in the Pie Chart Screen) by using OFIS Graphics or the Picture Editor. OFIS Graphics software is not part of Quick Graph. For information on the operation of OFIS Graphics refer to the appropriate reference manual. CHGFMT, F3 Allows a user to specify/change the format of a Graph. NAMES, F4 Moves the cursor to the Name of Slice column on the Pie Chart Screen. VALUES, F5 Moves the cursor to the Value of Slice column on the Pie Chart Screen. RETURN, F10 Returns a user to the previous screen, Create/Edit, without saving your entered data. UP/DOWN ARROW, NEXT, RETURN Use these keys, after data has been entered, to position the cursor in the next field. Notes: 1) A Pie chart can have a maximum of sixteen slices. 2) If the sum of the slice values does not equal 100 then the slice values will be automatically converted to percents. 3) Negative slice values cannot be used. Bar Graph Title for the Bar Graph = Sales By Quarter X (Horizontal) Axis name = Region Y (Vertical) Axis name = Dollars Number of Groups with Bars = 5 Number of BARS per Group = 4 Format = [sys]Bar.Fm Name of Bar Name of Bar Group Value of BAR in Group 1st Qtr. Northern 12.00 2nd Qtr. Southern 25.00 3rd Qtr. Eastern 30.00 4th Qtr. Western 33.00 Central F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 Graph ChgFmt Bars GroupsValues Return Quick Graph Screen for a Bar Graph BAR GRAPH COMMANDS F1 Create F1 Bar F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 Graph ChgFmt Bars GroupsValues Prev Next Return BAR, F2 GRAPH, F1 Produces a graph from the Bar data (entered in the Bar Graph Screen) by using OFIS Graphics or the Picture Editor. OFIS Graphics software is not part of Quick Graph. For information on the operation of OFIS Graphics refer to the appropriate reference manual. CHGFMT, F3 Allows a user to specify/change the format of a Graph. BARS, F4 Moves the cursor to the Name of Bar column on the Bar Graph Screen. GROUPS, F5 Moves the cursor to the Name of Bar Group column on the Bar Graph Screen. VALUES, F6 Moves the cursor to the Value of Bar column on the Bar Graph Screen. PREV, F8 Only active when the cursor is in the VALUES column. Displays the VALUES for the PREVIOUS Bar Group. NEXT, F9 Only active when the cursor is in the VALUES column. Displays the VALUES for the NEXT Bar Group. RETURN, F10 Returns a user to the previous screen, Create/Edit, without saving your entered data. UP/DOWN ARROW, NEXT, RETURN Use these keys, after data has been entered, to position the cursor in the next field. Notes: 1) A Bar chart can contain a maximum of twelve Bar Groups. 2) The maximum number of Bars per Group is five. 3) Negative Bar values can be used. Line Graph - AlphaNumeric Title of the LINE Graph = Monthly Expenses X (Horizontal) Axis label = Month Y (Vertical) Axis label = Dollars The number of Comparative LINES for graph = 3 The number of Data Points per Line = 4 Name of Line X Label Y Value Electric Sept 100.00 Phone Oct 80.00 Salary Nov 120.00 Dec 115.00 Format = [sys]Line.Fm F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 Graph ChgFmt Names XLabelYValue Return Quick Graph Screen for a Line Graph-AlphaNumeric LINE-A, ALPHANUMERIC GRAPH COMMANDS F1 Create F1 Line-A F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 Graph ChgFmt Names XLabelYLabel Prev Next Return The difference between a Line-A and Line-N graph is that a Line-A graph allows the use of alphanumeric characters to label the X Axis. (i.e., Oct, Nov, Dec). A Line-N graph only allows the use of numeric values for the X Axis. (i.e., 10, 20, 30) LINE-A, F3 GRAPH, F1 Produces a graph from the Line-A data (entered in the Line-A Graph Screen) by using OFIS Graphics or the Picture Editor. CHGFMT, F3 Allows a user to specify/change the format of a Graph. NAMES, F4 Moves the cursor to the Name of Line column on the Line- Graph-Alphanumeric Screen. XLABEL, F5 Moves the cursor to the X Label column on the Line Graph-Alphanumeric Screen. YVALUE, F6 Moves the cursor to the Y Label column on the Line Graph-Alphanumeric Screen. PREV, F8 Only active when the cursor is in the Y VALUE column. Displays the VALUES of the PREVIOUS Line. NEXT, F9 Only active when the cursor is in the Y VALUE column. Displays the VALUES of the NEXT Line. RETURN, F10 Returns a user to the previous screen, Create/Edit, without saving your entered data. UP/DOWN ARROW, NEXT, RETURN Use these keys, after data has been entered, to position the cursor in the next field. Notes: 1) A Line graph can contain a maximum of 5 lines. 2) Negative Y Values can be entered. 3) This version of Quick Graph allows a maximum of twelve data points for a line. Line Graph - Numeric Title of the LINE Graph = Profit by Unit X (Horizontal) Axis label = Unit # Y (Vertical) Axis label = Profit The number of Comparative LINES for graph = 5 Name of Line # of Data Points for Line X Value Y Value Western 4 30.00 150.00 Eastern 4 40.00 350.00 Southern 4 50.00 225.00 Northern 4 60.00 400.00 Central 5 Format = [sys]Line.Fm F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 Graph InFileChgFmt Names DatPtsxValueyValue Return Quick Graph Screen for a Line Graph-Numeric LINE-N, NUMERIC GRAPH F1 Create F1 Line-N F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 Graph InFileChgFmt Names DatPtsxValueyValue Prev Next Return LINE-N, F4 GRAPH, F1 Produces a graph from the Line-N data (entered in the Line-N Graph Screen) by using OFIS Graphics or the Picture Editor. OFIS Graphics software is not part of Quick Graph. For information on the operation of OFIS Graphics refer to the appropriate reference manual. CHGFMT, F3 Allows a user to specify/change the format of a Graph. INFILE, F2 When the cursor is in the X Values or Y Values column, allows data points to be read in from the specified file. NAMES, F4 Moves the cursor to the Name of Line column on the Line Graph-Numeric Screen. DATPTS, F5 Moves the cursor to the "# of Data Points for Line" column on the Line Graph-Numeric Screen. XVALUE, F6 Moves the cursor to the X Value column on the Line Graph-Numeric Screen. YVALUE, F6 Moves the cursor to the Y Value column on the Line Graph-Numeric Screen. PREV, F8 Only active when the cursor is in the X VALUE or Y VALUE column. Displays the VALUES of the PREVIOUS Line. NEXT, F9 Only active when the cursor is in the X VALUE or Y VALUE column. Displays the VALUES of the NEXT Line. RETURN, F10 Returns a user to the previous screen, Create/Edit, without saving your entered data. SCROLL UP/DOWN Allows access to all X and Y values by scrolling the values up or down when graph contains more than 12 data points. Available only when entering X and Y data values. UP/DOWN ARROW, Use these keys, after data has been entered, to position the cursor in the next field. Cursor moves up or down the data columns of the X and Y points displayed on the screen. NEXT, RETURN Use these keys to position the cursor in the next field. All data values are scrolled when the cursor is at the last data value on the screen and the cursor stays at the last data value on the screen. If the cursor is at the last data value on the screen and is at the last data value for the line, the cursor is moved to the Y value column when in the X value column and to the Title of the LINE Graph entry when in the Y value column. READING VALUES FOR DATA POINTS FROM A FILE To read in data points from a data file when the cursor is in the X Values or Y Values column, press the F2 (InFile) function key. After pressing the F2 function key enter the data file name. Specify the Volume and Directory if the data file is not located in the current path. Press the Return key. If the data file does not exist, you will not be able to proceed. Enter another data file name or press the Cancel key. Next the data file format must be entered. The data can be either real numbers or integers. The number of spaces before the data, the length of the data, and the number of trailing spaces must be entered. When counting trailing spaces, do not forget to count the end of line character(s) as a space. Below are three examples for entering the data file format. Quick Graph version 2 can handle input of up to 9999 X and Y data points per line. The actual number of data points will depend on how much memory is available in your B20. Data values can be read from an ASCII data file. The file must have a fixed format. The data read in is associated with the X point or Y point data values. If the cursor is in the X point data values column, the file data will be assigned to the X values. The same is true for the Y point data values. The data file is read until the number of data values read is equal to the number of points in the line or until the end of the data file, which ever comes first. All data read in is first value relative, the first value read is associated with the first point. Example 1 1 2 3 4 1234567890123456789012345678901234567890 (ruler) 5.3 10.4 34.1 2.4 = carriage return 23.4 2.4 2.5 23.5 = carriage return If the X values were to be the second column of numbers, the format would be: Leading Spaces 12 Data Length 4 Trailing Spaces 17 This example would assign the value 10.4 to the first X value point and 2.4 to the second X value point. Example 2 If the Y values were to be the first row of numbers and the number of points for the line was 4, the format would be: Leading Spaces 4 Data Length 4 Trailing Spaces 0 This example would assign the value 5.3 to the first Y value point, 10.4 to the second value point, 34.1 to the third value point, and 2.4 to the fourth value point. 1 2 3 4 1234567890123456789012345678901234567890 (ruler) 5.3 10.4 34.1 2.4 = carriage return and line feed 23.4 2.4 2.5 23.5 = carriage return and line feed Example 3 If the X values were to be the third column of numbers, the format would be: Leading Spaces 20 Data Length 4 Trailing Spaces 10 This example would assign the value 34.1 to the first X value point and 2.5 to the second X value point. After the number of trailing spaces is entered, the data file is read with the specified format. The data values are displayed in the appropriate column. Notes: 1) A Line graph can contain a maximum of 5 lines. 2) Negative X and Y values are allowed. QUICK GRAPH FILE STRUCTURES Quick Graph will collect the data necessary to create a graph and OFISGraphics will DRAW, MODIFY and PRINT the graph. Therefore, there will be two different types of files generated with every graph that is created: one file by Quick Graph and one file by the graphics software. QUICK GRAPH FILES The data entered into the Quick Graph Screen is saved in a file that has a ".dat" suffix, representing a data file. The actual file name is taken from the TITLE entered on the first line of any of the graphs created. A Title must be entered whenever a graph is created. For example, if the TITLE of a graph is Monthly Expenses, Quick Graph stores the data in a file named MONTHLYEXPENSES.dat - spaces are automatically removed. To EDIT (Function key F2) the data in a Quick Graph data file; type the name MONTHLY EXPENSES in the form that appears. It is not necessary to add the .dat suffix. To copy the file, Monthlyexpenses.dat, it would be necessary to type MONTHLYEXPENSES.dat on the File from line of the Copy command of the B25 Executive. GRAPHICS FILES After all the data for a particular graph has been entered in Quick Graph and F1, (the Graph key) has been pressed, the graph will appear on the screen. The graph was generated by the OFIS Graphics Package or BGP. OFIS Graphics saves the picture image of the GRAPH with a ".pic" suffix, representing a picture file. OFIS Graphics will use the SAME FILE NAME as Quick Graph, unless the SAVE function is used to save the picture under a specified (different) file name. For example, if the FINISH key is pressed in OFIS Graphics, the file name MonthlyExpenses will appear in the form at the bottom of your screen and be automatically saved under the name MonthlyExpense.pic after the GO key has been pressed. To retrieve this file directly into OFIS Graphics without first using Quick Graph, use the OFIS Graphics command. Type MonthlyExpenses for the Picture file. FORMAT FILES A format file is a OFIS Graphics file that specifies the format of a Pie Chart, Bar or Line Graph. The FORMAT is the pattern, size, location on the screen, dimensions and colors of a graph (Picture File). Like Picture and Data Files, there is a suffix at the end of the format file. The suffix for format files is ".Fm". In Quick Graph, the default format file is displayed in the lower left corner of your screen for Pie Charts and Line Graphs. For the Bar Graph Screen, it will appear on the top right half of your screen. Quick Graph selects the default format file to use by checking what type of monitor is attached to your workstation. Some of the default format files are: COLOR MONITOR FORMAT FILE MONOCHROME MONITOR FORMAT FILE [sys]ColorPie.Fm [sys]Pie.Fm [sys]ColorBar.Fm [sys]Bar.Fm [sys]Colorstacked.Fm [sys]Stacked.Fm [sys]ColorLine.Fm [sys]Line.Fm For each type of graph created, a different format file name will appear on your screen. NOTE: Line-A and Line-N Graphs use the same format file. The only time it is necessary to change the default format file is if the workstation has a color monitor and you wish to print a Graph on a non-color printer. For example, when a Pie Chart appears on a color monitor, it looks very professional with each pie slice being a different color. However, if the graph is printed on a non-color printer using the default color format file, all slices of the pie would be black and indistinguishable. Using the Monochrome Format File will change the colored pie slices to patterns which can be easily recognized when printed. The same is true for Bar and Line Graphs.2  y `'`'`'`'@z  # Quick Graph 2.0 # HL*@#t -+\&@!@!@. rP*~B$???1) xP*`I2%p00( Quick Graph 2.0 # @ T GH  GH@ @   GH@ T@ ,0GH>?n $&(*,0@ @ 6Nl@ 6NlGH$&(*,0?GH تmopŃԅ؜ OPmno@ p GH GH@ @ 6NlGHGH@ 6NlGH.cԄYvwx./B0/abc݅Yvw.BC08@ TGH@ Nl  GHGH@ 6NlGH$&(*,0GH xy{|~ӄ^R GH GH GHGH@  P @ TGH@ TGH ̮̝̉0Ӆ„@ TGH@ 6NlGH@ $&(*,0@  P GH GH 68BҦx-.1>g7~ۤۥۦ./0hgGH GH @ YZ[\``bcGH@ P GH@ TGH &Q" GH GH GH@ 6YZ[\bGH @ T GH$&(*,0GH )+>BmnĀ*+>?@B)o GH @ @ $&(*,0@ GHGH@ 6bGH 78@PҁxL8AQ8ߪL@  p T GHGH@  p @  `   GHGH@ TGH ƤƧzϤ£@ b@ @  GH$&(*,0@  TGH 7\789]\@ TGH GH GH GH@# YZ[\``a`bcGH ČߓU+@  p @ @ GH @   GH@ GH$&(*,0GH Ő ~"x9Х }~ @  GH$&(*,0@ `' F GH@  p GHGH ZҔGH@ GH GH GH GH GH@ 'YZ[\bGH %(ޝŕޖޢ&'(fڜ  GH@ @ @ GH GH@ GH$&(*, 0GH ĵл 9:<˅'ˁF˭ &˅˾9:;<8 @ @  GH$&(*, 0@ @ GH GH@  GH ۑ*XYopr*+,YopqrX @ $&(*, 0GH@ GH GH GH GH@ YZ[\bGH su >stހWn9 GHGH@    GH@ @ GH@ @ GH  >?jh ߺz?@j@@.@h > GH"$&(*, 0  GH@  @  @  $& (* , 0GH ˠ  02ޜŧ78GH[]˲Ž&(78KNQR޳ Dڜ@\<ڳ MQ@(GH@"$& (* ,0@dGH@8Xx@ $LuGH @ GH9KĶݺ04 =Lĵw V 789KL;<=LM؋،شص N O u v V V@ @ $& (* ,0GHGH GH@ GH$&(*,0GH\`ăׇ345789:;͔͕@48;37:M,GH@ T,@!,H, GHGH@ @ GH TUՅ  T؅ , ,,,H,GH@ GH $  */=>@@@@@@Courier Courier Courier Times Times! Helvetica! Helvetica TimesPrestigexwxxx<xmT<PbxxPPPx<P<CxxxxxxxxxxCCkP]PCPqxPkxkxkPxxCCxCxxxxP]Cxxxxks0sxPP<xmx<<<OPOOOOOOOOOOOOOkkxxxkkkkxxPPkkk+kPPxxwxxx<xT<PxxPPPx<P<CxxxxxxxxxxPPx]xPCPxPxkkPxCPCxk]Pxxxk_5_}xPP<xx<<<OPOOOOOOOOOOOOOxxxxkkkkxPPxxxCxPPxwCTCPrCPP]CPCCPPCPCPCPCCC]Px]C]xPPCCCCWPWWWWWWWWWWWWWPPxx9xPPwCTCCU5PP]CPCCCCCxCCCq5xC55x5PxCxxxxP>PxPPCCCCWPWWWWWWWWWWWWWxPPPP.PPPydcyyddd2nydnn[Fqnnn2CRddCCCdq2C28dddddddddd88qqqYzoCNzoozzC8C^dCYdYdYCdd88d8ddddCN8ddddY`(`ldCC2d[d222BCBBBBBBBBBBBBBYYdddYYYYddCCYYY$YCCdGL?308$'OBJECT0rr%%??// DL==rrkV ComplexRomanDT4DT4EnhGRAPH=|VVv@ ComplexRomanDT4DT4EnhQUICKGL??H@@P xxH@@PH@@PH@@xPH@@`P@ H@@ @P@ H@@ @P H@@P$H@@P HHH@@@PHHH@@@P$H@@ P$H@@ P H@@PH@@P @H@@PP @H@@PP  @H@@PP @H@@PP@$ @H@@PP0$ @H@@PPH @H@@PP @H@@PP  @H@@P@ H@@PPH@@PPH@@P $H@@P$>H@@ PHHH@@@P(H`H @@PPP ( @P$@P  @P@@  @@ @P @ P@xP @Pxxx`@P@P(` `  @ @ @ @  ~ Hx  <0@H  @H   $ H   (H  HH  PH(  HH(  $ H(  $ H(  H(  PH(   H$H(   ((H$  (H   HH  PH   H  @H `@Hx  @    @H    @H  H  H   (H   0H  P H  ` H  $H  (H  H@$H  P@$H  @(H  @HH  HH   @ @H  <0@H    H  ?GL) *WriteVDM"?h  b n Picture 00B0$0b00 S_2XXXPPB@(/*@(*5M@(5M/@(/K3@(K3 5M@( 5M 5M@( 5M3@(3/@(/,k@(,ku'@(u'u4@(u4@(R@(R@( @(  @( K@(KR@( 5M 93@( 93/@(/,k@(,k'@('4@(4@(R@(R 9@( 9 @(4@(4@($474@( I5M I@(!p5M!p@(5M*5M@(*5M. 3@(. 3/G1@(/G10n.2@(0n.20n*@(0n*/G'@(/G'. %O@(. %O*#@(*#!p#@(*5M,3@(,3. 1@(. 1/G.2@(/G.2/G*@(/G*. '@(. ',%O@(,%O*#@($@('4#)!@()!*@(*. @(. /G@(/G0n@(0n1@()!*4@(*4,@(,. @(. 0n@(0n1@(11R@(?k5M7Y@(?k5MG}@(?k/FV@(9D@(5 ;@(BI@(P5MP@(Q5MQ@(MB5M[5M@([5M^3@(^3_1@(_1`.2@(`.2`(@(`(_%O@(_%O^#@(^#[!@([!Q!@([5M]g3@(]g3^1@(^1_.2@(_.2_(@(_(^%O@(^%O]g#@(]g#[!@(MBUT@(j5Mj@(k=5Mk=@(y5My@(z:5Mz:@(f5Mn5M@(u5M}5M@(k=#y#@(fn@(u}@(uU is@( is p@( pls@(lseX@(eX`@(`X@(X UZ@( UZ iQ@( iQP@(P,P@(,PQ@(QUZ@(UZX@(X?`@(?`?eX@(?eXls@(lsp@(ps@(s,uU@(,uUuU@(uU s@( s Ap@( Ap ls@( lseX@(eX`@(` X@( X AUZ@( AUZ Q@( QP@(,P{Q@({QUZ@(UZX@(X`@(`eX@(eXls@(lsp@(p{s@({s,uU@( iS iUZ@( iUZ X@( XZ@(ZZ@(ZTX@(TX{UZ@({UZH@(HG#@(G#G#@(G#?J@(?J?Lx@(UZN?@(N?J@(JH@(HH@(H?J@(#xuU#xZ@(#xZ$UZ@($UZ&Q@(&Q*cP@(*cP,P@(,P0'Q@(0'Q2vUZ@(2vUZ3Z@(3Z3uU@($uU$Z@($Z%UZ@(%UZ(Q@((Q*cP@( uU(uU@(0'uU7uU@(?%uU?%P@(@LuU@LP@(;uUCuU@(;PCP@(YpZj@(ZjZuU@(ZuUYp@(YpW\s@(W\sSuU@(SuUQuU@(QuUN#s@(N#sKp@(KpJls@(JlsIg@(IgI^=@(I^=JX@(JXKUZ@(KUZN#Q@(N#QQP@(QPSP@(SPW\Q@(W\QYUZ@(YUZZX@(QuUOJs@(OJsLp@(LpKls@(KlsJg@(JgJ^=@(J^=KX@(KXLUZ@(LUZOJQ@(OJQQP@(d uUd P@(e2uUe2P@(t0uUe2^=@(jeXt0P@(ieXs P@(`uUhuU@(ouUv~uU@(`PhP@(oPv~P @y .N~U~}F 49FvFFbËFd‹&ӌ]Ubãd]UF;dv=6b4+bӍ8bd@d‹&ӌ뺋6bN+bӍ8Fb]UFb]U6bӍ8vNFYFb]UQ|&G N;v6&G V;v)PQR2FP6abF.ՊF|&G+F%PPP2FP6ab.DH)]`˾b6F%y % h`F  FY GL:: 03?<P ObjTest:II[ PP??<=<;: :V99W䠕WڠUFTR@QbOsM8LXJ+IG"CFBDPCN=e<;:C :΍V9H9WQE B HȋA"V}{Pzx/wu&tr>qo|n-mkjirhigofeW9}877 766~6r6{6667s77k899t:G;-<$=,>D?l@AB9DQEWH9ȋ}8A77" 766V~6r6{6}6{6Pz7xs7/w7uk8&t9r9>qt:oG;|n-<-m$=k,>jD?il@rhAigBof9DeQEWVw7!v3 $eddXcb#baPie.Fmsalesbyregion.DatSales By RegionSouthernNorthernEasternWesternSouthernNorthernEasternWestern @dAȀ@hBBQ~WGB(qB SimplexRomanPA? Sales By RegionPA!F%B SimplexRomanPX&@? Southern 26.5%P;AB B!!Ca  #"A@B" :9 $>B"!E $"@!B" } fbaA C" E >B! b9@@<$?$H  T($DX($D-',rDo@y 'p@@@@L 8CP@0  H@@@@@( @ p     @ s y} %  % A@@@@=" 0 (~D<BA @`@@@@@@@ `0H0EDDDD #""""bAQHLAIDDDD#"*""""#{1ڎxQ<0(ۂ)QtDDDc&y#""b""" AAAA @LAAAAEDD@#""""#"" 0 H DD$,""""*" 8g PAAAA  D=0 q< AAAAaD #""""b@$"Dr T@|q``<"">O` < @q8('aA(@,ǜ GLR *WriteVDM"?h  b n Picture 00B0$0b00 S_2SRR@hCFUFUEUDDUBUAUd@NU#?T=T<~T!;ES:S?8R7R56Q5Q4Pa3O2N1NC1M0\L/K/K.rJ.APPB@(CFUF@(UFUE@(UEUDD@(UDDUB@(UBUA@(UAUd@N@(Ud@NU#?@(U#?T=@(T=T<~@(T<~T!;E@(T!;ES:@(S:S?8@(S?8R7@(R7R56@(R56Q5@(Q5Q4@(Q4Pa3@(Pa3O2@(O2N1@(N1NC1@(NC1M0\@(M0\L/@(L/K/@(K/K.r@(K.rJ.A@(J.ACF@(R8&T6:SRR@xCFJ.AI-I -TH),GC,F\,kEr,?D,$C,B,"A,;@,d?,? ,>*-G=J-*-G@(>*-G=J-@(=J-@-==)SRR@CF408&39J3@:v2;2z<2'>&1?n1@1sB 1MC]14D1&F 1$Ga1.H1CJ1dKc1L1N2 OK2[P2Q3S3T24UY4Vv5W5X6HY6Z7[f8W\>9]9]:^r:^@(CF408&@(408&39J@(39J3@:v@(3@:v2;@(2;2z<@(2z<2'>&@(2'>&1?n@(1?n1@@(1@1sB @(1sB 1MC]@(1MC]14D@(14D1&F @(1&F 1$Ga@(1$Ga1.H@(1.H1CJ@(1CJ1dKc@(1dKc1L@(1L1N@(1N2 OK@(2 OK2[P@(2[P2Q@(2Q3S@(3S3T2@(3T24UY@(4UY4Vv@(4Vv5W@(5W5X@(5X6HY@(6HY6Z@(6Z7[f@(7[f8W\>@(8W\>9]@(9]9]@(9]:^r@(:^r:^@(:^CF@(1M/dNuSRR@CF:^;_F<_=x`I>Y`?PGZWPYcQXdR WYRVDS-U%SSTRTuQTPVUOU[MULyUK'UIUH|UG$UF@(CF:^@(:^;_F@(;_F<_@(<_=x`I@(=x`I>Y`@(>Y`?@(O[>PGZW@(PGZWPYc@(PYcQXd@(QXdR WY@(R WYRVD@(RVDS-U%@(S-U%SS@(SSTR@(TRTuQ@(TuQTPV@(TPVUO@(UOU[M@(U[MULy@(ULyUK'@(UK'UI@(UIUH|@(UH|UG$@(UG$UF@(UFCF@(M ]NI`@(&g|`%}.@(%}.%}@(%}#}@(#}#}.@(#}."|`@("|`"{@("{"z@("z#z^@(#z^#y@(#y%My)@(%My)%x@(%x&!x[@(&!x[&gw@(&gw&gvY@(&gvY%u@(%u%u$@(%u$#u$@(#u$#u@(#u"vY@(+]z+]u$@(+]y*z^@(*z^*Cz@(*Cz)oz@()oz(z^@((z^(Uy@((Uy(x[@((x[(w@((w(UvY@((UvY(u@((u)ou$@()ou$*Cu$@(*Cu$*u@(*u+]vY@(-}-u$@(/x[2x[@(2x[2y)@(2y)2y@(2y2Bz^@(2Bz^1z@(1z0z@(0z0Tz^@(0Tz^/y@(/y/x[@(/x[/w@(/w/vY@(/vY0Tu@(0Tu0u$@(0u$1u$@(1u$2Bu@(2Bu2vY@(7y79z^@(79z^6ez@(6ez5z@(5z4z^@(4z^4xy@(4xy4x@(4x5Kx[@(5Kx[6w@(6w79w@(79w7v@(7v7vY@(7vY79u@(79u6eu$@(6eu$5u$@(5u$4u@(4u4xvY@(<0}<0u$@(<0}>}@(>}?~}.@(?~}.?|@(?|@ {@(@ {@ {,@(@ {,?z^@(?z^?~y@(?~y>y@(<0y>y@(>y?~y)@(?~y)?x@(?x@ w@(@ w@ v@(@ v?u@(?u?~u@(?~u>u$@(>u$<0u$@(AmzCu$@(DzCu$@(Cu$Bs@(BsAr@(ArAmrT@(AmrTA&rT@(I%}I%u$@(I%}K}@(K}Lt}.@(Lt}.L|@(L|M{@(M{M{,@(M{,Lz^@(Lz^Lty@(LtyKy@(KyI%y@(KyMu$@(Nx[Qx[@(Qx[Qy)@(Qy)Qy@(QyQjz^@(Qjz^Pz@(PzP z@(P zO|z^@(O|z^Ny@(NyNx[@(Nx[Nw@(NwNvY@(NvYO|u@(O|uP u$@(P u$Pu$@(Pu$Qju@(QjuQvY@(VzVtW@(VtWVs"@(Vs"Var@(VarUrT@(UrTUrT@(UrTTsr@(VyVaz^@(Vaz^Uz@(UzUz@(UzTsz^@(Tsz^Sy@(SySx[@(Sx[Sw@(SwSvY@(SvYTsu@(TsuUu$@(Uu$Uu$@(Uu$Vau@(VauVvY@(X}Y#}.@(Y#}.Yj}@(Yj}Y#}@(Y#}X}@(Y#zY#u$@(\rz[z^@([z^[Xy@([Xy[x[@([x[[w@([w[XvY@([XvY[u@([u\ru$@(\ru$]Eu$@(]Eu$]u@(]u^`vY@(^`vY^w@(^w^x[@(^x[^`y@(^`y]z^@(]z^]Ez@(]Ez\rz@(`z`u$@(`y)ahz^@(ahz^az@(azbz@(bzcVz^@(cVz^cy)@(cy)cu$@(U94V0 @(V4V0 @(V4W0 @(X^4W0 @(Y&1[ 1@([ 1[ 2U@([ 2UZ2@(Z2Z3@(Z3Zh3?@(Zh3?Y3?@(Y3?Y3@(Y3YO2@(YO2Y&1@(Y&1Y&1j@(Y&1jYO0@(YO0Y0E@(Y0EY0 @(Y0 Zh0 @(Zh0 Z0E@(Z0E[ 0@(]2]3@(]3]3?@(]3?\3?@(\3?\"3@(\"3[2@([2\"2@(\"2\s1@(\s1]<1@(]<1]1j@(]1j]0@(]0]0@(]0]0E@(]0E]0 @(]0 \0 @(\0 \"0E@(\"0E[0@(^4^0@(^0_0E@(_0E_n0 @(_n0 _0 @(^~3?_3?@(`1bj1@(bj1bj2U@(bj2UbB2@(bB2b3@(b3a3?@(a3?aQ3?@(aQ3?a3@(a3`2@(`2`1@(`1`1j@(`1j`0@(`0a0E@(a0EaQ0 @(aQ0 a0 @(a0 b0E@(b0Ebj0@(c3?c0 @(c1c2@(c2c3@(c3dL3?@(dL3?d3?@(e3?e0 @(e2Uf3@(f3fW3?@(fW3?f3?@(f3?g 3@(g 3gI2U@(gI2UgI0 @(jm3j4*@(j4*k64@(k64k60 @(m4mi4@(mi4mA4*@(mA4*mA3@(mA3mi3?@(mi3?m3@(m3nZ2@(nZ2n2@(n2o#2@(o#2oK1@(oK1oK0@(oK0o#0@(o#0n0E@(n0En0 @(n0 m0 @(m0 mi0E@(mi0EmA0@(mA0m0@(m0m1@(m1mA2@(mA2m2@(m2n 2@(n 2n3@(n3n3?@(n3?o#3@(o#3o#4*@(o#4*n4@(n4n4@(n4m4@(p0pd0E@(pd0Ep0 @(p0 p0E@(p0Ep0@(s4*s4@(s4s94@(s94r4@(r4rp4@(rp4r3@(r3q2@(q2q1@(q1r0@(r0rp0E@(rp0Er0 @(r0 s0 @(s0 s0E@(s0Es0@(s0t1j@(t1jt1@(t1s2U@(s2Us2@(s2s3@(s3r3@(r3rp2@(rp2r2U@(r2Uq1@(w4t0 @(u4v 4d@(v 4dv 3@(v 3u3z@(u3zu3?@(u3?uC3?@(uC3?t3@(t3t4*@(t4*u4@(u4uk4@(uk4u4@(u4v 4@(v 4v4d@(v4dv4d@(v4dwu4@(wu4w4@(w%1v1j@(v1jv0@(v0v0@(v0v0 @(v0 wM0 @(wM0 w0E@(w0Ew0@(w0w10@(w10wu1@(wu1w%1@(|(|#@(|((@(|&<&<@(|##@( 2& 2#@( 2&<&@(&&@(&&@(&&@(&x&<@(x&<O%@(O%O%@(O%x$g@(x$g#@(##@(##@(##@(# 2$g@(#&<"&@("&"e&@("e&!&@(!&!t&@(!t&!L&<@(!L&eH@(j>eHhb@(hbjb@(l cskc8@(kc8l b@(l blHc8@(lHc8l cs@(ognb@(mbgog@(sYgpb@(qNgqgW@(qgWqf@(qfqwfm@(qwfmq&f2@(q&f2pf2@(pf2pf@(pfpg@(pgpg@(pgpg@(pgqNg@(qNgqg@(qgrgW@(rgWrgW@(rgWs g@(s gsYg@(rdrhd]@(rhd]r@c@(r@cr@cs@(r@csrb@(rbrb@(rbs1c8@(s1c8sYc@(sYcsYd#@(sYd#s d@(s drd@(>99@(8A")|@(g{xAtxASR@pgKxBiyivg:xB@4gKxBiyivg:xBgKxBSR@t =BL/GKFIgL/@8 =BL/GKFIgL/ =BSR@p")|!, )")|@4")|!, )")|")|@(s?qs<@(s?q<@(?q<@(|?q<@(|?qb<@(=5 =5@(?q<@(?q<@(?q<@(?q<@(?q<@(?q ?q@(==@(< <@( x?q ??H@( ??H >@( > >@( > >*@( >* =^@( =^ <@( < <@( < ?*@( >* {>@( {> _>@( _> %?H@( %?H ?q@( ?q x?q@( b?q b<@( b?q?q@( b=H=@(>?H@(?Ho?q@(o?q?q@(?q?H@(?Hl>@(l>l>@(l>>S@(>S>*@(>*>@(>=@(==@(==^@(=^= @(= <@(<>@(>?H@(?H?q@(?q(?q@((?q?H@(?H>@(>>@(>{>*@({>*{=^@({=^<@(<<@(< SimplexRoman,,$+,$,,$,P.,$,,$<+,$0-2*,2*+90P.90P.90,90<+905-?6,?6+E<P.E<P.E<,E<<+E<10-LB,LB+RHP.RHP.RH,RH<+RH15-XN,XN+_TP._TP._T,_T<+_T20-eZ,eZ+k`P.k`P.k`,k`<+k`25-rf,rf+xlP.xlP.xl,xl<+xl30-~r,~r+…xP.xP.x,x<+x35-~,~P.,<+40+,$+’, A1A1>4>4,$AA,$A1,$>4,$>4,$>4A>4AA1AA1AA1,$ "O"ORR,$_T_T,$"O,$R,$R,$R_TR_T"O_T"O_T"O,$ mmpp,$[[,$m,$p,$p,$p[p[m[m[m,$ ,$_T_T,$,$,$,$_T_T_T_T,$ ŨŨ««,$_T_T,$Ũ,$«,$«,$«_T«_TŨ_TŨ_TŨ,$ s6s6sHsH̏̏s6̏sH̏sH̏sHsHs6s6s6̏ ;7;78:8:,$k`k`,$;7,$8:,$8:,$8:k`8:k`;7k`;7k`;7,$ UUXX,$RHRH,$U,$X,$X,$XRHXRHURHURHU,$ rruu,$xx,$r,$u,$u,$uxuxrxrxr,$ ސސۓۓ,$RHRH,$ސ,$ۓ,$ۓ,$ۓRHۓRHސRHސRHސ,$ ,$RHRH,$,$,$,$RHRHRHRH,$ [[mm̏̏[̏m̏m̏mm[[[̏ 5=5=2@2@,$xlxl,$5=,$2@,$2@,$2@xl2@xl5=xl5=xl5=,$ [[^^,$ss,$[,$^,$^,$^s^s[s[s[,$ xx{{,$RHRH,$x,${,${,${RH{RHxRHxRHx,$ ؖؖՙՙ,$xlxl,$ؖ,$ՙ,$ՙ,$ՙxlՙxlؖxlؖxlؖ,$ ,$xlxl,$,$,$,$xlxlxlxl,$ %%%%̏̏%̏%̏%̏%%%%%̏ /C/C,F,F,$ss,$/C,$,F,$,F,$,Fs,Fs/Cs/Cs/C,$ aa d d,$$M$M,$a,$ d,$ d,$ d$M d$Ma$Ma$Ma,$ ~~,$xlxl,$~,$,$,$xlxl~xl~xl~,$ ҜҜϟϟ,$,$Ҝ,$ϟ,$ϟ,$ϟϟҜҜҜ,$ ,$k`k`,$,$,$,$k`k`k`k`,$ ~~̏̏̏~̏~̏~~̏ywBFDB9 SimplexRomanef*Sales By Quarter_xn SimplexRomanΟ2s)? By Region,,Bar.Fmsalesbyquarter.DatSales By QuarterRegionDollars1st Qtr.2nd Qtr.3rd Qtr.4th Qtr.NorthernSouthernEasternWesternCentral@=A@ZB{BB AR:BB SimplexRomanPA? Sales By QuarterH8GB ? SimplexRomanP }@? RegionIA,PB SimplexRomanP@@? DollarsJ,AA SimplexRomanPJ@? NorthernJ3EBHA SimplexRomanPJ@? SouthernI,BA SimplexRomanPJ@? EasternB AHB SimplexRomanPDJ@? I fBBz@ SimplexRomanPJ@? CentralB AHB=? SimplexRoman B AHB=? SimplexRoman B AHB=? SimplexRoman B AHB=? SimplexRoman B AHB=? SimplexRoman B0? SimplexRomanB0? SimplexRomanB0? SimplexRomanJdAB SimplexRomanPtV@? 1st Qtr.JDHBB SimplexRomanPtV@? 2nd Qtr.J3EBB SimplexRomanPtV@? 3rd Qtr.JBB SimplexRomanPtV@? 4th Qtr.BIBBP? SimplexRoman  K ( ؼؼ  qȻ  {{ ގގ N͈ ͈ C __   HH  VRm iRmi 9Z SZ UU  fQBfQ (XP%>#3B!1@%> Z/%j"Sf" h$j i$w*ttw C_5ef qjƲq 溵i3Μ #QL)XQ ɵ :M >xMb4 n2`{/ ,P2E SimplexRoman** BARTITLE-!E! SimplexRomanE6̜6 BWesternG5 :5 !T SimplexRoman!! X AXIS LABELՈՈEg SimplexRomanl'l' X PER GROUPߙ;ߙ SimplexRoman<+<+ NAME OF BARS^% SimplexRoman~&~&NUMBER OF BARS̨ ̨( SimplexRomanh$h$N Y AXIS LABELUUFZ SimplexRoman!! Y AVALUE OFP P]U SimplexRoman!!VALBARScc  SimplexRoman(( WITH BARSb  < SimplexRomanh$h$NUMBER OF GROUPStA$$ D@A ğR>@A$Q D=ac$$as Ęy>\

@<к: :    @@@@@@@ @ Ⱥj @@@` @ @` @  @   @ Ⱥꫫj @" P@@" 0@@c @ @@b P@@" 0@ @# @` " @磌k F" 0&BEc eCĢ B Eb PdCz~F" `0&Bz:E# %B? " `$B磌j F"T `0&BEcl eCĢT `B Ebl PdCF"T `0&BE#l%B"T`$B` E"lP$Bﻫj Ecl6TFeC ĢT*`LŒB0Ebl6DFSdC@F"T"`dE2&BE#l6TF%B"T*`LŒ$B E"l6DFS$B F"T"`dE2&B 몺k ĢT*`LŒB Ebl6DFSdC F"T"`dE2&B E#l6TF%B "T*`LŒ$B E"l6DFS$B F"T"`dE2&B Ec l6TFeC ﺫj Ebl6DFSdC F"T"`dE2&B E#l6TF%B "T*`LŒ$B E"l6DFS$B F"T"`dE2&B Ecl6TFeC ĢT*`LŒB   (< @p@@ O`~z_/ ji~{O~~& 0y?k x,><4|p(I_|P/p7P{yxs  @t @v _ GL* *WriteVDM"?h  b n Picture 00B0$0b00 S_2PPB@(d@(VW@(@(t;@(;@(;@(;@(|@(|;5@(;5t@(t@(5@(5|@(| @(  ;@( ;@(@(@(t@(  PB@(d  PB@(  @(>(>@((>g@(g(@((a@(a@(@(P@(P @(  @( @(a@(aJ@(JaJ@(aJ(a@((ay@(y@(!6!6PB@(d%L%LPB@(%L%L@(& &"@(&"&i@(&i$v@(t&i;&R@(;&R& @(& %@(%%L@(%L$@($;$@(;$t$v@(t$v$v@($v$@($$@($ %L@( %L %@( %& @(& &R@(&R&i@(&it&i@()c)cPB@(d-x-xPB@(-x-x@(.7.O@(.O.@(.,@(.(.@((.-@(-(-@((-a-@(a--@(--@(--@(- -a@( -a -1@( -1,@(,,@(,,@(,a,@(a,(,@((,,@(,-@(11PB@(d55PB@(55@(6L6d@(6d6@(66@(66@(616@(16W6@(W6j6@(j6}6d@(}6d}64@(}64j6@(j6D5@(D54@(44@(t6;6@(;66d@(6d5@(55@(55.@(5.;4@(;4t4@(t44@(44@(45.@(5. 5@( 5 5@( 56d@(6d6@(66@(6t6@(99PB@(d==PB@(==@(>x>@(>>@(>>@(>>@(>1>@(1>W>@(W>j>@(j>}>@(}>}>`@(}>`j>0@(j>0D=@(D=<@(<<@(>(>@((>>@(>(>0@((>0a>H@(a>H>H@(>H>0@(>0>@(> =@( = =@( ==B@(=B=@(=<@(<a<@(a<(=@((==*@(=*=Z@(AAPB@(dEEPB@(EE@(G}G@(}G F\@( F\DF\@(DF\jFE@(jFE}F-@(}F-E@(EE@(E}En@(}EnWE?@(WE?E'@(E'E'@(E'E?@(E?EW@(EWE@(tG;G@(;GF@(FFE@(FEE@(EE@(E;E?@(;E?tE'@(tE'E'@(E'E?@(E?E@(E E@( E FE@( FEF@(FG@(GG@(GtG@(JJPB@(dN*N*PB@(N*N*@(OH}OH@(}OH N@( NDN@(DNjNq@(jNq}NY@(}NYN@(NM@(M}M@(}MWMk@(WMkMT@(MTMT@(MTMk@(MkM@(MM@(OH(OH@((OHNq@(Nq(N@((NaN@(aNN@(NN@(NNY@(NY N@( N M@( MM@(MMk@(MkMT@(MTaMT@(aMT(Mk@((MkM@(MM@(R@R@@(VWVW@(DWtV'@(V'V'@(DWtDU@(tWt;W\@(;W\W@(WV@(VVW@(VWU@(U;U@(;UtU@(tUU@(UU@(UU@(U VW@( VW V@( VW@(WW\@(W\Wt@(WttWt@(ddVW@(dVWVWSRR@p($($P@($@($$@($$(@($($(@($((@(((@((SRR@p&&5(N5(N@(&(N@((N(N@((N(N5@((N5(N5@((N5&5@(&5&5@(&5&SRR@p66:8w:8w@(68w@(8w8w@(8w8w:@(8w:8w:@(8w:6:@(6:6:@(6:6SRR@pGG5H5H@(GH@(HH@(HH5@(H5H5@(H5G5@(G5G5@(G5GSRR@pW,W,5X5X@(W,X@(XX@(XX5@(X5X5@(X5W,5@(W,5W,5@(W,5W,SRR@pV]Vb#b#]@(V]#]@(#]#]@(#]#b@(#b#b@(#bVb@(VbVb@(VbV]SRR@p=`=`@(`@(``@(``=@(`=`=@(`==@(==@(=SRR@p))-x+-x+@()+@(++@(++-x@(+-x+-x@(+-x)-x@()-x)-x@()-x)SRR@p::N*;N*;@(:;@(;;@(;;N*@(;N*;N*@(;N*:N*@(:N*:N*@(:N*:SRR@pJ>J>-xK-xK@(J>K@(KK@(KK-x@(K-xK-x@(K-xJ>-x@(J>-xJ>-x@(J>-xJ>SRR@pZhZh-x\-x\@(Zh\@(\\@(\\-x@(\-x\-x@(\-xZh-x@(Zh-xZh-x@(Zh-xZhSRR@p-]-b7Fb7F]@(-]7F]@(7F]7F]@(7F]7Fb@(7Fb7Fb@(7Fb-b@(-b-b@(-b-]SRR@pEE@(@(@(E@(EE@(EE@(EE@(ESRR@p-'-'J.J.@(-'.@(..@(..J@(.J.J@(.J-'J@(-'J-'J@(-'J-'SRR@p=Q=Q-x>-x>@(=Q>@(>>@(>>-x@(>-x>-x@(>-x=Q-x@(=Q-x=Q-x@(=Q-x=QSRR@pMzMzEOEO@(MzO@(OO@(OOE@(OEOE@(OEMzE@(MzEMzE@(MzEMzSRR@p]]E_AE_A@(]_A@(_A_A@(_A_AE@(_AE_AE@(_AE]E@(]E]E@(]E]SRR@pA]AbKzbKz]@(A]Kz]@(Kz]Kz]@(Kz]Kzb@(KzbKzb@(KzbAb@(AbAb@(AbA]SRR@p 9 9J!J!@( 9!@(!!@(!!J@(!J!J@(!J 9J@( 9J 9J@( 9J 9SRR@p0c0c0202@(0c2@(22@(220@(2020@(200c0@(0c00c0@(0c00cSRR@p@@EB*EB*@(@B*@(B*B*@(B*B*E@(B*EB*E@(B*E@E@(@E@E@(@E@SRR@pPPVWRTVWRT@(PRT@(RTRT@(RTRTVW@(RTVWRTVW@(RTVWPVW@(PVWPVW@(PVWPSRR@p``=b}=b}@(`b}@(b}b}@(b}b}=@(b}=b}=@(b}=`=@(`=`=@(`=`SRR@pU]Ub_b_]@(U]_]@(_]_]@(_]_b@(_b_b@(_bUb@(UbUb@(UbU]@($~vT$w@($w#iwX@(#iwX"wX@("wX!w@(!w!vvT@(!vvT!vu@(!vu!t@(!t!t@(!t"TtL@("TtL#s@(#s$sH@($sH$Fr@($Fr$~rD@($~rD$~q@@($~q@$p@($p#ip<@(#ip<"p<@("p @(> >, @(>, > 8@(> 8= @(> > @(?Y ?" @(?" > `@(> `> @(> > @(> > @(> ?" @(?" ?Y @(?Y ? @(? ? @(? @ @(@ @4 @(@4 @4 @(@4 @ `@(@ `? @(? ? @(? ?Y @(@ @ @(@ 5AF @(AF A} @(A} A @(A B @(B B! 5@(B! 5B! @(mZmX>@(mZZ@(Z@(X>mX>@(tZKY@(KY!Y@(!Y YB@( YB Y@( Y!X@(!XKX_@(KX_tX>@(tX>X>@(X>X_@(X_X@(XY@(YYB@(YBY@(YY@(YZ@(ZtZ@(ZX>@(RZRX>@(ZX>@(YY@(YZ@(ZKZ@(KZ"Y@("YY@(YYB@(YBY@(YX@(X"X_@("X_KX>@(KX>X>@(X>X_@(X_X@(ZX>@(YBY@(YY@(YZ@(Z)Z@(`YLY@(LY Z@( ZZ@(ZY@(Y|Y@(|YYc@(YcYB@(YB"Y!@("Y!LY@(LY`X@(`X`X@(`XLX_@(LX_ X>@( X>X>@(X>X_@(X_|X@(E@(E@(E@(#@(@(W@(W@(@(g@(gE@(E=E@(=Eig@(ig@(@(W@(W@(i@(i=#@(=##@(D#DE@(DWY@(Y@(#@(##@(uu@(ug@(gE@(EE@(4##@(ffE@(f@(#@(##@(#A@(AV@(VVE@(WW@(W@(@(@(#@(#]#@(]#1@(1@(W@(W@(@(1g@(1g]E@(]EE@(Eg@(g@(#E@(W@(@(#@(# =#@( # E@(  @( !#@(!#!Y#@(!Y#!@(!!@(!!E@(''@(''p@('p'@('&@(&&@(&&h@(&h&#@(&#&@(&'@(''@(''x@('x'W@('W'@(''@(''g@('g'pE@('pE'E@('E&g@(&g&@((#(@(((v@((v(aW@((aW(a@((a(v@((v(g@((g(E@((E)E@()E);g@();g)f@()f)}@()})}W@()}W)f@()f);@();)#@()#(#@(*#*@(**+g@(*+g*WE@(*WE*E@(*E*g@(*g+@(+#+E@(++@(++g@(+g, E@(, E,8E@(+#,"#@(,,E@(,,@(,-)#@(-)#-j#@(-j#-@(--@(--E@(.EW/KW@(/KW/K@(/K/5@(/5/ @(/ .#@(.#.#@(.#.@(..[@(.[.EW@(.EW.E@(.E.[@(.[.g@(.g.E@(.E.E@(.E/ g@(/ g/K@(/#/E@(/W/@(/0&@(0&0Q#@(0Q#0#@(1#1E@(11B@(1B1m#@(1m#1#@(1#1@(11@(11E@(77E@(78@(78@(7E8E@(:j#:jE@(:j:?@(:?:#@(:#9#@(9#9@(99z@(9z9eW@(9eW9e@(9e9z@(9z9g@(9g9E@(9E:E@(:E:?g@(:?g:j@(;;@(;;#@(;#;[#@(;[#;@(;;@(;;x@(;x;EW@(;EW;4@(;4;@(;;@(;;@(;;g@(;g;E@(;E;[E@(;[E;g@(;g;@(<<@(<<g@(<g<E@(<E=E@(W@(>W>@(>>n@(>n>Y@(>Y>-#@(>-#=#@(=#=@(==@(==~W@(=~W=~@(=~=@(==g@(=g=E@(=E>-E@(>-E>Yg@(>Yg>@(?#?E@(?W?3@(?3?^@(?^?#@(?#?#@(@9#@9E@(@9@z@(@z@#@(@#@#@(@#A@(AA)@(A)A)E@(YY @(Y YkM@(YkMY?o@(Y?oXo@(XoXM@(XMX @(X X{@(X{Xe^@(Xe^Xe@(XeX{L@(X{LX@(XX@(XX@(XY?@(Y?Yk@(YkY@(YYL@(Z0[6@([6[6@([6[ ;@([ ;[ ^@([ ^Z@(ZZ@(ZZq^@(Zq^ZE@(ZEZ0@(Z0Z0n@(Z0nZE@(ZEZq@(ZqZ@(ZZ@(Z[ @([ [6@([[@([\^@(\^\<@(\<\}@(\}\^@(\^\@(\\@(]o]*@(]*]@(]]@(]]@(]B]@(^t^t@(^t^@(^^^@(^^^@(^_#@(``@(``U^@(`U^`)@(`)_@(__^@(_^_@(__{@(_{_{n@(_{n_@(__@(__@(_`)@(`)`U@(`U`@(a0oa0@(}gg@(ghL@(hLeR@(fg*@(g*gN@(gNegN@(egNg*@(g*f@(ff@(fMft@(MftfP@(fPf+@(f+e@(ee@(eev@(eveR@(eReeR@(eeRev@(eve@(hLe@(eev@(eveR@(eR4eR@({gNgN@(hLh(@(h(g@(gg@(gg*@(g*ft@(ftf@(fe@(eev@(eveR@(eRyeR@(yeRev@(eve@(ef@(f ft@( ft g*@( g*g@(gg@(gh(@(h(yhL@(yhLhL@(bee @( hL e@( e ev@( ev!eR@(!eR!1eR@( xgN!gN@(!gN!eR@(!ft!f@(!f"g*@("g*"1gN@("1gN"wgN@(#e"ev@("ev#eR@(#eR#ev@(#ev#e@(-g-g@(-g-2h@(-2h-Ih(@(-Ih(-whL@(-whL-hL@(-hL.h(@(.h(.h@(.h.1g@(.1g.1gr@(.1gr.g*@(.g*-f@(-f-eR@(-eR.HeR@(.gN.eR@(.f/0g*@(/0g*/^gN@(/^gN/gN@(/gN/g*@(/g*/f@(/f/eR@(1hL1eR@(1f1tg*@(1tg*1FgN@(1FgN1gN@(1gN0g*@(0g*0f@(0f0ft@(0ft0f+@(0f+0e@(0e0ev@(0ev1eR@(1eR1FeR@(1FeR1tev@(1tev1e@(3hL3h(@(3h(3\g@(3\g3Dg@(3Dg3-g*@(3-g*3-ft@(3-ft3Df@(3Df3\e@(3\e3ev@(3ev3eR@(3eR4eR@(4eR4Dev@(4Dev4re@(4re4f@(4f4ft@(4ft4g*@(4g*4g@(4g4rg@(4rg4Dh(@(4Dh(4hL@(4hL3hL@(3e4e @(5ZhL5Ze@(5Ze5qev@(5qev5eR@(5eR5eR@(5gN5gN@(6YgN6YeR@(6Yft6pf@(6pf6g*@(6g*6gN@(6gN7gN@(7e7ev@(7ev7eR@(7eR7ev@(7ev7e@(AhLBhL@(BhLBg*@(Bg*Beg*@(Beg*Bg@(BgBf@(BfBft@(BftBf+@(Bf+Be@(BeB|ev@(B|evB6eR@(B6eRAeR@(AeRAev@(AevAe@(AeA}e@(CdgNCdeR@(CdftC{f@(C{fCg*@(Cg*CgN@(CgNDgN@(EhLEeR@(EfEcg*@(Ecg*E4gN@(E4gNDgN@(DgNDg*@(Dg*Df@(DfD{ft@(D{ftD{f+@(D{f+De@(DeDev@(DevDeR@(DeRE4eR@(E4eREcev@(EcevEe@(GhLGxh(@(Gxh(GJg@(GJgG3g@(G3gGg*@(Gg*Gft@(GftG3f@(G3fGJe@(GJeGxev@(GxevGeR@(GeRHeR@(HeRH2ev@(H2evH`e@(H`eHxf@(HxfHft@(HftHg*@(Hg*Hxg@(HxgH`g@(H`gH2h(@(H2h(HhL@(HhLGhL@(GeHxe @(IHhLIHe@(IHeI`ev@(I`evIeR@(IeRIeR@(IgNIgN@(JHgNJHeR@(JHftJ_f@(J_fJg*@(Jg*JgN@(JgNKgN@(KeKvev@(KvevKeR@(KeRKev@(KevKe@(VhLUfP@(UfPWfP@(VhLVeR@(WhLWe@(WeWev@(WevXeR@(XeRX.eR@(WugNXgN@(XhLXeR@(XfYg*@(Yg*Y.gN@(Y.gNYtgN@(YtgNYg*@(Yg*Yf@(YfYeR@([hL[h(@([h([sg@([sg[[g@([[g[Dg*@([Dg*[Dft@([Dft[[f@([[f[se@([se[ev@([ev[eR@([eR\,eR@(\,eR\[ev@(\[ev\e@(\e\f@(\f\ft@(\ft\g*@(\g*\g@(\g\g@(\g\[h(@(\[h(\,hL@(\,hL[hL@(\e\e @(]qhL]qe@(]qe]ev@(]ev]eR@(]eR]eR@(]+gN]gN@(^pgN^peR@(^pft^f@(^f^g*@(^g*^gN@(^gN_*gN@(_e_ev@(_ev_eR@(_eR_ev@(_ev_e@(oo@(a[|he|@(ZutdF{@(ie3~e3@(h]S~ ]S@(lY5z|Y5@(a`Ng_~@(g  @(g@(lSy@(*mS7 SSR@l4 d7 S5 @04 d7 S5 4 d@())O@(6 6@(633SR@t2Q&F)R&'Q&@82Q&F)R&'Q&2SR@t9DA CCVD@89DA CCVD9SR@te Z \A \ QZ @8e Z \A \ QZ e SR@tdJ Kg IK J$ @8dJ Kg IK J$ dSR@pZut\wx\uZut@4Zut\wx\uZutZutSR@p`fd4gd4e`f@4`fd4gd4e`f`fSR@pa`Wdq`dP_a`W@4a`Wdq`dP_a`Wa`W@(afhf@(bfjSR@pbdhdqb@4bdhdqbbSR@t Hm`)\O`^\n@8 Hm`)\O`^\n Hm`@(bQb|@(arQbQ@(c*Qc*|@(d>Qd>|@(cQdQ@(eTQeT|@(eT|fh|@(fQf|@(fQhQ@(f~/g~/@(f|h|@(FfG|\@(HfG|\@(HfH\@(I7fH\@(IK-@(K-K-@(K-K@(KJ>@(J>Jc@(JcJ^c@(J^cJ#>@(J#>I@(II@(II;@(I;I@(IJ#@(J#J^\@(J^\J\@(J\J@(JK-@(M$M>@(M>Lc@(LcLTc@(LTcK>@(K>K@(KK@(KL7@(L7L`@(L`M;@(M;M$@(M$M$@(M$M@(ML\@(L\LT\@(LT\K@(KK@(NfN@(NN-@(N-Nh\@(Nh\N\@(McNc@(O6P@(PP@(PP{@(P{P^>@(P^>P#c@(P#cOc@(OcO>@(O>OT@(OTO6@(O6O6;@(O6;OT@(OTO@(OO\@(O\P#\@(P#\P^@(P^P@(QhcQh\@(QhQ@(QQ>@(Q>Qc@(QcRTc@(RcR\@(RS@>@(S@>S{c@(S{cSc@(ScT>@(T>T-@(T-T-\@(||-@(||-@(|-@(-@(i@(-@(-@( h h-@(!!@(!!@(!!C@(!C! @(!  @(  @(  n@( n! W@(! W!0@@(!0@!@(!!@(!!@(!!@(!!r@(!r!D@(!D!-@(!-!C-@(!C-! D@(! D r@(##-@(#-#-@($$-@($%A-@($T% @(%%-@(%&@@(&@&w@(&w&@(&&@(&&@(&&W@(&W&w@@(&w@&@)@(%)&@)@(&@)&w@(&w&@(&&@(&&@(&&[@(&[&wD@(&wD&@-@(&@-%-@(''-@('(@(')')@('-(-@((v(v-@((v-)Q-@(l\`lZ-@(l\`mV\`@(mV\`m\F@(m\Fm\+@(m\+m[@(m[m[@(m[m[o@(m[om[T@(m[TmV[9@(mV[9l[9@(nW\`nWZ-@(nW\`om\`@(nW[To[T@(nWZ-omZ-@(o\`oZ-@(o\`p\`@(p\`p\F@(p\Fq\+@(q\+q[@(q[q[@(q[q[@(q[p[o@(p[op[T@(p[To[T@(p[TqZ-@(s[s\@(s\sr\F@(sr\FsG\`@(sG\`r\`@(r\`r\F@(r\Fr\@(r\r[@(r[rq[@(rq[rq[@(rq[rZ@(rZrZ}@(rZ}rZG@(rZGrZ-@(rZ-sGZ-@(sGZ-srZG@(srZGsZ}@(sZ}sZ@(sZs[@(sG[s[@(tI\`tIZ-@(tI\`u \`@(u \`uJ\F@(uJ\Fu_\+@(u_\+ut[@(ut[ut[@(ut[u_[@(u_[uJ[o@(uJ[ou [T@(u [TtI[T@(t[TutZ-@(vv\`vK\F@(vK\Fv \@(v \v [@(v [u[@(u[u[@(u[v Z@(v Zv Z}@(v Z}vKZG@(vKZGvvZ-@(vvZ-vZ-@(vZ-vZG@(vZGw!Z}@(w!Z}w6Z@(w6ZwL[@(wL[wL[@(wL[w6[@(w6[w!\@(w!\v\F@(v\Fv\`@(v\`vv\`@(w\`wZ@(wZwZ}@(wZ}x"ZG@(x"ZGxbZ-@(xbZ-xZ-@(xZ-xZG@(xZGxZ}@(xZ}yZ@(yZy\`@(y\`yZ-@(y\`zz\`@(zz\`z\F@(z\Fz\+@(z\+z[@(z[z[@(z[z[o@(z[oz[T@(z[Tzz[9@(zz[9y[9@(ih9ie@(ih9je@(jh9je@(lh9k`e@(lh9le@(kflf@(mKh9mKe@(mKh9ne@(nh9ne@(nh9ne@(o|h9o|e@(o|h9ph9@(o|gp7g@(o|epe@(rh9rih@(rihr:g@(r:gr#g@(r#gr gN@(r gNr f@(r fr#fd@(r#fdr:f)@(r:f)rie@(riere@(rere@(res$e@(s$esSf)@(sSf)sjfd@(sjfdsf@(sfsgN@(sgNsjg@(sjgsSg@(sSgs$h@(s$hrh9@(rh9rh9@(t%h9t%e@(t%h9uUh9@(t%gtg@(vh9ve@(vh9wh9@(wh9wh@(whwg@(wgwg@(wgwg@(wgwgN@(wgNwg1@(wg1wg@(vgwg@(wgwf@(wfwf@(wfwf@(wfwfG@(wfGwf @(wf we@(wewe@(weve@(yh9xXe@(yh9ye@(xfyf@(zDh9zDe@(zDh9{h9@({h9{\h@({\h{tg@({tg{g@({g{g@({g{tgN@({tgN{\g1@({\g1{g@({gzDg@(zg{e@(}_g}0h@(}0h|h9@(|h9|h9@(|h9|Fh@(|Fh|g@(|g|g@(|g|/gl@(|/gl|FgN@(|FgN|tg1@(|tg1}f@(}f}0f@(}0f}Gf@(}Gf}_f@(}_f}_f)@(}_f)}0e@(}0e|e@(|e|e@(|e|Fe@(|Fe|f)@(i`i^g@(i`j&^g@(j&`j&^g@(j`j_@(j_j^@(j^k ^@(k ^kJ^g@(kJ^gks^g@(ks^gk^@(k^k^@(k^k_@(k_k`@(l`l^g@(l`m>^g@(m`m>^g@(m`m^g@(n`n^g@(n`oF`@(oF`o`p@(o`po`V@(o`Vo`"@(o`"o_@(o_o_@(o_o_@(o_oF_@(n_oF_@(oF_o_k@(o_ko_Q@(o_Qo_@(o_o^@(o^o^@(o^o^@(o^oF^g@(oF^gn^g@(p@`p@^g@(p@`qO`@(p@_p_@(p@^gqO^g@(q`q^g@(q`r`@(r`r`p@(r`pr`V@(r`Vr`"@(r`"r_@(r_r_@(r_r_@(r_r_@(r_q_@(r]_r^g@(t`t`p@(t`pte`<@(te` SimplexRoman,2; 222; 2SeptI!I``; `; ``Octx!x&&; &; &&Nov?!?WW; W; WWDec,,.,s+0-#,#(.(.(,(s+(20-(-,(-32.32.32,32s+3240-?7,?7J<.J<.J<,J<s+J<60-UA,UA`F.`F.`F,`Fs+`F80-lK,lKwP.wP.wP,wPs+wP100-U,UÍZ.Z.Z,Zs+Z120-_,_äd.d.d,ds+d140-i,iûn.n.n,ns+n160-s,sx.x.x,xs+x180-},}.,s+200,2wP``F``F&Z&ZWX=TOT2`F`wP`wP&5l&5lWoTT2d`i`i&n&nWsTTxACݸ SimplexRoman,ffNw*Monthly ExpensesQypP  SimplexRoman2 Ay ExMonth,,< SimplexRomanQf& 2y DollarsFw<O SimplexRoman*R7yElectricxp SimplexRoman*R7yElPhone$ SimplexRoman*R7yESalaryBBBBBBCHC CC C*CSeptOctNovDec monthlysales[sys]Line.Fmmonthlysales.DatMonthly ExpensesMonthDollarsElectricPhoneSalaryRƼCAT^@BmBHCA?@?Rn;B7āB SimplexRomanPA? Monthly ExpensesGp=Bf^@ SimplexRoman }@? MonthIvA`NB SimplexRomanP@@? DollarsJSAB SimplexRomanPtV@? ElectricGBB SimplexRomanPtV@? PhoneH3EBB SimplexRomanPtV@? SalaryBBBP? SimplexRoman BIBBP? SimplexRoman   m u ޜ u : u ǭUխ ч& XdX :%:% :: M &/ OO K %R0y V"g L$> ?ƃ B] ] |ʙF 4t.`^U }) yW 3@ 3763 V"[!XV" mm Ae0A %,% j[J )*hX0n) tfm(mwitfm SvU"eQ]4OSvU CA D#q?CA  e"+h d e pAzl|llАlllbl@lllmŏ1mQmtm|mhmWmGn;:n1fn)n%n#n#o'Do-oo5oAoOo_pr@pepppӏppq0qQ0qtBqQq^qhqmq/qqAqqfoqjqbqؑWqHq 8qB$qc qpppגpwpSp,p+p;oGoQoYZo].o_o_n[nU|nMPnA&n3m#mmmcmʒAm"mmslRl1llꑛlƑllzlS|lAzl p/7r9rY,XXXX؏XXXXxX_}XE{X9yX [aD`D`D`E`E`E`El`!EX`-EE`:E3`HE!`XE`hE`zE_E_E_E_E_E_E_ F_$F_;F_QF_hF_~F_F_F_F_F_F_F `G` G*`0G<`?GN`LGa`YGv`dG`mG`uG`|G`G`G`GaGaG2aGJa}G`axGvaqGahGa^GaRGaEGa7Ga'GaGbGbF!bF+bF5bFaE(aDaDaD [2&O2'O2*O2.O23Oq2;O]2COK2MO:2YO)2fO2tO 2O1O1O1O1O1O1O1 P1#P19P1PP1gP1}P1P1P1P1P1P1Q1Q1(Q1:Q2LQ2\Q 2kQ12xQC2QT2Qg2Qz2Q2Q2Q2Q2Q2Q2Q2Q3Q#3Q73QJ3Q]3Qn3~Q~3qQ3cQ3SQ3CQ31Q3Q3 Q3P3P3P3P3P3P3qP3[P3DP3.P3P3P3O3O3O3O3O3O3}O3nOw3`Oe3TOT3IOA3@O.38O31O3-O2)O2(O2&O bC`:% 푐W VƔQ푐W bChDwg?bCV  SimplexRomanT#T# X AXIS LABELHH}s SimplexRoman$$NUMBER OF LINEShᆙІ SimplexRoman$$N NAME OF LINES}΋Aȋs SimplexRoman**E OFTITLE . SimplexRomanh$h$ Y AXIS LABELOMOT SimplexRomanT#T# Y AY VALUES-D `: M SimplexRomanT#T# Y AX LABELS%%+ SimplexRoman** DATA POINTSGLB@B@@0 B@@0 GB@@ȇ PDBDPI P!BH$@CȟQ !BH$@CH P!BH(@C !BH@Ą  !LH_H@@bgy ~s`>\ӓ/g`tHt \^ {?p?  8hT? xv ~S6S ,\ x     n?  @@ p @@  @@    zYUUUUUUUUUUUUUUUUUUU5  @@  @@   @@ z   YUUUUUUUUUUUU UUUUUU5 @@ | @ @  x @@ pzYUUUUUUUUUU]UUUUUUUU5( @@  @@   @@@ 0`  @@ rYUUUUUUUUUTUUUUUUUU5 @  @@ 8!WU@p'IW  p3? @? jY_UUUUUUUUUUUUWUUU? @%(@8`@( 0@p@ `  xYIUUUUUUUUUUUUUUuUUUu ,@@x  |@x0@   @|@    xYUUUUUUUUUUUUUUUUUuU5 >@ @A  @X @` @@<! & xYUUUUUUUUUUUUUUUUUUU= 0@@| @@  0 @~ tnh '&YUUUUUUUUUUUUUUUUUUUU#k  $n@@   @@    @@ @ ? p@]7[p@/|   8 @0S P'S 8  S8 GLSILS SIL) ""?      b n Picture 10B0$0b00 S_2PPB@(ds@( z PB@( V. zPB@( | @( e @(e  @(  @(  |@( | K@( K @(  @(  @( x @(x  @(  @(  S@( S @(  @( e @(e  @(  @(  @(4  @(  @(  @(  @(  @(  @( m @(m G @(G 4 @(4 4 S@(4 SG @(G m @(m  @(  @(  @(  @(  @(  @(  @(  @( C @(C j @(j | @(| | S@(| Sj @(j C @(C  @(  @(  @(  @(  @( & @(& K @(K q @( ^ @(#o#oPB@(/V./zPB@(/z/@(. .l @(.l .F |@(.F |.3 K@(.3 K. @(. . @(. .3 :@(.3 :.F @(.F .l @(.l . @(. . @(. / @(/ /( @(/( /; :@(/; :/N @(/N /N @(/N /; K@(/; K/( |@(/( |/ @(/ . @(. . @(0 0{ @(0{ 0V @(0V 0 @(0 / @(/ / @(/ / @(/ / S@(/ S/ @(/ / @(/ 0 @(0 0V @(0V 0{ @(0{ 0 @(18 18 @(18 1K @(1K 1p @(1p 1 @(1 1 @(<4<4PB@(HV.HzPB@(HzH@(F F @(F G @(G G @(H H @(H Hg @(Hg HT @(HT HT S@(HT SHg @(Hg H @(H H @(H H @(H I @(I I6 @(I6 II S@(II SII @(II I6 @(I6 I @(I H @(H H @(I J @(J J @(TTPB@(aZV.aZzPB@(aZzaZ@(_ _ @(_ ` @(` `I @(`I `o |@(`o |` K@(` K` @(` ` @(` ` :@(` :`o @(`o `I @(`I ` @(` _ @(a a @(a a @(a a @(a a @(a a @(a ad @(ad a? @(a? a @(a a @(a a S@(a Sa @(a a? @(a? ad @(ad a @(a a @(a a @(c; c @(c b @(b b @(b b @(b bk @(bk bY @(bY bY S@(bY Sbk @(bk b @(b b @(b b @(b c @(c c; @(V.@(@(Q@(@(5@(5@(n@(n$@($Q @(Q w @(w $@($n@(n@(5@(5@(@(w@(wQ@(_zzPB@(ds  PB@(  @(zz@(z@(@(4@(44@(47@(7J@(J]@(]]@(]Jn@(Jn$$@($$h,@(h,o,@(Q4@(@(U@(U @( @(E@(EQ,@(Q,w,@(w,E@(E@( @( U@(U@(@(w4@(w4Q4@(_PB@(ds++PB@(++@($Th@(h@($T$L@(QT<@(<@(u@(u+@(+@(e@(eQL@(QLwL@(wLe@(e@(+@(+u@(u@(<@(<wT@(wTQT@(_  PB@(ds$L$LPB@($L$L@(]%+J%\@(J%\%u@(%u%u@(%u%\@(%\%@(%z$@(z$z$@(z$#@(##@(##m@(#m#m@(#m7#@(7#]#@(]#o$@(o$o$@(o$]$d@(]$d7$@(7$$@($$@($$@($$d@($dz$@(Q%u%\@(%\%@(%$@($$L@($L#@(##@(#Q#m@(Q#mw#m@(w#m#@(##@(#$L@($L$@($%@(%%\@(%\w%u@(w%uQ%u@(_''PB@(ds+l+lPB@(+l+l@(,,|@(,|z,K@(z,Kz,@(z,+@(++@(++@(+7+@(7+]+l@(]+lo+:@(o+:o*@(o*]*@(]*J*@(J**@(**@(**@(*z*@(z*h*@(h*h+:@(h+:z+l@(z+l+@(++@(+$+@($+J+@(J+],@(],],K@(],KJ,|@(J,|,@(,,@(Q,,|@(,|,2@(,2+@(++l@(+l*@(**@(*Q*@(Q*w*@(w**@(**@(*+l@(+l+@(+,2@(,2,|@(,|w,@(w,Q,@(_..PB@(ds22PB@(22@((3SN3l@(N3l3@(31@(33@(3z3S@(z3Sh2@(h2h2@(h2z2@(z21@(11@(11@(171@(71]2@(]2o2@(o2o2@(o2]3S@(]3S73@(733@(33@(Q33@(33S@(3S2@(22@(22@(21@(1Q1@(Q1w1@(w11@(12@(22@(22@(23S@(3S3@(3w3@(w3Q3@(_66PB@(ds99PB@(99@((:sN:@(N::@(:8@(z:Zz:s@(z:s:@(::@(::@(::@(:7:@(7:J:@(J:]:s@(]:s]:A@(]:AJ:@(J:$9@($9h8@(h8o8@(Q::@(::s@(:s9@(99@(990@(908@(8Q8@(Q8w8@(w88@(890@(909@(99@(9:s@(:s:@(:w:@(w:Q:@(_====PB@(ds@@PB@(@@@((ANA@(NAA@(A?@($Ah@@(h@@@($A$?@(QAA@(AA@(AA@(A@@(@@Q@(@Q@@(@Q?@(Q?w?@(w?@@(@@Q@(@Q@@(@A@(AA@(AA@(AwA@(wAQA@(_D]D]PB@(dsGGPB@(GG@((HNH@(NHI@(IG@(]HJH@(JHI@(II@(IH@(HH@(HzH8@(zH8zG@(zGGY@(GYG'@(G'G@(GG@(G7G'@(7G']GY@(]GYoG@(oGoG@(oG]H@(]H7H8@(7H8HQ@(HQHQ@(HQH8@(H8H@(HzG@(QIH@(HH@(HH8@(H8G@(GGq@(GqG'@(G'QG@(QGwG@(wGG'@(G'Gq@(GqG@(GH8@(H8H@(HH@(HwI@(wIQI@(_K~K~PB@(dsOOPB@(OO@((ONO@(NOP7@(P7N/@(P7P@(PzO@(zOzO@(zOO@(OOq@(OqOX@(OX7O?@(7O?]O@(]OoN@(oNoN@(oN]N`@(]N`JNG@(JNGN/@(N/N/@(N/NG@(NGzN`@(zN`hN@(hNhN@(hNzO@(zOO?@(O?OX@(OX$Oq@($OqJO@(JO]O@(]O]O@(]OJP@(JPP7@(P7P7@(QP7P@(PO@(OOX@(OXO@(ON@(NNG@(NGQN/@(QN/wN/@(wN/NG@(NGN@(NO@(OOX@(OXO@(OP@(PwP7@(wP7QP7@(_RR@(V.V.@(VV@(VW&@(W&(W?@((W?NWX@(NWXWX@(WXW?@(W?W&@(W&V@(VV@(VV@(VVG@(VGUO@(UOUO@(WXW?@(W?zV@(zVhVy@(hVyhV.@(hV.zU@(zUUh@(UhUO@(UOUO@(UO7Uh@(7Uh]U@(]UoV.@(oV.oVy@(oVy]V@(]V7W?@(7W?WX@(WXWX@(QWXW?@(W?V@(VVy@(VyV.@(V.U@(UUh@(UhQUO@(QUOwUO@(wUOUh@(UhU@(UV.@(V.Vy@(VyV@(VW?@(W?wWX@(wWXQWX@(dsdsV.@(dsV.V.P@( 2/+l@(/+l/+l@(/+lH9@(H9H9@(H9aZ7@(a&2aPB@( +l/2@(/2/2@(/2HF%@(HF%HF%@(HF%aZV.@(7`aAaPB@( @/D]@(/D]/D]@(/D]HG@(HGHG@(HGaZK~@(R5a[aPB@( z r[@( z!r[@(#nz!r[@(#nz#nr[@(&w%w%@(%w%%&vh@(%&vh$uM@($uM$t@($t%&sv@(%&sv%r@(%r&r[@(&r[&r[@(&r['r@('r'sv@('sv't@('t'uM@('uM'vh@('vh'w%@('w%&w@(&w&w@()9w)9r[@()9v )w%@()w%*Lw@(*Lw*w@(*w+^w%@(+^w%+v @(+v +r[@(-z-s@(-s-r@(-r.(r[@(.(r[.r[@(,w._w@(/z/r[@(/v 0w%@(0w%0w@(0w1w@(1w2w%@(2w%2;v @(2;v 2;r[@(3z3r[@(5z;>r[@(;>z>z@(;>vhr[>r[@(?wAvr[@(Avw?r[@(BwBo@(BvhCdw%@(Cdw%Cw@(CwDww@(DwwDw%@(Dw%ERvh@(ERvhEuM@(EuMEt@(EtERsv@(ERsvDr@(DrDwr[@(Dwr[Cr[@(Cr[Cdr@(CdrBsv@(FuMIfuM@(IfuMIfv @(Ifv I/v@(I/vHw%@(Hw%Hw@(HwGw@(GwGxw%@(Gxw%G vh@(G vhFuM@(FuMFt@(FtG sv@(G svGxr@(GxrGr[@(Gr[Hr[@(Hr[Hr@(HrIfsv@(JwJr[@(Jv Kw%@(Kw%Kw@(KwLw@(LwM w%@(M w%MBv @(MBv MBr[@(QvhPw%@(Pw%PCw@(PCwOw@(OwNw%@(Nw%Nvh@(NvhNu@(NuOguM@(OguMPzt@(PztPt@(PtQs@(QsQsv@(QsvPr@(PrPCr[@(PCr[Or[@(Or[Nr@(NrNsv@(RiuMTuM@(TuMTv @(Tv Tv@(TvTw%@(Tw%T w@(T wS{w@(S{wS w%@(S w%Rvh@(RvhRiuM@(RiuMRit@(RitRsv@(RsvS r@(S rS{r[@(S{r[T r[@(T r[Tr@(TrTsv@(XvhXiw%@(Xiw%Ww@(WwW w@(W wV{w%@(V{w%VDvh@(VDvhV{u@(V{uVuM@(VuMWt@(WtXit@(XitXs@(XsXsv@(XsvXir@(XirWr[@(Wr[W r[@(W r[V{r@(V{rVDsv@(8`)8`V@(8`)99V@(:)99V@(:):V@(;W;!@(;!:W@(:W:@(::n@(:n:@(:;!@(;!;WV@(;WV;V@(;V;@(;<@(<<1n@(<1n<1@(<1<W@(<W;@(;;@(;;W@(<<V@(<)=@@(=@=w@(=w=@(==@(=>)@(>)>V@(?)?@(??)@(?)?_V@(?_V?V@(>?z@(@9)@9V@(@9)@@(@@@(@A@(AAH@(AHAc)@(Ac)AcV@(G[(GXB@(G[([(@([([@([>Z@(>ZRZw@(RZwgZ @(gZ gY\@(gY\RX@(RX>X@(>XXe@(XeXB@(XBGXB@(JZ0!Z @(!Z Y@(YY\@(Y\Y@(YX@(X!Xe@(!XeJXB@(JXBXB@(XBXe@(XeX@(XY@(YY\@(Y\Y@(YZ @(Z Z0@(Z0JZ0@([(XB@(#[(#XB@(Z0XB@(YZ @(Z XZ0@(XZ0Z0@(Z0Z @(Z Y@(YY\@(Y\Y@(YX@(XXe@(XeXB@(XBXXB@(XXBXe@(XeX@(OZ0OXB@(OY\dY@(dYZ @(Z Z0@(Z0Z0@((YZ @(Z Z0@(Z0Z0@(Z0ZZ @(ZZ FY@(FYZY@(ZYY\@(Y\Y9@(Y9Y@(Y(X@((X(X@((XXe@(XeXB@(XBXB@(XBZXe@(ZXeFX@(if}@(ii@(h/Th/@(f}f}@(QiQf}@(g g@( g h@( hhW@(hWh~@(h~h@(heh@(eh7h~@(7h~ h/@( h/g@(ggi@(gi f@( f7f@(7fef}@(ef}f}@(f}f@(f f@(!h/!vh~@(!vh~!Hh@(!Hh!h@(!h h~@( h~ h/@( h/ g@( g gi@( gi f@( f f@( f!f}@(!f}!Hf}@(!Hf}!vf@(!vf!f@("[i"[g@("[g"sf@("sf"f}@("f}"f}@("h"h@(#Yh#Yf}@(#Yg#ph/@(#ph/#h~@(#h~#h@(#h$h@($mi$i@($i$i@($i$i@($i$mi@($h$f}@(&9h/& h~@(& h~%h@(%h%h@(%h%jh~@(%jh~%h@(>h>Fh@(>Fh>sh~@(>sh~>h@(>h>f}@(?,g@?g@(@?g@?h@(@?h@(hW@(@(hW@h~@(@h~?h@(?h?h@(?h?ph~@(?ph~?Ch/@(?Ch/?,g@(?,g?,gi@(?,gi?Cf@(?Cf?pf@(?pf?f}@(?f}?f}@(?f}@f@(@f@?f@(TLiCTi@(TiSi@(SiS}i@(S}iS8i@(S8iS iC@(S iCS h@(S hS!h@(S!hS8h~@(S8h~SfhW@(SfhWSh@(ShTg@(TgT5g@(T5gTLgi@(TLgiTLf@(TLfTf@(TfSf}@(Sf}S}f}@(S}f}S8f@(S8fS f@(UhUf}@(Uh/Uh~@(Uh~Uh@(UhUIh@(UIhUh~@(Uh~Th/@(Th/Tg@(TgTgi@(TgiTf@(TfUf@(UfUIf}@(UIf}Uf}@(Uf}Uf@(UfUf@(ViVf}@(XWhXWf}@(XWh/X)h~@(X)h~Wh@(WhWh@(WhWh~@(Wh~WZh/@(WZh/WCg@(WCgWCgi@(WCgiWZf@(WZfWf@(WfWf}@(Wf}Wf}@(Wf}X)f@(X)fXWf@(YhYf}@(YgY&h/@(Y&h/YTh~@(YTh~Yh@(YhYh@(Z hZf}@([ hZf}@(Zf}Zhe@(ZheZ:e@(Z:eZ eh@(Z ehYeh@(P`_`@(C]O]SR@pC]FN9FNXC]@(fsn8s@(kf)}"f)@(j\$i\$@(k|@( %j@(b|b@(1 `1@( %a]@(7hC@(0k& @(f!u^u@(jmh*_ h*@(hg_&_Nc(@(ja6@(iJ$7@( R@p  7O R@p*d , +n*d R@p^h5biVbf^h5R@p_ic$bbbX`_ic$R@p^uavatq^u@(, #R@p6]`m]6]R@pa6dv35a1a6R@p (D _*6& (DR@p yA\CK w@i yAR@la?6a36a'6a6a6a6`6`6`6`6`6`7`7`7 `7/`7?`7P`7a`7s`7`7`7`7`7`7`7`8`8`8,`8=`8M`8^`8l`8{`8`8`8`8`8`8a8a8a!8a-8a98a?8aK8aW8ad8ao8a{8a8a8a8a8a8a8a8sa8ea8Ta8Ea84a8#a8a7a7a7a7a7a7a7a7|a7ja7Ya7Ha77a7'a7a7 a6a6a6a6a6a6au6aj6a]6aQ6aE6a?6R@lH85H86H87Hx8:HJ:HW:Hc:Hq:H~:H:H:H:H:H:H:H:H:H:H:I:I:I:I(:I1:rI9:_IA:KIH:6IO: IT: IX9I\9I_9Ia9Ia9Ia9|I`9dI^9LI[94IV9IQ9IL8IE8I>8I58I,8I"8I8I 8qI8eH8YH8OH8GH8@H8;H87H86H85R@l/*o/*p/*r/*t/*x/*~/*/*/}*/s*/i*/_*/W*/P*/H*/B*/=*/8+/4+/0+"/.+1/-+A/,+R/,+a/-+q//+/2+/6+/:+/?+/E+/L+/T+/\+/d+/n, /x,/,/,#/,*/,//,4/,7/,:/,;/,;/,:/,8/,50 ,20,-0",&0,,08,0A,0K,0S+0]+0e+0l+0r+0w+0}+0+0+0+y0+i0+Y0+I0+90+)0+0~+ 0z*0u*0n*0g*0a*0X*0P*0F*0<*01*0'*0*0*|0*w/*t/*q/*p/*oR@l1 1111111111111222"222A~2Q|2a{2q{2{2|2}2222223 33#3.393B3K3S3Y3_3d3g3j3j3j 3j+3g53e?3aJ3\T3V_3Oh3Fp3=y333(333222222222y2h2Y2I2:2*22211~1u1l1c1Z1P1E1;101%111@(0)ijR@pJ7M\6K3J7R@p0)4*Y3N&0)@(Q"R* @(R*Q" @(SS4 @(STc @(SmT+@(TU @(UT @(V=V= @(WW@(WWl@(WlW @(W V@(VV@(VV@(VVh@(VhVN@(VNW 5@(W 5W@(WW@(WW@(WW@(WWU@(WUW#@(W#Wl @(Wl W  @(W  V#@(V#VU@(Y Y  @(Y  Y @(ZZ @(Z[F @(ZO[ @([[ @([\O@(\O\@(\\@(\\@(\\@(\\N@(\N\5@(\5\O@([\O@(\O\@(\\@(\\@(\\n@(\n\<@(\<\#@(\#\O @(\O [ @(]2]2 @(]2^(@(]2]@(]2 ^( @(^^ @(^ _} @(k!_$k!]@(k!_$l5]@(l5_$l5]@(l_$l]@(l]l]Q@(l]Qm]@(m]mI]@(mI]mp]@(mp]m]@(m]m]Q@(m]Qm]@(m]m_$@(n_$n]@(n_$o"]@(o_$o"]@(o_$o]@(p^_$p^]@(p^_$q_$@(q_$qJ_ @(qJ_ q^^@(q^^qq^@(qq^qq^@(qq^q^^T@(q^^TqJ^:@(qJ^:q^!@(p^^!q^!@(q^!qJ^@(qJ^q^]@(q^]qq]@(qq]qq]k@(qq]kq^]7@(q^]7qJ]@(qJ]q]@(q]p^]@(q_$q]@(q_$r_$@(q^!r^!@(q]r]@(sr_$sr]@(sr_$t#_$@(t#_$t^_ @(t^_ tr^@(tr^t^@(t^t^@(t^tr^T@(tr^Tt^^:@(t^^:t#^!@(t#^!sr^!@(s^!t]@(v7_$v_ @(v_ u^@(u^u^@(u^u^T@(u^Tu]@(u]u]@(u]u]Q@(u]Qv]@(v]v7]@(v7]v]@(v]v]@(v]v]Q@(v]Qv]@(v]v]@(v]v^T@(v^Tv^@(v^v^@(v^v_ @(v_ v_$@(v_$v7_$@(w_$w]@(w_$x_$@(w^!x%^!@(y_$y]@(y]z]@(z_$z]@({_${]@({_$|]@(|_$|]@(}N_$}N]@(}N_$~N_$@(}N^!}^!@(}N]~N]@(^_ @(_ b_$@(b_$_$@(_$~_ @(~_ ~^@(~^~^@(~^~^o@(~^o~^T@(~^T~^:@(~^:u^@(u^]@(]]@(]]@(]]Q@(]Q]@(]b]@(b]]@(]~]@(~]~]Q@(l/i4l/g@(l/i4mCg@(mCi4mCg@(nDi4mg@(nDi4ng@(mgng@(oDi4oDg@(oDi4og@(pi4og@(pi4pg@(qi4qg@(qi4ri4@(qh1qh1@(qgrg@(si4si@(sislh@(slhsYh@(sYhsEhd@(sEhdsEg@(sEgsYg@(sYgslg`@(slg`sg-@(sg-sg@(sgt g@(t gt1g-@(t1g-tYg`@(tYg`tlg@(tlgtg@(tgthd@(thdtlh@(tlhtYh@(tYht1i@(t1it i4@(t i4si4@(u i4u g@(u i4v i4@(u h1uh1@(w3i4w3g@(w3gx g@(xi4xg@(yi4yg@(yi4z3g@(z3i4z3g@(zi4zg@(zi4{i4@(zh1{oh1@(zg{g@(}Hh}!i@(}!i|i4@(|i4|i4@(|i4|[i@(|[i|4h@(|4h|4h@(|4h|Gh~@(|Gh~|[hd@(|[hd|hJ@(|hJ|h@(|h}!g@(}!g}4g@(}4g}Hg@(}Hg}Hg`@(}Hg`}!g-@(}!g-|g@(|g|g@(|g|[g-@(|[g-|4g`@(gwgt@(gKwhw@(hwht@(jwjt@(ihwjw@(kwkt@(ktl"t@(lwlt@(lwmw@(lumGu@(ltmt@( ed@(dc@(Eed@(e0c@(e hc@(jdM -dM@( e c@( e c@( Pe Pc@( eh e@( e e@( e 9e@( 9e e@( e eh@( eh e5@( e5 e@( e d@( d &d@( &d d@( d d@( d dg@( dg d4@( d4 c@( c c@( c c@( c 9c@( 9c c@( c c@(5e5c@(5cc@(eGc@(ec@(dMDdM@(ec@(ee@(ee@(ee@(eeN@(eNe@(ed@(dd@(dd@(dd@(dd@(dd@(ddM@(dMd@(dc@(cc@(cc@(cc@(zezc@(zexe@(zdd@(zcxc@(ec@(cc@(Z5 4@(43@(5 4@(l5 3@(5 3@(Y5 3@(Y5 3@(33@(O5 O3@(O333@(5 3@(33J@(3J3@(33@(3)3@()3b3@(b33J@(3J3@(35 @(25 23@(25 (5 @(244@(23 (3@( 4 k4@( k4 25 @( 25 5 @( 5 4@( 4 4@( 4 4@( 4 4]@( 4] 4D@( 4D 4+@( 4+ E3@( E3 k3@( k3 }3@( }3 3@( 3 3J@( 3J k3@( k3 23@( 23 3@( 3 3@( 3 3J@(Z~cr@(c~Zr@(~r@(rr@(F~r@(F~r@(  @( =~ =r@( =~ ~@( ~! e@(! e!3L@(!3L!F@(!F!F@(!F!3@(!3! @(!  @( = @( ! k@(! k!3R@(!3R!F @(!F !F@(!F!3@(!3! @(!  r@( r =r@(!~!r@(!~"~@(!"b@(!r"r@(#2~#2r@(#2r$r@(%j3%Ee@(%Ee% ~@(% ~$~@($~$e@($e$a3@($a3$a@($a$t@($t$@($$@($%k@(%k%ER@(%ER%X:@(%X:%j@(%j%j@(%j%E@(%E% r@(% r$r@($r$@($$a@(lvl@(lvlv@(lvlX@(lXm(@(m(m?@(m?mV@(mVmV@(mVm?@(m?m(V@(m(Vl@(ll@(ll@(nivm@(nivo!@(mn@(ovo@(oOvpv@(quvp@(quvr,@(qq@(svs@(svtSv@(tSvtX@(tXt:@(t:t@(tt@(ttf@(tftI@(tItS*@(tS*s*@(uvuX@(uXu}@(u}uf@(ufuO@(uOuO@(uOuf@(ufu}V@(u}Vu@(uu@(uv4@(v4vb@(vbvV@(vVv@(vv@(vv@(vv@(vv@(vvbX@(vbXv4v@(v4vuv@(w_vw_@(xvx@(xvyW@(yWvyW@(zjvzj@(yv{ v@(||zX@(|zX|5v@(|5v{v@({v{X@({X{g@({g{g@({g{}@({}{@({{f@({f|L*@(|L*|z @(|z |@(||@(||V@(|V|z@(|z|5@(|5{@({{@({{gV @`P0^k&p E `PܐƇ$=^P`P5u0[zE&Us,‡ΨACܵ~ &E Y |P * i| DzE&UQD\PzE&U s-0(C ^&E Y |P vpEvGzE&UP_u#>~]== ??p< SimplexRoman0M&M&0U(0M&0D$30(:Q'(:M&CJCU(CU(CM&CD$35LQ'LM&NVJNVU(NVU(NVM&NVD$40_Q'_M&iJiU(iU(iM&iD$45srQ'srM&{J{U({U({M&{D$507Q'7M&JU(U(M&D$55Q'M&\J\U(\U(\M&\D$60Q'M& J U( U( M& D$65Q'M&U(M&D$700M&0JR2M&0M&;/M&01,0,1R21R2101;/1501707ƌ=R2=R2=0=;/=1001\C0\C+IR2+IR2+I0+I;/+I1501N0NTR2TR2T0T;/T2001Z0Zk`R2k`R2k`0k`;/k`2501;f0;f lR2 lR2 l0 l;/ l3001q0qƪwR2wR2w0w;/w3501z}0z}R2J0J;/J400M&J0J0+INVwNVw{Z{Z\J6mHm0k`NV lNV l{q{q\JTmfm0=NVTNVT{ l{ l\JrmՄm0TNV=NV={ l{ l\1ېmۢm02BNV%PNV%P{T{T\xR\xRWmm{S  SimplexRomanef-{Profit by Unit}St 0 SimplexRomanϟ2z<fit Unit #0_0_=ۊ SimplexRomanf&Q".fit Profit?5I SimplexRoman*3fitWestern]Tg SimplexRoman*3fitEastern{1p{ SimplexRoman*3fiSouthernۙ* SimplexRoman*3fiNorthern SimplexRoman*3fiCentralA BHBpBCCaCCA BHBpBzCCCCA BHBpBBHCCCA BHBpBHCBCHBA BHBpBBB4CHC>CRC profitbyunit[sys]Line.Fmprofitbyunit.DatProfit by UnitUnit #ProfitWesternEasternSouthernNorthernCentralR[[A{@ B.EBCHBAB@Pn~AB,B SimplexRomanPA? Profit by UnitHmvCBIA SimplexRomanP }@? Unit #HmAINB SimplexRomanP@@? ProfitISAB SimplexRomanPtV@? WesternIBB SimplexRomanPtV@? EasternJ3EBB SimplexRomanPtV@? SouthernJBB SimplexRomanPtV@? NorthernIIBB SimplexRomanPtV@? Central ,óó ]] Ϛ Ӣ2F2 " & # sU"sU 6i Pi  ໚ͮ ~] ;- G V# d7A  ^%j VR\%? [: ʠ|)[96H]t֟ہnXG;7_*ʂ9_%/̓@Nd4{Ppş柿Մ%Hj %ڠ//+/:/c//)סBg߄Ʉݢ` D!"1CރO[cpcNc(ccނ`TKn9L,) ́Ϣ{xhTR1@2#ġv N: [{JY{LY}{OY]{UY<{\Y{eYzsYzYzYzYzYpzYYzYCzY/zZz2ZzMZylZyZyZyZyZy[y'[yH[yg[y[y[z[z[&z[9z\Mz0\czH\|z]\zs\z\z\z\ {\,{\K{\n{\{\{\{\{\|\'|\H|\h|\|\|\|\|}\|i\}S\+}<\A}"\U} \g}[v}[}[}[}u[}W[}8[}[}Z}Z}Z}Z}{Z}}]Zo}@Z^}$ZK} Z7}Y }Y}Y|Y|Y|Y|xYx|lYX|aY8|XY|RY{MY{JY{JY ģs6 v~pY4 ]ɔʷ] |ګֲ[宇 ᣻}{أ ~}YтWY$;V~uY #> 7QVAGR~>Q 5I9:5  0G 0G0G/G/G/G/G/Hq/0H_/KHP/fHA/H7/H./H(/H#/I"/!I"/@I%/aI+/I2/I x `   $&@/ʪꪪ& 0@ #`$   [J`  @ Z ]R     &   ?8骫*  A    & $  h`0!  8 {@ !@!0pe  <h 7x    p`    &   `@ 着*&@  @  ` ! w 8H*)[Z   A:/kb& G%Kz/ 0 着&      `         &       ?@>@/?@???@@@  <0>$80 kp/p,< 8 <O? C/ IIL#PKK   GL( ""?      b n Picture 10B0$0b00 S_2PPB@(e@(u@(@(A@(Az@(z@(@(@(^@(^@(@(T@(T@(@(@(*@(p@(pIy@(Iy6@(66@(6I*@(I*p@(p@(@(@(,*@(,*?@(??@(?,y@(,y@(@(@(  PB@(WuPB@(u@(@(Z@(Z@(@(@(@(^@(^@(@(m@(m5@(5@(@(*@( 3u@(uc@(cu@(u,@(,,@(, @(  F@( F Y@( Y Y^@( Y^ F@( F @( @(@(u@(uc@(cP*@($$$$PB@()0W)0uPB@()0u)0@(('x@('x) x@(((@())@())|y@()|y)i@()i)i@()i)|*@()|*)@())@()*@(**9@(*9*_*@(*_**r@(*r*r@(*r*_y@(*_y*9@(*9*@(*)@(.=.=PB@(3IW3IuPB@(3Iu3I@(22x@(2x3$x@(22@(4e3@(33@(33@(33,@(3,4,@(4,4Q@(4Q4x@(4x4@(44^@(4^4x@(4x4Q@(4Q4@(43@(33@(33@(33*@(8V8VPB@(=bW=buPB@(=bu=b@(= =@(==y@(=y=@(==@(==*@(=*=@(=> @(> >2@(>2>k@(>k>*@(>*>@(>>@(>>y@(>y>k@(>k>2@(>2> @(BoBoPB@(G|WG|uPB@(G|uG|@(GF`@(F`FM@(FMF`@(F`F,@(F,F,@(F,G @(G G0@(G0GC@(GCGC^@(GC^G0@(G0G @(G F@(FF@(FF`@(F`FM@(FMF:*@(HG@(GG@(GG@(GH,@(H,HK,@(HK,H@(HH@(HH@(HH^@(H^H@(HH@(HHK@(HKH@(HG@(GG@(GG*@(LLPB@(QWQuPB@(QuQ@(QIQ6@(Q6P@(PP@(PP@(PPyy@(PyyPf@(PfPfx@(PfxPy@(PyP@(PP@(PP@(PQ#@(Q#QI@(QIQ\^@(Q\^Q\x@(Q\xQI@(QIQ#@(Q#P@(PP@(PP@(PPy@(PyPfx@(R?R@(RQy@(QyQ@(QQ@(QQ*@(Q*R@(RR?@(R?Rd@(RdR@(RR*@(R*R@(RR@(RRy@(RyR@(RRd@(RdR?@(VVPB@([W[uPB@([u[@([b[P@([P[@([Z@(ZZ@(ZZy@(ZyZ@(ZZx@(ZxZ@(ZZ@(ZZ@(Z[@([[<@([<[b@([b[u^@([u^[ux@([ux[b@([b[<@([<[@([Z@(ZZ@(ZZ@(ZZx@(\\ @(\ [@([\ @(\ \E,@(\E,\},@(\},\@(\\@(\\@(\\^@(\^\@(\\@(\\}@(\}\E@(\E\ @(\ [@([[*@(``@(eue@(ed@(de@(fqf9@(f9fy@(fye@(ee@(ef*@(f*f9@(f9fq@(fqf@(ff@(ff*@(f*g@(gg@(gfy@(fyf@(ff@(ffq@(W@(@(Z,!@(!@(E@(E@(w@(w!*@(!*Z@(Z@(*@(*w@(w@(E@(E@(@(,@(,Z,@(i::PB@(e||PB@(||@(Q@(@(@(@(@(>@(>d@(dwb@(wbw/@(w/d@(d>@(>@(@(@(@(n@(Z!@(!J@(J@(|@(|@(!@(!Z@(Z@(@(@(|@(|@(J@(J@(@(Z@(iPB@(e$$PB@($$@(.$S$@(S$%5@(%5#@(%5%@(%$@($n$M@(n$Mn$@(n$#@(##3@(#3#@(##@(#>#3@(>#3d#@(d#w$@(w$w$M@(w$Md$@(d$>%@(>%%5@(%5%5@(Z%5!%@(!%$@($$M@($M$@($#@(#!#3@(!#3Z#@(Z##@(##3@(#3#@(#$@($$M@($M$@($%@(%%5@(%5Z%5@(i(C(CPB@(e,,PB@(,,@(.-RS-l@(S-l-@(-+@(Q--@(-,@(,,@(,-@(--@(->,@(>,d,@(d,w,k@(w,kw,7@(w,7d+@(d+>+@(>++@(++@(++@(++@(+n,@(Z-!-@(!--R@(-R,@(,,@(,,@(,!+@(!+Z+@(Z++@(++@(+,@(,,@(,,@(,-R@(-R-@(--@(-Z-@(i00PB@(e5 5 PB@(5 5 @(55@(56 @(6 .6$@(.6$S6=@(S6=6=@(6=6$@(6$6 @(6 5@(55@(55p@(5p5#@(5#4!@(4!4!@(6=6$@(6$5@(5n5V@(n5Vn5 @(n5 4@(44;@(4;4!@(4!4!@(4!>4;@(>4;d4@(d4w5 @(w5 w5V@(w5Vd5@(d5>6$@(>6$6=@(6=6=@(Z6=!6$@(!6$5@(55V@(5V5 @(5 4@(4!4;@(!4;Z4!@(Z4!4!@(4!4;@(4;4@(45 @(5 5V@(5V5@(56$@(6$6=@(6=Z6=@(i9K9KPB@(e==PB@(==@(>B>[@(>[>@(>.>@(.>S>@(S>>@(>>@(>>@(>>[@(>[>(@(>(=@(==@(=<@(<<@(Q>>@(>=@(==@(=>@(>>@(>>=@(>=d=@(d=w=t@(w=tw=A@(w=Ad<@(d<><@(><<@(<<@(<<@(<<@(<n= @(Z>!>@(!>>[@(>[=@(==@(== @(= !<@(!<Z<@(Z<<@(<<@(<= @(= =@(==@(=>[@(>[>@(>>@(>Z>@(iAAPB@(eFFPB@(FF@(GFGF@(GFyFx@(yFxFx@(FxF^@(F^FE@(FEE@(EE@(EEw@(EwEC@(ECE*@(E*SE*@(SE*EC@(ECE]@(E]E@(GFG,@(G,F@(FnF^@(nF^nF@(nFE@(EEC@(ECE*@(E*E*@(E*>EC@(>ECdE@(dEwF@(wFwF^@(wF^dF@(dF>G,@(>G,GF@(GFGF@(ZGF!G,@(!G,F@(FF^@(F^F@(FE@(E!EC@(!ECZE*@(ZE*E*@(E*EC@(ECE@(EF@(FF^@(F^F@(FG,@(G,GF@(GFZGF@(iJTJTPB@(eNNPB@(NN@(OO@(OyN@(yNN@(NN@(NN@(NN|@(N|NI@(NIM@(MM@(MM@(MSM@(SMM@(MM@(MN@(QOO@(ON@(NN@(NO@(OO@(O>N@(>NdN@(dNwN|@(wN|wNI@(wNIdM@(dM>M@(>MM@(MM@(MM@(MM@(MnN@(ZO!O@(!OOd@(OdN@(NN@(NN@(N!M@(!MZM@(ZMM@(MM@(MN@(NN@(NN@(NOd@(OdO@(OO@(OZO@(iRR@(WW@(XOV@(VV@(XOV3@(XOX5@(X5W@(WnWh@(nWhnW@(nWV@(VVM@(VMV3@(V3V3@(V3>VM@(>VMdV@(dVwW@(wWwWh@(wWhdW@(dW>X5@(>X5XO@(XOXO@(ZXO!X5@(!X5W@(WWh@(WhW@(WV@(V!VM@(!VMZV3@(ZV3V3@(V3VM@(VMV@(VW@(WWh@(WhW@(WX5@(X5XO@(XOZXO@(eeW@(eWWP@(,)0N@()0N)0N@()0N=b9K@(=b9K=b9K@(=b9KQW@(:b2!b2PB@(=)0F@()0F)0F@()0F=bJT@(=bJT=bJT@(=bJTQW@((bb22b2PB@($)05 @()05 )05 @()05 =bF@(=bF=bF@(=bFQW@(8b2B:b2PB@(5 )0$@()0$)0$@()0$=bF@(=bF=bF@(=bFQ|@(Hb2Rcb2PB@('h)01@()01)01@()01=b5 @(=b5 =b5 @(=b5 Q3U@(Q3UQ3U@(Q3Ue6@(Xb2bb2PB@((yo(r @((yo*yo@(*yo+2y@(+2y+ix@(+ix+x@(+x+v@(+v+ivD@(+ivD+2u@(+2u*u@(*u(u@(-#v-#r @(-#t-Yu@(-Yu-v@(-v.6v@(.6v.v@(0v0]v@(0]v/u@(/u/t@(/t/t'@(/t'/s@(/s0]rd@(0]rd0r @(0r 1qr @(1qr 1rd@(1rd2Ms@(2Ms2t'@(2t'2t@(2t2Mu@(2Mu1v@(1v1qv@(1qv0v@(5Qyo4yo@(4yo4ty@(4ty4=x@(4=x4=r @(3v5v@(6eyo6y@(6y6yo@(6yo6y@(6y6eyo@(6v6r @(8yo8ss@(8ss8rd@(8rd90r @(90r 9r @(7v9hv@(=yo=r @(=u=~v@(=~v=v@(=v>v@(>v?v@(?v?ou@(?ou?t@(?t?t'@(?t'?os@(?os?rd@(?rd>r @(>r =r @(=r =~rd@(=~rd=s@(@vBr @(CNvBr @(Br Ap@(ApA'o@(A'o@o@(@o@o@(FyoFt'@(Ft'Fs@(FsGerd@(GerdH r @(H r Hyr @(Hyr Ird@(IrdIs@(IsIt'@(It'Iyo@(K}vK}r @(K}uL"v@(L"vLv@(LvM6v@(M6vMv@(MvMu@(MuMr @(O]yoOy@(OyOyo@(OyoOy@(OyO]yo@(OvOr @(QyoQss@(QssQrd@(QrdR)r @(R)r Rr @(PvR`v@(9 9@(99j@(9j9@(9:<@(:<:s@(:s:@(::j@(:j;@(;; @(; U;@(;  @(> = @(= = @(= U=@(> >@(>?@(??=@(?=?s@(> U?W U@(A ?A&@(B ?A@(A& B @(A B@(Q[QY@(Q[ [@( [I[@(I[][@(][r[T@(r[TrZ@(rZ]Z@(]ZIZ@(IZ Zg@( ZgQZg@(ZY@(Z$Z@(ZAZ@(AZjZ@(jZZ@(cZ9Z@(9ZZ@(ZZ$@(Z$Y@(YY{@(Y{9Y7@(9Y7cY@(cYY@(YY7@(Y7Y{@(Y{Y@(YZ$@(Z$Z@(ZZ@(ZZ@(ZcZ@([[@([[@([[T@([TY@(oZZ@(|[[@([[@([[@([|[@(ZY@(J[JY@(JY_Y7@(_Y7Y@(YY@( ZZ@(i@f@(i@f@(i&f@(i&f@( g"g@("g"h,@("h, hw@( hwh@(hh@(hh@(hRh@(Rh$hQ@($hQ g@( g g@( g$g#@($g#Rf@(Rff@(ff@(ff@(f"g#@(hQh@(hNh@(Nh h@( hh@(hhQ@(hQh@(hg@(geg@(egg@(ggI@(gIg#@(g#f@(fNf@(Nf f@( ff@(fg#@(cicgI@(cgIzf@(zff@(ff@(hh@(Jg_g@(_g_h,@(_h,Hhw@(Hhw1h@(1hh@(hh@(hh@(hahQ@(ahQJg@(JgJg@(Jgag#@(ag#f@(ff@(ff@(f1f@(1f_g#@( h f@( g hQ@( hQ Fh@( Fh th@( th h@(!-h!-f@(!-h,!rh@(!rh!h@(!h!h@(!h"h@("h"+h,@("+h,"+f@((Qi(Qf@((Qi)}i@((QhQ) hQ@((Qf)}f@(+h+f@(+hQ*h@(*h*h@(*h*dh@(*dh*5h@(*5h*hQ@(*hQ)g@()g)g@()g*g#@(*g#*5f@(*5f*df@(*df*f@(*f*f@(*f+g#@(,hQ,h@(,h,Ih@(,Ih,h@(,h+h@(+h+hQ@(+hQ+h@(+h+g@(+g,`g@(,`g,g@(,g,gI@(,gI,g#@(,g#,f@(,f,If@(,If,f@(,f+f@(+f+g#@(-]i-]gI@(-]gI-tf@(-tf-f@(-f-f@(-h-h@(.Eg/Yg@(/Yg/Yh,@(/Yh,/Bhw@(/Bhw/,h@(/,h.h@(.h.h@(.h.h@(.h.\hQ@(.\hQ.Eg@(.Eg.Eg@(.Eg.\g#@(.\g#.f@(.f.f@(.f.f@(.f/,f@(/,f/Yg#@(/h/f@(/g0hQ@(0hQ0@h@(0@h0nh@(0nh0h@(1(h1(f@(1(h,1lh@(1lh1h@(1h1h@(1h2h@(2h2%h,@(2%h,2%f@(8iZ8yi@(8yi84i@(84i7i@(7i7i@(7i7diZ@(7diZ7di@(7di7{h@(7{h7h@(7h7hw@(7hw8Kh,@(8Kh,8yh@(8yh8g@(8g8g@(8g8g#@(8g#8yf@(8yf84f@(84f7f@(7f7f@(7f7dg#@(9h9wh@(9wh9IhQ@(9IhQ92g@(92g92g@(92g9Ig#@(9Ig#9wf@(9wf9f@(9f9f@(9f:f@(:f:Gg#@(:Gg#:^g@(:^g:^g@(:^g:GhQ@(:GhQ:h@(:h9h@(9h9h@(;h;gI@(;gI;f@(;f;Ef@(;Ef;f@(;f;f@(;f;gI@(;h;f@(h@(>h>?h@(>?h>h@(>h>h@(>h>h,@(>h,>f@(?kg@g@(@g@h,@(@h,@hhw@(@hhw@Rh@(@Rh@#h@(@#h?h@(?h?h@(?h?hQ@(?hQ?kg@(?kg?kg@(?kg?g#@(?g#?f@(?f?f@(?f@#f@(@#f@Rf@(@Rf@g#@(A!hA!f@(A!gA8hQ@(A8hQAfh@(AfhAh@(AhAh@(BNhBNf@(BNh,Bh@(BhBh@(BhCh@(ChC4h@(C4hCKh,@(CKh,CKf@(GiGf@(GiIf@(IiIf@(J)hIh@(IhIhQ@(IhQIg@(IgIg@(IgIg#@(Ig#If@(IfJ)f@(J)fJnf@(JnfJf@(JfJg#@(Jg#Jg@(JgJg@(JgJhQ@(JhQJh@(JhJnh@(JnhJ)h@(KhKf@(KgKhQ@(KhQKh@(KhKh@(KhL;h@(LiLgI@(LgILf@(LfM f@(M fM9f@(LhM#h@(MiMf@(Mh,N h@(N hN8h@(N8hN}h@(N}hNh@(NhNh,@(Nh,Nf@(OdgPyg@(PygPyh,@(Pyh,Pbhw@(PbhwPKh@(PKhPh@(PhOh@(OhOh@(OhO{hQ@(O{hQOdg@(OdgOdg@(OdgO{g#@(O{g#Of@(OfOf@(OfPf@(PfPKf@(PKfPyg#@(QhQf@(QgQ1hQ@(Q1hQQ`h@(Q`hQh@(QhQh@(RGhRGf@(RGh,Rh@(RhRh@(RhSh@(ShS-h@(S-hSEh,@(SEh,SEf@(Z]iZFiZ@(ZFiZZi@(ZiYi@(YiYi@(YiY_i@(Y_iY1iZ@(Y1iZYi@(YiYh@(YhYg@(YgYgo@(YgoY1g#@(Y1g#Y_f@(Y_fYf@(YfYf@(YfZf@(ZfZFg#@(ZFg#Z]go@(Zg[g@([g[h,@([h,[hw@([hw[h@([h[h@([h[[h@([[h[-h@([-hZhQ@(ZhQZg@(ZgZg@(ZgZg#@(Zg#[-f@([-f[[f@([[f[f@([f[f@([f[g#@(\h\f@(\h,\h@(\h]h@(]h]Wh@(]Wh]h@(]h]h,@(]h,]f@(^ki^kgI@(^kgI^f@(^f^f@(^f^f@(^&h^h@(_ih_if@(_ig_hQ@(_hQ_h@(_h_h@(_h`"h@(ahaf@(ahQafh@(afha8h@(a8h`h@(`h`h@(`h`hQ@(`hQ`g@(`g`g@(`g`g#@(`g#`f@(`f`f@(`fa8f@(a8faff@(affag#@(bMibMf@(azkz@(lHiz}iz@(j` ` @(l@(3` ` @(35 e5@(N&B@(Oa@(_|Tv@(kDk dkhp@(O\Ds Z@(!o)M @( #@(<[9V:>:>:}>&:j>1:W>;:D>C:/>J:>P:>U9>X9>[9>\9>\9>Z9x>W9a>S9J>N94>G9>?9 >68>,8>!8>8>8=8=8=8=8v=8m=8e=8_=8Z=s8V=a8T=X8T@(RU8kv&@(>8pjR@pdkhpg:kghEdkhpR@pTvW:yX wTvR@pRU;U/RSXQRU(R@p>8zA%8^@>6>8tR@pC F F4C R@p&s )W ' Q&w R@p  f  R@p wCH0E7 eA C>R@pa,c a &a@(a*+b@(j^acblR@pcblfcff`cblR@p%R * '%1R@l).M)M) M(M (M(M(M (M*(M6(MC(MQ(xMb(lMr(`M(UM(LM(DM(+C+J+T+_+j+wv+i+]+Q+F+=+5+-, ', ",8,N,f,},,!,%,*,1-8-B-/L-CW-Vb-gp-w}-----------1-D-V-g-y-------p-_-L-9-& -,,,,",#,#,r!,Z,C,,,,++++++++q+d+X+Op+G_+@M+<:+8(+6+6@(jc*ja@(jc*la@(lc*la@(lc*la@(lalaU@(laUla!@(la!ma@(mam:a@(m:amsa!@(msa!maU@(maUma@(mamc*@(nFc*nFa@(nFc*na@(owc*na@(owc*owa@(pc*pa@(pc*pc*@(pc*pc@(pcq b@(q bqb@(qbqb@(qbq bY@(q bYpb?@(pb?pb%@(pb%pb%@(pb%pb @(pb q a@(q aqa@(qaqan@(qanq a:@(q a:pa!@(pa!pa@(papa@(qc*qa@(qc*rc*@(qb%r;b%@(qara@(sc*sa@(sc*sc*@(sc*sc@(sctb@(tbtb@(tbtb@(tbtbY@(tbYsb?@(sb?sb%@(sb%sb%@(sb%ta@(uc*uc@(ucusb@(usbu_b@(u_buMbY@(uMbYuMa@(uMau_a@(u_ausaU@(usaUua!@(ua!ua@(uav a@(v av2a!@(v2a!vXaU@(vXaUvka@(vkav~a@(v~av~bY@(v~bYvkb@(vkbvXb@(vXbv2c@(v2cv c*@(v c*uc*@(wc*wa@(wc*wc*@(wb%wb%@(yc*ya@(yaza@(zac*zaa@(zc*za@(zc*|a@(|c*|a@(|c*|a@(|c*}c*@(|b%}8b%@(|a}a@(b~c@(~c~c*@(~c*~Xc*@(~Xc*~c@(~c}b@(}b}b@(}b~ bs@(~ bs~bY@(~bY~Db?@(~Db?~b @(~b ~a@(~a~a@(~aa@(aaU@(aU~a!@(~a!~a@(~a~Xa@(~Xa~a!@(~a!}aU@(bb{@(bc@(dGdG{@(ee{@(dfv@(g g {@(g {hj{@(hh{@(hjz@(h}i}@(h{jz{@(lllj@(llmj@(mlmj@(nln7j@(nlopj@(nqkSo5kS@(oloj@(olpnj@(q lpnj@(q lq j@(qlqj@(qlrl@(qkrEk@(qjrj@(tBltl@(tlslx@(slxslC@(slCsk@(skskn@(sknsk@(sksj@(sjtj@(tjtBj@(tBjtj@(tjtj@(tjtj@(tjtk@(tkukn@(uknuk@(uktlC@(tlCtlx@(tlxtl@(tltl@(tltBl@(uluj@(ulvl@(ukv,k@(wlwj@(wjxj@(ylyj@(ylyj@(ylzj@(zlzj@({Ml{Mj@({Ml|Kl@({Mk{k@({Mj|Kj@(}lx}l@(}l}^l@(}^l}l@(}l|l@(|l|lx@(|lx|lC@(|lC|l @(|l |k@(|k|k@(|k}qk@(}qk}k@(}k}kn@(}kn}k8@(}k8}j@(}j}j@(}j}^j@(}^j}j@(}j|j@(|j|j@(=cb@(ba@(vcb@(caa@(ca@(bH`bH@(ca@(ca@(ca@(cnc@(cc@(coc@(oc4c@(4c cn@( cn c8@( c8!c@(!c4b@(4b[b@([bb@(bb}@(b} bc@( bcb.@(b.a@(aa@(aa@(aoa@(oa4a@(4a a@(lcla@(la Wa@( c a@( c a@( bH }bH@( c a@( c c@( c c@( c c@( c ,cS@( ,cS ,c@( ,c b@( b b@( b b@( b b@( b b@( b b}@( b} ,bH@( ,bH ,a@( ,a a@( a a@( a a@( a a@( c a@( c c@( b Rb@( a a@(*c*a@(*aa@(OQL@(QOL@(S#RdL@(S#SL@(R/S/@(TAUL@(UTAL@(V6V6L@(X+W@(WW@(WWT@(WTW @(W V@(VVT@(VTV@(VW @(W W=@(W=W@(WWq@(WqXP@(XPX+@(X+X+@(X+Wm@(WmWL@(WLWTL@(WTLW m@(W mV@(YYL@(YLZL@([[L@([\L@([W/\E/@(]]L@(]]@(]^#@(^#^:@(^:^Ru@(^Ru^R4@(^R4^:@(^:^#@(^#]@(]]@(]^#@(^#^:q@(^:q^R/@(^R/^R@(^R^:@(^:^#m@(^#m]L@(]L]L@(^^L@(^`/@(^_@(^L`/L@(``L@(`LaL@(98@(87>@(98@(9r7>@(19r7>@( 9`7>@( 97>@(8!8!@(U9U7>@(U7>t7>@(98@(87@(737^@(37^{7>@({7>7>@(7>7^@(7^ "7@( "7 98@( 98 99@( 9 7>@( 9 .9@( 8 8@( 7> .7>@( 9 9@( 9 }9@( }9 9@( 9 9@( 9 9@( 9 9E@( 9E 9@( 9 8@( 8 8@( 8 8@( 8 8b@( 8b 8B@( 8B 8@( 8 7@( 7 7^@( 7^ }7>@( }7> 7>@( 7> 7^@( 7^ 7@( d_@(d _@( q_@(0 q_@( `_@( _@(BB@(U U_@(U_ s_@(  "@( "!@(!!2@(!2!z_@(!z_!_@(!_!@(!"!@("!"9"@("9""9 @(" "_@(" $. @("#@("_$._@(%%@(%%| @(%| % @(% $@($$@($$g@($g$&@($&$@($%@(%%@(%%@(%%c@(%c%"@(%"%@(%%@(%%|_@(%|_%_@(%_$@($$@(ll@(lm@(mm@(mnj@(njn #@(n #n:@(n:n:@(n:n @(n nT@(nTm @(m m@(ml@(otn@(otpE@(no@(q1q1@(pzq@(rr@(rs@(rjso@(uFuF@(uFv1@(v1v@(vv@(vvG@(vGv@(vv@(vvq@(vqv1N@(v1NuFN@(ww@(wwj@(wjwk#@(wk#wP@(wPwP@(wPwk@(wkwT@(wTw @(w w@(wxV@(xVx @(x xT@(xTx@(xx@(xx@(xx#@(x#xj@(xjx@(xxV@(xVw@(yy@(z{z{@(z{{@({{@(}#}#@(|l}@(j|@(|.@(.~@(~~w@(~w~Cj@(~Cj~C#@(~C#~]@(~]~w@(~w~@(~HN@(HN|*@(|*@(@(T@(T| @(| .@(.~@(~~w @(~w ~CT @Fux ny iC ck4!a!tC "iM"ox"n#lC#ox#w$k$fP%ox%P*`I2t'2t@(2t2Mu@(2Mu1v@(1v1qv@(1qv0v@(5Qyo4yo@(4yo4ty@(4ty4=x@(4=x4=r @(3v5v@(6eyo6y@(6y6yo@(6yo6y@(6y6eyo@(6v6r @(8yo8ss@(8ss8rd@(8rd90r @(90r 9r @(7v9hv@(=yo=r @(=u=~v@(=~v=v@(=v>v@(>v?v@(?v?ou@(?ou?t@(?t?t'@(?t'?os@(?os?rd@(?rd>r @(>r =r @(=r =~rd@(=~rd=s@(@vBr @(CNvBr @(Br Ap@(ApA'o@(A'o@o@(@o@o@(FyoFt'@(Ft'Fs@(FsGerd@(GerdH r @(H r Hyr @(Hyr Ird@(IrdIs@(IsIt'@(It'Iyo@(K}vK}DH*0NL俤NLdtxvxQxt Z,., txxG! %igM5B=3.0 =A:## *,8058<OD]JSxYd h Linker R12.3.1 Run file : QuickGraph.Run Link Start Time : 03/28/94 23:55:28 Config File : [Sys]LinkerConfig.Sys Start Stop Length Name Class 00000000h 00000001h 0002h (0084h) HEAP MEMORY 00000010h 00000010h 0000h (0084h) MEMORY MEMORY 00000010h 00003B95h 3B86h (0084h) STACK STACK 00003BA0h 00008AF7h 4F58h (0084h) DATA DATA 00008AF8h 00008AF8h 0001h (0084h) Forms_Data DATA 00008AFAh 00008B01h 0008h (0084h) EINQQQ DATA 00008B02h 00008B25h 0024h (0084h) MODULE_DATA DATA 00008B30h 00008B30h 0000h (0084h) COMADS COMADS 00008B30h 00008B30h 0000h (0084h) COMADS_DATA COMADS 00008B30h 00009E21h 12F2h (0084h) CONST CONST 00009E22h 00009E51h 0030h (0084h) TRANS CONST 00009E60h 00009E73h 0014h (0084h) STATICS CONST 00009E80h 00009E80h 0000h (0084h) COMMQQ COMMON 00009E80h 00009E80h 0000h (0084h) COMMON_DATA COMMON 00009E80h 00009EBAh 003Bh (008Ch) COMMONDUMMY COMMON 00009EC0h 0000B2C3h 1404h (0094h) QUICKGRAPH CODE 0000B2D0h 0000C1FFh 0F30h (009Ch) PIE CODE 0000C200h 0000F5CBh 33CCh (00A4h) LINE CODE 0000F5D0h 00011079h 1AAAh (00ACh) BAR CODE 00011080h 00012AC8h 1A49h (00B4h) ALPHALINE CODE 00012AD0h 00014412h 1943h (00BCh) FMRUN1_CODE CODE 00014420h 00014552h 0133h (00C4h) BLANKCONTROL_CODE CODE 00014560h 00014600h 00A1h (00CCh) FMCMPB_CODE CODE 00014610h 00015675h 1066h (00D4h) FMUSER_CODE CODE 00015680h 00016157h 0AD8h (00DCh) FMRUN2_CODE CODE 00016160h 000162F0h 0191h (00E4h) VAM2_CODE CODE 00016300h 000164A0h 01A1h (00ECh) FMFLAG_CODE CODE 000164B0h 0001653Ah 008Bh (00F4h) FMCHAR_CODE CODE 00016540h 00016A5Eh 051Fh (00FCh) FMEXTEND_CODE CODE 00016A60h 00016AEEh 008Fh (0104h) FMBNRY_CODE CODE 00016AF0h 00016DDDh 02EEh (010Ch) FMERROR_CODE CODE 00016DE0h 00016E14h 0035h (0114h) FatalPro CODE 00016E20h 00016ECFh 00B0h (011Ch) MSGRET_CODE CODE 00016ED0h 00016FAAh 00DBh (0124h) samswi CODE 00016FB0h 00017624h 0675h (012Ch) WRPARM_CODE CODE 00017630h 00017803h 01D4h (0134h) samgen CODE 00017810h 00017D07h 04F8h (013Ch) SAMINF_CODE CODE 00017D10h 00017E22h 0113h (0144h) SAMSYS_CODE CODE 00017E30h 00017E64h 0035h (014Ch) caproc CODE 00017E70h 00017EF0h 0081h (0154h) mode CODE 00017F00h 00017F54h 0055h (015Ch) SAMREB_CODE CODE 00017F60h 00017FD2h 0073h (0164h) QueryGpsAvail_Code CODE 00017FE0h 000187E8h 0809h (016Ch) SAMDSE_CODE CODE 000187F0h 00018A23h 0234h (0174h) SAMDRE_CODE CODE 00018A30h 00018D03h 02D4h (017Ch) SAMDCL_CODE CODE 00018D10h 0001955Dh 084Eh (0184h) SAMSPL_CODE CODE 00019560h 000196E2h 0183h (018Ch) sambrn CODE 000196F0h 000197E0h 00F1h (0194h) SAMDSW_CODE CODE 000197F0h 000197F7h 0008h (019Ch) SamOpF_Code CODE 00019800h 00019905h 0106h (01A4h) ifasyn CODE 00019910h 00019CE4h 03D5h (01ACh) SAMDWR_CODE CODE 00019CF0h 00019F3Eh 024Fh (01B4h) SAMVOP_CODE CODE 00019F40h 00019FD2h 0093h (01BCh) CHECKINSSAM_CODE CODE 00019FE0h 0001A094h 00B5h (01C4h) SAMDRENDEL_CODE CODE 0001A0A0h 0001A20Bh 016Ch (01CCh) SAMDBG_CODE CODE 0001A210h 0001A2B9h 00AAh (01D4h) CTOSVERSION_CODE CODE 0001A2C0h 0001B359h 109Ah (01DCh) COLOR_CODE CODE 0001B360h 0001C29Eh 0F3Fh (01E4h) SAMVWR_CODE CODE 0001C2A0h 0001C4C2h 0223h (01ECh) samcom CODE 0001C4D0h 0001C86Bh 039Ch (01F4h) SAMDOP_CODE CODE 0001C870h 0001C958h 00E9h (01FCh) SAMKBD_CODE CODE 0001C960h 0001CA20h 00C1h (0204h) SAMNUL_CODE CODE 0001CA30h 0001CAFEh 00CFh (020Ch) SAMDMM_CODE CODE 0001CB00h 0001CB38h 0039h (0214h) SIMode CODE 0001CB40h 0001CBC2h 0083h (021Ch) FSRP_CODE CODE 0001CBD0h 0001CC38h 0069h (0224h) BitVidCode CODE 0001CC40h 0001CD9Ch 015Dh (022Ch) EXPDT_CODE CODE 0001CDA0h 0001CDE6h 0047h (0234h) Math32_Code CODE 0001CDF0h 0001D01Eh 022Fh (023Ch) SAMCDSE_CODE CODE 0001D020h 0001D15Fh 0140h (0244h) SAMTXT_CODE CODE 0001D160h 0001D2E6h 0187h (024Ch) SAMCDOP_CODE CODE 0001D2F0h 0001D3E9h 00FAh (0254h) Lq_Dword_Code CODE 0001D3F0h 0001D5DDh 01EEh (025Ch) SAMCDRE_CODE CODE 0001D5E0h 0001D701h 0122h (0264h) parsingvol CODE 0001D710h 0001D7E9h 00DAh (026Ch) BUILDINGNODE_CODE CODE 0001D7F0h 0001D971h 0182h (0274h) parsingdir CODE 0001D980h 0001DCC3h 0344h (027Ch) PARSINGUTILS_CODE CODE 0001DCD0h 0001DDCFh 0100h (0284h) BUILDINGUTILS_CODE CODE 0001DDD0h 0001DE83h 00B4h (028Ch) parsingnode CODE 0001DE90h 0001E265h 03D6h (0294h) SAMLPT_CODE CODE 0001E270h 0001E626h 03B7h (029Ch) enlsprocs CODE 0001E630h 0001E9E4h 03B5h (02A4h) SAMVUT_CODE CODE 0001E9F0h 0001EA9Ch 00ADh (02ACh) ENLSFIND_CODE CODE 0001EAA0h 0001EBBAh 011Bh (02B4h) enlskbd CODE 0001EBC0h 0001EC8Bh 00CCh (02BCh) GETNLSTABLE_CODE CODE 0001EC90h 0001ED51h 00C2h (02C4h) ENTXQQ CODE 0001ED60h 0001EE43h 00E4h (02CCh) MISYQQ CODE 0001EE50h 0001EE73h 0024h (02D4h) MMOVESL CODE 0001EE80h 0001F526h 06A7h (02DCh) LSTLQQ CODE 0001F530h 0001F546h 0017h (02E4h) MISO2Q CODE 0001F550h 0001F566h 0017h (02ECh) MISOQQ CODE 0001F570h 0001F751h 01E2h (02F4h) INTRQ7 CODE 0001F760h 0001F837h 00D8h (02FCh) CMPRQ7 CODE 0001F840h 0001F9BAh 017Bh (0304h) OEMR87 CODE 0001F9C0h 00021394h 19D5h (030Ch) ENTR7Q CODE 000213A0h 000213D5h 0036h (0314h) CSEG CODE 000213E0h 00021A82h 06A3h (031Ch) FIBUQQ_CODE CODE 00021A90h 00021ACEh 003Fh (0324h) MRUNTIME CODE 00021AD0h 00021E4Dh 037Eh (032Ch) ERREEQ CODE 00021E50h 000221A7h 0358h (0334h) FIAUQQ_CODE CODE 000221B0h 00022351h 01A2h (033Ch) CODCQQ CODE 00022360h 00022597h 0238h (0344h) ERREQQ CODE 000225A0h 0002296Dh 03CEh (034Ch) LONCQQ CODE 00022970h 00022C06h 0297h (0354h) RENC CODE 00022C10h 00022C49h 003Ah (035Ch) INTRQ7 CODE 00022C50h 00022D6Ah 011Bh (0364h) FICUQQ_CODE CODE 00022D70h 000231C1h 0452h (036Ch) PASEQQ CODE 000231D0h 0002328Dh 00BEh (0374h) syscom CODE 00023290h 000232AEh 001Fh (037Ch) MFILLSC CODE 000232B0h 000232B5h 0006h (0384h) passwp CODE 000232C0h 000233C5h 0106h (038Ch) CMPDQ7 CODE 000233D0h 000235AEh 01DFh (0394h) LONGQQ CODE 000235B0h 0002361Bh 006Ch (039Ch) MERR87 CODE 00023620h 0002363Bh 001Ch (03A4h) MMOVEL CODE 00023640h 000237C9h 018Ah (03ACh) HEAHQQ CODE 000237D0h 000237EDh 001Eh (03B4h) MFILLC CODE 000237F0h 00023A4Bh 025Ch (03BCh) MISHQQ CODE 00023A50h 00023A5Dh 000Eh (03C4h) DivXqq CODE 00023A60h 00023A85h 0026h (03CCh) MMOVESR CODE 00023A90h 00023B49h 00BAh (03D4h) INITFRAME0_CODE CODE 00023B50h 00023BABh 005Ch (03DCh) MARITH CODE 00023BB0h 000241CEh 061Fh (03E4h) DEDRQQ CODE 000241D0h 00024234h 0065h (03ECh) RNARQQ CODE 00024240h 00024529h 02EAh (03F4h) FMRC CODE 00024530h 00024B40h 0611h (03FCh) DAMOCT_CODE CODE 00024B50h 00024BC9h 007Ah (0404h) SAMWRB_CODE CODE 00024BD0h 00024DA2h 01D3h (040Ch) DAMMSC_CODE CODE 00024DB0h 0002538Dh 05DEh (0414h) DAMUTL_CODE CODE 00025390h 00025629h 029Ah (041Ch) DAMRWD_CODE CODE 00025630h 0002581Dh 01EEh (0424h) QUERYNODE_CODE CODE 00025820h 00025820h 0000h (042Ch) ??SEG ??SEG Program entry point at 1EC9:0024 (02C4:0024) No warnings detected No errors detected ZZ'Z Z%ZZ'ZZZ Z"ZZ(Z ZZ Z$ZZ%ZZZZZZZZ ZZZ Z Z Z!ZZZZZ Z!ZZZZ'ZZZ ZZZZZZZZZZ Z!ZZZ Z!ZZZ Z ZZZ Z!Z X    M    F    3 L  t~eU    ;    # O   & Me,8,UpU/_m ()]f.$3c` t` `  9 !!!>!B!#B!]B!B!B!B!!!!!!!!!!;!b!q!7!]w"w"w"w"Fw"vw"w"w"/"hh l )"+Z]iw-~Z~-=>O^ (,3:QU_mz#;FJ2 \ ` r !!>!?!B!N!T!!!!P"X"w"""#BWQuickGraph.pas BW PieMod.pas PieTitleNumberofSlices SliceData1 SliceData2 SliceData3 SliceData4 SliceData5 SliceData6 SliceData7 SliceData8 SliceData9 SliceData10 SliceData11 SliceData12 SliceData13 SliceData14 SliceData15 SliceData16Slice#FormatBW LineMod.pas LineTitlexLabelyLabelcLines LineData1 LineData2 LineData3 LineData4 LineData5 LineData6 LineData7 LineData8 LineData9 LineData10 LineData11 LineData12Line#xValue#yValue#FormatBW BarMod.pas BarTitlexAxisyAxis cBarGroups cBarsPerGroupBarData1BarData2BarData3BarData4BarData5BarData6BarData7BarData8BarData9 BarData10 BarData11 BarData12Bar#BRGrp#FormatBWAlphaLineMod.pas LineTitlexLabelyLabelcLinescCoords LineData1 LineData2 LineData3 LineData4 LineData5 LineData6 LineData7 LineData8 LineData9 LineData10 LineData11 LineData12Line#xValue#yValue#Format;x97Enter the name of a Quick Graph data file and Press GO.9(99(@@9@DataFileStatusM9H EEEE E'E.E9E@ EG EFkey GQQQQQQUUUUIIIIIIIICCCCCCKKKKQQQQQQQQUUUUIIIIIIIICCCCCCCCKKKKQQQQUUUUIICC KKKKQQQQUUUUIICC KKKK QQQQQUUUUIICC KKKKKKQQQQQUUUUIICC KKK KKQQQQQQQQ UUUUUUUUIIIIIIIICCCCCCCCKKKKQQQQQQ  UUUUUUIIIIIIIICCCCCCKKKK  :GGGGGGGRRRRRRRAAAAAAPPPPPPPHHHHGGGGGGGGRRRRRRRRAAAAAAAAPPPPPPPPHHHHGGGGRRRRAAAAPPPPHHHHGG RRRRRRRRAAAAAAAAPPPPPPPPHHHHHHHHGGGGGGRRRRRRRAAAAAAAAPPPPPPPHHHHHHHHGGGGRRRRAAAAPP HHHHGGGGGGGG RRRRAAAAPP HHHHGGGGGGRRRRAAAAPP HHHHkPCREnter the name of a Quick Graph data file and Press Go.PPbk@FileNameP>'Line Graph - AlphaNumeric<Title of the LINE Graph=X (Horizontal) Axis label=Y (Vertical) Axis label=<)The number of Comparative LINES for graph= The numberof Data Points per Line= < Name of LineX LabelY Value!  !  !  !  !  $  $  $  $  $  $   Format =   <;Zd@dd@kd@.r@d@.y@d@ dB- dB: dB !@d@% @d@2 @d@ !d@% d@2 d@ !d@% d@2 d@ !@d@% @d@2 @d@!@d@% @d@2 @d@% @d@2 d@% d@2 d@% d@2 d@% d@2 d@% d@2 d@% $d@2 $d@ 3d@% :d@2 :d@;Id LineTitleXLabelYLabelcLinescCoordsLine#xValue#yValue# LineData1 LineData2 LineData3 LineData4 LineData5 LineData6 linedata7 linedata8 linedata9 linedata10 linedata11FORMAT linedata12StatusM!! Bar Graph!KTitle for the Bar Graph= KX (Horizontal) Axis name=  Y (Vertical) Axis name= Number of Groups with Bars = +Number of BARS per Group= Format = K Name of Bar  Name of Bar Group  Value of BAR  in Group KK @@ @ @@@1@ B+ B= BH B @ @0 @ @ @0 @ "@ "@0 "@ /@ /@0 /@<@<@0<@I@V@c@p@}@@@KBARTitleXaxisYaxis cBarGroups cBarsPerGroupFormatBar#BRGrp#BarData1Bardata2Bardata3bardata4bardata5bardata6bardata7bardata8bardata9 bardata10 bardata11 bardata12StatusoE`o  >>  9?N& Pie ChartTitle of PIE chart=The number of slices=Name of Slice   Value of Slice7 Format = '77@@@B4B@%@@%@@%@@%@ @% @ @% @ +@% +@ :@@% :@@ I@@% I@@ X@@% X@@h@@%h@@x@@%x@@@@%@@@@%@@@@%@@@@%@@ '@7PieTitleNumberOfSlicesSlice# SliceData1 SliceData2 SliceData3 SliceData4 SliceData5 SliceData6 SliceData7 SliceData8 SliceData9 SliceData10 SliceData11 SliceData12 SliceData13 SliceData14 SliceData15 SliceData16FormatStatus\N8G0 Line Graph - NumericLTitle of the LINE Graph=X (Horizontal) Axis label=Y (Vertical) Axis label=The number of ComparativeLINES for graph=L Name of Line# of Data Points for LineX ValueY Value               4  4  4  4  4  4   Format = "  LLL!Data file format: Leading Spaces  Data length  Trailing Spaces GQ@QQ@XQ@._Q@fQB1fQB<pQBIxQBQ@#Q@5 Q@B Q@ Q@# Q@5 Q@B Q@ Q@# Q@5 Q@B Q@ Q@# Q@5 Q@B Q@ Q@# Q@5 Q@B Q@5 Q@B Q@5 Q@B Q@5 Q@B Q@5 Q@B Q@5 Q@B Q@5  Q@B  Q@ "Q@5 #Q@B #Q@L2QL9Q@"BQ@4KQ@JSQ@ LineTitleXLabelYLabelcLinesLine#xValue#yValue# LineData1 LineData2 LineData3 LineData4 LineData5 LineData6 LineData7 LineData8 LineData9 LineData10 LineData11Format LineData12StatusDataFileXFormat1DFormatXFormat2  ?*<0@A060A01061A01060A01[Kbd][Vid][Lpt]4[Nul] [SysIn]L[SysOut]>LTTT!,T#t1T%T)<T*NT7DDDDDaDtDDDDtDDDB4.4\444B4D\44DB4.4\444 Z tDDD D~S LDtDDD D|LLDD <||;6 > [KBD][VID]BW MISY.PAS BW LSTL.PAS BWMisoAlt2.pas BWMisoAlt1.pas <8087>5J_t&Db )Ge/;Pez,Jh/Mk 6@@?2d W d    W  @B0<xBBBBBBBB1REAL Indefinite (uninitialized or previous error)Missing Arithmetic ProcessorREAL Denormal DetectedREAL Precision Loss=REAL Arithmetic Processor Instruction Illegal or not Emulated= BW ORDC.PAS BW ERRE.PAS BW LONC.PAS BW rencalt.pas [VID] [KBD] BW PASE.PAS 061A01ABW HEAH.PAS BWmishcalt.pas BW FMRC.PAS A061A01061A01060D01061A01061A01061A01+Press Go to confirm finish, Cancel to deny.+Finishing...... + Please WAIT.....System Error: "Press Go to retry, Finish to exit.Binary. Character.$data file already exists, Overwrite?!Press Go confirm, Cancel to deny.FileNameQuick Graph - VersionPath: []<>Binary. Character.StatusFKeyReturnDataFile.Dat,No such file or not a Quick Graph data file!No such Directory Bad file Specification No such Volume BTOS Error Code = 6File not of correct format - Press any key to continue[sys]QuickGraph.Run[sys]BGP.run[sys]OFISGraphics.Run[sys]BGP.run[sys]OFISGraphics.Run'Can't find BGP.Run or OFISGraphics.Run.[sys]CMNull.Run[sys]Exec.RunCreate Edit Pie BarLine-ALine-NReturn.dat.Dat.dat.DatReturn[sys]ColorPie.Fm[sys]Pie.FmGraphChgFmtNamesValuesAn entry is required!Valid entries are 1 - 8.Valid entries are 1 - 16.A number is required! Saving... Save CompleteInvalid or missing entry.Invalid or missing entry.DataFileXFormat1DFormatXFormat2.dat.Dat.dat.DatReturn[sys]ColorLine.Fm[sys]Line.FmGraphInFileChgFmtNamesDatPtsxValuesyValuesGraphNamesDatPtsxValuesyValuesNamesDatPtsxValuesyValuesInFile Prev NextxValuesyValuesAn entry is required!Valid entries are 1 - 5.Valid entries are 1 - 12.A Number is required!A Number is required! Saving... Save CompleteInvalid or missing entry!.dat.Dat.dat.DatReturn[sys]ColorBar.Fm[sys]Bar.FmGraphChgFmt BarsGroupsValues Prev NextAn entry is required!Valid entries are 1 - 12.Valid entries are 1 - 5.A Number is required! Saving... Save CompleteInvalid or missing entry.Invalid or missing entry..dat.Dat.dat.DatReturn[sys]ColorLine.Fm[sys]Line.FmGraphChgFmtNamesXLabelYValueGraphNamesXLabelYValueNamesXLabelYValue Prev NextAn entry is required!Valid entries are 1 - 5.Valid entries are 1 - 12.A Number is required! Saving... Save CompleteInvalid or missing entryInvalid or missing entry062A01060A01060A01062D01 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0Mandatory fieldInvalid cursor movementField overflowIllegal function keyReserved characterText characters onlyAlphanumeric characters onlyAlphabetic characters onlyNumeric characters onlySign cannot be inside a number No such valueNo help message No list of values for this field Invalid dataYesNo062D01060A01.   Binary CharacterRFlagB060A01060A01060A01Character.060A01062C01[KBD][VID][sys]LptConfig.SysPress NEXT PAGE or SCROLL UP to continue (Press NEXT PAGE to continueN[!Scr]$$.Tmp[!Scr][scr]<$>BsFilter.tmpVNVF        R"8P$:L4N2*@(>F0&<]SIiw|CCCC!P@|CVyCC[xjCk]qx]q]]]]dd]k]dC 0000 0 ? Error: Error Code , Status  Line  In  Of PC =:; SS =, FP =, SP =ߌ3ǭߌ3GVNVNNo CASE Value Matches SelectorString Too Long in COPYSTR'Lstring Too Long in Intrinsic ProcedureSet Element Greater Than 255Unit Version Number Mismatch Illegal PcodeUnsigned Value Out of RangeSigned Value Out of Range!Uninitialized 16 Bit Integer Used Uninitialized 8 Bit Integer UsedNIL Pointer ReferenceUninitialized PointerInvalid Pointer RangePointer To Disposed VarLong DISPOSE Sizes Unequal@ Set Element Out of Range1#NAN1#INF1#IND?@@@@ @P@$@@ @(k@  @ @C#@ &@ *焑*@ -@1_0@4@.7@@v:k :@#NJ>@bxA@z&D@n2xH@W ?hK@N@@aQYR@ȥoU@: 'X@fPKе@7pdeAlD> iyB ? d'@Bʚ; TvHrN @zZƤ~o#]xEcd CCCCCCCyCC2.2 10/18/91 11:19pmUPP]U>\uFFF]UP3QP3P+P PP3QPPPPPFP5P~u!P3QP_P+P P \~t4~t~P3QPP+P PP3QPQPPP]U>PPPPP]U/PvFP,Pvvvv,P]U^LN^&2Pv LP,P]Uv,P]U^LN^&2PLP,P]UFt3P P PPP PP^ S^ &2PsP3PvPP$F~uF3PP43PP PPP PPNQvPP+F3PP PFPF2P P3PP PP"P PFP5F~t~u~uF~uF3PPFuFFF] UPvvlFF]UPvv v vvDFF] UFBvv^S^&2Pv BPvvPvv^S^&2Pv ^SP*PP4.F>.|u 4FFuw]UBvv^S^&2PvBPvvPvv^S^&2Pv^ Sv *PP4P^ *&]UFP^S^&2PuP3PrmP.>.tv .3PP3PPP^S^&2P P3P^&2PPP$P P3PPP7P!P P4FP5P~t ~t~uي^2FP3PPPPFPPXP3P2P^SPP0P^&"u2>2t4>2u;>2uFP.PF9F3;F(&wvvvwLv݃v3PPFF]UF^ &2F~|6Fv^ &< uFv^ &^^&F@FH;Fu^F&] UXPPPX^rP_PPFZ2PY2PPvFPJPFFFFFFZ2FFvvvvvvvv3PPKPFFFFZ2FY2Fvvvvvvvv3PPKPFFY2HFZ2FFvvvvvvvv3PPKPFFvvvƚLPFvPMP3PPPPPPP3PPcPP PPP3PP2P P~̾xPFPPPlPFPt2PuPlPFPPPlPFPF2PFPlPFPPPlPF2РZ2+P3PFPF2P P]Uvv^ S^ &2Pv vvPPsP]Uvv^S^&2Pv v vvPsP]UPv vvFPgDP]UvvPPv^ S^ &2P Ft-FP5PvvPPvP]U>PPPv^S^&2P ~t>PPPvvP] U PPP3P} vP3PPPP2.lvPPP3P2PNQP0PvP3PQP3P 2.;..2PNQPFPsF2NQPPF~t2PFPPPlPFPF2PwP3PrmPPP$..PPlP,PPlvPPPlP3P3P 4PPlPPPlvPPPlP3P3P 4jPPlPPPlvPPPlP3P3P 40PPlPPPlvPPPlP3P3P 4PPlPPPlvPPPlP3P3P 4PPlPP/PlPFP6.PP+FPPlPF2PFPlvPPPlP3P3P 4Mww^wzwOwwwVww 8vwwkwzwRwjwY>.t>2uuP@PPFPDPFPFPlP~t@ F@F=uӚ@vP.PPvȹ4󥚮vP.PPvȹ46`vP.PPvȹ4󥚹vP.PPvȹ4dPPlP6PCPl4vPPPlP3PP vP.Pws.vP.P]U{PPyP3PPP>`u$PP{P3PQP3PP>`u$PP}P3PQP3PP]UFPPPP3PrmPF~uv P`NFPPPP3PrmPF~uv P`vP'P]U>^u0P.PP.P]U3PQP.>.u"PPP3PPP /PPP3PPPgPPBP3P} PPJP3P} >^u0P3PPPPP3PPPP3PPPPJP5PJ2PPPP3P} PPVP3P} PP\P3P} PPdP3P} PPlP3P} ,,tJP5PJ2=3P2266`,3P226,3P226,s3P226,MNI;B4;wvvvw4wWwvvvÃv7MJ/;(4!wvvvwMv]U2P^SrmP3PPzPPxPWP0PPxPWP~PPxPWP~F~|3@@PPxPWP@@@H;FuӸvP4PKPv2PxPWPv2JvP4PPv2PxPWPv2vP4P^Sv2PxPWPv2^&vP4PPv2PxPWPv2~~F~|V@vP4P&@Pv2PxPWP&@v2䈄@@@H;Fu]Uu{^&2^SPPx>xt2P^SPPl^SKP^&2Pd^&J^Ssk^&2^SPPx>xt2P^SPPl^SKP^&2Pd^&J2P^SwmP6PPP @6@DŽ.@@@= u0PP ~PP ~F~|(@@PP @@@H;Fut PP JPJ2@P tP2PJPbP2@P tP2PPb^S^&2@P tP2P^Sb~P~2@P tP2P~Pbt P~F~|P@&@P&@2@P tP&@P@@@H;Fu~F~|4@&@P&@2@P @@@H;FuҚ]U ~ PPP3P} .B, P3PPPPF<u FP PPP3PP~2P PPȤP3P~Pi ~F~}@ PP@ȤPP&@P&@2P PTP6@PP PP@ȤPPUPT2P @@@H;Ft^ PPP3PP2P Is 󥤸 PPP3PP2P t+F<tjPP8PPPPP} PPP3P} PPP3P} PPP3P} `P3P8PPPP3P} PPP3P} P3PQP} P3PQP} ,]>.~gPPP3P} PPP3P} PPإP6,Pi P٥Pإ2PPP> P٥Pإ2PPP P٥Pإ2PPP>.~gPPP3P} PPP3P} PPإP6,Pi P٥Pإ2PPP> P٥Pإ2PPP P٥Pإ2PPP. Tt PP.P6, PQPP P3PQP3P .HH;~u >,uF<.;~󥤸2P~QPFPs~u , %#wvvvvރvvu4 PPP3P3P  PQPPs PP~PPPFu>~~>~~Ft>~~>~~ /-wvvvvރvvԃvփvuC4Fu PPP3P3P Ft PP"P3P3P >,u &.p  PQPPs PP.P /-wvvvvރvvԃvփvu4 PP<P3P3P ~>}6.  9d~t< P PRP3P3P FP P P\P3P3P F<t  PPP3P2PQPP>~F<t,>.}._>~F<t,>.}.< P3PQP3P #;>.u. ~@@;.u>,u. F<..~@@;.u!>,u,. F<..wǃvƒw}vwhvwB v wfvww~wwww^wjwNwmw=ww+w.HHu~tw~F~|kF@F;F5^=v>@獽r74 PPjP3P3P @@@.,@H@uthta~F~|UF@&@u74 PPP3P3P @@@.,@H@u P.PtFP]8U]UF;F~FFFFF]U~PPPNQ3QPQPHP>Jt>Judž"X|PP2PfP3PrmP|PP$""t!4PPPFP3PQP "tW>Jt>Ju~PPPNQ3QPQPHP>Jt>JuƆ$GPPPP3PP+$$u!4PPPFP3PQP $ui>Jt>Ju~PPPNQ3QPQPHP>Jt>JuƆ$GPPPP3PP+$$u!4PPPFP3PQP $uj>Jt>Ju~PPPNQ3QPdQPHP>Jt>JuƆ$UPPdPP3PP+$$u$4PPPFP3PQP RTƮȮR6拄xzdž(|P*PPD |PPPD" PPxSv|P*PPD (x&G&W xz"u6拄;(| vtRdž(P (}P (|2PPP(@(= uË6拄xz6 P|wdž( PPx&&WRPPPvP P (|PPP2P x&G&W xz(@(H;u6拄RTƮȮT6拄xzdž(|P*PPD |PPPD" PPxSv|P*PPD (x&G&W xz"u6拄;(| vtOdž(P (}P (|2PPP(@(= uË6拄xz6 P|xdž( PPx&G&WRPPPvP P (|PPP2P x&G&W xz(@(H;u6拄|.$uZ|P"JFF]U2P^SrmP3PPPPPWPPPPWPPPPWPF~}PPPWP6>狅jPxP*P6xzxSPPWP6拄F~|yxzPxP*Pxz&&Wx &&WxSPPWP@H;Fu6拄xzxSPPWP6拄F~|Cx&G&W xzxSPPWP@H;Fuá@H;FtcP4PP2PPWP2䢀P4PYP2PPWP2XP4P^S2PPWP2^&P4PˮP2PPWP2ʮP4PP2PPWP2P4PP2PPWP2F~|TP4P&P2PPWP&计@H;Fu]UVu{^&2^SPP>t2P^SPPl^SP^&2Pd^&^Ssk^&2^SPP>t2P^SPPl^SP^&2Pd^&2P^SwmP6VPhPP 6DŽ@= u踐PP PP F~} PP 6拄xzxSP 6拄F~|5x&G&W xzxSP @H;Fuы6拄xzxSP 6拄F~|8x&G&W xzxSP @H;FuΡ@H;FtVt PP VtP2PPbP2@P VtP2PXPbXPX2@P VtP2P^Sb^S^&2@P VtP2PʮPbʮPʮ2@P VtP2PPbP2@P VtP2PPbP2@P Vt PF~|PVtP&P&P&2@P @H;Fu]U PPP3P} NPĮ6拄ƮȮRT6DŽ6DŽj@=uܸP3PPPPF:u9FPP PXP3PˮPʮ2P P PdP3PP2P P PpP3PP2P P P|P3PPi F~|tP P &|PP&P&2P P P &|PPPi @H;FuxzP P<P3PYPX2P IsX X P P<P3PYPX2P Nt"F:uPP8PPPPP} PPP3P} PP"PP} PP*P3P} PP0P3P} PP8P3P} PP@P3P} P3PPP} P3PPP} P3P8PPPHP3P} PP"PP} P3PQP} P3PQP} P3PQP} P3PQP} P3PPP} P3PPP} _>vPPNP3P} PPTP3P} PP\P3P} PPdP3P} P3PPP} P3PPP} PP2PPPP%P$2P3PPP1P02P3PPP PPPPi P &}P &|2PPPP &}P &|2PPP@= uRTƮȮ6拄xz6 PF~} PPx&&WRPPPvP P &|PPP2P PPx&G&WRPPPvP P &|PPP2P x&G&W xz@H;Ft@PPlP3P} PPrP3P} PPzP3P} PPP3P} P3PPP} P3PPP} P &}P &|2PP3PPPP2PPPP%P$2P3PPP1P02PPPP PPPĮPi PPP3P} PPPP} PPPP} Pt'PPP3P} PPP3P} PP2PPPPP2PPP>~3P &}P &|2PPPP>t>Ʈt>ȮtP &}P &|2PPPP &}P &|2PPP@= uRT6拄xz6 PF~} PPx&&WRPPPvF;F5^=~x ruF:t)P P &|PPP2P PPx&G&WRPPPvF;F5^=~x ruF:t)P P &|PPP2P x&G&W xz@H;Ft>u<P1P02P3PPP P$PPƮPi :P%P$2P3PPP P0PPȮPi >u\P &}P &|2PP3PPP3PPP} P3PPP} |."JJvvtP P &LP62PQPHPP3PQP3P cʮ󥤸2PʮQPFPs~uvFvĮ6拄RTƮȮJ v/-wvvvvރvvԃvփvvu4PPP3P3P vvn2PQPPs2PPP3PP+v>v>vvJ v97wvvvvރvvԃvփvʃṽvvu4PPP3P3P v&设 vo2PQPPs2PPĮP3PP+v6Į惼wvj6Į拄6Į;jwQ6Į惼jvP6Į拄xz6Į拄jF~|&x&G&W xz@H;Fu6Į拄j@F6Į拄FF;F}FP|P*P9|<=9|<=>u06Į|~6拄*x|~&&W| xz&&W|~xz@H;FtL6Į>Į狅jJ v97wvvvvރvvԃvփvʃṽvvu4PPP3P3P M2PQPPs2PPSvJ v97wvvvvރvvԃvփvʃṽvvu4PPP3P3P 2PQPPs2PPSvJ v97wvvvvރvvԃvփvʃṽvvu4PPP3P3P |.Bb~`}X.pJg'J~t<P P4P3P3P FP P P>P3P3P F:t NVNV;~P3PQP3P e>~4'L>Lu;P;u>~ >uF:'P P<P3P2PXQPHPF:u>vF:u>vĮF:u >w6拄;R}6拄R6拄Ʈ6拄ƮF~|&&G&W @H;FuR,F:u >w6拄;T}6拄T6拄Ȯ6拄ȮF~|&&G&W @H;FuT>>t >t~P &}P &|2PP3PPRTƮȮ>t6拄>>t >tP &}P &|2PP3PPRTƮȮ;t6拄]>u>s6拄jĮ_RƮ&G &W=TȮ&G &W|.,$####;u(6拄$6拄^;ĮuĮ Į46拄;Ʈt>R uOƮ+R@ƮRHF~|&&G &W@H;FuࡎR$ƮR&G&W 6拄;Ȯt>T uOȮ+T@ȮTHF~|&&G &W@H;FuࡎT$ȮT&G&W |.&i$$$x%53|.4&>$G$P$Y$b$b$b$b$b$b$b$b$b$b$b$b$b$ 6拄Ʈ+RAA;}xzƮ+R@@®Ʈ@F®FF;F|&Fx&G&W xz@H;FuƮHF®FF;F|&Fx&G &WxzH@;FuƮ&G&W d> ~6拄;®} PPx&&WRPPPvP P &|PPP2P 6拄;®u.;R}%R6拄Ʈxzx&G&W xz/P &}P &|2PPP®6拄Ȯ+TAA;}xzȮ+T@@®Ȯ@F®FF;F|&Fx&G&W xz@H;FuȮHF®FF;F|&Fx&G &WxzH@;FuȮ&G&W d> ~6拄;®} PPx&G&WRPPPvP P &|PPP2P 6拄;®u.;T}%T6拄Ȯxzx&G&W xz/P &}P &|2PPP®|.4*&V(53|.M*`&i&r&{&&&&&&&&&&&&&&u{Ʈ+R ~rxzƮ+R®ƮHF®FF;F|&Fx&G &WxzH@;FuƮ&G &Wd> ~6拄;®|c PPx&&WRPPPvP P &|PPP2P x&G&W xz/P &}P &|2PPP®ISȮ+T ~rxzȮ+T®ȮHF®FF;F|&Fx&G &WxzH@;FuȮ&G &Wd> ~6拄;®|c PPx&&WRPPPvP P &|PPP2P x&G&W xz/P &}P &|2PPP®I|.0-*+53|.I-y*****************y?i`WN;u46拄Į$6拄;Įu,ĮRTƮȮĮl6拄;Ʈu>RTƮȮ6拄 >R txzƮ+R@@®ƮHF®FF;F|&Fx&G &WxzH@;FuƮ&G&W > g PPx&&WRPPPvP P &|PPP2P x&G&W xzRƮ&G&W ;uU6拄;ȮuEP &}P &|2PP3PPF:6拄;ȮuyP &}P &|2PP3PP6拄PRTƮȮ >T txzȮ+T@@®ȮHF®FF;F|&Fx&G &WxzH@;FuȮ&G&W > h PPx&G&WRPPPvP P &|PPP2P x&G&W xzTȮ&G&W |.1-.D./53|.1u-~----------------v{wswwcwNw5wKw> w; w ww#wwwwwww=w]wtwwwww1www'wwNuVuF~}F&ug4PPLP3P3P 6拄RTƮȮNHt~oݸP.PVtFP ]6U]U2P^SrmP3PP޲PPܲPWPtPPܲPWPزPPܲPWPڲPPܲPWPزF~|ZڲF~|;.αPPܲPWP@H;Fuˡ@H;FuֲP4PPֲ2PܲPWPֲ2䢚ֲP4PAPֲ2PܲPWPֲ2@ֲP4P^Sֲ2PܲPWPֲ2^&ֲP4PPֲ2PܲPWPֲ2䢲ֲP4PPֲ2PܲPWPֲ2䴸ֲP4PPֲ2PܲPWPֲ2ڲF~|VֲP4P&/Pֲ2PܲPWP&ֲ2䈄.@H;FuزF~|VֲP4P&'Pֲ2PܲPWP&ֲ2䈄&@H;Fu]U&u{^&2^SmPPܲ>ܲt2P^SPsPl^SP^&2Pd^&^Ssk^&2^SyPPܲ>ܲt2P^SPPl^SP^&2Pd^&2P^SwmP6&PPP 6DŽr@= utPP زPP ڲPP زF~|OڲF~|0.αPP @H;Fu֡@H;Fu&t PP &tP2PPbP2@P &tP2P@Pb@P@2@P &tP2P^Sb^S^&2@P &tP2PPbP2@P &tP2PPbP2@P &tP2PPbP2@P &t PڲF~|P&tP&.P&.P&.2@P @H;Fu&t PزF~|P&tP&&P&&P&&2@P @H;Fu]U زڲF;F.65α=@=uԡ@= u PPP3P} $&P3PPPPF:uFPP P(P3PP2P P P6P3PP2P P PDP3PP2P P PRP3PزPi P P`P3PڲPi ڲF~|LP P&`PP&/P&.2P @H;FuزF~|LP P&`PP&'P&&2P @H;FuڲF~|dPδP6ⱸPPP P&`PPϴPδ2P @H;FuP P2P3PAP@2P Is@ @󥤸P P2P3PAP@2P $tF:tzPPPP} PPPP} PPQP} PQQP} PPPP} PP8PwPPQP} PPPP} P3PPP} P3QQP} P3PPP} P3P8P>ڲv9PPQP} PQQP} PPPP} >P PPPPi P%P$2PPPPP2PPPP%P$2PPPP3PPP} P3PPP} mP P$PPPi PP2PPPPP2PPPP%P$2PPPP3PPP} P3PPP} P PPPPi P P$PPPi PP2PPPP%P$2PPP>}>~P3PPP} P3PPP} PP2PPPP%P$2PPPP&aP&`2PP3PPP&aP&`2PPPPP&aP&`2PPPPPPPP} PPPP} >t >tڲF~}P&aP&`2PPP.6捴αF;F5^=~ruF:tYPδP.6бαPPP P&`PPϴPδ2P @H;Ft3|. 5 tDP P&P62PQPPP3PQP3P >u>;ڲu2P&aP&`2PP3PPಹ󥤸2PQPFPs~u %#wvvvvރvvu4PPP3P3P 䴾ಹಹ2PQPPs2PPزP3PP+>زv>ز v /-wvvvvރvvԃvփvu4PPP3P3P *2PQPPs2PPڲP3PP+>ڲv>ڲv /-wvvvvރvvԃvփvu4PPP3P3P B&.ಹ 9&&ಹ P&aP&`2PP3PP2PQPPs2PP.αP /-wvvvvރvvԃvփvuQ4P&aP&`2PPPPPP0P3P3P |.#!~}.B;Xu"]~t<P PFP3P3P FPP PPP3P3P F:t $&$&;P3PQP3P P P2P3P2P@QPPP&aP&`2PP3PPP&aP&`2PP3PPP3PPP} P3PPP} >ڲwF:tP&aP&`2PP3PPP&aP&`2PP3PPP3PPP} P3PPP} >ڲwF:t2>ڲwF:t>uP>~IP&aP&`2PP3PP>t>uR>~KP&aP&`2PP3PPز;t]>uK>~@#/$|.MXc~;ڲu i;زu =;ڲu|.J53|.e ;ڲu ;زu _ڲ;uز;u F:&;ڲu|.s53|.vwwgwwwww w w wwvwwfwwwuwwOw6w!wswBwwww$ti&tbڲF~|VF&.u84PP^P3P3P $Hu$ti&tbزF~|VF&&u84PPxP3P3P $Hu$P.P&tFP]6U]U2P^SrmP3PPpPPjPWPPPjPWPlPPjPWPnPPjPWPlF~|ZnF~|; .RPPjPWP@H;Fuˡ@H;FunF~|tFPPjPWP&GPvjPWP&FFF%shP4P@H;FuhP4PPh2PjPWPh2hP4PPh2PjPWPh2䢶hP4P^Sh2PjPWPh2^&hP4PPh2PjPWPh2hP4P;Ph2PjPWPh2:hP4PePh2PjPWPh2dlF~|ThP4P$&!Ph2PjPWP$&h @H;Fu]Uu{^&2^SPPj>jt2P^SPPl^SP^&2Pd^&^Ssk^&2^SPPj>jt2P^SPPl^SP^&2Pd^&2P^SwmP6PPP 6DŽ@= uPP lPP nPP lF~|OnF~|0 .RPP @H;Fu֡@H;FunF~|j&F2PP &GP&F2P %sPP @H;Fut PP tP2PPbP2@P tP2PPbP2@P tP2P^Sb^S^&2@P tP2PPbP2@P tP P:Pb:P:2@P tP PdPbdPd2@P t PlF~|Pt#P$& P$& P$& 2@P @H;Fu]U lnF;F .65R=@= uԡ@=uš PPP3P} P3PPPPF:uFPP PP3PP2P P PƵP3P;P:2P P PҵP3PePd2P P P޵P3PlPi P PP3PnPi lF~|LP P &PP$&!P$& 2P @H;FunF~}P P &PP&GP&F2P P.P6PPP P &PP/P.2P @H;FtfP PP3PP2P Is  󥸲P PP3PP2P tpF:u >nwPP8PPPPP} PPPP} PPP3P} PPP3P} PPP3P} P3PPP} P3PPP} P3P8PPPP3P} PPPP} P3PQP} P3PQP} P3PQP} P3PPP} P3PPP} >PP P3P} PPP3P} PPP3P} PP2PPPPP2PPPP PPP Pi P &P &2PPP@= ušnF~} P.P . 6TRPP . 6捴RF;F5^=~rt)P P &PP/P.2P @H;Fth1PP"P3P} PP(P3P} PP0P3P} P3PPP} P3PPP} P & P & 2PP3PPP PPP Pi PP2PPPPP2PPP<PP8PP} PP>PP} P PPPPi PP2PPPPP2PPP>u\P & P & 2PP3PPP3PPP} P3PPP} >~3P & P & 2PPPP>tP &P &2PPP@= ušnF~} P.P . 6TRPP . 6捴RF;F5^=~ruF:t)P P &PP/P.2P @H;Ftb|. tP P &P62PrQPPP3PQP3P 1r󥤸2PQPFPs~u   %#wvvvvރvvu4PPDP3P3P :rdrq2PrQPrPs2PrPlP3PP+>lv>lv /-wvvvvރvvԃvփvu4PPZP3P3P 2PrQPrPs2PrPnP3PP+>nv>n v /-wvvvvރvvԃvփvu4PPtP3P3P $& r& Fr 2PrQPrPs2PrP . RP /-wvvvvރvvԃvփvu4PPP3P3P |.BUt!~}.aW~t<P PP3P3P FPP PP3P3P uF:t bU;MP3PQP3P 4P PP3P2PQPP >nwF:t >nwF:t >nwF:t>~P>uIP & P & 2PP3PP> t U>~R>uKP & P & 2PP3PPl; t >uK>~@# / $|.P[fl; u  n; u  ln;u@P & P & 2PP3PP|.q 53|.~v|sj)l; u   n; u  l; ukn;ubF:PP2P3PPP & P & 2PP3PPUn;uDP & P & 2PP3PP |.&H!~}.EvVwNww>w_ww&wO w w w/wwww0wPwgw~wwwwwwwXwwFtitblF~|VF$& u84PPP3P3P  HutitbnF~|VF&Fu84PPP3P3P  Hu︲P.PtFP]6U]U<,t .:t^ &GF&GFv FPFPF ue~uF:FwSF*F1F~uF:Fw2F*F1FFFFNNN8Fr8Nsw^ Sz^ &GFFFF:Fs0FFF:Fw^ v^F&$F&N&WVti~sV pNv FPFPvFPFv FPFP^GPFP FFNq^&GĞ&0Ğ&@u ~N] U~.u+JVt2~:Nu+JVuFFF^^&?tdF@NFN&^;uQP~WStNF;v.^PR@+QFPPFPPF tpF^&FNFNFsFNFN^Sv^Sv^ Sv^&S\^&FNFN!z]U~ t{~ZNt+JVuFFFF9Fv8^&:Zt*0rJ9wEF ^v&0FFN+N^v8Zt+JVt|F^&^&]U^&G &G PF^FF&|^^FFFFN&V^&8GsNNF:Fv}FF@FH^&FFF~uF%FF8Ft^&G:FsF8Fu]F^&FF@FH^&FNF;r^vQ^ SPF~U ^ &G &G PF^FF&t^ ^FF&NFF:FvFF@F^&FF܋FFNFN؎]U^&"^ &^&"O^&] UF#^ &#N^ &O]UL}FP,PP~u ~u}Fs}~sBRTXVFPPP}sF^&G FF;Fr.^&G FFذ&8u&8Gt ~v&D &D ^&gȋ^FFFFw^&H?hFu^&G"&W "ѱ&W "ѱ´V&G "±&_ "ڱ^&"W´Xs,hPPxPQRPQRPQP.hPPxQQ[RPcPQP]FUFt~ uFt<,t .:t࣌ࣈN N Fu>t<u6& u<uiFu(,t.uFFt@@w4F$-<-t<+u >t>u@;vc>t2!>t)6&Fu и] UFF9Fw^ &N^&F:td>JNu+JVt*&F+>JFNu+JVt*&FF:FtF Fs] UQs~uHQQQPPPs0s~t:vcPPPQ*ȵQAP8wPPPPP>up<tu `P msƇ0 # PPP6PP~ u :t~ u:us ^S=~ u tȢ ~ u[PPPPPPOuIA:uXᢒȊ:rPPQPPP>t$tȢ:vu]UQ~ t[s:8wu:v^S=PPPPPt>u< t>uQȊ:vDs 1ᢓ$PPPPP<+t<-u*ȈNFs*ȈNFPFPPPFPAPs$F:r^1ሇ0Fus:rs>uU<+t<-uJr$PPPPP:t<+t<-usPȴPPPP>txU:uU>uNs ؊0ᢓ"PPPPP<+t<-u P |PPPQ*ɵQAPs?*FFF:r^˷0S^0XFu]Uus0፾n)PPPnPPPȊ:r,n u+JuuǠr t @ut >uP!":t ":u RP +>u 3P ^&G^&G]UF.U[u>ts^:sOMs:w:u:u܈N4,s :s>u:u FȈF~u,PFPPPP>uus0፾l)PPPlPPPȊ:r,lu+JuuǠs PP ^&G^&G]U^. P ]U>unrYPPPPP:u<PPQlPPP.0:tC0l*lt+JVu ȴ3ȴl+t-u!ȴllƂl0*ɵmu+JV ulɈsEl؍0ᢒȊ:rltƂl#uݠPPQlPP P]Us0፾j)PPPjPPPjt+JVuvj<+t<-t}ȴN;v(+HkȰt+JVuGs^0PFPPPPP]UPPPPP>uSȊ:ws 1ᢓ$PPPPP<+tO<-uWI8s)QȴPPPP>uss:t P  P^S]UQQȢsQPPPP>t;<+t<-u68s'QȴPPPPAPF0F~PPPF00tT0<+t<-uG8s3ȴ0ᓈ0QSP#PPPƇ00#~PPPFPP P]UQ>u-^ &?r^&^ &F3^&*F,<t<u$^ &?r&ȈF^ &;s&] U.>u*F,**A*^&^&@,s^&u**^&]UQF tCv ~^YFF HN;r!^&<,t<.u ^v&Fuԋ] UQQ^S^SvvF^SP^ S^Sf]UQQ4PFP5F u ~u޸]U^&uxFt ^&O I;syoF^&G FF^&G &G v&dȋ^FFF^&Gt&^&tF^Sv^SFfFs ^&G&Gv&^&G&D&G&GF๒^v&t 0FF%ĢtD^&G^&GFȊ^:rt < t ^&GFuظ$u@s;0Ṓ^&G &G ^00FF~s:^&Gt^GPRPTP3 RTRpFPPPF% FPPPN@ ɱuAN ɱuANFP7PF$u@^& u&O @^&G u&O ^&G $&O "ʈu&"W V^ &FFPFPv$>t.qw>uw8u`^&O N*ʈʈNs~tFFF(>uȴ+FFFFrrPPPF t+ȢQPPF tP5F t]Fszs.r'Ft":tH4PE8t2<t.<t*<t&u8^&G#t tv&|u ^S ^Sv Fr.NT:u<t<u,>u}:u^>u>t:S>u>uXl>u>tlK<ttguq:u>u tlᄇtހ>u<+t<-u>ub>tV>u >w:u<tu<t<uU>u:u >uP(>uȢ|tlᄇtU>u<+t<-u ^S ma>u>vNF:uru G<t<uX:r5Fsr `P l^&G^&GQrr>ukJ>uP>u G>uPP^S<tuТWP8P?t ^S&ᄇu P P^S8ux8u 3P s0#PPP6PP:ts ^S=r1>t'^&G &G 0^9PPPPPP^Sv뚑^&G^&Gr.FȊ^:rPt < t ^&GFu2FȊ^:r0t < t ^&GFuԠ~s&PPPF%Tp PPPF%PPPPPPP]UFPFPF uq~ r-FPvv ^SvRPPFF t=>FF9Fv.NQNQN Q^PF uFʸ] UFPFPF u~ sUPPFP/F um^&G :Fw\F^X ^F&G^ &^&G(FPFPFPGF uF^ &F^&] U~u8vv vlPvF uvv vlPv F] U&>*.u+J&>*.u+J>u&>JNu+J>u&>JNu+J]UQQr~ZNt+JVt_^v&F&8t%&:Ft8*6F&8t J&8uF$*6F&8t J&8uF|F~N F ^&]U^&sFF FFFF;FsFv~N^YF^&]UQFFN ;sNv~N^YN F;v+^8ZF^&]UQF FN;sNv~N^YF^&]U F^&G FF&GtMv&D &D ^&gȋ^FF&Ot^FFP rBP ]U"F ^ &G FF^ &G &G v&dȋ^ FF^ &GF&Gv&F^ &G&DF&GF&GF&G u&O ^&G $^&GF&GFF%ĈFt^&G^&GFPPPPF~s:^&Gt^GPRPTP3 RTRpFFPFPFPF% FPFPPFFFFsFFP5F ts>s7r0F^߷t":u 3P  4PFNrsF:Ft:F;~u8^&G#t tv&|u ^߷^ Sv ~uТWP8P^߷":uF:FuF%F ^߷":u~uFN^߷tNu^&Nߵ^&O^&GF^&GF^&GF^&GF|tF:ue^߷ᄇtP LFF^ S^&wFPPvᚦF&?u, 9?>9s 4P~sPPPVp PPPPPFP⊎k*1PP^GPQ F> r1$]UPPP> r~0PPP/PPPP/P&G"ȢrGO  &O  &&T&G"ȢrF&OO  &O  &&G#ry&G 16F&?uB&_ 0F60?F]UF>@tP ]U~u]U vFP,F u{v~N^Y~u ЉFVdsPP P^SvN$F0PPFP/F uF^&G Z&W F&GF]UQ^SvFv ]UFPFP"4V^&?{t@&?[uP6P:t. FPQSVSVQ^[Y=Xt ],N~] t&<Hu>FuFPP~uOF&G& Gu+PGP,F upF&_^ F F-F&_^ F &FF F&GZ&WF^ &F V;v^ S^+P!F uOF ^ &GF^ &GFF9Fr$^ X^F&^&GFuԸ]UQQJ>Hu>FuFPPF&_^F&G;F s FP^Sv ؎F@P]UQQ>Hu>FuFPPF&_^F&G;Fs 2Jv^@BD^&O&B&G]UJr F&_S^SBS]UQ^&v ^ &Gv&L@^ &;vS&O+P5F ud^&O&7^ &y^Y^&G^ &w&^ &G^&^&G@^&G^ &Gv&D@^ &G] UQ^&v ^&&G^ &;Gt j P^ &G@v&L^ &;vS&wF+PkF u^^&O&7^ &y^Y^&G^ &w&^&G@v&D^&G^ &G@v&D^ &G] UQQ9FsF^&&+GFSv+FF9Fw^SF+FP]UF%FPvFPF=t5v^&%FN;tFPQvP FF^&]U^&G FFFrFF^F&9GrSX^F&;Fr7&t0Nsv&;s!FFFF^&F^FFFuFs^&N;v&O^0^~9^YF^&^&GFF^&N+F&OF^F&9Gr!X^F&uF&FuӋF9FsRPvFPF=t6v^&%FN;tFPQPPFBF^&G#&^&#NFPQF&+PP^&&+G]U^SP u].s].]U^SP u].s].]U^S!P u].s].]U^S#P u].s].]U^S%P u].s].]U^ S)P u].s].] U^ S*P u].s].]U^S7P u].s].]U].U].U].U].U].U].URPPFPLF uK~tE^&t6GHJ^&GL&vHjl^&@n]UFP$s FrfreF sHFFL jFFnF uPPP/F uo&G ^ &:GwY^ &GX ^F&G;FsF^ &GPP^&GȴP^Sv F tn<~u8F^ &OQP^&OɵQPvFF tUV~uF~ t~uF r~t4FPFP6FF^&~uq븋F] U^ SP^Sq<]U^ SP^Sq<]U ^ &G :'t fF Fu>FP$sOFrH^&^&G^&GP^&G^&G^&G^&G^&GA^&G6 uPPP/F u&G ^ &:Gw^ &G@ FF^ &G^&^&G^&G^&G^&G^&G^&G^&G^&G^&8G uA^&O^&8G u@^&G^ &GA^&G^ &G^&G]UQ^&G :tSv^ S^SiD<^SFPF u'^Sv^ S^SiDF^&G F]U^ &&W^&^&O :v^&}Vnjޱ;u$:u3r,PPPRPQrmWRPQ$F u(^&G :u FF^SDu ^&G s<&G s4~u ^&"^&G ^G ^ &Z&W^&}^&G&;Gr$Sv^ S^S9F uX^&?uL^&G&O+;FsFF^&^&FFv&t^^ &Z&W^F&G]U FFN F;vP~uJ^S+QFPFPDF t tu.^ v8vNFYFF릋F^&F]UQQ^&G :tRS^ Sv ^S DFsmVnjޱ;u$:uH^SF9^SFPF u'^S^ Sv ^S DF^&G F]U ^&^&O :v ^&Vnjޱ;u$:u:r3r,PPPRPQwmWRPQ$F u(^&G :u FF^SDu FFN F;w~t^&W&;WrS^ R+QFPFT^&G&+GFV N+;sV^&FF^ v0~&}^9N^Y^F&GFFcF^&F]U^&G :v ]U^&G :v ^&G ]U^&]U^&]U]U^& t^&G :u &G& u]UQF =rmt =tmt"6rmP'堥^&G ]UQF =wmt =mmt"6wmP'堺^&G ]U^&G :t ^&SP(]UQ^&^ &&W^&G :t S)d]U^&G :uSv* ]U~]Nu+JV~&Nu+JVu F@;Fs F@;Ft ~s ~u^&GM&_O^&GL&^v@^&GMZ&WOF@N+^&OL^S^Sv^Svv ^SvLF u6^ &du^ &G ^ S^SF^ &G F]U^&G :r^&G :t:u^&G&G &W"^&&Wc^&G :uX&r&G&;Gv &G&W^&G&G &W"^&&W^&G s7&G s/^&/&_!^&G :{u^&&G ]U^&^ &&W^&G :t ^SF uk^&G;s]@1V&G&G &"F~&w8&XSv^&pWPG<P^&w:F t@^&G-F]U^&GFrF@1V^&G&G &W"FV&G-sG<PFPF^&G-3^&w8v&XSv^&pvvFP#FNVF׉NV~u t%^&9Wu&9Or&O&WFF t ^&Gv^&@F&Z&W^&GFV^&G &W"^&G&W;Vu;FYvF&GF^&G8^&G^&G&W&+G &W"FVF&G^&uFF]UQ^&G :t SvY6^&du^&G ^SvYF^&G F]U^&G :t :t^&G&G &W"FV&9Wu&9Gw&G&W^&G&9G*s&G*FP&t@"FP(F u^&uS[|F t^&w8&S^&w&w"&w G<P^&w: F t@^&G-^&G &W"&G4&W6^&G&G.^&F&G0Z&W2^Sv(F Yu0^&w8PGPP ^&G :u ]U^&G :t@&& tA"F&G :uC&du ^&du&G ^&G-sS&G :u0G<PFP1^&G :t:t:t ^G<PFPFF^&w:FPT u ~u~uߊFs^&w8PGPP FF^&w8 F^&w:)F^&G F u F uF]UQF :r10^&Fr^&0FFF 10^v&F@]U vvFP4F^SvP}F^&:F@F^PvPXFF^&:F@F^PvP0FF]U^&<{t<[tFFF^&^&?{u>}N u+JV s\tWNAv~^YF@^&^v&48p ^& ~]N u+JVuF HN;v9@N +^vp^~&=9^YF@N +^&CFPF u^&O@wA^~&=9^Y^&G@^&^v&48{^&v&4^P^&wg&we^&^v&48}^&]U ^vFF^&F^&G^vNFY^&Gw^ &Gj^&GyF^&^vNFYFPF uQ^&G@^&^&O@wA^^Y^&Ƈ^&Ƈ^PF uI^ &k]u+JBV^ GkPRPPP^SPPP] U^&G F =wmt =amtI~]Nu+JV^SBRPPFPQ؍GPQF!t=uF~^&Gi^GePF9FvF^kvNFYF^&^S^Sv^SFP[F uF~u;^SvRPPRPF=u^v&xF^&Gi뾋F u9^SFPvRQWv Pv$F u ^&G ]UQQRs ^&G^&G8FvP^ GP7PF u%^ &G ^&~ ^& ] UB^&G :t ^&G ^SFPFPF u^SrF u^&FFvN^S^SvuF tM^G8P^SvRPPmmPF u"^&w8F t^&w8 FF]U^&G :t ~v F^&Gj]Uv&D eu F uqPFPPF t~udP)dY s+v^Sv^Sv^Sv ^SvvFP4F upFԈFհFֈF׋FF؋F҉FFvFFFFFFFFFFFFFF FFFFFF6FP F u*vҍFPF u~^& vtz^&G|PFPPF u8~t2v^Sv^Sv^Sv ^SvF ux> uF*~ v~v~v ~vBv~NFv~NF> u>s> v+vRPQRPQLPPGPPF~tJFtG~v FtH~v FtI~v FtJ~v FtKF t ȾL~F t ȍvL~u~tW> u>s> v)vLPvGPvRPQRPQFvLPGPF u]UQF~ uN~uNP~uN F] UQQP?PF uPPF t> u>s> vdd>uc> t\FF~uv>uoPvP,F u$=8t=9uFHP@X`F벂>u'> te]U&>eu F ufFPF u^&G^&u vW0>u :Fu vQP%FFvPPF ue> t[>uv^ S^S>uv^ S^SIF u#>uv^ S^Sl F u] U&ds8^&uFFFPPNQWRQPRQP5^&u,,] U"^&7&w&w&w&wbF^&tFF<wJ FFߠds!RPQ^SWRPQRPQ5F^ F&@FuFF<wH FFߠds!RPQ^SWRPQRPQ5F^ F&@FuFF<w> FFߠds!RPQ^SWRPQRPQ5Fİ FuF Fߠds!RPQ^SWRPQRPQ5FİFF<w< FFߠds!RPQ^SWRPQRPQ5Fİ FuFFߠds!RPQ^SWRPQRPQ5Fİ̊F Fߠds!RPQ^SWRPQRPQ5F^ &GȊF Fߠds!RPQ^SWRPQRPQ5F^ &GȊF Fߠds!RPQ^SWRPQRPQ5F^ &GȊF Fߠds RPSvVQRPSRPS5F^ &GȊF Fߠds!RPQ^SWRPQRPQ5F^ &GȊF Fߠds!RPQ^SWRPQRPQ5F^ &GȊF Fߠds!RPQ^SWRPQRPQ5F^ &GȊFFߠds!RPQ^SWRPQRPQ5F^ &Ƞds!RPQ^SWRPQRPQ5FĸPPP/F uF&] U&ds%FRPQ^SWRPQRPQ5^&8GtB>9t&u"F݊F<wаFu^&^ 0~޵FFF<wB޴PNݵBFuFF<wNЋBFu4^&u,FF<wаFuj^&^ 0~޵FFF<wB޴PONݵBFuFF<w:ЋBFu FF<wаFu>9u,FF<wаFu>8ud^&u\~v FFF<wB޴PNݵBFuFF<w>ЋBFu'FF<wаFu] UQQFPDF u vv]U~t}FFFNNF NFF F?F*F r> u>r4ryv RPQRPQFPPFPPF uJ~u~~vNFv FPPRPQRPQRPQF u]Uv^&^&G :'t W^&G<t':t!&OFP$sFr^&G^&u2F ^&~ t^ &?uxPPP^ Sv  c>ju!jFPF u ~ rjh fuPPfP/F t^&GFf&8G w ]FfX ^Fv&DF&GF&GF&GF^&GF&GF&GF&GF&G F&8G uANsNQPPF t FFF ;Fw FrF9F w^ &FF^&O&@^&G^&w FA:r F u+Ju4-^ &G6&^&Z&W] Ut\>t \ؚd(縄(tʁ Žм&.+ 縀i$3" )>t| TUv<tv4DsDvPPv4D L$ L4"Ȁ|u@"Ȁ|u@"sPvP PyvPov PXPX. t,SQVRWU%.؀&t 2]_Z^Y[qtX..XU]PPP&=t$2=t=t3>PXPX 3>PXPX>tURVWSPQ3P&3یȎ26^Ë> YX[_^Z]U]U]SQWV. t3ێË>^_Y[U]TU]U]d  W P裼裾XP衾XU]C+uGGwt+،ÎÍ>8t`4 PWQPURR tPrY_X@PU]t P>蛡 ..XUP X]U]SWPQR<P<3=r<ZYX_ tރ .*\6* 6*[U]S*w t6*O46. 6,[UFŎ]QU]HU]Њ& tU]t5,t,t*,t@, t@t%U]UVPRLuv NNv ,2&v 6`P~ OO~ W&-2PaZX^]UVPRLuv NNv ,2\&v 6`P~ OO~ W&-2\PaZX^]UVPRLuv NNv ,=&v 6`P~ OO~ W&-=PaZX^]U]6&UVWPSQRӋ6_6GMr4Ŋ݁6‹<3Ћ‹G$3Ћ‹GG5GG ƋՋ~݁t6S[Վݎŋ6, ;>*u}=>T]~t6duYՎݎŋ6, ;>*u}=6Tt>Ttt66, ;6*u=6, 6"ЎiZY[X_^]6&U A6& U 6&U6&U6&U6&U6& U 6&"U+ ^6&$jU\ h@6&& LU> JE"6&($.U ,6&*,U 6&,4U 6&.<U 6&0U 6&2U y6&4Ug [6&6 gUI e`=6&8$IU+ G86&:,+U )6&<4 U 6&><U 6&@UH 6&BU 6&DU 6&FU/d6&HvUf6&JdUT6&LRUB6&N,6, ;6*u6,Ў9]ˌЎˌЎ6, ;>*u}=>TËف6ف66, ;6*u6,Ëف6ف6u}utt uu666u%uЎ؋6, ;6*u6,À@U]7U]-U]3һ$U]3҇U]3һ U]3һE D 2u 2T MD'>T;u2Ê,u þV2>Tu ÀbnU] t2xƋ߹w뒋뎋ځu3ۓtt 3U]ځu'U]+|=C~/URu2y݋M]} xURQ2֜譋Эȭح3 tr| tыˋ3wtTr)|3 tĊ╊֊͊ߊ2wt)Fu?t ΋?tXx&L\|ss@+L\|s3XPU]ځu'U]dU2R@P"3ۋˋ t  tU tU t ڃD t t ڃX P3ɋ tU t D tU t D t t X P3ۋ t eʃD tU t ʃD tU t ʃD t ʃՁ?X P3RD t eڃD tU t ڃDU t ڃQ3ɋD t eDU t DeY]ыˋX t^U]ځu'U]2URVW_^譋ȭحЭ襥3r EU>JW@W<W8r";Tu ;Du;\u; s 2Y[_^<63;sb u;wARS3 tP tꡢ t[+[]蕒sOsO+‹ɰ ut ًʋ3V>TX]SuNJ݊Ί򗕊Ԋ2ufNtS ͊ tD rrwr't"XPr rXPr sF3Ջʊr^s Š t rrwr,t'XPr rXPr3sF32H tA rrwr,t'XPr rXPr3sFT藉M]EX]䀈e @}~uE Ë6Ve Àrr"be r  Āuze À Ātí$ȆČՎ݋6,;6.u 6,ʀ2,Ō؎6,;6.u 6,Ë>,Ō؎6,;6.u 6,׋ ;>*u}= ;6*u6,íáŌێËáŌێËË6, ;>*u}=E$*ȋEM yDp=@} =~Dy @D D 3ҊD e 3ۊ\ ] 62xz yߋD;E|NS2ut:r2w7@iuEEDD92A+t$xtxt2t t6, ;6*u6,Ë6,D $"עË6,D $3ۋӊ\ 0Uv PPF^^ v PP]UF^ GFG]UQ~ u1^&?tqPPF t t<t7:^&π~ u ^&?t(Pv F ttu \F~ u ^&?t&]UQPF tP t H؀ u9F vF ~N F ]U^ GFĿWt4~Wwv -F t<= u^ GG$~ u^ G"G%^ GGFG F ^ G"]UQQ^ ĿW~Wv G"PDF t);u^ "uO%F^ GGG]UQQ^SFPlF ttu)>tZF >rF< t<t<t 4뷋F6vPF u"F<t<t< t鈇< uƸ]UQ^tĿW^Sl1>u%;w^ 銇^]U^ G!G%sG"5^ uPv ^S^ G rPv ^S^ u);u ĿWF t^ GG^FF ;Fw^ PFPF t?;u$^ G$s ~u O%^ G$F^ $^ GGFG>~ u^ G$FG"&F< t^v&Ft^ G$NO"]UQQP^Sv FPgDF tP]UQP PF tP]UQQ^ G!G$uiGFĿWt4~Wwv ^ G t%= uG$GG ^ GG^ WF ^ G"G;G uKG$E^ ĿW~Wv G"PgD^ G t tu \^ GGG]U^G!G$8GtN^tE^G s;^ĿW P^G t tu \^GGG]U^G!8GtF~+um^ğ^F&G F: u!܋_ݍF G _U]F; r U]too smallunsigneddivide by zeroREALlong integermath overflowSIN or COSargumentrangeEXPSQRTofLNTRUNC/ROUNDTANARCSIN or ARCCOS> 1.0negativetopowermath underflowstackno room inis invalidallocator interruptedheapnon-positiveU]3 U]#U]4 U]U]d#U](U](U]<U]5 5U]PU]6 5U]dU]e#5U]xU](5U]U]fCNWU]U]g]NWU]mU]hafNU]WU]iifNU]AU]jlNWU],U]xNU] U]|f#U] U]##U]6U]T-U]MU](U]dU]#U]zU]#U]U]:U]U]U]kU]U]WU]U]CU]겈fU]겉YU]겊LU]겋?U] 벌2U]II.C.2 .+F V |AFV+N|A"N:FwB"ʈNF]UvvFRPFRPPyF^ &F] UvvFRPFRPPDF22^ &F] Uvv3ҋFRP3ҋFRP3P F^ &F] Uvv3ҋFRP3ҋFRP3PF^ &F] U]Uvv]U>u~A ~GF~t/vF360Rz9v B2BF36FFHFu¸PFPvn]U P" PMPUGv 2PFPU8" PWPU' vU3~t PePU vU">tq>tPoPU 6UPwPU6tD2P6DPUP}PU642P6@PU"> tzPPUe6UvPPUQ6UbPPU=^FÓPUCPPU6 U/PPU 6 U"T-]UP-].~uF~uF F V -}ANԋF V #y؃ډF V v~u@~uA ~ uA ~uA ȋF V -Nҹ|A"N҈NFu5F!NڋvڋFRPF V p$0vڈB݀z9v B2B݋FRPF V X$F V F V - uFt NڋvB-!+FډF܋F#y;F}F܉FF#y;FANFu~~ ~ tF0F ~~ F+F@FFvF#y؈FPv2Pv֚DFFPFFPvܚ4v|0u@v؀<-uA"s 0vD-F] FFF FFFFv <unv 2;F3tFV؃^&&W^FV&&W3Fvv F~ t~ u ~uF뛀~u~u&~-u@~+u@ sFfF~0r~9w F2Fv~ar F2Fc~Ar F2FP~#uHFuBFFV-$| tmFV- uFFFFFAF;F|7vvFRPFP$svvFRPFP$rFF]]^. FFU+r;.wVln~}@FFtF@Pv PDF؉F~uFFF5F 9^=FPFPtr F@Pv.PDvFF~tX~ uF~~FFFFt~-u@2FF@FFFF~}FFF)~}FFFFF@FFFE~~Fv|0t(FPvI|s~u~~ FFtFFPvvvvvvv)FFtF;F~FvFF] "Fv 2F~r@FF2~~ = u@= uA 2ƖFF@FH;Fuŀ~r@FFtkF @Pv 2P3PFPtF%AuAvNr@"F~辮Fޚr@"FވFFt9F=^<=F]]^. FFU+r;.wVlU]U]SUS^ &<^5n[][U]UP9~=X]UQQAPPPFPgDF=u*PPdPPPFPgDFF tP PTRP F tP ]UQF HF^v&8 uNF@^ G&\vGGG^ O&(vF]UQ^ F 9G&w^ G&F^ w(~NF]U]UPPPP3P-]UPPPfP3P-]UP'PPgP3P-]UPP"PP3P-]UPP@P P3P-]UP P^P` P3P-]UPF F;Fr;FvPlPP3P-F]UPF F;F|;F~PPP3P-F]UP~u!PP P3PFF-F]UP~t F2=u PP P3PFF-F]UPFF#uPPP3P~uPPP3P;FvA;FwB ʋF% sPPP3P"vNN%sP(PP3P-F]UPvHHFv;FtP@PP3P-]U PFFFF;F r;Fv0v^ &v"\tPdPP3PF@FH;Fu^ ^F-FV] U PF ;F tFF~tttxv@vtxHvv;Fst.@@FF6FFv;Fv +FH6gv@@;uO>zuFD>tt6t3L>zu F@@PmL;uztF]UPv<F~s~u-F]UP-]U؎~ NFs]UP-]UP-]UPF-]UPFFF^^F^&;vI^&FP0F3ҋFvv$FV^&3+FV| t F^&^&#t<^&PvFPF~uFFFF+FH^&F~uFFF-F]UP^S]LF-F]U P^^F;FvW~s@>vA"sFvvFP#u!FFFF+FH^&FQF+F~v@F~s ~vFF;Fv FFH^&F-]UP-]U] \UF؋v F ~NNO] UPPMPFPPPF^ &F^&^&7^ &7P PFPJPPPP^&7^ &7P WPPPKPRPvLPPPMP]U]X> u[X& . &皪U]XX[PSiU]XX[PSUU]XX[PSU]XX[PSU]RUZU]RUZU]RUt%U]RUt 3 Uu Uu Uu ZU]RWVQ7,= ;tU ;x7-:=+uY^_ZUQVNWtv9^Y]U]\lT3Ɉ+Tl\sTl\u.t 0-Gt2˹*t0^_[ZYX]UPQRSWVЎ؋~vD-?r3ɺ@+;wILTl\SU]W؎йt(Ћ#1tuD_ D03˾Њ3ɭ ȭ ȭ u t t _3˳ #t 97>=.?;7.:;=9=3Ȋ+y@ٚWt#u:=:57>=&7.57.z:7>=u!tu B7.:= B7>=7>=Qvs nYVVt| _U~vNt,5U]]U]UWΉ3ɉỳ u.`3Ax6:x+P&ȋ. uŋr XȃrXP @3ؿ]t 7=)3G~ _9=]23쫫 7-7.9=Qx8;:=û,0rf< wb2 wxc,0rB< ~,:}6[<.t,0r(< w$t ɀ2À u N23 <-t <+tN2 quickgraph.run %1QuickGraph.Run yCopy [Kbd] [Sys]<$>Args.tmp Yes  Copy [Kbd] [Sys]<$>Desc.tmp Yes 'To quickly prepare Pie, Bar and Line Graphs.' New Command 'Quick Graph' '%1QuickGraph.Run' @[Sys]<$>Args.tmp @[Sys]<$>Desc.tmp Yes '00' '%0'Append [F0]fdSys.Version [Kbd] [Sys]Sys.Version Software installed on %d|!*w! !*n! !*d!, !yyyy!, at !*t!:!0m!| 2.3 B20 Quick Graphraph :Version: 2.3 :RequiredDiskSpace: 300 :Commands: 'QuickGraph' :ProductFiles: QuickGraph.Run :RelatedFiles: OFISGraphics.Run :PackageName:QuickGraph :Version: 2.3 :RequiredDiskSpace: 300 :Commands: 'QuickGraph' :ProductFiles: QuickGraph.Run :RelatedFiles: OFISGraphics.Run $Job QGInstall dump $EchoSome ; Declare Some Constants ; LocalSpec = '[Sys]' ServerSpec = '[!Sys]' $If InstallType = 0 SrcSpec = '[QuickGraph]' $Endif $If InstallType = 2 SrcSpec = '[!Sys]' $EndIf $IF Public DestPath = ServerSpec PublicYN = 'Y' DestVol = '[!Sys]' $Else DestPath = LocalSpec PublicYN = 'N' DestVol = '[Sys]' $EndIf ; Copy run file $Command LCopy, QuickGraph.Run, & SrcSpec, & DestPath,, Yes QGRun = ConcatStrings(DestPath,'QuickGraph.Run') $EchoOff $Display('Creating QuickGraph command ... ') $Run ([Sys]CmdFileEditor.Run, 'New Command', 'AC'),'QuickGraph', & QGRun,,'To quickly prepare Pie, Bar and Line Graphs.', & y,00, CmdFileTo,PublicYN $DisplayLine('Done.') $Display('Adding QuickGraph to Context Manager CmConfig.Sys file ... ') $Run ([Sys]CMEditor.Run, 'CM Add Application', '01'),& CmConfigFile,QuickGraph,[Sys]QuickGraph.Run,850,' QG ',,,,,& ,,,,Y,Y,,, $DisplayLine('Done.') QFFPF uvvvb FPGL:: 03?<sObjTest:Rgg|??yp;غz;Pb̠B{B3sZpjDGK~GOBJECTD&s $$??an X AXIS LABELG0C%dimomanw<wcO> SimplexRoman--K --SeptF/F_9_K _K __Octjx/jxQ9QK QK QQNov7/7K Dec--9A/--,0|.##-##1(A/1(A/1(-1(-,1(20|.@--@-O2A/O2A/O2-O2-,O240|.]7-]7l<A/l<A/l<-l<-,l<60|.{A-{AÉFA/FA/F-F-,F80|.K-KçPA/PA/P-P-,P100|.U-UZA/ZA/Z-Z-,Z120|._-_dA/dA/d-d-,d140|.i-inA/nA/n-n-,n160C|. t- tyA/yA/y-y-,y180C|.+~-+~A/9-9-,9200C9-9-P_F_FQZQZ=X=O-F_P_PQwlQwl9joj-d_i_iQnQn t77kx@Ұ SimplexRoman.,j*Monthly ExpensesQy p e SimplexRoman2(By ExMonth-g-g= SimplexRoman`'t3y DollarsFe=e+PG SimplexRoman* 8yElectrickxe`pevG SimplexRoman* 8yElPhone7e,eBG SimplexRoman* 8yESalaryBBBBBBCHC CC C*CSeptOctNovDec monthlysales[sys]Line.Fmmonthlysales.DatMonthly ExpensesMonthDollarsElectricPhoneSalaryRƼCAT^@BmBHCA?@?Rn' ?ƃ B] ] |ʙF 7bcq a_?m 3@ 3763 V"[!XV" mm Ae0A %,% j[J )*hX0n) tfm(mwitfm XqnǬkXq CA D#q?CA  e"+h d e [Azl|llАlllbl@lllmŏ1mQmtm|mhmWmGn;:n1fn)n%n#n#o'Do-oo5oAoOo_pr@pepppӏppq0qQ0qtBqQq^qhqmq/qqAqqfoqjqbqؑWqHq 8qB$qc qpppגpwpSp,p+p;oGoQoYZo].o_o_n[nU|nMPnA&n3m#mmmcmʒAm"mmslRl1llꑛlƑllzlS|lAzl [/7r9r>@@ȇLJ @1ABDDHHHHH @)ABD@COG @*AB(@CH@H@@&AB(@DHHHHH@$>B_ȇG@ @@< ;.@*ϽQ@g' @ @ 8?xP?por; P,? t [ [  @p@@ @x@@m |?x@?0? i@p  @~` x?@:`ߋ:@ }@@ @VK?HKw@< mx@x @`G  l@@x@ @@@ @@@ @@@ ` 8?_7W `. xO   0nJ}++DzJ/+}?J: GLmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmGL:: 03?<@ ObjTest:IIKPP??< > ??RegionT0LϱT SimplexRomanw<w<estern 18.6%cw ڠ@sX"BPN<앯eC΍HWWUFTRQbOM8LJ+IGCFDC=<;: :V99W䠕WڠUFTR@QbOsM8LXJ+IG"CFBDPCN=e<;:C :΍V9H9WQE B HȋA"V}{Pzx/wu&tr>qo|n-mkjirhigofeW9}877 766~6r6{6667s77k899t:G;-<$=,>D?l@AB9DQEWH9ȋ}8A77" 766V~6r6{6}6{6Pz7xs7/w7uk8&t9r9>qt:oG;|n-<-m$=k,>jD?il@rhAigBof9DeQEWVw7!v3 $eddXcb#baPie.Fmsalesbyregion.DatSales By RegionSouthernNorthernEasternWesternSouthernNorthernEasternWestern @dAȀ@hBBQ~WGB(qB SimplexRomanPA? Sales By RegionPA!F%B SimplexRomanPX&@? Southern 26.5%P;A SimplexRoman,,$,$,,$,Y.,$,,$C+,$0-2*,2*80Y.80Y.80,80C+805-?6,?6E<Y.E<Y.E<,E<C+E<10-KB,KBRHY.RHY.RH,RHC+RH15-XN,XN^TY.^TY.^T,^TC+^T20-eZ,eZk`Y.k`Y.k`,k`C+k`25-qf,qfxlY.xlY.xl,xlC+xl30-~r,~r„xY.xY.x,xC+x35-~,~Y.,C+40,$‘, L1L1K4K4,$AA,$L1,$K4,$K4,$K4AK4AL1AL1AL1,$ AOAO@R@R,$^T^T,$AO,$@R,$@R,$@R^T@R^TAO^TAO^TAO,$ 7m7m6p6p,$[[,$7m,$6p,$6p,$6p[6p[7m[7m[7m,$ ,,++,$^T^T,$,,$+,$+,$+^T+^T,^T,^T,,$ !! ,$^T^T,$!,$ ,$ ,$ ^T ^T!^T!^T!,$ 66HHƏƏ6ƏHƏHƏHH666Ə J7J7I:I:,$k`k`,$J7,$I:,$I:,$I:k`I:k`J7k`J7k`J7,$ ?U?U>X>X,$RHRH,$?U,$>X,$>X,$>XRH>XRH?URH?URH?U,$ 5s5s4v4v,$xx,$5s,$4v,$4v,$4vx4vx5sx5sx5s,$ **)),$RHRH,$*,$),$),$)RH)RH*RH*RH*,$ ,$RHRH,$,$,$,$RHRHRHRH,$ [[nnƏƏ[ƏnƏnƏnn[[[Ə H=H=G@G@,$xlxl,$H=,$G@,$G@,$G@xlG@xlH=xlH=xlH=,$ =[=[<^<^,$ss,$=[,$<^,$<^,$<^s<^s=[s=[s=[,$ 2y2y1|1|,$RHRH,$2y,$1|,$1|,$1|RH1|RH2yRH2yRH2y,$ (('',$xlxl,$(,$',$',$'xl'xl(xl(xl(,$ ,$xlxl,$,$,$,$xlxlxlxl,$ ffrrƏƏfƏrƏrƏrrfffƏ FCFCEFEF,$ss,$FC,$EF,$EF,$EFsEFsFCsFCsFC,$ ;a;a:d:d,$#M#M,$;a,$:d,$:d,$:d#M:d#M;a#M;a#M;a,$ 00//,$xlxl,$0,$/,$/,$/xl/xl0xl0xl0,$ &&%%,$,$&,$%,$%,$%%&&&,$ ,$k`k`,$,$,$,$k`k`k`k`,$ ٦٦ƏƏ٦ƏƏƏ帀帀٦٦٦Əw2xB2ʸ SimplexRomansj:*Sales By QuarterxKn SimplexRoman#2 ? By Region,,< SimplexRomanz' 1 ByDollars;!1xF! SimplexRoman߁(Q2 BNorthernY!Nd! SimplexRoman߁(Q2 BSouthernw!qn! SimplexRoman߁(Q2 BEastern!ꪊS! SimplexRoman߁(Q2 Central?5FIA SimplexRoman+j51st Qtr.d{ZzoA SimplexRoman+j52nd Qtr.molA SimplexRoman+j5 3rd Qtr.߯ȹA SimplexRoman+j5 B4th Qtr.@AAABApABAA BpAAApAA BApAAAsalesbyquarter[sys]Bar.Fmsalesbyquarter.DatSales By QuarterRegionDollars1st Qtr.2nd Qtr.3rd Qtr.4th Qtr.NorthernSouthernEasternWesternCentral@1=A@zB{B B@R. ;BWׁB SimplexRomanPA? Sales By QuarterH8GB ? SimplexRomanP }@? RegionIARPB SimplexRomanPD@? DollarsJ,AA SimplexRomanPJ@? NorthernJ3EBHA SimplexRomanPJ@? SouthernI,BA SimplexRomanPJ@? EasternB AHB SimplexRomanPDJ@? I fBBz@ SimplexRomanPJ@? CentralB AHB=? SimplexRoman B AHB=? SimplexRoman B AHB=? SimplexRoman B AHB=? SimplexRoman B AHB=? SimplexRoman B0? SimplexRomanB0? SimplexRomanB0? SimplexRomanJdAB SimplexRomanPtV@? 1st Qtr.JDHBB SimplexRomanPtV@? 2nd Qtr.J3EBB SimplexRomanPtV@? 3rd Qtr.JBB SimplexRomanPtV@? 4th Qtr.BIBBP? SimplexRoman  K ( ؼؼ  qȻ  {{ ގގ N͈ ͈ C __   HH  VRm iRmi 9Z SZ UU  fQBfQ (XP%>#3B!1@%> Z/%j"Sf" h$j i$w*ttw C_5ef qjƲq 溵i3Μ #QL)XQ ɵ :M >xMb4 n2`{/ ,P2E SimplexRoman** BARTITLE-!E! SimplexRomanE6̜6 BWesternG5 :5 !T SimplexRoman!! X AXIS LABELՈՈEg SimplexRomanl'l' X PER GROUPߙ;ߙ SimplexRoman<+<+ NAME OF BARS^% SimplexRoman~&~&NUMBER OF BARS̨ ̨( SimplexRomanh$h$N Y AXIS LABELUUFZ SimplexRoman!! Y AVALUE OFP P]U SimplexRoman!!VALBARScc  SimplexRoman(( WITH BARSb  < SimplexRomanh$h$NUMBER OF GROUPSt~Axx@ !,|`vw _޿ڵ t ^t@@@@@@@~@ ZWUUUUUUUU}UUUUUUUUU6L@T@d@ T@ L@ T@~ d@ \WU]UUWUUUWUUUUU_U* L @& T @" d @x2 T @&* L @& T @@" d @0~2 T @  TW}]UU_UU]UUUUUUW>X& TDh" dF`X2 TEH* LDZX& TEzh" dF~X2 TD ^W]]U_U]UUUUU ~X& TD h" PdF X2 TE` H* PLD X& TE h" P dF  tX2  TD 0vH* PLD @TW]w]}]UU}U}U 4h" Pi d$$F X2 Y T44E H* PIL,,D pX& Y T44E i" Pi d$$F Y2 Y T44D vaI* PIL,,D T]w]]]UUuUuU tai" Pi d$$F Y2 Y T44E aI* PIL,,D Y& Y T44E ai" Pi d$$F Y2 Y T44D paI* PIL,,D pY& Y T44D pw}w_U}_uWuWuW Y2 Y T44E aI* PIL,,D Y& Y T44E ci" Pi d$$FY2 Y T44D aI* PIL,,D pY& Y T44DPp @@H phw?@Z}m}@s)@k. The program QuickGraph.Run will be copied to [Sys] and the command "QuickGraph" will be created. NOTE: The program QuickGraph.Run must be in [Sys] to function correctly. STARTING THE QUICK GRAPH PROGRAM To use Quick Graph, type Quick Graph on the B25 Command line and press Go. You may now CREATE or EDIT graph data. To CREATE, press F1; you will be prompted for the type of graph and then the graph TITLE. SAVING YOUR QUICK GRAPH FILE When active and the F1 (Graph) function key is pressed, the data file is automatically saved before the graph is generated. After the TITLE has been entered for a graph, pressing CODE-S will save the data that has been entered into the Quick Graph form without generating a graph. When saving a data file, if a data file already exists with the same name as the one currently being saved, Quick Graph will ask for confirmation to overwrite the existing data file. If it is NOT desired to overwrite the existing data file then a new data file name may be entered. The data and picture file will assume this new name, the Graph title will NOT be changed to this new name. EXITING QUICK GRAPH When the FINISH key is pressed, a message is displayed asking for confirmation to exit the Quick Graph program. Press the GO key to exit Quick Graph and return to the Command line. Press CANCEL to remain in the Quick Graph program. Helpful Hints 1. Type Q G on the Command line and press GO to use the Quick Graph Software. If you are in the lab, be sure to insert your BTOS initialized floppy disk before you type Q G. 2. Use the Up-Arrow/Down-Arrow keys to go up and down, Previous or Next Function keys to view entered data. 3. Enter names or data by column (e.g. all the names first then the values). Use the RETURN or NEXT key after data has been entered. 4. Use the picture examples on pages 4, 6, 8 and 10 for the type of graph desired as your guide. 5. Press F1 (Graph) to draw your picture after all necessary data has been entered. CREATE AND EDIT COMMANDS-OVERVIEW Entering Quick Graph on the Command line and pressing the GO key will display the function keys shown below. The Create and Edit Function Keys are the first level of function keys. They will be the first function keys that appear on the screen. F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 Create Edit CREATE, F1 Begins the operation of creating a Pie, Bar or Line Graph. EDIT, F2 Edits an existing Graph. Pressing Edit, F2 key, will display the screen shown below. Enter the name of the data file to edit and press the GO key. Quick Graph automatically saves the data entered, to generate graphs, in a data file that has the same name as the TITLE of the graph. Enter the name of a Quick Graph data file and Press GO F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 Return RETURN, F10 Returns to the CREATE or EDIT selections. Pie Chart Title of PIE chart = Sales By Region The number of slices = 4 Name of Slice Value of Slice Southern 30.00 Northern 37.00 Eastern 25.00 Western 21.00 Format = [sys]Pie.Fm F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 Graph ChgFmt Names Values Return Quick Graph Screen for a Pie Chart PIE CHART COMMANDS - OVERVIEW F1 Create F1 Pie F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 Graph ChgFmt Names Values Return PIE, F1 GRAPH, F1 Produces a graph from the Pie data (entered in the Pie Chart Screen) by using OFIS Graphics and the Picture Editor. OFIS Graphics software is not part of Quick Graph. For information on the function keys in the OFIS Graphics package (Modify, Create, Save, etc.) see the INTRODUCTION TO THE UNISYS B25 OFIS GRAPHICS PACKAGE. CHGFMT, F3 Allows a user to specify/change the format of a Graph. NAMES, F4 Moves the cursor to the Name of Slice column on the Pie Chart Screen. VALUES, F5 Moves the cursor to the Value of Slice column on the Pie Chart Screen. RETURN, F10 Returns a user to the previous screen, Create/Edit, without saving the current file. UP/DOWN ARROW, NEXT, RETURN Use these keys, after data has been entered, to position the cursor in the next field. Notes: 1) A Pie chart can have a maximum of eight slices. 2) If the sum of the slice values does not equal 100 then the slice values will be automatically converted to percents. 3) Negative slice values cannot be used. Bar Graph Title for the Bar Graph = Sales By Quarter X (Horizontal) Axis name = Region Y (Vertical) Axis name = Dollars Number of Groups with Bars = 5 Number of BARS per Group = 4 Format = [sys]Bar.Fm Name of Bar Name of Bar Group Value of BAR in Group 1st Qtr. Northern 12.00 2nd Qtr. Southern 25.00 3rd Qtr. Eastern 30.00 4th Qtr. Western 33.00 Central F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 Graph ChgFmt Bars GroupsValues Return Quick Graph Screen for a Bar Graph BAR GRAPH COMMANDS - OVERVIEW F1 Create F1 Bar F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 Graph ChgFmt Bars GroupsValues Prev Next Return BAR, F2 GRAPH, F1 Produces a graph from the Bar data (entered in the Bar Graph Screen) by using OFIS Graphics and the Picture Editor. OFIS Graphics software is not part of Quick Graph. For information on the function keys in the OFIS Graphics package (Modify, Create, Save, etc.) see the INTRODUCTION TO THE UNISYS B25 OFIS GRAPHICS PACKAGE. CHGFMT, F3 Allows a user to specify/change the format of a Graph. BARS, F4 Moves the cursor to the Name of Bar column on the Bar Graph Screen. GROUPS, F5 Moves the cursor to the Name of Bar Group column on the Bar Graph Screen. VALUES, F6 Moves the cursor to the Value of Bar column on the Bar Graph Screen. PREV, F8 Only active when the cursor is in the VALUES column. Displays the VALUES for the PREVIOUS Bar Group. NEXT, F9 Only active when the cursor is in the VALUES column. Displays the VALUES for the NEXT Bar Group. RETURN, F10 Returns a user to the previous screen, Create/Edit, without saving the current file. UP/DOWN ARROW, NEXT, RETURN Use these keys, after data has been entered, to position the cursor in the next field. Notes: 1) A Bar chart can contain a maximum of twelve Bar Groups. 2) The maximum number of Bars per Group is five. 3) Negative Bar values can be used. Line Graph - AlphaNumeric Title of the LINE Graph = Monthly Expenses X (Horizontal) Axis label = Month Y (Vertical) Axis label = Dollars The number of Comparative LINES for graph = 3 The number of Data Points per Line = 4 Name of Line X Label Y Value Electric Sept 100.00 Phone Oct 80.00 Salary Nov 120.00 Dec 115.00 Format = [sys]Line.Fm F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 Graph ChgFmt Names XLabelYValue Return Quick Graph Screen for a Line Graph-AlphaNumeric LINE-A, ALPHANUMERIC GRAPH COMMANDS OVERVIEW F1 Create F1 Line-A F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 Graph ChgFmt Names XLabelYLabel Prev Next Return The difference between a Line-A and Line-N graph is that a Line-A graph allows the use of alphanumeric characters to label the XAxis. (i.e., Oct, Nov, Dec). A Line-N graph allows the use of only numeric values for the XAxis. (i.e., 10, 20, 30) LINE-A, F3 GRAPH, F1 Produces a graph from the Line-A data (entered in the Line-A Graph Screen) by using OFIS Graphics and the Picture Editor. CHGFMT, F3 Allows a user to specify/change the format of a Graph. NAMES, F4 Moves the cursor to the Name of Line column on the Line- Graph-Alphanumeric Screen. XLABEL, F5 Moves the cursor to the X Label column on the Line Graph-Alphanumeric Screen. YVALUE, F6 Moves the cursor to the Y Label column on the Line Graph-Alphanumeric Screen. PREV, F8 Only active when the cursor is in the Y VALUE column. Displays the VALUES of the PREVIOUS Line. NEXT, F9 Only active when the cursor is in the Y VALUE column. Displays the VALUES of the NEXT Line. RETURN, F10 Returns a user to the previous screen, Create/Edit, without saving the current file. UP/DOWN ARROW, Use these keys, after data has been entered, to position the NEXT, RETURN cursor in the next field. Notes: 1) A Line graph can contain a maximum of 5 lines. 2) Negative Y Values can be entered. 3) This version of Quick Graph allows a maximum of twelve Data Points for a Line. Line Graph - Numeric Title of the LINE Graph = Profit by Unit X (Horizontal) Axis label = Unit # Y (Vertical) Axis label = Profit The number of Comparative LINES for graph = 5 Name of Line # of Data Points for Line X Value Y Value Western 4 30.00 150.00 Eastern 4 40.00 350.00 Southern 4 50.00 225.00 Northern 4 60.00 400.00 Central 5 Format = [sys]Line.Fm F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 Graph InFileChgFmt Names DatPtsxValueyValue Return Quick Graph Screen for a Line Graph-Numeric LINE-N, NUMERIC GRAPH - OVERVIEW F1 Create F1 Line-N F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 Graph InFileChgFmt Names DatPtsxValueyValue Prev Next Return LINE-N, F4 GRAPH, F1 Produces a graph from the Line-N data (entered in the Line-N Graph Screen) by using OFIS Graphics and the Picture Editor. OFIS Graphics software is not part of Quick Graph. For information on the function keys in the OFIS Graphics package (Modify, Create, Save, etc.) see the INTRODUCTION TO THE UNISYS B25 OFIS GRAPHICS PACKAGE. CHGFMT, F3 Allows a user to specify/change the format of a Graph. INFILE, F2 When the cursor is in the X Values or Y Values column, allows data points to be read in from the specified file. NAMES, F4 Moves the cursor to the Name of Line column on the Line Graph-Numeric Screen. DATPTS, F5 Moves the cursor to the "# of Data Points for Line" column on the Line Graph-Numeric Screen. XVALUE, F6 Moves the cursor to the X Value column on the Line Graph-Numeric Screen. YVALUE, F6 Moves the cursor to the Y Value column on the Line Graph-Numeric Screen. PREV, F8 Only active when the cursor is in the X VALUE or Y VALUE column. Displays the VALUES of the PREVIOUS Line. NEXT, F9 Only active when the cursor is in the X VALUE or Y VALUE column. Displays the VALUES of the NEXT Line. RETURN, F10 Returns a user to the previous screen, Create/Edit, without saving the current file. SCROLL UP/DOWN Allows access to all X and Y values by scrolling the values up or down when graph contains more than 12 data points. Available only when entering X and Y data values. UP/DOWN ARROW, Use these keys, after data has been entered, to position the cursor in the next field. Cursor moves up or down the data columns of the X and Y points displayed on the screen. NEXT, RETURN Use these keys to position the cursor in the next field. All data values are scrolled when the cursor is at the last data value on the screen and the cursor stays at the last data value on the screen. If the cursor is at the last data value on the screen and is at the last data value for the line, the cursor is moved to the Y value column when in the X value column and to the Title of the LINE Graph entry when in the Y value column. READING VALUES FOR DATA POINTS FROM A FILE To read in data points from a data file when the cursor is in the X Values or Y Values column, press the F2 (InFile) function key. After pressing the F2 function key enter the data file name. Specify the Volume and Directory if the data file is not located in the current path. Press the Return key. If the data file does not exist, you will not be able to proceed. Enter another data file name or press the Cancel key. Next the data file format must be entered. The data can be either real numbers or integers. The number of spaces before the data, the length of the data, and the number of trailing spaces must be entered. When counting trailing spaces, do not forget to count the end of line character(s) as a space. Below are three examples for entering the data file format. QuickGraph version 2 can handle input of up to 9999 X and Y data points per line. The actual number of data points will depend on how much memory is available in your B20. Data values can be read from an ASCII data file. The file must have a fixed format. The data read in is associated with the X point or Y point data values. If the cursor is in the X point data values column, the file data will be assigned to the X values. The same is true for the Y point data values. The data file is read until the number of data values read is equal to the number of points in the line or until the end of the data file, which ever comes first. All data read in is first value relative, the first value read is associated with the first point. Example 1 1 2 3 4 1234567890123456789012345678901234567890 (ruler) 5.3 10.4 34.1 2.4 = carriage return 23.4 2.4 2.5 23.5 = carriage return If the X values were to be the second column of numbers, the format would be: Leading Spaces 12 Data Length 4 Trailing Spaces 17 This example would assign the value 10.4 to the first X value point and 2.4 to the second X value point. Example 2 If the Y values were to be the first row of numbers and the number of points for the line was 4, the format would be: Leading Spaces 4 Data Length 4 Trailing Spaces 0 This example would assign the value 5.3 to the first Y value point, 10.4 to the second value point, 34.1 to the third value point, and 2.4 to the fourth value point. 1 2 3 4 1234567890123456789012345678901234567890 (ruler) 5.3 10.4 34.1 2.4 = carriage return and line feed 23.4 2.4 2.5 23.5 = carriage return and line feed Example 3 If the X values were to be the third column of numbers, the format would be: Leading Spaces 20 Data Length 4 Trailing Spaces 10 This example would assign the value 34.1 to the first X value point and 2.5 to the second X value point. After the number of trailing spaces is entered, the data file is read with the specified format. The data values are displayed in the appropriate column. Notes: 1) A Line graph can contain a maximum of 5 lines. 2) Negative X and Y values are allowed. QUICK GRAPH FILE STRUCTURES Quick Graph will collect the data necessary to CREATE a Graph and OFISGraphics will DRAW, MODIFY and PRINT the graph. Therefore, there will be two different types of files generated with every graph that is created: one file by Quick Graph and one file by the graphics software. QUICK GRAPH FILES The data that is entered into the Quick Graph Screen is saved in a file that has a ".dat" suffix, representing a data file. The actual file name is taken from the TITLE entered on the first line of any of the graphs that are created. A Title must be entered whenever a graph is created. For example, if the TITLE of a graph is Monthly Expenses, Quick Graph stores the data in a file named MONTHLYEXPENSES.dat - spaces are automatically removed. To EDIT (Function key F2) the data in a Quick Graph data file; type the name MONTHLY EXPENSES in the form that appears. It is not necessary to add the .dat suffix. To copy the file, Monthlyexpenses.dat, it would be necessary to type MONTHLYEXPENSES.dat on the File from line of the Copy command of the B25 Executive. GRAPHICS FILES After all the data for a particular graph has been entered in Quick Graph and F1, (the Graph key) has been pressed, the graph will appear on the screen. The graph was generated by the OFIS Graphics Package or BGP. OFIS Graphics saves the picture image of the GRAPH with a ".pic" suffix, representing a picture file. OFIS Graphics will use the SAME FILE NAME as Quick Graph, unless the SAVE function is used to save the picture under a specified (different) filename. For example, if the FINISH KEY is pressed in OFIS Graphics, the file name MonthlyExpenses will appear in the form at the bottom of your screen and be automatically saved under the name MonthlyExpense.pic after the GO key has been pressed. To retrieve this file directly into OFIS Graphics without first using Quick Graph, use the OFIS Graphics command. Type MonthlyExpenses for the Picture file. FORMAT FILES A format file is a OFIS Graphics file that specifies the format of a Pie Chart, Bar or Line Graph. The FORMAT is the pattern, size, location on the screen, dimensions and colors of a graph (Picture File). Like Picture and Data Files, there is a suffix at the end of the format file. The suffix for format files is ".Fm". In Quick Graph, the default format file is displayed in the lower left corner of your screen for Pie Charts and Line Graphs. For the Bar Graph Screen, it will appear on the top right half of your screen. Quick Graph selects the default format file to use by checking what type of monitor is attached to your workstation. There are eight default format files: COLOR MONITOR FORMAT FILE MONOCHROME MONITOR FORMAT FILE [sys]ColorPie.Fm [sys]Pie.Fm [sys]ColorBar.Fm [sys]Bar.Fm [sys]Colorstacked.Fm [sys]Stacked.Fm [sys]ColorLine.Fm [sys]Line.Fm For each type of graph that is created, a different format file name will appear on your screen. NOTE: Line-A and Line-N Graphs use the same format file. The only time it is necessary to change the default format file is if the workstation has a color monitor and you wish to print a Graph on a non-color printer. For example, when a Pie Chart appears on a color monitor, it looks very professional with each pie slice being a different color. However, if the graph is printed on a non-color printer using the default color format file, all slices of the pie would be black and indistinguishable. Using the Monochrome Format File will change the colored pie slices to patterns which can be easily recognized when printed. The same is true for Bar and Line Graphs.2  y `'`'`'`'@z i ______________________________________________________________________________ Quick Graph 2.0 # HL*"FFt -+\&@!@!@. h!$C$vvv4 t&LJ2%pjj.  GH @ @   GH @ T@ ,0GH լ?@@ 6Nl@ 6Nl GH &*,0GH @ T GH  '3=>ļ&23<=>xy%}@ 6Nl  GH GH @ 6Nl$&(*,0@ GH TST@ p 4H  GH @ 6Nl@ 6NlGH  GH @ GH .cՄUst*/abcUrs*+σ@ T@ NlGH @ 6Nl  GH $&(*,0GH ֺ,i GH GH GH @  P @ TGH @ T  GH  ̴̏6ۋŠ  GH GH @ $&(*,0@  P  GH GH GH   DĚĠ.1;xԀĠ0w;@  @ @ P 4GH @ TGH @ 6NlGH 8wۭ:$)6_9(`_GH @ P GH @  4GH @  4GH 4GH ='abcHIJKL0123j;<=tLQZ`dikqJ 4GH 4GH 4GH GH @ @ T GH $&(*,0GH  #%CJSTU[eirsux$%CDEGSfr̅#۰4GH 4GH 4GH  GH @ $&(*,0GH @ GH  !'GMŜ؞ަ'(.@ضϞ;AP GH GH @  p @  `   GH GH 4GH @ T4GH 9%4GH GH @ @  GH $&(*,0@  p UGH  GLNOPŚʜŝʞ789:ŅʆŇʈ!"#$%nopqrŽʾſ   YZ[\ŧʨũʪʒ.3<BGKMSTZsy,b $&(*,0@ TGH @ TGH 4GH 4GH 4GH ,$-./5?CLMOR^ת &269=?EܔזƝ%DgN !-@L_ӕӞ2'fuNu GH GH @  p 4GH 4GH 4GH GH @ @   GH (),-EF(+Ev' 4GH GH @ @  GH $&(*,0@ `' FGH  I>?@|}~ŀʻżʽſ9:;<xyz{ʷŸʹź45678tuvwʳŴʵŶ1ŰʱŲ.{ef0hy $&(*, 0@ GH @ TGH 4GH GH 4GH 4GH -3>D]c !&(./5AEHLNT֣ѥќƧ^dіы./0<O[nͤ.q*V,e GH @  GH @ 4GH 4GH GH @   GH *1UVZ[nUWXYnT GH @ @  GH $&(*, 0 GH @  ZGH nOPQםҞןҠ;<=>׊ҋ׌ҍ()*+wxyz{defg׳Ҵ׵ҶQ?@A׎)y~Ҁ׆҇׍ґחҘמҟץҦ׬ҾBcdirstzґƒғי?DFLMSW\^deklrw{~ׂ҄wBcdefr͑ͤͅ=Am  GH $&(*, 0GH @ GH 4GH 4GH 4GH @  4GH UWa/0UVbz<\0 GH GH @    GH @ @ GH 4GH 4GH >ںz?¹>  GH @  $&(*, 0@  @  GH ,)3xz؉݊؝ݟ ؤݥشݵd o   g ,B) o p e o Լ h    > h d g @(GH $&(*,0@d@ GH GH @$&(*, 0  GH ##:LĿBFP_ĉ գ ĥ    . 2 ī9:LM OP_`۞۟ ` a ۈ ۉ  5 m ۣ ۤ ? @ ۫@,H,$&(*,0GH  GH @   GH $&(*,0GH RSz{|CSCR{C,,,H,@ ,@,GH @ GH  $ */="@@@ Elite 12 BTOSCharSet Courier CourierPrestigeCourierxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxGL?308$'OBJECT0rr%%??// DL==rrkV ComplexRomanDT4DT4EnhGRAPH=|VVv@ ComplexRomanDT4DT4EnhQUICKGL??H@@P xxH@@PH@@PH@@xPH@@`P@ H@@ @P@ H@@ @P H@@P$H@@P HHH@@@PHHH@@@P$H@@ P$H@@ P H@@PH@@P @H@@PP @H@@PP  @H@@PP @H@@PP@$ @H@@PP0$ @H@@PPH @H@@PP @H@@PP  @H@@P@ H@@PPH@@PPH@@P $H@@P$>H@@ PHHH@@@P(H`H @@PPP ( @P$@P  @P@@  @@ @P @ P@xP @Pxxx`@P@P(` `  @ @ @ @  ~ Hx  <0@H  @H   $ H   (H  HH  PH(  HH(  $ H(  $ H(  H(  PH(   H$H(   ((H$  (H   HH  PH   H  @H `@Hx  @    @H    @H  H  H   (H   0H  P H  ` H  $H  (H  H@$H  P@$H  @(H  @HH  HH   @ @H  <0@H    H  ?GL) *WriteVDM"?h  b n Picture 00B0$0b00 S_2XXXPPB@(/*@(*5M@(5M/@(/K3@(K3 5M@( 5M 5M@( 5M3@(3/@(/,k@(,ku'@(u'u4@(u4@(R@(R@( @(  @( K@(KR@( 5M 93@( 93/@(/,k@(,k'@('4@(4@(R@(R 9@( 9 @(4@(4@($474@( I5M I@(!p5M!p@(5M*5M@(*5M. 3@(. 3/G1@(/G10n.2@(0n.20n*@(0n*/G'@(/G'. %O@(. %O*#@(*#!p#@(*5M,3@(,3. 1@(. 1/G.2@(/G.2/G*@(/G*. '@(. ',%O@(,%O*#@($@('4#)!@()!*@(*. @(. /G@(/G0n@(0n1@()!*4@(*4,@(,. @(. 0n@(0n1@(11R@(?k5M7Y@(?k5MG}@(?k/FV@(9D@(5 ;@(BI@(P5MP@(Q5MQ@(MB5M[5M@([5M^3@(^3_1@(_1`.2@(`.2`(@(`(_%O@(_%O^#@(^#[!@([!Q!@([5M]g3@(]g3^1@(^1_.2@(_.2_(@(_(^%O@(^%O]g#@(]g#[!@(MBUT@(j5Mj@(k=5Mk=@(y5My@(z:5Mz:@(f5Mn5M@(u5M}5M@(k=#y#@(fn@(u}@(uU is@( is p@( pls@(lseX@(eX`@(`X@(X UZ@( UZ iQ@( iQP@(P,P@(,PQ@(QUZ@(UZX@(X?`@(?`?eX@(?eXls@(lsp@(ps@(s,uU@(,uUuU@(uU s@( s Ap@( Ap ls@( lseX@(eX`@(` X@( X AUZ@( AUZ Q@( QP@(,P{Q@({QUZ@(UZX@(X`@(`eX@(eXls@(lsp@(p{s@({s,uU@( iS iUZ@( iUZ X@( XZ@(ZZ@(ZTX@(TX{UZ@({UZH@(HG#@(G#G#@(G#?J@(?J?Lx@(UZN?@(N?J@(JH@(HH@(H?J@(#xuU#xZ@(#xZ$UZ@($UZ&Q@(&Q*cP@(*cP,P@(,P0'Q@(0'Q2vUZ@(2vUZ3Z@(3Z3uU@($uU$Z@($Z%UZ@(%UZ(Q@((Q*cP@( uU(uU@(0'uU7uU@(?%uU?%P@(@LuU@LP@(;uUCuU@(;PCP@(YpZj@(ZjZuU@(ZuUYp@(YpW\s@(W\sSuU@(SuUQuU@(QuUN#s@(N#sKp@(KpJls@(JlsIg@(IgI^=@(I^=JX@(JXKUZ@(KUZN#Q@(N#QQP@(QPSP@(SPW\Q@(W\QYUZ@(YUZZX@(QuUOJs@(OJsLp@(LpKls@(KlsJg@(JgJ^=@(J^=KX@(KXLUZ@(LUZOJQ@(OJQQP@(d uUd P@(e2uUe2P@(t0uUe2^=@(jeXt0P@(ieXs P@(`uUhuU@(ouUv~uU@(`PhP@(oPv~P @y .N~U~}F 49FvFFbËFd‹&ӌ]Ubãd]UF;dv=6b4+bӍ8bd@d‹&ӌ뺋6bN+bӍ8Fb]UFb]U6bӍ8vNFYFb]UQ|&G N;v6&G V;v)PQR2FP6abF.ՊF|&G+F%PPP2FP6ab.DH)]`˾b6F%y % h`F  FY GL:: 03?<P ObjTest:II[ PP??<=<;: :V99W䠕WڠUFTR@QbOsM8LXJ+IG"CFBDPCN=e<;:C :΍V9H9WQE B HȋA"V}{Pzx/wu&tr>qo|n-mkjirhigofeW9}877 766~6r6{6667s77k899t:G;-<$=,>D?l@AB9DQEWH9ȋ}8A77" 766V~6r6{6}6{6Pz7xs7/w7uk8&t9r9>qt:oG;|n-<-m$=k,>jD?il@rhAigBof9DeQEWVw7!v3 $eddXcb#baPie.Fmsalesbyregion.DatSales By RegionSouthernNorthernEasternWesternSouthernNorthernEasternWestern @dAȀ@hBBQ~WGB(qB SimplexRomanPA? Sales By RegionPA!F%B SimplexRomanPX&@? Southern 26.5%P;AB B!!Ca  #"A@B" :9 $>B"!E $"@!B" } fbaA C" E >B! b9@@<$?$H  T($DX($D-',rDo@y 'p@@@@L 8CP@0  H@@@@@( @ p     @ s y} %  % A@@@@=" 0 (~D<BA @`@@@@@@@ `0H0EDDDD #""""bAQHLAIDDDD#"*""""#{1ڎxQ<0(ۂ)QtDDDc&y#""b""" AAAA @LAAAAEDD@#""""#"" 0 H DD$,""""*" 8g PAAAA  D=0 q< AAAAaD #""""b@$"Dr T@|q``<"">O` < @q8('aA(@,ǜ GLR *WriteVDM"?h  b n Picture 00B0$0b00 S_2SRR@hCFUFUEUDDUBUAUd@NU#?T=T<~T!;ES:S?8R7R56Q5Q4Pa3O2N1NC1M0\L/K/K.rJ.APPB@(CFUF@(UFUE@(UEUDD@(UDDUB@(UBUA@(UAUd@N@(Ud@NU#?@(U#?T=@(T=T<~@(T<~T!;E@(T!;ES:@(S:S?8@(S?8R7@(R7R56@(R56Q5@(Q5Q4@(Q4Pa3@(Pa3O2@(O2N1@(N1NC1@(NC1M0\@(M0\L/@(L/K/@(K/K.r@(K.rJ.A@(J.ACF@(R8&T6:SRR@xCFJ.AI-I -TH),GC,F\,kEr,?D,$C,B,"A,;@,d?,? ,>*-G=J-*-G@(>*-G=J-@(=J-@-==)SRR@CF408&39J3@:v2;2z<2'>&1?n1@1sB 1MC]14D1&F 1$Ga1.H1CJ1dKc1L1N2 OK2[P2Q3S3T24UY4Vv5W5X6HY6Z7[f8W\>9]9]:^r:^@(CF408&@(408&39J@(39J3@:v@(3@:v2;@(2;2z<@(2z<2'>&@(2'>&1?n@(1?n1@@(1@1sB @(1sB 1MC]@(1MC]14D@(14D1&F @(1&F 1$Ga@(1$Ga1.H@(1.H1CJ@(1CJ1dKc@(1dKc1L@(1L1N@(1N2 OK@(2 OK2[P@(2[P2Q@(2Q3S@(3S3T2@(3T24UY@(4UY4Vv@(4Vv5W@(5W5X@(5X6HY@(6HY6Z@(6Z7[f@(7[f8W\>@(8W\>9]@(9]9]@(9]:^r@(:^r:^@(:^CF@(1M/dNuSRR@CF:^;_F<_=x`I>Y`?PGZWPYcQXdR WYRVDS-U%SSTRTuQTPVUOU[MULyUK'UIUH|UG$UF@(CF:^@(:^;_F@(;_F<_@(<_=x`I@(=x`I>Y`@(>Y`?@(O[>PGZW@(PGZWPYc@(PYcQXd@(QXdR WY@(R WYRVD@(RVDS-U%@(S-U%SS@(SSTR@(TRTuQ@(TuQTPV@(TPVUO@(UOU[M@(U[MULy@(ULyUK'@(UK'UI@(UIUH|@(UH|UG$@(UG$UF@(UFCF@(M ]NI`@(&g|`%}.@(%}.%}@(%}#}@(#}#}.@(#}."|`@("|`"{@("{"z@("z#z^@(#z^#y@(#y%My)@(%My)%x@(%x&!x[@(&!x[&gw@(&gw&gvY@(&gvY%u@(%u%u$@(%u$#u$@(#u$#u@(#u"vY@(+]z+]u$@(+]y*z^@(*z^*Cz@(*Cz)oz@()oz(z^@((z^(Uy@((Uy(x[@((x[(w@((w(UvY@((UvY(u@((u)ou$@()ou$*Cu$@(*Cu$*u@(*u+]vY@(-}-u$@(/x[2x[@(2x[2y)@(2y)2y@(2y2Bz^@(2Bz^1z@(1z0z@(0z0Tz^@(0Tz^/y@(/y/x[@(/x[/w@(/w/vY@(/vY0Tu@(0Tu0u$@(0u$1u$@(1u$2Bu@(2Bu2vY@(7y79z^@(79z^6ez@(6ez5z@(5z4z^@(4z^4xy@(4xy4x@(4x5Kx[@(5Kx[6w@(6w79w@(79w7v@(7v7vY@(7vY79u@(79u6eu$@(6eu$5u$@(5u$4u@(4u4xvY@(<0}<0u$@(<0}>}@(>}?~}.@(?~}.?|@(?|@ {@(@ {@ {,@(@ {,?z^@(?z^?~y@(?~y>y@(<0y>y@(>y?~y)@(?~y)?x@(?x@ w@(@ w@ v@(@ v?u@(?u?~u@(?~u>u$@(>u$<0u$@(AmzCu$@(DzCu$@(Cu$Bs@(BsAr@(ArAmrT@(AmrTA&rT@(I%}I%u$@(I%}K}@(K}Lt}.@(Lt}.L|@(L|M{@(M{M{,@(M{,Lz^@(Lz^Lty@(LtyKy@(KyI%y@(KyMu$@(Nx[Qx[@(Qx[Qy)@(Qy)Qy@(QyQjz^@(Qjz^Pz@(PzP z@(P zO|z^@(O|z^Ny@(NyNx[@(Nx[Nw@(NwNvY@(NvYO|u@(O|uP u$@(P u$Pu$@(Pu$Qju@(QjuQvY@(VzVtW@(VtWVs"@(Vs"Var@(VarUrT@(UrTUrT@(UrTTsr@(VyVaz^@(Vaz^Uz@(UzUz@(UzTsz^@(Tsz^Sy@(SySx[@(Sx[Sw@(SwSvY@(SvYTsu@(TsuUu$@(Uu$Uu$@(Uu$Vau@(VauVvY@(X}Y#}.@(Y#}.Yj}@(Yj}Y#}@(Y#}X}@(Y#zY#u$@(\rz[z^@([z^[Xy@([Xy[x[@([x[[w@([w[XvY@([XvY[u@([u\ru$@(\ru$]Eu$@(]Eu$]u@(]u^`vY@(^`vY^w@(^w^x[@(^x[^`y@(^`y]z^@(]z^]Ez@(]Ez\rz@(`z`u$@(`y)ahz^@(ahz^az@(azbz@(bzcVz^@(cVz^cy)@(cy)cu$@(U94V0 @(V4V0 @(V4W0 @(X^4W0 @(Y&1[ 1@([ 1[ 2U@([ 2UZ2@(Z2Z3@(Z3Zh3?@(Zh3?Y3?@(Y3?Y3@(Y3YO2@(YO2Y&1@(Y&1Y&1j@(Y&1jYO0@(YO0Y0E@(Y0EY0 @(Y0 Zh0 @(Zh0 Z0E@(Z0E[ 0@(]2]3@(]3]3?@(]3?\3?@(\3?\"3@(\"3[2@([2\"2@(\"2\s1@(\s1]<1@(]<1]1j@(]1j]0@(]0]0@(]0]0E@(]0E]0 @(]0 \0 @(\0 \"0E@(\"0E[0@(^4^0@(^0_0E@(_0E_n0 @(_n0 _0 @(^~3?_3?@(`1bj1@(bj1bj2U@(bj2UbB2@(bB2b3@(b3a3?@(a3?aQ3?@(aQ3?a3@(a3`2@(`2`1@(`1`1j@(`1j`0@(`0a0E@(a0EaQ0 @(aQ0 a0 @(a0 b0E@(b0Ebj0@(c3?c0 @(c1c2@(c2c3@(c3dL3?@(dL3?d3?@(e3?e0 @(e2Uf3@(f3fW3?@(fW3?f3?@(f3?g 3@(g 3gI2U@(gI2UgI0 @(jm3j4*@(j4*k64@(k64k60 @(m4mi4@(mi4mA4*@(mA4*mA3@(mA3mi3?@(mi3?m3@(m3nZ2@(nZ2n2@(n2o#2@(o#2oK1@(oK1oK0@(oK0o#0@(o#0n0E@(n0En0 @(n0 m0 @(m0 mi0E@(mi0EmA0@(mA0m0@(m0m1@(m1mA2@(mA2m2@(m2n 2@(n 2n3@(n3n3?@(n3?o#3@(o#3o#4*@(o#4*n4@(n4n4@(n4m4@(p0pd0E@(pd0Ep0 @(p0 p0E@(p0Ep0@(s4*s4@(s4s94@(s94r4@(r4rp4@(rp4r3@(r3q2@(q2q1@(q1r0@(r0rp0E@(rp0Er0 @(r0 s0 @(s0 s0E@(s0Es0@(s0t1j@(t1jt1@(t1s2U@(s2Us2@(s2s3@(s3r3@(r3rp2@(rp2r2U@(r2Uq1@(w4t0 @(u4v 4d@(v 4dv 3@(v 3u3z@(u3zu3?@(u3?uC3?@(uC3?t3@(t3t4*@(t4*u4@(u4uk4@(uk4u4@(u4v 4@(v 4v4d@(v4dv4d@(v4dwu4@(wu4w4@(w%1v1j@(v1jv0@(v0v0@(v0v0 @(v0 wM0 @(wM0 w0E@(w0Ew0@(w0w10@(w10wu1@(wu1w%1@(|(|#@(|((@(|&<&<@(|##@( 2& 2#@( 2&<&@(&&@(&&@(&&@(&x&<@(x&<O%@(O%O%@(O%x$g@(x$g#@(##@(##@(##@(# 2$g@(#&<"&@("&"e&@("e&!&@(!&!t&@(!t&!L&<@(!L&eH@(j>eHhb@(hbjb@(l cskc8@(kc8l b@(l blHc8@(lHc8l cs@(ognb@(mbgog@(sYgpb@(qNgqgW@(qgWqf@(qfqwfm@(qwfmq&f2@(q&f2pf2@(pf2pf@(pfpg@(pgpg@(pgpg@(pgqNg@(qNgqg@(qgrgW@(rgWrgW@(rgWs g@(s gsYg@(rdrhd]@(rhd]r@c@(r@cr@cs@(r@csrb@(rbrb@(rbs1c8@(s1c8sYc@(sYcsYd#@(sYd#s d@(s drd@(>99@(8A")|@(g{xAtxASR@pgKxBiyivg:xB@4gKxBiyivg:xBgKxBSR@t =BL/GKFIgL/@8 =BL/GKFIgL/ =BSR@p")|!, )")|@4")|!, )")|")|@(s?qs<@(s?q<@(?q<@(|?q<@(|?qb<@(=5 =5@(?q<@(?q<@(?q<@(?q<@(?q<@(?q ?q@(==@(< <@( x?q ??H@( ??H >@( > >@( > >*@( >* =^@( =^ <@( < <@( < ?*@( >* {>@( {> _>@( _> %?H@( %?H ?q@( ?q x?q@( b?q b<@( b?q?q@( b=H=@(>?H@(?Ho?q@(o?q?q@(?q?H@(?Hl>@(l>l>@(l>>S@(>S>*@(>*>@(>=@(==@(==^@(=^= @(= <@(<>@(>?H@(?H?q@(?q(?q@((?q?H@(?H>@(>>@(>{>*@({>*{=^@({=^<@(<<@(< SimplexRoman,,$+,$,,$,P.,$,,$<+,$0-2*,2*+90P.90P.90,90<+905-?6,?6+E<P.E<P.E<,E<<+E<10-LB,LB+RHP.RHP.RH,RH<+RH15-XN,XN+_TP._TP._T,_T<+_T20-eZ,eZ+k`P.k`P.k`,k`<+k`25-rf,rf+xlP.xlP.xl,xl<+xl30-~r,~r+…xP.xP.x,x<+x35-~,~P.,<+40+,$+’, A1A1>4>4,$AA,$A1,$>4,$>4,$>4A>4AA1AA1AA1,$ "O"ORR,$_T_T,$"O,$R,$R,$R_TR_T"O_T"O_T"O,$ mmpp,$[[,$m,$p,$p,$p[p[m[m[m,$ ,$_T_T,$,$,$,$_T_T_T_T,$ ŨŨ««,$_T_T,$Ũ,$«,$«,$«_T«_TŨ_TŨ_TŨ,$ s6s6sHsH̏̏s6̏sH̏sH̏sHsHs6s6s6̏ ;7;78:8:,$k`k`,$;7,$8:,$8:,$8:k`8:k`;7k`;7k`;7,$ UUXX,$RHRH,$U,$X,$X,$XRHXRHURHURHU,$ rruu,$xx,$r,$u,$u,$uxuxrxrxr,$ ސސۓۓ,$RHRH,$ސ,$ۓ,$ۓ,$ۓRHۓRHސRHސRHސ,$ ,$RHRH,$,$,$,$RHRHRHRH,$ [[mm̏̏[̏m̏m̏mm[[[̏ 5=5=2@2@,$xlxl,$5=,$2@,$2@,$2@xl2@xl5=xl5=xl5=,$ [[^^,$ss,$[,$^,$^,$^s^s[s[s[,$ xx{{,$RHRH,$x,${,${,${RH{RHxRHxRHx,$ ؖؖՙՙ,$xlxl,$ؖ,$ՙ,$ՙ,$ՙxlՙxlؖxlؖxlؖ,$ ,$xlxl,$,$,$,$xlxlxlxl,$ %%%%̏̏%̏%̏%̏%%%%%̏ /C/C,F,F,$ss,$/C,$,F,$,F,$,Fs,Fs/Cs/Cs/C,$ aa d d,$$M$M,$a,$ d,$ d,$ d$M d$Ma$Ma$Ma,$ ~~,$xlxl,$~,$,$,$xlxl~xl~xl~,$ ҜҜϟϟ,$,$Ҝ,$ϟ,$ϟ,$ϟϟҜҜҜ,$ ,$k`k`,$,$,$,$k`k`k`k`,$ ~~̏̏̏~̏~̏~~̏ywBFDB9 SimplexRomanef*Sales By Quarter_xn SimplexRomanΟ2s)? By Region,,Bar.Fmsalesbyquarter.DatSales By QuarterRegionDollars1st Qtr.2nd Qtr.3rd Qtr.4th Qtr.NorthernSouthernEasternWesternCentral@=A@ZB{BB AR:BB SimplexRomanPA? Sales By QuarterH8GB ? SimplexRomanP }@? RegionIA,PB SimplexRomanP@@? DollarsJ,AA SimplexRomanPJ@? NorthernJ3EBHA SimplexRomanPJ@? SouthernI,BA SimplexRomanPJ@? EasternB AHB SimplexRomanPDJ@? I fBBz@ SimplexRomanPJ@? CentralB AHB=? SimplexRoman B AHB=? SimplexRoman B AHB=? SimplexRoman B AHB=? SimplexRoman B AHB=? SimplexRoman B0? SimplexRomanB0? SimplexRomanB0? SimplexRomanJdAB SimplexRomanPtV@? 1st Qtr.JDHBB SimplexRomanPtV@? 2nd Qtr.J3EBB SimplexRomanPtV@? 3rd Qtr.JBB SimplexRomanPtV@? 4th Qtr.BIBBP? SimplexRoman  K ( ؼؼ  qȻ  {{ ގގ N͈ ͈ C __   HH  VRm iRmi 9Z SZ UU  fQBfQ (XP%>#3B!1@%> Z/%j"Sf" h$j i$w*ttw C_5ef qjƲq 溵i3Μ #QL)XQ ɵ :M >xMb4 n2`{/ ,P2E SimplexRoman** BARTITLE-!E! SimplexRomanE6̜6 BWesternG5 :5 !T SimplexRoman!! X AXIS LABELՈՈEg SimplexRomanl'l' X PER GROUPߙ;ߙ SimplexRoman<+<+ NAME OF BARS^% SimplexRoman~&~&NUMBER OF BARS̨ ̨( SimplexRomanh$h$N Y AXIS LABELUUFZ SimplexRoman!! Y AVALUE OFP P]U SimplexRoman!!VALBARScc  SimplexRoman(( WITH BARSb  < SimplexRomanh$h$NUMBER OF GROUPStA$$ D@A ğR>@A$Q D=ac$$as Ęy>\

@<к: :    @@@@@@@ @ Ⱥj @@@` @ @` @  @   @ Ⱥꫫj @" P@@" 0@@c @ @@b P@@" 0@ @# @` " @磌k F" 0&BEc eCĢ B Eb PdCz~F" `0&Bz:E# %B? " `$B磌j F"T `0&BEcl eCĢT `B Ebl PdCF"T `0&BE#l%B"T`$B` E"lP$Bﻫj Ecl6TFeC ĢT*`LŒB0Ebl6DFSdC@F"T"`dE2&BE#l6TF%B"T*`LŒ$B E"l6DFS$B F"T"`dE2&B 몺k ĢT*`LŒB Ebl6DFSdC F"T"`dE2&B E#l6TF%B "T*`LŒ$B E"l6DFS$B F"T"`dE2&B Ec l6TFeC ﺫj Ebl6DFSdC F"T"`dE2&B E#l6TF%B "T*`LŒ$B E"l6DFS$B F"T"`dE2&B Ecl6TFeC ĢT*`LŒB   (< @p@@ O`~z_/ ji~{O~~& 0y?k x,><4|p(I_|P/p7P{yxs  @t @v _ GL* *WriteVDM"?h  b n Picture 00B0$0b00 S_2PPB@(d@(VW@(@(t;@(;@(;@(;@(|@(|;5@(;5t@(t@(5@(5|@(| @(  ;@( ;@(@(@(t@(  PB@(d  PB@(  @(>(>@((>g@(g(@((a@(a@(@(P@(P @(  @( @(a@(aJ@(JaJ@(aJ(a@((ay@(y@(!6!6PB@(d%L%LPB@(%L%L@(& &"@(&"&i@(&i$v@(t&i;&R@(;&R& @(& %@(%%L@(%L$@($;$@(;$t$v@(t$v$v@($v$@($$@($ %L@( %L %@( %& @(& &R@(&R&i@(&it&i@()c)cPB@(d-x-xPB@(-x-x@(.7.O@(.O.@(.,@(.(.@((.-@(-(-@((-a-@(a--@(--@(--@(- -a@( -a -1@( -1,@(,,@(,,@(,a,@(a,(,@((,,@(,-@(11PB@(d55PB@(55@(6L6d@(6d6@(66@(66@(616@(16W6@(W6j6@(j6}6d@(}6d}64@(}64j6@(j6D5@(D54@(44@(t6;6@(;66d@(6d5@(55@(55.@(5.;4@(;4t4@(t44@(44@(45.@(5. 5@( 5 5@( 56d@(6d6@(66@(6t6@(99PB@(d==PB@(==@(>x>@(>>@(>>@(>>@(>1>@(1>W>@(W>j>@(j>}>@(}>}>`@(}>`j>0@(j>0D=@(D=<@(<<@(>(>@((>>@(>(>0@((>0a>H@(a>H>H@(>H>0@(>0>@(> =@( = =@( ==B@(=B=@(=<@(<a<@(a<(=@((==*@(=*=Z@(AAPB@(dEEPB@(EE@(G}G@(}G F\@( F\DF\@(DF\jFE@(jFE}F-@(}F-E@(EE@(E}En@(}EnWE?@(WE?E'@(E'E'@(E'E?@(E?EW@(EWE@(tG;G@(;GF@(FFE@(FEE@(EE@(E;E?@(;E?tE'@(tE'E'@(E'E?@(E?E@(E E@( E FE@( FEF@(FG@(GG@(GtG@(JJPB@(dN*N*PB@(N*N*@(OH}OH@(}OH N@( NDN@(DNjNq@(jNq}NY@(}NYN@(NM@(M}M@(}MWMk@(WMkMT@(MTMT@(MTMk@(MkM@(MM@(OH(OH@((OHNq@(Nq(N@((NaN@(aNN@(NN@(NNY@(NY N@( N M@( MM@(MMk@(MkMT@(MTaMT@(aMT(Mk@((MkM@(MM@(R@R@@(VWVW@(DWtV'@(V'V'@(DWtDU@(tWt;W\@(;W\W@(WV@(VVW@(VWU@(U;U@(;UtU@(tUU@(UU@(UU@(U VW@( VW V@( VW@(WW\@(W\Wt@(WttWt@(ddVW@(dVWVWSRR@p($($P@($@($$@($$(@($($(@($((@(((@((SRR@p&&5(N5(N@(&(N@((N(N@((N(N5@((N5(N5@((N5&5@(&5&5@(&5&SRR@p66:8w:8w@(68w@(8w8w@(8w8w:@(8w:8w:@(8w:6:@(6:6:@(6:6SRR@pGG5H5H@(GH@(HH@(HH5@(H5H5@(H5G5@(G5G5@(G5GSRR@pW,W,5X5X@(W,X@(XX@(XX5@(X5X5@(X5W,5@(W,5W,5@(W,5W,SRR@pV]Vb#b#]@(V]#]@(#]#]@(#]#b@(#b#b@(#bVb@(VbVb@(VbV]SRR@p=`=`@(`@(``@(``=@(`=`=@(`==@(==@(=SRR@p))-x+-x+@()+@(++@(++-x@(+-x+-x@(+-x)-x@()-x)-x@()-x)SRR@p::N*;N*;@(:;@(;;@(;;N*@(;N*;N*@(;N*:N*@(:N*:N*@(:N*:SRR@pJ>J>-xK-xK@(J>K@(KK@(KK-x@(K-xK-x@(K-xJ>-x@(J>-xJ>-x@(J>-xJ>SRR@pZhZh-x\-x\@(Zh\@(\\@(\\-x@(\-x\-x@(\-xZh-x@(Zh-xZh-x@(Zh-xZhSRR@p-]-b7Fb7F]@(-]7F]@(7F]7F]@(7F]7Fb@(7Fb7Fb@(7Fb-b@(-b-b@(-b-]SRR@pEE@(@(@(E@(EE@(EE@(EE@(ESRR@p-'-'J.J.@(-'.@(..@(..J@(.J.J@(.J-'J@(-'J-'J@(-'J-'SRR@p=Q=Q-x>-x>@(=Q>@(>>@(>>-x@(>-x>-x@(>-x=Q-x@(=Q-x=Q-x@(=Q-x=QSRR@pMzMzEOEO@(MzO@(OO@(OOE@(OEOE@(OEMzE@(MzEMzE@(MzEMzSRR@p]]E_AE_A@(]_A@(_A_A@(_A_AE@(_AE_AE@(_AE]E@(]E]E@(]E]SRR@pA]AbKzbKz]@(A]Kz]@(Kz]Kz]@(Kz]Kzb@(KzbKzb@(KzbAb@(AbAb@(AbA]SRR@p 9 9J!J!@( 9!@(!!@(!!J@(!J!J@(!J 9J@( 9J 9J@( 9J 9SRR@p0c0c0202@(0c2@(22@(220@(2020@(200c0@(0c00c0@(0c00cSRR@p@@EB*EB*@(@B*@(B*B*@(B*B*E@(B*EB*E@(B*E@E@(@E@E@(@E@SRR@pPPVWRTVWRT@(PRT@(RTRT@(RTRTVW@(RTVWRTVW@(RTVWPVW@(PVWPVW@(PVWPSRR@p``=b}=b}@(`b}@(b}b}@(b}b}=@(b}=b}=@(b}=`=@(`=`=@(`=`SRR@pU]Ub_b_]@(U]_]@(_]_]@(_]_b@(_b_b@(_bUb@(UbUb@(UbU]@($~vT$w@($w#iwX@(#iwX"wX@("wX!w@(!w!vvT@(!vvT!vu@(!vu!t@(!t!t@(!t"TtL@("TtL#s@(#s$sH@($sH$Fr@($Fr$~rD@($~rD$~q@@($~q@$p@($p#ip<@(#ip<"p<@("p @(> >, @(>, > 8@(> 8= @(> > @(?Y ?" @(?" > `@(> `> @(> > @(> > @(> ?" @(?" ?Y @(?Y ? @(? ? @(? @ @(@ @4 @(@4 @4 @(@4 @ `@(@ `? @(? ? @(? ?Y @(@ @ @(@ 5AF @(AF A} @(A} A @(A B @(B B! 5@(B! 5B! @(mZmX>@(mZZ@(Z@(X>mX>@(tZKY@(KY!Y@(!Y YB@( YB Y@( Y!X@(!XKX_@(KX_tX>@(tX>X>@(X>X_@(X_X@(XY@(YYB@(YBY@(YY@(YZ@(ZtZ@(ZX>@(RZRX>@(ZX>@(YY@(YZ@(ZKZ@(KZ"Y@("YY@(YYB@(YBY@(YX@(X"X_@("X_KX>@(KX>X>@(X>X_@(X_X@(ZX>@(YBY@(YY@(YZ@(Z)Z@(`YLY@(LY Z@( ZZ@(ZY@(Y|Y@(|YYc@(YcYB@(YB"Y!@("Y!LY@(LY`X@(`X`X@(`XLX_@(LX_ X>@( X>X>@(X>X_@(X_|X@(E@(E@(E@(#@(@(W@(W@(@(g@(gE@(E=E@(=Eig@(ig@(@(W@(W@(i@(i=#@(=##@(D#DE@(DWY@(Y@(#@(##@(uu@(ug@(gE@(EE@(4##@(ffE@(f@(#@(##@(#A@(AV@(VVE@(WW@(W@(@(@(#@(#]#@(]#1@(1@(W@(W@(@(1g@(1g]E@(]EE@(Eg@(g@(#E@(W@(@(#@(# =#@( # E@(  @( !#@(!#!Y#@(!Y#!@(!!@(!!E@(''@(''p@('p'@('&@(&&@(&&h@(&h&#@(&#&@(&'@(''@(''x@('x'W@('W'@(''@(''g@('g'pE@('pE'E@('E&g@(&g&@((#(@(((v@((v(aW@((aW(a@((a(v@((v(g@((g(E@((E)E@()E);g@();g)f@()f)}@()})}W@()}W)f@()f);@();)#@()#(#@(*#*@(**+g@(*+g*WE@(*WE*E@(*E*g@(*g+@(+#+E@(++@(++g@(+g, E@(, E,8E@(+#,"#@(,,E@(,,@(,-)#@(-)#-j#@(-j#-@(--@(--E@(.EW/KW@(/KW/K@(/K/5@(/5/ @(/ .#@(.#.#@(.#.@(..[@(.[.EW@(.EW.E@(.E.[@(.[.g@(.g.E@(.E.E@(.E/ g@(/ g/K@(/#/E@(/W/@(/0&@(0&0Q#@(0Q#0#@(1#1E@(11B@(1B1m#@(1m#1#@(1#1@(11@(11E@(77E@(78@(78@(7E8E@(:j#:jE@(:j:?@(:?:#@(:#9#@(9#9@(99z@(9z9eW@(9eW9e@(9e9z@(9z9g@(9g9E@(9E:E@(:E:?g@(:?g:j@(;;@(;;#@(;#;[#@(;[#;@(;;@(;;x@(;x;EW@(;EW;4@(;4;@(;;@(;;@(;;g@(;g;E@(;E;[E@(;[E;g@(;g;@(<<@(<<g@(<g<E@(<E=E@(W@(>W>@(>>n@(>n>Y@(>Y>-#@(>-#=#@(=#=@(==@(==~W@(=~W=~@(=~=@(==g@(=g=E@(=E>-E@(>-E>Yg@(>Yg>@(?#?E@(?W?3@(?3?^@(?^?#@(?#?#@(@9#@9E@(@9@z@(@z@#@(@#@#@(@#A@(AA)@(A)A)E@(YY @(Y YkM@(YkMY?o@(Y?oXo@(XoXM@(XMX @(X X{@(X{Xe^@(Xe^Xe@(XeX{L@(X{LX@(XX@(XX@(XY?@(Y?Yk@(YkY@(YYL@(Z0[6@([6[6@([6[ ;@([ ;[ ^@([ ^Z@(ZZ@(ZZq^@(Zq^ZE@(ZEZ0@(Z0Z0n@(Z0nZE@(ZEZq@(ZqZ@(ZZ@(Z[ @([ [6@([[@([\^@(\^\<@(\<\}@(\}\^@(\^\@(\\@(]o]*@(]*]@(]]@(]]@(]B]@(^t^t@(^t^@(^^^@(^^^@(^_#@(``@(``U^@(`U^`)@(`)_@(__^@(_^_@(__{@(_{_{n@(_{n_@(__@(__@(_`)@(`)`U@(`U`@(a0oa0@(}gg@(ghL@(hLeR@(fg*@(g*gN@(gNegN@(egNg*@(g*f@(ff@(fMft@(MftfP@(fPf+@(f+e@(ee@(eev@(eveR@(eReeR@(eeRev@(eve@(hLe@(eev@(eveR@(eR4eR@({gNgN@(hLh(@(h(g@(gg@(gg*@(g*ft@(ftf@(fe@(eev@(eveR@(eRyeR@(yeRev@(eve@(ef@(f ft@( ft g*@( g*g@(gg@(gh(@(h(yhL@(yhLhL@(bee @( hL e@( e ev@( ev!eR@(!eR!1eR@( xgN!gN@(!gN!eR@(!ft!f@(!f"g*@("g*"1gN@("1gN"wgN@(#e"ev@("ev#eR@(#eR#ev@(#ev#e@(-g-g@(-g-2h@(-2h-Ih(@(-Ih(-whL@(-whL-hL@(-hL.h(@(.h(.h@(.h.1g@(.1g.1gr@(.1gr.g*@(.g*-f@(-f-eR@(-eR.HeR@(.gN.eR@(.f/0g*@(/0g*/^gN@(/^gN/gN@(/gN/g*@(/g*/f@(/f/eR@(1hL1eR@(1f1tg*@(1tg*1FgN@(1FgN1gN@(1gN0g*@(0g*0f@(0f0ft@(0ft0f+@(0f+0e@(0e0ev@(0ev1eR@(1eR1FeR@(1FeR1tev@(1tev1e@(3hL3h(@(3h(3\g@(3\g3Dg@(3Dg3-g*@(3-g*3-ft@(3-ft3Df@(3Df3\e@(3\e3ev@(3ev3eR@(3eR4eR@(4eR4Dev@(4Dev4re@(4re4f@(4f4ft@(4ft4g*@(4g*4g@(4g4rg@(4rg4Dh(@(4Dh(4hL@(4hL3hL@(3e4e @(5ZhL5Ze@(5Ze5qev@(5qev5eR@(5eR5eR@(5gN5gN@(6YgN6YeR@(6Yft6pf@(6pf6g*@(6g*6gN@(6gN7gN@(7e7ev@(7ev7eR@(7eR7ev@(7ev7e@(AhLBhL@(BhLBg*@(Bg*Beg*@(Beg*Bg@(BgBf@(BfBft@(BftBf+@(Bf+Be@(BeB|ev@(B|evB6eR@(B6eRAeR@(AeRAev@(AevAe@(AeA}e@(CdgNCdeR@(CdftC{f@(C{fCg*@(Cg*CgN@(CgNDgN@(EhLEeR@(EfEcg*@(Ecg*E4gN@(E4gNDgN@(DgNDg*@(Dg*Df@(DfD{ft@(D{ftD{f+@(D{f+De@(DeDev@(DevDeR@(DeRE4eR@(E4eREcev@(EcevEe@(GhLGxh(@(Gxh(GJg@(GJgG3g@(G3gGg*@(Gg*Gft@(GftG3f@(G3fGJe@(GJeGxev@(GxevGeR@(GeRHeR@(HeRH2ev@(H2evH`e@(H`eHxf@(HxfHft@(HftHg*@(Hg*Hxg@(HxgH`g@(H`gH2h(@(H2h(HhL@(HhLGhL@(GeHxe @(IHhLIHe@(IHeI`ev@(I`evIeR@(IeRIeR@(IgNIgN@(JHgNJHeR@(JHftJ_f@(J_fJg*@(Jg*JgN@(JgNKgN@(KeKvev@(KvevKeR@(KeRKev@(KevKe@(VhLUfP@(UfPWfP@(VhLVeR@(WhLWe@(WeWev@(WevXeR@(XeRX.eR@(WugNXgN@(XhLXeR@(XfYg*@(Yg*Y.gN@(Y.gNYtgN@(YtgNYg*@(Yg*Yf@(YfYeR@([hL[h(@([h([sg@([sg[[g@([[g[Dg*@([Dg*[Dft@([Dft[[f@([[f[se@([se[ev@([ev[eR@([eR\,eR@(\,eR\[ev@(\[ev\e@(\e\f@(\f\ft@(\ft\g*@(\g*\g@(\g\g@(\g\[h(@(\[h(\,hL@(\,hL[hL@(\e\e @(]qhL]qe@(]qe]ev@(]ev]eR@(]eR]eR@(]+gN]gN@(^pgN^peR@(^pft^f@(^f^g*@(^g*^gN@(^gN_*gN@(_e_ev@(_ev_eR@(_eR_ev@(_ev_e@(oo@(a[|he|@(ZutdF{@(ie3~e3@(h]S~ ]S@(lY5z|Y5@(a`Ng_~@(g  @(g@(lSy@(*mS7 SSR@l4 d7 S5 @04 d7 S5 4 d@())O@(6 6@(633SR@t2Q&F)R&'Q&@82Q&F)R&'Q&2SR@t9DA CCVD@89DA CCVD9SR@te Z \A \ QZ @8e Z \A \ QZ e SR@tdJ Kg IK J$ @8dJ Kg IK J$ dSR@pZut\wx\uZut@4Zut\wx\uZutZutSR@p`fd4gd4e`f@4`fd4gd4e`f`fSR@pa`Wdq`dP_a`W@4a`Wdq`dP_a`Wa`W@(afhf@(bfjSR@pbdhdqb@4bdhdqbbSR@t Hm`)\O`^\n@8 Hm`)\O`^\n Hm`@(bQb|@(arQbQ@(c*Qc*|@(d>Qd>|@(cQdQ@(eTQeT|@(eT|fh|@(fQf|@(fQhQ@(f~/g~/@(f|h|@(FfG|\@(HfG|\@(HfH\@(I7fH\@(IK-@(K-K-@(K-K@(KJ>@(J>Jc@(JcJ^c@(J^cJ#>@(J#>I@(II@(II;@(I;I@(IJ#@(J#J^\@(J^\J\@(J\J@(JK-@(M$M>@(M>Lc@(LcLTc@(LTcK>@(K>K@(KK@(KL7@(L7L`@(L`M;@(M;M$@(M$M$@(M$M@(ML\@(L\LT\@(LT\K@(KK@(NfN@(NN-@(N-Nh\@(Nh\N\@(McNc@(O6P@(PP@(PP{@(P{P^>@(P^>P#c@(P#cOc@(OcO>@(O>OT@(OTO6@(O6O6;@(O6;OT@(OTO@(OO\@(O\P#\@(P#\P^@(P^P@(QhcQh\@(QhQ@(QQ>@(Q>Qc@(QcRTc@(RcR\@(RS@>@(S@>S{c@(S{cSc@(ScT>@(T>T-@(T-T-\@(||-@(||-@(|-@(-@(i@(-@(-@( h h-@(!!@(!!@(!!C@(!C! @(!  @(  @(  n@( n! W@(! W!0@@(!0@!@(!!@(!!@(!!@(!!r@(!r!D@(!D!-@(!-!C-@(!C-! D@(! D r@(##-@(#-#-@($$-@($%A-@($T% @(%%-@(%&@@(&@&w@(&w&@(&&@(&&@(&&W@(&W&w@@(&w@&@)@(%)&@)@(&@)&w@(&w&@(&&@(&&@(&&[@(&[&wD@(&wD&@-@(&@-%-@(''-@('(@(')')@('-(-@((v(v-@((v-)Q-@(l\`lZ-@(l\`mV\`@(mV\`m\F@(m\Fm\+@(m\+m[@(m[m[@(m[m[o@(m[om[T@(m[TmV[9@(mV[9l[9@(nW\`nWZ-@(nW\`om\`@(nW[To[T@(nWZ-omZ-@(o\`oZ-@(o\`p\`@(p\`p\F@(p\Fq\+@(q\+q[@(q[q[@(q[q[@(q[p[o@(p[op[T@(p[To[T@(p[TqZ-@(s[s\@(s\sr\F@(sr\FsG\`@(sG\`r\`@(r\`r\F@(r\Fr\@(r\r[@(r[rq[@(rq[rq[@(rq[rZ@(rZrZ}@(rZ}rZG@(rZGrZ-@(rZ-sGZ-@(sGZ-srZG@(srZGsZ}@(sZ}sZ@(sZs[@(sG[s[@(tI\`tIZ-@(tI\`u \`@(u \`uJ\F@(uJ\Fu_\+@(u_\+ut[@(ut[ut[@(ut[u_[@(u_[uJ[o@(uJ[ou [T@(u [TtI[T@(t[TutZ-@(vv\`vK\F@(vK\Fv \@(v \v [@(v [u[@(u[u[@(u[v Z@(v Zv Z}@(v Z}vKZG@(vKZGvvZ-@(vvZ-vZ-@(vZ-vZG@(vZGw!Z}@(w!Z}w6Z@(w6ZwL[@(wL[wL[@(wL[w6[@(w6[w!\@(w!\v\F@(v\Fv\`@(v\`vv\`@(w\`wZ@(wZwZ}@(wZ}x"ZG@(x"ZGxbZ-@(xbZ-xZ-@(xZ-xZG@(xZGxZ}@(xZ}yZ@(yZy\`@(y\`yZ-@(y\`zz\`@(zz\`z\F@(z\Fz\+@(z\+z[@(z[z[@(z[z[o@(z[oz[T@(z[Tzz[9@(zz[9y[9@(ih9ie@(ih9je@(jh9je@(lh9k`e@(lh9le@(kflf@(mKh9mKe@(mKh9ne@(nh9ne@(nh9ne@(o|h9o|e@(o|h9ph9@(o|gp7g@(o|epe@(rh9rih@(rihr:g@(r:gr#g@(r#gr gN@(r gNr f@(r fr#fd@(r#fdr:f)@(r:f)rie@(riere@(rere@(res$e@(s$esSf)@(sSf)sjfd@(sjfdsf@(sfsgN@(sgNsjg@(sjgsSg@(sSgs$h@(s$hrh9@(rh9rh9@(t%h9t%e@(t%h9uUh9@(t%gtg@(vh9ve@(vh9wh9@(wh9wh@(whwg@(wgwg@(wgwg@(wgwgN@(wgNwg1@(wg1wg@(vgwg@(wgwf@(wfwf@(wfwf@(wfwfG@(wfGwf @(wf we@(wewe@(weve@(yh9xXe@(yh9ye@(xfyf@(zDh9zDe@(zDh9{h9@({h9{\h@({\h{tg@({tg{g@({g{g@({g{tgN@({tgN{\g1@({\g1{g@({gzDg@(zg{e@(}_g}0h@(}0h|h9@(|h9|h9@(|h9|Fh@(|Fh|g@(|g|g@(|g|/gl@(|/gl|FgN@(|FgN|tg1@(|tg1}f@(}f}0f@(}0f}Gf@(}Gf}_f@(}_f}_f)@(}_f)}0e@(}0e|e@(|e|e@(|e|Fe@(|Fe|f)@(i`i^g@(i`j&^g@(j&`j&^g@(j`j_@(j_j^@(j^k ^@(k ^kJ^g@(kJ^gks^g@(ks^gk^@(k^k^@(k^k_@(k_k`@(l`l^g@(l`m>^g@(m`m>^g@(m`m^g@(n`n^g@(n`oF`@(oF`o`p@(o`po`V@(o`Vo`"@(o`"o_@(o_o_@(o_o_@(o_oF_@(n_oF_@(oF_o_k@(o_ko_Q@(o_Qo_@(o_o^@(o^o^@(o^o^@(o^oF^g@(oF^gn^g@(p@`p@^g@(p@`qO`@(p@_p_@(p@^gqO^g@(q`q^g@(q`r`@(r`r`p@(r`pr`V@(r`Vr`"@(r`"r_@(r_r_@(r_r_@(r_r_@(r_q_@(r]_r^g@(t`t`p@(t`pte`<@(te` SimplexRoman--K --SeptF/F_9_K _K __Octjx/jxQ9QK QK QQNov7/7K Dec--9A/--,0|.##-##1(A/1(A/1(-1(-,1(20|.@--@-O2A/O2A/O2-O2-,O240|.]7-]7l<A/l<A/l<-l<-,l<60|.{A-{AÉFA/FA/F-F-,F80|.K-KçPA/PA/P-P-,P100|.U-UZA/ZA/Z-Z-,Z120|._-_dA/dA/d-d-,d140|.i-inA/nA/n-n-,n160|. t- tyA/yA/y-y-,y180|.+~-+~A/9-9-,92009-9-P_F_FQZQZ=X=O-F_P_PQwlQwl9joj-d_i_iQnQn t77kxBӮl SimplexRoman-ffH *Monthly ExpensesQy p i SimplexRoman2EBy ExMonth-g-gx=y SimplexRomanQf&D2y DollarsFm=m+PR SimplexRoman*%8yElectrickxm`pmvR SimplexRoman*%8yElPhone7m,mBR SimplexRoman*%8yESalaryBBBBBBCHC CC C*CSeptOctNovDec monthlysales[sys]Line.Fmmonthlysales.DatMonthly ExpensesMonthDollarsElectricPhoneSalaryRƼCAT^@BmBHCA?@?Rn' ?ƃ B] ] |ʙF 7bcq a_?m 3@ 3763 V"[!XV" mm Ae0A %,% j[J )*hX0n) tfm(mwitfm XqnǬkXq CA D#q?CA  e"+h d e [Azl|llАlllbl@lllmŏ1mQmtm|mhmWmGn;:n1fn)n%n#n#o'Do-oo5oAoOo_pr@pepppӏppq0qQ0qtBqQq^qhqmq/qqAqqfoqjqbqؑWqHq 8qB$qc qpppגpwpSp,p+p;oGoQoYZo].o_o_n[nU|nMPnA&n3m#mmmcmʒAm"mmslRl1llꑛlƑllzlS|lAzl [/7r9r\ p  ]; ; t   /~ $@ <  ` d   @  Ժ*d  `p@@8?d |    Ժ**~d | ?0 $?  0~ 0 pD ? x ? (:*0D '@0 ~88  KT  ˹td ` , t  *t   p?@  WU IWt   < *?<x  0     `   2 𻪪*&  x |     b   𺪪*             ສ*             𺪪*             ?  ? | > @  8 0 @ @P'08 %5h/S # <P)0GL! *WriteVDM"?h  b n Picture 00B0$0b00 S_2PPB@(Wdr@(WsW@( S @(  @( d @(d , @(,  S@( S @(  @( , @(, R @(R  @(  m@( m S@( S @(  @(  @(  @( d @(d , @(,  @(~ Sa S@(a Sa @(a N @(N ; @(;  @(  @(  @(  @( ~ S@(~ S~ @(~  @(  @(  @(  @( ; @(; a @(  @(  @( 0 @(0 h @(h  @(  @(  S@( S @(  @(  @( h @(h 0 @(0  @(  @(] ] @(] p @(p  @(  @(%  @(!!PB@(/ X/ sPB@(/ s/ @(- - @(- - S@(- S-l @(-l -Z @(-Z -Z S@(-Z S-l @(-l - @(- - @(- - @(- . @(. .; @(.; .b @(.b .t @(.t . S@(. S. @(. .t @(.t .b S@(.b S.; @(.; . @(. - @(/ / @(/ / @(/ /W @(/W /1 @(/1 / @(/ . S@(. S. @(. / @(/ /1 @(/1 /W @(/W / @(/ / @(/ / @(0q 0q @(0q 0 @(0 0 @(0 0 @(09 0 @(@(|:>:$@(:$:$@(:$:>@(:>9:@(9:K; @(K; K;W@(K;W9;@(9;<$@(<$<=@(<=<=@(>W>PB@(drBi*BiPB@(*BiWBi@(C5CO@(COC@(CA@(CB6@(B6B6@(CA@(C|C@(|CVC5@(VC5DB@(DBDBi@(DBiVA@(VA|A@(|AA@(AA@(AA@(A9A@(9AKBi@(KBiKB@(KB9C5@(9C5C@(CC@(CC@(FWFPB@(drI*IPB@(*IWI@(JJ@(JJ@(JH@(JJ@(JuJ@(uJOJ@(OJJ@(JJ@(JJ@(JI@(II.@(I.H@(HOH@(OHbH@(bHH@(HI.@(I.I{@(I{I@(II@(IJ@(JbJ-@(bJ-OJ-@(OJ-J@(JI@(II@(J|J@(|JVJ@(VJDJ@(DJDI@(DIVIG@(VIG|H@(|HH@(HH@(HH@(H9IG@(9IGKI@(KIKJ@(KJ9J@(9JJ@(JJ@(JJ@(MvWMvPB@(drQ%*Q%PB@(*Q%WQ%@(QR @(R RX@(RXP?@(*RXR>@(R>R @(R Q@(QQ@(QQ@(QbQr@(bQrQX@(QXQ%@(Q%P@(PP@(PPr@(PrPX@(PXuP?@(uP?*P?@(*P?PX@(PXPr@(PrP@(PP@(PQ%@(Q%QX@(QX@(R>uRX@(uRX*RX@(RX|R>@(|R>VQ@(VQDQr@(DQrDQ%@(DQ%VP@(VP|PX@(|PXP?@(P?P?@(P?PX@(PX9P@(9PKQ%@(KQ%KQr@(KQr9Q@(9QR>@(R>RX@(RXRX@(TWT@(*XWX@(fY6fYP@(fYPxY@(xYY@(YY@(YY@(Y"Y@("Y5Y@(5YHYP@(HYPHY@(HY5X@(5XX@(XSW@(SW[W@(}@(;Sy= y@(;Su>u@(?/{Au@(A{?/u@(C {C s@(C yCyz@(CyzC{@(C{D{@(D{Dz@(DzEgy@(EgyEx@(ExEw@(EwEgv@(EgvDv@(DvDu@(DuCu@(CuCyv@(CyvC v@(FxI{x@(I{xI{y@(I{yIDzE@(IDzEI z@(I zH{@(H{G{@(G{Gz@(GzGy@(GyFx@(FxFw@(FwGv@(GvGv@(GvGu@(GuHu@(HuI v@(I vI{v@(J{Ju@(JyKz@(KzL{@(L{L{@(L{M z@(M zMWy@(MWyMWu@(Q3yPz@(PzPX{@(PX{O{@(O{Oz@(OzNy@(NyOy @(Oy O|x@(O|xPx]@(Px]Pw@(PwQ3w8@(Q3w8Q3v@(Q3vPv@(PvPXu@(PXuOu@(OuOv@(OvNv@(R}xUx@(UxUy@(UyTzE@(TzETz@(TzT5{@(T5{S{@(S{S"z@(S"zRy@(RyR}x@(R}xR}w@(R}wRv@(RvS"v@(S"vSu@(SuT5u@(T5uTv@(TvUv@(XyX~z@(X~zW{@(W{W5{@(W5{Vz@(VzVYy@(VYyVy @(Vy Vx@(VxXx]@(Xx]X~w@(X~wXw8@(Xw8Xv@(XvX~v@(X~vWu@(WuW5u@(W5uVv@(VvVYv@(8_8_@(8_98@(:98@(::@(;W;!l@(;!l: @(: :{@(:{:@(::@(:;!)@(;!);W@(;W;@(;;)@(;)<@(<<0@(<0<0{@(<0{< @(< ;l@(;l;@(;;W@(<<@(<=@l@(=@l=v@(=v=@(==l@(=l>@(>>@(? ? @(? ?()@(?()?_@(?_?@(>?z@(@8@8@(@8@l@(@l@@(@A@(AAHl@(AHlAc@(AcAc@(]Z@(]:]@(:]w]@(w]]<@(]<\@(\\@(\[@([[`@([`[@([wZ@(wZ:Z@(:ZZ@(\\@(\Z\<@(Z\<F[@(F[F[@(F[Z[@(Z[Z@(ZZ@(ZZ@(ZZ@(Z=[@(=[Q[@(Q[Q[@(Q[=\<@(=\<\@(\\@(\\@(]Z@(]Z@( \ Z@( \<\@(\\@(\~\@(~\T\@(T\+\<@(+\<[@([[@([+[@(+[TZ@(TZ~Z@(~ZZ@(ZZ@(Z [@(\Z@([\<@(\<\@(\\@(\W\@(\<w\@(w\9\@(9\\@(\\@(\\<@(\<[@([[@([N[@(N[w[@(w[[;@([;[@([wZ@(wZ9Z@(9ZZ@(ZZ@(Z[@(lif@(ll@(k'k'@(ifif@(lif@(Dj Xj@( Xj Xj@( Xj AkP@( AkP *ky@( *kyk@(kk@(kky@(ky[k'@([k'Dj@(DjDj[@(Dj[[i@([ii@(iif@(ifif@(if *i@( *i Xi@(!k'!ky@(!ky!k@(!k!Uk@(!Uk!'ky@(!'ky k'@( k' j@( j j[@( j[ i@( i!'i@(!'i!Uif@(!Uif!if@(!if!i@(!i!i@("l"j @("j "i@("i"if@("if#!if@("ik# k@(#k#if@(#j#k'@(#k'#ky@(#ky$k@($k$ck@($l$l@($l$l@($l$l@($l$l@($k$if@(&k'&]ky@(&]ky&/k@(&/k%k@(%k%ky@(%ky%k'@(%k'%wj@(%wj%wj[@(%wj[%i@(%i%i@(%i%if@(%if&/if@(&/if&]i@(&]i&i@(8ql8qif@(8ql9@l@(9@l9l@(9l9ln@(9ln9l@(9l9k@(9k9kP@(9kP9k'@(9k'9@j@(9@j8qj@(:Tl:Tif@(:Tj:ky@(:ky:k@(:k; k@(; k;:ky@(;:ky;Qj@(;Qj;Qif@(ky@(>ky>1k@(>1k>vk@(>vk>ky@(>ky>j@(>j>if@(?\j@pj@(@pj@pj@(@pj@YkP@(@YkP@Bky@(@Bky@k@(@k?k@(?k?ky@(?ky?sk'@(?sk'?\j@(?\j?\j[@(?\j[?si@(?si?i@(?i?if@(?if@if@(@if@Bi@(@Bi@pi@(TOlET!l@(T!lSl@(SlSl@(SlSgL5H@( jdSR@p J d7 J@4 J d7 J JSR@p*d , J+*d @4*d , J+*d *d SR@p^jblbi^j@4^jblbi^j^jSR@p_iebeebWb_ie@4_iebeebWb_ie_ieSR@p^xayaw|^x@4^xayaw|^x^x@(, J#dSR@p6`Gb_6`G@46`Gb_6`G6`GSR@pKHOHNEKH@4KHOHNEKHKHSR@peKhIfG[eK@4eKhIfG[eKeKSR@p ( _*'# (@4 ( _*'# ( (SR@p yC\D wA yC@4 yC\D wA yC yCSR@lIGIGIGIzGIeHIRHI?HI-H)IH:I HLHH`HHwHHHHHHHHHHHIHI8HIXHIxHIHIHIHIHJHJ:HJYHJwHJHJHJHJHJHKIK+IK>I$KQI6K`IHKmI\KxIoKIKIKIKIKIKIKIKJK|JKqJ.KfJ@KWJRKFJcK5JsK JK JJJJJJJJJJJJgJJIJJ)JJ JIJIJIJIJIhJIHJI)JI JHJHJHJHJHJ{HlJkHVJZHDJIH1J7H!J$HJH IHIGIGIGIG@?pIGIGIGIzGIeHIRHI?HI-H)IH:I HLHH`HHwHHHHHHHHHHHIHI8HIXHIxHIHIHIHIHJHJ:HJYHJwHJHJHJHJHJHKIK+IK>I$KQI6K`IHKmI\KxIoKIKIKIKIKIKIKIKJK|JKqJ.KfJ@KWJRKFJcK5JsK JK JJJJJJJJJJJJgJJIJJ)JJ JIJIJIJIJIhJIHJI)JI JHJHJHJHJHJ{HlJkHVJZHDJIH1J7H!J$HJH IHIGIGIGIGIGSR@ld|LdlL!d\L#dLL'd=L-d.L3dL=dLHdLScL`cLocLcLcLcLcLcLcLcMcM cM6cMMcMdcM{cMcMcMcMcMcNcNcN)cN;cNMcN]cNmcN{d NdNd'Nd5NdENdTNddNdtNd|NdNdNdNdNdNdNdNdNeNteNeeNUe%NEe0N2e9N eAN eHMeOMeSMeXMe[Me]Me^Moe^MYe\MAeZM+eVMeQLeKLeDLe=Le4Le+Le LeLweLhdLZdLMdLAdL8dL0dL*dL%dL"dLd|L@?pd|LdlL!d\L#dLL'd=L-d.L3dL=dLHdLScL`cLocLcLcLcLcLcLcLcMcM cM6cMMcMdcM{cMcMcMcMcMcNcNcN)cN;cNMcN]cNmcN{d NdNd'Nd5NdENdTNddNdtNd|NdNdNdNdNdNdNdNdNeNteNeeNUe%NEe0N2e9N eAN eHMeOMeSMeXMe[Me]Me^Moe^MYe\MAeZM+eVMeQLeKLeDLe=Le4Le+Le LeLweLhdLZdLMdLAdL8dL0dL*dL%dL"dLd|Ld|L@(kQ>kQk>@(k>l6>@(l6>ld>@(ld>l{>F@(l{>Fl=@(l=l=M@(l=Ml{<@(l{ln]o+o>@(p>oqh=.q$=.@(r>rs>@(s>s>@(s>s>@(s>t>e@(t>et>@(t>s=@(s=s=@(s=s=@(s=r=@(u>t>@(t>t>@(t>t>F@(t>Ft=@(t=t=M@(t=Mt<@(tF@(u>Fu>@(u>u>@(u>up>@(up>u>@(v>vwRxxyzF>@({>{>@({>{q>@({q>{>@({>z>@(z>z>@(z>z>F@(z>Fz>@(z>z=@(z=z=@(z={=@({={=l@({=l{=M@({=M{=@({={<@({<{>xW== ??p< SimplexRoman1Z&Z&1d(1Z&1O$30:_':Z&+D+Dd(+Dd(+DZ&+DO$35M_'MZ&VVd(Vd(VZ&VO$40.`_'.`Z&iid(id(iZ&iO$45r_'rZ&1|1|d(1|d(1|Z&1|O$50_'Z&ގގd(ގd(ގZ&ގO$554_'4Z&d(d(Z&O$60_'Z&77d(7d(7Z&7O$65_'Z&d(Z&O$701Z&13Z&1Z&/Z&0C2-,1-,2323212/250C2717ƨ=3=3=1=/=100C2|C1|CPI3PI3PI1PI/PI150C2#O1#OT3T3T1T/T200C2Z1ZƟ`3`3`1`/`250C2rf1rfFl3Fl3Fl1Fl/Fl300C2r1rw3w3w1w/w350C2}1}31/400Z&ƕ11PIVwVw1|Z1|Zo7ɒoIɒ1`VFlVFl1|r1|rPUɒPgɒ1=VTVT1|Fl1|Fl1sɒ1ɒ1TV=V=1|Fl1|Fl2ɒɒ1RBVNPVNP1|T1|TRRLWɒɒ2|*S* SimplexRomanef{Profit by Unit}t1 SimplexRomanϟ2^=fit Unit #11?>/ SimplexRomanf&U.fit Profitp@ M6 Jg SimplexRoman*,3fitWesternQ^ T hg SimplexRoman*,3fitEastern2| p ؇g SimplexRoman*,3fiSouthern Î cg SimplexRoman*,3fiNorthern ,g SimplexRoman*,3fiCentralA BHBpBCCaCCA BHBpBzCCCCA BHBpBBHCCCA BHBpBHCBCHBA BHBpBBB4CHC>CRC profitbyunit[sys]Line.Fmprofitbyunit.DatProfit by UnitUnit #ProfitWesternEasternSouthernNorthernCentralR[[A{@ B.EBCHBAB@PnBBAB SimplexRomanPA? Profit by UnitH8GB ? SimplexRomanP }@? Unit #HAmLOB SimplexRomanP@@? ProfitISAB SimplexRomanPtV@? WesternIBB SimplexRomanPtV@? EasternJ3EBB SimplexRomanPtV@? SouthernJBB SimplexRomanPtV@? NorthernIIBB SimplexRomanPtV@? Central ,óó ]] Ϛ jnn " & # sU"sU 6i Pi  ໚ͮ ~] ;- G V# d7A  ^%j VR\%? [wH ,=kQBhԟہ{"bIMq:+ĂHu΃%&2QD{Wnʄğ5T r.V̅֠܅1^ӡ0]ᅊӅ…ޢ.ScvD$ϣ݄裶e;+4:<<_620$ڂ]ۣ7£큆ˁeAu\ʢG5t%G  [;|Ni|Pi{Si{Yi{`i{iiu{wiW{i9{i{i{izizizjzjz6jzQjxzpjnzjezj_zjZzjYz kYz+k\zLkbzkkizkszkzkzkzkzlz4lzLlzal{wl+{lH{le{l{l{l{l{l|l+|l;|l[|l|l|l|l|l}l}l=}lY}lt}ml}Wl}@l}&l} l}k}k}k~k~yk~[k~ 7QVAGR~>Q 5I9:5    U  C?@@A@?@D0]@@@ UUUUUWUUUUUU_TUUUUUUU_@@@0@`@B@g;@0 .% @ @ 69@ ࣑&=@` @M` pUUUUUWUU}UUUUUUUUUU_ `<0@`@|}>x@H@ 0@8$ @@@pA@@>@2 M`(@ @0U  PVTU]UUUUUU]UGUUUUUUUUUM `@ C I@@6 [J@8@@Z@ ]R@@@ @_@ ?pUWUUUVUUU_UUUUUTU _@P@~@L @@pE@@pA@@  @`@@@gUU UUU]UUUUUUUUUUUUUU_@@@@h@>x@@@@`@@@0_@@ pUUUUUVUUUUUUUUuUUUUUU_@@@@@@A@@@@ @@@MW@@ @UUUUUUUUUUUUUUUUUUUUM@@@ @@@ @@@@ @@@ \@@@@@   ~ ~ |  p| ^~ ~~~ x <` HP`pH0 HUxHUxp>0@x$R&_@'xFQJ$YQ @ GL% *WriteVDM"?h  b n Picture 00B0$0b00 S_2PPB@(fb@(@(e6@(6@(@(#@(#6@(6I@(IIf@(If6@(6@(@(@(e@(eR@(R?2@(-@(@(@(@(2@(2@(-@(-S@(S@(2@(2@(@(@(@(S@(S-@(PB@(WQPB@(@(R@(R@(@(?@(?R@(Re@(eef@(efR@(R,@(,@(@(@(n@(n[2@( @(@(@( 64@( 64 o4@( o4 @(  @(  @(  f@( f @(  @(  o@( o 6@( 6@(@(2@($$PB@()WQ)PB@())@()5(w@((w)@()5)5@(*e*,@(*,*@(*)@())@()*2@(*2*,@(*,*e@(*e*@(**@(**2@(*2*@(**@(**@(**@(**@(**e@(..PB@(3WQ3PB@(33@(3Q2@(23@(3Q3Q@(445@(454"@(4"45@(454n4@(4n444@(444@(45@(55@(55f@(5f5@(54@(44@(44n@(4n45@(454"@(4"42@(88PB@(=WQ=PB@(==@(=<@(<<@(<<@(<=4@(=4=G4@(=G4=@(==@(==@(==f@(=f=@(==@(==G@(=G=@(=<@(<<@(<<2@(>>d@(>d>>@(>>>+@(>+>+@(>+>>2@(>>2>d@(>d>@(>>@(>>@(>?"2@(?"2?5@(?5?5@(?5?"@(?">@(>>@(>>@(CCPB@(HWQHPB@(HH@(GF@(FF@(FF@(FG*4@(G*4Gc4@(Gc4G@(GG@(GG@(GGf@(GfG@(GG@(GGc@(GcG*@(G*F@(FF@(FF2@(I+Hm@(HmHZ@(HZHm@(HmH4@(H4H4@(H4I@(II>@(I>IQ@(IQIQf@(IQfI>@(I>I@(IH@(HH@(HHm@(HmHZ@(HZHG2@(MMPB@(R*WQR*PB@(R*R*@(QQ@(QQ@(QQl@(QlQ3@(Q3Q @(Q P@(PP@(PQ @(Q Q3@(Q3Ql@(QlQ@(QQ@(QQ@(QQf@(QfQ@(QQ@(QQ@(QQ@(QQl@(QlQ3@(Q3Q @(Q P@(RR@(RRv@(RvRc@(RcRc@(RcRv2@(Rv2R@(RR@(RR@(RS4@(S4SZ2@(SZ2Sm@(SmSm@(SmSZ@(SZS4@(S4R@(RR@(W8W8PB@(\FWQ\FPB@(\F\F@([[@([[@([[@([[O@([O[)@([)[@([[@([[)@([)[O@([O[@([[@([[@([[@([\ f@(\ f\ @(\ [@([[@([[@([[@([[O@([O[)@([)[@(]c\@(\\@(\\@(\\4@(\4]4@(]4]P@(]P]v@(]v]@(]]f@(]f]v@(]v]P@(]P]@(]\@(\\@(\\@(\\2@(aTaT@(fbfb@(f)ek@(ef)@(g f@(ff@(ff@(ff@(ff2@(f2f@(fg @(g g3@(g3gl@(glg2@(g2g@(gg@(gg@(ggl@(glg3@(g3g @(WQ@(W@(6@(}@(}jN@(jNj@(j}@(}4@(4@(@(;4@(;4a@(at@(ttN@(tNa@(a;@(;6@(66@(FFPB@(fbWPB@(W@(@(@(@(M @(M  @( @(@(q@(q>@(>@(@(@(M@(M@(@( @(@(}Y@(}Yj@(jj@(j} @(} @(@(@(;@(;a @(a t@(tt@(taY@(aY;@(;@(@(PB@(fb$W$PB@(W$$@($$@($ %I@( %I #-@(`%I'%0@('%0$@($$b@($b$@($#@(#'#G@('#G`#-@(`#-#-@(#-#G@(#G#@(#$@($$b@($b$@($%0@(%0%I@(%I`%I@(%I%0@(%0}$@(}$j$b@(j$bj$@(j$}#@(}##G@(#G#-@(#-#-@(#-;#G@(;#Ga#@(a#t$@(t$t$b@(t$ba$@(a$;%0@(;%0%I@(%I%I@((Z(ZPB@(fb,W,PB@(W,,@(-m-@(- -@( - +@(--@(-,@(,-@(-M- @(M- - @(- -@(-,@(,,@(,,R@(,R,@(,+@(++@(+M+@(M++@(++@(+,@(--@(-}-m@(}-mj,@(j,j,@(j,},@(},+@(++@(++@(+;+@(;+a,@(a,t,@(t,t,@(t,a-m@(a-m;-@(;--@(--@(00PB@(fb5)W5)PB@(W5)5)@(55@(56*@(6*6D@(6D6]@(6]6]@(6]C6D@(C6DV6*@(V6*i5@(i5i5@(i5V5@(V505C@(05Cr4A@(r4A|4A@(`6]'6D@('6D5@(55v@(5v5)@(5)4@(4'4[@('4[`4A@(`4A4A@(4A4[@(4[4@(45)@(5)5v@(5v5@(56D@(6D6]@(6]`6]@(6]6D@(6D}5@(}5j5v@(j5vj5)@(j5)}4@(}44[@(4[4A@(4A4A@(4A;4[@(;4[a4@(a4t5)@(t5)t5v@(t5va5@(a5;6D@(;6D6]@(6]6]@(9n9nPB@(fb=W=PB@(W==@(>h>@(>>@(>>@(>>@(>>@(>C>@(C>V>@(V>i>@(i>i>N@(i>NV>@(V>0=@(0=r<@(r<|<@(>>@(>>@(>>@(>M>4@(M>4>4@(>4>@(>=@(==@(==f@(=f=@(=<@(<<@(<M<@(M<<@(<<@(<=2@(>>@(>}>@(}>j>@(j>j=@(j=}=2@(}=2<@(<<@(<<@(<;<@(;<a=2@(a=2t=@(t=t>@(t>a>@(a>;>@(;>>@(>>@(AAPB@(fbF=WF=PB@(WF=F=@(GqiGq@(iGqF@(F0F@(0FVF@(VFiFp@(iFp|F#@(|F#|E@(|EiE@(iECEo@(CEo EU@( EUEU@(EUEo@(EoE@(ErE@(`Gq'GX@('GXG @(G F@(FF=@(F=E@(E'Eo@('Eo`EU@(`EUEU@(EUEo@(EoE@(EF=@(F=F@(FG @(G GX@(GXGq@(Gq`Gq@(GqGX@(GX}G @(}G jF@(jFjF=@(jF=}E@(}EEo@(EoEU@(EUEU@(EU;Eo@(;EoaE@(aEtF=@(tF=tF@(tFaG @(aG ;GX@(;GXGq@(GqGq@(JJPB@(fbNWNPB@(WNN@(OiO@(iOO-@(O-0O-@(0O-VO@(VOiN@(iN|N@(|N|Nz@(|NziN,@(iN,CM@(CM M@( MM@(MM@(MN@(NrNF@(OO@(OO@(OO-@(O-MOH@(MOHOH@(OHO-@(O-N@(NN@(NNz@(NzN,@(N,M@(MM@(MMM@(MMM@(MN@(NNF@(OO@(O}O@(}OjO@(jOjN@(jN}NF@(}NFM@(MM@(MM@(M;M@(;MaNF@(aNFtN@(tNtO@(tOaO@(aO;O@(;OO@(OO@(S S @(WWQWQ@(0XrW@(rWW@(0X0Vj@(`X'Xl@('XlX@(XW@(WWQ@(WQV@(V'V@('V`Vj@(`VjVj@(VjV@(VV@(VWQ@(WQW@(WX@(XXl@(XlX@(X`X@(XXl@(Xl}X@(}XjW@(jWjWQ@(jWQ}V@(}VV@(VVj@(VjVj@(Vj;V@(;VaV@(aVtWQ@(tWQtW@(tWaX@(aX;Xl@(;XlX@(XX@(fbfbWQ@(fbWQWQP@(,)N@()N)N@()N=9n@(=9n=9n@(=9nR*WQ@(bu"xbuPB@(=)F=@()F=)F=@()F==J@(=J=J@(=JR*WQ@((bu2buPB@($)5)@()5))5)@()5)=F=@(=F==F=@(=F=R*WQ@(9buBbuPB@(5))$@()$)$@()$=F=@(=F==F=@(=F=R*@(I?buRbuPB@(')1@()1)1@()1=5)@(=5)=5)@(=5)R*3s@(R*3sR*3s@(R*3sfb6@(Ylbuc+buPB@((y(r_@((y*y@(*y+yr@(+yr+y@(+y+xb@(+xb+wS@(+wS+v@(+v+vC@(+vC*u@(*u(u@(-}wS-}r_@(-}u3-vC@(-vC.#v@(.#v.wS@(.wS/8wS@(1,wS0v@(0v0NvC@(0NvC0u3@(0u30t~@(0t~0Nso@(0Nso0r@(0r1,r_@(1,r_1r_@(1r_2Ar@(2Ar2so@(2so2t~@(2t~2u3@(2u32vC@(2vC2Av@(2Av1wS@(1wS1,wS@(5y5Hy@(5Hy4yr@(4yr4xb@(4xb4r_@(3wS5wS@(6y7yr@(7yr7awS@(>awS?wS@(?wS?vv@(?vv?vC@(?vC@u3@(@u3@t~@(@t~?so@(?so?vr@(?vr?r_@(?r_>ar_@(>ar_=r@(=r=so@(A2wSB~r_@(CwSB~r_@(B~r_Bp@(BpAp@@(Ap@A2o@(A2o@o@(GAyGAt~@(GAt~Gyso@(GysoGr@(GrHr_@(Hr_Hr_@(Hr_Ir@(IrJso@(JsoJJt~@(JJt~JJy@(LwSLr_@(LuLv@(LvMwS@(MwSMwS@(MwSN0v@(N0vNgu@(NguNgr_@(OyP#yr@(P#yrPZy@(PZyP#z'@(P#z'Oy@(P#wSP#r_@(RyRs@(RsRMr@(RMrRr_@(Rr_S+r_@(QowSRwS@(9 9!@(9!: @(: :CA@(:CA:@(::@(:;A@(;A;U@(;U;p!@(;p!;p @(8 >T @(>T >o @(>o >T @(>T >8 @(>T >T@(?K ?K@(?K?fA@(?fA?@(??@(> ? @(BJ sA@(B sB.@(A -C -@(Ao!B!@(\YN@(\\@(\[@([[@([[@([[*@([*Z@(ZZ@(ZZ@(ZZ@([*YN@(Z^Z@(Z[@([[*@([*0[*@([*[@([Z@(ZZ^@(Z^Z@(ZY@(YYp@(YpYN@(YN*YN@(*YNSYp@(SYp|Y@(|YZ@(ZZ^@(Z^|Z@(|ZS[@(S[*[*@(*[*[*@(\v\@(v\L[@(L[8[@(8[8YN@([*[*@(\[@([1\@(1\\9@(\9\@([*YN@(\Y@(YYp@(YpYN@(YN?YN@([*+[*@(Kjf@(3jf@(3jf@(jf@(h(h(@(h(ht@(hth@(hwh@(whIi @(Ii i @(i h@(hh@(hh(@(h(g@(ggj@(gjg@(gf@(fIf@(Ifwg@(wggj@(0hh@(hi @(i i @(i Hh@(Hh1h@(1hHhN@(HhNvh(@(vh(h@(hg@(g0g@(0g0gj@(0gjg@(gf@(ff@(fHg@(Hg1gj@(jg@(gg@(g/f@(/f]f@(i Gi @(h(h(@(h(ht@(hth@(hh@(hi @(i Fi @(Fi h@(hh@(hh(@(h(g@(ggj@(gjg@(gFf@(Fff@(fg@(ggj@( i f@( h( h@( h h@( h i @( i !Ei @(!i !f@(!ht!h@(!h"-i @("-i "si @("si "h@("h"ht@("ht"f@((j(f@((j*j@((h)h@((f*f@(+i +f@(+h+_h@(+_h+0i @(+0i *i @(*i *h@(*h*h@(*h*vh(@(*vh(*vg@(*vg*gj@(*gj*g@(*g*f@(*f+0f@(+0f+_g@(+_g+gj@(-/h-h@(-h,i @(,i ,i @(,i ,Fh@(,Fh,0h@(,0h,FhN@(,FhN,uh(@(,uh(,h@(,h-g@(-g-/g@(-/g-/gj@(-/gj-g@(-g,f@(,f,f@(,f,Fg@(,Fg,0gj@(-j-g@(-g.g@(.g..f@(..f.\f@(-i .Ei @(.h(/h(@(/h(/ht@(/ht/h@(/h/h@(/h/i @(/i /Ei @(/Ei /h@(/h.h@(.h.h(@(.h(.g@(.g.gj@(.gj/g@(/g/Ef@(/Ef/f@(/f/g@(/g/gj@(0i 0f@(0h(0h@(0h0h@(0h0i @(0i 1Ci @(1i 1f@(1ht1h@(1h2,i @(2,i 2ri @(2ri 2h@(2h2ht@(2ht2f@(9/i9i@(9i8j@(8j8^j@(8^j8i@(8i7i@(7i7iW@(7iW8i @(8i 8h@(8h8Gh@(8Gh8ht@(8ht9hN@(9hN9h(@(9h(9/g@(9/g9/gj@(9/gj9g@(9g8f@(8f8^f@(8^f8g@(8g7gj@(:/i :h@(:h9h@(9h9h(@(9h(9g@(9g9gj@(9gj:g@(:g:/f@(:/f:uf@(:uf:g@(:g:gj@(:gj:g@(:g:h(@(:h(:h@(:h:h@(:h:ui @(:ui :/i @(;i ;g@(;g;g@(;g;f@(;f<f@(<f[j>[f@(>[ht>h@(>h>i @(>i ?i @(?i ?Ch@(?Ch?Zht@(?Zht?Zf@(?h(Ah(@(Ah(Aht@(Aht@h@(@h@h@(@h@i @(@i @qi @(@qi @Ch@(@Ch@h@(@h?h(@(?h(?g@(?g@gj@(@gj@Cg@(@Cg@qf@(@qf@f@(@f@g@(@gAgj@(Ai Af@(Ah(Ah@(AhAh@(AhB*i @(B*i Bpi @(Bi Bf@(BhtC*h@(C*hCXi @(CXi Ci @(Ci Ch@(ChCht@(ChtCf@(H]jH]f@(H]jIf@(IjIf@(Ji Jh@(JhJ\h@(J\hJDh(@(JDh(JDg@(JDgJ\gj@(J\gjJg@(JgJf@(JfJf@(JfK-g@(K-gK[gj@(K[gjKrg@(KrgKrh(@(Krh(K[h@(K[hK-h@(K-hJi @(Ji Ji @(Li Lf@(Lh(L,h@(L,hLZh@(LZhLi @(Li Li @(MZjMZg@(MZgMqg@(MqgMf@(MfMf@(Mi Mi @(NZjNZf@(NZhtNh@(NhNi @(Ni Oi @(Oi OAh@(OAhOYht@(OYhtOYf@(Oh(Qh(@(Qh(Qht@(QhtPh@(PhPh@(PhPi @(Pi Poi @(Poi PAh@(PAhPh@(PhOh(@(Oh(Og@(OgPgj@(PgjPAg@(PAgPof@(PofPf@(PfPg@(PgQgj@(Qi Qf@(Qh(Qh@(QhQh@(QhR)i @(R)i Rni @(Ri Rf@(RhtS(h@(S(hSWi @(SWi Si @(Si Sh@(ShSht@(ShtSf@(ZiWZi@(ZiZi@(ZiZ}j@(Z}jZ j@(Z jYi@(YiYi@(YiYiW@(YiWYh@(YhYh(@(Yh(Yg@(YgYgj@(YgjYg@(YgZ f@(Z fZ}f@(Z}fZg@(ZgZgj@(ZgjZg@([}h(\h(@(\h(\ht@(\ht\{h@(\{h\eh@(\eh\6i @(\6i [i @([i [h@([h[h@([h[}h(@([}h([}g@([}g[gj@([gj[g@([g[f@([f\6f@(\6f\eg@(\eg\gj@(]6i ]6f@(]6ht]{h@(]{h]i @(]i ]i @(]i ^h@(^h^5ht@(^5ht^5f@(_j_g@(_g_g@(_g_Kf@(_Kf_zf@(^i _ci @(`i `f@(`h(`h@(`h`Kh@(`Kh`zi @(`zi `i @(b3i b3f@(b3hbh@(bhai @(ai ai @(ai abh@(abha4h@(a4hah(@(ah(ag@(aga4gj@(a4gjabg@(abgaf@(afaf@(afbg@(bgb3gj@(bjbf@(b4zl)z@(liy~iy@(k$` ` @(lH,MH,@(3` ` @(35 y5@(s&|@(Pbg@(`k|Urv@(kk eho@(OD Z@(!) @( Q@( F>F>.F>@F>QF>bF>sF>Fu>Fh>FZ>FI>F9>F&>F>E>E>E>E>E>E>Ez>Eb>EL>E4>E>E>D>D>D>D>D>D>Dw>Dh>DY>DK>{D>>kD2>ZD)>HD!>7D>%D>D>D=D@?p=D=D=D=D=D=D$=D.=|D8=lDD=\DQ=MD`=@Dp=4D=(D=D=D= D=D F>F>.F>@F>QF>bF>sF>Fu>Fh>FZ>FI>F9>F&>F>E>E>E>E>E>E>Ez>Eb>EL>E4>E>E>D>D>D>D>D>D>Dw>Dh>DY>DK>{D>>kD2>ZD)>HD!>7D>%D>D>D=D=D@(TUpM@(ADpE SR@pehogkh[hDeho@4ehogkh[hDehoehoSR@pUbvWyXw Uhv@4UbvWyXw UhvUbvSR@pTUWfVhVSTU@4TUWfVhVSTUTUSR@p?DzBEEBECO?Du@4?DzBEEBECO?Du?DzSR@pD G F4D @4D G F4D D SR@p& ) 'A Q& @4& ) 'A Q& & SR@p    @4     SR@p CGGE7 yA C>@4 CGGE7 yA C> CGSR@p9a+c)a@a@49a+c)a@a9a+@(a*Bb@(kadhbkSR@pdhbkgUcfg5`dhbk@4dhbkgUcfg5`dhbkdhbkSR@p%R * '1%1@4%R * '1%1%R@(kc)ka@(kc)la@(lc)la@(mFc)mFa@(mFamYaT@(mYaTma @(ma ma@(mama@(mana @(na n@aT@(n@aTnSa@(nSanSc)@(nc)na@(nc)oa@(p!c)oa@(p!c)p!a@(pc)pa@(pc)qhc)@(qhc)qc@(qcqb@(qbqb@(qbqb@(qbqbX@(qbXqb?@(qb?qhb$@(pb$qhb$@(qhb$qb @(qb qa@(qaqa@(qaqan@(qanqa:@(qa:qa @(qa qha@(qhapa@(rPc)rPa@(rPc)sJc)@(rPb$rb$@(rPasJa@(sc)sa@(sc)tkc)@(tkc)tc@(tctb@(tbtb@(tbtb@(tbtbX@(tbXtb?@(tb?tkb$@(tkb$sb$@(tDb$ta@(vsc)vLc@(vLcv&b@(v&bvb@(vbubX@(ubXua@(uava@(vav&aT@(v&aTvLa @(vLa vsa@(vsava@(vava @(va w aT@(w aTw a@(w aw3a@(w3aw3bX@(w3bXw b@(w bw b@(w bvc@(vcvc)@(vc)vsc)@(wc)wa@(wc)xc)@(wb$xTb$@(yc)ya@(yaza@({c){a@({c){a@({c)|a@(|c)|a@(}^c)}^a@(}^c)~Xc)@(}^b$}b$@(}^a~Xa@(bc@(cec)@(ec)c)@(c)~c@(~c~b@(~b~b@(~b~bs@(~bs~bX@(~bXb?@(b?yb @(yb a@(aa@(aa@(aaT@(aTa @(a ea@(eaa@(a~a @(~a ~aT@(c~c~{@(bdL@(dd{@(fCfC{@(etg@(gg{@(g{i {@(ii{@(ik@(i}~j}~@(i{k{@(mglmgj@(mgln{j@(n{ln{j@(o|lnj@(o|lpj@(okRokR@(p|lp|j@(p|lqj@(qlqj@(qlqj@(rUlrUj@(rUlsUl@(rUkrk@(rUjsUj@(tltl@(tltlx@(tlxtlB@(tlBt}k@(t}kt}km@(t}kmtk@(tktj@(tjtj@(tjtj@(tjuBj@(uBjuij@(uijuj@(ujuk@(ukukm@(ukmuk@(ukulB@(ulBulx@(ulxuil@(uiluBl@(uBltl@(vClvCj@(vClwCl@(vCkvk@(xjlxjj@(xjjyVj@(ylyj@(zVlzVj@(zVl{jj@({jl{jj@(|l|j@(|l} l@(|k|k@(|j} j@(~lx~Xl@(~Xl~l@(~l}l@(}l}l@(}l}klx@(}klx}klB@(}klB}l @(}l }k@(}k}k@(}k~0k@(~0k~Xk@(~Xk~kkm@(~kkm~k8@(~k8~j@(~j~Xj@(~Xj~j@(~j}j@(}j}j@(}j}kj@(=cb@(ba@(xcb@(cea@(ca@(bGebG@(ca@(ca@(ca@(*cmc@(cc@(cyc@(yc>c@(>ccm@(cmc8@(c8*c@(*c>b@(>beb@(ebb@(bb}@(b}bb@(bb*b-@(*b-*a@(*aa@(aa@(aya@(ya>a@(>aa@(ycya@(ya ea@( +c a@( +c a@( bG bG@( *c *a@( *c c@( c c@( c *c@( *c >cR@( >cR >c@( >c *b@( *b b@( b b@( *b b@( b b@( b *b}@( *b} >bG@( >bG >a@( >a *a@( *a a@( a a@( a *a@( c a@( c c@( b gb@( a a@(@c@a@(@a,a@(PAQL@(QPAL@(SRL@(STbL@(S)/T/@(TVL@(VTL@(VVL@(XX@(XX:@(X:W@(WW@(WWb@(WbWbT@(WbTWz@(WzW@(WW@(WXR@(XRXq@(XqXP@(XPX@(XX@(XXm@(XmX:L@(X:LWL@(WLWm@(WmWb@(ZJZJL@(ZJL[jL@(\Z[L@(\Z]L@([/\/@(]]L@(]^j@(^j^@(^^@(^^u@(^u^4@(^4^@(^^@(^^j@(]^j@(^j^@(^^q@(^q^/@(^/^@(^^@(^^m@(^m^jL@(^jL]L@(__L@(_`@(_`J@(_L`L@(aRaRL@(aRLbrL@(98@(87>@(98@(9w7>@(79w7>@('9g7>@('97>@(8!8!@(_9_7>@(_7>7>@(98@(87@(7@7^@(@7^7>@(7>7>@(7>7^@(7^ 07@( 07 G8@( G8 G9@( 9 7>@( 9 ?9@( 8 8@( 7> ?7>@( 9 9@( 9 9@( 9 09@( 09 9@( 9 9@( 9 9E@( 9E 9@( 9 8@( 8 8@( 8 8@( 8 8b@( 8b 8B@( 8B 8@( 8 7@( 7 7^@( 7^ 7>@( 7> 07>@( 07> 7^@( 7^ 7@(= _@( =_@( _@(] _@(M _@(M  _@(BB@( _@(_ _@(! !"@(!"!5@(!5!e@(!e!_@(!_!_@(!_"%@("%"U@("U"m"@("m""m @(#- #-_@(#- $e @(#-#@(#-_$e_@(&-%@(%% @(% %U @(%U % @(% $@($$g@($g$&@($&% @(% %=@(%=%@(%%@(%&c@(&c&-"@(&-"&-@(&-%@(%%_@(%_%U_@(%U_% @(% $@(l,Ll,I@(l,LlL@(lLm3K@(m3KmgK@(mgKmKS@(mKSmJ@(mJmJ6@(mJ6mI@(mImgI@(mgIm3I=@(m3I=lI@(lIl,I@(nLnI@(nLoI@(nTJo[J@(pLpI@(oLqOL@(rULqI@(rULs(I@(qJrJ@(tLtI@(tLuL@(uLuK@(uKvK@(vKv"Kw@(v"Kwv"K @(v"K vJ@(vJuJ@(uJuJ~@(uJ~tJ~@(w^Lw)K@(w)KvK@(vKvKS@(vKSvJ@(vJvJ6@(vJ6vI@(vIvI@(vIw)I=@(w)I=w^I@(w^IwI@(wIwI=@(wI=x0I@(x0IxJI@(xJIxeJ6@(xeJ6xeJ@(xeJxJKS@(xJKSx0K@(x0KwK@(wKwL@(wLw^L@(yLyI@(yLyI@(yL{`I@({`L{`I@(|L|I@({L}TL@(-K~K@(~K~L@(~L~@L@(~@L}K@(}K}K@(}K}KS@(}KS}K @(}K }J@(}J~&J@(~&J~J~@(~J~~JZ@(~JZJ6@(J6-I@(-I-I@(-I~I=@(~I=~I@(~I~@I@(~@I}I=@(}I=}I @&LJsF tЋ]UFPFPFPvv P6s~uF0FF9Vu9Ft 0P6fbvFVRPFVRP^ P6ym^ :Ft 0P6fb~tK^ u^:^ G>xW== ??p< SimplexRoman1Z&Z&1d(1Z&1O$30:_':Z&+D+Dd(+Dd(+DZ&+DO$35M_'MZ&VVd(Vd(VZ&VO$40.`_'.`Z&iid(id(iZ&iO$45r_'rZ&1|1|d(1|d(1|Z&1|O$50_'Z&ގގd(ގd(ގZ&ގO$554_'4Z&d(d(Z&O$60_'Z&77d(7d(7Z&7O$65_'Z&d(Z&O$701Z&13Z&1Z&/Z&0C2-,1-,2323212/250C2717ƨ=3=3=1=/=100C2|C1|CPI3PI3PI1PI/PI150C2#O1#OT3T3T1T/T200C2Z1ZƟ`3`3`1`/`250C2rf1rfFl3Fl3Fl1Fl/Fl300C2r1rw3w3w1w/w350C2}1}31/400Z&ƕ11PIVwVw1|Z1|Zo7’oI’1`VFlVFl1|r1|rPU’Pg’1=VTVT1|Fl1|Fl1s’1’1TV=V=1|Fl1|Fl2’’1RBVNPVNP1|T1|TRRLW’’2|OR SimplexRoman+jProfit by Unit}t1 SimplexRomanΟ2<fit Unit #11>V SimplexRoman_'m/fit Profitp@M6J] SimplexRoman* 3fitWesternQ^Th] SimplexRoman* 3fitEastern2|p؇] SimplexRoman* 3fiSouthernÎc] SimplexRoman* 3fiNorthern,] SimplexRoman* 3fiCentralA BHBpBCCaCCA BHBpBzCCCCA BHBpBBHCCCA BHBpBHCBCHBA BHBpBBB4CHC>CRC profitbyunit[sys]Line.Fmprofitbyunit.DatProfit by UnitUnit #ProfitWesternEasternSouthernNorthernCentralR[[A{@ B.EBCHBAB@PnBB5B SimplexRomanPA? Profit by UnitH8GB ? SimplexRomanP }@? Unit #HAKOB SimplexRomanPD@? ProfitISAB SimplexRomanPtV@? WesternIBB SimplexRomanPtV@? EasternJ3EBB SimplexRomanPtV@? SouthernJBB SimplexRomanPtV@? NorthernIIBB SimplexRomanPtV@? Central ,óó ]] Ϛ jnn " & # sU"sU 6i Pi  ໚ͮ ~] ;- G V# d7A  ^%j VR\%? [wH ,=kQBhԟہ{"bIMq:+ĂHu΃%&2QD{Wnʄğ5T r.V̅֠܅1^ӡ0]ᅊӅ…ޢ.ScvD$ϣ݄裶e;+4:<<_620$ڂ]ۣ7£큆ˁeAu\ʢG5t%G  [;|Ni|Pi{Si{Yi{`i{iiu{wiW{i9{i{i{izizizjzjz6jzQjxzpjnzjezj_zjZzjYz kYz+k\zLkbzkkizkszkzkzkzkzlz4lzLlzal{wl+{lH{le{l{l{l{l{l|l+|l;|l[|l|l|l|l|l}l}l=}lY}lt}ml}Wl}@l}&l} l}k}k}k~k~yk~[k~ 7QVAGR~>Q 5I9:5  O >~AB B"AB B"ABQ B"aBa!B"B B  ] N `p T 8 (   { HWتO]իWOyݫX < ˾ny<<?? {t;0, ? @ j @z<~x/ 0? 20` !~ s?/0  몪+ /h  A  Ӆ `3@O @`3@H  10& p몪2ꪪ /`~0 1 0p`R , !0  d'`+ /*  0 ` h a|`` d  ?/ Pꪪ**?𫪪 !?@? ? 800`D   ;@ or  P*ꪪ  /80h `x p` 0  /6 P /  @ `  / 몪 /  `  & *@@  |~~ @ RZL hl|`2  P Px~``x` |EډԉRQ?TU`Q;%y? GLmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm FFAL110.ZIP | 34439 | Fixes FILES.BBS listings. 06 FH20SW.ZIP | 19356 | Hack Report file scanning Utility. 06 FIFTEN11.ZIP | 72905 | Match 15 v1.1 Supports Many BBS's. 06 FILEFI09.ZIP | 52143 | Scans Filelists for dangerous entries. 06 FLAKA101.ZIP | 119356 | Full-screen file listing program. 06 FLIST21.ZIP | 25865 | Creates Maximus file lists based on Access. 06 FLIST24.ZIP | 27845 | Generates File Lists Based on Privilege Level 06 FLV121.ZIP | 167418 | FLV File-List-Viewer v1.21. 06 FLXTXT13.ZIP | 62206 | Flextext V1.3 OS/2 Print Utility. 06 FM104A.ZIP | 42399 | Copies file(s) from Cd-roms to local drives. 06 FMS2DB36.ZIP | 46054 | Converts FMS to a database. 06 FMSLSTV2.ZIP | 78709 | Makes downloadable file list and stats bull. 06 FMTAG10.ZIP | 10797 | Force Message Area Tagging for Maximus bbs. 06 FN397C_1.ZIP | 148634 | FeatherNet BBS, file 1 of 3. 06 FN397C_2.ZIP | 364624 | FeatherNet BBS, file 2 of 3. 06 FN397C_3.ZIP | 46199 | FeatherNet BBS, file 3 of 3. 06 FONREP18.ZIP | 76691 | FonRep v.1.8, the 'problem child' finder. 06 FORCE38.ZIP | 44340 | Util to allow port to be locked at 38400. 06 FREESPE.ZIP | 109657 | Free Speech BBS 3.10 Pinnacle Software. 06 FSEFAST.ZIP | 637 | VBBS, speed up full screen editor in INS mode 06 FULLMENU.ZIP | 4768 | Macro for a seperate SysOp menu. 06 FWKCS117.ZIP | 353342 | FWKCS v1.17 File Contents Signature System. 06 FWKCT117.ZIP | 52461 | FWKCS v1.17 File Contents Signature system. 06 FWKLU117.ZIP | 72380 | FWKCS v1.17 Remote Lookup Kit. 06 GHOST110.ZIP | 65399 | Latest version of Ghost BBS. 06 GIFTOOL.ZIP | 20296 | Utitities for Commenting GIF Files 06 GOODU11.ZIP | 81709 | GoodUser v1.1. 06 GTLOG411.ZIP | 20924 | GT Log Analyser For GT Power Log File. 06 HEAD314B.ZIP | 61534 | Header GT FILES.BBS maintenance tool 06 HMBBS225.ZIP | 18874 | Helps Setup Searchlight BBS 2.25 06 HOOKR10.ZIP | 111723 | Great Phone utility for BBS. 06 HS113D2.ZIP | 140081 | HS/Link External Protocol v1.13 BETA TEST D2. 06 IBBS156.ZIP | 425561 | IBBS v1.56 Mulit node BBS. 06 ILAPP116.ZIP | 49753 | ILink APPlication Forms Generator v1.16. 06 INFORM12.ZIP | 68100 | Monitor the Activities of Specific User.s 06 INTRDIAL.ZIP | 33323 | UNIX bbs with links to internet. 06 ISBULL.ZIP | 27312 | ISBULL V1.3 Bulletin Manager for TBBS V2.2. 06 JLUT475.ZIP | 263276 | Jurgen Lorenz's Utilities For GT Power BBS. 06 JNET100.ZIP | 57677 | QWK/REP Network Mailer for Spitfire. 06 JTFOX355.ZIP | 47290 | JTFox v.3.55. Makes subdirs for header files. 06 KILLRQ31.ZIP | 11543 | Message censoring for QuickBBS/RA/SBBS. 06 LASTON54.ZIP | 34601 | The Greatest Last Caller Lister Yet! 06 LASTTIME.ZIP | 6538 | Bulletin for last PCRelay mail transfer. 06 LCNT150U.ZIP | 127178 | Logcount V1.50 (Download Counter). 06 LG108A.ZIP | 155259 | Logger Generic, ver 1.08a. 06 LISTER1.ZIP | 70403 | Create BBS Listings! 06 LOD360A.ZIP | 99898 | land of devestation Sysop and user documents. 06 LOD360D.ZIP | 165440 | land of devestation ega aditional graphics. 06 LOD360F.ZIP | 589422 | land of devestation sound /music support. 06 LODNEWS1.ZIP | 6291 | land of devestation news, file 1 of 3. 06 LODNEWS2.ZIP | 10188 | land of devestation news, file 2 of 3. 06 LODNEWS3.ZIP | 6821 | land of devestation news, file 3 of 3. 06 LOGMSG10.ZIP | 33359 | Turn ASCII log files into messages. 06 LOG_DATE.ZIP | 42280 | Copy log file utility. 06 LSTGN450.ZIP | 41639 | Listgen 4.50 File List Generator For TBBS. 06 LSTRD109.ZIP | 19640 | V1.09.C.Ansi of Listread. 06 LSTRUN20.ZIP | 22888 | Creates Bulletin of last network mail run. 06 LVLRPT21.ZIP | 8933 | Makes list of Users by Security Level. 06 MAKLST11.ZIP | 73604 | MAKE-LST v1.1 is the BEST master file lister. 06 MAX201B.ZIP | 450739 | Maximus BBS v2.01 BETA. 06 MAXBM110.ZIP | 5490 | Maximus Bulletin Manager V1.10. 06 MAXID103.ZIP | 24846 | Caller-ID Util for SupraFaxModem Maximus bbs. 06 MAXIM209.ZIP | 114835 | Maximiser v2.09 offline reader. 06 MBASE3_2.ZIP | 203656 | Modem Base 3.2, BBS program file lists. 06 MBULL201.ZIP | 115142 | Makebull 2.01 -ANSI/ASCII/PCB/WC3.X BBS bull. 06 MC2.ZIP | 7110 | MailCall 2: Displays mailruns to users. 06 MEZZ308A.ZIP | 106918 | v3.08a BBS carousel. 06 MEZZ410E.ZIP | 128097 | Run Multiple BBS with This Frontend. 06 MFM_111B.ZIP | 51900 | Maximus File Manager v1.11B. 06 MHCB19A1.ZIP | 146264 | M.H CALL BACK 1.9A1 Beta Final Release. 06 MHST131.ZIP | 287590 | Megahost small BBS for beginner. 06 MKILL100.ZIP | 17262 | Delete Old Messages For Searchlight. 06 MKNL250.ZIP | 80105 | MakeNL v2.50. 06 MRTG111.ZIP | 16032 | Maximus Tune Generator V1.11. 06 MSGCNT20.ZIP | 41079 | Keeps Track of Message Area Activity. 06 MT102.ZIP | 201827 | MaxTools v1.02: 16 utilities for Maximus. 06 MXV_202.ZIP | 54516 | Maximus Log Viewer. 06 NB12.ZIP | 174279 | Notice Board v1.2. 06 NBB114.ZIP | 15745 | Network Bulletin Board V1.14. 06 NET31.ZIP | 181738 | Network Files For WWIV BBS, ver 31. 06 NETED141.ZIP | 139577 | WWIV net work editor. 06 NN12.ZIP | 57968 | Node/News V1.2 Nodelist Utility. 06 NR303.ZIP | 143558 | NewsRoom ver3.03 BBS News generation. 06 NR305.ZIP | 148639 | NewsRoom v3.05 BBS News generating software. 06 NWSMKR20.ZIP | 48223 | NewsMaker 2.0 for RBBS-PC (*.NWS files). 06 OTOUR11D.ZIP | 104514 | The SysOp is not at home! 06 OUFP109.ZIP | 23491 | Latest Opus User File Purger. 06 PAGER203.ZIP | 53481 | SysOp Super Pager v. 2.03. 06 PB12A_1.ZIP | 180812 | Powerboard 1.20a: BBS Software (Test Drive). 06 PB12A_2.ZIP | 351178 | Powerboard 1.20a: BBS Software (Test Drive). 06 PB12A_3.ZIP | 300387 | Powerboard 1.20a: BBS Software (Test Drive). 06 PBBSD200.ZIP | 378900 | PowerBBS for DOS v2.0. 06 PBM11.ZIP | 21187 | Pasco BBS Magazine, January 1993. 06 PB_122.ZIP | 367261 | ProBoard 1.22 RA/QBBS Clone. 06 PB_UTI.ZIP | 56742 | PB-UTI 1.00. Universal Text Interface drivers 06 PCALMRG.ZIP | 1786 | Writes who u/l personal files to who in. 06 PHON3017.ZIP | 53425 | Multiline chat for Opus 1.7+. 06 PK174V13.ZIP | 4574 | PEEK174 v1.3 fix for personal files upload! 06 PKANSI.ZIP | 1912 | TSR to disable key reassignments via ANSI. 06 PLINKCFG.ZIP | 9030 | Sample CFG/SCR/DAT files for Postlink 1.03. 06 PM233.ZIP | 564829 | Version 2.3 of Pegasus Mail! 06 POINT134.ZIP | 112451 | Professional Point System v1.34. 06 PRESCAN.ZIP | 30054 | Prescan V2.05 usersput entries in batch. 06 QOFDV605.ZIP | 144627 | Quote O' The Day v6.05. 06 QUPTST1.ZIP | 1799 | Batch file to test new uploads. 06 QWKCHK10.ZIP | 538051 | Quick Check 1.0, archive Utility. 06 QZC10.ZIP | 29582 | Quick ZIP File Comment Utility. 06 RANOTE12.ZIP | 19911 | BBS Automessage Utility. 06 RATIO111.ZIP | 29570 | Spitefire Ratio Monitor. 06 RA_MPF19.ZIP | 39640 | Most Popular Files v1.9. 06 RCHAT401.ZIP | 49110 | Internode Chat merge via W]ho's on command. 06 RC_CF100.ZIP | 116063 | Allows User To change the conf. file numbers. 06 REMADS31.ZIP | 30037 | Remove unwanted BBS ads from Zip Files. 06 RENE1225.ZIP | 359452 | Renegade BBS Software. 06 RERUN.ZIP | 34123 | Reruns your mail event if it failed. 06 RGMENUS1.ZIP | 5173 | Renegade menus for use #1. 06 RGMENUS2.ZIP | 6254 | Renegade ansi menus #2. 06 RGNC10.ZIP | 16204 | NO CARRIER v1.00 STD. 06 RGPAUSE1.ZIP | 9332 | Renegade Pause Utility v1.00. 06 RM174A.ZIP | 169422 | RoseMail 1.74 update with 386/486 EXEs. 06 RM174B.ZIP | 170845 | RoseMail 1.74 update with 8086 EXEs. 06 ROMBRAIN.ZIP | 185406 | CDROM FILE DOOR Rombrain, many bbs types. 06 ROTATE1B.ZIP | 39749 | Rotate You BBS Screens. 06 ROTOWEL6.ZIP | 29705 | ROTOWEL 6.0 Easy to use freeware bulletin. 06 RTRIM52.ZIP | 55648 | RTRIM v5.2 Text manipulator. 06 RWCSX11.ZIP | 17346 | Use with RWCnf Conferences Menuing. 06 RYBBS76.ZIP | 405840 | RyBBS v7.6, powerful Bulletin utility. 06 RZ_STATS.ZIP | 1563 | merges to allow color logon stats for users. 06 SAM_V12.EXE | 13658 | Answers bbs when off line for maintenance. 06 SBBS1B00.ZIP | 758799 | Working Demo Of SyncHronet BBS. 06 SBBS_115.ZIP | 606341 | SuperBBS 1.15 BBS Program from Finland. 06 SCALL210.ZIP | 54244 | "Who Called Today" Bulletine Maker. 06 SEC101.ZIP | 12144 | BBS Sysop Utility for User Maintenance. 06 SFBBS31.ZIP | 479712 | SpitFire BBS v3.1. 06 SFBLTN.ZIP | 31225 | Display Bull on SPITFIRE only when changed. 06 SFDOWN14.ZIP | 11915 | Makes Files D/L Bulletin for Spitfire. 06 SFHDR206.ZIP | 29563 | Make Headers for SFFILES.BBS's. 06 SFPK317B.ZIP | 28752 | Message packer for SPITFIRE BBS. 06 SFTOPTEN.ZIP | 3977 | Creates a TopTen user list for SPITFIRE. 06 SFUED106.ZIP | 45779 | Stormfront User Editor V1.06 For Opus V1.7x. 06 SFWCDR.ZIP | 12322 | Change Wildcat doors to Spitfire. 06 SIFTER25.ZIP |