%!PS-Adobe-2.0 %%Creator: dvips(k) 5.95a Copyright 2005 Radical Eye Software %%Title: analysis.dvi %%Pages: 30 %%PageOrder: Ascend %%BoundingBox: 0 0 595 842 %%DocumentFonts: CMR17 CMR12 CMBX9 CMR9 CMR10 CMSY10 CMBX12 CMBX10 %%+ CMTT10 %%DocumentPaperSizes: a4 %%EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips -o analysis.nps analysis %DVIPSParameters: dpi=600 %DVIPSSource: TeX output 2005.12.21:0219 %%BeginProcSet: tex.pro 0 0 %! /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/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]{Ci}imagemask restore}B/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: texps.pro 0 0 %! TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0 ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{ pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type /nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[ exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if} forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def end %%EndProcSet %%BeginFont: CMTT10 %!PS-AdobeFont-1.1: CMTT10 1.00B %%CreationDate: 1992 Apr 26 10:42:42 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.00B) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMTT10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch true def end readonly def /FontName /CMTT10 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 46 /period put dup 47 /slash put dup 49 /one put dup 54 /six put dup 58 /colon put dup 67 /C put dup 73 /I put dup 77 /M put dup 80 /P put dup 82 /R put dup 83 /S put dup 88 /X put dup 90 /Z put dup 97 /a put dup 98 /b put dup 99 /c put dup 100 /d put dup 102 /f put dup 103 /g put dup 104 /h put dup 105 /i put dup 108 /l put dup 109 /m put dup 111 /o put dup 112 /p put dup 114 /r put dup 116 /t put dup 117 /u put dup 120 /x put dup 121 /y put readonly def /FontBBox{-4 -235 731 800}readonly def currentdict end currentfile eexec D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 2BDBF16FBC7512FAA308A093FE5F00F963068B8232429ED8B7CF6A3D879A2D19 38DD5C4467F9DD8C5D1A2000B3A6BF2F25629BAEC199AE8BD4BA6ED9BBF7DABF D0E153BAB1C17900D4FCE209622ACD19E7C74C2807D0397357ED07AB460D5204 EB3A45B7AC4D106B7303AD8348853032A745F417943F9B4FED652B835AA49727 A8B4117AFF1D4BCE831EB510B6851796D0BE6982B76620CB3CE0C22CACDD4593 F244C14EEC0E5A7C4AC42392F81C01BC4257FE12AF33F4BFEA9108FF11CF9714 4DD6EC70A2C4C1E4F328A1EB25E43525FB1E16C07E28CC359DF61F426B7D41EA 6A0C84DD63275395A503AAE908E1C82D389FD12A21E86999799E7F24A994472E A10EAE77096709BE0D11AAD24A30D96E15A51D720AFB3B10D2E0AC8DC1A1204B E8725E00D7E3A96F9978BC19377034D93D080C4391E579C34FF9FC2379CB119F 1E5BBEA91AE20F343C6420BE1E2BD0636B04FCCC0BEE0DC2D56D66F06DB22438 452822CBEAF03EE9EAA8398F276EC0D92A7FB978C17805DB2F4A7DFBA56FD6AF 8670EB364F01DE8FCAFBAF657D68C3A03112915736CEABAA8BA5C0AC25288369 5D49BD891FABEFE8699A0AE3ED85B48ACB22229E15623399C93DE7D935734ADA DA7A1462C111D44AD53EA35B57E5D0B5FC0B481820E43222DB8EFCD5D30E15F9 BA304FA879392EE0BCC0E1A61E74B3A1FC3A3D170218D7244580C7AA0DC65D19 741FA5FE6F8CBF60250ACC27454BBF0897CA4B909C83A56672958752ED4B5E79 E18660764F155E86F09EFA9F7685F2F5027EC85A775287B30E2069DE4E4D5712 E7D033481A53A2702BA7542C71062173039030CF28D8B9C63B5596A9B42B33E7 D922944A38713383D3648A4AF160A3B0C8F3379BA4372BE2E7EA49AABA75AEEE C5DDE1D8BF68483C3D21271280ABB91D54CC819680322EAB72E1250A760BC8DC FF798F2ABFC4F3539392985C4CB324B0007229586D1E0321559F67C057FD7902 194490A4C133DA790FF3BF23A13C2B1B69EEB75950F9106F2BA1E3CA624E401F 4EAED54CEF1697634E212C84ABE55DC2BD7AB0B2DF75975866694BF444F28DA1 C82B0FDF06EA99B3174459E7BF82AD59FD366E775F2BDAA327644DDA7044E014 6ACC2771C893B96FE305B9AAE2B1A2C0601C57F5B7B1717C456ED996C6B9DE9E 177423FB846DAFD3297DA381474AF81B5584B054A5ED95EE615767510AADA436 4CC2035DB3CD08B107110A2FD0CBE8DAB83A4DE8BF4B2595BB18295528738F2D 4EA60B1914157B0FB949F9FCDA2912322A325BEF16B1F95A104228260E0A4B71 E9994C766280834D7CFA446B2C1BCEA1CC300143D35A5C72261EE5354F674BF4 B1F9DB61B931815BCF48F84FD92275E01D987D86C937C91416AE9BC275A5EE2E 274C2AD9121462F51F736833802A0228F61FAC08331AD1D197A72517B5A7A332 894EB21693AA67B0569BCDE7043D7646D36F695901CB54F5614615D796466EB1 3CD74A3486D877C3A125C93A9F8678BC7F77BB1A9AA04392D6D0936A45B42F4B 366F945FF0F9CB9072DBDFA5631EABCFC8AC9194BBB4A8850D8B2E58E760A0B6 2AAFD4F384D0203210B45BB4F993E3C4E492AA7E7C4A272CA359FEF7E649BB4C 0C8D10A93430C7F92A3CD94A9A2BC49A12087BE0B8F1077BB54623DF0FCC0A37 4D341419C7E7101A672FF4F260069440B1959B723EC7FE259BAC66695D183B63 FAEA058EE7CAAB6E2ACEEDF17D2D7FE4232862C16D1DED415E7DB9D976915528 DF5CBE5624F31102C60C61588EBA44CC7BC5DDA154FE7D674D45CD2BB8B61375 2A628D96745621D43138485D949EAD824CB95189D1DE91175A84379A6F7E21D7 17BE2DB825932C2779C3B008AF46AFF74781F045E3D3F175C8A0D3542AB4A9B4 9769C6DF87E4FFF0F33F37E4D97955DC835C6D0251A353028F135934D202433E B44B463D1F057F6B606A952FC759BC29B1D59D5E74195C8B5DF660848B7C0114 269E003E021816446ABA784E9865C28A75071A2390058417F5D23703B5FAE9E6 95C7E8560147515145FE386C1D3AAF73FDBA2CE90A8A69080F620BA4D2E4BD8A E2772901BDD6DF4E23A01A2079E423BB5E2FCA0DC72081F1B9CF7DF0F9E0443C 1ACFAD3C9A41DB9DBAC01E61438FA63FE9FB9131BD609A55A9E4E89DD588D877 A10380C362895965FDD82F4E6DAA0805032FCA315D320C69AA80F24B2246B5CA E0C649D0AAA028C8416FAD8F560201271C4ACB20F3E5E0C6A8749DE0522D6782 D9910808DE5ECC60205B6F3DB4F2DBD410DC40F535E6C5207A09F3E6F4CEAFF1 1DA894EC2FA7D1C9929CBB865E6DF2BE1CEBF2E46DD92FA1C9E0155ABE29951F 2F35A7327423126E628F7584570B6F13D8620F72D45FF194A0424B85AB9FABBD 7D4CA9FFDB93860AFEC1A3EB8707FFEF9CF9A188FC9D80E9FF6A6675D336F99A C8A45D087C16FDDD7761B2BB7D44BB40E36D195A85EBBE33821E38316538F92B BCDF5A026E6B93DBDF928CC8A61A49D30F2ED8F87A3C558477AA0384792D5772 532BD347D08F7AF9B092AC319A7236F12D5F8F27C12B41D092B6523CD8D7C2EC 89BE81B5088E1E0A2F50BFC0CE644BE3C40B377EC4A8B76BA2185B13D4212B8B 41630B75A0B5AB1BD811EBA16CDFEC42A9EDC6C6C84BF21279DB4B840C0E4DB4 897EA3009448F7DE15B02A334C6814BF860E328DEBD59D1073C880E566329D51 B428D4C6D4AE589C0912801BCFEDA2294EC8F43A22129C0DF41C229DC1CFB78F 2FD9B876EF2F72DAD8FDA42B934EF024A03A261B1C035B5B193A8A72B4A43BD3 F85BBDC61C00E1FF6095A77CA46FA0BEE03D2A49B03A2879D21EFD33A9C9BC6D 584CFECD2D566268CB899C01C39C4CB77BCCFC7BD42A7FDACF2688ECE717C36C 191B4372039BC2F081D07F3F653A89C734B3DBBA6978425B093E79C5518C7EBA 04422C93CB08032370B7461288B0545049272F9EA849248AB938A3B3549F24D7 A53E5E7B4DF6345E668136AD61B2D939780D766EC3C454DFD6C4254B9B14E8A8 C0A634F3DB6D1B0389BFDDD4ACCB7E456190AA7FDB666FF4F9B16EAE03392AFC B65B3F73BA052B477D5B6105D94A715C1A4667C0376CC3F108259DE1DD139A94 B2875FA8607ECD618280FE27A91B4497F87EB439E4C2281671822588665AB6EC E4C3DE418881CBB2405DD6E4DEBB5B5DD60AB8FB993CE6BB644EE55AB35129C2 F86D2546220B971722D55E9D27F34DA759CEE5B9CFC8E1822930BFAC0C784833 689CE3A9990E2C7FAEB841B2143748801E25A4D359F17AB9077A870C9FCD161C C09CBF81484426E84BFB2A911978B3DD23CDB1790AE32478548496C1A0CF1F06 C76275FFA75F3738771F0EF72A5410363F63239272D25AF6E546A2A26A2E9B61 346DD95FC2977DD45BDD599B6F30619CE146A6B87DD799FFBD087ED2B14451DD 2B9320B7C3D528C97040A363F678129A4A27BE6E5C3A9E1B210B1F560240C7E0 73BE1D26FA639C2DA4482F190F955F68405F0F56D5FB24525FC2143208854075 36C8E5AA6313624742768A1BD301339C8AAD540F8C6688777589CC99D29B1A19 5356E6E96E25A940381B4F87C2B74712B95A5D4C895234D04540958A682B7A70 7915286B0FABB4114CE3C079D1F2F3A7CC81921F0965F44773F39479A7B1493B C80EB22C09193F1D5C0132C320768262197F5111077B619211FBCB0CB3A154CD 60AEC9C98452EA3754714E7904A6D0CA5BEFF712E5FA4F844EF5FC51BBDD19A0 3119B4FC27A4A80CA21FC8F87964429AEF4383338A92F04CEAB8955D335017EB E20D7948011C28A9093B817C0DAE8235789AA23703525B340DA5A23A865A2E6E 3391C05C3114EE7DEC50B35A1EDD328B254DD17B6164CD97A41161DC3A93F532 8D998CCC83F37F404525E4519004CB20589FA31B7E2E604A7DBA13281778752E D64C4BCCAE125009EB7EEA6E90715EBE0980AB4298B65FA408085DB1C4E348A6 B335777EC58AB0D2ED15C69E7F0E92239F8EA3CC388388163238AB9467D25722 C2472FA349EBC460B32AE442D4B8883951F066B9F221FA44FB4A9AA29C7CAF46 15EDF79160BD4250511F56016244C696E1072F47359F4D7FCBC31E256CBD6470 333C22FE40E912691C88F51294305E6FDB18EE81260D2105F82FE48FF2910E04 AC777B43F4E311C3E28B740722017ECCF5A2696269982731705781463954C0A3 893F67AA66E2488939B65B2832E767DCCAA45F8AA1F58C6C31206972E7BF48B0 50B7174975905F01FD1415D31BCFC8B7D286B078306BF7B229A80AA8F186490C F5A25C71C33321D2DCBB22448E9CE96548E07293EF19B5612C5FD2A3984A9B54 5FBB3F85BA3DF15006E25BAD4892952424B411A46054CE95A209C06AEE1EDE1B 3571E31FF1CAAC3D4C1A7D30087899142B93A2906BB06DE1D7B199A903FDE45A 5E25E62931C5BAD168116FFEC472B43243B1FFAC127C6EA05905C51E748CBCFC 01027F4A91482CEFB7E6A194F2312EB7F07EACF6784636FC8575A8E26AB6EE85 D7C6BA6CE8BA8A036BA99FBF9AF0AEBAFEA0DE6015185C9F2754DCF7C34EFB0B A79E9EA12A024FE578B4FE4BBDBE3B81FFAFBB5FC7ABA176B04816C648B90653 239F95D2610FB2D8330B63D1D440BCF2D2F31584CDA1974DF81FD46F713827D9 143877197B72912A2989CE2ADC6F563D108B2D63F9D571F4B928C63F99DAD3C2 477F415159C34B5217BEFBB891625EEC16E574D735F26914B60BC07CA2F29F17 E2D129C06AE6B4902CE66397C6955275CB4A72721A90333DAA788ECA066DE7B5 B003F5C6BEEFA4040B8E7A493CA52DA6E5FA584A14E84B7B5FFFCF1A6C0F61E6 968F54EB98613C7E7AABA25DFE580AF7C640A087F070C29B9039C812DC4C8EC6 1881F68BE07F12AAFE271CE18BB61370864894759438C9FF45D79BFCACB302FE FAA35B4E7BCAC1AEDF00C753057E3612A73EA8E9CF3FB6107AD139135E557F53 DCF7048DD1C5777E8462D6F3DD8E071DDD7BDE5750154F6C8FA22AFD6AAC6BBC AEBDFDB8E07DF1042047A3BD0B58D47566C682E44A0F1F8838993C3E08D26AEB 708581B11C2B8654C85222DA60B889E08B3A5DE8B016000B0C2DB04B253AE6BD 9707735BB695F6D0CE64D463C813191709C50A1F7726E5AC3BBB06D652C4757A 343D6E04E4B5ABD0DFB9BF9EE21735934B49D71E2DAF6F9588141F86E2B5B1AD 48C3ED7A05E0424876A1BD2A76E7899DCD2EBBD817F07A58833CE2D99087587E ED5D6598B5FBA617C9ABE784CFE65DC660633CBF8C737471ED0082C8F1402420 45BFE62FC3B1C1D4FF51EB845CE5B9E877E89ECBAFA4CBA411A854F1C33A8EF9 DCDAFDA3D458681EDB340DC01922FF559978161E2204485C23FD316D2FC76829 627388CE7E42FBEED7C303E3DE0FE3895B883DFB4AFEE1D38949399B3A522386 C91919DFE26017715F16C0A5BD32B356E11FB20E5A86EF6EDD996BAEAE96A8DA FD02DDA44518D4BC3026ED157D073C29B09C1F15F410A6502DCDDBA639AFCD15 E8DD28393EB45AC1BF14B636D4D0F0514C2A5309D1B12C88914A2C32BFE503EE FD792BC1C897F3E1DA776C98C8929E1446C48CDCC9294C47F751664F1EE8CC97 C08C2C90BBB2181DDB8B48222FA828D3A427C08DD34BE25A7AF703120E6C9DD3 CBBA0B77E1466B87467F4143460605FB1A90ECFFA1AA709BEE1FE610C726736F 75C69C5EEB946BFE726BDA442CC78E69A0378A82BCD04B2A1339136E2B3598A9 E15E374C99B2A4F581DF0812C629BAE7758F179ADFA32C4663E2AB4C0E2BBEDA 4035813F1AB8ED3F679601A3615CDDEBE2A89D75B3E7A4CBFA39472C15840B0D 3BFDB8E9FDCC614D6CBA847FECE9FF60B068E3A0DE38C05C84B4859ADA1128A9 028FC76A2AAC6AC7A6BACF0F24D0F3AD6320CB93846681A0D0A9198E05112817 596E768CF91A50459B4C83E1E307A9D658AF6EC82130E3A2986021560ACECF91 22368ED10C18A2918894F6CC9FD3A4AE1A312A367AA6F2CA259588AD2772A89C 90C135592CB35D0466F612B48C6F817155F1E0AABC82A3929019DD74CE1C0474 49CBF26FFCAC6D229D04F794C30E91F399327DC6921EF2CCD0F1B26670C7B8D1 6109E46ED3B3F580E66464AC86AC15A709ECEA666B7D06CD0809D0B2074A63D0 E317BAF53E3AD13C2A1480E14A1492736A546C9F1FA7BA3AF97B935BCC31D16F 9AE027015DB3887562F545F1F291FC0A245FF6FFBFF2838518894A3658CB01C6 96E0797B085EE9EDE77B1D1E477F99B5BC754A32E30CEAE64718565D1F19E2E5 A3F38191D6D1EFB03D07610ED8469B36DB2571A72D8469E9FB4D70FF3E7FAE39 570387F474624DA2CAE16730FABDD7BC51BB5C1A5DB60E361C51B9F641D96AED 7588F9DD21A60DB13EB14904A0759BB25AB8936CF94EE71BE1557C4909CCD61A 2ED96EFAF089B06D387E176FEB22CB5C23E6AC0C0C9768EB2BD79C5FC1FFECD0 ACC3967EC486740210028A210FDA2AC622EA8228EE9D05AF4D61829556B190B6 D215CDEBBC9ED0B89F3A71BBB98073CBDE4FDA7F367F2C29C3DE0E35B4929D6B 185DBDC0F4C9687F72D134B8B6750A5A034D79E81A9A99A49C3E8B22DC65B9FD 478CEF0389F29395796796CE14851957CB8C510C6E2B534869690DF8BEDEC697 2E11B49746A1AD466DBB0F54DDABC43D1D511DFA361FC92A53E96398F21C5DDA 92DED73DDDDFA13359953562785F6DA388D90E24F8F2770F7C686BD44F18AE84 8FA5CDEB56E6C67BAD1D03CEA33249B1A35E81A7A3139BA3249736CFE596B2E5 30C48AD69DF4F45454B051DF9AB470536BF55FF863E86FCB14C433E4C7DF270A 1FCF030EDA7687D7657DC8462C2FD6D749E39F3C0AFED273D29AAC52373EFE62 297A6B6C4193FF15B56E56086AAB220D4362EB8B4366EC2D73A44A06814EE3B7 6553D873556C37ECADCFCEBDB99267B6DB18D7E699F07BA785B8D157AEF14AAF BE8B92742811349A6AE67308E8118B3D9DAB53199E1132657FBDBE4DCF6FA582 AFF2B58C1FA68D917F00CE1ED44B4CE20B96CA42B57D26B02F38AB1DFB9A73B4 33E4EDB2A6E9FA43A41C2FE0BB305E85AE8E64C8210D814DC749FD0EB3968AB0 B863D8A6A3720B36F5E4F4675B816BECAA53861A9044BDBBCBE01BE6C7F904F8 5B54A7BA063C4D0580335D1D0C7BDB6FFBA466DA3C74B4179C39C208ED0DF3C0 86980B4BCDE431EABF541B9E98A682B5CA31B830A26C4174AE109ACCED41A6EA BFBDB7D1881BD3647486AD11EA6504A227402886178CD13E0B7C472EDA6A17A6 0A924CC668C99179D8AE4EC7F7F9DE235DE3D7F79FB8DA4A3F523B112BE6CFD7 D2CFCCB0C1D49781889463095BBACAEEF9840A771D98F7EAFB027B858F523666 0CBCC6397683879061FC0586C5436BB2694B12387B32998EC7F7773446B7AD97 711C840E2F7A0F7D58164CA6DAE3FC9D827E2F7A83505DB682ABC8BB64F6AB68 4D0B9B54438011528179563EC6180E2819D0A198E7E1E0724D24D4FCA0991773 874D9A440212999B6DD12D4EDAE3B843ECD45E6DB23BDE956D4D92FBA9B8476C 92B9C3CC87905879ADFD42AFDC93169C010F87AC315DA0B40476D2C2B2CE82C0 5F0FCD6DD769B63374DB0CDE091145BD1D87A351BD7B0D03F5C20F188BE82FB5 24D742A05522239F1F1EA14F4E2EF41D58F4A794B1D7D82C5BD9AD86D31E289C 26EFFBEDE974ADD22E423F8D9C3C4408773F62A6B053561A411F8AFE16E1545E FB8258FA952DE8B2B3EE3D5FBEF3FA6952F3E7B7EC19A3745AA4E7243B6EF072 5496AE502E66F4B379E1C396642BD81C4B85E93D60A92647F51A63920C4D9A85 EEA1F81650692FF5DD1F33DFB1A227864CB9AEAA9551698BB9D430209A69EED9 D06373DD5F9A38F87A60E02D824E37399EEC7F67177E39712C7210817D49A132 515C46294B6EE45693084A6002A0DD06B0888456C4D3183DC37E9B3103E88A6D 4681CB154A57F820D2F2DFEBE12C4305B1F9BF9EEB3F6B2CA16F43B8765167BC 002E1CFA30C21B9DE43A44EBC51FC2B03191A8462A981AC8E1A45936025EE61F BF1B4A8696F32BD7256612D18AE8533CD1B1F6FAFD6887F0A48C81C5344514A6 9D6ED3291829A620CE6938357F0C0D2E6A0BC9E168F604F85844577718CEE31E E961D773111D6B45BE43A982187CB82DF74C5FAF37A8433ADBD9CD486F005DCB 684DEEBC8CC6BF98550077EC937E47F10D0C9131A852A11CA61706025E60D246 9E30E80275BC776CCF7CE1C5D3EE39CA3807559DBE30 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginFont: CMBX12 %!PS-AdobeFont-1.1: CMBX12 1.0 %%CreationDate: 1991 Aug 20 16:34:54 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.0) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMBX12) readonly def /FamilyName (Computer Modern) readonly def /Weight (Bold) readonly def /ItalicAngle 0 def /isFixedPitch false def end readonly def /FontName /CMBX12 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 12 /fi put dup 44 /comma put dup 45 /hyphen put dup 46 /period put dup 48 /zero put dup 49 /one put dup 50 /two put dup 51 /three put dup 52 /four put dup 53 /five put dup 54 /six put dup 55 /seven put dup 56 /eight put dup 57 /nine put dup 65 /A put dup 66 /B put dup 67 /C put dup 68 /D put dup 69 /E put dup 70 /F put dup 71 /G put dup 72 /H put dup 73 /I put dup 75 /K put dup 76 /L put dup 77 /M put dup 78 /N put dup 79 /O put dup 80 /P put dup 81 /Q put dup 82 /R put dup 83 /S put dup 84 /T put dup 85 /U put dup 86 /V put dup 87 /W put dup 97 /a put dup 98 /b put dup 99 /c put dup 100 /d put dup 101 /e put dup 102 /f put dup 103 /g put dup 104 /h put dup 105 /i put dup 107 /k put dup 108 /l put dup 109 /m put dup 110 /n put dup 111 /o put dup 112 /p put dup 113 /q put dup 114 /r put dup 115 /s put dup 116 /t put dup 117 /u put dup 118 /v put dup 119 /w put dup 120 /x put dup 121 /y put dup 122 /z put readonly def /FontBBox{-53 -251 1139 750}readonly def currentdict end currentfile eexec D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 2BDBF16FBC7512FAA308A093FE5F0364CD5660F74BEE96790DE35AFA90CCF712 B1805DA88AE375A04D99598EADFC625BDC1F9C315B6CF28C9BD427F32C745C99 AEBE70DAAED49EA45AF94F081934AA47894A370D698ABABDA4215500B190AF26 7FCFB7DDA2BC68605A4EF61ECCA3D61C684B47FFB5887A3BEDE0B4D30E8EBABF 20980C23312618EB0EAF289B2924FF4A334B85D98FD68545FDADB47F991E7390 B10EE86A46A5AF8866C010225024D5E5862D49DEB5D8ECCB95D94283C50A363D 68A49071445610F03CE3600945118A6BC0B3AA4593104E727261C68C4A47F809 D77E4CF27B3681F6B6F3AC498E45361BF9E01FAF5527F5E3CC790D3084674B3E 26296F3E03321B5C555D2458578A89E72D3166A3C5D740B3ABB127CF420C316D F957873DA04CF0DB25A73574A4DE2E4F2D5D4E8E0B430654CF7F341A1BDB3E26 77C194764EAD58C585F49EF10843FE020F9FDFD9008D660DE50B9BD7A2A87299 BC319E66D781101BB956E30643A19B93C8967E1AE4719F300BFE5866F0D6DA5E C55E171A24D3B707EFA325D47F473764E99BC8B1108D815CF2ACADFA6C4663E8 30855D673CE98AB78F5F829F7FA226AB57F07B3E7D4E7CE30ED3B7EB0D3035C5 148DA8D9FA34483414FDA8E3DC9E6C479E3EEE9A11A0547FC9085FA4631AD19C E936E0598E3197207FA7BB6E55CFD5EF72AEC12D9A9675241C7A71316B2E148D E2A1732B3627109EA446CB320EBBE2E78281CDF0890E2E72B6711335857F1E23 337C75E729701E93D5BEC0630CDC7F4E957233EC09F917E5CA703C7E93841598 0E73843FC6619DE017C8473A6D1B2BE5142DEBA285B98FA1CC5E64D2ADB981E6 472971848451A245DDF6AA3B8225E9AC8E4630B0FF32D679EC27ACAD85C6394E A6F71023B660EE883D8B676837E9EBA4E42BA8F365433A900F1DC3A9F0E88A26 30F37B1F54A6F23CDDD676311856109B27246A09993752032B75ACC6FE0E2F13 17E0E4032886F6BEFC58D15FD6133A24BEBF4F909AAC4734902E4118B92C95F3 0A700FF84E87BBA094797B3D4B83A8F3011193BE6AF0D3251E1E96C4672A7569 1766A5939938DD277FC632AF8D9A35FD9E80EB2951C88088C002FCC7517FCA69 DB6F94D1EA86A4C49C5F3F0B81795680A56DB893D89CF0D181440CE7CACA9984 228F30591606BA159027E682535D06184AFA38DC58DCFD1EB8A54C7E3FDF18BF 0C16762E49789E81AB8527859429DCD0E3B4E66A9EB9CA68550387ADE32A9513 06D5C583A7A079D500F3422342C108C56799E5922667E0A9135268368FF65F81 EBD910AB2455AAC5568ACC6BBFBD84FD6BF6997B6912445982D2044A4CB7A555 9BEDE44786EBC223003AEC9EE2A0023D58BB555A423C9F870949C9C96391090D 19CC4EEA0BC0AF717EBB141104B9584F229251B5394A67AB3BA58059139ACD73 C8F8543CF1CF3EA82BA31C2F82ECC3343D9E222257CDC9EF3614C3DE9B3460DD 4ADDE725C25DEC8C60E00A49AE12563FEBD1217EAEFD8CF6D4027524775DAD98 1CC60CDE6D044D55AC71C57023B794611ED43FA51211648A216935F62B9236A7 69F63CA571E16E718BB028B9B138873A956118A9043AAC7F7050C17AD8DB103E 0B193EEABFE4761D52715AFA8607D21C8A6226A6500B8FF3E540E44B8B3FAAF9 BF30054179B0DFF5C1204B773B1DD8F04E82075333E7F51391BF736E1B5E69E8 1DEE9B493D758F2C4653BD263768625EC63EB2C035B7FDF9C4180F992A8EE92A 6D653C860B939A7CBBDE53F2E9B98600C1D22D96CBEEF29177AA30E347C20825 019C714B649195A8503ED06A0E934C0A3A2451CE815FBC2E7A570AD748A5F2D1 849718F20DDDC6B27FFB66395579F2C00B5EE4B908BD727D80B3D4C20C09617D C081ABB9E6972914CEA82AC099BE7BFEF676C65F84D2DE101B0A4608981CBDBE 54A1C09A385E011B83C555725862C770CE3218F228206F5C546EF8B3446D5700 B9A9DA99C6270CD3CC168BDD0F4A3504D0171E2695739466B8644FFDB6D59A86 917EB932C740E68894A8524A144A0603FF90539AB46FD1FB23A9D571EE1F9CD2 31737E7FC85DAC3A4B58E17059AC1170D8A38FC5BDBF76C13C12434A2004DAD1 3A0BB3281E5EF04F1D53C8E56D3F0D3542C4A5278CBE65AD91547244401526D3 F892637B9402C47C829A9228B0257CF6D7F30FBA8CF526761F9EA57508A685E7 0CB2DD51DFF58D6296C58661E3B10D36847FE01A3CFA53121AC2768AB90B9756 8CF4830E9F7D7B3BBB0A9F5F24D8423817E1B4F40E4C16665C4E0F280094BC02 9C434F88643584455FEB64E624FBA17108DCC2A4FBC991DCC2CF68ACE095610E 91A723B5F42F4DDF5786481FD140EEB95D1CF333A711775E7A135A72A1C6D076 8C6A8D2EACB7706D41889301EE56AF82DB88D43841BE0B8FF9BC1EE985B00C1E B99CC4F4DA6BC0962738889015F4C41DBF52B0512496D0184B39AC796DE9F5C2 5B500E7EA624AC20F5485E1E98E0AACF5E1490B91FC90518DA87396E2595E041 6C96AC3C846D5FA4B1E097298427C8A72D0058AB07FFCB506DCEDF8770F39E36 DF394F28768533E74B6D261BA0156266AC60AB2A7E80DFC181A15496748734F7 79E3D7DF3E345990F5653D27E956F6102C8F8BDCCA7B304685F299EC48D22326 0AA2C67838355737569BB374BCAF838477EAD370DCBAD17232E718D5B6A75B85 7E7E9DEA50C152878374D43AE77DFE7551021E0916FECC986FD0B7A9FBB8789D C2EB648B6E9A4B862600506A1DB5DF979C79B10519220248330A52BC845BF730 92EC85D89DAD03AAF302CC3F0172E43E4557D8773D9546AE744546798B3B01A7 BD424DFAD3E892F84645B4B3ED570CA12EEA6B4ED5283F2DBC7517F428EE5737 F6047CA8A31003FCE45E6D8511A6B25284D5A81AFE2EC8474E95B0927CAE95EB EF59BA27AC424881C0E6BA3ADAE99DB74CC61C4EDB49396E98087B2E3B3CF99E B9B78EC4B7507AB38E5EA729E271EBF6D6DD4DD4BFF6ADEB97DAEE391B00839F FE4DFFD2422CCAD98B0517C52222D3D97BBDB30EE69A542119405C7C4238A4AF 4A57D9D904E44AD39CE50A607C2522013581D6AA0055007443FEF7CED016299C 2DBB2D513AC0FF3D5B6C18C60947A585DBCFE0C115BB849EF97D75786294802B 1B0B343EE7B9615A8D7113DB93526C290BD7A41353902AE01202F3EB744DF029 F1C3EA8CAAA61180899D382E40B3DF23C1B40665A79D0792414E37F4A98C7A69 DDBB3EC3459AF0EE9CE98EDC9878A6264F58BC8902BB824699C3807A6E5FE3FD ECD3304FE0E6DE49D9FB2AA9764D459B4E25CF2E3C2C4083B05AF0A30F6F119F E476515191E05A85EDA7379E9C8C3B525F4C0996EC5C1DFEB1792F5B83E8800A BCD2F4005E701C0C841D6AD835C89312A1309CCD33C283660705E26882BE3A0D 3116E8C32AB8A59623D479DCA1CD481890E9682E8FEA84970CCF02483BCF386C 290F57DDB89282E8B1D501370B27016B2D127BC2009431FC7D8391A56E8197E9 C0E2D2908CBA5C2E33C744E51D205063BE463C5B4D54215B4EA2345EA1FB5F66 95BF1EABB0B9082285CC961A38CF430F34C21ED44325EBB191D36FAB26D1FE13 FC9C9027D569A16EEFC9E2D50D234C7B3AC5C92510C1070CF51EE498FAC10C83 564A00C54385BA0BB70D2F01A0D94824B84994A1691683AFFF3CD195C9692EDF 5EBF9903ACDE05C16421B4DE6223F300116D126F21F385E83DC7E4C497C79E39 01CD8F4F2510AD7CE0BFDB5ABDC9C67A607DD4E958A32BCF0E300284D0B428E3 B119AF67906387423466B77993FBFC258E6B9176A1C17FF764C3CEB9F6BDF2C5 9B353D98A79AAFFDAAD4D0F642362F06E1564E0CABA2AAD9AB7E31C5AA821CD9 8F5621ECA9A34DC4652BA3D2682F7E27638D0348A01D708743840F960E31E895 0ED8E3755807AD616BE7751A33B8518D10105680028073003B1577B267D27D6B 482A5B07691BD7C0E4270FC57F05DB8CB4AC90582CE631AFD03F7D9B23EB34EA 463C7739EFD7B9F791D0E5F3EAC8A82073A763F0B941A3CB3A6D702FB207BAC9 1A30D566DD0868EEADD80A213D24B3B9D2687C6B499CEC5F5F9083405121D049 7A3623D767B615845F91071AB8F90A2C8E2C3E133F1BE88A1D2AE915410E3F22 80F77A5DE0D1BD1D274D42FC11379F14B12E37DBDF3E4AFB5EA44B7C103EAAD2 84606E4B81411662AE8846E39648C799CAD5A7D3119960C2DF01CB4B2C85DE8A 9A272478C10AC3B6628C2F7A883307219DBE2F6AFD52F2CF258364E2B453F08E AAD6E3DFA4AAB94CA39C237F95FCF75D2191F245B85D1A630A3FC56DCE9D1190 EE766CFF9345974444A86A13894EDDD0A6B142828885BC3D9E951C0FFBA4FBC6 DA18C8B4AC38953C0D3B89D85F5B9A4B99BC7097F8AEBEE77159AD5CC132E8A7 C81FBACF1E6DE92B3CC4529F68D6965763BFACAA17E5F34E1F973AF5CD75284A D6241B0BC03BA5C6B0B039BC26AFC645BE3F14903AAFA5786878FB7EF6A06FBE FBEC7014E1266E7B65A7C584131DEE081E98AB937358CC9EACAAE85331946706 F7610FC08D2C7AE8A642DDAE4C5A17FD28E494B1D6EA394A4FEB811A1506A4FA 544149972EFE0DC8D39F3071DFD770F2147AF65A2B1DD21BC4B76579E8739CC2 39B14640C3BBF64367D4F328907FFD5904368314E19CBD86BFD3EDFFA78F2B50 F4A3DBB99A172AF27E64498D6B582ABBF41A682A48811C113BB5BA0A546A80A6 0B6A3FE36A1F25BB1AA9954EC2B17BAFF51DF7728A4E314FDDDC5AC9748F5423 DF04E46AC314234606579C7E5D2CF88110B23238E07FE25E92584FC2D7570F8D 6F763775B6384826232715C55B8CC177A66BAAFC236F1D7FCA649F9066AC260B A9F534CA8000BEC42C7FC6B93EA82128231949BAFCB3370D3E44974D29C050D3 C27FE186F3863AD64D60D4BD3C5A0A893F9C70384F0FC0D9C880275F06BB3A77 995078A1EAE7AEEFDC4E0E3CED436DCFDA9B4260AC12111A65A9D03779F72FCE 3FA14755B39BE86D37011594581E9CC311ABC0C8ED9B0DCFBBE3983B960B4FFD 5EDA49B0707E068F1C3813FBFCF3D47E265F25C5E8E97EE4C4E4D7FEA27D1C37 0D6854BFD609F4E4D9D83EAB775ED91F491E61F0BABBC42EB6C523FA08B09640 60C41DBCA690B2B99A1BB68547056BEF9020ABA27D372BD42DBEDEACA17EEDF8 9C30B7BCA3DC947451CB6EF75E4904CDC229162FB6F2B3566EAFBACA9A9086D4 776B1EA5B3438B6B9C23665C0DF2EDCA4B992F358D50233A5EE9CF9CC362E27A 37D99024E5EF44F15166C310E8FD605FE8C0FAAD3EA0E373327E77C04C4A7D37 ECB3D04ADF44B95AF1AEF5B97D51E3B7FAF3AC57B90F75E84A82120320358457 A4A5C046E59CC6215339F83FBFF030BE63B52E3AFC3214EE23CAB0853F2AF37C B35D8648A6EE377F560700D31A1DE8B3FAF72C64EA556A6D3F834AA2B72A4F20 001C392FC4A820A0F85893EC00C26437A9BE38031182261A082D559D0979F088 EA083C16352E1FE3BF20E9F030C6F29AE46E15C14CF8C0E6995882E7D0D32EAC 2481DC9920FCC43E3736F4C21E190BB53B8332FDB92A95434289D087597F6090 C23EB9DDBB780A4AF89020766ADF669FDA92409B7C11FEBAC915CF58C563FE6A 71EF733B71171933711A341EEEB4248D0B037A375AABE2201F223109FA6C6398 807D3F90D33BC31D2743DB36C6AC31F14BC8D3D905DF082B5FE1E6D08761591E 89963DE9A9F155BAD5AF788CF3A43A323D157C8824C70849E1A247C776B5329D DDB002922B2915D1386BA02976F4246ECE29A4D3C8FB93DAC9E2DA901A7FAEFD 18D135B58BE76143A47E9236CA125922A2423B56ED5F31813A033ED9FB4D2E2B 1E54DE4900D2650291D854F064A9B85F443E0CDD649878A7C67450AE190D5B67 2CE5A9B6A54349689237907F237CE27C4027C068D9C4ED0B98C06CA0B387C452 23C6EEE0765C42E2A0F3839103136B2D6B34B28BFB2877F50C25B116413F58FF 70633CC7EA221AA96C01F7B0782A5B64BAA610CA9FA9DE6B9DC841E1F31C0462 A27AFEF8EDA1700F2C880A2925FFA1F86C1CAF9C2013C2B241B95BA5942B61A1 6677B5D5C0F31B0C63144CA594CF586587DCD3776D8CD01A435A31D96A631B6B C052CCDC758F2D42E5A9FDE9A829C94BBA6B0D2477F69E27379888AA1D210250 E253884FBD31E14A6FB8923928ABA81D52BBC6DA745FA1CE6E8F8BE832295A2E 3EAE668DBC8954CD905A390322B05DD1ACA7A51BB843DE462BEA9EDE986A65BB 9523CC07EF34CBD7E704EF134D48608FE48FA25174832ED05FBA1200999CC32E CEC1928F4F4C39FEA8970E43F62FF34B015313B78D4B1C361546B483E726BA7E 301BA92306BBA0673CCC84A52058ECCEFA386BEF1CD47B4A6395F54DF191E8BA 694EB392E582905F0599CA328ECB7ACE0DD5503A3F7C53E21D9D5F4FA8E343A6 F3163AFBA48293B49A419FCCC972986D839F7F5C9AE6912CEEA5EDB4FA2C5BDE 247941DBA84D2EF16BD6D204915A1241312C4529F567F26EB0F64379044FD3B2 5B1A3575CFD8735D547F476AD688865B428D71E3B9A75DF12CD0DEA2A15AE8B2 79F694EF120857639F944D9B508C2267024FE2976F3A5D7E8F0028A2A6C38E49 3A186C2ED8DF3B64F83186EFD8397FE345F3177ECA1EB716F846E29AED64089E 1094707C7102610C9A9903E1C6C569FE17C00C7589604E2E0EC9BAB1FD34BA17 7646ADFCA0A7B3398820AD42CE93E4B82A1B186A49D55AD6DA4D1A6B4240FEB0 0904BF9987862F98A950F63AF92A2CB16AC2F4891DA0C6E2FBAD748A8EED2FB0 913AD493E24E6BB54F88CCB36AD3ED48900198C8384122B682C0C6D780C9188D F986A818E2EFB725782A2E491322D0C32F5774142FD2E8AE2067FB7B58639075 8A968A363CC29008E0F3B4303B4EE4133BDC4C54F9247D18185F33BB2B3BD0B0 5D54EB869ECDE6AACC8425E9589CD6242CB4AA222ADD4BFBB069B318164741F2 B1BD1A4CE0D0CF0E3D75FD649CA288CB1F2FC125CD5C361DC0DE646FB9296E20 75046DE666CAAFDC2945C4908931FE5973BA73161A050F44F28FDF5C7B104F80 653701CD97D3DEA372CB38E1CDFB5D2D4DCB9701F7E7EEF8254182D285A141E0 FF276B3ED34C866E18A37AAD97870118084A478866D5BA8D06CB2CDF956D24F8 269B93BE108C10B39D14F4587340E2B6DA185C84C1FDAFA48051A6B123653C4A 1628C660717BF6FE1A5CB8E2A1F3023E262D0560CD7495BE7C729E317AACDECE D15127D5B4AAA0725E6194D56A0B486EF96DB87E428956DEACE7DEE788AE76CF EBCD0B44DEC91466FA41B5EFCBF2974269E442622897C24DF65837157C359777 5C6C81FF92E8F7608E07E046938E702B413AACF4A6B0535A3DF6A6713E7E74F4 F14A9FE79AB2ACD02700927C70DD62241DD9A1CDFC9C558FE19C999D37AC2E43 6B7C1652BE99502AA85BFA4D3BA544FC7916EF9E04639FE4B083F7CFD73953E6 32F3512FACE9A2EAE7C3AD99D950AB0FF0875399A2704EED774EF7BA5E23BBF2 D61B9D9CE47FE606041B274AD1B4EC7724FAC58C426D798AD7BF98E9BDB95CDE 2E5E3A79CC5F0E387F345472F0DDE83021CE30DC2DE2FBD91B18B6BB9CD9B8A4 221CA46588F42899F24AFA58066C214DD39C14A7879031A50B9BCBAE299AC001 C85890EB8718C7B7577548DA2414BC2AF0746C602FF777BA17EBE7737C05F03D CA5E6EC6E97FE03AEB35CF0B74E4793D1AD3968A35169B0E39C3F43A9E1FE13F C4EAD63C6436AB8E64FFD627B7FFB50E5F0D39EF556AE15B584F8E4DE6429845 0EE833F4A734602ED47510BCB69DDC93B21E5B5263F502CC79713E8CCB9F9FFE 216AE1EC9E0BE8AB073EA628E5323353CCEF57BF3F1E524B1B9A8B2C969546A3 5A19217041921DD46BCD0980A729200596FBF99A714D53FA97439A674CE3AF2A 5BF62420DD0D2FB7F9F5076948EE5A93905B223FBCA838B3A1827F04D4B8F498 FB8BCCE0BA6923DBF0A3FCBB54863232BC11BC622B0F87B8800AACFFD23B55D0 34B656C26A158E3389EB4FF650FFA6AA6BC59D7D9B6FF74892A4FBAE7A20A9AD 1B6B9D7BB22F72A9EF3068FAFE03CD0C6F45EC94F2414E89ACD42D6B5920FF85 BD5FBDB1C637603E0A6F1339E40327875A9EA5DA05F1D7884D5491361C049DBC 4B2F1792077BC95B9EF984BC1A2864EDF56DCEDDA2F7D9403CAED562D5717A8A A82D4882FBE24BE77CE9B56E683AEB41DB3898E50744E80427948DB7EA14FF9A DDFC56228247EBC6D84FEACB9AE5E38A93009C2B8B4FAFDD06CF0EAF0CF703AF D448D98C4F4EDA3F214559913A9C963C861AEB50A45941F35FA6452CB5CF410F 38F69CCCFAA95749774322A3A561BB1EDE0939A0CC70C463073BBF7B9CCC6E52 B5FEE254E181B767386CEB795AA608CE33D7F471E36AD72E6445CF4065D22C7B A209A0D62FE310194F85663C9C0881A24F67D5700D604A304F4EEE5083E51B75 78ADB6C374B4E781A4AA1AF3BD0A33CD0D67DDE743E59DC02C67C84A96794C46 7E36A9F1A02EE17BE31517DC11CD988784CC562AF2CFFF1FC6F8F02F7A591775 FF3E5B2E0116E0B5C0BD9C323C5F34129492A1A8789D10BAD0AE8A4030B3DC59 D3B35E1C5AE8D7CBAB43AD6EEEE111EBA9848A7A664E7869F0BB99B7ADA65D4D 9D455EE6CC3C911BAA7794428E8371B711A9E5817C76D74687D850CD9EBCA90D C4BA8697D68DE4179E2873E1976F15D797407E33FFA733198C75FA94B9951B46 CC63DDB47919697E5816EE3B25BD688A477334056F33735994B0C98B8B8E853F D5D9BEA33B0283E823D9485CCF0AFBFA3AF0427C9B29D59C7AA8178ED5EDB1AF CDF5D7A245214E624459D5FD017DE50DD7A8E38188DC3071CF24D5491A4D142D A8838E3FE3D7DECAF303F3EFA0CB9F2214D1F182525F65D03FCF3682DC16D5BB 0C5EACF8079B7705DE411688021A6FCB3FEF661F1E16BB2EDC9C92942A1A87F1 CCE58042A9679E9303E48D51E888C0D49565C2D08DF7EC15F59ABE8C6BA4B181 F9C988AE8CA303CA35D8715C88043D34AFC004022067EA0FADFC720948C65210 1AE054E8D34D9338C40E57C1D66A8330E698135330642DEDE277EE6971986EF3 CEDE105ED330AD206489E46932CD1DCE4A96698FE3A7F23C9B2EAB04B1448FBE A65621DD930764ADA71F090D07337629626ACCD95A9EFB55E36FECABF1256977 238F98708B7F478548272EA14AEC9073DF5733ABE104E1B5E378BE0C7E287AA0 0C3D5C62357ACC98F9A17AD1E9D6BBDEC709C82388DB4CC3C4B9A402B4D9599C 26066123FE5B657DE63BB83D9D85CDFE79A31238F5D3ED820749E98CF26E1C48 1406087976CC44D2AEE08F24A7B63BFA10B39554C2DCC37228DDDD4E036A2708 7BB751E7CB77F095C3FF8DFFD43C438F30D39A19B53ED6BC2C58165F5E20CE8A B7A404059AEECA6C42AE451F600163A1DF1EF24D0CF3D04D831BEEB5F4EC8259 FDDA980870660DE1D44C20B8A20BADF975CA0E347D94B568FBDBFB33951BD395 41D4518BA8FEC3E83BDF5783A5F8FC9AC9ECE3B0551D8DDE7F43DD69F7C0738A 1FC9DF9F8A817C329D2CE7D0CB595A010A30FAB0819C4AFAE9E2DCFB414544C5 7CD1008ECB99DA29B85774C278E295828C9855EAC92906A421B97637F45E8D7F 686D947A50B615899F752EE954A0A7F584755DBB5B687E0171F123079675AA62 A87D7D8CD28F4CB18F7561E0928F7AB2D7AF00B037B048F0696722EF5BDE1C9E D7A4E7BBC3C5B81428A14D4B8586985A55C0EC16395A1360F14E1356BDDAED2E 456E3E25AE640A0FE46CB91A5AEFEA42AA4FD3AB9138A0ABD27C86D3B006C066 3C5F4485EDD396C9E9BBC9CF42F2BCDD1F27A2C2BDA7C963C8A559BAA6C3FFC1 52371B46DA8FAC755A4B2045FA9E42AB440C4CC8D256EA8EA779A2BF7AC5451E DA7685BFE11FF3B53B81681AB0D28CC441FB09A84C50782AE147475397E2AD32 37F22F3C9C7A2F0B2176AD508C1489F120EB4C5A8EE1838D3AF57D208C2E0AAD 38C1510206F4D24C2E2B93CB201A87B0CF227E9354EE4B4153D02DB7245FE41A CADD152902F73B9416EDE0CBBBB6415887C7E95CA1682A61F95A6E77161066C6 4BFCC59E8AB40831DE77D5EC50647AD3A2CD336D860E9A439D74C48654EFA386 8F142DF30E79DCD997E89FFD8E8964B1960C16D00CD23170B1BF977800D1FB73 B3167796018DE3303D939D202F690B119C3EC24BB287040A93330D54A0EB6034 1379DC9CA22B30FB4D69EDA77B505AC5F9EDCAAA3659470C780FFCB25AF98E98 415B31F826BA6E0E61013256E0375AFB474ABB1B89F35835481569F80C2F8FCF 44C264D388F2047DFD133C1F96C34AD78394AD342A9F06BC86A4748D3430E7DA 893D954617CE769E714CB52565251A8A5E26FA922B469EC6104324B02642030A DABCA075D6DB562382FCCF242CC146A55819F586E43385294CE86082DFBE72ED BF3DBD81003561210AEF1704FA866A112EBBAD1F649616E1D912228F3E40BB42 128165EF467E1725A6320CF6082D9C92458D33AB58CF92DA57A8E0321E5D571D 8BCD1C1DAC006FAECA38D45E9D7CE07FE9CC021DF72E5A4A249DB7AFCDC1DC8F BC70078E4C0B3C3E7978922A64CDF58F6ED07BFD9B8F6AC9DCFC6B64F24FCCF9 E6DC4374CF04A94A0A7CEB69CECEE5A3A357161EC20CCA8CE9DEA607086DD7F7 55CF0A59B656388F766770FB16DD50103C65B96CDADF0E3CD425DBB6156DC5EA A2A00A14E7F5E443B7F7892D7DCBB43F364AF058E2AE10FBC6B607C9FE1C9BD4 36BFF1A2BD847089336B6FCA261CEF54393FDCE1FF38FE44D855A265BDE3BB3E FAE9AE1DAA0DE1BE3F61C13983D7F875CD69EB8CB30E9AE124827B9A1B1523F6 231A1247CE6C33CD80CA6D3778B1881C0C6799A670007558E925F5507D5C9269 59E86246080FAD7FBB8A569A13B5CEED32600798A9FD763A8FFB78263A643918 DBBFD72A48BFE0A5832B2110E40334F9CE3098C842735A5064FAACC781ADF9E4 545EE37D8AC777BCBD7E1742129A850DEE5388F8AF05FFBBF326FFD71EAD23DE F4C8C68C12B5A4EFD9858710B34D756E8206D70EF0E66E46749F7D9EDD60618B 528D2F90996D08D59268F5644F3193C6F1045CCA343C16E139F01492F81CADEB E4BF43F9198A179D7EE019188776080E6236AA95DAEB03EF86980C3EA413DC80 F498696FBB204439D1A5C450DD1709DF1A56925709ECD8AFECF32C0CE874F121 37FCCC3ED31A0FA8F1498AA9D524932FD9233632EDE9F16090F0C179ECB7E7F4 5C28A365634A4C26876B7A29380EEC3260AD5F298200572F8C20B72BD7DDD770 93CE84D7433DEF0E0E59A63344A2D71367E909FD95D9668ED37D100564FC24B7 6318D51857AD17EB7E10B4084A69A3E4051682C296F2567D9DB4A57C3BF92124 5D042771EA72891A980DD5AA02701CC666A51F6F0B2C5F57226578BED148519A F8FE2D6EC79D613E00E07A15BA33B76D4746FB72EA0E5AAEEACFC9FA785F9267 BE0AAF58EE9C1D0BEB57463D0D57CB88A6CD09BF9A5AE37AA48A3A7EBD3CCED3 869550275812EEA30359C4DC5AF3C05803C636354C63542AD6307E606097BBC2 668C8AF1D42F7592E6130C7ECB65325BB4DD30210A6AFFA10547B1788C1A87E4 2AC14C32C742D33495D66C13C6C7C9C88F1D859EEA2F0F3FE2DF011D863D467C 9E01FDC6BE13FFDDAFB844775310F0315294DEBD70D86A5DED5AC15F272DB7F3 FD51E244CFE7F3719FDBCBCDA85D7503A1D1AD10864723047DB97D6EBB169F7D 8D7D969DBF4488B171286D02306C1491EA0CA504629FAB5AECD1B31389047BF5 3278A6A50DF06449BA1A836BE9EF4FFEBCFBBA868BEFB6D422914D6BDFCF285F 4DE52DA674EA9A7C0B1C8EC3AC8D2B81EB00D7B20C8BC0D922FC9D07EE4F8B15 8EA54A937F11CAC6249237A5202709984D978F78B3115C3FDBFB594D2D497402 FA87A8D1FEA0D5D5D8A1768D8435D4F661C4F99B47EF9063BEBB94AD75696D8D 70408BCAB14666316524320C83F08604086B303A8AA15B8D69CA4423E246C0E2 1E20492E176C963CCCFD0783D7525593CAD182416D669C2FD819E2E141B56DCE 15A9BB81EE391E64CC81A52F19F2E00E3C8328C4FF54FE959F85A6A19EBCC48F 2A97D6ADF7EEA329527EEDEF30CF683C8D81080295C6E89C0156B525D21F8EFE 1CB32763BB8615C250FAD57607884979C43FA08F9EDDA63B5BBA4D873B6ECA9A 5DA59C4D88E6C3FFDB177930E9F95E95B55F3D0BC08B836803A929EE7AE6200E 12F749350FD683A3FE31CAAA1D9565A350148FC96E8883890E54280625E95E88 667A974CF62F27126D90F11432EB1B63D0724AE1FA3C201C35D577244127E7E8 067F9B04C97DA94355302B61E6ABE7B698F8EED0853A3086B3BBCF4BC1788C2C 7B1054C3BCC93441B84192A87D01546FC9D12BE93FA148DAA7128081CB8366CF 0A725808DB21B6B9CE5532844A6DAE2C04DFCE739989FEF5343F4D919F3372C3 E061C3124E5512ADF90B2A487055439F0FFD5470C458FD83A537E69BF4A785C9 6A5DB6573338B38BB049A308D6BE62B71EB14100AD21007133C2756610C327F8 19804474451EE32E667D73748F9BA861AEDCE4877DFAFD9B360B0BD8B89E46D0 CF3F3924CA165AEF999E86B4103173F1EC9BC426AB681CD22BC34D66EBD02941 C5B4F52101143F7D89B837C753408FDF22B714A5D3B99C312E8509E8F70F3182 30568B9C823B2B403F53AC2D15927303811717505DE13D608460F21FF29122DD 73117012359306DA5EA7D239DBA50DECC6719CE1203B5CB392A02341BE1B226C 528CA29DF73F893C88CEC81CA0569F9B63A734B7C0DC2A32590B7E411773421A D076472DA59AC40D58F246AC357A4499B8D789E8F8FC034DB2C5ABB5E4A4ED4F 7DBEAC21B86E183C768659B226CA8D3D3A3414B75BF24FE01AA08CF3C0260292 AA43E247032576329DF028CDFAFC38634FF77939AEF71F376779F534FD3C20D7 59CEA00401E91D252644BEB01153EF6F460F43DE2F3BF845DD18C45420EB1149 D4D4A2E646693DC7A042FC5DB1393D6F734895DF4F9FC507BEA96BEF1B9AAE58 6CEDE546600F56E36BFE2437AB8ABB448AB4DC70D9F38235F89B68DD8F63A901 104C605BCBCD43F9F4ED6A8F514FE6F294EA0E57F2A00A130F463E51D544638C 9AB214D9ECE691B62E6F56F2E15049FDC2217409B7B4BCF2F5C3ABFC0B6AB9D4 1743B4F5E90F057FBF5F3D4DFA4EBAB6858F1B94E41AD3192BAAD0A0C2612C08 D0B200EDDBC6778FA8FA023EBB38E9A9EF01299CA9E2F3188E5A0DE669FA1408 A4B1D02B702943F488ACE3A60AFEB51C9E930634CB6BCE82118393BF9F5A102B D4A6401DC72D9797A936FD50502E8E4E69E8F97D658F359BE4D6650165174AB7 708C4BDBC5C97E6FA4417DCBB0BDCAD9F06DB988DF2EF70C2BF679B95BD20CC1 E11A0113EE35F48A0A2675EAAF9399BED3A4201F149CD99E48644443F697F0BE BCB294201843D373E036F7DDDA350251D99E2F2DEF86CC7E4B04B7CCE4937022 7D5F434F2448F7566C53BC6F20167DC67672949BECC1E3DB482BAA11082EC692 16B984A78CEBF181C6262F749ECF84D7C3B77F7691AAF46832F7528B7D802D69 95CEE70E3B249B037CD5553CB178335FC239BC2729429AE5D01D2FD01316B4D6 CADAF7CC00FE5FF1318119DEF971A3FC708B6F40D8ECFBE0DE7BCB66AD55EDCB 2A74E87AA27D4F26AE4A49BC20504171CCBC1237ED7B1A80D56363F379BCD65F 6B48FA555CC1A75CB614488FCD9B46C1BAA8686BD613F717A5E526525D400B60 88BC4F2CFCB4BF97DB5B10D44724C923A5395BAB8BAE6F06FBEB3CAA55628FAF 4363668EE3C336576EF7C517C646C1D7852AFD6144E106C861271102ED57D011 CC687E0F8BD1D769551A1E61ED75817F55939D5A0F377B0FD54124BCA6F0DC24 DE6F10DD64B4977F05D93A1C6F6BA77EDA62C99D8383B9B5BC590D2453ED1AA3 B0BFA170057BDCAE77C347041BF257C9076CD49BAC7834AA77E84E11BEA1185C 87BB0A121C3BD914CABFA118031B0608A930570A5C1973790CC189770A3C6E9D 27DC97A27472AC97EA6F2784D3C0FDD73A05BD8A232136DFB2867B70A901178F 0B7DBDFBF1C38CA1A5CDD20D94 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginFont: CMBX10 %!PS-AdobeFont-1.1: CMBX10 1.00B %%CreationDate: 1992 Feb 19 19:54:06 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.00B) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMBX10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Bold) readonly def /ItalicAngle 0 def /isFixedPitch false def end readonly def /FontName /CMBX10 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 12 /fi put dup 46 /period put dup 49 /one put dup 50 /two put dup 65 /A put dup 67 /C put dup 68 /D put dup 69 /E put dup 77 /M put dup 80 /P put dup 83 /S put dup 84 /T put dup 85 /U put dup 97 /a put dup 99 /c put dup 101 /e put dup 102 /f put dup 103 /g put dup 104 /h put dup 105 /i put dup 108 /l put dup 109 /m put dup 110 /n put dup 111 /o put dup 112 /p put dup 114 /r put dup 115 /s put dup 116 /t put dup 117 /u put dup 118 /v put dup 120 /x put dup 121 /y put dup 122 /z put readonly def /FontBBox{-301 -250 1164 946}readonly def currentdict end currentfile eexec D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 2BDBF16FBC7512FAA308A093FE5F00F963068B8B731A88D7740B0DDAED1B3F82 7DB9DFB4372D3935C286E39EE7AC9FB6A9B5CE4D2FAE1BC0E55AE02BFC464378 77B9F65C23E3BAB41EFAE344DDC9AB1B3CCBC0618290D83DC756F9D5BEFECB18 2DB0E39997F264D408BD076F65A50E7E94C9C88D849AB2E92005CFA316ACCD91 FF524AAD7262B10351C50EBAD08FB4CD55D2E369F6E836C82C591606E1E5C73F DE3FA3CAD272C67C6CBF43B66FE4B8677DAFEEA19288428D07FEB1F4001BAA68 7AAD6DDBE432714E799CFA49D8A1A128F32E8B280524BC8041F1E64ECE4053C4 9F0AEC699A75B827002E9F95826DB3F643338F858011008E338A899020962176 CF66A62E3AEF046D91C88C87DEB03CE6CCDF4FB651990F0E86D17409F121773D 6877DF0085DFB269A3C07AA6660419BD0F0EF3C53DA2318BA1860AB34E28BAC6 E82DDB1C43E5203AC9DF9277098F2E42C0F7BD03C6D90B629DE97730245B8E8E 8903B9225098079C55A37E4E59AE2A9E36B6349FA2C09BB1F5F4433E4EEFC75E 3F9830EB085E7E6FBE2666AC5A398C2DF228062ACF9FCA5656390A15837C4A99 EC3740D873CFEF2E248B44CA134693A782594DD0692B4DBF1F16C4CDECA692C4 0E44FDBEF704101118BC53575BF22731E7F7717934AD715AC33B5D3679B784C9 4046E6CD3C0AD80ED1F65626B14E33CFDA6EB2825DC444FA6209615BC08173FF 1805BDFCCA4B11F50D6BD483FD8639F9E8D0245B463D65A0F12C26C8A8EE2910 757696C3F13144D8EA5649816AAD61A949C3A723ABB585990593F20A35CD6B7E 0FA0AD8551CEE41F61924DC36A464A10A1B14C33FAFB04862E30C66C1BC55665 6D07D93B8C0D596E109EE2B1AAB479F7FAA35279ADB468A624BE26D527BFF5ED E067598E1B8B78188FA4BCFB0B51692D07B0BEBB930C6F0997B437E2C51B876B 61A563A2673932C2045833FAA35DB22ADE12102335D5DC734AE3AC5EEE6658D7 92EB62131E1DFBA441F53EFF9021D9D4C491F26BE8F54C61165CAD778CE8695C EEAF70E3B20C64D4C2B34A084B5770BAB2A974E898F62BFE90F132A37E2DCA4F 43E13DB13C94DFA8ECE2B7374827AE168634FA007F8981ADA046CED3448BF453 FCD9A4F194FA648F9FC0971734BB69CB75348A88CC361FF06E984C86AF0EA429 DAA5808CCE3583664AEFE0C59EDA04A147FB51227A5AB0C13942323E9B3733DD 3EE7DF7F774DE5D0D0980DA8C0192983F1E3EF18481EAF1EFEDA0068BCBDB28A 7FC7D9191EFFC574588DEC1E180341DC959F8EF56ED5B19F50AA82A4653649B7 CDCA11A1FF27AFA7FF189A7E8A7C0E94AEEC901DDEB541604DEC0FE90FA0685A FDEADECE61CE2731FDDF7FCF2AEF7CC2B1EE7095F483C2597897A5007B4F1ADB F3732A9551BF2CF6159BD5C2D73173AEDF1485052597E4B82A13F17B8EB838C3 8FB300E966EEB4D3F920E55F0E6BD41BAC278FE141F083B93AEB1A13607BF8A8 03BC185771455E412D8B63CC79F828439C6A7EEF960736D8D894107E0CCB58DF 2E31EA1ADE56BCDA2F76C6B5D211BBA0D7CD8B7C88A75DEB825A8E70AE170C42 7D588B3D2E2E06548D553D4A6EDB24F8208EBE13214E89E02320D3A9E4090455 48E26597DB0D49B84BE1362D29F525DAC81408603710750362C95FAD9FD31A8F B203109C2DF1FD57E053BFE2E0EDF3FC4F591BFE0EA1D09E7EF459DE899FC47E 94D682E6B3534E251BD513CDED6DF7896A9F0B17C39004BD473F489D966044DD 3CCC32010C9AC4EE4945CBB27191AC1367947AC3D5FBC4D6A4563A37D0433C04 F289D03A8B8DDF6077803AEC3E5028640AECE2D624D2C103EDF27FCECAD233EF 312400033F557477F21FE24DD4CABD064949F7DA08167AD025F24591E5C2F51F 98C01BF41ACD72D83E75671CCD5E63C77F43B63116685ADCC03B77961799899D D848C2A52B52E9AD9FF09934CE8FC220DF25A79264CABE1378E406CAF79C1730 244930052FCEED3A824AE12FD0D2CC29C52CD24D0AFB7AC33F912836CBD43534 B5A59EAD247550398E2A60F51D10A03776F2036377EDFA319B3482FCCA8DCE1E 7721B7A0E6A9558C19346F818D9DB624FE17F016DE82379E8D5EE80181286B7F CE258DABAA1CD08127A538F694FEC69CBD9A3A98B7C31855C478B4F73E9AFF6E 01EA4D9159899EFAECC5D47C6DE264B0935B1207F72335DDD03268014FB865FD 6EEC46E298C3260B9AF5C11E2796AC332DBC5C50C97F666782658DFA762AFE45 C42B545F0F9E2A203251003B13CC9A1AA4E4D80960A161D00E875057FBA0A19A 6E3962EB9E27847D371A990742AF11689CBFFA80F537A5840292DFA2A4EB8A5E D862EBDC3E3384896D46439C1B9A2CACACB982042AF848DA3AE50D4EB99DC31B 6E8F8E381F40AE20E8DC5A4D4501FA20BD923E5A223F5734E046B01549CE83E9 E8850D97FD206FCB4631D00149F4C20E2B7B8B528F67A8135DE269BDF643239F 0942B19AB8E978E401EFFAE914D54DD1D3E2B5C21D54485EAC046A3F2E6B8B5F AEB1A12C35DF20FBD372B6044A71853674B34BC04AB39869CD5B284AD7CBF372 5E935801BA4B2B3CB90262C230EBB6DF6594BD5DEB1419BFE18B7E7959AF8514 EAC8D13BB8605BE8D3F96570BEC61BDAFE1A9ADA7A89A237FCD03B68153E0244 9C486D8901105D07822CE833E6A13728C89BCA288D04811BB559DDFB66EC3332 2394362FD972D2B57142BFA3343767110F509CFFBD0784A66DF8EC3C04AD009E 768D243464A20F6C28FA2589EBF50FBD849FA065E2F5E5F8190773FDE4D219E4 648673BD499B7BE1814EC2676B18024F07E89E4D9ED7D97868A0B707FC752FAA 266FBC16E6425B4063945014A52F6DDD86DE4C1D212B9963F2EDDD9C2E8948F5 A22FB2033F8241CBA26FE4F99D53A983A8CE14C7F926E59D29D084A825785406 750A7E1AA7A0B9145B56D87DA34A89DF4CF8B3836BB11999BD21A056A7B2784B 13EE58CEA2C5A6216D5AA1FA50FF6344FDA70D1B5E8CDAF81E1EEAC2CD3D3796 2366D903C0789DDB2F16683756FA5B310024AA057D95B68CCF53A2F4D922CCF3 3BA4E3F942DE3C1E004F5810B71F993E773E3C6612AEAB5E737B8ED56F1AC4BD B54F097F726A731487F0AE9A8A3E870CE897C855D9C087FBC2311B5C6E09B241 F9D93DCFDD6D542F4BBC3A452E443EC98F04EA1505128D26717FEAB6F3B8CE55 5EF8AA677AB1B3A5675C386292ECCB79480B848A76EEBA04DBF12A7FF5EB7063 E0D80D382BF1FE8CD8AE42228FDBC75A0FC471A551FE3CE006F07865926B261B 65FBB88893E5E8FC4E2818CC09AF9D7D24607EB77F73DEF2E95D7AA2E452AB87 84A1D34BFF69FAED69863A5791ABB51B4A6310526772DFBCC2EBA50EC9F8BD3B DCA30405EEE2F06ED8033A65D11B03C584A7A07EEE3E916DB424383A0037833E 0087013E4DEFB4EE82437BCE36BA12286134614E0E4FB2E32EC7C598A6250F91 9A21B128F0674104A6BCB619D251F8F0066FC6916E91D022EB1062EA4ACDA110 DC715BED2D14AFF07DC1F0B5CC52657BA98DB98DC890D4EE4490039E811F6AE4 0BB84FE8B54C5BC46E392597AD87B1D8F21A1BF30A33B6D14C45D20084005F91 23727CDF046BA2E890ED933CF7C8320B3E2159D7FA84176A9A3738A391B0CD9E 64D8569FEEC3B0EA2E752F38C8714F3A40B3E043EF16AB4C3EE36C6263F1B668 A84320880BBBD0AF412680D41015B283E2B530C056371F7ED8D8E7CBBE755A7D 607C990E1F9C0AF87930F682E5BD953D9E59E33E054D2524005265DC32A3BCDA 2128037F6B5A4FAEB50B08E122837F4A937CFD7EAA7C6F2AF95E27150B2C458E D42AE31AD34C0678052125674786A7FFB906119D2015FA0CE7EED568B0E87AA0 8526A4CE823738E2313B0B846E07565F874D56631FEB759549DEFF6835CB058A F46A0085DAAEA9829979FC668B5E363FD7B58B3367CB65B480E205C2D0F7A1E6 267E4B07D479FB32D940967D9B063506E50AF001F23C74F5C59FD9696D8195AF A90E2B0D894028B84E846920B327A718F579B39860FB994555FF0A8AE43E0ADF DA6804781183BDFFA74814044CFBCE406B1B48576B90B74C9624F894DAB6EFA7 FC9F535DC23B8586D9433EB9613D38D56155DB494AC28D00AA651B56880F4687 441D5B6D1C30FD6EC0915D8E612E25D9F0DCD4CD896374ACAD5A471FFC460F22 DBFE61134EA0C887463CA067A1F688FF1D51F1A29ABE674FC460E1D4C0B6B167 A8FBAE336A10C9E1CDDF9B0C09E180CAF7062E987F96817BE45D0F99EC8A4DC2 5AB71935085032D483BC937CD3F5AF99A3323E730296C931E68217A72D3EE2C0 2FF60E1F03FF43527DC1DE8C4CEF17037054BD6EE1BE4B9FB0A908726336122F 63B3C0E7F7BE6B7198F3EF7943BF0DAA1CEFD6A0DC8CA0765F7062A67528E494 97B17FE6867D5E5F72039684D4B5B1AF05B1F381BF3655DD91D709FAFC86ACE7 95AAC563493C94F08384048D65B60C077B233D73EADA2C019C3544AD0A9250C6 F2A8047A950D35C0C6A370B496F74E04DE8AF9334D2D211777E2E97F2EB77926 54FA95A47757B5CB3E1604245358E419CD56FF432B78C4B6ECBFE31DF54C7E69 10FF97F8888EACB110C5F4F009AF02BEC74E1B1D88A870DEBD5C1B979C8C2E85 45B3D4F24255556ECF0F49FC10CF079AF1B52F782002DDA1790819C5E08EC22A 1BCA194AB2702C04382DC1758078688CD0C1D883580894FBF9E8460AE5CFD9A6 42E65B11F66E96EA7C7A85C85B149CDC7782B72248BDAC2A212B3BE4AF131674 5ABB1F63EE9A9CBD3D8F8CCD2B7BDF82217C4FB1FAE9711CA8820C0BCABC3560 1DDD23A1AA4472568969AAC0604FD14926F9180D4C389D5527A8A0327588CBA3 F2B14385B5362799A6B3558810F1E4FDCD32855620B8743E8C7F082E007093A0 CDD48D2DEB5A9890FB631CD64196F3FD37045AD3E27855FAE760F3AA0E976454 392643CB28B070667508E7A57510A2A3C17D5D05FF7467568BD31BB1FF9CD646 8312C46EF77A694155B311B67E2B79A3DB68223A1FA8B68A555CCC1BB1B520F9 5E5D97C65781E319F17771D7A520630BB4DD9BF9D31668372FDFB35903E3AC1E FA8CB0D868AC75AD13A15F748DC81B49ECC4635D3E10E7D345763AD1A4629F37 099C2DC81DD029FD64CAB0D5A48667708D0FA1F7BFDBDB0C242C0BF9CB522E48 3DE1C4C22A2D3EFDEC90B6DDD38DFF5AD0F1F7F5B88DAAEEFAAE423B76A7AAA4 A6B011044258E7DE834C44939B63B63C1F6ADFBC828EE0F4CF1A74172FC2B457 897F43FF857996BEB2969859CF4D75321201BD396A6A4EE1428B833D7A0E0A73 AFC3266A74A28DC99AD41EBAB115A2AC5AF409853AA009824E7B82EB29A20FC5 CB48F0A71F640E68303CAABBB2CAC89C6531E731B1E623B88B5C49FFE51C2AAF 51DA390DF21241A442447983BF3FE11E4D654F8F56D2DD27983B456A5A2EB42F D51774AAB6201F57044356D69A5389BA459205763BB8C48D90584E9C3B08A922 0ACCFD31534B1488E6CA39ABE08E8B2EBFE37F2F14A53656E387BE1BDAF706AC 814691FA6728FB9BA9B6D58F7F784AA4046C9B8101313E29EC9AA8D31773EBA2 1548C4ED46C523E90AF569AB209D5C9548B05A786281383B598DD82A017CCB65 4D8C95F7BAF344BF90A0B2FA7516236F309924457126CE3EA1D0475A0EFCD4C5 03E4991E35CBF28FD8163E2653985F9E551743CA9D2380D5A5612CA311531777 F5A9E6B28D3BE11A1AE87B49B5EFA3CAC1C8411787AD7D70C6BDA2981AE6ED33 4C3E9E35F7FC5E871D3528C3A549FAD7332559416CFB31D2AD92A9DCC1C2E1AC 5C3663CE64E2936713AC683286B4D9D63AFA14B5CD40FB01F180104C3BC740DC 7D81CAE877DB9D54EB81882EA36C8A9CEA862B95CE3962361E35CEE59345FC42 C7A2F5FA9242F8F05D0681165F35269125454F652E63F01C5CC08054B9726EEA F7A49F049DF7EF31446221A0F81B04738C5D44C3EB0EB22783DC80EA382896E0 2F73AE642D3FD886E6F996CC0466B18A24219057C23C102A580ABD496018EEB2 E7C4979CF293EAE0FDF5E60A0C5A9F0A8E98CF1901DAE3AB5743A3F4BFBC77E9 163BBEBAD8AAFCADFD057304461A226308B64D1DF1744B90B0B3F7FAAF81828E B2E986FF81C9F9FECC5F49C4E40735310596BAA5AE0E976D453C9DB61D53ACC9 0FCD490F942E9600A337BB5F58369AC68715E53037469823DA13BB9217151602 49D6A39002339A72822B37DA89F743AC3CF7D3DC01D346D8932146579A4EA08E E739776872D823A82F7E9846CC092E7A93C86EC876E69F19DB5DA75066DC1C1B 4DEFBD2C63F3334A8D6261C0A0F48C6EFD30F0D572D0FE0290A8FD4B9B3F196C 9D155D5A2ACFFBB01F9310A57BA2D25A7D12F58F9E6975688349DC1184700828 E51CDD3A96B4EA3973C600ACA99652C13A719C767E6B81F3CA6B0D3B4796B303 471EC60008C4743DB9103ED8E55FEB880B638E3B1C2D656853932A516F268129 A51938185F4E7EC5E387D8C3FCEE0F589D7AD5279AD11DA601C6978998642710 AD3C6C14DB47B1194C769160D25C7E0058A7F4005062E3A9579C376E12B9B318 1D93CA916096B91C786B8EB1401A529475DDC4F1E70EA3B0C73E598F09A6915E E58BE719B6ACABAC9A298BC28E1A1D08B057B83BF3E745B4EDC648DA6F321BFC 8AD5812D8BB798145D9754240CBB78947E964EBC1D8B5DA6FCB340CF36A7F82E BFCB78A885A1E5F9B0AA119361BA29DFA1D77CAB29F5FFE3A0C9F5D5150F341C 2EF63CFE821291164B7D1730E8605674AC3D959A1EB48CE80E4FC23B6C2EE62B D072D8766F7EC6D5EA24973897D6A66891A493DC644AF9F5C6DDB1F51AB4E9C4 BA06945F136A41A326B38400DCFEEB305F3ABEB0622F0C2BD83577330FE5A195 3F71596C905217A1154923C5629870B708F20785E65F0C5A6A67F16B756FB5BB 3A12D96242BA16180BCB2A33AFFA752BD4685F77C0428EC988613B5B40F108AF C898F54FCD1DD9681F5E7FCCEEC7D3B12420F2B33246C69D27137C35C63F384C DB7BB66BBAB01294BDD1A47E8D19260EE1A7423798BA139B45BA649C3B1318B4 B185F9887A77937753C5DDF784CE3ECCB142D075E2D0974F88C50909566891AE 3B23BECD3B34FC406AFE6D57825E8AB0B1000BD24C0E578DC90230393686B18A 0C79BBBFBBBBB42D6370C9BA828ED53C31E5D30E3A887719E775A797D55E9932 D8C9A14705744719FE2773E9265A6D18F708B7136D21CFAE3312750E53E67502 9F953FD3966F5B8AD325C6B457DA2AF89786095154DBC15AD911817F9EAC0C7A C07704354A88073AE9F7211D08E9DD5254FC49B61F413A8FEE4D6906C2162744 6A5061CD7D20F3A2435180DB68CC790281FB64B001F034BC50AA3A22ABA1F8CC 85330EFDE6DAA69901B570E9C78B95923198F99D4494A971ED5166E23EB3C32D E0B0094529BF4B73C9D79863483FED6EAE90150EFC9BB404487E4284EE6F3ACD 48BE402FD10EC0B3CE84B001B56AABE405383A9D0F4539D5D3A7783BE28CA2B4 1D5429CAC0231CE63104DCE6B2D3A7EFCC916206A61BD2507FDA737BD14016C3 9277384C21082E53790C487D0E92411F52CB8FEF920B1E66167B370A46128DF3 13430A7DCC78CD29FDEF826510EF9585CC35B89207E1982CAC66914B062AE4D0 C2F12A9DCA6ABD1FFFAD4C74814E9060B5E64D0772DBF63756BB83286D92E8E0 AC0AC001DC9F51B0BAFE55D06C1D03EB21FDA599A4DA6F6EE319A2DA14D86CF7 2041263DDFFBBA6D15F153A937E630E513F2CB52A1902FACBFC077CA0B0FD3F5 4F35DEFA18CBE1B468F90FB235AAC510293A37C9F0F42020561C7A4868C27114 56E55768367A30A5A8E143890FE6A43550478DD350AD87A6017C9D12EF30170C CB30A1F9F8F75EA443AD01375122638A93A5A377AD331F9C15333738DA92155D 88E1F9D7448906F2D216662CE8104D331F13F981D9AB0AFCC346FF84E6613CF8 4B7DC1A7548647FAA0B6235D0E72C94A5E0515D5D5BAC06C31C3285CFBC96EAC EBBA9FA882EAD845309FC5A12B8F79CA7D08532E3BB3E073B503ECCF7F7444E9 AC1ED9DE742C6BEB9B5F71B6E9141D95F3E8C34AA884D11D55ED25405A505186 CA5F59BC087236AC18C8F3CDE1BD9D558E1BCFE4640D8FFF94C4364A3AD1AF07 4976FE0211D04BA9B2E4FDF544FFDFE3308839E35906E146130D409EDF120FF7 C2EF42D80B787183F82ED12729279CCFA40E4E5BBF8701EE951DCCCAA029CE79 C06763D8FFFA4F2DBB9F7B98F375E6D9990628647F40E0B5720815952330D572 33EBD503526F0E4BE85E2491AA9E3821AA09A0CE4F9BF2CBAA7E5AE20DEE5C70 BA2D2365841081F8C393CB836FA354A67AF762B581CB117654E200E1ED2248D9 161BA937B3840675E73502F82451DE0F1BA671254C8FA45439F2F09FDDC8EC4A B5DB7BF3F443CBC974DD939761B6F200EB7AF5C54E24B76EE36EB4B01F48333B 16E4E0A1EA9C6954F32E9BB1B082A8203EB7EFD2854DD1543F181B6BE8F3859E 854E70A08A52D8B9DA8D1B8EC74735039A304EA7D1D796FC08D04F90A676DD12 89AAD9EE9C92C3C5D6BED04FCECEDC692A03AE8C214BC252F9EC5950A8079B71 7C634158F0EC350AE16622708E773D048F3419F84ACE4C6C71B27DF932B6FE9B 508092957BE6AC9AAEBF1921E5977D225C5D8B8AB74AAD56712437EDABD1901A F15174A948B111A7D2B6E25D31FB81D760E9189E980789856655C29FFAD6ACD4 7F04B02534AF3F3969ABE3EA5F82E082CD37D86E2445B18B60FE37C16F2478D9 7C16D270DB76091E5CE6DEB6333AD762E2C3FE12208056B3AA197893F949509D 1D33079AEC0DE614B8C797C3BFBB5F284EAB17ED092A6E820BE393D11379935A 373C0F69FA787251ACEE8E3C101A6FBF033881D1C7DE0B9F5F27C04534998815 EE6D7901ADD055A9F011B3AE7AE7B156A9B3CCE050F9BEB27F34FB460629A11E AE56CC104C27E7546AB0920D7DFE9106B3FDB400412D9976109B1F8EEB549F40 6ABECA1E7E1AE71F3EDFA3FD23EC6DB208BF4415A4C9CE2E69A64B42863AF5C1 F2BBD54EC514BAF203C0409ED99EE6182775608CF81C4C5B1AA765996FA352F3 4D134E60E963195F3700D78AD0905790FD881B63A6483ADF925B2452C79B6F5D 30B78C7022329EBF5F9338EAFD3593C4B5C4B1B0B39324704EF1B72624E8F412 D2FDAE89F1657DD74C953F3E7CA0155873C3E673B891380A3C06409BB6AC9860 5F4717C3BABC9EF40F0761FFD936D1360195C0D6492755ABAB2CFBFEF062172D 08F3968741E8202341B52D79F61606CB7AB83D817BF7F2560CFCF25D076EBE69 03FCE7BA500F970091D7B83B2295C278A0D0E52945326B632AE4574C7E28A06A BAE58CEACEF22DEB41B993584A3EA9B001CA1954451B52C3456F84E290659345 12F5CFCBAB1AAF3F1C8401314968337458ACBEE4E12AC463B9C442545084744F 27FEE5AD33129D90B69DD3C0647FDD4FB112 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginFont: CMSY10 %!PS-AdobeFont-1.1: CMSY10 1.0 %%CreationDate: 1991 Aug 15 07:20:57 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.0) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMSY10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -14.035 def /isFixedPitch false def end readonly def /FontName /CMSY10 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 0 /minus put dup 13 /circlecopyrt put readonly def /FontBBox{-29 -960 1116 775}readonly def currentdict end currentfile eexec D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964 7D53359E51216774A4EAA1E2B58EC3176BD1184A633B951372B4198D4E8C5EF4 A213ACB58AA0A658908035BF2ED8531779838A960DFE2B27EA49C37156989C85 E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A 221A37D9A807DD01161779DDE7D31FF2B87F97C73D63EECDDA4C49501773468A 27D1663E0B62F461F6E40A5D6676D1D12B51E641C1D4E8E2771864FC104F8CBF 5B78EC1D88228725F1C453A678F58A7E1B7BD7CA700717D288EB8DA1F57C4F09 0ABF1D42C5DDD0C384C7E22F8F8047BE1D4C1CC8E33368FB1AC82B4E96146730 DE3302B2E6B819CB6AE455B1AF3187FFE8071AA57EF8A6616B9CB7941D44EC7A 71A7BB3DF755178D7D2E4BB69859EFA4BBC30BD6BB1531133FD4D9438FF99F09 4ECC068A324D75B5F696B8688EEB2F17E5ED34CCD6D047A4E3806D000C199D7C 515DB70A8D4F6146FE068DC1E5DE8BC57036431151EC603C8BCFE359BBD953AD 5F3D9983B036D9202C8FCC4FA88AF960E1E49914EC809263862931DB14B61EEE 6D37A389B488D0B64CFB7DA527AAED80494F79A073D895AA287BB47BD5246090 A76CE91680C1F37E647D855A2EE196BDBA8D2C788E98481709F81D9F4EC64923 B400A76DB50A0ACC981A7A6FD5E3E95F52608286B10ED2BB96A478A65EDD5AA8 8CC55F630A5FB8C0F502646CDF8BF4D9A4B91FF3CB2B73E31722B201AA18B140 544436537A080D6B4BF518D5F11F480AC9C56B32A6877FDFEF2FDF5FFBA2385B 45D9EDA7D30A8AC8BCD45616B6401AB74CC375B86F7527666A8DD0624C2240F7 A3FE9709E214ADC702C7EF8F36378D71FD5164FEBD24B77EA869CFB1B079B8AB C4850371C9E76D6F8761C06CBB9C54CF085B4AB2ECE83CC293D9B7625DF8503B F448FD24FD93B44F66900639D4CF186BAB2B0FA139E7E49C0289F8E323BF4CFB BF288FF77853A714 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginFont: CMR10 %!PS-AdobeFont-1.1: CMR10 1.00B %%CreationDate: 1992 Feb 19 19:54:52 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.00B) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMR10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch false def end readonly def /FontName /CMR10 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 11 /ff put dup 12 /fi put dup 13 /fl put dup 14 /ffi put dup 34 /quotedblright put dup 39 /quoteright put dup 40 /parenleft put dup 41 /parenright put dup 42 /asterisk put dup 44 /comma put dup 45 /hyphen put dup 46 /period put dup 47 /slash put dup 48 /zero put dup 49 /one put dup 50 /two put dup 51 /three put dup 52 /four put dup 53 /five put dup 54 /six put dup 55 /seven put dup 56 /eight put dup 57 /nine put dup 58 /colon put dup 59 /semicolon put dup 63 /question put dup 64 /at put dup 65 /A put dup 66 /B put dup 67 /C put dup 68 /D put dup 69 /E put dup 70 /F put dup 71 /G put dup 72 /H put dup 73 /I put dup 75 /K put dup 76 /L put dup 77 /M put dup 78 /N put dup 79 /O put dup 80 /P put dup 81 /Q put dup 82 /R put dup 83 /S put dup 84 /T put dup 85 /U put dup 86 /V put dup 87 /W put dup 88 /X put dup 89 /Y put dup 92 /quotedblleft put dup 97 /a put dup 98 /b put dup 99 /c put dup 100 /d put dup 101 /e put dup 102 /f put dup 103 /g put dup 104 /h put dup 105 /i put dup 106 /j put dup 107 /k put dup 108 /l put dup 109 /m put dup 110 /n put dup 111 /o put dup 112 /p put dup 113 /q put dup 114 /r put dup 115 /s put dup 116 /t put dup 117 /u put dup 118 /v put dup 119 /w put dup 120 /x put dup 121 /y put dup 122 /z put readonly def /FontBBox{-251 -250 1009 969}readonly def currentdict end currentfile eexec D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 2BDBF16FBC7512FAA308A093FE5CF7158F1163BC1F3352E22A1452E73FECA8A4 87100FB1FFC4C8AF409B2067537220E605DA0852CA49839E1386AF9D7A1A455F D1F017CE45884D76EF2CB9BC5821FD25365DDEA6E45F332B5F68A44AD8A530F0 92A36FAC8D27F9087AFEEA2096F839A2BC4B937F24E080EF7C0F9374A18D565C 295A05210DB96A23175AC59A9BD0147A310EF49C551A417E0A22703F94FF7B75 409A5D417DA6730A69E310FA6A4229FC7E4F620B0FC4C63C50E99E179EB51E4C 4BC45217722F1E8E40F1E1428E792EAFE05C5A50D38C52114DFCD24D54027CBF 2512DD116F0463DE4052A7AD53B641A27E81E481947884CE35661B49153FA19E 0A2A860C7B61558671303DE6AE06A80E4E450E17067676E6BBB42A9A24ACBC3E B0CA7B7A3BFEA84FED39CCFB6D545BB2BCC49E5E16976407AB9D94556CD4F008 24EF579B6800B6DC3AAF840B3FC6822872368E3B4274DD06CA36AF8F6346C11B 43C772CC242F3B212C4BD7018D71A1A74C9A94ED0093A5FB6557F4E0751047AF D72098ECA301B8AE68110F983796E581F106144951DF5B750432A230FDA3B575 5A38B5E7972AABC12306A01A99FCF8189D71B8DBF49550BAEA9CF1B97CBFC7CC 96498ECC938B1A1710B670657DE923A659DB8757147B140A48067328E7E3F9C3 7D1888B284904301450CE0BC15EEEA00E48CCD6388F3FC3BEFD8D9C400015B65 0F2F536D035626B1FF0A69D732C7A1836D635C30C06BED4327737029E5BA5830 B9E88A4024C3326AD2F34F47B54739B48825AD6699F7D117EA4C4AEC4440BF6D AA0099DEFD326235965C63647921828BF269ECC87A2B1C8CAD6C78B6E561B007 97BE2BC7CA32B4534075F6491BE959D1F635463E71679E527F4F456F774B2AF8 FEF3D8C63B2F8B99FE0F73BA44B3CF15A613471EA3C7A1CD783D3EB41F4ACEE5 20759B6A4C4466E2D80EF7C7866BAD06E5DF0434D2C607FC82C9EBD4D8902EE4 0A7617C3AEACCB7CCE00319D0677AA6DB7E0250B51908F966977BD8C8D07FDBD F4D058444E7D7D91788DEA997CBE0545902E67194B7BA3CD0BF454FCA60B9A20 3E6BB526D2D5B5321EE18DD2A0B15E53BCB8E3E01067B30ED2DD2CB9B06D3122 A737435305D42DE9C6B614926BFD44DF10D14402EBEDFF0B144B1C9BD22D7379 5262FEEAFE31C8A721C2D46AA00C10681BA9970D09F1EA4FA1566B96E221864A 45A24ADAEC63F61C9FD18376D3984449A1F998C318A8FE36D0D5020E18A49625 0F3BB603BA1F3E66FF412F6A32433FF8BD2968D79CE4273AD0E0CDDA5153C2BF F8A46A2244F9394A49D339F763F5A7411A3C29336B21CCB01723705AF589B078 3763035411FE36AB5D744E81379106890688CB5BC41184548B7FEBA08DE7288E E6570FEA20C51FACE8E8F824BB61A4A038AB817C47B87391611B77928B2565A9 3B27A573C05D36ED01D8F27CB2C793370FA9B90021B5696280A55F2CB6117B64 293EAE0EA5A243F56FD007773CA35DF71B3D28643C25210CCE25F37A5095D6E5 9CAFD99DD1DB0D7EAD454C13464DF6FF5DD42339797AE5AE467084550FC00139 6EE818C6365007B2FD6E26285B832CFE6EA7E99665A224C9813C036CED262639 3FB39C1F05FF8F31D2DEF37BB9B883334F51EA124581B786A3D5FE6424B19872 AE7CB657C8D9528934B990B94FA4A6D61BC9D2CA9B4E95A22CBAA066043F44D1 AF32F545B9E123536914A7FD7FE96F12039EC25128C810BFF546AABC609DF57F E19D511F324E32956177C4376D191C691B9F0B21FA84BAF3DCBBA536CD710A80 1DCD4C83C02E69A140E1A4CFFA3B012398F21DDD96ED8060DB98EE133F430022 41BA1DA473F1C99F0D6CDBD35188DAF712AC83E0EDE08EFC3CA2B4A21EE55692 CF22799274A5CFAE84C89C937AEECF9CC71A328015B63C1730FA68A18871E174 D035568A73346EBE4EBCAE410A4F2505370A0ECB487FB40FD823065AC56CE66A 9D8440C5B3F74B855EDAECE69835137D4D76FC0FEBA53998F57EEF25C7E3D9A9 21BFDBD66C84D8AF7D8A3B79FAA9DA2963FD47689E519FBB2B7793CE6DE04A5C 203539BF94A5A700E65B5A5DD37B051EA4348BDC4CA39909ABDF8C4102A58FD6 661206115F7EF6C29E12408BADB83AD40071F53B501C15601338467BED90B659 2708D01CD77E109ABA63C19FE12606511639C5D9D5522C80692D1CA874E17B9C 753AEEF13718DD36A008B2D39D618F4F766174423AE972CB619634766A5DA025 F9682D9E2A3C752D0F6F18B0D58319FCA606BD6DBC4F83D19DCAC84A6165B460 AC1A0057B12E2023F175E6A51FC12A4852043F6F2F2625ECFF6E866293531437 1C060C9383278C81B8DF68BEED88C49F86B7617C5B938457D19FA336C616D2AB 0A430B489EAE7998EAB74FC8C037550E12EF9AC540FD37473DB1A44B1747A4C7 4687624D806FAC32A53BD65A333DA3732ADA2774D6621BB59BDAECA5637F1F41 CD2AAEA8DB9774C2730DBDE3A2F9499C719A0E9D59FF37C4F4E6E54D5EC402C8 6599488AE21DD119CA2BF54EDB306B26351D0CC4C82040835580087C60327110 9F8A1277DDBBD25823AD30F0E960604BFF9CE454C5C841119F73535F3093FBD6 8E47B1357BA56E3D906EC70D68E85465479539187B56EC67A64DE38FC444950E A82B014254689B676BD02A3068ED7ED5D4C9CA1839ACD730A17965764FA52F3F 4ADEAE2E622F8DC9FBA1B8EE16724F34FD05E3FCD07D21EF4230B8D176710735 B41E93770437C7283F02F869C8D615CA5538A5876F61EC49FB76C7234CCD2D79 F84F091205A97D55AA27810C6E9EC36FE8E2E24853448ED0942A274AD18C2486 CF2E0C0C26D5806FD44F5F256C69D4C4B3640A9BB0643B90196DC86A1CECFD4C D11FD291D64FC4D391ED8967F69996044842DFDCD5EDA57D9250B37673351A29 C77619FDF8FA29860603BA33EC9A5280869E7877693EB218CFF5B622AF9A4D00 7E62E7D5A3ECFC56D27156E16FD6066517E9D9E36D88963F32D73C12B315FB04 5E2AACFCD63F3974EB406F8F4B322D6259BD633FF5247B9966FC628AE63A5DC7 CE2DA64DE50A07093D83C2DBFBDBEDE4BB1F8FD1B04E7500C6C78933DEED19AA 12841F33C7AF603D6D0112F9DD90CA1F6BA86BD0A6DD5747D43117D9E9456880 46CF35FC55F58D8A299167DC62C284B50EA49040AF2525D6E33D5B89088429A9 F6C1D44E5D86C9506769E069FE196C365AC0BEB2276AFF215D8184B10257EFFC E58414AD3A2F7BD095B0156C8A8F898B27BE3A13A79D7EA1EAD393A009B28D48 A3AA8E7BFB64C404CE25710B6B8C7DACE20DE11F7DA32645DB6FA8733F80BF24 469D92DEF46CEF6AB8CF0B2FEFFC010A4B996A24BE910F18BEB8DE41912AA757 B951E2C370D4E8CECAD56E243BAFEF4D5E225AD9DC44F5428FC77D9D06AFD6F3 C9B4D38E74C15417A5C0CA49352FCCB9BE139BCAC18014E7396B1FA06D7BFA3D D6E1778DC25FCE070451CAB3A347026DCD011596394C29C184A7DCB317C7062A AE92EAE5E0FF0A5E0505503A757BE258E6F91A1FCD856FFF0B2F9FC6F46AAD3F ECFF2DE8F26700FB2EFD659461359E7F9C5D5F2C321D123975199F3857B16158 EBAA31FBDD93D0BEE9A412F297E928F99D2132C6E6437F0144CD2CCB6626651E A3446B4601738A056D488DA6C24152D2E693B77FDEA932F3B05AE24E8DF49A36 66B859F83A6ADCE5B3F79A7D3136E1484E561616479EFC78C7E4D2AC3C29FF0B 48C0D8B03314E65F96A7FBDFCE0BB74A3070B753D7EF2F1CB643D9D42E51BD67 EAF4BF9E080A2D6A09672AA5CF105AA1454009877D35246EC95A3C8050C42FA2 8845EE7AB0ABA7D3ADECE9EA71DC705595C9008D17B91F1EA236140523D41C9F 847B056D4390EBBA8185837AFAD8A911DFA6DE4A0306A14C87B7EC69743200E3 028725A0E34FD4355529E0E6996CBF02333EFB60D36D30BD035110E5ED81ED42 4C41AFA3D0BCB0A3F7BB8986F79E2036135C2D4BE0AC2F9CFC860E00CDCB7EDC 92666035C352D6DC150312C5DA41EAC3688C26018E758E663E30255FA4C3D7FC 86DFAD5407176290FBFBA8B000766F653D906EC70F77735EA989BCE2CF4B3424 D680309D0B3CB954A7AD48BA5C0DEB5EAD16989CFD0FF8E87BC14F975233170A 2B1D9FDD732EABD7E36D6D1A6A1CCB739629C4B44F376C8DA8175F52B43E021A 6EEAD8FA292713BF25F2AF5AFF220E27D4A8B697EAFBAA71176F0A1D5AF85F3A A9266B6A22D612DDD9A8C485162D702A63D2B22F9FE6C339F669E4FB94F91FD0 FA28CF75F4A6D6F870724807ACA1B16D562AB1BF1B9CA1E8811F340FCFAE912E 5EB03D696A05A12866DA5904BAF059574ABC70C7F384A10D2B91E45D3A4183E8 D5C4913145FF747124882312701327076B337135A95FC7341097104114215540 699336DFC478A6AE0A7E83383C3A917B86B438120F8B5B32A0F333FB1AF3166B 767F10E76C6DFA773EA61AA293946D8D01486E75E043DDFF45647FD98C0DC0B8 7455988270BE1B2BC59F1E705531739B5D81E25B90F6B7DA74550B92A8D74DF4 5630AF211FA1730D34059039E5EF6B7C8A1547DA2B29146465C097D8215D5F21 ED1FA0EB373439C0D23813FCDF06B2407C7FE818924DEB126228A1E837E54ABD DB8D17B3F3184E8EE5C9D493075367420F787BA5669B9B84DC8931B829812E1C 255755F134E4DD2F0191BA50DC50A0DE76EDDF68ECD57D72762E0ECA1B2BEED1 4545939933DA8404111BA76F7A35BC1E86C1D20594F124B671623398B9AFEF28 F95183D73F124DA4874158463CEE97D7DC495E5722FEFDEC17E4EE487A1B793F 69A4014A7929C2240CC7A99CE5CDDC94F2B75A538F15D1045C35ECA1A02C0B6F 3AEF3F1C35C060DD0DD4029F235F8AF286D1AC13386CD4B6B06C519C50B4D18E 723CE4098D74433DFB4CFCD83E46BFAEDFD4B6E5448DAAE5BC1FAC38011F70AE 944E12B013D17FF410A4474F0BF18084293E9BD11359C4315D59D01011CD41BA 53CE71FF310C2BB1C1C544E331075583F554CAB934B391FD050E9B25F0A1A403 5CA28A8879F1FB715810AE6811F960B1F8BC7D9A5F38569B3323ECA3AA0F885B 96A76B895A18D4ACBF80871915798C1F245C671EC85A3658E6587AD0D3B7872F 0F2159920054436C235ADA21E9965EC420F4EF3A147873088BD732B31D518401 55C2CD3A69D1A67673793C2553024797EF8A8A56B652B4977D679EFBDCC42120 9DFA035B6E7E762D55F66603D7D61D9507E79C63903B547C686174405D8DFA46 85DA1CAF024D3891A04A337163B09BF21A03736BCA1E491C1989299BFD1CF400 A97D69CE0CA0785847E33D7B7F68605AD578FCE15A6E4E86A97796EA20AD394D B20D0DA6B9D9C77497467A35D3FEC0843FCDD06A91EF570DDAA1F81FFE8D6764 46B7A839BE476E3170E6C196D7F4308068DCA65BE2D279C8D47D6D5D842E3D55 ABE27ED856B4A780E2667D4445DBF334D187C94D73CECD9BB4DB157784C112B0 5757F82A72AAAEAC1216B04CDA994AC03E9FDF92E1114C1B0C88B6B168359403 54AF6F2258C1E729B3826EF92C8698B0D9FE495E362179831BB3FD49B6D3678C CC9EB161D0DAACC214D611EA3229D80B0D7DAC6C4A2BE7EEC7D0C07FC86D8CD5 6915A47012037A45072A54CE995DF9D636FC1BC857317D23B4037E96A06CC805 B3CB3A63BBC15BD0747A1D0208F6C7601A1F012EC78431B640654B4E82620B61 0DB232E823009CC24B03A0159DFDED55239E594FA65CF4341F4812E6FAA14F8F 4B3326872E4C8FA1CD72850C0D22687226F10EFB73B93D999D1DB88E8865FD8C 0F1CC50ED9C8452C6A7ED8AB46DE72CB2FC1857F01FA2FE70F1D0C5EAA21116E 173B87F8D4756B9F15A444A01C9652245757C8724A157F1F0AD16CCB05674A9A 8D730859A5F2237D4F44A634FBA4C818B0D3D730BB482C041A928888498AC196 3C0BFD34EB2C19BC49BC1D4D4162094CDCD7D37712EDDABC87D5439E7C6C9B00 2E2FD88DFB7EDC713AA8D9AFB8D92466B6D96A5DD9A77C570F8A885404F649D0 7732FF2EDA934E4B94967BA342345347174DA7F59DF5626A7802BAEDC2C665AA 8EC9C0D67EB7F2B74C5F4538729043A38D6FEE3F2A01F6BE4E637415EE7D2B59 3FC27193F1056A419003257861E6ECFCA333F766D7C7555FF873B7964E23EA92 A6DE56A9D410F22D3CC9B4CC9D491135506B860A79E7D6296C1C95B94A8BBF0C 202D3B7549D721BF187B8B0C7B49BCB57421764B3B66E355DCD3DD56B392BB40 B12B72152286469119F29283A5670D7D5C840432AF6FA43668573BC1915FB913 7A853E222275006B7D3E24B67FAE757E8203BD2F7013B3667CC9D6F0B77695F5 55BDD3B3BAB90FE426E0469C66CC19273241B13EA112FE61901E1E2A94B6F529 07481695F5605E13CA29A820A0D65B32E2005D1C646F24B918EFBC790F8A5381 1AA8F74DAE343D0FBA6007F6FAF4E67976B3F9EEA0F48EDBBC66A27A5E860AC9 F7D46289B02BFEF7931781A65CAF72982369A93F69D5087108380D14795D7454 5CA2F568332B5C339D639C029627481F37894AF54A2E7EEA457B229A20439EBA 0DE6469D1E5702E2FBA3B58121B7BF7DA21B2C770FD5F935A686103297245926 6FAA85D0352CC766173042ADD8A5D4B157770E939A6072E3BCA1C02BA8948BA7 C9140BFD9C8B298D926A22AE8C8428090EC0B713762ECA64FE9A209CD23DA70F 2EE010250E759E117497A7DFD082680062AC45FAFFD6A31BF27F4E06F9825B42 3F4774A71AB38832EE6FAD6DFF9F33DE6F5EA1AF4E1482FFABF95E6DD71A7BED A742882546C3674EB6B03736055B126DB9050B28112E0397B83F92546B82F2ED 0511A400488461113A059839ABD72CE0F4125911DB0FEEE77A97B0C32BCEA047 5A2914682AE47418F7F05D8C393054C6702D397B3FE4DA57D66484477A33324D 6CF2CB3A0229DFDFC6FF2577EB058D68844E742E811DA5CD648BFF33D1ACF332 724F56AA715B4D68EDDDA8447B1C7AA6D5CC3BD93B54AEEBDEFEF819E8BA6925 7250CBC665A1BF798E3F62C82A71AD9EB2A00D245E85F240F7B3B9C070F1585C 2F127F1E258213F9C51CE3A50D30816094DCA37D89D6BDE66F20A942802F71D1 64A144F4EC4D744CA5DE60C46DABEDAFFEBFFD832624EA24821DA779C7836DD4 15A38DD7AAD0F1FFC863F133BABBDF9D4647FA7B29004C506C6E0BD1DDE6833E 9073E3785A654D611B1490AC98D4F4828302B9FCFFA1F192C1D1D144D0198D4F F0C8DECFC1BD028EB565A2CA7A9BA89A1DE6FF83245F73F4179F0DD292B6E9AD 117A1C787DE23A2196F6AA4511F5D67CF2DEF1944933FE10C0346FB0CB89A7B1 1C2EDAD42C93CB5BF825F2E4E25A76E474A9654E9A567FE6A02A9980611BDA32 B4C8CFF8887D7B74ABF890A695898331DCABB271111A767EEF10412037111B74 354E6DB642F8AD72339AE6518C32D40701A4FD03E265AC47954DFAEF359AF01F 39DE41B641B0A7143C4838F2C9A10580068FD047E27909A6EF6691D7D87465AD 04CAA15A118E2C19E68A5BD4682961A7A55FBC494F85706650BA8041B1178069 E7C395B86D2C12086231639F0707BDBC6CF33D10F86FE2714BFD941ED7CE1692 70D37537C5F22FB11D20BDC788AAF3577F80C7BEDE1C57AB6FB6AA0065CBF95A 27D929AED9C811A6755B1F4ED2F0219B94416E40630E1699349AA34CA1573E1C 645B08CA9850B2B2B4F28624FF3B6760187F8A77C1E155D1B723DC50A86AD0C0 5BE400CBDC71DFD361DC3AA2A2EADCF3A40868E69BCE776F36EBE314317BC92A 15B3A8AC74E9F140F59655B2CA231319AA14AA1169F2C6A2C86AC2ED40C02282 070B4ADD4F42297E16D00A48EDDB5C10201248AC7039D2441EA88047DA998F83 E1AF9C216440F8BB28AB087F8F9F21AD834344B6DF6308B799A7702E4585FFE5 A86AC17C8D8ADB35ECF4BCC486CA09B508BE9651D77D541CB8FC8B34D468F06C 961E66D6836F7B0BBD80C76C373D3D654925C09C5EF0F36B03EA34251BE1FC1E 32D5D9771800D1FEB03C1D57B43FE86B76FD184117D4D0E95862A3ACBF27AFA4 B37DD14B481440FFDBC917CF70C66990E437611DDAF19D72E834B86EE2C28A54 37292D19CAB1BB77B880FAE87AF873B1B75D0A0928B925F53BD64DE8239645D2 7790375F49279D32716A470836F48D71530440B0165E398F90ABDCD35E02101C 693F1D3BFF1E385DA43F83DC50908580F07FD18544CB169CE4AF8F5AD9DA9B15 3C97D1EDFCBD406F5E008D1A905D5BBBEB02B9E0FC91ED11ABA4AFC6E9FFAFF1 3DF9E270BCCBB34A7C8B3D8B566335E4676139B35B4A2840BC5A2071E7A5A983 8F653D17A9EEB18E36023ADD9A5301FC037BB373A3E96D030794734271CED03F E2341950A08AAF447359792796DF48C8DB25F9679E3102D48ED14CD59F3EC6DD A35E5630C01E76731437EF42AEB29F54B371BDD4F88CEE0C2493D439541A7515 5F14C35C5DD3EFEDAA76B743A9EDC3E5479CBEA47C6A0AB994B7FDCDED48BB79 C7E6FF67146D32CD5A5D3B0BC4151A9A7FB38696A457C0264A45805387D2D9F0 91FFA8DA5046C427D223A52017FA5E174590F0571A5FC6015CFD5AE21F4E6716 9B74EB341238913F14C7C9B47A92DE8E362F8089D627F83ABA00FA76FD0F4CE7 FCABB15761AE824908EBFCA3E6BA4FC3E67B07F5A7A8AFEEB2407613590F8C0C 16D55C4389BCA7C2AA0DACEA8F89E374109DCA40BE24F870D729F0D6CC0D1FA5 6484B2D22601BB1B237D1267F7842914BE9253B7D26CC352D60CD55076672480 CA44CD25D35956CA6751B1EC6917B5C6EC4F1787CBAE1AA72D2C0EA4AA4964FF 12439606AAD684A70F906669E4EBDA0E251E340266A32FE429FCCB1BEB87DE60 232EE50AEACF5A5E0E4FC557B8FBE4675818642A5963A9CCC5DFB8C654FCCE7A 5715ED1AA41E108FD9E0DA1FDDCA80BD26B591E4D3931B1A4418C75A2BBAADC0 E6EF8CF8C2D39D7F769EAE3156B5DA8F385A7517A50DC7ECCDCD858B2FE41961 4836F18A1A36D34F656DAE731057D7425E607F7E34E29A02D28C704E84ED3C8A 4568EBBAD7688C966C97FA3A9AD8BB54E3DE17EF0F73673A4631E0BCAEBA60FC CC0C82D9F18E357A4AFA638314912C77ABF5E533F748B81D2CBBDC367291CA97 9D4A944E354F9E0E2556827D7A5CE50732D1AF8B245B7558A470F6FCC50CB3B9 A0AAA4FB47972835380660B45AF3EA422DD1CBDC2010114FAB3CAD723F3794B9 8A16E92F8FF7A3D5745C93A68EBB3AE2E5EB882C812316FC24D6EF77C88ECCA0 976E4727A3269CCC1545BF8299FDED925736DB9DF5533C7FB3A27EDBF2608A39 20F188C5F584C80DA7EB848069AA6C24A39917A62F375979C58302BFA48E1068 B5ADF8F1C9C25CF57ACCFFC3795E755909A3B470899C3571A56CE2F2C97E421E FDBF9E89527DC5FECCAE85496390FC6C7B0A3441FDAB6A9D974BE1B4E194CD7F A1130E59115C927D32E0B15354FF4D1C9B50C3EF8333E91D575B91215452F9D4 5E2744D148F60A642EC1FDF7F12FCE930545B3E24985FBE68EF538FEF854B1EA FEA327E1E118E297C753520C47E788DB4B07759396D2579F7FFD10FC918D6F7A 17B0478FEBCB0DDD4F40B4D7B00BA2CE46CFD2B9B2E580D9123FDB2DF56ED9CD 14705842ECE8F0074D9CB0089CB1E934E33F1C1755A9B6FB4B3099B1C043F86A 7E2DAF0484726CAB75F71C9307D384F71979C5AE14128B523F5CE97E1C5D0D49 1AA24FC3C99FB986ED124F182477707BEE4DA2BD1F6FA996B9401C02EC8D4595 F68FBDB3A5FF9AA121434524EC15CC35509D3BC8900CA2332A69C5F9691CE309 19F6ECFFD7E664D2C5B43A632CA1C49D0E2C6631F78AC263AA0811E92CB6337B 999E4CBC43E9D0690C2E852D83F5435CE89143BDD6F24234D10C4554B2B881B5 4AAF8C79EF695A1D967FF96696A3ED4C7F83D3851B0F90F4041E1E3D09BF1CB7 FE3A114F6C365A6B30811DDBFB87B519FA53E62225F1CEA8ECA5AD399EDFA40D 5495721BD8D6336FFE5FE795581BA577782967B4F438E823DC4FE90FA32065A3 E4A9E97F3F0D7C99460F5F523F5B88C243AAF47B003D6F1D2E0400D1ACAE38D9 23C939DB17B9DC437BCD2C20633A0DF4961E237AECA60BB45261EBDEF2921EED 3A5193387857795155FFAE779AF6D8B1C734396B352DB38544FF0697698C4963 87B184B4F4967DD3911DBA10B12DB148B5C311A89BDC0239A0A473A2D4222613 72F2DC48BAE1B2EEF012CD35FC1623723F76F002A45B7359D1E587845002CFDA 70DCD6302440DC20F2313770354D818D80F79BFF226C487F738661A1DD0C4C2D BE556A34C73BDBE989A7EAE44557BC5C95BD19FA31D0F0342E88C4A4FDA7860A 0BEC1D6DB196963403C9718ED078F627D9C334FA8A5B1B516E257FE4398599C7 5298203BF875DBDC649C834511D7089A5E77215FAA211CBE13B2AEB22E3DA2A1 B6603F3287A10E2CA19959A47D44492426A5EF550974EA46DD7FF0B8A1A34DD0 C9AB3BC7F3117B999E29E6E77C532A3A4EDE972AE69621F4E045686D12143FD8 C78677B02C844D68DE8BF8A08ABEE31EF718278DC9673BDCB8C074C76A8536E5 88FB8A2924293E47BD8CE914AF43C03983D96BD2CD4B2AE40EEBD1B00F6A8A8D 177A49B25BB02E41D26144CC18DDC1B5AA33913B1849172B1377BEE6FAFF4548 9C5D55BC4D6C861805859A22858681228938A8DC49538F243591D17C2AC60092 F41F447E161AFEE591D2A49B4AE52D2F292CEEF183E110E8E238053EEC103B3E 6B978F8A026180DF9633DDD26986848FF274D7A14940D1CB0D4C8434A9427040 E5321BAEA2E98E772FEDEF2311A10CEA1874A69C2209E3D45DE2A54FD0E408B1 D2CD2B2081C6B88F15BDBEA3BFBFDB6A1D81577DEF762DB512279746CBEC1F5D 20F4EEC5F3D4AF270BC1219BC5EE957788B2A8BF4D6E28D3FD3A51D82BDE1625 753873D2BFE4427ED9A7C295628E336691D4AA3D4B4BDE785E509C4E4019AF20 021AB37653A8808CFB5329054FEA0A7BCE7D08B29C99A60E62C6E6A43DC2DC83 0F568E1A7E2B402B56D3F134C0296C4BE5D39EDA9DF89046923DB9AF49C61823 97F448A2F812012A1D50AFD32BB4DB6ABE27E646D05BEBE18A54FC453112A390 B1DE42078D8BB9A9E3E42EE6B079D8764F1A59549EB53860676599877D71FFA5 B92B04A02BAA966433C98ED6AA060B3248E735459A9F40040E913B3DBCE1799E 84F7B3309816B0AC426B78B1E8CD094168DD77266A399DEF26FF6E1AB9BDDA9A 9987FEF0FFFDAFB1F47D186F762CE46A71AAB8C3FEDD6BE0BF2B7EF40CA8FBB2 EC9119B53BD9459155200CD4D3A2AABD90BCD71DD241A2DB9536B4AF0A49A42A AFDB148D461908096FEED13978FD7B29EC2362A9D03BB90E6C81077D7ABB3566 F8A1CE862D561A000470A54AE15E9DD3EF7CC50B2239D5D22E37B31EB4D5B2F2 8146267FC262A9229417710B141CC2003D054A9F5F67B19544A675F4D3E3F510 5AEDD96FDBE26972D527AB94908078B7882705C19A890C71F137118124917DE9 604DA43768C9FDC5DEBFCF823256454684170DBCFEAF50D5A0804EB3AF2F02DD 9CFCAEE795F7C59FF5AE4F5BB6045C8B33B75AD48CE9398241DFBC8642CE095C 9D0791F1286D6A35C96D00B8D7608514BF0354B746B090CDE202F8EFA5EB9369 BC7CEC26EBDB85A55A8CC1C9161EED405AC3D84E8D492F61EBE02B398F2F733C 2F5A6CECC3CFFF6DCA98341D28B541EF71B0CAB8CA7C00982637EF5D10DE6812 3BFB740F2EF5C52184E52CCCFACA35609999269119CA435A2FF35AD6A1F68BA5 AC4F83EB0954B4098229E1DEA12904319ADBD36F8912F000A02AD64994CC8149 D0DEC1CE6E0839EE9367398330C21398ACCF55DF6CFC0990FD398BC848E1AEB6 3C5EBF9AF249EF13B456F841A72ABF81BB8434375F97F3F5D3AA0D2D380220EC FFC75C32AB3B8B5EC8E5DBE87485D2E232AFBED834D2CFF69C4AE6D02B676013 2FBA650A051DDA9646469C380FB8E079B15DEA8FB968A8DDBF62B027AAF350AC 7F8FEC2D9096CA63986D39358CA96E26A3AC0C62A0B3D4BFBC97780AC99664BE 8106FFBFCC1FC208955FC0F05832B15A9A70E6AA4C8D4C8DA2106C5D3A7E9AF8 6B4E1BB0E500270E853B6F01CD355F0722C6FC71F8E9E4958EC401074CC366CA 66A3BE370C7B10E72A95BF198490984A315AF06BD9455239F561A13F7A7908C4 AC0C68EFF6FB2C54F0BB30B69AC67B58EB115EB952D11AB32518E4052C5A3F02 7484C042A0B6E0BFB67839F39A581B15E0265D5F123225184483CE127E150A23 FF3EAC818E77F92F9C1C8895433F4270E59E0540EABCB88A80B2711EF37355C8 DA008DC27953C8DBB5F060EF1A6D08846022DC6D88932C208E9E13472F0CC1C1 6FB74B34C2C082C548EBC63FADDE8DB28203E21F78082A0A12B56E05A5FA2DD1 967EA8DE6048844BA2324C64A529F7CE05CD39A22F77C525F42BB42425DE9A31 5171B7EC7AB9EBF84AB5612621C52776BB56B22EB96C11D49000F3BF9D745EBD 39FEEFB80C9AB19753B6873AFAE90FF1B98F0AABAD8669D28ED23363AEFC1292 61708A6D6EB62BEB58D1590402BEC489D7C909B06C61181D08467A467F448274 D37D4DBC102511BC4768B144ADB460F2CA12D920BEE694BD3FEAAA07A8DDA351 57E1516BFFE5788EB34F1EE3D30D38FAF54B0A4C4BEDF5B8AFCB8BFBB9726E87 B12D1C58BC219B8E26E873678880DB5521CF6BB6EF3E17D5E66FF1F477E7FD2E 1ABAA392839977D57378FB5D3470C56AB131E110FFA6F933E0300BF636DEB897 BF3AD85ECF54A30A25B3DB511E55C3F13756AB68A006828F55219C7D8847A906 D872661DCB22753D25897300A7314F65BB071DA2BF6F5985F6421902E120FC97 2966338DD189AC196B5CEA8B9F883D221E9339958873F49C876347721815D8AF 8CDE512F5490B50B00C191F90398988DD872C5787187375B5C164086459B0B17 605AC2D3C3B516B715854DDD3FDABA804E61927286526194BD6354C791E6097C 8599EE0E0B8A1F02242D9C70C5AC99241C90E72746ADE3FB78ACA909A963BDB8 DC46F0B750B8BB4AEDD03CCC04BDA7455A05CF97C3F479009D2441A4DA33F6B2 E328472FAF2B2EA5F99858DCAC788C280A9634D8FB82256E006D9D17D8DEF1AE 42E615AFE428E9F95ABC1E1A1E0F6C0E1D7B73117CC3BF5978AB392353487A43 54C334392D9EDD93EA5CCCADA0CCFC371C1323FCFF836719982F171D0B025940 5D111BAA38FE637C9C4B1578BF59C59C71AAF22DAA33C568AE63B12F4C8FA6B0 EAC871B50F0C5D65F6E76D0B3E2D9FFD9F1E4712F0E776AFB17BE21666D8B05E C8829EBDF2F3BA4F0DFF6C543D9B658FFA5E0899D989BD4453AE3267E6A7DE8B DF449C5A9609AD5FA632FC2E076562C5A5C24A020DF01962B92FB4F2B2566541 9D49EAB968016A5C07842CA881D5E6D6B40B35F6D6274B64D3B231B9BD41EDA7 E2CBD5BE873C3D31FA1178DF909C17FC9987116BA5A96E567A9C7B88D85118D1 F7BB490DFB65E6D2A784856F73CC3508637039AAD940DA8373C6A0E08A844C8A 21E46DEB44782A926C689382D493765E29C9948D008B906635AC71AF3D31512F 24D31365164DF213D50565EB98C2A04406483378A8D1A0BF65B645F639D51332 C308325FF0EF1EE9D653AA5163CCD3F05CB97889B2BB40B8742C4CB138A08046 888928C32DD586B9C3F1EE9357FBAD9391EF59584C2167D3167CB1241DA62A02 14D568F398DC6998B7E100CEB87CA18EE6AF77AD2F398FEE4DCEE12502A6DB7A B98B0B5A82F0E46635D70400A82C63BD4794FA6B233165D42EB8DBED35B156E7 E3CA0DAFF08FF8F937A70384F0678E5FA3B858317C60CDED69257D14F7546055 ACEE1D1B3AA58C251738227EC0AD6DC4555A2760C3361BA3016A869AE72E4A5F 821789CF24397365DDAB0D7967C96280F32E5AE3A7290BF96A869808CD397797 F9461FC396288A288730D11CDB484E6C9BB990915E14B0429D7B3ADCCB0FCD5B 7C0F0BC6E5FC5B6D414D31B5921941ACC193C45BCAB49F08B5F7699E581F3282 7AE6B9848923DF200875E1AFDAC27765A18BE18D135FE78C26AD8FD05761DF86 414514A2443C8EA4CC3719C25DEDEC5B6A3D61831AE8F3CABAA152ABB85BDAEB DE3E0C843DDDE23A6A8B5D863BC9ED32D56D2EAB5D108B87699508CB8E1C157B 1488CE0F4C789CD4E8566BA254068916A4E77609795CEB4EDCD4CA40BAEDD408 131EBC428C349EE4C0D61DC1F7B22D57D87ABFF0A10925847C9393B3B2718002 F48BFB2AB50342D39CC0A4D95A18498305C79631C30B63B876D98FF36737A102 5B4A0FC3E873BE6BA6ECD980DC8C8E2A19FBDD57D1E9BEE048CC680B3ED7C255 8E890AB5228B37BBE7D5C9FC13E45E73AC90F340C7D1299378898BE648AFE443 70D81F030FD5CD937D93BE9DAF32B0D237D5863EEFA6469C3C50B4D9E8852852 B9C54DCE6CDDD14036F0E369B1C149FD37B4E29D98281F21F6AFA3A27CAE67ED 1F7CA5D86187CA2F7457152CB0E1352427808983BE9FFF08952729FCE82B702D 876F5DF6FD81F456DDFD66D741B33BADAA99C09631B117C78309808C99EBC527 5EC150DCFCE9D7F4ACF78EFA6A413BD6F627A27E63A9008A624CC08C21AB140E B7191F7B157F35D4C4C3610883BDC8EDF9BACD4BC5807E1F88650957F4AE589E 8DA68C782DEAC02F64640CFBAF21870B192BD7931B8D5F32ECF38ED327A8B8C3 DF5798DA69B74D7D4BFA525B504650E564D2A1AC399DF4303839B08ACBC669E6 78462788A6629BFBA8A7F606BB421221156412BD3656663952E1512374A19AE6 08AFC47E33B7194FD9D3661FF319D41468DFD869C813012618B1937C06A2937D E73F24046CFBA1E5A43AA9FEC9880839ECA1BDFD4717194D83D96D5EA4A51D7D 8498101C1FA16920D91A7C17FAF39E8BBFFD78176431C31E0E4246872333FA53 8ED80A4C690A9A4CFFD3AC56599025A575EFAED7A58F39ABD604DAA477D6D117 01767D86E150FF2A86384E0E6408145D68FD83D8039451AD05C5CEA8C8122DC8 AA8471D2842B8EB044761E8BD770068BF138CBAFE68D3377A29318F1C3948132 3F2056E28A2D8650D1C0B4726582E1FF1B9C0BB25365E86E2DCD4481E3818479 90C741DB07797A17E904733DF35A47F6306AF1044795C7D3ABBE37302454350C 951C90177C433BCB23F076461FF9133959658C784EF5BA27AB820FDA452E8C3C ADA4A700CCA2B1BD84293DB6DA2416C1E2AB9D28208E15F70B078AA8707DF680 6B2121F029B1012D92571A040277E0FBF834F711425C66ADC323CFC1ED1CF981 91FE06500A1FE3A0DDC4559451B36457B19A9664AC067B42C36EFDB6C3C83479 AC2FF2505D9A04F4507263D226A2B559D9F48A9EBA79D3F3144A9132A318333B C5B3BA374B59D751619F2FDAE4A5C2552E1B1D4D53207D9945828559C7760B0F 8333D8BA4FD78847D2DF4B59BBB563B40DF0FF246275BCD449CB1C0A9DFE2B70 90B34D705A8406DCC806A979DB07D814D90FDF06BC5D761E28698C1749865B01 6A7BF664253779FF307C812EB63B69466564266FB3031D2244D79B1F3D6E8575 3A3E0E5D76F209B78D247A3B4C1B32248E42F6F80024729C45A92ADB815E0073 780450130D34B6E1507FC6516FEF931CD900780E8F26A06B9EE9163222C94F71 DF2DA697D737DA811453B711B543411B868148015966B2CBA7C7198BFDAF8498 FD50562FB40C8EB5B1C55BD6433523CB7BA99B6230245DB0042880D7FA1DC997 FE059A173389FABE6A5E05921F0994B94BFF23ED85B1D03EE30C274DCD988709 22786606839141E585F6AA2B6A08B0C31D1EF1FD4789F676C25514FCD2D5FFE2 FC2EF087CFEE54A17FD7CE1E579ABFDE09BBFFA0703571D66A16DD8494F221C1 B3BE6CEAB4CC62AADD4118DC7F89C2251768F3AE953FF21390D07A02999BD94E BEDF805052BB8D702B230EA33EB73DDE5BB0256E16DD3F50E13DDC967DEFDDEC 2CA3468CB97E4CD2A65547E802D2D8C043CD7F7CD51D4A4F545F3FAED93D939B D30F1372248C75070C2A5CC13C3655C7A1C6F85AAFFC635C7C645182016960E3 EA674998E07B083D991DB91187BC3E7515547EBA0049EC0A994A955D1729AC18 BEE3C72510B0092F40CB3FA9A1A038D543E1B02AB396FF87782DD5C10D1CE911 86330C3BC31D9AAC620CB878F3383C6D6F2B3ED4A353CA7BF336C575D7289FB5 227FC6CD8F4BBCB6A69576D93489F16E79E5336BF36468DFA3AD522BA0283014 0C91678FD184E8EB3F5459FAC2BAFFCC13C003854DF90B2BBDBA3B6D39ABD360 946D95C49868BB76FF3CB484DF24EAC5802C1AFE11C75F40D9F4012D1FEA5B43 35E58DC6D4BF181ACA18F75369DBD0F770C116A2B926E62BB8CEB9EDC28E03C9 33DB564DCEBA1EBE339DB1330E915016FD280AB5BD49C4B9F2ED8BAAD0BBFBA5 5A668DF09EBAA86E7B3F4F57CC186596CA02B870D3B1419536E1CB77322F42F1 CA46EE278DC708C497E9307D84330657D4836108FEB663CD122E909FC6975F6A F6EDF94965CADAD7DD543F352D44B3A924839EC8FA0BE3681487A6B194873C98 D270E75ED622C6499BD14B39A9E6F0B917E1A66F6CD5FA15AC4F0D3398A2A8EC 6EAEC447C88553D29B0A6EC01B42AF26A05ECAD7815F0D4D5334AA6AD0A2DFB8 9732669E24B29DA4CEFAF8FAD167CDF4BBF16CF95F228BD894AA1BFA05882D45 A05AB8622B4B1B890D3CC5CD9F4CDE639686FD86BAD885AD14E523B6DCD10EEC 566AD031122DAAD3F520DA824CC00B935B3859F02ADE7EE21E15CC49A34CA1F3 D3EE2B57FBE869EEE8D905BAFC1BE1B6C677AEF3B86D4C36431D6D51B40469EC F9A8CF4C9B2E293B332BB911DE6E34873541461D9005F19A1964081C53D4D980 8A57AEBA5A47EEB382EA9725F8EA173D2CEBB10FE74CA743D32CB1B402D73107 373017C3FB847142B6DD7D554522DE1B139B1FFE54AA8957305871D3E11D3649 E5942D9D6F238501F92658D44DAEFB7FAFA23CB09B3272A241B86EC45638EF51 FBDFB3FA66DFAFCFAB0807E91D943DC077856473926E2DFEAFDD7B31A887170A 7CCB377F3FBBCC7BC59C6B47E9352E0D3BF3353BC852896BC296CB72F84F3CE1 4C2FE9FE47E48678382B07790762CC99579E524A60A2F3464D001066E1B41804 11821EAC7AF4BAB72DCCA80CC568A9F0B70E0BFA456C415629D05BAF5AD4E5E1 BAC5138274E0D29EB1E2949035F7B6453BC57AD03E4F2D2D1DEDF1E3C77BD071 63B928030A9E64C7ED179F380FC015EC623C07F66664534210E9190842897CE0 0CD8C87AB73FB833797CF9A9FB3A659B3F856C8F758B29F607B7923E72F0B51D 7A835461668447F3811C71CDA5A7562812999FAE45B119D8A8CE10693DBC19E0 A631DC14AB45AF1B6C7E127E5A124207E1978F02969AC180E2137D44543C7B86 000B8CCB2387F6E656E79BBADBE4DFAAE39A9AF6A450E2E1AA302050FDE51610 8C6C2E992CF410BE898033E203E2DA99BDFCBEC136EBEAE7AEAD9E02D0A7C6D8 2FCFF7B575CCC5E8D7118FAB2F654B4EE315CCF61238FB2FD437107877CBBB6E 66747D09C06E0EEF537F183CD7B006586A8B5EA84D80504792760E7D90601E1B A595459C3F6D8F0A3E2409162E10CC5FCEA11ACFF89EEFB9F48788409B505A27 8A96418FA67322277F8F5CF25043DCD6EF408E50FBFD03514217299E8F89CE37 238B29BBDBDCE153BA493BCCBB6B46935575CD6E68F34658675750673C4E3C9B 11338D83CC710649C1DED5D459F099EB9F03E8201FDC4A495D1009BEBDF6AC56 E09338EF4639A8DA1DE6371F237E8789EC406946E52B06F9C5721A8732B66D60 846653A8CFC9C5A2D25FDA0163CB00728E9731750F98BC25079535460CA328BC 4958DCDDC5288D05F9FBD3E5BB209C243AAE3E67461C601B419B41E8A02E7C84 5F420461EA8A74D3BFE140F4B8E88FD3DD62421C87572BEB6EA8CE089B3B3046 AB82F7E60FCEDB8D001BE9479BABEAA8C9B608094CC801762320D882720AF18E FA5348B9E34C1F9E9439161591F72CD02DBF1657EA3C4BEC302A010484CF24F4 4A1F07252D372DC5F3C2802E590599C43FE05D1FF697C66902DA11294DEEF17B 290A0149959D90257B70784CC39E1AC96EA3C376FAD175D6D97501EB55C81A77 D2937CE8743B701A857647794E689941490BB2D3A476709CC34311816708C2B3 A139FC6C9EB129AC0ADF6F9E67BFD20AEC6FFF98C31F7997850861C279FCD313 9B0D0A970A1758DE1DF8C627E2544381DE6F2DB51E4F84DF11ED0142761C2C3F 0B25F3C3105349CA83E7E409A1112836CB1FDB017B2A408493F41B9D2B6236BA CE04523169600DFDB3FECD01A4314E59780E68F4C8267F990389C1422DFE78B9 63744155B6932B48C64C086CDBE16BD53335296A3A6C6A7B7E67E7905755C931 54A543F4E23670463F43B89D66F9D4B4148811F9DA3ADBAC5AD26555723D1F61 6C7283B385E4A6B595828FDCF7101B2233F237562A1CA971DCB81A9C39D1DA26 16840A1B82280E2101D6199DD67200DF9BCD9F7016EE0ED5227AEB93695BE1BB 57350A45F477B4E24DEF3F3BE4A6A73FD3C6D7FED9CDE5C8B41DA88321D28347 05A546005152565BEB2DEBF8FDE40408BAD1E270A008D02760F9F71065276A6E A11C6E91C1A7688D2BCB40E30494FF67BC8461B9B3CF0FA358490D8B676638D9 1F1A00B0B7F202C8BF65C49C5C267F5BCA5AA456756560F71DF894F95AE7D0E8 6E21055FE55C60C88EC9D4DACE48A2EEF77F06B899CCA04C0543BE63BF878F98 19BB86F75EA2D2833503BBDCDF25AFD0BCD1F8A6796B0524C3E3DDC000B3D597 E1B571A34D1A1D2C7EE7EA4603E7D04922C3CD03028161980E830E166DF3D5B3 FC3BDF5B7518386B21EC39F17F423C61928BDC109C7E410AD89A83F4226EB27D 7683E30A0DF86BCB3685CA6792FB8D3B866773F14F1ED5B96FA664A86933F8DE E6E9E0D24B9474C8F8D014A64E76C73010C162CFD873EC990AFB9C4F2FE6C62D 2075992817FEAA7E9F12110E4ACB7A01CABA05B77288538C23CB5187B98A4BA4 D8FD23DDBA8F712B3611A029D12C3207B3DC643BC3E4209665F590BD3CE39D11 B26EF9FF29ECE8FAB103F08C7B888381D56260330D8A38060196307EC8A3978A CC8BBF138DA40F73C887EC759DE925C4F4889F0C56A935A14D84329948F3EFCF FC62DE8C35D596EAAD45C5B73A94FB759B11797138A1D3C5AE22A4D861A6F56F 7816F3CCFEF39886B8DF87800E7825FCEA46FFA4E3E7F748FC273B19D2C922AC D68D0F0FE0949DD8300C37D0A36D3B74340DD251A2F3F824F7C1C18F6AEDC0F5 772328013DDB11B3D57457FD2E5070B356FEF712652FB24C042767CABD52F7C3 FF4537A620B08939EBBDDBC76518DCFCA63452EE9BA7A62A5D958F8C53AF17E0 C879D4ED94EE150F393B092BE430DFC03001D3E107D044135CF01E012FBBF421 BB6122D5B3E544B8383961A88337DC0C3E4BAA1A92DB2AEEBCE79485098B77D3 BF7E79B69C16574FD091208D47DDD2F9ACABAD68EF79547A15620A3C8B92F953 CAC8E0BE1D76D80058CAC95CF9B72C502152229D48223212E127CBE54DA70301 2374F79034C02FCE3A6CB5ADD31EA8B1FBD3563913C1A6A49DDC09547AE205FF F579F15CAEAE2451E673C8680308F4446A74D8A1011740FD3008AA177561678D A844E6B2CB897E02AE1826BA206693FBA269A4F13E841732FED080F51D4CFDB5 17D8B22DC601CC6F93A163A5AD66A6E2C82F89C830445B53B7B5969C5B2A998D 1BAAFEE22EC24DBE35F58D15E16FE252A8FAC44D0B050000B8E70BC24F5D4AF2 D5122A8B495D85A44CFAEEB5AEAA3E37A09C4B143E32A84064FA361538372ED0 02C5F07BE6F25B1D2728156ECDF7DF6F0FC585D27713CBFA96B6A1E7ED3B70D8 B2D86CA7158C89C064D9D2194C2A27ADB52A986B59B95B96296AA026F4F704F1 862F03D048CD449B2E7CB70A60DF7FA7248EC586BC6D4C36C26FED5CADF33B8A 2C4E715039966A829E1A47B73812ED7B818E365006671E1FEAFF5971E96132A0 7C401DD2FD1485B55DCE9613C05BD7AC23F381B4D6C48720F5FBC37BF33BFCF4 8E733476FD9B4ED69773CF8AB11EC616FAB08C31D5E5D5188BED32C2DC393085 309DD3E739CF0B83DE41AA87B25D37E71071A75B52070DFFE707E5FDEC512359 A339EF82A8D05EA8C93B56618004B5D669144A0B9EA1D9E9731232A2B4ED6FBD 4628F9441AA31ED1E6C71D268DEB8D0580E4D4DB1F083BA56AFE1CA7113171D3 CB51321DA4C01EBADB831669B3DC8E62FB21B55A3CE8DF33A51A53EAEE600120 8B3B257ACB7CF2BB55C332C5571B742D7C48196DD55146FEECEF97435EF86E33 71F5CADE3164F3734383EBD7F2A1E33FBE5669EE855B6C47478BE0EE8D8D4692 778ACD27537D840082AB60E4CBFEEF030F84800C1E9C8349844A314EB26F516E 9CE535104C8B21B00F7EEEDB63D885284BCC7402176383F2E9B2107616B91BFE E2F26A40CB07E0D6C834211219CB96C85AF93DA9EB2DD9ECBF20BB3476BEFA93 2A421CABAE1A5188A13E8EFC9A36D2EFD9D171B79537FC97D4109FA4709E0949 62620EE5413A6C42DF5875436992A198FBF04313F2054350EF2E57986C0D804F A2C305D988859D98925F192EF507A51CC4DEB5B86408A135C5E21630F23F5F80 FB098EE8553CA97F31BDA5276A0A2C426D313DAFA5ACF36B13BB2E5B70832A89 49994D75A76268E28F37F5472DF8078CE8BC713C5742266AC2104BEE57ED7662 847C8DE0E19FAF292BE2BCC403887EC75110E0C9FC627EECAB81665E2B231EDF F94138B3BBD9CE06C81B31DFE4F81293CE709C7FF7A6AE31482ED5C7FD58E207 D85733823D583125B7362AAC8806F2EB6C40C794820AECB3594D015FD213BD9C 839315CE076C214B898F23326167EF021B48C9B1CE60955F5740430A25610847 57E82DD0F772A635C3831ADF2DDD3C7BCA4D6DD29CC52B77E1F075D3730E4045 D1365F0CBB4E4D594F393BEDA905EF3F77C29EE278A325B81C1CAA3D37826822 92 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginFont: CMR9 %!PS-AdobeFont-1.1: CMR9 1.0 %%CreationDate: 1991 Aug 20 16:39:59 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.0) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMR9) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch false def end readonly def /FontName /CMR9 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 12 /fi put dup 44 /comma put dup 46 /period put dup 73 /I put dup 80 /P put dup 84 /T put dup 87 /W put dup 88 /X put dup 97 /a put dup 98 /b put dup 99 /c put dup 100 /d put dup 101 /e put dup 102 /f put dup 103 /g put dup 104 /h put dup 105 /i put dup 107 /k put dup 108 /l put dup 109 /m put dup 110 /n put dup 111 /o put dup 112 /p put dup 114 /r put dup 115 /s put dup 116 /t put dup 117 /u put dup 119 /w put dup 121 /y put dup 122 /z put readonly def /FontBBox{-39 -250 1036 750}readonly def currentdict end currentfile eexec D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 2BDBF16FBC7512FAA308A093FE5CF7158F1163BC1F3352E22A1452E73FECA8A4 87100FB1FFC4C8AF409B2067537220E605DA0852CA49839E1386AF9D7A1A455F D1F017CE45884D76EF2CB9BC5821FD25365DDEA6E45F332B5F68A44AD8A530F0 92A36FADB679CF58BAFDD3E51DFDD314B91A605515D729EE20C42505FD4E0835 3C9D365B14C003BC6DD352F0228A8C161F172D2551CD1C67CD0B1B21DED53203 046FAFF9B1129167921DD82C5964F9DDDFE0D2686875BD075FC81831A941F20E C5CD90040A092E559F6D1D3B0E9BB71733595AE0EA6093F986377A96060BF12A A1B525CD9FA741FE051DD54A32BECD55A868DD63119A4370F8322CCBEC889BC2 A723CB4015FC4AA90AE873EA14DE13382CA9CF0D8DFB65F0ABEDFD9A64BB3F4D 731E2E1C9A1789228FF44116230A70C339C9819676022AB31B5C9C589AE9094B 09882051AD4637C1710D93E8DD117B4E7B478493B91EA6306FDB3FA6D738AAB1 49FBB21A00AC2A999C21445DE3177F21D8B6AAB33869C882613EA6B5EC56476B 5634181ECBF03BFEDB57F079EACE3B334F6F384BDF9D70AEBD592C8ECF21378B 54A8B5DBF7CB9282E16AA517E14843909339B5E7C55B038BF3BB493F3B884A1C C25F9E8FB912CBE23199AD9D2C3E573727701BA301526C66C3617B9514D6F11F 11930B1D97C17816C85B1BFD9B973A191B33CC3B391815AD14F1CBE935942AEC D4004E6BEF379066FD72209DC88D2E634E79BCC2B98C766CBD92C561F2703F8A 109E6C6CEC7B866F2FC7ADF646BF492E520319F3B949AB5D84AE990B33344A40 3971F58DFDF8D8D67FA0B8F2A0D884F8C09A5A721319B911DBA0A35903877343 C37BC36C5EB32353272D1E6ED5FCA611BE319A7E1E842CB7576E7DF8A19E7E33 8CC8A86055483294C25631274113E9D63BFDD3A299D4A6231FC326C046D5C240 845BF47A59497ABB3A677146FB97DBA1DDCA7358E89D16661028BFD7900DD7C1 E6E33B91875CB45F54AE6F060A70C3D4E6E71822B68805AB2E01AE1DA88BC645 36B86F45E0420ED63CF8132F6D17418DE8AED4ACED473D28CEF520915A0CD574 7DC0F43E0FFA0525420FA2EA85E2747E60662D4C828B51C3CF2BF23AB35403C0 D6F9A5764CD71AB40EB8847F450EF43624611E70A0598F838323FFAACB6DAA85 C8A5157C2690BF02435D9B0BDC3937DCDD93D7B3EC8706BB2F0AEC3941C69BED A22379CE5CD9915FBF40259DABCF7CA59975A359B42CC55EA9F8D8FF3D1B2DFE E18FC78CB4F67C9CB5D9A0E16F2389B8830792C2CE1D87C1A1A8682D99E2F108 1B09318B0C5CD7FFE60D6C08D52FA44446CE08FB7EFCF16CDF8278BB7F3BB19C 1FA358ECAB554E466149D51D82F9402414E330328E9E4E25B13F4A0F31304369 5D11A9665BA73969A8A70F3581718F805D2CF6608D45E97BFCDB1F219538F890 4F305A308EA55BD8B2598276C0D81D6170B7388C8A75A02FD4C181DE7B39993C 27166B3462D57228ABD6C15AB016EFD98D44A7F258C3AA988F085F823E148A05 5C7449B3A9D1B82677A395D2EC5D0F9B033758CBDB69A721D01B97CD112E1627 DFB8F0CB7C1646FF7882CB512AA6689BE8958DCF0792F3A58BCCEAAFE88090C8 FB1927742C0A97E25EC450783B495CEB9DCA8D8970422A033F66E93CBCE4C9E2 C799E31EB89E8A832B8EE54B79A5842A0BE5ED2FA52AAC56A73D9C013B535415 BDFD2CF30C03B6A54BC16F85F9D9969BD5B022C98CBF0E384DEC90510FE3D413 3FCC9E4D1128061A9EB5F0CFA0FC2B28959E335D9F45042BC81DCCCEAF45C1AF 96A6444982364240BEC59F15373D1AA0F1D6D2DE6B763A5969391DE51F73025B 1F238C89D47A59500046ECC880F82C126535171A79A26839DB12C73BF64EDE86 4762E163A8F8CF029CDD014400254788CDF49897C5D43521F12F39E2205DFF1E 4E341E620B9948993ACDCE96A7B8179041E78EC56C2EA4A27158FD3CE743D723 5A4A12CF731D9A7AA56D0F96095450CC86FA4F0F924A30B58B12987306A1E64C 1E1345F8925B024ED517DC7C61416C9D295136B15D1272BBDE1C3EE4B9E4CD60 59F208D71EE893EC368A3A4DA0E73B397E8A686F479B510547EEEAF11BCA7C03 4017455E66B24EE00CA4A0F4BCB1D93DF7A757E9CE159BA84DB40C18EFA9AA01 C5529138CE73135419048E147B1BA444D7D9B9CD0635D21F19D1DE10C2B266D6 C3DB1FAD5EED33C9D0B4B4D514928DC863FAC4EF0B8FBD23D61CED1D51C0BCA1 D70668635B96885F949803FDA7F2F2730B5CC97CC9525A9FD3612B4262284CD1 6A3EB5DBE45F92872837F94AFFF3BEC6D40E34B1B3F7C648FDC9B502352945AB 1DD3903BCE408A2EC8E9A87A2A1257462AE6E11724A6A4ED217380A4676FAB88 7483A9D7902BBACEC6D5D4975CFADB7D98EC6583515C8DEB3F8BC0925EB6C512 157A2A1F0AE58ADE6CB88DAE8A32511C18802BB12FF1A44A26AD29787E5B5C49 D9352D4B4EC7AFD1BCE1F0AAFDC8ABFA56F583BD0C038F50A7006A34985BC4A3 303C61F80BC665197B1FCACAD984CDBB91EE67446E2AB27811B59A801517BD45 93A5E8E8740CF4C858A0EE877990FF0FBAB6B927640492A33EBBB35263A71142 4E77D8D76D84C47C08B64113AE03F006BB3DECA165D3F28901AB22093364D180 D930EDD9424867F103F9679F81FE3CC9350A98949E66CBC68DDFF0AB56EAC0A8 129EB6B8F5D6C98501F5A72C519DE4D1699090489A58953D2693E70FE4820A56 3181ED3EEDB867D10EF09B127C3BC374E6598B01728C4E4929E1747360C88A35 A4D916FC40419604614248F2862F79A431E0E94DDFF29576DF15592DE1FA6B43 6E02A64A4CCD0B4A9F1344A6B49297EFE94C7C5A3BF57BABBB79BE9BE30668EF F1D601535714F3876136E034B4BA873F819A852E122D7C97A5D010AACF2C6CA0 4CCE7DB1F4AD6A9762F781CDDE82CE8015BFDF1FC5F5526A9E8A6BC860B2FDCB D80D8098182D548D8D9A3FF41426E81A05F1D33B2BCBACE0D4BE085F9AF03A03 549F03A92F6F78A72364FD4A7FA180F37E8BFE877063195C9AA85C462FC32A6D 0F2200DFE6F18F11240F85AF1984B47754E99F5980E653B423C933059C7F0DCD D9585AF6861718E096BA5D36550C443719FCD4099A7F01E86F03D917D04A43D9 EC408E18C18DA28E2ADFC4A0A02D6424236C2696597A7EF405D7E2CFF35C54F8 14F8BB8E672852A595EB240490FB090E19ECCE0E36FD3106D81E57C25B35D98C 7535D76C5BF606CF9079DFE1DA938B0748665B16CF0F21148177636DAA2EC738 ED5FB77A8C53A195996C7F0468E6D7AD9D07319E88FE3701588EE979A9BC3509 108B23C84BB3ADBEF1645D786EB558CBE6A4B9AE7BE1D218B5DB8EECEA40F306 F34AFC88A8FBF3E081E64A9DBF921E58264BE80B1AE2F35E429DEC5E76221526 5C6A9EE090309B827FB54B955D6E1C8D33B47D0E13A31D4C470C387BA658FC5D B508A4C4450EEED3D602D5B0A317CA3D76690CD35BFB8168EF1B03E937AEA355 B3CC101165D78A9EFF68AB2F7582D8B8D285F4C74C069FB4FA67A22E61CC5BE5 651E35807335A6126433369E500D6DD9FD494BE1B796E801414774C53738264E EEE28CB75A797C8266D5E66D674B0E10AEC521BF0E1FCE413298A3CC14A9C607 7AE82273695331275A5BA0D76DC98692AB5A6C81D0467C83442D7B2CA16B02DA 930894C207E35BD1448949C0A35D33B0190FE6921E90D8201A667EDF67E55671 E9F92A7BBD159CDF46B1F2F869FF39FE467E6FF109A8210B3C99696E57EB42E6 70ADAD45B62D00E018A1066618B4951EFFFF0D8ED030B44D034BC86862791AD1 1C9BF214E484E4F8D6CF9D8DC5287EC40239AEED5914D78672ABE6FE9CED9FA2 AF9004F6503629E47900C7E5506A891703816824F5DAD409F9F5DA1053915BF6 1B7770369F953712E40F9CB6EEC506275C166968E2A692F75DE8C9CEE2FC31B5 04C5DE06AD432187C03DE1D391BE4C881AD01F1A7ED871665994B1B9A7182ACB 2C30A3C757F2A915911AF5C29C441C9B15071A59604E723EF2DCFD268357159A 071BFCFE8EC807C85C74D063D28641092DC9BE5FD343A9C72A89AF6EE6BAB163 C8F6F7EF28B7CA45452FF613EB8F3F3894623B2A85810C8D5C102B40DA96A8C2 0EDDE6EF42FF5E1CB1567B3C6B275F21243612D688E13036688940026C51A7E5 AAA3166E9975EA965856833160409BB611B7778FCF5A44D4822F73B3F366F59B 3C71DEFC8C802A8E2BEF78E44DB761784AF85E9FAFF3F04958CAA7C3C777000F A270D7DB1593F6F79291DAC0A3B507EC233C9815D65959628C00E4A4241755A2 5A9CF77EBD1A8598FC56726F9C1B3D829FC7A153CB29F60D399916AADD33D8E7 A55D9B80169B64EAE44EC9515A9F641659BF2AFA82678E134BEC7BE081F77749 1D4C67946963E1E27D5C0DAB52E0FC52A06D685DA038C9724F09FE05ECD99D10 4AFB2EB8C48D1870A35886801723F4D8603F43AD8F43AAF5FD12A5AD7260BFA7 CD4CDFF650E1FE19723519CD939743477DAEEE3D764DCC9A3F89C2C3F73DFC28 B8430FDCF1B6BBEA9068040F4C479D4AC3C54848768011A30129D5A4862F3737 25B5402D17EEEF2BC7FE0DA21FFF4341FE12D9E3137D16BD0EBDDC06A45BDA43 432B8C0EF081D9A8799ACFB5A109467723C0943E0F926387636DA513B86FAF21 C9FE492BE5F873495D38D63974AE55C41A1723A743325415370F49DE98757DA7 25504C746DE404CC50B68E4395DF6691B50284E324CF38A8801BAD54984334A0 893FC8E5A02BAB918FF59E2E683342F9460414E6C84612988B0EA43ABC9C44DD 91FD56FA176B5CC7FC72E0D6F4AB51E3DAC780BE687C9647D2F57A628BADB83C 305C9909E6FF2FF3550867B8BB60BDCE345243688DAEB64D527179CA267B62E4 F76389B3AB596F486C6F288E898AF2014C1F05AF694ACAE8CD998C6179D20193 967BBF18F30058824C84EA0C3BB2126735A7926AAC902727002BD736B87307A7 0E36E4230FE79F7124E19B2BE0A7A16529FFB76152CA536F5819A3B04EC30DF7 0F23588EB38F4DA90C4C77E0F86D1BCA52B4D8FA62EC646131F944905DCA41C6 570D13A8FDD2349B5393446B4354BAC92951C3949FF9ADEDAD365DEF9019543A 9088738A3D5C46F9599547BA9DB2A4710D606528F782EE43BDE866D0065A6EB5 62E0D35B1561144D6690E50179C425CB8E300FD0963058236EDB4AB11F0FAA8B 28102438F81020063074240B485C42643ABBB291CA9DEB744F34216C432E8977 8197DFBE917AFD94844BD66F970E3223AAD861570AB30D28AD228543BE09D7BF DF123C514BB046AC703CBB01CF3D0E4999F2D118CD8B49B12915A2D892BCEA8F 8C9DB90D50980F7AB7BBD2AB8D4DEFF1CC3E69943D6187D860FF756AA5D1865E E34F6A406EDEAE9C860D5D069B78130D4D76C64D27E6C91AFA748D43627555CC B3F1CB9994B29C53809DBA40DBF67D60D7B8D8BBEC2DED2CCB282FD864FD8BDC 3932F14CFF144C48F4BD9056095A1B3A3E22FFD495D1ED4C073D67CF3A869F91 D4B2B51D04E041CEC2A051C79B9CA2585F4902A08D83137C4AACDF5296CAB330 7616C7D5EF6ACD92B5091F10DAF8A542CA65803CBDD69D8AB83EED0B24667C43 CB5ACB2DDA0239162B0D4BD216A2BB5BC3BC9FA1A34123CCBBA06F1C9D314E66 E3E46FDD545C7B622BEFAE3187BC6335FD7F2018612CF8BEED983437DC41E372 0DD4D2DE1C7965DDEB3AFF75A2DE11E243D4F6724A5B000541D523FEA46787A1 EBE0F152EB67017864AB257F033C0AB5E1C6E37134F56D946077F0EFE05F75D7 1E786EF4817244F45ED7482B22CDADD017BC576D62E67FF039FA855CD5ECA98B D85221D590EC846700872461619405C09503A67F543B2068561AD9C3FF12AECB 24187B04FF07BCA0C89CEBE4C61DD0ED460F705D577D5C41D3989613C17E2C50 AA59D7A37D6874647169BEEC33531B8F724FA474308E8CF9574796B9C0017DF0 03D44ACB61F1AD7CEF1F3B19A6EECEFE136BBE48ED9579607D40FE755BF8EEA0 72ADFA519667DC4353FD35D1C748F87F4DC0A4A66FF8EE5C6F85B9E8CEB20992 839C6B7B600029D5FAC42A95E0AA593618272EE2A5FBA0039DA0E2CE4D554CBB 1CB371FF3E52543C3F59D11C08A71D92D471989275DA50C7C5F3488E97786A62 BDA40FF853D37021CA298AA184BD3AA2DE939369E5069383123B498B4019D502 82A429948FA2EF591E1CEC742A34833FB05CCFBE836D661EB4483367780E903E 044BBFE0BD4371E42BF79619F1946FC812A097E40568B993E577A48FFFD18CEE 5F4B9A2635909362E7B1ACB59258E76DF5F43B539939BC66521FAEFAEDD026D0 44A13347B15C5B8FD80EBF3F83E2E8063AE6EE8D3E082322A6289439C231DE3E 9E7AAF44EB8533C5033B7C938DB0A5CBF1F8BA1D1E1DF389910215799538CD1B F3C3065BCDA9B40A2BCE73F066CCF1C9FC42529FD87B33BA2745DD3CA76FF193 FD1E7E9C1DA1B3B772523D04A0815B281BAD73E76858D8EBEFB517D8025AA824 AEE656C7D014BE8BCABF0E91E8095B372F30482F9FB38821E5903DEE86E39D29 913E3194DF1ED2C9F84AFC04B73CD964F59D66B67646A9EBAB42AC913903EB23 C60808F656300BAFF960DA79DD6D762954A6947B5FAFB6A456412D48E532EA7F E9EE07D4AC1D0FFDAFFC0E1AC12F4C3833845203C1B3158FCB2264482B709F0F 5A85D2FCFB50B875B02A4F29FFE41E58F20277DC0ACBB1F27834888F4C96BEF7 7535FAA0A0AFE28A4CB97F412E3B09965E8A11D4C2362984F9844A34110EABA6 75CE59EBAE6EC8E0425249E490C3EE0FFD19C969EFBF114151D501F9426EAEDC EE88E810004278D0ACEAA70B4C08127E5E4412AAFE846D11486A772F6DDB5469 4537D1BBCD7921FCF7780B71479450C3C5AFBCF70138F85B2708186C1B71FFF4 C1B4AF3E8D931C155DD60579117A00D889A00A307E7D7ADEDBA6A246500D2377 E109D96D34157D038C1FCF798D5E2A998A09477008820A885C169E47E9DEA16F 2FD8EB8E584A2F09B715404D6B1F9F1BD0B799F613484336A0FA9CB299E8E673 F1CCE5DABACCE6D6EC28B36EC98BEBA08752CC6041BEBE9A5A62203A8BA49217 129DE97A4E6D208A12B2D4EFB67736334B26100932326D9CE6BFF707D02AE163 C092642716160D75CAF4E8D943D44EB57712097077E3BFB4957A713627E1BD20 6C1D7DE3FE42C8ECAEB9BC0A35C65C96A79E2857FC13A6274D30FFA1FA5D14D0 F146F3C4308A5658D2BD704CF352D64B561E18771BE915C9AACF18E8D4B21D34 B6E934F7407870951957DA4D8ED41E9D2A94DEF9FED2D49BE0AC6F890F683912 1F5919276FF0F7DE076E56265102CEBA099F57B051CA03318AA573DF04BB5321 FE2377E12CCE8E949FDADE7923368AEA4785A62FCC0A7B65B71A1978A99B1F9B 45335F57B64197AFFAC3FAB1AC9FD4F622F921DE976E0790EBC7DC04C70FAF60 0079397A8CC9928727E7D490187E0F6A72ADDD5DEC352F68C6DD02B3B620F1E3 44B9ACDAAF69105924B7EC2AD597E01F0BAC93C2FF8C76A58D59AC401DF41E44 DC2D5D86599C75B119F483549DE9B595BAFA30910B508351C0BEC132D95410B7 693F6D53CF3682DC16995490F6F614E6AED34795854136DF1610DA7B3338CEA2 C3B66F2C93B1C1248226158C1EA3F382DEF16260E6134D41FC9174A25C5061C0 7115D89A2B96794AF0852471D5E802DA08C0DAE89863218D91F198B94F8C9C17 F1E4CDE958302DDF266D43FBEEDC56D37F3A19F05F9386838212D7A00FB51303 BE35417E5D8EF994603D9C16 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginFont: CMBX9 %!PS-AdobeFont-1.1: CMBX9 1.0 %%CreationDate: 1991 Aug 20 16:36:25 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.0) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMBX9) readonly def /FamilyName (Computer Modern) readonly def /Weight (Bold) readonly def /ItalicAngle 0 def /isFixedPitch false def end readonly def /FontName /CMBX9 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 65 /A put dup 97 /a put dup 98 /b put dup 99 /c put dup 114 /r put dup 115 /s put dup 116 /t put readonly def /FontBBox{-58 -250 1195 750}readonly def currentdict end currentfile eexec D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 2BDBF16FBC7512FAA308A093FE5F0364CD5660F74BEE96790DE35AFA90CCF712 B1805DA88AE375A04D99598EADFC625BDC1F9C315B6CF28C9BD427F32C745C99 AEBE70DAAED49EA45AF94F081934AA47894A370D635D93B1823EC35EB8316AA1 86031FCC99F57CB21E8400E54AA474B57112F0D4754A16BEC19117E9D3638986 0777A71B135CC18E20E193AE6C2BCD89F4A27516DBD2BFE69FF9920D547796F9 89E0825B6BD5F492B36AF136EA91B826501ADB1979A4204B2CB5C0517F2B9494 9B2077F316D2B3DA256C99F7549E6BC4B04FE12072B09B4F5D482A126AE351F3 97DB85F3026A793B51E6B28B54661FEB087F011F0BFF67272DD1E8825C180723 22AE77CD6166D2605D0C0F131537417CB60086F08E7197AA916D590944BD801B DEE8F29FFC516E11396CCB8395CFEC9262E22521882DC0316B0A129DBFA5FB57 E656890C2471675E0566FE461028FB05532E274E6DF77E7D320D09B2203BBB5A 8B185B66B2F8A18A49589C4EE27596DD56260D0D759D2A12CEF7FC3010BA1B36 85A2FD45129DC01A0C7570423305C25D957DFF9215102FFF35F428C823D549E5 014E7F99ACA6C10B3C92805376D0F3F280D65852CEA54F5CC9DEF9EC1347824B 0733D3341B34937316E77E952AD9366D3B2ED045165565F07CB636385E5A5911 2620E185B105EF6C93890833054E05B6301137338A3F1D6AB2F80095E57AE60D 6E5EE2764624849978C811EC38E014AE4A5823734C5CEB2BC22DDA46BB408D00 4F25CA8ED287D35E26A4CACA77D2D4B986ED2ADD3BC0C3405741CAD56DE28C7C 68E8944967C022CC55907B3DFACC1EFAFD38D3EDDA1AADB6E2C006ECBEFAC8D7 18ED3C46C331623D8FAACC6CF9292B8F1B407806A0D4808F51A5BC97F6A34ACE 2073F11C6D604D7E8C79CD5F8ADDA187DD1ACA932A19D7017C48B3F140403421 F5ED72DC0725D98CD494C4BF567B19DAA4F8AFEB76A4A8ABFCD790BE1D051E8C 5C14175D16AA464081AC43CE0AA358C70627B232E0D1C066D57B47402D48ED1C B8EA3BC935F3B38185D619E4E34B197E7F59DB9EA1D85DDADB729351699F0AAE F4132DF9D505F6889456B7937D3B73F8BFF8562FEB81A3B72E3467758F3FF242 7123633290FBA60BFA4B7023BE0127D85FD885D41D9A3D0D6ABCAF8BD4AC78D8 14EFA95F4B2448CDB65F9D8C6D3EE62599A5A31E84CB17506DAB61F507A9BCA5 1DD2F0AA183EACA8856078170D26BC14F9EE0C5E95FA7916E06E9F4F4ECB512D 911894DC3720B430D764EF2A5428A2204E662C245266884D302EE02BD3F21A66 D0123D211E5FC6DAC195C9CEB60D4C507D030ECDC907BD1CBE870660B89837CC BB8597FD85F65A8550E18BD37914F72D703DCCC732976312F933DA76761E1F06 D29BD4DFE04F98FCD434B15377DBE41F36AC9CC265DCED60D221BDD291918144 1FAC1D42A8E835705B4B7503A63F445B1D428B270F8E05ABB4E73A694C9CE996 0296064ECF7349C5F2C28795E852AD8B74534152808E9110FCC93992C73DF618 8D61D8162013C681EED5B7FFBAD76D81832FCA75DE8055C2AC33E7E183BB9249 34FE841A220AA648D57235CFE35F99FC2AED92027C7D38DCCB4B700E228F7E68 BA0977D9CAA4D8E402BDBC9FEB94AB73CDEEFF3490C634A418E3EE806D6B91A0 5FCF43298EEA638CE359BCE62C57A90EB5F77B72F86AF8DD2175DCF93FB31395 889051AD071D679FB0F631B106CA803150A78371B5D83A4F83E46F58E62D6BD5 3182B45FACD67EBB30BB94B848F07410DFDBC393DAD9B1C80B821AF5E20CEC51 59D6FCF7EADEEF915F9CB028D0E8127634161D1DF6A125E0B4FD0C067F11BCCA 6AF35D74E8A2322FEDE3FFDE98CEE06707EF26EA7E30C269F9C3D7C4E8DF2831 C0368FF77798E6F819DA285DA48E488A8FE2268731BAB4824605033AE20D99D0 EE6342D62F822F9673DE14F95F46135BE95B5FDFF28F0ECBEB5CC117E24AF4D2 40422AF0BA83B58815074DA6F659E3E6AB5151C106EE1322CACA4FD375C626F9 481BAA8BC48B7B43C34BCB9DD9A0A74B82DC24FAF981BCD70A4C25A20FECC24A 766E5FE75023121F0B40DBC949B154FCD1DA098A7BD0843351C7C3CDD1D39FE6 FD64713B11863D0E20364D51946C80FA78AD49B20675F6BD62C22CD990783368 F9BFFAAA073BB9FD50507A9927A9D75544BDCFEEF402957AA471C6271162C614 1CCDB937FD88F07BA4AD3919CD2CF2D37DB0829C19098B674DACBDF3EF4702D0 0385BDCF093323767D6ADFCC9C02BAC06FE50318263633B4C917C0574EDCFE53 4788D65E13E35C422D0FC268549883A757863D7B6FB3357DDA59E677A15CD273 5A89EF223E373847923822D2258DC2DDB6A5C91FB2A6801C262F8178FD4FF333 624B352357BCB5DA1DB50DABAFE7BCCF4DD1660E5B3D53BAE1BB02853A21B4AF D32B7CA41D0A8E1BA1F3152120A7608788515DB31EC737AC33B81C570CEEB54B 338F5F95A7061EA4B323B6039A81D7378F1AC0C4E06C42C316A4AB13999CCB8F 2D920CC1E50F61CF613F0A1BCBDD9246C9FB9EB0DB67A2B7332712A63480132D 36 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginFont: CMR12 %!PS-AdobeFont-1.1: CMR12 1.0 %%CreationDate: 1991 Aug 20 16:38:05 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.0) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMR12) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch false def end readonly def /FontName /CMR12 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 44 /comma put dup 46 /period put dup 48 /zero put dup 49 /one put dup 54 /six put dup 57 /nine put dup 67 /C put dup 68 /D put dup 73 /I put dup 77 /M put dup 80 /P put dup 87 /W put dup 88 /X put dup 97 /a put dup 99 /c put dup 100 /d put dup 103 /g put dup 105 /i put dup 109 /m put dup 110 /n put dup 111 /o put dup 114 /r put dup 115 /s put dup 116 /t put dup 117 /u put dup 118 /v put dup 121 /y put readonly def /FontBBox{-34 -251 988 750}readonly def currentdict end currentfile eexec D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 2BDBF16FBC7512FAA308A093FE5CF4E9D2405B169CD5365D6ECED5D768D66D6C 68618B8C482B341F8CA38E9BB9BAFCFAAD9C2F3FD033B62690986ED43D9C9361 3645B82392D5CAE11A7CB49D7E2E82DCD485CBA04C77322EB2E6A79D73DC194E 59C120A2DABB9BF72E2CF256DD6EB54EECBA588101ABD933B57CE8A3A0D16B28 51D7494F73096DF53BDC66BBF896B587DF9643317D5F610CD9088F9849126F23 DDE030F7B277DD99055C8B119CAE9C99158AC4E150CDFC2C66ED92EBB4CC092A AA078CE16247A1335AD332DAA950D20395A7384C33FF72EAA31A5B89766E635F 45C4C068AD7EE867398F0381B07CB94D29FF097D59FF9961D195A948E3D87C31 821E9295A56D21875B41988F7A16A1587050C3C71B4E4355BB37F255D6B237CE 96F25467F70FA19E0F85785FF49068949CCC79F2F8AE57D5F79BB9C5CF5EED5D 9857B9967D9B96CDCF73D5D65FF75AFABB66734018BAE264597220C89FD17379 26764A9302D078B4EB0E29178C878FD61007EEA2DDB119AE88C57ECFEF4B71E4 140A34951DDC3568A84CC92371A789021A103A1A347050FDA6ECF7903F67D213 1D0C7C474A9053866E9C88E65E6932BA87A73686EAB0019389F84D159809C498 1E7A30ED942EB211B00DBFF5BCC720F4E276C3339B31B6EABBB078430E6A09BB 377D3061A20B1EB98796B8607EECBC699445EAA866C38E02DF59F5EDD378303A 0733B90E7835C0AAF32BA04F1566D8161EA89CD4D14DDB953F8B910BFC8A7F03 5020F55EF8FC2640ADADA156F6CF8F2EB6610F7EE8874A26CBE7CD154469B9F4 ED76886B3FB679FFDEB59BB6C55AF7087BA48B75EE2FB374B19BCC421A963E15 FE05ECAAF9EECDF4B2715010A320102E6F8CCAA342FA11532671CD83D34CCC3F DA992BB3D9CB34AA01D8906A7D3454448AF04DCDECC6C1670CEAD08A03E4B5EF 84DCA3AF0157446C7D0268B345D1E9235C1F643AD6310F81CAD21A08A50135C5 2DD4C6912558EBE10E3679BCD59C11E567F6D94CEBE205F104FEF1ACBA690834 97BE6629005D9D3658CF51184ADE717163BF043259B64A98FD200FBCA313B35F B8D5B00DC3E8B4134922FD3A07F7D2B9F8913D52D42FC1EABBDB1E778D242E96 27189763806A617CA8E516D34428DC63F633ED4228F4ACF5F362D2E2DA653A76 F0F4291BE52849F6D08B2D7248BB9E374D50149585F6F9176C59163241B9D650 F053095224C4B89FCA593B64F76A588D89077294DB5FE5036696F1E2DE1B91E3 E0E14CD8F5961D20E652A999B14EFD0486AD1681D30A6133A4EE05F721F06431 E6A998306924308E399E92964BD32C8978719C7C5FE9C6199E869B8B9F8D3707 DC82BCF27B03C9E4D6A61B7062E946A146ECBEEE6BBD76B73DCC817C2A3BE650 A42CCA28D6711483878785ED46D7370C99F2F16B1D427C745602D30FFD4B094F A2C73FA6B024A340D067C998515F6F9889DFF232478C23704AFC0E83F36C62BC 7CFBF3D9762EA81605F0AB52B370037CB54D9CF8E78CA0B0748F3BBE4A1D0425 F4C5AE9B511C87BB6338B32FA033AE39699BC49FB0FEBD0B26B91A78F2A2B33D 13311204FE610BB0F0E1AD0821F9D37898D1C7F3B351363B307EF655BC7CEE42 E30D5A58F1CC86B5FEDB81B675A69DE6A8F665AFC635A2F77B2885F1C92FA647 B9FF3CB1E51A55CD25BC3E3B1667BA924B2BB2653650F47C1BD583B330ADDEB2 521203ADCD9864473F87364CD31EAC8F92E2821AD400EA78154972117FC83AF5 69CA6087EE18ECB841EC4C5038EBEAFF1351263EE1832ADC63B00C1511E4B68E 952436564ACDF19979C273799DADD1C5E17E71ECA58D40DADCCC0E98CCB9C4C2 D070D154B01E8DA31F8699FB57CEA3D665B20BD3386543ADD39ED41301DBEB94 7D4F2A39235EEE86D112219E37CB782286F94B29A08DAF9F3B1D97419E94A9F8 9554423207538B142F9497ED3B3A6A1D5591175F1C3BE6DFEA37554DE6C81181 50F7CABB097A58B33F9FF38B401CDDFD716FA251119DBBF6CB0D5214C5180231 BE9EE5F759095DCC0AE2D0A9E8D1C9C9520ADB555162FC89AC2D82F56AF42506 CD31AC2768A8EB291730ACFB8E63207D6800E437ED43A5434529AC41215F8A31 105A8976DEAC725AFCCD913F9097EB250896176AB2D780C55DF55D13FAD8AF13 DFC18742F27C06136974AA14757B0EB7C5A1C022F2AB7F27F2D24CFE0E258E07 3955D626F053ACF1C841A38C9ADFD8E0FBF31F74F1BE277C8542B3FF191CBAF8 95E2ED4097F0E7B241738772331F31A1CBDAA565793E8981A8ED7C3B164532E2 142695CE4A94F801014FF849AE824DE9314DE4DEE75FA7D4F212F2878F87DD22 B9479C5252F33123504502AC95697744C2ECA2BF39C40713A74A53830594489E BA28394CC9F8C046BBA71EFB4FD2F34C8F1AE8E9BC043D799DFB514EF2228018 A6717ADE151FA65AB4B54706CA20BDE427C036038ABA035649A646CE1DF08C9E 87F107CAFA3948988BCE64B60BE7AEDE47B3C519830A2E8F3A138164A66603E6 A8FCB8FC560566FF442A15BE093E79E3ACCD11A8D5318F2187212CE75ECE7EA9 11C1F3E6F93A4F23B775D61884012864E43D186FF44231C12DD4C6118D096685 8C1B6A15F7B93841AD6CD06B17F37E2D2A5A0763EBAE392352679384D540146C 97D3B104D16D60F318EDBEA3DAEE3022FD30D015888CCC86A1A7294D0BE7F846 9F7052AD70A4B8EF578E03899898AD4539030224B5138CE5F9F2BAD45F487E8A E0DB1455F2E6E4C3D4F4CCA0A8DF155C44EEBB3E22CD1F955D364C51161C70EB D6FF0799B37D7FA0A3000F959A2F3EFABB37695A957C9ED43EFEE8E44D862DD4 A1EA966AFF826A9870A1ABF7213C9791EE1DDCFD7DDF715F1FAA6870C47F5AC9 7DE409FC4BD739D6F2BC246E27928C7E4DB66C8F27D68133DB8ECAA138B02F1C B5057633AA62766C6C1B880B311593A8477F0FF15B7DCE845DAD54B545743A57 A14808076C4919E5E3E95C993D7E86246BA08F4F69461228A012DCA1122B05AE 899E60C19C233821C83F20F4911299578EA7FE3D688EA1C93FAEADB9C8926063 A869A54CB9177B8357672B4143E159F5CD692F476BAB6056451D86C0C292C43F 88315F76DCC263D15CD71B613B08D613A2576662CD8591876319E445895D8AAA 71075B49D9136B14316F956D00D4CE8B7DEAE50C4C445FA85EF339907B126D3A F64659864EBF5C78B28C341752A8F00D3AD933F8F3E144E2D22B5833A0E885B5 508BD540508A8436AD7148CABD0884A3139E3476D635CABF391B3C5B7B8537E7 0ED36B52A75612F6475317430D78DDE07194C6E796C5C63DA8C4DA6D2675DBEE 9F09F75FB070EDEEB13731446EEDE0505E9E48973F8922B92AFE0171A36CA26D 1E0D26D9C10A6DFD01DFA981B09DD69933C2FC41061AF57428D87EB3C27EACF6 DF820B16CA44A73948A247143A35967BE9670B0014909CD7B365C5A2EAA60BC1 B33FCDF179A8D3889C93BC382DA0FE5DCE737C65AB4585A6551527F8E05A7C56 6EC10C672EB234C1A2E58218E31110EB04D65B58CED3366C6D39BB27E1889C3A C98354892D1DC6E6740C037BDAF0BABA11D9F4848A32D62B06047A1B1AAF2D3C 79E75F895169AE8B7A5B62E36F8B061672259698A3095D79BADB7F08316D9446 93AB783EC63954529259C48AD83DAF0F751D0F6E3EDA35CCA4078265691DE4E8 CE8F02FCA7C9E3E12DB7AFCCE8C475845E9AF9EF497964CC655B5FE5F1C433CE 51B71716CDB1C16D64D13EAA41F917ECFB40BB6AF64A79A59D25407E93E3A881 B63FA7991DAC3A866BFED047CCACE7B385125202F515A0C03AB0EFED9E58F9B8 E22F986AFE0B511CB4B72BB346E8D0B2D38E247E63BA8C28FD4D2B930E0F9079 4A04ADEF1E84784960F943E6A3DBB8BA24513CBCD68E5E46DC843E366303456B 1DF9D2759AE8037652A2E669703954267142C7BD68AAD75DA57E4C21FC99F600 1CF61997F4285110EBE2AA61DC4973AE42A40AA194C7EA8414C130EBB4CC4866 B49BF607508634801650C6B948A3DFBBF5164765AD9EFA75BCC58DA9445BC6E7 026510342056699E1E275EEAB0E333B68DE4374C44EA16662A3EF672C9CF1BFB 15DCEB04EAFDD08064A990B544A0010B45E72250FCBD5A4D9FAFB9ABE5629947 551FB3686B4C2CFFB01B81BDC2E9B386B1AD44422D6AD7266F417A5CE6F52897 F843DEF47F0FEE013F696F44984FA30DD9F41504754F33CA4B5399A293B0F878 906BDB2737739A8466FE9F0BEB73F88F5588F5FFFE19914B2F44EC5D6E71C0D2 20ECE51FB587916C98C7A3A8CD47EC8C9D061E2B2038E215D022B95C69685E0F B0F7ABFC5592E21FADE72B9441FF233450A5F1D3BBE486000A4A57B5899BBBD5 C8F6AB9AF8F08C8032FCF8E0E7FDFDCD4CB38ACA6AC8AE2FB79F7FB4DE4EEF91 FA6CB129F5AE23A4283B2D611C8A6018401DF6156399C067622C2E75BF7EEA4D E9B42C4CD85D5AEEF81F1889B68F9CFA45222E4A049B9BE7C72BAA01F0DE9047 79DDDAF3DF2F1AAD1F187687EC88C235C0FBBE0B2938B1F7E73AE2743979487B C58F96B8D2DDEDE7A059B7B39914C21C96BE4F178F327423C1C3BA1FD9AF7500 71F08C05D3190E4B4F411E73A51BA50626840546460230D7B17CC6B79F08CE50 13D9376BDB39F9B9EF966F9690D016935C7048E9F77BA96BB5B4D19A7EDA6EA2 686506D42AD4BADB9E888ECF8488193DAECF2A2A8D052982906947A0DDE90C8B FCCF311FDB940CDAB676126149736F87AB087DCD341A2AE76354CCF4C4D7E224 B0182C12482DC4F5E1CCE5C92C0B7C40A1DBE1AAD695E942F772299D8E7FEA34 7B84191D9B94796F91BFCE9E23D40FE7881BC554A1F781417C100CD2B3E34041 1AA117C91B3C4A53E0A669AD086BE88A21F73D2D9C69B87EA1D5CCA996C0A9D4 B770294DD5734234F6DF65AA0EF19EC24977EE9DBB743A8AB8998791EB165870 5D885088850C9820422AE3398CB51CB4C6E45EE56228CEE421BB79D89DC50354 A6F1CBD477E416D23B289192287320D829975D73807BFBE42B6867A8694F5394 FA076081186CA8A43B43AFA6C6A0DC4EF5E33F707CA77E29E6BE19E8616FE3F1 099A6981E185FF3948F3A6A088F7437BA20BD0615937F688B3B0887D91A8B84E DC86C68489EEEB615F9064C2F30D81C007EA7D7DFC925BAC9473A559AB0BA7F3 BC542BCD3CEC8F69FCD3E66316B5647C2E638B3E32E85E5BA4406C61DC2E12D5 9AEEB142D49DF569448655CEC7B125557DEE597B54F2BDCCE28AF011F14EE59F 66175E4D0B7C18F61C5D6A66761A8A544AD92AEFB5C79B087942444B139C0EF7 71DAE08D4321232CBD7F280441179DF46FBB5C2ADBEEE60A05AD5AE2FC8060FF DC18A5EDBE15EEEA3C1F2B789EE96402D0305593DEE1FF2B1559B6204430B06B DC95ADB9A58BE3020B20A4AA0B19CB2600DBC58C03BFA16AF0E8EB034E8680B8 583694C1167928235D508557F340FAC5B80422FC71EEE8D9054742769DC0E5A2 54344BFAE3D61E11F665A5577E7F7DC90004A6872D675238D2F1C4F57847EBAB 0CCEC309635880B976D689B4E66340242A9094EF3C12595D488BB0D4F765841F F87AA212DD1FC5D76F6BDDDF7B8F836DF86CA1C1AF6A1CC59D450824C989B997 932451C7246F310C2F953E3297FC5D0E2C8897E056A0538D0EC2F09563A8BB1F 9C227508480F34C5D17B9EE18101EAEC622F62981546608624373B059024F152 F6EB9F06D273C8C79B30E017CD095365CB6B722498EC2210115C539D66736008 0E3026B122F2FFCCE07BB4A58AFAA1DB3E319FE54A7626D5B021DB13BD4ED03A B49FA2392CFF7AE52683FEAB88AAB8B99912DA646E0F9A9FC054203EC0391802 93985F9ACA5B25D65CFE07B0E73FD1404025DBDC856DB8A6B3B9AA0B1BDA7765 8AD09EF8E60B7E1270C9E5E6A96CCF343AB7C82C1792B14A965DAE4A82B60333 BD1354453A2350D0056506F0589494E30EA081BFF6D9A30F4940B1CA3A7811CB 14A0AE02D6B366468D89CFC121062CE69B4BAAC5A99A737D76DDBB78E27453C3 83446E9B831992330CAF4E92FFAE5121A331CF676691B106A61F2F9D8133C225 C566E2A45AE0C0D81A1F6C8E8235BE8A82D1A91DE4E72B3FBF988D915455124B 4D5013E621AF7AA251B82F4815226F9F2D5AEB95478286D0A6B4EC750523A131 94618E68D25207DE179DA82B6859B68C689BBCF8D5900019772CC70D3DF3A682 439F00958C1EA327F5813562A77446BF2F9A996135555B46077D2E818C582267 2118E5DB8D355513F473219B1CC1CEC2A0477A494280887EEB8061165DD18CB2 645E7AC1B095F194CF65763F388871EBA9CD8D275693C8621DFCFADD43CC22AE E8C863526463ADD0BB4492C9B4EF4E4ACBA47F93BDA0DBDE38B638F3D5719D7A B9E24D04CB731E792FC9054D113E80B2083EC5E11D8D9BC41F73D3FA709AA070 8C5C8D05C3E7E182A035A051FA4F8B4132AF0D8F122EA93D52AA65F0CEDB1A72 8EFA97AEFBE76BE1880D2134CA0A52FD45E868B60940446514A83A205F36DAA6 A45CF5A83A32D56EA0677861985820100B615D8BFCCB9B27138FFB7C219CE631 4F5DB6A3897F61139D0DC46AA191C56E9C7BEDD70E7957784812C72802429E65 08DB75E070F63F8EA32C611B57B56DFE4A2AFCF2ACDBB924ADD473304CCAAED5 BC471FE718A59F1189E49ACCD3D3C5D1DC27346D6872F55C962452752EF109A4 203C5EF73CDADF094745E3B20ADD2DB1F3323BD27F831D60991083A7D1416305 6129814EB438A984F0C7925D2A7F1C301AB4048339B447F30870BD7D4F317FDE 9C301D4161AB0B4B3DD713E55A32AC89517B0B22CD0B3F2B6C1F176F6B63C90A A7214DE88FDD74487AEC046015935E4542374BA4024B82BC5B56D52ADB342330 A2B7B2547A98C64734CE81700674F6A9DBEA3E2C98B4D796FCEB05284D3A6FE4 C134F75A2FBBC41C46AE1F797065866150827BA64AC2D8661613965B05865033 9DC45C501E11DD9B5B8DBFDED283472914DD313D45F30CE281C57887979E0B1F C53C7B6B339C61E25B73FD75ACDF7474828E549AECAE1EDEE0D978FF50E38042 DF89BB84EE127B198FAD8B665C909009287B08C54D91B9FB3C101B549E4124EC 055008401CEFA98224B193B53CB5D9F24FAB97FE83BC0D5380F88F2842E7272B 23F599FA28DFE79617BD652A6535216E65DCAD6A7F91C5E73915C232441DC733 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginFont: CMR17 %!PS-AdobeFont-1.1: CMR17 1.0 %%CreationDate: 1991 Aug 20 16:38:24 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.0) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMR17) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch false def end readonly def /FontName /CMR17 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 50 /two put dup 65 /A put dup 67 /C put dup 68 /D put dup 80 /P put dup 83 /S put dup 86 /V put dup 88 /X put dup 97 /a put dup 99 /c put dup 101 /e put dup 102 /f put dup 104 /h put dup 105 /i put dup 108 /l put dup 110 /n put dup 111 /o put dup 114 /r put dup 115 /s put dup 116 /t put dup 117 /u put dup 121 /y put readonly def /FontBBox{-33 -250 945 749}readonly def currentdict end currentfile eexec D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 2BDBF16FBC7512FAA308A093FE5F075EA0A10A15B0ED05D5039DA41B32B16E95 A3CE9725A429B35BAD796912FC328E3A28F96FCADA20A598E247755E7E7FF801 BDB00E9B9B086BDBE6EDCF841A3EAFC6F5284FED3C634085BA4EE0FC6A026E96 96D55575481B007BF93CA452EE3F71D83FAAB3D9DEDD2A8F96C5840EAE5BE5DC 9322E81DFF5E250DEB386E12A49FC9FBF9B4C25C3283F3CEA74B8278A1B09DA7 E9AE4FBAAF23EDF5A3E07D39385D521547C3AAAB8EB70549756EBA8EF445AF4A 497CA924ACCC3DD5456F8E2C7E36946A5BF14E2E959895F7C94F49137256BE46 4A238684D52792234869EAE1A6D8ADF4E138B79472D2A90A6CA99E2394CC20CD 3841733046175B20CEBE372327BF13428EED6A3E2FDF84C2DBA4B0AD584EE9DF B51828D3B8F385846158C29C9AC3496CB9692DD10219697B2ED4D425C3957FD8 C4600D76E045C561216EF05D38177243C314877A69A1C22E3BEC611A2EE5A216 9B7C264CF6D1839DBBD78A40610F2C0D7C2FE09FFA9822FF55035AD52546970F 83EED2D30EABB1F303091EBC11A5379B12BB3F405E371519A53EA9D66174ED25 A2E55463EC71A97BE4C04B39E68112956117C8252DB6FB14AB64534B4BCD568B 246DB833982B38CDE7268BBF74B6B0C18091E1B1F87D32D66F4DD023D1F10D2A 7736A960F72AC01F733A11023832CD68FB6288A5977743F781214D8FA9C0C3F7 80001321D4397771F728FD9EE57CFE7D9192B887EC883EB1505068261DC40089 7B7D2820F06515CD74513521F6397FEAB3AD3572D9A8269430E407E357422461 1785FC2782047F4C0339D79B16862D939F3A37F78E4E2174E4FBF132539CB760 207999FF86F6A3EBE48EB0A1CA635450FDEEF79EB16D853F3BF4B7AB327313BA 9991211FE10DE49402F33CF209C06993DF4B9867929C0607AEE4882759A8DE4F 335872227F97BF3172B9D28994D4B1AD11DD777228C55977F2C8428224132715 F3BCBEBBA7EBC997B0EA5B45C2474C264A2F9174EDCBA637B7F894F8905C69CB F1FD0B146A8BB0ACB6F5DF67E327EDAB05C64000E60415CF8E82DD182F5DD625 0F282EA2B80AED7732305F83E4C21A4D6B87B46197D61157518C6C46AC1D442D A597CD3EC92CF9A2DF2422BEAAED844DAA63776404BF28D21AF3A57E30F8155E C3A45B51D5AEDEC8C22AAFA8CD9293D83C59F4CB98BBFD11629E504035655FAF B80D0AC4F4F3250E7CA5F6CD5A0BFBBB41EF45D693E0C45E25D9D77423596A92 1C3CA801E904FA29FCBF288001B964533BB06D675A72C319304A99638DFA5E66 2B0954E87009CAFB4154CD54B00C88BA3FDFE6674023290A3DA8D9D65E1AD21F 1F70EF98AE3C8B4F298866BE6CA504DCC13E41C513A7D742DF3C0027FB7DF040 8E8F385642928924F06A09ABDF34BDE2FFFCF82692504B324B7D30210E6BB1BB 686FE433BA2339F8980C7C24A9F3AD3F68AB396B13915651D92C5CC48808EF88 1A4F0C9CD143AD85A273ECF2645BC79F9DCEE71ECBEB080B6DD5DDFFFEC76735 179EA4C9304CB809628CEA05049D1AAEB32CBFFB0310FB20907754677622BEF9 31C0767CA2A538AB731DEEDB88B39BC6D645B4DC93D2F2D0C6871F4802FD7251 9C7AF9AC5989B11CB022D5FB297C4EAAD3354A0F87A0C651C471652F86E37FF4 FB72DD2C27752F6619CC62279FE79094120E39A8AF2077219916AD0B66C9F4FF 3117314B2385693AC45DD0AA948006C9FE2F79CB9DEE53A7AA3F13D38AB19E9A 748F6CD4664BCC6879269E4E9530C3863990D5915731CF1DDFD18F7235521247 A0211C61DBD66CF7362514CDAF1A9682D42D6DE511B44798FEB59AC780A0DAE3 67BD5328A3F318F515E359F021668BE63918CF180096B37896760B55B9A6077C 9DC73AE95098C2A58C1D7453D7215006A4EE829B25D510E49C072F88D74A2107 96742A86C9B2818ACB124F214A82122771AAEBFE99CC63DAF46E020B25558501 65FB06A4D809B51BBF7B05CA07E046986E964B4E0889401854A642CA99D7C685 4438779144CC7E7E92BCB784F1EEEB46AC38944583232066FE286EE5929B5738 591477009D7508BE0F1ACF26BB1B94B4CDB9585A933649524B58B16BD6A5D71D 68E380AFD202B62B88A41E7149C16FB927809C2C16BB893487507693DB07D6BC F2AA5B5F0E4C930C8A94381B25DE6C26DDF4CD55507335A2C4FC2087FDDF9A0E 90040C878A9B038D92300CD5BFA338BD858EB546BF6CBF9943CB7EBEAB0F4F8E 44C2053AE85C684467C7A3DA5BE9CC4EAE4A506913D1B0159117052C6EA14924 AE01053155ED6943CF64EF687FAA64E40B58CBAE1342830B523896C2636B23FC C91882A459CC0522BE82EF472280FFCB7FCC2C608CC8E6F5CDC8D3A4DD8DD743 A60936560A1D5EE6A6A060F59313C89734F1F485768EDDB9FB17779DA0FB0EB7 48EBF19FB6F9AF75B8DBED49B449F846CE7F9468E1C8F5C3A73D1EBB4BE699EC 6DC2D9C81BC3B2F5D11D7F084CE8485AC246975DB2A05DA133EA9405EC6DE2F2 A6A2AB4B7EBD9A8E3EF01DE6D49813E7BFC68CDF426B17988D1B90D1976903E6 20AC2BFEDEF2022A514DF2D92A3E68E3840F12D085CF5BE56B4F77ADB62458F2 3119FC9F1AA51190C854CCAD1CE8C2CAFC8F01593759CF0203F87B232777C9AC 2CB716F56FC79165D951B112FD6DA10AEE46DC718713ABBEBA62750CE189E344 AA595529843E88986620FFA3BE34DB6F78B6665A87B3FEDF6F104BA981D69BB6 25E985D36ACB1F1E29846B849D6FEF8488887C597798AA2068919780BE58A3F2 EB9AD3907CF22B0A352E8C9CD2573CCCC5215826A4B86BC3DF2EC2B212D56EF4 EF4739935EC8C083112D374AB7B0CF827F8AF544104324314BBEBD0B327EE928 D7478AF014A3DD01F51B40ACF501C95C31C7ECE8467C8FC3FCC9AB9808292925 2091DC15116A2D93F8B3CDF31EF28AA6FAFFD2130EFCFDBE8572D6F8A69FA36F 3E5D878A156BC387061F28C6A79561148AE74381F9250266D9C38C7A2775F884 7D12322DE72C20FBBD9D274E2CB9D00EE77B6599809091BDB1119AE60BCC9019 FE52C0D62A2DDC17EB5764B62FDF87F6D92779F26FEEA7FDBF38C661A20205C7 2EBEEF6A69B4682F9BBD320445F6DF6196914F4FD5C671EB6503372E1B2AF0E8 94E0A784288836B43B0C3E19B18669E9CC042A3327B35569375DB88A80F1CC81 14F4E4626EEA6328D546415B52FCF0277419FB95E95ACFBD5D6E3F5D913EC48E 586536527A11A3E353B2F85513988270804F1BC6A767FA1993BE7A0C977DA885 DDB6A535F092AD2266F5ECB6CF13E27ABF03968E77041224F69B737BEFC07B6F 1021BCCA53D1A0872312F3915E0338435B548C6EF1E314EE638364DF5954E539 56A957AB274E3088067A60AFC4EEE1FBA7D8B722D91785F7C1E56E75A819A7A4 34D72B5376C414766117FD1ED1D90C6891D19F70A05A86A2F32F066CCC6D8087 A3752C7C71A51644BF121D9406314604B3AC8295CAA8D7319C1A8198B1F3C14D F1D82F7579EF9383ED456FF2555EC490D993A88916806A4B51049271D4411958 80BB94CFF9365822D972610FD9541CE011AA5E206D6289C44796B7B76ECA1431 3261403EE192FF5691FBCB4C65B5BFCBE3BC32DBCB35B9A96A3C7068A0824A74 6B7571C83EC751AA2383F7BCEBC4A7CECE707DC495A52C9F02242F030BB6D484 6D7DE28175B6EBD9F8D59155629CD373400B5CB1E33CBD2CD3CB4C54FF8CF451 9D3D462626478DDE4DB3EF07A0E0A1D37D217F823FB5B071FF29BE5FD1BCE844 5219E6159173DD755D80D5D600D9C7E16175ACF50BBC116ECF0F56BE962AB3E1 AEC98A72D894CE784222714EC17DFFB7A38DFE642EBF6980F9158F3937DD53AC 43C8F0FC972D94B861E02D212AAD28F9ABA86BB9BEFB181DBC97E475B0813DD5 8F0BEF5F9BEC22457B938D58562B5C8BF20C13CA6069846CC1B419BF7E0D3C24 2F5E3DE8353646C2DF775091F03889C1D83178CB09CB2CD9A06E0475F30908E4 A71651B67602F6CCDE0F7F6753DBC82FA451BCEF9C3CCC901B18D99DB4059657 CB037877293BD3EE0C67BA35A31CCEB251A9DB457045399C8A7DD08B375470DE B90DAE2A9351AE40ACDD412751830FEB92166857B02C1714B8D55D99FA062F2B 73A13F83AF6637D1654EB75022761EC820E58445451F3C0D1B0766BB34ED5837 7D02C020EFAFAD28546C8EA805ED66989CCAD340C3D447853D2A7E2E8CFC7096 2EED45F3E00DFEE02CB34475D080E96A7DDD6C21B725DA690F82EEF3E002DDB8 C4552E7F2AF8BD2B6D6A6BF5E937BBFEDDC6986D416845420924B373CAD84B16 C1E0E28527A0CA8E1F4BDE1E9EBAB5BFCA3646C3741418573D94916D5963DCD6 F3AD82B6C8D44A464CFF762E2BCB4D708415A0BDFAFC8669ABC2578663741C94 096D3A8CFE2B94A6E4A4C1FDC1FB20DF23B9AB243E38C22DFEA5DB9FB7722D1A 782D1A645D36EB0D4A4C15B77409EF11BBFBBBD3F2BAC6F1ED16FEF481753C3E 06F69E6D6586679E3562F32DACB0216856D65CFF9EDCE0EA550942F4B32C8071 42C1F11C7077683136D3AF6921953C99527DF41D1B4CD6D4A5C9A9141FB10079 21D6A3BB67D0427560051932A89EB8A89A2F1F87A521A57304781A742544F969 B8933E1626F55538DCC15E93566BA3C8274C9FA6EC112BA54D3A4B54AFB1BB90 61A0EB521DA03803ED8240415105C36621A6BC87C0352995D84377DE6E0BA2D1 AFD60090E9E969F8063F08A4720565D78446827B3047705517BE902F0CDFDBED DCD7102E13FC34732C42FD7FB8340A70E2E425D3239DA687B78AEB6849D0DF23 5E997B2FF1FFBBE2DF6D740E34838CF13FC28113103C4EB661D09F17A4E1621A BEFF1166FD175EA201A8913FE07D112DBAFCEE086E4F48833A0379637AEF36B7 21320D095E0DE2AD895644D8C5BF965156EF0DBE7A80E85B76F432BAA909FAF9 5735E7C21A8BAB36B31E349C09DFAFF058C90DE65D3D11E2B5C6001719C5665A 6E93CFFF774BF29C37EA8D6783758CED67C1EC8FDC9A5716BFDD3AAC17BA2DE6 AC3207E214118FFD6DA5DB9446D4165ECCDD0AD6A4A5A5C061575904EF187101 FE4437FA63B6A4D10DA3A0C4884B1ED5CDFC45ED8367EA9F4DE49C2D49CBB533 B2EC71D45401A6C54A8B95CFBBBE56A84ADA8C5B26D806E3631024DD7FC6CE1F 782DF9D501BC4CB68D900F7CE724B50F867B26BE72D7BA56E52FEE44E4B72C1D 96A230BA560853C5E96D1C6A5AE7216EB524034952D47201704334668D897EEE FB547401BAF14B80ECB3CCE6D0A3B43AFD5CA73DC122218791154C063816DC52 3BD2812DCC81027AD2FC36EC08FD45885D29A880844896DE20856BB42796ED79 9E10037CEFC542E47A3EAB74BDC519537A8201EA7C8DEEA55CDD33470654FE23 D70A72AA71DBD92C365F51E59EF020076D9EB0438EBFA42143F5987720D9B282 4EAF19376B44087FED43ECBE84F84DA3EFC7A597C810D887531A6EB8B2BD6CDC 904FF170F9E7C429387CDADBE516E059CBDB4227E2D74AE11EFAD3E568CA67F8 56B29EC37DD3BA0079EEECD22A8AC289A4EA94C1BBB7C258F5A85CEF3A43843F 455056D32769324EBF71CC2083B082695648681189C6C24A41E3FF85C9FE187B BF6DCEB7FE3EE215671CC0CBB4E72DBEA7A6BDC39DD98CB618A6E8E5F387F77B 1E3ED5CBE0D67AAF1F61712EC003465A560077053ECAD24824FF7A2CA85A30DE 0D595324ACAF8BCE6D59AFE4C234765D392383352A92D9DEC0A2F40580A0242C 063CD1086D38FF5C6FA1BDB0A53EDB5499AA2322CC73A38FC826DC202679AF4A 7B571509B715CB8BD1D0C5D1E59F5B2D6DF5E9 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont TeXDict begin 39139632 55387786 1000 600 600 (analysis.dvi) @start /Fa 134[44 44 2[44 44 1[44 1[44 44 1[44 44 2[44 44 44 44 1[44 44 44 44 6[44 1[44 4[44 44 1[44 2[44 3[44 5[44 8[44 3[44 4[44 1[44 44 46[{}30 83.022 /CMTT10 rf /Fb 133[50 59 59 81 59 62 44 44 46 59 62 56 62 93 31 59 1[31 62 56 34 51 62 50 62 54 9[116 85 86 78 62 84 84 77 84 88 106 67 88 1[42 88 88 70 74 86 81 80 85 7[56 56 56 56 56 56 56 56 56 56 1[31 37 31 31[62 12[{}61 99.6264 /CMBX12 rf /Fc 133[42 50 50 1[50 53 37 38 39 1[53 48 53 80 27 2[27 53 48 29 44 1[42 1[46 11[73 66 53 2[65 2[91 7[63 73 69 1[72 14[48 48 2[27 33[53 12[{}33 83.022 /CMBX10 rf /Fd 134[71 1[97 71 75 52 53 55 71 75 67 75 112 37 71 1[37 75 1[41 61 75 60 75 65 9[139 2[94 75 100 10[106 85 88 103 11[67 67 67 67 67 67 67 67 36[75 12[{}39 119.552 /CMBX12 rf /Fe 242[83 12[65{}2 83.022 /CMSY10 rf /Ff 133[37 44 44 60 44 46 32 33 33 44 46 42 46 69 23 44 25 23 46 42 25 37 46 37 46 42 4[42 2[62 62 85 62 62 60 46 61 65 57 65 62 76 52 65 1[30 62 65 54 57 63 60 59 62 65 39 3[23 23 42 42 42 42 42 42 42 42 42 42 42 23 28 23 1[42 32 32 23 4[42 19[69 46 46 48 11[{}78 83.022 /CMR10 rf /Fg 133[34 41 1[55 1[43 30 30 30 1[43 38 43 64 21 41 1[21 43 38 23 34 43 34 43 38 8[58 79 2[55 3[52 6[28 26[21 1[21 31[43 12[{}30 74.7198 /CMR9 rf /Fh 139[34 35 36 14[39 49 43 31[67 65[{}7 74.7198 /CMBX9 rf /Fi 134[51 2[51 54 38 38 38 2[49 54 81 3[27 1[49 2[54 43 1[49 8[73 100 6[66 2[89 3[35 4[75 70 9[49 2[49 4[49 49 1[27 1[27 44[{}27 99.6264 /CMR12 rf /Fj 134[70 3[73 51 52 51 2[66 73 1[36 2[36 73 1[40 58 1[58 1[66 8[99 1[99 2[73 2[90 11[101 96 1[99 14[66 50[{}22 143.462 /CMR17 rf end %%EndProlog %%BeginSetup %%Feature: *Resolution 600dpi TeXDict begin %%PaperSize: A4 end %%EndSetup %%Page: 1 1 TeXDict begin 1 0 bop 550 963 a Fj(Analysis)42 b(of)h(the)h(X)g(Proto)t (col)e(for)g(Securit)l(y)i(Concerns)1513 1146 y(Draft)f(V)-11 b(ersion)43 b(2)1581 1436 y Fi(Da)m(vid)33 b(P)-8 b(.)33 b(Wiggins)1543 1553 y(X)g(Consortium,)g(Inc.)1669 1797 y(Ma)m(y)h(10,)e(1996)1786 2104 y Fh(Abstract)846 2251 y Fg(This)g(pap)r(er)g(attempts)f(to)h(list)g(all)h(instances)f(of)g (certain)h(t)n(yp)r(es)e(of)h(securit)n(y)731 2342 y(problems)25 b(in)g(the)g(X)f(Proto)r(col.)36 b(Issues)25 b(with)h(authorization)g (are)f(not)g(addressed.)731 2433 y(W)-6 b(e)29 b(assume)i(that)f(a)h (malicious)g(clien)n(t)g(has)f(already)h(succeeded)f(in)g(connecting,) 731 2524 y(and)23 b(try)h(to)g(assess)i(what)f(harm)f(it)g(can)h(then)e (do.)34 b(W)-6 b(e)24 b(prop)r(ose)h(mo)r(di\014cations)g(to)731 2616 y(the)g(seman)n(tics)h(of)h(the)e(X)g(Proto)r(col)j(to)e(reduce)f (these)h(risks.)p eop end %%Page: 2 2 TeXDict begin 2 1 bop 523 614 a Ff(Cop)n(yrigh)n(t)936 611 y(c)913 614 y Fe(\015)p Ff(1996)26 b(X)i(Consortium,)e(Inc.)37 b(All)28 b(Righ)n(ts)g(Reserv)n(ed.)523 764 y(THE)41 b(SOFTW)-9 b(ARE)41 b(IS)h(PR)n(O)n(VIDED)e("AS)i(IS",)i(WITHOUT)e(W)-9 b(ARRANTY)43 b(OF)523 863 y(ANY)22 b(KIND,)f(EXPRESS)f(OR)h(IMPLIED,)f (INCLUDING)i(BUT)f(NOT)g(LIMITED)g(TO)523 963 y(THE)26 b(W)-9 b(ARRANTIES)26 b(OF)g(MER)n(CHANT)-7 b(ABILITY,)26 b(FITNESS)g(F)n(OR)g(A)g(P)-7 b(AR)g(TIC-)523 1063 y(ULAR)23 b(PURPOSE)d(AND)j(NONINFRINGEMENT.)g(IN)f(NO)g(EVENT)g(SHALL)h(THE)523 1162 y(X)30 b(CONSOR)-7 b(TIUM)30 b(BE)g(LIABLE)f(F)n(OR)h(ANY)h (CLAIM,)f(D)n(AMA)n(GES)g(OR)g(OTHER)523 1262 y(LIABILITY,)22 b(WHETHER)g(IN)g(AN)h(A)n(CTION)f(OF)g(CONTRA)n(CT,)f(TOR)-7 b(T)22 b(OR)g(OTH-)523 1362 y(ER)-9 b(WISE,)39 b(ARISING)i(FR)n(OM,)f (OUT)f(OF)h(OR)g(IN)g(CONNECTION)f(WITH)i(THE)523 1461 y(SOFTW)-9 b(ARE)40 b(OR)g(THE)h(USE)f(OF)g(OR)g(OTHER)g(DEALINGS)h(IN) g(THE)f(SOFT-)523 1561 y(W)-9 b(ARE.)523 1710 y(Except)28 b(as)f(con)n(tained)h(in)g(this)h(notice,)f(the)h(name)f(of)g(the)g(X)h (Consortium)e(shall)h(not)g(b)r(e)523 1810 y(used)33 b(in)h(adv)n(ertising)d(or)i(otherwise)f(to)h(promote)f(the)i(sale,)g (use)f(or)f(other)h(dealings)f(in)523 1910 y(this)c(Soft)n(w)n(are)e (without)i(prior)f(written)g(authorization)g(from)g(the)h(X)g (Consortium.)1934 5147 y(2)p eop end %%Page: 3 3 TeXDict begin 3 2 bop 523 614 a Fd(1)135 b(De\014nition)45 b(of)h(Threats)523 846 y Ff(W)-7 b(e)28 b(analyze)f(the)g(X)h(proto)r (col)f(for)g(the)h(follo)n(wing)e(threats.)523 1072 y Fc(Theft)42 b Ff(o)r(ccurs)22 b(when)h(a)f(clien)n(t)h(gains)e(access)h (to)g(information)g(o)n(wned)g(b)n(y)h(another)e(clien)n(t)731 1172 y(without)32 b(explicit)g(p)r(ermission)f(from)g(that)h(other)g (clien)n(t.)49 b(F)-7 b(or)31 b(this)h(analysis,)g(w)n(e)731 1271 y(tak)n(e)26 b(a)h(broad)f(view)h(of)g(o)n(wnership:)35 b(an)n(y)27 b(information)f(that)i(exists)e(in)i(the)f(serv)n(er)731 1371 y(due)f(to)h(the)g(actions)f(of)g(a)g(clien)n(t)h(is)g(considered) e(o)n(wned)h(b)n(y)g(that)h(clien)n(t.)37 b(F)-7 b(urther-)731 1471 y(more,)23 b(the)i(clien)n(t)f(that)g(has)f(input)i(fo)r(cus)e(o)n (wns)g(k)n(eyb)r(oard)g(ev)n(en)n(ts,)g(and)h(the)g(clien)n(t)731 1570 y(that)f(o)n(wns)e(the)i(windo)n(w)g(that)g(the)g(p)r(oin)n(ter)f (is)g(in)h(o)n(wns)f(mouse)g(ev)n(en)n(ts.)35 b(This)23 b(view)731 1670 y(ma)n(y)i(rev)n(eal)f(certain)i(instances)f(of)h (\\theft")g(that)g(w)n(e)g(don't)g(care)f(to)h(stop,)g(but)h(w)n(e)731 1770 y(think)g(it)g(is)f(b)r(etter)h(to)g(iden)n(tify)g(all)f(p)r(oten) n(tial)h(candidates)f(up)h(fron)n(t)f(and)g(cull)h(the)731 1869 y(list)34 b(later)g(than)h(to)f(do)g(a)h(partial)e(analysis)g(no)n (w)h(and)h(plan)f(on)g(reanalyzing)f(for)731 1969 y(remaining)26 b(holes)h(later.)523 2132 y Fc(Denial)k(of)h(service)41 b Ff(o)r(ccurs)36 b(when)g(a)g(clien)n(t)g(causes)f(another)g(clien)n (t)h(or)g(the)g(user)g(to)731 2232 y(lose)26 b(the)i(abilit)n(y)g(to)f (p)r(erform)g(some)g(op)r(eration.)523 2395 y Fc(Sp)s(o)s(o\014ng)40 b Ff(o)r(ccurs)23 b(when)i(a)e(clien)n(t)h(attempts)h(to)f(mimic)g (another)f(clien)n(t)h(with)h(the)f(hop)r(e)731 2495 y(that)k(the)h(user)e(will)h(in)n(teract)g(with)g(it)h(as)e(if)i(it)g (really)e(w)n(ere)g(the)h(mimic)n(k)n(ed)g(clien)n(t.)731 2595 y(A)f(wide)h(v)-5 b(ariet)n(y)26 b(of)h(requests)f(ma)n(y)h(b)r(e) h(used)f(in)g(a)g(sp)r(o)r(o\014ng)g(attac)n(k;)f(w)n(e)h(will)h(only) 731 2694 y(p)r(oin)n(t)f(out)h(a)f(few)h(lik)n(ely)f(candidates.)523 2858 y Fc(Destruction)42 b Ff(o)r(ccurs)26 b(when)i(a)f(clien)n(t)h (causes)e(another)h(clien)n(t)h(to)f(lose)g(information)g(in)731 2957 y(a)37 b(w)n(a)n(y)f(that)h(the)h(clien)n(t)g(or)e(user)h(is)g (lik)n(ely)g(to)g(notice.)67 b(\(This)37 b(do)r(es)g(not)h(coun)n(t)731 3057 y(exp)r(ected)28 b(forms)f(of)g(destruction,)g(e.g.,)h(exp)r (osures.\))523 3221 y Fc(Alteration)41 b Ff(o)r(ccurs)26 b(when)h(a)g(clien)n(t)g(causes)f(another)g(clien)n(t)h(to)f(lose)g (information)h(in)g(a)731 3320 y(w)n(a)n(y)i(that)h(the)h(clien)n(t)g (or)e(user)h(is)g(unlik)n(ely)g(to)g(notice.)46 b(e.g.,)30 b(c)n(hanging)f(one)h(pixel)731 3420 y(in)d(a)h(dra)n(w)n(able.)523 3646 y(The)35 b(line)f(b)r(et)n(w)n(een)h(alteration)e(and)h (destruction)h(is)f(sub)5 b(jectiv)n(e.)57 b(Securit)n(y)34 b(literature)523 3746 y(do)r(es)d(often)g(distinguish)g(b)r(et)n(w)n (een)g(them,)i(though)e(not)g(alw)n(a)n(ys)e(explicitly)-7 b(.)48 b(Alteration)523 3845 y(is)30 b(often)g(considered)e(more)h (insidious)h(b)r(ecause)f(its)h(e\013ects)g(ma)n(y)f(not)h(b)r(e)g (realized)f(un)n(til)523 3945 y(long)g(after)h(it)h(has)e(o)r(ccurred.) 43 b(In)31 b(the)f(in)n(terv)n(ening)f(time,)i(eac)n(h)e(time)i(the)f (altered)g(data)523 4044 y(is)e(used,)f(it)h(can)f(cause)g(more)g (damage.)523 4368 y Fd(2)135 b(General)45 b(securit)l(y)h(concerns)e (and)h(remedies)523 4599 y Ff(The)28 b(follo)n(wing)f(sections)g (discuss)g(securit)n(y)g(problems)g(in)n(trinsic)h(to)g(the)g(X)g (Proto)r(col.)36 b(A)523 4699 y(statemen)n(t)i(of)g(eac)n(h)f(problem)g (is)h(usually)f(follo)n(w)n(ed)g(b)n(y)h(p)r(oten)n(tial)g(remedies.)67 b(A)38 b(few)523 4799 y(w)n(ords)29 b(here)g(ab)r(out)i(p)r(ossible)e (remedies)h(will)g(help)h(frame)e(the)i(sp)r(eci\014c)f(ones)g(describ) r(ed)523 4898 y(b)r(elo)n(w.)1934 5147 y(3)p eop end %%Page: 4 4 TeXDict begin 4 3 bop 523 614 a Ff(If)37 b(a)g(clien)n(t)g(attempts)h (a)e(threatening)h(op)r(eration,)h(the)g(serv)n(er)d(ma)n(y)h(tak)n(e)g (one)h(of)g(the)523 714 y(follo)n(wing)27 b(actions,)f(listed)i (roughly)f(in)h(order)e(of)h(sev)n(erit)n(y:)523 863 y(1.)42 b(Execute)29 b(the)h(request)f(normally)-7 b(.)41 b(This)29 b(is)h(the)g(righ)n(t)e(c)n(hoice)h(when)g(w)n(e)h(decide)f (that)523 963 y(a)e(particlar)f(threat)i(is)f(not)h(serious)e(enough)h (to)g(w)n(orry)f(ab)r(out.)523 1112 y(2.)45 b(Execute)30 b(the)h(request)f(in)h(some)f(mo)r(di\014ed)h(form,)g(e.g.,)g (substitute)g(di\013eren)n(t)g(v)-5 b(alues)523 1212 y(for)27 b(some)g(of)h(the)g(request)f(\014elds,)g(or)g(edit)h(the)g (reply)-7 b(.)523 1362 y(3.)44 b(Arrange)28 b(to)i(ask)g(the)g(user)f (what)h(to)g(do,)h(giv)n(en)e(some)g(subset)i(of)f(the)g(other)f(c)n (hoices)523 1461 y(in)f(this)g(list.)37 b(This)27 b(m)n(ust)h(b)r(e)g (used)g(sparingly)e(b)r(ecause)h(of)h(the)g(p)r(erformance)e(impact.) 523 1611 y(4.)47 b(T)-7 b(reat)30 b(the)i(request)e(as)g(a)h(no-op.)46 b(If)32 b(the)f(clien)n(t)g(will)h(probably)d(not)i(notice,)h(or)e(if)i (it)523 1710 y(seems)27 b(lik)n(ely)g(that)h(the)g(in)n(ten)n(t)g(w)n (as)f(b)r(enign,)g(this)h(is)g(a)f(go)r(o)r(d)g(c)n(hoice.)523 1860 y(5.)41 b(Send)29 b(a)g(proto)r(col)f(error)f(to)i(the)h(clien)n (t.)41 b(If)30 b(the)f(clien)n(t)g(will)h(b)r(e)f(confused)g(enough)g (b)n(y)523 1959 y(the)g(other)f(options)g(that)h(it)f(will)h(probably)e (crash)h(or)f(b)r(ecome)i(useless)f(an)n(yw)n(a)n(y)-7 b(,)26 b(or)i(if)h(it)523 2059 y(seems)e(lik)n(ely)g(that)h(the)g(in)n (ten)n(t)g(w)n(as)f(malicious,)f(this)i(is)g(a)f(go)r(o)r(d)g(c)n (hoice.)523 2208 y(6.)44 b(Kill)29 b(the)i(clien)n(t.)44 b(This)30 b(migh)n(t)g(b)r(e)g(the)g(righ)n(t)f(action)h(if)g(there)g (is)g(no)g(doubt)g(that)g(the)523 2308 y(clien)n(t)e(is)f(hostile.)523 2457 y(In)d(most)f(cases)f(w)n(e)h(presen)n(t)g(the)h(one)f(option)g (that)g(seems)g(most)g(appropriate)f(to)h(coun)n(ter)523 2557 y(the)f(threat,)g(taking)f(in)n(to)g(accoun)n(t)g(the)h (seriousness)e(of)h(the)h(threat,)g(the)g(implemen)n(tation)523 2657 y(di\016cult)n(y)-7 b(,)30 b(and)e(the)h(impact)g(on)f (applications.)40 b(Our)28 b(initial)h(bias)f(is)h(to)f(err)g(on)g(the) h(side)523 2756 y(of)e(stronger)e(securit)n(y)-7 b(,)26 b(with)h(the)g(accompan)n(ying)e(tigh)n(ter)h(restrictions.)35 b(As)27 b(w)n(e)f(unco)n(v)n(er)523 2856 y(imp)r(ortan)n(t)i(op)r (erations)f(and)i(applications)e(that)i(the)g(new)g(restrictions)e(in)n (terfere)h(with,)523 2956 y(w)n(e)f(can)g(apply)h(selectiv)n(e)f(lo)r (osening)f(to)i(allo)n(w)e(the)i(desired)f(functionalit)n(y)-7 b(.)523 3105 y(In)32 b(some)f(cases)f(w)n(e)i(will)g(suggest)e (returning)h(an)h(Access)f(error)e(where)j(the)g(X)g(proto)r(col)523 3205 y(do)r(es)d(not)h(explicitly)f(allo)n(w)g(one.)42 b(These)29 b(new)h(Access)f(errors)e(arise)h(when)i(a)f(clien)n(t)h (can)523 3304 y(only)23 b(p)r(erform)g(a)g(\(non-empt)n(y\))h(subset)f (of)h(the)f(de\014ned)h(op)r(erations)e(on)i(a)f(resource.)33 b(The)523 3404 y(disallo)n(w)n(ed)f(op)r(erations)h(cause)f(Access)i (errors.)53 b(The)33 b(resiource)f(at)i(issue)f(is)h(usually)f(a)523 3504 y(ro)r(ot)27 b(windo)n(w.)523 3786 y Fb(2.1)112 b(Access)38 b(to)e(Serv)m(er)i(Resources)523 3989 y Ff(The)e(X)h(proto) r(col)d(allo)n(ws)h(clien)n(ts)h(to)g(manipulate)g(resources)e(\(ob)5 b(jects\))36 b(b)r(elonging)g(to)523 4088 y(other)23 b(clien)n(ts)h(or)f(to)h(the)g(serv)n(er.)34 b(An)n(y)24 b(request)f(that)h(sp)r(eci\014es)g(a)f(resource)f(ID)i(is)g(vulner-) 523 4188 y(able)i(to)g(some)f(of)h(the)h(ab)r(o)n(v)n(e)d(threats.)36 b(Suc)n(h)26 b(requests)g(also)f(pro)n(vide)g(a)g(w)n(a)n(y)g(for)h(a)f (clien)n(t)523 4288 y(to)31 b(guess)f(resource)e(IDs)j(of)g(other)f (clien)n(ts.)46 b(A)32 b(clien)n(t)e(can)h(mak)n(e)f(educated)g (guesses)g(for)523 4387 y(p)r(ossible)c(resource)f(IDs,)i(and)f(if)h (the)g(request)f(succeeds,)h(it)g(kno)n(ws)e(it)i(has)f(determined)h(a) 523 4487 y(v)-5 b(alid)28 b(resource)d(ID.)k(W)-7 b(e)28 b(call)f(this)h(\\resource)d(ID)j(guessing")e(in)i(the)g(list)g(b)r (elo)n(w.)523 4636 y(One)h(lik)n(ely)g(defense)h(against)e(these)i (problems)f(is)g(to)h(ha)n(v)n(e)e(the)i(serv)n(er)e(send)i(an)f (appro-)523 4736 y(priate)f(proto)r(col)f(error)f(to)i(den)n(y)g(the)h (existence)f(of)g(an)n(y)g(resource)e(sp)r(eci\014ed)i(b)n(y)g(a)g (clien)n(t)523 4836 y(that)k(do)r(esn't)g(b)r(elong)f(to)g(that)h (clien)n(t.)49 b(A)32 b(v)-5 b(ariation)30 b(on)i(this)g(p)r(olicy)f (lets)h(co)r(op)r(erating)1934 5147 y(4)p eop end %%Page: 5 5 TeXDict begin 5 4 bop 523 614 a Ff(groups)32 b(of)h(clien)n(ts)g (access)f(eac)n(h)g(other's)h(resources,)f(but)i(not)f(those)g(of)g (other)g(groups.)523 714 y(The)22 b(Broadw)n(a)n(y)d(pro)5 b(ject)22 b(will)g(initially)g(use)g(a)g(less)f(general)g(form)h(of)g (this)g(idea)g(b)n(y)f(ha)n(ving)523 814 y(t)n(w)n(o)33 b(groups,)g(trusted)h(and)f(un)n(trusted.)54 b(T)-7 b(rusted)34 b(clien)n(ts)f(can)g(do)g(ev)n(erything)f(that)i(X)523 913 y(clien)n(ts)27 b(can)f(do)h(to)r(da)n(y)-7 b(.)36 b(They)26 b(will)h(b)r(e)h(protected)e(from)h(un)n(trusted)f(clien)n (ts)h(in)g(w)n(a)n(ys)f(de-)523 1013 y(scrib)r(ed)e(b)r(elo)n(w.)35 b(Un)n(trusted)24 b(clien)n(ts)f(will)h(not)g(b)r(e)g(protected)g(from) f(eac)n(h)g(other.)35 b(Though)523 1112 y(this)c(will)g(b)r(e)g(the)g (initial)g(design,)g(w)n(e)g(need)f(to)h(mak)n(e)f(sure)g(there)g(is)h (a)f(gro)n(wth)g(path)h(to)523 1212 y(m)n(ultiple)d(\(more)f(than)h(t)n (w)n(o\))f(groups.)523 1362 y(Most)35 b(of)g(the)h(time,)i (applications)d(nev)n(er)f(access)g(serv)n(er)g(resources)f(that)j (aren't)e(their)523 1461 y(o)n(wn,)d(so)e(the)i(impact)g(of)f(disallo)n (wing)f(suc)n(h)h(accesses)f(should)h(b)r(e)h(minimal.)45 b(There)30 b(are)523 1561 y(a)35 b(few)g(notable)g(exceptions,)h(most)f (of)g(whic)n(h)g(will)h(b)r(e)f(discussed)g(under)g(the)g(relev)-5 b(an)n(t)523 1660 y(proto)r(col)30 b(requests.)48 b(They)31 b(are:)44 b(ICCCM)32 b(selection)f(transfer,)g(Motif)h(drag)f(and)g (drop,)523 1760 y(and)23 b(serv)n(er-global)c(resources)i(lik)n(e)h (the)i(ro)r(ot)e(windo)n(w)g(and)h(default)g(colormap.)34 b(Another)523 1860 y(ma)5 b(jor)26 b(exception)h(is)g(the)h(windo)n(w)f (manager,)f(whic)n(h)h(routinely)g(manipulates)g(windo)n(ws)523 1959 y(of)f(other)g(applications.)36 b(The)27 b(solution)f(for)g(windo) n(w)g(managers)e(is)j(to)f(alw)n(a)n(ys)e(run)j(them)523 2059 y(as)g(trusted)h(applications.)523 2208 y(The)43 b(implemen)n(tation)g(di\016cult)n(y)g(of)g(limiting)g(access)e(to)i (resources)e(should)h(not)h(b)r(e)523 2308 y(large.)70 b(All)40 b(resource)e(accesses)f(ev)n(en)n(tually)i(funnel)h(do)n(wn)e (to)i(one)e(of)i(t)n(w)n(o)e(functions)523 2408 y(in)29 b(dix/resource.c:)35 b(Lo)r(okupIDByT)n(yp)r(e\(\))28 b(and)g(Lo)r(okupIDByClass\(\).)38 b(A)29 b(few)f(lines)g(of)523 2507 y(c)n(hec)n(king)c(at)h(the)h(top)f(of)h(these)f(functions)h(will) f(form)g(the)h(heart)f(of)g(this)h(defense.)36 b(There)523 2607 y(is)f(a)f(small)h(problem)f(b)r(ecause)g(these)h(functions)g(are) f(not)h(told)g(whic)n(h)f(clien)n(t)h(is)g(doing)523 2707 y(the)28 b(lo)r(okup,)f(but)h(that)g(can)f(b)r(e)h(solv)n(ed)e (either)i(b)n(y)f(adding)g(a)g(clien)n(t)h(parameter)e(\(proba-)523 2806 y(bly)k(as)g(a)g(new)g(function)g(to)g(preserv)n(e)f(compatibilit) n(y\),)i(or)e(b)n(y)h(using)g(the)g(serv)n(er)f(global)523 2906 y(requestingClien)n(t.)523 3055 y(ISSUE:)24 b(are)e(w)n(e)h (really)g(going)f(to)i(b)r(e)g(able)f(to)g(get)h(a)n(w)n(a)n(y)d(with)j (hiding)g(trusted)f(resources,)523 3155 y(or)30 b(will)h(things)g(lik)n (e)f(Motif)h(drag)f(and)h(drop)f(force)g(us)h(to)f(exp)r(ose)h(them?)47 b(\(Either)30 b(w)n(a)n(y)-7 b(,)523 3254 y(the)34 b(op)r(erations)e (that)i(un)n(trusted)f(clien)n(ts)g(can)g(do)g(to)h(trusted)f (resources)f(will)h(ha)n(v)n(e)g(to)523 3354 y(b)r(e)h(limited.\))57 b(Is)34 b(there)g(something)f(in)i(Xt)f(or)f(the)i(ICCCM)f(that)g (breaks)e(if)j(y)n(ou)e(hide)523 3454 y(resources?)523 3736 y Fb(2.2)112 b(Denial)39 b(of)e(Service)523 3939 y Fc(2.2.1)94 b(Memory)31 b(Exhaustion)523 4142 y Ff(An)n(y)25 b(request)g(that)g(causes)g(the)g(serv)n(er)f(to)h(consume)g(resources) e(\(particularly)h(memory\))523 4242 y(can)h(b)r(e)i(used)e(in)h(a)g (denial)f(of)h(service)f(attac)n(k.)35 b(A)26 b(clien)n(t)g(can)f(use)h (suc)n(h)f(requests)g(rep)r(eat-)523 4341 y(edly)31 b(un)n(til)g(the)g (serv)n(er)e(runs)i(out)g(of)g(memory)-7 b(.)46 b(When)31 b(that)g(happ)r(ens,)h(the)f(serv)n(er)e(will)523 4441 y(either)d(crash)e(or)h(b)r(e)h(forced)f(to)h(send)g(Allo)r(c)g (errors.)34 b(The)25 b(most)h(ob)n(vious)e(candidates)h(are)523 4541 y(resource)31 b(creation)h(requests,)h(e.g.,)h(CreatePixmap,)e (but)h(in)g(realit)n(y)f(a)h(large)e(p)r(ercen)n(t-)523 4640 y(age)26 b(of)i(requests)e(cause)h(memory)f(allo)r(cation,)h(if)h (only)f(temp)r(orarily)-7 b(,)26 b(dep)r(ending)i(on)f(the)523 4740 y(serv)n(er)e(implemen)n(tation.)36 b(F)-7 b(or)26 b(this)h(reason,)e(the)i(list)f(of)h(requests)e(sub)5 b(ject)27 b(to)f(this)h(form)523 4839 y(of)h(denial)f(of)h(service)e (will)i(b)r(e)g(necessarily)e(incomplete.)1934 5147 y(5)p eop end %%Page: 6 6 TeXDict begin 6 5 bop 523 614 a Ff(T)-7 b(o)29 b(address)e(this)j(form) e(of)h(denial)g(of)g(service,)f(the)i(serv)n(er)d(could)i(set)g(p)r (er-clien)n(t)f(quotas)523 714 y(on)g(memory)g(consumption.)38 b(When)29 b(the)g(limit)g(is)f(surpassed,)g(the)g(serv)n(er)f(could)h (return)523 814 y(Allo)r(c)c(errors.)34 b(The)24 b(application)f (impact)h(is)g(minimal)h(as)e(long)g(as)h(the)g(application)f(sta)n(ys) 523 913 y(within)28 b(quota.)37 b(The)27 b(implemen)n(tation)h (di\016cult)n(y)g(is)f(another)g(story)-7 b(.)523 1063 y(Conceptually)g(,)31 b(it)h(seems)e(easy:)42 b(simply)31 b(ha)n(v)n(e)f(a)g(w)n(a)n(y)g(to)h(set)g(the)g(limit,)h(and)f(on)g(ev) n(ery)523 1162 y(memory)26 b(\(de\)allo)r(cation)g(op)r(eration,)g(up)r (date)i(the)f(clien)n(t's)f(curren)n(t)g(usage,)g(and)h(return)523 1262 y(an)35 b(error)f(if)i(the)g(clien)n(t)f(is)g(o)n(v)n(er)f(the)i (limit.)61 b(The)36 b(\014rst)f(problem)g(is)g(something)g(w)n(e'v)n(e) 523 1362 y(already)f(touc)n(hed)h(on:)53 b(the)36 b(allo)r(cator)e (functions)i(aren't)f(told)g(whic)n(h)h(clien)n(t)g(the)f(allo-)523 1461 y(cation)e(b)r(elongs)g(to.)55 b(Unlik)n(e)34 b(resource)e(lo)r (okups,)i(allo)r(cations)f(are)f(done)i(in)g(to)r(o)f(man)n(y)523 1561 y(places)j(to)g(consider)g(a)g(new)h(in)n(terface)e(that)i(passes) f(the)h(clien)n(t,)i(so)c(using)i(the)g(global)523 1660 y(requestingClien)n(t)27 b(is)g(practically)g(mandatory)-7 b(.)523 1810 y(The)42 b(problems)g(run)g(deep)r(er.)81 b(The)42 b(logical)f(thing)h(for)g(the)h(allo)r(cator)d(to)i(do)g(if)h (the)523 1910 y(clien)n(t)c(is)f(o)n(v)n(er)f(its)i(limit)g(is)g(to)f (return)h(NULL,)g(indicating)f(allo)r(cation)g(failure.)69 b(Un-)523 2009 y(fortunately)-7 b(,)40 b(there)d(are)g(man)n(y)g (places)g(in)h(the)g(serv)n(er)e(that)i(will)g(react)f(badly)g(if)h (this)523 2109 y(happ)r(ens.)76 b(Most)40 b(of)h(these)g(places,)i(but) e(not)g(all,)i(are)d(\\protected")f(b)n(y)h(setting)h(the)523 2208 y(global)25 b(v)-5 b(ariable)26 b(Must)p 1269 2208 25 4 v 30 w(ha)n(v)n(e)p 1464 2208 V 29 w(memory)f(to)i(T)-7 b(rue)26 b(around)f(the)i(delicate)f(co)r(de.)37 b(W)-7 b(e)27 b(could)523 2308 y(help)c(the)g(problem)f(b)n(y)h(skipping)f (the)h(limit)h(c)n(hec)n(k)e(if)h(Must)p 2404 2308 V 30 w(ha)n(v)n(e)p 2599 2308 V 29 w(memory)f(is)g(T)-7 b(rue.)35 b(The)523 2408 y(b)r(est)26 b(solution)f(w)n(ould)g(b)r(e)g (to)h(bullet-pro)r(of)f(the)g(serv)n(er)f(against)g(allo)r(cation)h (failures,)g(but)523 2507 y(that)34 b(is)f(b)r(ey)n(ond)g(the)h(scop)r (e)f(of)g(Broadw)n(a)n(y)-7 b(.)52 b(Another)33 b(consideration)f(is)h (that)h(the)g(ad-)523 2607 y(ditional)29 b(c)n(hec)n(king)f(ma)n(y)g (ha)n(v)n(e)g(a)h(measurable)f(p)r(erformance)g(impact,)i(since)f(the)g (serv)n(er)523 2707 y(do)r(es)e(frequen)n(t)h(allo)r(cations.)523 2856 y(A)38 b(third)f(problem)g(is)g(that)h(there)f(is)g(no)g(p)r (ortable)f(w)n(a)n(y)g(to)i(determine)f(the)h(size)f(of)g(a)523 2956 y(c)n(h)n(unk)25 b(of)g(allo)r(cated)f(memory)h(giv)n(en)f(just)i (a)e(p)r(oin)n(ter)h(to)g(the)h(c)n(h)n(unk,)f(and)g(that's)g(all)g(y)n (ou)523 3055 y(ha)n(v)n(e)k(inside)h(Xreallo)r(c\(\))g(and)g (Xfree\(\).)45 b(The)30 b(serv)n(er)e(could)i(comp)r(ensate)f(b)n(y)h (recording)523 3155 y(the)38 b(sizes)f(itself)h(somewhere,)h(but)g (that)f(w)n(ould)f(b)r(e)h(w)n(asteful)f(of)h(memory)-7 b(,)40 b(since)d(the)523 3254 y(mallo)r(c)i(implemen)n(tation)h(also)f (m)n(ust)h(b)r(e)g(recording)e(blo)r(c)n(k)i(sizes.)73 b(On)39 b(top)h(of)g(that,)523 3354 y(the)32 b(redundan)n(t)f(b)r(o)r (okk)n(eeping)g(w)n(ould)g(h)n(urt)h(p)r(erformance.)48 b(One)31 b(solution)g(is)h(to)f(use)h(a)523 3454 y(custom)37 b(mallo)r(c)g(that)g(has)g(the)h(needed)f(supp)r(ort,)i(but)f(that)g (to)r(o)e(seems)h(b)r(ey)n(ond)g(the)523 3553 y(scop)r(e)27 b(of)h(Broadw)n(a)n(y)-7 b(.)523 3703 y(Considering)35 b(all)i(of)f(this,)j(w)n(e)e(think)g(it)g(is)f(advisable)g(to)g(defer)h (solving)e(the)i(memory)523 3802 y(exhaustion)25 b(problem)g(to)h(a)f (future)h(release.)35 b(Keep)25 b(this)h(in)g(mind)g(when)g(y)n(ou)f (see)g(quotas)523 3902 y(men)n(tioned)j(as)f(a)g(defense)g(in)h(the)g (list)g(b)r(elo)n(w.)523 4168 y Fc(2.2.2)94 b(CPU)32 b(Monop)s(olization)523 4371 y Ff(Another)19 b(general)g(w)n(a)n(y)f (that)i(a)f(clien)n(t)h(can)f(cause)f(denial)i(of)f(service)g(is)g(to)h (\015o)r(o)r(d)f(the)h(serv)n(er)523 4470 y(with)36 b(requests.)60 b(The)35 b(serv)n(er)f(will)i(sp)r(end)g(a)f(large)f(p)r(ercen)n(tage)g (of)i(its)g(time)g(servicing)523 4570 y(those)18 b(requests,)h(p)r (ossibly)f(starving)g(other)f(clien)n(ts)i(and)f(certainly)f(h)n (urting)h(p)r(erformance.)523 4670 y(Ev)n(ery)32 b(request)h(can)h(b)r (e)g(used)g(for)f(\015o)r(o)r(ding,)i(so)e(w)n(e)h(will)g(not)f(b)r (other)h(to)g(list)g(\015o)r(o)r(ding)523 4769 y(on)i(ev)n(ery)e (request.)61 b(A)36 b(v)-5 b(ariation)35 b(on)g(this)h(attac)n(k)f(is)h (to)f(\015o)r(o)r(d)h(the)g(serv)n(er)e(with)i(new)523 4869 y(connection)27 b(attempts.)1934 5147 y(6)p eop end %%Page: 7 7 TeXDict begin 7 6 bop 523 614 a Ff(T)-7 b(o)20 b(reduce)f(the)h (e\013ectiv)n(eness)g(of)g(\015o)r(o)r(ding,)h(the)f(serv)n(er)e(could) i(use)f(a)h(di\013eren)n(t)g(sc)n(heduling)523 714 y(algorithm)35 b(that)i(throttles)f(clien)n(ts)g(that)h(are)e(monop)r(olizing)h(the)h (serv)n(er,)f(or)g(it)h(could)523 814 y(simply)c(fa)n(v)n(or)f(trusted) h(clien)n(ts)g(o)n(v)n(er)e(un)n(trusted)i(ones.)53 b(Applications)33 b(cannot)g(dep)r(end)523 913 y(on)g(a)f(particular)g(sc)n(heduling)g (algorithm)g(an)n(yw)n(a)n(y)-7 b(,)32 b(so)h(c)n(hanging)e(it)j (should)e(not)h(a\013ect)523 1013 y(them.)66 b(The)37 b(Sync)n(hronization)e(extension)i(sp)r(eci\014es)f(a)h(w)n(a)n(y)f(to) g(set)h(clien)n(t)g(priorities,)523 1112 y(and)24 b(a)h(simple)f (priorit)n(y)f(sc)n(heduler)h(already)f(exists)h(in)h(the)g(serv)n(er)e (to)h(supp)r(ort)h(it,)g(so)f(this)523 1212 y(should)j(b)r(e)h(simple)g (to)g(add.)523 1536 y Fd(3)135 b(Securit)l(y)30 b(concerns)g(with)g(sp) t(eci\014c)f(windo)l(w)i(attributes)523 1785 y Fb(3.1)112 b(Bac)m(kground-pixmap)523 1988 y Ff(Clien)n(ts)38 b(can)g(use)h(windo) n(ws)e(with)i(the)g(bac)n(kground-pixmap)d(attribute)j(set)f(to)g(None) 523 2087 y(\(hereafter)28 b(\\bac)n(kground)e(none)j(windo)n(ws"\))f (to)g(obtain)h(images)f(of)g(other)g(windo)n(ws.)40 b(A)523 2187 y(bac)n(kground)32 b(none)i(windo)n(w)g(nev)n(er)g(pain)n(ts)g (its)g(o)n(wn)g(bac)n(kground,)g(so)g(whatev)n(er)f(hap-)523 2287 y(p)r(ened)38 b(to)g(b)r(e)g(on)g(the)g(screen)f(when)h(the)h (windo)n(w)e(w)n(as)g(mapp)r(ed)h(can)f(b)r(e)i(read)e(from)523 2386 y(the)26 b(bac)n(kground)e(none)i(windo)n(w)f(with)i(GetImage.)35 b(This)26 b(ma)n(y)f(w)n(ell)h(con)n(tain)f(data)h(from)523 2486 y(other)21 b(windo)n(ws.)34 b(The)21 b(CreateWindo)n(w)g(and)g (ChangeWindo)n(wA)n(ttributes)f(requests)h(can)523 2586 y(set)j(the)g(bac)n(kground-pixmap)d(attribute)j(set)f(to)h(None,)g (and)g(man)n(y)f(windo)n(w)g(op)r(erations)523 2685 y(can)34 b(cause)f(data)h(from)f(other)h(windo)n(ws)f(to)h(b)r(e)g(left)h(in)f (a)g(bac)n(kground)e(none)i(windo)n(w,)523 2785 y(including)21 b(Reparen)n(tWindo)n(w,)g(MapWindo)n(w,)h(MapSub)n(windo)n(ws,)g (Con\014gureWindo)n(w,)523 2884 y(and)27 b(CirculateWindo)n(w.)523 3034 y(Bac)n(kground)33 b(none)j(windo)n(ws)f(can)g(also)g(b)r(e)h (used)f(to)h(cause)f(apparen)n(t)f(alteration.)60 b(A)523 3134 y(clien)n(t)27 b(can)g(create)f(a)h(windo)n(w)g(with)g(bac)n (kground)f(none)g(and)h(dra)n(w)f(to)h(it.)38 b(The)27 b(dra)n(wing)523 3233 y(will)21 b(app)r(ear)e(to)i(the)g(user)f(to)g(b) r(e)h(in)g(the)g(windo)n(ws)f(b)r(elo)n(w)g(the)h(bac)n(kground)e(none) h(windo)n(w.)523 3383 y(T)-7 b(o)19 b(remedy)g(these)h(problems,)g(the) g(serv)n(er)e(could)h(substitute)h(a)f(w)n(ell-de\014ned)g(bac)n (kground)523 3482 y(when)36 b(a)f(clien)n(t)g(sp)r(eci\014es)h(None.)60 b(Ideally)35 b(the)h(substituted)h(bac)n(kground)c(w)n(ould)i(lo)r(ok) 523 3582 y(di\013eren)n(t)h(enough)g(from)g(other)g(windo)n(ws)f(that)i (the)g(user)e(w)n(ouldn't)i(b)r(e)f(confused.)63 b(A)523 3681 y(tile)30 b(depicting)g(some)g(appropriate)e(in)n(ternational)h (sym)n(b)r(ol)g(migh)n(t)h(b)r(e)g(reasonable.)42 b(W)-7 b(e)523 3781 y(b)r(eliev)n(e)32 b(that)h(there)f(are)g(few)h (applications)e(that)i(actually)f(rely)g(on)g(bac)n(kground)f(none)523 3881 y(seman)n(tics,)25 b(and)h(those)f(that)h(do)g(will)f(b)r(e)h (easy)f(for)g(the)h(user)f(to)h(iden)n(tify)g(b)r(ecause)f(of)h(the)523 3980 y(distinctiv)n(e)33 b(tile.)54 b(Implemen)n(tation)33 b(should)g(not)g(b)r(e)g(a)g(problem)g(either.)53 b(Luc)n(kily)-7 b(,)34 b(the)523 4080 y(windo)n(w)f(bac)n(kground)e(cannot)i(b)r(e)g (retriev)n(ed)f(through)h(the)g(X)h(proto)r(col,)f(so)g(w)n(e)g(w)n (on't)523 4180 y(ha)n(v)n(e)26 b(to)i(main)n(tain)f(an)n(y)g(illusions) g(ab)r(out)h(its)f(v)-5 b(alue.)523 4329 y(ISSUE:)24 b(Some)f(v)n(endors)g(ha)n(v)n(e)f(extensions)h(to)h(let)g(y)n(ou)f (query)g(the)h(windo)n(w)f(bac)n(kground.)523 4429 y(Do)28 b(w)n(e)f(need)h(to)f(accomo)r(date)f(that?)523 4578 y(ISSUE:)k(Will)h(this)g(lead)f(to)g(unacceptable)g(application)f (break)-5 b(age?)43 b(Could)31 b(the)f(serv)n(er)523 4678 y(b)r(e)j(smarter,)f(only)g(pain)n(ting)f(with)i(the)g(w)n (ell-de\014ned)f(bac)n(kground)e(when)i(the)h(windo)n(w)523 4777 y(actually)27 b(con)n(tains)g(bits)h(from)f(trusted)g(windo)n(ws?) 1934 5147 y(7)p eop end %%Page: 8 8 TeXDict begin 8 7 bop 523 614 a Fb(3.2)112 b(P)m(aren)m(tRelativ)m(e)38 b(and)g(Cop)m(yF)-9 b(romP)m(aren)m(t)523 817 y Ff(Sev)n(eral)28 b(windo)n(w)h(attributes)g(can)g(tak)n(e)f(on)h(sp)r(ecial)g(v)-5 b(alues)29 b(that)h(cause)e(them)i(to)f(refer-)523 917 y(ence)i(\(P)n(aren)n(tRelativ)n(e\))e(or)g(cop)n(y)h(\(Cop)n(yF)-7 b(romP)n(aren)n(t\))28 b(the)k(same)e(attribute)h(from)f(the)523 1017 y(windo)n(w's)i(paren)n(t.)51 b(This)32 b(\014ts)h(our)f (de\014nition)g(of)h(theft.)52 b(The)33 b(windo)n(w)f(attributes)g(are) 523 1116 y(class,)h(bac)n(kground-pixmap,)e(b)r(order-pixmap,)i(and)f (colormap.)50 b(All)33 b(of)f(these)h(can)f(b)r(e)523 1216 y(set)21 b(with)h(CreateWindo)n(w;)h(all)e(but)h(class)e(can)h(b)r (e)h(set)f(with)h(ChangeWindo)n(wA)n(ttributes.)523 1365 y(These)39 b(forms)g(of)g(theft)h(aren't)f(particularly)f(serious,)j (so)d(sending)h(an)g(error)e(do)r(esn't)523 1465 y(seem)21 b(appropriate.)33 b(Substitution)23 b(of)e(di\013eren)n(t)h(attribute)g (v)-5 b(alues)21 b(seems)g(to)g(b)r(e)h(the)g(only)523 1565 y(reasonable)f(option,)j(and)g(ev)n(en)e(that)i(is)f(lik)n(ely)g (to)g(cause)g(trouble)g(for)g(clien)n(ts.)35 b(Un)n(trusted)523 1664 y(clien)n(ts)19 b(are)g(already)f(going)g(to)i(b)r(e)g(prev)n(en)n (ted)e(from)h(creating)g(windo)n(ws)f(that)i(are)f(c)n(hildren)523 1764 y(of)i(trusted)h(clien)n(ts)f(\(see)g(CreateWindo)n(w)g(b)r(elo)n (w\).)35 b(W)-7 b(e)21 b(recommend)g(that)h(nothing)f(more)523 1863 y(b)r(e)28 b(done)f(to)h(coun)n(ter)f(this)g(threat.)523 2146 y Fb(3.3)112 b(Ov)m(erride-redirect)523 2349 y Ff(Windo)n(ws)25 b(with)h(the)g(o)n(v)n(erride-redirect)d(bit)j(set)g(to)f(T)-7 b(rue)25 b(are)g(generally)f(ignored)h(b)n(y)g(the)523 2448 y(windo)n(w)36 b(manager.)61 b(A)37 b(clien)n(t)f(can)g(map)g(an)g (o)n(v)n(erride-redirect)d(windo)n(w)j(that)h(co)n(v)n(ers)523 2548 y(most)23 b(or)g(all)g(of)g(the)h(screen,)f(causing)g(denial)g(of) g(service)f(since)h(other)g(applications)g(w)n(on't)523 2648 y(b)r(e)28 b(visible.)523 2797 y(T)-7 b(o)28 b(prev)n(en)n(t)f (this,)i(the)g(serv)n(er)e(could)h(prev)n(en)n(t)f(more)h(than)g(a)g (certain)g(p)r(ercen)n(tage)f(\(con-)523 2897 y(\014gurable\))d(the)h (of)f(screen)g(area)f(from)i(b)r(eing)f(co)n(v)n(ered)f(b)n(y)h(o)n(v)n (erride-redirect)e(windo)n(ws)h(of)523 2996 y(un)n(trusted)28 b(clien)n(ts.)523 3146 y(Ov)n(erride-redirect)39 b(windo)n(ws)i(also)f (mak)n(e)h(some)g(sp)r(o)r(o\014ng)g(attac)n(ks)g(easier)f(since)i(the) 523 3245 y(clien)n(t)31 b(can)g(more)f(carefully)h(con)n(trol)f(the)h (presen)n(tation)f(of)h(the)h(windo)n(w)e(to)h(mimic)h(an-)523 3345 y(other)27 b(clien)n(t.)37 b(Defenses)28 b(against)e(sp)r(o)r (o\014ng)h(will)h(b)r(e)g(giv)n(en)f(under)g(MapWindo)n(w.)523 3669 y Fd(4)135 b(Securit)l(y)45 b(concerns)f(with)i(sp)t(eci\014c)e (requests)523 3901 y Ff(T)-7 b(o)18 b(reduce)h(the)g(space)f(needed)h (to)f(discuss)h(120)e(requests,)j(most)e(of)h(the)g(follo)n(wing)f (sections)523 4001 y(use)30 b(a)g(st)n(ylized)h(format.)45 b(A)30 b(threat)h(is)f(giv)n(en,)h(follo)n(w)n(ed)e(b)n(y)h(an)g(imp)r (erativ)n(e)g(statemen)n(t.)523 4100 y(The)g(implied)h(sub)5 b(ject)31 b(is)f(an)g(un)n(trusted)g(clien)n(t,)h(and)g(the)f(ob)5 b(ject)30 b(is)h(usually)e(a)h(trusted)523 4200 y(clien)n(t.)36 b(F)-7 b(ollo)n(wing)22 b(that,)j(another)e(statemen)n(t)h(starting)f (with)h(\\Defense:")34 b(recommends)523 4300 y(a)27 b(coun)n (termeasure)f(for)h(the)h(preceding)f(threat\(s\).)523 4449 y(Resources)32 b(o)n(wned)h(b)n(y)g(the)g(serv)n(er,)h(suc)n(h)f (as)f(the)i(ro)r(ot)f(windo)n(w)f(and)i(the)f(default)h(col-)523 4549 y(ormap,)27 b(are)f(considered)h(to)g(b)r(e)h(o)n(wned)f(b)n(y)h (a)f(trusted)g(clien)n(t.)1934 5147 y(8)p eop end %%Page: 9 9 TeXDict begin 9 8 bop 523 614 a Fb(4.1)112 b(CreateWindo)m(w)523 817 y Ff(Alteration:)44 b(create)30 b(a)h(windo)n(w)g(as)f(a)h(c)n (hild)g(of)h(another)e(clien)n(t's)h(windo)n(w,)h(altering)e(its)523 917 y(list)e(of)f(c)n(hildren.)523 1066 y(Defense:)54 b(send)36 b(Windo)n(w)g(error.)59 b(Sp)r(ecifying)37 b(the)f(ro)r(ot)f(windo)n(w)h(as)f(the)h(paren)n(t)f(will)523 1166 y(ha)n(v)n(e)26 b(to)i(b)r(e)g(allo)n(w)n(ed,)e(though.)523 1316 y(Theft:)37 b(create)26 b(an)h(InputOnly)g(windo)n(w)g(or)f(a)g (windo)n(w)h(with)g(bac)n(kground)e(none)i(on)f(top)523 1415 y(of)e(other)f(clien)n(ts')g(windo)n(ws,)h(select)g(for)f(k)n(eyb) r(oard/mouse)e(input)j(on)g(that)g(windo)n(w,)g(and)523 1515 y(steal)i(the)g(input.)37 b(The)26 b(input)h(can)e(b)r(e)i(resen)n (t)e(using)g(SendEv)n(en)n(t)h(or)f(an)g(input)i(syn)n(thesis)523 1614 y(extension)36 b(so)g(that)g(the)h(sno)r(op)r(ed)f(application)g (con)n(tin)n(ues)g(to)g(function,)j(though)d(this)523 1714 y(w)n(on't)e(w)n(ork)e(con)n(vincingly)h(with)h(the)g(bac)n (kground)e(none)i(case)f(b)r(ecause)h(the)g(dra)n(wing)523 1814 y(will)28 b(b)r(e)g(clipp)r(ed.)523 1963 y(Defense:)53 b(send)35 b(an)h(error)d(if)j(a)f(top-lev)n(el)g(InputOnly)g(windo)n(w) g(is)h(created)e(\(or)h(repar-)523 2063 y(en)n(ted)c(to)h(the)f(ro)r (ot\).)48 b(Coun)n(termeasures)29 b(for)i(bac)n(kground)e(none)i(and)h (SendEv)n(en)n(t)e(are)523 2162 y(discussed)d(elsewhere.)523 2312 y(ISSUE:)g(The)f(Motif)h(drag)e(and)h(drop)g(proto)r(col)f (creates)h(and)g(maps)g(suc)n(h)g(a)g(windo)n(w)g(\(at)523 2411 y Fe(\000)p Ff(100,)p Fe(\000)p Ff(100,)c(size)k(10x10\))d(to)j (\\cac)n(he)e(frequen)n(tly)h(needed)h(data)f(on)g(windo)n(w)g(prop)r (erties)523 2511 y(to)g(reduce)g(roundtrip)f(serv)n(er)g(requests.")34 b(Prop)r(osed)24 b(solution:)35 b(w)n(e)25 b(could)g(only)g(send)g(an) 523 2611 y(error)32 b(if)j(the)g(windo)n(w)e(is)i(visible,)g(whic)n(h)g (w)n(ould)e(require)g(c)n(hec)n(king)g(in,)k(MapWindo)n(w,)523 2710 y(Con\014gureWindo)n(w,)26 b(and)i(Reparen)n(tWindo)n(w.)523 2860 y(Theft:)45 b(resource)29 b(ID)j(guessing)d(\(paren)n(t,)j(bac)n (kground-pixmap,)e(b)r(order-pixmap,)g(col-)523 2959 y(ormap,)d(and)g(cursor\).)523 3109 y(Defense:)37 b(send)28 b(Windo)n(w,)f(Pixmap,)g(Colormap,)g(or)f(Cursor)g(error.)523 3258 y(Denial)i(of)f(service:)36 b(create)27 b(windo)n(ws)g(un)n(til)h (the)g(serv)n(er)d(runs)j(out)f(of)h(memory)-7 b(.)523 3408 y(Defense:)37 b(quotas.)523 3557 y(Also)27 b(see)h(section)f(3.) 523 3839 y Fb(4.2)112 b(ChangeWindo)m(wA)m(ttributes)523 4042 y Ff(Alteration:)37 b(c)n(hange)26 b(the)i(attributes)f(of)h (another)f(clien)n(t's)g(windo)n(w.)523 4192 y(Theft:)38 b(select)27 b(for)g(ev)n(en)n(ts)g(on)g(another)g(clien)n(t's)g(windo)n (w.)523 4341 y(Defense)h(for)f(b)r(oth)h(of)g(the)g(ab)r(o)n(v)n(e:)35 b(send)28 b(Windo)n(w)f(error.)523 4491 y(ISSUE:)41 b(The)g(Motif)g (drop)f(proto)r(col)f(states)h(that)h(\\the)g(initiator)f(should)g (select)h(for)523 4590 y(Destro)n(yNotify)24 b(on)g(the)g(destination)g (windo)n(w)g(suc)n(h)g(that)h(it)f(is)h(a)n(w)n(are)d(of)i(a)g(p)r (oten)n(tial)g(re-)523 4690 y(ceiv)n(er)d(crash.")34 b(This)23 b(will)f(b)r(e)h(a)f(problem)g(if)h(the)g(initiator)f(is)h (an)f(un)n(trusted)g(windo)n(w)h(and)523 4790 y(the)i(destination)f(is) h(trusted.)36 b(Can)24 b(the)h(serv)n(er,)f(p)r(erhaps)g(with)h(the)g (help)g(of)f(the)h(securit)n(y)523 4889 y(manager,)e(recognize)e(that)j (a)f(drop)f(is)i(in)f(progress)e(and)i(allo)n(w)g(the)g(Destro)n (yNotify)g(ev)n(en)n(t)1934 5147 y(9)p eop end %%Page: 10 10 TeXDict begin 10 9 bop 523 614 a Ff(selection)27 b(in)h(this)g(limited) g(case?)523 764 y(ISSUE:)i(The)g(Motif)g(pre-register)d(drag)i(proto)r (col)f(probably)h(requires)f(the)i(initiator)g(to)523 863 y(select)37 b(for)f(En)n(ter/Lea)n(v)n(eNotify)e(on)i(all)g (top-lev)n(el)g(windo)n(ws.)63 b(Same)37 b(problem)f(as)g(the)523 963 y(previous)27 b(issue.)523 1112 y(Theft:)61 b(resource)38 b(ID)i(guessing)e(\(bac)n(kground-pixmap,)i(b)r(order-pixmap,)h (colormap,)523 1212 y(and)27 b(cursor\).)523 1362 y(Defense:)37 b(send)28 b(Pixmap,)f(Colormap,)f(or)h(Cursor)f(error.)523 1511 y(Also)h(see)h(section)f(3.)523 1793 y Fb(4.3)112 b(GetWindo)m(wA)m(ttributes)523 1996 y Ff(Theft:)38 b(get)27 b(the)h(attributes)g(of)f(another)g(clien)n(t's)g(windo)n(w.)523 2146 y(Theft:)38 b(resource)25 b(ID)j(guessing)f(\(windo)n(w\).)523 2295 y(Defense)h(for)f(b)r(oth)h(of)g(the)g(ab)r(o)n(v)n(e:)35 b(send)28 b(Windo)n(w)f(error.)523 2577 y Fb(4.4)112 b(Destro)m(yWindo)m(w,)38 b(Destro)m(ySub)m(windo)m(ws)523 2780 y Ff(Destruction:)f(destro)n(y)26 b(another)h(clien)n(t's)g(windo) n(w.)523 2930 y(Theft:)38 b(resource)25 b(ID)j(guessing)f(\(windo)n (w\).)523 3079 y(Defense)h(for)f(b)r(oth)h(of)g(the)g(ab)r(o)n(v)n(e:) 35 b(send)28 b(Windo)n(w)f(error.)523 3362 y Fb(4.5)112 b(ChangeSa)m(v)m(eSet)523 3565 y Ff(Alteration:)45 b(cause)32 b(another)f(clien)n(t's)h(windo)n(ws)f(to)h(b)r(e)g(reparen)n(ted)f(to) h(the)g(ro)r(ot)f(when)523 3664 y(this)24 b(clien)n(t)f(disconnects)g (\(only)g(if)h(the)g(other)f(clien)n(t's)g(windo)n(ws)g(are)f(sub)n (windo)n(ws)h(of)g(this)523 3764 y(clien)n(t's)28 b(windo)n(ws\).)523 3913 y(Defense:)46 b(pro)r(cess)31 b(the)i(request)f(normally)-7 b(.)49 b(The)32 b(trusted)g(clien)n(t)h(giv)n(es)e(a)n(w)n(a)n(y)f (some)h(of)523 4013 y(its)d(protection)f(b)n(y)g(creating)f(a)i(sub)n (windo)n(w)e(of)i(an)f(un)n(trusted)h(windo)n(w.)523 4162 y(Theft:)38 b(resource)25 b(ID)j(guessing)f(\(windo)n(w\).)523 4312 y(Defense:)37 b(send)28 b(Windo)n(w)f(error.)523 4594 y Fb(4.6)112 b(MapWindo)m(w)523 4797 y Ff(Sp)r(o)r(o\014ng:)33 b(map)20 b(a)f(windo)n(w)g(that)i(is)e(designed)h(to)g(resem)n(ble)f(a) g(windo)n(w)g(of)h(another)f(clien)n(t.)523 4897 y(Additional)28 b(requests)f(will)g(probably)g(b)r(e)h(needed)g(to)f(complete)h(the)g (illusion.)1914 5147 y(10)p eop end %%Page: 11 11 TeXDict begin 11 10 bop 523 614 a Ff(Defense:)523 764 y(W)-7 b(e)36 b(consider)e(sp)r(o)r(o\014ng)h(to)h(b)r(e)g(a)f (signi\014can)n(t)f(danger)h(only)g(if)h(the)g(user)f(is)g(con)n (vinced)523 863 y(to)f(in)n(teract)g(with)h(the)g(sp)r(o)r(of)f(windo)n (w.)57 b(The)34 b(defense)g(cen)n(ters)g(on)g(pro)n(viding)f(enough)523 963 y(information)28 b(to)h(enable)g(the)g(user)g(to)g(kno)n(w)f(where) g(k)n(eyb)r(oard,)g(mouse,)h(and)g(extension)523 1063 y(device)34 b(input)i(is)e(going.)57 b(T)-7 b(o)34 b(accomplish)g (this,)i(the)f(serv)n(er)e(will)i(co)r(op)r(erate)e(with)i(the)523 1162 y(securit)n(y)h(manager,)g(an)h(external)e(pro)r(cess.)62 b(The)36 b(serv)n(er)f(will)i(pro)n(vide)e(the)h(follo)n(wing)523 1262 y(facilities)28 b(to)f(the)h(securit)n(y)f(manager:)523 1411 y(1.)64 b(A)37 b(w)n(a)n(y)f(to)h(create)f(a)g(single)g(windo)n(w) h(that)g(is)g(unobscurable)e(b)n(y)i(an)n(y)f(windo)n(w)g(of)523 1511 y(an)n(y)26 b(other)h(clien)n(t,)g(trusted)g(or)f(un)n(trusted.)37 b(It)27 b(needs)g(to)f(b)r(e)i(unobscurable)e(so)g(that)h(it)g(is)523 1611 y(sp)r(o)r(of-pro)r(of.)523 1760 y(ISSUE:)40 b(is)h(a)f(w)n(eak)n (er)e(form)i(of)g(unobscurabilit)n(y)f(b)r(etter?)76 b(Should)40 b(the)h(windo)n(w)f(b)r(e)523 1860 y(obscurable)26 b(b)n(y)i(trusted)f(windo)n(ws,)g(for)g(example?)523 2009 y(ISSUE:)i(do)r(es)f(unobscurable)f(mean)h(that)h(it)g(is)f(a)g(c) n(hild)g(of)h(the)g(ro)r(ot)e(that)i(is)f(alw)n(a)n(ys)f(on)523 2109 y(top)h(in)f(the)h(stac)n(king)f(order?)523 2258 y(2.)37 b(A)27 b(w)n(a)n(y)g(to)g(determine)h(if)g(a)f(giv)n(en)g (windo)n(w)g(ID)h(b)r(elongs)f(to)h(an)f(un)n(trusted)h(clien)n(t.)523 2408 y(The)35 b(securit)n(y)f(manager)f(will)i(need)g(to)g(select)g (for)f(the)h(existing)g(ev)n(en)n(ts)f(F)-7 b(o)r(cusIn,)37 b(F)-7 b(o-)523 2507 y(cusOut,)34 b(En)n(terNotify)-7 b(,)35 b(Lea)n(v)n(eNotify)-7 b(,)33 b(DeviceF)-7 b(o)r(cusIn,)35 b(and)e(DeviceF)-7 b(o)r(cusOut)33 b(on)g(all)523 2607 y(windo)n(ws)26 b(to)h(trac)n(k)e(what)i(windo)n(w\(s\))g(the)g(user's) f(input)h(is)g(going)f(to.)36 b(Using)27 b(the)g(ab)r(o)n(v)n(e)523 2707 y(serv)n(er)22 b(facilities,)i(it)g(can)f(reliably)g(displa)n(y)g (the)h(trusted/un)n(trusted)f(status)g(of)g(all)h(clien)n(ts)523 2806 y(curren)n(tly)j(receiving)f(input.)523 2956 y(ISSUE:)h(is)h(it)f (to)r(o)g(m)n(uc)n(h)g(to)h(ask)e(the)i(securit)n(y)e(manager)g(to)h (select)g(for)g(all)g(these)g(ev)n(en)n(ts)523 3055 y(on)d(ev)n(ery)f (windo)n(w?)35 b(Do)24 b(w)n(e)g(need)g(to)g(pro)n(vide)e(new)j(ev)n (en)n(ts)e(that)h(y)n(ou)f(select)h(for)g(*on)f(the)523 3155 y(device*)k(that)h(tell)g(where)f(the)h(device)f(is)h(fo)r(cused?) 523 3304 y(None)g(of)f(this)h(should)f(ha)n(v)n(e)g(an)n(y)g (application)g(impact.)523 3454 y(The)i(unobscurable)f(windo)n(w)g(ma)n (y)h(b)r(e)g(tric)n(ky)f(to)h(implemen)n(t.)42 b(There)29 b(is)f(already)g(some)523 3553 y(mac)n(hinery)g(in)h(the)h(serv)n(er)d (to)i(mak)n(e)f(an)h(unobscurable)f(windo)n(w)g(for)h(the)g(screen)f (sa)n(v)n(er,)523 3653 y(whic)n(h)d(ma)n(y)g(help)g(but)h(ma)n(y)f (also)f(get)h(in)g(the)h(w)n(a)n(y)e(no)n(w)h(that)g(w)n(e)g(ha)n(v)n (e)f(to)h(deal)g(with)h(t)n(w)n(o)523 3753 y(unobscurable)g(windo)n (ws.)523 4035 y Fb(4.7)112 b(Windo)m(w)38 b(Op)s(erations)523 4238 y Ff(Sp)r(eci\014cally)-7 b(,)21 b(Reparen)n(tWindo)n(w,)f (MapWindo)n(w,)g(MapSub)n(windo)n(ws,)g(UnmapWindo)n(w,)523 4337 y(UnmapSub)n(windo)n(ws,)27 b(Con\014gureWindo)n(w,)g(and)g (CirculateWindo)n(w.)523 4487 y(Alteration:)37 b(manipulate)27 b(another)g(clien)n(t's)g(windo)n(w.)523 4636 y(Theft:)38 b(resource)25 b(ID)j(guessing)f(\(windo)n(w,)g(sibling\).)523 4786 y(Defense)g(for)f(b)r(oth)h(of)f(the)h(ab)r(o)n(v)n(e:)35 b(send)27 b(a)f(Windo)n(w)g(error)e(unless)j(it)g(is)f(a)g(ro)r(ot)g (windo)n(w,)523 4885 y(in)i(whic)n(h)f(case)g(w)n(e)g(should)h(send)f (an)h(Access)f(error.)1914 5147 y(11)p eop end %%Page: 12 12 TeXDict begin 12 11 bop 523 614 a Fb(4.8)112 b(GetGeometry)523 817 y Ff(Theft:)38 b(get)27 b(the)h(geometry)e(of)i(another)e(clien)n (t's)i(dra)n(w)n(able.)523 967 y(Theft:)38 b(resource)25 b(ID)j(guessing)f(\(dra)n(w)n(able\).)523 1116 y(Defense)35 b(for)e(b)r(oth)i(of)f(the)h(ab)r(o)n(v)n(e:)48 b(send)34 b(Dra)n(w)n(able)f(error.)55 b(Ho)n(w)n(ev)n(er,)34 b(ro)r(ot)f(windo)n (ws)523 1216 y(will)28 b(b)r(e)g(allo)n(w)n(ed.)523 1498 y Fb(4.9)112 b(QueryT)-9 b(ree)523 1701 y Ff(Theft:)38 b(resource)25 b(ID)j(guessing)f(\(windo)n(w\).)523 1851 y(Defense:)37 b(send)28 b(Windo)n(w)f(error.)523 2000 y(Theft:)38 b(disco)n(v)n(er)25 b(windo)n(w)i(IDs)h(that)g(b)r(elong)f (to)h(other)f(clien)n(ts.)523 2150 y(Defense:)37 b(F)-7 b(or)25 b(the)i(c)n(hild)f(windo)n(ws,)g(censor)f(the)i(reply)e(b)n(y)h (remo)n(ving)f(windo)n(w)h(IDs)g(that)523 2249 y(b)r(elong)d(to)h (trusted)g(clien)n(ts.)35 b(Allo)n(w)24 b(the)g(ro)r(ot)f(windo)n(w)g (to)h(b)r(e)g(returned.)35 b(F)-7 b(or)23 b(the)h(paren)n(t)523 2349 y(windo)n(w,)f(if)g(it)g(b)r(elongs)f(to)g(a)g(trusted)g(clien)n (t,)i(return)e(the)h(closest)e(ancestor)g(windo)n(w)h(that)523 2448 y(b)r(elongs)32 b(to)g(an)f(un)n(trusted)i(clien)n(t,)g(or)e(if)i (suc)n(h)f(a)f(windo)n(w)h(do)r(es)g(not)g(exist,)h(return)f(the)523 2548 y(ro)r(ot)27 b(windo)n(w)g(for)g(the)h(paren)n(t)f(windo)n(w.)523 2697 y(ISSUE:)g(will)h(some)e(applications)h(b)r(e)g(confused)g(if)h(w) n(e)f(\014lter)g(out)g(the)g(windo)n(w)g(manager)523 2797 y(frame)k(windo)n(w\(s\),)h(or)e(other)h(windo)n(ws)g(b)r(et)n(w)n (een)g(the)h(queried)f(windo)n(w)f(and)h(the)h(ro)r(ot)523 2897 y(windo)n(w?)523 3046 y(ISSUE:)22 b(the)g(Motif)h(drag)d(proto)r (col)h(\(b)r(oth)i(preregister)d(and)i(dynamic\))g(needs)g(to)f(b)r(e)i (able)523 3146 y(to)28 b(lo)r(cate)f(other)g(top-lev)n(el)f(windo)n(ws) h(for)g(p)r(oten)n(tial)h(drop)f(sites.)36 b(See)28 b(also)f(section)g (2.1.)523 3428 y Fb(4.10)112 b(In)m(ternA)m(tom)523 3631 y Ff(Theft:)47 b(disco)n(v)n(er)30 b(atom)i(v)-5 b(alues)32 b(of)g(atoms)g(in)n(terned)g(b)n(y)g(other)g(clien)n(ts.)51 b(This)32 b(lets)g(y)n(ou)523 3731 y(determine)c(if)f(a)g(sp)r (eci\014c)h(set)f(of)h(atoms)f(has)f(b)r(een)i(in)n(terned,)g(whic)n(h) f(ma)n(y)g(lead)g(to)g(other)523 3830 y(inferences.)523 3980 y(Defense:)34 b(This)20 b(is)f(a)h(minor)g(form)f(of)h(theft.)36 b(Blo)r(c)n(king)18 b(it)j(will)f(in)n(terfere)f(with)i(man)n(y)e(t)n (yp)r(es)523 4079 y(of)28 b(in)n(ter-clien)n(t)f(comm)n(unication.)36 b(W)-7 b(e)28 b(prop)r(ose)e(to)i(do)f(nothing)g(ab)r(out)h(this)g (threat.)523 4229 y(Denial)g(of)f(service:)36 b(in)n(tern)28 b(atoms)e(un)n(til)i(the)g(serv)n(er)e(runs)h(out)h(of)g(memory)-7 b(.)523 4378 y(Defense:)37 b(quotas.)1914 5147 y(12)p eop end %%Page: 13 13 TeXDict begin 13 12 bop 523 614 a Fb(4.11)112 b(GetA)m(tomName)523 817 y Ff(Theft:)46 b(disco)n(v)n(er)30 b(atom)h(names)h(of)f(atoms)h (in)n(terned)f(b)n(y)h(other)f(clien)n(ts.)49 b(This)32 b(lets)g(y)n(ou)523 917 y(determine)c(if)f(a)g(sp)r(eci\014c)h(set)f (of)h(atoms)f(has)f(b)r(een)i(in)n(terned,)g(whic)n(h)f(ma)n(y)g(lead)g (to)g(other)523 1017 y(inferences.)523 1166 y(Defense:)46 b(This)32 b(is)g(a)g(minor)g(form)f(of)h(theft.)52 b(W)-7 b(e)32 b(prop)r(ose)f(to)h(do)g(nothing)g(ab)r(out)g(this)523 1266 y(threat.)523 1548 y Fb(4.12)112 b(ChangeProp)s(ert)m(y)523 1751 y Ff(Alteration:)34 b(c)n(hange)20 b(a)i(prop)r(ert)n(y)e(on)i (another)e(clien)n(t's)i(windo)n(w)f(or)g(one)g(that)h(w)n(as)f(stored) 523 1851 y(b)n(y)27 b(another)g(clien)n(t.)523 2000 y(Theft:)38 b(resource)25 b(ID)j(guessing)f(\(windo)n(w\).)523 2150 y(Defense)h(for)f(b)r(oth)h(of)g(the)g(ab)r(o)n(v)n(e:)35 b(send)28 b(Windo)n(w)f(error.)523 2299 y(ISSUE:)h(Selection)h (transfer)e(requires)g(the)i(selection)e(o)n(wner)g(to)i(c)n(hange)e(a) h(prop)r(ert)n(y)f(on)523 2399 y(the)d(requestor's)e(windo)n(w.)36 b(Do)r(es)23 b(the)i(securit)n(y)e(manager)f(get)i(us)f(out)h(of)g (this?)36 b(Do)r(es)24 b(the)523 2498 y(serv)n(er)34 b(notice)h(the)h(prop)r(ert)n(y)e(name)h(and)g(windo)n(w)g(passed)g(in) h(Con)n(v)n(ertSelection)e(and)523 2598 y(temp)r(orarily)27 b(allo)n(w)f(that)i(windo)n(w)f(prop)r(ert)n(y)f(to)i(b)r(e)g(written?) 523 2747 y(ISSUE:)g(should)f(certain)g(ro)r(ot)g(windo)n(w)g(prop)r (erties)g(b)r(e)h(writable?)523 2897 y(Denial)36 b(of)f(service:)51 b(store)35 b(additional)g(prop)r(ert)n(y)f(data)h(un)n(til)h(the)f (serv)n(er)f(runs)h(out)g(of)523 2996 y(memory)-7 b(.)523 3146 y(Defense:)37 b(quotas.)523 3428 y Fb(4.13)112 b(DeleteProp)s(ert) m(y)523 3631 y Ff(Destruction:)37 b(delete)28 b(a)f(prop)r(ert)n(y)f (stored)h(b)n(y)g(another)g(clien)n(t.)523 3780 y(Theft:)38 b(resource)25 b(ID)j(guessing)f(\(windo)n(w\).)523 3930 y(Defense)h(for)f(b)r(oth)h(of)g(the)g(ab)r(o)n(v)n(e:)35 b(send)28 b(Windo)n(w)f(error.)523 4212 y Fb(4.14)112 b(GetProp)s(ert)m(y)523 4415 y Ff(Theft:)38 b(get)27 b(a)g(prop)r(ert)n(y)g(stored)f(b)n(y)i(another)e(clien)n(t.)523 4565 y(Theft:)38 b(resource)25 b(ID)j(guessing)f(\(windo)n(w\).)523 4714 y(Defense)h(for)f(b)r(oth)h(of)g(the)g(ab)r(o)n(v)n(e:)35 b(send)28 b(Windo)n(w)f(error.)1914 5147 y(13)p eop end %%Page: 14 14 TeXDict begin 14 13 bop 523 614 a Ff(ISSUE:)31 b(should)f(certain)g(ro) r(ot)g(windo)n(w)g(prop)r(erties)g(b)r(e)h(readable?)45 b(Prop)r(osed)29 b(answ)n(er:)523 714 y(y)n(es,)e(some)g (con\014gurable)f(list.)37 b(Do)28 b(those)f(prop)r(erties)g(need)g(to) h(b)r(e)g(p)r(olyinstan)n(tiated?)523 863 y(ISSUE:)39 b(Motif)f(drag)f(and)i(drop)e(needs)i(to)f(b)r(e)h(able)f(to)g(read)g (the)g(follo)n(wing)g(prop)r(er-)523 963 y(ties:)59 b(WM)p 896 963 25 4 v 30 w(ST)-7 b(A)g(TE)38 b(to)h(iden)n(tify)g(top-lev)n (el)e(windo)n(ws,)p 2380 963 V 70 w(MOTIF)p 2694 963 V 30 w(DRA)n(G)p 2973 963 V 31 w(WINDO)n(W)523 1063 y(on)c(the)h(ro)r (ot)f(windo)n(w,)p 1314 1063 V 64 w(MOTIF)p 1629 1063 V 30 w(DRA)n(G)p 1908 1063 V 30 w(T)-7 b(AR)n(GETS)34 b(on)f(the)h(windo)n(w)f(giv)n(en)f(in)i(the)p 523 1162 V 548 1162 a(MOTIF)p 838 1162 V 30 w(DRA)n(G)p 1117 1162 V 30 w(WINDO)n(W)c(prop)r(ert)n(y)-7 b(,)29 b(and)p 2086 1162 V 59 w(MOTIF)p 2401 1162 V 29 w(DRA)n(G)p 2679 1162 V 31 w(RECEIVER)p 3155 1162 V 29 w(INF)n(O)523 1262 y(on)h(windo)n(ws)g (with)g(drop)g(sites.)45 b(Additionally)-7 b(,)31 b(some)f(prop)r (erties)f(are)h(needed)g(that)h(do)523 1362 y(not)d(ha)n(v)n(e)e (\014xed)i(names.)523 1644 y Fb(4.15)112 b(RotateProp)s(erties)523 1847 y Ff(Alteration:)37 b(rotate)26 b(prop)r(erties)h(stored)g(b)n(y)g (another)g(clien)n(t.)523 1996 y(Theft:)38 b(resource)25 b(ID)j(guessing)f(\(windo)n(w\).)523 2146 y(Defense)h(for)f(b)r(oth)h (of)g(the)g(ab)r(o)n(v)n(e:)35 b(send)28 b(Windo)n(w)f(error.)523 2428 y Fb(4.16)112 b(ListProp)s(erties)523 2631 y Ff(Theft:)38 b(list)27 b(prop)r(erties)g(stored)g(b)n(y)g(another)g(clien)n(t.)523 2780 y(Theft:)38 b(resource)25 b(ID)j(guessing)f(\(windo)n(w\).)523 2930 y(Defense)h(for)f(b)r(oth)h(of)g(the)g(ab)r(o)n(v)n(e:)35 b(send)28 b(Windo)n(w)f(error.)523 3079 y(ISSUE:)h(should)f(certain)g (ro)r(ot)g(windo)n(w)g(prop)r(erties)g(b)r(e)h(listable?)523 3362 y Fb(4.17)112 b(SetSelectionOwner)523 3565 y Ff(Theft:)38 b(Steal)27 b(o)n(wnership)g(of)g(a)g(selection.)523 3714 y(Denial)19 b(of)g(service:)32 b(do)18 b(this)h(rep)r(eatedly)g(so)f (that)h(no)g(other)f(clien)n(t)i(can)e(o)n(wn)g(the)i(selection.)523 3863 y(Defense)35 b(for)f(b)r(oth)i(of)e(the)i(ab)r(o)n(v)n(e:)49 b(ha)n(v)n(e)34 b(a)g(con\014gurable)g(list)h(of)f(selections)g(that)h (un-)523 3963 y(trusted)28 b(clien)n(ts)f(can)g(o)n(wn.)37 b(F)-7 b(or)27 b(other)g(selections,)g(treat)g(this)h(request)f(as)g(a) g(no-op.)523 4113 y(ISSUE:)e(ho)n(w)f(do)r(es)g(the)h(securit)n(y)f (manager)f(get)i(in)n(v)n(olv)n(ed)e(here?)36 b(Is)24 b(it)h(the)h(one)e(that)h(has)523 4212 y(the)j(con\014gurable)e(list)i (of)f(selections)g(instead)h(of)f(the)h(serv)n(er?)523 4362 y(Theft:)38 b(resource)25 b(ID)j(guessing)f(\(windo)n(w\).)523 4511 y(Defense:)37 b(send)28 b(Windo)n(w)f(error.)1914 5147 y(14)p eop end %%Page: 15 15 TeXDict begin 15 14 bop 523 614 a Fb(4.18)112 b(GetSelectionOwner)523 817 y Ff(Theft:)56 b(disco)n(v)n(er)35 b(the)j(ID)f(of)g(another)f (clien)n(t's)h(windo)n(w)f(via)h(the)g(o)n(wner)f(\014eld)h(of)g(the) 523 917 y(reply)-7 b(.)523 1066 y(Defense:)37 b(if)27 b(the)h(selection)e(is)h(on)f(the)i(con\014gurable)d(list)i(men)n (tioned)g(ab)r(o)n(v)n(e,)f(return)g(the)523 1166 y(ro)r(ot)h(windo)n (w)g(ID,)h(else)f(return)h(None.)523 1316 y(ISSUE:)g(ho)n(w)f(do)r(es)g (the)h(securit)n(y)f(manager)f(get)h(in)n(v)n(olv)n(ed)f(here?)523 1593 y Fb(4.19)112 b(Con)m(v)m(ertSelection)523 1796 y Ff(Theft:)46 b(this)32 b(initiates)g(a)f(selection)g(transfer)g (\(see)h(the)g(ICCCM\))g(whic)n(h)f(sends)h(the)g(se-)523 1895 y(lection)e(con)n(ten)n(ts)f(from)h(the)g(selection)f(o)n(wner,)h (whic)n(h)f(ma)n(y)g(b)r(e)i(another)e(clien)n(t,)h(to)g(the)523 1995 y(requesting)d(clien)n(t.)523 2145 y(Defense:)35 b(since)24 b(in)f(man)n(y)g(cases)g(Con)n(v)n(ertSelection)f(is)h(done) g(in)h(direct)f(resp)r(onse)g(to)g(user)523 2244 y(in)n(teraction,)29 b(it)h(is)g(probably)f(b)r(est)h(not)f(to)h(force)f(it)h(to)f(fail,)i (either)e(silen)n(tly)h(or)e(with)j(an)523 2344 y(error.)36 b(The)28 b(serv)n(er)f(should)h(rely)f(on)h(the)g(securit)n(y)f (manager)g(to)h(assist)f(in)h(handling)g(the)523 2443 y(selection)f(transfer.)523 2593 y(Theft:)38 b(resource)25 b(ID)j(guessing)f(\(requestor\).)523 2742 y(Defense:)37 b(send)28 b(Windo)n(w)f(error.)523 3019 y Fb(4.20)112 b(SendEv)m(en)m(t)523 3223 y Ff(A)30 b(clien)n(t)g(can)f(use)h(SendEv)n (en)n(t)f(to)g(cause)g(ev)n(en)n(ts)g(of)h(an)n(y)f(t)n(yp)r(e)g(to)h (b)r(e)g(sen)n(t)g(to)f(windo)n(ws)523 3322 y(of)g(other)g(clien)n(ts.) 41 b(Similarly)-7 b(,)29 b(a)f(clien)n(t)i(could)e(SendEv)n(en)n(t)h (to)g(one)f(of)h(its)h(o)n(wn)e(windo)n(ws)523 3422 y(with)33 b(prop)r(ogate)d(set)i(to)g(T)-7 b(rue)32 b(and)g(arrange)e(for)h(the)i (ev)n(en)n(t)e(to)h(b)r(e)h(prop)r(ogated)d(up)j(to)523 3521 y(a)d(windo)n(w)f(it)i(do)r(es)e(not)h(o)n(wn.)44 b(Clien)n(ts)30 b(can)g(detect)g(ev)n(en)n(ts)f(generated)g(b)n(y)h (SendEv)n(en)n(t,)523 3621 y(but)e(w)n(e)f(cannot)h(assume)e(that)i (they)g(will.)523 3770 y(Defense:)33 b(ignore)19 b(this)h(request)f (unless)g(the)h(ev)n(en)n(t)f(b)r(eing)h(sen)n(t)g(is)f(a)h(Clien)n (tMessage)e(ev)n(en)n(t,)523 3870 y(whic)n(h)29 b(should)f(b)r(e)h(sen) n(t)g(normally)e(so)h(that)h(selection)f(transfer,)g(Motif)h(drag)e (and)i(drop,)523 3970 y(and)e(certain)g(input)i(metho)r(ds)f(ha)n(v)n (e)e(a)h(c)n(hance)g(at)h(w)n(orking.)523 4119 y(ISSUE:)g(do)r(es)f (allo)n(wing)f(all)i(Clien)n(tMessages)d(op)r(en)j(up)g(to)r(o)f(big)h (a)f(hole?)523 4269 y(Theft:)38 b(resource)25 b(ID)j(guessing)f (\(windo)n(w\).)523 4418 y(Defense:)37 b(send)28 b(Windo)n(w)f(error.) 523 4695 y Fb(4.21)112 b(Keyb)s(oard)39 b(and)f(P)m(oin)m(ter)f(Grabs) 523 4898 y Ff(Sp)r(eci\014cally)-7 b(,)28 b(GrabKeyb)r(oard,)d(GrabP)n (oin)n(ter,)g(GrabKey)-7 b(,)27 b(and)g(GrabButton.)1914 5147 y(15)p eop end %%Page: 16 16 TeXDict begin 16 15 bop 523 614 a Ff(Denial)37 b(of)f(service/Theft:)54 b(tak)n(e)36 b(o)n(v)n(er)f(the)i(k)n(eyb)r(oard)e(and)h(p)r(oin)n (ter.)64 b(This)37 b(could)f(b)r(e)523 714 y(view)n(ed)26 b(as)f(denial)h(of)g(service)e(since)i(it)h(prev)n(en)n(ts)d(other)i (clien)n(ts)g(from)f(getting)h(k)n(eyb)r(oard)523 814 y(or)d(mouse)g(input,)i(or)d(it)i(could)g(b)r(e)g(view)n(ed)f(as)f (theft)j(since)e(the)h(user)f(input)h(ma)n(y)f(not)h(ha)n(v)n(e)523 913 y(b)r(een)k(in)n(tended)g(for)f(the)h(grabbing)e(clien)n(t.)523 1063 y(Defense:)54 b(pro)n(vide)34 b(a)i(w)n(a)n(y)e(to)i(break)e (grabs)h(via)g(some)g(k)n(eystrok)n(e)f(com)n(bination,)j(and)523 1162 y(ha)n(v)n(e)25 b(a)g(status)h(area)f(that)h(sho)n(ws)f(whic)n(h)g (clien)n(t)i(is)e(getting)h(input.)37 b(\(See)26 b(MapWindo)n(w.\))523 1312 y(Theft:)38 b(resource)25 b(ID)j(guessing)f(\(grab-windo)n(w,)f (con\014ne-to,)h(cursor\).)523 1461 y(Defense:)37 b(send)28 b(Windo)n(w)f(or)g(Cursor)f(error.)523 1743 y Fb(4.22)112 b(ChangeActiv)m(eP)m(oin)m(terGrab)523 1946 y Ff(Theft:)38 b(resource)25 b(ID)j(guessing)f(\(cursor\).)523 2096 y(Defense:)37 b(send)28 b(Cursor)e(error.)523 2378 y Fb(4.23)112 b(GrabServ)m(er)523 2581 y Ff(Denial)34 b(of)g(service:)49 b(a)34 b(clien)n(t)g(can)g(grab)e(the)j(serv)n(er)d(and)i(not)g(let)h (go,)f(lo)r(c)n(king)g(out)g(all)523 2681 y(other)27 b(clien)n(ts.)523 2830 y(Defense:)37 b(pro)n(vide)27 b(a)g(w)n(a)n(y)f(to)i(break)e(grabs)g(via)h(some)g(k)n(eystrok)n(e)f (com)n(bination.)523 3112 y Fb(4.24)112 b(QueryP)m(oin)m(ter)523 3316 y Ff(Theft:)47 b(A)33 b(clien)n(t)g(can)f(steal)g(p)r(oin)n(ter)g (motion)g(and)g(p)r(osition,)i(button)f(input,)i(mo)r(di\014er)523 3415 y(k)n(ey)27 b(state,)g(and)h(p)r(ossibly)f(a)g(windo)n(w)g(of)h (another)f(clien)n(t)g(with)h(this)g(request.)523 3565 y(Defense:)34 b(if)22 b(the)f(querying)f(clien)n(t)h(do)r(esn't)g(ha)n (v)n(e)f(the)h(p)r(oin)n(ter)g(grabb)r(ed,)h(and)e(the)i(p)r(oin)n(ter) 523 3664 y(is)28 b(not)f(in)h(one)f(of)h(its)g(windo)n(ws,)e(the)i (information)f(can)h(b)r(e)g(zero)r(ed.)523 3814 y(Theft:)38 b(resource)25 b(ID)j(guessing)f(\(windo)n(w\).)523 3963 y(Defense:)37 b(send)28 b(Windo)n(w)f(error.)523 4245 y Fb(4.25)112 b(GetMotionEv)m(en)m(ts)523 4448 y Ff(Theft:)38 b(steal)27 b(p)r(oin)n(ter)g(motion)g(input)i(that)f(w)n(en)n(t)f(to)g (other)g(clien)n(ts.)523 4598 y(Defense:)49 b(ideally)-7 b(,)35 b(the)e(serv)n(er)f(w)n(ould)h(return)g(only)g(p)r(oin)n(ter)g (input)h(that)g(w)n(as)e(not)i(de-)523 4697 y(liv)n(ered)g(to)h(an)n(y) f(trusted)h(clien)n(t.)59 b(The)35 b(implemen)n(tation)g(e\013ort)g(to) g(do)f(that)i(probably)523 4797 y(out)n(w)n(eighs)31 b(the)h(marginal)e(b)r(ene\014ts.)51 b(Instead,)33 b(w)n(e)e(will)h (alw)n(a)n(ys)e(return)i(an)f(empt)n(y)h(list)523 4897 y(of)c(motion)f(ev)n(en)n(ts)g(to)g(un)n(trusted)h(clien)n(ts.)1914 5147 y(16)p eop end %%Page: 17 17 TeXDict begin 17 16 bop 523 614 a Ff(Theft:)38 b(resource)25 b(ID)j(guessing)f(\(windo)n(w\).)523 764 y(Defense:)37 b(send)28 b(Windo)n(w)f(error.)523 1046 y Fb(4.26)112 b(T)-9 b(ranslateCo)s(ordinates)523 1249 y Ff(Theft:)37 b(disco)n(v)n(er)24 b(information)i(ab)r(out)g(other)g(clien)n(ts')g (windo)n(ws:)35 b(p)r(osition,)27 b(screen,)f(and)523 1349 y(p)r(ossibly)h(the)h(ID)g(of)g(one)f(of)h(their)f(sub)n(windo)n (ws.)523 1498 y(Defense:)51 b(send)35 b(an)f(error)f(if)i(src-windo)n (w)d(or)i(dst-windo)n(w)g(do)g(not)h(b)r(elong)f(to)g(the)h(re-)523 1598 y(questing)27 b(clien)n(t.)523 1747 y(Theft:)38 b(resource)25 b(ID)j(guessing)f(\(src-windo)n(w,)f(dst-windo)n(w\).)523 1897 y(Defense:)37 b(send)28 b(Windo)n(w)f(error.)523 2179 y Fb(4.27)112 b(W)-9 b(arpP)m(oin)m(ter)523 2382 y Ff(A)28 b(clien)n(t)g(can)f(cause)g(p)r(oin)n(ter)g(motion)g(to)h(o)r (ccur)f(in)h(another)e(clien)n(t's)i(windo)n(w.)523 2531 y(Denial)35 b(of)g(service:)50 b(rep)r(eated)34 b(p)r(oin)n(ter)g(w)n (arping)g(prev)n(en)n(ts)f(the)i(user)f(from)h(using)f(the)523 2631 y(mouse)27 b(normally)-7 b(.)523 2780 y(Defense)33 b(for)e(b)r(oth)i(of)f(the)h(ab)r(o)n(v)n(e:)44 b(if)33 b(the)g(querying)e(clien)n(t)h(do)r(esn't)g(ha)n(v)n(e)f(the)i(p)r(oin) n(ter)523 2880 y(grabb)r(ed,)i(and)f(the)h(p)r(oin)n(ter)f(is)g(not)g (in)h(one)e(of)i(its)f(windo)n(ws,)h(treat)f(the)h(request)e(as)h(a)523 2980 y(no-op.)523 3129 y(Theft:)k(resource)25 b(ID)j(guessing)f (\(src-windo)n(w,)f(dst-windo)n(w\).)523 3279 y(Defense:)37 b(send)28 b(Windo)n(w)f(error.)523 3561 y Fb(4.28)112 b(SetInputF)-9 b(o)s(cus)523 3764 y Ff(Theft:)46 b(a)32 b(clien)n(t)g(can)f(use)h(this)g(request)g(to)f(mak)n(e)g(one)h(of)g (its)g(o)n(wn)f(windo)n(ws)g(ha)n(v)n(e)g(the)523 3863 y(input)36 b(fo)r(cus)g(\(k)n(eyb)r(oard)e(fo)r(cus\).)61 b(The)35 b(user)g(ma)n(y)g(b)r(e)h(una)n(w)n(are)e(that)h(k)n(eystrok)n (es)e(are)523 3963 y(no)n(w)27 b(going)f(to)i(a)f(di\013eren)n(t)h (windo)n(w.)523 4113 y(Denial)38 b(of)h(service:)56 b(rep)r(eatedly)38 b(setting)g(input)h(fo)r(cus)g(prev)n(en)n(ts)e(normal)g(use)h(of)g (the)523 4212 y(k)n(eyb)r(oard.)523 4362 y(Defense)28 b(for)f(b)r(oth)h(of)g(the)g(ab)r(o)n(v)n(e:)35 b(only)27 b(allo)n(w)g(un)n(trusted)g(clien)n(ts)h(to)f(SetInputF)-7 b(o)r(cus)29 b(if)523 4461 y(input)f(fo)r(cus)g(is)g(curren)n(tly)e (held)i(b)n(y)f(another)g(un)n(trusted)h(clien)n(t.)523 4611 y(ISSUE:)g(this)f(will)h(break)e(clien)n(ts)i(using)f(the)h (Globally)e(Activ)n(e)i(Input)g(mo)r(del)g(describ)r(ed)523 4710 y(in)g(section)f(4.1.7)f(of)i(the)g(ICCCM.)523 4860 y(Theft:)38 b(resource)25 b(ID)j(guessing)f(\(fo)r(cus\).)1914 5147 y(17)p eop end %%Page: 18 18 TeXDict begin 18 17 bop 523 614 a Ff(Defense:)37 b(send)28 b(Windo)n(w)f(error.)523 897 y Fb(4.29)112 b(GetInputF)-9 b(o)s(cus)523 1100 y Ff(Theft:)38 b(the)28 b(reply)f(ma)n(y)g(con)n (tain)f(the)i(ID)h(of)e(another)g(clien)n(t's)g(windo)n(w.)523 1249 y(Defense:)52 b(return)35 b(a)f(fo)r(cus)i(windo)n(w)e(of)h(None)g (if)h(a)e(trusted)h(clien)n(t)g(curren)n(tly)f(has)h(the)523 1349 y(input)28 b(fo)r(cus.)523 1631 y Fb(4.30)112 b(QueryKeymap)523 1834 y Ff(Theft:)38 b(p)r(oll)27 b(the)h(k)n(eyb)r(oard)e(with)i(this)g (to)g(see)f(whic)n(h)h(k)n(eys)e(are)h(b)r(eing)h(pressed.)523 1983 y(Defense:)37 b(zero)26 b(the)i(returned)f(bit)h(v)n(ector)e(if)h (a)g(trusted)h(clien)n(t)f(curren)n(tly)f(has)h(the)h(input)523 2083 y(fo)r(cus.)523 2365 y Fb(4.31)112 b(F)-9 b(on)m(t)38 b(Requests)523 2568 y Ff(Sp)r(eci\014cally)-7 b(,)35 b(Op)r(enF)-7 b(on)n(t,)36 b(QueryF)-7 b(on)n(t,)34 b(ListF)-7 b(on)n(ts,)35 b(ListF)-7 b(on)n(tsWithInfo,)35 b(and)f(Query-)523 2668 y(T)-7 b(extExten)n(ts.)523 2817 y(Theft:)36 b(disco)n(v)n(er)22 b(fon)n(t)i(name,)h(glyph,)g(and)f(metric)g(information)g(ab)r(out)g (fon)n(ts)g(that)g(w)n(ere)523 2917 y(pro)n(vided)33 b(b)n(y)i(another)e(clien)n(t)h(\(b)n(y)h(setting)f(the)h(fon)n(t)g (path\).)57 b(Whether)35 b(it)g(is)f(theft)i(to)523 3017 y(retriev)n(e)29 b(information)g(ab)r(out)g(fon)n(ts)h(from)g(the)g (serv)n(er's)e(initial)i(fon)n(t)f(path)h(dep)r(ends)h(on)523 3116 y(whether)21 b(or)g(not)g(y)n(ou)g(b)r(eliev)n(e)g(those)g(fon)n (ts,)i(b)n(y)e(their)g(existence)h(in)f(the)h(initial)g(fon)n(t)f (path,)523 3216 y(are)27 b(in)n(tended)h(to)f(b)r(e)h(globally)e (accessible)h(b)n(y)g(all)h(clien)n(ts.)523 3365 y(Defense:)523 3515 y(Main)n(tain)f(t)n(w)n(o)f(separate)f(fon)n(t)i(paths,)g(one)g (for)f(trusted)h(clien)n(ts)g(and)f(one)h(for)f(un)n(trusted)523 3614 y(clien)n(ts.)35 b(They)23 b(are)f(b)r(oth)i(initialized)f(to)g (the)g(default)h(fon)n(t)f(path)g(at)g(serv)n(er)e(reset.)35 b(Subse-)523 3714 y(quen)n(tly)-7 b(,)27 b(c)n(hanges)e(to)h(one)g(do)g (not)g(a\013ect)g(the)h(other.)36 b(Since)26 b(un)n(trusted)h(clien)n (ts)f(will)g(not)523 3814 y(see)h(fon)n(t)h(path)g(elemen)n(ts)g(added) f(b)n(y)h(trusted)f(clien)n(ts,)h(they)g(will)g(not)g(b)r(e)g(able)f (to)h(access)523 3913 y(an)n(y)f(fon)n(ts)g(pro)n(vided)g(b)n(y)g (those)g(fon)n(t)h(path)g(elemen)n(ts.)523 4063 y(Theft:)38 b(resource)25 b(ID)j(guessing)f(\(fon)n(t\))h(\(QueryF)-7 b(on)n(t)27 b(and)g(QueryT)-7 b(extExten)n(ts)26 b(only\).)523 4212 y(Defense:)37 b(send)28 b(F)-7 b(on)n(t)27 b(error.)523 4362 y(Denial)34 b(of)g(service:)48 b(op)r(en)34 b(fon)n(ts)f(un)n(til) h(the)g(serv)n(er)e(runs)i(out)f(of)h(memory)f(\(Op)r(enF)-7 b(on)n(t)523 4461 y(only\).)523 4611 y(Defense:)37 b(quotas.)1914 5147 y(18)p eop end %%Page: 19 19 TeXDict begin 19 18 bop 523 614 a Fb(4.32)112 b(CloseF)-9 b(on)m(t)523 817 y Ff(Destruction:)37 b(close)27 b(another)f(clien)n (t's)i(fon)n(t.)523 967 y(Defense:)37 b(send)28 b(F)-7 b(on)n(t)27 b(error.)523 1249 y Fb(4.33)112 b(SetF)-9 b(on)m(tP)m(ath)523 1452 y Ff(Denial)32 b(of)g(service:)44 b(c)n(hange)31 b(the)h(fon)n(t)g(path)g(so)f(that)h(other)f(clien)n(ts) h(cannot)f(\014nd)h(their)523 1551 y(fon)n(ts.)523 1701 y(Alteration:)46 b(c)n(hange)31 b(the)h(fon)n(t)h(path)f(so)g(that)g (other)g(clien)n(ts)g(get)g(di\013eren)n(t)g(fon)n(ts)g(than)523 1800 y(they)c(exp)r(ected.)523 1950 y(Defense)34 b(for)g(b)r(oth)g(of)g (the)g(ab)r(o)n(v)n(e:)48 b(separate)32 b(fon)n(t)i(paths)g(for)f (trusted)h(and)f(un)n(trusted)523 2049 y(clien)n(ts,)28 b(as)e(describ)r(ed)i(in)g(the)g(F)-7 b(on)n(t)27 b(Requests)h (section.)523 2199 y(ISSUE:)23 b(the)h(prin)n(ting)f(pro)5 b(ject)22 b(considered)g(p)r(er-clien)n(t)h(fon)n(t)g(paths)g(and)g (concluded)g(that)523 2298 y(it)d(w)n(as)e(v)n(ery)g(di\016cult)h(to)g (do.)34 b(W)-7 b(e)20 b(should)e(lo)r(ok)h(at)g(this)g(asp)r(ect)g(of)g (the)h(prin)n(t)f(serv)n(er)e(design)523 2398 y(to)26 b(see)f(if)h(w)n(e)f(can)h(reuse)f(the)h(same)f(sc)n(heme.)36 b(W)-7 b(e)26 b(should)f(also)g(try)g(to)h(reconstruct)e(what)523 2498 y(w)n(as)j(so)g(di\016cult)h(ab)r(out)g(this;)f(it)h(do)r(esn't)g (seem)g(that)g(hard)e(on)i(the)g(surface.)523 2779 y Fb(4.34)112 b(GetF)-9 b(on)m(tP)m(ath)523 2982 y Ff(Theft:)38 b(retriev)n(e)26 b(fon)n(t)i(path)f(elemen)n(ts)h(that)g(w)n(ere)e(set) i(b)n(y)f(other)g(clien)n(ts.)523 3132 y(Use)k(kno)n(wledge)f(from)h (fon)n(t)g(path)g(elemen)n(ts)g(to)g(moun)n(t)g(other)g(attac)n(ks,)g (e.g.,)h(attac)n(k)e(a)523 3231 y(fon)n(t)e(serv)n(er)d(found)j(in)g (the)g(fon)n(t)g(path.)523 3381 y(Defense)34 b(for)g(b)r(oth)g(of)g (the)g(ab)r(o)n(v)n(e:)48 b(separate)32 b(fon)n(t)i(paths)g(for)f (trusted)h(and)f(un)n(trusted)523 3481 y(clien)n(ts,)28 b(as)e(describ)r(ed)i(in)g(the)g(F)-7 b(on)n(t)27 b(Requests)h (section.)523 3762 y Fb(4.35)112 b(CreatePixmap)523 3965 y Ff(Theft:)38 b(resource)25 b(ID)j(guessing)f(\(dra)n(w)n(able\).)523 4115 y(Defense:)37 b(send)28 b(Dra)n(w)n(able)e(error.)523 4264 y(Denial)i(of)f(service:)36 b(create)27 b(pixmaps)g(un)n(til)h (the)g(serv)n(er)e(runs)h(out)h(of)f(memory)-7 b(.)523 4414 y(Defense:)37 b(quotas.)523 4695 y Fb(4.36)112 b(F)-9 b(reePixmap)523 4898 y Ff(Destruction:)37 b(destro)n(y)26 b(another)h(clien)n(t's)g(pixmap.)1914 5147 y(19)p eop end %%Page: 20 20 TeXDict begin 20 19 bop 523 614 a Ff(Defense:)37 b(send)28 b(Pixmap)f(error.)523 890 y Fb(4.37)112 b(CreateGC)523 1093 y Ff(Theft:)38 b(resource)25 b(ID)j(guessing)f(\(dra)n(w)n(able,)f (tile,)i(stipple,)g(fon)n(t,)g(clip-mask\).)523 1242 y(Defense:)37 b(send)28 b(Dra)n(w)n(able,)e(Pixmap,)h(or)g(F)-7 b(on)n(t)27 b(error.)523 1391 y(Denial)h(of)f(service:)36 b(create)27 b(GCs)g(un)n(til)h(the)g(serv)n(er)e(runs)h(out)h(of)f (memory)-7 b(.)523 1541 y(Defense:)37 b(quotas.)523 1816 y Fb(4.38)112 b(Cop)m(yGC)523 2019 y Ff(Theft:)38 b(cop)n(y)26 b(GC)i(v)-5 b(alues)27 b(of)h(another)f(clien)n(t's)g(GC.)523 2169 y(Alteration:)37 b(cop)n(y)26 b(GC)i(v)-5 b(alues)27 b(to)h(another)e(clien)n(t's)i(GC.)523 2318 y(Defense)g(for)f(b)r(oth)h (of)g(the)g(ab)r(o)n(v)n(e:)35 b(send)28 b(GC)g(error.)523 2593 y Fb(4.39)112 b(ChangeGC,)39 b(SetDashes,)g(SetClipRectangles)523 2796 y Ff(Alteration:)e(c)n(hange)26 b(v)-5 b(alues)27 b(of)h(another)e(clien)n(t's)i(GC.)523 2946 y(Theft:)61 b(resource)37 b(ID)j(guessing)e(\(gc,)k(tile,)h(stipple,)g(fon)n(t,)f (clip-mask\))d(\(last)g(four)g(for)523 3045 y(ChangeGC)27 b(only\).)523 3195 y(Defense)h(for)f(b)r(oth)h(of)g(the)g(ab)r(o)n(v)n (e:)35 b(send)28 b(GC)g(error.)523 3470 y Fb(4.40)112 b(F)-9 b(reeGC)523 3673 y Ff(Destruction:)37 b(destro)n(y)26 b(another)h(clien)n(t's)g(GC.)523 3822 y(Defense:)37 b(send)28 b(GC)g(error.)523 4097 y Fb(4.41)112 b(Dra)m(wing)38 b(Requests)523 4301 y Ff(Sp)r(eci\014cally)-7 b(,)35 b(ClearArea,)f(Cop)n(yArea,)f(Cop)n(yPlane,)h(P)n(olyP)n(oin)n(t,)f(P)n (olyLine,)h(P)n(olySeg-)523 4400 y(men)n(t,)22 b(P)n(olyRectangle,)e(P) n(olyArc,)f(FillP)n(oly)-7 b(,)21 b(P)n(olyFillRectangle,)f(P)n (olyFillArc,)h(PutIm-)523 4500 y(age,)27 b(P)n(olyT)-7 b(ext8,)26 b(P)n(olyT)-7 b(ext16,)25 b(ImageT)-7 b(ext8,)26 b(and)i(ImageT)-7 b(ext16.)523 4649 y(Alteration:)37 b(dra)n(w)26 b(to)h(another)g(clien)n(t's)h(dra)n(w)n(able.)523 4799 y(Theft:)38 b(resource)26 b(ID)j(guessing:)36 b(ClearArea)26 b(-)i(windo)n(w;)f(Cop)n(yArea,)g(Cop)n(yPlane)f(-)h(src-)523 4898 y(dra)n(w)n(able,)f(dst-dra)n(w)n(able,)g(gc;)h(all)g(others)g(-)g (dra)n(w)n(able,)f(gc.)1914 5147 y(20)p eop end %%Page: 21 21 TeXDict begin 21 20 bop 523 614 a Ff(Defense)28 b(for)f(b)r(oth)h(of)g (the)g(ab)r(o)n(v)n(e:)35 b(send)28 b(appropriate)e(error.)523 764 y(ISSUE:)32 b(The)g(Motif)h(preregister)d(drag)h(proto)r(col)f (requires)h(clien)n(ts)h(to)g(dra)n(w)f(in)n(to)g(win-)523 863 y(do)n(ws)c(of)g(other)g(clien)n(ts)h(for)f(drag-o)n(v)n(er/under)c (e\013ects.)523 1013 y(Sp)r(o)r(o\014ng:)37 b(dra)n(w)26 b(to)i(a)f(windo)n(w)g(to)g(mak)n(e)g(it)h(resem)n(ble)f(a)g(windo)n(w) g(of)h(another)e(clien)n(t.)523 1162 y(Defense:)37 b(see)28 b(MapWindo)n(w.)523 1445 y Fb(4.42)112 b(GetImage)523 1648 y Ff(Theft:)38 b(get)27 b(the)h(image)f(of)g(another)g(clien)n (t's)h(dra)n(w)n(able.)523 1797 y(Theft:)38 b(resource)25 b(ID)j(guessing)f(\(dra)n(w)n(able\).)523 1946 y(Defense:)37 b(send)28 b(Dra)n(w)n(able)e(error.)523 2096 y(Theft:)47 b(get)32 b(the)h(image)e(of)h(y)n(our)f(o)n(wn)h(windo)n(w,)h(whic)n(h) f(ma)n(y)f(con)n(tain)h(pieces)g(of)g(other)523 2196 y(o)n(v)n(erlapping)25 b(windo)n(ws.)523 2345 y(Defense:)44 b(censor)30 b(returned)h(images)f(b)n(y)h(blotting)g(out)g(areas)e (that)j(con)n(tain)e(data)h(from)523 2445 y(trusted)d(windo)n(ws.)523 2727 y Fb(4.43)112 b(CreateColormap)523 2930 y Ff(Theft:)38 b(resource)25 b(ID)j(guessing)f(\(windo)n(w\).)523 3079 y(Defense:)37 b(send)28 b(Colormap)e(error.)523 3229 y(Denial)31 b(of)g(service:)42 b(create)30 b(colormaps)f(with)j(this)f (request)f(un)n(til)i(the)f(serv)n(er)e(runs)h(out)523 3328 y(of)e(memory)-7 b(.)523 3478 y(Defense:)37 b(quotas.)523 3760 y Fb(4.44)112 b(F)-9 b(reeColormap)523 3963 y Ff(Destruction:)37 b(destro)n(y)26 b(another)h(clien)n(t's)g(colormap.)523 4113 y(Defense:)37 b(send)28 b(Colormap)e(error.)523 4395 y Fb(4.45)112 b(Cop)m(yColormapAndF)-9 b(ree)523 4598 y Ff(Theft:)38 b(resource)25 b(ID)j(guessing)f(\(src-map\).)523 4747 y(Defense:)37 b(send)28 b(Colormap)e(error.)35 b(Ho)n(w)n(ev)n (er,)26 b(default)i(colormaps)d(will)j(b)r(e)g(allo)n(w)n(ed.)1914 5147 y(21)p eop end %%Page: 22 22 TeXDict begin 22 21 bop 523 614 a Ff(ISSUE:)42 b(m)n(ust)f(un)n (trusted)h(applications)e(b)r(e)i(allo)n(w)n(ed)e(to)h(use)h(standard)e (colormaps?)523 714 y(\(Same)25 b(issue)g(for)g (ListInstalledColormaps,)f(Color)g(Allo)r(cation)h(Requests,)g(F)-7 b(reeColors,)523 814 y(StoreColors,)25 b(StoreNamedColor,)h (QueryColors,)f(and)i(Lo)r(okupColor.\))523 963 y(Denial)k(of)g (service:)42 b(create)30 b(colormaps)f(with)j(this)f(request)f(un)n (til)i(the)f(serv)n(er)e(runs)h(out)523 1063 y(of)e(memory)-7 b(.)523 1212 y(Defense:)37 b(quotas.)523 1494 y Fb(4.46)112 b(InstallColormap,)40 b(UninstallColormap)523 1697 y Ff(Theft:)e(resource)25 b(ID)j(guessing.)523 1847 y(Defense:)37 b(send)28 b(Colormap)e(error.)523 1996 y(Denial)19 b(of)g(service:)32 b(\(un\)install)20 b(an)n(y)e(colormap,)h(p)r(oten)n(tially)g(prev)n (en)n(ting)f(windo)n(ws)h(from)523 2096 y(displa)n(ying)27 b(correct)f(colors.)523 2245 y(Defense:)39 b(treat)27 b(this)i(request)e(as)h(a)g(no-op.)37 b(Section)28 b(4.1.8)f(of)i(the)f (ICCCM)g(states)g(that)523 2345 y(\(un\)installing)g(colormaps)e(is)h (the)h(resp)r(onsibilit)n(y)f(of)h(the)g(windo)n(w)f(manager)f(alone.) 523 2494 y(ISSUE:)k(the)f(ICCCM)h(also)e(allo)n(ws)g(clien)n(ts)h(to)h (do)f(colormap)f(installs)h(if)h(the)f(clien)n(t)h(has)523 2594 y(the)e(p)r(oin)n(ter)f(grabb)r(ed.)36 b(Do)28 b(w)n(e)f(need)h (to)f(allo)n(w)g(that)h(to)r(o?)523 2876 y Fb(4.47)112 b(ListInstalledColormaps)523 3079 y Ff(Theft:)38 b(resource)25 b(ID)j(guessing)f(\(windo)n(w\).)523 3229 y(Defense:)37 b(send)28 b(Colormap)e(error.)523 3378 y(Theft:)38 b(disco)n(v)n(er)25 b(the)j(resource)e(ID)i(of)g(another)e(clien)n(t's)i(colormap)e(from)h (the)h(reply)-7 b(.)523 3528 y(Defense:)35 b(remo)n(v)n(e)23 b(the)h(returned)f(colormap)f(IDs;)k(only)d(let)h(through)f(default)h (colormaps)523 3627 y(and)j(colormaps)f(of)i(un)n(trusted)f(clien)n (ts.)523 3909 y Fb(4.48)112 b(Color)38 b(Allo)s(cation)f(Requests)523 4113 y Ff(Sp)r(eci\014cally)-7 b(,)47 b(Allo)r(cColor,)e(Allo)r (cNamedColor,)g(Allo)r(cColorCells,)g(and)e(Allo)r(cColor-)523 4212 y(Planes.)523 4362 y(Alteration/Denial)29 b(of)h(service:)41 b(allo)r(cate)29 b(colors)f(in)i(another)f(clien)n(t's)h(colormap.)42 b(It)30 b(is)523 4461 y(denial)25 b(of)g(service)g(if)g(the)h(o)n (wning)e(clien)n(t's)h(color)f(allo)r(cations)g(fail)i(b)r(ecause)e (there)h(are)g(no)523 4561 y(cells)i(a)n(v)-5 b(ailable.)36 b(Otherwise)27 b(it)h(is)f(just)h(alteration.)523 4710 y(Theft:)38 b(resource)25 b(ID)j(guessing)f(\(cmap\).)523 4860 y(Defense)20 b(for)e(b)r(oth)i(of)f(the)h(ab)r(o)n(v)n(e:)31 b(send)20 b(Colormap)d(error.)32 b(Ho)n(w)n(ev)n(er,)20 b(default)f(colormaps)1914 5147 y(22)p eop end %%Page: 23 23 TeXDict begin 23 22 bop 523 614 a Ff(will)28 b(b)r(e)g(allo)n(w)n(ed.) 523 897 y Fb(4.49)112 b(F)-9 b(reeColors)523 1100 y Ff(Theft:)38 b(resource)25 b(ID)j(guessing)f(\(cmap\).)523 1249 y(Defense:)37 b(send)28 b(Colormap)e(error.)35 b(Ho)n(w)n(ev)n(er,)26 b(default)i(colormaps)d(will)j(b)r(e)g(allo)n(w)n(ed.)523 1531 y Fb(4.50)112 b(StoreColors,)38 b(StoreNamedColor)523 1734 y Ff(Alteration:)f(c)n(hange)26 b(the)i(colors)e(in)i(another)e (clien)n(t's)i(colormap.)523 1884 y(Theft:)38 b(resource)25 b(ID)j(guessing)f(\(cmap\).)523 2033 y(Defense)20 b(for)e(b)r(oth)i(of) f(the)h(ab)r(o)n(v)n(e:)31 b(send)20 b(Colormap)d(error.)32 b(Ho)n(w)n(ev)n(er,)20 b(default)f(colormaps)523 2133 y(will)28 b(b)r(e)g(allo)n(w)n(ed.)523 2415 y Fb(4.51)112 b(QueryColors,)39 b(Lo)s(okupColor)523 2618 y Ff(Theft:)f(retriev)n(e) 26 b(information)h(ab)r(out)g(the)h(colors)e(in)i(another)f(clien)n (t's)g(colormap.)523 2768 y(Theft:)38 b(resource)25 b(ID)j(guessing)f (\(cmap\).)523 2917 y(Defense)20 b(for)e(b)r(oth)i(of)f(the)h(ab)r(o)n (v)n(e:)31 b(send)20 b(Colormap)d(error.)32 b(Ho)n(w)n(ev)n(er,)20 b(default)f(colormaps)523 3017 y(will)28 b(b)r(e)g(allo)n(w)n(ed.)523 3299 y Fb(4.52)112 b(CreateCursor,)38 b(CreateGlyphCursor)523 3502 y Ff(Theft:)g(resource)25 b(ID)j(guessing)f(\(source,)g(mask)g(or) f(source-fon)n(t,)g(mask-fon)n(t\).)523 3651 y(Defense:)37 b(send)26 b(Pixmap)g(or)f(F)-7 b(on)n(t)27 b(error.)34 b(Ho)n(w)n(ev)n(er,)25 b(the)i(default)g(fon)n(t)f(will)h(b)r(e)g(allo) n(w)n(ed.)523 3801 y(Denial)h(of)f(service:)36 b(create)27 b(cursors)f(un)n(til)i(the)g(serv)n(er)d(runs)j(out)f(of)h(memory)-7 b(.)523 3950 y(Defense:)37 b(quotas.)523 4232 y Fb(4.53)112 b(F)-9 b(reeCursor)523 4436 y Ff(Destruction:)37 b(free)27 b(another)g(clien)n(t's)g(cursor.)523 4585 y(Defense:)37 b(send)28 b(Cursor)e(error.)1914 5147 y(23)p eop end %%Page: 24 24 TeXDict begin 24 23 bop 523 614 a Fb(4.54)112 b(RecolorCursor)523 817 y Ff(Alteration:)37 b(recolor)25 b(another)i(clien)n(t's)g(cursor.) 523 967 y(Theft:)38 b(resource)25 b(ID)j(guessing)f(\(cursor\).)523 1116 y(Defense)h(for)f(b)r(oth)h(of)g(the)g(ab)r(o)n(v)n(e:)35 b(send)28 b(Cursor)e(error.)523 1399 y Fb(4.55)112 b(QueryBestSize)523 1602 y Ff(Theft:)38 b(resource)25 b(ID)j(guessing)f(\(dra)n(w)n (able\).)523 1751 y(Defense:)37 b(send)28 b(Dra)n(w)n(able)e(error.)523 2033 y Fb(4.56)112 b(ListExtensions,)39 b(QueryExtension)523 2236 y Ff(Determine)c(the)f(extensions)f(supp)r(orted)h(b)n(y)g(the)h (serv)n(er,)f(and)g(use)g(the)g(list)h(to)f(c)n(ho)r(ose)523 2336 y(extension-sp)r(eci\014c)27 b(attac)n(ks)f(to)i(attempt.)523 2485 y(Defense:)59 b(extensions)38 b(will)h(ha)n(v)n(e)e(a)h(w)n(a)n(y) f(to)i(tell)g(the)f(serv)n(er)f(whether)h(it)h(is)g(safe)f(for)523 2585 y(un)n(trusted)j(clien)n(ts)g(to)h(use)f(them.)78 b(These)41 b(requests)g(will)g(only)g(return)g(information)523 2685 y(ab)r(out)28 b(extensions)e(that)i(claim)g(to)f(b)r(e)h(safe.)523 2967 y Fb(4.57)112 b(Keyb)s(oard)39 b(con\014guration)f(requests)523 3170 y Ff(Sp)r(eci\014cally)-7 b(,)26 b(ChangeKeyb)r(oardCon)n(trol,)c (ChangeKeyb)r(oardMapping,)h(and)i(SetMo)r(d-)523 3270 y(i\014erMapping.)523 3419 y(Alteration:)44 b(c)n(hange)30 b(the)i(k)n(eyb)r(oard)d(parameters)h(that)h(w)n(ere)f(established)h(b) n(y)g(another)523 3519 y(clien)n(t.)523 3668 y(Denial)25 b(of)h(service:)34 b(with)26 b(ChangeKeyb)r(oardCon)n(trol,)c(disable)j (auto-rep)r(eat,)f(k)n(ey)h(clic)n(k,)523 3768 y(or)20 b(the)i(b)r(ell.)35 b(With)23 b(ChangeKeyb)r(oardMapping)18 b(or)j(SetMo)r(di\014erMapping,)h(c)n(hange)e(the)523 3867 y(k)n(ey)27 b(mappings)g(so)g(that)h(the)g(k)n(eyb)r(oard)e(is)h (di\016cult)i(or)d(imp)r(ossible)i(to)f(use.)523 4017 y(Defense)h(for)f(b)r(oth)h(of)g(the)g(ab)r(o)n(v)n(e:)35 b(treat)27 b(these)h(requests)f(as)g(a)g(no-op.)523 4299 y Fb(4.58)112 b(Keyb)s(oard)39 b(query)f(requests)523 4502 y Ff(Sp)r(eci\014cally)-7 b(,)20 b(GetKeyb)r(oardCon)n(trol,)e (GetKeyb)r(oardMapping,)h(and)f(GetMo)r(di\014erMap-)523 4602 y(ping.)523 4751 y(Theft:)38 b(get)27 b(k)n(eyb)r(oard)f (information)h(that)h(w)n(as)e(established)i(b)n(y)f(another)g(clien)n (t.)1914 5147 y(24)p eop end %%Page: 25 25 TeXDict begin 25 24 bop 523 614 a Ff(Defense:)46 b(This)32 b(is)g(a)g(minor)g(form)f(of)h(theft.)52 b(W)-7 b(e)32 b(prop)r(ose)f(to)h(do)g(nothing)g(ab)r(out)g(this)523 714 y(threat.)523 996 y Fb(4.59)112 b(ChangeP)m(oin)m(terCon)m(trol,)38 b(SetP)m(oin)m(terMapping)523 1199 y Ff(Alteration:)59 b(c)n(hange)37 b(the)i(p)r(oin)n(ter)f(parameters)f(that)i(w)n(ere)f (established)g(b)n(y)g(another)523 1299 y(clien)n(t.)523 1448 y(Denial)31 b(of)g(service:)42 b(set)30 b(the)h(p)r(oin)n(ter)g (parameters)e(so)h(that)h(the)g(p)r(oin)n(ter)f(is)h(di\016cult)g(or) 523 1548 y(imp)r(ossible)d(to)f(use.)523 1697 y(Defense)h(for)f(b)r (oth)h(of)g(the)g(ab)r(o)n(v)n(e:)35 b(treat)27 b(these)h(requests)f (as)g(a)g(no-op.)523 1980 y Fb(4.60)112 b(GetP)m(oin)m(terCon)m(trol,) 37 b(GetP)m(oin)m(terMapping)523 2183 y Ff(Theft:)h(get)27 b(p)r(oin)n(ter)g(parameters)f(that)i(w)n(ere)f(established)g(b)n(y)g (another)g(clien)n(t.)523 2332 y(Defense:)46 b(This)32 b(is)g(a)g(minor)g(form)f(of)h(theft.)52 b(W)-7 b(e)32 b(prop)r(ose)f(to)h(do)g(nothing)g(ab)r(out)g(this)523 2432 y(threat.)523 2714 y Fb(4.61)112 b(SetScreenSa)m(v)m(er)523 2917 y Ff(Alteration:)33 b(c)n(hange)20 b(the)h(screen)f(sa)n(v)n(er)f (parameters)g(that)i(w)n(ere)f(established)h(b)n(y)f(another)523 3017 y(clien)n(t.)523 3166 y(Denial)35 b(of)g(service:)50 b(set)35 b(the)g(screen)f(sa)n(v)n(er)f(parameters)g(so)h(that)h(the)h (screen)e(sa)n(v)n(er)e(is)523 3266 y(alw)n(a)n(ys)26 b(on)h(or)g(alw)n(a)n(ys)e(o\013.)523 3415 y(Defense)j(for)f(b)r(oth)h (of)g(the)g(ab)r(o)n(v)n(e:)35 b(treat)27 b(these)h(requests)f(as)g(a)g (no-op.)523 3697 y Fb(4.62)112 b(GetScreenSa)m(v)m(er)523 3900 y Ff(Theft:)38 b(get)27 b(screen)g(sa)n(v)n(er)e(parameters)h (that)i(w)n(ere)f(established)g(b)n(y)g(another)g(clien)n(t.)523 4050 y(Defense:)46 b(This)32 b(is)g(a)g(minor)g(form)f(of)h(theft.)52 b(W)-7 b(e)32 b(prop)r(ose)f(to)h(do)g(nothing)g(ab)r(out)g(this)523 4149 y(threat.)523 4432 y Fb(4.63)112 b(F)-9 b(orceScreenSa)m(v)m(er) 523 4635 y Ff(Denial)31 b(of)f(service:)42 b(rep)r(eatedly)30 b(activ)-5 b(ate)31 b(the)g(screen)e(sa)n(v)n(er)g(so)h(that)h(the)g (user)f(cannot)523 4734 y(see)d(the)h(screen)f(as)g(it)h(w)n(ould)f(lo) r(ok)g(when)h(the)g(screen)f(sa)n(v)n(er)e(is)j(o\013.)523 4884 y(Denial)19 b(of)f(service:)31 b(rep)r(eatedly)18 b(reset)g(the)h(screen)e(sa)n(v)n(er,)i(prev)n(en)n(ting)e(it)i(from)f (activ)-5 b(ating.)1914 5147 y(25)p eop end %%Page: 26 26 TeXDict begin 26 25 bop 523 614 a Ff(Defense)28 b(for)f(b)r(oth)h(of)g (the)g(ab)r(o)n(v)n(e:)35 b(treat)27 b(these)h(requests)f(as)g(a)g (no-op.)523 897 y Fb(4.64)112 b(ChangeHost)523 1100 y Ff(Most)20 b(serv)n(ers)d(already)i(ha)n(v)n(e)f(some)h(restrictions)g (on)g(whic)n(h)h(clien)n(ts)g(can)f(use)h(this)g(request,)523 1199 y(so)27 b(whether)g(the)h(follo)n(wing)f(list)h(applies)f(is)g (implemen)n(tation)h(dep)r(enden)n(t.)523 1349 y(Denial)21 b(of)g(service:)32 b(remo)n(v)n(e)19 b(a)h(host)h(from)f(the)h(list,)h (prev)n(en)n(ting)e(clien)n(ts)h(from)f(connecting)523 1448 y(from)27 b(that)h(host.)523 1598 y(Add)f(a)e(host)h(to)g(the)g (list.)37 b(Clien)n(ts)25 b(from)h(that)g(host)g(ma)n(y)f(then)i(launc) n(h)e(other)h(attac)n(ks)e(of)523 1697 y(an)n(y)j(t)n(yp)r(e.)523 1847 y(Defense)h(for)f(b)r(oth)h(of)g(the)g(ab)r(o)n(v)n(e:)35 b(return)27 b(Access)g(error.)523 2129 y Fb(4.65)112 b(ListHosts)523 2332 y Ff(Theft:)37 b(steal)25 b(host)h(iden)n(tities)g (and)g(p)r(ossibly)f(ev)n(en)h(user)f(iden)n(tities)h(that)g(are)f (allo)n(w)n(ed)g(to)523 2432 y(connect.)523 2581 y(Launc)n(h)i(attac)n (ks)g(of)g(an)n(y)g(t)n(yp)r(e)h(against)e(the)i(stolen)f(host/user)g (iden)n(tities.)523 2731 y(Defense)h(for)f(b)r(oth)h(of)g(the)g(ab)r(o) n(v)n(e:)35 b(return)27 b(only)h(un)n(trusted)f(hosts.)523 3013 y Fb(4.66)112 b(SetAccessCon)m(trol)523 3216 y Ff(Most)20 b(serv)n(ers)d(already)i(ha)n(v)n(e)f(some)h(restrictions)g(on)g(whic)n (h)h(clien)n(ts)g(can)f(use)h(this)g(request,)523 3316 y(so)27 b(whether)g(the)h(follo)n(wing)f(list)h(applies)f(is)g (implemen)n(tation)h(dep)r(enden)n(t.)523 3465 y(Alteration:)37 b(c)n(hange)26 b(the)i(access)e(con)n(trol)h(v)-5 b(alue)27 b(established)g(b)n(y)h(some)f(other)g(clien)n(t.)523 3614 y(Disable)k(access)e(con)n(trol,)i(allo)n(wing)e(clien)n(ts)i(to)f (connect)h(who)f(w)n(ould)h(normally)e(not)i(b)r(e)523 3714 y(able)c(to)h(connect.)36 b(Those)27 b(clien)n(ts)h(ma)n(y)f(then) h(launc)n(h)f(other)g(attac)n(ks)f(of)i(an)n(y)f(t)n(yp)r(e.)523 3863 y(Defense)h(for)f(b)r(oth)h(of)g(the)g(ab)r(o)n(v)n(e:)35 b(return)27 b(Access)g(error.)523 4146 y Fb(4.67)112 b(SetCloseDo)m(wnMo)s(de)523 4349 y Ff(Denial)28 b(of)f(service:)36 b(set)27 b(the)h(close-do)n(wn)d(mo)r(de)j(to)f(RetainP)n(ermanen)n(t)f (or)h(RetainT)-7 b(em-)523 4448 y(p)r(orary)g(,)36 b(then)g (disconnect.)61 b(The)35 b(serv)n(er)f(cannot)h(reuse)g(the)h (resource-id-base)c(of)k(the)523 4548 y(disconnected)c(clien)n(t,)h(or) e(the)i(memory)e(used)h(b)n(y)g(the)g(retained)g(resources,)f(unless)h (an-)523 4648 y(other)19 b(clien)n(t)g(issues)g(an)h(appropriate)d (KillClien)n(t)j(to)f(cancel)g(the)h(retainmen)n(t.)34 b(The)19 b(serv)n(er)523 4747 y(has)25 b(a)h(limited)g(n)n(um)n(b)r(er) f(of)h(resource-id-bases,)d(and)j(when)g(they)f(are)g(exhausted,)h(it)g (will)523 4847 y(b)r(e)i(unable)g(to)f(accept)g(new)h(clien)n(t)g (connections.)1914 5147 y(26)p eop end %%Page: 27 27 TeXDict begin 27 26 bop 523 614 a Ff(Defense:)37 b(treat)28 b(this)f(request)g(as)g(a)h(no-op.)523 895 y Fb(4.68)112 b(KillClien)m(t)523 1098 y Ff(Destruction/Denial)27 b(of)h(service:)36 b(kill)27 b(another)g(curren)n(tly)f(connected)i(clien)n(t.)523 1248 y(Destruction:)37 b(kill)28 b(a)f(clien)n(t)h(that)g(has)f (terminated)g(with)h(close-do)n(wn)e(mo)r(de)i(of)g(Retain-)523 1347 y(T)-7 b(emp)r(orary)26 b(or)h(RetainP)n(ermanen)n(t,)f(destro)n (ying)g(all)h(its)h(retained)f(resources.)523 1497 y(Destruction:)44 b(sp)r(ecify)32 b(AllT)-7 b(emp)r(orary)30 b(as)h(the)g(resource,)g (destro)n(ying)e(all)i(resources)e(of)523 1596 y(clien)n(ts)e(that)h (ha)n(v)n(e)f(terminated)g(with)h(close-do)n(wn)e(mo)r(de)i(RetainT)-7 b(emp)r(orary)g(.)523 1746 y(Defense)28 b(for)f(all)g(of)h(the)g(ab)r (o)n(v)n(e:)35 b(return)28 b(V)-7 b(alue)27 b(error.)523 2027 y Fb(4.69)112 b(Clean)39 b(Requests)523 2230 y Ff(Other)29 b(than)g(denial)g(of)g(service)g(caused)f(b)n(y)h(\015o)r(o)r(ding,)g (these)h(requests)e(ha)n(v)n(e)g(no)h(kno)n(wn)523 2330 y(securit)n(y)38 b(concerns:)59 b(Allo)n(wEv)n(en)n(ts,)40 b(UngrabP)n(oin)n(ter,)f(UngrabButton,)i(UngrabKey-)523 2429 y(b)r(oard,)27 b(UngrabKey)-7 b(,)26 b(UngrabServ)n(er,)f(NoOp)r (eration,)i(and)g(Bell.)523 2752 y Fd(5)135 b(Ev)l(en)l(ts)523 2984 y Ff(The)23 b(only)g(threat)g(p)r(osed)f(b)n(y)h(ev)n(en)n(ts)f (is)h(theft.)37 b(Selecting)23 b(for)f(ev)n(en)n(ts)h(on)f(another)g (clien)n(t's)523 3084 y(resources)36 b(is)h(alw)n(a)n(ys)f(theft.)69 b(W)-7 b(e)38 b(restrict)f(further)h(analysis)e(b)n(y)i(assuming)f (that)h(the)523 3183 y(clien)n(t)j(only)f(selects)g(for)g(ev)n(en)n(ts) f(on)h(its)h(o)n(wn)f(resources,)h(then)g(asking)f(whether)g(the)523 3283 y(ev)n(en)n(ts)27 b(pro)n(vide)f(information)h(ab)r(out)h(other)f (clien)n(ts.)523 3564 y Fb(5.1)112 b(KeymapNotify)523 3767 y Ff(Theft:)37 b(the)27 b(state)g(of)g(the)g(k)n(eyb)r(oard)e(can) i(b)r(e)g(seen)g(when)g(the)g(clien)n(t)g(do)r(es)f(not)h(ha)n(v)n(e)f (the)523 3866 y(input)h(fo)r(cus.)36 b(This)26 b(is)g(p)r(ossible)g(b)r (ecause)f(a)h(KeymapNotify)f(is)h(sen)n(t)g(to)g(a)f(windo)n(w)h(after) 523 3966 y(ev)n(ery)g(En)n(terNotify)h(ev)n(en)g(if)i(the)f(windo)n(w)f (do)r(es)g(not)h(ha)n(v)n(e)e(input)i(fo)r(cus.)523 4115 y(Defense:)37 b(zero)26 b(the)i(returned)f(bit)h(v)n(ector)e(if)h(a)g (trusted)h(clien)n(t)f(curren)n(tly)f(has)h(the)h(input)523 4215 y(fo)r(cus.)523 4496 y Fb(5.2)112 b(Exp)s(ose)523 4699 y Ff(Theft:)48 b(disco)n(v)n(er)30 b(where)i(other)g(clien)n(ts')h (windo)n(ws)f(o)n(v)n(erlap)e(y)n(our)h(o)n(wn.)52 b(F)-7 b(or)32 b(instance,)523 4799 y(map)26 b(a)g(full-screen)f(windo)n(w,)h (lo)n(w)n(er)f(it,)i(then)g(raise)e(it.)37 b(The)26 b(resulting)f(exp)r (oses)h(tell)g(y)n(ou)523 4898 y(where)h(other)g(windo)n(ws)g(are.)1914 5147 y(27)p eop end %%Page: 28 28 TeXDict begin 28 27 bop 523 614 a Ff(Defense:)34 b(ab)r(out)21 b(the)g(only)g(thing)g(y)n(ou)f(could)h(do)g(here)f(is)h(force)f(bac)n (king)g(store)g(to)h(b)r(e)g(used)523 714 y(on)30 b(un)n(trusted)h (windo)n(ws,)f(but)h(that)g(w)n(ould)f(probably)f(use)h(to)r(o)g(m)n (uc)n(h)g(serv)n(er)f(memory)-7 b(.)523 814 y(W)g(e)28 b(prop)r(ose)e(to)i(do)f(nothing)h(ab)r(out)f(this)h(threat.)523 1089 y Fb(5.3)112 b(GraphicsExp)s(osure)523 1292 y Ff(Theft:)48 b(disco)n(v)n(er)30 b(where)i(other)g(clien)n(ts')h(windo)n(ws)f(o)n(v) n(erlap)e(y)n(our)h(o)n(wn.)52 b(F)-7 b(or)32 b(instance,)523 1391 y(use)i(Cop)n(yArea)f(to)h(cop)n(y)g(the)h(en)n(tire)e(windo)n (w's)h(area)f(exactly)h(on)g(top)g(of)h(itself.)57 b(The)523 1491 y(resulting)27 b(GraphicsExp)r(osures)e(tell)j(y)n(ou)f(where)g (the)h(windo)n(w)f(w)n(as)g(obscured.)523 1641 y(Defense:)37 b(see)28 b(Exp)r(ose)e(ab)r(o)n(v)n(e.)36 b(W)-7 b(e)28 b(prop)r(ose)e(to)i(do)f(nothing)g(ab)r(out)h(this)g(threat.)523 1916 y Fb(5.4)112 b(Visibilit)m(yNotify)523 2119 y Ff(Theft:)64 b(this)41 b(ev)n(en)n(t)f(pro)n(vides)f(crude)i(p)r(ositional)f (information)g(ab)r(out)g(other)g(clien)n(ts,)523 2218 y(though)27 b(the)h(receiv)n(er)e(cannot)h(tell)h(whic)n(h)g(other)f (clien)n(ts.)523 2368 y(Defense:)43 b(The)31 b(information)f(con)n(ten) n(t)g(of)g(this)h(ev)n(en)n(t)f(is)h(v)n(ery)e(lo)n(w.)45 b(W)-7 b(e)31 b(prop)r(ose)e(to)i(do)523 2467 y(nothing)c(ab)r(out)h (this)g(threat.)523 2743 y Fb(5.5)112 b(Reparen)m(tNotify)523 2946 y Ff(Theft:)33 b(the)20 b(paren)n(t)f(windo)n(w)f(ma)n(y)h(b)r (elong)g(to)g(some)g(other)f(clien)n(t)i(\(probably)e(the)i(windo)n(w) 523 3045 y(manager\).)523 3195 y(Defense:)53 b(If)35 b(the)h(paren)n(t)f(windo)n(w)f(b)r(elongs)h(to)g(a)g(trusted)g(clien)n (t,)j(return)c(the)i(closest)523 3294 y(ancestor)28 b(windo)n(w)g(that) i(b)r(elongs)e(to)h(an)g(un)n(trusted)g(clien)n(t,)h(or)e(if)i(suc)n(h) e(a)h(windo)n(w)g(do)r(es)523 3394 y(not)f(exist,)f(return)g(the)h(ro)r (ot)f(windo)n(w)g(for)g(the)h(paren)n(t)f(windo)n(w.)523 3543 y(ISSUE:)h(what)f(is)h(the)g(application)f(impact?)523 3819 y Fb(5.6)112 b(Con\014gureNotify)523 4022 y Ff(Theft:)38 b(the)28 b(ab)r(o)n(v)n(e-sibling)d(windo)n(w)i(ma)n(y)g(b)r(elong)g (to)h(some)f(other)g(clien)n(t.)523 4171 y(Defense:)53 b(return)35 b(None)g(for)f(the)i(ab)r(o)n(v)n(e-sibling)d(windo)n(w)i (if)h(it)g(b)r(elongs)e(to)h(a)g(trusted)523 4271 y(clien)n(t.)523 4420 y(ISSUE:)28 b(what)f(is)h(the)g(application)f(impact?)523 4695 y Fb(5.7)112 b(Con\014gureRequest)523 4898 y Ff(Theft:)38 b(the)28 b(sibling)f(windo)n(w)g(ma)n(y)g(b)r(elong)g(to)h(some)f (other)g(clien)n(t.)1914 5147 y(28)p eop end %%Page: 29 29 TeXDict begin 29 28 bop 523 614 a Ff(Defense:)37 b(return)27 b(None)h(for)f(the)h(sibling)f(windo)n(w)g(if)i(it)f(b)r(elongs)f(to)g (a)g(trusted)h(clien)n(t.)523 764 y(ISSUE:)g(what)f(is)h(the)g (application)f(impact?)523 1046 y Fb(5.8)112 b(SelectionClear)523 1249 y Ff(Theft:)38 b(the)28 b(o)n(wner)e(windo)n(w)h(ma)n(y)g(b)r (elong)g(to)h(some)f(other)g(clien)n(t.)523 1399 y(Defense:)37 b(return)27 b(None)h(for)f(the)h(o)n(wner)e(windo)n(w)i(if)g(it)g(b)r (elongs)f(to)g(a)g(trusted)h(clien)n(t.)523 1681 y Fb(5.9)112 b(SelectionRequest)523 1884 y Ff(Theft:)38 b(the)28 b(requestor)e (windo)n(w)h(ma)n(y)g(b)r(elong)g(to)g(some)g(other)g(clien)n(t.)523 2033 y(Defense:)45 b(Blo)r(c)n(king)30 b(this)i(ev)n(en)n(t)f(or)f (censoring)g(the)i(windo)n(w)e(w)n(ould)h(prev)n(en)n(t)g(selection)523 2133 y(transfers)25 b(from)g(un)n(trusted)h(clien)n(ts)g(to)g(trusted)g (clien)n(ts)g(from)g(w)n(orking.)34 b(W)-7 b(e)27 b(prop)r(ose)e(to)523 2232 y(do)31 b(nothing)g(in)g(the)h(serv)n(er)d(ab)r(out)i(this)h (threat.)47 b(The)32 b(securit)n(y)e(manager)f(ma)n(y)i(reduce)523 2332 y(the)d(exp)r(osure)f(of)g(trusted)h(windo)n(w)f(IDs)h(b)n(y)f(b)r (ecoming)g(the)h(o)n(wner)f(of)g(all)h(selections.)523 2614 y Fb(5.10)112 b(MappingNotify)523 2817 y Ff(Theft:)40 b(disco)n(v)n(er)27 b(k)n(eyb)r(oard,)h(p)r(oin)n(ter,)h(or)f(mo)r (di\014er)h(mapping)g(information)f(set)h(b)n(y)g(an-)523 2917 y(other)e(clien)n(t.)523 3066 y(Defense:)33 b(An)n(y)20 b(tamp)r(ering)f(with)h(this)g(ev)n(en)n(t)f(will)h(cause)f(clien)n(ts) g(to)h(ha)n(v)n(e)e(an)i(inconsisten)n(t)523 3166 y(view)26 b(of)g(the)g(k)n(eyb)r(oard)f(or)g(p)r(oin)n(ter)h(button)g (con\014guration,)f(whic)n(h)h(is)g(lik)n(ely)g(to)g(confuse)523 3266 y(the)i(user.)36 b(W)-7 b(e)28 b(prop)r(ose)f(to)g(do)g(nothing)h (ab)r(out)f(this)h(threat.)523 3590 y Fd(6)135 b(Errors)523 3822 y Ff(There)27 b(app)r(ear)g(to)g(b)r(e)h(no)g(threats)f(related)g (to)g(pro)r(cotol)f(errors.)523 4146 y Fd(7)135 b(F)-11 b(uture)44 b(W)-11 b(ork)523 4378 y Ff(The)23 b(next)f(steps)h(are)e (resolv)n(e)g(the)i(items)f(mark)n(ed)g(ISSUE)g(and)h(to)f(decide)h(if) g(the)f(defenses)523 4477 y(prop)r(osed)30 b(are)f(reasonable.)44 b(Discussion)30 b(on)g(the)h(securit)n(y@x.org)d(mailing)i(list,)i (proto-)523 4577 y(t)n(yping,)25 b(and/or)d(starting)i(the)h(implemen)n (tation)f(should)g(help)h(answ)n(er)e(these)h(questions.)1914 5147 y(29)p eop end %%Page: 30 30 TeXDict begin 30 29 bop 523 614 a Fd(8)135 b(References)523 846 y Ff(Bellcore,)32 b(\\F)-7 b(ramew)n(ork)30 b(Generic)h(Requiremen) n(ts)h(for)g(X)g(Windo)n(w)g(System)g(Securit)n(y)-7 b(,")523 946 y(T)g(ec)n(hnical)27 b(Advisory)g(F)-9 b(A-STS-001324,)24 b(Issue)j(1,)h(August)f(1992.)523 1095 y(Dardailler,)c(Daniel,)h (\\Motif)g(Drag)e(And)i(Drop)f(Proto)r(col,")f(unpublished)i(design)f (notes.)523 1245 y(Kahn,)34 b(Brian)e(L.,)j(\\Safe)e(Use)g(of)g(X)h (WINDO)n(W)g(SYSTEM)f(proto)r(col)f(Across)g(a)h(Fire-)523 1344 y(w)n(all",)27 b(unpublished)h(draft,)f(The)h(MITRE)f(Corp)r (oration,)f(1995.)523 1494 y(Rosen)n(thal,)f(Da)n(vid)h(S.)g(H.,)h (\\LINX)e(-)h(a)f(Less)g(INsecure)g(X)i(serv)n(er,")c(Sun)k (Microsystems,)523 1593 y(29th)g(April)h(1989.)523 1743 y(Rosen)n(thal,)23 b(Da)n(vid)f(and)h(Marks,)f(Stuart)h(W.,)h(\\In)n (ter-Clien)n(t)e(Comm)n(unication)g(Con)n(v)n(en-)523 1842 y(tions)c(Man)n(ual)g(V)-7 b(ersion)17 b(2.0,")i Fa(ftp://ftp.x.org/p)o(ub/)o(R6)o(.1)o(/xc)o(/d)o(oc/)o(ha)o(rdc)o(op)o (y/)o(ICC)o(CM)o(/ic)o(cc)o(m.)o(PS.)o(Z)523 1992 y Ff(Sc)n(hei\015er,) h(Rob)r(ert)e(W.,)j(\\X)d(Windo)n(w)g(System)h(Proto)r(col,")f Fa(ftp://ftp.x.org)o(/pu)o(b/)o(R6.)o(1/)o(xc)o(/do)o(c/)o(har)o(dc)o (op)o(y/X)o(Pr)o(oto)o(co)o(l/p)o(ro)o(to)o(.PS)o(.Z)523 2141 y Ff(T)-7 b(reese,)35 b(G.)g(Win\014eld)g(and)f(W)-7 b(olman,)36 b(Alec,)g(\\X)e(Through)f(the)i(Firew)n(all,)g(and)f(Other) 523 2241 y(Application)25 b(Rela)n(ys,")f(Digital)h(Equipmen)n(t)f (Corp)r(oration)f(Cam)n(bridge)g(Researc)n(h)h(Lab,)523 2340 y(T)-7 b(ec)n(hnical)27 b(Rep)r(ort)g(Series,)g(CRL)h(93/10,)d(Ma) n(y)i(3,)g(1993.)1914 5147 y(30)p eop end %%Trailer userdict /end-hook known{end-hook}if %%EOF .