MZ@ !L!This program cannot be run in DOS mode. $Ce"y6"y6"y6"x6"y6Z6"y6Z6"y6Z6"y6Z6"y6Z6"y6Rich"y6PELFO  8>PK Pd 00@.text h.rdatad@H.data @INIT`   .rsrc0 @B.relocj0@BUESV5xW3SSS@TSDPZt hZq]YESSSS4PZt h2q\YESSSS$PsZt hq\YESSSSPRZ_^[t hp\Y3]̋UE SVuW=d3@3SFFF FSFP^TdžSSF$PSSF4PSSFDPׁƨVt_^[]̋UVuW`Y|qt 6W[YYYt 6W[YY_^]̋UVaYutvhq[YYNX"9Yt hq[YjjDV\^]̋UVu`Xt6hqW[YY^]̋UVXutvhPr+[YYNX"Xt h$r [YjjV\^]̋UVwXutv hrZYYN X"OXt h~rZYjj$V\^]̋UVXutvhswZYYNX"Wt hrUZYjj4V\^]̋UESVp(WWt hsZYV] {`vtdtOHHt4HtHuwWhskWhsTWhs=Wt}hsp-Wtmhs`tMt8Ht%t WtKhs>Vt;hs.Vt+hxsVthjsVt hJs+YYFt=t)HHtHt HuG@ @@tSSue8tDSuV@ރt)tHtt@$ŋ@뾋@뷋@밋@ 멿2ҋˉ{TVE_^[]̋UQeSVW}jVSOuJjVPEeOuSRjj@,WIOuSRuREE_^[̋UVuPQ$PQ$,PQ$^]̋UVudPQPQVuPQ uƆ3^]̋UVuVu PQPQdPQ^]̋U EVu Wx(EEE􍇌E9tSSB;tUX]Q ME9uU]ZPQ HMU;u[F%PP}tf2ҋF TW=_^̋U EVu Wx(EEE􍇔E9tSSB;tUX]Q ME9uU]ZPQ HMU;u[F%PP}tf2ҋF TW_^̋UQQW} EEE9?t~S]V7xF@;Eu)EN!3FFLKƉHCMƍUHE9?u^[MUQO8HGEM;u_̋UQQE @`VWxEEEE PHu uEPPW$u EPPWu EPPWu P'EUPa2A TVHME;u_^̋U Rt hrtaTYESEEVEPH]96t,W>O3҉pLMǍUHE96u_uP=Q@t h>tSYEȋEUPaa2TSE9EuOQ^[t h tSY̋U SEVEEWEPH]9?t7qMUHEP@t htESY9?uύBUu1Q M9u㍃BUu1Q M9uuP'EUPa2A TSzME;u_^[̋UE jjPP\]̋UE jj@P\]̰ ̰̋UEVtp(ts~~mSO]@t ShtRYYW3v"O@tE PhtQYYG;rO_@t htQYjSu PQ[3^] ̋USVuW3WWWW(SFTxpxE@9~t(9~t#;tWWP\Ot htcQY MuWS_^[]̋UEt@(tM UIV]̋UE3;t@(QQQQ(Px]̋UEt@(j(P3]̋USVuWh3SVPE u$E VE;uE;uPE;uE ;uhdVPVWPVPhrSWOjDVSP@xDxOVPT=d@@S@S@PSSPPSS\P׋dVdž``yp<PVp@ PPhPh3ASXXQ PS(PpVERh xh{SP$x%x&xSSSS`xN j@\xHxdxhxYXX IuW(|SPSNWSPEN xЃ$dž4VSSWWWWEZjz3Y Mu_wx xxEx^[] ̋UVu39uP9 tFWJxO83LWVP PdV@_^]̋UQSHVWEPӋuuPtexO+t%2҉GTVEPӃPH PDV uP_^[̋U3ʼnEVu@(EJtE PhTu`LYY} @E SW} ~HEE EEC]EItEPEPWhu L} ?uItPhtKYYjMQM_[M3^K̋UQSHVWEPӋuVuP39t|8 xCH@t huAKY|@8tvPVtCPH PDHt huJY2ҋˉ{TVVP,xCuGH@t huJY|xAu'H@t huJYHx H@t htumJYtx+Q|?|9tEPӋtGuPPH PDGt huIYg2ҋTVEPuPPQ,_^[̋U SVW}wELEPE3#+t9HtHuPPTV!VSSSSSjEPjP8_AtFt hZv$IYE;tOXFt huIYM2A TVPH PDTFt h>vHY_@VP8SL_^[̋UVu39uP9 tFWJxO83LWVPPdưV@_^]̋UQSHVWEPӋuuPlGl+h%GaE@tlh|vGYY2ҋTV_EPӃPHPDVuP_^[̋UQQVEPHuVuPuD@jhw"GYZSSPtD@;hvFY+h+lWQpSPepEv(ND@tMEPhvFYYE9}rplD@t WhvyFYYD@t WhvcFYYh;lEPHhGuPPHPDC@thhvEYYg2ҋTVEPHuPSP,_[^̋U SVW}wEE@E3#+t9HtHu@PTVGVSSSSSjEPjP8_AtBt hFw8EY_@;t82҉YA TVPHPDVP8uBt h*wDYSL_^[̋UEM Wx(2ATWR_]̋UEVp(WB@t hwgDY~TtM y9At hzwBDY3A@t hhw,DYVM !y2TV_^]̋UAt hwCYSVuW3WWWW(Sxl{EN;t9~t9>tX~>~ MuWS$A_^[t hwCY]̋U@t h$x^CYSVuW3WWWW(Sxp{EE ;Fu;tX~~> MuWS@_^[t hxBY]̋UESVWx(i@@t htxBYU@t hDxBYE p`vW,vWvW蠵vWP`u VWP4f2ҋTWW_^3[]̋UESVWx(?@t hx-BY38_Tt?t hxBYu $u F`9Xu#?@t hxAY#^Fp8t]8uUEPHPN8LFXQPAv`NuPPQ,^%^2ҋTW_^[]̋UESVWx(>@t hy)AY38_Tt>t hxAYu $u F`9Xu#>@t hx@Y#^Fp84t]85uUEPHPN8LFXQPAv`NuPPQ,^%^2ҋTW _^[]̋UE@(SWE=t h${!@Y} G`@W$/=h {wm=phz`V=YhzI?=Bhz2(=+hz=hxz<hXz<h4z<hznt\ tGHHt3tHui<hy<hy|r<tyhylb<tihy\R<tYhyLt9HHt%t4<t;hxy.$<t+hZy<th6y<t h yd>Y2ҋGTu_[]]----t----̋U]M̋UE H`QMhP lpH83L]̋UVuMu hl;v&SW+Pp7QSlM_[l;hualA31} t PdưV@^]2̋UE H`QMtP x|H83L]3̋USVuW3WWWW(Sxp{E;t WWP\ MuWS_^[]̋U9tuhT{G<YYV9ut4Vh4{(<YYR u*4Vt!EtVMEt uu '3^]̋Uh9t h{;YE SVuW3WWWW(S(x0|E @9>t!9t hp{z;YWW6\ M uWS_^[]̋USVW8t h{2;YE u8t7h{ ;YY3WWWW(SxƌE @9>t!t8t h{:YWW6\ M uWS_^[]̋UEQMQhjP\M |U!]̋U}t]%`3]̋U Sh:|EPpEPjEl؅7tuh |9YYcVWjx^EPCs uESjPuhE| 9s uCVPu9 E}u jY%7_^t h{9YSdEE[ ̋Ujxu jh:|uh@x]̋U Sh|EPpE4PjEl؅6tuhn|8YYVWEPuESjPuhE|"{ uCjPu8 E}u jY*6_^t hR|8YSdEE[ ̋Uju jh|uh@x]̋USVhtjP*8MU jXj ^Yj]ZjEEEEEEĉE؉E]YtPu]ZMU h@Dž||xE|uE|]uEЬ|MԉU܉u|^[ ̋U}t`S] V5xWjSjh|u@WjCPjh|uWjCPjh|uWj Sjh|uW_^E[E]̋USVhtjP6MU jXj ^jjEEEEEEčYtPu]ZMUh@Dž|:}xE}]uE }MUu|^[ ̋U}tMS] V5xWjSjh:}u@WjCPjh}uWjSjh }uW_^E[E]̋UpSVjpEjP5MU jXj ^jjEEEEĉE؉EYEPu]ZMUh@Ez}uEd}]uEP}MԉU܉u|^[ ̋U}tLS] V5xWjSjhz}u@WjCPjhd}uWjSjhP}uW_^[]̋UTjTEjP4EM jEXjjEEčEPuE}h@ME | ̋Uju jh}uh@x]̋UTjTEjPo4EM jEXjjEEčEPuE}h@ME | ̋Uju jh}uh@x]̋U Sh}EPpE8PjEl؅N1tuh}3YYVWEPuESjPuhE|"{ uCj Pu3 E}u jY0_^t h}A3YSdEE[ ̋Uj u jh}uh@x]̋U ShP~EPpEPjEl؅P0tuh"~2YYVWEPuESjPuhE|%9C uPCPu2 E}u j:Y/_^t h~@2YSdEE[ ̋Uhu jhP~uh@x]̋U}rkE 8CucVut:HuSP@EUfMjfFHj\P\tlyIA3B ^] ̋UUVW33kȃ| u|$uFf|Gf|2_^]̋UEHpJtLxN|PRTV]̋UEUUU U,U0U$USVW(U3ɍ8UjZfXXf]ۉY]ۉF(Juكf|_^[]̋UQUVEUfEj?H^fAANu3f;^̋USVW33ۉ]}}wE썆\E EEC]E-t h$f/Y8t,sh~F/Yc\PTGPTh^;jCVޱE;u,h~x`+Ht-tk,@th~.Yt\PTt@u"lupu VuOtMEigtjMQESEPSSSjEPjP8_ASQƆVVmUPU"+@t h~-Y9]tu迱j+t hb~-YS_@L_^[̋U SVh:|EPpuƐVjl؅ +t Vhpe-YYcWjx_EPVSjEPuC{ hE| 9{ uCWPu9- E}u jY*_t hD,YSdE^[ ̋Ujxujh:|hjx]̋U SVh|EPpu4Vjl؅*t Vhd,YYcWj_EPVSjEPuC{ hE| 9{ uCWPu8, E}u jY)_t h+YSdE^[ ̋Ujujh|hjx]̋USVhtjP+M U jXj ^Y]jZjEEE]EYEEĉE؉EtP]ZMUh jDž||xE|uE|]uEЬ|MԉU܉u|^[̋US]V5xWjSjh|WjjCPjh|WjjCPjh|Wjj Sjh|Wj_^[]̋USVhtjPn*M U jXj ^jjEEYEEEEčtP]ZMUhjDž|:}xE}]uE }MUu|^[̋US]V5xWjSjh:}WjjCPjh}WjjSjh }Wj_^[]̋UpSVjpEjP{)M U jXj ^jjEEYEEĉE؉EEP]ZMUhjEz}uEd}]uEP}MԉU܉u|^[̋US]V5xWjSjhz}WjjCPjhd}WjjSjhP}Wj_^[]̋UTjTEjP(E M jEXjjEEčEPhjE}ME |̋Ujujh}hjx]̋UTjTEjP(E M jEXjjEEčEPhjE}ME |̋Ujujh}hjx]̋U SVh}EPpu8Vjl؅$t Vh^N'YYcWj _EPVSjEPuC{ hE| 9{ uCWPu"' E}u jY$_t h6&YSdE^[ ̋Uj ujh}hjx]̋U SVhP~EPpuVjl؅#t VhI&YYcWEPVSjEPuC{ hE| 9{ uCWPu& E}u j:Yy#_t h%YSdE^[ ̋UhujhP~hjx]̋UTjTEjP%EM jEXjjEEčEPuEh@ME | ̋U}tju jhuh@xEE]̋UTjTEjP$E M jEXjjEEčEPhjEME |̋Ujujhhjx]̋UTjTEjPu$EM jEXjjEEčEPuE h@ME | ̋U}tju jh uh@xEE]̋UTjTEjP#E M jEXjjEEčEPhjE ME |̋Ujujh hjx]̋UTjTEjPe#EM jEXjjEEčEPuE4h@ME | ̋U}tju jh4uh@xEE]̋UTjTEjP"E M jEXjjEEčEPhjE4ME |̋Ujujh4hjx]̋UTjTEjPU"EM jEXjjEEčEPuE^h@ME | ̋U}tju jh^uh@xEE]̋UTjTEjP!E M jEXjjEEčEPhjE^ME |̋Ujujh^hjx]̋UTjTEjPE!EM jEXjjEEčEPuE~h@ME | ̋U}tju jh~uh@xEE]̋UTjTEjP E M jEXjjEEčEPhjE~ME |̋Ujujh~hjx]̋USVh@jP* MU YhZpYZY Z jXYZj ^YZYjPXltjLZ@TPuDžHDDžd`Dž|DžDžցDž΁DžDž h@|^[ ̋USVhjPlM UYZY,Z4Y H Z PjXYdZlj ^Y]Z]Yj08LThpEEEEEEj]ZPDžDž Dž($DžD@Dž`ց\Dž|΁xE]uEMUuhj|^[̋US]V5xWjSjhWjjCPjhWjjCPjhWjjC PjhWjjCPjhցWjjCPjh΁WjjCPjhWjjSjhWj_^[]̋USVWhEPpE=lD0PjE׋tuhYYfhEPFF uEVjPuӉE|8~ X}t udjjv ؋FPS -tuhNjYYtuhRYY}t }#VdtuhȃYYE}+t WhYYujlltuhLYYfEPF~ uEVjPuӅ@(tv hYY}t udv jl؅v FPSe tPh.YYtsh؂YYtshYYts hYYqtshVYYYts$h(YY39~ vU]j3ҋYu*t h$YtEPhiYYEG;~ r]t hBYVd]_^[ ̋UM AHPQjhuh@x]̋UTjTEjPEM jEXjjEEčEPuEڄh@ME | ̋U}tju jhڄuh@xEE]̋UTjTEjP]E M jEXjjEEčEPhjEڄME |̋Ujujhڄhjx]̋UTjTEjPE M jEXjjEEčEPhjEME |̋UTjTEjPE M jEXjjEEčEPhjEME |̋UTjTEjP'EM jEXjjEEčEPuE0h@ME | ̋Uju jh0uh@x]̋UTjTEjPE M jEXjjEEčEPhjE0ME |̋UjEPjh0hjx]̋UTjTEjP#EM jEXjjEEčEPuEjh@ME | ̋Uju jhjuh@x]̋UTjTEjPE M jEXjjEEčEPhjEjME |̋UjEPjhjhjx]̋UTjTEjPE M jEXjjEEčEPhjEME |̋UTjTEjPE M jEXjjEEčEPhjEօME |̋UTjTEjPkE M jEXjjEEčEPhjEME |̋UTjTEjPE M jEXjjEEčEPhjEME |̋USVuWVP8t h,YVVFT:V莸V螷VܸPQ dPQ PQ VP8VPd@xtPӃ'?tƀV7Ӄ'_^[]̋U3ʼnES3W}]]]]]]]]]]]It hpY;tAVw(VFTj EPW4VVNVVP\V^2M_3[̋U,3ʼnES]VWhjVjP3 ffPPhІPjY3󫍅P3h?PDžDž@1SPhPhlpPhkUPhV@xW@x;Yt@xPhYY:t@xph؂YYt@xphsYY t@xp hUYY t@xphV7YY t@xp$h(YY`;lj} DžXTPh:RPhSRPh>PhXPhVPh VPh$VPh|(VPh,VPhPPHVPh WWh: t7h YY WWh l t7hYY$WPh` WPhdwPhhxPhlxPhpxSht_jYjSY󥍻XTjYj:pYU󥍻RR\VHV V|$V(V,V`$WdWhwlxpxthjxhhzhZh^h>hXh\hThPhXh^h|dhjhpSh5`a5dZM_^3[W ̋UQeSVuWE.E9]rWjP^ W jPO WjP; WjP, W2jP WBjP 8VHjX3ARVdž dž$SVMQVPL؅ZSPPu2PPu0XTPPuRPPuHRPPuDPPu0PPupPPuUPPuEPh u[E; uVPuV VWWu9Wu$VWWu0Wu(VWWu'Wux,VWWuWuoPPuHVPPuO@xPPu@xuh t@xPh YYst@xph؂ YYUt@xph YY7t@xp h YYt@xphVp YYt@xp$h(R YY$WPPuWPPueE3k4U9u/<8Uu"BrE}rƆU_^[ƆŰUVuW3WFPpE hhTagPu~~ FFHF)yvh.YYFPWF4P39~_^] ̋UMAH+A@]̋UM3Ұ9Qt 9Qt9QH]̋UQSVuW3SSSS~W]xVPu/NFM FFHNHFV;vFH;r^ESWE_^[̋UQSVuW3SSSS~W]xVPu)N FU F FHN ;tHFH;Nr^ ESW8]tVP,E_^[ ̋UQSVuW3WWWFWP3ۉExE9FHs)y hfY3Wu_^[9~t};vVPuEp(WSVEE PuMdž;ut h+YEfWVsHPuQ;ÉE}t7h|*HPWSSu;ÉE}C\t hlY;tV9]t u)t]hHPEH E`WSh8Wu uPt h"7YE_^[̋UtPd3!fftuhYY]̋UVu 3ffFfPjlu>3tPhzYYt h\sY WQjPc VhjY3hNu_t Vh2YYFtFpFHFDF@F8FF4.m@jkkt hY3^]̋U$E@E3SfEVu W}ޫM3fA3ۉM]tO@(RL ];tu)E<uE<uE<uE<uEEHHwHHLHaHfEfE8E8txft hY=jXfE׍EPEPEPuU2Ӄ}tt hyYj XƆƸ>ujXfEt hފ<Y}~E~}}EtEPPhʊ Ee}Et@u<EPEPEPuU2}tXt hYDh]3fEfEބu8t }Ƹ>ujXfEt hފQY~~}tPPh* E3E9EtA9Eu<EPEPEPuU2}ttt hY`hIt hpY=}}jXfE׍EPEPEPuU2Ӄ}tt h;Yj XfEƆ׍EPEPEPuU2Ӄ}tt hYf!E}~E}}EetEPhLYY}}3@fE׍EPEPEPuU2Ӄ}t t hkYE% GEjEXfE׍EPEPEPuU2Ӄ}t h4 Y3fEfE޸fEfEfk }fE8=ojXfE׍EPEPEPuU,thxt hqY3fEfE޸fEEu@t hCY^hЉN< ~ <}}ffE8=tLjXfE׍EPEPEPuU2Ӄ}tDt hYj XfEƆ׍EPEPEPuU2Ӄ}tt h\YfE׍EPEPEPuU2Ӄ}tt hYE_^[̋U39M ~ UA;M |]̋UM SVuW}M+UI@M Y8$tEUE>U ?tEUu6Љ4UЋE _^[̋UuEuHu QP]̋UVu$N MFE;~ʅ}3;~…}3N F^] ̋UE}SVp(E(H @EW} EG,EHVE}EEE $EE$}MUEtw} uqȋEiȃ|HH9uE(ƇH @GxƇ;}EЀ}t } t ;E+;ME;EE+;E|HH9u+RQjPq;y|;so}} wt2U3GxƇ8IAA ƆwEGxƆƇub}q} gu-8]u(8]u#EƆ&xƇƆu(GxƇƇ`]}u<} Rt Eu EƇ'}  M  }t} tƆw } tƆwxtGxGyȋEiȃ|HH9uU(B BU(B MrEG;]~,+;E}%9;~+;}E8uujY_^[$̋UEHP SXVp+pWx+x @++ىEt:t6t2t.EE™} EME_^[] ̋UE xf!H]̋UE HHf!H]̋UE x f!H]̋UE H H f!H]̋UE H xH f!H]̋UE x xf!H]̋UE Hx Hf!H]̋UE PщPP ѹf!HP ]̋UMA$+ASY+Y Wy+yEt>t:QA +Vu F ™F FEIFf!F^_[]̋UESX +XWx+8t@tuuu>utp p0WQX^_]̋UEVp(W x3@9Eu}};tjX;tt M E MQVPLMQVPLRRVud}u~9Euy;tltgSMQVPL|'MQVPL|RRVu[t jX;7E 9Eutt E _^]̋US3VuF(CW9]u R x x#;uuuu V\%xOu >@=tN9]u,}u&D@t hY @h<zY;u9]}ijZ;u}9]3;u/9]u 9}u 9}9]9]}u 9]u{9} u9}ul9]ug $xYuI9]u!9}tD9]uE&x8u5.9}u)9]u$38Iʉ u_^[]̋UVu~tE jVFFQ F^]̋UQQE @MEu1@t hLYh,YVu@t6hYYHSW _u3G$Q@t hYjV*fE PFPVuU2} h@t hލNY3GWV~E PFPVuU29} @t h̍ Yj_WV~R@t hYjk@t hYjS@t hY3GWV*~ӍM QFPVuU29} t t hiYfF@t h|AYj_WV~ӍM QFPVuU23G9} tt hYfFs@t h^Yj_WVJ~ӍM QFPVuU23G9} t)t hYfFӍE PFPVuU29} gWh<YG@t hF#Yj_WV~ӍM QFPVuU23G9} tyt hYfFӍE PFPVuU29} %3hY@t h&sYjVFӍM QFPVuU29} tt h-YfFӍE PFPVuU29} tt hYFӍE PFPVuU29} tPt hYFӍE PFPVuU29} tt hoYFӍE PFPVuU29} tt h1Y@t h Y~@t hYE PƍHQPUu@t hYjVNfӍM QFPVuU23G9} t,t hY~ӍE P@t hڌeY_[^ I8^vnΐ$@l̋UE@(}MM(Q ISVu E }W> VUVMNE+} MUt?}+u9iɐfLFH|HNTNPH9NTtMU;}؍ ;E+;M;E+;U|HN\NXH9N\uӋNX+NPV\VTRQjP;VL ;FH} }+E E Egot hvYjE PuC[iǃfLFH|HNTNPH9NTu=} u}+t1iǃfLFH|HNTNPH9NTu_^[$̋UVu # F# FF# FF # F y6h܎YYjyvhƎYYRyvhYY:yv hYY^]̋UQQy hpYMQ +QA+A SY+YUQ$+QVu EUiW#‹Q iE™Fi#‹Q iE™FFi#‹Q iE™}FF Iii# E}_F $y6h܎YY yvhƎjYYyvhRYYyv h:YY^[̋Uy h YEH +HSX+W} W+ЉUW +WMUiE Vui# EE iEFi# EE ؋Fi# EǙ}^EF i# EǙ}MMNF y6h܎#YYyvhƎ YYyvhYY~yv hYY^_[ ̋UQy h܏YSVW}G7_EG u]E y VhȏYY y ShiYYyuhQYYyuh9YYEH@t'y}WPtU%8u EPuVF+MY+EF +FEA +AEt}ty+‹UiU™+‹UiU™GQF+‹UiU™}GIF+MiM}G y7hr:YYywhV"YYywh< YYyw h YY_^[̋U0S]VWs}Хs(}𥥥s}॥Ey hYhʕu EPEPEPS_^[̋U0eS]VW3}䫫s}𥥥s(}Хy h=YC t u SF,E+Ehu EE+EEEPEPEPS0_^[̋U0S]VWs}𥥥es(}Х3}䫫Oy h&YE+Ehu EE+EEEPEPEPS_^[̋U0S]VWs}॥es(}Х3}y h>3YE+EM+MEhu EEPEPEPSM5_^[̋U0S]VWs}𥥥es(}Х3}䫫Sy hVYE+Ehu EE+EEEPEPEPS_^[̋U0S]VWs}𥥥s(}Х3}䫫y hn;YE+Ehu ȉEE+EEEPEPEPSM;_^[̋U0S]VWs}𥥥s(}Х3}䫫]y hYE+Ehu ȉEE+EEEPEPEPSM_^[̋U0S]VWs}𥥥es(}Х3}䫫y h9YE+Ehu EE+EEEPEPEPS<_^[̋U0S]VWs}॥es(}Х3}[y hYM+ME+Ehu MȉEEPEPEPSM_^[̋U0S]VWs}॥s(}Х3}y hΐ;YE+EM+MЉEhu EEPEPEPSUM4_^[̋UEHwh$u PSVu PKu PG@u P85u P*u Pu Pu P u P]zǟҟ̋UQE$SX Vu WxFE$F}E y Sh~YYy WhTYYyu$h&YYoyu hYY3Ɔ9E9E=9t}|HH9u׋+RQjP>;|,;v"Ɔy h%Y|HHH ;9Ew}M$ ;wp9E wkcy hYƆu 8y hXYƆy hxYƆkWhG ;w>M ;w19E$w,M ;wy h‘Y h ;w7M ;w*M$ ;wM ;wMyhl=h< ;wu9Ewp9E$wk9E wfy hnY|HH9uƆdžy hY_^[ ̋U3ʼnEVuWhat hY~(PƅlQ$p(LSpT|yuh>YYDPPSuu :*=|ƅ ty hdY|@t SWЀ;Au&HxƆ~ Iƅƅ;u<uKQVPd@thYYYƅ'<4`<8hxjPfWfxzSPz@t@@PhYY@@PxPSh~|UP|xP9|u⃾wCPCPWQtC hjP"fWfSPWPU@x|ƅtDžH|xH9|u⋆Rp%džR0@t hڔLY3@tPhԔ1YYF |C$ KKKK$PQQPjPP j^##\#‹ȋ`#‹щ\K`$SKC@th7 CCCC jYPPP$PjP8P 0@th \‹ȋ`‹щ\K`$ SKC -@t hY+D+H3+3+k@tWVhl jY󥋍9D}Dȋ9H}Hff@th86 Ctƅ@tPh"YY@tHhYYn@tPhYY Hj   Pe @thғJYYPPPtx2t蛿t hYpyYwKhpjPfWfprSPWpPR\|H|xH9|ujjPSW tjhPhjS  E9[lP(^_^t hYM3n ̋U3ʼnES]VWjYu }3lyuh`YYyuhHYYӽyuh~0YY軽yuhfYY製yuhJYY苽yuh,YYsyuhпYY[yuh踿YY;~9{u;l)yshЖ膿YY}9{:syvuh\ y6uhA ˼yvuh`% 诼yvuh8 蓼yh0YYxyh(ҾYYF;u9>t N;u9~u l^Et2pxF|pPEPt;t pp;t xx;t ttF;t ||uyphϽYYZyxh贽YY?yth虽YY$y|hԕ~YY;p|;x;t|;|~ EE;Cl;C2M_^3[ˆ̋USVu W}GE3@fGfOf}yEPhּYYE]PNyPh֗誼YYEXj ZM AAI‰]E]Ey ShʗXYYyuh@YYOt'ju EPEPV2EPEPOPju EPEPV MUO Wxr|r ;w|;~xrHtu 0WP O +G;~˅}3;~Å}3GEO &Ot+t'ju EPEPVbEPEPOPM EWju}P WjuEPEtju EPEPVWjuEPWjuEPE}G EGHtEtu 0WV uG EGjuEEPwuEjuPfM+E;~˅}3;~Å}3O G_^[̋UES] Vp(EWu}t,VPspSslxjYu[u8CyV3E UGf {d}EEPCxPC`PuU 29}t2t h菹Y}tƆ[u託t h4YWPuf2ҋΉ~Tu>ht hșY_^[]̋UQeS]l{M;Hu M ;uxuE }|߸[ Ek V4Wp{XM3I k _h{^̋UƖt hD&YVu F`xHWs"#f2ҋ΋FTu=G@uPQu"f2ҋΉ~Tuu=Lt h 謘Y_^]̋USVuW3WWWW(Sx}hxE ;Fu89>t49~t/t6vuhbKNX~>~E }@rWS_^[]̋U螕t hYSVuW3WWWW(Sx}hx9~t89>t49~t/Zt6vuhb貗NX~>~E }@rWS_^[t h~tY]̋UQSVW}lxE3ۉE8t C @r~k j48pxPj0juE39E|7 k E Ehx联t-u7Shڝۖ k px;hxKt h論Yu3>t-tv6Whڝ臖G @r֋E_^[ ̋UQSVuW3}hxM ;Hu M;uxuG }@r]躓t&k 0hx k 40Wh"k px XE k 31hx3]t h轕Y3lx>t<tv6Wh"薕G @r_^[ ̋Ut hJdYVu F`xHWs(#f2ҋ΋FTu9_^]@uPQűU蒒t hhYVu F`xHWs(#f2ҋ΋FTuv9_^]@uPQu4̋UQeS] C`@VuE s E#@xW{ }tPd@xGtyx9} rkWjl@x趑t WhYY@xt9WuP M QVPL|@xu zu PP_Ec2ҋˉCTVh8E^[̋UW}@x@VEt@xpheYYt@xphlGYYҐt@xp h8)YY贐t@xph YY薐^t@xp$hҞYYeEPju We_]̋UU@x8tAHQPu R-W3E}쫫EPju R _̋UExQju P]̋UEj4VQju P@]̋UE4VQju P]̋UEhTHVQju P]̋UEHVQju PR]̋USVuW3WWWW(Sx}(|E ;Fu89>t49~t/ t6vuheNX~>~E }@rWS_^[]̋U踎t hYSVuW3WWWW(Sx}(|9~t89>t49~t/tt6vuh̐NX~>~E }@rWS1_^[t h莐Y]̋UQSVW},|E3ۉE8t C @r~k j480|Pj0juE39E|7Y k E E(|蛍t-u7ShXY k 0|;(|et h:ŏYu3>tGtv6WhX衏G @r֋E_^[ ̋UQSVuW3}(|M ;Hu M;uxuG }@r]Ԍt&k 0(|Y k 40Whk 0| XEY k 31(|3wt hz׎Y3,|>tVtv6Wh谎G @r_^[ ̋Ut h~YVu F`xHWs(#f2ҋ΋FTu3_^]@uPQűU謋t hؠ YVu F`xHWs(#f2ҋ΋FTu2_^]@uPQu4̋UE(MMQju P"]̋UEh~V$WQju Pw]̋UE$WQju P]̋UEhWWQju P+]̋UEWQju P]̋USVuW3WWWW(Sx}ƄE ;Fu89>t49~t/Et6vuh蝌NX~>~E }@rWS_^[]̋Ut h.PYSVuW3WWWW(Sx}Ƅ9~t89>t49~t/謉t6vuhNX~>~E }@rWSi_^[t hƋY]̋UQVW}E3E8t F @ry k Sj8Sj0ju3;E|7M ]k ǍԈt'S7Vhl0k > [裈t hLYu3>t腈tv6WhlߊG @r֋E_^ ̋USVW}3M ;Hu M;uxu F @rUt!k Vhe k 8 Xk 33ćt h$Y3Lj?t裇tw7VhF @r_^[] ̋Ujt hءʉYVu F`xHWs(#f2ҋ΋FTuN._^]@uPQűUt hXYVu F`xHWs(#f2ҋ΋FTu-_^]@uPQuB̋U膆@tjhYYEMMQju PW]̋UESVp(W=@t h蝈Y38^Tt4"t hx肈YM 2҉yTV- E @`x SSS(SPExt64;4; tWt)ghÇYJt h誇Yu VP $t hr脇Yu VP t hZ^Yu VP ؄t hB8Yu V 賄t h.Yu VPk $(tW,t)0Yh赆Y<t h蜆Yu VP$t hvYu VP t hإPYu VPʃt h¥*Yu VP褃t hYu VP,\\;8LPtWTt)X75h蓅Y%t hrzYu VP<t h^TYu VP8΂t hJ.Yu VP4訂t h0Yu VP0`肂t hYu VPD:`t}dtSlt)p8xh蔄Yht h{Yu Vt hܤYYu V_ׁt hȤ7Yu VPH豁t hYu Vm;;totSt.;t h蛃Yu Vh~uYhnhVԀh@t h  Yu V|tXt.vt hւYu V2Tt h贂Yu V2t h£蒂Yu V:hlYt hpSYu V ;t} tS t) hRYqt h8сYu V-Ot h 证Yu V -t h荁Yu V hآgY~t hNYu V:# ' toC tEG t~WhY}~t hYu VsIk~t hfˀYu V'I~t hH詀Yu V{'~h,胀Yt;]_;[;wT= v`u VPl $(h,60u VP(\;wT8L_P-TXu VP@`dlpsu V;;wdgRt<t&u V!u Vu Vt&u Vu Vu V) ;wPt7 [ - uBu VpUu VJ# t9' #C G SuM Y u VSu_^[]̋UE@(Ltjudu PQ3] ̰̋UEVWx(PEQ$zth.|YYjjuElmztjh|YYEf fEFE FMltM,ztjh|YYEEFE FfF pythΦ9|YYuP(_^]̋UESVp(SP$yth{YYW3;9E t @ ;uH ;u59xu,Rd0ytXh~{YK;t49xuH Pyd;t9xtPQHP Q Hy Pdx_thV%{YYSP(^[]̋U} E@(Wt.}?r#Vl6Pu z ^2_] ̋UE@(]̡̋UESVup(PQ3;ÉE8E ;uE;uh3@W=pF`FdSP^XSPSP׍p3ASXXQ PdjSShGATXPl3f DPQTXYZ\`dhlp|3_E^[]̋U E@(eEvt hyYE SV5lW3CSS֋mEPEWSSӉE=#uPWduj֋fu4vtuhԨxYYEPWPEjӉE}ut hVxY5phEPhEPhEP֋5juWփu.ut hlxYE EjuWփumut hTwYE Pj uWփ uAut h@wYE $"ut h wYEEttt hWwYWdt_^[t hʧ9wYE̋UESVp(Wtt h wYE Hj[KHHWSlL;9WSPvLL@L@(L@ ^JLXLǀLǀ@LǀWSlL;WSPBvLhL@L@ L@ THLXLǀLǀ@Lǀ@L PVWSlL;u WSPuL L@L@L@ 'L@jQLǀhLǀ@LǀH}rthh^tYY;}L;tFPd;28t< r&Ɔ?rt Vh8tYY_^[]̋Urt hکvtYEVp(WLt Pd'ƀqtPh0tYY_^]̋UESVWx(3uqt hfsY3fEfEfEfE捇uu苏PEQ$l3fEVjfEӉEtVjPs }u Eqqt Vh0psYY3fEVjfEӉEtVjPYs }tptj@h,sYYEPjWhEPEPEP;S3VVj"EPhp(h3QQQQVPu!E}A9pt hƪrY;tpt h|rY3#PH`3fff ftPdPjlotPh^qYYMQjPq PPhTPEPPMQQuEPQ3P V|VVP jPnt h4%qY3Eu􋇼P(}_^[t udnt hpY}t uddnt hpYE̋UESVp(4nt hЫpYSP$tFnt hdpYWx(WPW_SP(m^[@t hrpY]̋UESVp(Wmt hޫoYSP$?t"Zmt hoY7PSP(_^[]̋U3PPPPux]̋Uju]̋UEVp(Wlt h{hY_^]̋Uet htThYVu~XLWƆuN\NX@} tWVЃgWV_^]̋UVuLNXN\FXƆ@ W} tWVЃgWVC_^]̋UVu~XLWƆuN\NX@$} tWVЃgWV_^]̋UVuL@(tu Vu V^]̋UESVu Wx(jjhJVP؅}2ҋΉ^TW 4^`CW$gdh4wPdph `9dYh I"dBh2 d+hЯchchchzchbnt\ tGHHt3tHuichLich8|UctyhlEctih\5ctYhLt9HHt%tct;hڮ.ct+hbthbt hGeYCwj$VWKaVWXVW[OVWFVW=VW4VW+VW"VWVWVW[VW@_^[]zT9]'foxBK0̋UESVp(W} jjhJWSE}2ҋωGTVW_VEjWSE_^[]̋UE SVuWx`SP$PQ$tC>s 1OIH3Ɔt PQRPQ(SP(_^[]̋USVuWSP$SƆP(_^3[]̋USVuWSP$SƆP(_^3[]̋UM A`j Z9Ps#@EVWf j f>_fjxǀ_fy _Q3^]̋UESVu Wx(jjhJVPE؅}2ҋΉ^TW^`C =tl= tU=t>=t'=tk_t[hN[_tKhܰ>K_t;h.;_t+h+_thp_t hL{aY[ tPt?t0VttA]6WMW VWUVWd2ҋΉ^TWjVu_^[]̋UQESVp(Wf^@t hR`YL@} jjhJEWPE؅})#^@t h&`Y2ҋω_TV%k~Xu?W[؅|-EtWVЋ؅|]@t h(`YV2ҋω_TVjWu_^[̋UEVp(LWxk]@t hv_Ytu VJ]@t h`_YVu [VC_^]̋UESX(VW\@t h__Yu jjhJVPE})\@t h&(_Y2ҋΉ~TS(f2ҋΉ~TSjVu_^[]̋UESX(VW[\@t h^Yu jjhJVPE})$\@t h&^Y2ҋΉ~TS&(f2ҋΉ~TSjVu_^[]̋USVu WV}8tF#F`$V0 ^2ҋTjVPW_^[]̋UZ[t hƱ]YSW} !G`H tH_}*[tAh]Y4VuQjNdWVjWV^_[] ̋UE @`H SX VW}LGd;؉E}T39u Vv`U FjYMXB`$R@H @Sj}_duxts/Zt h\YTPE}WӋ=\3SSpPƆƆSSƀVSSSSSSEPjP}u W_^[̋UYt h\YM A`@HQut]̋UML@u Qt]̋UML@@u QtQ]̋UYt h|h[YVW}TXt6h^E[YYu WXt h@%[Y_^]̋UML@@ u Qt]̋UESX(VW} jjhJWP}2ҋωwTS]w`*Xt hZYFtTHtAHt.HtXtVFPh_ZYCWt;hֲ.Wt+hIJWthWt hZYFWSt%HtHtHtJ c_^[]̋UES3Vu WFƆ  Ɔ dž3 fFFd$VP^(^t4^^`^h(lQ@VPQ=dSSpPSSPSSPSSPSSP׈_^3[]̋USVuWLWP؅Vt hNnXYPU}t h<EXYWPKt h(*XYƆPx(UtPhWYYVQ_^[]̋UVuF|Nl3At;~N|SWBUt4hh*WYY$Ut4h wWYYUtF|4hXWYYTt4hҳ6WYYTt4hWYYTt4hVYY}Tt4h~VYY[T_[t4hbVYY3^]̋UEVLTy hJ|VYVP3^]̋UVuWLSy h\AVYPWPWP,_3^]̋UVW}LSy hĴUYPVPbSy hUYt1@t*xWVƆPXVP`WVP\S_^y hpqUY3]̋USVuWjW^SnLuVP,_^[]Ry htUYjFdWP2LuSP$Ry hTTYjW$PLuSP$FdPQ$URy h2TYVP }3RUh TYEVPD}R(hڴыVP|PQ@PQ ̋USQt h0TYQt h TYVu@PQ PQ yQt hSYeQt hԵSYFPQ$FdPQ$$PQ$3Q^t hSYQ[t h}SY3]̋US]VsuPy hJSYSP,MQSP0P}hظSYyEPEPhR f9EtoPy hRYEffff f; f;@f;`f;pf;f;f;tzȁHf;thrf;t^wf;tT%f;tEsf;t;tf;t1yf;t'zf;t{f;t|f;t f;Wu䥥 URf}PSQ4}O~hjnENy hHRQYMQSPt h AY>tGPhAYY>tw hx@YYz>twhX@YY?}\>t Wh6@YY;hUTagWSE܉EE EEEPTjjU؍FdRPQ=t h^@YExXxd M8YA%=t Wh$@YY=tEp`h @YY]u8=t Wh?YYSSP\pPTESSSSSjEPjP;(uPTE u-<t Wh^?YYSSP\pPT<Wh<?YY8tC8}9t#<t h>Y@(ǀ4VEPSS(UpPTF<t h>YE;@(;tKu <@t hn>YE;@t hN>YEMEċ@9EtE;t hz!>Y4PE!;u;hTj Xf6jHXf4EDEЉLE܉TPDžHX6;tuhX=YY4PWjE PETG`$M@*H @E:t h49=Y:t h%=YSEPSSSjEPjP;uE:t h<YWSSSSuxf:h<Y=u?B:t h<YWSSSSux:ohl_:t h8c<Y98_9t8h8<YY80t 8uA9t h <YuVƆPXVP`uVP\]8u^9t h;YJ9tuh;YY8E#;u<9t h\~;YuVƆPXVP`uVP\]EPSS(8t hl6;YjjUFdRPQE;t @(8h:0L]{8t Wh:YY;]8t h:Y];vTE܋MEԊ$5t hl7Yju]̋UxSVW}jXfEjPXfEE 3ۉE3}]]Ј]fEfEԉ]]4@t WhD/7YYSSEPd}EPEPjSSSSh"ЉU;u4t h"6YB`$u]4t h6Yu ύMHu9"4t h6YSSSSEPx4t h`6Y}3tuuWh~B6_^[ ̋U83ʼnEeMSVW3}䫋yE EEAM܅t@EԋGjE_d0P,E܃MEȍC4E̍EE>3@t h5Y%3tshv5YY 3tshXj5YY2tsh8R5YY2ts h:5YY2t3h#5YY2twthv 5YY2twhhX4YY~2twlh84YYf2twph4YYN2t3h4YY3ۋE@dE,2tuh4YY2tEp`hn4YY}tu1t hjS4Y;u,1tuh:14YYjjP\EMMEEP3SS(IE胸t|r1t h3YEMEigǀEPESSSPx;EPSS(1t h~3YSSP\9]u0 Hh89PTME0t hr3YSSSSSjEPjPE;u|0:hNExXE܀xA jUGdRPQE90tuh$2YY9]u]}u=Exdu4;t*9X(t%/t h[2YjjU؍GdRPQ/h/t h2Y]9]v)/tEDPh1YYEE;Er׋E耸QhuuMQW ?/t h1Yu"/hhSuEPuE.tGdPWh6W1 .9]}h h)1Y{. t h 1YMEPESSSPEigx;=r.t h0YES@@LM_^3[v0?.thj̋UESVu WFV3PQ@VPQdž%33_^3[]̋USVuWLWP؅|P؅} WP_^[]̋UEVLQVP3^]̋UVuWteuVW E|jVW E}VWYSjh^S|&tjhFdPh&uSP$VW$VWEPQ@VP[E_^]̋UVuuRWPQ @PQ FPQ$FdPQ$VW$uB,t h.YVW_^]̋Uv2S3SSEPdEPT9] ta9]t\EPEPSuuuuu u;t7M =uSSSSEPxE9]| M 22[̋UE PEjjju h7]̋UEEE EEEE PjjjEPEh ]̋UE PEjjju h]̋USVuW33ɉM}諫FM98MQMQhP8Ejjhu4E}X&EE@ GE@\G\PVƆSu *thl)t hPY,YjjjVSu)th>)t h(',YMMj XEEEPVESu)th)t h+Yk)_^[t h+YE̋UW}u<u3SXVtӃ&tӃ&^Ƈ[_]̋UQS$VuW3}9uM@0WPӉ;u E@`$J @x x9uZ@0WPӉ;u;tPd뒋@`$J @x xE_^[̋USVW}u7 tPӃ&utPӃ&2_^[]̋UVuư't h*Y'y Vh)YY~'yu h)YYjj V\^] ̋U SVW}wFjE0P,3ۄs9gGEG E9c@`$@*Cp @SSSSSjEPjP+Ht G PT{Ax&y Wh(YY;t>l&y h(YWPE^B&y h(YE PT}8_Au9@`$J @X XX$%tKhT>%t h20(YSSSSG Px%t h(Y;t P w%t h'YS_@L_^[̋UE VuWx=%t h'Y3PPpV\_^] ̋UE SVuHWx0M}H`M3ۃ$9]E;;@`@Ep@$@`$J MHX XWX$T=usSEPSSSjEPjPuY7$t h,&YSSSSWx9t&$t hd&Y _^[̋UQQESVpWj~d0P,3ۄ9EEG4E9SSSSSjEPjP+tUHu:E8XAun9j PWQ;~PPuVƋE8XAt#t+h #th"t h^\%Y9t&"t h@%Y "t hD%YESX@L_^[̋U(ESVp(W3SSEPd=lj j׉E;u Ej 3fMYfMMQMQSj PSSh;u EbE=uSSSSEPxEE9]-EHPjfM׉;t3fEf!|t Shl$YY!tuhB#YYw!tuh,#YY_!tPh#YYEPj# SW#!tS|#YYEPW tSZ#YYE uE3fEffEjEPEP3ۉE|E9]t udE_^[ jL̋UEVW} _3^] ̋U3ʼnEESVp(3W} PDH( y h"YPLQ$\;@(Ty h;"YDPSSSG4Pxdy h "Y9dhQWPduy ht!Y9dThhSPX! :y hV!YDPXPhPdP)9y h8K!Y8tTaj`P\ƅ` hP\y h YhPP)+dy h YhhSP ;y h YX;dy hu YLP(_^[y hO YM3 ̋U3ʼnEE V`W}w39ESSPdhP DVdPhPu`'t2}v,}tu苇hQWPpShjP E9du[M_3Ͱ^9 ̋UQEjURPE EEAQht h8Y ̋U 3ʼnE EM jURMPE EEDQhM3 ̋U3ʼnEEVW}쥥j URPE E EFQhM_3^M ̋U3ʼnEEVW}쥥j URPE E EEQhM_3^ ̋UQSVu W~} tFPPhL ]uBu9u0 u'E @}WfNfCj Y} @}2fNE fC?u#t h(YSPtE jMQESE EEXPh_^[ ̋U3ʼnEE SXVutPhTuYY@}s^EEE EEC]ExtEPEPSh?uRtEPhxYYjMQVPhM^3[O ̋USVu^t hfYu tGW$WP(;E}WPdjuu WPWPdE_^[t hYE] ̋UELu{U ƀ:CulfJf@s^fRVfffH֍yIA3F 2u uWj Y_^] ̋U 3ʼnESVu^WWjP(3 fftUVPxfWPhPhVjjxM_^3[K̋UQMEUfEj?ZfAAJűU@3ʼnESVuFWWjPDžU3 ff3ҍfff fBBGG~rfffPPhPjY3󫍅P3h?PDžDž@;ljPjl؅cPjCC  PSjWhsj Y󥋽3tPVhp FGG@rSdthh?YY}Sft h6Y3ɍf8f:fAABB~rffVPtj Y`}M_^3[n̋UM VQPu J@*QPu 2^] ̋U3ʼnEE Vu\3W~ƅg9ESSP`hP DW`PhPu\t;}v5}tu苆hQVgShjP E9`u[Mg_3^# ̋UM AtUHtDHt3Ht"HtHuRuQuWDuQu6uQu(uQuuQu uQuy] ̋V33@VPh55dhVhV5550V00VP^̋UQQeW3}0h0P MEPjjE`y(_̋USVuW 2~t%T M DAN=r&_^[]̋USVuW} 9sE 4 <39r QjQh_^2[]̋UQQW33}M9Mto9M tj3Ҹ4uV5 hjCWjBWjB֋=ja Pja֋E iEEPjjU(ja$Pja^_̋USVuFW=PEE3$+t4HuEPhTt uu%SSSSSjEPj8^AtS^@^AL_^[̋UQQESVWx(t h"Yu jjhJVPE؅}2ҋΉ^TW衷_^[Xu&V^2ҋTWzjVuˍEPVu P*؋EtHtF#F`$HtH̋Ut hWYju<]̋UVWt h#YEjjPu ut hY_^]̋UVWft h8YEjj%Pu u8/t hY_^]̋UVW3t hr_YM9}t(jX9E s#Q(@S]$U3[jWPu Qt hTY_^] ̋UVW|t hYEp(E vMMhup1_^t hY3]̋USVWt h bYEp(8<3AQP dž$dž(^\dž,[dž0t[dž4[< @ t hY_^[]̋U8E@(I(xM xSVxR|RWxR|R+Ù3+E+ƙu3+M؉u @tVuhlB Eu;}ÉF E;E} MȉN EEFf f @tvv h, fp @tE Ph"YYV }@tHhYY8 @tPhYYM  Hj M M VFA F @tvhғ.YY_^[ ̋UE@(Vr;ur9ruj}tNM rrl @tPh YYS @EPh Y1 @jhU ;u19rt @t hLk Y3@c @tXhKr;u @th;ur @t h YjX @t hX Y3^] ̋U(ESX(@(VEE3WEp\ }@t7hb YY;tuJ xuhTu39lTu 9hTulTu ƃ$xE,AE} @tEWPh.- E tE}LJdREdRhRt%w @t h YEdRƇhRujYulRuuS8xt'8EuK! @t h Yƃx2}u#M x;ux;u@tEPh1 YYu@tHhh YY@tPh: YY8vM HuE}  Mj VF F/@tvh YY@txPho YY@WhU YYusU@E xMjWYE}EPEPEPuU 2}t~th YuuuEdRu'D@t hv Y xxƃx}uM x;u0x; u3_^[̋UQESVp(@(W}gEE]@t3h" YY33A;tuG xu9hTu19lTu9hTu9lTu $xE,A= ] 0 t MdRdR8hRt&@t hyYdREƆhR@tEPh"NYYu@tHh0YY@tPhYY8vM  Hj M M WG GR@twhғYY_^[̋U ESX(@(VuWEjY}WW}EWW}+E3++3+Eu@tVWhl" W;E}uȉN MEA W;E} MȉN EEFf fZ@tvv h, E 33AVWtMW8tU@tEPh"jYY]@tHhLYY@tPh/YYM Hj  M VF  Fq@tvhғYY_^[ ̋UESVp(X(W} Ȁ``uT'@t hVYG+YG ]D$T$UL$)qqq( ]UVWS33333[_^]ËjK33333USVWjjhpQQ_^[]Ul$RQt$ ]SQ SQL$ KCk UQPXY]Y[%D%0%4BASEPrepareDelete : IOEvent OK! BASEPrepareDelete : DPCEvent OK! BASEPrepareDelete : WorkItemEvent OK! BASEPrepareDelete : RefEvent OK! xTouch : Increaseing Reference yet =%d xTouch : ** OutStanding Ref Event triggered xTouch : Ref = %d, Decreasing Ref xTouch : Increaseing OutStanding IO yet =%d xTouch : ** OutStanding IO Event triggered xTouch : OutStanding IO = %d, Decreasing IO xTouch : ** OutStanding DPC Event triggered xTouch : OutStanding DPC = %d, Decreasing DPC xTouch : ** OutStanding WorkItem Event triggered xTouch : OutStanding WorkItem = %d, Decreasing WorkItem IRP_MJ_INTERNAL_DEVICE_CONTROL IRP_MJ_POWER IRP_MJ_SYSTEM_CONTROL IRP_MJ_PNP IRP MJ Others IRP_MJ_DEVICE_CONTROL IRP_MJ_CREATE IRP_MJ_CLOSE IRP_MJ_READ IRP_MJ_WRITE xTouch : DispatchRoutine Called Leave EDONotifyDeviceRemoval EDONotifyDeviceRemoval : complete m_WaitRemovalIrpEnter EDONotifyDeviceRemoval EDOCleanAll : complete m_WaitRemovalIrp 0x%02X Write to EDO RxFifo = %dEDOFireRemoveEvents EDORedirect : Returned CheckSum = %04X EDORedirect : Get EEPROM Addr = %02X Value = %02X %02X Redirect : GetEEPROM Addr=%02X EDO TX Thread : Write Data to FDO. EDO TX Thread : Get H2D_LOOPBACK CMD EDO TX Thread : Get GETEEPROM CMD Write Complete EDO TX Thread : Get GETEEPROM CMD ,but first EEPROM CHECK not finish EDO : Tx Thread is Close EDO : Got Tx Thread Stop event EDO:Read Timeout %d Complete Read Irp - Read %d bytes EDO: Read %d bytes from Fifo EDORead : 0x%x EDORxMoveData: Fifo Empty EDORxMoveData: CurrentIrp NULL EDO : Rx Thread is Close EDO : Got Rx Thread Stop event Increase EDO Ref EDODefaultCreate : call Increaseing Reference EDODefaultCreate EDO : Leave EdoCleanAllBeepEvent EDO : Enter EdoCleanAllBeepEvent (Leave EdoCleanBeepEventArray) (Enter EdoCleanBeepEventArray) EDODefaultClose : call decreaseing Reference EDODefaultClose EDODefaultRead: Read.Length == 0 xTouch : pEdoExt->m_BaseExt.m_bDeleted, Fail IRP EDODefaultRead EDODefaultRead: Write.Length == 0 EDODefaultWrite. EDO IRP_MN_SET_LOCK EDO IRP_MN_QUERY_PNP_DEVICE_STATE EDO IRP_MN_SURPRISE_REMOVAL EDO IRP MN Others EDO IRP_MN_EJECT EDO IRP_MN_QUERY_CAPABILITIES EDO IRP_MN_QUERY_RESOURCE_REQUIREMENTS EDO IRP_MN_READ_CONFIG EDO IRP_MN_WRITE_CONFIG EDO IRP_MN_QUERY_INTERFACE EDO IRP_MN_QUERY_DEVICE_RELATIONS EDO IRP_MN_CANCEL_STOP_DEVICE EDO IRP_MN_QUERY_STOP_DEVICE EDO IRP_MN_CANCEL_REMOVE_DEVICE EDO IRP_MN_QUERY_REMOVE_DEVICE EDO IRP_MN_REMOVE_DEVICE EDO IRP_MN_STOP_DEVICE EDO IRP_MN_START_DEVICE EDODefaultPnp EDOBeep : m_ulTouchStatus: %d EDOBeep : Beep Source: %d EDOFireBtnEvent : Set Btn event! EDOBtn EDOFireHWeelEvent : Set HWeel event! pEdoExt->m_ulHWeelStatus = 0x%x EDOHWeel EDOQueryMonitorInfo FreePool EDOQueryMonitorInfo ExAllocatePool size(%d) MonitorInfoEDOQueryEdgeInfo FreePool EDOQueryEdgeInfo ExAllocatePool size(%d) EdgeInfoBeepSourceBeepModeBeepDurationBeepFrequencyConstModeConstDurationConstRangeTouchGridTouchSpeedMouseModeOrientBranchEDOQueryCalInfo : FreePool EDOQueryCalInfo : ExAllocatePool size(%d) CalInfoEDOQueryLinzInfo : FreePool EDOQueryLinzInfo : ExAllocatePool size(%d) LinzInfo EDO : EEPROM Thread is Close ChallengeThread : Got Callenge Thread Stop event Other Status EDOAuthenThreadRoutine-Register Fail EDOAuthenThreadRoutine-running stop since EEPROMOk EDOAuthenThreadRoutine-running EDOQueryMonitorInfoFromService : FreePool EDOQueryMonitorInfoFromService : ExAllocatePool size(%d) xTouch\DeviceDefaultEDOQueryEdgeInfoFromService : FreePool EDOQueryEdgeInfoFromService : ExAllocatePool size(%d) EDOQueryCalInfoFromService : FreePool EDOQueryCalInfoFromService : ExAllocatePool size(%d) EDOQueryLinzInfoFromService : FreePool EDOQueryLinzInfoFromService : ExAllocatePool size(%d) CalSourceTouchHoldToResetTimeTouchHoldToResetFlagIdleToResetTimeIdleToResetFlagFilterFilter ThresholdLowUppperA3A2A1A0EDOQueryActiveAreaInfo FreePool %x pActiveAreaInfo->rcBoxArray[1].bottom (%x) pActiveAreaInfo->rcBoxArray[1].top (%x) pActiveAreaInfo->rcBoxArray[1].right (%x) pActiveAreaInfo->rcBoxArray[1].left (%x) pActiveAreaInfo->ulNumsOfBoxes (%x) pActiveAreaInfo->bEnable (%x) EDOQueryActiveAreaInfo(2) Get data size(%d) EDOQueryActiveAreaInfo(2) ExAllocatePool size(%d) EDOQueryActiveAreaInfo Buffer size too small. need Data length is %d EDOQueryActiveAreaInfo Buffer size too small. need buffer length is %d EDOQueryActiveAreaInfo :Query Reg failed. len = length%d EDOQueryActiveAreaInfo :Query Reg failed. error code = %x EDOQueryActiveAreaInfo ExAllocatePool size(%d) ActiveAreaInfoDesktopTouchDownTimeAccLimitSkipPtsLimitEnableDetectTouchSequenceFlgRectangleLimitInActiveAreaReportOlderRectangleFormatEdgeBtnRealMultiReportModeFireWheelEventEDODestruct : call decreaseing Reference (EDONotifyDeviceRemoval) EDONotifyToRemove m_FilterPtsParam.m_lSkipPtsLimit (%d) m_FilterPtsParam.m_lAccLimit (%d) \DeviceDefaultEdoIoctlGetActiveAreaBoxNum : pEdoExt->m_pActiveArea == NULL Fifo : buffer Address 0x%x Write Fifo : fifo full Write Fifo : not have enough buffer!!! Read Fifo : fifo empty FifoPurge !!! !!! FifoReleaseResources !!! helper:ForwardAndWait Helper:PassThroughIrp NativeNameLeave add device routine ( success ) Leave add device routine ( fail ) FDO init fail Identify fail IoAttachDeviceToDeviceStack ruturn fail DriverObject( 0x%x ) , PhysicalDeviceObject( 0x%x ) Enter add device routine Unload Driver( 0x%x ) Leave driver entry Enter driver entry( 0x%x ) xTouchLeave driver entry ( fail ) DriverEntry : g_ustrRegistryPath.Buffer ExAllocatePool size(%d) Mouse Point Lost WHEEL : GESTURE_SLIDE_X (GestureValue == 0) post up WHEEL : GESTURE_ZOOM WHEEL : GESTURE_ZOOM X WHEEL : GESTURE_ZOOM Y GESTURE_ROTATE : GestureValue = %d GESTURE_ROTATE WHEEL : GESTURE_SLIDE_X WHEEL : 0x%x (%d) WHEEL : GESTURE_SLIDE_Y WHEEL : 0x%x (%d) WHEEL : WHEEL_BUTTON_DOWN WHEEL : GESTURE_SLIDE_X (GestureValue == 0) eTouch : ParsingInputData has an exception ! receive %d bytes points pkt(02) IDP : Leave dispatch command routine IDP : Enter dispatch command routine pBuffer[ 5 ] 0x%x pBuffer[ 4 ] 0x%x pBuffer[ 3 ] 0x%x pBuffer[ 2 ] 0x%x pBuffer[ 1 ] 0x%x pBuffer[ 0 ] 0x%x FilterMouseTouchEvent :g_bDragWaitNextDown==TRUE , g_bDragWaitNextDown==FALSE , post Move FilterMouseTouchEvent :g_bDragWaitNextDown==TRUE , post left up other PostMouseMoveAndLeftUp PostMouseWheel PostMouseLeftClickSpecial PostMouseLeftUpAndDBRightClick PostMouseDBRightClick PostMouseLeftUpAndRightClick PostMouseRightClick PostMouseLeftClick PostMouseRightUp PostMouseRightDown PostMouseLeftUp PostMouseLeftDown PostMouseMove DoPostMousePoint: pPostMouseState 0x%x eTouch : We have lose the data DoPostMousePoint: We have lose the data DBG_TDI : Send reset frimware cmd pRectBox->bottom = %d pRectBox->top = %d pRectBox->right = %d pRectBox->left = %d OnActiveAreaSingleSplit ActiveAreaSplitMap ActiveAreaBox->bottom = %d ActiveAreaBox->top = %d ActiveAreaBox->right = %d ActiveAreaBox->left = %d RectBox.bottom = %d RectBox.top = %d RectBox.right = %d RectBox.left = %d OnActiveAreaMultiMapping OnActiveAreaMultiSplit OnActiveAreaMultiFull OnActiveAreaMultiUpper OnActiveAreaMultiLower OnActiveAreaMultiLeft OnActiveAreaMultiRight OnActiveAreaMultiQuad1 OnActiveAreaMultiQuad2 OnActiveAreaMultiQuad3 OnActiveAreaMultiQuad4 DetectTouchInSequenceState : state 0(out area) DetectTouchInSequenceState : state 0 DetectTouchInSequenceState : state 1(out area) DetectTouchInSequenceState : state 1 DetectTouchInSequenceState : state 2(out area) DetectTouchInSequenceState : state 2 DetectTouchInSequenceState : state 3(out area) DetectTouchInSequenceState : Switch to enable Touch Function. DetectTouchInSequenceState : Switch to disable Touch Function. DetectTouchInSequenceState : state 3 DetectTouchInSequenceState : TimeOut. state return to 0 DetectTouchInSequenceState : lLastPostY = %d DetectTouchInSequenceState : lLastPostX = %d DetectTouchInSequenceState : lTempY = %d DetectTouchInSequenceState : lTempX = %d IDP : Leave dispatch origin data routine ReportMouseData.ExtraInformation 0x%x m_ucDeviceID 0x%x m_DeviceType 0x%x ucTouchStatus 0x%x ReportMouseData.LastX %d,ReportMouseData.LastY %d ulWidth 0x%x,ulHigh 0x%x do New rectangle gesture. Multi-Input 2: %d, %d Multi-Input 1: %d, %d %02X Multi-Input DispatchOriginalData : Write to EDO Len %d. DispatchOriginalData : Get Button Status CMD(CMD length is not correct %d). IDP : we got a command packet IDP : Need to parsing length = 0x%x IDP : Enter dispatch origin data routine rcBoxArray.bottom %d rcBoxArray.top %d rcBoxArray.right %d rcBoxArray.left %d cy %d cx %d pActiveArea->rcBoxArray[%d].bottom %d pActiveArea->rcBoxArray[%d].top %d pActiveArea->rcBoxArray[%d].right %d pActiveArea->rcBoxArray[%d].left %d pActiveArea->ulNumsOfBoxes = %d prcVirtualDesktop->bottom %d prcVirtualDesktop->top %d prcVirtualDesktop->right %d prcVirtualDesktop->left %d prcMonitor->bottom %d prcMonitor->top %d prcMonitor->right %d prcMonitor->left %d lTempY %d lTempX %d ShiftBit 0x%x PackMouseInputData pFormatData[ 0 ] 0x%x FilterLostPacket :pMouseData->ExtraInformation 0x%x (FilterLostPacket)pFdoExt->m_bLastButton4Down = %x IDP : Leave post mouse point routine (8)PostMouseState = %x (EDOPostMousePoint)pFdoExtension->m_bLastButton4Down = %x pDeviceParam->m_ActiveArea.m_LastY 0x%x pDeviceParam->m_ActiveArea.m_LastX 0x%x Active Area : EnableTouch Active Area : Post last Point and Touch UP(Real Multi) Active Area : Post last Point and Touch UP(Retangle) last touch state is up Active Area : Post last Point and Touch UP (Real Multi) USER ID(Real Multi) %d Active Area : Post last Point and Touch UP Active Area : DisableTouch do not limit in ActiveArea. TouchSeq disable touch TouchSeq enable touch Zfilter : enable Z filter Zfilter : disable Z filter Disable EdgeBtn EdgeBtn : Y %d EdgeBtn : X %d Enable EdgeBtn EDOPostMousePoint : m_ulTouchStatus = 0, set Touch Disable IDP : Leave post mouse point routine.because EEPROM failed IDP : Enter post mouse point routine EdoHookBeepEvent(%d)(%x)(%x) Leave EDO Reference pkBeepEvent EDO Reference pkBeepEvent: (NULL == hEvent) EDO Reference pkBeepEvent: sizeof(HANDLE) (%x) EDO Reference pkBeepEvent: DeviceIoControl.InputBufferLength (%x) EDO Reference pkBeepEvent: Buffer too small EDO Reference pkBeepEvent Leave EDO Dereference pkBeepEvent EDO Dereference pkBeepEvent SetRemoveEvent(%d)(%x)(%x) Leave EDOCleanAllRemoveEvent Enter EDOCleanAllRemoveEvent (EDOReferenceRemoveEventArray) EDOReferenceRemoveEvent(%d)(%x)(%x) (EDODereferenceRemoveEventArray) EDODereferenceRemoveEvent(%d)(%x)(%x) EDO Reference pkRemoveEvent EDO Dereference pkRemoveEvent EdoIoctlSetActiveArea : pEdoExt->m_pActiveArea ExAllocatePool size(%d) pEdoExt->m_pActiveArea->rcBoxArray[1].bottom (%x) pEdoExt->m_pActiveArea->rcBoxArray[1].top (%x) pEdoExt->m_pActiveArea->rcBoxArray[1].right (%x) pEdoExt->m_pActiveArea->rcBoxArray[1].left (%x) EdoIoctlGetActiveAreaBoxNum : pEdoExt->m_pActiveArea->ulNumsOfBoxes(%d) SetBtnEvent(%d)(%x)(%x) Leave EDOCleanAllBtnEvent Enter EDOCleanAllBtnEvent (EDOReferenceBtnEventArray) EDOReferenceBtnEvent(%d)(%x)(%x) (EDODereferenceBtnEventArray) EDODereferenceBtnEvent(%d)(%x)(%x) EDO Reference pkBtnEvent EDO Dereference pkBtnEvent SetHWeelEvent(%d)(%x)(%x) Leave EDOCleanAllHWeelEvent Enter EDOCleanAllHWeelEvent (EDOReferenceHWeelEventArray) EDOReferenceHWeelEvent(%d)(%x)(%x) (EDODereferenceHWeelEventArray) EDODereferenceHWeelEvent(%d)(%x)(%x) EDO Reference pkHWeelEvent EDO Dereference pkHWeelEvent reply ulHWeelStatus 0x%x IOCTL_REFERENCE_BTN_EVENT IOCTL_DEREFERENCE_BTN_EVENT IOCTL_REFERENCE_HWEEL_EVENT IOCTL_DEREFERENCE_HWEEL_EVENT IOCTL Others(0x%x) IOCTL_DEREFERENCE_REMOVE_EVENT IOCTL_SET_ENABLE_DETECT_TOUCH_IN_SEQUENCE_FLAG IOCTL_GET_HWEEL_STATUS IOCTL_REFERENCE_EVENT IOCTL_DEREFERENCE_EVENT IOCTL_REFERENCE_REMOVE_EVENT IOCTL_GET_ENABLE_DETECT_TOUCH_IN_SEQUENCE_FLAG IOCTL_GET_TOUCH_FUNCTION_STATUS IOCTL_SET_TOUCH_FUNCTION_STATUS IOCTL_GET_ACTIVE_AREA_BOX_NUM IOCTL_GET_ACTIVE_AREA_INFO IOCTL_GET_LAST_POINT_TICK_CONT IOCTL_HOOK_RAW_POINT IOCTL_HOOK_CALED_POINT IOCTL_HOOK_CMD IOCTL_REMOVEALL_HOOK IOCTL_SET_ACTIVE_AREA IOCTL_CLEANUP_WAIT_REMOVAL IOCTL_GET_BEEPINFO IOCTL_QUERY_COMM_NAME IOCTL_GET_VERSION IOCTL_WAIT_REMOVAL IOCTL_SET_BEEPINFO IOCTL_UPDATE_MONITORINFOnIOCTL_SET_EDGEINFO IOCTL_GET_EDGEINFO IOCTL_SET_CONST_TOUCHINFO IOCTL_GET_CONST_TOUCHINFO IOCTL_GET_MONITORINFO IOCTL_SET_MOUSEMODE IOCTL_GET_MOUSEMODE IOCTL_SET_LINZINFO IOCTL_GET_LINZINFO IOCTL_SET_MONITORINFO IOCTL_GET_CALINFO IOCTL_SET_BRACNHFORMAT IOCTL_GET_BRACNHFORMAT IOCTL_GET_OIRENTATION IOCTL_SET_OIRENTATION IOCTL_SET_CALINFO EDODefaultDeviceIoctl FDORegisterCallback end--- Hooked=%d FDORegisterCallback : pTempList ExAllocatePool size(%d) FDORegisterCallback begin--- Hooked=%d FDOUnRegisterCallback end--- Hooked=%d FDOUnRegisterCallback : FreePool FDOUnRegisterCallback begin--- Hooked=%d Leave identify device type FDOIdentifyDeviceType : ustrHardwareID.Buffer FreePool God!!! It is an unknow device It is a PS2 device It is a SERIAL device It is a USB device ACPI\SERENUM\USB\We got a new hardware id , and compare it FDOIdentifyDeviceType : ustrHardwareID.Buffer ExAllocatePool size(%d) Enter identify device type FDOOpenPort : Internal DeviceID = %d FDOOpenPort : pFdoExt->m_pPort ExAllocatePool(NonPagedPool) size(%d) FDOOpenPort FDOClosePort : release DeviceID = %d FDOClosePort FDOOpenEDO : ustrDeviceName FreePool FDOOpenEDO : ustrSerialNo FreePool FDOOpenEDO: Create EDO failed #EDOFDOOpenEDO : pEdoExt->m_ustrSymbolicName.Buffer ExAllocatePool size(%d) FDOOpenEDO : EDOInit failed. FDOOpenEDO: init EDO failed. \Device\EDOFDOOpenEDO : ustrSerialNo ExAllocatePool size(%d) FDOOpenEDO : ustrDeviceName ExAllocatePool size(%d) FDOOpenEDO EDO PrepareDelete. FDOCloseEDO : Decreaseing Reference call by NotifyToRemove and Destruct FDOCloseEDO FDOStopEDO OnFDODefaultHandler DebugLevelForceRedirectedLeave start device Enable Device Interfce done Going to Enable Device Interface Empty Port's StartDevice Do port start device GetCommName Success GetCommName Failure TouchSendSyncIrp is success Enter start device xTouch : Leave remove device xTouch : IoReleaseRemoveLockAndWait is called xTouch : Do port remove device xTouch : Enter remove device Leave stop device Enter stop device Leave surprise remove device OnPnPSurpriseRemove : return status not success. Enter surprise remove device Leave OnPnPQueryRemoveDevice OnPnPQueryRemoveDevice OnPnPCancelRemoveDevice IRP_MN_SET_LOCK IRP_MN_QUERY_PNP_DEVICE_STATE IRP_MN_SURPRISE_REMOVAL IRP MN Others IRP_MN_EJECT IRP_MN_QUERY_CAPABILITIES IRP_MN_QUERY_RESOURCE_REQUIREMENTS IRP_MN_READ_CONFIG IRP_MN_WRITE_CONFIG IRP_MN_QUERY_INTERFACE IRP_MN_QUERY_DEVICE_RELATIONS IRP_MN_CANCEL_STOP_DEVICE IRP_MN_QUERY_STOP_DEVICE IRP_MN_CANCEL_REMOVE_DEVICE IRP_MN_QUERY_REMOVE_DEVICE IRP_MN_REMOVE_DEVICE IRP_MN_STOP_DEVICE IRP_MN_START_DEVICE FDO: IOCTL_INTERNAL_MOUSE_CONNECT FDO: IOCTL_INTERNAL_MOUSE_DISCONNECT FDO: IOCTL_INTERNAL_MOUSE_ENABLE FDO: IOCTL_INTERNAL_MOUSE_DISABLE FDO: IOCTL_MOUSE_QUERY_ATTRIBUTES FDO: IOCTL Others Increase FDO Ref IoAcquireRemoveLock not success, Fail IRP OnFDOCreate DecreaseRef FDO Ref. OnFDOClose OnFDORead FDODefaultWrite On Set Power Completed with Failure xTouch : FDOSetDevicePowerComplete xTouch : Powering Down! Trigger Power down Event xTouch : Enter FDODefaultSetPower Power : Leave OnFDOWaitWake Power : Waitwake count = %d Power : Enter OnFDOWaitWake IRP_MN_WAIT_WAKE IRP_MN_POWER_SEQUENCE IRP_MN_SET_POWER IRP_MN_QUERY_POWER other 0x%x Power : Enter OnFDOPower EDO SymbolicName: %wZ EDO open success. EDO open fail. FDO open usb edo UsbPort : Device in S5=%s UsbPort : Device in S4=%s UsbPort : Device in S3=%s UsbPort : Device in S2=%s UsbPort : Device in S1=%s UsbPort : Device in S0=%s UsbPort : Device Wake State=%s UsbPort : System Wake State=%s PnpUsbStopDevice PnpUsbRemoveDevice PnpUsbSurpriseRemove : after abort pipe PnpUsbSurpriseRemove : before abort pipe PnpUsbSurpriseRemove UsbPort : Assign task usb infomation fail !!! UsbPort : Get usb information fail !!! UsbPort : Init Cmd Fifo success UsbPort : Init TX Fifo success UsbPort : Init RX Fifo success UsbPort : Leave usb stop device UsbPort : After release fifo UsbPort : Before release fifo UsbPort : After stop thread UsbPort : Before stop thread UsbPort : Enter usb stop device UsbPort : Leave UsbGetUsbInfo UsbPort : Leave AllocatePipeResources UsbPort : Enter AllocatePipeResources UsbPort : Leave QueryTotalNumsOfPipes UsbPort : Enter QueryTotalNumsOfPipes UsbPort : Leave ReleasePipeResources UsbPort : Enter ReleasePipeResources UsbPort : Leave QueryTotalNumsOfInterfaces UsbPort : Enter QueryTotalNumsOfInterfaces UsbPort : Leave ReleaseInterfaceList UsbPort : Enter ReleaseInterfaceList UsbPort : UsbSetConfiguration Fail UsbPort : Leave SetConfiguration UsbPort : Enter SetConfiguration UsbPort : UsbGetConfigurationDescriptor Fail UsbPort : HW ID Failed. idVendor = %04X, idProduct = 0x%04X UsbPort : UsbGetDeviceDescriptor Fail UsbPort : Enter UsbGetUsbInfo UsbPort : Build DeviceIoControl Irp Fail Get Device Descriptor Fail !!! UsbGetDeviceDescriptor : pDescriptor->bNumConfigurations = %d Get Device Descriptor Success UsbPort : Descriptor Allocate Fail !!! UsbPort : Get CfgDescriptor ( 0x%x) Success UsbPort : Get CfgDescriptor Fail !!! UsbPort : CfgDescriptor Allocate Fail !!! UsbGetConfigurationDescriptor : Configuration descriptor length = %d UsbSetConfiguration : success UsbSetConfiguration : after submit select URB UsbSetConfiguration : before submit select URB UsbSetConfiguration : pEPtDesc == NULL ( fail ) UsbSetConfiguration : after USBD_ParseDescriptors UsbSetConfiguration : before USBD_ParseDescriptors UsbSetConfiguration : pSelUrb == NULL ( fail ) UsbSetConfiguration : after USBD_CreateConfigurationRequestEx UsbSetConfiguration : before USBD_CreateConfigurationRequestEx UsbSetConfiguration : ulNumsOfEndPoints != 1 ( fail ) UsbSetConfiguration : after USBD_ParseConfigurationDescriptorEx UsbSetConfiguration : we got a new pIfDesc and store it UsbSetConfiguration : pIfDesc == NULL UsbSetConfiguration : after call USBD_ParseConfigurationDescriptorEx UsbSetConfiguration : i = %d UsbSetConfiguration : before USBD_ParseConfigurationDescriptorEx UsbSetConfiguration : Enter UsbSetConfiguration : Leave UsbSetConfiguration : free pSelUrb UsbSetConfiguration : fail and free resources UsbPort : Leave UsbQueryTotalNusOfInterfaces UsbPort : Enter UsbQueryTotalNusOfInterfaces UsbPort : Leave UsbQueryTotalNumsOfPipes UsbPort : Enter UsbQueryTotalNumsOfPipes UsbPort : Leave UsbAllocatePipeResources UsbPort : Allocate pipe resources fail !!! UsbPort : Enter UsbAllocatePipeResources UsbPort : Leave UsbReleaseInterfaceList UsbPort : Enter UsbReleaseInterfaceList UsbPort : Leave UsbReleasePipeResources UsbPort : Enter UsbReleasePipeResources UsbPort : Leave UsbReleaseUsbInterfacePipeResources UsbPort : Enter UsbReleaseUsbInterfacePipeResources UsbPort : Leave UsbReleaseAllUsbResources UsbPort : Enter UsbReleaseAllUsbResources UsbAbortPipe : return fail UsbAbortPipe : return success UsbResetPipe : return failUsbResetPipe : return successUsbResetPipe : Power Down state! not resetUsbResetDevice : Power Down state! note resetAllocateUsbPipeIrp : allocate IRP false. AllocateUsbPipeIrp :enter allocate IRP . UsbRxComplete : Leave UsbToComRxComplete UsbRxComplete : Enter UsbToComRxComplete UsbRxThread : UsbPortRxThreadRoutineExit: UsbRxThread : RxThread Terminated due to m_PnPState not started UsbRxThread : Receive the stop Event UsbRxThread : Stop Event was setted UsbRxThread : EDO not ready!!! UsbRxThread : While Loop end UsbRxThread : Set m_bGetLoopbackPkt = FALSE Rx:0x%02x Rx(point):0x%02x UsbRxThread : Copy read data to RxFifo UsbRxThread : Receive %d bytes UsbRxThread : Send Loopback CMD UsbRxThread :Something wrong and Reset now UsbRxThread : PipeHandle = %x UsbRxThread : Usb urb error = READ_URB_ERR UsbRxThread :Endpoint halted or Not Responding, Reset it! UsbRxThread : Usb urb error = %x UsbRxThread : IoCallDriver wait single complete!!! UsbRxThread : Write Loopback CMD to Tx Fifo UsbRxThread : Wait Receive timeout UsbRxThread : Power Down Event Trigger End UsbRxThread : Power Down Event Trigger UsbRxThread : Wait receive data UsbRxThread : IoCallDriver (1) UsbRxThread : allocate rx IRP false. UsbRxThread : allocate rx IRP start. UsbRxThread : Timeout 500ms. UsbRxThread : Timeout 5Sec. UsbRxThread : Power Status is DeviceDo! UsbRxThread : Set m_ulTouchStatus =1 enable touch UsbRxThread : Set m_kRxReadyInPowerDown event(Already In un DO polling state.) UsbRxThread : Set m_kRxReadyInPowerDown event UsbRxThread : System Power Status is %X! UsbRxThread : Device Power Status is %X! UsbRxThread : Rx thread loop start ! UsbRxThread : Max Packet Size=%d UsbRxThread : Pipe Handle = %x UsbRxThread : Transfer Size=%d UsbRxThread : Polling Interval=%dms UsbRxThread : UsbPortRxThreadRoutine is Running UsbRxThread : pPipeInfo->Interval = 0x%x UsbRxThread : UsbPortRxThreadRoutine Fail due to No Pipe Info. UsbAcquireMutex. UsbReleaseMutex. SendDataOut : IoCallDriver = 0x%X, urbheader = 0x%X, iosb.Status = 0x%X SendDataOut : Complete SendDataOut : STATUS_PENDING SendDataOut : Get IoStack Fail! SendDataOut : Allocate Irp Fail! SendDataOut : TxThread : Length : %d UsbTxThread : USbToTxComThread Terminated due to device not started UsbTxThread : Stop Event was setted UsbTxThread : EDO not ready!!! UsbTxThread : Write Done UsbTxThread : SendDataOut Fail !!! UsbTxThread : pPortBase = 0x%x , pTxFifo = 0x%x UsbTxThread : TRUE == pUsbPort->m_bResetPipeNow UsbTxThread : FALSE == pUsbPort->m_bForceRedirected UsbTxThread : %x UsbTxThread : Read No Data UsbTxThread : Send Loopback CMD UsbTxThread : need send data length %d UsbTxThread : get power down event UsbTxThread : UsbToComTxThread enter Wait Data Objects UsbTxThread : USB pipe not ready!!! UsbTxThread : set m_kPowerUpEventRx UsbTxThread : pBaseExt->m_LastTxDevicePowerState != PowerDeviceD0 UsbTxThread : Set m_kTxReadyInPowerDown event UsbTxThread : pBaseExt->m_DevicePowerState != PowerDeviceD0 UsbTxThread : System Power Status is %X! UsbTxThread : Device Power Status is %X! UsbTxThread : m_pOP = 0x%x UsbTxThread : m_ulWrite = 0x%x UsbTxThread : m_ulRead = 0x%x UsbTxThread : m_ulLen = 0x%x UsbTxThread : m_pBuffer = 0x%x UsbTxThread : UsbToComTxThread is running Thread isn't stopped yet!!! Leave init serial port Set timeout success !!! Set timeout fail !!! Set LCR success !!! Set LCR fail !!! Set baud rate success !!! Set baud rate fail !!! RxCompletion : pIrp = 0x%x RxCompletion : pThread = 0x%x Enter read completion routine Serial : Leave Rx thread kIrql > PASSIVE_LEVEL || NULL == pPortBase->pReadIrp RxThread : Stop event is setting RxThread : pThread->bThreadStopPending = TRUE RxThread : Leave DispatchOriginalData RxThread : Enter DispatchOriginalData RxThread : ulReadBytes = 0x%x Enter write complete routine Tx Complete : Free Irp Tx Thread : cancel Irp Serial : Leave Tx thread kIrql > PASSIVE_LEVEL || NULL == pPortBase->pWriteIrp TxThread : Stop event is setting TxThread : pThread->bThreadStopPending = TRUE m_ustrCommPortName = %ws m_ustrCommPortName.MaximumLength = 0x%x return length = 0x%x ustrTempCommPortName get from PDO = %ws _DEVICE_ = %ws \DosDevices\PS2 UsbFlushCmdPacket : Leave EDOMutex UsbFlushCmdPacket : Debug 8 UsbFlushCmdPacket : Debug 7 UsbFlushCmdPacket : Debug 6 UsbFlushCmdPacket : Debug 5 UsbFlushCmdPacket : Debug 4 UsbFlushCmdPacket : Debug 3 UsbFlushCmdPacket : Debug 2 UsbFlushCmdPacket : Debug 1 UsbFlushCmdPacket : Debug 0 UsbFlushCmdPacket : Enter EDOMutex Redirect : RedirectLoopBack 2.0V ResistiveRedirect : Update Data in Registry Redirect : SetEEPROM Addr=%02X, Value=%04XRedirect : Returned CheckSum = %04X Redirect : Get EEPROM Addr = %02X Value = %02X %02X UsbPort : Leave UsbInsertCmdPacket UsbPort : Enter UsbInsertCmdPacket \InformationEEPROM : Query Value Fail! Update Registry again EEPROM : Query Value Returned=%d EEPROM : Query Addr=%02X, Value=%04X OnFDOSystemIoctl : EnterFDOWmiUnRegistration : EnterFDOSetWmiDataItem : LeaveFDOSetWmiDataItem : EnterFDOSetWmiDataBlock : LeaveFDOSetWmiDataBlock : EnterFDOQueryWmiDataBlock : LeaveFDOQueryWmiDataBlock : EnterFDOQueryWmiRegInfo : LeaveMofResourceNameFDOQueryWmiRegInfo : EnterxTouch : Leave FDOWmiRegistrationxTouch : Enter FDOWmiRegistrationpMouseData->LastX %d,pMouseData->LastY %d IsNeedTransfer2Rectangle : end DO_NOT_REPORT_RECTANGLE IsNeedTransfer2Rectangle : is not ID2 NEED_REPORT_RECTANGLE IsNeedTransfer2Rectangle : is ID2 NEED_REPORT_RECTANGLE IsNeedTransfer2Rectangle : is ID1 DO_NOT_REPORT_RECTANGLE(no ID2) IsNeedTransfer2Rectangle : is ID1 NEED_REPORT_RECTANGLE(has ID2) IsNeedTransfer2Rectangle DO_NOT_REPORT_RECTANGLE (don't init ID1)(0x%x) IsNeedTransfer2Rectangle DO_NOT_REPORT_RECTANGLE (init ID1)(0x%x) IsNeedTransfer2Rectangle pDeviceParam->m_RealMultiRectangleStatus.m_bDropSecondUp(0x%x) RealMultiReportRectangle:Clean status RealMultiReportRectangle:pDeviceParam->m_RealMultiRectangleStatus.m_bDropSecondUp 0x%x RealMultiReportRectangle:ReportMouseData.ExtraInformation 0x%x RealMultiReportRectangle:m_ucDeviceID 0x%x RealMultiReportRectangle:m_DeviceType 0x%x RealMultiReportRectangle:ucTouchStatus 0x%x RealMultiReportRectangle:Do not report this mouse event RealMultiReportRectangle:m_bNeedPostUp ==TRUE RealMultiReportRectangle: ucUserID 0x%x ucID 0x%x RealMultiReportRectangle: pPostMouseState 0x%x m_bNeedPostUp ==TRUE RealMulti: pPostMouseState 0x%x pMouseData->ExtraInformation 0x%x pFormatData[0] & 0x40 pFormatData[5] == 0x60 pFormatData[5] == 0x5f pFormatData[0] & 0x20 pFormatData[0] & 0x60 ReportMouseData.ExtraInformation 0x%x (gesture) EdgeBtnAction : WHEEL_DOWN 0x%x EdgeBtnAction : WHEEL_UP 0x%x EdgeBtnAction Y EdgeBtnAction X HWEEL_RIGHT 0x%x HWEEL_LEFT 0x%x EdgeBtnAction: pLastPostMouseData->Buttons = MOUSE_LEFT_BUTTON_UP; EdgeBtnAction: TouchDown == pDeviceParam->m_LastTouchState HV4zd 0v*4BTf~4Jbz2*Rjtd6Nn ,J^n (xP<`HD<FO2IRP_MJ_MAXIMUM_FUNCTIONIRP_MJ_PNP_POWERIRP_MJ_PNPIRP_MJ_SET_QUOTAIRP_MJ_QUERY_QUOTAIRP_MJ_DEVICE_CHANGEIRP_MJ_SYSTEM_CONTROLIRP_MJ_POWERIRP_MJ_SET_SECURITYIRP_MJ_QUERY_SECURITYIRP_MJ_CREATE_MAILSLOTIRP_MJ_CLEANUPIRP_MJ_LOCK_CONTROLIRP_MJ_SHUTDOWNIRP_MJ_INTERNAL_DEVICE_CONTROLIRP_MJ_DEVICE_CONTROLIRP_MJ_FILE_SYSTEM_CONTROLIRP_MJ_DIRECTORY_CONTROLIRP_MJ_SET_VOLUME_INFORMATIONIRP_MJ_QUERY_VOLUME_INFORMATIONIRP_MJ_FLUSH_BUFFERSIRP_MJ_SET_EAIRP_MJ_QUERY_EAIRP_MJ_SET_INFORMATIONIRP_MJ_QUERY_INFORMATIONIRP_MJ_WRITEIRP_MJ_READIRP_MJ_CLOSEIRP_MJ_CREATE_NAMED_PIPEIRP_MJ_CREATE;q@Oڗqe]PowerDeviceMaximumPowerDeviceD3PowerDeviceD2PowerDeviceD1PowerDeviceD0PowerDeviceUnspecifiedPowerSystemMaximumPowerSystemShutdownPowerSystemHibernatePowerSystemSleeping3PowerSystemSleeping2PowerSystemSleeping1PowerSystemWorkingPowerSystemUnspecifiedP<$ |l\HYi7N;$D4Ezb`[H@RSDS(@ 6Re:\output\i386\xtouch.pdbmohhZY$L/P0/0F0F0,22`0>t1^Z>p(j*+ ,-@Af???AB$+ijzjjii$7ijzjjiiCijzjjiiGijzjjiiNJijzjjiiNJijzjjiiffffffff2YijzjjiiN@D N@t;u|5uӲU]0]<0V HV4zd 0v*4BTf~4Jbz2*Rjtd6Nn ,J^n (xP<`HD<?DbgPrintKeWaitForSingleObjectKeInitializeSpinLockKeInitializeEventInterlockedIncrementKeSetEventInterlockedDecrementIofCompleteRequestbIoReleaseCancelSpinLockInterlockedExchangeIoAcquireCancelSpinLockeKeReleaseMutexKeInitializeMutexKeInitializeTimerKeInitializeDpcOmemsetKeSetTimerqKeRemoveQueueDpcKeCancelTimerDPsTerminateSystemThreadKeWaitForMultipleObjectsKeClearEventObfDereferenceObjectGIoOpenDeviceRegistryKeyMZwCloseExFreePoolZwQueryValueKeypExAllocatePoolRtlInitUnicodeStringKmemcpyRtlWriteRegistryValueMRtlQueryRegistryValuesIoDeleteSymbolicLinkRtlCreateRegistryKeyZwOpenKey[RtlAppendUnicodeToStringZRtlAppendUnicodeStringToStringdRtlCheckRegistryKeyKeInitializeSemaphoresExAllocatePoolWithTagfKeReleaseSemaphoreIofCallDriverObReferenceObjectByHandlePsCreateSystemThreadYIoRegisterDeviceInterfaceIoDeleteDeviceIoDetachDeviceIoAttachDeviceToDeviceStackIoCreateDeviceKeTickCountRKeQueryTimeIncrement_allmulExEventObjectType:IoInitializeRemoveLockExkRtlCompareMemory#IoGetDevicePropertyvIoSetDeviceInterfaceStateIoCreateSymbolicLinkRtlIntegerToUnicodeStringdIoReleaseRemoveLockExRtlFreeUnicodeStringcIoReleaseRemoveLockAndWaitExIoAcquireRemoveLockExPoStartNextPowerIrpPoCallDriverPoSetPowerStateIoCancelIrpIoFreeIrpIoBuildDeviceIoControlRequestRtlFreeAnsiStringRtlUnicodeStringToAnsiStringRtlxUnicodeStringToAnsiSizeNlsMbCodePageTagIoAllocateIrpKeDelayExecutionThreadKeSetPriorityThreadKeGetCurrentThreadObReferenceObjectByPointer"IoGetDeviceObjectPointerIoWMIRegistrationControlKeBugCheckExntoskrnl.exeRtlUnwindTKeGetCurrentIrqlaKfLowerIrqlbKfRaiseIrqlExReleaseFastMutexExAcquireFastMutexgREAD_PORT_UCHARmWRITE_PORT_UCHARHAL.dllWmiSystemControlWmiCompleteRequestWMILIB.SYS USBD_ParseDescriptorsUSBD_CreateConfigurationRequestEx USBD_ParseConfigurationDescriptorExUSBD.SYS 8Ph  #^ MOFDATAMOFRESOURCENAME4VS_VERSION_INFO ' '?`StringFileInfo<040904B0 CompanyNameXFileDescription USB Touchscreen Driver^FileVersion5.12.00.10220 built by: WinDDK6 InternalNamextouch.sysZLegalCopyrightCopyright (c) 2000 ~ 2012.> OriginalFilenamextouch.sys8 ProductNameTouchscreen@ProductVersion5.12.00.10220DVarFileInfo$Translation FOMBNDS}TOB BiD 䂉 ! -L p !JH*BB([vDI`F*hr7 ;ѐt>DchGtd E$Z8DX3`NBcd%BCBC7؂w L`R_pO:XxP bV &( T 8=Y  q,3?Թ4{v='z yb/x0ګ{y*9C`^7 =qNۣ`E~|xH`S @~nO FEG +|#rQI1E9H=C8c|0 mhԪAeS1c À060W0x00001=1G1111111 202B2V2z2222222 303m333333344 4466\7w77M88889'9G9W9999:c::::,;P;k;;;;;[<<<<<=)=/=5=J=P=r==>)>6>C>j>?  0'0A0n000000@1`111 2E2R2`2s2222;3H3U3c3w3334'4K4c4|44444595S55555556)6W6666 7#707=7Q7f7v7777888Q8^8v8888 9999_9~99999 :-:E:V::::;9;b;;;;;"<=#>R>i>y>>>>>>>>???"?&?*?.?2??02000001#1111112>2X2z222223 373U33333 4$4.4A4_44444 555555556"6566666 77/7B7777788)8<888889)9C9Q9h9r9999 ::?:M:d:n:::: ;;B;P;;=>>'>,>S>>>?Z???????@$0X0e000000001Y1f11112(252?2L2[2v222222.3@3M3Z3i3333334-474D4S4n4y4~4444455$5,5m5v555555555+6o6|6666666727v777777838A88888889#9C9Q9999999:3:S:a:::::::.;C;c;q;;;;;;;>A>Q>a>q>>>>>???PL00!0.0;0I0Q0l0w0|000000001&101Z1k11112.2U2g22222353M3e3}3333 44E4S44444!5*5:5U5Z5b5555566\6q666666777`7u777777888_8h8x888899,9m9v999:F:g::;+;3;;;;<<+->B>U>j>}>>>>>>>>??)?6?D?L?W?b?m?x??????????????`000%0/090C0M0W0a0k0u0000_2p2<3c33333344444S555596O6a666S7c7777778-8U8k8888889'9>9a9z9999:):G:\:i::::: ;1;E;S;\;;;;;< <4>>>1>=>k>r>>????p`0=0e00000!1I1c1w111112U222?33333454j4p444/566k77888889(9>6>T33}44t66;;;;-=E=d========>/>B>h>>>>>> ? ?>?W?x?????0(0>0\0u000011J1`1111122.2J2X2v222222233 333333"3&3*3334"44444l555556667:7(8@8X8p888889:):A:Y:::;3;;;<2<<<=!===>#>>>?,?v?????????090O0g0000&1111122U22223C3l33 4w44z5566788:99:G:h::;;9;S;;<<<==3=K=c={==== >&>B>^>y>|????hu000 133344r5566x77D99:::P;;&<<d>h>l>p>t>x>|>>>.??t060M00000 1O112j2 3#3>33334556y666N77778Q8888999:a:x:;;I<<"=E===)>x>?h???!0001.1d111&2<2n22223$3C3m333%4T444455-5M5l55555*696p666J7e77778Y888!99999:":@:_:Y;;;;<3K>t>>>>??n??!0~000001G1X1t11112H2l223'3N3333"4g4444 555556866666!7G77778C8i88889:9999::+:u:::::a;z;;;;;H<^<<<>>>>> ???I?^????050T0h0|0000001K111112 222223/3v33344q444"606C6v66666667)7@7o77777777888888888888888888888888888888999 9,9:9N9u9;+;>;;;;;;;G#>6>T>f>>>>>>> ?*?H?Y?i??????U0y0000001I112&22222233"3233R445!5L5555555662676T6Y6v6{6666 7\77728^8888.9B9r9999:=:[:|:;;)&>:>>>>>f?y???? 0s0000000 11=1T1f1111111 2'2<2]2r222 33E333N4Z4444435M5a55 626q666667;7b7t777778889R9]9{9999 :y:::::: ;;;;;+>1>d>>>>>>*?]????000&0B0]0j0w00000001@111122T2q2222A3a3s3333394{444444 55;5H5Y5{55556/6Q6h6666666 7-7u7|777778(8@8X8p888888959Z9y99999::8:Q:s:::;,;Q;;;;<"<>>>>?*???@S0p00001$1\1l111122C3X3p3333344-4B4f4444 55-5;5K5d5t5555/6s66666666'7.747x7777 8818D8o8u8888=9G9_9w99999:::R:l:::;*;>;v;;<[<<<<<&=>/>:>F>>>>>J??P060~000T12}2222 3|33333,4_4444 515E5e55(6777777777777777778;8n888888888888888.9L9x99999):;:L:_:::::;(;];;;;Fa>>>>??????`0-0F001t11282U2222?3Y3r33)4445855)66667}77 8N888999V99:::: ;P;j;;;;<&#?