alvinalexander.com | career | drupal | java | mac | mysql | perl | scala | uml | unix  

What this is

This file is included in the DevDaily.com "Java Source Code Warehouse" project. The intent of this project is to help you "Learn Java by Example" TM.

Other links

The source code

JFIF``C		

 $.' ",#(7),01444'9=82<.342C			

2!!22222222222222222222222222222222222222222222222222&"	
}!1AQa"q2#BR$3br	
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz	
w!1AQaq"2B	#3Rbr
$4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz?(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
)2)h((((({ס*	$_
K@'~C?UC0UQ@'~C?UC0UQ@'~C?UC0UQ@'~C?UC0UQ@'~C?UC0UQ@'~C?UC0UQ@'~C?UkY_Vq]Csm&vMѰppÃ"W?J(((((((((((((((((((((((((((+'
*E-tIk:
(
+ʹN6>7IeZ\#X)o1&'1bО
O;gW˫G#4( |r݄+ԼO=1-~ǥ^{͒(;)OPC6h乺6f->$ۼy,~V P}Equ*Q>ͦ^Zy{N&v*)6}ߛ:hW"kiEbF0!k5$1zmVu6DDм;[=ݷ $F&sUӒ-IyL~b`+YKn*6
@=6>y
x.-1"J)nN3d\[O҉+-}DQEQEW->omW[[{+@g󮦹OvS\US\UtP?5Q5WAEsS\US\UtP?5Q5WAEsS\US\UtP?5Q5WAEsS\Ug\i"u9XIQ0ʱ#+{_¿I'(((((((((((((((((=RA\?kV)h(^qY[1Db$RѮG!"s嘘!,--N遁NV18QtbW^M}Y^gQGjͨwAm4Ƣ>|̊@:?x*;V}6.{HWSghU!V'a+;I`-!dEwY7iJ#o̧hwǟĺErh
)!vV&QF~pIxS^]iOqm{=dYU^qmѬ-&C4	<H Y8_xF.=1_y)!a5?FJkkba)e8
`~p?zwWN]T쮮9QcF_c2"NhM.+wO\d6r:qTlywNiwRrE3+qmv]ψ Ѯ4/>k)QWnEG!)AZGkk
dX$YK1$ĒI$M\+_i_wQ%t/E(:
(
(
篿~?}WC\';jh(6I2}W9{]SڕEKa~-46:ɿk*OpbvY)l6
 >|y06ga<n{LѬd%Ԩ,C)|/|%alk˪XjWpq*ɺdBiTP!Q	[Jɗo)s#Oe>ômwzk.?]]BLYHvH<~=2:->!}:$֞ x[E3o"(L2	9';Iz >aW[|Nns8y>4kkH./eHki#J2Mϖ>Se>X467sEFvhd%7̠LeǸ鏼hY]Gy+}s5dW<# `,k̯uˡt!/j7_Rd))BZ%!FXn&۷Ojd,V9$c5լvv坐KdT9{)5#եݬO
mRABa;|4~
2ti.ݒHa	leN8ɥT#WhTIgC@0HSQ[=j
3D&`fy.mKDl/b9{)=KN-5X
œI$ʬ'Ew!`=;JSRIeUdܠ8$ 4im4_%ᛙ"TMBCW9p	=k{_¿I'z
hz
k3^ZkQ2:MFpAVѮ{uo
u9=jD(Wooup& xG*;vxGWpЮ4ˋfu$7,`@L<[:ݖ{hEjX޵ɚvFa, %-_dek>
/Z^wRǍ"eD뱋
s;
QPͧ\# YZ0UHW!
|[O}˧vrO1d—]7Hgˡ&-#mѐ!]mER-v({bΓ:*M#.vn';@:(
(
(
(
(
(
(
(
(
(
(
(
(
	$_
K]r-/NMvְ)%Q@U1utW?}n=otW8d;kL1ra˴Wn}n=otfm,J5G/wLOT
\ZxwLIvNogLVbSo8Cm[m̿d`]V'571PEz
t:#XA $ۂFI9`
399e{Y.,϶ydLJUG%Q]YTa6%[-26&
_>73CA\=y=ota6%o}n:
"IGCm[񺻢KQ,li(!@XEPEP\';jkUNg}}G,Jd(X$n:ƽ1ހ6S=s=j9Q+S=s=j9Q+S=s=s4f
b+/JxE^٠@`z
|'x^Y0]V_q/{ {T\6_@AXj9{T\6_@(S=s=j9{_¿I'{T\6_MS
N:)Ss#&O
]EEP=?:n:k[·_t4CQ-{ǐpQ<#`" ,8
O@MgD]][ȖBdh[}emprںht|2*]OެMGvz&t|S\y/F
I4p
@5ƞ}CȵM	,1'&z9s-56'%$#blr:<U8+46[b֟1(k
v=a;8>kw+jѴ0fc(Z#}{Vu7	;i_ngi
mػ$u^"gȶҏڵMB
/r122y
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
%	/D/7ѯ@VG5I?j:6rVpayLAq'^5cXFL%6,C ,YqO㓊75-FQҭm-uSj;4-0$lF3s	 <9k:lWp:]l##F͸udltp6(((?l=6j,O`BT0s95]:N-2]B;|V2]yS9#n@}('4(wZӑmfk6FU`CHкm[NWQ%S2JN~@ThBȗz:d:֜|ϲ;A<+=_4bTYˁopb'%y̎;Ps^8tk—Gr|#aK"^S+xSEӴ?AGm:G*2S[OI5{@Q@Q@Q@Q@롮{uo
uEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEP\CQ׮7ѯ@fkgׇ-+~k-vWv23Erkj:,IKQ<R}O&HBCwIm/'4UqjQc,0ۉUl'r#rWh+ѨF%^{[f'LQ]((((ton!ᤵm+%XvI#+2
S*Z
{h3bm4*$#;2W<|??ͧi|\n@eEm_
jV_Vo'@?*S
c^"PEPEPEPEP=?:n:k[·_t4QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEs~5mZ	INH=hJ^J^:
+::}?`k	O@u:S˨`gksH>PqEs\?\?tW?	O@u	O@uAEs\?\?tW?	O@uֆC}n<6;#;|hB((+Vomm{DKXP1<}
+::J^J^:
/ڿyM	O@u
k^Z:eHL
̤?xW+#ְ>$Fŧp=%??@SPsSPsQ\%??G%??@SPsA&ԭ,eӵ;Y.'؅PAEP=?:n:k[·_t4QEQE`\x}R=7SԨ,94Es\?\?tW?	O@u	O@uAEs\?\?tW?	O@u	O@uAEs\?\?tW?	O@u	O@uAEs\?Ok6B(da*#Qf((((((ȃ
+/>|*.iɾ+FD򩜑 v>~·)neA;:FXneR:('Doy$.(,G=Hb#Eu[;>_ڮ-q#4[NmL\Im2ʡ	RFpAǸUvKs*	2s*ԀYA=Z-!	c	T<r#WR2#4b((ȾҹkkSGi8݀
>/$H rB)h(zGt5_>C((*歧i6o9Ti a9cz+15"K[HK'Om
!y .9pj+<iq}Q#_*C?+|>6袊(+a%I롮{_¿I'({uo
u=?:n:h(FĿDt5x蕠(ȶ&yޝ=i#]#*.I(t$3U{q*0rU=JERL[hiItVd|R?}uzgZ$$	$ѣL"V`_SXvUx'20`X;؂*QE[CinkzJ`Os@
Q@Q@Q@Q@Q@Q@s@=_|?`?@sPo_J+x.lfJf$fUy7}qIYjpIS8mB`M.m
18|	8W
y]彈e~X8eH

<hMd.fD_$Tw
_ݱ,řq@_a7]gr| (QW0U@˗3}b]sI5#ǧ?nXö?-7;W_w.S4.S
F(j.I0*01+0Xm^5Ȳ$lAI3ɑy%~M|..a$)$jAPVlm~Ypz^[{0As3juĒBbQ  Fӵ}JKg|ɢRRH8n\.R]N(
鎑crнWH>\Ĥ[`0?wfW6"
ĥ?RϒgWplô%	,c	rGOkzkVG^|-Jݼ<$0s	5ơ9YtMYO3md,!pCLUd
C1aҟIrjI0FbIjY灈%]ik݉	mMTh([pYps+xP͖Zl>#)$bD8}0„wwiLԓPn$Hm	pA#2E"I-Wxᶽ-I~_-oHҮlyR+koa+QcP|alz#ڧzz(S=s=j9렢9GOesc$\7>oڒ<Ӯ{ʹOvEQEW)e	U|[Auq$p],0I|':ˀN]]fjzy_ںU/V.83P'
[(I;YU@`?61&{CN1K7ːrcltu>:]e%Vc|3$FeOU{Hӯ4+66ۣѵv4袊(+a%I롮{_¿I'({uo
u=?:n:h(FĿDt5x蕠ȶvj?#5+inc		Q㑟F\rA @	&ݎK
uxI V@eCq?xw9G+ѩ|Ak:ogq+LK$(#ZH!	R6I;}6m2ۥ-MF&)>\dGV0<mxg.ByP<@#خi2dt#E
1{٬w*P#F$!n;^Y}5M4]6ȗ؍@O_zd"?&;Ax;}0l(o1y|']4r%FctJbT.X،${י5MCcw6[*b6J1t;8k]N9`#Nl^tL8۸]֞M6O?-RIfE%8&;("hz{{8[`ۂAapV{x!"Ե8*WMX|9fz|)/)"D"3aBLͤZ(
筿
ѷ5=m%SU((()1@EPEP\/Ux;Fhn 9ch$ʰP?/wTP?	!dhÿ25Q@&AC AEswO&M=A']o??7?MtP?	!dh25Q@&AC AEs{O&ࣿb@[r%ZVS 5@Q@Q@s?h][AmJROHKQܲ,7c^P=ߛ/GS=s=tW?C~lGOeTo"EI#E1w&?s?͗##CZx6=#]5"2%#Ei.r@hPAdޝ^oō8j3¢8#BAhYpwxS=s=tW?C~lGOeQ\#ڧzz??s?͗#A\#!/OKC~ljHKe@̌>\*OQExONa['V]
QEŭY+ׅݠH6K9V%Q@&/[sEnt4P=	d~7Ф*JpGb5io.0Pc<lUZj;^Y#ήD!Is.sӃ@&/[sEnt4P=	?4}۟7]
iz?no+:B^	t댰K\#΃^Z3EkV?%}W7_n*󭵼$)al@TOj}_ҧo+Ƞ$7/OQZ.HVҮ<)yrdݵ9r*-oѩOfQehd9vPHdע(((J(((((((((((((vVv15Y<)j]/p ̛tm
*+
@MR%B"Fb<\J|F1VX6re4]$\cfYrNF;*+|Ek^ߐnu'HOBϝ	`Vk7fG|`Ԣ%ϑfۼivW(mY~%[W)L 2Z!QdpX0O/ڿyME\zO?U(((('V]
sSVC
(
(
(
! 
T=VJ((GG/?5W?ץ7mm帞T;TP2I'5=C41BWGV=E%tOZxK/̩2FݒAnFwwpqpk[X5ڙ<v@Y<=WS-υ[[\-<3Et-Wd[d\ْ<ɮL[Ό}?yu?6I٧,;^o;mbx/M@bME!wYQG]PoHOPioo.uBX&q̲߁ݸE
Fʢܳ`zO}ɒFXoq
ռWKJ2AG9Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@U[kW$mҸ@[g?TVAkO{G'eŢí\	q+
/*eHys'AkO{G'-$wPnx`6W"WjB|*K?vLecHF7*#8'6XB?!?ƀ1.~Z&m/soJ821ǁ"B;fOhR>Qfɘrb%5,IXB?!?ƀ$N?.bI$3bI%$I$_@5'AkOkzKcVU,`BI}cI5{Xz^.dX n{?@VAkO{G'Zh-c	4Egoh"tˉ
FYN<	(B({uo
u=?:n:h(W,u{R2B?!?ƀ4(?GAkO
! 
TZkzΗxRRuKQnd -c	4ohТXB?!?ƀ4+yZ?!?Ƽk^}oHOmZ=/3ê2\y7ǩ>Vptp1c)4?!?ƀ9
Z|7rp[Aq-̎,YeWRڙ/ԣ7y%-Ǔ1Ɏ%-ݹrOww_?!?Ə?@=>o?S^jYuđlqՂcʱ]kVlUGtfd &CtHH&IzΗ<:9"NhPX^h7%7Ϥ˨\e:ks	.ڙM\qk=5IR+8QݙoԸVnX$)Rm uPEPEP:
(QEQEQEQEQEQEQEQEQEW5!|-6E
tC~Eu@:?l?6?ZP@OGMV&(cEg`	t
?t:hQ@:?l?“G#Id
Ѣ3t::?l?´(6?G@O
(?GMQ&+Bci6zdΧ"%RGx?
O²tQEsSVC	տ+uC@Q@tm._xvY47w홙RI1.I86?Y{Z襮3t::?l?´(6?I2h@:?l?6?ZP@OGMV&(cEg`	t
?t:hQ@:?l?6?ZP'
/O%OHU8?+%t4QEQEQEAEQEQEQEQEQEQEQEQEQExC~Eu]
s!߄+']Pjhյ;ugg5k %K"QT%լ!!tw{QpZ'@_)V}QDy8]uOn!VwG*#88pzV^Y7X5OJJmMبÙ^m?nu(/6xU9oaoC͌g͉ -ե"i#@	GiS̈́5`n{IdNOKk
mJc6 2?x3X>jWkq~4TdTn8[%{?2폈MKZDAa=w(l9]!$)Pz>s5mBmoDw`t%%h$D lʀ3>_}+
6sw$qph>YIdS`F
|sފKhZsŶ#Oi2Щʩ
gF2~U{o ^h׼e5M6,u}*&{'pɗQ/c'.;?jR[j%y,o	%'ϖ\Vboc"8|_+/fy[{u_:X@ۿm/KnpU\e]ŕj.mr_IURSfI叻&O+Wڣ{}FUC }1Vo̊ߛ_
[ݼj;ڃK	,jJSG
Ș]|YSXXcg71mo.	YcʰI7,e"jԌoywkOŲH$jĹ5?~&;reLzԕ*iV2<#P@nqݫ?۫[A58̀5"yb<- E$nwX_
OmCkJ,"XRV-,M=|H_1Ns.Oף
H7ml~"i7!BN,vaǓFUԴ,$ՠDfPa@']19o,KVD7}"]\H_,KeS#`b4x7R=q5.3D8m$@T*Ʀ$ڰeE3|yf02Y!)Жqyޓ0Aɬ
ԡ{;
6]9xZh	*
P|dr|r2=5Nd8Ɖ9s;C|DG7{/2kZ^E=kPb"(FgX!߅[5hO}}mv֟chRel\b@ɄQdRo76G~D@Ra׻u师IiaSOT˹$UPTG_=7OԵK}ܻO&!eg~"{/I奏TIȹh7.cn2;}ѳq*jh渳R/.b<$#l
Qb"uuKΖK[K<c/|	OH0eZּQGldwz{}P#`$%X.ࡷ+޼$vcE$wā[mڡᲷՕ5R)}iI\u?±WC\@	
(
(
(QH:Q@EPEPEPEPEPEPEPEPEP\7?
WUV~Yj
?[d8$qؚТB<=@'G!F4Ux{O*:
+#Ti?(?#IQGB<=@'Xz[J̣0^LI
>o9wW	[E}sn<fi	SB<=@'@i??4UtW?G#TW?
O²x{O*𮋧Gym`|o߳w)eXay1TR"l@2IםtűI#{vCʲ)Tklj.[tŵQxȖeCI
vCX$Gl;'X+,q9PT*n ēXhLum#h'K#0_MgsmmdV;2y!D"Je o1L6||g._&CŦKZG2oѦQ+<g$|Du K4MY'TBe#F(<*xy]+ꚝXNU[F#B7oiTV]HVl -â-Nh3*E @$;(M6.1.c^IAeAkya%W*n]$J<cvxtMcsv֐=n`B't1
%ΥiZ~x0ogIaU#pP#!7oojf{G$VL!D c6i,7]h֗6jvMmPBrtY@"qݹ`B%pݕ,W]!5xt4[{uovD^pX!W!1ʉɸ/xFl;yQ$F܂(eY\02P#A̻%˹QE+?aW"H+{@_I UAJksrR(((((((((+Gz_rٍt5x#D/ƀ
+G?+O롮{JAzhMצ!"]r
(RDl#-:Bxu8at`H `gjx58t6[ KA
ĒH6Ӯ1ad١:XX^xh;X͊8R	reٌ(2Wcß?ib|?/훳qQ[k]cUDv|ӛۙ#L(?(
ߘI<c[;Ў|qsvm"9e*6Mɒ):^`Cwc+\)Vܫwc]ӌZjZtV}]*J$~`'VT~3Kx9dsY3Fc"1#!miʝ`TbYd׮7Pk#S! c?4/o!RSW)%k8ƀ2A3&%T)ݴr2`C`JAHH-5i%ݰ3(6Oj)5]KKSNr[vyP܀qG#

gMNT.@yJ(
Wf,^t]h_
Jkh+<J6JퟛpJSwg.ǠIoJ[ogy$7RNn'mtjt:Zdw&eʦrG܁Wj?cLWBu]=-MIyA'ϘUߴ6
9wqGjVzWlaNժ)h;URm$iS>WlaNжvSmCd*a=	=ZEr)M
4+w0'sd}h[;e)!F0vlZYm-Ԧ"$iS>WlaN{MLIe[Ȩb

!brM[(︴QE1s>*_It5h0$j9])]
sگ~W
WC@Q@Q@Q@Q@Q@Q@Q@Q@Q@:;{ņYP&bT=Ȫ
V_asR85g\ӧ+
Y1ܱF8>kuQVuK-208eaف؃@zv
jMRso[2;FX(|+wR55H?p]Tk;f/#Eu>m\G
gl[wȲP|θԍhTRw}ʭgl[wȲP|θԍh혾xWXp{mj4Vb;Y_(>g\mcFzPv_uG|+덬}Hڸ=JErY1},36#j=(k;f/#Eu>m\GZU혾xWXp{m5o"A:kR6mҭQFwܪv_uG|+덬}Hڸ=Jًe|qWV@Uk;f/#Eu>m\GT4Si62_nGBۚբ ((9((((((((((((((>S:?@.tNDhdTe!]ȭ<]E7d6rBp@X]uPEPEPEPEPEPEPEPEPEP\j]hj]Dac>9Tk394XӸYϹ=EQEQEQEQEQEQEQEӚ)h(((((((((((sJӵ趺H\²a-
gZ뫟*FP'?T]G SCt?MtP?'?T]G SCt?MtP?'?T]G SCt?MtP?'?T]G SCt?MtP?'?T]G SCt?MtP?'?T]G SCt?MfjG.5Q/nJ31
6/ͻMOjiȣKUK}8YbKp)y
?A<!B?
i76O|~TZgWK
#R$G#bw*rT	4?C'?T]Y6>#oj+RIl`t4sj(C 	x盪I&^E<{\~s xVcb>pM'?T]G SCt?Ms:&&]ϩ\ټ\YuY0
@bmᰏNu	Yu E2d1<*p0N^*h.OЩ&ZӴ#=(H^4hGFK<2l`nlWcx^)^whJvJ03oAhvdJ9Lg>dU`z
0=}Ú):T:XՄiZKEU3H*(0w`lu<>{}gyjc/;/-l:89̙8D-QL((((o.+l=\WR٫(((((((((((((((((z7mt\]}gWH䵼݂RIA@W=n?ZoPCEsQn?Zot4W=n?ZoPCEsQn?Zot4W=n?ZoPCEsQn?Zot4W=n?ZoPCEsQn?Zot4W=n?ZoPCEsQn?Zot4W=n?ZoPCEsQn?Zot4W=n?ZoPCEsQn?Zot4W=n?ZoPCEsQn?Zot4W=n?ZoP\WR٫fkإ:%yv%$I'_((((((((((((((((((((((((((((((((((((((((
... this post is sponsored by my books ...

#1 New Release!

FP Best Seller

 

new blog posts

 

Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.

A percentage of advertising revenue from
pages under the /java/jwarehouse URI on this website is
paid back to open source projects.