ࡱ> 0+,-./@= ۪[ב@0it- xZ]l\G>wn;NnTJJcpbj ?M Q?TڐTv ZR(EvRP HhhHx*&} Z7wٹxF'sΜ93ߙ33 !h@u Q˽GІ6 "rShnbj|Te6)oϴ3%_]M}}dMԯ6>P}}Ҹ8FV-\8 mqmL[b0׬{+m"or/Noȗ|u;T[Uq?'_Q^9Cÿ;8ዿo/4:I[|TjPQVd|E4q|=Sg9VNof>ֲ|sZYǀv05)2S#˂(&,;M"ˠiOG\O_2O?ēp,ˠ#?bZ~?ӝ,?VeLYbCe]\ q~ȔLDDs.Sv_Ǘ}/` Peﳲ kp3hQX``Vk谡Sf-,]p14fRX-;,Î4d(*,-ᠡ.ʵ^ǦJ,ХATx'h|fij8o7]d{h;膩}A&YPtʸOtxq1o0R\sߺuj_ҘאӘk<>9{ShN;ShN;?e&o5_;wߥ8?:O8'CYBөRuN†Q\xL>={(qV44u: AqaO8 ʈ =z%`[ҘT\%.`.}FK9Z`j`mN0i*v,0IF*jn3?%=~y;{җsANr} XRNL[ڹʹk<)nu)v=M;s.c9kr*rcYGoWj,?'DE;?9c g{x,CM }0#xdI 8`)/Xؼ@l߲ul^,6?q( [W:&H<B'b@wӯ/xcbQ}6l7T9 iOMfaRщz;Ai{7 sKr9x&t`?-IoyQ/ozgY+>/(~w?a8}#֓^K«3mW=JҼ>5_[ħd|]oa2˥QGt~Tȏ=^x=G' -ϏXS'/'R_))MRGҏ&DjQҾr-hw%oT߾:׳QoBjNT_Gg_2(j[%qJOsmΤ1k=2?>8}fއ0P_އ&_g Ǣ!Λ9}l}b}C+cxХ{CCC VAsk^[̠)B̩|}1S hI6v>2[dB{@= +ql:\Ȕ i-}o-c xZ}lRBtbA@D_B4hA?GdId8l.hb#(&)s sdԐ?wo[zx|"P4ˆJiOO4"kSDKY r;ꡮ`ht+]X,ĐsefM0LgL[jkY#4z =v8'lWY<`t?piR.Hqviu}|_ On+\WSWk ]{H?/e(HQck :anH֘hOs[:ݠA'ծ}3q_EA,7}yT/9m_z/=0u=??z>kH8Đ_BC:E?j~CivJ.Ę}0umcMW(yj7^uKǶ^OeET^@d]+K237 Xk,`-L7yk YheZ@K %z2g-42-B_1b!.غǺs@ \uM{Krk gzJrk'mJOp.[0$뀵\^kwcR 0u͔}?p)٦ aXRuohCcØ^!3yS73|ѧ|?Y@v$d۸: 6m*®[-4Z.)l{-zk_ԅLQgr:k|ԙ\/qiϮ/<,4<1{=EïPy|8~ΫżżXL}X.9[.l s<[@yn [ɼu wz ֹrc1p>q:yy [V+  jM{WsǛ)],nbxWrHVO۩~f0St VS'm9^`o/ UoeBf'E֕g:]d["M~z1e151YƋ1Β3Ο5b!9c \ 1W|w#LyB#ޔ ޕ+j|D.|F={"!߶+A߇ӕ|WתּT_SI62 qApI'/"ZIh36z!vz֫jL2lat'ƑiW ;xH_Y&%G}ϢēCpƑgyi&wܻvȵxȓvtfG7rk^r2J.|Gt.Gg|E?̣YLIE|3(Sp2!56 2ƓYpu(gl ƅX:ݸ;q7mqgϷ;Z!:ʼϸp%nuxVg̹*m:-as O[_[Z-my :7O24d{c>3W|},}B|휿KỪ-{|sIp t Oz-Bde9S9#j)Rʷ Rxĭ OۻN{za۸w:X7nT,/`em<ފͪ5}jK(X3@5nB'BʔnTi PNG  IHDR5QO sRGB@}0PLTE{ pHYsttfx&IDATx?ˎ{x RMfw8p&N DϷОI`(oZ-͌"YdŽ׶OսN:,h4F5 h`3 w?~|Z\Q<pp{.(tTDz\rJWNy,K{8翖.(-؝j,QZc,Y>&ة,Y>Mӱ,&ؙی6Śsm ^rmV2=4*Y&HvYֈq9'`, &XO``?qm1Q+$$vtJ .҃m &ɒm)0<`紾|X2UU><, "XdUӥv@g`1X9C*,yVO5,҂l?тlTaC |Ik?~[+{T69$K ~{j YJ&Xv % 8`k|~-Ј6oͼ 8 9rE,Y:sގ7fK^M5%.X?6%]PEUTMME)Y"R竪j*Je`,u:Ԕ 6X$"K~c Ԕ % €+^ME%l$`:(`H!}~WMM vR0JsRQMEpJ,T`h#묦T^i52@K)E2؀jjJ'4)0QO55|TDET @#T)ꨦT&=dRJ(.&Uw52K<($뮦T`Hp" ,uTRMMd qUSMM9q XHqX@552_$K6l`USQ*ld/utUSS*dŖ:eTSQ*Ȕ"a',*XpNa54ƃŖ: (xFzIg5Jv\aDK6,:^j*J*e 0j*J]MZD__5H6eJ X&USQ* {G(OޑlXm VS5)Y?-y VS5)Yh3*a6U ⟖v`Nİ"O`ί]<<`v#uE2QvH6?E;Fn̆!V^Kjv-"zzX};C"9Jkod#<`,Tż,X<Χf옸CYr=?q}K:4J'/pɣs),.O i7^-q̔" }036d;|GŶ<:߆TngN="-y;ۿzk/ M[kZPT0.ʧ v~KI`7/g*P!`/%Bm:XWd~[GOPw$mW:ۓ^~M,>X > W-C_46@<`OQR&i` $ZN)>ݽ]Q$T:IdÖ<`D'LNG"-u6,M5?l!CfTeHKۉ/UKv(Y_hkOK!KVtJI,j.$7b`rĔZK=dzCdf<؞> ^`j;.ubGQ( $LNK2G>;%%MeM)|<>`gWסlt+&Me%3 vasd=_ҦzKXlܒg,*؞z(/yf%;6`5OgJ?́ʹIK ϒg,a"j#$;jij7wq>XB1 `s&lIea& l.do 7XRLEg}n)[7Xlc`95x6l=bjg lfy_߲8X̊q}6 \BΉgNKdQ0o`O,N>W+ v"P+ v*B%d5X4aEMWEcIgl`wy~z>LfGؒ{vu8l`',~NKK5ؙ "]bsɻ PB]Aj6siK``=@̃=|Vv2ɺ`e:j6C<lNC" ,u Ll!c<.y~N=b=<`X+;s zR5[`uWl`W`:7ld(XP))4egs 0ϐq=4pnn~"3&Yn`= az!Ot6%?6+:xfd? P7K+6,AXݕd_ g T Щ܊Ob~6Aqey*R76nvXGb< `Ysm`2[q>w3] xW3~6A ޯv:,,Y'6~1ub+< l@lf{w vV)E8Rm{x=-e]m]#'ͧ^j;߉{w\~˖nYlݜ`N@|ظB['XS>7NE`>~T#>G O S'IοҋX? XdX;:uV<\':1EX߰CI#:؃}j`=O/?^*=;1 f06ۉGǃKYS땘`aR6G d Xȯxl5>yyY' ΅uBP >'s \x['Q>5iy vl~΄uRb󮁝qL|.,<}bͻ>O}r7`&~{xxy^N h`bx ,~"ł1v2+ l~NߩSOO N=O Dx:#w/n`'bv)N=lGuW @4 6}j`g h`N3`3h`@S,N3xI}b ,ilͻX<lf~y];Q2DQ l^'YYm<+v^fs$#c>{٧(k>wi@/FVSp]u.3X0N߰wiEY}j`Q;qا6O l.Q,l8$tNCibe>]h~uc|ģ>>f l lQlSЉ6}j`X' ,;`wb?N/e):[}y/n`#j.w!4`7!]{S'}j`ym=ir9u ֽ $/};`:;{q{SO{,X>),܋i? MlSXSMN`]ɒo5制N!`dD>5WfBh`>9lX^^qMeO m1vy 6#5dψ=u>5j; Gh;փ { Ip6u bO`uxڿ;q(XS٧8,}j`e"iثJV9p O %)>5xypuHgsӭS8Xqtg؏:Z9T26\o^8u]{ S[/n`O:Łud SxN7.?`oMd7HdX 6,]Bd"y$"6[bX:L)U ;N`y ,),r5QՃݒYh]Sǫ!N`wA}^z%h7줃u{1}K=ݸ`cSXl ؕ!N`9>J2X]wтxY9؍#؄NL6]u4ǃSR.^ `ᥬbSOExiFƾ[&u{(oU׶DV v~Ŧ6,lΡV `R ZI`> N`}j`#] uΡx*QwDpF}4DpT/Xr  :%Niw&M)%[-Xz >5!Au3/q`A`)RT l "}V v`›wQJ\ڧ:X'ڧ:"ڧ]d;XD>U cDڧ+~a ۋ#S`)uK6},&X`O}qS-;FmUNL :6w٧ ,b `Oc,ԉ죛`;t:v2X>-ة@NH6։,h`X| ,{/ >U:ӗ+ ,Nاr yWXΩ7_ ,=uo ,uZ lN@M`;1%仠kN`= vM ;Z'ZӧaK:TXNL 8H"z2O"T.XK 6j5`naf tb<`v߉$6ub{rCdSb`u5}urD6>6G'pO%`Sޛw"Xz'w59=4bF},0ߕ6j`;O'#v' \`S `:1E6SdN<`<։,r:Aa6>+(dl66r)[%X&2;:nl#X{06c'fghFM:6 ub6}26k'ai.YU|`|3Wn(X>/@ մ v@N偅:lƩ?X`K[`Z'NsNѯ4 6Z,܋k{;NS?UM`S`O;A?nlN _L`s['^d]_'ilv=b`ETi=6 6]?YT6'fxj+ Xfc/~Y]`U9|U!@V X'~i5Q`,;du>Y7:eاz \`ϢُNd^ܳݸ`3X`y񫈽Nl9NLr=H$?,|Ń]#dO)"6XxE/!7uy~'E`,w:k}ZO },ػKB:qx7xtKX/ ֩f؅?1Ă꼌P'ODuՉs>)݊]NKK`8HQ;Nf> w-'E`[qw"R)#h" os4ثOu O:(VrK>ăT)/X>nk3]Oz ډsy& lvxk)+X>]*qq`qx]w Yۋ+;c'?_%Z`zVI`/2a,"ǂQtI`oYDK`D%%śX-^!s' xyZӿ$0qNH)upi,u{ǃ;uۥ_ `3Es #a}v>/[ę"o$gL2܂ Kj^*GK`D>$4+X`OY-؉^l샓6X>R鈁}r0sEO>_`Ev.-: `<~䲾ǻz>}}u8Xa1`^~pLn,M] H'N"`ɲ+"X } V:ɀ=`3d!cd߱.+>+c: Vlb#df%.YXJB`' `+6G/Vh+v|py'\V`wR߰r`3LX~$V: uju Vl$ -Y`+I`%r'i=}+iDroi,Il'˼y' VV`,XE47֥,ؕl'7}+,XaIujDJ V,RVcbtܼ+މrH8XF$V^`%+v%.Xy|)['`RȁUЉM*lI *6}+=W>I`TOR`Utb `R`UVX&$VIm`$+d6S,}.+,O/y,O/U0CXs"`X'-`᧎ytw:)ṕM;N졻>JX5X X>?Y>sJz)]1[2mf)]1=8`wE}rs.{A38c_Ua nܔWj,c XuRB{ՂOz"]Jz"4@$&o}&k{(>Ϫ*I}[']`KOʭ.b`8:ا4E pK ~*kl7R:(>N` Z:Z ϡ3u:P:8'W:Vm<Sl9X/X%-b4I1 V}SFcV'e–UB1XU ذS݉5UՋ7p'^J `5٧Ҭn=SGx$N^/:)>g V7X-N,] V}*:i|`5PVA\*obt>S'VAgXKLv ,X`&ͻ`O`R2ӡ,qJNESOEZR 'LK̄zc/)ENNNԉWKY|t"P5 \j{O%nؽM:@>k+geNNQX1Lʨt>!5}*Gl_XR ٧M֩Bg~C֩(S"E[9`0u*;Gv|8qygޣwWoعbfO/72ۧc֕쎳.؂f>/:6}ꜩSI֩(߳ڧ;qI`iW`q)stEf6wz_SS-_e-bJo ¬Si`ا:->$ >}+lrSq49n Xf8Ha:>NeO&S`D 3щ݋N,}١QXfX$ApJֆu*,d-/U <aWuFS`{ވu*,#NH|0:v2>ٱNeOfS`쓡N\(XNłeOfN(,}۱NłeVc >YNe>Zľ O4{K֩`ɔu*,`F "dio: >l`^ ا!ZS`w4҉P ⃲;/Ux'.,};/ .hl [|l`z]މKfuI.X `퓵ӹ4$I/67u:E`Izް+2dJŃ%, F:StL|6xd@M&ɤu6A{X>[iN+6>u6 IEKkJ+`#%qN6B"ADbl괔06>NF3:X>tbSS3׋Z'+`adl} wbS`C%k:٧~ݩ)E]ІNHg@xolL['C`ou{ؼXW)GR:!ݕb:*tdd['s`%uoL^ZttJ.XS`ӹЅA :) :-/0LO{`d⾎ZHg@dwXX?d|P}2?u:-~9EӢ:Z+uZJNz'v΀zSyTu2+`kq>a OHLe΀$[uv>?,aN< ~L3 ŕ,blŧOX'`QNFbӧNk`,f 6oΨ`=:Y٧jY>UcjNb:*Xx)=)#X`@/~k͂%{Od, ٻ0;u:q5l,t[u2 mi{6~Mt3༶)Z{LsŴ}݉MOX'`zq6ыm['`qN⒵މud,֋->ʥ3` l)k:b֩ <#tؾuS`!TA'g)wQ`+C:UR:)쏻^\`k{l֩ w:xmNu=K){=}jSu cMG/FuLNQ ؋dkYU"z[؇jS=`^P`{lk/yj^$N#WX`+V`k&.Sy`h4F5 h`Fk4Xq?m?LIENDB`a( 4 h ;=Worksheet Excel.Sheet.802Microsoft Excel Worksheet}0<?Worksheet Excel.Sheet.802Microsoft Excel WorksheetP/ 0|DTimes New Roman2|dv 0|( 0DSAS Monospacen2|dv 0|( 01 DArialnospacen2|dv 0|( 0"0DNews Gothic MT2|dv 0|( 0@DCourier NewMT2|dv 0|( 01c (.2  @n?" dd@  @@`` ?(P & &!"##&V'bA &m +*  >/C8B7 /'$D6Q%*+*% -$ ," ( +)( %_$$"$۪[ב "$+ql:\Ȕ i  b$BʔnTi J'S ^0e0e     A5% 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||S" 33@{g4UdUdv 0pppp@ <4!d!d` 0,3 <4BdBd 0,suʚ;2Nʚ;<4dddd{ 0? %qU  6. ARRAY SUV(0:99999) SUV(00000)=. SUV(00001)=. & SUV(27513)=. SUV(32258)=. SUV(66216)=. & SUV(99999)=. >h!#R## rMYLIB.SUVBYZIP ZIP CITY SUV 66216 Shawnee 67 66216 Shawnee-Mission 67 32258 Jacksonville 88 27513 Cary 214 s!### # ARRAY SUV(0:99999) SUV(00000)=. SUV(00001)=. & SUV(27513)=. SUV(32258)=. SUV(66216)=67 & SUV(99999)=. >j!#S## rMYLIB.SUVBYZIP ZIP CITY SUV 66216 Shawnee 67 66216 Shawnee-Mission 67 32258 Jacksonville 88 27513 Cary 214 s!### # ARRAY SUV(0:99999) SUV(00000)=. SUV(00001)=. & SUV(27513)=. SUV(32258)=. SUV(66216)=67 & SUV(99999)=. 0i!#T# rMYLIB.SUVBYZIP ZIP CITY SUV 66216 Shawnee 67 66216 Shawnee-Mission 67 32258 Jacksonville 88 27513 Cary 214 s!### # ARRAY SUV(0:99999) SUV(00000)=. SUV(00001)=. & SUV(27513)=. SUV(32258)=. SUV(66216)=67 & SUV(99999)=. 0i!#T# rMYLIB.SUVBYZIP ZIP CITY SUV 66216 Shawnee 67 66216 Shawnee-Mission 67 32258 Jacksonville 88 27513 Cary 214 s!### #  ARRAY SUV(0:99999) SUV(00000)=. SUV(00001)=. & SUV(27513)=. SUV(32258)=88 SUV(66216)=67 & SUV(99999)=. 0j!#U# rMYLIB.SUVBYZIP ZIP CITY SUV 66216 Shawnee 67 66216 Shawnee-Mission 67 32258 Jacksonville 88 27513 Cary 214 s!### #  ARRAY SUV(0:99999) SUV(00000)=. SUV(00001)=. & SUV(27513)=. SUV(32258)=88 SUV(66216)=67 & SUV(99999)=. >k!#T## rMYLIB.SUVBYZIP ZIP CITY SUV 66216 Shawnee 67 66216 Shawnee-Mission 67 32258 Jacksonville 88 27513 Cary 214 s!### #  ARRAY SUV(0:99999) SUV(00000)=. SUV(00001)=. & SUV(27513)=214 SUV(32258)=88 SUV(66216)=67 & SUV(99999)=. 0l!#W# rMYLIB.SUVBYZIP ZIP CITY SUV 66216 Shawnee 67 66216 Shawnee-Mission 67 32258 Jacksonville 88 27513 Cary 214 s!### #%  ARRAY SUV(0:99999) SUV(00000)=. SUV(00001)=. & SUV(27513)=214 SUV(32258)=88 SUV(66216)=67 & SUV(99999)=. >m!#V## rMYLIB.SUVBYZIP ZIP CITY SUV 66216 Shawnee 67 66216 Shawnee-Mission 67 32258 Jacksonville 88 27513 Cary 214 s!### #)$        KEY HASH_ADDR HASH_TABLE 185 04 (00)=. 971 10 (01)=260 400 11 (02)=. 260 01 (03)=. 922 13 (04)=185 970 09 (05)=. 543 11 (06)=. (07)=. (08)=. (09)=970 (10)=971 (11)=400 (12)=. (13)=922 f! 2cc cc#(# KEY HASH_ADDR HASH_TABLE 185 04 (00)=. 971 10 (01)=260 400 11 (02)=. 260 01 (03)=. 922 13 (04)=185 970 09 (05)=. 543 11 (06)=. (07)=. (08)=. (09)=970 (10)=971 (11)=400 (12)=. (13)=922 ! 2cccc|cc c#  KEY HASH_ADDR HASH_TABLE 185 04 (00)=. 971 10 (01)=260 400 11 (02)=. 260 01 (03)=. 922 13 (04)=185 970 09 (05)=. 543 11 (06)=. (07)=. (08)=543 (09)=970 (10)=971 (11)=400 (12)=. (13)=922 ! 2cccc~cc c#&!   9KEY HASH_ADDR LINK_TO_NEXT HASH_TABLE 185 04 (00)=. (00)=. 971 10 (01)=0 (01)=260 400 11 (02)=. (02)=. 260 01 (03)=. (03)=. 922 13 (04)=0 (04)=185 970 09 (05)=. (05)=. 543 11 (06)=. (06)=. (07)=. (07)=. (08)=. (08)=. (09)=. (09)=. (10)=0 (10)=971 (11)=0 (11)=400 (12)=. (12)=. (13)=0 (13)=922 |:! 2cccc c#'" 9KEY HASH_ADDR LINK_TO_NEXT HASH_TABLE 185 04 (00)=. (00)=. 971 10 (01)=0 (01)=260 400 11 (02)=. (02)=. 260 01 (03)=. (03)=. 922 13 (04)=0 (04)=185 970 09 (05)=. (05)=. 543 11 (06)=. (06)=. (07)=. (07)=. (08)=. (08)=. (09)=. (09)=. (10)=0 (10)=971 (11)=0 (11)=400 (12)=. (12)=. (13)=0 (13)=922 |:! 2cccc c# 9KEY HASH_ADDR LINK_TO_NEXT HASH_TABLE 185 04 (00)=. (00)=. 971 10 (01)=0 (01)=260 400 11 (02)=. (02)=. 260 01 (03)=. (03)=. 922 13 (04)=0 (04)=185 970 09 (05)=. (05)=. 543 11 (06)=. (06)=. (07)=. (07)=. (08)=. (08)=. (09)=0 (09)=. (10)=0 (10)=971 (11)=0 (11)=400 (12)=. (12)=. (13)=0 (13)=922 |:! 2cccc c# ;KEY HASH_ADDR LINK_TO_NEXT HASH_TABLE 185 04 (00)=. (00)=. 971 10 (01)=0 (01)=260 400 11 (02)=. (02)=. 260 01 (03)=. (03)=. 922 13 (04)=0 (04)=185 970 09 (05)=. (05)=. 543 11 (06)=. (06)=. (07)=. (07)=. (08)=. (08)=. (09)=0 (09)=970 (10)=0 (10)=971 (11)=0 (11)=400 (12)=. (12)=. (13)=0 (13)=922 |<! 2!cccc c# ;KEY HASH_ADDR LINK_TO_NEXT HASH_TABLE 185 04 (00)=. (00)=. 971 10 (01)=0 (01)=260 400 11 (02)=. (02)=. 260 01 (03)=. (03)=. 922 13 (04)=0 (04)=185 970 09 (05)=. (05)=. 543 11 (06)=. (06)=. (07)=. (07)=. (08)=. (08)=. (09)=0 (09)=970 (10)=0 (10)=971 (11)=0 (11)=400 (12)=. (12)=. (13)=0 (13)=922 |<! 2!cccc c#+% ;KEY HASH_ADDR LINK_TO_NEXT HASH_TABLE 185 04 (00)=. (00)=. 971 10 (01)=0 (01)=260 400 11 (02)=. (02)=. 260 01 (03)=. (03)=. 922 13 (04)=0 (04)=185 970 09 (05)=. (05)=. 543 11 (06)=. (06)=. (07)=. (07)=. (08)=. (08)=. (09)=0 (09)=970 (10)=0 (10)=971 (11)=0 (11)=400 (12)=. (12)=. (13)=0 (13)=922 |<! 2!cccc c#,& ;KEY HASH_ADDR LINK_TO_NEXT HASH_TABLE 185 04 (00)=. (00)=. 971 10 (01)=0 (01)=260 400 11 (02)=. (02)=. 260 01 (03)=. (03)=. 922 13 (04)=0 (04)=185 970 09 (05)=. (05)=. 543 11 (06)=. (06)=. (07)=. (07)=. (08)=. (08)=. (09)=0 (09)=970 (10)=0 (10)=971 (11)=0 (11)=400 (12)=. (12)=. (13)=0 (13)=922 |<! 2!cccc c# <KEY HASH_ADDR LINK_TO_NEXT HASH_TABLE 185 04 (00)=. (00)=. 971 10 (01)=0 (01)=260 400 11 (02)=. (02)=. 260 01 (03)=. (03)=. 922 13 (04)=0 (04)=185 970 09 (05)=. (05)=. 543 11 (06)=. (06)=. (07)=. (07)=. (08)=. (08)=. (09)=0 (09)=970 (10)=0 (10)=971 (11)=12 (11)=400 (12)=. (12)=. (13)=0 (13)=922 |=! 2"cccc c#-' <KEY HASH_ADDR LINK_TO_NEXT HASH_TABLE 185 04 (00)=. (00)=. 971 10 (01)=0 (01)=260 400 11 (02)=. (02)=. 260 01 (03)=. (03)=. 922 13 (04)=0 (04)=185 970 09 (05)=. (05)=. 543 11 (06)=. (06)=. (07)=. (07)=. (08)=. (08)=. (09)=0 (09)=970 (10)=0 (10)=971 (11)=12 (11)=400 (12)=. (12)=. (13)=0 (13)=922 |=! 2"cccc c# <KEY HASH_ADDR LINK_TO_NEXT HASH_TABLE 185 04 (00)=. (00)=. 971 10 (01)=0 (01)=260 400 11 (02)=. (02)=. 260 01 (03)=. (03)=. 922 13 (04)=0 (04)=185 970 09 (05)=. (05)=. 543 11 (06)=. (06)=. (07)=. (07)=. (08)=. (08)=. (09)=0 (09)=970 (10)=0 (10)=971 (11)=12 (11)=400 (12)=0 (12)=. (13)=0 (13)=922 |=! 2"cccc c#! >KEY HASH_ADDR LINK_TO_NEXT HASH_TABLE 185 04 (00)=. (00)=. 971 10 (01)=0 (01)=260 400 11 (02)=. (02)=. 260 01 (03)=. (03)=. 922 13 (04)=0 (04)=185 970 09 (05)=. (05)=. 543 11 (06)=. (06)=. (07)=. (07)=. (08)=. (08)=. (09)=0 (09)=970 (10)=0 (10)=971 (11)=12 (11)=400 (12)=0 (12)=543 (13)=0 (13)=922 |?! 2$cccc c#" CKEY HASH_ADDR LINK_TO_NEXT HASH_TABLE 185 04 (00)=. (00)=. 971 10 (01)=0 (01)=260 400 11 (02)=. (02)=. 260 01 (03)=. (03)=. 922 13 (04)=0 (04)=185 970 09 (05)=. (05)=. 543 11 (06)=. (06)=. 532 13 (07)=. (07)=. (08)=. (08)=. (09)=0 (09)=970 (10)=0 (10)=971 (11)=12 (11)=400 (12)=0 (12)=543 (13)=0 (13)=922 |D! 2)cccc c#.( CKEY HASH_ADDR LINK_TO_NEXT HASH_TABLE 185 04 (00)=. (00)=. 971 10 (01)=0 (01)=260 400 11 (02)=. (02)=. 260 01 (03)=. (03)=. 922 13 (04)=0 (04)=185 970 09 (05)=. (05)=. 543 11 (06)=. (06)=. 532 13 (07)=. (07)=. (08)=. (08)=. (09)=0 (09)=970 (10)=0 (10)=971 (11)=12 (11)=400 (12)=0 (12)=543 (13)=0 (13)=922 |D! 2)cccc c#/) CKEY HASH_ADDR LINK_TO_NEXT HASH_TABLE 185 04 (00)=. (00)=. 971 10 (01)=0 (01)=260 400 11 (02)=. (02)=. 260 01 (03)=. (03)=. 922 13 (04)=0 (04)=185 970 09 (05)=. (05)=. 543 11 (06)=. (06)=. 532 13 (07)=. (07)=. (08)=. (08)=. (09)=0 (09)=970 (10)=0 (10)=971 (11)=12 (11)=400 (12)=0 (12)=543 (13)=0 (13)=922 |D! 2)cccc c## CKEY HASH_ADDR LINK_TO_NEXT HASH_TABLE 185 04 (00)=. (00)=. 971 10 (01)=0 (01)=260 400 11 (02)=. (02)=. 260 01 (03)=. (03)=. 922 13 (04)=0 (04)=185 970 09 (05)=. (05)=. 543 11 (06)=. (06)=. 532 13 (07)=. (07)=. (08)=. (08)=. (09)=0 (09)=970 (10)=0 (10)=971 (11)=12 (11)=400 (12)=0 (12)=543 (13)=8 (13)=922 |D! 2)cccc c#0* CKEY HASH_ADDR LINK_TO_NEXT HASH_TABLE 185 04 (00)=. (00)=. 971 10 (01)=0 (01)=260 400 11 (02)=. (02)=. 260 01 (03)=. (03)=. 922 13 (04)=0 (04)=185 970 09 (05)=. (05)=. 543 11 (06)=. (06)=. 532 13 (07)=. (07)=. (08)=. (08)=. (09)=0 (09)=970 (10)=0 (10)=971 (11)=12 (11)=400 (12)=0 (12)=543 (13)=8 (13)=922 |D! 2)cccc c#1+ CKEY HASH_ADDR LINK_TO_NEXT HASH_TABLE 185 04 (00)=. (00)=. 971 10 (01)=0 (01)=260 400 11 (02)=. (02)=. 260 01 (03)=. (03)=. 922 13 (04)=0 (04)=185 970 09 (05)=. (05)=. 543 11 (06)=. (06)=. 532 13 (07)=. (07)=. (08)=0 (08)=. (09)=0 (09)=970 (10)=0 (10)=971 (11)=12 (11)=400 (12)=0 (12)=543 (13)=8 (13)=922 |D! 2)cccc c#2, EKEY HASH_ADDR LINK_TO_NEXT HASH_TABLE 185 04 (00)=. (00)=. 971 10 (01)=0 (01)=260 400 11 (02)=. (02)=. 260 01 (03)=. (03)=. 922 13 (04)=0 (04)=185 970 09 (05)=. (05)=. 543 11 (06)=. (06)=. 532 13 (07)=. (07)=. (08)=0 (08)=532 (09)=0 (09)=970 (10)=0 (10)=971 (11)=12 (11)=400 (12)=0 (12)=543 (13)=8 (13)=922 |F! 2+cccc c#3-  8/  >1  /857P $ ` ` ̙33` 333MMM` ff3333f` f` f` 3>?" dd@,|?" dd@   " @ ` n?" dd@   @@``PR    @ ` ` p>> f(    6 l P  T Click to edit Master title style! !  0n   RClick to edit Master text styles Second level Third level Fourth level Fifth level!     S  0s ``  >*  04y `   @*  0~ `   @*Z  Bvd޽h @ ? ̙33 Default Design`0  P( L;z $  Z@pipi ?j#   *  2c G##GGjj&  ZИpipi ? #  *" (2c G##GGjjp  0 ?<;  @  ZУpipi ? H  RClick to edit Master text styles Second level Third level Fourth level Fifth level!     S*   `pipi ?j   *  2c G##GGjj,   `hpipi ?   *" (2c G##GGjjH  0+j ? ̙33  0 O P0(   | D T GZ3? l F @ @  O  @ @ ~R G  N?` @ T    I # @ @ xr E  H?`  xR F H? xR H H? p vb ? N+R3?`0 pb @ H?P!0 p B H3?0 U C H<?`4 c Hashing Rehashed Paul M. Dorfman, Independent Consultant Gregg P. Snell, Data Savant Consulting^d 2'$#$N'g K HB?@ 0 a  qSUGI 27, Paper 12 Orlando, FL8 (2''Z  Bvd޽h @ ? ̙33  (  j  B3p?C,z p   p ,$D 0   BCDEFjJ@Yp ,$D 0  N ? ,$D0z     ,$D0x  H ?   s *,$D0  H ?  ,$D0  HtZ ?`Z [ KEY- INDEXING2 (2 z p   p ,$D0   0p ,$D 0   0 0,$D0   0] p  <$0  z @   0 @`,$D0  H ?@ P ,$D0  H ? ,$D0  H ?@`P,$D0jB  BD?p jB  BD? z    @ 0 ,$D0x  H ?0x  H ?@    s a0e0e      H3?  5data TESTLIB.CUSTOMER; ** load suv counts into the array; array suv(0:99999) _temporary_; do until(eof1); /* source not sorted */ set MYLIB.SUVBYZIP(keep=zipcode suv_count) end=eof1; if suv(zipcode) = . then suv(zipcode) = suv_count; end; 2  "                 7      !      <m ?3]} y9Hashing Rehashed SUGI 27, Paper 12 Dorfman and Snell$: 2:' Z  Bvd޽h @ ? ̙33   e ] \  (  \j \ B3p?C \ 0p ,$D 0 \ 0 0,$D0@z Gp \ Gp,$D 0 \ 0,$D0 \  BCDE4FjJ 'l~zjrw 8 B v3 @    Gp,$D 0 \ N ?"@p,$D0  \ B p  <$0    \ s L0e0e      \ H?"  )data TESTLIB.CUSTOMER; ** load suv counts into the array; array suv(0:99999) _temporary_; do until(eof1); /* source not sorted */ set MYLIB.SUVBYZIP(keep=zipcode suv_count) end=eof1; if suv(zipcode) = . then suv(zipcode) = suv_count; end; 2  "                 7      !    \ HD ?"`Z M KEY- INDEXING$ (2jB \ BD? jB \ BD?p  \ < ?3` y9Hashing Rehashed SUGI 27, Paper 12 Dorfman and Snell$: 2:' H \ 0޽h ? ̙33  UM%0 (  j  B3p?Cz @p  $ @p ,$D 0B B 6DjJ @p ,$D 0  N ?" ,$D0l   # ,$D0  N ?"  ! 0,$D0z p  % p ,$D0  0p ,$D0  0 0,$D0   B̷ p  <$0    H ?"  ,$D0   s 0e0e      H?"  )data TESTLIB.CUSTOMER; ** load suv counts into the array; array suv(0:99999) _temporary_; do until(eof1); /* source not sorted */ set MYLIB.SUVBYZIP(keep=zipcode suv_count) end=eof1; if suv(zipcode) = . then suv(zipcode) = suv_count; end; 2  "                 7      !     HT ?"`Z M KEY- INDEXING$ (2jB  BD? jB  BD?p   < ?3]} y9Hashing Rehashed SUGI 27, Paper 12 Dorfman and Snell$: 2:' H  0޽h ? ̙33u  %% (    H3p?C H" (2c z p p` $ pp `,$D0  0p p`,$D0  0 p0`,$D0\z   %  ,$D 0     BGCDE(FjJ G O1M_i- @   Y f,$D 0  N ?" ,$D0z `  # ` ,$D0   0`,$D0  N ?"   H ?"  ,$D0  B p  <$0    s 0e0e      H?"  )data TESTLIB.CUSTOMER; ** load suv counts into the array; array suv(0:99999) _temporary_; do until(eof1); /* source not sorted */ set MYLIB.SUVBYZIP(keep=zipcode suv_count) end=eof1; if suv(zipcode) = . then suv(zipcode) = suv_count; end; 2  "                 7      !     H ?"`Z M KEY- INDEXING$ (2jB  BD? jB  BD?p    << ?3]} y9Hashing Rehashed SUGI 27, Paper 12 Dorfman and Snell$: 2:' H  0޽h ? ̙33   [ S   (   j  B3p?C  0pp `,$D0  0p `,$D0@z      ,$D 0   0F,$D0    BCDE4FjJ w 408o  CQ @     ,$D 0  H ?"@p,$D0  B p  <$0    s D0e0e      H?"  )data TESTLIB.CUSTOMER; ** load suv counts into the array; array suv(0:99999) _temporary_; do until(eof1); /* source not sorted */ set MYLIB.SUVBYZIP(keep=zipcode suv_count) end=eof1; if suv(zipcode) = . then suv(zipcode) = suv_count; end; 2  "                 7      !     H< ?"`Z M KEY- INDEXING$ (2jB  BD? jB  BD?p   </ ?3]} y9Hashing Rehashed SUGI 27, Paper 12 Dorfman and Snell$: 2:' H  0޽h ? ̙33   "$ O(  $j $ B3p?C $ H ?"  ,$D0\z w  !$ w ,$D 0  $  BfC DE(FjJ f r84l @   <w ,$D 0 $ N ?" ,$D0z    $  ,$D0  $ 00,$D0 $ N ?" z p 0  "$ 0p  ,$D0 $ 0p 0 ,$D0 $ 0 0 ,$D0  $ B? p  <$0   $ s (20e0e     $ HG?"  )data TESTLIB.CUSTOMER; ** load suv counts into the array; array suv(0:99999) _temporary_; do until(eof1); /* source not sorted */ set MYLIB.SUVBYZIP(keep=zipcode suv_count) end=eof1; if suv(zipcode) = . then suv(zipcode) = suv_count; end; 2  "                 7      !    $ H< P  j,$D 0 < 00 ,$D0lN  P j =<  P jr <  0e0e    BCDE@F  AjJ 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||mH@&vx):7  @     S" j,$D 0 < 0 P,$D02 %< H?" ` data _null_; array hash_table(0:&hash_size) _temporary_; do until(eof1); set small end=eof1; do hash_addr=mod(key,&hash_size)+1 by -1 until (hash_table(hash_addr)=. or hash_table(hash_addr)=key); if hash_addr < 0 then hash_addr=&hash_size-1; end; hash_table(hash_addr) = key; end; /* all done, write results to the log */ put 'hash_table'; do i=0 to &hash_size; put '(' i z2.')=' hash_table(i) z3.; end; run; 2                           /      !    '   (                          jB /< BD? jB 0< BD?`jB 1< BD?  3< < ?3]} y9Hashing Rehashed SUGI 27, Paper 12 Dorfman and Snell$: 2:'  4< H ?`Z +COLLISION RESOLUTION POLICY: LINEAR PROBINGH, (2 @< c  0e0e  <$0  H < 0޽h ? ̙33  F 0(  H  0޽h ? ̙333  P3H37lH 2(  Hj LH B3p?Cz p  `H p ,$D  0 H 0,$D 0B H  ` DjJ?"0 0 H Z`r ?pD,$D0 <Hash (2z   [H  ,$D 0 H 0@,$D 0B  H  ` DjJ?"p p !H Zv ?,$D0 <Hash (2z   eH  ,$D 0 #H 0,$D0B $H  ` DjJ?"  %H ZT| ?,$D0 <Hash (2z 0 P dH 0 P,$D 0 'H 0P,$D0B (H  ` DjJ?"  )H Zx ?0,$D0 <Hash (2z p  jH p ,$D 0 +H 0,$D0B ,H  ` DjJ?"0 0 -H Z] ?pD,$D0 <Hash (2 .H s * 0,$D0 H H ?`Z /COLLISION RESOLUTION POLICY: COALESCED CHAININGD0 (2 z  lH ,$D 0N  kH  1H  v0e0e    B{ CDE(F @  jJ 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E|| +[} '  B{ P @   S";,$D 0 4H 0,$D0 AH 0 ,$D0 z   gH  ,$D 0N   fH   /H  v0e0e    B{ CDE(F @  jJ 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E|| PrW:|{ {{  @   S"; ,$D 0 6H 0 @ ,$D0 CH 0 @ ,$D0 z 6d  iH 6d ,$D 0N 6d  hH 6d  0H  v0e0e    Bq C.DE(F @  jJ 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E|| v M6S.m q  @   S"61d ,$D 0 8H 0 0 ,$D0 EH 0 0 ,$D0&z  _H ,$D  0T  ]H#  2H  v0e0e    Bq CDE(F @  jJ 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E|| *~bz=$ 5q 3 @   S"1,$D  0 :H 0P,$D0 HH 0 P,$D0 z   bH  ,$D  0N   aH   3H  v0e0e    Bg CDE(F @  jJ 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E|| tC"Uc Mg k @   S"' ,$D  0  B3p?CRz   C  ,$D 0  0  ,$D0,T     9#  /    0e0e    BCDE4F @  jJ 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E|| 8iO#cU{\ @       ,$D 0   `@ jJ?@  >Step 2 (2 % s * 0,$D0 ' s *P,$D0z    A   ,$D 0B *  `DjJ?    + ZE ? 8 >Step 1 (2 ; N ?"  P ,$D0 = H ?"  ,$D0 8 HU?" P ,$D 0 /* STEP 1 (hash the key) */ hash_addr = mod(key,&hash_size)+1; /* STEP 2 (collision?) */ if link_to_next(hash_addr) >. then do; end; /* STEP 3 (mark link as occupied) */ link_to_next(hash_addr) = 0; /* STEP 4 (store the key) */ hash_table(hash_addr) = key; 2' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' $' ' ' ' ' ' '  ? <HO ?3]} y9Hashing Rehashed SUGI 27, Paper 12 Dorfman and Snell$: 2:'  @ HLf ?`Z /COLLISION RESOLUTION POLICY: COALESCED CHAININGD0 (2  c 0h0e0e   H  0޽h ? ̙33  p*T@(  Tj 'T B3p?C &T H ?"  ,$D0 %T H ?"  P ,$D0 T s * 0,$D0z  0   *T 0  ,$D 0 T 0  ,$D0 T Z ? 0   >Step 3 (2B TB  `DjJ?@ 0  T s *P,$D0B  T  `DjJ?     T Z  ? 8 >Step 1 (2 T  0e0e    BCDE4F @  jJ 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E|| 8iO#cU{\ @     / ,$0  T ZL ?0  >Step 2 (2 #T H ?"  ,$D0 (T <x ?3]} y9Hashing Rehashed SUGI 27, Paper 12 Dorfman and Snell$: 2:'  )T H ?`Z /COLLISION RESOLUTION POLICY: COALESCED CHAININGD0 (2 !T H)?" P  /* STEP 1 (hash the key) */ hash_addr = mod(key,&hash_size)+1; /* STEP 2 (collision?) */ if link_to_next(hash_addr) >. then do; end; /* STEP 3 (mark link as occupied) */ link_to_next(hash_addr) = 0; /* STEP 4 (store the key) */ hash_table(hash_addr) = key; 2' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' $' ' ' ' ' ' '  T c *0e0e   H T 0޽h ? ̙335  `)X0 a( i!j% Xj $X B3p?C #X H ?"p ,$D0 "X H ?"  ,$D0 !X H ?"  ,$D0  X H ?"  P ,$D0 X s * 0,$D0 X s *  ,$D0 X 0  ,$D0 X Z ?0   >Step 3 (2B X@  `DjJ? @0  X s *P,$D0B  X  `DjJ?     X Z ? 8 >Step 1 (2 X  0e0e    BCDE4F @  jJ 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E|| 8iO#cU{\ @      / ,$D 0 X Z4 ?0  >Step 2 (2z O  (X O ,$D 08 X  0e0e    Br CIDEXF( @  jJ 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||ElXDfgzh ]i 1 d   H     S 7r I@       O ,$D 0 X  ` jJ?0   >Step 4 (2 X H?" P  /* STEP 1 (hash the key) */ hash_addr = mod(key,&hash_size)+1; /* STEP 2 (collision?) */ if link_to_next(hash_addr) >. then do; end; /* STEP 3 (mark link as occupied) */ link_to_next(hash_addr) = 0; /* STEP 4 (store the key) */ hash_table(hash_addr) = key; 2' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' $' ' ' ' ' ' '   X c 0e0e    %X <` ?3]} y9Hashing Rehashed SUGI 27, Paper 12 Dorfman and Snell$: 2:'  &X H@ ?`Z /COLLISION RESOLUTION POLICY: COALESCED CHAININGD0 (2H X 0޽h ? ̙33  P=l`!(  lj 9l B3p?C 7l H ?"  ,$D0 6l H ?"  P ,$D0 &l s * 0,$D0 l 0,$D0z   Step 1 (2,z @  8l P0 ,$D0 l 030 ` ,$D0 l H ?"@P,$D0 D COLLISION (2 <z P  =l P ,$D 0 l  v0e0e    BCDE(F @  jJ 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E|| n!,\  @    ,$D 0 l Z ? P $ >Step 2 (2 3l H?" P  /* STEP 1 (hash the key) */ hash_addr = mod(key,&hash_size)+1; /* STEP 2 (collision?) */ if link_to_next(hash_addr) >. then do; end; /* STEP 3 (mark link as occupied) */ link_to_next(hash_addr) = 0; /* STEP 4 (store the key) */ hash_table(hash_addr) = key; 2' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' $' ' ' ' ' ' '   l c 0e0e    :l <t ?3]} y9Hashing Rehashed SUGI 27, Paper 12 Dorfman and Snell$: 2:'  ;l HȽ ?`Z /COLLISION RESOLUTION POLICY: COALESCED CHAININGD0 (2H l 0޽h ? ̙33|  ,$@* (  j % B3p?C z @  " P0 ,$D0 # s *30 ` ,$D0 $ BHO?"@P,$D0 D COLLISION (2   H ?"  p ,$D0 ! H ?"  ,$D0  H?" P ,$D 0 (/* STEP 2.a (check for duplicates) */ traverse: if key = hash_table(hash_addr) then found=1; else if link_to_next(hash_addr) ne 0 then do; hash_addr=link_to_next(hash_addr); goto traverse; end;, 2%' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' &' ' ' ' ' ' '   s * 0,$D0  0,$D0B   `DjJ?   Zo ?8 >Step 1 (2  T`r ? t,$D 0 ?Step 2a (2z  `    p 0 ,$D0  s * ` ,$D0  s *`  ,$D0+z P ` 4   p @ D ,$D 0  Ztw jJ?` 4 ,$D 0 ;0 ? (2B B Z DjJ?"P    c dy0e0e    & <l{ ?3]} y9Hashing Rehashed SUGI 27, Paper 12 Dorfman and Snell$: 2:'  ' H ?`Z /COLLISION RESOLUTION POLICY: COALESCED CHAININGD0 (26z P  ( P ,$0 )  v0e0e    BCDE(F @  jJ 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E|| n!,\  @    ,$D 0 * Tl ? P $ >Step 2 (2H  0޽h ? ̙33=  0) m(  j $ B3p?C z @  ! P0 ,$D0 " s *30 ` ,$D0 # B ?"@P,$D0 D COLLISION (2   H ?"  ,$D0  H ?"P  ,$D 0  H<?" P ,$D 0 /* STEP 2.b (follow next_key to empty node) */ do next_key = &hash_size by -1 until(link_to_next(next_key)=.); end; /* STEP 2.c (change original link from 0 to next */ link_to_next(hash_addr)=next_key; hash_addr = next_key; 25' ' ' ' ' ' ' ' ' ' ' ' ' ' !' ' ' ' ' !' ' ' '   s *3  ,$3D0  s * 0,$D0  0,$D0B   `DjJ?   ZԠ ?8 >Step 1 (2  s *  ,$3D 0  s *0  ,$D 0  T0 ? t,$D 0 ?Step 2a (2:   0e0e    BCDEF jJ 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||`h`4@  S"  ,$D 0  T84 ? ,$D 0 ?Step 2b (2  T8 ?  ,$D 0 ?Step 2c (2  c 90e0e    % <; ?3]} y9Hashing Rehashed SUGI 27, Paper 12 Dorfman and Snell$: 2:'  & H? ?`Z /COLLISION RESOLUTION POLICY: COALESCED CHAININGD0 (26z P  ' P ,$0 (  v0e0e    BCDE(F @  jJ 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E|| n!,\  @    ,$D 0 ) TD ? P $ >Step 2 (2H  0޽h ? ̙33y  )! .p0 (  pj (p B3p?C 'p H ?"P  ,$D 0 &p H ?"  ,$D0 p s * 0,$D0 p s *3  ,$D0 p s *0  ,$D0 p s *,$D0B  p  `DjJ?   p Z ?8 >Step 1 (2 p  0e0e    BCDEF jJ 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||`h`4@  S"   p T ?   ?Step 2c (2 #p T ? t,$D 0 ?Step 2a (2 $p T ? ,$D 0 ?Step 2b (2 %p H?" P ,$D 0 /* STEP 2.b (follow next_key to empty node) */ do next_key = &hash_size by -1 until(link_to_next(next_key)=.); end; /* STEP 2.c (change original link from 0 to next */ link_to_next(hash_addr)=next_key; hash_addr = next_key; 25' ' ' ' ' ' ' ' ' ' ' ' ' ' !' ' ' ' ' !' ' ' '  )p < ?3]} y9Hashing Rehashed SUGI 27, Paper 12 Dorfman and Snell$: 2:'  *p H$ ?`Z /COLLISION RESOLUTION POLICY: COALESCED CHAININGD0 (26z P  +p P ,$0 ,p  v0e0e    BCDE(F @  jJ 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E|| n!,\  @    ,$D 0 -p T ? P $ >Step 2 (2Tz ( p 8`  .p p ( 8` ,$D 0 p 0 p 0 ,$D0. p  0e0e    BCDE4F jJ 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E|| 8h@0 @    S"( 8`  p c 0e0e   H p 0޽h ? ̙33  $  (  j  B3p?C  H ?"  ,$D0  0p 0 ,$D0  s * 0,$D0z  0 Xd  $ 0 Xd ,$D 0   0 0  ,$D0   Z( ? Xd  >Step 3 (2B  B  `DjJ?@ 0   s *3  ,$D0  s *0  ,$D0  s *,$D0B   `DjJ?   Z8 ?8 >Step 1 (2   0e0e    BCDEF jJ 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||`h`4@  S"    T0 ?   ?Step 2c (2  T ? t,$D 0 ?Step 2a (2  Tܢ ? ,$D 0 ?Step 2b (2  H?" P ,$D 0 /* STEP 1 (hash the key) */ hash_addr = mod(key,&hash_size)+1; /* STEP 2 (collision?) */ if link_to_next(hash_addr) >. then do; end; /* STEP 3 (mark link as occupied) */ link_to_next(hash_addr) = 0; /* STEP 4 (store the key) */ hash_table(hash_addr) = key; 2' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' $' ' ' ' ' ' '   c H0e0e     <@ ?3]} y9Hashing Rehashed SUGI 27, Paper 12 Dorfman and Snell$: 2:'   H  ?`Z /COLLISION RESOLUTION POLICY: COALESCED CHAININGD0 (26z P  ! P ,$0 "  v0e0e    BCDE(F @  jJ 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E|| n!,\  @    ,$D 0 # T ? P $ >Step 2 (2&   0e0e    BCDE4F jJ 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E|| 8h@0 @    S" ( 8` H  0޽h ? ̙33  PH7x (  xj 2x B3p?C /x H ?"  ,$D0 !x s *p 0 ,$D0  x s * 0,$D0 x s *0  ,$D0  x s *3  ,$D0  x s *,$D0B x  `DjJ?  x ZP ?8 >Step 1 (2& x  0e0e    BCDE4F jJ 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E|| 8h@0 @    S" ( 8`  x TK ?   ?Step 2c (2 x Z|M ? Xd  >Step 3 (2B x@  `DjJ? @0  &x  0e0e    BCDEF jJ 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||`h`4@  S"   'x T|I ? ,$D 0 ?Step 2b (2 (x TZ ? t,$D 0 ?Step 2a (2 )x Hd?" P ,$D 0 /* STEP 1 (hash the key) */ hash_addr = mod(key,&hash_size)+1; /* STEP 2 (collision?) */ if link_to_next(hash_addr) >. then do; end; /* STEP 3 (mark link as occupied) */ link_to_next(hash_addr) = 0; /* STEP 4 (store the key) */ hash_table(hash_addr) = key; 2' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' $' ' ' ' ' ' '   x c d0e0e    3x <dt ?3]} y9Hashing Rehashed SUGI 27, Paper 12 Dorfman and Snell$: 2:'  4x Hx ?`Z /COLLISION RESOLUTION POLICY: COALESCED CHAININGD0 (26z P  5x P ,$0 6x  v0e0e    BCDE(F @  jJ 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E|| n!,\  @    ,$D 0 7x T<} ? P $ >Step 2 (2H x 0޽h ? ̙33#  ""A 6"(  j 9 B3p?C 8 H ?"p ,$D0 ! H ?"  ,$D0  s *p 0 ,$D0  s * 0,$D0  s *0  ,$D0  s *3  ,$D0  s *,$D0B   `DjJ?   Z ?8 >Step 1 (2&   0e0e    BCDE4F jJ 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E|| 8h@0 @    S" ( 8`   T|  ?   ?Step 2c (2  T  ? Xd  >Step 3 (2B @ ZDjJ? @0   HT?" P ,$D 0 /* STEP 1 (hash the key) */ hash_addr = mod(key,&hash_size)+1; /* STEP 2 (collision?) */ if link_to_next(hash_addr) >. then do; end; /* STEP 3 (mark link as occupied) */ link_to_next(hash_addr) = 0; /* STEP 4 (store the key) */ hash_table(hash_addr) = key; 2' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' $' ' ' ' ' ' '  +  0e0e    BCDEF jJ 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||`h`4@  S"   , T$ ? ,$D 0 ?Step 2b (2 - T( ? t,$D 0 ?Step 2a (2z   A  ,$D 0NT   ?#  N 5  0e0e    B CDELF$ jJ 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||?pWy<!B6FJ' V & Iq ~   8d  @      S"hS  6 00  ,$D0 7 Z- ?0   >Step 4 (2  c .0e0e    : </ ?3]} y9Hashing Rehashed SUGI 27, Paper 12 Dorfman and Snell$: 2:'  ; H,4 ?`Z /COLLISION RESOLUTION POLICY: COALESCED CHAININGD0 (26z P  < P ,$0 =  v0e0e    BCDE(F @  jJ 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E|| n!,\  @    ,$D 0 > T9 ? P $ >Step 2 (2H  0޽h ? ̙33"  60 N(  j 2 B3p?C 1 H ?"p  ,$D0 0 H ?"  ,$D0+z   .  ,$D0  030 ,$D0  H?" ,$D0 C COLLISION (2   s * 0,$D0  s *p ,$D0z  t  5  t ,$D 0B    `DjJ?    Z ?8t  >Step 1 (2<z  , 6  ,,$D 0   v0e0e    BCDE(F @  jJ 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E|| Kq_-#; @    ,,$D 0  Z ?0   >Step 2 (2 - Hp?"` P {,$D 0 /* STEP 1 (hash the key) */ hash_addr = mod(key,&hash_size)+1; /* STEP 2 (collision?) */ if link_to_next(hash_addr) >. then do; end; /* STEP 3 (mark link as occupied) */ link_to_next(hash_addr) = 0; /* STEP 4 (store the key) */ hash_table(hash_addr) = key; 2' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' $' ' ' ' ' ' '   c 0e0e    3 < ?3]} y9Hashing Rehashed SUGI 27, Paper 12 Dorfman and Snell$: 2:'  4 H  ?`Z /COLLISION RESOLUTION POLICY: COALESCED CHAININGD0 (2H  0޽h ? ̙33  , (  j * B3p?C  H ?"  ` ,$D0  H ?"   ,$D0 % H(?"` P A,$D 0 (/* STEP 2.a (check for duplicates) */ traverse: if key = hash_table(hash_addr) then found=1; else if link_to_next(hash_addr) ne 0 then do; hash_addr=link_to_next(hash_addr); goto traverse; end;, 2%' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' &' ' ' ' ' ' ' z     ,$D 0  s *30 ,$D0  Bt?" ,$D0 C COLLISION (2 z      ,$D0   s * ,$3D 0   s * ,$3D0  s * 0,$D0  s *p ,$D0B   `DjJ?   Z ?8t  >Step 1 (2   v0e0e    BCDE(F @  jJ 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E|| Kq_-#; @    ,,$0  Z̧ ?0  >Step 2 (2  Th ? t,$D 0 ?Step 2a (2+z P ` 4    @  ,$D 0  Z$ jJ?` 4 ,$D 0 ;0 ? (2B  B Z DjJ?"P   ! c <0e0e    + <( ?3]} y9Hashing Rehashed SUGI 27, Paper 12 Dorfman and Snell$: 2:'  , HL ?`Z /COLLISION RESOLUTION POLICY: COALESCED CHAININGD0 (2H  0޽h ? ̙33  bZ+ (  j ( B3p?C ' H ?"  ,$D0 & H ?"  ` ,$D0z     ,$D 0  s *30 ,$D0  B@?" ,$D0 C COLLISION (2   s *  ,$D 0  s * 0,$D0  s *p ,$D0B   `DjJ?   ZPF ?8t  >Step 1 (2   v0e0e    BCDE(F @  jJ 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E|| Kq_-#; @    ,,$0  ZJ ?0  >Step 2 (2  TN ? ,$D 0 ?Step 2b (2  s *0  ,$D0z   P  +  P ,$D 0   0e0e    BCDEFH jJ 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||..L3X0AH*3#A'  $r>ZaQA<+! $?<r!U8!<@$p.6 !$@               S"  P   03 0  ,$D0  03 p 0 ,$D0  03 p ,$D0  03  ,$D0  T^ ? t,$D 0 ?Step 2a (2  T  ? @1 ,$D 0 ?Step 2c (2 % Hc?"` P ,$D 0 /* STEP 2.b (follow next_key to empty node) */ do next_key = &hash_size by -1 until(link_to_next(next_key)=.); end; /* STEP 2.c (change original link from 0 to next */ link_to_next(hash_addr)=next_key; hash_addr = next_key; 25' ' ' ' ' ' ' ' ' ' ' ' ' ' !' ' ' ' ' !' ' ' '   c Xd0e0e    ) <s ?3]} y9Hashing Rehashed SUGI 27, Paper 12 Dorfman and Snell$: 2:'  * H_ ?`Z /COLLISION RESOLUTION POLICY: COALESCED CHAININGD0 (2H  0޽h ? ̙33  .@(  j , B3p?C & H ?"  ,$D 0 % H ?"  ` ,$D0v   0e0e    BPCDDE@F  jJ 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||\4`$"+D<bFP)~ D @     S"  ,$D 0  s * 0,$D0  s *p ,$D0B   `DjJ?   Z  ?8t  >Step 1 (2  s *0  ,$D0   0e0e    BCDEFH jJ 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||..L3X0AH*3#A'  $r>ZaQA<+! $?<r!U8!<@$p.6 !$@               S" P   030  ,$D0  03p 0 ,$D0  03 p ,$D0  03  ,$D0  s *3  ,$D0  T ? @1 ,$D  0 ?Step 2c (2 $ H ?"` P ,$D 0 /* STEP 2.b (follow next_key to empty node) */ do next_key = &hash_size by -1 until(link_to_next(next_key)=.); end; /* STEP 2.c (change original link from 0 to next */ link_to_next(hash_addr)=next_key; hash_addr = next_key; 25' ' ' ' ' ' ' ' ' ' ' ' ' ' !' ' ' ' ' !' ' ' '  (  v0e0e    BCDE(F @  jJ 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E|| Kq_-#; @    ,,$0 ) Z% ?0  >Step 2 (2 * T) ? ,$D 0 ?Step 2b (2 + T, ? t,$D 0 ?Step 2a (2  0  ,$D0 ! c 0e0e    - <x1 ?3]} y9Hashing Rehashed SUGI 27, Paper 12 Dorfman and Snell$: 2:'  . H44 ?`Z /COLLISION RESOLUTION POLICY: COALESCED CHAININGD0 (2H  0޽h ? ̙33  :2'@(  j % B3p?CB   0e0e    BPCDDE@F  jJ 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||\4`$"+D<bFP)~ D @     S"    s * 0,$D0  s *p ,$D0B   `DjJ?   Zx ?8t  >Step 1 (2  s *0  ,$D 0   0e0e    BCDEFH jJ 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||..L3X0AH*3#A'  $r>ZaQA<+! $?<r!U8!<@$p.6 !$@               S" P   030  ,$D0  03p 0 ,$D0  03 p ,$D0  03  ,$D0z P h   @X ,$D 0  Z jJ? h  >Step 3 (2B B ZDjJ?P @   s *  ,$D0  T ? @1 ,$D  0 ?Step 2c (2   v0e0e    BCDE(F @  jJ 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E|| Kq_-#; @    ,,$0  Z ?0  >Step 2 (2  TX ? ,$D 0 ?Step 2b (2  T ? t,$D 0 ?Step 2a (2 ! H ?"  ,$D0 " H?"` P {,$D 0 /* STEP 1 (hash the key) */ hash_addr = mod(key,&hash_size)+1; /* STEP 2 (collision?) */ if link_to_next(hash_addr) >. then do; end; /* STEP 3 (mark link as occupied) */ link_to_next(hash_addr) = 0; /* STEP 4 (store the key) */ hash_table(hash_addr) = key; 2' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' $' ' ' ' ' ' '   c 0e0e    & < ?3]} y9Hashing Rehashed SUGI 27, Paper 12 Dorfman and Snell$: 2:'  ' H  ?`Z /COLLISION RESOLUTION POLICY: COALESCED CHAININGD0 (2H  0޽h ? ̙33   d \ *0 (  j ( B3p?CB   0e0e    BPCDDE@F  jJ 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||\4`$"+D<bFP)~ D @     S"    s * 0,$D0  s *p ,$D0z 0   t ,$D 0B  ZDjJ?0   Zt jJ?H >Step 1 (2  s *0  ,$D0   0e0e    BCDEFH jJ 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||..L3X0AH*3#A'  $r>ZaQA<+! $?<r!U8!<@$p.6 !$@               S" P   030  ,$D0  03p 0 ,$D0  03 p ,$D0  03  ,$D0z P h   @X ,$D 0  Z jJ? h  >Step 3 (2B B ZDjJ?P @   s *  ,$D0  T| ? @1 ,$D  0 ?Step 2c (2<z      ,,$D 0   v0e0e    BCDE(F @  jJ 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E|| Kq_-#; @    u ,$D 0  ZH jJ?@  >Step 2 (2  T ? ,$D 0 ?Step 2b (2  T ? t,$D 0 ?Step 2a (2  H ?"  ,$D0  H\?"` P {,$D 0 /* STEP 1 (hash the key) */ hash_addr = mod(key,&hash_size)+1; /* STEP 2 (collision?) */ if link_to_next(hash_addr) >. then do; end; /* STEP 3 (mark link as occupied) */ link_to_next(hash_addr) = 0; /* STEP 4 (store the key) */ hash_table(hash_addr) = key; 2' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' $' ' ' ' ' ' '   c 0e0e    ) <X ?3]} y9Hashing Rehashed SUGI 27, Paper 12 Dorfman and Snell$: 2:'  * H8 ?`Z /COLLISION RESOLUTION POLICY: COALESCED CHAININGD0 (2H  0޽h ? ̙33\%   %%!( $(  j $ B3p?C " H ?" `,$D0B   0e0e    BPCDDE@F  jJ 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||\4`$"+D<bFP)~ D @     S"    s * 0,$D0  s *p ,$D0z 0   t ,$D 0B  ZDjJ?0  ZP jJ?H >Step 1 (2  s *0  ,$D0   0e0e    BCDEFH jJ 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||..L3X0AH*3#A'  $r>ZaQA<+! $?<r!U8!<@$p.6 !$@               S" P   030  ,$D0  03p 0 ,$D0  03 p ,$D0  03  ,$D0z P h   @X ,$D 0  Z| jJ? h  >Step 3 (2B B ZDjJ?P @   s *  ,$D0  Tt ? @1 ,$D  0 ?Step 2c (2<z      ,,$D 0   v0e0e    BCDE(F @  jJ 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E|| Kq_-#; @    u ,$D 0  Z" jJ?@  >Step 2 (2  T,& ? ,$D 0 ?Step 2b (2  T) ? t,$D 0 ?Step 2a (2  H ?"  ,$D0  H3?"` P {,$D 0 /* STEP 1 (hash the key) */ hash_addr = mod(key,&hash_size)+1; /* STEP 2 (collision?) */ if link_to_next(hash_addr) >. then do; end; /* STEP 3 (mark link as occupied) */ link_to_next(hash_addr) = 0; /* STEP 4 (store the key) */ hash_table(hash_addr) = key; 2' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' $' ' ' ' ' ' ' z ]hu  ( h]u ,$D 0  0  ,$D0    n0e0e    BCDE(F @  jJ 8c8c     ?A)BCD|E|| ?E-: Dw @   S"]hu0  ! c -0e0e    % <C ?3]} y9Hashing Rehashed SUGI 27, Paper 12 Dorfman and Snell$: 2:'  & HH ?`Z /COLLISION RESOLUTION POLICY: COALESCED CHAININGD0 (2H  0޽h ? ̙33  F p0(  H  0޽h ? ̙33  nf`(    C AC:\Documents and Settings\Gregg\My Documents\SUGI 27\hashman_logo.bmpjhvB  s *޽h ? ̙33q  ! $(  j  B3p?C  <8 ?3]} y9Hashing Rehashed SUGI 27, Paper 12 Dorfman and Snell$: 2:'  ! H ?`Z Z BENCHMARKING2 (2  #  `A ??p  $  `A ??p H  0޽h ? ̙330 @(  X  C <;     S L H    H  0+j ? ̙33.0 ((  ^  S <;     c $XE H    H  0+j ? ̙33#|xZ xUUT: $Є-!,ր I0l$H|& $$a74ۀ3 ":("B >>EA wν:bw{>nX톝1u$ຓHzT<dBD^Р~W]׀:>O=dYl@vP6H(((( Psh@@-Z9Zj =PD@I@xH] (Pw@=zJCJS}NYFf.7`(p=pDʯfՃղ';(H+1@F"-BDAݞ[Ջ ThtR q䒩q ݊Oǁ22 |c?LUo;|=~s l\K"蚌2Xhy># 'LpWM9ǕM+/x*.3pʔ.X%\k6bހQh 򳏚HR~ S\ps&qUk 鬎]87,/ˍM}x|Z#xĚ.-C~~. g4SlR>wx\^ަńfp zmAMxߡ;HchVSOP^}{ ;9}Fx Fs@R r*Oް*y Ru`x:@aP?Faw#?7^`8sjg{t]@=DKyn,s;Jdl!)U7AҮ*IK+:U9dA˰ J,|+9 F6|a"$6e툤obن3°1d"EFZ"a{qÍkdn9%hE(OdegxHw\t`M y$OV@lzih0vy|7zr; ꎖCiHdo@.#"F!Ӊ] NX9Z٢;ߕY.'b@oZf-&\lz,4|n94%GM~[N0?ߡZ wpHocP @ҿĶ2)rWA)(4(Ū`iJoXo);y`NDR_#%qrmB EVr`j)[kAzi.r41zrD+_dYX-P :`7F`! |V(u1ljL5mO4{5lo[ {Mx˸81d&)U)$Ӊ%@!I H9:CZf9.&:tbkFa`fLPCR.I>nEHPKYm!Q 7o$НI+Vy 'I%Ca\MujQn7vA*j$%z@m&ɥN堤mS=sߖx;[ &b0-ED$3`|OcUBUbHz´WL)Q]+*`4|SM(=-gl]%hRED7)Ecȯ΂Z˂g$ N`( ;86?TvS +О01Z_]'Yo{:{ z&GۺwWOKtGztIEͬ z|{smUXn]r̃>eg_'_F]\V̗N}[ND}콟ҥCqbK&HNƺ3"6V3?wGru*tΟF'v5{~˵-Rc /絏gdv"_elNsWS ewcjO`=N=C}JM-`c+kH6_/2jL1)3PcY [ht=w(&X\DpPrD..'xa|Qt>^}%GA333kxLY}]>{ > .B4͢r]C1aw5ݔom=5U ҿ-F8YI+P $R+议W2@ %#-x#ʯ^ИzI# n2 v:hd&GĹc;?cNǻi[[Acȕ0jۄ$ a?5E:`-܁AɊ,Fֆ.$BjhEy-\mrM$a8Y4 %hp'I v@K:Zv{1DhE T"̡)Tb{9 )TS PIP*D T"̡)T)TJ(TVC J HR2C@IMC JPY8TU6 T_P NJP(+x͠u:J@%Q,**pPIlT4F!RPUj$ rA;H7  JJGrt 7!TwQ}&B΍  * **ʡ1BcPP]PUjt*B;(A>*@$**=ơ3oC&Pm*=3 * **=ơ3BW*lAxBRCgP-ڡP5CID2h2P*]wt.B';wZedPTP4P(TvA*CTFU(a J !`TT iD2j2R*#j {ܡ|'GHZt?ZebPUP5P)TzA*#Jy(T2a J B@;hiLL*ĠzeBU@ePoy * **21BeP)o`PBxBRCeP)m*q@*@$**3ȡ23Pچ }U4S`{p@OPUP5P)TFA*3Jyl0_LR^Vao,*LL)Au^Ve*K@ j`PA']2_ƭUY۔t:ek H̭UCVMJn=u?&&a`*0a{3ﯯh0t޵k‚ip| i(␱66dj<WCfCRqCu;Q*I2v \vMdgpE`yTS5{w-0Vgx{wejeY@Ѫb1>Ȋm hZa/Xm6`J}MImJlQ+6miFmp[Z5J̜]V f=ϙfw=ZWƂ+cQl]n&22*Ȅ*Q2pf*n]*kAHSVB"t/4-OxPe O;I@Pe TYMQb+KpɑiI&:LnX tܺ$W΂+gEu7Gw%꾝#>\{37+gi:r$QlphoRUMKJ.0Prd•n+#4KRS[[p-򔗵`/IH$\y_xߜ$RUp \ye A7jVjZRrG> M5" ,*p-"X=*\DU5-CU WIZEv+Ps\% W"Q% M8o*U z7K\% 怫Dp)fJڧ%=b 2*\E\],J[[*[p-Wp}b׮$D9@DI:bWYsU&\(+.0)PtdU2V%--z('ͿP4EO ֳ*KjWA#)zeɢyM066ܵR)=g̢N~d0i2lQfi(ן'KOQf2K pla9leŢ-l_SJeg1AL̶f["ͶZf[.U'ywp!f[,uPKf[ f,mVwFf׿0;`g>r ]@D̶f"Ͷ[fۭn]oF u+kTVla=dOL68ƎsϦg Mӹg ?ns8cw r{'nz{Ÿuf7`Z荬aKֱOp"q/_H4BйxGu5sI=ʂs1~ZX us[yP^&H1{ZR::kB}ʃsAj%> +~40a6N/]yOXy9+=+PXV[y0ƕo8Vԍaxu*Һ'=ZCݗ0vM'cs{3p(%^38<xgig?NY:KW56)uJ;v̨+vFCi\^$\R=-J9 omÉFUl2-vV3x bJg4rq7v>ʅ\_,*R"7oc~W>ѯ0.CE\i&-ۤe/iKZ6Q2y2-[e۴leokYd:Gl; ZchCUr NIZu)UY;lUU=H!oJ'JݹBYJ5ʓ?7Qe"r>Op EMr#9\Z:=Ǟp{^aXށ!wMw6îf|5ܠ8$mU,xL*D|:-$Wag=)* ,%&Wag* $ C>Gȭ¯M)=Ξ:0$az#rriR#(r_!myE>/wVS~G"[ R~KK3By,*3U]WCU.:zV]:\__aKwXҲ3"d SCSe/kN-۩elղZD˖hY!G˽Sf{M̯_7 wfu-7ܸbWep5u.F@;ITh'ـc[ lx[_f[9»fi-4ӂ2Cx/'5q؉*:*^_O}Z@"ƌZN#Y%d3-ً$e4n=ے}dZ$;͒F9DId+9tFOrħ(V|֪%Svrtଉbk ;^+VdcHo#frOy9z$^mNڎ'm#lMm4鐺, sƠHngSIy3KWh讷~@W_y=iȐRm)$yDlE*:R{OS4+K;uw{S3g4Rg2]m[֮'أ.===}׏X50.<,~Q ˊxϜ0:FدQO; %kE_=aD#<W?3x?+j[ SgʩRϘ+{_ɰx_F=~4ʶn}* wO2K-_rޥ uE tD{&89⃳/NW&>`Z@\f TG|t#xZ xŶz$v2 $$Q@ɽ@$> ^""T"bXy)&*EE9U=&,~{ =:uTͼnxꭱU,LrYuaۀ ;    C""bjPPc Px@̀j 5P@u1#uu(PO?ӻy c)YȦNWahp>(2+xuVTLyr|/%}{W/iSY1MansztP~>IaXɿ_O[7ߝ;ėqÕ (i'igKk w++/T*2aܸDZO}:ִOdzOGdkjњm'Gr +@Xp[]Hֆ2cum }ikqKz/77xYlGߩ^3G|c+7P?us.АjJ 6g2wTU&4uڮja難l6U}y79Hb՚c!KzKfF%xS0L)F7#"if{mKL9{P*.dƣyőc.jGj{H[^Ϩ uO3sTkuN5+Ldk1gk^ZnO|n:A\.uB\Y"ƣ+<ȗ47gm1| :[o[M|{P>%3=$#lfjeVz(VrzFYjFK= e+K*,q V >%L:$s O~#oØ:TϢ(`8BD&$4jٙ91z)l ),ʭ*t)0)+@r<0@uY gAYPNe͡@6}JĜ"d/Ul>0?7ݭyپ yO*(BcYl7!]'BXiS<rl^"7lj'cdS jpJkwmUol~^vQ6+lBr,s4@%v3?Toʭ|zf2~x[z2dwBO}އ'xfAv3s춽n$uk7ucp%޴ٖ?Bϱ/ypU+m'l.Hh\@3iv] xa6[.i5[7i_Ao,dyNV/!~ha%a^~i>M;oMSfq6 s,@mtBz=d`'vMF >SiANJー@29!QQ4wd^x>} T@X{ڈ}{3Yk(: ݗ}vʳ d:ms;5v_]C}>,5vֺ_k3k<٘qiVJZGگ}o8g.>b{͎_OKᗓtOOtjxO۳E''֗.t†ha:,lO:|&oZz6,;X.5wEG'nH>'t] =iO3ggyu82h~Nk-O_ا){J{<i_֒tlSLM*DM1!U]DL[v*̽Yg79\PYSiO}r<þǺl1fU[.ݿjҏI=ꉧZsO܃o=sfݫxӛYާ/o2q|k^~[5g t3k=~ѓ?)mT+Rz~U|ʞ8|W;mLτ*Wq{<߿ᬉj?nWge<&mpcQ3?K?ShW+U~v=CN i0wvo蘊my/CBؾb~Uz,G|p+'N:;/Y_n?ROo/{V\3`}fj_)C? >0`:TـM5xQ044E[֚TBPɡT@>zrŤ`lk~,>V n/%H`R 0!,Vt-jQLEl,ܳT< `b*Ԥߧ&5Ӎ(n0HMDqΤ4PƐ6KM hSސ|# &Q_g0u1l6&)0'**9xU8>.R]r0Ϥ -}4Ĥ`Сɜ9Gpqt%sNt/o)yۋ1ɜZ7=2xL=A}?=\G}jhࠖB>xoViU#7.8A+_F>X>ϖ0AxtV=/UN6{GH[>%{gsA#s>XSDI]b@G)Qrڣ"pTB={6nh3=ME6O,┉j<0E 5THyuw:Cb< &LqE˸ef^K!UdU|W`2M<σ!͑'yp 9c ~yf?ŠZlA*A OŭͱjAcnZ`f;{eYW.,."Q+eGB)յZ6ؤ&M$MlЊmhm2ڴZ -MEcΙ0unܙ993;3?cUW"MW țsN^ 1Xpe,*WU&UF@Ոxdb2jWW qȠ2T:$UUET+Lio}VBDP{g*'j2jjTkVAp=l]aog ޽rǝE,U^5Zpe5G$Ql\ Vմl %WQ&\Yq]@j\Rb il `U*hZp. bUM j1)PseU |:\E!EEE|[bD5Y4*Zp55GbWR/H=c蹊2*\굪Ģzs\% EJr@䏷!*Yp4=GJbW)@"JsLJ1]Ep$(:ǢzPt\\=mpi_!P4EO s7(:ծf7GRKmEZ㳱)Z:Klj[H-^8(:m1ԶDmԶZU݇i ڥ~OQVRK3VCmk6KmE=ڄږmX'JLm Y{Rmem3ԶEmԶ[MxPۋ=&KvRKjuIm=Rmj;HvrA;|K+91}"ZPRi5+wfMjV֩f3ЬNCmgH= 4q8a_Q@GwQG'Q87FzOSN{}ZxwߑFc)ūVz(-z Y _&(78@ugޣA{$w0<rA=3j5;{uz]kp_w/k'T5`,k 2?څ| v| = V_Q ԚW`#<"~t| ΓqqN9_Gˤ?p¾*^-GJ\u~w; bDou_lg lj ^$.i<CRc[Rc[LRTn(JJR%BTPd(U**J B*bW{>?f9k~g di7x7H@|xO9Siw;7Y`Ri);}vm\p2T _1' 6 <O_kk `yrA!ߛɸS /-3%[,y\p=ѹWw1d{4JeN^$d:) p0]θ>^Nő_ &ʗ6͂9R<<.GߙM~9rT;@GTaiW˺;mmV0-f}T`E7vȔϧX,o-_KSpGk[Eg0=LѲ7 -(B&-ۤel-pl[ ~q0ϳBmE&7+hWt]:vWU2Y ߽J5D;Ȯu/g)xv{̿#sb\kR60; 2?p.c2r `PǷѾ2Sc= {(lhߏoo}?V^: kZ㮆w(,ۋi_6f 7@;/ddaVaG0lE; ;n؊v~Haٻǰa6 [Η(%{qovSy-(&WqhEMЖ)MЖ ðlаmYNaل*ma-ل}'$ף벒ʳUS ږ.vt%zD;V, ohp޸w <ݲ4X%-9C4lnT6m aC,܆ p6m ~+bo O˚Y%{u-{]˶kv-۬en-[˖h-2Hs׭ݼ}ܥb:*/ɧ&Kqpך;W!u>wj[@]O$' 0279㌹i\UA8@CVj O?1Wjy=a{qI=$n~Ml=Edl%.ds\"Fd Nv^̖k&sFKGB):J&@#`+#Vıgӱ3F~2 mIMI**r;r>r"}rd^ 4"sx2&PL/1@ޥ=z88a6ҽP|rPY Jn$:s|ҧ{e2{2+Ms=4 6>k(6Of/akeYXⱽ==볾DZ`]MX50?GxIYG%3& ᤶ \M5.?Epzh+XjGq緺{zҫjgYj#r5"7F>G(#/ >Oh+'0 hp   $PowerPoint PresentationGregg P. SnelleGregg P. Snelle91gMicrosoft PowerPointon@px \@ '@P][@@o.y G`g  ( B& &&#TNPP2OMi & TNPP &&TNPP    &&--- $ $   $- $(( $((22- $22<<- $<<FF- $FFPP- $PPZZ $ZZdd- $ddnn- $nnxx- $xx- $- $- $- $- $- $- $- $- $- $- $- $- $- $ޱ- $ۯ- $""٭- $"",,֫- $,,66Ө- $66@@Ч- $@@JJͤ- $JJTTˢ- $TT^^ǟ- $^^hhŝ- $hhrr- $rr||- $||- $- $- $- $- $- $- $- $- $- $}- ${- $y- $w- $t- $s- $&&q- $&&00o- $00::m- $::DDk- $DDNNj- $NNXXh- $XXbbg- $bbllf- $llvv~e- $vv}c- $|b- $za- $y`- $x`- $w_- $w^- $v^- $---&&&G&ww@n CwCw w0- &Gy& &;1-3- $;04)--&&p` &!-- $  --&&p` &a!-- $ , `--&&p!-- $ p--&&!-- $ --&&&&~V-3- $U~Jz--&&!-- $_  --&&I-3- $ H--&--_-- @"Arialw@F VCwCw w0- .2 Hashing Rehashed#  #.@"Arialw@n CwCw w0- .B2 #'Paul M. Dorfman, Independent Consultant   . .@2 S&Gregg P. Snell, Data Savant Consulting  .--#<-- @"Arialw@F [CwCw w0- .!2 SUGI 27, Paper 12    . .2  Orlando, FL  .--"System !)Bw-&TNPP &՜.+,0$    On-screen ShowData Savant Consulting$ +Times New RomanSAS MonospaceArialNews Gothic MT Courier NewDefault DesignMicrosoft Excel WorksheetPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint Presentation  Fonts UsedDesign TemplateEmbedded OLE Servers Slide Titles$&_mGregg P. SnellGregg P. Snell  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     !"$%&'()*1Root EntrydO)Pictures:Current User#SummaryInformation( PowerPoint Document(DocumentSummaryInformation8