%!PS-Adobe-2.0 EPSF-2.0 %%Title: faces.fig %%Creator: fig2dev Version 3.2 Patchlevel 5-alpha5 %%CreationDate: Sat Aug 13 21:51:34 2005 %%For: swhite@Xi (Steve White,,,) %%BoundingBox: 0 0 251 251 %Magnification: 1.0000 %%EndComments /MyAppDict 100 dict dup begin def /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /col-1 {0 setgray} bind def /col0 {0.000 0.000 0.000 srgb} bind def /col1 {0.000 0.000 1.000 srgb} bind def /col2 {0.000 1.000 0.000 srgb} bind def /col3 {0.000 1.000 1.000 srgb} bind def /col4 {1.000 0.000 0.000 srgb} bind def /col5 {1.000 0.000 1.000 srgb} bind def /col6 {1.000 1.000 0.000 srgb} bind def /col7 {1.000 1.000 1.000 srgb} bind def /col8 {0.000 0.000 0.560 srgb} bind def /col9 {0.000 0.000 0.690 srgb} bind def /col10 {0.000 0.000 0.820 srgb} bind def /col11 {0.530 0.810 1.000 srgb} bind def /col12 {0.000 0.560 0.000 srgb} bind def /col13 {0.000 0.690 0.000 srgb} bind def /col14 {0.000 0.820 0.000 srgb} bind def /col15 {0.000 0.560 0.560 srgb} bind def /col16 {0.000 0.690 0.690 srgb} bind def /col17 {0.000 0.820 0.820 srgb} bind def /col18 {0.560 0.000 0.000 srgb} bind def /col19 {0.690 0.000 0.000 srgb} bind def /col20 {0.820 0.000 0.000 srgb} bind def /col21 {0.560 0.000 0.560 srgb} bind def /col22 {0.690 0.000 0.690 srgb} bind def /col23 {0.820 0.000 0.820 srgb} bind def /col24 {0.500 0.190 0.000 srgb} bind def /col25 {0.630 0.250 0.000 srgb} bind def /col26 {0.750 0.380 0.000 srgb} bind def /col27 {1.000 0.500 0.500 srgb} bind def /col28 {1.000 0.630 0.630 srgb} bind def /col29 {1.000 0.750 0.750 srgb} bind def /col30 {1.000 0.880 0.880 srgb} bind def /col31 {1.000 0.840 0.000 srgb} bind def end save newpath 0 251 moveto 0 0 lineto 251 0 lineto 251 251 lineto closepath clip newpath 0.8 250.2 translate 1 -1 scale % This junk string is used by the show operators /PATsstr 1 string def /PATawidthshow { % cx cy cchar rx ry string % Loop over each character in the string { % cx cy cchar rx ry char % Show the character dup % cx cy cchar rx ry char char PATsstr dup 0 4 -1 roll put % cx cy cchar rx ry char (char) false charpath % cx cy cchar rx ry char /clip load PATdraw % Move past the character (charpath modified the % current point) currentpoint % cx cy cchar rx ry char x y newpath moveto % cx cy cchar rx ry char % Reposition by cx,cy if the character in the string is cchar 3 index eq { % cx cy cchar rx ry 4 index 4 index rmoveto } if % Reposition all characters by rx ry 2 copy rmoveto % cx cy cchar rx ry } forall pop pop pop pop pop % - currentpoint newpath moveto } bind def /PATcg { 7 dict dup begin /lw currentlinewidth def /lc currentlinecap def /lj currentlinejoin def /ml currentmiterlimit def /ds [ currentdash ] def /cc [ currentrgbcolor ] def /cm matrix currentmatrix def end } bind def % PATdraw - calculates the boundaries of the object and % fills it with the current pattern /PATdraw { % proc save exch PATpcalc % proc nw nh px py 5 -1 roll exec % nw nh px py newpath PATfill % - restore } bind def % PATfill - performs the tiling for the shape /PATfill { % nw nh px py PATfill - PATDict /CurrentPattern get dup begin setfont % Set the coordinate system to Pattern Space PatternGState PATsg % Set the color for uncolored pattezns PaintType 2 eq { PATDict /PColor get PATsc } if % Create the string for showing 3 index string % nw nh px py str % Loop for each of the pattern sources 0 1 Multi 1 sub { % nw nh px py str source % Move to the starting location 3 index 3 index % nw nh px py str source px py moveto % nw nh px py str source % For multiple sources, set the appropriate color Multi 1 ne { dup PC exch get PATsc } if % Set the appropriate string for the source 0 1 7 index 1 sub { 2 index exch 2 index put } for pop % Loop over the number of vertical cells 3 index % nw nh px py str nh { % nw nh px py str currentpoint % nw nh px py str cx cy 2 index oldshow % nw nh px py str cx cy YStep add moveto % nw nh px py str } repeat % nw nh px py str } for 5 { pop } repeat end } bind def % PATkshow - kshow with the current pattezn /PATkshow { % proc string exch bind % string proc 1 index 0 get % string proc char % Loop over all but the last character in the string 0 1 4 index length 2 sub { % string proc char idx % Find the n+1th character in the string 3 index exch 1 add get % string proc char char+1 exch 2 copy % strinq proc char+1 char char+1 char % Now show the nth character PATsstr dup 0 4 -1 roll put % string proc chr+1 chr chr+1 (chr) false charpath % string proc char+1 char char+1 /clip load PATdraw % Move past the character (charpath modified the current point) currentpoint newpath moveto % Execute the user proc (should consume char and char+1) mark 3 1 roll % string proc char+1 mark char char+1 4 index exec % string proc char+1 mark... cleartomark % string proc char+1 } for % Now display the last character PATsstr dup 0 4 -1 roll put % string proc (char+1) false charpath % string proc /clip load PATdraw neewath pop pop % - } bind def % PATmp - the makepattern equivalent /PATmp { % patdict patmtx PATmp patinstance exch dup length 7 add % We will add 6 new entries plus 1 FID dict copy % Create a new dictionary begin % Matrix to install when painting the pattern TilingType PATtcalc /PatternGState PATcg def PatternGState /cm 3 -1 roll put % Check for multi pattern sources (Level 1 fast color patterns) currentdict /Multi known not { /Multi 1 def } if % Font dictionary definitions /FontType 3 def % Create a dummy encoding vector /Encoding 256 array def 3 string 0 1 255 { Encoding exch dup 3 index cvs cvn put } for pop /FontMatrix matrix def /FontBBox BBox def /BuildChar { mark 3 1 roll % mark dict char exch begin Multi 1 ne {PaintData exch get}{pop} ifelse % mark [paintdata] PaintType 2 eq Multi 1 ne or { XStep 0 FontBBox aload pop setcachedevice } { XStep 0 setcharwidth } ifelse currentdict % mark [paintdata] dict /PaintProc load % mark [paintdata] dict paintproc end gsave false PATredef exec true PATredef grestore cleartomark % - } bind def currentdict end % newdict /foo exch % /foo newlict definefont % newfont } bind def % PATpcalc - calculates the starting point and width/height % of the tile fill for the shape /PATpcalc { % - PATpcalc nw nh px py PATDict /CurrentPattern get begin gsave % Set up the coordinate system to Pattern Space % and lock down pattern PatternGState /cm get setmatrix BBox aload pop pop pop translate % Determine the bounding box of the shape pathbbox % llx lly urx ury grestore % Determine (nw, nh) the # of cells to paint width and height PatHeight div ceiling % llx lly urx qh 4 1 roll % qh llx lly urx PatWidth div ceiling % qh llx lly qw 4 1 roll % qw qh llx lly PatHeight div floor % qw qh llx ph 4 1 roll % ph qw qh llx PatWidth div floor % ph qw qh pw 4 1 roll % pw ph qw qh 2 index sub cvi abs % pw ph qs qh-ph exch 3 index sub cvi abs exch % pw ph nw=qw-pw nh=qh-ph % Determine the starting point of the pattern fill %(px, py) 4 2 roll % nw nh pw ph PatHeight mul % nw nh pw py exch % nw nh py pw PatWidth mul exch % nw nh px py end } bind def % Save the original routines so that we can use them later on /oldfill /fill load def /oldeofill /eofill load def /oldstroke /stroke load def /oldshow /show load def /oldashow /ashow load def /oldwidthshow /widthshow load def /oldawidthshow /awidthshow load def /oldkshow /kshow load def % These defs are necessary so that subsequent procs don't bind in % the originals /fill { oldfill } bind def /eofill { oldeofill } bind def /stroke { oldstroke } bind def /show { oldshow } bind def /ashow { oldashow } bind def /widthshow { oldwidthshow } bind def /awidthshow { oldawidthshow } bind def /kshow { oldkshow } bind def /PATredef { MyAppDict begin { /fill { /clip load PATdraw newpath } bind def /eofill { /eoclip load PATdraw newpath } bind def /stroke { PATstroke } bind def /show { 0 0 null 0 0 6 -1 roll PATawidthshow } bind def /ashow { 0 0 null 6 3 roll PATawidthshow } bind def /widthshow { 0 0 3 -1 roll PATawidthshow } bind def /awidthshow { PATawidthshow } bind def /kshow { PATkshow } bind def } { /fill { oldfill } bind def /eofill { oldeofill } bind def /stroke { oldstroke } bind def /show { oldshow } bind def /ashow { oldashow } bind def /widthshow { oldwidthshow } bind def /awidthshow { oldawidthshow } bind def /kshow { oldkshow } bind def } ifelse end } bind def false PATredef % Conditionally define setcmykcolor if not available /setcmykcolor where { pop } { /setcmykcolor { 1 sub 4 1 roll 3 { 3 index add neg dup 0 lt { pop 0 } if 3 1 roll } repeat setrgbcolor - pop } bind def } ifelse /PATsc { % colorarray aload length % c1 ... cn length dup 1 eq { pop setgray } { 3 eq { setrgbcolor } { setcmykcolor } ifelse } ifelse } bind def /PATsg { % dict begin lw setlinewidth lc setlinecap lj setlinejoin ml setmiterlimit ds aload pop setdash cc aload pop setrgbcolor cm setmatrix end } bind def /PATDict 3 dict def /PATsp { true PATredef PATDict begin /CurrentPattern exch def % If it's an uncolored pattern, save the color CurrentPattern /PaintType get 2 eq { /PColor exch def } if /CColor [ currentrgbcolor ] def end } bind def % PATstroke - stroke with the current pattern /PATstroke { countdictstack save mark { currentpoint strokepath moveto PATpcalc % proc nw nh px py clip newpath PATfill } stopped { (*** PATstroke Warning: Path is too complex, stroking with gray) = cleartomark restore countdictstack exch sub dup 0 gt { { end } repeat } { pop } ifelse gsave 0.5 setgray oldstroke grestore } { pop restore pop } ifelse newpath } bind def /PATtcalc { % modmtx tilingtype PATtcalc tilematrix % Note: tiling types 2 and 3 are not supported gsave exch concat % tilingtype matrix currentmatrix exch % cmtx tilingtype % Tiling type 1 and 3: constant spacing 2 ne { % Distort the pattern so that it occupies % an integral number of device pixels dup 4 get exch dup 5 get exch % tx ty cmtx XStep 0 dtransform round exch round exch % tx ty cmtx dx.x dx.y XStep div exch XStep div exch % tx ty cmtx a b 0 YStep dtransform round exch round exch % tx ty cmtx a b dy.x dy.y YStep div exch YStep div exch % tx ty cmtx a b c d 7 -3 roll astore % { a b c d tx ty } } if grestore } bind def /PATusp { false PATredef PATDict begin CColor PATsc end } bind def % left45 11 dict begin /PaintType 1 def /PatternType 1 def /TilingType 1 def /BBox [0 0 1 1] def /XStep 1 def /YStep 1 def /PatWidth 1 def /PatHeight 1 def /Multi 2 def /PaintData [ { clippath } bind { 20 20 true [ 20 0 0 -20 0 20 ] {<8020004010002008001004000802000401000200 8001004000802000401080200040100020080010 0400080200040100020080010040008020004010>} imagemask } bind ] def /PaintProc { pop exec fill } def currentdict end /P4 exch def % right45 11 dict begin /PaintType 1 def /PatternType 1 def /TilingType 1 def /BBox [0 0 1 1] def /XStep 1 def /YStep 1 def /PatWidth 1 def /PatHeight 1 def /Multi 2 def /PaintData [ { clippath } bind { 20 20 true [ 20 0 0 -20 0 20 ] {<0040100080200100400200800401000802001004 0020080040100080200000401000802001004002 0080040100080200100400200800401000802000>} imagemask } bind ] def /PaintProc { pop exec fill } def currentdict end /P5 exch def % crosshatch45 11 dict begin /PaintType 1 def /PatternType 1 def /TilingType 1 def /BBox [0 0 1 1] def /XStep 1 def /YStep 1 def /PatWidth 1 def /PatHeight 1 def /Multi 2 def /PaintData [ { clippath } bind { 20 20 true [ 20 0 0 -20 0 20 ] {<8020004050102088201104400a02800401000a02 8011044020882040501080200040501020882011 04400a02800401000a0280110440208820405010>} imagemask } bind ] def /PaintProc { pop exec fill } def currentdict end /P6 exch def /cp {closepath} bind def /ef {eofill} bind def /gr {grestore} bind def /gs {gsave} bind def /sa {save} bind def /rs {restore} bind def /l {lineto} bind def /m {moveto} bind def /rm {rmoveto} bind def /n {newpath} bind def /s {stroke} bind def /sh {show} bind def /slc {setlinecap} bind def /slj {setlinejoin} bind def /slw {setlinewidth} bind def /srgb {setrgbcolor} bind def /rot {rotate} bind def /sc {scale} bind def /sd {setdash} bind def /ff {findfont} bind def /sf {setfont} bind def /scf {scalefont} bind def /sw {stringwidth} bind def /tr {translate} bind def /tnt {dup dup currentrgbcolor 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} bind def /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul srgb} bind def /DrawEllipse { /endangle exch def /startangle exch def /yrad exch def /xrad exch def /y exch def /x exch def /savematrix mtrx currentmatrix def x y tr xrad yrad sc 0 0 1 startangle endangle arc closepath savematrix setmatrix } def /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def $F2psBegin 10 setmiterlimit 0 slj 0 slc 0.06299 0.06299 sc % % Fig objects follow % % % here starts figure with depth 50 % Polyline 0 slj 0 slc 0.000 slw n 90 135 m 1980 135 l 1980 1980 l 90 1980 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P5 [16 0 0 -16 6.00 9.00] PATmp PATsp ef gr PATusp % Polyline n 1980 1980 m 3870 1980 l 3870 3870 l 1980 3870 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P4 [16 0 0 -16 132.00 132.00] PATmp PATsp ef gr PATusp % Polyline n 90 1980 m 1980 1980 l 1980 3870 l 90 3870 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P6 [16 0 0 -16 6.00 132.00] PATmp PATsp ef gr PATusp % Polyline 2 slj 7.500 slw gs clippath 1176 1062 m 1303 910 l 1245 862 l 1119 1014 l 1119 1014 l 1244 923 l 1176 1062 l cp eoclip n 1220 2923 m 1219 2922 l 1217 2920 l 1214 2917 l 1209 2912 l 1201 2904 l 1191 2894 l 1179 2882 l 1164 2867 l 1148 2849 l 1129 2829 l 1109 2807 l 1088 2783 l 1065 2757 l 1042 2729 l 1019 2699 l 995 2669 l 972 2636 l 949 2603 l 927 2568 l 906 2531 l 885 2493 l 866 2453 l 847 2411 l 831 2366 l 815 2319 l 802 2269 l 790 2216 l 781 2161 l 774 2102 l 770 2041 l 770 1978 l 773 1918 l 779 1859 l 787 1802 l 798 1746 l 811 1692 l 825 1641 l 841 1591 l 858 1543 l 877 1498 l 896 1454 l 917 1411 l 938 1370 l 960 1330 l 983 1291 l 1006 1253 l 1029 1216 l 1053 1181 l 1076 1146 l 1099 1114 l 1122 1083 l 1143 1053 l 1164 1026 l 1182 1001 l 1200 979 l 1215 960 l 1228 943 l 1239 929 l 1248 919 l 1255 910 l 1265 898 l gs col0 s gr gr % arrowhead 0 slj n 1176 1062 m 1244 923 l 1119 1014 l 1167 1015 l 1176 1062 l cp gs 0.00 setgray ef gr col0 s /Times-Roman ff 190.50 scf sf 2250 1515 m gs 1 -1 sc (data is stored) col0 sh gr /Times-Roman ff 190.50 scf sf 2250 1305 m gs 1 -1 sc (component where) col0 sh gr % here ends figure; % % here starts figure with depth 10 % Arc 7.500 slw 0 slc gs clippath 2422 600 m 2544 754 l 2603 708 l 2481 553 l 2481 553 l 2545 695 l 2422 600 l cp eoclip n 1986.7 1093.3 688.4 -142.5752 -32.8436 arc gs col0 s gr gr % arrowhead 0 slj n 2422 600 m 2545 695 l 2481 553 l 2470 600 l 2422 600 l cp gs 0.00 setgray ef gr col0 s % here ends figure; % % here starts figure with depth 5 % Polyline 0 slj 0 slc 7.500 slw n 1440 990 m 1665 990 l 1665 765 l 1440 765 l cp gs /PC [[1.00 1.00 1.00] [1.00 1.00 1.00]] def 15.00 15.00 sc P5 [16 0 0 -16 96.00 51.00] PATmp PATsp ef gr PATusp gs col7 s gr % Polyline n 2700 1035 m 2925 1035 l 2925 810 l 2700 810 l cp gs /PC [[1.00 1.00 1.00] [1.00 1.00 1.00]] def 15.00 15.00 sc P5 [16 0 0 -16 180.00 54.00] PATmp PATsp ef gr PATusp gs col7 s gr % Polyline n 1395 3195 m 1620 3195 l 1620 2970 l 1395 2970 l cp gs /PC [[1.00 1.00 1.00] [1.00 1.00 1.00]] def 15.00 15.00 sc P5 [16 0 0 -16 93.00 198.00] PATmp PATsp ef gr PATusp gs col7 s gr % Polyline n 765 1215 m 990 1215 l 990 990 l 765 990 l cp gs /PC [[1.00 1.00 1.00] [1.00 1.00 1.00]] def 15.00 15.00 sc P5 [16 0 0 -16 51.00 66.00] PATmp PATsp ef gr PATusp gs col7 s gr % Polyline n 2340 450 m 2565 450 l 2565 225 l 2340 225 l cp gs /PC [[1.00 1.00 1.00] [1.00 1.00 1.00]] def 15.00 15.00 sc P5 [16 0 0 -16 156.00 15.00] PATmp PATsp ef gr PATusp gs col7 s gr /Times-Italic ff 190.50 scf sf 1485 945 m gs 1 -1 sc (x') col0 sh gr /Times-Italic ff 190.50 scf sf 2745 990 m gs 1 -1 sc (x'') col0 sh gr /Times-Italic ff 190.50 scf sf 1440 3150 m gs 1 -1 sc (x) col0 sh gr /Times-Italic ff 190.50 scf sf 810 1170 m gs 1 -1 sc (A) col0 sh gr /Times-Italic ff 190.50 scf sf 2385 405 m gs 1 -1 sc (B) col0 sh gr % Polyline n 0 1980 m 3960 1980 l gs col-1 s gr % Polyline n 1980 0 m 1980 3960 l gs col0 s gr % here ends figure; % % here starts figure with depth 2 % Ellipse 7.500 slw n 1350 810 45 45 0 360 DrawEllipse gs /PC [[0.00 0.00 0.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P5 [16 0 0 -16 87.00 51.00] PATmp PATsp ef gr PATusp gs col0 s gr % Ellipse 0.000 slw n 2610 810 45 45 0 360 DrawEllipse gs /PC [[0.00 0.00 0.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P5 [16 0 0 -16 171.00 51.00] PATmp PATsp ef gr PATusp % Ellipse n 1305 2970 45 45 0 360 DrawEllipse gs /PC [[0.00 0.00 0.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P5 [16 0 0 -16 84.00 195.00] PATmp PATsp ef gr PATusp % here ends figure; $F2psEnd rs end showpage %%Trailer %EOF