From 6b03af550f08d0bc6b47162c6f6e01fada498b58 Mon Sep 17 00:00:00 2001 From: "muhammad.faique" Date: Fri, 4 Apr 2025 12:29:30 +0500 Subject: [PATCH] added clearlog after successful data post --- DevicePolling/Polling.cs | 105 ++++++++++++---------- DevicePolling/bin/Debug/DevicePolling.exe | Bin 33280 -> 34304 bytes DevicePolling/bin/Debug/DevicePolling.pdb | Bin 75264 -> 75264 bytes DevicePolling/obj/Debug/DevicePolling.exe | Bin 33280 -> 34304 bytes DevicePolling/obj/Debug/DevicePolling.pdb | Bin 75264 -> 75264 bytes 5 files changed, 60 insertions(+), 45 deletions(-) diff --git a/DevicePolling/Polling.cs b/DevicePolling/Polling.cs index 82ce909..81c36a1 100644 --- a/DevicePolling/Polling.cs +++ b/DevicePolling/Polling.cs @@ -80,7 +80,7 @@ namespace ZktecoAttendenceService foreach (var machine in machines) { - //if (machine.MachineIp == "192.168.50.8") + if (machine.MachineIp == "192.168.50.8") { bool isConnected = axCZKEM1.Connect_Net(machine.MachineIp, Convert.ToInt32(machine.PortNumber)); if (isConnected) @@ -160,75 +160,90 @@ namespace ZktecoAttendenceService public List poolMachineDataColony(string ip, int port, int machineId, MySqlConnection connection) { List responses = new List(); + int idwErrorCode = 0; + int countAttendance = 0; + bool allRecordsSaved = true; // Flag to track if all records are saved successfully - - string mPath = string.Empty; - - string sdwEnrollNumber = ""; - int idwVerifyMode = 0; - int idwInOutMode = 0; - int idwYear = 0; - int idwMonth = 0; - int idwDay = 0; - int idwHour = 0; - int idwMinute = 0; - int idwSecond = 0; - int idwWorkcode = 0; - int CountAttendance = 0; - - //Cursor = Cursors.WaitCursor; - //Bconnect = axCZKEM1.Connect_Net(ip, Convert.ToInt32(port)); - //axCZKEM1.EnableDevice(machineId, false);//disable the device + // Ensure axCZKEM1 is initialized before using it + if (axCZKEM1 == null) + { + responses.Add($"MACHINE: {ip} - ERROR: SDK Not Initialized"); + return responses; + } try { - - //axCZKEM1.RegEvent(Convert.ToInt32(machineId), 65535);//Here you can register the realtime events that you want to be triggered(the parameters 65535 means registering all) - if (axCZKEM1.ReadAllGLogData(machineId))//read all the attendance records to the memory + // Connect to the machine + bool isConnected = axCZKEM1.Connect_Net(ip, port); + if (!isConnected) { + axCZKEM1.GetLastError(ref idwErrorCode); + responses.Add($"MACHINE: {ip} - ERROR: Unable to connect (Code {idwErrorCode})"); + return responses; + } + + // Disable the device during data retrieval + axCZKEM1.EnableDevice(machineId, false); + string sdwEnrollNumber; + int idwVerifyMode, idwInOutMode, idwYear, idwMonth, idwDay, idwHour, idwMinute, idwSecond, idwWorkcode = 0; + + if (axCZKEM1.ReadAllGLogData(machineId)) // Read all attendance logs + { + while (axCZKEM1.SSR_GetGeneralLogData(machineId, out sdwEnrollNumber, out idwVerifyMode, - out idwInOutMode, out idwYear, out idwMonth, out idwDay, out idwHour, out idwMinute, out idwSecond, ref idwWorkcode))//get records from the memory + out idwInOutMode, out idwYear, out idwMonth, out idwDay, out idwHour, out idwMinute, out idwSecond, ref idwWorkcode)) { - DateTime date = new DateTime(idwYear, idwMonth, idwDay, idwHour, idwMinute, idwSecond); try { - + DateTime date = new DateTime(idwYear, idwMonth, idwDay, idwHour, idwMinute, idwSecond); Attendance log = new Attendance(sdwEnrollNumber, date, false, machineId.ToString(), "1", ip, DateTime.Now); attendanceDAO.AddColony(log, connection); - CountAttendance++; - responses.Add("MACHINE : " + ip + " : , EMP NO : " + sdwEnrollNumber + " , TIME : " + date + ""); - - //return response; - + countAttendance++; + responses.Add($"MACHINE: {ip} - EMP NO: {sdwEnrollNumber} - TIME: {date}"); } catch (Exception ex) { - responses.Add(ex.Message.ToString()); + responses.Add($"MACHINE: {ip} - ERROR: {ex.Message}"); + allRecordsSaved = false; // Mark as false if any record fails } } - - // responses.Add(GetTotalFromMachine(machineId)); - axCZKEM1.ClearGLog(machineId); - //axCZKEM1.EnableDevice(machineId, true); - - // axCZKEM1.Disconnect(); - + // **Clear Attendance Logs Only If All Records Are Saved** + if (allRecordsSaved) + { + if (axCZKEM1.ClearGLog(machineId)) + { + responses.Add($"MACHINE: {ip} - ATTENDANCE LOGS CLEARED SUCCESSFULLY"); + } + else + { + axCZKEM1.GetLastError(ref idwErrorCode); + responses.Add($"MACHINE: {ip} - ERROR: Failed to clear logs (Code {idwErrorCode})"); + } + } + else + { + responses.Add($"MACHINE: {ip} - LOGS NOT CLEARED: Some records failed to save."); + } } else { - responses.Add("MACHINE : " + ip + " : NO DATA"); - return responses; + axCZKEM1.GetLastError(ref idwErrorCode); + responses.Add($"MACHINE: {ip} - NO DATA (Error Code {idwErrorCode})"); } - return responses; } catch (Exception ex) { - - responses.Add(ex.Message.ToString()); - return responses; - + responses.Add($"MACHINE: {ip} - ERROR: {ex.Message}"); } + finally + { + // Re-enable the device and disconnect + axCZKEM1.EnableDevice(machineId, true); + axCZKEM1.Disconnect(); + } + + return responses; } int errorCode = 0; public List poolMachineData(string ip, int port, int machineId, MySqlConnection connection) diff --git a/DevicePolling/bin/Debug/DevicePolling.exe b/DevicePolling/bin/Debug/DevicePolling.exe index 055cf74fdddfeb719077bb584c8a5f230a4bf37b..fa7c0c844c695615f918ba84dbfe911145fd5e48 100644 GIT binary patch delta 6640 zcmai337AyXl|JvjrS|2$*HzWk3tde^@p@sCwMB%MeP6mkkxhXXv7sMSp&~65L_rZG zwl^pUekQaygTff-kkOc^2}ToQpz+Iyd}CUT%S@CRG-F1LBJ-YodPJDZ=L9ei>p(KG@4n5c)= zTx$AXCh|jG{wPrq|H&Oye2&!1`}GPEcuBVTu}oN?>mbMqo}Yb%G*^Ge>PP5|HeNXDw3vge>kbtVce^W`Ot9BjNTqh zQhF8u)5tURcGC3hJ0VgHYAyyauuDHfi4*}!#Tvh z0kUc6M)eR;%g}9NSTaoAtNV1n9?*k&$eIHitbrK~$rd`@n_49Xvxb9B7l=;CV@*-< z1mp!3yAlAoV>kG<)a}AdIBqjUS~tSp&NwAfd(w<_)_)Xsdc>}V-kK|n9Ghr>+B-8h zT!!257+%9?_>F)OG(tw$o(EeqszTG*NSR;A^SP1>pL*UqcCDB_#aSn<>5Q@Qz zOLQ)S9O&xY^a8%lNZz(kOs1H4zjYH>+-}a^7U5P9jXEuYRk@P7B;277q$U`cy2T<` z$Ov8}b+sc8m?gtR!?|_iJNwNgEj2G$+xBi|6r;>FxjWCQ$USV?$F})WTg{BMC(L}9|H|Yy<}C`; zBfM|Dp#Jssd`86NZ|Au+EScB7g@2q^92Tr08O)Fk#cR0| z0jUs1gwI1Yv3N9{7TVR0Hsd(QODfa13-FGMT>8SrzOxHRY(jn|1!=tfz4l#Qc+|#0 zq9cveaN*UI1)L*yQiZL_J znAQ)n>U(g@)@|h>Wl3&i+BK(K>5q2iRpUO`%ca$H`pLoOlQCg{_^jNMleJ(j&2w#8t0nmWQZEqEk zJes`?_oQYj*c%k=4Q4-?%CW9_&g1+bl-|lPX-u|8Asc%;Um2goYGQo279Tht(e0iv zsZ>+*aR8CyHnt0I?|_`TOQ^7?cq^r-T+j*ci*av3#rPjW;Un382zR>~#9vwNwjTzw z8sVe>c~UhZ02lfJAg1Ed75hivlH|5`;NJU0d&JFuT%5-rDv0Zk01>Y_oUW=yQR;;l z|3yJxb~464DQFxkP87M9P>J8h;n17xcqg63D2j7}y6DIgRIa4vPZZ9bg#)8E709QR zZNtRNX%|HMF%Unwx{3)@cK37@V=9K-kt@iuk!iB-K@X` zKyvEoIMxk2*=yYnOB49olDqr81q9Bl3GXUJ_?~fqxF&qRcKAZp)ZbASrSb}RGI2dN z$MuO#6RiSTX{x%aI8TU}dbvIDPi@TV`sXBF}(rIx;`(=D|T ztTl~qE-fk80amnUZV(*rI|kt|l|~CLiAH+^$K?+G?BodTMmvt>aaaA;OLQD2A%f2PG5+~U$w z(2qO~s)p}mHux8v0sih6NmPW>pvOIe9yaa-{YV!0e0@D=IsE{1Fm1+=UgL(&2!q1H z@*hAX+NC}KYIsDtPwQQ&Cj(7voJ7BJD*oK5_zw=kJOcThu^sdm zps3H=40=p`1oTaLHVwP#MJEJ|r|Er>~`j8r;oA8DKMmxO3@mn=QZfvnc8)>21#%n6erBl42vK((ROx?Hj>`WNk>AXwd=?lnoTCEP18ovYDd~g z$HUiaW9UFmIvrl5jiu4ZRTS|-c$toMilosX(TP6>YSvpFr@2pk`fq63u$6biUh*6FhjLD zakny(Zlbw4>3|Z3v?M2a<$AiAmgl4%vIOb&ob)EEr$w|bCw+)kUPSk2B|0h{(H7IY zBeF#tlwQ(qp?hnx($A$gv|A}W{W?c0e=b>FJ9Y7Nv3o1+?LAKwAKv8y@(o#3Z-yLvOCX&|#@i*E5c;4q< z5B>-ppg21g3_G4rvXi1UsT7DtpCOh;UxGf%baoOws}K#^uw|?zd>-^u zS&{EzErBCQgq^&f--6C-D-c1gria+ryq=NqLxDCpX9|<>%yA<(RTYIi#FYylQvV;=UpA%oiHbD}F)82EGFQ z4@K~EnBdpzg1<+*09xnRRH%Y~iYYF%857#89GZ==)3MCr@qp0&)QM)vBHCY_n9l{= z@O?uKf-)nowPlD)3S^`u@*{G!GEP~f?B@SEw5)uv`X}e8>vn!N6Z;3z2=y8VQ?jB% z2Xnc)*YLqA-pjbYrBNGkroI$=O1%^t-@3H=Tv^7PLN!>G@ic*^(ipm$5=6ri)EoCP zXs(&~U3sR1)}p;90i8-V8ZZI-Mp_1Lnb=c7*HS%NP^!N?UK3h%9Xu|NIg74ug!>`{ zsE5I7gig?6&_?{#gA)T;NY6%SVbMhW5vrUd886f+-!l|HJ3l@kJ7gVFosui9iLQdb z6uD9|(lns_*9+sB$tZdp+B1QXC&RM_Q!obQCxFcYHVRTL{>DO@jK4V~HGEGl@cZ^u zjz!JOoSK(F*HN{YgPSQuiJ4H@v=q<5cND)kn|@cCQ;~2TtiPSESj$>OT0!{jWI?3y z@yhoouWUw{}PfhnlLI5kdQV~}bJ(UCC5y=;Mc@lWR@`Jd(=YTdQK6$l?V zF?#5d-S14j@92krd9|%R+4|FliIP0fW%BdOi+OxSQIU$D&VoUOB)3~lfOQKtC|Eb+ zGgeg0tZ)@Xj9F69?PknjVAF9ircW^Pj18L@W1wn6lEQ9{ zHOPTiJ;hTWdwlEO8N2o^XdQirTQXk9x8siMBf%${OQY*UeMcwb5+Yn@CwracT z{^$R{|8dUw&wtN3eOGN{s~%=s*7dCS{<4s=zYmEiIZ8jG`v8P}@ab)B2WOZQwh>Jh zz%Pl)jkX?68n$J>th4=jgP${1K_;XRfJR_D@4Y=pAjul5UF?j6!v;pnaY#VL7A@^)PYd?rd(R$#bM^?Wa-{0 z49_tJzYMKyxTA#>K-ktKk!A%v1BPgVXxuSSdSit}&P)XhHl-XS8ynpV{>@)`c|E7_PY2=D&guAA} z-^lGzB2xE%^%#m3DU*0AmNKTna_As_ORORjJ7=b-r4fK*1*$uCpjt+Cua}55h zQ=CaSk!)UcZ-y92)QS%IP{bR&TTt7ybPHu<1+9=3c5j6V1uZj?tGXz&aQb&xdR4A^ zO967}T9N#jPQ)mB92KKfB+?7vu%{wl-BZym{Yq{|2+81{ih}e9 zQc-A|vOM;<2p9JHivH+a(urZ+W8M&f4Y*2ixrB9_*{ZGCx^372J7|aOu$|-0gr#Fy z*3j#}|NeV_^>uF+z!X&#qq-N0{?+tn=vkJd-<{#u=Sl@BbR6{RT-&Qqk!544>QO%8 zHy=+6p5Nm^R;Y)3nXy9PyCM4xcnY()SP_P0jLH=Wh=LEd{D|*%QuoXj!;RQcJK{Eh zMKi~5=AtP`BxLq&^Y5xlVwd&NbSQ@T%oD+KZSyKAb~yzzc>lbT8^l@$E&CrXr4zv1 z=fen@>W`2rj5petn!A8+$V(|R`Qg0kNv+TXJQrpg@iHr_dmC6kk(ay6W;}^F=S7_K z7h-_o{m-s1o$Kx-pslfZb=>WJyWgj8+iYE9YdHDmN}X;nZ?pKy_-#>H&$6l`E2s1S ziWeGUi}LQ^W}-MISX;?fN6>5LHzfL0{=fqU(S)NV96jL}2`7+ng8sl&?@r#9C{vpG zkwm}fZj8eY$)a}`^1mh;`o99C0&uq~7H8GiW)=LjG9GBA^eJijA!0UcsV*G{#y5((+>g^b~-*SU9s*q0RTaF2P*_ z-doxQq(4HB@YzzIpG>r*g%$-0-;8ulmQ=MY6W~v-a#3yU;`em{rE4+1l7g0>3d7}H zc*0xJC8RCkb-xeDL4Icp#e3hkYGQ16FQ--5ek)`4NcCb-bVx9Bk8^00Ca22*Qrn)0VhmZ4%dI5jF zpg)Vp`T2q*>mTQr3X;i*aU?bc>nbIo7I@|0`b5?Aia76E*t>2M#2iw+&1k(XAd#xd zpw|XwSp{ChD238-5dilIf5&vRfTejHVv2&^R=&Nk*4hRs@tq>>1l1!cy*bX$71pq4 z;ykx#@fdNWWq0|Ki1&nWyu9h3L}X1~5Ux7KP3`Zg`N^W$6Q6{0`aGOEZV=nYc8K0n zAQ1|5O(0s;Gt@N!M?>IQeDu5eCZ zFaw5*%$1}#L9&9^rX{3VA#W!li3?8kJ;Fj}{z~HH5$Em_7CBZ<^=M+M4j;FHN4i(_ z6|>5}dW1w(3q_C>Kghnky1Bb}bN7;gUqhpJWzXLOtx)T5?!v;7^x6 z(C-isoWZOW2b3m!Pe>qX2;UCL7qZs=QdyM#&wM_<$F0}~_w-m>a0yyRw{%U`zDT|Q zs_02x-!oAVPvSIaJ&0uaFVbaoWs)!L=~|0sSS{9woDCYN<4>Z>n zi(GU=8j@*V%#W4#V$T)xPs)Fua|D_W9MjC*&evBQFTRAWp=|mzI)Te{4C_)hcKWzc zXgeT(-rk&QRWlbAg-%BVof;jlEA*Kr`1wrmYc0WVF(!haC2a=kf z!Y^QH(YrZ~pli&FibYXF&>5m~KIf>u&1==GFAmtlMAl?b&lVfhUZg`U#afZ8E3+=Euv z&{NTi%2Ga@w24nvH#WIV~!c z7Tr#n2361@Uq_qR2YLmq!rm-Ku*vyA??sKhd}*ouiC#$$;65aDZ{~FBRa7K)e@L(8 zd{M8ky#<+nd%Zux3`aE<=A5KkDdX*ZD zc!qAGty!gO8&pT#aH}I~>(*iRfmALfIb2AMzJ!F-8g+CmD;>!lZj2ypkUyA&(O`_E zDNR-#+XIX;nFhrl~PA@DV~)K7K7A1D{0X>nn$Uu6pzMeUWRJ2 z;ts8j=F_08bV!Rqs>@1YwV4)BLslwR6-ZOF(z~pgZlhUQ=@Xnmx6vKGL?@N!joazi zjs7Hlr5rWxr1^Ee^pf(XaTmp^>!m0wZV?Tu=YOto8|p>~kOyCkzGwWH)@7x``Z-9y z$V$ick0CuPr6+=Ctxt``^oo@H)mluik7)l*#X+)uleA~Lo8N*mo2dja@1>z{xuw3|s`XRYIk#hx)=g;%>}&_D`0yD6lISLA>a z&$|fxcI6PY(JAvY@GZ)>ps$7w;r=6R+IVGc#ekhw13RGXw5G5#wB5WF^k0labcP;{ zc;JuFA;j8dJf5wTvp~=1bOTMZ3%vOH{7k+26srx7Rfoxm4#R7)fksLG zJZ-d|P!F(U=1#STGQr-XRw_;5{pu*#JO@Oi5Pa-8^$b0x997TLld(_L-?E#uPW1)! z_zmov!zNC&;gR(KuzFBO8jP8 z4t|=z$Ixu4zMb|1T0|Y7E%ZTPud;!vgL@T@4)!WLKu>1r23j0^jP0ch!2^rExW=CGA)8{5Z9)Pd?m^$zuJ^#%16HKr}q4r(2msu$`#c+KEs=Awabco9Lz zL_Y`p4^8m1nBZ4hf?s2N1==WWdh3GU&%Ol>GoigsQa{3WY3bw1sL=jKMsrmW?ShPX zG^*e;-#dB$l-bet*9Hfa=t^adx>>zWtJ7v{TlxD#$|`I0f0cLQp!}F5HV}N%(T7P) z^F>K(c(0+ohS%sgyz%>iMqi98_qEu5{aUQPeZ$bN$|k9}Fcz26P%5QrJfraeYYN&) z_+;v%6!$faG!DAaSE0hkw;M(EDC2tUcGiOT_?o$S?H3jVqOsF+;ty3UK0Wz`ZeLg3{pj_mnupuXa#Z*Rt93ymp{0) z)DV`Y*}h}xe1pHZ{3xDd)tA33GvusD!55*ec(zYH6wrU$cegF1$^MP*y?3cCe*28~M+WH0l7irr!zyJUM diff --git a/DevicePolling/bin/Debug/DevicePolling.pdb b/DevicePolling/bin/Debug/DevicePolling.pdb index 0462ed03331cb788644b41927614acff71395940..6f727ddc79452ac26fa1fd339d57673ff5435ef1 100644 GIT binary patch delta 5748 zcmZ9Q3s_Xg6~||W*DkWKyTGnoU_p$i*r1~LKtmNH#>CP@K~s~U%K{?cqPQ9#kzHX0 zK_$r8Y%~dpm{gir8(E`mzkD(Ini@5Vk7$zGnnaVPX;o}uKWmNA{?EM^X?ykV@64Gq zXU@!=nR_q301ho)t{J+Jb{3KjiJg8swq9ygT%vq}1>Bej2cro!%bKKUll? z%gJwKeLH2%%dr_bpZunF!WW^P#rvi{&%4tM*2sz!%|}H_kektXoFOV~Y0H_7SwT}? z6AztT^vQ?i&*Y#5l24UyEf_Ci zLuBuQar_fGWZ`&INTg=$V5t_PT)c3E$)#&-&_v0d3+>z_f4gvuscS%=+f<7g`dAs| z9A^3^s$XlBQ=N(2EuEEFB4mo(>QwSY{bAlPRy6Dr{^h)JHE;ToiRK-=wb#bE+>Iaw z3un13!$N~tioofbug@RJV;Kv-DX%&Qn@(XE-x##on=-j%=%6%2NCQO(YJ0L@T>A9% z+S;1hX*H!~Og>d&FLKqaaC@eDJZ0`ur`uJ=s1;`Ee_A=Kt7n(FYHCZD&vC9SD^;h? z9M0IA==@bWw8>dzhG-9#{0P=hV99641WU?VdGwpm zwL#a7iTB3HJLTQcvygj_Lsf*}ZpFxV7Uij`%}_a@`rIs|D>BrE??aUe)o6>%ujtN; z!!YSup+Wr}hmdk7AnN#spHELQ61baU)j@dV+PR z9<-nF@N?86&sU~J4@5V6u#{AN)Dn!WdYvmiy$QVCyC$H?BCG7FE*2B4GINPdc&KEv z((?Gx;2*djfjQLfB`cLzty)ukW2l83_&8*hcb3dnl47;$5gOFrNvJ+zm6h&drA@D1 zrH)jynT+b|R(Z)iUlhj6+!|Y26;enw$aJ|pHMQy#Y(vYWc*Zd8tSU|xbY}&-YToAj zX0UA8Jf2_(?K@>SqZ5ZN%A4ErTy2wg4r9I=lzOk-@vYQqd{2W|JYN8u3%;P&cY^a! z-UU7mz75U?PwMp_gHNFR3HTKF6<7@Rf(t<#B6os=K^HigGcPNJkPk%}xCAT*p9U+y zI&d+#1*`&hgG<17KsR^{q`-SX48nI3Tnc^)E(8AvVlck1z*XQ6;A+r_1YQHi3om19 zA=scGM~UD%l#{?Za5xAP-x$z`|4)GH!3wYeTo3xeP2dKw8*BvM2AjZh;70Hw*bH6; zTfkm$6L`%Ffja&c+ycdSU@I6C!q~H564(Z&gImF&U^_Srl;CjiQE)s+e)7R>D9-?Y z4nC~w3w0KOSXSSBa66dr1cV(Bo&>SZJ{R~RSRtJ&W`<42%CX??6(+9iN5xI-SB`&u zXZ}x6+Z7^vR@%I~(1sHKRge<#HIOz_7dQ~4;F7>!qMQuA4vq!i0FmZu{R7~yQO*VT zf#kj$q->@3$T=27`DfsMa1r~|nW&XAnG=fQWtUx4J`SKuL(_v&Rh zW4}ik&e$J7IAe#wBj5+%*C1ry4e%&<3p@tKBac1=2ZF~zg(HL$5E7y20Vjgk6~0N} zDKHm24gMH>4=LmXDWD4QEc8`+xduFk@=_4HN!V$05=O9@2iE7g^Ffy4A=sW1L@&49()#@0JecRAADV4 z4)_L$b3xs*oyfN{X%$q`a&K zDKCkXm&62c37DiaMQ57MAs|-DHw?sKs;1p?kfNi`bHEiS(^kdXhHomk3e3aeGY^FM zx?wT68s$~s8t^%AE%*ZXj6A*0Wn6?agdU0}X?ZNx;zb<=k013pxL!Kz>_(4n^N6$* z#LjHcZTw&~Y$+fMxB+DvP$QTQHi0w%sviMvM419dX8C4E$z^a;tp6YZrLAoa?O<*R8>iy(L`W^)P4s;jNFxwb$P#R>sNndPl^{IEtUinx~Rw zMg99?SDegja1aU_I{976H`t}YA1Cg{Nr(TEAqR;;1C(2@rpTciEFvdf=4`kmR>ez4 zV;Ui^u|@2RmpzTOVuVfRHDwUoO>@Nzn>^fNIQAl;kJ8!jM0)F{90O_WueE#g9gtlQjaNL6(G=xd2`+7^pQRWQso^3)bH&BvuJ zwKVX#t#vfqk6V9d)P~DhuH+xY%0166RR`MkoN=c*51h5ovddF#!!XL=t+ozMW7yGt z1HlH{WqAnoeCxUSMy+Sg21_1@4K5Ar4;6`792xmctp$u%#}6-ScfnU{}=@?_cZN;={2D_LSm zvb+WCOqQ8DG0VxaWM_{sIHWQoM^<;5(Rr}0)6L;H*t@HTqgn8s*Gjn2fDKOR93%Np zV}p}-e-kO}4w>GaPAKT^6~A=I++dbC>5#R-dMJZ8f|)`*lp@m)tPyikWaoj0snmNQ z&o~F$l6=LhzGfZ#)GDsS*D(hn|Cn3ccE|(AGL_qEpV}Wm&LX!`v2?VPjVbcZu~w0t zB3nOPDW;^z@Z+zO<``6B~`k^fO0b?rE-$S*!J zQ};auB!)`!*(lLKH5t@7X-m(VMZ0F(1`%D8w(V@Fd>6JmQG_izC2ia}Gj&XUr$9WY zX{VeE4K6)b9nVk63x6MsUw+xnJu=~PN)dg-N3c=jM&TNRhp~eVp`(Y9Q}bT6lVZ_g?UK$bcBSjTYfJhgN{yB6SJDzv@u;}h*wx>7n>=yF z&bI~sa%HI5^f*1`a2eoB$j81P8l3Wj!6>Ri0-5357DnGY^8@R{xgCE73DkviC5-+S zu_9oBD(oo44o#$IfJqbSsDDHg4?#3);t_}=R1qKa^r+D~pwIaMngt!h_Xkc#!0|4K zPio>_h?7(i=WL)S0uii2%)_->I)hp?afA);)tZ=yQ**T{hSLE$Qv~WFFc>-#r)d^+ z77bQKp=(?EwX{2Q?e=~x?G0Vq)vtZCUrRef_e)1! zW`IXxVy`9!?ijg(^CzH0A`m)%Vgkvia@ZmMSz92y()M3;uwQos++Bj@Qy>~t5l2zrGcu&JC_Zp8lE((j19+UMNI953fPWS~FsAw1BJ!A26=FJUOfJ~* z(x%SGw!c<IpPXmx{?Bvn zxp%a#5UneuH7oRp5<={gDe|yvQ!#BPLxS-k|B|~yCMT!-xbT~)3-^>PpR?e#Ge1}- zPyJ7Dod5Pu93Mv%KELbC<&^(+PS_%Mr&?knW_vLPuG!w8wD-u}qb-r4n?B9RNDJBu z*2<9YJcl+1w@e(FWc^d9;W(X+7msjFA0Wg=s}K@Krx@V)9!p7q$1OBy9?1;aJMSj- zt)iZJqvb0!q~s>s=ccn)q&O^ef5|Z0l!z z7nu&;fgKCstCE*)UL%DFJ59Z%X|^uxVT;9RJxzn=XAE*Q8v{#@dmPOM)D{ZhQlYK!5eF^4(apj4P zJPyYHzd0t>F7?$1cV9hhxmMKMs#1c%)-WBlandSoV;0 z^m=vfodXKdC_Qq9)cjI=PHJ6JyD0rO>Cck>Dbl|{`qxVTv(o>rTD4iOxlcAl%C$$; zY9}JqJRf~IRC#8o&PP&1g;Nzq(dG(oR2%|Vg;P>UwZf?28x<`w>Mq!FVB3wgEQzAx z1-qlpBdxwc3eCV^=cCA5RiK-);KiwaG@5)>nR>@^m{MR$v(s;@b{Fj7Q^d8@fc|$h z5~Ij&Y*pM^Q9ohPqN38WiYdOzTK#Y@VTd{C$9; zJIviR%iM)AMprYvbtMmDbULWmcendxvw7In34|Dn=9e6F$XD#ni8buYIjH6}4$bEr zR8TuxeHlmXwa(PJ@X{T!%gX9&>+~ZS3ERtYLg2{7+*q2nCpTzW{IZmv2j5yUOS&#y zEfi94(ctTD+<&K053FsxM+j{$Gz3d~7@P_E!JdnkwMW5O(AR!uEi*(D#Ci!B;^%UD|8lFTq3La`129gWyGQ1^6BK5coaF<4Dyg1a_@)MmK=b zAWWJI)bM`-=m)2PtH1@|YH$g-2HXNRfgRvl@BoNY)7}AbYT5^2Gk6SK4;}}3;t#=% z&`&l(Xo2t*xCvAUP%9V-J_g#rHZTe#FdDoI^ng527Wg>y;ouWsj%m*`ITj4So)10= zP5`%p1>jSlbqa*1AxxvAOQ!@=mqp0Ne5~a(9xI7|S88-NLOBw4zP7_12Pir~lq~TZ zke{1pK~Cc5z<6*6mvvvVQ!uz9f1iTO@h=kYDz`uZlO?x`{SLhkwDR4aaF*p(Y1e^?> z0dE7(f>Xi2gT-zL=OC1UpMh2pA#7p{?(6BtmBT`ZK#HPU9!^^179M1qM-<_{0e1sl z9d6vib$UdB&Uh4wcuo#n@nQttp++HM#*0a~(_u@+sDpT9$fI?g=ly~^Aw%#2=vm=z z{5O_^RSBGh9(kOFW`o`Xa^x?99QjKiN4^*2$YU5i^8Wz`LH`ou$bSWLrLFj&u}J(20^b!H4qwE9m`ucjm`p@c??VZVE@(rrUqnR90eSS1U=s9EU@}+;dcacfI?xBE zfVCj|F9A{av^o$eqOAjwB3d(u)X+=ZP;e9U>%mqq6MRl$yTc&-4hBrF?E-ng7rMYc8u z0$vLG!+j6P5BGGi+;pr0XF;z6@1^YxvlL$GeGTr$*)U=s;yy4O#0y1FOeXJw=>m(v zWRusKOf@+KoQL+IAfl-!UOC9CB3V|uJ(G1_?XNEK}$SVwng3D!!}XDT_S#ZIX=eU^ez@Zkl) zK`evL8~P=f4&v)U-vGA{gZ?0NUid@c6mTWItBp|jBDt)&Gcl_^u^+Uc@e$CdHp$}3 z)6bj07fOM@L7j61-|)|uR^uB)ih(5WjHUclyV_O{R#mZ-zS*yrl_nq%3FI@RmYL{(Nspkqs@xqsQb}6 z<%y?)b(sv`x|wQBJiWaxTTP0muh-?N4e^xQoU5LVr^@D?%I2h)^_h(E>zzt-(#-YE zmL{jZAVHm%65BS|RTG>xG^s8pZQYQoZcd=?4cV$Ffi7#@c9M%y-9$!uumG@v7GL$S+XUt7E6J#2maYb-X{_C)0Xp1E(! zY^yP|6lo-%j14Y+a!-irbWwVHW_YKuCjHp!+xMv5F3SAXN9v@T!nSp&Pu#R~TPmY_ zn^RqI(?7Q5s;}JS-d?N{lW4{End+q^dVl*Nb#F4Ycce4k?#Na1lBo}%WXk?EPC1$8 z|GHcCC6oKsJX-XO9g_zep7BWx9PIf`w?wz#tIr}q`jC;l;b=~f;J6*1MJTI>()Xk@ zrtRrbPkCtk-dy#%hwAn|0%P#&z1d3Tc`1GW3N^_~9s6%%t!ICMbrOmPj}@d%V~9=)Lc~w@cOJUj)uJ-I)bidkmFuOj?z_1w z@}KIvhjRD!?q+W9+3%*p!$aA}cleKL6i)Vtmw^vzI@lgb+jb_?wj*;?rHd{fsa7>E zsy?ibvyUG{6{Lp64r{RY#w7n0okL+t8m#`L$I!f&-6x9ilk z&855;W3iK|v?swm8J|K|JJ0W5(!m&N>q&JTytcWlzw=0XuO~r{44&)Bu-m@DQ_R;& zEK||+A2NdZKU%D6`hY;TMLNUyOS)3(GJZz~8Z6Qs$}ifb0f$87$QF*rgde%m7fpOy1w7aPlsvU+HdXXxAL=Lj>|;02$#Js8qCOoG zXh@cM@$2ByjC(!q4Y>JB>fyk<$?}GM-zUpwr0oG1`0Hi~?)t#-YodPJDZ=L9ei>p(KG@4n5c)= zTx$AXCh|jG{wPrq|H&Oye2&!1`}GPEcuBVTu}oN?>mbMqo}Yb%G*^Ge>PP5|HeNXDw3vge>kbtVce^W`Ot9BjNTqh zQhF8u)5tURcGC3hJ0VgHYAyyauuDHfi4*}!#Tvh z0kUc6M)eR;%g}9NSTaoAtNV1n9?*k&$eIHitbrK~$rd`@n_49Xvxb9B7l=;CV@*-< z1mp!3yAlAoV>kG<)a}AdIBqjUS~tSp&NwAfd(w<_)_)Xsdc>}V-kK|n9Ghr>+B-8h zT!!257+%9?_>F)OG(tw$o(EeqszTG*NSR;A^SP1>pL*UqcCDB_#aSn<>5Q@Qz zOLQ)S9O&xY^a8%lNZz(kOs1H4zjYH>+-}a^7U5P9jXEuYRk@P7B;277q$U`cy2T<` z$Ov8}b+sc8m?gtR!?|_iJNwNgEj2G$+xBi|6r;>FxjWCQ$USV?$F})WTg{BMC(L}9|H|Yy<}C`; zBfM|Dp#Jssd`86NZ|Au+EScB7g@2q^92Tr08O)Fk#cR0| z0jUs1gwI1Yv3N9{7TVR0Hsd(QODfa13-FGMT>8SrzOxHRY(jn|1!=tfz4l#Qc+|#0 zq9cveaN*UI1)L*yQiZL_J znAQ)n>U(g@)@|h>Wl3&i+BK(K>5q2iRpUO`%ca$H`pLoOlQCg{_^jNMleJ(j&2w#8t0nmWQZEqEk zJes`?_oQYj*c%k=4Q4-?%CW9_&g1+bl-|lPX-u|8Asc%;Um2goYGQo279Tht(e0iv zsZ>+*aR8CyHnt0I?|_`TOQ^7?cq^r-T+j*ci*av3#rPjW;Un382zR>~#9vwNwjTzw z8sVe>c~UhZ02lfJAg1Ed75hivlH|5`;NJU0d&JFuT%5-rDv0Zk01>Y_oUW=yQR;;l z|3yJxb~464DQFxkP87M9P>J8h;n17xcqg63D2j7}y6DIgRIa4vPZZ9bg#)8E709QR zZNtRNX%|HMF%Unwx{3)@cK37@V=9K-kt@iuk!iB-K@X` zKyvEoIMxk2*=yYnOB49olDqr81q9Bl3GXUJ_?~fqxF&qRcKAZp)ZbASrSb}RGI2dN z$MuO#6RiSTX{x%aI8TU}dbvIDPi@TV`sXBF}(rIx;`(=D|T ztTl~qE-fk80amnUZV(*rI|kt|l|~CLiAH+^$K?+G?BodTMmvt>aaaA;OLQD2A%f2PG5+~U$w z(2qO~s)p}mHux8v0sih6NmPW>pvOIe9yaa-{YV!0e0@D=IsE{1Fm1+=UgL(&2!q1H z@*hAX+NC}KYIsDtPwQQ&Cj(7voJ7BJD*oK5_zw=kJOcThu^sdm zps3H=40=p`1oTaLHVwP#MJEJ|r|Er>~`j8r;oA8DKMmxO3@mn=QZfvnc8)>21#%n6erBl42vK((ROx?Hj>`WNk>AXwd=?lnoTCEP18ovYDd~g z$HUiaW9UFmIvrl5jiu4ZRTS|-c$toMilosX(TP6>YSvpFr@2pk`fq63u$6biUh*6FhjLD zakny(Zlbw4>3|Z3v?M2a<$AiAmgl4%vIOb&ob)EEr$w|bCw+)kUPSk2B|0h{(H7IY zBeF#tlwQ(qp?hnx($A$gv|A}W{W?c0e=b>FJ9Y7Nv3o1+?LAKwAKv8y@(o#3Z-yLvOCX&|#@i*E5c;4q< z5B>-ppg21g3_G4rvXi1UsT7DtpCOh;UxGf%baoOws}K#^uw|?zd>-^u zS&{EzErBCQgq^&f--6C-D-c1gria+ryq=NqLxDCpX9|<>%yA<(RTYIi#FYylQvV;=UpA%oiHbD}F)82EGFQ z4@K~EnBdpzg1<+*09xnRRH%Y~iYYF%857#89GZ==)3MCr@qp0&)QM)vBHCY_n9l{= z@O?uKf-)nowPlD)3S^`u@*{G!GEP~f?B@SEw5)uv`X}e8>vn!N6Z;3z2=y8VQ?jB% z2Xnc)*YLqA-pjbYrBNGkroI$=O1%^t-@3H=Tv^7PLN!>G@ic*^(ipm$5=6ri)EoCP zXs(&~U3sR1)}p;90i8-V8ZZI-Mp_1Lnb=c7*HS%NP^!N?UK3h%9Xu|NIg74ug!>`{ zsE5I7gig?6&_?{#gA)T;NY6%SVbMhW5vrUd886f+-!l|HJ3l@kJ7gVFosui9iLQdb z6uD9|(lns_*9+sB$tZdp+B1QXC&RM_Q!obQCxFcYHVRTL{>DO@jK4V~HGEGl@cZ^u zjz!JOoSK(F*HN{YgPSQuiJ4H@v=q<5cND)kn|@cCQ;~2TtiPSESj$>OT0!{jWI?3y z@yhoouWUw{}PfhnlLI5kdQV~}bJ(UCC5y=;Mc@lWR@`Jd(=YTdQK6$l?V zF?#5d-S14j@92krd9|%R+4|FliIP0fW%BdOi+OxSQIU$D&VoUOB)3~lfOQKtC|Eb+ zGgeg0tZ)@Xj9F69?PknjVAF9ircW^Pj18L@W1wn6lEQ9{ zHOPTiJ;hTWdwlEO8N2o^XdQirTQXk9x8siMBf%${OQY*UeMcwb5+Yn@CwracT z{^$R{|8dUw&wtN3eOGN{s~%=s*7dCS{<4s=zYmEiIZ8jG`v8P}@ab)B2WOZQwh>Jh zz%Pl)jkX?68n$J>th4=jgP${1K_;XRfJR_D@4Y=pAjul5UF?j6!v;pnaY#VL7A@^)PYd?rd(R$#bM^?Wa-{0 z49_tJzYMKyxTA#>K-ktKk!A%v1BPgVXxuSSdSit}&P)XhHl-XS8ynpV{>@)`c|E7_PY2=D&guAA} z-^lGzB2xE%^%#m3DU*0AmNKTna_As_ORORjJ7=b-r4fK*1*$uCpjt+Cua}55h zQ=CaSk!)UcZ-y92)QS%IP{bR&TTt7ybPHu<1+9=3c5j6V1uZj?tGXz&aQb&xdR4A^ zO967}T9N#jPQ)mB92KKfB+?7vu%{wl-BZym{Yq{|2+81{ih}e9 zQc-A|vOM;<2p9JHivH+a(urZ+W8M&f4Y*2ixrB9_*{ZGCx^372J7|aOu$|-0gr#Fy z*3j#}|NeV_^>uF+z!X&#qq-N0{?+tn=vkJd-<{#u=Sl@BbR6{RT-&Qqk!544>QO%8 zHy=+6p5Nm^R;Y)3nXy9PyCM4xcnY()SP_P0jLH=Wh=LEd{D|*%QuoXj!;RQcJK{Eh zMKi~5=AtP`BxLq&^Y5xlVwd&NbSQ@T%oD+KZSyKAb~yzzc>lbT8^l@$E&CrXr4zv1 z=fen@>W`2rj5petn!A8+$V(|R`Qg0kNv+TXJQrpg@iHr_dmC6kk(ay6W;}^F=S7_K z7h-_o{m-s1o$Kx-pslfZb=>WJyWgj8+iYE9YdHDmN}X;nZ?pKy_-#>H&$6l`E2s1S ziWeGUi}LQ^W}-MISX;?fN6>5LHzfL0{=fqU(S)NV96jL}2`7+ng8sl&?@r#9C{vpG zkwm}fZj8eY$)a}`^1mh;`o99C0&uq~7H8GiW)=LjG9GBA^eJijA!0UcsV*G{#y5((+>g^b~-*SU9s*q0RTaF2P*_ z-doxQq(4HB@YzzIpG>r*g%$-0-;8ulmQ=MY6W~v-a#3yU;`em{rE4+1l7g0>3d7}H zc*0xJC8RCkb-xeDL4Icp#e3hkYGQ16FQ--5ek)`4NcCb-bVx9Bk8^00Ca22*Qrn)0VhmZ4%dI5jF zpg)Vp`T2q*>mTQr3X;i*aU?bc>nbIo7I@|0`b5?Aia76E*t>2M#2iw+&1k(XAd#xd zpw|XwSp{ChD238-5dilIf5&vRfTejHVv2&^R=&Nk*4hRs@tq>>1l1!cy*bX$71pq4 z;ykx#@fdNWWq0|Ki1&nWyu9h3L}X1~5Ux7KP3`Zg`N^W$6Q6{0`aGOEZV=nYc8K0n zAQ1|5O(0s;Gt@N!M?>IQeDu5eCZ zFaw5*%$1}#L9&9^rX{3VA#W!li3?8kJ;Fj}{z~HH5$Em_7CBZ<^=M+M4j;FHN4i(_ z6|>5}dW1w(3q_C>Kghnky1Bb}bN7;gUqhpJWzXLOtx)T5?!v;7^x6 z(C-isoWZOW2b3m!Pe>qX2;UCL7qZs=QdyM#&wM_<$F0}~_w-m>a0yyRw{%U`zDT|Q zs_02x-!oAVPvSIaJ&0uaFVbaoWs)!L=~|0sSS{9woDCYN<4>Z>n zi(GU=8j@*V%#W4#V$T)xPs)Fua|D_W9MjC*&evBQFTRAWp=|mzI)Te{4C_)hcKWzc zXgeT(-rk&QRWlbAg-%BVof;jlEA*Kr`1wrmYc0WVF(!haC2a=kf z!Y^QH(YrZ~pli&FibYXF&>5m~KIf>u&1==GFAmtlMAl?b&lVfhUZg`U#afZ8E3+=Euv z&{NTi%2Ga@w24nvH#WIV~!c z7Tr#n2361@Uq_qR2YLmq!rm-Ku*vyA??sKhd}*ouiC#$$;65aDZ{~FBRa7K)e@L(8 zd{M8ky#<+nd%Zux3`aE<=A5KkDdX*ZD zc!qAGty!gO8&pT#aH}I~>(*iRfmALfIb2AMzJ!F-8g+CmD;>!lZj2ypkUyA&(O`_E zDNR-#+XIX;nFhrl~PA@DV~)K7K7A1D{0X>nn$Uu6pzMeUWRJ2 z;ts8j=F_08bV!Rqs>@1YwV4)BLslwR6-ZOF(z~pgZlhUQ=@Xnmx6vKGL?@N!joazi zjs7Hlr5rWxr1^Ee^pf(XaTmp^>!m0wZV?Tu=YOto8|p>~kOyCkzGwWH)@7x``Z-9y z$V$ick0CuPr6+=Ctxt``^oo@H)mluik7)l*#X+)uleA~Lo8N*mo2dja@1>z{xuw3|s`XRYIk#hx)=g;%>}&_D`0yD6lISLA>a z&$|fxcI6PY(JAvY@GZ)>ps$7w;r=6R+IVGc#ekhw13RGXw5G5#wB5WF^k0labcP;{ zc;JuFA;j8dJf5wTvp~=1bOTMZ3%vOH{7k+26srx7Rfoxm4#R7)fksLG zJZ-d|P!F(U=1#STGQr-XRw_;5{pu*#JO@Oi5Pa-8^$b0x997TLld(_L-?E#uPW1)! z_zmov!zNC&;gR(KuzFBO8jP8 z4t|=z$Ixu4zMb|1T0|Y7E%ZTPud;!vgL@T@4)!WLKu>1r23j0^jP0ch!2^rExW=CGA)8{5Z9)Pd?m^$zuJ^#%16HKr}q4r(2msu$`#c+KEs=Awabco9Lz zL_Y`p4^8m1nBZ4hf?s2N1==WWdh3GU&%Ol>GoigsQa{3WY3bw1sL=jKMsrmW?ShPX zG^*e;-#dB$l-bet*9Hfa=t^adx>>zWtJ7v{TlxD#$|`I0f0cLQp!}F5HV}N%(T7P) z^F>K(c(0+ohS%sgyz%>iMqi98_qEu5{aUQPeZ$bN$|k9}Fcz26P%5QrJfraeYYN&) z_+;v%6!$faG!DAaSE0hkw;M(EDC2tUcGiOT_?o$S?H3jVqOsF+;ty3UK0Wz`ZeLg3{pj_mnupuXa#Z*Rt93ymp{0) z)DV`Y*}h}xe1pHZ{3xDd)tA33GvusD!55*ec(zYH6wrU$cegF1$^MP*y?3cCe*28~M+WH0l7irr!zyJUM diff --git a/DevicePolling/obj/Debug/DevicePolling.pdb b/DevicePolling/obj/Debug/DevicePolling.pdb index 0462ed03331cb788644b41927614acff71395940..6f727ddc79452ac26fa1fd339d57673ff5435ef1 100644 GIT binary patch delta 5748 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