Skip to content
Snippets Groups Projects
internals.ps 626 KiB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000
%!PS-Adobe-2.0
%%Creator: dvipsk 5.58f Copyright 1986, 1994 Radical Eye Software
%%Title: diplarb.dvi
%%Pages: 117
%%PageOrder: Ascend
%%BoundingBox: 0 0 596 842
%%DocumentFonts: Times-Roman Courier Times-Bold Times-Italic
%%DocumentPaperSizes: A4
%%EndComments
%DVIPSCommandLine: dvips diplarb.dvi
%DVIPSParameters: dpi=360, comments removed
%DVIPSSource:  TeX output 1998.11.29:1121
%%BeginProcSet: tex.pro
/TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N
/X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72
mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1}
ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale
isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div
hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul
TR[matrix currentmatrix{dup dup round sub abs 0.00001 lt{round}if}
forall round exch round exch]setmatrix}N /@landscape{/isls true N}B
/@manualfeed{statusdict /manualfeed true put}B /@copies{/#copies X}B
/FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{
/nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N
string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N
end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{
/sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]
N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data dup
length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{
128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub
get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data
dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N
/rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup
/base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx
0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff
setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff
.1 sub]{ch-image}imagemask restore}B /D{/cc X dup type /stringtype ne{]}
if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup
length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{
cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin
0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul
add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore userdict
/eop-hook known{eop-hook}if showpage}N /@start{userdict /start-hook
known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X
/IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for
65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0
0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V
{}B /RV statusdict begin /product where{pop product dup length 7 ge{0 7
getinterval dup(Display)eq exch 0 4 getinterval(NeXT)eq or}{pop false}
ifelse}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale rulex ruley false
RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR rulex ruley scale 1 1
false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave newpath transform
round exch round exch itransform moveto rulex 0 rlineto 0 ruley neg
rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N /tail
{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}B /c{-4 M}
B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B /k{
4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{
p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p
a}B /bos{/SS save N}B /eos{SS restore}B end
%%EndProcSet
%%BeginFont: Times-Roman
% @@psencodingfile@{
%   author = "S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry",
%   version = "0.6",
%   date = "22 June 1996",
%   filename = "8r.enc",
%   email = "kb@@mail.tug.org",
%   address = "135 Center Hill Rd. // Plymouth, MA 02360",
%   codetable = "ISO/ASCII",
%   checksum = "119     662    4424",
%   docstring = "Encoding for TrueType or Type 1 fonts to be used with TeX."
% @}
% 
% Idea is to have all the characters normally included in Type 1 fonts
% available for typesetting. This is effectively the characters in Adobe
% Standard Encoding + ISO Latin 1 + extra characters from Lucida.
% 
% Character code assignments were made as follows:
% 
% (1) the Windows ANSI characters are almost all in their Windows ANSI
% positions, because some Windows users cannot easily reencode the
% fonts, and it makes no difference on other systems. The only Windows
% ANSI characters not available are those that make no sense for
% typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen
% (173). quotesingle and grave are moved just because it's such an
% irritation not having them in TeX positions.
% 
% (2) Remaining characters are assigned arbitrarily to the lower part
% of the range, avoiding 0, 10 and 13 in case we meet dumb software.
% 
% (3) Y&Y Lucida Bright includes some extra text characters; in the
% hopes that other PostScript fonts, perhaps created for public
% consumption, will include them, they are included starting at 0x12.
% 
% (4) Remaining positions left undefined are for use in (hopefully)
% upward-compatible revisions, if someday more characters are generally
% available.
% 
% (5) hyphen appears twice for compatibility with both ASCII and Windows.
% 
/TeXBase1Encoding [
% 0x00 (encoded characters from Adobe Standard not in Windows 3.1)
  /.notdef /dotaccent /fi /fl
  /fraction /hungarumlaut /Lslash /lslash
  /ogonek /ring /.notdef
  /breve /minus /.notdef 
% These are the only two remaining unencoded characters, so may as
% well include them.
  /Zcaron /zcaron 
% 0x10
 /caron /dotlessi 
% (unusual TeX characters available in, e.g., Lucida Bright)
 /dotlessj /ff /ffi /ffl 
 /.notdef /.notdef /.notdef /.notdef
 /.notdef /.notdef /.notdef /.notdef
 % very contentious; it's so painful not having quoteleft and quoteright
 % at 96 and 145 that we move the things normally found there down to here.
 /grave /quotesingle 
% 0x20 (ASCII begins)
 /space /exclam /quotedbl /numbersign
 /dollar /percent /ampersand /quoteright
 /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash
% 0x30
 /zero /one /two /three /four /five /six /seven
 /eight /nine /colon /semicolon /less /equal /greater /question
% 0x40
 /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O
% 0x50
 /P /Q /R /S /T /U /V /W
 /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore
% 0x60
 /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o
% 0x70
 /p /q /r /s /t /u /v /w
 /x /y /z /braceleft /bar /braceright /asciitilde
 /.notdef % rubout; ASCII ends
% 0x80
 /.notdef /.notdef /quotesinglbase /florin
 /quotedblbase /ellipsis /dagger /daggerdbl
 /circumflex /perthousand /Scaron /guilsinglleft
 /OE /.notdef /.notdef /.notdef
% 0x90
 /.notdef /.notdef /.notdef /quotedblleft
 /quotedblright /bullet /endash /emdash
 /tilde /trademark /scaron /guilsinglright
 /oe /.notdef /.notdef /Ydieresis
% 0xA0
 /.notdef % nobreakspace
 /exclamdown /cent /sterling
 /currency /yen /brokenbar /section
 /dieresis /copyright /ordfeminine /guillemotleft
 /logicalnot
 /hyphen % Y&Y (also at 45); Windows' softhyphen
 /registered
 /macron
% 0xD0
 /degree /plusminus /twosuperior /threesuperior
 /acute /mu /paragraph /periodcentered
 /cedilla /onesuperior /ordmasculine /guillemotright
 /onequarter /onehalf /threequarters /questiondown
% 0xC0
 /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
 /Egrave /Eacute /Ecircumflex /Edieresis
 /Igrave /Iacute /Icircumflex /Idieresis
% 0xD0
 /Eth /Ntilde /Ograve /Oacute
 /Ocircumflex /Otilde /Odieresis /multiply
 /Oslash /Ugrave /Uacute /Ucircumflex
 /Udieresis /Yacute /Thorn /germandbls
% 0xE0
 /agrave /aacute /acircumflex /atilde
 /adieresis /aring /ae /ccedilla
 /egrave /eacute /ecircumflex /edieresis
 /igrave /iacute /icircumflex /idieresis
% 0xF0
 /eth /ntilde /ograve /oacute
 /ocircumflex /otilde /odieresis /divide
 /oslash /ugrave /uacute /ucircumflex
 /udieresis /yacute /thorn /ydieresis
] def
%%EndFont
%%BeginProcSet: texps.pro
TeXDict begin /rf{findfont dup length 1 add dict begin{1 index /FID ne 2
index /UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll
exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]/Metrics
exch def dict begin Encoding{exch dup type /integertype ne{pop pop 1 sub
dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get div def}
ifelse}forall Metrics /Metrics currentdict end def[2 index currentdict
end definefont 3 -1 roll makefont /setfont load]cvx def}def
/ObliqueSlant{dup sin S cos div neg}B /SlantFont{4 index mul add}def
/ExtendFont{3 -1 roll mul exch}def /ReEncodeFont{/Encoding exch def}def
end
%%EndProcSet
%%BeginProcSet: special.pro
TeXDict begin /SDict 200 dict N SDict begin /@SpecialDefaults{/hs 612 N
/vs 792 N /ho 0 N /vo 0 N /hsc 1 N /vsc 1 N /ang 0 N /CLIP 0 N /rwiSeen
false N /rhiSeen false N /letter{}N /note{}N /a4{}N /legal{}N}B
/@scaleunit 100 N /@hscale{@scaleunit div /hsc X}B /@vscale{@scaleunit
div /vsc X}B /@hsize{/hs X /CLIP 1 N}B /@vsize{/vs X /CLIP 1 N}B /@clip{
/CLIP 2 N}B /@hoffset{/ho X}B /@voffset{/vo X}B /@angle{/ang X}B /@rwi{
10 div /rwi X /rwiSeen true N}B /@rhi{10 div /rhi X /rhiSeen true N}B
/@llx{/llx X}B /@lly{/lly X}B /@urx{/urx X}B /@ury{/ury X}B /magscale
true def end /@MacSetUp{userdict /md known{userdict /md get type
/dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup
length 20 add dict copy def}if end md begin /letter{}N /note{}N /legal{}
N /od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath
clippath mark{transform{itransform moveto}}{transform{itransform lineto}
}{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{
itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{
closepath}}pathforall newpath counttomark array astore /gc xdf pop ct 39
0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}if}N
/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1
scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get
ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip
not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0
TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{noflips{TR
pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1
-1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg
TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg
sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr
0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add
2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N /cp
{pop pop showpage pm restore}N end}if}if}N /normalscale{Resolution 72
div VResolution 72 div neg scale magscale{DVImag dup scale}if 0 setgray}
N /psfts{S 65781.76 div N}N /startTexFig{/psf$SavedState save N userdict
maxlength dict begin /magscale true def normalscale currentpoint TR
/psf$ury psfts /psf$urx psfts /psf$lly psfts /psf$llx psfts /psf$y psfts
/psf$x psfts currentpoint /psf$cy X /psf$cx X /psf$sx psf$x psf$urx
psf$llx sub div N /psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy
scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR
/showpage{}N /erasepage{}N /copypage{}N /p 3 def @MacSetUp}N /doclip{
psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2
roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath
moveto}N /endTexFig{end psf$SavedState restore}N /@beginspecial{SDict
begin /SpecialSave save N gsave normalscale currentpoint TR
@SpecialDefaults count /ocount X /dcount countdictstack N}N /@setspecial
{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto
closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx
sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR
}{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse
CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury
lineto closepath clip}if /showpage{}N /erasepage{}N /copypage{}N newpath
}N /@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{
end}repeat grestore SpecialSave restore end}N /@defspecial{SDict begin}
N /@fedspecial{end}B /li{lineto}B /rl{rlineto}B /rc{rcurveto}B /np{
/SaveX currentpoint /SaveY X N 1 setlinecap newpath}N /st{stroke SaveX
SaveY moveto}N /fil{fill SaveX SaveY moveto}N /ellipse{/endangle X
/startangle X /yrad X /xrad X /savematrix matrix currentmatrix N TR xrad
yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end
%%EndProcSet
TeXDict begin 39158280 55380996 1000 360 360 (diplarb.dvi)
@start /Fa 1 106 df<0C0E0C00000000305898983030606464683007127D910D>105
D E /Fb 4 96 df<70000000000EF8000000001FF8000000001FF8000000001FF8000000
001FF8000000001FF8000000001FF8000000001FF8000000001FF8000000001FF8000000
001FF8000000001FF8000000001FF8000000001FF8000000001FF8000000001FF8000000
001FF8000000001FF8000000001FF8000000001FF8000000001FF8000000001FF8000000
001FF8000000001FF8000000001FF8000000001FF8000000001FF8000000001FF8000000
001FF8000000001FF8000000001FF8000000001FF8000000001FF8000000001FF8000000
001FF8000000001FF8000000001FF8000000001FF8000000001FF8000000001FF8000000
001FF8000000001FF8000000001FF8000000001FF8000000001FF8000000001FF8000000
001FF8000000001FF8000000001FF8000000001FFC000000003F7C000000003E7C000000
003E7E000000007E3E000000007C3F00000000FC1F00000000F81F80000001F80FC00000
03F00FE0000007F007F000000FE003F800001FC001FE00007F8000FF8001FF00007FF00F
FE00003FFFFFFC00000FFFFFF0000007FFFFE0000000FFFF000000001FF8000030467D7F
37>91 D<00001FF800000000FFFF00000007FFFFE000000FFFFFF000003FFFFFFC00007F
F00FFE0000FF8001FF0001FE00007F8003F800001FC007F000000FE00FE0000007F00FC0
000003F01F80000001F81F00000000F83F00000000FC3E000000007C7E000000007E7C00
0000003E7C000000003EFC000000003FF8000000001FF8000000001FF8000000001FF800
0000001FF8000000001FF8000000001FF8000000001FF8000000001FF8000000001FF800
0000001FF8000000001FF8000000001FF8000000001FF8000000001FF8000000001FF800
0000001FF8000000001FF8000000001FF8000000001FF8000000001FF8000000001FF800
0000001FF8000000001FF8000000001FF8000000001FF8000000001FF8000000001FF800
0000001FF8000000001FF8000000001FF8000000001FF8000000001FF8000000001FF800
0000001FF8000000001FF8000000001FF8000000001FF8000000001FF8000000001FF800
0000001FF8000000001FF8000000001FF8000000001FF8000000001FF8000000001FF800
0000001FF8000000001FF8000000001FF8000000001F70000000000E30467D7F37>I<00
0001C00000000003C00000000007E00000000007E00000000007E0000000000FF0000000
000FF0000000000FF0000000001FF8000000001FF8000000001FF8000000003FFC000000
003E7C000000003E7C000000007E7E000000007C3E000000007C3E00000000FC3F000000
00F81F00000000F81F00000001F81F80000001F00F80000001F00F80000003F00FC00000
03E007C0000003E007C0000007E007E0000007C003E0000007C003E000000FC003F00000
0F8001F000000F8001F000001F8001F800001F0000F800001F0000F800003F0000FC0000
3E00007C00003E00007C00007E00007E00007C00003E00007C00003E0000FC00003F0000
F800001F0000F800001F0001F800001F8001F000000F8001F000000F8003F000000FC003
E0000007C003E0000007C007E0000007E007C0000003E007C0000003E00FC0000003F00F
80000001F00F80000001F01F80000001F81F00000000F81F00000000F83F00000000FC3E
000000007C3E000000007C7E000000007E7C000000003E7C000000003EFC000000003FF8
000000001FF8000000001FF8000000001F70000000000E30467D7F37>94
D<70000000000EF8000000001FF8000000001FF8000000001FFC000000003F7C00000000
3E7C000000003E7E000000007E3E000000007C3E000000007C3F00000000FC1F00000000
F81F00000000F81F80000001F80F80000001F00F80000001F00FC0000003F007C0000003
E007C0000003E007E0000007E003E0000007C003E0000007C003F000000FC001F000000F
8001F000000F8001F800001F8000F800001F0000F800001F0000FC00003F00007C00003E
00007C00003E00007E00007E00003E00007C00003E00007C00003F0000FC00001F0000F8
00001F0000F800001F8001F800000F8001F000000F8001F000000FC003F0000007C003E0
000007C003E0000007E007E0000003E007C0000003E007C0000003F00FC0000001F00F80
000001F00F80000001F81F80000000F81F00000000F81F00000000FC3F000000007C3E00
0000007C3E000000007E7E000000003E7C000000003E7C000000003FFC000000001FF800
0000001FF8000000001FF8000000000FF0000000000FF0000000000FF00000000007E000
00000007E00000000007E00000000003C00000000001C0000030467D7F37>I
E /Fc 1 49 df<060F0F0F1E1E1C3C38383870706060E0C04008127E920B>48
D E /Fd 1 49 df<081C1C3838383070706060C0C0060D7E8D0B>48
D E /Fe 1 50 df<C0000018E0000038F0000078F80000F8DC0001D8CE000398C7000718
C3800E18C1C01C18C0E03818C0707018C038E018C01DC018C00F8018C00F8018C01DC018
C038E018C0707018C0E03818C1C01C18C3800E18C7000718CE000398DC0001D8F80000F8
F0000078E0000038C00000181D1C7D9E24>49 D E /Ff 27 120
df<60F0F06004047C830C>58 D<60F0F07010101020204040040B7C830C>I<0000300000
007000000078000000F8000001F8000001F800000378000003780000067800000E780000
0C780000187C0000183C0000303C0000603C0000603C0000FFFC0000FFFC0001803C0003
003C0003003E0006001E000E001E007F80FFC0FF81FFC01A197E981E>65
D<07FFFE0007FFFF8000F007C000F003C000F001E000F001E001E001C001E003C001E007
8001E00F0003C03E0003FFF80003C01E0003C00F00078007800780078007800780078007
800F000F000F000F000F003E000F007C00FFFFF000FFFFC0001B187E971E>I<000FE040
003FF8C000F81DC001E00780078007800F0003801E0003801C0003003C00030078000300
78000000F0000000F0000000F0000000F0000000F0000000E0000C00E0000C00F0001800
F000180070003000780060003C00C0001F0380000FFF000003F800001A1A7D981D>I<07
FFFE0007FFFF8000F003E000F000F000F0007000F0007801E0007801E0003801E0003801
E0003803C0007803C0007803C0007803C00078078000F0078000F0078001E0078001C00F
0003C00F0007800F000E000F007C00FFFFF000FFFFC0001D187E9721>I<07FFFFE007FF
FFE000F001E000F000C000F000C000F000C001E000C001E030C001E030C001E0700003C0
600003FFE00003FFE00003C0E0000780C1800780C1800780C300078003000F0006000F00
06000F001E000F007C00FFFFFC00FFFFF8001B187E971D>I<03FFC003FF800078000078
0000780000780000F00000F00000F00000F00001E00001E00001E00001E00003C00003C0
0003C00003C0000780000780000780000780007FF000FFF00012187E9712>73
D<07FF8007FF8000F00000F00000F00000F00001E00001E00001E00001E00003C00003C0
0003C00003C00007800C07800C07800C0780180F00180F00380F00700F01F0FFFFE0FFFF
E016187E971B>76 D<07FC0003FC07FC0007FC00FC000FC000DE000FC000DE001BC000DE
0033C0019E003780019E006780019E00C780018F00C780030F018F00030F030F00030F03
0F00030F060F00060F0C1E0006078C1E000607981E000607B01E000C07B03C000C07E03C
000C07C03C001C03C03C00FF8383FF80FF8303FF8026187E9726>I<07F801FF07FC01FF
00FC003800FE003000DE003000CF0030018F006001878060018780600183C0600303E0C0
0301E0C00301F0C00300F0C00600F9800600798006007D8006003D800C003F000C001F00
0C000F001C000F00FF800600FF80060020187E9720>I<07FFFC0007FFFF0000F0078000
F003C000F001C000F001C001E003C001E003C001E003C001E0078003C00F0003C01E0003
FFF80003C00000078000000780000007800000078000000F0000000F0000000F0000000F
000000FFE00000FFE000001A187E9719>80 D<07FFF80007FFFE0000F00F0000F0078000
F0038000F003C001E0078001E0078001E0070001E00E0003C0380003FFE00003C0700003
C0380007803C0007803C0007803C0007803C000F0078000F0078000F0078600F007860FF
E078C0FFE0388000000F001B197E971E>82 D<001F84007FCC01E0FC0380380300380700
380700380F00300F00000F800007F00007FE0003FF8000FFC0001FC00003E00001E00000
E03000E06001C06001C0700380700300FC0E00CFFC0083F000161A7D9818>I<1FFFFFC0
1FFFFFC03C0F03C0300F0180700F0180600F0180601E0180C01E0180C01E0180001E0000
003C0000003C0000003C0000003C00000078000000780000007800000078000000F00000
00F0000000F0000000F000003FFF00003FFF00001A187E9718>I<FFE03FE0FFE03FE01E
0007001E0006001E0006001E0006003C000C003C000C003C000C003C000C007800180078
0018007800180078001800F0003000F0003000F0003000F0006000F0006000F000C000F0
01C000700380003C0E00001FFC000007F000001B197D971B>I<03FF87FC03FF87FC003C
03C0003E0300001E0600001F0E00000F1C00000FB800000FF0000007E0000007C0000003
C0000003E0000007E000000DF0000018F0000030F0000060F80000C0780001807C000300
3C000F003E00FFC0FFC0FFC1FFC01E187E9721>88 D<07980C781878303870386070E070
E070E070C0E1C0E3C0E3C1E663E43C38100F7D8E16>97 D<03E00E301878307870706000
E000E000E000C000C000C010603060E01F800D0F7D8E12>99 D<03E00E30181830187030
E070FFC0E000E000E000E000E010603030E01F800D0F7D8E13>101
D<018003C003800380000000000000000000001C0027004700C700C7000E000E001C001C
001C4038C038C0398039001E000A187E970E>105 D<001C001C003C0018000000000000
0000000001E0033006380C380C38007000700070007000E000E000E000E001C001C001C0
01C06380F380F700E60078000E1F7F9710>I<1F801F8007000700070007000E000E000E
000E0E1C371C4F1C8F1D063A003F003BC038E070E170E370E370E6E064603810187D9715
>I<3C1F00666380478180C781C0C701C00E03800E03800E03800E07001C07081C07181C
0E181C0E303806601803C0150F7E8E19>110 D<3C7C66C7478FC70FC7060E000E000E00
0E001C001C001C001C0038001800100F7E8E12>114 D<03E00C300878187818701F001F
E00FF003F06030F030F030E06060C03F000D0F7D8E13>I<1E0183002303878063038380
C7038380C7038380070703000E0703000E0703000E0703001C0E06001C0E06001C0E0400
0C0E08000617180003E1E000190F7E8E1D>119 D E /Fg 4 62 df<03000F00FF00F700
07000700070007000700070007000700070007000700070007000700070007000700FFF0
FFF00C177D9614>49 D<0F803FE070F06078F83CF83CF83C703C003C00380078007000E0
01C0038003000600080C100C201C7FF8FFF8FFF80E177E9614>I<0F801FE038F0707078
78787878783078007000E001C00F8000E000700038003C703CF83CF83CF838707870F03F
E00F800E187E9614>I<FFFFFF80FFFFFF80000000000000000000000000000000000000
000000000000FFFFFF80FFFFFF80190A7E8D1F>61 D E /Fh 133[27
30 30 43 30 33 20 23 27 1[33 30 33 50 17 33 1[17 33 30
20 27 33 27 33 30 9[60 43 43 40 33 43 47 37 47 43 56
40 2[23 47 47 37 40 43 43 1[43 8[30 30 30 30 30 30 30
30 2[15 20 15 2[20 20 37[33 2[{ TeXBase1Encoding ReEncodeFont }58
60.000002 /Times-Bold rf /Fi 133[32 36 36 52 36 40 24
28 32 1[40 36 40 60 20 2[20 40 36 24 32 40 32 40 36 9[72
1[52 48 40 52 56 44 56 1[68 48 2[28 56 56 44 48 52 52
1[52 8[36 36 36 36 36 36 36 36 1[20 18 1[18 4[24 39[{
 TeXBase1Encoding ReEncodeFont }53 71.999969 /Times-Bold
rf /Fj 139[34 1[46 1[57 7[57 2[46 3[52 29[75 15[52 52
52 49[{ TeXBase1Encoding ReEncodeFont }10 103.700026
/Times-Bold rf /Fk 43 123 df<07FFFFC00FFFFFC01FFFFFC0383060006070C000C0
60C000C060C0000060C00000E1C00000C1C00001C1C00001C1C00001C1C0000381C00003
81C0000781E0000701E0000F01E0000F01F0000E00F0000C00E0001A157F941C>25
D<007FFF8001FFFF8003FFFF800783C0000F01C0001E01E0003C01E0003C01E0007801E0
007801E0007801E000F003C000F003C000F003C000F0078000F0070000700F0000700E00
00301800001870000007C0000019157E941C>27 D<78FCFCFCFC7806067C850E>58
D<78FCFCFEFE7A0202020404040810204007107C850E>I<0000000C0000003C000000F0
000003C000000F0000003C000000F0000003C000000F0000003C000000F0000003C00000
0F0000003C000000F0000000F00000003C0000000F00000003C0000000F00000003C0000
000F00000003C0000000F00000003C0000000F00000003C0000000F00000003C0000000C
1E1E7C9A27>I<C0000000F00000003C0000000F00000003C0000000F00000003C000000
0F00000003C0000000F00000003C0000000F00000003C0000000F00000003C0000003C00
0000F0000003C000000F0000003C000000F0000003C000000F0000003C000000F0000003
C000000F0000003C000000F0000000C00000001E1E7C9A27>62 D<000001C000000001C0
00000003C000000003C000000007C00000000FC00000000FC00000001FC00000001FE000
000037E000000033E000000063E0000000C3E0000000C3E000000183E000000183E00000
0303E000000703E000000603E000000C03E000000C03F000001801F000001801F000003F
FFF000007FFFF000006001F00000C001F00000C001F000018001F000038001F000030001
F000070001F8001F0001F800FFE01FFF80FFC01FFF8021237EA225>65
D<00FFFFFC0000FFFFFF000007C00FC00007C003C0000F8003E0000F8001E0000F8001F0
000F8001F0001F0001E0001F0003E0001F0003E0001F0007C0003E000780003E001F0000
3E003E00003E00F800007FFFF000007C003C00007C001E00007C001F0000F8000F0000F8
000F0000F8000F8000F8000F8001F0000F0001F0001F0001F0001F0001F0003E0003E000
7C0003E0007C0003E001F80007E007E000FFFFFFC000FFFFFE000024227FA126>I<0000
7F00C00003FFC180000FC0E380001F003380007C001F8000F0000F0001E0000F0003C000
0F000780000F000F800006000F000006001F000006003E000006003E00000C007C000000
007C000000007C00000000F800000000F800000000F800000000F800000000F800000000
F000000000F000003000F000003000F000006000F800006000F80000C000780000C00078
000180003C000300001E000600000F001C000007C070000003FFE00000007F0000002224
7DA224>I<00FFFFFC0000FFFFFF800007C00FC00007C003E0000F8001F0000F8000F000
0F800078000F800078001F000078001F00007C001F00007C001F00007C003E00007C003E
00007C003E00007C003E00007C007C000078007C0000F8007C0000F8007C0000F800F800
01F000F80001F000F80001E000F80003E001F00003C001F000078001F0000F8001F0000F
0003E0001E0003E0007C0003E000F00007E007E000FFFFFF8000FFFFFC000026227FA129
>I<00FFFFFFF000FFFFFFF00007C001F00007C000F0000F800070000F800070000F8000
60000F800060001F000060001F006060001F006060001F006060003E00C000003E00C000
003E03C000003FFFC000007FFF8000007C038000007C038000007C03800000F803000000
F80300C000F80300C000F800018001F000018001F000030001F000030001F000070003E0
00060003E0000E0003E0003C0007E000FC00FFFFFFFC00FFFFFFF80024227FA125>I<00
FFFFFFE000FFFFFFE00007C003E00007C001E0000F8000E0000F8000E0000F8000C0000F
8000C0001F0000C0001F0000C0001F00C0C0001F00C0C0003E018000003E018000003E03
8000003E078000007FFF0000007FFF0000007C070000007C07000000F806000000F80600
0000F806000000F806000001F000000001F000000001F000000001F000000003E0000000
03E000000003E000000007E0000000FFFF800000FFFF00000023227EA120>I<007FFE00
FFFE0007C00007C0000F80000F80000F80000F80001F00001F00001F00001F00003E0000
3E00003E00003E00007C00007C00007C00007C0000F80000F80000F80000F80001F00001
F00001F00001F00003E00003E00003E00007E0007FFE00FFFE0017227FA116>73
D<00FFFF0000FFFF000007C0000007C000000F8000000F8000000F8000000F8000001F00
00001F0000001F0000001F0000003E0000003E0000003E0000003E0000007C0000007C00
00007C0000007C000000F8000000F8000C00F8000C00F8001801F0001801F0001801F000
3001F0003003E0007003E000E003E003E007E00FE0FFFFFFC0FFFFFFC01E227FA122>76
D<00FFE00003FF8000FFE00003FF800007E00007F0000007E0000DF000000DE0000FE000
000DE0001BE000000DE0001BE000000DE00033E0000019E00067C0000019E00067C00000
18F000C7C0000018F000C7C0000030F0018F80000030F0030F80000030F0030F80000030
F0060F80000060F0061F00000060F00C1F00000060F0181F0000006078181F000000C078
303E000000C078303E000000C078603E000000C078C03E0000018078C07C000001807980
7C0000018079807C000001807B007C000003007E00F8000003003E00F8000003003C00F8
00000F803C01F80000FFF0383FFF8000FFF0303FFF800031227EA130>I<007FE001FFC0
00FFE003FFC00007F0003C000007F0003800000DF0003000000DF8003000000CF8003000
000CFC00300000187C00600000187C00600000183E00600000183E00600000303F00C000
00301F00C00000301F80C00000300F80C00000600F81800000600FC18000006007C18000
006007E1800000C003E3000000C003E3000000C001F3000000C001F30000018001FE0000
018000FE0000018000FE00000180007E00000300007C00000300007C00000300003C0000
0F80003C00007FF000180000FFF0001800002A227FA128>I<00007F00000003C1E00000
0E007000003C0038000078001C0000E0001E0001E0000E0003C0000F000780000F000F00
000F000F00000F801E00000F803E00000F803E00000F807C00000F807C00000F807C0000
0F80F800001F00F800001F00F800001F00F800001E00F800003E00F000003E00F000007C
00F000007C00F00000F800F00000F000F80001F000780003E000780003C0003800078000
3C000E00001E001C00000F007800000381E0000000FF00000021247DA226>I<00FFFFFC
0000FFFFFF000007C00F800007C003C0000F8003E0000F8001E0000F8001E0000F8001E0
001F0003E0001F0003E0001F0003E0001F0003C0003E0007C0003E000780003E000F0000
3E001E00007C00F800007FFFE000007C000000007C00000000F800000000F800000000F8
00000000F800000001F000000001F000000001F000000001F000000003E000000003E000
000003E000000007E0000000FFFE000000FFFE00000023227FA120>I<00FFFFF00000FF
FFFC000007C03F000007C00F80000F8007C0000F8003C0000F8003C0000F8003C0001F00
07C0001F0007C0001F0007C0001F000F80003E000F00003E001E00003E007800003E01E0
00007FFF0000007C03C000007C01E000007C00F00000F800F80000F800F80000F800F800
00F800F80001F001F00001F001F00001F001F00001F001F00003E003E00003E003E06003
E003E06007E001E0C0FFFE01E0C0FFFE00F1800000003E0023237EA126>82
D<0001F8180007FE30001E0770003C01F0007801F000F000E000E000E001E000E001E000
E003E000C003E000C003E0000003E0000003F0000003FF000001FFE00001FFF80000FFFC
00007FFE00000FFE000000FE0000003F0000001F0000001F0000001F0030001E0030001E
0030001E0030001C0070003C0078003800780070007C00E000EF03C000C3FF800080FE00
001D247DA21F>I<1FFFFFFF1FFFFFFF1F01F01F3C01F0073803E0073003E0077003E006
6003E0066007C006C007C006C007C006C007C006000F8000000F8000000F8000000F8000
001F0000001F0000001F0000001F0000003E0000003E0000003E0000003E0000007C0000
007C0000007C0000007C000000F8000000F8000000F8000001F80000FFFFE000FFFFE000
20227EA11D>I<3FFF00FFE07FFF01FFE003E0001E0003E0001C0007C000180007C00018
0007C000180007C00018000F800030000F800030000F800030000F800030001F00006000
1F000060001F000060001F000060003E0000C0003E0000C0003E0000C0003E0000C0007C
000180007C000180007C000180007C000180007800030000F80003000078000600007800
06000078000C000078001800003C003000001E00E000000F03C0000007FF00000001FC00
000023237EA122>I<007FFE0FFF007FFE0FFF0007F003F00003E001C00003F003800003
F007000001F00E000001F80C000000F818000000FC30000000FC600000007CC00000007F
800000007F800000003F000000003F000000001F000000001F800000003F800000006F80
000000CFC00000018FC000000387C000000707E000000E03E000000C03F000001803F000
003001F000006001F80000C001F80001C000F80007C001FC00FFF00FFFC0FFF00FFFC028
227FA129>88 D<007C6001C6F00303F00601E00E01E01C01E03C01E03803C07803C07803
C07803C0F00780F00780F00784F00786F00F0C700F0C701F083037181867100F81E01715
7E941A>97 D<01E0003FC0003FC00003C00003C0000780000780000780000780000F0000
0F00000F00000F00001E00001E7C001EC6001F03003E03803C03C03C03C03C03C07803C0
7803C07803C07803C0F00780F00780F00780F00F00F00E00701E00701C00303800186000
0F800012237EA215>I<003F0000E1800381C00703C00E07C01C07C03C03803C00007800
00780000780000F00000F00000F00000F000007000407000C03001803807001C1C0007F0
0012157E9416>I<00000F0001FE0001FE00001E00001E00003C00003C00003C00003C00
00780000780000780000780000F0007CF001C6F00303F00601E00E01E01C01E03C01E038
03C07803C07803C07803C0F00780F00780F00784F00786F00F0C700F0C701F0830371818
67100F81E018237EA21A>I<007E000383000701800E01801C0180380180780300700600
FFF800F00000F00000E00000E00000E00000E00000E00080E00180700300300E00183800
0FE00011157D9417>I<007000F800F800F000E000000000000000000000000000000000
0F00118021C061C0C3C0C3C0C3C0078007800F000F000F001E001E101E183C303C303C60
384018C00F000D227FA111>105 D<0078000FF0000FF00000F00000F00001E00001E000
01E00001E00003C00003C00003C00003C00007800007807807818C07821C0F043C0F087C
0F107C0F20381EC0001F00001FF0001E3C003C1E003C1E003C0F083C0F0C781E18781E18
781E10780E30F006206003C016237EA21A>107 D<00F00FE01FE001E001E003C003C003
C003C007800780078007800F000F000F000F001E001E001E001E003C003C003C003C0078
007800788078C0F180F180F180730073001C000C237EA20F>I<1E03F000338C380063D8
1C0063E01E00C3E01E00C3C01E00C3C01E0007803C0007803C0007803C0007803C000F00
78000F0078000F00F0400F00F0601E00F0C01E01E0C01E01E1801E00E1003C00E2001800
3C001B157F941E>110 D<003F0000E1C00380E00700700E00701C00783C00783C007878
0078780078780078F000F0F000F0F000E0F001E07001C0700380300700380E001C3C0007
E00015157E9418>I<03C0F80006718C000C7E06000C7C07001878078018780780187807
8000F0078000F0078000F0078000F0078001E00F0001E00F0001E00F0001E01E0003C01C
0003C03C0003E0380003E0700007B0C000078F000007800000078000000F0000000F0000
000F0000000F0000001E0000001E000000FFE00000FFE00000191F819419>I<007C1001
C6700303F00601E00E01E01C01E03C01E03803C07803C07803C07803C0F00780F00780F0
0780F00780F00F00700F00701F00303F00187E000F9E00001E00001E00003C00003C0000
3C00003C0000780000780007FF8007FF80141F7E9416>I<1F078033984063F0E063E1E0
C3C3E0C3C3E0C3C1C00780000780000780000780000F00000F00000F00000F00001E0000
1E00001E00001E00003C000018000013157F9416>I<007E0000C3000181800303800707
8007078007020007E00007FC0007FE0003FF0001FF80001F80300780780780F80700F807
00F00600600C003038000FE00011157E9417>I<00E001E001E001E001E003C003C003C0
03C00780FFFCFFFC07800F000F000F000F001E001E001E001E003C003C003C083C0C7818
78107830386038C00F000E1F7F9E12>I<0F807019C0F031E0F861E078C1E038C1E038C3
C03803C0300780300780300780300F00600F00600F00400F00C00F00800F01800F010007
0200038C0001F00015157F9418>118 D<0F80180E19C03C1E31E03C1F61E0780FC1E078
07C1E07807C3C0780703C0F0060780F0060780F0060780F0060F01E00C0F01E00C0F01E0
0C0F01E0180F01E0180F01E0100F03E0200702E060038470C000F81F0020157F9424>I<
03E0F00C3318183E1C303E3C203C7C603C7C603C3800780000780000780000780000F000
00F00000F00830F00C79E018F9E018F9E030F360606230C03C1F0016157E941C>I<0F80
0C19C01E31E01E61E03CC1E03CC1E03CC3C03C03C0780780780780780780780F00F00F00
F00F00F00F00F00F01E00F01E00F01E00703E0030FC001F3C00003C00003C00007803C07
007C0F007C0E00781C0060380030E0001F8000171F7F9418>I<00E03003F03007F86007
FFC00C01800C0300000600000C0000180000300000600000C0000180000300400600600C
00C01803C03FFF8071FF0060FE00C0780014157E9417>I E /Fl
14 94 df<00200040008001800300060006000E000C001C001800380038003800700070
0070007000F000F000F000F000F000F000F000F000F000F000F000F000F000F000700070
007000700038003800380018001C000C000E0006000600030001800080004000200B327C
A413>40 D<800040002000300018000C000C000E0006000700030003800380038001C001
C001C001C001E001E001E001E001E001E001E001E001E001E001E001E001E001E001C001
C001C001C00380038003800300070006000E000C000C00180030002000400080000B327D
A413>I<0001800000018000000180000001800000018000000180000001800000018000
0001800000018000000180000001800000018000000180000001800000018000FFFFFFFF
FFFFFFFF0001800000018000000180000001800000018000000180000001800000018000
000180000001800000018000000180000001800000018000000180000001800020227D9C
27>43 D<01F800070E000E07001C03803C03C03801C07801E07801E07801E07801E0F801
F0F801F0F801F0F801F0F801F0F801F0F801F0F801F0F801F0F801F0F801F0F801F0F801
F0F801F07801E07801E07801E07801E03C03C03C03C01C03800E0700070E0001F8001422
7EA019>48 D<00C001C007C0FFC0FBC003C003C003C003C003C003C003C003C003C003C0
03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0FFFFFFFF
10217CA019>I<03F8000FFE001C1F803007C06003C06003E0F801E0FC01F0FC01F0FC01
F07801F03001F00001E00003E00003E00007C0000780000F00000E00001C000038000070
0000E0000180000300300600300400300800701000603FFFE07FFFE0FFFFE0FFFFE01421
7EA019>I<01F8000FFE001E0F803807C03803C07C03E07C03E07C03E03C03E01803E000
03C0000780000780000E00001C0003F800000E000007800003C00003E00001E00001F000
01F03001F07801F0FC01F0FC01F0FC01E0F803E06003C03007801C0F000FFE0003F80014
227EA019>I<000180000380000380000780000F80001F80001780003780006780004780
00C7800187800107800307800607800407800C0780180780300780200780600780C00780
FFFFFCFFFFFC00078000078000078000078000078000078000078000FFFC00FFFC16217F
A019>I<1000401E03801FFF001FFE001FFC001FF0001800001800001800001800001800
0018000018F8001B0E001C07001803801003C00001E00001E00001F00001F00001F07001
F0F801F0F801F0F801F0F801E0C001E06003C07003C03807801C1F000FFC0003F0001422
7EA019>I<003E0000FF8003C1C00780E00F01E01E03E01C03E03C01C03C000078000078
0000780000F8F800F90E00FA0300FC0380FC01C0FC01E0F801E0F801F0F801F0F801F0F8
01F0F801F07801F07801F07801E03801E03C01E01C03C01E03800F0F0003FE0001F80014
227EA019>I<78FCFCFCFC7800000000000000000078FCFCFCFC7806157C940E>58
D<FFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000000000
0000000000FFFFFFFFFFFFFFFF200C7D9127>61 D<FFFFC0C0C0C0C0C0C0C0C0C0C0C0C0
C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0FFFF0831
7CA40E>91 D<FFFF03030303030303030303030303030303030303030303030303030303
0303030303030303030303030303030303FFFF08317FA40E>93 D
E /Fm 165[30 1[36 47 36 36 30 28 33 36 28 36 36 44 30
2[17 36 36 28 30 36 33 1[36 8[25 25 25 25 25 25 25 25
1[14 12 1[12 4[17 39[{ .167 SlantFont TeXBase1Encoding ReEncodeFont }34
50.000002 /Times-Roman rf /Fn 105[25 27[22 25 25 36 25
28 17 19 22 28 28 25 28 41 14 28 1[14 28 25 17 22 28
22 28 25 10[36 36 33 28 36 39 30 39 36 47 33 39 25 19
39 39 30 33 36 36 1[36 6[17 25 25 25 25 25 25 25 25 25
25 14 12 1[12 2[17 17 17 36[28 2[{ TeXBase1Encoding ReEncodeFont }65
50.000002 /Times-Bold rf /Fo 22 111 df<FFFFFFFCFFFFFFFC1E027C8C27>0
D<C00003E0000770000E38001C1C00380E00700700E00381C001C38000E700007E00003C
00003C00007E0000E70001C3800381C00700E00E00701C003838001C70000EE00007C000
031818799727>2 D<00C00000E00000C00000C00040C080E0C1C0F8C7C07CCF801EDE00
03F00000C00003F0001EDE007CCF80F8C7C0E0C1C040C08000C00000C00000E00000C000
12157D9619>I[<00038000000FE000000FE000000FE000000FE000000FE0000003800000
0000000000000000000000000000000000000000000000FFFFFFFEFFFFFFFE0000000000
0000000000000000000000000000000000000000038000000FE000000FE000000FE00000
0FE000000FE00000038000>31 28 125 153 38 I<03F0000FFC001FFE003FFF007FFF80
7FFF80FFFFC0FFFFC0FFFFC0FFFFC0FFFFC0FFFFC0FFFFC0FFFFC07FFF807FFF803FFF00
1FFE000FFC0003F00012147D9519>15 D<001FFFFC00FFFFFC01E00000078000000E0000
001C0000003800000030000000700000006000000060000000E0000000C0000000C00000
00C0000000C0000000C0000000C0000000E0000000600000006000000070000000300000
00380000001C0000000E0000000780000001E0000000FFFFFC001FFFFC00000000000000
000000000000000000000000000000000000000000000000007FFFFFFC7FFFFFFC1E287C
9F27>18 D<0000000C0000003C000000F0000003C000000F0000003C000000F0000003C0
00000F0000003C000000F0000003C000000F0000003C000000F0000000F00000003C0000
000F00000003C0000000F00000003C0000000F00000003C0000000F00000003C0000000F
00000003C0000000F00000003C0000000C00000000000000000000000000000000000000
00000000000000000000000000FFFFFFFCFFFFFFFC1E287C9F27>20
D<C0000000F00000003C0000000F00000003C0000000F00000003C0000000F00000003C0
000000F00000003C0000000F00000003C0000000F00000003C0000003C000000F0000003
C000000F0000003C000000F0000003C000000F0000003C000000F0000003C000000F0000
003C000000F0000000C00000000000000000000000000000000000000000000000000000
000000000000000000FFFFFFFCFFFFFFFC1E287C9F27>I<000000600000000000300000
0000003000000000001800000000001800000000000C0000000000060000000000030000
FFFFFFFF8000FFFFFFFFE000000000007000000000001C00000000000F800000000003E0
000000000780000000001E00000000003800000000006000FFFFFFFFC000FFFFFFFF8000
0000000300000000000600000000000C0000000000180000000000180000000000300000
0000003000000000006000002B1C7D9932>41 D<001FFF00FFFF01E0000780000E00001C
0000380000300000700000600000600000E00000C00000C00000FFFFFFFFFFFFC00000C0
0000E000006000006000007000003000003800001C00000E000007800001E00000FFFF00
1FFF181E7C9A21>50 D<00000300000300000700000600000E00000C00001C0000180000
380000300000700000600000E00000C00001C0000180000380000300000700000600000E
00000C00001C0000180000180000380000300000700000600000E00000C00001C0000180
000380000300000700000600000E00000C00001C00001800003800003000007000006000
00E00000C00000C00000183079A300>54 D<C0000030C0000030E0000070600000607000
00E0300000C0300000C0380001C018000180180001801C0003800C0003000E00070007FF
FE0007FFFE0007000E0003000C0003000C0003801C000180180001C0380000C0300000C0
300000E07000006060000070E0000030C0000030C0000039C0000019800000198000001F
8000000F0000000F000000060000000600001C2480A21D>56 D<FFFFF8FFFFF800001800
001800001800001800001800001800001800001800001800001800001800001800001800
00183FFFF87FFFF800001800001800001800001800001800001800001800001800001800
0018000018000018000018000018000018FFFFF8FFFFF815237DA21C>I<FFFFFFC0FFFF
FFC0000000C0000000C0000000C0000000C0000000C0000000C0000000C0000000C00000
00C0000000C0000000C01A0D7D9121>I<C00000C0C00000C0C00000C0C00000C0C00000
C0C00000C0C00000C0C00000C0C00000C0C00000C0C00000C0C00000C0C00000C0C00000
C0C00000C0C00000C0C00000C0C00000C0C00000C0C00000C0C00000C0C00000C0C00000
C0E00001C06000018070000380380007001C000E000F807C0003FFF000007F80001A1F7D
9D21>91 D<007F800003FFF0000F807C001C000E00380007007000038060000180E00001
C0C00000C0C00000C0C00000C0C00000C0C00000C0C00000C0C00000C0C00000C0C00000
C0C00000C0C00000C0C00000C0C00000C0C00000C0C00000C0C00000C0C00000C0C00000
C0C00000C0C00000C0C00000C0C00000C0C00000C01A1F7D9D21>I<000C0000000C0000
001E0000001E0000003F00000033000000330000007380000061800000E1C00000C0C000
01C0E000018060000180600003807000030030000700380006001800060018000E001C00
0C000C001C000E00180006003800070030000300300003007000038060000180E00001C0
C00000C0C00000C01A1F7D9D21>94 D<C00000C0C00000C0E00001C06000018070000380
300003003000030038000700180006001C000E000C000C000E001C000600180006001800
070038000300300003807000018060000180600001C0E00000C0C00000E1C00000618000
007380000033000000330000003F0000001E0000001E0000000C0000000C00001A1F7D9D
21>I<0007C0003E0000780000F00001E00001E00001E00001E00001E00001E00001E000
01E00001E00001E00001E00001E00001E00001E00001E00001E00001E00003C000078000
1F0000F800001F000007800003C00001E00001E00001E00001E00001E00001E00001E000
01E00001E00001E00001E00001E00001E00001E00001E00001E00001E00000F000007800
003E000007C012317DA419>102 D<F800001F000007800003C00001E00001E00001E000
01E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E000
01E00001E00000F000007800003E000007C0003E0000780000F00001E00001E00001E000
01E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E000
01E00001E00003C0000780001F0000F8000012317DA419>I<C0C0C0C0C0C0C0C0C0C0C0
C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0
C0C002317AA40E>106 D<C00000C00000E0000060000060000070000030000030000038
00001800001800001C00000C00000C00000E000006000006000007000003000003000003
800001800001800001C00000C00000E00000600000600000700000300000300000380000
1800001800001C00000C00000C00000E0000060000060000070000030000030000038000
01800001800001C00000C00000C012317DA419>110 D E /Fp 133[19
22 22 33 22 25 14 19 19 25 25 25 25 36 14 22 14 14 25
25 14 22 25 22 25 25 9[41 30 36 28 25 30 36 30 36 33
41 28 33 1[17 36 36 30 30 36 33 30 30 3[34 3[25 6[25
25 1[14 12 17 12 2[17 17 17 36[25 2[{ TeXBase1Encoding ReEncodeFont }60
50.000002 /Times-Italic rf /Fq 134[62 1[89 1[69 41 48
55 1[69 62 69 103 34 2[34 69 62 41 55 1[55 69 62 10[89
89 1[69 1[96 76 3[83 5[76 2[89 83 89 25[41 39[{
 TeXBase1Encoding ReEncodeFont }30 124.400017 /Times-Bold
rf /Fr 119[30 10[30 30 30 30 30 30 30 30 30 30 30 30
30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 1[30
1[30 30 30 1[30 30 30 30 30 30 30 30 30 30 30 30 30 30
30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
30 30 30 30 30 30 30 33[{ TeXBase1Encoding ReEncodeFont }91
50.000002 /Courier rf /Fs 134[30 2[30 1[17 23 20 2[30
30 47 17 2[17 1[30 20 27 2[30 27 11[43 1[33 2[33 43 43
53 1[43 3[43 2[43 2[43 7[30 30 5[30 30 2[15 1[15 44[{
 TeXBase1Encoding ReEncodeFont }31 60.000002 /Times-Roman
rf /Ft 87[17 19[22 25[22 25 25 36 25 25 14 19 17 25 25
25 25 39 14 25 14 14 25 25 17 22 25 22 25 22 3[17 1[17
1[36 36 47 36 36 30 28 33 36 28 36 36 44 30 36 19 17
36 36 28 30 36 33 33 36 1[22 1[28 1[14 14 25 25 25 25
25 25 25 25 25 25 14 12 17 12 28 25 17 17 17 2[25 2[17
29[28 28 2[{ TeXBase1Encoding ReEncodeFont }82 50.000002
/Times-Roman rf /Fu 139[24 33 29 1[43 43 43 67 24 2[24
43 43 29 38 1[38 1[38 13[48 1[62 48 1[62 1[53 2[29 3[53
3[62 65[{ TeXBase1Encoding ReEncodeFont }23 86.399998
/Times-Roman rf /Fv 139[20 1[24 1[36 36 1[56 20 2[20
3[32 2[36 32 28[52 68[{ TeXBase1Encoding ReEncodeFont }11
71.999969 /Times-Roman rf end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 360dpi
TeXDict begin
%%PaperSize: A4

%%EndSetup
%%Page: 1 1
1 0 bop 907 899 a Fv(Diplomarbeit)221 1151 y Fu(Enhancement)22
b(of)f(the)h(ANSI)f(SQL)g(Implementation)h(of)888 1260
y(PostgreSQL)629 1492 y Ft(ausgef)t(\250)-21 b(uhrt)12
b(am)g(Institut)g(f)t(\250)-21 b(ur)11 b(Informationssysteme)761
1552 y(der)h(T)m(echnischen)h(Uni)o(v)o(ersit)s(\250)-20
b(at)11 b(W)n(ien)860 1612 y(unter)h(der)g(Anleitung)f(v)o(on)726
1771 y Fs(O.Uni)o(v)l(.Prof.Dr)m(.)17 b(Geor)o(g)d(Gottlob)1061
1831 y Ft(und)762 1891 y Fs(Uni)o(v)l(.Ass.)k(Mag.)g(Katrin)c(Se)o(yr)
671 1950 y Ft(als)f(v)o(erantwortlicher)d(Uni)o(v)o(ersit)s(\250)-20
b(atsassistentin)1041 2110 y(durch)859 2269 y Fr(Stefan)29
b(Simkovics)814 2329 y(Paul)h(Petersgasse)e(36)799 2389
y(A)i(-)g(2384)f(Breitenfurt)244 2749 y Fs(No)o(v)o(ember)14
b(29,)g(1998)p 244 2766 475 2 v 414 2819 a Ft(Datum)p
1431 2730 567 2 v 1594 2800 a(Unterschrift)p eop
%%Page: 2 2
2 1 bop eop
%%Page: 3 3
3 2 bop 198 633 a Fq(Abstract)198 892 y Ft(PostgreSQL)14
b(is)i(an)f Fp(object-r)n(elational)f Ft(database)h(management)g
(system)g(that)g(runs)f(on)h(almost)g(an)o(y)198 951
y(UNIX)g(based)i(operating)e(system)h(and)g(is)g(distrib)o(uted)f(as)h
(C-source)g(code.)26 b(It)15 b(is)h(neither)f Fp(fr)n(ee)o(war)n(e)198
1011 y Ft(nor)f Fp(public)h(domain)f Ft(software.)23
b(It)14 b(is)h(copyrighted)e(by)i(the)g(Uni)o(v)o(ersity)f(of)h
(California)f(b)o(ut)g(may)h(be)198 1071 y(used,)e(modi\002ed)e(and)i
(distrib)o(uted)e(as)i(long)f(as)g(the)h(licensing)f(terms)g(of)f(the)i
(copyright)d(are)i(accepted.)273 1131 y(As)g(the)f(name)g(already)h
(suggests,)h(PostgreSQL)e(uses)h(an)g(e)o(xtended)f(subset)h(of)f(the)h
(SQL92)f(stan-)198 1191 y(dard)17 b(as)i(the)f(query)f(language.)32
b(At)18 b(the)g(time)f(of)h(writing)f(this)h(document)f(the)h(actual)g
(v)o(ersion)g(of)198 1250 y(PostgreSQL)11 b(was)h(v6.3.2.)k(In)11
b(this)h(v)o(ersion)g(the)f(implemented)g(part)g(of)g(SQL)h(did)f(not)h
(support)f(some)198 1310 y(important)e(features)g(included)h(in)g(the)g
(SQL92)g(standard.)k(T)l(wo)c(of)g(the)g(not)f(supported)h(features)f
(were:)273 1410 y Fo(\017)25 b Ft(the)12 b Fp(having)g(clause)273
1509 y Fo(\017)25 b Ft(the)12 b(support)g(of)g(the)g(set)h(theoretic)f
(operations)g Fp(intersect)g Ft(and)g Fp(e)o(xcept)198
1609 y Ft(It)e(was)g(the)h(author')m(s)f(task)g(to)g(add)h(the)f
(support)g(for)g(the)g(two)f(missing)i(features)f(to)g(the)h(e)o
(xisting)f(source)198 1669 y(code.)22 b(Before)14 b(the)g
(implementation)g(could)g(be)g(started)h(an)f(intensi)o(v)o(e)h(study)f
(of)g(the)g Fp(r)n(ele)o(vant)i(parts)198 1729 y(of)d(the)g(SQL92)f
(standar)n(d)h Ft(and)g(the)g(implementation)f(of)g(the)h
Fp(e)o(xisting)g(featur)n(es)h Ft(of)f(PostgreSQL)f(had)198
1788 y(been)h(necessary)m(.)19 b(This)13 b(document)g(will)g(not)g
(present)g(only)f(the)h(results)h(of)e(the)h(implementation)f(b)o(ut)
198 1848 y(also)h(the)h(kno)o(wledge)e(collected)h(while)g(studying)g
(the)g(SQL)g(language)h(and)f(the)g(source)g(code)g(of)g(the)198
1908 y(already)f(e)o(xisting)h(features.)273 1968 y(Chapter)i(1)h
(presents)h(an)f(o)o(v)o(ervie)o(w)f(on)h(the)g(SQL92)g(standard.)26
b(It)16 b(gi)o(v)o(es)g(a)g(description)g(of)f(the)198
2027 y Fp(r)n(elational)k(data)f(model)h Ft(and)g(the)g(theoretical)g
(\(mathematical\))e(background)i(of)f(SQL.)i(Ne)o(xt)f(the)198
2087 y(SQL)13 b(language)g(itself)f(is)h(described.)18
b(The)13 b(most)g(important)e(SQL)i(statements)h(are)e(presented)h(and)
g(a)198 2147 y(lot)d(of)g(e)o(xamples)h(are)f(included)h(for)e(better)h
(understanding.)15 b(The)c(information)d(gi)o(v)o(en)j(in)f(this)g
(chapter)198 2207 y(has)j(mainly)f(been)g(taken)g(form)f(the)i(books)f
([D)n(A)-6 b(TE96)q(],)12 b([D)n(A)-6 b(TE94)q(])12 b(and)g([ULL88)q
(].)273 2267 y(Chapter)18 b(2)g(gi)o(v)o(es)g(a)h(description)e(on)h
(ho)o(w)g(to)g(use)h(PostgreSQL.)f(First)g(it)g(is)g(sho)o(wn)g(ho)o(w)
g(the)198 2326 y Fp(bac)o(kend)e Ft(\(serv)o(er\))g(can)h(be)g(started)
g(and)f(ho)o(w)h(a)g(connection)f(from)g(a)h(client)f(to)h(the)f(serv)o
(er)h(can)g(be)198 2386 y(established.)f(Ne)o(xt)c(some)g(basic)h
(database)f(management)g(tasks)h(like)e(creating)g(a)h(database,)i
(creating)198 2446 y(a)g(table)f(etc.)19 b(are)14 b(described.)19
b(Finally)12 b(some)i(of)f(PostgreSQL)-5 b(')m(s)14 b(special)g
(features)f(like)g Fp(user)h(de\002ned)198 2506 y(functions)p
Ft(,)d Fp(user)h(de\002ned)f(types)p Ft(,)h(the)f Fp(rule)g(system)h
Ft(etc.)j(are)c(presented)g(and)g(illustrated)f(using)h(a)g(lot)g(of)
198 2565 y(e)o(xamples.)16 b(The)d(information)d(gi)o(v)o(en)i(in)g
(chapter)g(2)g(has)g(mainly)g(been)g(taken)f(from)g(the)h(PostgreSQL)
198 2625 y(documentation)17 b(\(see)i([LOCK98)o(]\),)h(the)e
(PostgreSQL)f(manual)h(pages)h(and)f(was)g(v)o(eri\002ed)f(by)h(the)198
2685 y(author)12 b(throughout)f(v)o(arious)h(e)o(xamples)h(which)f(ha)o
(v)o(e)g(also)h(been)g(included.)273 2745 y(Chapter)h(3)g(concentrates)
h(on)f(the)h(internal)e(structure)h(of)g(the)h(PostgreSQL)f
Fp(bac)o(kend)p Ft(.)21 b(First)14 b(the)198 2804 y(stages)19
b(that)g(a)g(query)f(has)h(to)f(pass)h(in)g(order)f(to)g(retrie)o(v)o
(e)g(a)h(result)f(are)g(described)h(using)f(a)h(lot)g(of)198
2864 y(\002gures)h(to)f(illustrate)g(the)h(in)n(v)o(olv)o(ed)g(data)g
(structures.)38 b(The)20 b(information)e(gi)o(v)o(en)i(in)f(that)h
(part)g(of)198 2924 y(chapter)e(3)h(has)g(been)g(collected)g(while)f
(intensi)o(v)o(ely)h(studying)f(the)h(source)f(code)h(of)f(the)h(rele)o
(v)o(ant)198 2984 y(parts)13 b(of)g(PostgreSQL.)g(This)h(intensi)o(v)o
(e)f(and)g(detailed)g(e)o(xamination)g(of)f(the)h(source)h(code)f(had)g
(been)198 3044 y(necessary)h(to)f(be)g(able)g(to)g(add)g(the)g(missing)
h(functionality)m(.)i(The)e(kno)o(wledge)f(gathered)f(during)g(that)198
3103 y(period)h(of)h(time)f(has)i(been)f(summarized)f(here)h(in)g
(order)f(to)g(make)h(it)f(easier)i(for)e(programmers)f(who)198
3163 y(are)g(ne)o(w)g(to)h(PostgreSQL)f(to)g(\002nd)g(their)g(way)g
(in.)273 3223 y(The)f(follo)o(wing)f(sections)i(co)o(v)o(er)f(the)g
(author')m(s)g(ideas)h(for)e(the)h(implementation)f(of)h(the)g(two)f
(miss-)198 3283 y(ing)i(SQL)h(features)f(mentioned)g(abo)o(v)o(e)g(and)
h(a)f(description)g(of)g(the)g(implementation)g(itself.)273
3342 y(Section)e(3.7)h(deals)h(with)e(the)h(implementation)e(of)i(the)g
Fp(having)f(logic)p Ft(.)15 b(As)c(mentioned)f(earlier)g(the)198
3402 y Fp(having)15 b(logic)f Ft(is)i(one)f(of)f(the)h(two)g(missing)g
(SQL92)g(features)g(that)g(the)g(author)f(had)i(to)e(implement.)1086
3552 y(3)p eop
%%Page: 4 4
4 3 bop 270 60 a Ft(4)270 234 y(The)13 b(\002rst)g(parts)g(of)f(the)h
(chapter)f(describe)h(ho)o(w)g Fp(aggr)n(e)n(gate)f(functions)g
Ft(are)h(realized)g(in)f(PostgreSQL)270 294 y(and)e(after)e(that)i(a)f
(description)g(of)g(the)h(enhancements)g(applied)f(to)g(the)h(code)f
(of)h(the)f Fp(planner/optimizer)270 354 y Ft(and)14
b(the)f Fp(e)o(xecutor)i Ft(in)e(order)g(to)g(realize)h(the)g(ne)o(w)f
(functionality)f(is)i(gi)o(v)o(en.)20 b(The)14 b(functions)f(and)h
(data)270 413 y(structures)e(used)h(and)f(added)h(to)f(the)g(source)h
(code)f(are)g(also)h(handled)f(here.)345 473 y(Section)19
b(3.8)i(deals)g(with)e(the)i(implementation)e(of)g(the)h
Fp(intersect)h Ft(and)f Fp(e)o(xcept)g Ft(functionality)270
533 y(which)d(was)h(the)f(second)h(missing)f(SQL92)g(feature)g(that)g
(had)h(to)f(be)g(added)h(by)f(the)g(author)m(.)31 b(First)270
593 y(a)13 b(theoretical)f(description)g(of)g(the)h(basic)g(idea)g(is)g
(gi)o(v)o(en.)j(The)d Fp(intersect)g Ft(and)g Fp(e)o(xcept)g
Ft(logic)f(is)h(imple-)270 653 y(mented)i(using)f(a)i
Fp(query)f(r)n(e)o(write)h Ft(technique)f(\(i.e.)23 b(a)15
b(query)g(in)n(v)o(olving)f(an)h Fp(intersect)g Ft(and/or)f
Fp(e)o(xcept)270 712 y Ft(operation)h(is)h Fp(r)n(e)o(written)h
Ft(to)f(a)g(semantically)g(equi)o(v)o(alent)f(form)g(that)g(does)i(not)
e(use)h(these)h Fp(set)f(oper)o(-)270 772 y(ations)e
Ft(an)o(y)h(more\).)21 b(After)14 b(presenting)g(the)g(basic)h(idea)g
(the)f(changes)h(made)g(to)f(the)h Fp(parser)g Ft(and)f(the)270
832 y Fp(r)n(e)o(write)g(system)f Ft(are)f(described)h(and)f(the)g
(added)h(functions)f(and)g(data)g(structures)h(are)f(presented.)p
eop
%%Page: 5 5
5 4 bop 198 633 a Fq(Contents)198 943 y Fn(1)50 b(SQL)1600
b(9)273 1003 y Ft(1.1)52 b(The)13 b(Relational)f(Data)h(Model)27
b(.)e(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)44 b(10)387 1063 y(1.1.1)61
b(F)o(ormal)11 b(Notion)h(of)g(the)g(Relational)h(Data)f(Model)47
b(.)25 b(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)44
b(10)547 1123 y(Domains)12 b(vs.)k(Data)d(T)l(ypes)35
b(.)25 b(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
h(.)f(.)h(.)f(.)g(.)h(.)44 b(11)273 1184 y(1.2)52 b(Operations)12
b(in)h(the)f(Relational)g(Data)h(Model)22 b(.)k(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)44 b(11)387
1244 y(1.2.1)61 b(Relational)12 b(Algebra)33 b(.)25 b(.)g(.)h(.)f(.)g
(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)
f(.)g(.)h(.)44 b(11)387 1304 y(1.2.2)61 b(Relational)12
b(Calculus)20 b(.)25 b(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)44
b(14)547 1364 y(T)n(uple)12 b(Relational)g(Calculus)43
b(.)25 b(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
f(.)h(.)f(.)g(.)h(.)44 b(14)387 1425 y(1.2.3)61 b(Relational)12
b(Algebra)g(vs.)k(Relational)c(Calculus)43 b(.)26 b(.)f(.)g(.)h(.)f(.)g
(.)h(.)f(.)h(.)f(.)g(.)h(.)44 b(14)273 1485 y(1.3)52
b(The)13 b(SQL)g(Language)28 b(.)e(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)
g(.)h(.)44 b(14)387 1545 y(1.3.1)61 b(Select)27 b(.)e(.)h(.)f(.)h(.)f
(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)44 b(15)547 1605
y(Simple)11 b(Selects)42 b(.)25 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h
(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)
44 b(15)547 1665 y(Joins)j(.)25 b(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
f(.)h(.)f(.)g(.)h(.)44 b(16)547 1726 y(Aggre)o(gate)12
b(Operators)32 b(.)25 b(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)44 b(17)547
1786 y(Aggre)o(gation)11 b(by)h(Groups)k(.)26 b(.)f(.)g(.)h(.)f(.)h(.)f
(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)44
b(17)547 1846 y(Ha)o(ving)c(.)26 b(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
h(.)f(.)g(.)h(.)44 b(19)547 1906 y(Subqueries)39 b(.)26
b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)44 b(19)547
1967 y(Union,)12 b(Intersect,)h(Except)39 b(.)25 b(.)g(.)h(.)f(.)h(.)f
(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)44
b(20)387 2027 y(1.3.2)61 b(Data)12 b(De\002nition)27
b(.)e(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)44 b(21)547
2087 y(Create)12 b(T)l(able)48 b(.)25 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)
g(.)h(.)44 b(21)547 2147 y(Data)12 b(T)l(ypes)h(in)g(SQL)29
b(.)c(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)44 b(21)547 2208 y(Create)12
b(Inde)o(x)44 b(.)25 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)44
b(22)547 2268 y(Create)12 b(V)m(ie)o(w)j(.)26 b(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
f(.)h(.)f(.)g(.)h(.)44 b(22)547 2328 y(Drop)12 b(T)l(able,)h(Drop)f
(Inde)o(x,)g(Drop)g(V)m(ie)o(w)27 b(.)e(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)44 b(23)387 2388 y(1.3.3)61
b(Data)12 b(Manipulation)36 b(.)25 b(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)
g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)44
b(23)547 2449 y(Insert)12 b(Into)17 b(.)25 b(.)h(.)f(.)g(.)h(.)f(.)g(.)
h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)h(.)f(.)g(.)h(.)44 b(23)547 2509 y(Update)e(.)26
b(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)44
b(24)547 2569 y(Delete)19 b(.)25 b(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
f(.)h(.)f(.)g(.)h(.)44 b(24)387 2629 y(1.3.4)61 b(System)12
b(Catalogs)40 b(.)26 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)44
b(24)387 2690 y(1.3.5)61 b(Embedded)12 b(SQL)17 b(.)25
b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)44 b(24)198 2800
y Fn(2)50 b(P)o(ostgr)o(eSQL)12 b(fr)o(om)h(the)f(User')n(s)h(P)o(oint)
f(of)g(V)n(iew)778 b(26)273 2860 y Ft(2.1)52 b(A)13 b(Short)e(History)h
(of)g(PostgreSQL)k(.)26 b(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)44 b(26)273
2920 y(2.2)52 b(An)13 b(Ov)o(ervie)o(w)e(on)i(the)f(Features)g(of)g
(PostgreSQL)49 b(.)26 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f
(.)g(.)h(.)44 b(26)273 2981 y(2.3)52 b(Where)12 b(to)h(Get)f
(PostgreSQL)46 b(.)25 b(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)44
b(27)547 3041 y(Copyright)11 b(of)h(PostgreSQL)48 b(.)25
b(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h
(.)f(.)g(.)h(.)44 b(27)547 3101 y(Support)11 b(for)g(PostgreSQL)39
b(.)25 b(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
h(.)f(.)h(.)f(.)g(.)h(.)44 b(27)273 3161 y(2.4)52 b(Ho)o(w)12
b(to)h(use)f(PostgreSQL)i(.)25 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)
f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)44
b(28)387 3222 y(2.4.1)61 b(Starting)11 b(The)i(Postmaster)44
b(.)25 b(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
h(.)f(.)h(.)f(.)g(.)h(.)44 b(28)387 3282 y(2.4.2)61 b(Creating)12
b(a)g(Ne)o(w)h(Database)k(.)25 b(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)
h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)44 b(28)387
3342 y(2.4.3)61 b(Connecting)12 b(T)l(o)h(a)f(Database)38
b(.)25 b(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
f(.)h(.)f(.)g(.)h(.)44 b(29)387 3402 y(2.4.4)61 b(De\002ning)11
b(and)i(Populating)e(T)l(ables)45 b(.)26 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)44 b(29)1086
3552 y(5)p eop
%%Page: 6 6
6 5 bop 270 60 a Ft(6)1515 b Fm(CONTENTS)459 234 y Ft(2.4.5)61
b(Retrie)o(ving)11 b(Data)i(From)e(The)i(Database)27
b(.)e(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)44
b(30)345 294 y(2.5)52 b(Some)12 b(of)g(PostgreSQL)-5
b(')m(s)13 b(Special)f(Features)g(in)g(Detail)41 b(.)25
b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)44
b(31)459 354 y(2.5.1)61 b(Inheritance)36 b(.)26 b(.)f(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
h(.)f(.)h(.)f(.)g(.)h(.)44 b(31)459 413 y(2.5.2)61 b(User)12
b(De\002ned)g(Functions)g(.)26 b(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)44
b(33)619 473 y(Query)12 b(Language)g(\(SQL\))g(Functions)28
b(.)d(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h
(.)44 b(33)619 533 y(Programming)10 b(Language)j(Functions)18
b(.)25 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)
h(.)44 b(35)459 593 y(2.5.3)61 b(User)12 b(De\002ned)g(T)l(ypes)18
b(.)25 b(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)44 b(36)459 653 y(2.5.4)61
b(Extending)12 b(Operators)34 b(.)25 b(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)44
b(39)459 712 y(2.5.5)61 b(Extending)12 b(Aggre)o(gates)42
b(.)26 b(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)h(.)f(.)h(.)f(.)g(.)h(.)44 b(40)459 772 y(2.5.6)61
b(T)n(riggers)19 b(.)26 b(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)
g(.)h(.)44 b(43)459 832 y(2.5.7)61 b(Serv)o(er)11 b(Programming)g
(Interface)g(\(SPI\))23 b(.)i(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)h(.)f(.)g(.)h(.)44 b(46)459 892 y(2.5.8)61 b(Rules)13
b(in)f(PostgreSQL)27 b(.)e(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)44
b(49)270 1001 y Fn(3)50 b(P)o(ostgr)o(eSQL)12 b(fr)o(om)h(the)f(Pr)o
(ogrammer')n(s)i(P)o(oint)e(of)g(V)n(iew)602 b(51)345
1061 y Ft(3.1)52 b(The)13 b(W)l(ay)g(of)f(a)g(Query)j(.)26
b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)44 b(51)345
1121 y(3.2)52 b(Ho)o(w)12 b(Connections)h(are)f(Established)48
b(.)25 b(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
f(.)h(.)f(.)g(.)h(.)44 b(52)345 1181 y(3.3)52 b(The)13
b(P)o(arser)f(Stage)47 b(.)25 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)
g(.)h(.)44 b(52)459 1240 y(3.3.1)61 b(P)o(arser)25 b(.)g(.)h(.)f(.)h(.)
f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)44 b(53)459
1300 y(3.3.2)61 b(T)n(ransformation)11 b(Process)i(.)26
b(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)h(.)f(.)g(.)h(.)44 b(54)345 1360 y(3.4)52 b(The)13
b(PostgreSQL)f(Rule)h(System)45 b(.)26 b(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)
h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)44
b(58)459 1420 y(3.4.1)61 b(The)13 b(Re)o(write)f(System)42
b(.)25 b(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)44 b(58)619 1479 y(T)m(echniques)12
b(T)l(o)h(Implement)e(V)m(ie)o(ws)19 b(.)26 b(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)44 b(58)345
1539 y(3.5)52 b(Planner/Optimizer)14 b(.)25 b(.)h(.)f(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
h(.)f(.)h(.)f(.)g(.)h(.)44 b(59)459 1599 y(3.5.1)61 b(Generating)11
b(Possible)i(Plans)40 b(.)25 b(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)44 b(59)459
1659 y(3.5.2)61 b(Data)12 b(Structure)f(of)h(the)h(Plan)42
b(.)25 b(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
f(.)h(.)f(.)g(.)h(.)44 b(59)345 1719 y(3.6)52 b(Ex)o(ecutor)18
b(.)25 b(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g
(.)h(.)44 b(60)345 1778 y(3.7)52 b(The)13 b(Realization)g(of)e(the)i
(Ha)o(ving)f(Clause)45 b(.)25 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)44 b(62)459 1838 y(3.7.1)61
b(Ho)o(w)12 b(Aggre)o(gate)g(Functions)g(are)g(Implemented)23
b(.)j(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)44
b(62)619 1898 y(The)13 b(P)o(arser)f(Stage)36 b(.)26
b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)44 b(62)619 1958 y(The)13
b(Re)o(write)f(System)42 b(.)25 b(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)44
b(63)619 2017 y(Planner/Optimizer)d(.)25 b(.)g(.)h(.)f(.)g(.)h(.)f(.)h
(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)
44 b(63)619 2077 y(Ex)o(ecutor)h(.)25 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
h(.)f(.)g(.)h(.)44 b(65)459 2137 y(3.7.2)61 b(Ho)o(w)12
b(the)g(Ha)o(ving)g(Clause)h(is)g(Implemented)25 b(.)g(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)44 b(66)619 2197
y(The)13 b(P)o(arser)f(Stage)36 b(.)26 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h
(.)44 b(66)619 2257 y(The)13 b(Re)o(write)f(System)42
b(.)25 b(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)44 b(68)619 2316 y(Planner/Optimizer)d
(.)25 b(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)44 b(80)619 2376 y(Ex)o(ecutor)h(.)
25 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)44