5ANewFrameworkforTabularComposition5.1TheInteractiveTableFormattingProblemThischapterpresentsanewframeworkforformattingtablesthatissuitableforuseininteractiveeditorsandformatters.Theframeworkextendstheobject-orientedapproachofthedocumentstructuremodelinChapter3byprovidingforthearrangementofobjectsintotwo-dimensionaltables.Theframeworkincorporatesawiderangeoftypographicrequirementsfortypesettingtablesthroughextensionstothedocumentstylemechanism.Tablelayoutisspecifiedthroughgriddesignssimilartopagelayoutgridsfamiliarinthegraphicarts.Amathematicallinearinequalityconstraintsolverisusedtodeterminethefinalplacementoftableentries.Acentralideainthisapproachistheseparationofspecifyingthearrangementoftableentriesfromcomputingtheirpositions.Severalinterestingresearchproblemsarisefromthisframework.SomeofthoseareoutlinedforfutureworkinChapter6.5.1.1Whatdoweneedtodo?Tosupportinteractivetableformatting,oneneedsefficientalgorithmsforWYSIWYGtabledisplayandfordirectmanipulationofboththetablecontentandstructurebypointingatandselectingcomponentsofthetable.Inanelectronicdocument,tablescanberepresentedbyextendingtheideaofseparatingformfromcontent,inthiscasebyspecifyingthearrangementoftable5-1p\ gW g6R g g9;#q6 g " ,r3oU!%$,/ 7<?A1Q g  !$ -19p?q/ g! #+2}79?Ab, go #%*.:m@** g {#v(* 3" =? ( g_ V!Z$3+/ 9h>C&U gH"(:*>.-317G=m?qBJ$# gr != ( 05[7:<D! g:%6L$&+/14;=@o  gx : "$(.24:n>]  g2 C '+/3 @  g  #& /1e8;?j g DYn"$'+o- 58k AD u)()*hTVm$5ANEWFRAMEWORKFORTABULARCOMPOSITION5-2entriesseparatelyfromthecontentforeachentry.Tableentriescanbearbitrarydocumentobjectssuchastext,illustrations,mathematicalnotations,orothertables.Typographicrules,decorations,andshadedbackgroundsmaybespecifiedattheboundariesbetweentableboxes.Thedatastructureusedhererepresentstheseboundariesexplicitly,andthussupportsallofthesecapabilities.Abstractly,tablesaretwo-dimensionalrectangulararrangementsofinformationthathavebotharowandcolumnstructure.Manipulatingtablecontentmayrequiredealingwitheitheraroworacolumnatdifferenttimes.Thustheinteractiveoperationsshouldhandlebothrowandcolumnstructuresandshouldmakeitequallyeasytoselectaroworacolumnandtoperformamovementoreditingoperationonanyselectedtablepart.Aselectionhierarchymustpermitidentifyingadistinguishedtableentry,acontainingroworcolumnofthattableentry,asuccessionofenclosingrowsorcolumnsaroundthecurrentselection,andultimatelytheentiretable.Operationsontheselectionhierarchyshouldworkequallyaswellforgroupsofrowsasforgroupsofcolumns.Inparticular,transposingtherowsandcolumnsofatableshouldbeeasytoaccomplishwiththetablestructure.StyleattributesfortablesshouldbeprovidedinamanneranalogoustothewayattributeswereprovidedforillustrationsinChapter3.Theadditionalstructureintablesposessomedifficulties.Styleattributesmaybeappliedatseverallevelsinatable.Forinstance,atypefaceattributemightapplytotheentiretable,asinglerowwithinthetable,asinglecolumn,agroupofspannedrowsorcolumns,oronlytoanindividualtableentry.Amethodisneededtodeterminethestyleattributesthatapplytoeachtableentryasitisformatted.Thetablelayoutmechanismneedstohandlenotonlygeneralarrangementsofrowsandcolumnsbutalsotospecifythemanyalignmentspossiblewithinatabledesign.Spanningacolumnheadingacrossseveralcolumnsisaspecialcaseofthegeneralproblemofaligningonesetofentrieswithanothersetofentries.Arobustframeworkfortableformattingmustbecapableofexpressingthosearrangementsandofdeterminingthepositionsofthetableboxesinsuchanarrangement.Ageneralizationofthetableformattingproblempermitsoverlappinglayersofinformation.Backgroundtints,suchasthecoloredtintsusedintablespublishedinrecentissuesoftheCommunicationsoftheACM,formoneclassofoverlappedinformation.Thisclassof2-1/2dimensionaloverlappingcanbehandledwithoutaddinganotherdimensiontothetablearrangementalgorithms.sfSvffsfvfff'sf*v+ff,sf2Ev3iff4ufEfFfG)r^ g o ]&D(,26<?#Aw\ g{#, ,{ 6 >,@JZ g$  5 )],26 ;?Xb gH3 ' +#04;7>BV/ g 6u (p+/S68S:d> S) |+ 4{ >P g s "%U(. 6u @N gM!t%.)+H.028 9@L gq u #y(.J2,5z8> J` g } $&+,k/13=90wDH. g,#%)'/\3s79@E g} % )-2_3 ;?%ACC gx #&-?1,3K9?BfA g  !u&*+H 36$8??d g!K#)i+z/g1k49;C4=2 g D #' -/15):<@}; g  7 &"'*A1<3@4:BfDk5 g "$ -/6 8; 3 gJNu" +0 7W:=IC/1c gnr")(*U07'@8, gTsnE!I# +l/46<>tD2* g6 "0%*,/4 8U:Y;= '6:$)+037=n % gxf9;"$*$,1 9@+EK#a g} o%a+05<>@?E!/ gxQ&)N+-3;6=?A gCbd"{ *.179 A g  %,(.137<>Bt g  .!% -<39 B_ gx  !%)+.4n8;>- g!w$--% 025r9--:>AE g  "&(- 6a ?nB{ gN$\,_.d1=5S >  TVm$5ANEWFRAMEWORKFORTABULARCOMPOSITION5-35.1.2Howarewegoingtodoit?Theframeworkforformattingtablesthatisproposedherehasthreeparts:extensionstothedocumentstructuremodel,two-dimensionalgridlayoutspecifications(topology),andalayoutconstraintsatisfactionalgorithm(geometry).ThedocumentstructureandstylemachineryfortablesisanextensionofthemodelusedinChapter3.Eachtableentryisadocumentobject.Recallthatadocumentobjectformatsitselfandisrepresentedbyasetofdimensionsandtwoprocedures,oneforlayingouttheobjectandoneforrenderingtheobject.Fortables,additionalstyleattributesmustbecreatedforthenewtypographicfeaturesthatappearonlyintables,suchasrulethicknessesandcolors,alignments,andbearoffdistances(thewhitespacebetweentableentriesandgridlines).Thetabularstyleattributesforaparticulartableentrymaybecollectedintoformattingstyleruleswhicharethenattachedaspropertiestothetableentries.Sinceatabledoesnothavethesamesimplehierarchyasthecurrenttree-structureddocumentmodelusedinTiogaandextendedforillustrationsinChapter3,amoreelaboratebindingalgorithmisneededtoassociatetabularstyleattributeswitheachentry.Thetablearrangement,ortabletopology,isexpressedusingagriddesign.Thetablelayout,ortablegeometry,iscomputedfromboththetabletopologyandthedimensionsofthetableentries.Alinearinequalityconstraintsolverisusedasageneralmechanismforcomputingthetablegeometry.Beforediscussingthetableformattingsystemthathasbeenimplemented,itisappropriatetodigressandlookatsomegeneralstrategiesfortwo-dimensionallayoutproblems.Wewouldliketoknowhowhardtheproblemoflayingouttablesisbeforetacklingthesolution.Thegeneralproblemwillbeseentobetoodifficulttosolveinaninteractiveenvironment.Simplifyingandrestrictingtheseproblemsleadstomorerealistictableformattingproblemsthatcanbehandledinteractively.5.2TheComplexityofTableFormattingBeforediscussingaframeworkforformattingtables,weexaminesometheoreticalaspectsoftheproblemtogainaperspectiveonitscomplexity.Theproblemofproducinganoptimaltablelayoutseemsintractableinitsmostgeneralsetting.TheproblembecomestractablewhensufficientstructureissfSvffsfvfff'sf*v+ff,sf2Ev3iff4ufEfFfG)s^ gTO'  1"r[r" &@*.S078:=B#X g ]b; '-N9=.V g } " #( 0% 8T g Q}!$(038E9 J g !&)x,P1;4}7:bAH gY "o&B -1399T g LP %9,\2w9;Ai7! g- #'+46 !1w#O44#'Mr-344.</7p;=:@1 gUwt11qr%11&(094N80; ? / g %6 $%*,\1 8 @SE!- gIM|"$- /3*~ # +1947; E(K g t!%n'X+1m 8;@& gk!$&+y/25Ck# g1! (a+183;g=AtCy! gL  ( 2 ;>  g"b(o, 4;??BLP g q' g  %o rL 0&)2 1Q6p9? g y!%'+<, 5879 CU gH%U)k.p3> ;^=b? g1")A/4o ;BTVm$5ANEWFRAMEWORKFORTABULARCOMPOSITION5-4addedtothetablearrangement.Ifasetofunorderedtableentriesistobearrangedintominimumspace,theproblemisNP-complete.Whenonlyanapproximationtotheoptimalsizeisneeded(andthetablecanbeformattedinhorizontalslices)theproblemisO(nlogn)wherenisthenumberoftableentries.Whenatotalgridstructureisimposed(entirelyconstrainingtheorderinwhichentriesarearrangedintorowsandcolumns)thetableformattingproblembecomeslinearinthenumberofentries.Thegeneraltableformattingproblembelongstoaclassoftwo-dimensionalpackingproblemsfirstanalyzedbyBakeretal.[Baker,Packings].ThenextsubsectionanalyzestwoversionsofthetableformattingproblemthatareNP-complete.Wethenlookatrestrictedformsofthegeneralproblemwhichhavesimplersolutions.Thesimplestofthese,GRIDPACK,isthenusedasthebasisfortableformattingbygridstructures,themaintopicofthischapter.5.2.1RANDOMPACKOnetypeoftablethatoccursinpracticeisacompletelyunstructuredcollectionofentries.Atablecontainingacollectionofphotographsillustratingseveralaspectsofatopic,inwhichthepreciseorderofthephotographsisunspecified,mightrequireaformattingsystemtoarrangethepicturestooccupytheminimalspaceonapage.ThiscanbeformalizedasRANDOMPACK,theproblemoflayingoutanunorderedsetofrectangulartableentriesT={ti}withentrytihavingheighth(ti)andwidthw(ti),sothattheresultingtableisboundedbythepagewidthandhasaminimumdepth(tobemoreprecise,theRANDOMPACKproblemaskswhetherthetablecanbelaidouttofitonapageofdepthk).Inlayingoutthetable,whitespacemaybeleftwithinthetableboundarywhereentriesdonotabutexactly.THEOREM1.RANDOMPACKisNP-complete.Proof.TheprooffollowsfromareductionofthePARTITIONproblem,knowntobeNP-complete[Garey&Johnson,NP],toRANDOMPACK.Consideratableofrectangularentries,eachwithwidthsexactlyone-halfthepagewidthbutwitharbitraryheightsthatsumto2k.Thebestpossibletablearrangementwouldbetwocolumnsofexactlythesameheight(inthiscasek).Thisarrangementrequirespartitioningtheentriesintotwosubsetswhosetotalheight(thesumoftheheightsofitsentries)isk.Thus,wearegivenasetofentries,T={ti}withheightsh(ti)suchthatSh(ti)=2k,andwewishtofindtwosubsetsofT,SandS(=TS,suchthatSh(si)=Sh(s(j)=k.ThisispreciselythePARTITIONproblem.There,wearegivenasetofintegersandaresfSvffsfvfff'sf*v+ff,sf2Ev3iff4ufEfFfG)r^ g_d=S $&( *,48>)?A\ gHK#(&,t.T\\/wr0H\\08=AZ g koH"U%'>,037:=!DXb g 6"w$>XbrXb%w&XbrXb&w)*XbrXb*+?w0)XbrXb13a6:BV/ gQ} ")*/ 9 ;@UBYS gf"%-"/4 <0Q g "$N %+13539;L g6$ &jw++LL+- tL/^4r9LL;D>J_ g l$$&)j- 5<=?tH- gr[H-H- !# */g1x4Q:@E gU: 0!(*t.EE/E31r7)EE829=ACC gp6 T!%- -/4!8E:V=~s? gvT??R?r<T( %'-/0 9M 9 g F""8 *J+ 3"53 > 7 gx}!&^)7.325D8 A5| g R !u ).069?A3J g@6 "&), 4Rt6V3J3J7_3J=rA3J3JB1 gG'K)+ 4|8w=1r1?AwB10y0C;r1C. g!wl..y.r.Uw g.z.!Jr!t.w."y."r."$ 'bw, .z.- r-K.w.-y..cr..0`258?|C, gV!'$j'](0\579>FD9t* g*r*Y"{(+/25)8k;_=c?ACc(N gxw/(Nr(NVj ]#6' 0 358>@& g #y'@#t##r#yE##C#!nw#%y'##(w)##*9 r >'"&(P/1t4  5sr =0 gt-Pr!t , *r-.t017or;g=D g} % $(q-3A9<@E5x g!#%w&`xrx'O(,_/6&:< E gk% ',)1;36w:}ErE;l= g U %G( -t049>B gctM "I(.w)r*,x136s:@wFr gwhyhrkwHz*rUwyhmr"{&3rw(z(r)w)yh*4r*+.w.r/046:<@| g w|r|2w:|r|w$|z|-r|5w{|r| w"8|r|#A$J({+||r|w-Y|z|.;r.e|w|.y5/r|/1){3o|r|w5L|z|6.r6X|w|6z7|5y57r|8V9w;|r|<>aB J g;t J Jr J&I+.05T69B;SA{DTVm$5ANEWFRAMEWORKFORTABULARCOMPOSITION5-5askedtopartitionthemintotwodisjointsetswhosesumisthesame.GivenanyinstanceofthePARTITIONproblem,weconstructaninstanceofRANDOMPACKbyspecifyingasetofrectangulartableentriesofwidthone-halfthepageandheightsequaltotheintegersinthesettobepartitioned.TheoriginalPARTITIONproblemhasasolutionifandonlyiftheconstructedRANDOMPACKtableentriescanbelaidoutwithequallybalancedcolumndepths.Thiscompletesthereductionandtheproof.;Infact,wecansaymorethanthis.Theorem1showsonlythatRANDOMPACK(andthusthegeneraltablelayoutproblem)isNP-completeandhencealmostcertainlyintractable.ThePARTITIONproblemisknowntohaveadynamicprogrammingalgorithmthatispolynomialtimeinthesizeofthesetifthereisaboundonthemagnitudeoftheintegers(thecoefficientsinthepolynomialmaybeexponentialinthismagnitude)[Garey&Johnson,NP,page90].Informattingtables,thetableentriesareboundedbythepagesize,andthusthePARTITIONproblemsthatwouldbeproducedbythereductioninTheorem1wouldallhavepolynomialtimealgorithms.IftheBINPACKINGproblemisusedinsteadofPARTITIONwecaninfactshowthatthetableformattingproblemisevenmoredifficultthanindicatedbythetheresultofTheorem1.BINPACKING[Garey&Johnson,NP]isaproblemwhichhasnopolynomialtimealgorithmunlessP=NP,regardlessofthemagnitudeofthenumbersusedindescribingtheproblem(itisintheclassofstronglyNP-completeproblems).THEOREM2.RANDOMPACKisstronglyNP-complete.Proof.Weagainperformareductionfromaproblemknowntobedifficult.Consideratableofrectangularentrieswithintegerwidthslessthanthepagewidthbutwithuniformheights.Thetablelayoutalgorithmmustminimizethenumberofrowsrequiredforthetableinordertooptimizespace.ThisrequirespartitioningasetoftableentriesT={ti}havingwidthsw(ti)intokrowsR1,R2,...,Rk.ThispartitioningisaninstanceoftheBINPACKINGproblem,knowntobestronglyNP-complete.TheprooffollowsthatforTheorem1.;WerealizethatRANDOMPACKdoesnotproduceveryinterestingoraestheticallypleasingtables.Fewtablescontainunorderedentries(althoughtheexamplegivenbefore,acollectionofrelatedbutunorderedphotographs,issuchatable).Evenwhenatableisanunorderedsetofentries,themixandmatchjumbleproducedbyRANDOMPACKisnottypicaloftherowandcolumnstructureusuallyemployedforsuchtables.Thejuxtapositionofdifferentsizesandshapesforthevariousentriesdoesnotlenditselftoareadabletable.AnaestheticallypleasingtableexhibitsadesigndisciplinefororganizingthetableentriesthatavoidsunexpectedrelationshipsduetotherandompositioningofsfSvffsfvfff'sf*v+ff,sf2Ev3iff4ufEfFfG)r^ g!g$*-26?7:@E\ gt\\r\ ='F)03G9t;\\<\CrZ g x % )6.05D;>BXb gv!#&z)+-\ 6:<tV/ grV/&<'+&.03^ t<+V/V/=4V/CrS g}3u!h%"*17>+Q g\!$wz)_QQrN$"F& *=1R27;Yt>NN?L grLrK!%+*01`t3LL47r5 LL5<?J` gf !t$J`J`%rJ`-4%5;G=LA:H. g ]$(:) 26W8[;4>h@yCREE gZg@&m(~+W1~4 =?C g   #%) t1CC2. <?BrDCCF3A g ~ %(/248B26 g Q*!#&*Z,kt226263r426265@J#$~+/1_7=k?oA ) go #(,2(7o:>PA)' g4$(V,m1q8=DC% gG!$(*/]1b8(=A[#a g ZHYpw$#ar#a%w(T#a#y#(r#a)>*0w5X#az#a6nr6#aw#a7*y#7r#a89Dw<#ar#a>;wB(#a#t#CYr#aD wE#a#t#FBr#aF!/ gw!/ y r!/H  ")Y+jt.C!/!//+!/1pr!/8?EN gt ,r#'-F03T:iz4Av- gWt---#r-')^,Q1369=! gJ #7' ,02 :<B gy 6%)],P0 467|>(CF g  )&Q', 4H6 ?A d g7 " ,/14: Cd \TVm$R5ANEWFRAMEWORKFORTABULARCOMPOSITION5-6tableentries.Wearethusledfromthisgeneralproblemtointroducerestrictionsthatmaketheproblemmorerealisticandalsomoretractableforformatting,especiallyforinteractivework.5.2.2STUBPACKTherearetwoapproachestodealingwiththegeneraltableformattingproblem:acceptanapproximatesolutiontotheoptimaltablelayoutorrestrictthetableformattingproblemsothatefficientoptimalalgorithmsexist.ApproximationalgorithmsfortheTWO-DIMENSIONALBINPACKINGproblem,andhencefortheRANDOMPACKproblem,areknown[Coffman,2DPacking].Theseapproximationsusepolynomialtimealgorithmstoproducelayoutswithin5/4oftheoptimalspace[Baker,5/4Algorithm].TheUp-Down(UD)algorithmpresentedbyBakeretal.isknowntohaveaboundUD(L)onthepackingheightforanylistLofrectangleswithheightatmostHasfollows:UD(L)<5/4OPT(L)+53/8H,whereOPT(L)istheheightoftheoptimalpackingofthelistLofrectangles(aswouldbeproducedbyRANDOMPACK).However,thetablelayoutsproducedbythesealgorithmsarestillunaesthetic,withachaoticarrangementofsmallentriesamongthecrevicesbetweenlargerones,asshownintheexamplelayoutofFigure5-1adaptedfromFigure2inBakeretal.[Baker,Packings]. \,4\,D@D@ \,D@D`2\4\D@D@2\D@D`2\$4\$D@D@2\$D@D`2\(4\(D@D@2\(D@D`0\*4\*D@D@0\*D@D` \,\,\ \ \ \,\C@ C \@CC@,L,LCC@@,l@ CC,\ \@CC,\C@ C l l@ CC LCC@@ \ \*\*\ \ L LCC@@ l? CC \*\C@ C \@CC@*l*l? CC*LCC@@*\ \@CC*\C@ C \ \)\)\ \ L LCC@@ l@ CC \)\C@ C \@CC@)l)l@ CC)LCC@@)\ \@CC@)\C@ C \ \'\'\ \ L LCC@@ l@ CC \'\C@ C \@CC@'l'l@ CC'LCC@@'\ \@CC@'\C@ C'\'\/\/\'\'l'l@ CC'LCC@@'\/\C@ C'\@CC@/L/LCC@@/l@ CC/\'\@CC@/\C@ C \ \#%\#%\ \ L L#CC@@ l@ CC \#%\#C@ C \#@CC@%l#%l@ CC%L#CC@@%\ \@CC@%\C@ C'\'\",\",\'\'L'L"CC@@'l@ CC'\",\"C@ C'\"@CC@,l",l@ CC,L"CC@@,\'\@CC@,\C@ C%\"%\$*\$*\"%\"%L"%L$CC@@%l"@ CC%\$*\$C@ C%\$@CC@*l$*l"@ CC*L$CC@@*\"%\"@CC@*\"C@ C$\$$\&(\&(\$$\$$L$$L&CC?@$l$@ CC$\&(\&C@ C$\&@CC@(l&(l$@ CC(L&CC?@(\$$\$@CC@(\$C@ C(\$,\$,\%(\%(\$(\$,\$C@ C(\$@CC@,L$,L%CC@@,l$@ CC,\%(\%@CC@,\%C@ C(l%(l$@ CC(L%CC@@(\%,\%,\&(\&(\%(\%,\%C@ C(\%@CC@,L%,L&CC@@,l%@ CC,\&(\&@CC@,\&C@ C(l&(l%@ CC(L&CC@@ \$$\$$\&F \&F \$ \$$\$C@ C \$@CC@$L$$L&FCC@@$l$@ CC$\&6 \&6@CC@$\&VC@ C l&F l$@ CC L&FCC@@ \($+($+&F \&F \( \($+(C? C \(@CC@$;($;&F@ CC$(CC@?$+&6 \&6@CC@$+&VC? C L&F L(CC@@ l&F@ CC \(#(#*F \*F \( \(#(C@ C \(@CC@#(#*FCC@@#(@ CC#*6 \*6@CC@#*VC@ C l*F l(@ CC L*FCC@@#(#)&)&(#(#(#)CC@@#(@ CC#)&)C@ C#)@CC@&)&(@ CC&)CC@@&(#(@CC@&(C@ C&(*(**&*&(&(*(C@ C&(@CC@* (* *CC@@*,(@ CC**&*@CC@*+C@ C&*&(@ CC&*CC@@*(*)-\)-\(*(* (* )CC@@*,(@ CC*)-\)C@ C*)@CC@-l)-l(@ CC-L)CC@@-\(*(@CC@-\(C@ C+\+\}2\}2\+\+l+l}@ CC+LCC@@+\2\C@ C+\m@CC?2L}2LCC@@2l}@ CC2\+\@CC@2\C@ C-\}-\2\2\}-\}-l}-l? CC-L}CC?@-\2\C@ C-\@CC2L2L}CC?@2l? CC2\m-\m@CC?2\C@ C-\$-\!2\!2\$-\$-l$-l!@ CC-L$CC@@-\!2\!C@ C-\!@CC@2L!2L$CC@@2l!@ CC2\$-\$@CC@2\$C@ C.\!.\2\2\!.\!.l!.l@ CC.L!CC@@.\2\C@ C.\@CC@2L2L!CC@@2l@ CC2\!.\!@CC@2\!C@ C,\,\/\/\,\,L,LCC@@,l@ CC,\/\C@ C,\@CC/l/l@ CC/LCC@@/\,\@CC@/\C@ C/\1\1\/\/\/\1\C@ C/\@CC?1l1l@ CC1LCC?@1\/\@CC@1\C@ C/L/LCC?@/l@ CC)\**)\)\)\*C@ C)\@CC**@ CC*CC@@*)\@CC@*C@ C)L)LCC@@)l@ CC/\F0F0/\/\F/\V0VC@ C/\6@CC@0F0@ CC0FCC@@0/\@CC@0C@ C/L/LFCC@@/l@ CC*\$F,$F,"*\"*\$F*\$V,$VC@ C*\$6@CC@,$F,"@ CC,$FCC@@,"*\"@CC@,"C@ C*L"*L$FCC@@*l"@ CC--!,\!,\---!CC@@-@ CC- ,\ @CC@-!C@ C,l!,l@ CC,L!CC@@,\-C@ C,\@CC@$+('(''q$+'q$+($+('(C? C$+(@CC@( (( 'q? CC'(CC@?''a$+'a@CC@''C? C$'q$(CC@?$;'q? CC'(''- '- ('(( (( '@ CC'(CC@?''- 'C@ C''@CC@,',(CC@@-'@ CC - ('(@CC@- (C@ C.\(.\%2\%2\(.\(.l(.l%@ CC.L(CC@@.\%2\%C@ C.\%@CC@2L%2L(CC@@2l%@ CC2\(.\(@CC@2\(C@ C \* \,"#,"#* \* L* L,CC@@ l*@ CC \,"#,C@ C \,@CC@"3,"3*@ CC",CC@@"#* \*@CC@"#*C@ C#*#,%,%*#*#*#,CC@?#*@ CC#,%,C@ C#,}@CC%,%*@ CC%,CC@@%*#*@CC@%*C@ C"#*"#,#,#*"#*"*",CC@@"3*@ CC"#,#,C? C"#,@CC@#,#*@ CC#,CC@?#*"#*@CC@#*C? C%*%,q'x,q'x*%*%*%,qCC@@%*@ CC%,'x,C? C%,a?CC',q'*@ CC'h,qCC@@'x*%*?CC@'x*C? C)@*)@,A+,A+*)@*)0*)0,ACC@@)P*@ CC)@,Q+,QC? C)@,1?CC+,A+*@ CC*,ACC@@+*)@*?CC@+*C? C'x*'x,V)@,V)@*'x*'h*'h,VCC@@'*@ CC'x,f)@,fC@ C'x,F@CC@)P,V)P*@ CC)0,VCC@@)@*'x*@CC@)@*C@ C+*+,*,,*,*+****,*CC@@+*@ CC+,:,,:C@ C+,@CC@,,*,*@ CC,,*CC@@,*+*@CC@,*C@ C.*.,0\,0\*.*.*.,CC@@.*@ CC.,0\,C@ C.+CC@0l,0l*@ CC0L,CC@@0\*.*CC@0\*C@ C,*,,.,.*,*,*,,CC@@,*@ CC,,#.,#C C,,?CC?.,.*@ CC.,CC@@.*,*?CC@.*C C-\(-\*F0\*F0\(-\(-L(-L*FCC@@-l(@ CC-\*V0\*VC@ C-\*6@CC@0l*F0l(@ CC0L*FCC@@0\(-\(@CC@0\(C@ C,\%-%-$,\$,\%,\%-%C@ C,\%@CC@-%-$@ CC-%CC@@-$,\$@CC@-$C@ C,L$,L%CC@@,l$@ CC,\%-%-',\',\%,\%-%C@ C,\%@CC@-%-'CC@@-%@ CC-&,\&@CC@-'C@ C,l',l%@ CC,L'CC@@1\4\D@D@1\D@D` \,2\,D@D@ \,D@D`2|,2|D@D@2<,D@D`2\ \D@D`2\D@D@ < <,D@D` |D@D@Figure5-1.ANAPPROXIMATELYOPTIMALLAYOUTproducedbytheUp-DownpackingalgorithmduetoBakeretal.[Baker,Packings].TheexampleissimilartoFigure2intheirpaper.Thelightgrey,mediumgrey,anddarkgreyboxeswerepackedwiththreedifferentstrategies.sfSvffsfvfff'sf*v+ff,sf2Ev3iff4ufEfFfG)r^ g} P#'0*X0"68@, \ g7!(+H.29@N| g@V u"$2'-4 <%LI g  "t%LILI&p LI4qLI7rLI?J gltJJJ!PrJ%,/t5'JJ5;=rCJJG g6  (m,4 4R6V<BdE gkxtEEN#&2 r,EE.Z19>C gIw CCrC< &^(c,Q-2w63CrC7V8:=AN gy)QwANrAN %|)6.H02w4;ANrAN6?8C>Zw >r>!z">r>%4z'>r>(w,p>r>-.1 z4Y>w>5-r6>>; gQw>;r;bG !2#C&,)2Q4b7;w9;r;;= Ef9 gktz999$r(99)_6(#+-v1 9<4c g h" , )+0%5y:=21 g# %'.{35:=C/ g-1w//t/$"r(d// g-;#x #########################################################################x####x####x####x####(####(####(####(####(####(####(####(####x####(####(####(####(####(####(####(####(####(####(####(####(####x#####vi g|iii i i&nvi+13k5;A} g}}}he|}U1v }}"/%*j+0e26x79O<A0D  g?!$(",/3I8 g _;#:TVm$5ANEWFRAMEWORKFORTABULARCOMPOSITION5-7Restrictingthetablearrangementleadstomoreaesthetictablelayoutsandtoalgorithmswithpolynomialrunningtime.Introducingarowstructuretothetablebyplacinghorizontalrulesbetweentherowsisthefirstrestrictionweconsider.Oncearuleisintroducedintothetable,itmustextendallthewaytotherightofthetable.Theserulesformthestubofthetable(typicaloffinancialtables)andhencethisrestrictedtableformattingproblemwillbecalledSTUBPACK.Figure5-2containsanexampleofaSTUBPACKtablelayout. aI4aID@D@ aID@D` aE4aED@D@ aED@D` aF4aFD@D@ aFD@D` aB4aBD@D@ aBD@D` aA4aAD@D@ aAD@D` a<4a<D@D@ a<D@D` a84a8D@D@ a8D@D` a54a5D@D@ a5D@D` aM4aMD@D@ aMD@D` aJ4aJD@D@ aJD@D` aG4aGD@D@ aGD@D` aC4aCD@D@ aCD@D` a?4a?D@D@ a?D@D` a=4a=D@D@ a=D@D` a:4a:D@D@ a:D@D` a74a7D@D@ a7D@D` a34a3D@D@ a3D@D` a3 a7+a7+a3 a3 Q3 Q7CC@@ q3@ CC a7+a7C@ C a7@CC@+q7+q3@ CC+Q7CC@@+a3 a3@CC@+a3C@ C a7 a:)a:)a7 a7 Q7 Q:CC@@ q7@ CC a:)a:C@ C a:@CC@)q:)q7@ CC)Q:CC@@)a7 a7@CC@)a7C@ C a: a=(a=(a: a: Q: Q=CC@@ q:@ CC a=(a=C@ C a=@CC@(q=(q:@ CC(Q=CC@@(a: a:@CC@(a:C@ C a? aC&aC&a? a? Q? QCCC@@ q?@ CC aC&aCC@ C aC@CC@&qC&q?@ CC&QCCC@@&a? a?@CC@&a?C@ C a= a?'a?'a= a= Q= Q?CC@@ q=@ CC a?'a?C@ C a?@CC@'q?'q=@ CC'Q?CC@@'a= a=@CC@'a=C@ C(a:(a<.a<.a:(a:(Q:(Q<CC@@(q:@ CC(a<.a<C@ C(a<@CC@.q<.q:@ CC.Q<CC@@.a:(a:@CC@.a:C@ C aC aG%G%C aC QC QGCC@@ qC@ CC aG%GC@ C aG@CC@%G%C@ CC%GCC@@%C aC@CC@%CC@ C%C%F+ F+ C%C%C%FCC@@%C@ CC%F+ FC? C%F@CC@+F+C@ CC*FCC@@+ C%C@CC@+ CC? C+ C+ E0aE0aC+ C*C*ECC@@+C@ CC+ E0aEC@ C+ E@CC@0qE0qC@ CC0QECC@@0aC+ C@CC@0aCC@ C-6=-6?E1a?E1a=-6=-&=-&?ECC@@-F=@ CC-6?U1a?UC@ C-6?5?CC@1q?E1q=@ CC1Q?ECC@@1a=-6=?CC@1a=C@ C+a3+a50a50a3+a3+Q3+Q5CC@@+q3@ CC+a50a5C@ C+a5@CC@0q50q3@ CC0Q5CC@@0a3+a3@CC@0a3C@ C+a5+a7/a7/a5+a5+Q5+Q7CC@@+q5@ CC+a7/a7C@ C+a7@CC@/q7/q5@ CC/Q7CC@@/a5+a5@CC@/a5C@ C)a8)a:,a:,a8)a8)Q8)Q:CC@@)q8@ CC)a:,a:C@ C)a:@CC@,q:,q8@ CC,Q:CC@@,a8)a8@CC@,a8C@ C,a8,a:/a:/a8,a8,Q8,Q:CC@@,q8@ CC,a:/a:C@ C,a:@CC@/q:/q8@ CC/Q:CC@@/a8,a8@CC@/a8C@ C)a7)a80a80a7)a7)Q7)Q8CC@@)q7@ CC)a80a8C@ C)a8@CC@0q80q7@ CC0Q8CC@@0a7)a7@CC@0a7C@ C.a:.a<1a<1a:.a:.Q:.Q<CC@@.q:@ CC.a<1a<C@ C.a<@CC@1q<1q:@ CC1Q<CC@@1a:.a:@CC@1a:C@ C(a<(a=-a=-a<(a<(Q<(Q=CC@@(q<@ CC(a=-a=C@ C(a=@CC@-q=-q<@ CC-Q=CC@@-a<(a<@CC@-a<C@ C'a='a?-a?-a='a='Q='Q?CC@@'q=@ CC'a?-a?C@ C'a?@CC@-q?-q=@ CC-Q?CC@@-a='a=@CC@-a=C@ C&a?&aA,aA,a?&a?&Q?&QACC@@&q?@ CC&aA,aAC@ C&aA@CC@,qA,q?@ CC,QACC@@,a?&a?@CC@,a?C@ C,a?,aA/aA/a?,a?,Q?,QACC@@,q?@ CC,aA/aAC@ C,aA@CC@/qA/q?@ CC/QACC@@/a?,a?@CC@/a?C@ C&aA&aC)aC)aA&aA&QA&QCCC@@&qA@ CC&aC)aCC@ C&aC@CC@)qC)qA@ CC)QCCC@@)aA&aA@CC@)aAC@ C)aA)aB.aB.aA)aA)QA)QBCC@@)qA@ CC)aB.aBC@ C)aB@CC@.qB.qA@ CC.QBCC@@.aA)aA@CC@.aAC@ C aG aJ%aJ%aG aG QG QJCC@@ qG@ CC aJ%aJC@ C aJ@CC@%qJ%qG@ CC%QJCC@@%aG aG@CC@%aGC@ C%aG%aJ)aJ)aG%aG%QG%QJCC@@%qG@ CC%aJ)aJC@ C%aJ@CC@)qJ)qG@ CC)QJCC@@)aG%aG@CC@)aGC@ C)aG)aI-aI-aG)aG)QG)QICC@@)qG@ CC)aI-aIC@ C)aI@CC@-qI-qG@ CC-QICC@@-aG)aG@CC@-aGC@ C-aG-aI0aI0aG-aG-QG-QICC@@-qG@ CC-aI0aIC@ C-aI@CC@0qI0qG@ CC0QICC@@0aG-aG@CC@0aGC@ C0aI1aI1aG0aG0aI0aI1aIC@ C0aI@CC@1qI1qG@ CC1QICC@@1aG0aG@CC@1aGC@ C0QG0QICC@@0qG@ CC aJ aM#xM#xJ aJ QJ QMCC@@ qJ@ CC aM#xMC@? C aM@CC@#M#J@ CC#hMCC@@#xJ aJ@CC@#xJC@? C#xJ#xM%M%J#xJ#hJ#hMCC@@#J@ CC#xM%MC@ C#xM?C@C@%M%J@ CC %MCC@@%J#xJ?C@C@%JC@ C%J%M(M(J%J%J%MCC@@%J@ CC %M(MC@ C%M?C@C@(+M(+J@ CC( MCC@@(J%J?C@C@(JC@ C(J(M*mM*mJ(J( J( MCC@@(+J@ CC(M*mMC? C(M@CC@*}M*}J@ CC*]MCC@?*mJ(J@CC@*mJC? C*mJ*mM,M,J*mJ*]J*]MCC@?*}J@ CC*mM,MC@ C*mM@CC@,M,J@ CC,MCC@@,J*mJ@CC@,JC@ C,J,M/M/J,J,J,MCC@@,J@ CC,M/MC@ C,M?CC@/ M/ J@ CC /MCC@@/J,J?CC@/JC@ C/J/M1aM1aJ/J/J/MCC@@/ J@ CC /M1aMC@ C/M@CC@1qM1qJ@ CC1QMCC@@1aJ/J@CC@1aJC@ C aM2aMD@D@ aMD@D`2M23D@D@2AMD@D`2a3 a3D@D`2a3D@D@ A3 AMD@D` 3D@D@Figure5-2.AHYPOTHETICALSTUBPACKtablelayoutwiththelargestelementsatthebottomleftandthesmallerelementspackedfromlefttoright.STUBPACKcanbeformalizedasasetofunorderedtableentriesT={ti}withheighth(ti)andwidthw(ti)thataretobeplacedintoanarrangementboundedbythepagewidthandhavingminimumdepth.Eachentryinthefinallayoutisseparatedfromtheentrybelowitbyaline(typographicrule)thatdefinesarowofthetable.ApolynomialtimealgorithmexiststosolvetheSTUBPACKproblemwithin1.7oftheoptimalspace[Coffman,2DPacking,Theorem2].TheFirst-FitDecreasing-Height(FFDH)algorithmdescribedbyCoffmanetal.isshowntohaveaboundonthepackingheightofFFDH(L)<1.7OPT(L)+1.TheFFDHalgorithmtakesalistLofrectangleswitharbitrarywidthsorderedbynonincreasingheightandplaceseachrectangleleft-justifiedonthefirstlevelinwhichitwillfit,orifnoneofthelevelswillaccommodatetherectangle,anewlevelisbegun.TheFFDHalgorithmrequiresO(n2)timefornrectanglessfSvffsfvfff'sf*v+ff,sf2Ev3iff4ufEfFfG)r^   (,.3 9=C~\ gk C ")'- 68[;BDZ g} k$t*-13s6L9 AxXb gX' '1*-t137=?ZB3EV/ g@<M&D"&*1- 0259?AS g $ (# 0B6:A2E/v ge- w#&1' g-C;#t*=*= r*= &9(=),,.=6B:Xw?*=r*=A`CwDz*=)y)Er*=Ec( g!w3( z( r@( w( y'Xr( .w ( z( !r"( w( "y'#/r( #$( *,/C4~7:; % gV!'$j)1d7";F?ADn# gk y!g%*,)./31 <@!t g}m 3%y)+0t2mm3m7Lrm;B; g' t;;%'U,2r3;;5z8 gR (q/29w9&  9;r =X? D9 gUc<"c'vw$Cr%fz&r(z*r+w/r024F gM "bw%r&( 04G;@U g GY!&*Z1c :=?CW e gkHs"$', /@ 9< C 3 g$+w2[ 3r 33w48 3 t 5r 356:w=s 3r 3> 4TTVm$5ANEWFRAMEWORKFORTABULARCOMPOSITION5-8inthelist.Alinearpost-processingpassmaybeaddedtoimprovetheaestheticsofthetablebydistributingtheexcesswhitespacewithinarowandaroundeachentry.WhileSTUBPACKhasapolynomialtimealgorithm,itstilldoesnotlayouttheorderedtablesnormallyencounteredinpractice.Therowandcolumngridstructurethatoccursintablesimposesanorderingoftableentriesspecifiedbythetabledesigner,whohastakenintoaccountanumberofaestheticconsiderations.Restrictingtablestobeorderedinadvancebythedesignerreducesthecomplexityofthetableformattingproblem(attheexpenseofpossiblyrequiringgreaterspace).Analgorithmwhichperformstablelayoutgiventhearrangementiswhatweneedtoachievetheaestheticswedesire.5.2.3GRIDPACKTheGRIDPACKproblemistolayoutagivensetoftableentries,eachwithawidthandaheight,wherealloftheentriesareassignedtoliebetweenparticularrowandcolumngridcoordinateswithinthetable.Thelayoutisentirelydeterminedoncethephysical(page)coordinatesofthegridlinesareknown.Thesearedeterminedbythewidthandheightoftheentries.THEOREM3:GRIDPACKrequireslineartime.Proof:Therequirementistodeterminethepositionofthegridlines.Thiscanbedonebyatwopassalgorithmthatexaminesallofthetableentriesinturn.Thefirstpassdeterminestherelativewidthanddepthofeachrowandcolumn(horizontalandverticalpairsofgridlines)byensuringthattherelativewidthofthecolumnisgreaterthanthewidthofanyentryinthatcolumnandthattherelativedepthoftherowisgreaterthantheheightofanyentryinthatrow.Theabsolutepagecoordinatesoftherowandcolumngridlinesarethendeterminedbyaccumulatingrelativewidthsanddepthsforconsecutivegridlines.Thesecondpassovertheentriesdeterminesthepagecoordinatesofeachentryfromtherowandcolumngridcoordinates.;TheGRIDPACKalgorithmissimilartotheoneusedbythetbltableformatter.AdditionalalignmentpossibilitiesmaybeincorporatedintotheGRIDPACKproblemthroughsuitableextensions.Asstatedhere,itdoesnothandlespannedcolumnheadingsoraligningtableentriesondecimalpoints.Theremainderofthischapterwilldiscussthepracticalissuesoftableformatting,includingadocumentstructureandgridsystemforrepresentingtablelayoutsandaninteractivealgorithmforformattingthesetables.sfSvffsfvfff'sf*v+ff,sf2Ev3iff4ufEfFfG)r^ gkD'*.7057> @ \ gxQh #{(r 057K:=CZ gWtWWfWrW |! *.I 637:>ADkU[ g@h! *,37 :o=CS( gJ"(+#137=ID+P g@VQ %c(.0N68N g1 %:'?)/18:|=UL ghA "& .5m7:AJ_ g|%(S/4;?H- g C#%)+14b ;>QsDQ gvTDQDQhDQr@vt@v@vI@vr@v+"$~&)3,&-146:@kD?>D g u!#%(.07o9s;< g )l ^# ,149=B9 gf %!(I-Z 68);>yBY7 gv #4%(n-0Y5k7}:V4t44r4y444w4"(-[1r11 !#B%F-/6>8O;(>C/l gtM y'+V2469=C--: gxs #&,1;4}94;E?Bh+ gZ #')-X14+:>BA( g!#)&).r0379=XCJ& gv,="%e',0i3B8T:f=AC$q g' 'X)i,B/28<=@B"> g % !'u,/5T8 @ gO5!$X) 248 AC g1$$' z0rtIr+#%_*,/269 ~;=#r@ g  $ -~13q =@tC`Dn grn# ,/s468Z9=@< g!(,,C14:,@+ gPap"(.+16N8_V gb%}(*.06&8@TN gkQ".(<,. 5;BNR gb!%"+/2T:>GO gz~# ,1J6i8;@M gR"(.+2R95~;FMMD g & u!'t*>024F8\<AB gGKs> gT r; "a#',.1 9YA8 gtl #'& /2D7-:!=cD6 gU !'>)C,04~6667r6:>t6]?r6@A4q g!  '*L248(>2> g7S!t#y&R*v 268>0 g  tW0 0 !Kr0 &(/(6Lt;0 0 <8 - gr--* # +.U/26:U?Co( gM"(+S.,58=?VB/&o goH%(/827:<@$= g$%|*%-g.4I9AQCU" g@ Q  '38?#~BW" " Cr gtr"&s* 3n9{ g m#&[*q.2v6<">vs gt*I""%d-/2 ;CA gkTVm$(5ANEWFRAMEWORKFORTABULARCOMPOSITION5-101023.5.6250forceXdistanceaccelerationXtimespeedXtimeTableGriffinRoseE2Dn`"7Ay.4^+BOv0EBG !=2C B[$CCb4::1BW3KBBotI,,AP+MCNFACUz~+#DCe`ּBjD^/C@S(DUrCmtCDIVEY)D>D&v3-EL6 E@ĺKDFDMCs>El:d:71PCϲBE!F^ˀCDlC>2`̀EKC423CC2:FX"7A@8CǵDmCDD٬6C Bl<}`B@,CBH&CF4^+@_(9B+mB 'pCDiBؓD8CoPS dC]3B"*HCKCD8KU8CLE!=CY B(@gD@D_Dྭp;*# BߘCBؘ#%_'lC"ECU>'AT#|BdBs`CtC-BsD 2ҼBBɯCDpyYqDA>SؾC`A'A0@CCA&*CNfɾF߸BL B"C,DS݀B 2CRI,,APLCj>HCO< $CDSC ,CϺXD֖(C|)|B1C^CDA C^BDBA0!'q)DACAv#LDfBzBe/(AV>PBCDO2@CBASܴXBf-y;׺AبQCCAب#PDjApAŸFPAI`CD^րI`AI@D^/@ApCC0nCYV CiCCYW'EvECyO BQC#DmԀ9N<DJ ApBi`BB`ҠC@7C`Cr0DԆCrƘڠBZBjG()9 CjjBgCdqB@B2BVl2F ÀCopDch@C" À:DN?꽧dBR'BV.x^C@@@COhh;bBBvB |BhDQDQ|z:Do @o̽2ELBiCBT`@kpC B2HCj8U.BmhBеPASJECAD`??@Q:DlClXdB~B\m0A3CC|CbqBBn^RBԟhALC@DlB:C Cg⏽/6BDA CCVBS-C4W(}:BNPPAO Bw|Ds#C뀼 _;CQC %IspBgBcM C~C,CÀKC~/ܼtqBWpBp-DrCV;Cq$CuJ:AtB`= C[~CDBɀꀼtC[~&ֽHAڋ0Bm8(El:ܼ(XC`CC8CDf@`(Dngں ~@S=`"DBCDF:)Aj8BEZ;4)DH׭C۹?*l&/BG} {nAODX{uCuCDjлWWDMCͪD]1TDd5C5=11DmVDZWBnTDTE~ʻZDDS`4Ec&BU;Z1N.DS<}꼸BB_aF,)Aj@<B80A9DmC 0CCrDHUBHBćAQCrClC< CrE;4)&-XBT0BCB."HDrCrACRC4,潾$BA7BTXCϾC Cp"CϼE0?A߻18C`CL$&z:Ak`Ds]Cr{D.ID]CDFCBA An'3CCr:C넀D;DI!BIp;7Ca @C[hCtCaND) J>B窰B8C*Dsa@ŀԀ8 BnC\ }\@A CG(CCCGCھ ARCtDq 3ADjлk"xDMu2C#CBUCCCBSE\]oDpC !3 CDn;!) >Cыp3BCLĐCt&\BhCCtBDBqBBTܽ{pCDmC5U #=DZB'}BBt;PCŋAdCu@CŌ5D 3RBB<BxP?CDr&<DhDf ﰽ< 8%tB0Cc\CCD€ CcZd}V RBCE2@7b)݀Dk C韠7>$CX@CbLX@A䲐CJCcDI @CJGw8*ܾ AR AMp D`?C>CTD~ʼ\@AvhBWPB]CvDY@B]9}潼BvDYPCb?C`GEB2yBBpCfDe$$Cnź:z8P:B$>DHCw@AVD !Aqx3B(CDg&@8CP/,ACψ MABbECCfBbCDpBMXzz;LCDprM༥ODLһv$B CDL4B{@CCB{|DDPϢ@Bp@3CDs?BX4C03 XOPB6`CZN@CgXCCZ1EZjCAr>xB@#C|DpCd|'#CzἋ/Aɐp<٨DBC.CC CECڼ`C,DS.\lBO7~5AsPC|'cC}C|lECBb"?E1'pw@Q(GC:DgC?HCp~@ȋ > ?CԀ>BCC)EDsO29BcBǼBfxCe݀CzCg?ODF&BSJXCAN c 1CDoCu+ 3EDK^.>^BMB^ vC逼CGvC LC`xlXB~Bnྸ> CzDf"CXDDBBbhCy༽xC4ogBvC3,Co@)BzBCGxDXADJQ+DD#D>hjB ~<uC4^CkXC4;I8CcN`Hr@BNBxDR@DPˀ[D&Dg+ ȶA␼n)BIXCU(h,CטCVojDHҾ ཛྷBmh CkXDb[@C ̀CCgkr>AоxAxpC 1C `CـCnE0Aӧ`x&AG"CטDp\Ch(g"MCqC#># BdCq 'BTC٠Cq)C픐AQGʽBV0'C Dr@B0&CC~kpܼAt `BϤ|B8CCB?3D~``St)AҎ CDre &`BC@ ͼ$I@j @BpCϯCx BpCz@?K 1@CDl3>ACڻY`BSB=NCCCCwCC$Dd@A]Aq8ACyDlH0Q"C $M:B{Ph2=T5?Dm'C2>DrDJBIXAgÀ+cCCCf#CH@08/zD">PBg@@ DbC @EPnXEճBU5B C܀b0C€CC؀S CY;/l)=Ͼ@B;BJA B@CϞCu@B;DCó*CΈ)E<@mCD_]@lm9B؀CKDBH׈;C±BIC@@C±dCtAūCSA0,jCuDlK0e@d9iBx(B(\BFr߽-C#CCCIFB(BCu!=NCBDsI@@=N9FClhBCB½tC񴀼p@:Cu@C6CKʽ>wBB Q'CDq@CR# '9Clf6HB Bm%$CoIBCo'a4Bt⽈KBNBxTt.yKCuDdCnL.9DBwVBѬBh𾩔C@H؀D@窿BQpPBƠB݈BDT@DNT8Dh r@t2|B tAC)B@+C*ʼ!.nBdB;AsBC'D`H@H9 DbCw׽/4BPAQCChV?CJ̼w뼛BcB4HBC7CDkGB@9aDsCbJRA@Bi@A0C吀CBzP2@C吀㻼EeDA)Bd,B@ l CMFDqChV V9DXMDCT@BeBDB`C̣CC&DyC̡[Kf&<B_Bfo2DsCo:eCm_CF",&(HAxBQCoC"CĀ| Co2N-?@4A:BS\3^z2DlC3] ):C͉DO<QAVBYBCDMMYB^V.潨AU2BiH# ;DcC"% d;xCDp3inBB-A@CD\-6A8J *fн+B@DUC@ =+BRDngB^zBn9xB CwDT􀻱@B"˻"CQL1&@C 6ҀDEdC >CUfED/Cj \C^CDA@8C^j[BBC`B§>`@0 DNCv@0!R@CDo/A @CbTC/D@ CbT$Gz>hAF@އ 6D^ɀC!ADz<EIt0A`AN7࿬C_CDA/ ?@C_@@=!P@AA @D_C.@BEFn BI BEOa"BtC{^,D~2qLxZCY lCDxCUZCnb㼭DwxTڻ5$@CV_qB]D|Q 3B˓AUj#CӅ[<| 2D";DIK伜vmE_EJaDs{(Ey@Y|-?8REI5ܚCRDB͂KCEFn =@` Bz BBC5€KB8CC֘tBɢCnJ"4 BhDU?DMABEEu`.:C`΄CP8:%pCK$CeCNDi#=6BٞCZB<DM=DU5ZfBC殽B@ϔb Ac]Cd@\C@C>#CKA88Aq"D fCeD`@C eADR At BhPC2(BC׾C1wDDJBY&}0A˞ CDgVC` NA|Dx|. 輨+BB XB`C#H@CCVD|B`xBnQ!=h"΀C׾DpgCh(A@"΀9@DxCcC]dD\C̀Cj Cǀ*̊D񤢼RH3a^Cb٤C]8(CDqCM#(>Dbwx>Tڽ |d} B|ChO @CMXCChLl|Dʜ 0@BHr038CjDs3Bf38w=DB5cT/%0A^nBMCN6C}hCCN=DΩ̾\xAcCDq <|D|Q2SpBӌBaBfSC̓C*Bf^Enk@@/p)9CDo @688 :+G0.AmCc\ZCDmICB3ZECqDH7缕`C/B8мܤCWCz.PCX7&v*oB]4B[AtW`CDdhBJXD^Bm%BœBb@?!CCB26@C7[<|>tB.RB-\BpDMFDU5\Dl2l/lB5B]j?CBJU`C#7<`CO||*a CRBΨ($x CaD_@D@3 D'־J`CI"BUsC5SBlC83CX* CVB˕ȽBpbCDm.Cʗ2*bDiջnA`CLBOp;(CA"@CaC@!8+|C>XB]A༸.x$YC[DpC`<&$ZCʟ$7?ྗBZ8AדH1ÈC址2*@5iC`C9cDGêApB`AsP|:CDs[=@;:CJﻪ_AfXB\BTXXCۦ&)CZ`CۦJ9}DczBs<CCAxJ0ClDpTCkԻhBABTAbC<ACĠC:UDp"CȸzC ;.A)C*Dil":@)C$B\B@BAw2C\g@CdClC\Y<yDHat@`@ĥ2@@€-CUDi -BCx?TF??B^@CC*B`A=$HEjTNA鵠x.#@CDp SD/G%мqCg7CCSBh@CnCUBj@HXC7mп)0AʀCDrU@ Ce!9[62AC_ RC]|CC_T@~E@[+/`BӚBp1ClDsB}1Dr f?@'놿ICp" BCCp#BCf%?d1C/DsB1CfH=?^K>CCm`C4EAj컡8x(>BS\@DZC༲Cm[DV@)(BIBxHpCDaj#D4PEPf;AABg *DgcC *BClTLAҦ BaCM[CDH, CMYD}-j?a8BΏB*r2lDsCꀼrCCn꥾ @Bj\B~CCCn CD0.-.-"B]XAN \C@Dr;Cn CmHB63?< BWeM`N98B8Bs9?BPDL@DV&8@DM(h XBYB]u@A_ CBB oCNEG$Bח BZAq>ABpDQDQjDOpcN%@|;AK@AZ<8C8ABNCE0EC\C\rC\EeC\tD^YDBhd8DYNXBkuBD䡦:DCZDSx5DC֜40VC.c_D޲SD߻bDO=CzLX k5MAe2A2-BWeA7Bq745{BFCT%%iC̱$CJ !eBCICJDT$y%nCUUE6׎By8+DYNXν,BqB%8ApCtd CrCtC4BCC(f@AYbd dCDoCt*堼 d27C䡦:BBZ 3CfAC@@C܀ bB8 BԳBmQ6lT CrDd5C`c@ 7{DUֽDBBaоD@D@@ BBTI$C@DV(@DLd@#C7fDZ )hB˟B]@PC B2GC pթDBsB7AI,CD`7zDUCV4-zB]B{ AԑC#CC$޼-\ `B@6BA.߀C?DlB7DHQ"CңA@PBhBJCCC\%C Ht8CBsxB^3BDsC@܀8DGDG̊@BmgBYC|bCCk@C|` ͽԾA8B%%DqC%o8DSL(D*4BBCVCuDDLCV^+g0dB]`DfC9k5M@?BW A₲nBTDGDZnlDLjNBANCAP0Cq9-BWe/ B}Aήо$%zB8DQDQˀ{C-h@ BMAv4CW@BTC98⼲4CA\Ba|= 86>2BXDs>C 7DU'CC%ؼdBgCCB"t(:C79vB}Bhkн,DnCk ,CUCdBdBU>$)CɀCh>1 C 9iB} BON'[DfCB^C_?BhlBg:DCClC~4C9Z0zHA}ZCSI&%W%>Dq,C\ %XCC9>CJ%.CChC|]CC餀mC|Z8J _;dzB|bBSp HBNDrCxC_o2BSνBsWB^OCکC\CY%Cڨh8 μBYB_t?҇ CDlRBCBƽ-hBTyBYC߀Cx&)DC߀8{Z:@5X?^ZCDlBCr+4Bq @T>Կ`@KXCqB0'Cr8n$y%nCs8T66tBe# aCSDqwCd `DnDE BvhAxAt2$C@B1oC?A Rose is a Rose12Chapter 35R(FR(C@ C5R@CC@FRF>@ CCFRCC@@F>5>@CC@F>(C@ C5>5RCC@@5>@ CCA paragraph of text goeshere to demonstrate a thumbnailsketch of a formatted page.Section HeadingA paragraph of text goeshere to demonstrate a thumbnailsketch of a formatted page.FormattedDocumentChesterCarlsonph dULONPQTY^hVTWYZ[\[]^_aabbeffjlnnooouuuwx}}z~~~}|~}~~}cQQSVX[bghjotxyy}lMPRO9OPPRRSSRTWWXXYZ\\__accbbeijjjlprrquuvzz~}~~~~}|~{yzxwvwuwwxvuwxwwvwvvvx{xmQ?<::;<=<;;<=<=<===@EFGINQRUY_agiig_cjhe\963/.&%&""RQSUUUWWVWXZ\[Z]_`acdfeehkkkklqtttvvy|{{~}~~}||}}yww{|{yxwussqstxuroqppqpqqpqsqdG997657987687653333355457876789<=>??ACEEFIKKJLKJLLONIILLJFCA@A>84210PQRTUYZ[ZXZ[]]^_acbdfddghjkjkmrutuyy||}~|~~}{yyxwwwwvvvwvqrqrstqnnmllkkklmmmm`D6543334554543321123321135323346678779:;;=?@?ABBCEDFFGLMNQQRVWXYXY\_OPRSTX\]\[[]]_cbcceggefiijjopqrtwx{{}}~~~}|zyxz{yxwvstuvssrpqnnpnlljihijfgi\>3210/13311221111/0210010100001112223245569<=AB@@@CCFFGKMMLMOQRQOQRUUY`_\\_`a_bceeghghilkimmoprvvu{{~~~}}{y{yxyxvuuuusrqpnqsommjjhgjghf[?3200////0//00210//11100020/1010/0111144466;;99:;=>>?BAADGGGGJJJJPSTVUVZ\]]_`bbdefghhijlnonppopruwx|}~|}{{{~|{xuvwwurqqqqoonnklkiihhfZ>21//.//000//0/000022101/00/000000001123346786789:<<>><=@?B@BBCEEEGHRTUWWY[^]^_`bcdgijiikmlloqqsrsst||~~|~{z~zxxvvwutusrpnmmlnnljjigY=300///0.././/-,/2000112230000211001233345456458:;;<===<>?@@>ABDEDFFTUVXZ]\\]]^afcafhijklmmqsstutxyy~}{y}{xz{wwwwuwutrpnooomnlklgX<4110/00100/---./00/01112321111332333335444466679:<:<=<<>>A?AAABCCDETUWZZ\\_`^_decfhjjiikmnsutwvwzz|~}}||zyxxzxxwsvvvtponppnnolkhU<4111//0111/..,./-//0111122111132234553545567788999:;<;;?@@?B@AACCDDVUWZZ\\]c_cddfghijkknrrtvuuy{{|}¿~}|{zzzxyyvxxuqqsqnnnomljX=4411101210///,-..//011102101234222355555677898889:;<;::=?A?>=>????@?@CBAAEFGGVZ]^_`aabeeeehjkljlmoprvwvyy{{}~{{zyuuvtsssqpomV:530122223121111231220121122113322333468:8;;<<;<>>?AABDCCCDEFFGX[]_``cbbdffilmmmmonnqswyz|}~~||zzwutsrsrojS;6410223342024222322223422223333444676777:;>?=;<==A?@AA@ADDEECDEFFGF[\]__bdffcggijloonoprwwzyx|}zvxvttsslR;743233223333343333345344443464654577889;<>>>>>>??@AABBCDFDFDFGHHHJJZ\^__adfedhiiikoolqruww{{z~~}wyzywwwvrT;64454433333553335545544343357557678988::;=>=>?>?ABABBBCDGGEGFJJJIJL^_`aadeedfikijkmnlqrttuxy{~¼}|zyzzvrR;65555343343553454666766565479777676789:;>====>@@AAACDCCCHHGHHHJLLMN]``aaefffilmllmpqqstutuz{}~}{{yytS<8756554566456445466556766667766668799:;9=@>=?@?@AC@CCDDEFFHIIJMNNMN]bccbfhiglmpmorrsrwxvxx|~~Ŀ~|ywT=9977554555566445657667778866765568999;==@A>???@ACDCDEDDFGGIIJLNNMNN\_cbcggihkknortutswvy{|}~¿~|{wR=:99:535554556566777668898:8778779899:<>??A@@BBBB@ACDDDDEGHIIKMMOOOO_^`dfiihhjqpnqtvutvuy}~xP::99864565557667777766677798887889:9:;>>@?B@CBCBAACDGFEEHIHJKJKMOONPb`adfjkjjkopssvwvtxwy~yO;;:9:8677775687678788978878886899:;:;=?BEBBADCDDCDCDIIGGIIIJLJMNPOPQacdehkkkimmqtttuvv{||xN<;::98787887698568898899899878999:;<<=?BEDABCDEEDDDFHIGHILKKLJOPQPSTbccehiijjmmttssuux}}~¾yM>=;:;9897878:9899:;:999:::;9::::;<<=>=?@BCBCCEFFFFFGGIIIKMOMNNNQTSRScffgiijmloopqsvzyx~~xN?=<:9:::::87:9:;;::::9:;9:;;;::::;=;=>>>ABCCCGGFFIHHIKMNLNNMPPQTUUTTfgikkkmonppqqwz{y{~¿xK<9;<;9:89988898::::::9;;9:<;<;<:<==<<=@@BACCDFFGGIJJIKMOMOPOPQRUUTVVdjkjkmoqrststy||{~¿wJ>::<>:;:9:88789:::9;<<;;:;;<<<<:>>==???@BB@EDEGGJJJKLMNPMPRQQRSTUUVWcgklnrqqtxtvwy{}wH??<<=;<:::::;;<=<;:::<<=;><;<=>?=>?=@AAACCDFEGHGILLMOPPRONPSQSUVWVWWcfiknprqtvrwzy{|}wG==>=<;;::9:::<=?><<;28===?>>>=>>=?@@BBADEEDFGGIIIKMNQQQQRPSSVUUVXXXYehhlnnqqrsszzw{~zH?=====<;99;;:;=>====:<===?===>??>@@AABBDDCCFIIHIIJKNOPPPRRTSWUVWXYZZhlklnqqsstvzwx{¾xHA@=><;<<:9;;<<=??>>???==?@??@@@BBBAABACDEGGHJKIIKMMPOOOPRTTTVXXYYY\\hllnoqstuwyzzz|}~yH?A>><=<==<<::=?A???>>?>>>?AAA@?CECCCDCEFGGFHKLKJJNPQQQRSTUSSUXZ][[^^kmpqruttww{{z{z|}{I@@=?>??>=;;<;=@@?=??=>>???ABA@BDFDCEHFGGGIHJMNMNOPQPUUSSUUUVWX[^^^_`nlopqttvyxz}|~}}KDC@>=@??;;;;==>>??=>???@BAABCCBDCDEFGGJIJKIJMMOOQRQRTUVUWXVWYZ\^bbbakkmpqvvww|}ÿ¿yKDBA?<>??=<8<>>>>>?>=@@@@A@BCCEDDEEEFEFLLLMLNMNOPRSSUVXXWXZXZZ\^_aabcfmnpqttux|~~{IDCB@=>>>==>>>?>AB@?>A@@@BABEDDEDEFFEFGILMNNNNOOPRSTUVWYXX[X]\[``_`bcjkmpqstuwz~~|LGEC@?>??>==??@@AA@@A@@>@BBABCDECDFGFHHJLLNRPNOQPSUUTVXXWZ[[]^[_ababbgjnoqtxwuyz}~{NHGCA@@@@?@@?BAAA@@?BBBBBABDBCCCFFFFFIJIKNNPQPPSSVVWW[]ZY[]]^`__aeeffiknrsvwyw{z||KFECBCA@@A@??A@@AAA@A@B@ABCEFFDEGHHHJIKLKNOMOQRRRTVWY[\[[^]\abbcdfghilnmnruvxy|}~~|IFGB@AB>@A@C@?A?@A@A?@@?@BEDDFFDEJJGJJLNKMNONOSUUUWVYZZ\\]_]bdcfhiihilmonqvwz{{~~wJHFCB@?>A@?B@@@>?AA@@A@AACD@CFDFFJJHIIJNNMNPQTSUUXYXZY[\^^`adfeghkkjjlmpqswx|}}~¿vKHGDBB@??@@@@AC@ABAAADBBCCBCEEFGIJHHJIKLNMPSRTVWYX[\[\\\_a`cfgfhknmmllorrtwxy|}~tHIHFBBBAB@?@>@A@BBBBBCCCCDBDEEEHIHHIIJKLPPSTTTVXXZ\\^]]_addcfhiilonnnoquutxzz}}|~}jYROPcuJIGECDCCBBA?>@A?BBBBBABCCDEDEFFGGHJKJJKOQQSSSUUUVYYZ\`_badffiliikkkmnquuuvz{}}|}ÿjM;#0SyrKHJECCDECBBA@?ABBBBBCBBACEEFEHHHHHKNMLMORQTRTWXVY\[[\bbcdhfgikllnmknpqtvuw}|}|}zj_QJ?8520( (XzlJHGGFDDDCCCB?@DA@ABBABBBDEEFFFFIHILMONOPRPRRTXXVX\]\^abccdfghlmmoomorrutuw{|||¿fP9)  &>LIKIHECBBBDDA@AB@AABABBACDCCFDGHHILLLLMNQSQVVVVVXY]]\^`acccggijkmopoqurtstv|{|}U3  +?@@BEEFIKNRSUVWXZ]]_`bdhgijlmpporxwvxpttvyy{}}{ &7AEEFFEDCEDCCDBAA?==<;=>=???ACDDGIJPNRSSUW[^_]bdgfhjljopqrvuuxqrsvy}~~}Ź`7 "5>GGGEECDEEBA@<<99::<;<<=?AABDGIJMLLORTUWYZ[^`eegimjnprtsuwxqrtwx}Ƚh5   ,?FEDCDDC?><775689:;;<<>ABCDGHHKLKLORUWWY[_aacgknmmostutxxrtuxz|~}}|f2  5CCCDDA>864445779::;<=ACCEGIIKLNMMRUWVY\]^`aflkjlnsvwwxxpqrwy{}|}~çr7 ->BB@<63223566688;===?DEEGGHKLNLNPSUWY]\^abdfglolptuuuvostvw}}}~}ʵ?   $8;620/00136779:;>?@BCEHJHLKMOQSTTVXZ_]^cbefilooqtvvy}psvyx|}~ŒO    ),,-/0013467:;<==>BFEHKJINOPRSUUX[Z\`accegilnnrtuuxzostxvx|~}ɽb%   '*-.01235679:=<>?BFFGIIIOOPSUVUV[YY^`effjlmqpsvxxz|pswwvw{}~~ǭ~S#   $)--.23346798=>?BCDGGIJJNMPRSUW[\\_acfgjkjlopquyy|~qvvywz{{}~țl8  ")./0234567::>A>@DDHJLMONNQSTUVY\\]`afhhjjnnorvyx~~tux{z{z|~~}e+   &-//1345678:=A??CFHJMNMOOQUXXY[Z[`abdhijnqmotvxzwxxy|}~ԽX,   %-/0135779:;>@BBEHHJLLNRPRTWXZ```bceegimopmotvxz~wxwz{ɳT$   #-/013578:;>>ABCFHIKLKMRRTUXXZ_aeddfikmmpopqxzyz~uyz}{~ʊO     ,/122667:<@CEGIKMMQSQTWWY_a`abdikklooooy{{|{{~vxyz{|}~O    -02246889;=@CDEHKLMPQRTVWX\]_``bdijkkmpnpx{y|~~vyvw|~ҥ$    -032468:;>?ACEEILOPORQUWX]]]^`_dgijlnrsttxyy}wxww|q    ,015689;ACDFHIMMPPSVUUXY[[babikjjmnqvxxw|{~x}{|}~a   (34699=?@BBDFJKNPQRSWTY\\\[`cffimnoqqvxxwz~w|{|{~տA  %1379:=>>BCFGHJMPRTVYYY[]^`cdefjnorvtxxyy~zvy{zz|~}͡'  "4579;=>?BDGGKKNQQTVX\]\]^bchkhknqttuvv{|{{zvz}}yѻc  378:<@BGIKNOPTUXYZ__^a`fggjkkoortuwwzz~~vyyy{~ţc5 (5:;=@BEFHLOOQUSY[[]_`ccgggillomtuxyxzz}}uzy|{~ϮyO'     $6:=??EEGKLNPQTUY[]^]_abbfehknqppsyyxyz}rwuy{Ϯw3  !5<>@BEFHKPPQTVY[\^a^abdfggimmrsvwxyzx{{}vvwz|խr4   2=?@BCEJLRRSTWX\^babddeggiknlptwwxy|}}}|wzz~{α=   ,   '=@CDGHLUpXWVZcqqifgefgiimmoqqttuyz||~}uwyzy{}~ؾ}f<( !>@CFGIYum[Z`u{xsojhfikjlprtuuvy}}~}uxxyz|~}}E%    =@CFHQvum{yqifgghknprwxvwz~|~~pxwyxz}|g$     ;@CFSj~vlhfihlnopuuywx|{|~svttwz}~zɘ%  9ADIr~ytmiijmmprrtyzzyy~~ruuux{~ߦS  8@GVzqnlkmnopptxxy{||}~ottux{}ك,    8CMl|kkmnorrrrwz{z{|~}|quuvxy|{~~k   3B]~jjmpqstwtxyx{}}~prtwzy|}}̩y8   .Cnyiklnpqtxwvwzz}~~~pstuuvz}{}˰yT,    -K}tkkmpprruwxwz{zz}~}quuvxxy}||W/   -Rolnlprsruvvxzzz|qttuuwy}~{jB    *S}mlllpqrsvuu|xwyx~rrstvx{}||ɱB!    'Rpfjjnpqqswvtv{zyz|~~pqruyyz}||}}µuO/    'Wxmukkorpprtvxuwz{}~}~ppoqsuvxy}{~}~iVJIQdwũvB4   %Vsnpmopqqprvttuvy}|}~mpoqqvxzw{|ƪdC'$7fsG,    &W}lkplprtrpruvstz|}~monnqtwzwx{}~ȿ˜R2%  (Yvkmlmortqrqsxwtz|~}|immmoptuvsvzz|}~ϥJ)     *Zzomnoorrrqsssvxx{|~~immpqpqsxtuwx||{|ëh/!   -Xrklnopssrptuvtswz{~~lsqqptruvsuxv{|zz~кhL.   .Vnkmlloqssrssuwtw{}}}~mmmmppstrpwxv{}zz|Ηl=)  1Qwjlkilopstrsrruuy}}{~kllmpqpoorwtuwxxxyثv1     3Nsjjlkmqprtqrssuvx}{{}kkjlnqrrrsusryvxww}T%      6Mqhimknprrsrprsswz{|~~jlklnrttpqsspxwvtx}}}w    8Ioijlklpqssrssutx}yz~~jmnmoqqrrqsuptwwvwxyz}~ԣ2  $;Fmkkjmmpqsstsuyyy}{|ikjjoqutssuvsstxxwwwx|~ԬG   -=F|jjkpooosrpsvxzzzz{|~~ijlloosutsusuuuwuvvwz~~ٶO   $4=Cy{nnmpoqoosttwxzwyzzz}~jfklnqssvsutvusttvvwy}}i  *:=@vrnlkprssutssvwwv{}jfjlompqqqsuttrvuwwuvy{||~Г(  /<=@tnjlmoprrsuuttvxw}|gjlllooqpqrssstxwwxxvxy|}~֬A  3;:?p{lommqqprqtuuvwyy|zhjjmljmoqtqsrruvwvwxyz{||}[   !8<:=jysmmnoqpqqqqrvvy|z|iimnlnppsppsqprssuxyyzz}}}}ٸ~!    'gyonlpqtutrsssvywy{y|{}hgjjlnnpmlnsnpssrtvwwxz|{z}՜3      ,==<<[plknoppqsrvxxxxyyz~~~~igfeimopmmrsmprrsvssuuwz{}~ҾM      2=<;:Fvujjjloprturtuxyxz{{}}~}|}cgiijkmollspmmosstrtuwyz|~׺         7<;:9>_lklllooouvswwwyyy{~{}~~dgijhhjnmkmnnnnpoqstvwy{}~{~ш:      ! #9=<:98Jujlmkmrrqsuvxxz{|}}|}dghfeehhkjkooonmnqrsutvyzz{}}}ӽS    '8;;975>~njlkmosuttstwyx{yxzz|fihfghghjjholnmmnrpposuwwy||~~|'    #"!  ,<==855:wljlnoorttwyuvvxzxx{||bgifghikjkkkgijmnommmtwvuw{}~}Ќ/       ! "!%2=<;866;ofllpnoppsutrwwwwxy|}~begijhhihjmkijilmonnnqtvvuy|||ԾI     '0583*$   ###! ,:?<<977Amgjjnnssrstuvwvv{{zz~~dfhhhfghhjkkjkijkmnooqqsuuwvy{}       !)/+)+,,0266231.0/*&%)7QdhbURE92-'"  !!#!"" !2<>:9:878v~khiinospstvyxvvy}~eeggiihihhllmljmomnpptutttvxxz~~ɏ8     +26867A?;49AABCEDEB<<<::83-(.HqwnfYH?73,$ !"#!#  %:?<;;:876i{kjjlmmrqrtwzxuwyzz~~dggggijkijnmkkjmnplmpsssuxyuu{{}ѭE   $3>JIGEEFIGGIGHFEFIMLIFE=M2,+ !""""!!)@A<:98744]sljlkmmqrrtwvytuxyy{|}|~dfjgekjiinomkjjkkkmloqpqswywxz{{ʅ   #6ESOOTOIFIPTSTTPLHFEFA@GGC>>B@;94-+'&XyvusfQ;7]sb?A(  !"!"!".CB=;:7633Qikllmmosttuwwzx{{xx|{|}}}dfhhfhjiimkkljkllllmoqrsuxyyyy}~|Իf     *HKNY`ZZTTMFGOSMQMIILHIB:BCEA>?<;9856:7%,XnZ_v¬xJJdJ% !""!"" %4FD=<98643H`lpmrsrtsssvyxy}{yyz{~}afcdfhhhhfhjkljkmononrtuvwwy{z|}~|̌#   ,BMS^cdf^ZRJIGGIFDGJQQPKGFAED@?>;96767:5/)"+ft\Wdz`  !""!" '>DB=:74332Fhknms|uvtsuwyvzyz||{}~~~|~beacdhgdehjijlkkmmoqqqrsvvuxzz{кO   %?KUcegbc\\TONMGLMKOKKMRNF=77<><9;;3059:652,#>ĥr`p~]/  !""" !!!,EGD=;74342Pnnrsqsyyyxwyz{{{}~}}}}{{`bbccfgjedhhhggkmmmpqsrrswvw|{|Dž$    9H`dfbbenf\RSSTJLRLJDE?CCC;3426:6453.-135541)$,e{^uuQ/   ""!!"!"4EDC?<85544Ytruuwv}yyy||||{{{z}}~{}}~~b`ccdfdeeafijggiklnkoqsssxvy{{~}ˤ:   6R[_ccafedZRTRLJJEJIE?@FE=<8332036530--..255/-*'.D_pkX=$   ""##""$9FDDA@<9989\}wzwxxz}|{{}|{}{}z}~^`badcbcdgghjhhjillloppqruwwz{|}|μ\    +Ka_[`ag`^ZXSRUQKJGDB@=BGKG?3000,07622.131021-,/+#!jk&   "##""!'?HCCA?>;;:9Ozwyyy|}~~||~}{~~~~~~`ccadeccc`dehhfhjmlmooqqtvuuy}|{˕)     'DXceg^[WX\TTSTUOLJIIGFDCJMH@51//*47514//11.+*)).0%W6   "" ! )@DA??>=:877>nz{yz}~||{zz~~~abb`cegccfgedefghilnnnpstuvwz|||}i    !E]aehpgccc]XQORNLMJLGBDHNMLG>1023/,25152-+/-+('+.- 0X   *@A??><;96666_wxwx~~|z~||}z~}~{}~~a`aabaedecddcfhhjijijmnpsuwxzzzy}}˲> =[kmnbhmnhe_\TQYRIELNKMQTTTJG9.,143./0/010+**(&&+.$dn# ,=?>=;;:76443Swxvz{||y~~}}~~|~||~~~_ac_abbabacfgfhikjiillmortuwxwyz{{~ȏ"  2Wqtyxnpkolbb^]aab[QQ]^ZVVTUE?5-*,243211/21/,*&%$'$52 -<<<;99864312Hvxyyx}}}|~{~|}~}}z~]^__]`_a_`cghefhfgggikpotrqswwy{}}~˾_    &Uly{y}wxymdb_\cb^aYX[\ba[SNJ?72-*,1150-+++,+)($!""gD    ,6888684211//Bryzzyz{zz|}{{|}}~{{~~]_a_`abcbacffcdfgfigiknmnprsuw{|zz}ɣ0   Bmz}{zyojlrgjcY[Y[]\`^bhb\NID=1-/+-010-******$%# 0{M  -34422220./--Cqsuzyxzz{y}{{{{{{~y|~|~`ba`acc_`_beffgeggjlkjnpoqrsuxz{}||~z  /Ufuvxyylhfgc_[SML[]\_^fgf_VLB=2(+03011/,)''&*'"GL  ,/10/--,++,+,Fprtwwy{z{z{{{{~z{|z|~|^_`\`a_^_`abeeecggijklooootquuwy}~|~~ɻR   "G[fnmrz{wlg`WUYZMHJLOLS]_b[OB;3('/43-,+.+'#"$$/>   -../-,+(((''&;jnqrswvwyy{zxy{{}|z}{}~~}}]][Z^abaaacbccddgjkjijlmpqtswyyx|~ȡ0    3Qhnor|~~neYY]_YWNHQSLKOUYSIC?8/,/12**),,)&  0:  !../.,+)'''%%&1florqrptwvwwwuxz{yz~}||}~~~\Z]Z[]^^`accddadgiilkjlomnorwxy{zx{~~v    #C`ntwzwx~o_TT]\WXSUYWRLJKQVIB?;5,,,/))'),+&"!:1  %./..+*)'&&%%"*_nmnprrtustvxwxy{zz{{||z}}[\[[Z]\^_accddcfhikllmknmpqrxvyxyz{~ȱC   4\jr~~~rwzvk^W[[[WUXT[]ZWOJLGE@:6.+*,*)'())%#-/  &/./++)(&%&$#"&\iomorsusvttxx{|||y}zzzy}}{||][YY\][\]`bedbcegfhkjjllmnpprtwuxw{}Í" #KlqvyxmdXWZVPQVWUZ[XSUMKKGD95.))()''&''      (.-,)*''%&%##!!Vkoonprsrvttxwxxwz{{ywz{{}|}~~~|}}^\Y\^\]\]^babbcddhehjijklkpptuxwyx{zc  2Xkq{|vmd^`[YZ[XXWRWUKHLNIC@:4*('')'&%#"   ,--,+(('&%%$# Tjlnnqpruvtuytxvvzyzwy{}y{|~|}~}~[]YZ]\^]_``_^`abbffjjikkmmotrrxyyyzx}ǰ@     Dcusnca`c^Z[RVSPNMIEAIHGA86.&(&*%&'%    --,+*)(&%%$""Pijonnqqttstvutuvzwxxvy}{{}~}{~}~}YZ[\^\^]__`^_^]ddehijjklmlrrrsvvw{y{}ś(   0]lq}k_]WVVZYRSTPHCEE<>DFC93.+)(''%%!    ,,++))('%###" Jkjnmmpposstssstvyzxwxxz{z~y~|~~Z\\^^]\\^^^]a\]bghhhiilkkmrosuusx|~|}~~}{      Hfq~o_`[TUZ[TPJIGDB<=CEA?7/++*''%!   ",,*)*((&$%##" ?ejmklmmnrppsrrrtuvwxyxy||z}}~}}}Z^[][\\]__aa`_\ckjhhgkkjlommorrty{|{}~|{ŶR     -Shz~mcY\\]WVVJDEG<;@=AED?721+'&&#  %-++))('&$#""! 5chkmkjmmqorroqsrrvvxxz{{{z{{{}}~}|\[Z[[][\]^bbbbccdkfihkkloopqortswx{|}{z~Ġ/     Jkwx}slf]\[WVVRLGFC:6<<=DD?80/,(%"   &,**))'&&$""" ,bhijigjmpppqoqrssvuvx|{xy{{|~|~|~[ZZY[]]\]_abafc`dfheegjnlnqqqrvtvvz{|~|ľ»t   2aw~{fa\Z]^\aZUMNMB:9868;A;9EKPJD<0-,.+')+"   /(''%%%$$$!  ;gmhhlmmkjnnspprrsruxx{|zyxxy}~}}{|~~TUWUUVWYZ[^\][^abacbcfjjjnnompqrtvwwvwy|}})  In~goj\\kVOJD@HB:=BHJ?650-/(%&)#   3*''$$$!##  Gijijllljmlnooqrtsswxyz|x|{zy{}}{z{||VVUWXXYZZ[][[\\ab`ddcejkhmmopqtstvxuxvz~|~s    *eqk|lckoZXSVPLLE??AHH=350/,('(( 6.((%%$##"!(Zmkkllmoomopqprtuutuxvz|y{zz{{{~}|}y~}VTUWXYYZ[ZZ[[^\_`_efadeiillnootutuywwyz{}~{~~J    Ds{}zmjgZZSVWOPKG96:F@732/)())' 80 &)&%$##!"7hkjkjmmlolnqrrurvvuvww{|yyyyz~|~~}|~~~SUUTTWWXYZ[]Z\\^`_`edbhhfikmproruvyvvyyy|~~- *atlb\ZRONMWTNH=:;;601/+$%('$   :4 (($%##"! #Mlmkkjknmnkmorsuvwuvvvz{yz{y|~{~|}~|~~STSUVVTWX[^\ZY_aaaabedifgfkloprtrquvyzz|~~w H~yzxpg`VTPQKSYWWSC:9<;67/.'"&&& =5!'&$#$$#"!2ejhilkllmnklknrtruruvy||z}zz|{}}|}{|}||z|TTTUXWWXWWY\\\^^_``dedhikjilpttrurrvxxx||~N    kwmpkaWQRQOQX^YOE:89<@>5(""%(' D;"%$%$#"!!  2ajjjkhkkjnmolnposqtutxxyx{z}~~}|~~~z||}QRQTUXVXWWXZ\]\]__adcdigfeikpqqsqtwwyvy|{|}~l    EA9-'%'++ C?"&$##"!!! $Ikigjjikihjkkonorqtrtsvxxyx{{}}}}~~}|{||}QQPQSUXXWXX\]][[`^_baagdegnmoooqptvvwwy|{~z|~<  *pƿr_Zbd[ejj]X\XNORJ?3/:ED;3,,-1.'   G@"&&$#"!  6dlhihgklkfhjlnnlppstrrtuwvyzzzx{|}~|{{~{~ORQPRUWXWYYY[][_aabacbabcgiiiloprutuvwx{|{y|s RĽo]PORZ`dmvhXWQIMQMG9/:HF>501553+  "HA$'%#!! (Sjifjfglkkgjjmmmpsqpntruvuuxy{zwy{{||~}}z~OPRRTTUVVVXYZ\[]__b`cecdhhjjjmoprstvuuuzz{{~}}8 6ywqeUJIOWb`gohXOIFMNNNA2:HOK830865/ &KC#&$#""! $Fhmjeefkljkjmmmlmnsrrqrtvwwyxyyzxx{|zz||{|}}|NOPRRSVUVUUWX]]\^^`cbbeefihjkkoqqtwstsxzz|}~|}O cļl[[^RJKOTaegddXLMHLOMMD64DQK:33782/   (K@#%$"" ":colidhgjiklkllllnoppqoopssuyyyxxxux|xw|{}~|~~~TRRSUTVWVWWXW\`]]^_adbddcihikpqqsrrutruvy}|}}~K F{r^MOUUXTQV]ebea^ROLLUUOIA911.," :$ A?RJE\f_mk^y.!&.@q*   ?emlzudadhmr|{yxvtaPYYPOTUTHYrkcYH9-' ) :OL'!"""'Cmvspmnjeeefhhhiijjiljhpqonqrqpttsuvvuuwuyyy{}~~~}NLMKMONPNPQTTUUUXXZ^]\_bccfggiijmlf\E?TQKWWKQ_~gA_U) !#);Y}+ Fagjusgedciqyw{{riYQOFFILK:esomgT>1+ ) @ON,"$#$;dvsrrqmffdhgifiihihhlkknppposqpqsqvuvwxxxy{{~~PMNLNQPPPPNQSQUUXWY\[\]_^cfegfklkdJ.*K8L1Y%-,30;G>=FEUZDBGRWadm{z>>MVG*+4@LYchy, H`fmx|kfaaijsvzrj^WND=;DD:oy~ul^G:-   DTR5"#$)Xtusrqrlddcffdehghikjmiilmoppoppprtsvxvxwyxyx}~NONMPQPRRRRTSRWWXZXY[\\`_ccehjiiYC1$RC=T1T%$051:06DMWeT_QYU^X]\nn~wqy{z~\QMFD:BWfE-('+072N`I&#)0;MQLWK6! >P\nyqljpbRVcgeWEuv\LJQWVZX[a|rdQD4# IUT3(+ !"1gwtstsmigffehikiijjifjilihmpsrsssrssvtxuuux{MMLLOONOQQSTWWWXZYYY]^[WZ]bbQ3-NjTBN?#9'(.)+211.4HZ|}h>O]_sLUSXlgmeH<5FI=7=m~=!!!*29ES[UTc_E. ;P[jvzww|{turmoh_Y_c`[<`iM+'O^XW\a_U{{lXMA0 JUU4  "!"0dvvtvsjhhgfighhhkkjkjjlnlhlqptrrtuutuxuuwxyz~MKIJNPMLNQRRUSUUWVX[_^a^[_[VC1;bhMMH41)-+2'5**43@i{UMEZLEbEnuilonx{mB*BUJ<>\e5,24;Ed~vimvrU:$  0Q\ft|}ydbmzxqtuwutk_eif\=KoK/::VaXCJ@(+457* !,=UYjfbafokvJ @[ivhqx{uCP{wsxpzulommilk\D/O?-C¿t`GciWYWH|jdXA. PVY8 +$# !#0ewvxvskmjjhhhiljkljkjkmjljjpsstsruuvrutttxvJKJJJHKMNONPSVUSUUYX^^[YJ:auc^ohG5-*'!(-*91%+5Tb]WnG;8UDI\sWUn_FFO[oyD!9hZKHCEKTWgzo^RPPS\alZ+ 5^hlhrx}|OArzvwsrvleccehh_L%)D&;`:aj[?\@{rfaK2 QYY9 ' ! ! -\vxzvrnpjkmmkmhjikijknmkkjmpqppsrsqqpurtwyz~}{|{JJJHHHJKMMORSVUSTRWWZ[^RF?whVSaL:*$&(#&-39=!%) !)Xvvwtomklmkmljkjkiiilkjlkkmqprsrrrutwspuxy{{~~{~~|EDHGHHNLLLKMPPQRQSTUV^YdGbeS_A85*-)'"'0-17>5(0ZeX\XFIf__hbie\]j`KCTsspzx~~yqoa?-+avq~{xusokiojing_VL@3)+;EF9+  #T`k{}x~nGu{y}uodTUXdfgb6(372(2Gk`WeM2`e^Q= $S[[>!! (Tvxxwpomklkmimmjkikkilkjlkipsortprpttusww{{}}z{}~EFIGGIIJKILPNPNSRPRQVg`ZJm[DR.0(!##(+%231;9?35Vd`f]I\m_hcggWTadYQP~tu{ovvriqempql++%!$%3 ,1.886@:L]YfXEcokkc`YWYecOVt{uiuhaeeSeqzI#B0'k~uklgmkb_be_Z\\XUSRQROQRMNTSPNUalodH) F__g|~nL_|{klmica`]b\B X|m`LB5.(!5HptpZH@81 *U^[6 """ %Rsvsrrronmmnmnllkiklipmkknlmmrqstswuusvvux{|}{{~DEFFEEHMLIMMMMMRSTSMVkmaDXK&3&"#&&%*%1)$-8297AAG\WcMObcjowpidctg]qrqkejm\gq~x`:@/'i~xj^\b_Z`^[\_\YVRUPOLLNMOMNLKFGEIZpt^: C^bjwxpPR}vvreU^mofZD&T|sj^PA6)6Cbe]PB;5( !<@@)!! !!$Npwsrqopqpqoolmjkiklknjjjlkmnpptuuuxwuwuuy}~~||}|}EEFFGFGIJGJLKKNQRRYR^ncT77:&2("(.$%'/0!)223;8IDR]ZSVQ`pxgc~|z~{pliYdtrigY*:&+i~yjf__b_`[YWWT^YQNMPJLLLORQKKGJHEEEQgxlN/ 5QT\luuUFy|wefioh_I)Gw|un`NA5*3CX\TM?80%   >\dhhlllmmnqolnlljkolmklllkommprruvuutsuw{}~~}|||{}}y{DFEGGIGDFGKMKMNORX^T``F6**,"))!(/&"360,%+71?m|~wupkk`N*7t~zkZB63-0DY^UJ=4,! 0 "***04jRX`vtV:_{}v{xpjgR+'^}naRB4/..E^^RD:0*   =NW\X\QX\imhhfcjrtlijorymi^ZVVevzW.!5#2fywvxkea[\X]a]ZXXSQLIJKMUOOPPMLHIFGA=:5,&!9gmcI( ERZdrz`D5ep}}sh]R15angd^RF>2++11EMSPE:/#   ajmljkikikkhlliionppqsuusttsuv}}{{|~z{{{IHHJIJKKLMLJKLLgjZKF2% $,$'(45&+7BGPSQXZU^^gggeggbbfhjmv{xn]VRSax\. 6#.`nwvlc^\XXVW\_^\TNKJINLNNNVPJJJKKC>B>:/)%(ZywlO* nV^ex{eI-Gftm\K2)PZTPJ<61*&/30BHGJB8-   Yjkllkkkkpnjknninnrsrqsusttuvw|~}|z|z|zy}IHIKJMKNMNLKNOcaJA8,!"##*(125,*37OSVNX[adcgghlhkj^_bhmtz|qfb]UasS- 8$/[kmkccf^YZU]\_aWSJFHJRPPQRLPONNNLEBB?3-%% Q}rS+  %nYYbvyfJ.'Uz}~vgXH1"CSKDB<7/,-4/2AC?A92*  Njkmlijmpooloomklqrssrrusxxtuw|~{zy}zz{~||EFJMJHJMLONNOa\81+'#$ %".*10:8++3NTTPZ]_]ejnknmolgfblpvsy}okia]bs}r>*7*Nbcbdba_e^_^]\XQKCFEIRRQQWXTVSLKGB=>;5+#"D~tZ0 0l}XV\uybE)5g~~}r`M>-8UPE@;3-,04)2;:::2-!        Bigjliiillkkljimonroqprsuwsruwx~xxyx|{{y||CEHIHGJLMOPMMY0*$%#$,#-.2&&41;6+/CTYZ^[[ahpprmmnrpgdisstwvpnwv{xwukbehtqtd4)-NX[[Zhiie\]QSRJIGFFLMQQSW\XYZWSMKD@??5*"#C}`0 0dycU[k|]B(Poy}qk_QE6,.ILA;2-*+10&4:885.&     5fjkjjlmkkmmlkmnnorrroptsurrrxxzvvtvzzzz}}DDEJIJJLMNQJi]>'*&*"+!&*0).-<:827PT\\Y^gisstmmnomfitxzuqqpdkyxwv{skoqoknoM1('HSOJZbkk`WQOOIFFFEIJHHOQTOTX[UTQKCA==2*$$EV( "Ss^PX_sw|rW=(8^hhptlYPOE7/*(7F?4/++*1/&5;961)          'dhlkjkijkkkokjorlpttpqtvtutsuwxwyy{~{{{|}DCDGIIHJKLUb}q_L&.$*('#)$$&/;>A82=WZWUYgftpmejpmjlptrzzutlZZ`eeglnzv{sqtsmjjc8*('ACFKX_ke[USQJFABCGGDENUPRLLPRPNNF<7::3*%&JyS% @w}]DTWhz}oaJ6$+KX\\UNG=70++('/BD9/,,./+$2763,$         _egjiglillljiionmoprppwvwxtuxrv{uz|z}|{{{DDEFFHGKJMZjr`VL)-(2$- !!&&&/"22;L`ruxvmc_YH7-&%?DEC?70,((')''-6B?5/,+,%".1.+%       Tbfjkkmomkomjmoonorrpuvu{zuvvwxwxvy|{|~|EDFHFHIIKMVOatWGSQ('+/#+#&*(('+50:FE67Q^W\^gilm]fekllpvz~smiqojdfbkpsw|ugc`da?2-)))5OQU[_hhb[LCA==>?ELKFCEFHHHMIKID>@C=5-+%/Yp=   .rqf]H08EWX\ZPB@70)&$<941,*+*)(&(%&+07;6..+)#%!        G^bchkmmonooooomjprqqvwxzuutwvvx{wz{|{{{EDDFFFHIGMS=SmME9BQ*")#'$&*))*-=,293.,!8`c7  =tj[WM2)1?@A;4,+&%')& 690+)'))%"%&$$)133.,()#    :Ycbgjmlnopponefomrtssvxyvxtstwxxyzy}zzz}EFDCEHEGFRW2@_65'-8'!+,#,()60,5Od63BMQLVfsqfdfbcbgga]ehqfljiijhZUQSZ`_biqppq{~g@3)*) 5#2LVYWX[\PFB:999658:>;:<=;<=?@A;9:61.)>ju^8  Lqf\UN:()//,'#"$%%')&"&62($#"#%$#%##).,*)%$!              -Z_cgkmknpmmpl@Kopststxvvvuuvuwtvvy||}zy|DEFDFFHJIQD&.@*( &"!("&,#):*(7aN:9B[ZH[cjjnkfied_W\^fidle\`d_TPQV[RW\hgelpwoYkC)(,&*!-GRTVWPLD=9:565678;6568975886579998632.("Nl{m[=%  Yqf\XN<,"()'# !$%&),*$./+%##$%&$"""&')($!               !T]efimmlnnonW$7npspsvzutsuuyuuvzww{~z{z{CEFDGGGGG:,$*$"+#(! 12#(LTF4CW_UIYcgnhkkhf^X]Z^\[_WUZXXRLQVSRYVZ\dddsvlYoV1+)-'! (CWWTPJBA99798;:<@=;81*).721,-51336734-'3Un|wrnT7 ,hup]TH2,'('%#$%()-+$(/+'$%%%$#""'()($!         OY^dejlmlmng1,fkonqv{vswtqxxvyywwy|{z||BDCBEEIHH7$!/"#'&#5% 1BJ@ER\XQVXYfgfcbga\[XXTYWTTRY^RLNT\Y`VZW]Z\gbZTzl_6)%(** 8KZYQKGGAEE@=A>=CB>80'+011+*+/*+..20-.1("DdmyF   Ddgh]SA+*#!)('&%%(**)&!-,(%#"#"!!'))&"!           GY^ccgmmonmI %^lmmrs{xxyvrxvw{z{x{}xCBBCDBGIGC%% %&(0-!'/::;12-0.)'&&$$'')(**,.(9Ufjq6  NXVSSO9**$%$&%%&&&&% %)(&%#""%&#         87952,,/*'$"!## #$$#$&%*Cclnnv  GSNKMF.)'" """##""!%&&$"!               0R]cgjjmmo?Iklqqruxvtqsrxtzxwzy}~CCDFDGI@8/(#.67)06AD;HIZcNaWX__daZZ]UKMVUOURLEEGLPNMQTVUWT\VPF]WG;2)%%) &6?CDGHEBA@<83//2/+./($ !! !""!!(Uhmos{5 0'$!(/'A6/12>;:EJWSS]\ZZ`d_\YSMQWSQSHBD>DPMIKPOJDIRPOKL_NE6.&$%' #")& 39?DDB>;963/))'&*($  ""!2bmnpss<     &9<<7$              PX`ell\n24gjossrrrqstuyyzz|yACBAC90LF2('#0%2@5+24;4;;INOV]]Y^c^Y_]ZYWTSRF@D?EQLFIOJCBILMHIOWGC4*%$(( /:%")6;-#0CECC>403/+'"!!!!!"# Gjmppnsx4)  $++%               IZ_fmnqS)`ipstrpqsttvzzzy||BCB@@'"USDIPW_dZ^ZSYXX^YYVRNNCBJMLILMLGDDCEFDTUH?4'"$)) &B6&%'25.%:CA>;3--'#" !""(bmpnox]"-,         "            #   >Y^cjnn+"YilstssqtutvwwzzCDAA>$=Y9$%!#5*#)%,;3(B7,.5249BCJIR_j_]ZSXSZVVXVUUSGDHORPIMNFEBDCDBTYL<1&!#(& 6>4'#"(,+ 0DB;640+% ! ""!!Nkptv|yf8/(        "           8    .Y]ahqBNjmqsstrtytuwwvw~BCBA<-ZK'#)&  !  "&&2A35616=#.=-)+.117CGHIPcaW[X\X\[[]XYVXQJJRZTIKQEEAA@ACTYPA2(%#&$ *5/%!)&!CB=50/($!!#%$"!.hxz}wX!                        Ucbkb"Cnkrsnopuwtvuxy{|~BCCC; QI()*,!!('*,+(//CI?@:360!/0&&*./7EAHCERWSPS_[\\^_^XXWLKLOSXTLNLHCAAAAGXWC3('#%" #0-&)- %5?821,&""$%#"]{vrK                           K_fr67kmouqqpuwtvtuxy{~}}AACB::U'*-, !"%*346^jR,fmqsutsvtsxwuutz~}~BACC6!B$ -.&"#"! % !1=<@DVFAK=31)*' *''#*3BlJMJQKPLOV_eb\[[WMIRROPRMKKSOIEFBB;FLD9.'" 3)'981!"#%! !                        _>Tjnrtuuuttyxwv|x|}AAAA?$!275!+'"/"( !)=3(93BH0.(+)$0-,/:4EVDIHWPXOX_e_^`[TPJJNQRNMLNSNIEA<@<:4==25=<(%%)$'01(+53MVGPKSTSW]][]`\VNLJPMLRNMSRPIE@=>8:EKA2( ,@8- $#,#!                           #Smqswuwtstuyzy{|~A??>@5 *+?,/#%+'.0')5 2,4.(+.,43;8.191&&'&(0,.485OIJIRT[U[dgfgXTJDGOLLROWWNIIDE=:66AHB1% *83,$#0" $$&$                        9kprvxvutvsvz|{~~@@???=(0/<-,!&!/&2-,%.3$0)11'.0-1/5/(.;,'#%!*2++0>;HMIR[bXXeoq_XJC@EHIJW[`^QFF@D<644>IC3# ,457*'- #'('*%#                       )dpryxvvuvvxx{{|}=??>@< "'610&#!'+(.)+*$,8'&)/6206)2/4()36%#"" *2,-3=DSKPWkc]ows[SFAAFEKLRU[`ULG>D=6-.6CF8$ -=D52)& "&&##%**+&&!                            "Zprsvxwuvtuwxyz{=<===6"082'('$&"."&)#-8)!0/7:60,100!)5+%"! "17655>LUOTfnfq[N@A>ABIMLQURSLJE@;3/)-?D7) $ALG*33-" & !(-)# ")-,,)&"                   Tmuvxywvvowxz||~<==<<3!+61-,'"'#! $#)''9.$+29>5&-(-*(.6&"!!$5856?DMW_]tvtSG>;7AINPTTMPL@81/'(;F;.  +SWH+R++%'!!*-+)!(-.,0-&                    Kntwyxxwsv}{|~<;<<<5&.5.,/"$)" "!% -+)94'&6?>1&-,6*-5*" $*66746947;;?JSSMROKJA95+,&*573' ">NMfr9" !! !'/2+%*9/&"%.251.(#            Cmswywvrvwwx{~}~~<;<><>("#)000/3(':*0.##"-*(&/*&1A/#--5((*(%/129;@HCHLT[WKC?;8524<=@KJLEIGHC@95.)$%*/)# 0>ACPH" $#%*4:62*%#;2#*7970*%                 Bnsyzzxtwtxuy~}~?>;?>>3 .*356..1(7C,9:'#+,(*3++<7)*2-/('*-48=:466& #%'6AF>8+ 0.#);>67-("                  Fovxy{wtuyww{~}=>====<2'//77=756-C>.?O84 !3*+/0.49+(.*.+' "!07EA7;:95;>>;=7320,/8@GORPLGB?AB?7/,&"!*(!  7<6'*84$(4DHLC>1()"'<;<=<8!!0;9EEBF>76IE9CNV?!#.'+-558,')'')%   !#/>D;66036;=;833134=/&()&#$#$#!"%#!%*3:67678;;742/487:@=>=7>@FGJA<71-*%&%! 8L+)*#4KVKF8"/HTNFBB4!7)"!2FINEKC8F;,%-5)-5<1)%)&!!" #!%#%& #*)-577<8:945--/4766646:;87:<720+(#""" #?,"$#)EXaOK=# $9ING;>2! ?. #4LPOF4,%                  ,gmottutvvwvwy}<<<<=<=?:74!'(*02:BWn]_bFILDI>9E3-%21*/84."($#"!"!#&!&($%((/5585:712+**.120.04881153/-))(('"  %.7730?==<86%#-207>@;[dbg`NRZ^FA;7/)%7,-542&#!#"""# "'"$'%'++,24284//()'()--,--/0.-**))&#%%! & )29CD@;326:<<9, ",==:<5#)3!&-APLE2(!            !Yloovyvwxzyyz}~~;;;;<=;<;;<*!(4057@HAfYbn_UXO[J91,-'*1'5;4($! ! #!%'$$%&)*+-/.53-,(*')),+***00-,)&###! 'B4('*6BGFJKKC:788773, ,..64!-!#(,7DB7/'                 Nopsuyvxxxvw|||}~:<;;;;<;;97FYVTQLSTOJF@?=>961& !%/0  - (.1CA3*$                   ?nnvwuswwuux{{}{}~;;:;:;=;=:;;$!#+:<:OUTXZ`boVI7KG8(((("2),5.-'$"! ###"%#""%+-,*(%%')063-++,578737/*&!.)#&?bqm`W]aZTHCDFAC94/ "-/)"',1=6.&                        /#, 4mrsvuuwvvy{|{}y|z|{;998:::<::;:%&%2:=BQTbNYWPaW=654*$'&"$6(-.+&&##! ## #$"##%'%%"%%'120)((,--,./3.+($$")-#%;L]omho~kYPKD?G@<3( +2!"$,-04("              $T:3 )goqrswttyxyxz{yyz{:<889:;;::;:0'36AEHLaWGQWMRZ<7+-&" !.6%*'&%$"$  "!!$"#"!#$  $%')*(((++),0242./(*)*%" /%&7@DOPg|z^L@AJH=1. #,!  #'-+,+$                 % !]lqrvxsqsuzxyz{|z;9:9;;<;;9;99'#1>9PLFMWC?N^EIH5-)*'$"4+(++&("$( !!  " #%$ !! !!$##&())+-03<<;:550-+'% %"*15:@LXXc`qvhMPH@;2""$)))('#         +2*        Uorrvwstvwyxy{|{~989:=>;:;<<;91"1?2FWKTKL;5FW=DE:10+*#$""&!&-*%'!"$!! !!"## ! "'$#)*-2889710-,&$ '(/5;@HHMPYZQIF@=9/"!#&''$#         *AG5'           ! Hmnovwutxww{|||{z89<:<>:89;;:8730+@B>FZXVX[;4DQ:F6623.)%*##$$+-%# #!  "#"#!!$*///130++0.(%!   #)158B6+          -gQ+&(+  1EUSMILUWT:3IM5A9;:=3/0.01,-+("$!   !!!"  &+/.-,+-,+(,*'!  $&*44279440+'  #!&&$       0>@1(           .Fq@4<0 1jprttwyzuvx|}|7897::9:;<;::;;:)%=:UjGHCTQSS40D>7=4AEC?AMGEC?0*&#" !!!" !"$&*,+((*('&&&%#  %'%&)&)+&" "$!#%!>?       1>A1(            "=7$) )isqstxx{xyy}~}7988799899:9::::83&(2<^hQNB_NXO//??8>KLUPVuzo{f;,-&#  !!$')(),+++)%('#  !""!&$! kR       4=;2,            $fspssuyyx{z~}~}788677767879:;;;9827'%3W[OSK^G=<57EBDV[qrtξ`<6( !"&)*+)(),+&$#"   !&'%"H2       1</,,2=HMS[QbmdRMTNGKG5# ##"#$$&#"%$!  %))*%#           .AXjg<        2losuvuxz{zw{{}|646686567669985666::A=@% .4/1.1+&%&)0*&**3CI=6:57870# !"!"    $$$$           +?Qho?            'cnlrwxwzxwxy|{x55458754666797667688BDXE&% (5>50)&$)'!$)4;6,(,')*''#            &;MeoA!      #[qorwxuzxzzx||{~3432665335676666867606JA4$'376*($! ,-+.0-()+)&!  !  "          $9RhpD$       !Qqrrwvtzzz{zyy|~33424435366455536455/)$44"-+*%($$"" #&&'$'%+./(#   &&##%$!            $;RpuI&           Enqrtuvxwzz{y}|323333335344445343443/$5+!%((*(*0/4.+##))"#'(#  $''&$%"                    %;UluN)           9mprwvyywvxwyy~2223332542425323233133.&3.*/#!'+407C=3++.1('# !    &-+'&"   5E               #>1?>73:2:75-$  $-=)                6Pn}]2        5lptxyxzzz|~}}~/01221222/2230100/../..//0/ #&&-$*.(&#+5337=9975-/042(   &lW0      +EO      4Qm~`8      ,fqsvx{~{z~}|~/01102/010/02111/./..-//.///(!(3451>-*"*/*/2=;/2./,(-*%!!)/1.-*452   '^H     -oo7       3Qof="      &cuuuxz|}}}|}0000230/0//.0./0.--/.-.//0/0.",,;$B5.$*+)--756;/48'$  *8:<<=<?6 )1/&! $ *1     )DhqO         0OomA        "Vpswvx{{~|~}}/00.1210//....-..+--.././10//-&" %.20$/(+-,0)8??35+#"#  #069;;;;;=>=?>@90 5EGD?BB'  #&         $>Wivs[=#       -OuvA          Hotvvtwy|}|{|}..0.0--//-.---,,,,,,-,./-./-..//--/'90(3-*/)./0F@821(+*+,+).49:<<;::;<<>>>>;=;2 7GJLJ*          1 ":ObnhV5         *NsvB!      ,M$ >qrvxxzy{{|~~|///-/.-..-.,-,,++-,,,,---,.-/.,01>:$#(#+++*.4,-:D305.///3747898<99::;=<==?>>==><2! "9HH&              + 1FSmcP3        )KoxD"       ;$   5potv{{{}||~|}-./-..,.-,,,,++,*+-+,,-,,---..-/190)"""&)3/)5;A2166442436878797:;;;;;;>?>@>>?@?<3"  6$              35;ND.            )Jq{L%         -lrsuvyx|{}{~~--++,--.-++,,,*-*,,+,0,-,+,...-,/5/..($'+640*,98@355665665578998:9:988;<>6%                       (FjzL%           &dqrtwuyy{x|~~,/*+,,,*+*))+,*+,+-,,-,--,,-/,,/-0...1-.29-00054;621753556656697:987899<=?=AA?A@@C??@=6'                      &BjxH&            #Wqqvtuxvyw},,-+,+*))))*+**+*+,,+++,-+,-.-+-.-...-/0/*)411353031654654445676797678:;==<@?>??>B???BBA;-                             'FoK(           Jnrtwx{wzzwy~-++**++*)*))+**,+,++++++,..---...-...-/01-+012/1323263575555365778778;=;<=;<<=>>psrwwyvzyy{|~++*))(******)+*+,**++*****,,+,./,.--..-/../1130/202233254656646987778;8799:=<;>>>=>@@@BCA@C@)                       #>lZ,              !4msrxyxvv{{{|~**(')'(()**+)))*)*+****,+**,-*,.,-./-/.-.1022401312124434546569889;87889;:::::<<<=??@@ABDACC-               """#%#"!!!"       "Ao\.            ,itvwxzuwx|y}~**(()('()())*)*)))++***,+++,,+,-,,---,.-..///12010012545533465678677778878989:9;<<<>>?@>AABA1          """"$##$##"         ">pe4           $]qrwwvs|z}{~,)(')('')()(******)*+((++*++,+++,++,,+--...//000/001142233344456656787978799;:<<;;;?>><>?@AB4          !!!!"#!!!         #;ni6                Nusuyvvyx}|}+))((((((()(*)(((()*++)+++**,+*-,-,--,,+..-../0/10/00303243342347676777689;;:;<:::=>====@>AA7       !! !!!##             7gl6"          ! Drutywzz|~~((((('))()()())''''(+,++,+))+)),+,+,,,,,-.-./-/0/./00012120133456555897768;:9:;<:<===<:<=???;          !"! !!#           5dg5#         7pvuuwz{{}}z)('&&(()))))()(((())),*)+***)),*,+++,+--,-.-.--./-..100221233235336678668879;99::;;<<;:==>B@;            #"""!!!       2eo7$        ,mxwxvx{})('&&''('')((((((&'))+(*+*))()**+++*+*+,,,-,,,,-////1/012223323352466547899999898;<<:<=<>@=@?          !##$##!!"             /dq9&        %_uvxvwz||(()&&'''(((('(((&''())(*))*(')))***+*+-+,-+--,-,/./././.02012223113435457899976679;;:<=<=>?=>$          "#$##$$$#!           1d{D*      !Jotvwux~}{''''()(()'('&(()(&'(('((((*)**'()*))**++,,,-+,---///..///011123102343544577788678:77;:<==<=>>(      !#%$$#$$#         -_M/      !Rtvtt{z|~('&%(('&''''&''&'&&(&(*(*((())(())())*--+++++,+,-./..../00/3102333133456755984879;889::<;><;<*         !%&$$$%#          -]S.         Erxvy}z}'((&&(&&&'&%%%%%'&&(('&'''''(()())()**,-*+*),+*,,---,./////121122143344544577667678:879<:<;:;.         ##!###"       ,ZW/          zC(           ""$Uyyz}{{~%&&$$%%$$%$%$$%$###$%%%$$$$%&&$&'&&'(*)('''(())***,+,-,-,+--.././/.0124332245546767877779989999!             2gk?&           !""$Hy|z||~$&$%%%&$$$%$#$#$$#$"$$$$$$$%%$$$%%'&''('('(())))**+*+++,+,-.-/.,-///022321303446565877689:78999*                            !##$:vyy||}%$$$%%&%%$$##$$$#"#"##$""%%##$%)'&$%&&''&(())())))('*)*,+,,,,,,../..1010002222344556777779799990                              !#""1t{{||~%&%%%%$'$$%$####""!!$"$###$#$##$%$&%&&'&&&()()()'()*++**+,,,+,,-..1///100212123467677686687998:9                             ""#",j~~}}%&&%'(&&%%#$$&#$###$###"#$$%$$$$%%%&&''(''(()('()(***++,+,-,,,+-.//0////0022323597758778889:;8::'               "E !"##$([{}}}&&%&%'&&$$$%%#######%#$###$$###$#$$%$&%&&'()'(''''(*)+)*+-/,-,,+.//.-.-//0011356887678787898:::80              # """#$%Qy{|{|~}&&&%%&'&%#$$$###$"#$$$#""###$%$%$$$$%$$&&('(''''''()*)***+,+-,+---,//000/21133457778687968:784.             "!!""#Cx{}}}~~%&'%&%%%$&%&$$$#$######$$#$$$%$&$$'%%$%'&'''('(('(()(*)*,,++,,-,,-/4BLQSTSNOE47664264121/-,))&$     #      """"!#:wz}{|~}~%$%$%%%%$$%%%#$$$$$$$$"###$%$#$%$$%$#$$&%'&''&''&(('((((*+***+++--/5LeqzyvkfK&&%$        h6    !!!"#$.o||z}||%$$$%#%&%%%%%%$%$$%$!$#$$#$#$#"%$$%%%%#%%&&''((''(''')()(**+*+),+(''.FVZUTQG2         8            !!"""#+f{~}z~|$$%$$$#$$%%$%$%$$$$$$%##$#$$$$#$$#$$%%%%$%&&&'&%'&&'((()((*))***(!%**)((&        &         !!"$#$&Zy{~{}}$&&&&%$%%%%$#$$%&#%%%%%$$$$$###%%"$%%&'&&%&&%&&&'''*+)()())))*)($           %         ####$$&Nw~~|~{~&&&&&%%$$$$$""#$#$$$$$##"%%%#$##%"$#$&%$$$%$&'&%&%&(('&()()))))#                     !$####$&Cz~}{~''&&''&'&%%$####$$##$$##$#$%%%%$%$$#%%%%%%&''(&'&%&'((((***)()(                            "#$#$$%%:w|~%%$$#%%%%$%%#%%#$###$##$###$%%$$$#$##&$$#%%%%&%&%&&'&''('()(')$                !""#$$$$0o}|~|}&&%%$%%$$&&%$%#$$$$#$##$$#%%%%&%%$%%%&%$%%&'%&'&''&''((')**()(!                         """#$$%%*fx|~~$$#$#$$%#$#$$$$#"%###"##"!""####"#$#$%%#%&%%%%%%&$%&'''%'((''%                      !"!"$$$%'Xv{|$##$%%%&$$$$##$$$#"$$$$"""##$##"#"#$%%$$%&%'%&'&&%%%&&&&&'('(#                 !!"$#&$%&Owzz}}|$$##$$$$$$%$#"$%##"##$$%%#$### !"!"#$$#%$%&'%&&%&&&%&'%&&'''(!                    !!""$$%%%%Dx}{}~%%"$#%$#$%%$$$$$##$#"##$$#$"$##$#$$"#$$$%%%&&'&&'('&''''')(('                      "#&%%%%&''9t||~~$$$$#%$$%#$$$$$$%#$$###$$#$$"###$$###$$$%%#%%)%&''((''(('())&                       $#$%%&&'''3m{|||%%$#$%&$#$##%$$####$#$##$#"####$$##"#&%$%%%$%'&'')''()(*)***&                        #$$%$%%'&';t|||}&%$#$$$$$%%#$###""##$$#$"###"##$$"$#$$$$%$#&%&%&''(('))'))-*%                      !$$$$''&''*Wxz}}&%$#$$$$$$##$"##""#$#"#"""###%',1$""$#$%%%&&&'&%%%')'(''())*#$!                  "%%$%''''(7oz{}%&%#$$&$%#$##"#"""!"##"! !"#(1>AJ0$#$"$$%&'%('%&'&''(&'&')() %*                #$%$$%'''*Qyz|''&#%$%#%#"##$""#"!""!!"!!#*4=QZY60.(!#$&&%''&''''(&&&&&()( &01&!                  $$#$&&&&&4jxy{|}~&'&%&&&$$$#%#""!#""""!!!#%24;BPZ5<@;3#$$&&%&%&&(((''('(&(*& '0)"!!! ! %$                $$$%%$&&)Nyzy}}{z~&''&%&&$#%&%$"""###!!" "&-87AE>15CI=3&##%%%%&&%&%'')'''&')%*(                    ##%&'%%%3l{z{}}{|z''%&%&&%$%%&$###$#""!!"'.3?D?=107@C6*%&%$%%&&&'%&&('((('($*)+(%$#"$%%#!                   #$%%'&%(Mv{wy{zz{|%&&%%&&%$%%%$##$#"!"!!(052>H6./2:;7,'$%$$$$%%%&$(((('()(($"5!!251+,+)*+*&$!                "$$%%&%&3ixz{|~{|}z%&'%%&&%&%$$%#%#""$""(16:785(.89960))%&$$%$%%%''&&((((()#&:&!-.((*+)''''%           !$&%&$&)Krvzwz~{}}&&%&&&%&&&%%%##%####'/79BC5+.;9+#$$$%&%%&&&'&&'')') #G@#'####'#!! #"!"!#&#$"            ')*(&&1k{yz{xx}~}~%$&$&&%%$$%$$####&,23864*$/8@D?5+0027-!#%$$%%$%%%%&(''+B(\U)&%()(0&"" ""!!#"$'$#"!2!          ,,)*(%'Cvzx|xyx{|}~%%$$%%%%&$$$#%"$%+137;9.'(5<@B<0+23+,+"!%%%%%&%$%%&))'3?/hoJB>BB9;'! """$$" !#"   (1-%         0+'('&._txv|yyz~}}~~&&&&'%%%%&$$$%#(+277?<4)+)4?;81(/54*),!''(&%'&&&&&)'%* !6˓RJMOT]Y.!"$'(###!$$!!!     'fm*"    (/*'&'(Es|~y~|{|~|~$$%%%'%%$%$$##&--3:@?8,&.).5<3&&152))$:CA?<-(''&&(*&%!"AѪY^PGJOh8" "###"%(&$#$   )5B_z.-+(!       !,.*'%&._yyyyz~}~{||}%$$%&&%%$&##"#--.48?90'+63143*$+362-*+FE@>@>*;+"EҖilF4APnI85*% "!!  !#$""%&('&#!      %0/+.-&%%#     #(/-*'')Crz||yy}}}}z~$$#$%%%$%%$#$88105890'(.8<96+ ()63/+$! ?̘lS?Rf|hcaN?/&$%%$%%&$$%"!##%#$%%%%&$"           #$$'$#&   !'+$  #',1,*((/]y}z||xz|z|{{||&&&&%&%&$$$$,H@77:;6+&+0=?>90'(,3894+!'1/,-,' !!Eѳ}hUNPILF?=;9;>7;4269971002-,(%#"!!  !%(**&&(&#  !      ,82.!    .+.0/.*)0[x}z}|}{zx}~|%&&&''%%$###*59>>>7*'),353-$!*-153,$ #+H "Aνzzpb]\TJKNJFIKNNLGIHCHF<40,*'"!"""""$+../**))&""       #    .0.00/.))@mwzzz~}~'&('&&%%$%##(3=A=7.$)(-233)#++.,+'## $O& '/$}rquompkmjmlgga[UH<9;60)*%%$#%$#  $&)),.25/+(+'!#"$              -320000-+3^wwyw{~}}{}x}'&&&%&%%$$$#$,9;8.'%**-23+$().*"! Wyd54<>JWv@R2&=zʻztobYTPHC=70/)+,,'$$!!(.653225773-1)"&"%(             )34200//,0Oqx|zz}|zyz|%'(%%%%&&%$##'-41('+,,-00(-,+/'  мe_:eV&9x»qkc`\RIA?7<>91,.'$,9QMKGFB?A=683) "+&+1           $221100//->ivvz~~~|||&'(&%&$&&&$#$''((,110351'%/31-)=\d[bR&X[sn(wSYo1(6l~}m_VRKMOKHA<+!"):Ojjkhje][OHOH2'" "-620:           2342321-.1Vvwwx{zz~{}|~~'''&'$$%%&$#!+.46454/#*,34/%,20" "')#":=""&4WýpjbfigbZM/('5FYpw}~~~zqommbG5.)'$ $)3"??AG!           33331100.-=myzzxzw}}||~}||~~}&&&$&%&'&&$$ %+056423,)-32,&!,45& "?)%-C~ʿ»xe@7:Raq}}yvZGA71.',/;&QUW\(!              /86441100/2Wwyyzvzy{||z}}}~{{%&&'%&%&%%"!&*24322/*!*10,*$(-+.'""(<^}{pfbodXjz{qaYRHC;+=AK+kvx~6%                 +;<:5432000>jxyyv{}y~~||}}|}~|}~%$&&&%#&%$#!!),0521-$%(-.,*!+/%!!  !$3QesnlcWUWGA>89)(*##&/1>G[p|xrtpqM32ru(0t5             /*/113(   (;95432211/?jxwz{zz~}~{~~}{{x{{|{$$&$$%%&%&%""#&&*10' &(',+% ).)    !*97-1231./""! %'2;GS`jľƳ~v~Z@B4C͖_.          002221+  #19863231224Tuy{yzxw||zz~|z~~}##$#$$#$$$$! "%%%'!&)))-,%())%'#    )-&(-)*&**  #*-4EIMQcox˳]EJLi֏V           /22302-   !&-6675522222?my{{yyzxx||z~}~zy||~##$$#$$$###! #&*+)*,*$+.-''!  "&$&($&#'$" !!'+--268?RZbt{³ϽtQPόܧ2          .:(  /011.  %)*+07764433105Uvy}}}}|||y{}|||||}|}#$#$##$$####""$'%(/,)+-*#"++,+%'  "'()(#'"%(.-,*$  #%)/56:74.+%! #-/!!!"#&8>99:<;=@DEKamfǯpi`/      %                ,-,+,475578867435Sxyzzzwx||{y|}|~{{~{z}""""$##$#"#$  (%(&%%"!!#! $! $  !#'++-1048:BJUYcmqy}rmbSFDG;/+*'&$1<747931145-468JKHDJHWdaA15//*!    1$!                    -00--185668855522?ixyzx~{ww||zz|}{~~z{$#"###"#$###!#)#)))%+)%& "%!! "$%(+18=?FMZat{iVLFCMREAB=5533422/6C@=8?>=9QXXQ>2($%4B%     .C3%       )331,/579778654224Stz|yw~{{xz|}|}|}}~"""!""""##"# ""%#()# #! &"!  !""#%,28FS\p·zpb[YOHNNDFKGF@BJB6ELKD2.%&'^y#      ttX;,,         #444//576555753222;hzyy{}|}}zyy||~||||y{|#!"!"#""""#"  &(# $*&"     &-027ERds~zxtsd[^qbLXRRM;85:AQ^      vTVC%     58:801787666654313Nty||}|{zz}}zz|{}}|||~!!"!!"!""!!!! %$" !(&    #+59?NbwÿlonmcXedemJ    S٬pz`1     @OQ817;8766554333=byy{zyz{{z}y{~|}}z~"""!#"!!!!"# ##"#% %(!   !"'/;FUcwÿaE;B2     hĶ|S    ^rW64;;9677664245Qqx{{{{y}{{~|}}~"!"""#!"#"! !!('%"$##'#&&' #  !$).2:?HWiv­@! + Lqa>    szD49?<785543424>buw{{x|}|{|}}~}~}~}~#!# ""!!!!"!!!"#=(0/$)$ *00-'%&!(     ")-17;>@CMSak~.        .z`86<<:876/63416Rrxz|yzyy{~~|}~""!!!!"! ! !!$#$$$"87,%$#! *) !/   !!#$')-5<<;97765536Sqz{zz{zy||}||~|~|~||||~|~~ !"!"" "!!! !$!&)## &#28   (L  %1)       .ixD6;?<<:9663344?evyy{yz{|{{|~|{}z}}||{|}|!!"!""!" $(! #%! !"%/<)     ;p  &%    M{]74;===;:773358Ruz{{~z{~~|{~}|{}~}|}~~}!#""!"#!!! ! !'% !$  !)9*       #&   !(   *ew?28@==>9;86356Ch|}~}}~|~}{}~~~~|}}~~~#"" "!" !  "&#""#$)$ !7'           ! ">sY24:==<;;:7666:Rx}{}}~!" !! $%  !# +8B9(+(             "#$#&$'''&$ #0\o@48=<;:::96668Bg~!!! "%!! !!! %( %-'")! %       ;    2   !#%&%'&&%''&''''& (,AmX88=AAEH>=;:96:Sw ! !!  "%*      #(    SW$     $%&&'%''&&''&%&''&&$&% #*-0XmA69=AA>><;99;8Dj! !!"! !!!  !  #(      "",__    $%'%%'&&&&''&&%&'&&&&%&& $*/1@>;;;;:;:Dk! !!!" !    +            !'&%&&&%&%%%$%$&%%%&%%&%%&   !'*)/5:`R459;=@<<=<:999Uy ! !                    %%&&&%%&&%%%%%$$%&&$$%%$%&" &*(,66@c>379;<=<:;;987Dj}!                $$%&%%%%%'&&%$&%$$%%%$$%$%%" &((*.41>K469:;<;<9;8779Sx! !!!                     "&%&%%%%%%%%&&$%%%%%#%%$&$%%# )'((.40.45288:<<:;;8787Ab}!! "!!!  !             &&$$$%%%%$%%%%%$$%$&&$%&%#%%# &)''(/31//137978<:79877:Np!!                    $%%$#$$%$%$$$%$$$$$%$$&$%%$%$# $'''(-21000038878;977678Acw} ! !              "&%$&$$$%$##$#$%$$#$#%$$%%%$#$% !'%''*002601167788976679;Ss|~   !      #$ %$$$$$"$$%%$$#!$$$%##$$$#$$%$%$ %'%''-1.5;.0479968967887Ba|}  !             "'" %$%$$$$"#$$%%$######$$$##$#%%$$# &&%&&*//-.1-3467767997779Op~~ !          &+)$! "%%%%$$####$$#$"###"#$$%#"$#$####  #&$$&)+0/,-/14578867:8979Ad{{~~          $*12,! $$&$##"#"##"""$"##"#""$#$$""##""#  !$##%&)-41*.1255768678897:Or~~   "    "*3!!#! %$#$$###$$$$###########"$######"""! %###%)+.Ys{yyx{yzz{}|} $#!      ')      !"!!""!"#!!"!!""!!"#!""!!""""""!!"!!#!!!"!!  ##%&%&&')**,-.1324316Lguuvwwz}uvv|yy|{                 !! !!""#"#""!"" !!!"!"!!"!#"#"""!"!"!""$"!#!  !"$%&&%&&)*+...133514?^puux{xx{rvx|z}{~~  !"          "! !!      ""!!!!"#"!"!" " !#"!!!!!"!!"!"!"#"""""!#"#!#""#!#   #$$###&()*+-./013316Igsuyxzxyzyxyz}z}} ""       "!    """##"!###!! "!#! !"! ! ""! "!""!"" "#!!""""!""!"  !!"$##$#%'))+,,.01235@Wpquuvwxzwwwxxy{{{~} !          !!     !!"!""!"# "! !!"""!!!"! !!!"" !!!""#""!!!"!!"""""$"   ##%#$#&&(())*,.0135;Odssuuvvxyyzwu|zzwz~~~               !  ! "!!"!#!#"!!#!"!""""!!!" !!"! !!!"""""!!!""!!  "######&&''')+--0237Faovwwx|xwyytuw||z{{~~                !  !!!! ! !!!!!""""!#""""!""""!"  " ! !#!"!"""#! !!"   "!"###$&&'((((,.015@Uipwwwvxxyyuxzz{{||{}~                    ! !!! !!!" " #!!!""! !!!! !"" " ! !!!!""""    ! "" """"!! !!  "$!"#$%&&'()+**-/19Naqtwvuuvzzxwx{{uyv{|~               "!""#!"!!"!"!"!!!!!"! "!"!!!" !!   !!!! !!!!!"! !!  """"!"$&%&('+*,-07F\mttvssuwyyvsww{zyzwx|  !                         ! !  !! !"!! "!!"""""!"!!"! ! !"! "!!! " !! "!!  !" """"!!#"" !!!!   !"$$#"%%&&''()*,.4@Tfqsqrtustxzyvywxyv|~||~|  !                      !! !! ! ! !""""#"!!#!"!!"! ! !! !  !!  ! !"!"!! "! !!   !!"!"$%%%&'&')**0=Mclqquwusuvyywwy|y|yyz|}   !     ! ! !""!!!""!!!"! ! !   !!    "!"#$#%&''()*3IYirvsutvtvtwvxuvyxyy{xxz}{          !      ! !!!"""!! "#""#"#!" !! !  !!!!!!! !! !!"!  """##$$%%&)())*9Ueortusrssusutvuuxxwwyxzyz|           "!  ! !!"!"!!! !"#""!!"!!!   !! ! !!!    !!!"##$$%&&&'&(6Zknsruuqsttqttuttxzwyv~~}}~        !  !  !!!! !!""!!"##!!!   !!    ! !#""$%%&&&&&&3Umprtrvqrwtuvrssvxx|xwz~}}}}~                   !!! !"!!!! ! !!"! "!!" "!!!!"""!""" !  !! "!!!""! ! ""#" ! !###%$%&((''(,Iostrttqsutqqtutuxyxxxxy|z}  09            !!! !!!"!! ! "!!!!!!! " !!   ! ! ! !!  ##& ! !##$&&'&''''*?jsststsxvwsruttwzwvywxzyz{~  7Y9            !  !  !  ! ! !!! !"!!!! !!  !! !   !!! !! !!! #"'" !!"""$&'''''''+6dustsuswuvrwxwux{z{xvxy{}}~~  $tZ                 !! !  !! !!! !!!"  ! !!  ! ! ! !   #%& !""#$#%$&%%&%''(1Wrtrvrtvuwstuurwzzzwyvy}~~~}  T{~`              ! !!! !!!  ! !! !"#!!!! ! !!! !!  !! !!!!"!"" "!! !! !  "$&! "###$%&&&&$$$%(-Lqtvwsrvxywwxvvwxtyvvxyz{|~  72'"!0Tba_>                !  ! ! !!! ! ! ! "! !"!"!!"!!!"" !!" !!  !!!!"!"!!!"" !! ! ! ! #$$ !"##$%%%%%&&$%%(,Bosuswtwvtvxwtyxsx}{wwyy}~}}| fuml||tgD             !   ! !!"! "!!!!   "!!!!!!""!!! !  "#! ""##$#$$$$%%$$%)8fswxyvuuvvwvwwxsuy{wy{z{z}~  MS#               !  !  !!  !! !"!!"!!  !!  ! ! !!! "!!!!"!!!!!   " !!$##$%$%$"%$$%'3^qsxvtrvwwvwvuuxvxwwzzz~z| J^1      !  !     ! !!!   !!"""$"$%%%$#"##$$&2Zpsutrvvuuvwtwvvvxz{|||}y{|~ _qP6,+48,                    ! ! "  !   !  !!! !"!!!!!!" !!""$###%%$%$###$$%&0Uuwuwvvuussturrtuywuyz{{z{}~~ w}m[QNF?*                   ! !! ! ! ! !! !! !   !  !! "!!!!" !!   "!!###$$&%%$$#$%%$&,Kpwxzxvwtsuwwsvuvxwvwzzz|~| }rfQ/                     !  !        ! !!"!!!   !!##"##"%%""##$%%%&*Iosyzwvxtsqrwwvxux}yyzz{{~}|~} w|tU2                    !    ! !  !!! !! !   ! !!"!"#$$$#"##$$$%%*Dlswzwwutsuqtqvuvvzxzx}}~{~ atjH/          !!        ! ! !!""!#$#$"!""#"#%%%(?mtxyyxrwwuuursystuvyxwxz{z}|~~ ]i^WYE-             ! !!    ! !!!! !  ! !!!""####%%"#"$###&%%(9mvxyupnurruttuvuuvwwvuvwx{~ YZ4,'$)'          !!  ! !!!  !!   !!##%##$##"""##$#%$%)9jyzuvrqwtsvtvwvvyttwvvywz{ )J=!"+*(#                    !  !!!  #  !!!""#%$#$###"!#"##%$%)7hwxzxvrpvurssuxxyvtwwvx|{}~{|~~             " !    !!! ! ! !!    !! !""%#$$$#""""""$%%%(6iwxxuwwrsvrwstzzxywvyxy|||}|~~              !    ! ! !!   ! !!!!""""$#%####!##"#%%%&*6fx{wxzxusuuuusuwxxvvzyz|z{|}~          !     ! ! """"#!""""""""#$&&%(5hwx{}zz|utrsrsrtvvy||{wxy||~                ! !"##""!"!!"!"!"#$%&$(6g|}{}zxxuttutssxuv|~~xy{z}|~~          !    !##   !  !   !"!!#$#$#""""!!"""#$%%%)5k{}||vuxvutuwuxvwyw{yxzz{~}~~~          !      ""!!"""##""""!!!!" !#%%&%'4iy~}|zvwxtvuvuvvyzx{|yxyz}}z{~~}     !     !   !  !%(!!""!""#""""!!!!!!"$%$$#'6hvz}{|xzxwvsvwywvxz||wyzz}}~}}}      ! ! ! !#-/"!"$"#"##!""! !"!!!#%$$%(9kz}x|{wxyyuxwx|vx}zz{z~~~}          ! !! %63#!"#$#"""!!#!"!#!""$%%%$(9m{}}zzxxxxwuz||yzxz{|{y{}!   !  &>3$##!##"!!!!" !""""##$&$%(9lyz}|wuywxtzz{y{wxx{}|~~ !  !!  (A1##""#!# !!"!""!" !"#$%$%):oyz|||zwvwuruxy|xxz}zxx~     &<-!!!" !!"#"!""!!!"""#%%$$)>rz}z{{wvyyqpuwzxzw{zww}}~||     %7*!""#"!!"!!!" !"""!#$&%%$)Bpz|{|xxwx{wtwvwwuwzxx|~|z|     !$2&!!!!! "!!!!""""!"#%%&&*Eozy|zzvxwuuwvuxvxuxyyz}}   !!    #*&!!!"#! !!!"!!!"""!##$&&&,Iqy{{z}yyxtvsvwxyzxy{zxy|}  ! !!  # !!'%"""#"!! !! !!!" !"#%%&%'-Nt}zyx|}ywvvtswx{wx|{wy|}~~     ! !! ! #+" !"$$""!"!"!!!!""""""###%&&'(.Ru{{y{||yywyyywy{z{||y|{}~      '1# "!!!!!!!"!!!"!!!!!"!#$%&%')4[v~}y{yzyzxyzz{x{yy|~|{|   ! !!  (6% !!!""#"""!""!"#"!"!"#"#$!#%%&(6cx{z{|zyxxyxzy}}x{{z}}yz~   %!(5%  !##!"! !!!"!!!!#"$$$%&(*8gv}{{||{vwyyyzw|zy{yz{}|    !   ! $,%!%4&! ! !""""#!!""!""!"!""###%&&(+@kuy~}}~~wwxyyzy}|}~{{~~"     !  (8*"'6(! !!"!!##!!"""!!!!"""""#%%&'*.Iouy|}z}zzzvwwz|}x~{{}{}    ! !/@/#%6*! !#"""""!!#""!!"!!"#"#$%&''.Qty}~}}xwxxv|~~y}}yv{|       !2F2%#4, ! ""#"#$"!#"""#"#"""###$$&''*2Zpx{|}zz|xwz|}|x{{|z}   !   !5G7$%2, !!#!!"""!#"""#""!"$#$#$&''+9erxxy{}{|xyyyw|{|}~}}}}||| !7K9%!0-  !!" !"!!!!"#""""""##$%&&+Ajqtx{~}zyzsqts{~~z}z}}y{{|~     ";J?'%40!!"!"!!!!!!!!""!"""#"####&&'-Lmstwzyxvuyy}~~{|||}~     ";I?))92" !!!! !!!""""""!"#$$$$%&(1Xssuvy|y~~{zwyz~{~ !#AMB02@4" !! !! !!"#""!!###$%&$(+;atyzxzz|}zzxvxx}~|}~~~~  #BLF:=C0 ! !!! ! ""#""#""""#%$$'(-Gktwvw{}~}|{xwwy~~~|}z %EQKDF?)! " "!!!!$#"#"$%%''*2Vrxxwx}|{{{wyxz|{~~~}}~ %EPMLJ:%!! !! !!! !""#"""!#$$''+=cntvvx}}}}~zyx{|}}z}~z}&HPMMK5" ! !!!!!!!!!!!""#%%&(/Klouuwz}~}}xyvuxz}|~~|~}~)HQNMH1!! ! "!!!"!"""!!""#$$&+8Znsuuwxyy~|zyyxzz|||~~}}|)IPLNJ/!! !!"!!!"!"""""#$'(0Igpvrvwx{~~{|ywwv{w|~~{}*JPONI/!  ! !!!!""""""#%$%+>Zmqustx~zzy~{ytttvy}{}}z}~{{~-NQMLH-  ! !!!!""""#$%$%)8Qjosrqqvwy}}~zyzsvty{}}~}~}|~ 0LOJJD+ !#!!  ! !"! "#$%'2L_kmoosutvyzzyxyyvwvzy|}~~}{{~~}~  2MKLJB* "#,'!!!!!"""!""#&&+C\cjmquutsy}}vzy{svwyz{y|}{}{y{}  !5NPMJB)  #*8-"! !! """""%%)8Tdjmqppsttyyxwzywtyvsuwwz|y|}{}}~ 6LNNG@) !)7E3#"!! !""""#$%(2L`hnnpnorqx{xvwyxwtuvuvzz{xz}|{z~}~~Figure5-3.AWIDERANGEOFCONTENTcanbeincorporatedwithintablesusinganobject-orienteddocumentstructure.Thistableincludesfivedifferentkindsofcontent:text,ascannedillustration,asyntheticcomputergenerateddrawing,composedpages,andanothertable.Thetextcaptionsinthecentercolumnarepositionedflushatthetopofeachrowandalternateflushrightandleft.ThepictureofChesterCarlson,theinventorofxerography,wasscannedfromanoriginalphotographandis367scanlinesby474pixelswitheachpixelcontainingan8-bitgreyvalue.TheformatteddocumentistheoutputofothersoftwarethatproducesacompatibleprinterformatusedatXeroxPARC.ThesyntheticgraphicimagewascreatedbyMaureenStonewiththeGriffinillustrator.Boththetableandthesubtablewerecomposedusingthetableformattingprototypedescribedinthischapter.sfc%vpffWsfWv_ff]f&sf*Mv+qff,dsf1v3ff4%ufE#fEfFb g`;#&%##F&%#F 0jFt04f#15 06#37'08#3(9804f#0:#04f#y;5*>5*y@5*06#7}7" >7"y@7"08#;X9U>9Uy@9U74f#0:#F84f#t9(JL%#Fz&CP g@&$& -m02w47?8<'>Are g y"&'1,.4R6 =s@y g  v!$'*,/P3;6>9y< C g  "&`'*5.0<39R<5A g V?d!%4*`-93 7;>Cf gB8;  'O*-0|35z:>D` g, $&)K g;#>TVm$5ANEWFRAMEWORKFORTABULARCOMPOSITION5-11Text AlignmentaWf:aWfC@ CaWF@CC@:QWV:Q\VCC@@:qWV@ CC:a\Fa\F@CC@:a\fC@ Cq\VqWV@ CCQ\VCC@@aXJ;aXJC@ CaX*@CC@aXzaXzD@ DaW@DD@OriginAlignment pointVVJVX.CWCqBh༢lVbC]CW@C](]$)Z]dCr|B Cr}(] Br|C~B|)Z]H(]BxC-Cr )h]dCr} B}Cr}leftrighttopbottom)q^V)qVV@ CC)Q^VCC@@QVVQ^VCC@@qVV@ CC]h]H BrzC~B}]Cr|B @Cr}h]d]$Cr| B}Cr}Z]HBxC-@Cr @a]fa]fC@ Ca]F@CC@)a]F"a]F@CC@)a]fC@ C)a]f/a]fC@ C)a]F@CC@:a]F3a]F@CC@:a]fC@ C9]$:Z]dCr|B Cr}9] BrxC~B}:Z]H9]BxC.Cr :h]dCr~ B}Cr})])h]H Br|C~B|)]Cr|B Cr})h]d)]$Cr} B}Cr})Z]HBxC-Cr {5 g(&w*-<.=93 g" &+-/* 6<& D1 g@^& ./t4"115r1< DA/\ g}  (!-/ 8:"?A -* g !$,k06t9M=D* g@Ve #%*/T2-689=?OD( gs$ gT r!! ),^15*;=  gxQh C"G&6-$2j54BEI g&^b )0 24 =BE{ gUZ^7 #(0f57 AH g  $%(|,/35 7;>C g  !(:+|3e5'6= g 1 )0 49s<@ g/3 "#T ]#6)],/5<>A y g) &*0g359;> G gJ  $ .057/93>A N$TVm$5ANEWFRAMEWORKFORTABULARCOMPOSITION5-12structureimplicit.Forexample,rowsarethedominantstructuralelementfortablesintbl.Thischoiceappearsnaturalsinceallthecolumnentriesofarowcanbeenteredonthesameinputline,andtheUNIXphilosophytreatsstreamsofcharactersastheunifyingdatastructure.Thisrowdominancemakescolumnoperationsmoredifficult.Addinganewrowissimple;oneaddsanewinputlinetothesourcefile.Addinganewcolumnistedious;eachinputlinemusthaveanewcolumnentryinsertedintheappropriateplace,althoughspecialeditorscouldhelphere.Anotherasymmetrybetweenrowsandcolumnsintblconcernshowonespecifiesspannedheadings.Aspannedcolumnheadingmustbespecifiedasasequenceofslayoutcodesforeachcolumnspanned,whereasaspannedrowheadingmaybespecifiedeitherbya^layoutcodeforeachrowspannedorbyaspecialformattingcode\^asthetableentrycontentforeachspannedrowentry.Thetreatmentofrowsandcolumnsininteractivetableformattingshouldbesymmetrictoreducethecognitiveburdenandtoavoiderrors.Ahierarchicalstructuresuggestsitselffromthesubdivisionofrowsandcolumnsintables.Figure5-5illustratesatablewithitsrowandcolumnsubdivisionsandthehierarchicaldatastructurebasedonthecolumns.Acolumnheadingthatspansseveralentriesbecomesasubtreerootforthosecolumns.Multiwaybranchesareforspannedheadings,singlebranchesarefortableentries.Adualhierarchywouldbeexpectedfortherowstructure.Suchadualhierarchicalschemewasunsuccessfullyattemptedinaprevioustableformattingprototype[Beach,CS740project].Theimplementationwascomplexandthedatastructuresweredifficulttocoordinate.Manyofthealgorithmshadtobeduplicatedfortherowandcolumncases.Thecrucialrealizationwasthatnotalltabledesignscanberepresentedashierarchicaltreestructures.Inparticular,thetableinFigure5-5doesnothaveahierarchicalrowstructurebecauseheadingDhastworowparents,CandG.Amoregeneralunderlyingstructureisrequired.Thisisthetopicofthenextsubsection.Whentheyexist,thedualrowandcolumnhierarchiesdoprovidepowerfulinteractiveselectionsofpartsoftables.Thisselectionhierarchynotionissimilartoatextselectionhierarchywhichenablesonetoselectacharacterandextendtheselectionthroughvariouslevelsofstructurefromacharactertoaword,sentence,paragraph,section,andultimatelytheentiredocument.Startingfromaselectedtableentry,onecanextendtheselectiontoincludeallentriesinthecontainingroworcolumnbytraversingeithertheroworcolumnhierarchy.Successiveextensionsoftheselectionwouldincludecontainingrowsorcolumnsuntiltheentiretableisselected.Whileahierarchicaltablerepresentationwassfc%vpffWsfWv_ff]f&sf*Mv+qff,dsf1v3ff4%ufE#fEfFbr^ gJ_$({+F.5 <C-\ g~ \\Jr\\C!'),03B6<AbCsDZ gt*!2%)D,t/`ZZ0~rZ3 4s;J` gP,"(,/P61869@~BJ`J`rH- gk}"p)_/17:A)DE gH_TVm$tETVm$rEf"j&Y) ,0,68;0<C g 5TVm$(ttCCw TVm$rC$ (X.>04;G>CA g#% -1 9?L?d g^b%+d.05+<^ w!Z'+/2 ;^=oA\:+ g " *J+/359, g t,,i %4r),,+W. :=Dk* g@ a\$& /469v AD( g X"(.1p6 >AEZ&f g &( 15 =? $4 g@V[!Y$L(:) 25<" g$L&)^,i.E28Z @ g=":$K'$* Lb#&k)/ 7:b@o g l !$ )-4F;@Bd gk!%&+/1!57>A`2 g@J"&(/35<>? g} !$ ,/4<<C0 g  #(q+J249A 6 gV/$)+: 4 87 B{TVm$5ANEWFRAMEWORKFORTABULARCOMPOSITION5-13;w^5wZC`CG;e^1CjCG Cj5~Z$5~U$@ CC5^Z$CC@@;~^$;~[$@ CC;^^$CC@@;~[$;~X$@ CC;^[$CC@@;~X$;~U$@ CC;^X$CC@@;w^1AwZ1Cj@CGCj;e^CGCꀀCXA~Z$A~U$@ CCA^Z$CC@@;y[8yX}%C#CZ{;c[/CZCZBڀ~CZ8~X$8~U$@ CC8^X$CC@@;y[/>yX/CZ~݀%xCZCZ;c[~CZC"Bڈ~}>~X$>~U$@ CC>^X$CC@@IAς.nFDFormB,9&B/aBdA5,ֻ,CxȺ[A3^B$@^FC@ѫr~B̘DFECutMCur63dADd@@itC,| JDFDFCxƥ/<^^$C?LQB@~H6CzCI0T@6B֖7av/TB":~^$?ƃ4tBKdBp@q `BvCB"CzbB'C(BABf@4ӠCC;@:]Bo~7A B|Ao` CF@ ?CjCFC}kAfBʫAνt5Cz`C5:]B߼cH0BQA~x5*$CZ~%|CZCZECFyBXAľ+`CjC`@`:]zCFE@BNaACj^CFCjcB5BPtAO\=}CZC#Bڌ~}:]]C}k| BwAXCzc5&6BCzg7׾BpNB$BJS:?CFCXCY`A;(]?C(B'齪Bc4xBA;dC? <?vC4t?ƃxQBmBR% PBCQC 5;n]4Cˋ~9|pUBLCȝbB֕⽂A0AApPCkCF@ @CkDk4"vAmRBKAWV6CCCHB#W;]\CT%(B˽xaA̅ACZCZBڄ}CZ,,齤-08A0A,@C_CF@<]yCFCFC A8AոCF Ck"CZCF V`&2A AH}~%C$CZ{<6]CRjC~p(d@AqRxA@BCzCɻ'ATB)07g?wAæBKu`XCCk"IAς.nFDFormB,9&B/aBdA5,ֻ,CxȺ[A3^B$@^FC@ѫr~B̘DFECutMCur63dADd@@itC,| JDFDFCxƥ/6^Z$C?LQB@~H6CzCI,T@6B֖7av/TB"4~Z$?ƃ4tBKdBp@q `BvCB"CzbB'C(BABf@4ӠCC;@4YBo~7A B|Ao` CF@ ?CjCFC}kAfBʫAνt5Cz`C54YB߼cH0BQA~x5*$CZ~%|CZCZECFyBXAľ+`CjC`@`4YzCFE@BNaACj^CFCjcB5BPtAO\=}CZC#Bڌ~}4Y]C}k| BwAXCzc5&6BCzg7׾BpNB$BJS:?CFCXCY`A5(Y?C(B'齪Bc4xBA;dC? <?vC4t?ƃxQBmBR% PBCQC 55nY4Cˋ~9|pUBLCȝbB֕⽂A0AApPCkCF@ @CkDk4"vAmRBKAWV6CCCHB#W5Y\CT%(B˽xaA̅ACZCZBڄ}CZ,,齤-08A0A,@C_CF@6YyCFCFC A8AոCF Ck"CZCF V`&2A AH}~%C$CZ{66YCRjC~p(d@AqRxA@BCzCɻ'ATB)07g?wAæBKu`XCCk"6TYBրCȘZD@~\B@CC @42Nl\@?BQ$6T6DCؿCz6IAς.nFDFormB,9&B/aBdA5,ֻ,CxȺ[A3^B$@^FC@ѫr~B̘DFECutMCur63dADd@@itC,| JDFDFCxƥ/<^[$C?LQB@~H6CzCI,T@6B֖7av/TB":~[$?ƃ4tBKdBp@q `BvCB"CzbB'C(BABf@4ӠCC;@:ZBo~7A B|Ao` CF@ ?CjCFC}kAfBʫAνt5Cz`C5:ZB߼cH0BQA~x5*$CZ~%|CZCZECFyBXAľ+`CjC`@`:ZzCFE@BNaACj^CFCjcB5BPtAO\=}CZC#Bڌ~}:Z]C}k| BwAXCzc5&6BCzg7׾BpNB$BJS:?CFCXCY`A;(Z?C(B'齪Bc4xBA;dC? <?vC4t?ƃxQBmBR% PBCQC 5;nZ4Cˋ~9|pUBLCȝbB֕⽂A0AApPCkCF@ @CkDk4"vAmRBKAWV6CCCHB#W;Z\CT%(B˽xaA̅ACZCZBڄ}CZ,,齤-08A0A,@C_CF@<ZyCFCFC A8AոCF Ck"CZCF V`&2A AH}~%C$CZ{<6ZCRjC~p(d@AqRxA@BCzCɻ'ATB)07g?wAæBKu`XCCk"IAς.nFDFormB,9&B/aBdA5,ֻ,CxȺ[A3^B$@^FC@ѫr~B̘DFECutMCur63dADd@@itC,| JDFDFCxƥ/B^Z$C?PQԠB@~H6CzCI,U6B֖7av/ Ck#@Z,ּ,BOfA{ ?l3ljCCkBCT%TBR,A;|)XCZCZBڂ~CZ@ZlBxA , 6T6HCCz6B֕JCȝBBKȾ;h,CFCkCZCF@Zj)j7b|Bc!BV;VB"@~Z$?ƃ4tBKhBp@1 `BwCB"Cz`B'C(BABf@'4ӠCC<?@YBo~7AB|Ap` CF@ ?CjCFC}kAgBʫAνt5Cz`C5@YB߼cH0BQA~x5*$CZ~%|CZCZECFyBXAľ+_CjC`@`@YzCFE@BNaAʸCj^CFCjcB5BPtAW\=}CZC#Bڌ}}@Y]C}k|$ BwAPCzb5&6BCzg7׾BpBB$BJW:@CFCXCY_AA(Y?C(B'齪Bc4xBA;dC? <?wC4t?ƃxYBmBR! PBCQC 4AnY4Cˋ~9|pMBLCȝbB֕⽂A0A{ApPCkCF CkDk4$vAmRBKAWV6CCCHB#WAY\CT%(B˽xaÁACZCZBڄ}CZ,,齤)08A0A,@C_CFBYyCFCFC A8AոCF Ck"CZ݀CF V`&2A AH}~%C$CZ{B6YCRjC~p(d@AqRxA@BCzCɻ'ASB)07g?wAæBKu`VCCk"BTYBրCȘZD@~\B@CC @42Nl\@?BQ$6T6DCؿCz69nX$De/`>IAς.nFDFormB,9&B/aBdA5,ֻ,CxȺ[A3^B$@^FC@ѫr~B̘DFECutMCur63dADd@@itC,| JDFDFCxƥ/9^X$C?LQB@~H6CzCI,T@6B֖7av/TB"7~X$?ƃ4tBKdBp@q `BvCB"CzbB'C(BABf@4ӠCC;@7WBo~7A B|Ao` CF@ ?CjCFC}kAfBʫAνt5Cz`C57WB߼cH0BQA~x5*$CZ~%|CZCZECFyBXAľ+`CjC`@`7WzCFE@BNaACj^CFCjcB5BPtAO\=}CZC#Bڌ~}7W]C}k| BwAXCzc5&6BCzg7׾BpNB$BJS:?CFCXCY`A8(W?C(B'齪Bc4xBA;dC? <?vC4t?ƃxQBmBR% PBCQC 58nW4Cˋ~9|pUBLCȝbB֕⽂A0AApPCkCF@ @CkDk4"vAmRBKAWV6CCCHB#W8W\CT%(B˽xaA̅ACZCZBڄ}CZ,,齤-08A0A,@C_CF@9WyCFCFC A8AոCF Ck"CZCF V`&2A AH}~%C$CZ{96WCRjC~p(d@AqRxA@BCzCɻ'ATB)07g?wAæBKu`XCCk"9TWBրCȘZD@~\B@CC @42Nl\@?BQ$6T6DCؿCz6IAς.nFDFormB,9&B/aBdA5,ֻ,CxȺ[A3^B$@^FC@ѫr~B̘DFECutMCur63dADd@@itC,| JDFDFCxƥ/<^X$C?LQB@~H6CzCI,T@6B֖7av/TB":~X$?ƃ4tBKdBp@q `BvCB"CzbB'C(BABf@4ӠCC;@:WBo~7A B|Ao` CF@ ?CjCFC}kAfBʫAνt5Cz`C5:WB߼cH0BQA~x5*$CZ~%|CZCZECFyBXAľ+`CjC`@`:WzCFE@BNaACj^CFCjcB5BPtAO\=}CZC#Bڌ~}:W]C}k| BwAXCzc5&6BCzg7׾BpNB$BJS:?CFCXCY`A;(W?C(B'齪Bc4xBA;dC? <?vC4t?ƃxQBmBR% PBCQC 5;nW4Cˋ~9|pUBLCȝbB֕⽂A0AApPCkCF@ @CkDk4"vAmRBKAWV6CCCHB#W;W\CT%(B˽xaA̅ACZCZBڄ}CZ,,齤-08A0A,@C_CF@<WyCFCFC A8AոCF Ck"CZCF V`&2A AH}~%C$CZ{<6WCRjC~p(d@AqRxA@BCzCɻ'ATB)07g?wAæBKu`XCCk"IAς.nFDFormB,9&B/aBdA5,ֻ,CxȺ[A3^B$@^FC@ѫr~B̘DFECutMCur63dADd@@itC,| JDFDFCxƥ/?^X$C?PQԠB@~H6CzCI,U6B֖7av/XsCR]A?Xo EAq)VB CCɹ6TCȞh)iBJD?@xAë Ck&PCFCk#>Y 7aB֖BTXL@~0@CC@CNBmܽWA]@rCz6'?6GB Cz>nY42BmϨMMVȿQ`T6CCCFBTCȘYBրCBàa8LC? C>(Y 7g)B~8Fh 븾H@C`CF C~CRjB@l$ Ck#=X,ּ,BOfA{ ?l3ljCCkBCT%TBR,A;|)XCZCZBڂ~CZ=XlBxA , 6T6HCCz6B֕JCȝBBKȾ;h,CFCkCZCF=Xj)j7b|Bc!BV;VB"=~X$?ƃ4tBKhBp@1 `BwCB"Cz`B'C(BABf@'4ӠCC;=WBo~7AB|Ap` CF@ ?CjCFC}kAgBʫAνt5Cz`C5=WB߼cH0BQA~x5*$CZ~%|CZCZECFyBXAľ+_CjC`@`=WzCFE@BNaAʸCj^CFCjcB5BPtAW\=}CZC#Bڌ}}=W]C}k|$ BwAPCzb5&6BCzg7׾BpBB$BJW:@CFCXCY_A>(W?C(B'齪Bc4xBA;dC? <?wC4t?ƃxYBmBR! PBCQC 4>nW4Cˋ~9|pMBLW>CȝbB֕⽂A0A{ApPCkCF CkDk4$vAmRBKAWV6CCCHB#W>W\CT%(B˽xaÁACZCZBڄ}CZ,,齤)08A0A,@C_CF?WyCFCFC A8AոCF Ck"CZ݀CF V`&2A AH}~%C$CZ{?6WCRjC~p(d@AqRxA@BCzCɻ'ASB)07g?wAæBKu`VCCk"?TWBրCȘZD@~\B@CC @42Nl\@?BQ$6T6DCؿCz66nU$De/`>IAς.nFDFormB,9&B/aBdA5,ֻ,CxȺ[A3^B$@^FC@ѫr~B̘DFECutMCur63dADd@@itC,| JDFDFCxƥ/6^U$C?LQB@~H6CzCI,T@6B֖7av/TB"4~U$?ƃ4tBKdBp@q `BvCB"CzbB'C(BABf@4ӠCC;@4TBo~7A B|Ao` CF@ ?CjCFC}kAfBʫAνt5Cz`C54TB߼cH0BQA~x5*$CZ~%|CZCZECFyBXAľ+`CjC`@`4TzCFE@BNaACj^CFCjcB5BPtAO\=}CZC#Bڌ~}4T]C}k| BwAXCzc5&6BCzg7׾BpNB$BJS:?CFCXCY`A5(T?C(B'齪Bc4xBA;dC? <?vC4t?ƃxQBmBR% PBCQC 55nT4Cˋ~9|pUBLCȝbB֕⽂A0AApPCkCF@ @CkDk4"vAmRBKAWV6CCCHB#W5T\CT%(B˽xaA̅ACZCZBڄ}CZ,,齤-08A0A,@C_CF@6TyCFCFC A8AոCF Ck"CZCF V`&2A AH}~%C$CZ{66TCRjC~p(d@AqRxA@BCzCɻ'ATB)07g?wAæBKu`XCCk"6TTBրCȘZD@~\B@CC @42Nl\@?BQ$6T6DCؿCz69nU$De/`>IAς.nFDFormB,9&B/aBdA5,ֻ,CxȺ[A3^B$@^FC@ѫr~B̘DFECutMCur63dADd@@itC,| JDFDFCxƥ/9^U$C?LQB@~H6CzCI,T@6B֖7av/TB"7~U$?ƃ4tBKdBp@q `BvCB"CzbB'C(BABf@4ӠCC;@7TBo~7A B|Ao` CF@ ?CjCFC}kAfBʫAνt5Cz`C57TB߼cH0BQA~x5*$CZ~%|CZCZECFyBXAľ+`CjC`@`7TzCFE@BNaACj^CFCjcB5BPtAO\=}CZC#Bڌ~}7T]C}k| BwAXCzc5&6BCzg7׾BpNB$BJS:?CFCXCY`A8(T?C(B'齪Bc4xBA;dC? <?vC4t?ƃxQBmBR% PBCQC 58nT4Cˋ~9|pUBLCȝbB֕⽂A0AApPCkCF@ @CkDk4"vAmRBKAWV6CCCHB#W8T\CT%(B˽xaA̅ACZCZBڄ}CZ,,齤-08A0A,@C_CF@9TyCFCFC A8AոCF Ck"CZCF V`&2A AH}~%C$CZ{96TCRjC~p(d@AqRxA@BCzCɻ'ATB)07g?wAæBKu`XCCk"9TTBրCȘZD@~\B@CC @42Nl\@?BQ$6T6DCؿCz6IAς.nFDFormB,9&B/aBdA5,ֻ,CxȺ[A3^B$@^FC@ѫr~B̘DFECutMCur63dADd@@itC,| JDFDFCxƥ/<^U$C?LQB@~H6CzCI,T@6B֖7av/TB":~U$?ƃ4tBKdBp@q `BvCB"CzbB'C(BABf@4ӠCC;@:TBo~7A B|Ao` CF@ ?CjCFC}kAfBʫAνt5Cz`C5:TB߼cH0BQA~x5*$CZ~%|CZCZECFyBXAľ+`CjC`@`:TzCFE@BNaACj^CFCjcB5BPtAO\=}CZC#Bڌ~}:T]C}k| BwAXCzc5&6BCzg7׾BpNB$BJS:?CFCXCY`A;(T?C(B'齪Bc4xBA;dC? <?vC4t?ƃxQBmBR% PBCQC 5;nT4Cˋ~9|pUBLCȝbB֕⽂A0AApPCkCF@ @CkDk4"vAmRBKAWV6CCCHB#W;T\CT%(B˽xaA̅ACZCZBڄ}CZ,,齤-08A0A,@C_CF@<TyCFCFC A8AոCF Ck"CZCF V`&2A AH}~%C$CZ{<6TCRjC~p(d@AqRxA@BCzCɻ'ATB)07g?wAæBKu`XCCk"IAς.nFDFormB,9&B/aBdA5,ֻ,CxȺ[A3^B$@^FC@ѫr~B̘DFECutMCur63dADd@@itC,| JDFDFCxƥ/?^U$C?PQԠB@~H6CzCI,U6B֖7av/UsCR]A?Xo EAq)VB CCɹ6TCȞh)iBJD?@xAë Ck&PCFCk#>V 7aB֖BTXL@~0@CC@CNBmܽWA]@rCz6'?6GB Cz>nV42BmϨMMVȿQ`T6CCCFBTCȘYBրCBàa8LC? C>(V 7g)B~8Fh 븾H@C`CF C~CRjB@l$ Ck#=U,ּ,BOfA{ ?l3ljCCkBCT%TBR,A;|)XCZCZBڂ~CZ=UlBxA , 6T6HCCz6B֕JCȝBBKȾ;h,CFCkCZCF=Uj)j7b|Bc!BV;VB"=~U$?ƃ4tBKhBp@1 `BwCB"Cz`B'C(BABf@'4ӠCC;=TBo~7AB|Ap` CF@ ?CjCFC}kAgBʫAνt5Cz`C5=TB߼cH0BQA~x5*$CZ~%|CZCZECFyBXAľ+_CjC`@`=TzCFE@BNaAʸCj^CFCjcB5BPtAW\=}CZC#Bڌ}}=T]C}k|$ BwAPCzb5&6BCzg7׾BpBB$BJW:@CFCXCY_A>(T?C(B'齪Bc4xBA;dC? <?wC4t?ƃxYBmBR! PBCQC 4>nT4Cˋ~9|pMBLT>CȝbB֕⽂A0A{ApPCkCF CkDk4$vAmRBKAWV6CCCHB#W>T\CT%(B˽xaÁACZCZBڄ}CZ,,齤)08A0A,@C_CF?TyCFCFC A8AոCF Ck"CZ݀CF V`&2A AH}~%C$CZ{?6TCRjC~p(d@AqRxA@BCzCɻ'ASB)07g?wAæBKu`VCCk"?TTBրCȘZD@~\B@CC @42Nl\@?BQ$6T6DCؿCz6BnU$De/`>IAς.nFDFormB,9&B/aBdA5,ֻ,CxȺ[A3^B$@^FC@ѫr~B̘DFECutMCur63dADd@@itC,| JDFDFCxƥ/B^U$C?PQԠB@~H6CzCI,U6B֖7av/ Ck#@U,ּ,BOfA{ ?l3ljCCkBCT%TBR,A;|)XCZCZBڂ~CZ@UlBxA , 6T6HCCz6B֕JCȝBBKȾ;h,CFCkCZCF@Uj)j7b|Bc!BV;VB"@~U$?ƃ4tBKhBp@1 `BwCB"Cz`B'C(BABf@'4ӠCC<?@TBo~7AB|Ap` CF@ ?CjCFC}kAgBʫAνt5Cz`C5@TB߼cH0BQA~x5*$CZ~%|CZCZECFyBXAľ+_CjC`@`@TzCFE@BNaAʸCj^CFCjcB5BPtAW\=}CZC#Bڌ}}@T]C}k|$ BwAPCzb5&6BCzg7׾BpBB$BJW:@CFCXCY_AA(T?C(B'齪Bc4xBA;dC? <?wC4t?ƃxYBmBR! PBCQC 4AnT4Cˋ~9|pMBLCȝbB֕⽂A0A{ApPCkCF CkDk4$vAmRBKAWV6CCCHB#WAT\CT%(B˽xaÁACZCZBڄ}CZ,,齤)08A0A,@C_CFBTyCFCFC A8AոCF Ck"CZ݀CF V`&2A AH}~%C$CZ{B6TCRjC~p(d@AqRxA@BCzCɻ'ASB)07g?wAæBKu`VCCk"BTTBրCȘZD@~\B@CC @42Nl\@?BQ$6T6DCؿCz6ABCDEFGHIJKLH:XxxxI:XxxJ:XxxK:XxxL:XxxxE:XxxF:XxxG:XxxB:XxxxC:XxxxD:XxxxA:XxxxxXxxXxxxFigure5-5.HIERARCHICALTABLEScontainrowsandcolumnsthatsubdivideintootherrowsandcolumnslikeparentandchildrennodesinatree.Thecolumnstructureofthetableontheleftisshowninthegraphontheright.Allthetableentriesarelabelledtoshowthecorrespondence.NotethatthisparticulartabledoesnothavearowhierarchybecauseentryDhastworowparents,CandG.notusedintableformattingprototype,theselectionhierarchyservesasagoodmodelformanipulatingtablesandwasimplementedforthegridrepresentationdescribednext.5.3.3GridStructureAmoregeneralrepresentationoftablearrangementsmustsimultaneouslysatisfyseveralgoals:itmustexistwithinahierarchicaldocumentmodel,itmustembedarbitrarytableentryobjects,anditmustdescribethearrangementandpositioningrelationshipsofthetableentries.Thehierarchicaldocumentmodelcannotbeuseddirectlybecausetablesarenotalwayshierarchical,forexample,theboxheadinFigure5-5isnonhierarchical.Theinsightappliedhereisthatoneneedprovidethedatastructurefortablesexplicitlyinthedocumentmodel.Instead,thetablearrangementcanbedescribedindirectlyintermsofagridcoordinatesystemwithtableentrieshavingassociatedgridcoordinates.Thispermitsatableobjecttoberepresentedbyacollectionofarbitrarytableentryobjectsandthetablearrangementtobespecifiedbythegridlabelling.Theentriesmaybelistedinanyordersincethelabellingwilldeterminethetablelayout.Theproposedgridcoordinateschemeexpressesthetabletopology.Thisinturndeterminesthearrangementoftableentriesbetweenthegridlines,andthusdetermineswhichtableentriesareneighborsandwhichentriessharethesameboundaries.Gridmodulesbetweengridlinesmaybenonuniformlyspacedtopermitbothnarrowandwideentries.Eachtableentryissurroundedbyfourgridlines,oneeachonitsleft,right,topandbottomsides.Arowisboundedbytwohorizontalgridlines,andacolumnbytwoverticalgridlinesinasymmetricfashion.Entriesinthesamerowwillsharethesamepairofsfc%vpffWsfWv_ff]f&sf*Mv+qff,dsf1v3ff4%ufE#fEfFb g`;#'TVm$Rs###########k777777777777777777777777k777777777777777777777777k777777777777777777777777k777777777777777777777777k777777777777777777777777k777777777777777777777777k777777777777777777777777k777777777777777777777777k777777777777777777777777k777777777777777777777777k777777777777777777777777k777777777777777777777777; ]5 Y; ZA Y8W;W>W5 T8FT;#T> TAT(TVm$!tU#V]V]6V]V]!V]#OV]'V])>V]-V].V]2U#,mU#&U#!U#U#U#W#XBXBU#!XB#uXB'X>)BX>,mU#Y#&U#Y#!U#Y#Y6Y6U#!NZ&#IZ&,Y6/Y62U#[#,mU#[#U#[#\\#\&\U#]m#2U#vQ g|QQ Q7vQ"&'*H,2J5,;=ADO gtW $w&'N*-28r: <?AD?FM g6id #-%(-m/46:<^L gg  "1$') +16:d;>{AJ# g  gG;#rD gZ;?V !t )_,82:J?%A)BB gx( 1"&()] 3Y68B&" g3 " %'* 03N6'9 A^ gY!>%),3e6>hAAt gmP %+259AEq; g uN $&+0Z69=.AyD g #%-05:?MB& g  '*.n2 4` >D3 g?"}(,15]7 ?B?q g(\1#5'*-38:z=?}? g B!$&4,'.17:>@ g^0 "%)-.0b47;?-YTVm$5ANEWFRAMEWORKFORTABULARCOMPOSITION5-14horizontalgridlines,similarlyforentriesinthesamecolumn.Aspannedcolumnheadingwillcrossseveralgridlinesandisboundedbytheleftgridlineoftheleftmostspannedentryandbytherightgridlineoftherightmostspannedentry.Anarbitrarilycomplexarrangementoftableentriescanbespecifiedbylistingthefourgridlinesforeachtableentry.Figure5-6containsatablewiththegridcoordinatesystemoverlaidaslightgreylines.SecondRowFirstRowxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxThinVeryWideThinVeryWideUnequalWidthEqualWidthSpannedoverFourColumnsFigure5-6.TABLEWITHGRIDCOORDINATESYSTEMinwhichthegridlinesareoverlaidinlightgrey.Sometableentriesarecontainedwithinasinglegridmodulewhileothersspanacrossseveralgridmodules.Thetwoblacktypographicrules,onehorizontalbelowthecolumnheadingsandoneverticalaftertherowstub,runalongthegridboundaries.Typographicrulesanddecorationscanbesuperimposedonthegridboundaries.Inthiscase,thegridboundaryhasanonzerowidthequaltothethickestrulethatrunsalongthatgridline.Notethatbothhorizontalandverticalrulesaretreatedsymmetrically.Thetablelayoutgeometry,thatis,theactualpositionofeachgridboundaryandeachtableentry,iscomputedfromboththetabletopologyandthedimensionsofthetableentrycontents.Amathematicallinearinequalityconstraintsolverpermitsgeneralalignmentrelationshipstobeexpressed,suchastheequalcolumnwidthsshowninFigure5-6.Theindependentvariablesintheinequalityconstraintsarethepositionsofthegridlinesandthealignmentpointsoftableentries.Anincrementalconstraintsolverthatcanacceptneworchangedconstraintspermitsinteractivemodificationofthetablearrangement.5.3.4GraphicArtsReferencestoGridSystemsSimilargridshavebeenusedinthegraphicartssincegridsystemswerefirstdevelopedbydesignersinSwitzerlandshortlyafterWorldWarII.Theprinciplebehindagridsystemisanobjectiveattitudetothepresentationofthesubjectmaterialandtotheuniformityinthelayoutofallpages.Gridsinstituteadisciplinedapproachtodesignandlayout,limitingthenumberofchoicestoprovideregularityandorderinpotentiallychaoticsituations.sfc%vpffWsfWv_ff]f&sf*Mv+qff,dsf1v3ff4%ufE#fEfFbr^ g 6"%^*,/3:<\ gZ%`(,/18:=@DBZ gxQ2"}%(!*.2m57:AXb g 8" ,h.y27:=ED&V/ gP)?!%)/ 4`78=?C+S g@  7&(,j0 gR;#Q0iNR0iK0iG0iD0iA0iAi%(Ai-Ai6Ai?4AiCpAiC i5EiWC @IC 7YC 1%C %E@IE7YE1%E%%KB#G/#I,?I,7#;+I,0I,%)Lo7>RLo)c.3O)048%KB#v? g|???/?@ 'ev?,.F2047[:<BC> gG\$()-05o9=/@^<$ gq# *.60 7V;6=Bf:8 g)"%$(c*- g8;#r6 U] )],k. 9?;>4r g >-"%},/1H7)u g   "U)+ 5: 'C g $,A 57:8 B"E% g@$&&*+}/]2 0$3L7o:@D gQ (.T257a; =AZ` gc; C'?-N/R2+ ;=@r. g #)%-(- /1o7;B g #&_+14;=B gt )!# +1p TVm$5ANEWFRAMEWORKFORTABULARCOMPOSITION5-15``Thefewerthedifferencesinthesizeoftheillustrations,thequietertheimpressioncreatedbythedesign.''[Muller-Brockman,GridSystems,p11]SeveralgraphicdesignershavewrittenaboutgridsystemsinbooksincludingMuller-Brockman'sGridSystemsinGraphicDesign[Muller-Brockman,GridSystems],Hurlburt'sTheGrid[Hurlburt,TheGrid],andWilliamson'sMethodsofBookDesign[Williamson,BookDesign].Somecomputercompositionsystemshaveincorporatedgridsystems.OneearlyexamplewasTilbrook'sNEWSWHOLE[Tilbrook],aprototypesystemforinteractivenewspaperpagelayout.Hurlburt[Hurlburt,TheGrid]describesthemodulardesignandsenseofproportioninducedbyagriddesign.Severalproportions,suchastheGoldenRatio,square,and)2rectangle,arecommonlyusedasthebasisforgriddesigns.Letterformdesignisalsooftenconstructedtoconformtoagriddesign[Goines,ConstructedAlphabet].Unliketheorthodoxgridformedbyuniformlyspacedhorizontalandverticallinestoproducesquaremodules,thetypographicgridismorecasualwithlinesintroducedtospecifymarginsonthepage,columnmeasures,andalignmentguides.Commongridlinesaretheheadline,thefirstlineoftextonapage,thefirstlineofachaptertitle,thefirstlineoftextwithinachapter,thelasttextlineonapage,andthefootline.Figure5-7showsthegriddesignforthepagesofthisthesis.$/0/0$$/$/0/C@ C$/@CC@0/0@ CC0/CC@@0$@CC@0C@ C$$/CC@@$@ CC!121D@D@!1D@D`212D@D@2v1D@D`2!D@D`2D@D@!v!v1D@D`!D@D@!/2/C@ C!/@CC@!2C@ C!@CC@$/*/*$$/$/*/C@ C$/@CC@*&/*&@ CC*/CC@@*$@CC@*C@ C$$/CC@@$@ CC0/+/+00/0/+/@CC@0/C@ C+&/+&@ CC+/CC@@+0C@ C+@CC@00/CC@@0@ CC$1$@ CC$1CC@@010@ CC01CC@@$+0+C@ C$+@CC@Heading MarginChapter OpeningFooting MarginOutside MarginInside Margin00@ CC0CC@@**@ CC*CC@@Two Column Gutter$$@ CC$CC@@Figure5-7.GRIDDESIGNforthepagesofthisthesisillustratesthetraditionaluseofgridboundarylinestodeterminemargins,columnmeasures,gutterwidths,alignmentpoints,etc.Thegridcombinesbothasinglecolumnformat(thelargegreyrectangle)fortextpagesandadoublecolumnformat(thetwodarkgreyrectangles)forglossaryandindexpages.sfc%vpffWsfWv_ff]f&sf*Mv+qff,dsf1v3ff4%ufE#fEfFbr^7& $'*1-/3 <?E\  (#t)j\\)5E8><rYf"&,(04G:G*ArFWWU[ g wmU[U[tU[w "$r(U[U[)",d w6(U[U[7<>CtS) g irS)S)4"*4 39=q P g%*(^ t09PP1\P:l r@^PPAfN gH #,)06$t=!NN=CL grLAW0 %)=-/ 7>=@BJ_ ge !%'*f0e5O;z>BJ_rJ_@$H- g "$'+.918=lAFE g %}'(,^t1EE17 >rDEEB0 "(a*2v7 ?@ g2#*- 6:/;@.> g! V[#*%,/l39AC<] gO!%(+.58;?.A?DF:* gCU#'h*A-026@;_<C7 ggY!Y$2+S03~8Z;3>C5 g@ g3;#TVm$xs##########x####x#######3/ 3+3 1 % ##+ #BTVm$Qv g|cvO $&X), 375 @d gXK#"'.=2J6=9AD g3/Ts"E&)-0 6p8;z?DAC g9"G!K (F*x/2d6 g ;# &/TVm$5ANEWFRAMEWORKFORTABULARCOMPOSITION5-16TheinteractivenewspaperpaginationsystemNEWSWHOLE[Tilbrook]isanexampleoftheapplicationofgridsystemsforlayoutandformatting.Thegridlinesinthatsystemwereactive;theycouldbestretchedandmovedacrossthepageattheuser'scommand.Therewasasimpleconstraintsatisfactiontoensurethattherewerealwaysanintegralnumberofgridsacrossthesectionofthepageandthatthegridswereequalwidth.TheNEWSWHOLEprototypehadonlylimitedtextcompositioncapabilities,anditdidnotattemptaWYSIWYGpresentationoftheentirepage(mainlyduetodisplayresolution,whichwillalwaysbeaproblem).ThesameideacanbeusedheretodointeractivetabularcompositionandisdiscussedinChapter6.5.3.5StyleAttributesforTablesThedocumentstylemechanismmustalsobeextendedtoincorporateadditionaltableformattingattributesandtoapplythoseattributestotableentries.Theadditionaltabularstyleattributesincludevariousalignmentspecifications(decimalorcharacteralignment,toporbottombaselinealignment,centeredtoporbottombaselinealignment),variousruleparameters(rulethicknessandcolor),andvariousbearoffdistances(thewhitespacebetweentableentriesandthegridlines).Applyingstyleattributestotableentriesisharderthanfortextorillustrationsbecausetheattributesmaycomefromseveralnonhierarchicalsources.Figure5-8illustratessomeofthepossibleinteractionsamongstyleattributesappliedtopartsofatable.Thewholetablemayhaveageneralformattingstyle.Rowsorcolumnsmayhaveparticularstylerulesfortheentrieswithinthoserowsorcolumns.Eachtableentrymayhaveadditionallocalformattingattributesappliedthatoverridetheotherspecifications.Becausetableshavebotharowandacolumnstructurethatinturnhasnestedsubrowsandsubcolumns,theremaybeseveralroworcolumnstylerulesapplicableforagiventableentry.Thenestedcontainmentofatableentrywithinarowand/oracolumncandetermineanappropriatesearchpathforapplyingstylerules.Therenderingalgorithmfirstappliesthestyleattributesspecifiedinthestylerulefortheentiretable.Itthenappliesattributesforeachcontainingroworcolumnthatsuccessivelycontainsthetableentry,downtotheattributesforthegiventableentry.Whenstylerulesdonotspecifyvaluesforallthepossiblestyleattributes,valuesareinheritedfrompreviousstylerulesalongthesearchpath.Stylerulesmaybespecifiedforbotharowandacolumncontainingthegiventableentry,inwhichcaseitisnecessarytodisambiguatetheroworcolumnpreference.ThesolutiontakenhereistoprovideaBooleansfc%vpffWsfWv_ff]f&sf*Mv+qff,dsf1v3ff4%ufE#fEfFbr^ $#P +ot0^^1^; r^ACH\ g  ^"o%+.36 @CmZ gGK $L',.59'>CqXb gU?"b'1*e+1 8 A'C,V/ gD%+-169?1ABDS g"q(!t+SS,rS5=?@Q g M  '*,l/_2R8at9QQ;'rO g c#Q)],.4H 8 g}.$*15 =cC6R gM3L "$(.-/64}8D:>71 g LuN %)8-17-. g:e "')%+2M ;&@, g !#+(I+048D<2=* g a &*<.* 59q=y@)C(P g#'+0 37 ?W& g  !%+.s2#"#'?*+18<>A g@ $(,.4b79?C g DZ &5). 8C:T;? g:5#(&5.0X 91>CB N g-{&.z17z:S>&  gHM&c"$).04I9 A+C g x#6 ,6259>QBD g d<!',/36L9?>C g #l(p+;2D6Y=@R g!%)k+25P92:=A)B g xQ$&+p.02D9; E g $W*/&246<>  TVm$5ANEWFRAMEWORKFORTABULARCOMPOSITION5-17RowvaluevaluevaluevaluevalueRowvaluevaluevaluevaluevalueRowvaluevaluevaluevaluevalueColColColColHeadColHeadColHeadStubHeadSpanningColumnHeadFigure5-8.STYLEATTRIBUTESforatableentryaredeterminedbyseveralstylerulesspecifiedfortheentiretable,arow,acolumnoranindividualtableentry.ThistablestylerulespecifiesaHelveticatypefamily.Onerowhasastyleattributeforboldface.Thespannedcolumnhasastyleattributeforitalicface.OneofthethreetableentriesintheintersectionoftheboldrowanditaliccolumnhasaTimesRomantypefamilyattribute,whichoverridestheglobalspecification.Thestyleattributesforaparticularentryaredeterminedbyaccumulatingallthestyleattributesaccordingtoanaturalsearchorder:table,roworcolumn(accordingtoapreferencechoice),thentableentry.selectorasapropertyofthetabletochoosebetweenrow-before-columnorcolumn-before-rowpreferences.Alignmentrelationshipsbetweentableentriesarecontrolledbythealignmentpointsofthetableentryobjects.Theserelationshipsaregeneralizationsofthemarkandlineupalignmentspecificationsforequationsineqn.Formattingstyleattributesdeterminethealignmentpointbasedonthetypographictreatmentofthetableentry.Centeredalignmentplacesthealignmentpointinthemiddleoftheobjectboxbydividingthesumoftheappropriatepairofdimensionsbytwo.Flushleft,right,toporbottomalignmentplacesthealignmentpointattheappropriateedgeofthebox.Aligningonacharacterwithinthetableentrysetsthealignmentpointtobetheorigin(whichmaybechosenfromoneofseveralalignmentoptions)ofthatparticularcharacter.Figure5-9illustratestwocolumnsofcharacter-alignedtableentries,thefirstalignedondecimalpoints(includingtheimplieddecimalpointattheendofanumericalstring),andthesecondalignedonamultiplicationsign.1023.5.6250forceXdistanceaccelerationXtimespeedXtimeFigure5-9.ALIGNMENTONACHARACTERwithinatableentrymaybebasedonspecificcharacterswithinlinesoftext,suchasdecimalpoints(actualorimplied)inthefirstcolumn,andmultiplicationsignsinthesecondcolumn.sfc%vpffWsfWv_ff]f&sf*Mv+qff,dsf1v3ff4%ufE#fEfFb g`;#S%#T9T9"/TVm$_uTC)TC-TC20TVm$uT99>zS# 77S# 2S#-zS#(_S# !S# S# U%#@TVm$zS# 77S# 2S#-zS#(_S# !S# S# W%#Z TVm$@uXX"dTVm$uX)X-X2lTVm$uX9>zS# 77S# 2S#-zS#(_S# !S# S# Yl%#|TVm$uZ!$C!S# TVm$u[,/PTVm$uZ7:]>zS# !]#77S# !]#(_S# !]#[S# _5%#]'.4!S# _5%#>zS# vQ g|QQQ vQ"#Q&*@, 35}:=H@F=O gp "r$b *-2`58<(>DlM g 7"#'&,.158=BE)K g;m!#g%)M,1.25/ <>O@CI gV -#&+ 04:=G g /C !l#$ +.0 79 B;D6F g  #(,/2x4<9 ?AD g  *D gA;#r> ggk!t%',3A< g 9 !(,1n48 <>i7y g$"&^,1 ;]5G g~{5G5Gr5G!~%5G5G&+r5G,4M >cA3 g~k33r33 0  'P/ 19>BE0 g u!%+<2`:>. gtxQ"$',/2_8;?@AQ,} g @ #]%).16e9X;v*K g#'), 59v;>`( g,#5&*%.p14p<%@}BD% g5C"&()\+m08?A# g  !M$$ +.5P7aD6! g$g2 &+ 36t<BO gQ*m~%-(p+I068:b  g g;# #tM!n #g$/ #x# # # #yj+j/Nyj1! #b' b/Nyb1! #+/Ny1!'Y# #6#v g|lv&S*t+/257`;*=$ g  +eB"r$6)?-V138:<?E g -! g {;#TVm$5ANEWFRAMEWORKFORTABULARCOMPOSITION5-18Thepositioningofodd-sizedtableentriesrequiresadditionalinformation,especiallyfortextentriesthatarefoldedintomultiplelinesorforentrieswithvaryingheightslikemathematicalexpressions.ThetoprowinFigure5-10,whichhasbeenhorizontallyalignedonthecenterofeachtableentry,demonstratesthedisjointedresultwhenbaselinesoffoldedentriesdonotalignacrossthecolumn.Simplehorizontalalignmentattributessuchasflushtop,flushbottom,orcenterdonottakeintoconsiderationtheinternalstructureofatableentry.Additionalalignmentchoicesareneededtoalignonthebaselineswithinatexttableentry,suchasalignonthetoporbottombaseline.Textentrieswithanevennumberofbaselineshavetwomiddlebaselinesforcentering,thusrequiringtwochoicestocenteroneitherthetop-middleorbottom-middlebaseline.ThebottomrowofFigure5-10demonstratestherangeofalignmentchoicesavailableforaligningbaselineswithintableentries.HorizontallyCentered,IgnoreBaselineBaselineatTopBottomBaselineCenterBaselineatTopofManyCenteronBottomBaselineofManyHorizontallyCentered,IgnoreBaselineBaselineBaselineBaselineBaselineBaselineBaselineBaselineBaselineBaselineBaselineBaselineBaselineBaselineBaselineFigure5-10.HORIZONTALALIGNMENTOFFOLDEDTABLEENTRIESmaynotproduceaestheticresultswhentheentryhasseverallinesoftext.Alloftheentriesinthetoprowarehorizontallyalignedwithoutregardtotheirinternalstructureandthebaselinesdonotalign;alloftheentriesinthebottomrowhavebeencenteredonabaselineindicatedbythetextoftheentry.Establishingthealignmentpointonbaselineswithinatableentryimpliesthatthedocumentobjectmustunderstandallthesealignmentchoices.Thesimpleralignmentattributes,suchasflushtoporbottom,couldbecomputedfromtherepresentationofanobjectanditsfouroffsets(exceptfordecimalorcharacteralignment).Sometableentryobjectshavelittlesimilaritytotextobjects,yetthealignmentattributesmustapplytoallobjectsinauniformway.Thetechniqueusedintheprototypeistoextendtherepresentationofatablesfc%vpffWsfWv_ff]f&sf*Mv+qff,dsf1v3ff4%ufE#fEfFbr^ %+)B.4 < \ g  "}%H*t-4p8P:n=BrZ gK0 %T / 2u5h8:@Xb gD7@ !Y'$),k1b3t7H;_V/ g c< %d)028=b?BS gC ({00 7|;Q=UAyQ g 7#*&*% 4H7!=;DF/O g}  %+|.F46 :<?eMf g.E"$(+U..1"3@8@bK4 gt!#*.27>I g "').1/58 A9F g "|(:+-26 @CmD gx,"%{+27; gBj;#%+#t/ -`+S)\s,\,\ |,\ |,!c,\!c," ,\" ,",\",#2,\c#2,#,\c#,#,\#,$,\$,%e,\%,\,,* ".)k(!,\(,\)),\)),*,\*,*,\*,+:,\+:,+,\c+,,C,\c,C,,,\,,-m,\-m,.,\.,\,,.2J0,\1R,\1,\1,2,\2,3c,\3c,3,\3,4,\c4,4,\c4,5S,\5S,6,\6,6,\7D,\,,*2J3(a13n1*:.9;9{,\9,\:,\:,;k,\;k,<,\<,<,\<,=:,\c=:,=,\c=,>,\>,>,\>,?m,\?,\,,*:c<Ar%#8%#0%#'j%#%#%#3+#= ;`9cS71%#A+#; |s88 |8 |9c!c8!c9c" 8" 9c"8"9c#28c#29c#8c#9c#8#9c$8$9c%e8%89c9c%#A+#<))(!:(:)):)):|*:*:|*:*:|+::+::|+:c+:|,C:c,C:|,:,:|-m:-m:|.:.::|:|8J))'j%#A+#=1;1081R81819c2829c3c83c9c3839c48c49c48c49c5S85S9c6869c687D89c9c7110%#A+#>:<:9{:9:::::|;k:;k:|<:<:|<:<:|=::c=::|=:c=:|>:>:|>:>:|?m:?::|:|8J:6:8%#A+#Ar%#v# g|####$#&#+#0(v#58;@/! gS9!I$&1),"-0/46K8;=@  g#ZY$m*=,/<5 69o=E??@CL g h/#%&,"13669 := g;#r #'*K1F6e7;@, gT>#U +.?2~:2@X gL !%'+.06;z=& g|U  )"|'g*,05;l>DC g~ !f%})/Q3?7 >P@T gZ &+/139w;{<CI gmOS ,')a+e03 >b@sA}TVm$5ANEWFRAMEWORKFORTABULARCOMPOSITION5-19entrytoincludeanoptionallistofbaselineorigins.Shouldthelistbeabsent,thedefaultbaselineischosentopassthroughtheoriginoftheobject.Alignmentattributesthatconcernthemselveswithcontent,suchasdecimalalignment,areleftastheresponsibilityofthetableentryobject.Someobjectsmaychoosetoignoretextalignmentattributes.Forexample,ascannedillustrationobjectcontainsnocharacters,soitcouldsafelyignorethoseattributes.AnotheralignmentattributedealswiththeexcesswhitespaceinthewidecolumnsinFigure5-11.Inthisexample,thetableentriesineachcolumnarealignedondecimalpoints.Thelasttwocolumnsneedfurtherspecification:howshouldtheexcesswhitespaceinducedbytheverylongcolumnheadingbetreated?Thisadditionalspecificationdetermineshowtheverticallyalignedsetofcolumnentriesarepositionedwithinthecolumn.Thechoicesarecentered,flushleft,orflushright.Currently,thetableformattingprototypedoesnotsupportthispositioningspecification,butamorecompleteimplementationisplannedanddescribedinChapter6.Intbl,numericentriesthatarealignedondecimalpointsarecenteredwithinthecolumnaftertheyarealignedondecimalpoints;thereisnocontrolprovidedoverthedistributionoftheexcesswhitespace.54.321654.3254.32154.321654.3254.32154.321654.3254.321ShortHead54.321654.3254.32154.321654.3254.321VeryLongColumnHeadOverNarrowEntriesFigure5-11.SPECIFYINGPOSITIONWITHINACOLUMNaswellasaligningtableentriesmaybenecessarywhenthereisexcesswhitespacetodisperseamongtheroworcolumnentries.Allthenumerictableentriesarealignedondecimalpoints.Thelasttwocolumnshaveexcesswhitespaceduetotheverylongcolumnhead;thefirstsetofalignedcolumnentriesispositionedflushrightwithinthecolumnandthesecondisflushleft.Similarspecificationsarenecessaryforrowsalso.5.3.6TextwithinTableEntriesTextualtableentriesmaybemorecomplexthanjustsimplephrasesornumbers.Someentriesmaybeparagraphswithlonglinesoftextbrokenintopiecesshortenoughtofitwithinthecolumnboundaries.Yetthelayoutalgorithmattemptstodeterminethewidthofthecolumnboundariesfromthewidestlineinthebrokenparagraph.Thustheline-breakingalgorithmdependsonthecolumnwidthandthecolumnwidthdependsonthewidthoflinessfc%vpffWsfWv_ff]f&sf*Mv+qff,dsf1v3ff4%ufE#fEfFbr^ g!Z$ &,w28;w>'@{\ g@3"c$h'.<157:Z g <%r -17;=Xb g PCG )B+S.,2C6<AV/ gsx' /3:;uS g  "} *,.V27<Q g N:$(,/_4V <>AL gP!/$W+R.+2A79=mC`J` g2 $0'0*e04: DH. g !(>*-x1#4:AE g;  (. 04;7 >*CC gxk $),36<?rA g)- '). 6$=Ay?d gu % (+,m07 C=2 gmq%(H~*t=2=2+r-=2=2.5p:>!@: g#k(+c1V578;Ay8 gV  x&-03 <>Ay6 g g4h;#$+1]#t,(O./O$+1]#,(.U/$+1]#,(. /$1X1]#+#$1X1]#+#$1X1]#2$+#$31]#$+1]#,(/.///$+1]#,(5}.4/5}$1X1]#4R+#$1X1]#2%)0,2&59N>\$F+#$31]#D^+#v) g|))Q) )"7)'7)(~v).7/249=2AD' gd &G(-61468s=EBD% g "',/t24:=F# g K$(z*-/16W;)?A ! g5e!#d')_,0 4 =Y?E g g;#s gTPEr "%)\/36<0B gC0!$# ,0K479=8B gQgl$'- 7:.=m g$h'A+-06 ?BCW ; gG (,P/) 90@ gI"d(W-358=t?4TVm$)5ANEWFRAMEWORKFORTABULARCOMPOSITION5-20foldedbytheline-breakingalgorithm.Howdoesoneexitfromthiscirculardependency?Inexistingtableformatters,suchastbl,theonlytechniquefordealingwiththisproblemistorequirethetabledesignertosupplyanexplicitcolumnwidthattribute.Infact,thisisaneasywaytospecifyequal-widthcolumns,sincenomatterwhatthecontentoftheentry,allsuchdesignatedcolumnentriesareforcedtobethespecifiedwidth.Unfortunately,fixingthecolumnwidthoftenresultsinanunaesthetictable.Shortjustifiedlinesinducemorehyphenationandlargerspacesbetweenwords,makingtheentriesmoredifficulttoread.Unjustifiedlinesareeasiertoreadbutextrawhitespaceaccumulatesattheendoflinescreatingtheillusionofunevenlyspacedcolumns.Abetterstrategywouldbefortheformattertoacceptthelinelengthasonlya`hint'forfoldingthetexttoapproximatelythatlength.Theactualboundingboxofthecomposedtextcouldbereturnedbytheobjectlayoutprocedureordeterminedbyascanoftheformattedobject.Withtheboundingbox,afoldedtableentrycanbetreateduniformlyasanyotherentry.Afeatureofthisstrategyisthatacolumnoffoldedentriesisonlyaswideasnecessarywithoutexcesswhitespace.Theproblemofdetermininganaestheticallypleasingcolumnwidthforacolumnofentrieswithwidelyvaryingwidthsorforatablethatexceedsthepagemeasureisaveryhardproblemandisnotsolvedhere.SomedirectionsfordeterminingoptimumcolumnwidthsforfoldedtableentriesandforbalancingwhitespaceareoutlinedinChapter6.5.4ImplementationoftheTabularGridStructureWewillneedtwotablerepresentations,oneforcapturingatableinanexternalrepresentationofadocumentandanotherinternaldatastructureforinteractivemanipulation.ThissectiondescribesbothrepresentationsusedintheprototypetableformatterthathasbeenimplementedintheCedarprogrammingenvironment.5.4.1ExternalRepresentationofaTableinaTiogaDocumentAnexternalstoragerepresentationisnormallyconcernedwithcompactnessandeaseofconversionbetweenexternalandinternalrepresentations.However,becausetheprototypereliesontheTiogadocumentstructure,theexternalsfc%vpffWsfWv_ff]f&sf*Mv+qff,dsf1v3ff4%ufE#fEfFbr^ g )\-e194m7;>\ g Y $X(-~*1YY+Zr-YY.15G<?W g!I#^&7*N0288:@WU[ g !#m%)_,.4V =qS) g2;$' ).04 <BP g2QU"d( 337:@N g6 "',l26< L g /")y.47}<AJ_ gk- "{'")&,/4 @ g-#' +-47 9>> g7V !u"&(+q3 8=.@<] gx"$g)136;)@{BW:+ gxo2$%&6+c02k6#8'<#>'7 gul 4 %'e 07=AD\2 gZkx"(-02484;ADx0 g$0's)',185: B!.[ g "(*/39M<??,) g   &mq$ g 8"* .r!%4!K-0J2:S;?A g x (+18;B g l #B(/3?%CE  gI"%) 358{=e [ g s gT "\$_%*z,p-2rr )4*19= t g;L $*e-3@* A gh!@#&+.2 :0= TVm$^ TIMESROMAN TIMESROMAN TIMESROMAN TIMESROMAN  TIMESROMAN LAUREL HELVETICA  XEROXBOOK TIMESROMAN  HELVETICA HELVETICA HELVETICAGACHAY HELVETICA TIMESROMAN$ HELVETICA OLDENGLISH MATH XEROXBOOK TIMESROMAN TIMESROMAN HIPPOY MATHY TIMESROMAN HELVETICAY TIMESROMANY TIMESROMAN HELVETICA TIMESROMAN TIMESROMANY TIMESROMANY TIMESROMAN TIMESROMAN  ~ ! ,#O n w]~y(  Oq]e p uy  x j/p[]<>Beach>Thesis>Chapter5.TiogaSunday, May 5, 1985 8:42 am PDT