%!PS-Adobe-2.0 %%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software %%Title: swap-slides.dvi %%Pages: 27 %%PageOrder: Ascend %%Orientation: Landscape %%BoundingBox: 0 0 596 842 %%DocumentFonts: Helvetica %%EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips -o swap-slides.ps swap-slides %DVIPSParameters: dpi=600, compressed %DVIPSSource: TeX output 2000.08.15:1110 %%BeginProcSet: texc.pro %! /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S N}B/A{dup}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{A A 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/IEn 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 IEn N end A{/foo setfont}2 array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/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 A definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get }B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} B/Cdx{Cd A length 1 sub get}B/Ci{Cd A 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/CharBuilder{save 3 1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B /chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ /cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 {2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ 1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{A A length 1 sub A 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 A 1 get A mul exch 0 get A 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/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 index cvrs cvn put}for pop 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/Rx 0 N/Ry 0 N/V{}B/RV/v{ /Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) (LaserWriter 16/600)]{A length product length le{A length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/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 %%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 55380996 39158280 2074 600 600 (swap-slides.dvi) @start %DVIPSBitmapFont: Fa cmti10 20.74 3 /Fa 3 104 df<13FCEA03FF000F13804813C05AA25AA2B5FCA31480A214006C5A6C5A6C 5AEA0FE012126D9135>46 D101 D103 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fb cmmi7 14.518 2 /Fb 2 112 df<020FB812F0F2FF804A18F01BFE6E727EDA000701E0C76C7F0301490203 13F04B04007FF33FFC4D6F7E757E5D75138094C9FC1DC04B83A25EA2031F5FA25EA2153F 5113805E511300037F601B3F4C5F515A03FF4D5A505B4C4B13805090C7FC4AEF1FFCF27F F84C913803FFE0077F13804A90B700FCC8FC1AE097C9FC1AC04A902680000313F0953800 7FF893C8EA1FFCF107FE4A707EA24B6F7FA2021F84855DA2023F5EA25DA2147F615DA202 FF5EA25DA25B614B19381D3C491B7C1D785D1DF84971EC01F0011F6DF003E0007FB600F0 6EEBE007B76FEC0FC0739038F83F8074B512006C4B6F13FCCD000F5B080013E05E5478D1 68>82 D111 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fc cmmi10 20.74 2 /Fc 2 117 df<1E1F1E7F9A3801FF801D071D1F0B7F130052485A0A0713F80A1F13E00A 7F1380514848C7FC090713F8093F13E098B51280080349C8FC080F13F8083F13E097B512 80070301FCC9FC070F13F0073F13C096B5CAFC060313FC060F13F0067F13C04DB5CBFC05 0713FC051F13F0057F13C04CB5CCFC040713F8041F13E0047F13804B4848CDFC030713F8 031F13E092B51280020349CEFC020F13F8023F13E091B51280010349CFFC010F13F0013F 13C090B5D0FC000313FC000F13F0007F13C091D1FCEAFFFC13F013FC6CB4FC14C0000F13 F0000313FCC613FF013F13C0010F13F0010313FE01006D7E023F13E0020F13F8020313FE 02006D7E031F13E0030713F8030113FE6F6C6C7E041F13E0040713F8040113FF706C13C0 051F13F0050713FC050113FF716C13C0060F13F0060313FC060013FF073F13C0070F13F0 070313FC0700EBFF80083F13E0080F13F8080313FE08006D7E093F13E0090713F8090113 FE756C6C7E0A1F13E00A0713F80A0113FE766C7E0B1F13801D071D019A38007F001E1F69 6572DD86>60 D<167CED01FE4B7E4B7FA35D94C7FCA35D5EA3153F5EA3157F5EA315FF5E A35C5EA35C5EA3003FB812F04817F8A2B9FCA26C17F0C7000F90C8FCA25C5DA3143F5DA3 147F5DA314FF5DA35B5DA35B5DA35B5DA35B92C9FCA35B5CA3133F5CA3017FED07C05CA2 170F01FF16804A141F18005F48163E4A147E177C17FC5F4C5A4A13034C5A5F6C4B5A161F 6D6C49C7FC167E013F495A90391FF007F890390FF81FE06DB55A6D91C8FC010013FCEC3F F0356E7DEB3E>116 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fd cmtt10 20.74 7 /Fd 7 112 df40 D<121FEA3FC0487EEAFFF87F13FF806C7F6C7F6C7F6C7F00037F6C7F6C7F013F7F6D7F6D 7F6D7F6D7F7F6D7F6E7EA26E7E6E7F80826E7F8082806E7FA26F7EA26F7EA2151F828117 80A28117C0A281A217E081A317F0A281A417F8A2167FB016FFA217F0A45DA217E0A35D17 C0A25DA217805DA217005D5E153FA24B5AA24B5AA24A5B5C5E5C4A5B5E5C4A90C7FC4A5A A24A5A495B5B495B495B495B495B90B5C8FC485B485B000F5B485B485B485BB55A91C9FC 13FC5BEA7FE06C5A6CCAFC2D8671F75A>I<4BB512E0031F14FE92B77E020316E0020F16 F8023F824A8249B8FC49835B49188049EC80004901F8C77E4913E090B5128092C8FC4801 FC6F1300485B4A6F5A48496F5A4A6F5A48EF01E04A92C8FC4890CCFCA2485AA25B127FA2 5BA212FFA25BAA7FA2127FA27FA26C7EA27F6C183F6EEEFFC06C7F4E13E06C7F6E5D6C7F 6C01FE4B13C06E5D6C02C04A13806D01F05C6D01FC49B512006D9038FFC00F6D91B65A6D 5F6D5F6D5F6D6C5E6E5E020F93C7FC020315FC020015F0031F1480030101F8C8FC434D74 CB5A>99 D<381FFFFC007F13FFA2B67EA57EA2121FEA0001B3A2053FB612F094B712FCA2 4C82A5705EA2053F15F0DD001F0180C7FC4E90C8FC4E5A4E5A4D5B4D5B4D5B051F5B4D5B 4D90C9FC4D5A4C5B4C5B4C5B4C5B4C13804C90CAFC4C5A4C5A158103837F1587038F7F03 9F8003BF8092B6FC04FD7F04F97F04F07FEEE07F4C6C7E04807F4C6C7E03FC6D7F4B7F4B 814B6D7F4B6D7F4B7F727E85727E181F727E86727F84727F86727F737E193F001FB600F8 010FB6FC007F03FE013F15C0A2B84915E0A56C4B6D15C0A2001F03F8010F150053697DE8 5A>107 D<001FB612FC4815FF5AB87EA57E7E7EC81207B3B3B3B3AB001FBA12E04819F0 4819F8BB12FCA56C19F86C19F06C19E0466976E85A>II111 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fe cmsy10 20.74 3 /Fe 3 42 df<003CF203C0007E1A0FB4F21FE06D193F6D197F6C6CF1FFC06C6C4E13806C 6C4E13006C6C4E5A6C6C4E5A6C6C4E5A6C6D4D5A6C6D4D5A6D6C4D5A6D6C4C5B6D6C4C90 C7FC6D6C4C5A6D6C4C5A6D6C4C5A6D6D4B5A6D6D4B5A6E6C4B5A6E6C4A5B6E6C4A90C8FC 6E6C4A5A6E6C4A5A6E6C4A5A6E6D495A6E6D495A6F6C495A6F6C485B6F6C4890C9FC6F6C 485A6F6C485A6F6C485A6FEBBFF06FEBFFE0705B705B7090CAFC705A4C7E4C7F4C7F93B5 7E4BEBBFF04BEB1FF84B486C7E4B486C7E4B486C7E4B486C7F4B486C7F4B486D7E4A496D 7E4A90C76C7E4A486E7E4A486E7E4A486E7E4A486E7F4A486E7F4A486F7E49496F7E4990 C96C7E4948707E4948707E4948707E4948707F4948707F4948717E4849717E4890CB6C7E 4848727E4848727E4848727E48487213C04848844848F17FE049193F90CD121F007EF20F C0003C1A03535167D386>2 D15 D<1D7E1DFFA2777EA2777E8A1D1F777EA2777E8A1D03777E8A777F1E7F8B787E787E787E 787E8B787E787F787F797E007FC07E8CC17E8C7A7E6C8C6C8CD3EA3FF8F81FFEF807FF7A 13C00E0013F0F97FFCF91FFF7B13E00F0313F80F0013FF103F13F0100F13FC100313FEA2 100F13FC103F13F09FB5128057EBFC000F0713E00F1F13805748C7FCF9FFF85613E00E07 13805648C8FC565AF83FF0003FC15A482080C2C9FC68686C1FF068D26C5A555A5490CAFC 545A545A545A671E1F545A545A6754CBFC6566535A1D0766535AA2535A1D3F66535AA253 CCFCA21D7E975F76DAAC>41 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Ff cmr10 20.74 73 /Ff 73 123 df<94260FFF80EC1FF84CB500F849B5FC041F02FE01071480047F9126FF80 1F14E0922703FFFC01903AE07FF81FF04B903DC0001FF0FFE00FF8DB1FFEC7D807F9EB80 1FDB7FFC6EB538003FFCDBFFF0020F49137F4A494A49EBFFFE4A01805C4A90C85C4A484B 5B141F4A485F4BF17FFC147F4A484DEB3FF873ED1FF049496FED07C07392C7FC735B5B5D B3A7BE12F0A6D8000301C0C800070180C8FCB3B3B3A5496D4B7F87013F01FC037F13FC00 7FB600FE90B87EA6677A7CF964>11 D<94380FFF804CB512F0041F14FE047F80922701FF FC0113C003079039C0003FE0031F90C7EA0FF0DB3FFCEC03F8DBFFF06E7E4A4914004A01 80EC07FE4A90C8121F4A484B7E021F5E4A5A5D147F4A4892B57E7390C7FC495BA349715A 4B6F5A735AF101C096C9FCB3A296380FFF8095B6FCBCFCA6D8000301C0C8123F8585A285 B3B3B3496D4B7FA2013F01FC037F13F8007FB600FE90B712FCA6567A7CF960>I<94380F FFC04CB512FE041F9138FF8380047F15FF923A03FFFC007F4B01C01307DB1FFEC75ADB7F FC5CDBFFF05C4A495C4A13804A90C8FC4A5A141F4A5A4B81147F4A488185494981A35B5D B3A7BCFCA6D8000301C0C81207B3B3B3A5496D4B7FA2013F01FC037F13F8007FB600FE90 B712FCA6567A7CF960>I<94260FFF80ED1FFF4CB500F00203B512E0041F02FC023F14FC 047F02FF91B67E922703FFFC03D980039039F803FF804B9028C0003FC00F903980007FC0 DB1FFEC7270FE03FFEC7EA1FE0DB7FFC912703F07FF8EC07F0DBFFF0912701F9FFE06E7E 4A496EB54814014A0180020F91C8EA0FFC4A90C84849153F4A484B494B7E021F4C17FF4A 4892B55A4B5F147F4A484D4A7F785B49495FA2854971715A4B6F496F5A73715A73EF0380 9CC9FCB3A2F71FFF53B6FCC2FCA6D8000301C0C800070180C87E8B8BA28BB3B3B3496D4B 6D4B7FA2013F01FC037F01F892B512F0007FB600FE90B7D8FC01B712F8A6857A7CF98F> I34 D[ 124 139 119 256 143 37 D39 D[<160F161F163F167C16F81501ED03F0ED07E0ED0FC0ED1F80ED3F00157E15FE4A5A4A 5AA24A5A4A5A141F5D4A5A147F92C7FC5C495AA2495AA2495AA2495AA2495AA2133F5C13 7FA2495AA34890C8FCA3485AA312075BA2120FA25BA2121FA45B123FA6485AA812FFA35B B37FA3127FA86C7EA6121F7FA4120FA27FA21207A27F1203A36C7EA36C7FA36D7EA2133F 80131FA26D7EA26D7EA26D7EA26D7EA26D7E8081143F6E7E81140F6E7E6E7EA26E7E6E7E 157E81ED1F80ED0FC0ED07E0ED03F0ED01F81500167C163F161F160F>40 171 111 256 67 I[<127012F8127C7E7E7F6C7E6C7E6C7E6C7E6C7E137E137F6D7E6D7E A26D7E6D7E8013036D7E801300806E7EA26E7EA26E7EA26E7EA26E7EA281140381A26E7E A36E1380A3ED7FC0A316E0153FA216F0A2151FA216F8A4150F16FCA6ED07FEA816FFA381 B35DA316FEA8ED0FFCA616F8151FA416F0A2153FA216E0A2157F16C0A3EDFF80A34A1300 A34A5AA25D14075DA24A5AA24A5AA24A5AA24A5AA24AC7FC5C13015C495A13075C495A49 5AA2495A49C8FC137E5B485A485A485A485A485A90C9FC123E5A5A1270>40 171 119 256 67 I44 DII[67 172 119 256 86 I<923803FF80033F13F84AB6FC020715 C0021F010113F0913A3FF8003FF8DA7FE0EB0FFC902601FF80EB03FF4990C76C7F49486E 7F49486F7E49486F7EA249486F7E49486F7EA201FF834A15074884A248496F1380A24819 C0A291C97E4819E0A34819F0A44819F8A24982A3007F19FCA800FF19FEB3AC007F19FCA8 6C6C4C13F8A56C19F0A46C19E06E5DA26C19C0A26C19806E5DA26C1900A26C6D4B5A017F 5F6E151F013F5F6D6C4B5A6E157F6D6C4B5A01075F6D6C4A5B6D01C0010790C7FC6D6D49 5ADA3FF8EB3FF86EB448B45A020790B512C0020192C8FCDA003F13F803031380477779F2 56>III<92380FFF8092B512FC0207ECFF80 021F15E0027F15F89126FFF80313FE0103903980007FFFD907FCC7001F7FD90FF06E13E0 49486E7FD93F806E7F49C87E01FE83496F7F484883D9FF80814801E017808080486D17C0 8480A76C495D6C5B6C4917806D5A6D5A90CA140095B5FCA261A24D5BA24D5B614D5B615F 614D90C7FCEF3FFC4D5A4D5A040313C0041F5B92260FFFFEC8FC0207B512F017C017FCEF FF8091C7000313F09338007FFCEF1FFE716C7E717F7113F0717F717F727E85721380A272 13C01AE0A27213F0A21AF8A21AFC84A31AFEA2EA03FCEA0FFF487F487F487FA2B57EA31A FCA260A24A17F8A26C5B4A4B13F091C9FC6C4818E001F04C13C0EA1FC04E13806C6C1800 6D93B5FCD807FC4B5B6C6C5F6C6C6C4A5B6C01E0020F5BD97FF84A5B6DB4027F1380010F D9F803B5C7FC6D90B65A010116F86D6C15E0020F1580020102FCC8FCDA001F1380477779 F256>II<0170171C017C177CD97F80ED03FC02E0151F02FEEDFFF8DAFFF0013F5B92B75A6161 96C7FC60606018E06095C8FC17FC17F017C0D97E1F01FCC9FC91CCFCB3A4923803FFC003 3F13FC92B6FC020315C091260FFE0113F0913A1FE0003FF8DA7F80EB0FFE02FEC76C7ED9 7FF86E7F4A6E7F4A6E7F4A824A6F7E91C9FC017E707E85017C161F01388390CAFC721380 A21AC0A21AE0A2841AF0A51AF8A5EA07F0EA1FFC487E487E80B5FCA41AF0A36091C914E0 5B6C5A01F018C0007ECAFC60003E1980123F6C4D13006D5F6D167F000F606C6C4C5A7F6C 6C4B5B6C6C4B5B6D4B5B6C6C6C4A5B6D6C023F90C7FCD93FF04A5AD91FFE903801FFF890 270FFFC01F5B010390B65A6D16806D6C4AC8FC021F14F8020314C09126007FFCC9FC4577 78F256>I<933801FFE0041F13FE93B67E030315E0030F81033F9038803FF8923AFFF800 07FC4A01E0EB00FE4A0180147F4A90C8EA3F80DA1FFC151F4A48EDFFC04A4814034A485C 4B4A13E0495B495E4990C8FC495AA2495A133F4A6F13C0137F49486F138072130048EF00 FC4A93C7FC5AA2485BA35AA25C5AA35AA2160C923803FFFC48D9000FEBFF80033F14E04B 14F89239FE003FFCDA01F8EB07FFDA03E06D7F4A4801007FB548486E7E4AC87F023E6F7E 023C6F7E027C820278150F02F8824A6F13801AC05C7213E0A24A17F0A21AF8A24A811AFC A591C914FE7EA87EA380A27EA21AFCA27EA21AF86C6D5DA21AF07EA26C6D17E0606C19C0 6E1780017F5E6E1700013F4C5A6D6C4B5A6E5E6D6C157F6D6D4A5A6D6D495B6D6D01075B 6D01F8011F90C7FC6EB4EBFFFE021F90B55A6E5D020315E002001580033F01FCC8FC0303 13C0477779F256>II< 923803FFC0033F13FC4AB67E020715E0021F15F891263FFC007FDAFFE0EB0FFF4990C700 037FD903FC02007FD907F06F7E4948ED1FF049486F7E49486F7E91C91203017E8301FE70 7E498200011980A249177F12031AC0193FA21207A27FA37F197F6D188080806EEEFF006C 7F02FC5D6E5E6E6C4A5A6C6E140703F05D6C6E4A5A03FE4A5A6D6D4A5A04C0495A6D02F0 49C7FC6D6E485A6D9138FE07FC6D9138FF0FF06DEDFFE06D16806D93C8FC6E14FC6E14FF 020F816E15E00201816E15FC020381020F6F7EDA1FF781DA7FC181DAFF8081902703FE00 3F8049486D804948010780D91FE06D8049480100158049486E14C049C8121F487014E048 48030314F048481500844848041F13F8484882060313FC003F834982197F4848EF3FFE19 1FA200FF180F5B1907A31903A41AFC7F127FA2F107F87F003F19F06D170F001F19E06D17 1F6C6C18C0193F6C6CEF7F806C6CEFFF006C6D4B5A6C01E0ED07FC6D6C4B5AD93FFCED3F F06DB4EDFFE06D01E001075B6D01FC017F5B010190B648C7FC6D6C5D021F15F002071580 020002FCC8FC030713C0477779F256>I<923807FFC0037F13FC4AB6FC020715C0021F81 027F010013F8DAFFF8EB3FFC4901C0EB0FFE4949EB03FF4990C76C7F49486E7F49486F7E 49488249486F7E13FF48496F7E48844A150F488484484917805AA21AC048831AE091C9FC 5A1AF0A3B5FC1AF8A284A31AFCA81AFEA26C5FA57E6E5DA27EA26C5FA26C7F6C5FA26C6D 5D6C173D6D6C157D18796D6C15F16D6C14016D6CEC03E10107DB07C113FC6D6C6CEB0F81 6D6DEB3F019026007FF813FE6EB512FC020F14F8020314E0DA007F018014F89239006000 0393C7FCA21AF0A41AE0601AC0A34E1380A21A00137E48B46C4B5A487F486D4B5AA2486D 4B5AA24E5A615F614A4A5B4D90C7FC6C494A5A4A4A5A49C8485AD803F04B5A01FC4A485A 6CB44A5B6C01C0010F5BD97FFC90B5C8FC6DB612FC6D5D010715E0010115806D6C01FCC9 FC020713C0477779F256>II<007FC0FCA2C11280A36C1F006C66D4FCB3A9003F BF12FE488AC11280A36C1F00A2712976BF86>61 D65 DI<95260FFF E0ED03804DB500FE1507051FDAFFC0140F94B700F8141F040316FE041F70143F047FDA80 0F01C0137F93B500F0C77F03030280DA1FF813FF030F01FCC83807FC014B01F0ED03FE4B 01C0923800FF0392B5CAEA7F874A49EF1FC74A01F8EF0FEF4A4971B5FC4A49834A49834A 5B4A90CCFC4A4885494985495B49498589495B4949855B4B855B92CDFC90B586485B895A 5C481D7F5CA25A1E3F5C5AA348491B1FA45A9BC7FCA35CB5FCB27E80A47EF60F80A36C7F A37E801E1F6C1E00A2807E6E636C1D3EA26C6D1B7E6D1C7C6F1AFC7F6F626D1B016D6D62 6D6D1903535A6D7F6D6D4F5A6D6D4F5A6E7E6E6D4EC7FC6E6D187E6E6D606E6D17016E6D 4D5A6E01FEEF0FF06E6D4D5A033F01C04C5A6F01F0EEFF806F01FCDB03FEC8FC0303D9FF 80EC0FFC030002F0EC7FF870903AFF800FFFE0041F91B61280040394C9FC040016F8051F 15E0050192CAFCDD000F13E0697E77F97C>IIII<95260FFFC015070503B500FE5D051F DAFFC05C94B700F05C040716FC041F04FF5C047FDA001F6D5B4BB500E0010113E04B91C8 383FF001030F01FC92380FF8034B01F0ED03FC037F01C06F6C5A92B5CAEA7F0F4A01FCEF 3F8F4A49EF1FDF4A4971B5FC021F01C0834A498393CB7E4A5A02FF85494985495B494985 49875D4949855B4B855B90B5CD7EA2485B89485BA248885CA25A8A485BA4484987A45A9B C8FCA25CA2B5FCB27E80081FB812F0A37EA36E94C7003FECE0006C09031480887691C7FC A26C7FA27E80A27E807EA26C7FA26D7F7F817F6D7F817F6D7F6D7F6D6D606E7E6E7F705F 6E7F02076D5F6E01FC5F6E6DEF1FEF6E6D6CEE3FC76F6DEE7F83031F01F0EEFF016F01FC 923803FE000303D9FF80DA0FFC7F6F02F0DA7FF87F6F6C9028FF8007FFF07F041F91B600 C07F040794C77E040004FC91C8FC051F15E0050392CBFCDD000F13E0747E76F987>III75 DIIIII82 DI<001FBF12F0A692C700039138C000014801E06E4AD9000F 13F802806E91C8120349C9170001F81C3F491C1F491C0F491C07A2491C03A290CA1801A3 007EF500FCA5007C1E7CA8481E3EA6CB1900B3B3B3AE4D80A2050714E0057F14FE4ABB7E A66F757AF47C>IIII<0103ED0180496CEC03C0496CEC07E04948EC0FC049C8EA1F80013E160049 153E495D48485DA248484A5A495D00071503495D000F150790C85B48150F001E93C7FC00 3E5D003C151EA2007C153EA20078153CA300F8157C481578A601FC157ED8F3FF913879FF 8000F76D017B13C0B56C017F13E06E15F0A26E15F86C81A36C81A24A15F06C816C496D13 E06C496D13C06C90C76C1380D800FC9138007E00353366F756>92 D97 DI<923801FFF0031F13FF92B612E0020315FC020F9038803FFE913B3F FC0001FF80DA7FF09038003FC0494848EC0FE04901806E7E4990C87F4948151F49484B7E 013F167F49484B7E49485CA2485B5A5C5AA248496E5B725A48715A725A4890CCFCA35AA3 5BA212FFAE127F7FA37EA36C7FA2F10F806C7FA26C181F6E17006C606C6D163E197E6C6D 167C6D6C16FC013F5F6D6C15016D6C4B5A6D6D4A5A6D6D4A5A6D6DEC3F806D01F802FFC7 FCDA3FFEEB03FE913A0FFFC01FF86E90B55A020015C0033F49C8FC030113E0414F7ACC4D >I<1A7E95380FFFFE0503B5FCA6EF0003F0007F193FA2191FB3AE923801FFE0031F13FE 92B612C0020315F0020F9038E01FF8913A3FFE0003FEDA7FF8EB007FDAFFE0EC3F9F0103 49EC0FDF4949EC07FF4948C87E494881013F824948167F495A193F485B48181F5C5A485B A25AA291CAFC5AA35A5BA312FFAE127FA37FA27EA37E807EA27E806C183F6C7F197F6C6D 16FF137F6D6C5D6D6C4B7F6D6C5D6D6CDB0FDF7F6D6DDA3F9F13F06D6DDA7F1FEBFFF06D 01F0EB01FCDA7FFCEB07F8913A1FFF807FF0020790B512C002011500DA003F01FCEDFC00 030301C00280C7FC547A7AF760>I<923807FFC0033F13FC4AB67E020715E0021F01017F 913A7FF8003FFCDAFFE0EB0FFE49496D7E0107496D7F4990C76C7F49486E7F4948824948 6F7E01FF163F4A824849151F48845C48717EA2485B1A804883A24890C9FCA21AC05A845B A312FF90BAFCA31A8049CCFCAA127FA27FA27EA36C7FF10380F107C07E6E160F7E6C6DEE 1F80A26CF03F006C7F6E167E017F17FE6D6C5E6D6C4B5A6D6C15036D6D4A5A6D6D4A5A01 006DEC3FC0DA7FF802FFC7FCDA1FFEEB03FE913A0FFFC03FF8020390B55A020015C0031F 49C8FC030113F0424F7BCC4D>IIIIIIII<023FDA1FFEEE3FFC0003B591B500E04AB5 12C0B6010702FC020F14F8041F6E023F8093283FE01FFF8090397FC03FFF93267F00036D 9026FE00077F04FC6D9026E001F86D7FDB03F06D9026F007E06D7FC64A48027F49487F01 1F4A03F849816D49486E6C48C86C7E4BC8143E6D013E031F49153F033CDCFE7882037C17 F84B705A4B6F49151F8C4B5FA34B5FA44B94C9FCB3B3A6496D4B6D4B7EA2017F01F892B5 00F04AB512E0B7D8FC01B7D8F803B712F0A6844C7ACB8F>I<023FEC1FFE0003B591B512 E0B6010714FC041F80933A3FE01FFF8093267F00037F04FC6D7FDB03F06D7FC64A48147F 011F4A816D49486E7E4BC8FC6D013E151F033C82157C5D4B150F865DA35DA45DB3B3A649 6D4B7FA2017F01F892B512F0B7D8FC01B712F8A6554C7ACB60>III<922601FFE0143E031F01FE147E92B67E020381020F9026E01FF013FE02 3F90380003F8DA7FFCEB00FCDAFFF0EC7E01010349141F4949EC0F834949EC07C34990C8 13E34948ED03E74948ED01F701FF17FF4A815A4849167FA24849163F5A5C48181F5CA25A A291CAFC5AA4485AAE6C7EA47EA280A27E807EA26C6D163FA26C6D167F7E6E16FF6C5F6D 7E6D6C5D011F5E6D6CED0FDF6D6DEC1F9F6D6DEC3F1F6D6D14FE6D01F8EB01FCDA3FFEEB 0FF8913A1FFF807FE0020790B512C002011500DA003F13F8030313C092C9FCB3A44F7EA2 4EB512E00503B712F0A6546D7ACB5B>I<023FECFF800003B5010713F0B6011F7F4C13FE 9338FF83FF923801FC07922603F00F1380DB07E014C0C64B5A011FEB0F806DEB1F00151E 6D133E153C037C6D138003786D130003F86D5A4B6D5A94C8FCA25DA35DA65DB3B3A2497F 81017F13FCB87EA63A4C7CCB43>I<91260FFF8013E049B5EAF8030107ECFE07013FECFF 8F90267FF80013DF2601FF80EB1FFF4848C71207D807F8140148488049157F4848153F48 48151FA2007F160F90C9FCA2481607A317037FA27F7FA213F86C6C92C7FC13FF14E06C13 FEECFFF06CECFF806C15F86C15FF6C16C06C16F06C826D81011F816D8101031680D9007F 15C0020715E0DA003F14F01501DB001F13F81603040013FC0078167F00F8163FEF1FFE17 0F6C1607A21703A26C1601A37EA26D16FCA26D150318F87F17076D16F06DED0FE07F6DED 1FC06DED7F80D99FC0903801FF00D90FF0EB07FE26FE07FEEB7FF8486CB65A48C615C048 013F49C7FC48010313E0374F7ACC44>IIIII<007FB600F0010FB612E0A6D8003F02800103ECF800 010749C76C148001017049C7FC6D4916F8027FEE7FE06F4B5A023F5F6E6C93C8FC6E6D5C 6E4B5A705C6E6D495A6E6D495A6E150F6F6C495A705C6F6C49C9FC6F6C137E6F14FEEF81 FC6FEBC1F86FEBE3F06FEBE7E017FF6F5C705B7090CAFCA282707F82707F4C7F4C7FA24C 7F4C6C7E4C6C7E9338FE1FFF4C7EDB01F8804B486C7F03076D7F4C7EDB0FC0804B486C7F 033F6E7E4BC7123F037E814B6E7E4A486E7F0203814A486E7F020F834A486E7F023F6F7F 027F8302FF167F010384010F94B5FC013F6D17C00003B56C020314F8B600FE021FECFFFC A6564A7EC95B>II<000FB912FC19FE A302FCC813FC02C05C49C814F848484B13F0494B13E0495D4917C0494B13805F494B1300 604D5A90C85A604C5B4C5B5E485F003E4B5B5E4C90C7FC5F4C5A5DC85C4B5B4B5B5D5F4B 5B5D4B90C8FC5E4B5A5C4A5B5E4A5B4A161F5E4A5B4A90C8FC5C4B153E4A5A5B495B5D49 5B5B4B157E495B4990C9FC4917FE4A16FC495A481701485B4A1503485B4817074A150F48 49153F4890C912FF48160349033F13F8BAFCA37E404A7BC94D>I E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fg cmbx12 24.888 30 /Fg 30 122 df[<0803B500C0EE01F00703B600FEEE03F8077FDBFFE015070607B800FC 150F063F05FF151F4DBA00E0143F050F07F8147F053F07FE14FF94BC5B04039326F8000F ECC003040F4BC86CEBF007043F03C0030F6D5A93B648C900036D5A4B03F09339007FFF3F 030703C0051F90B5FC4B92CB7E033F02FC18034B02F08492B648844A0380193F4A92CD7E 4A4A864A4A864A02F0864A4A864A8991B65A494B874992CF7E4C885B494A885E498B494A 88A2495C8D90B65A8D5A5E48217FA24892D1FC223FA25A5DA248211FA3485CFA0FF09FC7 FCA25AA45DA3B6FCB27EA381A47EA46C80FA07F0FA0FF87EA2817EA36C6F1D1F23F07E82 7E223F6D6E1EE0A26D6E1D7F23C06D6E1DFF7F705213806D806D55130070646D6F646D6F 515A6E6E1B1F6E6E515A6E6E515A6E6E1BFF6E6E505B6E6E505B6E6F4F5B6E03E04F90C7 FC6F6EF13FFE6F02FC4F5A030F02FF4E485A6F03C005075B030103F0051F5B6F03FE057F 1380043FDAFFE00303B5C8FC040F03FE033F13FC0403DBFFF80107B55A040093B812E005 3F1A80050F4FC9FC050119F8DD003F18C0060795CAFCDE007F16F0070393CBFCDF000314 C0>141 146 115 271 168 67 D[138 141 120 268 153 69 D[74 142 122 269 87 73 D[203 142 120 269 220 77 D[<97B512F0077FECFFE00607B712FE067FEEFFE00503B912FC051FF0FF80057F 19E00403BB12FC040F9226E0007F14FF043F02FCC7000315C04C02E0DA007F804BB60080 031F14F8030702FCC9000314FE4B4A70804B02E0706C80037F0280051F14E092B6CB6C80 4A4A72804A4A72804A02F00600804A4A737F4A4A73804A8B4A4A738091B6CD6C80494A74 80A2494A7480494A7480498C4C86498D4C87498D494A7580A290B68B4C87488EA24892CF 6C80A3488E4B88A2488EA3484A761580A34823C0A5484A7615E0A7B621F0B36C23E0A26F 64A56C23C0A46F646C2380A36C23006F64A26C6AA270636C6AA26C6A70636C6A70636D69 A26D6E98B65AA26D6E505DA26D6E5092C7FC6D6870626D6E505C6D686D6F4F5C6E6E4F5C 6E6E4F5CA26E6E96B65A6E6E4E92C8FC6E6E4E5C020102FF060F14F86E6F4D5C6F6E4D5C 6F02F094B65A030F6E4C92C9FC6F02FE04075C03016E6C031F14F86F03F092B65A043F02 FE020715C0040FDAFFF090B7CAFC040392B812FC04001AF0051F198005074ECBFCDD007F 17E0060F94CCFCDE007F15E0070002F0CDFC>148 146 115 271 175 79 D[137 142 120 269 159 I[163 144 120 269 173 82 D[<93260FFFF8163E4BB600E0153F031F03FE5D037FDB FFC05C0203B800F05B020F05FC5B4A05FF5B027FF0C00F91B526FE000FECF01F010302C0 D9007F6D5A4991C800076D5A4901FC030090B6FC4901F0163F4949160F4901808290B517 0192CBFC4849844849181F87484984A2484984874886A248498588A24887A388A2B58680 A36E85A280A26E8580A2818103F0725A6C6E96C7FC15FE8116E06C15FEEEFFE017FF6C17 F0F0FF806C18F8F1FFC06C19FCF2FF806C1AE01BF86C1AFE6C747E6D1AE0886D866D866D 1AFF6D876D87010087806E86020F86020386020086153F030F851501DB001F19801601DC 000F18C0EF007F060717E0F0003F070316F0F1003F1A0F080315F81A00871B1F877514FC A287007F86486C85A288A388A36D86A31EF87FA37F1EF0A26D626D1CE0A27F6D5013C0A2 6E1B806E96B5FC6E1B0002F8606E4E5B6E626E6C5F03E04D5B03F84D5B03FE057F5BDBFF C093B55A04F803035C496CD9FF80021F91C7FCD9FC1F02FF49B55AD9F80792B75A496C19 F049C66149011F18804901074DC8FC90C817F848031F16C048030003FCC9FC007C040114 80>102 146 115 271 129 I[164 144 123 269 175 86 D[229 144 123 269 240 I<93B512FC037FECFFF00207B8FC023F17 E091B912F84918FE0107727E499126C0007F14E04901E0C7000F80496D020380496D0200 14FE6F6F7F90B570806F6F8085486E6F807380A27380A28885886C5CA26D4982886D5B6D 5B010713C0010190CAFC90CCFCA90603B7FC050FB8FC0403B9FC167F0307BAFC153F4AB7 EA807F020FEDE000023F02FCC7FC91B612E0010392C8FC4914FC011F14F04914C0495C90 B548C9FC485C485C485C485C5A5D485CA24891CAFCA3B6FC5CA397B6FCA461806C60F107 EF6C6E150F6F16CF6C183F6FDB7F8F806C6EDBFF0F14E06C02FCDA03FE15FE6C6E91260F FC0791B5FC6C6E6CD93FF817806C923AF803FFF003013F91B6487E010FEF8000010394C7 7E010004FC141F021F03F0140702010380DA007F1400DA000701F8CDFC695F79DD71>97 D<94387FFFF0041FB612E093B712FE0307707E031F17F092B97E4A18FE020784021F9126 F8000F14804A0280010014C04A49C74814E049B500F85C494A17F0494A5C495C494A4A14 F84991C8FC5D495B90B5FC5D5A485C7314F05A4B6F14E05A7314C0487214804B93383FFE 00F20FF84896C8FCA4485CA5B6FCB07EA281A37EA36C80A37E6F18FE6CF201FFA26C6E5F 1CFE6C801B076C6EEF0FFC6D7F70EE1FF86DF13FF06D6E167F6D6EEEFFE06D02F84B13C0 6D6E5D6D02FF030F13806D03C0023F1300023F02F0903801FFFC6E9126FF801F5B020792 B65A6E18C0020060033F4CC7FC030716F8030016C0041F4AC8FCDC007F13C0585F78DD67 >99 D[113 144 120 270 129 I<94387FFFC0040FB6FC93B712E0030716FC031F16FF037F17C04AB912F0 0207DAF80380021F912680003F13FE4A49C7000F7F4A01F802038049B5486E804902C06E 6C7F494A6F7F4991C9FC49727F4949707F4B84498490B548707F5A4B198048855D481CC0 86481CE05D5A871DF05AA25D5AA21DF887A2B6FCA392BBFCA51DF00380CDFCA77EA4817E A37EA2817EA26CF307F06FF00FF87E816C1B1F6F19F06C1B3F6D6DF07FE06D7FF4FFC06D 6E4C13806D6E5E6D02F04C13006D6EEE1FFE6D6E4C5A6D6C01FFEEFFF86E02E002035B6E 02FC021F5B02079126FFC003B55A6E92B7C7FC020060033F17F8030F17E003011780DB00 3F03FCC8FC040315C0DC000F01F8C9FC5D5F7ADD6A>I[<95383FFF80050FB512F094B612 FE040781041F16C0047F824BB87E0307DAF8077F031FDAC00F7F4B49C6487F4B495B92B5 00F0814A4A5B4A5C4A93B612805F4A91C7FC5C5E5C5E5C731400A24C6E5B91B56F5BA273 5B070313E00700138097C8FCB3A4BA12F8A9C702FCCBFCB3B3B3B3A2003FB9FCA9>81 144 121 271 71 I[114 143 119 270 129 104 D[49 144 119 271 65 I[112 143 121 270 123 107 D[50 143 119 270 65 III<94381FFFF00407B6 12C0047F15FC0303B87E030F17E0037F17FC4ABAFC4A9126FC007F80020F02C0010714E0 4A49C880027F01F8033F13FC91B5486F7F4902C003077F494A6F804991C96C8049497080 4949717F49874949717FA290B548717F48884B83481D80A2481DC04B83481DE0A2481DF0 A3484A7114F8A4481DFCA5B61BFEAF6C1DFCA56C6E4D14F8A36C1DF0A36C1DE06F5F6C1D C0A26C6E4D1480A26C1D006F5F6C646D6D4D5B6F94B5FC6D636D6D4C5C6D6E4B5C6D6E4B 5C6D02F0031F5C6D6E4B91C7FC6D6C01FE92B512FC6ED9FFC001075C6E02FC017F5C0207 91B812C0020196C8FC6E6C17FC031F17F003031780DB007F03FCC9FC040715C0DC001F01 F0CAFC675F7ADD74>I I114 D<92261FFFF814F80203B638C001FC023FEDFC0791B8121F01 0317FF130F013F9038F8001F4990C8FCD9FFF8153F4801E0150F484915034849814890CA FC197F4848173F191F485AA2007F180FA31907487EA27FA28002E0705A6E93C8FC14FC14 FF15F06CECFF8016FCEEFFF06CEEFF8018F06C17FE727E6C18E0856C18FC6C846C727E6C 856D84011F846D841303010084023F83140F020183EC001FDB007F16801603DC000F15C0 1700183F060F14E0007F1703486C82727E857F85857FA2857F1BC07FA27F1B806D5F7F1B 006E5E6E5F6E163F6E4C5A02FC4C5A6E03035B6E6C4A5B03F0023F5B03FF0107B55A01F9 91B7C7FCD9F07F16FCD9E01F16F0D9800716C0D9000193C8FC48D9003F14F8007C020349 C9FC4B5F78DD5C>I[72 132 124 258 90 IIII<007FB8 00C04AB71280A9D800034ACA000791C7FC6D080013F0775A6D6E4E5AA26E6E6064836E4F 90C8FC836E4F5A836E4F5AA26E6E4C5AA26E6E5F1C3F6E6E5F1C7F836E4F5A846F4D5B84 6F4D90C9FCA26F6E4A5AA26F6E5D1B0F846F4D5A846F4D5A846F4D5AA26F6E4A5AA2706E 5C627002C091CAFC6219E0704B5A19F0704B5AA2706E485AA2706E485AA27002FE5B1A7F 19FF704B5AA2715DA27192CBFCA2715CA2715CA3715CA2715CA2715CA2715CA2725BA272 90CCFCA3725AA2725AA24E5AA24E5AA261187FA24E5AA24D5B13FE2603FF804A90CDFC00 0F13E0486D4A5A487F486D4A5AA260B56C141F4D5AA24D5A17FF604C5B4A4990CEFC6C5D 4C5A6C49EB3FFC4A495A6C4948485A9026FE80075B270FFFC03F5B6C90B6CFFC6C5D6C15 F86C6C5C011F14C0010749D0FC9038007FE071857CDB7B>121 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fh cmr5 10.37 33 /Fh 33 122 df48 D<143C147CEB01FC1307133FB5FCA213FB13C3EA0003B3B3A7EB0FFF007FB6 12E0A4233975B83B>I<903801FFC0011F13FC017FEBFF8048B612E02603F8037F3A0FE0 003FFCD81F80EB0FFE48C76C7E003E80486E13806F13C0B4FC6D147F6D15E0A3163FA26C 5A6CC8127FC9FC17C0A216FF17805D4B13005E4B5A4B5A4B5A4B5AED7F804BC7FCEC01FC 4A5AEC0FE04A5A4AC8FC147E14F8D903F0EB01E0495AEB0F8049C7EA03C0133E13F84848 1407485A48B712805A123F5AB8FC1700A32B3979B83B>III<0007150601E0147E 01FFEB07FE91B55A5E5E16C093C7FC15FC15F0018F13800180C9FCAAEC7FE0903883FFFE 018F6D7E9039BFC03FE09039FE000FF001F8EB03F801E06D7E4980496D7E6CC8EA7F80C9 FC17C0A2163F17E0A4123EEA7F8012FFA317C0167F90C8FC007C168016FF17006C4A5A6C 4A5A01C0495AD807F0EB1FF0D803FEEBFFE06CB612806C6C49C7FC011F13F8010113802B 3B79B83B>I<4AB47E020F13F0027F13FC49B6FC0107EB007FD90FF8EB0F80D91FE0EB1F C0D97F80133F49C7127F485A5B485A0007ED3F804848EC1F0093C7FC485AA2485AA3127F EC3FFE49B57E018314E03AFF87C007F890398F0001FC019E6D7E01BC147F01F8EC3F8049 15C049EC1FE0A24915F0160FA217F85BA2127FA46C7EA217F0121F6D141F17E0120F6C6C EC3FC06DEC7F8000031600D801FEEB01FE6C6C495A90397FE00FF8011FB512E06D5C0101 49C7FC9038003FF02D3B7AB83B>I<121FA213E090B712FCA35A17F817F017E017C0007C C8EA0F80EE1F000078153E5E5E485D15014B5AC8485A4B5A4BC7FC153E5D5DA24A5A1403 5D4A5A140FA24A5AA2143F92C8FC5CA25C5CA21301A313035CA41307A96D5A6D5A2E3C78 B93B>III<922603FFC01307037F13F80203B6130F020FEDC01F023F9039001FF03FDAFFF0EB03 F801030180903800FE7F4948C8EA3FFFD91FF88149481507494881495A4849814890CAFC 49177F485A000F183F5B001F181F5B123FA24848170FA31900485AAB6C7EA2190FA26C7E A2121F6D171F000F181E7F0007183E6C6C173C6D177C6C6D16F86C7F6D6CED01F06D6CED 03E0D91FFCED0FC0D907FEED1F806D6C6CEC7F00010001F0EB01FCDA3FFFEB0FF8020F90 B512E002031580DA007F01FCC7FC030313C0403F78BC52>67 D69 D77 DI80 D86 D<903807FF80017F13F048B512FC3903F801FF3A07E0 007FC0486C6D7E6D6D7E150F6F7EA26F7E6C5AEA008090C7FCA3EC0FFF49B5FC131F9038 7FFC033801FFC03807FE00EA0FF8485A485A485A5B00FF160F90C7FCA21507A26D130F00 7F141F6D90383FFE1FD83FF0017C131E3B1FFC03F0FFFC0007B538E07FF800019138803F F03B001FF8001FC030287AA63B>97 D99 D101 D103 DII<13FE12FFA4120712031201B3B3AC487EB512FCA416 3C7ABB22>108 DII II<3901FC01FC00FFEB07FF021F13C0EC3E1F9138 783FE0000713F03803FDE0000113C013FF9138801FC0ED020091C8FCA35BB3487EB6FCA4 23267AA52F>114 D<90381FFC0748B5128F000714FF380FE007003FC7FC003C804880A2 4880A2817E7E7ED87FC090C7FC13FF6C13FC000FEBFFC06C14F0000114FCD8003F7F0100 7F020313809138003FC000F0140FED07E06C1403A215017EA27E6CEC03C0150701C0EB0F 806DEB1F00D8F9F813FE00F8B512F8D8F03F13E0D8E00790C7FC23287BA62F>IIII121 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fi cmbxti10 20.74 22 /Fi 22 122 df<000FB812804817C0A35AA21880A25AA21800A2B9FCA26C5E6C5E321071 AE47>45 D<972603FFFE167C97B600E015FC071F03FCEC03FE96B8EC07FC060705C0130F 063F05F0133F4DB900FC137F050772EBFFF8051FDBE0016D5A057F02FCC7003F13874CB6 00C0020713CF4C4AC86C90B512F0040F02F815004C02E082047F02808293B548CA6C14E0 03034A834B14F04B4A834B02807114C04B91CBFC4B498492B55A4A4A1B804A4A844A5C5C 4A4A7313004A5C4A91CDFCA291B54863495C491D3F5E494A635B5E5B4C635B4C1A7F5B68 90B6CEFCA2484A755A9CC8FC5A5D5AA25D5AA25A5DA35A5DA35A5DA3B6FC5DA492D2FCA6 5CF63FC0547EA21EFF67A26567A2659CC8FC6C64661D0F535A6C7F535A535A7E6F4F5A6C 515B646C6E4E5B5290C9FC6C6E4E5A525A6C6E4E5A6C6E4E5A6D6D05035B6F4D5B6D6D05 1F5B6D02C04C90CAFC6D6EEEFFFC6D02F803035B010102FE031F13E06DDAFFC091B55A6E 02FE011F91CBFC021F91B712FC020718F0020118C06E6C94CCFC030F16FC030116E0DB00 1F4ACDFCDC007F13C07F7C64F88E>67 D<0303BA12C04B19E05DA41DC06F198092C70003 92C8FC1AFCA25FA262A25FA262A25FA262A25FA262A25FA262A294B6FCA297C9FCA25EA2 61A25EA261A25EA261A25EA261A25EA261A25EA261A25EA261A293B6FCA296CAFCA25DA2 60A25DA260A25DA260A25DA260A25DA260A25DA260A25DA260A292B6FCA295CBFCA25CA2 5FA25CA25FA25CA24A5C003FB912FC488485A2BA5AA27E6C605B7677F551>73 D<0303B80903B712FE4B71080F16FF4B6887A15AA15AA117FE6F9DB812FC92C700075303 FCC7FCA115F075614D65A15DFB0FFBFB1FF34D1EF74E6EDF3FE75C60FB7FC7053F535AA1 5D4E51130F736DF003FE057F66E807FC92C8FC06F0F30FF8A205FF52485AE83FE05C4E6C 7FFA7FC04C53485AA15C06C0501300575A4C6E6D97B5FC57485D0680505AA24C52485AE7 3FE05D4E6C7FF97FC04C52485AA15C4D501300565A041F66736E4B485E4D505AA2043F51 485BA15C4D505A736E4B5A047F66564893C9FC4D4F90C7FCA204FF50485C55485E4D6D80 555A4B51485CA15B4D4F5A555A4B6F6E95B5FC55485E4D4E90C8FCA24B50485C54485F94 C86C7F545A4B50485CA15B4C4F5A545A031F66746D49485F4C4E90C8FCA2033F4F485DA1 5B4C4E5A746D485A037F66534895CAFC4C4E5AA203FF4F485D7490B5485F5E9BC9FC4A50 5EA15A4C60654A7196B5FC53604C60A24A505D536093C97E9AC9FC4A4F5E023F690107B5 00F04D5E003FB700FE4C020FB912E048704F84726D4987B94C5CA295C74A636C7349806C 4C6FC86C60C07676F5B9>77 D<0103BF12F0491EF85BA35BA3499126F0000F9126F00007 14F04BC748EE007F03F01A1F4901C04D804B864AC8488349481DE04A4E805C485F5C4A60 481FC04A92B6FCA24890C992C8FCA2495D000F1F804960A2001F5E5B505D003F1F00495D A2007F615B4D6000FF666C484E15036C48765ACA4895C8FCA262A25FA262A25FA262A294 B6FCA297CCFCA25EA261A25EA261A25EA261A25EA261A25EA261A25EA261A25EA261A293 B6FCA296CDFCA25DA260A25DA260A25DA260A25DA260A25DA2157F003FBB12E04886BCFC A4636C62757461F389>84 D<001FB900F80203B812E048724A17F04863A44F1AE06C4E6E 17C0C7003F02F0CB4AC7FC05C0060F13C07890C8FC4A63675FA291B6191F6794CCFCA249 1C3F675EA2491C7F675EA2491CFF675EA24963675EA24963675EA249639CC9FC5EA24963 665EA290B6191F6693CCFCA2481C3F665DA2481C7F665DA2481CFF665DA24863665DA248 63665DA248639BCAFC5DA24863655DA21C1FB66292CCFCA21C3F655C525AA21CFF654A60 6563655190CBFC636C631B1F515A515A6C6D4E5A626C4F5B505B6C6D4D5B5090CCFC6C6E EE7FFE6C6E4B485A6C6E4B5B6C6E031F13E06D01FC037F5B6D01FF0207B55A6D02F090B5 48CDFC6D91B75A010318F0010018C0023F94CEFC020F16F8020116C0DA003F4ACFFC0300 148084795BF598>I97 D<94380FFFC04CB512FC041F14FF93B712C0030382030F82033FD9FE01 13FC92B538F0003F4A0280EB0FFE020791C76C7E4A01FC141F4A494A13804A4991B5FC91 B5485B495C494A5B93C7FC49495C5B495B49494A1400A2495B90B56F5B4B5E48715B6248 4A6E5B9538007F804895C8FC5D5AA24891CCFCA35A5CA35A5CA4B55AA45CA67EA25C1A1C 6C6D173E1A7E1AFF6C060313804F13C06C4E13806E5E6C067F13006C6D4B485A6E03075B 6C6D031F5B6C6E91B512E06D01E001075C011F01FC90B6C7FC6D90B712FC010317F00100 17C0023F4BC8FC020715E0DA003F01F0C9FC4A4F6FCD5C>99 D<94381FFF800407B512F8 043F14FE4BB77E030716E0033F824BD9FC037F4AB5D8E0007F020791C7123F4A01FC6E7E 023F49814A01E08091B55A494A6E13804991C8FC495B5B495B495B495F4B170090B55A48 60A2484A4B5A197F484A5E4E485A485F92C8000F5B48053F5B4DB55A48040F5C4A0103B5 48C7FC91B85A19F04818804EC8FC18E005F8C9FCB500FCCCFC5CA45CA55CA77E1A381A7C 1AFC6C4E7EF107FF6C6D4C13804F13006C606EEEFFFE6C05035B6C6D030F5B6C6D033F5B 6C6D4AB512C06D01C0010F5C6DD9F801B548C7FC010F90B712F86D17E0010117806D6C03 FCC8FC020F15C0DA007F01E0C9FC494F6ECD5C>101 DI<943801FFE0 053F13FC4CB67E04079238C01F80041F9238F07FE0047F9238F9FFF04BB5D8C07FB512F8 03079038FE000F4B01F86D14FC4B497F037F497F92B5487F4A5C4A91C86C13F84A5B4A49 81A24A4917F05C4A495DA291B54817E05B4C92B5FC5B1CC0495C615B93C815805B61A249 491800A2615B4B5FA26190B5FC4B5FA261A2484A5FA261A24B5FA261A263A24B92B5FC7E 63A2607F4E5C606D5E6F5C6D4C91C7FC606D6D91B6FC6D15036D6D495C6D6D131F6DD9FF 81B6FC6E90B7FC6E5F020F15CF0203151FDA007F13F8030701805C92C8FC60A262A260A2 62A295B5FC13FE2603FF805F487F001F6D5C6E5F485E4896C8FC5FB54B5B615F4D5B4A4A 5B4CB55A4A495C4A010F91C9FC6C033F5BDAE001B512F86C90B712E06C17806C4CCAFC00 0316F0C66C92CBFC010314E0567076CD5C>I<923807FFF091B67E5B5BA45F7F90C77EA2 5FA392B5FC5FA35C5FA35C94CCFCA35C5EA35C5EA35C5EA35C5EA34AED3FFEDCE003B512 E0051F14FC057F14FF91B500E1B77E4C8204CFD9E03F7F9327DFFE000F7F49DAFFF86D7F 17E005806D7F94C7FC494A825E5E5E494A825E5EA24991C8FC5DA24B4B5B5B5DA2615B4B 5FA26149615DA26190B5605D61635A4B92B5FC63A2485F92C85DA2604897C8FC5C4EED0F F862484D151F4A5FA24E153F484F14F05C4E157F5014E05A4A4BEDFFC0625113805A4A4D 481300724A5AA2B54F5A4A6F4A5A515A724A5A4A9438C3FFC07290B55A91C96C92C7FC6C 487014FC6C48706C5B6C48051F13E0D807E0050390C8FC5D7973F766>II<92381FFFC00103B612E05BA25BA36D15C07FEB0001A21780A25CA21700A25CA25E A25CA25EA25CA25EA25CA25EA25CA25EA291B5FCA25EA25BA25EA25BA293C7FCA25BA25D A25BA25DA25BA25DA25BA25DA25BA25DA290B5FCA25DA25AA25DA25AA292C8FCA25AA25C A25AA25CA25AA25C4BB4FC5A5D14F0A25A4B5A14E0A2150FB55C14C05E151FA26C4A5A14 805E6C147F5E6C6D485A14C16C01C390C7FC6CEBFFFE6C5C6C5C6C6C5B011F13C0010190 C8FC2B7971F733>108 DII<94380FFFE04C B6FC041F15E093B712FC030382030F707E033F49C614E092B500F0011F7F4A02806D7F02 0791C700037F4A01FC6E7F4A49824A498091B5481780494A6F13C0495C93C914E0495B49 84494918F0495BA2495B90B519F85D4861A2485CA25A5D4896B5FCA24891CAFCA261481B F05CA261481BE05CA2611CC0B55AA24F1480A24A19006163A24F5BA26C4E5B635C96B55A 6C6D4B5C63606C4D91C7FC626C4D5B6E4B5B6C4D5B6C6D92B55A6E4A14806C6D4A91C8FC 6C6E010F13FC6D01E0017F5B011FD9FC03B512E06D90B7128001034CC9FC010016F8023F 15C0020702FCCAFCDA003F1380554F6FCD66>I114 D<933803FFF8043FEBFF804BB612E0030715F8031F15FE4B8192B5D8003F13804A01F001 0713C04A01C0010113E04A90C8FC4A484A13F04B5C4A485C023F5D4B5C147F604A5AA349 18E0A26F16C0721380496D16006FEC07FE03FFEC01F004E090C8FC16FF6D15F8EFFF8018 F018FC6D82727E6E826E826E8285020782806E826E7E030F8115001607EE003F05071480 1701017F6F7E2601FFC08100077F486D6F13004883487FA24860A34E5AB55A614A153F61 4A157F6C494B5A91C95B01FC5D6C4803075B6D4B90C7FC6CB4ED3FFE6C01C0903801FFF8 6C01FC011F5B6C90B75AC61780013F4BC8FC010F15F001011580D9000F01F0C9FC444F72 CD54>I<167E923803FF804B7F4B7F5DA25DA25DA392B5FCA25FA25CA25FA25CA294C7FC A25CA25EA25CA25EA25CA2003FB812F84817FC18FEB9FC18FCA36C17F8C76C01E0C7FCA2 91B5FCA25EA25BA25EA25BA293C8FCA25BA25DA25BA25DA25BA25DA25BA25DA25BA25DA2 90B5FCA25DA25AA25DEF07FC5A170F92C7FC171F4817F8173F4A15F0177F18E04816FF4A 15C05E4C138018006C4B5A4A130F4C5A6C4B5A4C5A6C6D495A03035B6CD9FE0F5B6DB548 C7FC6D5C6D14F0010714C0010191C8FC9038001FF8376F70ED42>I118 D121 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fj cmbx10 20.74 33 /Fj 33 124 df39 D46 D<96B512E0067FECFFC00507B712FC057FEEFFC00403B912F8040F18FE04 7F912680003FEBFFC04BB500E0C814F0030701FCC9000713FC4B01E004007F033F90CB38 1FFF80DBFFFC060713E04A01F006017F4A01C0726C7E020F90CDEA1FFEDA1FFCF207FF4A 48747F4A48747FDAFFC0746C7E4949757E4990CF6C7E4948767E4A1C074948DC3FFF707E 49480307B500F06F7E4948033F02FE6F7F4DB77E4948020704E06F7E4948021F706F7E4D D9FC0313FC4890C8B527E0003FFE6F7E494A0280D90FFF150F00034B91C700036D81494A 4902006D140700074B496F6C81494A496F6C14034C49151F48484A4992260FFFFE6D7E76 EBFF80001F92B5488649498860003F4A1E80491F7F4B91C9FCA2007F4A1EC0494B1B3FA2 5DA300FF21E090C74A1B1F5DAE816D81127F22C0A281213F6D81003F80A26F6E1B807F00 1F6E1D7F846D6D1E00000F6F7F525E6C6C6E6D4B5E706D5D6D6E6D4B4B5A00036F6D92B6 EAC0036D6E6D02035F00016F6E010F16076D6E02E0013F6F485A6C6D023F9027FC03FFFC 9138F07FE07190B6D8F07F90B55A6D6C0207DCE01F5D6D6C0201DC800F92C7FCDD003F91 26FE00035C6D6C030702F0D9007F13F86D6CDB003F90C8000313C06D6C93CFFC806D7E6D 7F6D7FEC7FF06E6C993803FFC06E6C0A1F13E06EB41C7F020301C00803B5FC6E01F0081F 14C06E01FC97B61200DB3FFF070F14F8030F01E095B612C06F01FC051F4AC7FC0301D9FF E00307B612F06F6CD9FF800107B71280040F91B900F8C8FC04031A80DC007F06F0C9FC05 074DCAFCDD007F168006004ACCFC837A75F89A>64 D<96261FFFF8161E060FB600C0153F 4DB700FC15FF051FDCFF805B94B900E05B040306F85B041F06FE5B047F726C5A4BB7D880 01ECC07F030703F0C7001F01F0B5FC4B92C8000313F9033F02F8030090B6FC92B600C016 3F4A92CA120F4A4A1703020F02F8834A02E0834A4A183F4A4A8491B6CC7E494A85495C49 4A854C85494A855B494A868B495C90B6CE7EA2488A5D5A4B875AA2488A5DA25A8B5D5AA2 F700FE20005AA25DA4B6FCB07EA481A27EA3207E6C1FFF81A27EA2817E676C1FFE817E6F 1B036C1FFCA26D6E1A076D6E1BF81F0F6D6EF21FF06D806DF53FE0701A7F6D6EF2FFC06D 6E1B806D6E616E6E4E13006E6EF00FFE6E02F04E5A6E6E4E5A020302FEF0FFF06E6E4D5B 6E03C004075B033F02F8043F5B030F02FFDCFFFEC7FC6F03F0020F5B03019226FF8001B5 12F06F6C92B75A041F198004034EC8FC040018F8051F17C005014CC9FCDD000F15E0DE00 1F01FCCAFC787A75F78F>67 D69 D78 D80 D82 D<922603FFFCED078003 3FD9FFF0EC0FC00203B600FE141F020FDBFFC0133F023F04F0137F91B800FC13FF0103EF FF0349DA800714874901F8C7003F13EF4901C0020790B5FC017F4914004AC9123F494882 4849160748498248844A707E5A4A83488586484983A2865A86A286B5FC801B7FA280A280 6E183FA280806E6CEF1F806F94C7FC6C14F015FEEDFFE016FF6C16F0EFFF806C17FCF0FF C06C18FC19FF6C19C01AF06C19FC6C85747E6C866D856D856D856D856D850101857F023F 1980020F19C01403020019E0150F030018F01607DC007F16F81703EF001F060115FCF000 3F190F85070114FE858686127EB48586A286A46D84A21CFCA27FA21CF87FA26D4E13F07F A26D4E13E07F6D4E13C014C06E4D13806E4D130002FC4D5A02FF5E03E04B5B03FC030F5B DBFFC0023F5B01FD02FF0103B55AD9F87F91B71280496C95C7FCD9C00F17FCD980015F90 C76C16E048020F93C8FC48DA007F14F80078030191C9FC577A75F76E>I<030FB5FC0203 B612F8021F15FF91B812E0010317F84917FE011F9026FC001F6D7E4901800103806F0100 80496D6E13F890B56F7F6F80727F486E6E7F8784878487A26C5C72806D5BA26D5B6D5BD9 07FEC9FCEB00F091CAFCA5183F0403B7FC93B8FC151F92B9FC140F023F150049B612C001 0702FCC7FC4914E0013F14804949C8FC48B512F84814E0485C5D4891C9FC485B5A5C5A5C A2B5FC5CA360A360806C5F6E5D6C18DF6EED1F9F6C6D037F14FC6C6EDAFF1FEBFF806C02 E0902603FE0FECFF806C02F8D90FFC16C06C02FF9038FFF8076C92B5487E013FEEC00101 0F4C7E01014BC7123FD9001F02F002031480DA007F90CCFC5A507BCE60>97 DI<93383FFFE00307B67E033F15F04AB712FE0207707E021F83027F8391B526 FC003F7F010302E001077F490280497F4949C78049495C495B49494A7F90B55AA2485C5A 5D5A92C86C5B5A725B485B725B48715B060013C0071EC7FC4895C8FC5CA4B5FCAF7EA280 A27EA36C7FA2F20FC06CF11FE0816C193F6F17C06C197F6C806FEEFF806C4E13006D6D5D 6D6D4B5A6D6D4B5A6D6D6C141F6D02E0EC7FF86D02F8903803FFF0010002FF013F13C06E 91B65A021F94C7FC020716FC020116F0DA003F15C0030702FCC8FCDB003F13C04B5079CE 58>I<973807FFF00607B6FCA8F00003190086B3AD93381FFF800303B512FC033F14FF92 B712C0020716F0021F16FC4A9138007FFE91B500F0010FB6FC4902C01301010791C87E49 49814901F881494981498390B548814B814884485CA24891CAFCA25A5C5AA25AA25C5AA5 B5FCAE7EA47E80A27EA37E807EA26C6E5D6C60816C606D6D5D6D6D5D6D6D5D6D6D92B67E 6D6D4A15FE6D6D020792B5FC6D02E0EB3FFE6D6C9039FC01FFFC021F90B612F06E16C002 0116006E6C14FC030F14F09226007FFEC791C7FC607979F76E>I<93381FFFE00303B6FC 033F15E092B712F8020716FE021F707E4AD9FC0114E091B526E0001F7F49028001077F01 0749C76C7F494902007F49496F7E49496F1380494917C08590B5486F13E0485C487213F0 A24891C914F885481AFC5C5A7313FE5AA25C5AA21BFF85A2B5FCA291BBFCA51BFE02FCCC FCA67EA3807EA37EA26C7F1B7E1BFF6C807E6F5E6C1AFE6C6E16036FEE07FC6D180F6D6D EE1FF86D6DEE3FF06D01FFEEFFE06D6E4A13C06D02E0020F1380010002FC023F13006E90 3AFFC007FFFE021F91B65A020717F0020117C06E6C93C7FC030F15FC030115C0DB000701 F8C8FC50507BCE5B>IIII<14FE903803FF80010F13E0497F497F497F90B57EA24880A24881A76C92C7FC A26C5CA26D5B6D5B6D5B6D5B01031380D900FEC8FC91C9FCB0ECFFFE007FB5FCA8C67E13 1F7FB3B3B3A5B812C0A82A7979F836>IIII<902601FFFC912603FF F0933807FFE0B6033FD9FF80037F13FF4DB600E00203B612C0050703F8020F15F0051F03 FE023F15FC057F6F91B77E9426FFFC076E48D9F80F7F4CD9C0016E48D98003804C48C791 28E007FC000180C66CDA07F86EDA0FF07F011F4A48704848826DDA1FC0EF3F804C486E6D 48C86C7F4CC815FE047E7148834CEFFDF8DBFDF86FD9FFF081A2DBFFF04E834C60A24C60 A34C95C9FCA493C95CB3B3A6B8D8F001B8D8E003B812C0A89A4E79CDA5>I<902601FFFC 913803FFF0B6033FEBFF804DB612E0050715F8051F15FE057F819426FFFC07804CD9C001 804C48C780C66CDA07F880011F4A48826DEC1FC04C486E7F4CC8FC047E835EDBFDF881A2 DBFFF0835EA25EA35EA493C9FCB3B3A6B8D8F001B812E0A8634E79CD6E>I<93380FFFF0 4BB67E031F15F892B8FC020317C0020F17F0023F49C66C13FC4A01E001077F49B5008001 016D7E4949C86C7F49496F7F49496F7F49496F7F49496F7F49496F7F90B5486F7F481B80 92CAFC481BC0481BE04A83481BF0A2481BF8A348497113FCA3481BFEA5B51AFFAE6C1BFE A46C1BFC6E5FA26C1BF8A36C6D94B512F0A26C1BE06F5D6C1BC06C1B806F5D6C6E4B1400 6D6D4B5B6D6D4B5B6D6D4B5B6D6D4B5B6D6D6C49B55A010102E0010714806D02FE017F91 C7FC023F90B712FC6E5F020717E0020094C8FC031F15F8030315C0DB000F01F0C9FC5850 7BCE63>II< 902601FFF8903803FF80B6021F13F0057F13FC94B6FC040315804C15C093260FFE0F13E0 93261FF01F13F005E014F8C66C91383F803F011FEC7F006D027E4913FC16FEEDF9FC5E5E 15FB5E03FF6E13F8A24C6D13F07213E07213C04C01011300F0007C96C7FC93CAFCA65DB3 B3A2B812FCA8464E7ACD52>114 D<912603FFFEEB03C0027F9039FFE00FE00103B6EAFC 3F010F92B5FC133F49EB00072601FFF0EB007F480180141F4890C8120748488149814848 81003F177F5B183F127FA2181F12FF7FA27F7F6D6CED0FC06E92C7FC14F814FF6C14FCED FFE0EEFF806C16F017FC6C16FF18C06C17F06C836C836C836C836D1780011F17C0010717 E0010117F06D7E020F16F81400030315FCED000F1600051F13FE83007E1603B48283187F 6D163FA36D161FA219FC7FA27F6DEE3FF8A26D17F06D167F6D17E06E15FF02E0020313C0 6E4A138002FE021F1300913AFFC003FFFE92B65A01E316F001C016C0D9003F92C7FC4801 0714F80078D9007F90C8FC3F5079CE4E>II<91B5933801FFFEB74AB6 FCA8C66C93C7FC011F183F6D84B3B3A962A362A397B5FC6D5FA2616D6E5CF10FEF6DDD1F CF7F70DA3F8F14C06D6E02FFEDFFE06E6D0103130F6E01FFEB1FFE6E91B512F8020716F0 020116E06E6C1580030FECFC00DB007F01E003E0C7FC634F79CD6E>II 120 DI 123 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fk cmbx12 29.8656 17 /Fk 17 122 df[164 169 118 296 183 69 D[244 170 118 297 265 77 D[198 172 122 297 211 86 D<94B6FC93B712FE031FEEFFE092B9 12FE0203727E020F19F0023F19FC91BCFC499226C0001F814902E0C7000115E0494A6E6C 80496E031F14FC70030780497280706F81496E6F817580498570857580878A8A878AA26D 4A828BA26D5C876D4A866D5C6D5C6D5C6D6C48CAFCEC1FF891CCFCAA98B7FC073FB8FC06 3FB9FC050FBAFC94BBFC160F93BCFC03071781031FEE800192B7EAF000020393C7FC020F 15F0023F158091B648C8FC4915F8010715E0491580494AC9FC495C495C90B65A485D485D 485D5A93CAFC485CA2485CA2485CA4B65AA363A463A26F5F7E63816CF23FBF6F177F6C6E DDFF3F80F201FE6C6FDB03FC15F86C6F030F16FE6C03F0DB1FF8EDFFE06C6FDB7FF0EEFF FC6C03FE4A48487E6D6E6C010F496C16FE6DDBF801B51280010F92B648487E01034E7F01 0006F07F023F05C06D7E020794C8121F020004FC030315FC030703E0ED003FDB000F01FC CEFC7F7178EF88>97 D<061FB57E0507B7FC94B812F8040717FF043F18C093BA12F00303 19FC030F85033F737E92B648C7814A03E00203804A92C84880020F02FC5D4A4A844A02E0 5D4A4A4B8091B65A4992C9FC494A4C80495C5B495C5E5B495CA290B648705C5A5E48745C A248745C93CA6C5C48745C755C756C48C7FC484AF01FF899C9FCA25AA4485CA5B6FCB17E A381A37EA46C80A37E827EF6FF806C6F4E13C0A27E70606C1E8070606D1D006D6E607061 6D1B1F6D6E4E5A6D806D6F4D5A6D6F4D5A6D6F5E6E6E04075B6E02FC4C5B6E6E043F5B6E 6E6C4B90C7FC6E03E0913803FFFE020103FC021F5B6E9226FFE001B512F0033F92B75A03 0F61030396C8FC030018FC043F17F00407178004004CC9FC050F15E0DD001F01F8CAFC6A 7177EF7C>99 D<95383FFFF0050FB612C04CB712FC040FEEFF80047F17F04BB912FC0307 18FF031F19C0037FDAFC00814AB600C0010F14F84A92C70003804A02FC020080021F02F0 6F7F4A4A031F804A02806F8091B6C96C80494A7080494A82494A85497380494A838A494A 8349884C1A8090B684485D7614C05A93CB15E05A88481EF05DA248871FF8A25AA35D5A76 14FCA4B6FCA392BDFCA51FF8A203FCCFFCA87EA481A27EA37EA2817EA36C6FF10FF8A26C F51FFC826C1D3F7E70F17FF87F70F1FFF07F6D6E4E13E06D6E60704E13C06D5113806D6E 606D03C04D13006D6F4D5A6E6E4C485A6E02FC4C5B6E6E040F5B02076E6C033F5B6E03F0 92B55A6E03FE02075C6E6CDAFFF090B6C7FC031F92B712FC030761030119E06F6C188004 0F05FCC8FC040117F0DC003F1680050303F8C9FCDD000749CAFC6E7178EF7F>101 D103 D[58 173 118 300 77 105 D[60 172 118 299 77 108 D<922601FFC092260FFFF896387FFFC0013FB64BB600E0050FB6FCB8030F03FC057F15E0 083F03FF4CB712F84FB800C0030F16FE4F05F04B707E070F71037F83073F05FE4AB912F0 4FD9E00F6E4ADA007F809627FFFC00016F4901E0010F80060301E06D6F011F90C76C804E 01806E6ED93FFC6E804E48C86CDC7FF080D8000FDC1FF86F6ED9FFC06E8101014C487248 49846D4C486F4B90C97E078006FC01FC856E4BC94C5ADDC1FE704B4882DDC3FC73484885 4E63DDC7F0505A05CFE0FF7F864E98CAFCDDDFC07003FE83A2DDFF8062A18495CA5EA24D 63A24D63A34D63A54D63B3B3B3A6BA00F80107BA00C0013FB912FEAA02F0C76C95268000 0306FCC7121FD76F76EEE8>I<922601FFC092380FFFF8013FB64BB612E0B8030F15FC08 3F15FF4FB812C04F17F0070F83073F17FE4FD9E00F809627FFFC000181060301E06D814E 01806E804E48C87ED8000FDC1FF86F8001014C48846D4C48810780846E4BC9FCDDC1FE82 DDC3FC8560EFC7F005CF8660DDDFC082A2EFFF808D95CAFCA25FA25FA35FA55FB3B3B3A6 BA00F80107BA12C0AA02F0C76C95388000038A6F76EE9B>I<95380FFFFC0507B612F805 7FEDFF800403B812F0041F17FE93BA12C0030319F0030F19FC033F9126FE001F14FF4B02 E00101814AB6C8003F14E04A02FC030F80020F02F0030314FC4A02C00300804A4A707F4A 91CA6C8091B5487180494A7180494A7180494A7180494A718049894C834989494A7280A2 90B68893CC7E488B488BA2484A7380A3488BA2488BA24B85A2488BA4482080A6B61EC0B0 6C2080A56C20006F61A36C67A36C67A26F616C67A26C6770606C67A26C6F95B65A6D6670 5F6D9BC7FC6D6E4D5CA26D6E4D5C6D6E4D5C6D6E4D5C6D6E4D5C6D6F4C5C6E6E93B65A6E 02F0030392C8FC020F02FC030F14FC6E02FF033F5C6E03E049B65A020003FE011F15C003 3F91B9C9FC6F61030719F8030019C0043F95CAFC040717F8DC007F1680050703F8CBFCDD 000F01FCCCFC7A7178EF8B>II<4BB46CEC3FFC013FB64AB512C0B8020714 F8071F14FE077F6E7E4EB77E4E16F04E824ED9E03F7F4EEB007FDE3FFC90B57E95267FF0 018019C0D8000F4C484815800101038113006D4C4915C0EF83FC6EEC87F8A2EF8FF06017 9F60A2DDBF806D1580A205FFC76C1500A2745C4D6F5B755B755B4D030713C0090190C7FC 98C9FC5FA55FA65FB3B3B2BBFCAA02E0C7123F626F78EE72>114 D[87 158 123 284 108 116 DI<267FFFC049B500C0922603FFF8EB1FFE91B895B6FCAAC76C02F8CB0007ECF00071 DE007F90C7FC6EF43FFC836E525A836E525A846E515BA2725F6E65846E515B846E5190C8 FC846F505A846F505AA26F6E4D5AA27217FF6F63856F4F5B856F4F5B856F4F5B856F4F90 C9FCA2735D706185704E5A85704E5A85704E5A86704D5BA2745B706186704D5B86704D90 CAFC86714C5A86714C5AA2716E495AA27413FF715F877103815B1BC17103C35B1BE37103 E75B1BF77192B5CBFCA3725DA2725DA2725DA2725DA2725DA3725DA2725DA27292CCFCA2 735BA2735BA2735BA3735BA2735BA2735BA24F5BA24F90CDFCA26162A24F5AA24F5AA24F 5AEB7FE02601FFF84B5B000713FE486D5D486E5E486E5C6248804E90CEFCA2B66C4A5A18 3F614E5AA24E5A4D5B5F6C4A495B4D5B4D90CFFC6C4A5B4B495A6C91C7485A4A01035B6C 01BC010F5B6C01F0013F13C0DAFC01B55A6C90B7D0FC6C16FC6C6C5D6D15E0010F158001 034AD1FC010014F0020F90D2FC879F7BED93>121 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fl lcirclew10 20.74 4 /Fl 4 40 df[<000FB512C0003F91B5FC48EEFF80F0FF80BA12FEF1FFF8F2FFC01BFEF3 FFF01CFF6C1CF01DFF6C1DF0000F1DFEC8F3FFE0DB00031AFCDC0001F1FF80DD000119F0 DE000718FEDF001FEFFFC0080018F8090717FFE1003F17C00A0317F8E2003F16FF0B0317 C0E3003F16F80C0716FEE4007F6F7E0D0F16F00D0116FCE5003F15FF0E0716C00E0016F0 0F1F15FE0F076F7E0F0016E0101F15F8100715FE10006F7E113F81110F15F0110115FC7D 6C14FFA1001F15C0A1000715F0A1000181A1D8003F14FEA1010F6E7EA1010315E0A10100 81A1023F14FCA16E14FFA1020781A1020115E0A16E6C80A1031F14FCA1030780A16F6E7E A1030081A1043F14F0A1040F80A17014FEA1040180A1706C14C0A17180A1050F14F8A171 80A1050180A1716E7EA1063F80A17280A1060714F8A17280A1060080A1736D7EA1071F80 A17380A17380A1070114FCA17380A1747FA1081F80A17480A17414F0A1080180A17480A1 757FA1757FA1090F80A17580A17580A17514F8A17580A10A3F7FA1767FA17680A17680A1 7680A17680A17680A1777FA10B1F7FA1777FA17780A17780A17780A17780A1787FA1787F A1787FA1787FA17880A17880A18AA17880A1797FA1797FA1797FA1797FA1797FA17980A1 7980A18BA18EA17A7FA17A7FA17A7FA17A7FA18CA17A7FA17A80A17A80A18FA18DA17B7F A17B7FA17B7FA18DA18FA17B7FA17B80A18DA17C7FA1A17EA17C7FA18EA17C7FA1A17EA1 8EA17C7FA17C7FA2A17C80A17D7FA18FA1A17FA17D7FA18FA1A17FA17D7FA18FA1A17FA1 7D7FA18FA1A180A1A16C7FA1A17EA1A180A1A17EA1A16C7FA1A180A1A17EA1A16C7FA2A1 A16C7FA2A1A16C7FA1A16D7FA2A1A16D7FA2A1A16D7FA2A1A16D7FA1A17FA1A181A1A17F A1A181A1A16D7FA2A1A16D7FA2A1A16E7FA2A1A16E7FA1A180A1A182A1A180A1A182A1A1 80A2A1A16E7FA2A1A16E7FA2A1A182A1A180A1A182A1A181A1A183A1A181A2A1A16F7FA2 A1A16F7FA2A1A183A1A181A2A1A16F7FA2A1A16F7FA3A1A16F7FA2A1A1167FA1A183A2A1 A1707FA3A1A1707FA2A1A182A1A184A2A1A182A1A184A2A1A182A1A184A2A1A182A1A184 A2A1A182A1A184A2A1A1177FA1A184A2A1A183A2A1A185A2A1A183A1A185A2A1A183A2A1 A185A2A1A183A2A1A185A2A1A183A2A1A185A2A1A183A2A1A185A2A1A183A3A1A185A2A1 A1187FA3A1A185A2A1A184A3A1A11A80A2A1A184A4A1A11AC0A2A1A184A4A1A11AE0A2A1 A184A6A1A11AF0A2A1A184A7A1A11AF8A2A1A184ACA1A11AFCA2A1A184B3A2A1A1F17FF8 A2A1A1F13FF0A1A1F10FE0>358 358 472 141 689 36 D[358 359 472 486 689 I[<1203EA0FE0EA3FF0487EA2487EB3A27F A2127FAB7FA27EA880A27EA580A27EA480A27EA480A27EA480A27EA380A27EA280A2137F A280A27FA281A27FA281A27FA281A27F81A27FA281A27F81A27F81A2147F81A28082A280 82A28082A28082A26E7FA36E7FA26E7FA36F7EA26F7FA28381A26F7FA26F7FA283818381 8381A2707EA2707FA28482848284707FA2707FA2707FA2707F83858385717FA2717FA271 7FA2717F717FA2717F86848684727F8684727F868486727F8487737F8587737F737FA273 7F737FA2737F73808886747F747F88747F8688747F74807480A2757F757F757F757F8987 757F758075808A767F767F767F88767F8A768076807680777F777F777F777F8B77807780 77807780787F787F787F787F78807880788078807913FC797F797F798079807980798079 14FC7A7F7A7F0E0F807A807A14F07A807A807B7F7B6D7E0F0F807B807B807B14FC7B8010 3F7F7C14C07C807C14F81001807C807D6D7E7D80110F14F07D807D14FE110080A16C14C0 A1001F80A16C14F8A16C14FEA1000180A16C15C0A1013F80A16D14F8A1010714FEA16D6E 7EA1010081A16E14F0A1021F14FCA16E14FFA1020315C0A1020015F0A16F80A1031F14FE A16F6E7EA1030315E0A1030015F8A1043F14FFA17015C0A1040715F0A1040115FCA1706C 14FFA1051F15E0A1050715F8A17115FEA10500EDFFC0A1063F15F0A1060F15FEA106036F 7EA1060016F0A1071F15FEA10707EDFFC0A1070116F8A1736C15FFA1081F16E0A1080316 FCA10800EEFFC0A1093F16F8A10907EEFF80A1090117F8A1E1003FEEFF80A10A0F17F8A1 0A01EFFF80A1E2003F17FCA10B07EFFFF0A10B00F0FFC0A10C1F18FFA10C0319FEA1E400 7F95B57EA10D0FF2FFFCA10D0098B612C0A10E1F1DF0A10E011DF8A1E6001F1CFCA12101 A1F9001FA110011BFEA1FA000FA1E9003F19FCA1A11200A1A11303A1A1D9000717F8A1A1 DA000116F0A1A192C7000F14C0>359 359 128 486 689 I[359 358 128 141 689 I E %EndDVIPSBitmapFont end %%EndProlog %%BeginSetup %%Feature: *Resolution 600dpi TeXDict begin %%PaperSize: A4 @landscape %%EndSetup %%Page: 1 1 1 0 bop -44 -120 a Fl(')p -44 3682 14 3465 v -44 4034 a(&)5430 -120 y($)p 5430 3682 V 5430 4034 a(\045)p 307 4034 4785 14 v 307 -120 V 976 1288 a Fk(Encrypting)94 b(Virtual)g(Memory)2157 1720 y Fj(Niels)68 b(Pro)-6 b(v)g(os)1733 2012 y(pro)g(v)g(os@citi.umic)g(h.edu)331 2305 y Fi(CITI)72 b(-)g(Center)g(for)f(Information)g(T)-15 b(e)-10 b(chnolo)g(gy)69 b(Inte)-10 b(gr)g(ation)1689 2597 y(University)71 b(of)g(Michigan)-33 4236 y Fh(Encrypting)38 b(Virtual)j(Memory)1250 b(1)1210 b(Cop)m(yrigh)m(t)39 b(Niels)j(Pro)m(v)m(os)e(2000)p eop %%Page: 2 2 2 1 bop -44 -120 a Fl(')p -44 3682 14 3465 v -44 4034 a(&)5430 -120 y($)p 5430 3682 V 5430 4034 a(\045)p 307 4034 4785 14 v 307 -120 V 2130 712 1071 7 v 2130 959 7 247 v 2189 907 a Fg(Ov)-6 b(erview)p 3194 959 V 2130 966 1071 7 v 3197 1035 73 261 v 2199 1035 1071 73 v 240 1471 a Ff(1.)86 b(In)-5 b(tro)5 b(duction)240 1812 y(2.)86 b(Related)57 b(W)-14 b(ork)240 2152 y(3.)86 b(Virtual)59 b(Memory)f(System)240 2492 y(4.)86 b(Sw)-5 b(ap)57 b(Encryption)240 2832 y(5.)86 b(P)-5 b(erformance)57 b(Ev)-10 b(aluation)240 3172 y(6.)86 b(Conclusion)-33 4236 y Fh(Encrypting)38 b(Virtual)j(Memory)1250 b(2)1210 b(Cop)m(yrigh)m(t)39 b(Niels)j(Pro)m(v)m(os)e(2000)p eop %%Page: 3 3 3 2 bop -44 -120 a Fl(')p -44 3682 14 3465 v -44 4034 a(&)5430 -120 y($)p 5430 3682 V 5430 4034 a(\045)p 307 4034 4785 14 v 307 -120 V 1967 670 1397 7 v 1967 917 7 247 v 2026 865 a Fg(In)-6 b(tro)6 b(duction)p 3357 917 V 1967 924 1397 7 v 3360 993 73 261 v 2036 993 1397 73 v 288 1429 a Fe(\017)86 b Ff(A)57 b(Cryptographic)i(\014le)e(system) g(protects)g(con\014den)-5 b(tial)57 b(data)g(from)460 1673 y(unauthorized)f(access.)288 2013 y Fe(\017)86 b Ff(The)57 b(prop)5 b(er)57 b(cryptographic)g(k)-5 b(ey)57 b(is)h(required)g(to)f(read)g(its)h(con)-5 b(ten)g(ts.)288 2353 y Fe(\017)86 b Ff(Ho)-5 b(w)g(ev)g(er,)58 b(the)e(virtual)j (memory)g(system's)e Fj(bac)-6 b(king)68 b(store)57 b Ff(is)460 2597 y(generally)h Fj(unprotected)p Ff(.)288 2937 y Fe(\017)86 b Ff(P)-5 b(assw)g(ords)58 b(and)f(pass)g(phrases)g (reside)g(in)h(it)g(long)g(after)f(they)g(ha)-5 b(v)g(e)460 3181 y(b)5 b(een)55 b(t)-5 b(yp)5 b(ed)57 b(in,)g(ev)-5 b(en)56 b(across)i(reb)5 b(o)g(ots.)-33 4236 y Fh(Encrypting)38 b(Virtual)j(Memory)1250 b(3)1210 b(Cop)m(yrigh)m(t)39 b(Niels)j(Pro)m(v)m(os)e(2000)p eop %%Page: 4 4 4 3 bop -44 -120 a Fl(')p -44 3682 14 3465 v -44 4034 a(&)5430 -120 y($)p 5430 3682 V 5430 4034 a(\045)p 307 4034 4785 14 v 307 -120 V 1967 297 1397 7 v 1967 544 7 247 v 2026 492 a Fg(In)-6 b(tro)6 b(duction)p 3357 544 V 1967 551 1397 7 v 3360 619 73 261 v 2036 619 1397 73 v 288 1056 a Fe(\017)86 b Ff(A)57 b(user)516 1348 y Fj({)86 b Ff(exp)5 b(ects)55 b(that)i(all)i(con\014den)-5 b(tial)58 b(data)f(v)-10 b(anishes)57 b(with)h(pro)5 b(cess)701 1592 y(termination,)516 1884 y Fj({)86 b Ff(is)58 b(una)-5 b(w)g(are)58 b(that)f(sensitiv)-5 b(e)58 b(data)f(ma)-5 b(y)58 b(remain)g(on)f(bac)-5 b(king)58 b(store.)288 2224 y Fe(\017)86 b Ff(When)56 b(an)h(attac)-5 b(k)g(er)58 b Fj(compromises)g Ff(the)e(op)5 b(erating)58 b Fj(system's)460 2468 y(in)-6 b(tegrit)g(y)516 2760 y({)86 b Ff(b)-5 b(y)57 b(gaining)i(ro)5 b(ot)58 b(privileges,)516 3052 y Fj({)86 b Ff(or)58 b(b)-5 b(y)57 b(ph)-5 b(ysical)58 b(access)e(to)h(the)g(mac) -5 b(hine)57 b(itself)460 3344 y(she)f(also)j Fj(gains)67 b(access)58 b Ff(to)f Fj(sensitiv)-6 b(e)69 b(data)58 b Ff(retained)f(in)h(bac)-5 b(king)460 3588 y(store.)-33 4236 y Fh(Encrypting)38 b(Virtual)j(Memory)1250 b(4)1210 b(Cop)m(yrigh)m(t)39 b(Niels)j(Pro)m(v)m(os)e(2000)p eop %%Page: 5 5 5 4 bop -44 -120 a Fl(')p -44 3682 14 3465 v -44 4034 a(&)5430 -120 y($)p 5430 3682 V 5430 4034 a(\045)p 307 4034 4785 14 v 307 -120 V 1967 792 1397 7 v 1967 1039 7 247 v 2026 987 a Fg(In)-6 b(tro)6 b(duction)p 3357 1039 V 1967 1046 1397 7 v 3360 1114 73 261 v 2036 1114 1397 73 v 288 1551 a Fe(\017)86 b Ff(Our)57 b(solution)i(is)f(to)f (encrypt)f(pages)h(b)5 b(efore)56 b(they)h(are)g(written)h(to)460 1795 y(secondary)e(storage)288 2135 y Fe(\017)86 b Ff(When)56 b(the)h(pages)f(are)i(brough)-5 b(t)57 b(bac)-5 b(k)57 b(in)-5 b(to)58 b(ph)-5 b(ysical)58 b(memory)-14 b(,)58 b(they)460 2379 y(are)f(decrypted)288 2719 y Fe(\017)86 b Ff(Eac)-5 b(h)57 b(page)g(has)g(an)g(asso)5 b(ciated)57 b(encryption)f(k)-5 b(ey)-14 b(.)288 3059 y Fe(\017)86 b Ff(Encryption)57 b(k)-5 b(eys)57 b(are)g(destro)-5 b(y)g(ed,)57 b(when)f(they)h(are)g(no)g(longer)h(needed)-33 4236 y Fh(Encrypting)38 b(Virtual)j(Memory)1250 b(5)1210 b(Cop)m(yrigh)m(t)39 b(Niels)j(Pro)m(v)m(os)e(2000)p eop %%Page: 6 6 6 5 bop -44 -120 a Fl(')p -44 3682 14 3465 v -44 4034 a(&)5430 -120 y($)p 5430 3682 V 5430 4034 a(\045)p 307 4034 4785 14 v 307 -120 V 1900 868 1532 7 v 1900 1115 7 247 v 1958 1063 a Fg(Related)78 b(W)-19 b(ork)p 3424 1115 V 1900 1122 1532 7 v 3428 1190 73 261 v 1968 1190 1532 73 v 288 1627 a Fe(\017)86 b Ff(Data)58 b(protection)f(with)h(the) f(\\Cryptographic)h(File)h(System")e(b)-5 b(y)460 1871 y(Blaze,)288 2211 y Fe(\017)86 b Ff(Data)58 b(hiding)g(with)g(the)f (\\Steganographic)g(File)i(System")e(b)-5 b(y)460 2455 y(Anderson,)56 b(Needham)h(and)g(Shamir.)150 2795 y Fe(\))h Ff(data)f(on)g(secondary)f(storage)i(can)e(rev)-5 b(eal)58 b(the)f Fj(con)-6 b(ten)g(t)58 b Ff(and)150 3039 y Fj(existence)p Ff(.)-33 4236 y Fh(Encrypting)38 b(Virtual)j(Memory)1250 b(6)1210 b(Cop)m(yrigh)m(t)39 b(Niels)j(Pro)m(v)m(os)e(2000)p eop %%Page: 7 7 7 6 bop -44 -120 a Fl(')p -44 3682 14 3465 v -44 4034 a(&)5430 -120 y($)p 5430 3682 V 5430 4034 a(\045)p 307 4034 4785 14 v 307 -120 V 1900 1132 1532 7 v 1900 1379 7 247 v 1958 1327 a Fg(Related)78 b(W)-19 b(ork)p 3424 1379 V 1900 1386 1532 7 v 3428 1455 73 261 v 1968 1455 1532 73 v 288 1891 a Fe(\017)86 b Ff(Erasing)59 b(the)d(data)h(on)g (secondary)g(storage)g(could)g(ac)-5 b(hiev)g(e)57 b(the)g(same)460 2135 y(as)g(encryption,)288 2475 y Fe(\017)86 b Ff(but)57 b(Gutmann)g(has)g(sho)-5 b(wn)57 b(that)g(it)h(is)g(v)-5 b(ery)58 b(di\016cult)g(to)g(thoroughly)460 2719 y(delete)e(data)i (from)g(magnetic-media.)-33 4236 y Fh(Encrypting)38 b(Virtual)j(Memory) 1250 b(7)1210 b(Cop)m(yrigh)m(t)39 b(Niels)j(Pro)m(v)m(os)e(2000)p eop %%Page: 8 8 8 7 bop -44 -120 a Fl(')p -44 3682 14 3465 v -44 4034 a(&)5430 -120 y($)p 5430 3682 V 5430 4034 a(\045)p 307 4034 4785 14 v 307 -120 V 1369 545 2593 7 v 1369 832 7 287 v 1428 740 a Fg(Virtual)78 b(Memory)f(System)p 3955 832 V 1369 839 2593 7 v 3958 907 73 301 v 1438 907 2593 73 v 288 1344 a Fe(\017)86 b Ff(Virtual)59 b(Memory)f(increases)f (the)f(address)h(space)f(visible)j(to)460 1588 y(application)g(b)5 b(ey)-5 b(ond)55 b(the)i(limits)j(of)d(ph)-5 b(ysical)58 b(memory)-14 b(.)288 1928 y Fe(\017)86 b Ff(Data)58 b(that)f(do)5 b(es)56 b(not)i(\014t)f(in)-5 b(to)58 b(ph)-5 b(ysical)58 b(memory)g(is)g(sa)-5 b(v)g(ed)57 b(on)460 2172 y(secondary)f(storage.) 288 2512 y Fe(\017)86 b Ff(When)56 b(a)i(pro)5 b(cess)56 b(accesses)f(a)j(page)f(that)g(has)g(b)5 b(een)55 b(stored)i(on)460 2756 y(secondary)f(storage)i(a)f(page)g(fault)g(o)5 b(ccurs.)288 3096 y Fe(\017)86 b Ff(The)57 b(page)g(fault)g(causes)f(the)h(page)g (to)g(b)5 b(e)56 b(restored)h(from)h(bac)-5 b(king)460 3340 y(store.)-33 4236 y Fh(Encrypting)38 b(Virtual)j(Memory)1250 b(8)1210 b(Cop)m(yrigh)m(t)39 b(Niels)j(Pro)m(v)m(os)e(2000)p eop %%Page: 9 9 9 8 bop -44 -120 a Fl(')p -44 3682 14 3465 v -44 4034 a(&)5430 -120 y($)p 5430 3682 V 5430 4034 a(\045)p 307 4034 4785 14 v 307 -120 V 1369 334 2593 7 v 1369 621 7 287 v 1428 529 a Fg(Virtual)78 b(Memory)f(System)p 3955 621 V 1369 628 2593 7 v 3958 697 73 301 v 1438 697 2593 73 v 288 1133 a Fe(\017)86 b Ff(Secondary)56 b(storage)516 1425 y Fj({)86 b Ff(is)58 b(usually)g(slo)-5 b(w)g(er)59 b(than)e(RAM,)516 1717 y Fj({)86 b Ff(is)58 b(non-v)-5 b(olatile,)59 b(data)f(p)5 b(ersists)57 b(o)-5 b(v)g(er)58 b(system)f(sh)-5 b(utdo)g(wns.)288 2057 y Fe(\017)86 b Ff(Con\014den)-5 b(tial)58 b(data)f(can)g(surviv)-5 b(e)58 b(on)f(it)h(b)5 b(ey)-5 b(ond)56 b(a)h(user's)460 2301 y(exp)5 b(ectations.)288 2641 y Fe(\017)86 b Ff(A)-5 b(t)58 b(CITI)g(w)-5 b(e)58 b(found,)516 2933 y Fj({)86 b Ff(login)59 b(passw)-5 b(ords,)516 3225 y Fj({)86 b Ff(PGP)58 b(pass)f(phrases,)516 3517 y Fj({)86 b Ff(email)59 b(messages,)e(...)-33 4236 y Fh(Encrypting)38 b(Virtual)j(Memory)1250 b(9)1210 b(Cop)m(yrigh)m(t)39 b(Niels)j(Pro)m(v)m(os)e(2000)p eop %%Page: 10 10 10 9 bop -44 -120 a Fl(')p -44 3682 14 3465 v -44 4034 a(&)5430 -120 y($)p 5430 3682 V 5430 4034 a(\045)p 307 4034 4785 14 v 307 -120 V 1369 672 2593 7 v 1369 959 7 287 v 1428 867 a Fg(Virtual)78 b(Memory)f(System)p 3955 959 V 1369 966 2593 7 v 3958 1035 73 301 v 1438 1035 2593 73 v 150 1449 a Ff(P)-5 b(ossible)59 b(solutions:)288 1789 y Fe(\017)86 b Ff(Av)-5 b(oid)58 b(sw)-5 b(apping)58 b(completely:)77 b(not)57 b(a)g(general)h(solution,)g(man)-5 b(y)460 2033 y(applications)57 b(require)f(address)g(space)e(bigger)j (than)e(ph)-5 b(ysical)57 b(memory)288 2373 y Fe(\017)86 b Ff(Use)57 b Fd(mlock\(\))j Ff(to)e(prev)-5 b(en)g(t)56 b(sp)5 b(ecial)58 b(memory)g(areas)f(to)h(b)5 b(e)56 b(paged)h(out:)460 2617 y(applications)h(need)e(to)i(b)5 b(e)56 b(rewritten,)i(reduces)e(e\013ectiv)-5 b(eness)56 b(of)h(VM)460 2861 y(system,)g(can)g(result)g(in)h(w)-5 b(orse)58 b(p)5 b(erformance)150 3201 y Fe(\))58 b Ff(use)e Fj(encryption)i Ff(to)g(protect)e(con\014den)-5 b(tial)57 b(data.)-33 4236 y Fh(Encrypting)38 b(Virtual)j(Memory)1221 b(10)1180 b(Cop)m(yrigh)m(t)39 b(Niels)j(Pro)m(v)m(os)e(2000)p eop %%Page: 11 11 11 10 bop -44 -120 a Fl(')p -44 3682 14 3465 v -44 4034 a(&)5430 -120 y($)p 5430 3682 V 5430 4034 a(\045)p 307 4034 4785 14 v 307 -120 V 1369 759 2593 7 v 1369 1046 7 287 v 1428 954 a Fg(Virtual)78 b(Memory)f(System)p 3955 1046 V 1369 1053 2593 7 v 3958 1122 73 301 v 1438 1122 2593 73 v 150 1536 a Ff(Encryption)57 b(comes)g(in)h(sev)-5 b(eral)58 b(di\013eren)-5 b(t)58 b(\015a)-5 b(v)g(ors:)288 1876 y Fe(\017)86 b Ff(User)57 b(program)i(installs)h(o)-5 b(wn)57 b(encrypting)g(pager:)516 2168 y Fj({)86 b Ff(increases)57 b(complexit)-5 b(y)-14 b(,)516 2460 y Fj({)86 b Ff(requires)58 b(applications)g(to)g(b)5 b(e)56 b(mo)5 b(di\014ed,)516 2752 y Fj({)86 b Ff(di\016cult)58 b(design)f(decision)h(ab)5 b(out)57 b(crypto.)288 3092 y Fe(\017)86 b Ff(VM)57 b(system)g(sw)-5 b(aps)58 b(to)f(a)h(\014le)f(in)h(a)g(cryptographic)f(\014le)g(system.) -33 4236 y Fh(Encrypting)38 b(Virtual)j(Memory)1221 b(11)1180 b(Cop)m(yrigh)m(t)39 b(Niels)j(Pro)m(v)m(os)e(2000)p eop %%Page: 12 12 12 11 bop -44 -120 a Fl(')p -44 3682 14 3465 v -44 4034 a(&)5430 -120 y($)p 5430 3682 V 5430 4034 a(\045)p 307 4034 4785 14 v 307 -120 V 1369 794 2593 7 v 1369 1081 7 287 v 1428 989 a Fg(Virtual)78 b(Memory)f(System)p 3955 1081 V 1369 1088 2593 7 v 3958 1157 73 301 v 1438 1157 2593 73 v 150 1571 a Ff(In)57 b(con)-5 b(trast)58 b(to)f Fj(common)66 b(use)g(of)g(encryption)p Ff(,)58 b(w)-5 b(e)58 b(require)288 1911 y Fe(\017)86 b Ff(when)57 b(a)g(page)g(is)h(no)f(longer)h(referenced,)d(its)j(encryption)f(k)-5 b(ey)56 b(should)460 2155 y(b)5 b(e)56 b(destro)-5 b(y)g(ed)57 b(after)g(a)g(time)i(p)5 b(erio)g(d)57 b(\()p Fc(t)3074 2181 y Fb(R)3187 2155 y Ff(\))g(has)g(passed,)288 2495 y Fe(\017)86 b Ff(only)58 b(the)e(virtual)j(memory)g(pager)e(should)g (b)5 b(e)57 b(able)g(to)g(decrypt)g(pages)150 2835 y(Best)g(protection) g(with)h Fc(t)1818 2861 y Fb(R)1979 2835 y Ff(=)48 b(0,)57 b(also)h(meets)f(user's)g(exp)5 b(ectation)56 b(that)h(her)150 3079 y(con\014den)-5 b(tial)57 b(data)g(is)h(deleted)f(with)h(pro)5 b(cess)56 b(termination.)-33 4236 y Fh(Encrypting)38 b(Virtual)j(Memory)1221 b(12)1180 b(Cop)m(yrigh)m(t)39 b(Niels)j(Pro)m(v)m(os)e(2000)p eop %%Page: 13 13 13 12 bop -44 -120 a Fl(')p -44 3682 14 3465 v -44 4034 a(&)5430 -120 y($)p 5430 3682 V 5430 4034 a(\045)p 307 4034 4785 14 v 307 -120 V 1369 504 2593 7 v 1369 791 7 287 v 1428 699 a Fg(Virtual)78 b(Memory)f(System)p 3955 791 V 1369 798 2593 7 v 3958 867 73 301 v 1438 867 2593 73 v 288 1303 a Fe(\017)86 b Fc(t)522 1329 y Fb(R)683 1303 y Ff(=)48 b(0)57 b(to)5 b(o)57 b(impractical,)j(w)-5 b(e)57 b(guaran)-5 b(tee)57 b Fc(t)3362 1329 y Fb(R)3523 1303 y Fc(<)g Ff(system)h(uptime,)f(but)460 1547 y(attempt)g(to)g (minimize)j(a)-5 b(v)g(erage)58 b Fc(t)2747 1573 y Fb(R)2860 1547 y Ff(,)288 1887 y Fe(\017)86 b Ff(use)56 b Fj(v)-6 b(olatile)70 b(encryption)d(k)-6 b(eys)516 2179 y({)86 b Ff(v)-10 b(alid)59 b(maximally)i(for)c(the)g(duration)h(of)f(the)f (system's)h(uptime)516 2471 y Fj({)86 b Ff(completely)58 b(indep)5 b(enden)-5 b(t)54 b(of)k(eac)-5 b(h)56 b(other)h Fe(\))h Ff(p)5 b(erfect)55 b(forw)-5 b(ard)701 2715 y(secrecy)516 3007 y Fj({)86 b Ff(no)57 b(complicated)h(k)-5 b(ey)57 b(managemen)-5 b(t.)288 3347 y Fe(\017)86 b(\))58 b Ff(emplo)-5 b(y)58 b(encryption)e(at)i(pager)f(lev)-5 b(el.)-33 4236 y Fh(Encrypting)38 b(Virtual)j(Memory)1221 b(13)1180 b(Cop)m(yrigh)m(t)39 b(Niels)j(Pro)m(v)m(os)e(2000)p eop %%Page: 14 14 14 13 bop -44 -120 a Fl(')p -44 3682 14 3465 v -44 4034 a(&)5430 -120 y($)p 5430 3682 V 5430 4034 a(\045)p 307 4034 4785 14 v 307 -120 V 1369 67 2593 7 v 1369 354 7 287 v 1428 262 a Fg(Virtual)78 b(Memory)f(System)p 3955 354 V 1369 361 2593 7 v 3958 430 73 301 v 1438 430 2593 73 v 740 3232 a @beginspecial 50 @llx 50 @lly 410 @urx 302 @ury 2267 @rwi @setspecial %%BeginDocument: lifetime.ps %!PS-Adobe-2.0 EPSF-2.0 %%Title: lifetime.ps %%Creator: gnuplot 3.7 patchlevel 0 %%CreationDate: Wed Feb 2 20:24:48 2000 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%Orientation: Portrait %%EndComments /gnudict 256 dict def gnudict begin /Color true def /Solid true def /gnulinewidth 5.000 def /userlinewidth gnulinewidth def /vshift -46 def /dl {10 mul} def /hpt_ 31.5 def /vpt_ 31.5 def /hpt hpt_ def /vpt vpt_ def /M {moveto} bind def /L {lineto} bind def /R {rmoveto} bind def /V {rlineto} bind def /vpt2 vpt 2 mul def /hpt2 hpt 2 mul def /Lshow { currentpoint stroke M 0 vshift R show } def /Rshow { currentpoint stroke M dup stringwidth pop neg vshift R show } def /Cshow { currentpoint stroke M dup stringwidth pop -2 div vshift R show } def /UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def /DL { Color {setrgbcolor Solid {pop []} if 0 setdash } {pop pop pop Solid {pop []} if 0 setdash} ifelse } def /BL { stroke gnulinewidth 2 mul setlinewidth } def /AL { stroke gnulinewidth 2 div setlinewidth } def /UL { gnulinewidth mul /userlinewidth exch def } def /PL { stroke userlinewidth setlinewidth } def /LTb { BL [] 0 0 0 DL } def /LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def /LT0 { PL [] 1 0 0 DL } def /LT1 { PL [4 dl 2 dl] 0 1 0 DL } def /LT2 { PL [2 dl 3 dl] 0 0 1 DL } def /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def /LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def /Pnt { stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore } def /Dia { stroke [] 0 setdash 2 copy vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke Pnt } def /Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V currentpoint stroke M hpt neg vpt neg R hpt2 0 V stroke } def /Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke Pnt } def /Crs { stroke [] 0 setdash exch hpt sub exch vpt add M hpt2 vpt2 neg V currentpoint stroke M hpt2 neg 0 R hpt2 vpt2 V stroke } def /TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke Pnt } def /Star { 2 copy Pls Crs } def /BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath fill } def /TriUF { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath fill } def /TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke Pnt } def /TriDF { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath fill} def /DiaF { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath fill } def /Pent { stroke [] 0 setdash 2 copy gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore Pnt } def /PentF { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath fill grestore } def /Circle { stroke [] 0 setdash 2 copy hpt 0 360 arc stroke Pnt } def /CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def /C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def /C1 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill vpt 0 360 arc closepath } bind def /C2 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C3 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill vpt 0 360 arc closepath } bind def /C4 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc closepath } bind def /C5 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc } bind def /C6 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 270 arc closepath fill vpt 0 360 arc closepath } bind def /C7 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 270 arc closepath fill vpt 0 360 arc closepath } bind def /C8 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C9 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 450 arc closepath fill vpt 0 360 arc closepath } bind def /C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C11 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C12 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C13 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C14 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 360 arc closepath fill vpt 0 360 arc } bind def /C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill vpt 0 360 arc closepath } bind def /Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath } bind def /Square { dup Rec } bind def /Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def /S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def /S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def /S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def /S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 2 copy vpt Square fill Bsquare } bind def /S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def /S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def /S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def /S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy vpt Square fill Bsquare } bind def /S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def /D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def /D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def /D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def /D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def /D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def /D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def /D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def /D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def /D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def /D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def /D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def /D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def /D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def /D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def /D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def /D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def /DiaE { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke } def /BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke } def /TriUE { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke } def /TriDE { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke } def /PentE { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore } def /CircE { stroke [] 0 setdash hpt 0 360 arc stroke } def /Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def /DiaW { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V Opaque stroke } def /BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V Opaque stroke } def /TriUW { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V Opaque stroke } def /TriDW { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V Opaque stroke } def /PentW { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat Opaque stroke grestore } def /CircW { stroke [] 0 setdash hpt 0 360 arc Opaque stroke } def /BoxFill { gsave Rec 1 setgray fill grestore } def end %%EndProlog gnudict begin gsave 50 50 translate 0.050 0.050 scale 0 setgray newpath (Helvetica) findfont 140 scalefont setfont 1.000 UL LTb 714 420 M 63 0 V -147 0 R (0) Rshow 714 1056 M 63 0 V -147 0 R (200) Rshow 714 1692 M 63 0 V -147 0 R (400) Rshow 714 2328 M 63 0 V -147 0 R (600) Rshow 714 2964 M 63 0 V -147 0 R (800) Rshow 714 3600 M 63 0 V -147 0 R (1000) Rshow 714 4236 M 63 0 V -147 0 R (1200) Rshow 714 4872 M 63 0 V -147 0 R (1400) Rshow 714 420 M 0 63 V 0 4389 R 0 -63 V 714 280 M (0) Cshow 1551 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R (10) Cshow 2387 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R (20) Cshow 3224 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R (30) Cshow 4060 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R (40) Cshow 4897 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R (50) Cshow 5733 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R (60) Cshow 6570 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R (70) Cshow 6570 420 M -63 0 V 147 0 R (0) Lshow 6570 1310 M -63 0 V 147 0 R (20) Lshow 6570 2201 M -63 0 V 147 0 R (40) Lshow 6570 3091 M -63 0 V 147 0 R (60) Lshow 6570 3982 M -63 0 V 147 0 R (80) Lshow 6570 4872 M -63 0 V 147 0 R (100) Lshow 1.000 UL LTb 714 420 M 5856 0 V 0 4452 V -5856 0 V 714 420 L 140 2646 M currentpoint gsave translate 90 rotate 0 0 M (number of pages) Cshow grestore 7059 2646 M currentpoint gsave translate 90 rotate 0 0 M (cumulative probability in percent) Cshow grestore 3642 70 M (time in minutes) Cshow 1.000 UL LT0 736 3206 M 23 0 V 0 -1864 V 22 0 V 0 3365 V 22 0 V 803 423 L 23 0 V 0 3 V 22 0 V 0 531 V 22 0 V 0 -527 V 22 0 V 0 82 V 23 0 V 0 566 V 22 0 V 0 -604 V 22 0 V 0 175 V 23 0 V 0 -216 V 22 0 V 0 305 V 22 0 V 0 -280 V 23 0 V 0 220 V 22 0 V 0 108 V 22 0 V 0 -191 V 23 0 V 0 6 V 22 0 V 0 -165 V 22 0 V 0 38 V 22 0 V 0 3 V 23 0 V 0 172 V 22 0 V 0 375 V 22 0 V 0 -601 V 23 0 V 0 261 V 22 0 V 0 -146 V 22 0 V 0 -108 V 23 0 V 0 919 V 22 0 V 0 -875 V 22 0 V 0 -48 V 23 0 V 0 1187 V 22 0 V 0 -1145 V 22 0 V 0 -3 V 67 0 V 0 -16 V 22 0 V 0 31 V 23 0 V 0 -50 V 44 0 V 0 54 V 45 0 V 0 -39 V 45 0 V 0 -9 V 22 0 V 0 -13 V 22 0 V 0 32 V 67 0 V 0 -32 V 22 0 V 0 19 V 23 0 V 0 19 V 44 0 V 0 48 V 67 0 V 0 -83 V 23 0 V 0 147 V 44 0 V 0 -121 V 23 0 V 0 -22 V 66 0 V 0 -7 V 290 0 V 0 22 V 290 0 V 67 0 V 0 -19 V 67 0 V 0 668 V 23 0 V 0 757 V 67 0 V 0 -1358 V 44 0 V 0 -60 V 22 0 V 0 9 V 45 0 V 0 -16 V 45 0 V 0 -3 V 22 0 V 22 0 V 0 3 V 290 0 V 0 16 V 23 0 V 0 -16 V 67 0 V 0 7 V 22 0 V 0 -3 V 44 0 V 0 -4 V 23 0 V 134 0 V 0 -3 V 223 0 V 0 328 V 111 0 V 0 -13 V 23 0 V 0 -305 V 133 0 V 0 86 V 90 0 V 0 -74 V 67 0 V 0 115 V 67 0 V 0 25 V 66 0 V 0 -162 V 45 0 V 0 178 V 45 0 V 0 -165 V 22 0 V 0 -10 V 22 0 V 0 74 V 90 0 V 0 -67 V 22 0 V 0 149 V 67 0 V 0 -149 V 44 0 V 0 -3 V 23 0 V 0 9 V 44 0 V 0 -6 V 67 0 V 0 -7 V 67 0 V 0 -3 V 45 0 V 0 38 V 111 0 V 0 -19 V 469 0 V 0 38 V 357 0 V 0 -47 V 134 0 V 0 270 V 22 0 V 0 -16 V 45 0 V 0 -248 V 89 0 V 0 -13 V 22 0 V 0 10 V 67 0 V 0 -6 V 1.000 UL LT1 736 1044 M 23 207 V 22 960 V 22 1 V 23 1 V 22 121 V 22 2 V 22 20 V 23 148 V 22 12 V 22 51 V 23 3 V 22 71 V 22 9 V 23 58 V 22 82 V 22 39 V 23 40 V 22 4 V 22 12 V 22 13 V 23 51 V 22 136 V 22 0 V 23 59 V 22 27 V 22 2 V 23 208 V 22 12 V 22 1 V 23 268 V 22 10 V 22 10 V 67 7 V 22 13 V 23 2 V 44 15 V 45 5 V 45 4 V 22 1 V 22 7 V 67 1 V 22 5 V 23 9 V 44 20 V 67 2 V 23 34 V 44 7 V 23 2 V 66 1 V 290 6 V 290 5 V 67 2 V 67 151 V 23 320 V 67 17 V 44 3 V 22 5 V 45 1 V 45 1 V 22 0 V 22 2 V 290 5 V 23 1 V 67 3 V 22 2 V 44 2 V 23 1 V 134 1 V 223 74 V 111 71 V 23 3 V 133 22 V 90 6 V 67 31 V 67 37 V 66 1 V 45 40 V 45 4 V 22 1 V 22 18 V 90 3 V 22 36 V 67 3 V 44 2 V 23 5 V 44 3 V 67 1 V 67 1 V 45 9 V 111 5 V 469 14 V 357 2 V 134 64 V 22 60 V 45 4 V 89 1 V 22 4 V 67 2 V 1.000 UL LT2 736 4427 M 58 0 V 57 0 V 58 0 V 57 0 V 58 0 V 57 0 V 58 0 V 57 0 V 57 0 V 58 0 V 57 0 V 58 0 V 57 0 V 58 0 V 57 0 V 58 0 V 57 0 V 58 0 V 57 0 V 58 0 V 57 0 V 57 0 V 58 0 V 57 0 V 58 0 V 57 0 V 58 0 V 57 0 V 58 0 V 57 0 V 58 0 V 57 0 V 58 0 V 57 0 V 57 0 V 58 0 V 57 0 V 58 0 V 57 0 V 58 0 V 57 0 V 58 0 V 57 0 V 58 0 V 57 0 V 58 0 V 57 0 V 57 0 V 58 0 V 57 0 V 58 0 V 57 0 V 58 0 V 57 0 V 58 0 V 57 0 V 58 0 V 57 0 V 58 0 V 57 0 V 57 0 V 58 0 V 57 0 V 58 0 V 57 0 V 58 0 V 57 0 V 58 0 V 57 0 V 58 0 V 57 0 V 58 0 V 57 0 V 57 0 V 58 0 V 57 0 V 58 0 V 57 0 V 58 0 V 57 0 V 58 0 V 57 0 V 58 0 V 57 0 V 58 0 V 57 0 V 57 0 V 58 0 V 57 0 V 58 0 V 57 0 V 58 0 V 57 0 V 58 0 V 57 0 V 58 0 V 57 0 V 58 0 V 57 0 V stroke grestore end showpage %%Trailer %%DocumentFonts: Helvetica %%EndDocument @endspecial 288 3551 a Fe(\017)86 b Ff(Most)57 b(pages)g(remain)h (only)g(for)g(a)f(few)g(min)-5 b(utes,)58 b(correlation:)460 3790 y(unnecessary)d(zeroing,)j(bad)e(impact)i(on)f(system)h(p)5 b(erformance)-33 4236 y Fh(Encrypting)38 b(Virtual)j(Memory)1221 b(14)1180 b(Cop)m(yrigh)m(t)39 b(Niels)j(Pro)m(v)m(os)e(2000)p eop %%Page: 15 15 15 14 bop -44 -120 a Fl(')p -44 3682 14 3465 v -44 4034 a(&)5430 -120 y($)p 5430 3682 V 5430 4034 a(\045)p 307 4034 4785 14 v 307 -120 V 1369 369 2593 7 v 1369 656 7 287 v 1428 564 a Fg(Virtual)78 b(Memory)f(System)p 3955 656 V 1369 663 2593 7 v 3958 732 73 301 v 1438 732 2593 73 v 150 1146 a Ff(In)57 b(comparison,)288 1486 y Fe(\017)86 b Ff(deleting)57 b(data)h(b)-5 b(y)57 b(erasing)h(incurs)f (extra)g(seek)g(time)h(and)f(additional)460 1730 y(I/O,)288 2070 y Fe(\017)86 b Ff(erasing)58 b(a)f(page)g(with)h(encryption)f(is)h (fast,)f(just)g(destro)-5 b(y)57 b(the)460 2314 y(encryption)g(k)-5 b(ey)-14 b(,)288 2654 y Fe(\017)86 b Ff(encryption)57 b(pro)-5 b(vides)57 b(b)5 b(etter)56 b(protection)i(against)g(ph)-5 b(ysical)58 b(attac)-5 b(ks,)460 2898 y(mere)57 b(p)5 b(ossession)57 b(of)g(disk)h(is)g(not)f(su\016cien)-5 b(t,)288 3238 y Fe(\017)86 b Ff(reliably)59 b(erasing)f(data)g(from)g (magnetic-media)g(is)g(di\016cult,)h(do)5 b(es)56 b(not)460 3482 y(matter)i(for)f(encryption.)-33 4236 y Fh(Encrypting)38 b(Virtual)j(Memory)1221 b(15)1180 b(Cop)m(yrigh)m(t)39 b(Niels)j(Pro)m(v)m(os)e(2000)p eop %%Page: 16 16 16 15 bop -44 -120 a Fl(')p -44 3682 14 3465 v -44 4034 a(&)5430 -120 y($)p 5430 3682 V 5430 4034 a(\045)p 307 4034 4785 14 v 307 -120 V 1736 990 1860 7 v 1736 1277 7 287 v 1794 1185 a Fg(Sw)-6 b(ap)78 b(Encryption)p 3588 1277 V 1736 1284 1860 7 v 3592 1353 73 301 v 1805 1353 1860 73 v 288 1789 a Fe(\017)86 b Ff(Encryption)57 b(and)g(decryption)g (are)g(separated:)75 b(p)5 b(olicy)58 b(decision)g(vs.)460 2033 y(need)e(of)h(decryption)516 2325 y Fj({)86 b Ff(P)-5 b(olicy:)76 b(encrypt)52 b(ev)-5 b(erything,)53 b(only)h(encrypt)e (data)h(from)h(cfs,)f(etc...)516 2617 y Fj({)86 b Ff(Decryption:)76 b(need)54 b(to)i(remem)-5 b(b)5 b(er)56 b(whic)-5 b(h)57 b(pages)e(to)h(decrypt,)f(k)-5 b(eep)701 2861 y(a)57 b(bitmap)i Fe(\))e Ff(allo)-5 b(ws)60 b(c)-5 b(hange)56 b(of)h(encryption)g(p)5 b(olicy)-14 b(.)-33 4236 y Fh(Encrypting)38 b(Virtual)j(Memory)1221 b(16)1180 b(Cop)m(yrigh)m(t)39 b(Niels)j(Pro)m(v)m(os)e(2000)p eop %%Page: 17 17 17 16 bop -44 -120 a Fl(')p -44 3682 14 3465 v -44 4034 a(&)5430 -120 y($)p 5430 3682 V 5430 4034 a(\045)p 307 4034 4785 14 v 307 -120 V 1736 456 1860 7 v 1736 743 7 287 v 1794 651 a Fg(Sw)-6 b(ap)78 b(Encryption)p 3588 743 V 1736 750 1860 7 v 3592 818 73 301 v 1805 818 1860 73 v 288 1255 a Fe(\017)86 b Ff(Keep)56 b(upp)5 b(er)56 b(b)5 b(ound)56 b(on)h Fc(t)2225 1281 y Fb(R)2396 1255 y Ff(small)i(b)-5 b(y)57 b(dividing)i(the)e(bac)-5 b(king)57 b(store)460 1499 y(in)-5 b(to)58 b(sections)f(of)g(512)h(KByte,)e(eac) -5 b(h)57 b(section)g(has)516 1791 y Fj({)86 b Ff(a)57 b(128-bit)i(cryptographic)e(k)-5 b(ey)-14 b(,)516 2083 y Fj({)86 b Ff(reference)55 b(coun)-5 b(ter,)516 2375 y Fj({)86 b Ff(and)57 b(an)g(expiration)h(time.)288 2715 y Fe(\017)86 b Ff(256)58 b(MByte)e(bac)-5 b(king)58 b(store)f(requires) g(14KB)h(of)f(memory)h(for)g(k)-5 b(eys.)288 3055 y Fe(\017)86 b Ff(Section's)56 b(128-bit)j(k)-5 b(ey)57 b(is)h(created)e(randomly)j (on)e(\014rst)g(use.)288 3395 y Fe(\017)86 b Ff(If)57 b(a)h(section's)e(reference)f(coun)-5 b(ter)57 b(is)h(0,)f(its)i(k)-5 b(ey)56 b(is)j(destro)-5 b(y)g(ed.)-33 4236 y Fh(Encrypting)38 b(Virtual)j(Memory)1221 b(17)1180 b(Cop)m(yrigh)m(t)39 b(Niels)j(Pro)m(v)m(os)e(2000)p eop %%Page: 18 18 18 17 bop -44 -120 a Fl(')p -44 3682 14 3465 v -44 4034 a(&)5430 -120 y($)p 5430 3682 V 5430 4034 a(\045)p 307 4034 4785 14 v 307 -120 V 1736 226 1860 7 v 1736 513 7 287 v 1794 422 a Fg(Sw)-6 b(ap)78 b(Encryption)p 3588 513 V 1736 520 1860 7 v 3592 589 73 301 v 1805 589 1860 73 v 1230 3403 a @beginspecial 0 @llx 0 @lly 459 @urx 420 @ury 1700 @rwi @setspecial %%BeginDocument: arch.ps %!PS-Adobe-2.0 EPSF-2.0 %%Title: arch.fig %%Creator: fig2dev Version 3.2 Patchlevel 1 %%CreationDate: Sun Jan 30 19:05:34 2000 %%For: root@warzenschwein (Charlie &) %%Orientation: Portrait %%BoundingBox: 0 0 459 420 %%Pages: 0 %%BeginSetup %%EndSetup %%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 /col32 {0.557 0.557 0.557 srgb} bind def /col33 {0.255 0.271 0.255 srgb} bind def /col34 {0.557 0.557 0.557 srgb} bind def /col35 {0.557 0.557 0.557 srgb} bind def /col36 {0.557 0.557 0.557 srgb} bind def /col37 {0.255 0.271 0.255 srgb} bind def /col38 {0.557 0.557 0.557 srgb} bind def /col39 {0.255 0.271 0.255 srgb} bind def /col40 {0.557 0.557 0.557 srgb} bind def /col41 {0.255 0.271 0.255 srgb} bind def end save -117.0 509.0 translate 1 -1 scale .9 .9 scale % to make patterns same scale as in xfig % 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 show % 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 proe 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 % 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 { 32 32 true [ 32 0 0 -32 0 32 ] {<010101010202020204040404080808081010101020202020 404040408080808001010101020202020404040408080808 101010102020202040404040808080800101010102020202 040404040808080810101010202020204040404080808080 010101010202020204040404080808081010101020202020 4040404080808080>} imagemask } bind ] def /PaintProc { pop exec fill } def currentdict end /P5 exch def 1.1111 1.1111 scale %restore scale /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 %%EndProlog $F2psBegin 10 setmiterlimit n -1000 9467 m -1000 -1000 l 10584 -1000 l 10584 9467 l cp clip 0.06000 0.06000 sc /Times-Roman ff 240.00 scf sf 7200 3450 m gs 1 -1 sc (Pool) col0 sh gr % Polyline 7.500 slw n 8325 1800 m 8925 1800 l 8925 2100 l 8325 2100 l cp gs col0 s gr % Polyline n 8325 2100 m 8925 2100 l 8925 2400 l 8325 2400 l cp gs col0 s gr % Polyline n 8325 2400 m 8925 2400 l 8925 2700 l 8325 2700 l cp gs col0 s gr % Polyline n 8325 2700 m 8925 2700 l 8925 3000 l 8325 3000 l cp gs col0 s gr % Polyline n 8325 3000 m 8925 3000 l 8925 3300 l 8325 3300 l cp gs col0 s gr % Polyline n 8325 3300 m 8925 3300 l 8925 3600 l 8325 3600 l cp gs col0 s gr % Polyline n 8325 3600 m 8925 3600 l 8925 3900 l 8325 3900 l cp gs col0 s gr % Polyline n 8325 3900 m 8925 3900 l 8925 4200 l 8325 4200 l cp gs col0 s gr % Polyline n 8325 4200 m 8925 4200 l 8925 4500 l 8325 4500 l cp gs col0 s gr % Polyline n 8325 4500 m 8925 4500 l 8925 4800 l 8325 4800 l cp gs col0 s gr % Polyline n 8325 4800 m 8925 4800 l 8925 5100 l 8325 5100 l cp gs col0 s gr % Polyline n 8325 5100 m 8925 5100 l 8925 5400 l 8325 5400 l cp gs col0 s gr % Polyline n 8325 5400 m 8925 5400 l 8925 5700 l 8325 5700 l cp gs col0 s gr /Times-Roman ff 240.00 scf sf 7800 6150 m gs 1 -1 sc (Physical Memory) col0 sh gr % Polyline gs clippath 7395 4980 m 7275 4950 l 7395 4920 l 7260 4920 l 7260 4980 l cp clip n 7575 4950 m 7275 4950 l gs col0 s gr gr % arrowhead n 7395 4980 m 7275 4950 l 7395 4920 l col0 s % Polyline n 6300 4800 m 7275 4800 l 7275 5100 l 6300 5100 l cp gs col0 s gr /Times-Roman ff 240.00 scf sf 6450 5025 m gs 1 -1 sc (encrypt) col0 sh gr % Ellipse n 5250 6675 750 225 0 360 DrawEllipse gs col0 s gr % Ellipse n 5250 7875 750 225 0 360 DrawEllipse gs col0 s gr % Polyline n 4605 2400 m 4500 2400 4500 2895 105 arcto 4 {pop} repeat 4500 3000 5895 3000 105 arcto 4 {pop} repeat 6000 3000 6000 2505 105 arcto 4 {pop} repeat 6000 2400 4605 2400 105 arcto 4 {pop} repeat cp gs col0 s gr % Polyline n 2700 1500 m 3300 1500 l 3300 5700 l 2700 5700 l cp gs col0 s gr % Polyline n 2700 1800 m 3300 1800 l gs col0 s gr % Polyline n 2700 2100 m 3300 2100 l gs col0 s gr % Polyline n 2700 2400 m 3300 2400 l gs col0 s gr % Polyline n 2700 2700 m 2850 2700 l 3000 2700 l 3150 2700 l 3300 2700 l gs col0 s gr % Polyline n 2700 3000 m 3300 3000 l gs col0 s gr % Polyline n 2700 3300 m 3300 3300 l gs col0 s gr % Polyline n 2700 3600 m 3300 3600 l gs col0 s gr % Polyline n 2700 3900 m 2850 3900 l 3000 3900 l 3150 3900 l 3300 3900 l gs col0 s gr % Polyline n 2700 4200 m 3300 4200 l gs col0 s gr % Polyline n 2700 4500 m 3300 4500 l gs col0 s gr % Polyline n 2700 4800 m 3300 4800 l gs col0 s gr % Polyline n 2700 5100 m 3300 5100 l gs col0 s gr % Polyline n 2700 5400 m 3300 5400 l gs col0 s gr % Polyline gs clippath 4398 2770 m 4500 2700 l 4443 2810 l 4532 2709 l 4488 2669 l cp clip n 3300 4050 m 4500 2700 l gs col0 s gr gr % arrowhead n 4398 2770 m 4500 2700 l 4443 2810 l col0 s % Polyline gs clippath 8202 1959 m 8325 1950 l 8221 2016 l 8349 1974 l 8330 1917 l cp clip n 6075 2700 m 8325 1950 l gs col0 s gr gr % arrowhead n 8202 1959 m 8325 1950 l 8221 2016 l col0 s % Polyline n 4605 3750 m 4500 3750 4500 5445 105 arcto 4 {pop} repeat 4500 5550 5895 5550 105 arcto 4 {pop} repeat 6000 5550 6000 3855 105 arcto 4 {pop} repeat 6000 3750 4605 3750 105 arcto 4 {pop} repeat cp gs col0 s gr % Polyline n 5996 5550 m 6004 5550 l gs col0 s gr % Polyline gs clippath 5130 3705 m 5100 3825 l 5070 3705 l 5070 3840 l 5130 3840 l cp clip n 5100 3000 m 5100 3825 l gs col0 s gr gr % arrowhead n 5130 3705 m 5100 3825 l 5070 3705 l col0 s % Polyline gs clippath 7395 4080 m 7275 4050 l 7395 4020 l 7260 4020 l 7260 4080 l cp clip n 7575 4050 m 7275 4050 l gs col0 s gr gr % arrowhead n 7395 4080 m 7275 4050 l 7395 4020 l col0 s % Polyline n 6300 3900 m 7275 3900 l 7275 4200 l 6300 4200 l cp gs col0 s gr % Polyline gs clippath 6180 3945 m 6300 3975 l 6180 4005 l 6315 4005 l 6315 3945 l cp clip n 5925 3975 m 6300 3975 l gs col0 s gr gr % arrowhead n 6180 3945 m 6300 3975 l 6180 4005 l col0 s % Polyline gs clippath 6045 4155 m 5925 4125 l 6045 4095 l 5910 4095 l 5910 4155 l cp clip n 6300 4125 m 5925 4125 l gs col0 s gr gr % arrowhead n 6045 4155 m 5925 4125 l 6045 4095 l col0 s % Polyline gs clippath 6180 4845 m 6300 4875 l 6180 4905 l 6315 4905 l 6315 4845 l cp clip n 5925 4875 m 6300 4875 l gs col0 s gr gr % arrowhead n 6180 4845 m 6300 4875 l 6180 4905 l col0 s % Polyline gs clippath 6045 5055 m 5925 5025 l 6045 4995 l 5910 4995 l 5910 5055 l cp clip n 6300 5025 m 5925 5025 l gs col0 s gr gr % arrowhead n 6045 5055 m 5925 5025 l 6045 4995 l col0 s % Polyline [60] 0 sd n 4575 3825 m 5925 3825 l 5925 4650 l 4575 4650 l cp gs col0 s gr [] 0 sd % Polyline [60] 0 sd n 4575 4725 m 5925 4725 l 5925 5475 l 4575 5475 l cp gs col0 s gr [] 0 sd % Polyline gs clippath 6042 5366 m 5925 5325 l 6047 5306 l 5913 5294 l 5907 5353 l cp clip n 8325 5550 m 5925 5325 l gs col0 s gr gr % arrowhead n 6042 5366 m 5925 5325 l 6047 5306 l col0 s % Polyline gs clippath 8216 1708 m 8325 1650 l 8256 1753 l 8356 1662 l 8316 1618 l cp clip n 5925 3825 m 8325 1650 l gs col0 s gr gr % arrowhead n 8216 1708 m 8325 1650 l 8256 1753 l col0 s % Polyline gs clippath 7755 3705 m 7725 3825 l 7695 3705 l 7695 3840 l 7755 3840 l cp clip n 7725 3525 m 7725 3825 l gs col0 s gr gr % arrowhead n 7755 3705 m 7725 3825 l 7695 3705 l col0 s % Polyline n 4500 6675 m 4500 7875 l gs col0 s gr % Polyline n 6000 6675 m 6000 7875 l gs col0 s gr % Polyline n 5100 7200 m 5250 7200 l 5250 7500 l 5100 7500 l cp gs col7 0.70 shd ef gr gs col0 s gr % Polyline n 4800 7575 m 4950 7575 l 4950 7875 l 4800 7875 l cp gs col7 0.70 shd ef gr gs col0 s gr % Polyline n 5400 7575 m 5550 7575 l 5550 7875 l 5400 7875 l cp gs col7 0.70 shd ef gr gs col0 s gr % Polyline n 4800 7050 m 4950 7050 l 4950 7350 l 4800 7350 l cp gs col7 0.70 shd ef gr gs col0 s gr % Polyline n 6405 3825 m 6300 3825 6300 5070 105 arcto 4 {pop} repeat 6300 5175 7995 5175 105 arcto 4 {pop} repeat 8100 5175 8100 3930 105 arcto 4 {pop} repeat 8100 3825 6405 3825 105 arcto 4 {pop} repeat cp gs col0 s gr % Polyline n 7575 3825 m 7950 3825 l 7950 5175 l 7575 5175 l cp gs col0 s gr % Polyline n 2700 3900 m 3300 3900 l 3300 4200 l 2700 4200 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 180.00 260.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 8325 1500 m 8925 1500 l 8925 1800 l 8325 1800 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 555.00 100.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 8325 1800 m 8925 1800 l 8925 2100 l 8325 2100 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 555.00 120.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 8325 5400 m 8925 5400 l 8925 5700 l 8325 5700 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 555.00 360.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 7005 3000 m 6900 3000 6900 3420 105 arcto 4 {pop} repeat 6900 3525 7995 3525 105 arcto 4 {pop} repeat 8100 3525 8100 3105 105 arcto 4 {pop} repeat 8100 3000 7005 3000 105 arcto 4 {pop} repeat cp gs col0 s gr % Polyline [60] 0 sd gs clippath 4490 4290 m 4575 4200 l 4543 4319 l 4609 4202 l 4556 4172 l cp clip n 4800 7200 m 4799 7198 l 4796 7194 l 4792 7187 l 4785 7175 l 4774 7159 l 4761 7138 l 4745 7112 l 4727 7081 l 4706 7047 l 4683 7008 l 4658 6967 l 4633 6924 l 4607 6880 l 4581 6835 l 4556 6791 l 4531 6746 l 4508 6703 l 4485 6661 l 4464 6621 l 4444 6581 l 4426 6543 l 4408 6506 l 4392 6471 l 4378 6436 l 4364 6402 l 4351 6368 l 4339 6334 l 4328 6301 l 4318 6268 l 4309 6234 l 4300 6200 l 4292 6167 l 4285 6134 l 4278 6100 l 4271 6066 l 4265 6031 l 4259 5995 l 4254 5958 l 4249 5920 l 4244 5882 l 4240 5843 l 4236 5803 l 4233 5763 l 4230 5722 l 4227 5681 l 4225 5640 l 4224 5598 l 4223 5557 l 4222 5516 l 4222 5475 l 4222 5434 l 4222 5394 l 4223 5354 l 4225 5316 l 4227 5278 l 4229 5241 l 4231 5204 l 4234 5169 l 4237 5135 l 4241 5102 l 4245 5070 l 4249 5038 l 4253 5008 l 4258 4979 l 4263 4950 l 4269 4916 l 4276 4883 l 4283 4851 l 4291 4819 l 4300 4788 l 4310 4757 l 4320 4726 l 4332 4694 l 4344 4661 l 4358 4628 l 4372 4594 l 4388 4559 l 4405 4524 l 4422 4487 l 4440 4451 l 4459 4415 l 4477 4379 l 4495 4345 l 4512 4314 l 4527 4285 l 4541 4261 l 4552 4240 l 4561 4225 l 4575 4200 l gs col0 s gr gr [] 0 sd % arrowhead n 4490 4290 m 4575 4200 l 4543 4319 l col0 s % Polyline [60] 0 sd gs clippath 4718 7632 m 4800 7725 l 4684 7681 l 4795 7758 l 4829 7709 l cp clip n 4575 5100 m 4573 5102 l 4569 5105 l 4562 5111 l 4552 5121 l 4537 5134 l 4519 5152 l 4498 5172 l 4474 5196 l 4448 5222 l 4422 5251 l 4396 5280 l 4370 5311 l 4345 5342 l 4322 5373 l 4301 5404 l 4282 5435 l 4264 5466 l 4249 5498 l 4235 5530 l 4224 5563 l 4213 5597 l 4205 5633 l 4198 5670 l 4192 5709 l 4188 5750 l 4185 5779 l 4183 5810 l 4182 5842 l 4181 5874 l 4180 5908 l 4180 5943 l 4181 5980 l 4182 6017 l 4183 6056 l 4185 6095 l 4187 6136 l 4190 6177 l 4193 6219 l 4197 6262 l 4201 6306 l 4206 6350 l 4211 6395 l 4217 6439 l 4223 6484 l 4229 6529 l 4235 6573 l 4242 6617 l 4249 6661 l 4257 6704 l 4264 6747 l 4272 6788 l 4280 6829 l 4288 6869 l 4297 6907 l 4305 6945 l 4313 6981 l 4322 7016 l 4331 7050 l 4339 7082 l 4348 7113 l 4357 7143 l 4366 7172 l 4375 7200 l 4389 7242 l 4404 7280 l 4420 7317 l 4436 7351 l 4453 7383 l 4471 7413 l 4490 7442 l 4511 7470 l 4533 7497 l 4557 7524 l 4582 7550 l 4608 7575 l 4635 7600 l 4663 7623 l 4690 7645 l 4715 7665 l 4738 7682 l 4758 7696 l 4774 7707 l 4800 7725 l gs col0 s gr gr [] 0 sd % arrowhead n 4718 7632 m 4800 7725 l 4684 7681 l col0 s /Times-Roman ff 240.00 scf sf 1950 6150 m gs 1 -1 sc (Virtual Address Space) col0 sh gr /Times-Roman ff 240.00 scf sf 4875 2775 m gs 1 -1 sc (Mapper) col0 sh gr /Times-Roman ff 240.00 scf sf 4800 5175 m gs 1 -1 sc (Page Out) col0 sh gr /Times-Roman ff 240.00 scf sf 4800 4350 m gs 1 -1 sc (Page In) col0 sh gr /Times-Roman ff 240.00 scf sf 4950 5850 m gs 1 -1 sc (Pager) col0 sh gr /Times-Roman ff 240.00 scf sf 6450 4125 m gs 1 -1 sc (decrypt) col0 sh gr /Times-Roman ff 240.00 scf sf 5175 3375 m gs 1 -1 sc (not resident) col0 sh gr /Times-Roman ff 240.00 scf sf 6600 2175 m gs 1 -1 sc (resident) col0 sh gr /Times-Roman ff 270.00 scf sf 4650 2100 m gs 1 -1 sc (VM System) col0 sh gr /Times-Roman ff 240.00 scf sf 4350 8400 m gs 1 -1 sc (Secondary Storage) col0 sh gr /Times-Roman ff 240.00 scf sf 7800 5100 m gs 1 -1 sc 90.0 rot (volatile key) col0 sh gr /Helvetica-Bold ff 180.00 scf sf 3750 3375 m gs 1 -1 sc (1) col0 sh gr /Helvetica-Bold ff 180.00 scf sf 6525 2475 m gs 1 -1 sc (2) col0 sh gr /Helvetica-Bold ff 180.00 scf sf 4950 3450 m gs 1 -1 sc (3) col0 sh gr /Helvetica-Bold ff 180.00 scf sf 4125 5100 m gs 1 -1 sc (4) col0 sh gr /Helvetica-Bold ff 180.00 scf sf 6150 3900 m gs 1 -1 sc (5) col0 sh gr /Helvetica-Bold ff 180.00 scf sf 6900 2850 m gs 1 -1 sc (6) col0 sh gr /Helvetica-Bold ff 180.00 scf sf 7050 5700 m gs 1 -1 sc (7) col0 sh gr /Helvetica-Bold ff 180.00 scf sf 4050 6525 m gs 1 -1 sc (9) col0 sh gr /Helvetica-Bold ff 180.00 scf sf 7800 3750 m gs 1 -1 sc (8a) col0 sh gr /Helvetica-Bold ff 180.00 scf sf 6150 4800 m gs 1 -1 sc (8) col0 sh gr /Times-Roman ff 240.00 scf sf 7050 3225 m gs 1 -1 sc (Entropy) col0 sh gr % Polyline n 8325 1500 m 8925 1500 l 8925 1800 l 8325 1800 l cp gs col0 s gr $F2psEnd rs end %%EndDocument @endspecial 1160 3647 a Ff(Ov)-5 b(erview)58 b(of)f(the)g(sw)-5 b(ap)57 b(encryption)g(pro)5 b(cess)-33 4236 y Fh(Encrypting)38 b(Virtual)j(Memory)1221 b(18)1180 b(Cop)m(yrigh)m(t)39 b(Niels)j(Pro)m(v)m(os)e(2000)p eop %%Page: 19 19 19 18 bop -44 -120 a Fl(')p -44 3682 14 3465 v -44 4034 a(&)5430 -120 y($)p 5430 3682 V 5430 4034 a(\045)p 307 4034 4785 14 v 307 -120 V 1736 624 1860 7 v 1736 911 7 287 v 1794 819 a Fg(Sw)-6 b(ap)78 b(Encryption)p 3588 911 V 1736 918 1860 7 v 3592 987 73 301 v 1805 987 1860 73 v 150 1401 a Fj(Cipher)66 b(Selection.)150 1719 y Ff(F)-14 b(or)58 b(sw)-5 b(ap)58 b(encryption,)e(a)i(cipher)f(needs)e (to)j(ful\014ll:)288 2059 y Fe(\017)86 b Ff(Encryption)52 b(and)f(Decryption)h(need)f(to)h(b)5 b(e)51 b(fast)g(compare)h(to)g (disk)h(I/O)288 2399 y Fe(\017)86 b Ff(Generation)57 b(of)g(the)g(cipher's)g(k)-5 b(ey)57 b(sc)-5 b(hedule)56 b(has)h(to)g(b)5 b(e)56 b(inexp)5 b(ensiv)-5 b(e)460 2643 y(compared)57 b(to)g(encrypting)g(a)g(page.)288 2983 y Fe(\017)86 b Ff(Cipher)58 b(has)f(to)g(supp)5 b(ort)57 b(encryption)g(and)f(decryption)h(on)g(page)g(b)-5 b(y)460 3227 y(page)57 b(basis,)g(can)g(not)g(use)g(stream)g(cipher.) -33 4236 y Fh(Encrypting)38 b(Virtual)j(Memory)1221 b(19)1180 b(Cop)m(yrigh)m(t)39 b(Niels)j(Pro)m(v)m(os)e(2000)p eop %%Page: 20 20 20 19 bop -44 -120 a Fl(')p -44 3682 14 3465 v -44 4034 a(&)5430 -120 y($)p 5430 3682 V 5430 4034 a(\045)p 307 4034 4785 14 v 307 -120 V 1736 236 1860 7 v 1736 523 7 287 v 1794 431 a Fg(Sw)-6 b(ap)78 b(Encryption)p 3588 523 V 1736 530 1860 7 v 3592 599 73 301 v 1805 599 1860 73 v 288 1035 a Fe(\017)86 b Ff(Sc)-5 b(hneier's)56 b(Blo)-5 b(w\014sh)58 b(encryption)f(algorithm)j(not)d(suitable:)516 1327 y Fj({)86 b Ff(k)-5 b(ey)57 b(sc)-5 b(hedule)56 b(computation)h(is)h(v)-5 b(ery)58 b(slo)-5 b(w)516 1619 y Fj({)86 b Ff(k)-5 b(ey)57 b(sc)-5 b(hedule)56 b(requires)h(a)h(lot)g (of)f(memory)288 1959 y Fe(\017)86 b Ff(Use)57 b Fj(Rijndael)p Ff(:)516 2251 y Fj({)86 b Ff(is)58 b(\014nalist)g(in)g(adv)-10 b(anced)56 b(encryption)h(standard)g(\(AES\))701 2495 y(comp)5 b(etition,)516 2787 y Fj({)86 b Ff(128-bit)59 b(blo)5 b(c)-5 b(ks)57 b(and)g(128-bit)h(k)-5 b(eys,)516 3079 y Fj({)86 b Ff(round)57 b(transformation)i(do)5 b(es)56 b(not)h(ha)-5 b(v)g(e)57 b(F)-14 b(eistel)58 b(structure,)701 3323 y(instead)f(di\013eren)-5 b(t)58 b(la)-5 b(y)g(ers,)516 3615 y Fj({)86 b Ff(is)58 b(faster)f(in)h(all)h (asp)5 b(ects)56 b(compared)h(to)g(Blo)-5 b(w\014sh.)-33 4236 y Fh(Encrypting)38 b(Virtual)j(Memory)1221 b(20)1180 b(Cop)m(yrigh)m(t)39 b(Niels)j(Pro)m(v)m(os)e(2000)p eop %%Page: 21 21 21 20 bop -44 -120 a Fl(')p -44 3682 14 3465 v -44 4034 a(&)5430 -120 y($)p 5430 3682 V 5430 4034 a(\045)p 307 4034 4785 14 v 307 -120 V 1736 650 1860 7 v 1736 937 7 287 v 1794 845 a Fg(Sw)-6 b(ap)78 b(Encryption)p 3588 937 V 1736 944 1860 7 v 3592 1013 73 301 v 1805 1013 1860 73 v 288 1449 a Fe(\017)86 b Ff(Key)57 b(sc)-5 b(hedule)56 b(computation)h(cost)g(is)h(amortized)g(when)f(encrypting)f(a)460 1693 y(single)i(4)g(KByte)e(page.)76 b(\(352)58 b(cycles)e(vs.)76 b(357)58 b(cycles\))288 2033 y Fe(\017)86 b Ff(W)-14 b(e)56 b(use)h(the)g(cipher)g(in)g(cipher-blo)5 b(c)-5 b(k)58 b(c)-5 b(haining)58 b(\(CBC\))g(mo)5 b(de.)288 2373 y Fe(\017)86 b Ff(Encrypted)56 b(blo)5 b(c)-5 b(k)57 b(n)-5 b(um)g(b)5 b(er)57 b(is)h(used)f(as)g(128-bit)i(initialization) 460 2617 y(v)-5 b(ector)57 b(\(IV\))516 2909 y Fj({)86 b Ff(eac)-5 b(h)56 b(page)h(is)h(encrypted)e(uniquely)-14 b(,)516 3201 y Fj({)86 b Ff(try)58 b(to)f(a)-5 b(v)g(oid)59 b(cipher)e(text)f(only)i(attac)-5 b(ks.)-33 4236 y Fh(Encrypting)38 b(Virtual)j(Memory)1221 b(21)1180 b(Cop)m(yrigh)m(t)39 b(Niels)j(Pro)m(v)m(os)e(2000)p eop %%Page: 22 22 22 21 bop -44 -120 a Fl(')p -44 3682 14 3465 v -44 4034 a(&)5430 -120 y($)p 5430 3682 V 5430 4034 a(\045)p 307 4034 4785 14 v 307 -120 V 1736 456 1860 7 v 1736 743 7 287 v 1794 651 a Fg(Sw)-6 b(ap)78 b(Encryption)p 3588 743 V 1736 750 1860 7 v 3592 818 73 301 v 1805 818 1860 73 v 288 1255 a Fe(\017)86 b Ff(Securit)-5 b(y)57 b(relies)i(on)e(go)5 b(o)g(d)57 b(encryption)f(k)-5 b(eys.)288 1595 y Fe(\017)86 b Ff(Require)57 b(a)g(go)5 b(o)g(d)57 b(source)g(of)g(randomness.)288 1935 y Fe(\017)86 b Fj(En)-6 b(trop)g(y)67 b(p)6 b(o)g(ol)58 b Ff(collects)f(en)-5 b(trop)g(y)57 b(from)h(man)-5 b(y)58 b(ph)-5 b(ysical)58 b(ev)-5 b(en)g(ts)460 2179 y(observ)-10 b(able)57 b(b)-5 b(y)58 b(the)e(op)5 b(erating)58 b(system:)516 2471 y Fj({)86 b Ff(in)-5 b(ter-k)g(eypress)57 b(timing)j(from)e (terminals,)516 2763 y Fj({)86 b Ff(arriv)-10 b(al)60 b(time)f(of)e(net)-5 b(w)g(ork)57 b(pac)-5 b(k)g(ets,)516 3055 y Fj({)86 b Ff(\014nishing)58 b(time)g(of)f(disk)h(requests.)288 3395 y Fe(\017)86 b Ff(Not)58 b(practical)g(for)f(an)h(attac)-5 b(k)g(er)57 b(to)g(observ)-5 b(e)57 b(all)i(ev)-5 b(en)g(ts.)-33 4236 y Fh(Encrypting)38 b(Virtual)j(Memory)1221 b(22)1180 b(Cop)m(yrigh)m(t)39 b(Niels)j(Pro)m(v)m(os)e(2000)p eop %%Page: 23 23 23 22 bop -44 -120 a Fl(')p -44 3682 14 3465 v -44 4034 a(&)5430 -120 y($)p 5430 3682 V 5430 4034 a(\045)p 307 4034 4785 14 v 307 -120 V 1800 1186 1731 7 v 1800 1473 7 287 v 1859 1381 a Fg(Sw)-6 b(ap)77 b(Encrytion)p 3524 1473 V 1800 1480 1731 7 v 3527 1548 73 301 v 1869 1548 1731 73 v 288 1985 a Fe(\017)86 b Ff(Use)57 b(AR)-5 b(C4)58 b(stream)g(cipher)f(to)g(extract)g(random)h(encryption)e(k)-5 b(eys.)288 2325 y Fe(\017)86 b Ff(R)-5 b(C4's)57 b(in)-5 b(ternal)59 b(state)e(is)h(initialized)i(b)-5 b(y)57 b(the)g(en)-5 b(trop)g(y)57 b(p)5 b(o)g(ol.)288 2665 y Fe(\017)86 b Ff(F)-14 b(requen)-5 b(tly)57 b(reseed)f(R)-5 b(C4's)58 b(state)e(to)i(prev)-5 b(en)g(t)56 b(none-uniform)i(output) -33 4236 y Fh(Encrypting)38 b(Virtual)j(Memory)1221 b(23)1180 b(Cop)m(yrigh)m(t)39 b(Niels)j(Pro)m(v)m(os)e(2000)p eop %%Page: 24 24 24 23 bop -44 -120 a Fl(')p -44 3682 14 3465 v -44 4034 a(&)5430 -120 y($)p 5430 3682 V 5430 4034 a(\045)p 307 4034 4785 14 v 307 -120 V 1387 67 2558 7 v 1387 314 7 247 v 1445 262 a Fg(P)-6 b(erformance)77 b(Ev)-13 b(aluation)p 3937 314 V 1387 321 2558 7 v 3941 389 73 261 v 1456 389 2558 73 v 1230 2483 a @beginspecial 50 @llx 50 @lly 410 @urx 302 @ury 1700 @rwi @setspecial %%BeginDocument: graph2.ps %!PS-Adobe-2.0 EPSF-2.0 %%Title: graph2.ps %%Creator: gnuplot 3.7 patchlevel 0 %%CreationDate: Mon Feb 7 08:58:35 2000 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%Orientation: Portrait %%EndComments /gnudict 256 dict def gnudict begin /Color false def /Solid false def /gnulinewidth 5.000 def /userlinewidth gnulinewidth def /vshift -46 def /dl {10 mul} def /hpt_ 31.5 def /vpt_ 31.5 def /hpt hpt_ def /vpt vpt_ def /M {moveto} bind def /L {lineto} bind def /R {rmoveto} bind def /V {rlineto} bind def /vpt2 vpt 2 mul def /hpt2 hpt 2 mul def /Lshow { currentpoint stroke M 0 vshift R show } def /Rshow { currentpoint stroke M dup stringwidth pop neg vshift R show } def /Cshow { currentpoint stroke M dup stringwidth pop -2 div vshift R show } def /UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def /DL { Color {setrgbcolor Solid {pop []} if 0 setdash } {pop pop pop Solid {pop []} if 0 setdash} ifelse } def /BL { stroke gnulinewidth 2 mul setlinewidth } def /AL { stroke gnulinewidth 2 div setlinewidth } def /UL { gnulinewidth mul /userlinewidth exch def } def /PL { stroke userlinewidth setlinewidth } def /LTb { BL [] 0 0 0 DL } def /LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def /LT0 { PL [] 1 0 0 DL } def /LT1 { PL [4 dl 2 dl] 0 1 0 DL } def /LT2 { PL [2 dl 3 dl] 0 0 1 DL } def /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def /LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def /Pnt { stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore } def /Dia { stroke [] 0 setdash 2 copy vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke Pnt } def /Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V currentpoint stroke M hpt neg vpt neg R hpt2 0 V stroke } def /Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke Pnt } def /Crs { stroke [] 0 setdash exch hpt sub exch vpt add M hpt2 vpt2 neg V currentpoint stroke M hpt2 neg 0 R hpt2 vpt2 V stroke } def /TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke Pnt } def /Star { 2 copy Pls Crs } def /BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath fill } def /TriUF { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath fill } def /TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke Pnt } def /TriDF { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath fill} def /DiaF { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath fill } def /Pent { stroke [] 0 setdash 2 copy gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore Pnt } def /PentF { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath fill grestore } def /Circle { stroke [] 0 setdash 2 copy hpt 0 360 arc stroke Pnt } def /CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def /C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def /C1 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill vpt 0 360 arc closepath } bind def /C2 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C3 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill vpt 0 360 arc closepath } bind def /C4 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc closepath } bind def /C5 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc 2 copy moveto 2 copy vpt 180 270 arc closepath fill vpt 0 360 arc } bind def /C6 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 270 arc closepath fill vpt 0 360 arc closepath } bind def /C7 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 270 arc closepath fill vpt 0 360 arc closepath } bind def /C8 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C9 { BL [] 0 setdash 2 copy moveto 2 copy vpt 270 450 arc closepath fill vpt 0 360 arc closepath } bind def /C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 2 copy moveto 2 copy vpt 90 180 arc closepath fill vpt 0 360 arc closepath } bind def /C11 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 180 arc closepath fill 2 copy moveto 2 copy vpt 270 360 arc closepath fill vpt 0 360 arc closepath } bind def /C12 { BL [] 0 setdash 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C13 { BL [] 0 setdash 2 copy moveto 2 copy vpt 0 90 arc closepath fill 2 copy moveto 2 copy vpt 180 360 arc closepath fill vpt 0 360 arc closepath } bind def /C14 { BL [] 0 setdash 2 copy moveto 2 copy vpt 90 360 arc closepath fill vpt 0 360 arc } bind def /C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill vpt 0 360 arc closepath } bind def /Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath } bind def /Square { dup Rec } bind def /Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def /S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def /S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def /S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def /S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def /S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 2 copy vpt Square fill Bsquare } bind def /S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def /S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def /S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def /S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def /S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy vpt Square fill Bsquare } bind def /S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def /S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def /D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def /D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def /D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def /D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def /D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def /D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def /D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def /D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def /D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def /D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def /D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def /D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def /D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def /D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def /D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def /D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def /DiaE { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke } def /BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke } def /TriUE { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke } def /TriDE { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V closepath stroke } def /PentE { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat closepath stroke grestore } def /CircE { stroke [] 0 setdash hpt 0 360 arc stroke } def /Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def /DiaW { stroke [] 0 setdash vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V Opaque stroke } def /BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V Opaque stroke } def /TriUW { stroke [] 0 setdash vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V Opaque stroke } def /TriDW { stroke [] 0 setdash vpt 1.12 mul sub M hpt neg vpt 1.62 mul V hpt 2 mul 0 V hpt neg vpt -1.62 mul V Opaque stroke } def /PentW { stroke [] 0 setdash gsave translate 0 hpt M 4 {72 rotate 0 hpt L} repeat Opaque stroke grestore } def /CircW { stroke [] 0 setdash hpt 0 360 arc Opaque stroke } def /BoxFill { gsave Rec 1 setgray fill grestore } def end %%EndProlog gnudict begin gsave 50 50 translate 0.050 0.050 scale 0 setgray newpath (Helvetica) findfont 140 scalefont setfont 1.000 UL LTb 630 420 M 63 0 V 6269 0 R -63 0 V 546 420 M (0) Rshow 630 1162 M 63 0 V 6269 0 R -63 0 V -6353 0 R (50) Rshow 630 1904 M 63 0 V 6269 0 R -63 0 V -6353 0 R (100) Rshow 630 2646 M 63 0 V 6269 0 R -63 0 V -6353 0 R (150) Rshow 630 3388 M 63 0 V 6269 0 R -63 0 V -6353 0 R (200) Rshow 630 4130 M 63 0 V 6269 0 R -63 0 V -6353 0 R (250) Rshow 630 4872 M 63 0 V 6269 0 R -63 0 V -6353 0 R (300) Rshow 918 420 M 0 63 V 0 4389 R 0 -63 V 918 280 M (100) Cshow 2069 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R (120) Cshow 3220 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R (140) Cshow 4372 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R (160) Cshow 5523 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R (180) Cshow 6674 420 M 0 63 V 0 4389 R 0 -63 V 0 -4529 R (200) Cshow 1.000 UL LTb 630 420 M 6332 0 V 0 4452 V -6332 0 V 630 420 L 140 2646 M currentpoint gsave translate 90 rotate 0 0 M (runtime in seconds) Cshow grestore 3796 70 M (allocated memory in MByte) Cshow 1.000 UP 1.000 UL LT0 918 436 M 0 2 V -31 -2 R 62 0 V -62 2 R 62 0 V 2069 2533 M 0 145 V -31 -145 R 62 0 V -62 145 R 62 0 V 1120 685 R 0 58 V -31 -58 R 62 0 V -62 58 R 62 0 V 1121 381 R 0 81 V -31 -81 R 62 0 V -62 81 R 62 0 V 1120 327 R 0 70 V -31 -70 R 62 0 V -62 70 R 62 0 V 1120 353 R 0 127 V -31 -127 R 62 0 V -62 127 R 62 0 V 918 437 Pls 2069 2605 Pls 3220 3392 Pls 4372 3842 Pls 5523 4245 Pls 6674 4696 Pls 1.000 UP 1.000 UL LT0 918 436 M 0 2 V -31 -2 R 62 0 V -62 2 R 62 0 V 2069 2660 M 0 45 V -31 -45 R 62 0 V -62 45 R 62 0 V 1120 331 R 0 4 V -31 -4 R 62 0 V -62 4 R 62 0 V 1121 376 R 0 3 V -31 -3 R 62 0 V -62 3 R 62 0 V 1120 349 R 0 69 V -31 -69 R 62 0 V -62 69 R 62 0 V 1120 314 R 0 8 V -31 -8 R 62 0 V -62 8 R 62 0 V 918 437 Pls 2069 2683 Pls 3220 3038 Pls 4372 3417 Pls 5523 3803 Pls 6674 4155 Pls 1.000 UP 1.000 UL LT2 3906 4739 M (seq. read and write with encryption) Rshow 3990 4739 M 399 0 V 918 437 M 2069 2605 L 1151 787 V 1152 450 V 1151 403 V 1151 451 V 918 437 Star 2069 2605 Star 3220 3392 Star 4372 3842 Star 5523 4245 Star 6674 4696 Star 4189 4739 Star 1.000 UP 1.000 UL LT3 3906 4599 M (seq. read and write without encryption) Rshow 3990 4599 M 399 0 V 918 437 M 2069 2683 L 1151 355 V 1152 379 V 1151 386 V 1151 352 V 918 437 Box 2069 2683 Box 3220 3038 Box 4372 3417 Box 5523 3803 Box 6674 4155 Box 4189 4599 Box 1.000 UP 1.000 UL LT0 918 437 M -31 0 R 62 0 V -62 0 R 62 0 V 1120 32 R 0 16 V -31 -16 R 62 0 V -62 16 R 62 0 V 1120 30 R 0 2 V -31 -2 R 62 0 V -62 2 R 62 0 V 1121 43 R 0 6 V -31 -6 R 62 0 V -62 6 R 62 0 V 1120 41 R 0 8 V -31 -8 R 62 0 V -62 8 R 62 0 V 1120 46 R 0 4 V -31 -4 R 62 0 V -62 4 R 62 0 V 918 437 Pls 2069 477 Pls 3220 516 Pls 4372 563 Pls 5523 611 Pls 6674 663 Pls 1.000 UP 1.000 UL LT0 918 437 M -31 0 R 62 0 V -62 0 R 62 0 V 1120 22 R 0 11 V -31 -11 R 62 0 V -62 11 R 62 0 V 1120 25 R 0 1 V -31 -1 R 62 0 V -62 1 R 62 0 V 1121 33 R 0 2 V -31 -2 R 62 0 V -62 2 R 62 0 V 1120 33 R 0 1 V -31 -1 R 62 0 V -62 1 R 62 0 V 1120 32 R 0 2 V -31 -2 R 62 0 V -62 2 R 62 0 V 918 437 Pls 2069 465 Pls 3220 496 Pls 4372 530 Pls 5523 564 Pls 6674 598 Pls 1.000 UL LT0 3906 4459 M (seq. write with encryption) Rshow 3990 4459 M 399 0 V 918 437 M 1151 40 V 1151 39 V 1152 47 V 1151 48 V 1151 52 V 1.000 UL LT1 3906 4319 M (seq. write without encryption) Rshow 3990 4319 M 399 0 V 918 437 M 1151 28 V 1151 31 V 1152 34 V 1151 34 V 1151 34 V stroke grestore end showpage %%Trailer %%DocumentFonts: Helvetica %%EndDocument @endspecial 288 2794 a Fe(\017)86 b Ff(Running)57 b(Op)5 b(enBSD)56 b(2.6-curren)-5 b(t)57 b(with)h(UVM)g(with)g(6)f(GByte)460 3031 y(Ultra-DMA)j(disk,)d(7.5MByte/s)g(write)h(and)f(6.3)h(MByte/s)e (read.)288 3342 y Fe(\017)86 b Ff(Micro)58 b(b)5 b(enc)-5 b(hmark)56 b(\014lls)j(memory)f(with)h(zeros)d(and)h(reads)g(it.)288 3653 y Fe(\017)86 b Ff(Run)-5 b(time)57 b(increase)g(for)h(reads)f(ab)5 b(out)57 b(14\045,)g(for)h(writes)g(b)5 b(et)-5 b(w)g(een)460 3889 y(26\045-36\045)-33 4236 y Fh(Encrypting)38 b(Virtual)j(Memory) 1221 b(24)1180 b(Cop)m(yrigh)m(t)39 b(Niels)j(Pro)m(v)m(os)e(2000)p eop %%Page: 25 25 25 24 bop -44 -120 a Fl(')p -44 3682 14 3465 v -44 4034 a(&)5430 -120 y($)p 5430 3682 V 5430 4034 a(\045)p 307 4034 4785 14 v 307 -120 V 1387 1084 2558 7 v 1387 1331 7 247 v 1445 1279 a Fg(P)-6 b(erformance)77 b(Ev)-13 b(aluation)p 3937 1331 V 1387 1338 2558 7 v 3941 1406 73 261 v 1456 1406 2558 73 v 288 1843 a Fe(\017)86 b Ff(Macro)57 b(b)5 b(enc)-5 b(hmark)57 b(using)g(ImagicMagic)-5 b(k:)78 b(magnify)58 b(960)g Fe(\002)f Ff(1280)460 2087 y(image)h(and)f(rotate)h(b)-5 b(y)57 b(24)2211 2024 y Fb(o)2288 2087 y Ff(.)288 2427 y Fe(\017)86 b Ff(F)-14 b(or)58 b(magni\014cation)g(b)-5 b(y)57 b(2.5)h(run)-5 b(time)58 b(increases)f(nearly)h(b)-5 b(y)57 b(70\045.)288 2767 y Fe(\017)86 b Ff(Ho)-5 b(w)g(ev)g(er,)58 b(w)-5 b(e)57 b(b)5 b(eliev)-5 b(e)57 b(that)h(the)e(o)-5 b(v)g(erhead)57 b(is)h(still)i(acceptable.)-33 4236 y Fh(Encrypting)38 b(Virtual)j(Memory)1221 b(25)1180 b(Cop)m(yrigh)m(t)39 b(Niels)j(Pro)m(v)m(os)e(2000)p eop %%Page: 26 26 26 25 bop -44 -120 a Fl(')p -44 3682 14 3465 v -44 4034 a(&)5430 -120 y($)p 5430 3682 V 5430 4034 a(\045)p 307 4034 4785 14 v 307 -120 V 2051 67 1229 7 v 2051 314 7 247 v 2110 262 a Fg(Conclusion)p 3273 314 V 2051 321 1229 7 v 3277 389 73 261 v 2120 389 1229 73 v 288 806 a Fe(\017)86 b Ff(Con\014den)-5 b(tial)58 b(data)f(can)g(remain)h(on)f (bac)-5 b(king)58 b(store.)288 1141 y Fe(\017)86 b Ff(Lo)5 b(ok)-5 b(ed)56 b(at)i(sev)-5 b(eral)57 b(alternativ)-5 b(e)59 b(solutions,)f(encrypting)f(data)g(on)460 1383 y(bac)-5 b(king)56 b(store)f(with)i(v)-5 b(olatile)58 b(random)e(k)-5 b(eys)55 b(has)g(sev)-5 b(eral)56 b(adv)-10 b(an)-5 b(tages.)288 1718 y Fe(\017)86 b Ff(Demonstrated)57 b(acceptable)f(p)5 b(erformance)56 b(and)h(a)h(viable)g(solution.)288 2053 y Fe(\017)86 b Ff(Soft)-5 b(w)g(are)58 b(is)g(freely)f(a)-5 b(v)-10 b(ailable,)60 b(con)-5 b(tact)56 b(the)h(author.)288 2388 y Fe(\017)86 b Ff(Ac)-5 b(kno)g(wledgmen)g(ts:)516 2677 y Fj({)86 b Ff(P)-5 b(atric)g(k)59 b(McDaniel)f(and)f(P)-5 b(eter)57 b(Honeyman)g(for)h(reviews)f(and)701 2919 y(commen)-5 b(ts,)516 3208 y Fj({)86 b Ff(Ch)-5 b(uc)g(k)57 b(Lev)-5 b(er)57 b(for)g(getting)h(me)f(in)-5 b(terested)57 b(in)h(sw)-5 b(ap)57 b(encryption,)516 3497 y Fj({)86 b Ff(Artur)58 b(Grab)5 b(o)-5 b(wski)59 b(for)e(help)g(in)h(understanding)f(UVM,)516 3786 y Fj({)86 b Ff(Da)-5 b(vid)59 b(W)-14 b(agner)56 b(for)i(feedbac)-5 b(k)55 b(on)i(cipher)g(selection.)-33 4236 y Fh(Encrypting)38 b(Virtual)j(Memory)1221 b(26)1180 b(Cop)m(yrigh)m(t)39 b(Niels)j(Pro)m(v)m(os)e(2000)p eop %%Page: 27 27 27 26 bop -44 -120 a Fl(')p -44 3682 14 3465 v -44 4034 a(&)5430 -120 y($)p 5430 3682 V 5430 4034 a(\045)p 307 4034 4785 14 v 307 -120 V 1720 820 1890 7 v 1720 1107 7 287 v 1779 1015 a Fg(Ph)-6 b(ysical)76 b(Memory)p 3604 1107 V 1720 1114 1890 7 v 3607 1183 73 301 v 1789 1183 1890 73 v 288 1619 a Fe(\017)86 b Ff(RIO)57 b(sho)-5 b(ws)58 b(that)f(ph)-5 b(ysical)58 b(memory)g(can)f(b)5 b(e)56 b(p)5 b(ersisten)-5 b(t)57 b(across)460 1863 y(reb)5 b(o)g(ots.)288 2203 y Fe(\017)86 b Ff(Ho)-5 b(w)g(ev)g(er,)57 b(it)g(is)h(common)f(practice)f(to)g(erase)g(k)-5 b(eys)56 b(b)5 b(efore)56 b(application)460 2447 y(exit,)h Fa(e.g.)p Ff(,)h(Op)5 b(enSSL,)54 b(Op)5 b(enSSH,)56 b(etc...)288 2787 y Fe(\017)86 b Ff(Encryption)57 b(protects)g(against)h(p)5 b(ersisten)-5 b(t)57 b(storage)g(of)g(data)g(b)5 b(efore)460 3031 y(the)56 b(application)j(can)e(clean)g(up.)-33 4236 y Fh(Encrypting)38 b(Virtual)j(Memory)1221 b(27)1180 b(Cop)m(yrigh)m(t)39 b(Niels)j(Pro)m(v)m(os)e(2000)p eop %%Trailer end userdict /end-hook known{end-hook}if %%EOF