From 33341430f6fded3b038fa4a6b2ed5b4f52cb78a4 Mon Sep 17 00:00:00 2001 From: liuliang <401809302@qq.com> Date: Mon, 30 Oct 2023 15:47:28 +0800 Subject: [PATCH] =?UTF-8?q?=E8=80=83=E5=8B=A4=E5=88=86=E6=9E=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- log/sdk.log | 8 + .../hrm_attendance/hrm-attendance.jar | Bin 80191 -> 97441 bytes .../{web => }/AttendancePlanActionApi.java | 2 +- .../{web => }/PersonGroupActionApi.java | 2 +- .../{web => }/SchedulingResultsActionApi.java | 2 +- ...bsenteeismCmd.java => AbsenteeismCmd.java} | 34 ++-- .../cmd/GetClockInTimeCmd.java | 145 ++++++++++++++++++ .../cmd/UpdateAttendanceResultsCmd.java | 91 +++++++++++ .../job/AttendanceAnalysisJob.java | 2 +- .../service/BeLateService.java | 15 ++ .../service/ForgetClockInService.java | 16 ++ .../service/UtilService.java | 23 +++ .../service/impl/BeLateServiceImpl.java | 15 ++ .../impl/ForgetClockInServiceImpl.java | 19 +++ .../service/impl/UtilServiceImpl.java | 56 +++++++ .../wrapper/AttendanceAnalysisWrapper.java | 65 ++++++-- .../cmd/GetDatatableRecurrenceCmd.java | 11 +- ...mType.java => AttendanceItemTypeEnum.java} | 12 +- .../enums/ClassSegmentTypeEnum.java | 34 ++++ .../attendance/enums/SystemItemEnum.java | 36 +++++ .../attendance/enums/WorkForTimeEnum.java | 33 ++++ src/com/engine/common/util/DateUtil.java | 11 ++ .../AttendancePlanActionApi.class | Bin 0 -> 704 bytes .../web/AttendancePlanActionApi.class | Bin 712 -> 0 bytes .../persongroup/PersonGroupActionApi.class | Bin 0 -> 690 bytes .../SchedulingResultsActionApi.class | Bin 0 -> 720 bytes .../web/PersonGroupActionApi.class | Bin 698 -> 0 bytes .../web/SchedulingResultsActionApi.class | Bin 728 -> 0 bytes .../GetAttendanceItemsByPersonDataCmd.class | Bin 8373 -> 8377 bytes .../cmd/AbsenteeismCmd.class | Bin 0 -> 3932 bytes .../cmd/UpdateAttendanceResultsCmd.class | Bin 0 -> 4752 bytes .../job/AttendanceAnalysisJob.class | Bin 759 -> 3782 bytes .../service/BeLateService.class | Bin 0 -> 351 bytes .../service/ForgetClockInService.class | Bin 0 -> 367 bytes .../service/UtilService.class | Bin 0 -> 604 bytes .../service/impl/BeLateServiceImpl.class | Bin 0 -> 847 bytes .../impl/ForgetClockInServiceImpl.class | Bin 0 -> 1593 bytes .../service/impl/UtilServiceImpl.class | Bin 0 -> 6238 bytes .../wrapper/AttendanceAnalysisWrapper.class | Bin 410 -> 5557 bytes .../cmd/GetDatatableRecurrenceCmd.class | Bin 7223 -> 7328 bytes .../commonutil/PersongroupCommonUtil.class | Bin 13037 -> 13037 bytes .../job/scheduling/SchedulingJob.class | Bin 3719 -> 3719 bytes .../tactics/DayRegularScheduling.class | Bin 7503 -> 7505 bytes .../tactics/MonthRegularScheduling.class | Bin 7558 -> 7560 bytes .../tactics/WeekRegularScheduling.class | Bin 7945 -> 7945 bytes .../tactics/YearRegularScheduling.class | Bin 7984 -> 7984 bytes .../service/impl/PersonGroupServiceImpl.class | Bin 8172 -> 8172 bytes .../enums/AttendanceItemTypeEnum.class | Bin 0 -> 2180 bytes .../attendance/enums/SystemItemEnum.class | Bin 0 -> 2070 bytes .../attendance/enums/WorkForTimeEnum.class | Bin 0 -> 2041 bytes .../com/engine/common/util/CommonUtil.class | Bin 8861 -> 8861 bytes .../com/engine/common/util/DateUtil.class | Bin 4335 -> 4606 bytes .../com/engine/common/util/DbTools.class | Bin 4228 -> 4229 bytes target/test-classes/Test.class | Bin 1203 -> 1225 bytes test/Test.java | 35 ++++- 55 files changed, 617 insertions(+), 50 deletions(-) rename src/com/api/attendance/attendancePlan/{web => }/AttendancePlanActionApi.java (84%) rename src/com/api/attendance/persongroup/{web => }/PersonGroupActionApi.java (84%) rename src/com/api/attendance/persongroup/{web => }/SchedulingResultsActionApi.java (85%) rename src/com/engine/attendance/attendanceanalysis/cmd/{absenteeismCmd.java => AbsenteeismCmd.java} (50%) create mode 100644 src/com/engine/attendance/attendanceanalysis/cmd/GetClockInTimeCmd.java create mode 100644 src/com/engine/attendance/attendanceanalysis/cmd/UpdateAttendanceResultsCmd.java create mode 100644 src/com/engine/attendance/attendanceanalysis/service/BeLateService.java create mode 100644 src/com/engine/attendance/attendanceanalysis/service/ForgetClockInService.java create mode 100644 src/com/engine/attendance/attendanceanalysis/service/UtilService.java create mode 100644 src/com/engine/attendance/attendanceanalysis/service/impl/BeLateServiceImpl.java create mode 100644 src/com/engine/attendance/attendanceanalysis/service/impl/ForgetClockInServiceImpl.java create mode 100644 src/com/engine/attendance/attendanceanalysis/service/impl/UtilServiceImpl.java rename src/com/engine/attendance/enums/{AttendanceItemType.java => AttendanceItemTypeEnum.java} (55%) create mode 100644 src/com/engine/attendance/enums/ClassSegmentTypeEnum.java create mode 100644 src/com/engine/attendance/enums/SystemItemEnum.java create mode 100644 src/com/engine/attendance/enums/WorkForTimeEnum.java create mode 100644 target/classes/com/api/attendance/attendancePlan/AttendancePlanActionApi.class delete mode 100644 target/classes/com/api/attendance/attendancePlan/web/AttendancePlanActionApi.class create mode 100644 target/classes/com/api/attendance/persongroup/PersonGroupActionApi.class create mode 100644 target/classes/com/api/attendance/persongroup/SchedulingResultsActionApi.class delete mode 100644 target/classes/com/api/attendance/persongroup/web/PersonGroupActionApi.class delete mode 100644 target/classes/com/api/attendance/persongroup/web/SchedulingResultsActionApi.class create mode 100644 target/classes/com/engine/attendance/attendanceanalysis/cmd/AbsenteeismCmd.class create mode 100644 target/classes/com/engine/attendance/attendanceanalysis/cmd/UpdateAttendanceResultsCmd.class create mode 100644 target/classes/com/engine/attendance/attendanceanalysis/service/BeLateService.class create mode 100644 target/classes/com/engine/attendance/attendanceanalysis/service/ForgetClockInService.class create mode 100644 target/classes/com/engine/attendance/attendanceanalysis/service/UtilService.class create mode 100644 target/classes/com/engine/attendance/attendanceanalysis/service/impl/BeLateServiceImpl.class create mode 100644 target/classes/com/engine/attendance/attendanceanalysis/service/impl/ForgetClockInServiceImpl.class create mode 100644 target/classes/com/engine/attendance/attendanceanalysis/service/impl/UtilServiceImpl.class create mode 100644 target/classes/com/engine/attendance/enums/AttendanceItemTypeEnum.class create mode 100644 target/classes/com/engine/attendance/enums/SystemItemEnum.class create mode 100644 target/classes/com/engine/attendance/enums/WorkForTimeEnum.class diff --git a/log/sdk.log b/log/sdk.log index e69de29..4c057ee 100644 --- a/log/sdk.log +++ b/log/sdk.log @@ -0,0 +1,8 @@ +2023-10-24 00:28:21,221 [main] [com.engine.attendance.attendanceanalysis.cmd.AbsenteeismCmd] [INFO] - absenteeismCmd attendanceItems : [[{zdhsl=180, xmlx=2, zysd=1, zxhsl=60}, {zdhsl=180, xmlx=2, zysd=1, zxhsl=60}, {zdhsl=60, xmlx=1, zysd=1, zxhsl=0}]] +2023-10-24 00:29:46,847 [main] [com.engine.attendance.attendanceanalysis.cmd.AbsenteeismCmd] [INFO] - absenteeismCmd attendanceItems : [[{zdhsl=180, xmlx=1, zysd=1, zxhsl=60}, {zdhsl=180, xmlx=2, zysd=1, zxhsl=60}, {zdhsl=60, xmlx=2, zysd=1, zxhsl=0}]] +2023-10-24 00:33:14,365 [main] [com.engine.attendance.attendanceanalysis.cmd.AbsenteeismCmd] [INFO] - absenteeismCmd attendanceItems : [[{zdhsl=180, xmlx=2, zysd=1, zxhsl=60}]] +2023-10-24 00:33:33,275 [main] [com.engine.attendance.attendanceanalysis.cmd.AbsenteeismCmd] [INFO] - absenteeismCmd attendanceItems : [[{zdhsl=60, xmlx=2, zysd=1, zxhsl=0}]] +2023-10-26 17:08:22,114 [main] [com.engine.attendance.attendanceanalysis.cmd.AbsenteeismCmd] [INFO] - absenteeismCmd attendanceItems : [[{zdhsl=60, xmlx=2, zysd=1, zxhsl=0}]] +2023-10-26 17:09:45,677 [main] [com.engine.attendance.attendanceanalysis.cmd.AbsenteeismCmd] [INFO] - absenteeismCmd attendanceItems : [[{zdhsl=60, xmlx=2, zysd=1, zxhsl=0}]] +2023-10-26 17:10:16,663 [main] [com.engine.attendance.attendanceanalysis.cmd.AbsenteeismCmd] [INFO] - absenteeismCmd attendanceItems : [[{zdhsl=60, xmlx=2, zysd=1, zxhsl=0}]] +2023-10-27 16:45:00,661 [main] [com.engine.attendance.attendanceanalysis.cmd.AbsenteeismCmd] [INFO] - absenteeismCmd attendanceItems : [[{zdhsl=60, xmlx=2, zysd=1, zxhsl=0}]] diff --git a/out/artifacts/hrm_attendance/hrm-attendance.jar b/out/artifacts/hrm_attendance/hrm-attendance.jar index e157294e09b61d8c391a660c1cdf9c76e1459c86..a81f53d1d2c3494c659f3a9212c3bfed52718695 100644 GIT binary patch delta 75052 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 delta 58957 zcmZ^~1#lh9vL!08ENP3GC5xGvnVFfHnPFSZxW&xOY@x->Y%y8PEDOHReKU97eSfB- zBdV(_qa(UQ^T5;^E{Vf`K>X&XGinHdPX%aMU`NW0Dmi3w9dLA%dw4B`6vWuV zzjVxxUnoy%lnf>CGXam1j0-E8`A*%}Sp?87q)NvEBXmeK#{7>bJ7mpq9oGQKG; z%Q+oSZH$6pZ{|=SBjzB^9^AOLoiLq<5A7`G`Oy>M6ViFls|q9%PsaB6Tv7q270_t- zO&Z^iEO(j^_6p4x_Hq@?iyp{&LoZ65d^t5#|0AV!lA8GdI5o-E72Nx0}hY!pLkGLX9FF!pX0(3n@pW{lk zrHLv{eQ$4npRe_SLtx}`YD_prfCYARCe=PVQ9~1xFrS6h^v(mn{UlC#eA&(^r7dNh z7ybU~>Q?M1-`{d9@a!q6;Xvy$`ilxHN|s*y$YS#9@jZjaW5#6DRU3)Y0dY;|-R?z8 z5y>Ra5_gG_)ec%;U56mN64qN;MBJEe>dAP5cgOX{*J#^;st?X{#GRgG7n zMU!AnMIkXRYPJv!a;;br>d65kgs7UbDRA}e2peNEG<`%Q zf`x`3x5D%_6lg-?Z-~{*NaA=-FG`>K!9P^rl{7PoR$$tb26NP^*;|Jx+x&sb4;Pjp zhm`|xD-|C5itc`L zk7^e0$VEvYoZ}~G&MJ9==ZX!4{09Wfy(AhTe?d_Hzd-O`X8c!e|2H%KFE#S);Qe<) zo>0(bM&?KKHegVihYr0(h9f&J+^P?5jY`lGhY?Qcb~VK(9f`Bs4hg_KEmX&P2NM9e zU&@PBY1kR<;`s8pPUHAqUIITLoFa0*uyE#;C$y)ZRrwySjT# zbt+Jw#ABb1{5pM(1iCyT`M@usaVEgi>f0Y`3!KV+ir>f5MY9_F^q=kVA!+O@L5Iz3 zPR6!l+cKCWdwjE_c+q;@slH_(x~n+9o3NvT{xPSaKbnw*&7-|I?J=CG#um@Yx{|2Z zv0-_uhV_LvUemuF6Rod4AaT81vau|fLY}}@A6;CAiVcgK6X=KAj`XHCNUXd>(SPuz z`=M?1T4>*rjXKkc+0ReI6v3`^wcjI(2iKL!8iW4=?HYUeXFO$3+d5BS$>J8EWBB|Bq>f35NV z-V8vBaLkzhdTnZN_TQHOkSJ~tfP@)b2}DK10`x;)@&4?^k!ID2E#6!LH;w7idz68} zWJ<#tBo~5#6Qi>;A%%|jkerWNBe3?sBvWpa&s?-w7*;@{RM2U2&zWzR-ba)5*qm}iyuDRw{Wu=k_c_GRt-rC$S^aEr!z^}O};vHj^klJ$POKGO|m#CnF5PlU9x z2ZRX_A2K7zyr}|z!zEN^E-}#=`T-U|5MTKm60{Ao!xx}BMEUZk0W1J6uTqp&fPg|= z5$c*Pw_*T_ugXYcC_Cs#jjwLcQ_U|`wp%HDW|su`RvQ%(wGFrPbOZf%w!CBf@f;OY_Z9gthpK0o2*~JC3@qO}bN7PXR=SY{d}s~jU2o-8J~uI8 z=k8H`1ns}bLIF$m>Ru?e)owUxJ~+Pj4s2IFL-%Y8Rz9aj0ab47xBkRM0e^FSiVyX= zV1CFCd3t~Hg1_;8kP3D7RPPBwmJdV&K4`ydUT*^o%oFH+Lx?vlc}W|p*}J^yfXkNg zG3nEYVVOA;fW`!OgJKd5Ov2C=v20-#0J+j7`&aQ~>_+*vX3oAHdq5>KFa zpoY1J?-qM)6IHuNs%nSz^n~QZWn`e}ptI_&Op?XQ6}Ed%vamFW@!*^>Z+3^y8LY@z zKFJfX=2YjbIkro9@{FOx;l(9R16|Ndz;JYAmE~fO678rlHc#BGR}xphpB1x^@3c1FQ2L6Kp&))PTU%{``Q14OZNiBL;| zL5PQ|{F8%13d-czNX{v^7y%Uvq>y=37;`yfI;BP}9+0aUrn)irud6gK1xm*y4Zbj& zyNZ7C*cg>dp_#{|@R8P^9RM-c5ROd8-W8BS2oY&8Q@$5f2H5P{;O^Q#>g!Fm)m-Ka2ORbN`g8luuYOi>`syEo zo+xSaN;%i8lEYXBD(6irkj43~eZ~Xs~F-$?8@?^%*v7n=bqdQ{5&k1SH8DVyPE%`wg^4#)DpL z*!ndyg6AFsLfx)A5X#ZY3(b+*OLu^eoXc)96Vo1Lw_s@uk}2g}PC+7!fR|tlA#Yqk zUQu#7E;9~iw;@Nysp4K)906Dj+;QyGjDNH zV(lhwmB|vIYA(HBEq199%)Wi5Re$>M8D)W>1++GdtARBLJiDI{dX5-A)ei2*Wydrl z4h>~r9?TqzmyMt>V{Z+iUrL{@Et+#bc*fNou3cGm zSstzm$(J(ayw26IBZZv%@mg)2&76acgLQ`xcfkmg2zPH0W*;lQ3ZQ{Jr0iu(YfLIF zYDlq58P;e5vg5|>>hm4`!JtNs&*t;I+5~hen{qZ#?Vg!gRVw9K$@e><6`?FR+fkwl zde#m9(uQ_caX}v3)`@kiURd?Pq&1Fd#MSqCTad#$xEfPn z!d>pk$;;)*bl{PGM849JR>+Z6qI_nbdyKcDaW7;5qmtEG8ZS4x0qeyLS!=&VG8rq4 zMTAUsxgOTx;xK<4HFLWwTJoT9^D}2K2;s$xZg(yDW6M}n%SMdObu~6-&CGPIRWwm*a9S+pp=*WwzBl-~9!1)# zkkD8k2+MFjqR$+vyT%d55#Q5TiC(~S#@d{-DT1ZxP&&L9qaxX2+Zk3;pM!g5(#eL6 zy$4a4P5ANIxk?k$?}@ZNQU6H8LZVMz$Jd=^M#N}$Jl(d__GN$dX~_{}`Dd%Zn_w3XikLrQuT(^DWf|5yiQ zG~E&jXH7Y=R;O_2VV-E(mbyek>YRwjVI9+YZgemZ_N@KFyxo3oNK2uIbZ<}BOy3~! zXVb&!13GxE9fx@aNt5`rwq2{|RSoeBb1d8Dt<0A$<+yMIUI;s)vrFWnLhmBc$)N=vvgg*Kk&YX3e#-dgZL7NJjziKF}V;#08 z`){%7ovjrWYFsPPH7S*1PLS+HOSNejQ1oz?Hs;OO*f-Rl=3LL&l*a-@ndqKU&wzVt zOJ_ONa)+Wf-rv7j_f`f~NH6}-$-;;+S=wpbQvUPJ_N9?FE}rL6J7BX^d;^GtY-~;F zzFzlh_e}{|+E7eQx8ysu#{`W*{2;q8xYASkF8pjpX7XutARrBuie z*SUvv>}f~!G=pR6a~S1i%k?tXgJvDZoI+9$w#bz_%>C;JZ>$$lwN?7R-iEH%3mTpF zC=j!=RoZc4qR!rsZ{1#N8SGHI@QjMtSNu`wSl%u8>i1-Ye-BZg+R0 zu+65tJ?vG%GWCY2VvjCmdP3srzDeqp3aLab)-Qg9q`I6N-QsZ79AS2CFz?!ZYbj%I zM0HdPWq&a@+uO~e!m5K#;0?{3Cfxg}_TsQ@e_(qdt$LpLW=^94KNB2%ZP*#sFpqUP zu>o)Nu$NHTkZ{-$GK4kEOo4R2INQkCeTP%@tS?H9bF7anpxft^p8g)UybQ}Hw!;IK z(%l~M{ss%_w2zz4)C(ru>&%D3E&N`|%NyKP3n_e^Vdty2YL~Pl@U-jusHj#Uw3LOo zfdwLMWYgW9;u%8PwR<;5S7kj9wgCYWe>}UVKs25r`pj{G_QqgYA=^?dG-JLf(%e48 z^0264A#0Zc(v)#Ge0Se~43}Ru&em-MYB5Rml#eT+EgX1^GV4}lTTi`vWS6`3#C$4w zyixbouSPdjy)qy@5K1?5+}`_B#UtROiJweeZ-}f<_Z4_nAh+Evs;)ohDkjqFTWA}a z`))d6_7Hs+##4qG*F8bU9&^R$f#Jp`jP(&uw+$xmzA?iba0urR^&yu$WWKF9yvOd`*HOAY z-vRNDHCi`?-*=)}VeMvLuRqA7$lWguBYmqbk1W1WcvJ;SJ53t+`QHo!C91{nG>rK* zOtF^p@i+^hfyy!v7s(ntOkpkc)b5iBgTc+O%69!AH(aa+sJsykKe+X4KI4S}{QcO1;;{)9-w0{vn=dy1IVj{h`q+H?r}3k`4KU3?oN-@2 zq&}}Z$~5`N0aVHSjeWPh8MaN<*D2hMRza$5e^Uhj^pwW@S^~R4zZw4|mDfjo;=Mtt zA4J?8LVS`XCFMv$9d0x}!A$2kSl)$Gc6d>L;9zzTu-X{w>h29xO>Q5mOR_OWO z#D~(zytjw3_brgD-)zk#ebI(Qx6LFS)gdCG%{XM(t?{rt!ImPrBUBG=jVnSq$(H1+ zKsb6V5GpeKC~|_V#yLQP*2Q%Avym3;qlod!Yj@oAIK%Quj zt);SFRv_GUu~MSV@2jAQ?_$2BhZAEgH5V}wa97eA3Bz=7D}K(7-q{OVP@xlwNff>} zZTR#$zYB0h%8d{|PX7#Rv$QX*-S?+r>3j6N?K4;l?g{$z4rK)fddZn;@;1K%bRE-M01=k|zJY(AU~Uva z;o0I=gp4G`JHdbeiM|=kcYi6qE38=P!Ml&bUL;7zo#hqc?%2M!D5M!v&cm{*<-@w^ z=(+6~W}02wqZ9P3T5W=BeyKm`Z+`E(TE7vx1AA7!O@S8J47-0p-zplv?s~iY+*z^# z-wNs5-s=91736#3aU1>74YUXbMpvF_`GSW}Tye;YduHJ>QU!qrAUtY%CN?LWX(ew> zsBh{QS4NsVGZdT_L8@qrE>^~Au#c;#^MQB@1+e06M1vy6NX*4C3)x0eG~X64CbR` zFR?`g1Iz#RKbfuo?tg;SdTvZe&M*$p*gw5AdsA>qU~K%9O}`L&=*$CUg~vV*ZJNiz zT6;812NgPcC|@5}H$15`2`F+_^Q;hQHk?KQ-U>$lzINJ^`{?8CEx;c#eV==nYB)W? z>XG(pEkLU3dGoG94|utj5=t&-nN`#!rR)uguHh?VB%p|4DXO_oF%{WrV8op)St7Zc z*2-xG@^lU)rYNRu7JSN~3~MWM4>?jGb%I9F{uoWJ>c{M@@JMM@?UAk8m}-x9){&n@ zP-VqDyP_J;^OKMu`;o5ftTkdII=o5}1Y8Yo`8kxUPTsfd8QT{)6dZ z`72@SXb-x;CxHAL;HP~<0LOu>ap4AO^Zqka(Y!3cb%zBZWd5vTXHY3Rgmiv#lFL-d z4wjct1)CY!?6vj8=+!w0BRcT^kH5*z356j<^*%>!6 zPa`vo+hBY@eF*Qg#`^l%;i|lgo&CYptF_yWcS}QcF&$XVIE#}kK*ai0S1e|~gbkVK zxK$#7nu*(JuLxJ(X4E`^6W#i?=GF1BIClzR@B||We!Au0P-`351+RKPKznf`DFlFS z#xc700!zW%{ti;BtOU$~TcLEp=T?+}cK3QxH*Bgfo2j+^KO1o|_veU2t*5|~#f1dh z%W!8r)&xxB1Dvp1H$muuqFh3S5xW?*N@pXWXKbp?Y-WAe1wv}D&c3U11Zvy4Ub?bJ#wJqi; z6x*zsR<=#Z?jcYQIV=U1gL8KOdjs6Saz)ZRD^d+&;=-TBXc0u$t1-v{`8zSHn$P%(TPR-cM|WRJ`|SwVz889%Hkf9_g3$SNz2KSYl5}u zSLmR5Sp8fGlR{K$W^;FRj?$Qt=yoxlMeO(S`VVd3sKu#Knr7ppqJF)fy z;vb}`5PE;b`^z|8fB7Fs`#-eNf3n2?*dCw2KlpMGAOo(epa~=MLk5N-*OCCJG!w!4 z0YN0YCO;dCV}wu+hRViRFv5PF59eqz5bgF_rKBDQA2t!0uXW;)?~-Wooy$2IPG_H- zT;}!m_(L#WA71L=5D# zgmIr@JP2tUa^R?t5!jjAmYvmtY1ixk?Lv{B^o zE;RB&0SsJY#G97i$t1w1xzZ6RD2rd-^xGQ1-{P~}v^2}Bd|~rw|6Nd1#Ii3rB&eNN z0iP-8o5eEa zsH7|A6Tp4NMAPbL4GXnp#}b`5G0E>r6HWqZIpvgR%Ghls$W=_G$!Cq3Y0KBF>QSE- z0?_M{>p^q#o_*B2tdf>&$(ar`)z52H9IvApttYa%Dmm^r9p4o?s5nC(`7I~h?JGG& zUoe+wq=T`(r?%m~THB0R=d-Fo#Y?GRjHx*^b1ZDDJR>#71%Tt(SMf+ZAPou>{Wb+2 z{}Qpy_SpG~@b1x^lpFyuE71YgPQa;55Y$aMgZs-dmY~SP{vOR{xVOK&U$2_gBc=n% ztP+tp%L@83$rTCwA*_Bu*$S2;f#=w?zzr{l*bT2^R=%O8e25^)Bn15SkLlTq?HREy z;~K=3z^^~B)HWx;paN#j_D?6TL@W6)ETWgcNjhklqp6!I7)UTMSm^&@ zPXDoRlYr)ka6l1Xkg@*F(*DOd#s3z|H{LsAzFf?q*Ysh!vIS( zUx0X;D4zn_kF^I6C4#gR0_PjQwT?q-RDzWKH_79MVvo#5OX z;t8c3u7`}YzlpkqCI-Web9H$4$E+)Fh6rX4g^y-GSlADSDD@`M#t)qcbmNSZm*A{1 zOlj^XGi=HtK)=t*A~1nMly<|7bJYIfjgyyl1BGLl>>TL(Opaq%JFI#A1seET8AJK< z*7B_Yc_o4wQY8K9bD~I&4R{7Wdy%t!;T^3|TXaN}4uu=HubvWHxbT(Di=l(frD# zl%J9jht?aZSFsn*{&P=wYe2d--q$eC4+T*dJt#omPpOBvM(G& z6`jz%iQWl)5ulg94y>-?euH=KQKii=d|`EVm6Masq|skr8r57DWr@t*S1M&5#i1`j z!bT&zbUhZsdd!_`S?BzUVl#qCvYU58SSR_O z?=)1O#Isf{GwcmuI?rnPd|c;|%0;4`Ae~ak$^_Sx%_gyO22(3U?V;Vpu^~fckoHO? zzWF@pqc6LfUT;u=7m-}dW$L!6j=0uSNVUduHYNFmG1C#3>eLB@nh5TBmx6{q$A9^; zvIENp)QGn_lmU2{s`VM17v4Lo7vPEe$ToB<35pQz6) zcw1;K)1@~H5J5}wF4F8trwOKI>QIck<}`#4ll7O!HWZg}Zq<~RNKT^tNEmN0f)-#o z%|UrPW$>OA=#W76TqlX8X+-xCwk3rxC4oVC&K0g~TynFbx zM9hfmYbeB~@@B0F7mH0tZfxwO0?!E{hE&hw0VO*tUZL~CYMsx8JDkroA=}i?{01do z2k>%&1b5h>y19h9KU!-EV1a7aly4cv7rLX49g>dSKg&^OrrCJjk{}8;XzZEP+})g6 ztK%l=lN*5#JTtP7$qpxR783EusG=WuYIiGs14BOt*0hW-bLYU zNnG8djQKFO#Hgqwe`H#bxIxkFD$A~UjAzF=_j7pvzM;C7a5%BNTy7j7p@>b~`+D5) z!Ye#s<`w{RwlxS!YW)4t?m>)sM{4fbbKlE58XpSeQyU#%7?~Ts8)>c|963SSko9LP z%h2wLWijrJ7bzsSMgr$K+U&f=S}v5D`E=EJr`LjOk{8mzBmo9T%G&`ob^0HPyKu-f5xQH(<< zJ2a2=hOipklpDs+k=$KUk9jR}uGr&3`c%(Ny2>38N`n!|zw9 z$`}v@sTM}WZ|#uaAyD%{UCrTxnr@`1dz%YD4X(0qjX$A7zEAkPD z1((m}iz7j*RuSrkq7miZ1uq~gyMoUGC^k70W4Vlef`&{bE)6_DUDjaEQ3E+T;-4X4 z<v#&3_`3s$O^!YWug^v`AY=o_VP_l>MD)#tP@P z9$&ip=NFAVI*na?jlYBzveuWCxtO$u)Y?zXH-xim&v_rntn`p6JLcAU_SJD9hY|03 zJO@VvV(KuW$5;Jxx{fvP^Ma_2k=nxW&7T1tXixPkvm+mo0fy+%{`Oo4>%jv(qS)8` z--WlS@zK;DQGd@pdE8bJA>51i3F8-TU#M}1ju$N%!z;NjIm;*A8Ao1yi<_;4sOib! zlA#sk@jruY%6k>hQ!KH$D(guA-a|R#Kg~@z2fag5T9NP5{h_@qQwKX*t@7gC5_b0s z><)r1@2FxPqHs=f!_c!#%THuvzi08sb>3T=pUxEtayzpEDyrcBQD%G%i~`Jf=J?GN zJs|54nnp0GkS#&IY@^Tezz(3o!;%htVi$4cB^d!&C3t6qBw+eb-C~+It(EF>be>p1(mx9gQ9cKN2e?U$AWcWaL-6bq?Zo80 zpBwJROqU;R*~!eCNeo(dK4rVkoaNr}dbSCEJ`5;=weG1xoiXDN>EMIrHiP!L3UViPHGG@&XM^l z%Pk8&4nw?30`nFGk~ogQ3L|y<_h`U{oK(7+6Kone-^8q0CwJK2RO?}LA%CO09G;Ua z_rjS;dJ3z*$*bN7C#7H5quKiR-QVmBW7=^QC>cOcf<3>9yv0YIw9B(3=k}SYOnBF? zQttK1GwECPxef9tDk9B`~PR!g#m|B8PF!U*pev|}R95np` zU)V1Db1ypV?=W`r=ThxnU}-Up_Zw*}eP$>gs6 zY%&7eCko4{TdeHSG8Z@&eV+U^@jeB-YcenErwUx_<#R^I&x{|(LWRr0J_c^}mte(8 z_wMnYLkHHpYb+QHX6LXCX4cj;aqIA|RY`cj`lyXglXivWTl$rPM=5O^I`gS|i!h50 z=LSoJmk#G#ICR+71;e7v#sTr;&=|4waEjy>%5gF7$t-jA1%D9syOa8_sM#rsJy;{AAc&!l_z zF5+Ezj1{LG@I^@s$6fo|lzdkTmN3rT;}eDR+~4zqN>%Dz11%P?-X8tAQVH3C?($l_-{3phxBL;%WyBm) z-;@Ms%tKH4y#6%N>ZeR9wL zk7x%`;l8^x&t4rggrYt-zVn8d$Uh+??lNQ|!EvYQIbD~-hPtcrg3f! z1R*O79(uLQB}$8>%Pj%Z>ADeC6=`$!K!8Y$cCY2G%Euqfx&j)^6 zRXC^APTpfL$lC!{!*IElr?nsoAwIS)Y?(HectwQ-qasRsbzORX&;6N)t<_>9 z&W0T};Oc9Q{WZAY0$ze~zQ-6~Yk_!qUfCD>g)+_gizMV(iV1YY@bcDBhvS@&uAE0p zuoChkEFbl90q`&J3JoKYhE%Ql6%4El;s5MUP%vQGy4;{xk$;Ee$e>LXG+>DqtQYzr zPQYi5v_)gaR0G*8#*n%&2)Xe)KJGMftrd*acc%!ZPTn=U)pG|6%Q0{&h@dBRj1~>u z8cBO~u~0C=rPfxH3v)$#`<5V;^9>05go_u?sK0izwKcl;6 zAh1WGa?+!1Z<+8`#v=~*d4PIXg9z=)5_%Gy@cI%W{qhQ2&ap9BFMq079CojC%{P7z zdTd+{611xhuiQFg^;`~awo49kn)!iNt`29P#-23}1$ZgIlNvMhOH0X=s=BNIVT_}2UC_C&Q*qZMcXECXU@G3bB*CM2{!j7x4j!8E112iyK z&zypvveZ^-t8O?CBk6ay_*{HTzKEyk-a_9OY3{)SKTWob0lXsT6mUH@tHM<-A~q~4 z2rnv-wx+*(uhIFL&XxjphdWSEZbRnY&sBF`EW~9leO8Q&0Fj}RTG3nk(qG(0IJ+ky z_p~%0@^?49!cTsRo?Xvfysyo`wKi(L@rGL#3yzf*3>;pv(&QSoEF)qxK_;t!4HAxn z9@FHKg7~f52*iu-w-=+I30dyU?3C8A?f89tvbQj(lq^vqkiGMwY=;nKgW{^EUq6%0 zX5*(82)n*Yc;iWb4b6+=GWkMEl8qWpGQON%+`9}2mQcO?Iz@GaA`IdpjVrNkm^wWu z3^i50BugO17d?y|m21fIUd_+sA%l03RkropD-^CG0}j6@D%=g3BBN#(up&o)9ms|d z&m9?AD>yvSA;D>|>hwytz}0D(J|R6g0FBe+W?P!uy@_VRzk? zoQ3RoTgzHpr}lH}RGjij2ECk^!_)1R5 zS4uooURdGSVLsC2b%ObAzGVtG3bIQSs-Y|reTL3b{l0*Yu-=7!0{K5d+`}%1CCY%0 zz$c8wU5GH|aE>j%os2A`E!WS^_{~3$TiwtO9sbD=K2N9eS9ZVdJ{DHyU8)S)3g-0; zfNBZXicp{Z&;Wr!NmK!iYe&Dr9aTSyU00}Z?h69yf?sMfq2FMOT85@PUAaU~lJk@D zFe%gI_8nzg&F*NrtGa#FXR-IyX(#N^qrF`{ZR9q#aT^Z-9uhodF*li(Su5KqxVj1e zT~Z%zFX=;cRIEXZ9rE32;(}w%Mb0KN;G1M0@CHg$Iy1~nu}PbwCcD5x=mk;l$3u?4 z?rY?#=L!duzkVNz9Vuc8fFGOSz~i7;i|L}hLavyA!<3GD9yAU}59g6LMx>bix>!(Q z%f2aDcTg&hZ-&AS7n@Y}%`whEshQ_hQbEpG>)_Pu>fdGq|_|2Xgh%;=S zxI6nh9MK+Fo(IN3m9l`=v^Imr%8N`btu^w+#T-TycfO9xby&`egJY8#%BVH2Wof$h zQrTMNRpDe}G3vo9z0nott2wtM^$SELiq(xx2jPPBtven%1+%uX_vDz9&am)rc9SsN z8;btTOl}pE7l3NIY@bWDQTih}&@m8|R!NJP)&$!d0*_PQDgN_dRLgdmK^7}=av-Uc zeV=Nyd?7=2L^eWjhT#lIV#c5TbuF5>Se#uy_8AimS%0u_Ov=oTG5ixcwPW$H@}_;b zh){jGx3f3YKkRycF5-cQmU;r<&$Gge9vws_1I?yo7dNY1kT`T5X=%vEk2T&)= zxjpHlH?ifUhstB_+zN04`94mDS4zB}Dw>X1vUGX8tKVq9^|maxeRp5a@xq^25o(nC&1- zmPd==0>STWtf%YN*K%O89hOo6M?)qR8NTEIVkvoLW9%$QQjjtpNINZOa)hs$dYe7T z+~)GJ36zT#r}wEIKn;os@tQv#aNHT3Nj(~}1}tdUGB8=!;7Z%vWu1_AS2Jvm6AD|1 zzA{X#HTRCV=_q+G=P}FWqu`*)u55itJbo%e$_`vhhx@*Z9xzd?f|$Z6#?ODGT$8lr z))pFkv7^W~%erC*#0h)3SF1Ll`zcN_F2be~tIJT*7Q8hbwP}PwnisV1TnS4d0^SYI zD0Z6{&MIHrw`_$MnRYy`7$K`-;3bQelA1}FrW`q~G?CR6>xJ}n5Sk`8WPtuW@K^}R z<#)!?#+FU6c8X8cQlWO5>H~gLZd&EhWw7g-!$D_?zLWYqa7JG!UZ1Kubwhl~1u3fP zZbQ7tqtBm`qCJ|gP`k3ZhL5EU+e~*fw@cYqX-^15IYX*bLYS<<%Pk{-bL3*WEB$1o zh?sKe8iQwIJ&f8PwtL4Y0>8Hsar%GR_gyVzq zWs2EVc+^7zD%3HY$4*V`!g0UhaQG#bNqK#>bSW}XY@keQAk0?3xSX-{VkEls_~PxV z>u}=EF|dg}u(@E*pHtB}xqm7AgI?StXkY_lDVQ%$VM#)p{jCrA{MI?mKPQ7mxBnx57JHqK^kw=?z9*o1l8l0u*O5<6 z;pN+#^5vcV8y56WL0rQYgd>??*OCG6TYG1o4UiWY&Yccdy%7V$s#!nHB(hw?7g^>) z72{GPAkG%ipv@CHZ#wx1s_lk!)DSWEf_0aB2Uz@q{(xvMvDR6`a$GMo>(u!jm*?zO zi|*nOS?N5X6fcQwNjE$fUMN?%$1;mrLG~+6c^xXfTJ+CwkCCI)9Wqm+G@^0>~OGJk=cW8v8w2)2=w8vsh$pNU_aoMG}Lq#-hx+ZRo zAgM*(Y?t99(2O2%j@1f18_Z}o(2K(x{N{k}z99kFCh^$OaAs|d=G^hP5m1R&z~jI# zYk0SVVHlQyH>qQWO`Ek=?cXwjprS|yHUe7lsw&h*EgCxWRVpIrjX3+_!J^gxtr)^q zPW#_@gDg(fuL=L)6Q8;_6cp>jr2we5zBb7hQ0>7iv_nLhv+IoM5{q}uTq@HEoX^l9_fSc#F3!%RX%#91svzPH zmPjd4W6|%aVXGw}qf{jpC&hR;^DQT}@tva!h(I^En6zCB@Kn%m^Z9lbtiG}(3Zz2l zQ$uw~gVSERSG0GkIM)@8R$FDM%&BA%kfzvuo~e9fseE*fe)`;g!emQ6i}rtoO_OP- zTmOvxiK6jcc!ZE_*X7PSg|oB;=(zVdpzI~`__J)3KSn+LCTX9EA(z;=X`(0Fj=Hh{ z%0JXU64%}^)P+{!vcI|qi(2uQIL%6~1&(gRRI9+iIr!~HlP}W|tQR4tqs|E!;`&8O z`?#OsyWl^8&>7RL_D^^)Fhu!I#un$ zB!yb^&)?EFf-p z@uSS^FQd6H7x6{+nH(!~uJNK%vZ@n_r@apm`IGI(!>D$=4&X0w%ISXqa7Ofq?=@%v zcUjQ|RCk-Qkc8;AyH#h3*RaNapwDv802F7q_4G=2?UhK1KYp^WNY!To8}=bBvk zPD;B8{T==GfHvBV0w=9q1!CK@eiTZer>h#@M$j(#9*QbgtyBCeO@Y(=81?1SD2ZEJ zB+-PJKD)Y}_-%x^h%v_Eb(&;UYwUwEC z^X8fDQW69Y9T6#2XQdh`Ne~&z#NOr}Gnds!@a;$FB-@B=;EaiE#irfOnNh2TvW@6a z=Yp}bld3vDymWvMFCli=ox7{KL#sQ@8%vViwRco2=7k{rm$JACW+D z?9C$uK2}^g=Wt&xf5| z3Bhoby+DtmbsE2{F;pO8K@(o!)|dV@Oj)<+uw!}{*x$>!A7A*km)A02qC9=`ZV+J- zfAZt5H>;^Ed*#ay3i*CR9{eHVGfosoH}xd}mq~%zW2CuI=&@is?a6{If^5v~^$&}S zMa^vGtiNn4$qcO^E)sVpVc%9}gqtXu4U>JFMxqG7ROL&CvqcE7NSZ&<<^razL?@WQ zr<^lrsOsL#k&L`qMPPhRg4duYmT_F((~=zZBY+i_JN6<~W}s^H^TW!kY5TfdL=~O5 zkk)s!-e7E0rD%X8hO5OJbh%wlnJ`;4m#OZw%Ch|;N=%CL3+|$fiP0UtXA&`Y~_BwqX7o?j=EW>VAapq3W*sOj;s(2 zvd$l!o!yWJZ?%e5udlDS3Zt(f6fE*xl_K&NWG!^>mZwFkeV_tydMa);pC!KIr#S9q zsejM_5hA!}oDb-)0R%ifIJdpo@9ggc!s&)ApyJDuu1;k^~N-EZ_UjFCesV`}|Gh6QCj zCIw~{IajVX?_L*fbM@m$*TIMZQitI$D9~3bCmdS{o)g?@(a_BPqeJnPUExHk-i(5^ zw`f4W-r%Q-x4)%qeTo%tY(UAw_pX6HXtjVaM{}Nu#Q;r~lzaCmNl8PaCPw6Q!Z|-n zrpAIQOHp4kLTuCT;+9P8>3kyoJxWC9zpqZ<%`hqda5^f~C6rsw;TUlBYLe-gzCgJC z_zBTdeh+5+F}F@h;_pvE%IrFaLnAmbQ}G7W4^T*+CA``brvzuqA^TCZ_8l{?c;5A1 zUuc+)4dzVG?ujt)u@^? zlO|7hH}=tkNLghJpgX1d68=Vt4q3;wLsC!6TK=-7)t|3moSAKX;Koaq=F(RdWUT>Y zV7e>qo~HCjPIl_SQu|>3{KAEyLPC5PN`m-NG0u29<3d6n%tvM=?_T-lO3Zcq7y&lS z#Cjk!t1A*DWMdLxh42N9A7bet!q~R428q$Pk$w>)enNS!6#xyYKG^X327B3y+%swb z{i$+jcvGkTfpGObItzJBmlA%M%}xkN_r;%v;+_D>t<`rT)K7poeb@g+sGM=mvF8_u zEXgdrp*?tB!t5x62u~hymZFpeS5Lw?rP*!lj$fV^ED(Xht@wQK*aKi#Ui2zvL$s9A z4;|(>^dg(4?4KH^=!U7Quplm-}< zIS34^K)QUN?CZ`8*BrclQ8Nw$td4?#4+b4KGNsQkJI?X3viYIO*a_9e#IwrJ)IW;9 zZ~9Pxp}q6}wTWn_mmj36B8@;P&myUbF;d!ZbE8_*NoJ1UtQKz?WF>}`+9gxJox7MZ zg93N&C37vsLN`Y%X+Bdv!zQ1>uOji^I>v!V{~ulN7#vyr_Ib}tY;%H%lTOmHHL-0^ zY@0p7#I`fBZL?$Bw(Vp#``_LB*}bctSA9;MQ*~Z-UG@2WaRm%{kuBKx!@tuQr0ft} z^|LBl&k}_q)_%$2&U-1`|1b`Q9JnCpHg*k9|KZU?j(4y_2QdZM9{W%R zIR?!-hRWw6gK9-DrH5D9ypc8XYMENv4e7oGRK8tvs`RR49;Q3fF)|~xqe4wI4s>5h z0g`~{Ep5i#352*seDfrt=*h6vzB4*Z1??p?m-vfE;lczIh_FM>GyU0<2g{I4X{jb& zv(!qu(hy}vHLwx6@XgB@nuIJfcmBMf42Fq5&ogj3;bAPbvuBiUgkBGPl_%A|fPcfR zMcz6|%ep%Y&q&@hJwj+A!wy^#tDbp+et}jK>~KSjK4YDcK`;aTILUQ<@n|V0qf~o| zhp>2R_ZDj$55Ge`ZbH=#?ti-R+mxdPgW@f;o|}KJT%bVTb4D~C!7A`pt>7Dhrj6~I z?u=o==9od%MsrA4OC^Sj{;p{0@iM4WmEve_vG}nJ{Wh9**u^NFOhS^eTHC); zVhi|>*03jU%qwx%5}a%kCBO+#Q6}EL$4s9De(fn=hcDW&$2#n>-L@h{_}g(Fbta+l zM5WKa;U0;T!AO04kq1-@*ai{=dO7+@FF#cVdm-usBi`KsHUtptufSjOU(owoBZHFq zEMA=5T9J7tzTzn-S`e?lK658uj}?6)R0~OtJF{1gIfxFhVZ_+%N>b^a^EzXMsGrcU&M|Rike{S)IS#NPJ>D z12r|q9%HdsLLZRh3N&doax}F8!9xSABCdtpWrN%z$c5=gn1VDiuf^39jlmhGuF8t{ zKqbCL5&-r(g}Hfw`x&YFX!o{R83Ln@DbhJ<1vujpLz!}$1luw`vW1q2yonvmA)<^h zq+Xp|h!i)t^a#Q&6u01>{xOc5Yec_fWSTi1Q#oSfl@LWHaonIVFGtV~K+%;3yUU4M z;d2cM%N>>D^JYq+y{IJ{{( zL#2jnthN#A;b!oe*C7}{vqo;!{MmW~9*tF{jdYpa_LaNB_>n%C5EuS+* zn!d)SJ_|gMvT;q*Q!L3$Dbxlua9Mc9$gPO(H!Mh1kgh|$TPCIkbtsjMuo5JuG0ZAJ zm$X(^D}i{pW_QcyESV!oZEQ176f3F^TK!Aa45kfj^fF7w#hZ3$2=bLJr4e`LR+QX^ z#}i!9&RMsW!>*#W1hL>P{kCabfYIx_S4+H=g4`XAGEd_|Zp%OBB{vvSSX!GEut?%{B!MCZ$&s;L=&nR3Jea=#87NgUS-)VPnZME5m zIPbD@c+`_Fbfz-f?lxq|*Tq%cUt+lB#OTIFGscRbu1*RCjG%|%8-OZ z>+wd+eZ%7Rb0uZgU9y4a`-!52_tavX{T;L>C%gx5*|p38MKI2PCHpv@$8l^>o(Y-i zD;)jTjyb!V^n;i@Qkn_K*|vo6>=w=^^3-!L+NnT~fV#ViwmnOyI`oTFf2@%pn3wDZ z{4E^bhZmNfVZUz(eif~q_8G~OAc643Ju&Oc{$Jn+7y5>)67_^YA(bH347S9(jRHun zH7odtMnSYbk~o%2vOxPu&J(|tq44!d`i}5SQK;>Cww_p}WK2@|M<~hR*ZPQOh!loe zITkMD-QShv2~H?x#Y|mhxLEtBvStSc8Yn)OGbc^QYi>gi?6s+}g;{^bCa2vZxuMoq z?eTN73*H~->d;{Y8Y~yM(;M?0ao9i`B1BF>gOoZRC0tN_s*cTqbzx`VE#f?Vn^+ZG5prtW0G4ryAi)*y5RZ@v9P6eZK zc;7iLTqZYlmN~}UR51FS{NU_9YznQ?E7tud9@sV;@Q2GYRcLx%L&6Z73@fCt26o%8GH;286n_ z>gN(iZ{5~~6q*fBICph+wKsimITfu9I}ja$+X8f)8R6O$|EQ5y-l zh)^sDDJ58p2{EPib%y=xROPq)dk7owF)eJ}ccxv_*6)JV80J14LC7`ps)G& z(7oF>t(gc%$XPNFyqOoEo!w*GO7RhGvCTcUJ9@onI{e(%mT=b_HP4u?pD5QhcZ^>i z$l9Y_uTf&O^>YP%GlQP^Jm-{tdeMRJQcM8n4erMdqdK0wGe2MH%x2@0C_P7JWaPCc ziY_%4rhUWZVCW1y2jcS0=+#LC!v5NkT@y2Hej|ND>#c^3W9FhxqL)As5P!nfezDj4rF^C%-IcGOy5!8{j_dW#UAO2r zrU%2!gJ|rE+l>s}v?_7{*12qr=xuJ|nuH>m?FuYE>j=)x5HoK?u^<+>y2B}AR4aUU>ll*;Or0dM zfHipICllb{$2X^SjQZ zhMa8g;1FE}5Zh;rz6cTL$eSpa7%0kQnE;I2u|FL#)x0Sf3SehJl`gPNZMG)mm!E{*kpOR>$3I>VB2bWC$ zK$(VuCg@Li>D%e!Bs?6Dx9?L3LYf8*`wwyCeb9@%cO7kt%|UQzl8-1h&`y@IW?YwM zroJK;sYD0BYYeYhVE%fiN2kDh`v`ad-Cn)+H-p}Ew$#~4x|(jUR=I&)7F&m@F`GOd zpH@Pk0K?OGTFhqK=M4+6%kioVH#>Wj26#IbUa-R2C3PNu>`uIGw#Lwr;?kAhyL|N( zk|-Ee4?23^zW!T#bjjWDn!DRp!xrw-lY8B>CHuA zjQ<>)54a)!r^U(kaJ-caxu|CA&-i?p(ct(UW zluCca57qY3_QX)SW`H&A0X*c)g(Ogq#}?##ug8&Z*sE{_&H)#%Qf_}uF43t&6NxzA z#=A|4oyxad1>$(NPr5HTle%r@3q9w$0B-w&cTUM}xBzC>(!B6``Y_4qIa?s>~i z9JVq3wgw@xGz)}jLZS3uap}bL!sIpM4jx`B_?Jg=-fY3cD`FN@V}k#xFz~h2h%_V#*58k#O&-v+9b=4_-NwDad!l7VNGJP zTY!-^9h%QGrwUA$bn9_*J=SL_SP^-&jM`N!`aL`$!cI?VI+z=4%w^;1T0CssA(H~j zc%$*4@I+)EiZt{c8Kb8V_aGJM3(7gA3aUt{2sa>t+4dQ_pjFayAho*0 zb9+97@WC!!6`j%PF(P3y1A`VVe5XuzB%WHwLrwV=VL&!>fK=1m0rIgRICE*zURv4y zP7~X8{QjL46=}lTyQb_3zO&Sj_(I`|4NHG;7ZFC+R*@v`*tiF6KVLs3oujCC9Vq2w#D&G1v-AC_FswrYO#um=0)>Ks|K>;- zzO!Iw^$A&%2&dPHPrORTp^E&*R-USJHT?3P`pK6;uH@;fuLPvRHQ8H=fz|g7W@{$r zNotCgUD%=neX#tMGFE^D?Ne%4HfR?I5EP@vL>H{TBMH@|bZzw}2DZEA0VIcQ?xFy) zdS~IY6tBhKB*As=a^PEcL2x)HnDJv8nB$+U(jFnea;AB}U8Brm6U_s)zGd4NVm0WJ zEYI0X8Gx-~wHUNrxDYO8t%V~K$Fq(ha!V+BL0DG~C+)Vrn@surknyevlm^tR=HqUz z5xgjd(K!5j1|8?`%>A5cZi}|66mX7zQ*kM{htYyZLY}DVn4nv4DncI$Q4*;Kw6#XF z5jyX#do-4r>=4m2}*LimuPXPWnQ`U1+Mto$Bljp$Soy%Lu0ME%rAf>$mJ zyLvy`BV9B_>#D>dg*ZG1DlDy?b%9JUld#J=l^I4Gt<8oOTc_s>U*WwM51OnW{>Mi< zMMnywB4g;n^JTTfuA;7N$Y#f?qHTKC=ryUKOYrv5sd1pbxJB+og{3ia^alz3@dc~? zwLiy`AZZ98omNX5_C}IRYCGrGf&_~7o9AUAFEzHdl61(}<&APy5JFTYIaQ^832d-j zR6eB%L71XfI<9SJEV!uH0U_9T&Ka!{$#8Sy;>Px=CVwj|Ox<1;EVMa%ml|7Urx1v(8#VGgqaDIS#@?q)os^^JHcY!>ID9*8O z6rS^jcm2<1A!=<6EZH*;GiI#~Ex^O4d#pxAZMu^Qh0~pR$ z{m4>yRGlUq=)7~ei2`^Exg%>Mi|%bCbxL4`GFHa)`G$Fe?CTMYQCj_(gfwXr9_2<_ zvzZtCcP~jYAvnVV1b>rZ_QU@1Kn<42?kx$%?=gr#XLqJBH;d>L^2_cERL0%CpRZ)O=l+YjCIFj* z1DnTUdQs!7bO(c^d?$$}&QcDugmq2(mC9Hqvjk%uftUSFTweLzE)=W^>cP=Ab4XQI{cfwkZQ`nCc&25aSw@i zha-33g(9#EWU8gm>-}YK-R{=p#%*z#)5b?`u**$j3tzL_e%3FSIS`Y;-4ja4A>z2( z?-0j7vt;p7Kg(V*n_rbLn_gc)v1Hu2-Zl#-nUYONaz63s!*cs>)|vWj`n-@n34-dz zUjZG8()05}yOp;9q#C6s(UI+fE&GxzM}r!SwK`7t^!lBp#&I? z!58LGb**eCKWy`Ui-v(eV6wFN@6IuxeDKhD@|Esgu|O9Xstxc>;=9RqF4FGjO4F zY`2q5{l?UHs#Zt;eeG=7Hkn1<%Hi~S+4@!CiZ*TF&k7)4^cJajx_G8pjhz<;afA8Mg9 z)ecSHgxNC2Y5GQz9@;HiQtaN9hQ?6DpHoYJ&@VYDasYdCM#_^I{9QViwlt}EqO?Lq5R&X;Oyx9U+OQ_i0W91t zrS#QLYWqpaNN@6*q7t<{?$WC%y2v-y^fGhJT9zVCT!$}CysYYZ9x7GS-tgvgKO^z! z|NbFZ#HY^%lnK7yODMq;_#2J7=+Ch?*mK9GvTe zrx+=!!zt=vKjlHuVh)ciwwG`$!#ViVD(I=Gp{$GzAL(p^P>PamMIt?g<>%JYDjm5w z*1w8_E;f7{5`I%j>KG-Rkv87~w}RkCi~3AgR9lZ#kmn!`A;zVx+^s=0cT*pGT~Ovk ztJ`2olz&Hp1b8NpB3>=^hLl1ofq>%~Ut^86=j4f|H{z>9k#T?n3z)im%O*l%ZQNs2 zOSS(+ZA8k&^5sZJe1x44f_D&!*6t!w)>^nF%|E2rEi}PLB81Bavx)L{R4!oHn0vof zZfz6@+OcGBvDWO;-PdA_W&sm zyY#ch1#-#mmtB-AfU6?)EQ>Pr&Wh5X92RYdC1dvu}vRVVR^D*0?e zTazbhp*Gx0j!@azb=4Okhonl~^I9eCdB$@Tn#hd%5EZ&#(mWI5AW<3Q}p4dzuojv?AgV>fmKdWLzPP@8jP+mts7GIiLgubI;WW!}Nx>6B$T zQi628&^qGL8ptczUZf0dcZQy$JQHV`txdFc~)|?G0u)5u!6# z&SkbuVPq56q^iO%?+4Bmy@ZBId%&xM(%wCUF&k^)k9`~HeZxI*x@58$BHb5_YZFYN&DGz`HK$J)9ve z_xZW{@U#9BuoOHx=vvAAn=SQXOm(`J52)$w<*ULgyksIr~1NU>>_$!q=i_Jd2-i0wb{a1kfGRg7#<#@U9c)L<7BzsY2GVb_a~uJaL_=op^Zr7wp+< zYCI7XIo$dcRXgSFLmYjeL!NM{g7L%M=fWwve{=%hTkqghvXc1>n@j>@HZO_4g1UJ> z4@4E{_kO0IXIC`o?e25&F1nAetr^gvjNeYq2E2r!l_xl)9IMh(I5vQiq+btSyyc}( zo(`V85A$E&>V)ol!`Kol^G=rizU}Q?kYRl+uajwvB2T~Hd#;Lt%H!3!(mO-$bDlq* zqiEmnCygK&{bRn=)oe}Q=lmAfdb)C8zdlg{{RFl$&u!UFaU>$w$L84Fa3uY*1?DcQ zKQ)9e-QcQSoh>k@H!6m%P53Tt7dsYB7-eqgp<220uZV+F+_dqkP>JX3go&?JG6U^QxJOjbFyUKRBo1V}+jtmUhw!i2^y>+3y zl}B+mQhZC3v-1YDVvifp?fZWPyADy~xlZG%*xH2L3wG*7$FPfF<2p{wP z6njwq4E!Oq}hn+Y-~JC26Nc zSF5ABnl^F)20$s3Y1Gmw@iWAGsyEJ$Xe z?g%0|rs5>g?d_=bkH4{AqhjcPzj16A*NaxZk>mYA-0ijBX0LV8hsPBSv+uS`@+{b{ ze*lp@xgBuB@>KnXcRUlBZUE3f$?VN`&SusoyH^B~n_s zwlE={pjG58$iJ$eiJqik=dVKC!rO<;QkL5e-yzBoHqV!y`I5`1$j~6cgDOmLTOe10 z#wP=npOR17b2#;5*%{AgY*9j9ax)P8I8NXx=!q>^crYV9^ZAAy5nnHMQEHkjTnj#4 zQVInKn7yM5RuQOjH0mF!Z3h_mp^HV);L#?m{$eTktGn#SYgO6JZ$ck+t3z?2lE#TI z<33e3*7HLd0G(io$ixO!gxL#M*nT!h+Z- zZ1z;uB+g#d@HjUU-X~oZz5A$0(az@I=N`h((b`u#7+tPa!og@2)W27 zx!TPIm+bi!L9NV^S>TViJg2p`yRle%Jg&4`({4;f?%4M)y?=mo7wBtSxUoY&moO zj1HEuCVnY2b1Pq^r z3@eT?n^0ps!|S5u@Z->7lJ9ngfx(xsn|TF9+>gl11=V()5GJp>)#RWh+W8I5n>(cF z8V@U2g+Pr7w;#`2jn`KkjD{tyN}%lEhML`XsM;sUZE{pS@**RaN|?{Plqc@F62A2hK(a0g;?NNn=$(U#mY=`gbh|K55sS zqV#`M!9{|KNb`0s|MUwKKjnmhRIdLQX%;`JWBn`Kaq&CYRDBB$BMznbSF$q*@Xg&R z5`07aSFqEi`WAh)`48~a_2UCXETDb`E!cQQE_hj;Y0PSN4?K-_T^i0mE~iYWk~C4e z;7+p8Y7Ry8nSv^oGN*f zTfE(BN@-xcW6Em9&BYV%eCEx*V)rQGbj{Ba+oY6gJjb?U3&;w0UBLr2*(IlrX$Q@! zW|-LPS1Ia~sNo(GNq)tswmhp@lUAd;uML2VR9`R>M` zjknRzj(jWo<6_xsKfYd4Zx+pAgNIl+>hdNV05{8~q$Um+d{s-PMkUCq8d?hGsDao2 zp@CcDx?NMV%4BQSjc*L9(_zNpQEx*Gspc*WE`jdk9&}*Fli|v$lw8;)SsAlp8sH zfMhmw;9Q2Xbu?mCE_W1jV7TS08vDH4*Hb2V+pT;i=90Xi^ja1Wzx1vQDwFHmcEmJA zQ;0?#0|(JDI}*FQB_N)K&`l-XGIX5-&T3@GmA|iir6$#doF`7VNeAsWn~`q2sW+rF zCy(dLcypU4;XkUiyGAwimnw&Ko}gx1wrq8v0K9JxR`_UuzjPptZi(@L{Vg(&k;&|; z5`Asw3iC_`=`8}t%;*Eq`&L+%wv&m&?_?aM-x0@Xx3-*i#8_grqn6VM*>={B!O@g2 zqH#*ae;fV>9%+54$bjKuOIOK4@e3(NxVYhKG+~!=PddJD=qSDs#UJuWV|Z$nLPahb z{1R5toWEjN{oiunFtV%p&9u(SVY6qk`3vZM0{FzWJ$H^l?)i%~v$5Wnejm*)TU*_J z`HAOTG4^&L1Q#rXEOG2ht^F(aXSuY5RSE@S$|Ygdg@1XOmf~>hp|vCYKC*H*)?)L- z#S=VWe9m7&K1%>ZxUSf$sOj9wo!cqm%^je%L{wYQQ;m?2u`%I>8&26u3oQ_>^K9C< z7MW@@3s=oRRF10q`RW+gR-SA`i^V}g@bi``;w+f(R;=+SEyYoAK!XS4Lmu>S0-nlG z^fa9%h{QJ!6GO9{GY5_ve8}q36giOo&lw5fF=_6>Z6D&Ye zw$ae;cZ*aGIY%Z-+>+1D5jDH?dL5|RjrP}f57;1s&QOfsNw+I%{Ji)TKjfxLjO0z& zDh$Jo=Igcc*y`2tT>6PtesYA@FAuftd&0o5S(5SN?YC_7_mmfplcKbv^Kl+^%;*T= zRdgRZvnGb z7?s)eHwoB4#m2pS&P;?f$`ry$QW*w<%luRWOtm{#F>>3pb`yHSo=*Y|Yp`0OuHxHG z%lbM((l?UM<4M(+qate%TI^R6(I!rJ`vRgx_7aw4O_5o}+jQC4ctDdksaw5?GBVZq z$6RHRhPsn6%zA&;XcKPd8HweBq|s*c??9L7>(P6BYhL{+%^|!YzD4DlY(X8rdhyQU z$q$<%Lcz1bOz*ny%jIAW?>^k;4R1=IXUI{~x1Q3|!4j)Fdc|w&=`zT8u%ocXx-&>s z7vl$Q=}zPcWzTs-L>8`rbW7%B_WRx|NBSgCs?{jlU(>yNkPN{zstH+S(s`7ACq9L$#qx7y>}cvB0cGs3Jsm; zoTxO>FRn>R8|wI3HyqVw8_Oism_Z`gYtyHR00-(Ymt5Bf9>iIs?^ZN%sH&9h8^L1WY+P3J!oTlw+W49Q} zu$TTf+IEAz zZV20C&z91w7Ohjhn23Mo10t&H*zLT-S}9P(IiJ76qw+UC7!lTUebo4(QSi%lkWN$J6AfY?a#b{Lu?{mSvsu zgzN1U|Bt5rx_TYg0#S6hKq!rB~H$++x(Y_7qoucgL*JvxwlW^;bD_P zGPWzF>Z)Z6H;-)KTMpF0sl@Gdk^lP^!D|GIAk^@fJ$QdOUC)bYx{Hl&$nx2FS`%_r ze5WkP7T+Y!NwA<@d9^BY(4f~-M%=rzRDMOrSIU4lfW-X3+)-a3v2pbEIymP=;YfJ~ zA}2Lx%Hp_#AJn_tn`E-zxn8$S?C+zj?xxAP#ul;9+&kM>caL>gqoj9Y^UkXVJ_tN? z&w`um48diLnEy7D<{zL2#_vVSq9QV?W0*wX80ynFZ3Ci59i4{xSsMR7?Tr+zJ{7l~ zN)BweUAm%9VthP6A7xjHwKlS|zEOEDXVJ*91JYUDgOY5BbO&m`OB;i46lJwJo5BLL z?<$1N7n^Fpeg#mh>3xw|EAbK1*TqOL728tLY3JJ;ymFU#Djq**5m?x^HT#ZY-2F#1 zbE*zrB(akvcH2D71Yh=*9yn6y75IXre7xZJ?+JH>8FrPc@HVBOccdABCLGL3Xx=>V zPXK91&_;Q4RnmlxCl_yIsvpVO8f~fWPfXeo_jx*h_)1QflxPo)-xTIT-?0s-w3^-N z#RQy?jc6_gn0Z6?-63fm((1117Ip|0wz;gk5t{L;Zb~l=F!TmZ<7)ntPRX$?iMcc< zn&t*z|BctG$yEDA1+ETn%ngrQVZiCMP9BuY(8IMeM45)mrG|@Va|fMz_z+my6`+PY8u@SNI_R ztbqnWQ|&oDg}kX|BUAV$g7z^U*F2OK(x6Y-pO+Ub91)_F+>Hjs9&y0MBuYLi;qfzpBx`LZcx3z;*Pl?dm?DVp`>xqn6Vi@Bb%E` zh;l|VmR#WF08hpK(a!<^rCnc8*ESz9(erg$a41iNwE0%3bg`=a3A3K?9--x(dyzZ& zP&78hZ;sd-JdTfVuYmf6mE($yTV`?QH>+h#cZiwq89%#@*;JxcU_@87&C?7staDLH z_2$Yq*&W#&TDZMLZ(Y zFrPpsHKvAI;*^>i{YZ3qd-@L14HacYu)wKQ986#&k*h#&n>-1Xa)n=4-Fv*#Ict|z z+nhz@Y@H+zU$>xHMNvfByoRRp-rn($q$N4AdVr!?!NWeIV`p?=GcV$ zH1KzzOzb5B{5|uLL8uZB3ve87Tzvb_UcAB4B=ogUuN2S!?!x~sKh*z|D^~fxnLAn9 z`YYL|%nSD^^Sb=&N}azjXM<%D8uX7z(*6PGfIx2RAQ8nm=7`HUkhi`(FI5-(@C7b{ zFkAABHRvVGA(W7ZO;+YRacE3N;8x-BcE3fuo<;hAi+q!0^qlN0D#1->>iRr<1*3ot ziO;6jrPt=`#&ySI$M(2>r!QK!x!rr&axMGTsqqR?^A81lC2rduY8Se_YUn;Xj_)I0{pJAo0lA6Q_lOC~ z$0BgqmA^KF|Iq2thh_Vx)bogi2za8+S<^>A_z>$sS$oocoBGqlhWa6x@fs}@076Iq zrzt4a(*+ylhV@qF4^qA&gA!1?x`h7_?g0Uw7; z)r%N?`jZ~)2IVY@cp1K(Y}h;kA&3adkI9c2Bccor4_n(KPYw@_8P^E;>jFm4ImpM; z*;rk}LiiIQ^1Y{p@-qOuz$E|f?*l3BMfVGp((O;)K$LU-s>IoJn{408+2Xj5Cn?<( z;&ki@92Hz!>syUP9U9Vgp($S?bM9BZ6OOc9vCsT(5PFSsdke?HddA%&u3tR}FDfWa zxm5t`fhzs+yV#~JSpxfgAVbrLWlP+#J8zQ2HQs$D0y4Ukjlp?gmJD=X0OSd|%uP*3 z=eZ|uUUc|~ny-8&XK>ez&pJiBhrC%03|h6a@kf0NbP-Mdb_xVJ9Wd{(Lp1ABB5i+7&^F z5BFOWe}^cdRK=9SE^HIaTI}E_lqv!iFz5i z#+XZ;DU4n^Kx`>~lgQ1n1kxskB)O-^3Ihl6LM%G8@IXi`ar>gMzUBZ%S^~8DUhSCG zRnO0Tn|(llqGW+2AaTYRC$WU}4=YY$8EYayr8FOaqgu9?V-X07l=JPHtWZM2J@uQ*Nt9(!bcOzs%4RWFKu)UT27ci|- z32FRC`EUpdA}ciXn4efjR}&8v2bcSsyIM-(ht;Cjy?HlnSRj21MIE1k*jwcEPovx} zMU`|bHt7@y2s}ZMztg#AqGd@G)+%OrL0m~7(WY&_r=j1TF_p)tIkP;==vBK^oq1#U zK{0FcL5q2()P4Q$@bi=(t>!sWNOQ$X7^)@pA!({wGSWKrDg`F>It5tuN?<(8?XQ!? z^DZUdyG>DJ3V2`}YpM@$0VX6t>tlz(iUADKsrsI18H zAKan;ogo5|#3$WsGJj}aRFc!b zrQE{4x9t9VjC6^uRN|=7ZCb0}au6C^^Wdp_E+IscFdLCLD$(fmbsDHAJ)5&<#U&fd zu3p+p=2v_&26_j2+(W4i#>4Ip_Dd(4BjYJ9^jd>9M)5;A_-xXo>sozds&yLDn59l5 z3K2)YEGn+ceCG-HV>5&kzf4-H$CbAbnoG||BO+*)C zH4%7FK1C?i;EBz@;HybVttUp-?`okk?V6#7O5kVB;kkJwrCLN6j{ej+4y#sFNWzNP zIiNs8Tfp=s0Z~t0TgO2Kjv#@Qs25R$nRYga>Z9Y`{)Ryr#aBbP#%{t97qY;{m(vlz zUrjkoVih*O4K-zp8Z_)heR;7SX|q2ppKVWLI;hM$bcdnTB9TVlG2ncrqJ-vgllQPi zgi{fT56#shkp2N#GV5Eb;4k74bRisc+3`R$z;B8N(!Rg^O{%QS7O2$1f4SJFJDt~! zWt!?W57vd05jLsrl3AVDwGf%j<8nQ(hoDcWMvO2;4XdGFmrUhRx#2?4&;~RkIf&33 zTdVDTQ{r*>`J{^B7PdQ`L*-Qt>@Xb5!DE(=ZE3-?S-FvK?lDy1V%N%p%K3nB;#DPyRl3;($g63w}BRUkJho}!AkHyuH3ay;&bvaxPGm%{a{&K9N}5n{A16fw}z zWn}r(i-Gub+P=FQK)CRx`sV}clBuTKjqZh zB@`I6L9I}<4SbN^+y@4fOfNb%#ma!vb0N!z9-|Y_|6DV9I@*sQkRz?O`5Z=#e@C%5 zJX>x9n+bwno2)lt{Sx^Iz1&v+I-Op~r5~&|n_b#|{#aeADb<{nX}Fvlb*SR-ALc5L z0mnNxoo+iUe2VH=2H&Ft!aY^sl|{g2EwlY*S9FgTd9S_Gc{Ti%s0-?lZlEGhMlTgf zV@xMB4)}>mjdF%@$x>IbXVE4()}{2#iA6H9$qOf*=5Y4NJpwPIuSIh8ir%#wYq>sq z_m4o_u9eF4!e}evws52jFX0FKFr91^76;VCA8Qk!&(C3e!RdR$0_RO=uuQJC<(h9p zP0=Ds934zspp|VODmLJKp1=37kc23h-Xb3)xdXE<+>u42Zf`uqjHQ3lOm;hOsP$1T zX!!$d4kCVhz5g+m>sg^oj(Hj|EJLU55$2Kt$H}e#Cw~};%znsxDokuEfe~@>0a|vr zmj}Oohi>h}d}>Y87?(m=K^>dTJl^qi0=j}VxEa5Gm`lWBYQ$0E8pK#w-};@EUYzFh z-YI0|uk1KUe0|u0l6=XoRWa`mj+Y?Cd2Y=z?0nMjxjmk(>S2>KvxM2*dUIu7WwGw_ zkJB@HY;_iYJak}AqiVc*(kN{aa$aRauQJoOkAY%pPeDDMp8V8`#4M@Fe1kD=ghQ?t z(``mmbr~OfSf?OHkQ?l+T9VgN^>g3?Kz<(f1WsOB01Xwi0Jl7!Wofg`W_!a}v5mh{ zZ@}6p_b9WNRxe6so>Y^)4UXip4=sp@RFf&A{#SnIu+Z=Zb*!g7ijUS&Ah)`K{}Awl z;g*p4M&(tkS|>>ScFvqOs9H(SlF$c^zJi69g)Z9NQg09d`UP3`N2&sEu)co5(~{mU z!(g^*;$d!t%)Cxl?XYBaVQ**01ZvT}oy%m=)Mg6XW2x0e-iS$g@ldnT&v8raVSrLP zL6$ohyMnK-Vt8eNzctc>WA8fbJTH#@R&|6#yS}1tsnDew998i7_v6!(KFcdl9`$E8 z&m@}nH`VY2HATmJA;;5G%#TU^F?;!ssGLDJh0Ox;ANN>$>U@Yrd~~}Rwqw*ZcY%(t zujGACK&c@1FVA-Dd#NxKwZ0I2-b*c)R_i*)d#BuIYS+K%R^fKrmzBrEAnaSJ(Z}Qn zE|$gY{~BbL2kE5v=NXZ{+mQ7yq3jYE>zXmiUKXSkWTfHOHsvq>i!Dp!yI!|vMjtey z0fw0s&qgn{H;(o-GPgr&`1b44aH1m)*0x%j|GEki@p!LZTKH=5AMHvXPLYo0%!>ho zR${lQJWe4qdnz9yZrz_8x`ElgAzwORgaP6TX?`(#q8gS$*>lj!D?uT9!YbSm&6r|c z2|^$tPh81khx~#=dlgTl!TfOCgw8*^Gd!Fm@32$_**iqXfQv+F`|PtGh#MVVat83= z9@|sknqRO9F;VPgKh?gTw-kSn@(md$y@21~p4oNa8+z8>+)MqNY({KXu-P8*R{0x{ zpX~FJu-gflBg;)?+bIgV{Yb-)fm3ap0wn%@f@fhnJPNs;&XV6|N2G(AP#98iZpv$h zvLE$O1ek1^lbxegBB>Pf6WvAWyRKN+bNk#Vd;YV{)ztb76oH93{yIa)2%4lJ_j&xr zz!%|p75d46AD6|LD54L#21lG#jySs-VHlqZa-$KEIP*x=m|-vs6`teY_3i$3I#3I2 z+vni|Q6ZOu#s?GsNDM;9&1!Qp3Dn@y!z(UeK=($wIh%yz^#YyfS8*WU9X^q<1Q_8a z+&v^ml9NgxI+{r(jO3ZgJEI~aqG_+~i3qG1s}NA&fi5#gJT6rxyowZ)uP2W)KytUYHm^IZue}Rl?!6xc1S&_5!)KSf{Sort)D;F1)EUSB z6jkon_^r2dhCir4d+`o_o#?EV)p$T4pi@i-jHZ`g1H>y|`m$l=9FCbcK}qu3vNN-& zmy;~1Vn=2&Xzy~_?Ty>2X9T^KML9!OliR3yO)JF#(?Bt|RdcjF|7Ej0IWZij)=x3RU$qA_#KOffSvvmG;2%*>35L9t_IW(Jv=nXQP*{_1C^rn~4mzllK)Sr8}!9*f6~zpCEUR6H`?>-9s177Z3x!ot?#^2Lhk-w8^ z-&ZM$czdFMXF|O|t>Enup}lyUN&Pjk`l3p`yOIu+ zRZZ?AGb|f!!~hla;wAJB_EEffzzh39Pyd8%G*f0g0#M&7_LO&gO%DTTUJ=v2s}7vd zzRL~(${rKL03WFLZ&hIiWsgE6*B`Wu#hzjV5<=_!I<$->kXtj^wBo+ku>~=5G4yyj}mXT{Pfi@1tu_-vu}GfUR4IzT!C zmU6owbnKnef{gRXBG`03GIvr_N)vhv)@ds?T#h(Y0NbnsFAX2A%c&foc;ftPA!&y> zyU9R&jnZ;R!A`82Wsw!P&ZyQPYewZOZF*q=>)Tsn{JuaMulWV3n&+?cm6YBB>p z8=`5ftCM#j{(N%MM<*_%+l2U+>ubuIMR5WU0JeLN2S@5XEf0@?1$l?HgG*hz1CkkT zOWxd&Ou3-O6x5Ya_tahzmE$jTWtXdizaq*{xF;e^U#nxIR-_$dc2q;_9ox4OP-ERl z1r|TbU?dnFW9Vy^@Ql2r`^U*s+eowIQWbug{z;n};$F;_{p*$tW%qPgO;3z}=btLS z2JkT_Uvr1}Afxw{iVNs0OYmBtT%R1I7^em*!9fs{g^3oz(`0DtU1?2!w;;F&)dD>V z^e|)#&B(cB&CO)3=e>K&fpl4e3~Y?*tRR^QGWIB%A!CkW#%L{V@oSGITq@(r$nd`k z3}F~9fzU`^j_E;b&56uxSt!-0^uvURfQ!zzL!v;n$ll(cFkQ{>Ye zX>#iD>NaX(4FSh_sft>OtPJkzN*EsD)MrWSe&>A*Yq8?wi#v;nEsb^ZU`2Zmus+F{)<gUWU|h_76gR$XLIy`OeAp1mD9Gtu1M7i zbhu#%^g6S&Hl`UXCXY05OZ3#u{{>Gwn=>V6t!9}dxiHxfF_7*L#`sY>#oD?anCnVhgu)hBGDZl(F}7x!NSI4) z#^fLz{~4JSPN;!mf!F}=KjB0+XZ=|_qaVAZ5F>8*)(=1>IL6RG&*Xd)pIwmG*`|*Rz)-qD^&&fhCI$UI<61EF8+@xjMq%^{# z1IY)2${|){Wu<>$ksD_9=jcy!0ShIS2r4jWG^)O?TVlc-*W z(uA!6cC-L1`M|REfBK|3h0cIFZ;K*c&6v#3FAVl@$5K}hrg5lKCIR#2a2f)35v}ek zXpWZQ`h&zHP51$gK)PdEV{LtP9Yz3X`K&RQ5#LCECeal`o|h|wWhF}c>6__X%Q(97 z_q1RQo+y?>iClntg6uT{IKS#uAHmu2)YgWrnToxa`dFr04LizF?XsK$m;AXRjH-i< zVTQHy}M_;W*7&I3Yiu1>Ni zf3%ivUtNcSUu(YYzh;3;R#V%~FRas2nCFg(-$-@0-5LRf8GXRtr$++>*&S2Mm4~f) zuhz@sxyq@BO^Be?;cD)-lJ2!weUQR(uKNSW@&l4Z= zLEWOJCL*92erv1tc=$l99rGxih6OY``TLA#Ht>o^zT-C} zpx0=)zacnph^70F=_$nY8@mwV`YgJ<}G&WY$yDrIn`TiYI zvw1#t*JgEXYFE{_Yci@_uxdkZVy)f`X#Ue*;wxWP&LfJCMfiG>W>Thrd&63FIU}@! zJ2v(Qho&2m!W!L8E*Kv(RDj+qm%6tG7`0hiSM6g(SMs+nP&2v`97HY}u{pm` zOw>CnF#urb+lMBU^LqD?E6m|d>Jz<1vSWQQ6znGyebjeGu){&-dSg@g>36jRgh}ac z0DIyyHG#blfosdw>l%M_>er0;&&FU``&J4Or`=tkreoKbEAvc1lyGmMzWA>zDLV$LShGw~m zc*M^ItV{SSRCz8Zid~qCIlka(k&VApN!X?pN3iUz))y9S7|E^5pOIF&)5NFP~0pX0VhWC7dk zUvu{iCSv^OErBygwzA`$m4I>|ba)&_dv1OCA|?$e%BuqYfQl6;&Jpk*M_;kM{!oMD zW?3aUw||U^p)a$*q)+v33MMPN5`8rSi!ww#??K}aG4mua%IJaTAJYCw#I?Pm6_~7b z4AT0eSrbL>szSr5gv+S{#W|&B3xr;k8#~NvX%0*>!nXstv$mAUeue-d8DbNH>|2SO zrt=rY4xI2i{5v{%Pj4y$woFnU2*qbTFn|{rzq~C_Z#qKsHxyAG-Vk4Wsz|oleix|0 z>r78E$p@2hkWes)|2P(wJnkj2VuB`z`7^D&%IJe5RRD5Sdqz7?==3w0c4?OV1@_sI z?bLMZ;{E*>;lp=_O?`lNk56q>^xwP3Vt#z$_~cFWYk6)GhXJa+l}nlyVYi(~0!RU#hje&!`T4U*H~0W+WZCOkND)Z323bhz{q=nWe|%s1}eshtR}U|#_@9C0*j(HN?#G!%ql zX(d+d-v~v5o`5qytysP~&zeutsbE5>96Wd_1>J0Qlw0NvBYCMewD>O)&ysJg(Js{Kqn6FLqi~PGh?wOyp<|f=`P4nu2}5zZEjC(I^Lgys~2bk3=Fm%*YM6KMNbHp>J)>1F!_jY2KQE^FFD`lE=ZDalwM9K%j277?_@D`Wd1AdW>b5Q% zb1$qZf(Xi>CIRa*VFk3gN7AQeIJr?ejnirdXg5u6|7+KJwcg42pgT_5_`x3ip)(Gs zxm@rN+jx{X@ATnd?%q(QhwA?#*8cO8On&S9d|R3D-D#QlvdAzV`q~G);B>l_&{%3F^})X8rDohMj{e1bAQN0j842Jy^)B=$wI-R}ReV z#KUYGQ23)8&udVaRNrC!z?XHaWU1FeXc&&=|v5C1e2%vdM4F9hB&5#cl;P*E`^)GqY{pdMD zC>&Kh3ql`wE-IZx;#X9vc`t=;p0m>F;DqQJ;~Df8MPt3%Cd-_9+X+V5Z173CFWrV# z^R(~;+247V0#Zj}sErb2%o*)=Rm@2pu)-7=RUL<)#HZ*-wF9)5+B3P&>R8-73>CJ|txS`HNwdholub2JpR->tb{kA0O&DpxaUYg%v z11#ug6jrjLnmkt;V@JpbT_|SQbQs2YZ{j8A8*FinO4X{JanE6DCG}g4C{C2tsd2QI z3FuWDyIY~%3N#rHhME`}Y$cfO5)hpk^lNE!7%9t*rE}^e0lx#jV`Ip#$R!TSnrnzs zTaU5s7R;8qv~G^7&T5BUDf3zj_mh~4z5PTz&tA&|1aNqC?R(K1vt6BY zeJwjh-6rOM>RnF3)k|b6+t`3uBqI0&X$-4BVxqY?#K?B*s9WZRudp0aZa>K=XgMi`Wb1exmSI_>(z$K zOh&WPmC&oI&=SK6qStQWR0qVr_dFmu`EDc!@x-Y&QB8(>UTr-d$B zKlx?tFQCwEZ6J%m%uc%o`5y7E+0dg#mTKS|rkjXc$g@a?g<|yT1_kr1DPT87e`~H; zL`DLV9TlS@Zx2G>YT@NJ)jxjD;8D3A$y5cp^AZ+OkZbwP-`QFe%8FZk$;UidL zzgKG1H^Uv-epJ1LC5sHEt?1mUwYd`iTi!#Or1{+$}!%WY!uXrv*G zQA(PjdXOtkNg_RnEyZ}dmTfvdn%{R%86XkBF~!J!&qH?-M>=n5TycoPUA=wUzL#N? zEDvCua9YAA8a0L)SkXbxG$ve%=2a-sqQ!ZNH@BLX#^w_xoeoWYY$-$+$_u^AlSRd6 zuTfqt4JoGN3>`Z~IEK&ees0~DQ#_uA_Ipc|OR@r4yT>|hm9Po9tUJt)-`r=^09dm? zg*W7^g$`REE9^DutK*#Z5+(--lL3t9hS+(bcH0W_uHk24&9dkMq`*-9DG;Ls`rB(* zGbMEYS9$V&1+W24@f;s*8~u^63&}3z>gh0?S*_I|&+MX5t!n`q$8=)3S~f!!LU$MC z#yZ4~Kfyn**v}ByYjmpjH>P*50Y)%-D=d@kpekzPD)vB+{QWzGh^siUBfdMWUp@LE zMcCVeg$OfFis8*vU78-zUB#fUpf^BArm>LE&m2{94ic@!POzcHvCPe1l@^Fx&72{0dEZA-SKES}T^OS}I@0>W())RKku zm#=fH^L8+_bT+gn1xCIMO7&3l^uu4~VKvjuFVfv|`g_iHrbMKY!SFc=wXhsJo2{&? zEAOSVl-;9}+^8&7;}+?SQ7;x>Q zHU&1_0y7qbpJD4es5NzhC!V0@D!2nFjXTfJne5NA#M9=~b<4WWiNh4?GjfuP2xOs& zLa3j1xi|A$Ik~hLZb>*jLNj>}DCgp;<~t@#Aj`%yx){uH7_#LCxa;Z5vzOK4Rjz79 z{;FGi%I$GRYa@!LbYd72APII_)^%RB{B`+k-HC>;R+i?Af6T8VExS!!C+Re;OWo47 z!Hnt8WBu|r{R4DUY=;qEpSM+{D6v`;3g`5r zk8kO8i_qD#jllPd1Lk7mXwUE%5B6Apz>A?-ndPWjK%+&nW*E1afg<<#0Bint{E4e= z7qfK4I&2#b!1dEl`2#pkrAF=3dst0@Xi3o}l=W30)%A0IM`WASQm6FvyLeoZ! zKzl=FbTA)t=!|zpSJ(&FP|=q!i7uV{JXt%mU=MFm^PLtXSz85A$c~6D-AJA>`THcB zB>ad^(*VdSN~}-_DcCde!>jl2BWU0ZTH=nZ(`ks308t3dTz)@Cae3(M03xfh@;>J^ zT&st98F5)?>>A1?JneKuJu#5jL>?PnYna>Ax8Uyqed?=mh(3rXWO`GRXq=EJNKk^2 zk>Sl8CE|HQlh-PdrLv3Umjs-DN^P}!?HD}4bmHyeUhgf_Wr?P2ta_)a60DMs30>;nuRvvYT+DBihl9$_wHP;>MNem3bbhK0^&t4VqKLU15); z&~b#T>!@d1qNKlJxHoX^4!E^Q9J}Vm^rkqY#N;`%y`Lhd=KtE4goUp>vqzI35-pi5 z4m+Vo+pr;=h9@fvkB6Y}x!2_qoq;pZ<#0a!$lZb`y@>Ayue^nK}s;kzUn>=4jO_cd4eyA+JV;kq81@eK^OA6gQ$Y_V$ z;U=X$o$_l2wWp-NO>&*Vlh0_bP%f`0lls7edFm9+>YUA57`FogVwVpr+MS*51*gEQ zWEzjaG;hAnKH0J)!5`9uS9|Y&vt)i`o&uszD}Y)6QvaR}D*IA6|^1?JJrSX2BRIXg2-evA<4A|m*~A}l9Ihey1xPA}EiZyp|j*iQZO zzv26);QR6g#VY7tA?KwMEt!ez0AC+|PyH%~it{dypcb~xx@$pi2O zRgV*L5P&MUd#DL5FxJC;QgV{1a7~Ile-*JzSl?&zPc+r0`Gj2Eqt4eJ;M!!HxO#`; zuwr$M+!#*T{CIxSXb)LvnQF|Ot@6mX!{*4^D^Fz2?#2I(nzxJmJazwV zeOod|2G=1cfQyxOAD3`r%o8r&1`psss?X zr?3s?0B#z63QFy^>>HB&_Orx9O0KZ~*LDidQ*93Oorx{=!Teen2bVbvw&5^98YcvYU3?O< z#}an<8&<{0$moda=2-gHSUQUE^0I`^%JL7JwN@*;Gvl)20P!+)8|;cT?6#`qIgPd# znu@oJOo~)#wOu-c{SKE2fdip~tiAOY&(p34!7qk9SqMgi>jb?zm-F8g0H76ex0Zs+ znAsJIyRXuEG$kG~$9i$UnxfRmqWaZI+F>q`wyfI~rFa8uE`6VxH9$F0$N`RomC4&& zmdz{yEzKpU#QnkS-dZ3DJi+OZpO3{+vIWCqXy;f%PbuE3%OTM_=+{m>Z&1?Z0s|6-iL2cxdYbxhNgl%r8Gb{xr!9lSo8h;Bb zyL}1suYH1}jGl;QoT{QSdCzBRWI=_z_lJ+|K`&ySUkoNMbAo~)z1Ex1%2&fpee9~yK=6}l1;M>KQ}t?R!=t`ZWD0*wJ4jOkpNnbri-%jUU; zn7=aoGSWFZQ>AA|!h66px5mY89Un%@)5y|`)en>#F9_!d&Kv>WTb{lFgFmo~aHo3qvpq#{$B zIv>N}&f*afaW0LBJbq*^_0H=UYR5Aa&(vTnA&un`Lh+f z@01hC0HZoTIAGN~1e1@<=%=2&Jq-Gqg}E6&Rbj$hQJt-T)ELb5TZxfJQ3Q|_+CA~- z+Y&3w+(gy3Lowrn< z2a-4P2G=D7e-EDC;4JPViLdD<=rOeWSo6HuloQjy0`O@V&94oPUpBXzDKG62j^}H= zY4OMtUPx&ur)h_Y_Xw30^Zq*BU3F;#(bW?Voz?50Ed%Wvyn+7+@ow2IHYJQaZu-mS z*+B&4zvjjMI@CS$ST~AC1;wlXhS%yM0a88xfSPdp;D-#bmFX^D17f?LuFt5{70O7C zWzpiQ0_;nz^XxS#qWKhjLUBDcps%c66Q6WxnVULk+rn`9%vzv7b6`~q)X_e^O$~0q zfunGrd^As3KNk4`wl=_TD03)X>?NAWX(!z-B@Ko@*P}AwW}y)aTG19Qz+@LF4FYjV zmnGYA$H=Dc7UMguvox6&otjGkl zkWt|Z>oRFnb&y{-j8est@D+8wE?9$P6}WgMR_x2fcN4oy55~Q53tbtL8!Mc-A8YM~ zN8E<@`3HjJ+AQsGP`Cwom#)PvhH3k!*rJ-W z0i`9fkcu$!WeWOMrI45yCK&~vfJ|%o(!K_Dk|RW(uHT0a1Ljr z6=>jn_eV?%6tr1X9WpF`i^3a?Qm}G12fR@v!Q*PY&pu@v6JAf=Iw!(cHmFo+W(p!D z*(XiW7&4{caT)I4tbWlVs8R~!SUDKxeM&yfcY12M6VbAv#FaaT5#jtv!5B`NS1RwH z6W<9|9Yaig(yW>7_oYk76X*KII;|Z!rb&Ow=hdzlKU#{86O>;yXd01(F} zOcV_xj(riV#UEz%vbi(Tg^c74buY3byAk}&AlJuowM>cg<|nxiWN$woL1cJkTHkS?wK)X+_g5y*vJHNrpO3`Z9aOtx>L*Z^EM3ACWCEy zG1=-n(LzG)62i2?u|*bty)F#205nB>bB3ri@J8NW4Q|mfesSu@Nds<)5G>_#9c|@f z^#4g&K(&RB+OqV!SF-W+C1(#a8LaLOz9IcV?n?J)xsc``D=d!RCrT`{UA1MGUsK|Q z2!dbzO-6qABeyzoKzSXsJC{g|QT@D8=LH9<-BaMRnSqQ|Zye(ACd@x0etFxnWnZ$ue2SVPdX zgHvw)bz$3cUYm{HmlzwRuh6n5@s+<5Pu7t^DA}Qhl|O(}UsZ9_%$3I>jq2LH30!g8 zlt20_3k2N&ziXHow?ug_Ex?IHBb;0T9pVs;sO%FJ8S0-=$`0?!75^kL4g?msF1t9Q zGD^k}AS8E-hdg7p92_;pkC->Q<4mzC-|#mSTobMyASpk0Y6YnGn zr?vXlhpV!DFZCm;6b@4RVl$v(OHpWq@5eb^6qoIzF7#6ByIc=20=PBq5?YK1E}3P= z?S|IA2`*2dae>U!QSnTdB3-D|?265C}hGJ6cv~`GjJYMvLF}ygb!~-Cyg83dT_Z%SU_!iI4 zi zbXfwQM}{SMw)d@`H)LiQrN(g~fY~)Vn4~@EI2OOg6u#P!5TK=rOW!Uj87X5I?@wJv z`bSeee(SU{z{Nptr3z$3-!Jd&V3e=JFHV5<%!svzxw}5v+L9^HJG>;->?SlY_JWIb zkITVg7eb@ zo^LV#vQhmj2?f)NBBvfYILt2Ke$PM{`$OXcrlU0bnkrG}0O|CUOJf2Qc#HwzzcnLO zb8k=3q)BMb8U@C|5kA31GcfWF^KWwIs~YYm+?OxJD474bM*N?qF{1xTIKakdF5m)` z{=K4vI+kcZBf?HpgR}nNqnsXLO_o+0ZX=+q0pcnu`Kr%&Q>shrGvlb z*}X2wiOKSS1rJJ{il{*(->k?dZkhy;+N2H`Y87=+);-0k$yI%~wIz zA0(NJkfm$d_GP;FRan%duXP=@fIHt--(Z&(Hn7fC*TZE?`$fz2P}#f z{WFDxA#@~=pYlIp@c%J`@k2cSy~>77E^`1Q0z^jj$Uumoh?kj+roqM$qwpUOw0N#; ziuA{eIKKLg7vNGw)TJ+_{_fiELB7oI*LHzJ@b@WQP{X{td%J?$gf7AaVwwlk*(E*t zPJ|kG?gctJJvDC;mStpU%G#flfuRGJm%3>{#t#rL#?e`S)OjVaZGA3({;=yWcy`x% z225ZW0n-U0`I~)@TR5v~$2%9Z3r7Uqer%89ww%`m@XfT-z|BJ`XT$|?z>t+DE^_n? zQZ|*Yz|0!R2Ru1~0)%mLh49cn(|5gfEd!*L=c;(0{+)xlh>Mk(PZ^~3|B^xe-#IVJ z|NSo__AoPM`o}W&zvPk+wo?B`N9X?=!`it_1kgm6!tf0uw}q`SR>COfw5|}IR4-G9 z%S-TIl+1ywu4r(pMI72T_sCrP(pdB%{o*Y1l3SF$0+=G6p5dz_*@sG)x!=vm9LnUI z@YzrGx;Q5Wd_3d-w((5rWs$>uWDd0QHZ=soyrsx*5$&rqM@M_1f~aUPF1x$if9QNS z2Gn3@8`Fduqm5WwN$^xqUQKpe(0E5NA@UoC@aU(Ks9u^bA!gj!;G6f*B?peO5inkL zH-e*L1+LaJ^e}5zx0lka)}Fz~2j@C2G~2+CelZt;#;!O!&(e!TKs7ViwT~&B0YQ zEWIjuRkQ=;~b>MgTEQs~%BQAgk`^qMj>_d#)p<1P7 z6pfT@@@}z#7#&5c;KAHoGaTL0mRvo|GIzsxyJ5GEn6h|ineLEd4a4E?cCNY%&6a6f zon52Ah*0_S*$~a_C8r&TiuY+9K$$jajzEc$Z7}e{F};1fu~thhnOu}a=Mb?$SUU@Y z5=w;`k_%%}UGb^YMCaHRp>|a71)u0s!P}vvM#W>*X)o*C>wG*HPy36*DpXrXT4*x% zFd4%gPmFtr+2t~Dl6U4Hx+6p(fSta)&QiU_D&3smn2dTI(`2oHIB&jZdS)4TrQxrci%uINTG>NEnk*}udbj6#7vu^NKWUy zNZbNGr@DKhDCJv;#NHtQyyt8c**Wm1Megv`TTUiQOi=E_?4=7ox<1_Qn@cd4KGGssmMFvd0Au9=5plR%A)br9GBz2ueN3inV9yEZr*whO_Lt zs@^JOB1^I~^ZTmoVn;BK>`F35%N};e7Wftzyj1?4i`5_9f>yKvO9UtnwLH9|4>=i#2BH}mH(4NNugO~^- zewLI)k%{o9i>Y*gbo`kTVrmm>u*c+sXg=*IhJ=cfVqeYyGf9-vs4{70{v1n~M{HIy zdos`U5irrkGx^i<8{^=L=!}^31S*Z99;Gh;Wro-h)q(?`f*ojK60jiQ`7O8g7{?r< zk33?eeje$*zZ+Ax@JU+K%iyAr%lZMz(XUh%=n!N+x2(0gX)h)V=N^A`1T2^x4Dl7Us5d*1jkY z1utWYY)XxC{q5g}^@ELJ;s@lHFM$aE`K0+o&v<^p|B~19Zjt~BHSGR{OlWX?QIrr& zs0wHr4oJ5t8Cf_{)Pf&mO8&Qj%kH%iL(^mD?(Rv+_qRe;1`1Qi0&lDDMOo`h^aP^9 zJfOZ$&oHk8!G{(XgCM}W*B$n6KI)>F9uPF8D)r|LyY}_gkT($5dpZ=-T(vov2jb?3 zw@_%Hf_E4UK$>4}o2}xPX--P72|b>cv87u(ycqCsC=8c-;@mb(qDlp|wtG@<-_H(8 zG%;Yc_7f!y>f6(3R>M9~l8#~(>HJ6UZ6G3l6KTgJ*PmyjI#cxl$-_l^GYQDte1Dw4 z-z!D73mP-K{9LtzF)25ku#5J9P`N=sOK z=6H2UwF1dnw;I&75NG_F89l?8Tu)dVp?Qu0tYtD!`w-6w$NrdCCe+~So;x+&539l$ zl6ilCeV<8mDscp{2L%%pRRa5+UwNm4hu!7SVx||rQN~6o*B^Xc+SsTGAdcrU&4lf1 zP-UeAG_jfwT<$ZQyd(NVN-y3$ptG!h_bKI>7K0H9<~(W5+UA`W#umvucK@7XU47aLth4}Kb?L>%flQ_3$e(iNFL(?EO{hOe zzm+AR@eSV++P5KU;)l|o@WWAs+}M1cb%NR)=ANKCWp})kq;Clr6o)@ZESKl`oAfuX1o(3W z_8Ocm$=8PoORsr?VZiRZA;MNC=6ha8vNkDbn_8pCo4XvO;tjX!O{@y6GBQX4SLXy! zn(R0|cIE2EF5zCyeY_-!m0HWP4wT3MI3kwH=u`HGkduQg3of^@xml5DBQX;l?%w4Z zg-sPt*tdUJuAcj9cD3LSqE)muldg9e#bC_bvga(wEd5%`1~;m`Wu z|I9a-JZFdd?Xa*Qh&TKwb%+`pYns~1ubk3Xd1V^paAIe=QHe+dB( zffXWIXZkD%_U|c$FM<&Cc2e>CFUkNrO?-*ZWgaAFfQ03;O3n{4RD98u!Uk%zfSYAAXB3{d@5VTzJY819cC~G{rM)&+P$@M~53V%q67?-OMg%u>#8WV#b~4D1LGs5#aAOFJDQ$QODDxXaQ-I;J*_-&JDElE>7+RJch+v*h#BNvB9;`9*z%nNl#By26`$Q3=Rc}f{2t<&gp?B7Kx~381!n}eit8wSBeY!LX=uF3bo_06XYI1eW zQ_c|p1HvTDlRUen??&9SJsEUgr$#}LzYAYmxC%yR`mvvVJ0Ne-D~Mlm>^|}Q&|@=!1|)t=&Yp&0#jKo!^&F>U9E`aW|pukNYUKetR4$B2Jb$ zIMB8VLw5i#&qvY;L-WAbQr{smo=}etVwW7rAS(_meVAJJjsX95SLWrKr4fE&688VZ zq(nzBhJQdMF$atV;&c0=VHRu*`k#U1Oaw3v2sL%~cwZiZWFJg0nB;B*FxVtSu-AV< zX!86&Mw4lgz>xpBJl=u$KZmnC!3diEAc1v5{`-}ZXke`WoRz%B21cDM{u2zNsR<3N z2pj^kL-HRu6adWqe2=1+UAS&w7-34lhX1(~MF=8s3dw-!AMfjTLdy^q%h_6PZ8SUC z`mQOR!LBDYV{e0Nq6ofrIJgXi8Wgn>LktvbG}jrKcVBBwvbQ}OoUbT9n|I6K+VVYE zrPHoW>}Q4_ngfi#O#nJS-Zs3CB8##isx{jCg3Ubp!vRu0j$5cm(L)?NDcLG{s?1QTwASk88%mHVqOsyWH^H%ymDTpxQRu^;LP$0lRl2;>#ruQZ^F^ z`;rRpU9AtBLpK2t0Nk3`8*ATXV)vHrOXlFO+G6T>q$BS1ud;qjdwsJZ?u_c9k>Y#j z6mH(Q2W(wjA@6yjejE-6Sv^MeKj<;NYxi|odP?_o$;?x+%ROE?JZ1#}l0DvngDzwV z_2)0M^j=!3&qI zL0kpJH1fjey>z;Q%A~8{6g9im!Z}>2c=oa&K+t?t;~iyi@R(ZBZwnK4)CSJ@qM9QO zFb_>uV|cYYNpy1qNp?s1cDh8LlGb zGOGsr{Cwdd1o=-@iB%jnFElGQvpeEYxN@6QLXIdrI~FpQ)p>`)ywEKLFR9Emy9f_X zz}P+tN_(@bPOpqS?4dwtKG7$RETu(r1fH&4UYsD0J>xBy$y&R)IQe4j@GL4jh5y%Tjtad@d`^; z5neWi_s%BS)TRmWPNSJ)PWpVRUM+r4ZEpwnA{u0)E~_h2&0X#t7TPMfi1ZRy)*31f zTkIDO6RaYW`s04TCw zJQv01Spr$&$&Mb5t&uEoG-9Lz+UxVTPH60RC_|T}6`HFPh1b(L{M|W<1X8Hpjmpvt zC$r8B$yrY(pzu2-u}dcuGNk$Yr@-s8q1Ked)kjbQSdlXlMm-zlo6>MXhZkS8}2rp;t+gZ-~SP#G7oTYQO!o;h~QTWVL?00m+ylAXk zqo_VMH0{n!Z%or~;F0-qg`y(EO`?YxW1d9ZehvcT=*%K6I4eFQZ}j$1<$b3{vlD&2)rvxOI*bz;m;0@&EEfjwoCHR6{L(E?=UTPs z(zH_$;*%XLsj~c<*Xibu^2Exi)=I{Bn! zXYLp>-;)Q$wH{&s@XcyGo|VQQIV4(9pP-R!9LY_ADnn}2-q#6?oN$9bCH#;|p0Nl~ zo$?v&(R2_J%vup{d80zunydh9g5w8D?B+G1O^AP~Em_pRnF(a3aXW82_FE(Kj5{i@ zvWSibFiw3Mnvt6TDMi_SVKwml9HwhLGHzRpwfXvUO@`$VU|eJ;$QL|Ebn<6S3CqB( z^*)S9ZB!1M zFaky-H)z^B^d;s-yO+Ol=6iH8YzZAKn1#;spLwoG0QUh99NJ5BdrPrM@iuG?e57jI z#$qJcCofteJC@j_T36?rCv`kd0tL{nO$?>)Rr|qxDU4iICDJIhk2Qq4yzVNjHmo=X zeJ<6mrw-GUlpBbywdP5ID{+%&s`aCJkfyJXQYa}>E1e$K)&0`~yJE=vdX7E?;c5ET zlinH=fP4we3k3FuR1eRh4a?Uo>XQv@8*+j1By2Dj<(6`z%|Sq>RnZ%Ne5d^>=Znd< zV*2GYwbS*y)44Y?x%N>yoskwR;fcsCnlj&3lWYIa2_B2eo16z5i{-wUnwugCJ@DYU z{gsP8oMUD4iL))f7{#^LR#Fp1OE~?4!IGO6pmoOJw}NMp^tdOmkLvX7;Zd4gP=1x(;|Mzc=nBvS(KI&JNilQrSdtjcbJ{dtafO z5+Sl*S)pNHtB}2Jh>WtbrL4$IviiUGw%q^E=fic+^L(H4oac<^yzhC=Ip~pa2RykC z9sOyE7gIUNgC<`avmoWIpS<`Xcwa!XdW}*=`9=ll@gD=OMB_2)`=YIE)d_GVk<8C1 zFz{>u5$di%Ht)2Gf!cl`d*%e-Zr#My@k#N&FY5AFU}1fIWk0espU+1JWG z?;}h_q@0i!JC+1LR^Vb7OsRe;l4^&o@Wy zjF?Hk;cb;o_~9xK?@{IOAgA6x z`;lq&Y57!-^Jo2zS6`P0)X~Z{BeqV0k&YTFnRU(t!pMD8 zc&W!xn5~|a<&o;~(vywdoI9MTc7alcUb~FxalUa=@q$vW`K9OuW0Y7DE9C`s#|-^9 zel<@;jKn6_NG0Daz8id7HL|@{d(1kkwRjkCDwwUyHN25@mKI);{b-AC z*$<9PM4b(rt^88|HgT|NMHXM@8P`Pb)ep__Ne7IjO7N4W67_@K#ji`}@l#u@uFKwX zRf$e&BJ86t7EARtHYK|eQmIvxT)6GQ40HAp=70^)n|y{Bzb)Rf`EY@iG+FN*GK?5@ zOqkXGYht3;e1V5UsbpWaKD=qy!?;w)qcyjC%0e9iCBnd1`|O$BL$LzO`|7qo20k`g+` z*AC6F{KACGp<}R(7j4jlwNY zu_XBUFrE8dwfu$WZ{hUhx;eds7ST%|Zsdtf(QS>w5WNx)8~E7iAI|a%Of^Qa?2NYz zM(54A5ma84uVLDl*heb5HS3Qf@1@1rxHUw*`WCg&x@t$o-fm@X&(WY7<6iphR+QN` zH(x_{5wQXxy75L zt6s_vFQeQ)PN2Yb_F*c|(QiVN;?9X9Z??DO_RzZI&u*c}yS1>i@$Iarg1-v&izAY&i)s|#yWqhOi!R=d_ zT2quep?k%!;%>D?CSMQrq%a?n?wdmT+}Mq!Z!~oe5yE-Ktc`6o7FrWTAFfRqbQf9f z+_u!y3XV;@G@x8?PkRYwEbUt>He)q-&KW+{USg;%nEamq`#L3+NlinHb*_?ljite? zY<2Do!?4|s-bT`l*s%JJsF8~Kp~}8YzSroM+dieB<=~>!`Kx0t4{nZ`Aerw@^?Q;V z$EeuJ2Y>Bd^ybg)JxILzL@_~KHd);tNjX6v@8jsT(DSJ;qcdAk-DjCJhvg8udqL8j zwe+V_-nCGw{Q0{9NI8+ZNK5ePx33)()R()%cjcozC_hthHFi-(BwZfp{(0@$ZN2`N zgHcn32)50NiQ@0MUPJOROY%say-VBqTeSg^fRRLd>sHysS&kg^SzYU~CtC#Laqm5x zrNY}Of{S~7t92B#zi59Mr?Rthwp>gt6I(U9Kr#dEec}vax)ScY7Ze5lJB6m&ouY~hxyHhS3=g8H*P3+GQP_J@0eYJN^ zMU|mYb{|E&TzlIh^L#7alCy(3o^Nw|QlCL-H$Gsbpi$DADd`y{$GI!dAKdyV^k+=n zlznz^bM~z}jJJp|E9}f$AF3_1po4(IxQ{M;_~L0KxCmk&)5($NZG9Y!eXhHR*}2$y zdl$p@yjh@V)}dsPfO-=b`7*lW>2jf*V-loiM5)8^$}&bHKBc_TB7Sy#_}!>UtY7pC zZmsOlcVQa~WV^Qvoqk075xrxcojHDZ`%o`KztQ`<_9*X{wv3_7R}Z~=4|@FBzZXFd z-pF;n+fQ~z+Em~R$k)V~Ql2!uU2A%D;?ow~wY-JyU2AO2E^(r1r*e2L+S^D?E>!Z5 zl}B_T48tN_3i;s($s)1^or%0`H?K9lGi&88CA^-}5zbmcvJo&^gmlO%v!>Oofr_;d zvs_B8OQVb9f!AOs3h}aF#nI7a%IxD|;^?lv>l@XA06RAn(!6+>!qhe-1ZC5OUN5)U zHeg!levlzcowltV6TWSUSgpzk9|qZ_lrI(JbGv;-Gw963N6>C}pnTOZN3b`y{P@Ly`<( z>B7JptB7Ha$V)K|nI7XtszQS@ors~d2Y1s~B1wC$cqsQR*rt4`L*Dz&>~?c}il`f$ z2wSDz?5@1;I)6a&!?i|BtaBC}c`NiF5UcMVBEcD9Xz?6|~@8NL0E7K`#=7I#xQ&e2s<1moGtHM()l>0E})mR=Dh&e7rZ z&0~`lYbv*FXTY7Ld)BkEB>N`3jTLKwhIKJ#dDk?^kS)i#554g@%y)>9Woxh?)z|Md z`8R)PUDqdAd3*TkmEGWy#C7Fh=o$W`sATCXd+}Z5@R*unZO{k7-4}Fm9t7*Y3_SDa zgNJk3 zO3$nz<{GnZIY&th3%dqpxC9eXj3-qZFu zRdeHcYBPziHi3X-Tuod{S)P8HeZqS-g<6OERop(v(9QSG(!Jk$%3$kVN}Jti{3-V< zv7fAK1)2U=A*OCEDHI(3N$&hzmh5Ud1o0s zQ@u)}^!9`gq2SJo3<|T<6$fo`3fsYa)96zJA{h!TQyQHMr}QO^df%ZL7vN(DItq54 zhpX!+0$32{o)JIEG{_UqZp|{MKR87p8Jp*lBi=6e{pUfYTrc;9gqe3KCSgWrq+2gX zYziWSED6M&rqx#XLS$nn+iu&e?vJ^SkOhf3s*l_~S!-?Edwn?|Iyg>kkz6@B;(0{K z{tWTj{0`+~*!13A=aX=gTw?=GXDPNb-p@bZ(OIdkBQcpm!KYOZ`H2La>=!;Q@cUJX zJ~N(+8W1nLVX~tNOG10{aSSocCeFtSG@wh7q8@{4TIne9cgZ7eHHf4=)bo}7W8sA6 zDoR>i579(+G?mI9i_{N$$0KUWgU{GZZTOi6j@kFCt*D@L68vjUkS*r*eq>2SrzyqN zurQzP9yLvgT{m6k-`4#aL6WdzqjaZJxb0?A@0#@T97l4?r_c?Dr)c~0QgKO2{gj!j zNd8<6rxH-hdRpkBR+At~sFFG^D1Rj4+RV1r#%kVZmDbXPE3dV=9<5HX0lFyX_=D%+ z9|8|UVz#WL(-!vz(zT~b=1{%nY$9t`3eV8h+wsUqf%y~Jo4=Og=98T28=d2;uJ2{^66S{Z7x|u97E%Sw@KI%3cD*WnvvirGW|y&icW9~)WxVuNN-Ei&*VLvv zwM%|}ujg=ka-QYj0BJpmzjo{}i!~e9hzIZ zI)ytVR!`cE_fLG0w1TZm)n$Lw+fNr5x2dAAFgJs(Gw4^m5H+u!e_y$BB_py@>4{>L zU)d;I^O&;f=ame0`wLpD1qiCf*tNBK#hg&oihzTKS_7{VI0n}$H}~`RL&ayg^fuWP zCe!zq)TE9`Nc4>=6(Ad)Gr~2_epyQLHLPuzLp&zv@s-?69G3C6KmUoz<%6PK%WYt( z-2zeiZ01~-n5@DO{!l%eg|O&T`Y2$KZ%piwbis#3Ju#Z1G7t1S7y%1{-ac)dYkYOY zEYP?__qy?czL@iUMS_B!z;Jl8_G@ zb8MrIclCWyE8;$0zwRwQt4`n8q9N1}T@-q_E7WRU25#vNDZYG>>t`k`S4sWi2^^W= z86DFxx*e}0HXxOZj?^nQAMAX8_GA+A#*d4Shl+CYVV7^&L^b$Ssjfd7`|z~!bG_a1 zG{@XC@4H!I^q=2CiqDko6@)X?d{`{=*i> z`=7#ohFP{&9TH26QMq&8q)=YW?z5&IyY02Ekhs-XiqLk?Le8G_lFgRP^A_p;jw;)> z-!tW9ekCmwe(_0!)44;Y;7(2MoAx5fM>_TBDwMr7D656namp?4@*VS7gpgnvm!l#=@dUM-Pr%+yq})G?p+Y^_%g-557&58 z?_pTHfgxj~T3z!?u1Sq0KG~$PSH^Cu0#?QKk56-cqNn?=+Cw+M$6f)BoU__)`u;=9 zd0OMfG}Ws5LTeC&FKa2`Jo`ZxTAhTZl2@|&xl3> z0j0Cghh&qH7?TfvLn-S?L~56%^^K(Uw+YjiZ540ER5T!i*kawDOeMJIXwXaz<5_Wl zk;wiu;)=4b2LpT51A8|G*kms69eY|Qu{*0Hb0H`u7Pd2}3{lykg%91kxP$8kbSw|^Wb6ts+o$BS1rssaQ7*frfQ z6+o;iTotfB@|E!%po5R0Rymvpcqo4_H1mKcBY+aKwp`U{1oZt{8;*woQrJb}jz9k# z!T=R)%2`w30y8Pz-^dvp9r(cvQ$XtUugGWs{{-Hz*l0t4c^LU_V_Ps3S=|9en5$zI z{__U_KwC3_J`P2d;H3f`xo-;4V{_U!1z3Pp(8dg46S<`GPa32u>%3}C@eJ%$wza+(7al#rMsx`Vww5X1042J-)?j;3^PiPpW2bIkMdQJ?cT3c%ggfKn-Dem#(M=%Q0EMNhI!KxeV328$`@{6ou z0g!@+<^UN%4qO8yw}41m|41@QP*ebp>7j7SBR^N5uXgUP;tp<(*WDbTFm>E=mqOxz zV2~OPFjM_MP2U!xm0@T+V4x{LLUz<(*%;y$mIzz|XKaBJoS~8OFeL%$XU@=hQCXbO z)b5BH(49i$APpSghM4890#abHBS4HTYpf+yAYK+MQT~#Pt(&;FgO}fRyI;EgX*if; zk|or}ir+#qy&-FA;>dRY1&3t2+5u9W|8EgV9OiOXY+lDOd4bK|z)8+xFL{^|djJs& zR7Go0IEEn(KR(-U#S@|wPlGiGfc#gJf((G4&Vi+|WA*<3#*Wc>{_Xl(VsOeHpvRy6 z#S2_Ya8uz16&-%dfw~b3KAZ<5hbiIyF-jqv3c{&bejL5h|6<5Ne`&K#i@iW-G|hPySI7ToF__!wJR~ z?jK>%gODwBpf-FSr*IoMNbdji7H3yTyu8idj4|Rtg&V(ZeDpT!%Q$jl{|{1l0}#Vj z%hBt{jBy~s?l`$%uDu4`TmW(`4Cf9n9N0)OF03$v;~(tk>Eu^%V3J5280Nw+aZXIz z{&zMU9v&{FG6oj{9b+#3pDGi=$z?m^F9dsr90+%X3iSUy8Fz$N$;81>f_>glYr<6H z(X#?{aPo=5#Yl5P2MEBv{N6W)**1pT`S*)(vcMiM@T+=`Zj?HQlZ8bU4hFNqj0x0o z|6M;vHy7cKV!hS4ILsz1q5qfwx1}@H{KfpoV_`NT9SyR_?N;!ANXTKafaxBPf*8or zKv`V>{JQaPW(iPi{=YE{>t21@z-(`T>pvYs+#Bi`Wmuvhw!a;5BRIpG2#yuEu?PiB z)GauP5uu94$QK8Nd;l>_AM_Ylh5y=2J6im`>^_e6u!{d2nFWC zjz-(5;N*qZ|BKbi7ZApd6%TwN(Gi272R(2CtoQvb7UL}OU;R!!fW%^FSk!({>dLRw zr0)RJzYz~JZ^5r0|0M+q(<22-{Q*+U3=6FHhe+T4kuVW_bYLgcNPamN%zTAo@-LDY zeB%w!V4JpqVEXKH$Vs(B6E7K@QoxV$Lot4*u%bE|37*WjNPmK41ItWM^0Hvn= zPK84LI60wUKiJWg2>~40A#)f3f?#m~)JmYG3fR$iID9y)9NWM0+6aJLE9Rxn(OD}m z4y(k$FIMPH4+UrniN@+ya}&~S2%3up0Vk5r0EFP$O@J9oArFKo_Cz=oB2Y6Bpu>`_ zFyt+0R&@kO1g8EWmtx2sq&Q?k@Jk>-i!~Isc9WSfWF{QHfSG1SYy-}Lkkt>NNX=6? ZWq5-{NK)$H>EOk%;NhjQLDLhw{{i2|zp?-T diff --git a/src/com/api/attendance/attendancePlan/web/AttendancePlanActionApi.java b/src/com/api/attendance/attendancePlan/AttendancePlanActionApi.java similarity index 84% rename from src/com/api/attendance/attendancePlan/web/AttendancePlanActionApi.java rename to src/com/api/attendance/attendancePlan/AttendancePlanActionApi.java index eb2d8ae..72c92fb 100644 --- a/src/com/api/attendance/attendancePlan/web/AttendancePlanActionApi.java +++ b/src/com/api/attendance/attendancePlan/AttendancePlanActionApi.java @@ -1,4 +1,4 @@ -package com.api.attendance.attendancePlan.web; +package com.api.attendance.attendancePlan; import com.engine.attendance.attendanceplan.web.AttendancePlanAction; diff --git a/src/com/api/attendance/persongroup/web/PersonGroupActionApi.java b/src/com/api/attendance/persongroup/PersonGroupActionApi.java similarity index 84% rename from src/com/api/attendance/persongroup/web/PersonGroupActionApi.java rename to src/com/api/attendance/persongroup/PersonGroupActionApi.java index d0313b2..61c7613 100644 --- a/src/com/api/attendance/persongroup/web/PersonGroupActionApi.java +++ b/src/com/api/attendance/persongroup/PersonGroupActionApi.java @@ -1,4 +1,4 @@ -package com.api.attendance.persongroup.web; +package com.api.attendance.persongroup; import com.engine.attendance.component.persongroup.web.PersonGroupAction; import lombok.extern.slf4j.Slf4j; diff --git a/src/com/api/attendance/persongroup/web/SchedulingResultsActionApi.java b/src/com/api/attendance/persongroup/SchedulingResultsActionApi.java similarity index 85% rename from src/com/api/attendance/persongroup/web/SchedulingResultsActionApi.java rename to src/com/api/attendance/persongroup/SchedulingResultsActionApi.java index 0dc45d4..5802030 100644 --- a/src/com/api/attendance/persongroup/web/SchedulingResultsActionApi.java +++ b/src/com/api/attendance/persongroup/SchedulingResultsActionApi.java @@ -1,4 +1,4 @@ -package com.api.attendance.persongroup.web; +package com.api.attendance.persongroup; import com.engine.attendance.component.persongroup.web.SchedulingResultsAction; import lombok.extern.slf4j.Slf4j; diff --git a/src/com/engine/attendance/attendanceanalysis/cmd/absenteeismCmd.java b/src/com/engine/attendance/attendanceanalysis/cmd/AbsenteeismCmd.java similarity index 50% rename from src/com/engine/attendance/attendanceanalysis/cmd/absenteeismCmd.java rename to src/com/engine/attendance/attendanceanalysis/cmd/AbsenteeismCmd.java index 79947fb..fdd5de9 100644 --- a/src/com/engine/attendance/attendanceanalysis/cmd/absenteeismCmd.java +++ b/src/com/engine/attendance/attendanceanalysis/cmd/AbsenteeismCmd.java @@ -1,23 +1,27 @@ package com.engine.attendance.attendanceanalysis.cmd; +import com.engine.attendance.enums.AttendanceItemTypeEnum; import com.engine.common.biz.AbstractCommonCommand; import com.engine.common.entity.BizLogContext; import com.engine.core.interceptor.CommandContext; +import lombok.extern.slf4j.Slf4j; import weaver.general.Util; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; /** - * 人员旷工 + * 人员旷工项目 */ -public class absenteeismCmd extends AbstractCommonCommand> { +@Slf4j +public class AbsenteeismCmd extends AbstractCommonCommand> { @Override public BizLogContext getLogContext() { return null; } - public absenteeismCmd(Map params){ + public AbsenteeismCmd(Map params){ this.params=params; } @@ -25,31 +29,29 @@ public class absenteeismCmd extends AbstractCommonCommand> { public Map execute(CommandContext commandContext) { //作用时段 String workfor = Util.null2String(params.get("workfor")); - String time = Util.null2String(params.get("time")); - String userId = Util.null2String(params.get("userId")); - String itemType = Util.null2String(params.get("itemType")); + int time = Util.null2String(params.get("time")).equals("")? 0:Util.getIntValue(Util.null2String(params.get("time"))); + Map resultMap = new HashMap<>(); + List> attendanceItems = (List>)params.get("attendanceItems"); - attendanceItems.stream().filter(e -> { + attendanceItems = attendanceItems.stream().filter(e -> { //项目类型 String xmlx = Util.null2String(e.get("xmlx")); //作用时段 String zysd = Util.null2String(e.get("zysd")); //最小核算分钟数(不包含) - String zxhsl = Util.null2String(e.get("zxhsl")); + int zxhsl = Util.null2String(e.get("zxhsl")).equals("")?0:Util.getIntValue(Util.null2String(e.get("zxhsl"))); //最大核算分钟数(包含) - String zdhsl = Util.null2String(e.get("zdhsl")); - if( .equals(xmlx) && workfor.equals(zysd)){ + int zdhsl = Util.null2String(e.get("zdhsl")).equals("")?0:Util.getIntValue(Util.null2String(e.get("zdhsl"))); + if(AttendanceItemTypeEnum.ABSENTEESIM.getKey().equals(xmlx) && workfor.equals(zysd) && time > zxhsl && time<=zdhsl) { + return true; } - - - - - return false; }).collect(Collectors.toList()); + log.info("absenteeismCmd attendanceItems : [{}]",attendanceItems); + resultMap.put("attendanceItems",attendanceItems); - return null; + return resultMap; } } diff --git a/src/com/engine/attendance/attendanceanalysis/cmd/GetClockInTimeCmd.java b/src/com/engine/attendance/attendanceanalysis/cmd/GetClockInTimeCmd.java new file mode 100644 index 0000000..f70f825 --- /dev/null +++ b/src/com/engine/attendance/attendanceanalysis/cmd/GetClockInTimeCmd.java @@ -0,0 +1,145 @@ +package com.engine.attendance.attendanceanalysis.cmd; + +import com.engine.attendance.enums.ClassSegmentTypeEnum; +import com.engine.common.biz.AbstractCommonCommand; +import com.engine.common.entity.BizLogContext; +import com.engine.common.util.DateUtil; +import com.engine.core.interceptor.CommandContext; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import weaver.general.Util; + +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +public class GetClockInTimeCmd extends AbstractCommonCommand> { + public GetClockInTimeCmd(Map params){ + this.params=params; + } + @Override + public BizLogContext getLogContext() { + return null; + } + + @Override + public Map execute(CommandContext commandContext) { + //打卡日期 + String needGetDate = Util.null2String(params.get("date")); + //打卡数据 + Map>> clockInTimeCollect = (Map>>)params.get("clockInTimeCollect"); + //班次数据 + Map>> schedulingResultCollect = (Map>>)params.get("schedulingResultCollect"); + + Map resultMap = Maps.newHashMap(); + List> resultList = Lists.newArrayList(); + + //当天打卡日期集合 + List> needGetDateList = clockInTimeCollect.get(needGetDate); + //当天班次 + List> needGetDateScheduling = schedulingResultCollect.get(needGetDate); + + //前一天的打卡集合 + List> beforeNeedGetDateList = clockInTimeCollect.get(DateUtil.beforeDay(needGetDate,1)); + //前一天班次 + List> beforeNeedGetDateScheduling = schedulingResultCollect.get(DateUtil.beforeDay(needGetDate,1)); + + //后一天的打卡集合 + List> afterNeedGetDateList = clockInTimeCollect.get(DateUtil.AfterDay(needGetDate,1)); + //后一天班次 + List> afterNeedGetDateScheduling = schedulingResultCollect.get(DateUtil.AfterDay(needGetDate,1)); + + + if (needGetDateList == null || needGetDateScheduling== null){ + return resultMap; + }else if (beforeNeedGetDateList == null && afterNeedGetDateList == null){ + resultList = needGetDateList; + }else if (beforeNeedGetDateList != null && afterNeedGetDateList == null){//前一天有打卡数据,后一天没有打卡数据 + if (beforeNeedGetDateScheduling == null){ + resultMap.put("resultList",needGetDateList); + return resultMap; + } + //前一天是否跨天 1:跨天 + String beforesfkt = Util.null2String(beforeNeedGetDateScheduling.get(0).get("sfkt")); + //当天是否跨天 1:跨天 + String nowsfkt = Util.null2String(beforeNeedGetDateScheduling.get(0).get("sfkt")); + if (!"1".equals(beforesfkt) && !"1".equals(nowsfkt)){ + resultList = needGetDateList; + }else if ("1".equals(beforesfkt) && !"1".equals(nowsfkt)){ + //前一天跨天,当天没有跨天 + + }else if (!"1".equals(beforesfkt) && "1".equals(nowsfkt)){ + //前一天没有跨天,当天跨天 + + }else if ("1".equals(beforesfkt) && "1".equals(nowsfkt)){ + //前一天跨天,当天也跨天 + + } + + }else if (beforeNeedGetDateList == null && afterNeedGetDateList != null){ //前一天没有打卡数据,后一天有打卡数据 + if (afterNeedGetDateList == null){ + resultMap.put("resultList",needGetDateList); + return resultMap; + } + + + + }else if (beforeNeedGetDateList !=null && afterNeedGetDateList != null){ + //前后一天都有打卡数据 + + } + resultMap.put("resultList",resultList); + return resultMap; + } + + + /** + * + * @param beforeNeedGetDateScheduling 前一天班次 + * @param beforeNeedGetDateList 前一天打卡日期 + * @param needGetDateScheduling 当天班次 + * @param needGetDateList 当天打卡日期 + * @return + */ + public List> computeStartTime(List> beforeNeedGetDateScheduling,List> beforeNeedGetDateList, + List> needGetDateScheduling,List> needGetDateList){ + //前一天是否跨天 1:跨天 + String beforesfkt = Util.null2String(beforeNeedGetDateScheduling.get(0).get("sfkt")); + //当天是否跨天 1:跨天 + String nowsfkt = Util.null2String(needGetDateScheduling.get(0).get("sfkt")); + if (!"1".equals(beforesfkt) && !"1".equals(nowsfkt)){ + return needGetDateList; + }else if ("1".equals(beforesfkt) && !"1".equals(nowsfkt)){ + //前一天跨天,当天没有跨天 + beforeNeedGetDateScheduling = beforeNeedGetDateScheduling.stream().filter(e -> { + if (ClassSegmentTypeEnum.WORK_TIME.getKey().equals(e.get("bdlx")) || + ClassSegmentTypeEnum.EARLY_OVERTIME.getKey().equals(e.get("bdlx")) || ClassSegmentTypeEnum.EXTENDED_OVERTIME.getKey().equals(e.get("bdlx"))){ + return true; + }else { + return false; + } + }).collect(Collectors.toList()); + Map lastDataMap = beforeNeedGetDateScheduling.get(beforeNeedGetDateScheduling.size()-1); + + + + }else if (!"1".equals(beforesfkt) && "1".equals(nowsfkt)){ + //前一天没有跨天,当天跨天 + + }else if ("1".equals(beforesfkt) && "1".equals(nowsfkt)){ + //前一天跨天,当天也跨天 + + } + return null; + } + + /** + * 计算当天的结束工作时间 + * @return + */ + public List> computeEndTime(List> beforeNeedGetDateScheduling,List> beforeNeedGetDateList, + List> needGetDateScheduling,List> needGetDateList){ + + return null; + } +} diff --git a/src/com/engine/attendance/attendanceanalysis/cmd/UpdateAttendanceResultsCmd.java b/src/com/engine/attendance/attendanceanalysis/cmd/UpdateAttendanceResultsCmd.java new file mode 100644 index 0000000..9098164 --- /dev/null +++ b/src/com/engine/attendance/attendanceanalysis/cmd/UpdateAttendanceResultsCmd.java @@ -0,0 +1,91 @@ +package com.engine.attendance.attendanceanalysis.cmd; + +import com.engine.attendance.enums.SystemItemEnum; +import com.engine.common.biz.AbstractCommonCommand; +import com.engine.common.entity.BizLogContext; +import com.engine.common.util.DbTools; +import com.engine.core.interceptor.CommandContext; +import com.google.common.collect.Maps; +import weaver.conn.RecordSet; +import weaver.general.Util; + +import java.util.List; +import java.util.Map; + +/** + * 更新人员当天出勤结果 + */ +public class UpdateAttendanceResultsCmd extends AbstractCommonCommand> { + + + @Override + public BizLogContext getLogContext() { + return null; + } + public UpdateAttendanceResultsCmd(Map params){ + this.params=params; + } + + @Override + public Map execute(CommandContext commandContext) { + String userId = Util.null2String(params.get("userId")); + String date = Util.null2String(params.get("date")); + //项目 + String item = Util.null2String(params.get("item")); + //项目时长 + String itemduration = Util.null2String(params.get("itemduration")); + Map resultMap = Maps.newHashMap(); + RecordSet rs = new RecordSet(); + //班次信息 + if (params.get("classInfo") == null){ + //当天没有排班,计入异常 + noScheduling(params,rs); + return resultMap; + } + List> classInfo = (List>)params.get("classInfo"); + + String sql = "select ygid,rq,bc,xm1,xm2,xm3,xm4,xm5,xm6,xm7,xm8,j1,c1,j2,c2,j3,c3,j4,c4,j5,c5,j6,c6,j7,c7,j8,c8 from uf_jcl_kq_cqjg where ygid=? and rq=?"; + List> dataList = DbTools.getSqlToList(sql,userId,date); + if (dataList.size() >0){ + //有出勤结果 + int index = 0; + int i = 0; + while (index==0){ + i++; + if (dataList.get(0).get("xm"+i) != null || !"".equals(dataList.get(0).get("xm"+i))){ + index = i; + } + } + sql = "update uf_jcl_kq_cqjg set xm"+index+"=?,sc"+index+"=? where ygid=? and rq=?"; + DbTools.update(rs,sql,item,itemduration,userId,date); + + }else { + //没有出勤结果 + sql = "select subcompanyid1,departmentid,jobtitle from hrmresource where id=?"; + List> userList = DbTools.getSqlToList(sql,userId); + sql = "insert into uf_jcl_kq_cqjg (szjg,ygid,fbid,bm,zw,rq,bc,bcbdxx,cqzt,cqsc,xm1,sc1) values (?,?,?,?,?,?,?,?,?,?,?,?)"; + DbTools.update(rs,sql,userList.get(0).get("subcompanyid1"),userId,userList.get(0).get("subcompanyid1"),userList.get(0).get("departmentid"), + userList.get(0).get("jobtitle"),date,classInfo.get(0).get("bcxx"),classInfo.get(0).get("bcsdxx"),1,0,item,itemduration); + + + } + + return resultMap; + } + + /** + * 没有排班处理 + * @param params + */ + public void noScheduling(Map params, RecordSet rs){ + String userId = Util.null2String(params.get("userId")); + String date = Util.null2String(params.get("date")); + String sql = "select subcompanyid1,departmentid,jobtitle from hrmresource where id=?"; + List> userList = DbTools.getSqlToList(sql,userId); + sql = "insert into uf_jcl_kq_cqjg (szjg,ygid,fbid,bm,zw,rq,xm1,cqzt) values (?,?,?,?,?,?,?,?)"; + DbTools.update(rs,sql,userList.get(0).get("subcompanyid1"),userId,userList.get(0).get("subcompanyid1"), + userList.get(0).get("departmentid"),userList.get(0).get("jobtitle"),date, SystemItemEnum.NO_SCHEDULING.getKey(),1); + + + } +} diff --git a/src/com/engine/attendance/attendanceanalysis/job/AttendanceAnalysisJob.java b/src/com/engine/attendance/attendanceanalysis/job/AttendanceAnalysisJob.java index 08a9299..d850e93 100644 --- a/src/com/engine/attendance/attendanceanalysis/job/AttendanceAnalysisJob.java +++ b/src/com/engine/attendance/attendanceanalysis/job/AttendanceAnalysisJob.java @@ -32,7 +32,7 @@ public class AttendanceAnalysisJob extends BaseCronJob { Map>> collect = dataList.stream().collect(Collectors.groupingBy(e -> Util.null2String(e.get("userid")))); collect.entrySet().forEach(e -> { - + attendanceAnalysisService.attendanceAnalysis(e.getKey(),e.getValue()); }); log.info("********AttendanceAnalysisJob end********"); } diff --git a/src/com/engine/attendance/attendanceanalysis/service/BeLateService.java b/src/com/engine/attendance/attendanceanalysis/service/BeLateService.java new file mode 100644 index 0000000..841a25f --- /dev/null +++ b/src/com/engine/attendance/attendanceanalysis/service/BeLateService.java @@ -0,0 +1,15 @@ +package com.engine.attendance.attendanceanalysis.service; + +import java.util.Map; + +/** + * 旷工service + */ +public interface BeLateService { + /** + * 全天旷工 + * @param params + * @return + */ + Map fullDayAbsenteeism(Map params); +} diff --git a/src/com/engine/attendance/attendanceanalysis/service/ForgetClockInService.java b/src/com/engine/attendance/attendanceanalysis/service/ForgetClockInService.java new file mode 100644 index 0000000..e753511 --- /dev/null +++ b/src/com/engine/attendance/attendanceanalysis/service/ForgetClockInService.java @@ -0,0 +1,16 @@ +package com.engine.attendance.attendanceanalysis.service; + +import java.util.List; +import java.util.Map; + +/** + * 漏打卡service + */ +public interface ForgetClockInService { + /** + * 全天未打卡 + * @param params + * @return + */ + Map ForgetClockInAllDays(Map params); +} diff --git a/src/com/engine/attendance/attendanceanalysis/service/UtilService.java b/src/com/engine/attendance/attendanceanalysis/service/UtilService.java new file mode 100644 index 0000000..d9579a9 --- /dev/null +++ b/src/com/engine/attendance/attendanceanalysis/service/UtilService.java @@ -0,0 +1,23 @@ +package com.engine.attendance.attendanceanalysis.service; + +import java.util.List; +import java.util.Map; + +/** + * 工具service + */ +public interface UtilService { + /** + * 获得人员班次信息 + * @param params + * @return + */ + Map>> getSchedulingInFormation(Map params); + + /** + * 获得指定天数的打卡时间集合 + * @param params + * @return + */ + List> getClockInTime(Map params); +} diff --git a/src/com/engine/attendance/attendanceanalysis/service/impl/BeLateServiceImpl.java b/src/com/engine/attendance/attendanceanalysis/service/impl/BeLateServiceImpl.java new file mode 100644 index 0000000..f3cf6a4 --- /dev/null +++ b/src/com/engine/attendance/attendanceanalysis/service/impl/BeLateServiceImpl.java @@ -0,0 +1,15 @@ +package com.engine.attendance.attendanceanalysis.service.impl; + +import com.engine.attendance.attendanceanalysis.service.BeLateService; +import com.engine.core.impl.Service; + +import java.util.Map; + +public class BeLateServiceImpl extends Service implements BeLateService { + @Override + public Map fullDayAbsenteeism(Map params) { + + + return null; + } +} diff --git a/src/com/engine/attendance/attendanceanalysis/service/impl/ForgetClockInServiceImpl.java b/src/com/engine/attendance/attendanceanalysis/service/impl/ForgetClockInServiceImpl.java new file mode 100644 index 0000000..5a1ec25 --- /dev/null +++ b/src/com/engine/attendance/attendanceanalysis/service/impl/ForgetClockInServiceImpl.java @@ -0,0 +1,19 @@ +package com.engine.attendance.attendanceanalysis.service.impl; + +import com.engine.attendance.attendanceanalysis.cmd.UpdateAttendanceResultsCmd; +import com.engine.attendance.attendanceanalysis.service.ForgetClockInService; +import com.engine.attendance.enums.SystemItemEnum; +import com.engine.core.impl.Service; + +import java.util.Map; + +public class ForgetClockInServiceImpl extends Service implements ForgetClockInService { + + @Override + public Map ForgetClockInAllDays(Map params) { + params.put("item", SystemItemEnum.MISSING_CLOCK_IN); + params.put("itemduration", 1); + Map result = commandExecutor.execute(new UpdateAttendanceResultsCmd(params)); + return result; + } +} diff --git a/src/com/engine/attendance/attendanceanalysis/service/impl/UtilServiceImpl.java b/src/com/engine/attendance/attendanceanalysis/service/impl/UtilServiceImpl.java new file mode 100644 index 0000000..8637091 --- /dev/null +++ b/src/com/engine/attendance/attendanceanalysis/service/impl/UtilServiceImpl.java @@ -0,0 +1,56 @@ +package com.engine.attendance.attendanceanalysis.service.impl; + +import com.engine.attendance.attendanceanalysis.cmd.GetClockInTimeCmd; +import com.engine.attendance.attendanceanalysis.cmd.UpdateAttendanceResultsCmd; +import com.engine.attendance.attendanceanalysis.service.UtilService; +import com.engine.attendance.component.persongroup.service.SchedulingResultsService; +import com.engine.attendance.component.persongroup.service.impl.SchedulingResultsServiceImpl; +import com.engine.common.util.DateUtil; +import com.engine.common.util.DbTools; +import com.engine.common.util.ServiceUtil; +import com.engine.core.impl.Service; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import lombok.extern.slf4j.Slf4j; +import weaver.general.Util; + +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Slf4j +public class UtilServiceImpl extends Service implements UtilService { + private SchedulingResultsService schedulingResultsService = ServiceUtil.getService(SchedulingResultsServiceImpl.class); + @Override + public Map>> getSchedulingInFormation(Map params) { + + Map schedulingResultsMap = schedulingResultsService.queryDataTable(params); + List> schedulingResultsList = (List>)schedulingResultsMap.get("data"); + Map schedulingMap = schedulingResultsList.stream().collect(Collectors.toMap(e-> Util.null2String(e.get("bcxx")), e->Util.null2String(e.get("bcrq")))); + String sql = "select a.id bcxx,a.bcsdxx,a.sfkt,b.bdlx,b.kssj dtkssj,b.jssj dtjssj,b.ksdk,b.jsdk,b.tqdkfzs,b.thdkfzs from uf_jcl_kq_bcxx a left join uf_jcl_kq_bcxx_dt1 b on a.id=b.mainid where a.id in ("; + String bcxxIds = ""; + for (Map.Entry entry :schedulingMap.entrySet()){ + bcxxIds +=entry.getKey() +","; + } + bcxxIds = bcxxIds.substring(0,bcxxIds.length()-1); + sql = sql +bcxxIds+") order by b.kssj"; + List> dataList = DbTools.getSqlToList(sql); + Map>> dataMap = dataList.stream().collect(Collectors.groupingBy(e->Util.null2String(e.get("bcxx")))); + Map>> resultMap = Maps.newHashMap(); + dataMap.entrySet().forEach(e -> { + resultMap.put(schedulingMap.get(e.getKey()),e.getValue()); + }); + log.info("SchedulingResults : [{}]",resultMap); + return resultMap; + } + + + @Override + public List> getClockInTime(Map params) { + Map result = commandExecutor.execute(new GetClockInTimeCmd(params)); + List> resultList = (List>)result.get("resultList"); + return resultList; + } + + +} diff --git a/src/com/engine/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper.java b/src/com/engine/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper.java index ce53752..cefbfba 100644 --- a/src/com/engine/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper.java +++ b/src/com/engine/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper.java @@ -1,10 +1,21 @@ package com.engine.attendance.attendanceanalysis.wrapper; +import com.engine.attendance.attendanceanalysis.service.BeLateService; +import com.engine.attendance.attendanceanalysis.service.ForgetClockInService; +import com.engine.attendance.attendanceanalysis.service.UtilService; +import com.engine.attendance.attendanceanalysis.service.impl.BeLateServiceImpl; +import com.engine.attendance.attendanceanalysis.service.impl.ForgetClockInServiceImpl; +import com.engine.attendance.attendanceanalysis.service.impl.UtilServiceImpl; import com.engine.attendance.attendanceplan.service.AttendancePlanService; import com.engine.attendance.attendanceplan.service.impl.AttendancePlanServiceImpl; +import com.engine.attendance.component.persongroup.service.SchedulingResultsService; +import com.engine.attendance.component.persongroup.service.impl.SchedulingResultsServiceImpl; +import com.engine.attendance.enums.WorkForTimeEnum; import com.engine.common.util.DateUtil; +import com.engine.common.util.DbTools; import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; +import com.google.common.collect.Maps; import weaver.general.Util; import java.util.HashMap; @@ -18,15 +29,18 @@ import java.util.stream.Collectors; public class AttendanceAnalysisWrapper extends Service { private AttendancePlanService basicsetService = ServiceUtil.getService(AttendancePlanServiceImpl.class); + private BeLateService beLateService = ServiceUtil.getService(BeLateServiceImpl.class); + private UtilService utilService = ServiceUtil.getService(UtilServiceImpl.class); + private ForgetClockInService forgetClockInService = ServiceUtil.getService(ForgetClockInServiceImpl.class); public void attendanceAnalysis(String userId, List> dataList){ String beforeThreeDayDate = DateUtil.getCurrentDateMinusDay(3); - String beforeTwoDayDate = DateUtil.getCurrentDateMinusDay(1); + String beforeTwoDayDate = DateUtil.getCurrentDateMinusDay(2); String beforeOneDayDate = DateUtil.getCurrentDateMinusDay(1); Map>> collect = dataList.stream().collect(Collectors.groupingBy(e -> Util.null2String(e.get("signdate")))); /**获得人员考勤项目*/ - Map paramMap = new HashMap<>(); + Map paramMap = Maps.newHashMap(); paramMap.put("startDate",""); paramMap.put("endDate",""); paramMap.put("resourceId","85"); @@ -34,39 +48,56 @@ public class AttendanceAnalysisWrapper extends Service { Map dataMap = basicsetService.getAttendanceItemsByPerson(paramMap); List> attendanceItems = (List>)dataMap.get("data"); - + /** 获取人员班次*/ + Map classesParamMap = Maps.newHashMap(); + classesParamMap.put("tableName","uf_pbjg"); + classesParamMap.put("startDate",beforeThreeDayDate); + classesParamMap.put("endDate",beforeOneDayDate); + classesParamMap.put("pblx","0"); + classesParamMap.put("pbdx",userId); + classesParamMap.put("current","1"); + classesParamMap.put("pageSize",1); + classesParamMap.put("recurrence",1); + Map>> schedulingResultsMap = utilService.getSchedulingInFormation(paramMap); + + /**获得人员加班计划*/ + String sql = "select jbry,ksrq,kssj,jsrq,jssj,jbsc, from uf_jcl_kq_jbjh_dt1 where jbry=? and ksrq>=? and ksrq<=? and jbcx=1"; + Map>> overtimePlanMap = DbTools.getSqlToList(sql,userId,beforeOneDayDate,beforeThreeDayDate).stream().collect(Collectors.groupingBy(e -> Util.null2String(e.get("ksrq")))); + Map forgetClockInParam = Maps.newHashMap(); + forgetClockInParam.put("classInfo",schedulingResultsMap.get(beforeOneDayDate)); + forgetClockInParam.put("userId",schedulingResultsMap.get(beforeOneDayDate)); + + + /**计算获取前一天和第二天打卡数据*/ if (collect.size() == 0){ - //没有打卡数据,前一天记为全天旷工 - + //没有打卡数据,漏打卡 + forgetClockInParam.put("date",beforeOneDayDate); + forgetClockInService.ForgetClockInAllDays(forgetClockInParam); }else if (collect.size() == 1){ //有1天有打卡数据 if (collect.get(beforeOneDayDate) != null){ - //打卡数据为前一天 + //前一天有打卡记录 }else { - //否则前一天记为全天旷工 + //否则前一天记为漏打卡 } - }else if (collect.size() == 2){ //有2天有打卡数据 - //计算前一天考勤 - if (collect.get(beforeOneDayDate) != null){ - //打卡数据为前一天 + if (collect.get(beforeOneDayDate) == null){ + //前一天漏打卡 - }else { - //否则前一天记为全天旷工 - + }else if(collect.get(beforeOneDayDate) != null && collect.get(beforeTwoDayDate) == null){ + //前一天有打卡记录,第二天没有打卡记录 - } - //计算第二天数据 - if (collect.get(beforeTwoDayDate) != null && collect.get(beforeOneDayDate) != null){ + }else if (collect.get(beforeTwoDayDate) != null && collect.get(beforeOneDayDate) != null){ + //前一天有打卡,第二天有打卡记录 } diff --git a/src/com/engine/attendance/component/persongroup/cmd/GetDatatableRecurrenceCmd.java b/src/com/engine/attendance/component/persongroup/cmd/GetDatatableRecurrenceCmd.java index 644a552..b10ab86 100644 --- a/src/com/engine/attendance/component/persongroup/cmd/GetDatatableRecurrenceCmd.java +++ b/src/com/engine/attendance/component/persongroup/cmd/GetDatatableRecurrenceCmd.java @@ -69,12 +69,13 @@ public class GetDatatableRecurrenceCmd extends AbstractCommonCommand> personGroupData = DbTools.getSqlToList(queryryfz); Set personnelGroupIds = PersongroupCommonUtil.getPersonnelGroupingByPerson(personGroupData,pbdx,null,null); - querySqlbyPbdx = sql +conditions + " and pbdxryfz in (?)"; + querySqlbyPbdx = sql +conditions + " and pbdxryfz in ("; log.info("递归查询人员-人员分组节点,sql:{},personnelGroupIds:{}",querySqlbyPbdx,personnelGroupIds); if(personnelGroupIds.size() > 0){ param.clear(); param.addAll(Dateparam); - param.add(String.join(",",personnelGroupIds)); + querySqlbyPbdx = querySqlbyPbdx + String.join(",",personnelGroupIds)+")"; + log.info("递归查询人员-人员分组节点,sql:{}",querySqlbyPbdx); dataList = DbTools.getSqlToList(querySqlbyPbdx,param.toArray()); } if (dataList.size() == 0){ @@ -85,11 +86,12 @@ public class GetDatatableRecurrenceCmd extends AbstractCommonCommandP{bt55uTReacCqH6fY}n}Jj`REf*cl0SYjB7O~gI}twrIkG-pUtf%L;lEIN`~=3X?fD?v}AH2S}|!TI23VHB+AJj%DlZ+DMLL7O^1uF z;=)>~FNF?e2A;-3^TwyeiH*=IqZ?gC49fdq{K3IHH@zg3$I4Y){v%|kE&76C;jE{v z>d2-_6)|dPZLDxviBK(YJ~w=j@+9S_!d_FILSMu^%Db4MmVu6zk1{F@d;e~ygk>Kq zSoKjviQ&K{k~*ScW-4W1*NtW%TfdHnVeb3Fjzwrqa?4POq+?fC^j4Vw<~SSVuA!4j6s$Y7<2RfcS60*0z*qJYQYb*;la69h6k zU??0at?V)R?CiD}at(7O8Kyj?Cg|yJe&*Dk9^rwN!7JqLiRgiAQ+a< z``W6mY^higtGd?4iXkP=+uyO}9f5rkoT*B^$112y@QVCO^!CNB> iP_Aa4kbOWdNx<-xz@ci>q|0CiReCFAouxAuWBwhFL$*Tz diff --git a/target/classes/com/api/attendance/persongroup/PersonGroupActionApi.class b/target/classes/com/api/attendance/persongroup/PersonGroupActionApi.class new file mode 100644 index 0000000000000000000000000000000000000000..1913b9fa4a4e225341b37265910f00df4827fa19 GIT binary patch literal 690 zcmbVKxlSB082-HMIShd;Asjgn1rnsdMW6y9t&pG@Ap~f9@8AqZv-ZgL0C}t^1&D$N z;Gs}{4+scHLt+2lf1fwESJwbmF(09U&n-+xn89oZHO#f}g<&K&8ACTQHsdb;wR*x6 zlV#GbGc-4pR(_LgmX`Yr^(}KG8O9T(UL+Y9=$j0+75 ze}F&AaPA$0pkd>pJ@0eA^Z5De<_CZSY$a%6wS%<;FR|W30~;N@VpuRvG4wO%6%Xd) z!6na}Qqm6?+DF>z_>O#b_eKoOV>giuOPRLveK{LTe<8+(G!&c*GZJ1`@^57`PIX`y zWVxGhQD`n=ly)L)E_oq+a8`L&7W_P)%1LRoRcA7kCWc`iwX?%Q6N2thPL>)&a_&l> z%M)Ey+S$tn&H9uLJjie-Lp>rCL|Ql$3h& zKG1Ln&dI~W JoZd>ni(6@6yd?kt literal 0 HcmV?d00001 diff --git a/target/classes/com/api/attendance/persongroup/web/PersonGroupActionApi.class b/target/classes/com/api/attendance/persongroup/web/PersonGroupActionApi.class deleted file mode 100644 index 84e2e6a87f49316b393e6d9ca270c4848e52d95c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 698 zcmbVKOG_L<5dM1I=Q#1PNi;r#hk$ypFG3I{un2k?f~f4hcWlR&+3umc$H&hS4~hqW zfIljvdXyN{Amq?pRbN$CebrSDzwYh(}!W_d$ZZd{$Vr<4; ze!PCl6O(1qZZb5tlve%+#VoJ%8S2~SNHUBkO3R<+a3JlW803V|<5c8*VO6l7z`8$C zj$tE7&5(;iapAqxM?$BP7t%VTGi%C%pUVN?tL)ui_foHn?iGsax3|*#i9vK=N}I|Z z73$5r6~A^W&II}POYPNA_LWmarl+;>BBUfP-6X_Z@N>tl<9ouNP?5%&$V*B({SSgM z+UPKR|IapBn2)i5#TZSr7W#f*=w#AAPLJW+ za@8%*h0gePE}Yw3c|Bw-(IPZxK^SHOL(*!bQ_FNmWO0&=WMlOP?5c8)(%r1U2r=pL vV*oy2jI1`s|2$r*JV2*gyT!;g>LCHcbAqsj6NJ?;i7v@e@_wZA$>H;Fc?7bh diff --git a/target/classes/com/api/attendance/persongroup/web/SchedulingResultsActionApi.class b/target/classes/com/api/attendance/persongroup/web/SchedulingResultsActionApi.class deleted file mode 100644 index 8be4b4d23e87f7d3c89b24682c0b52a4dd70ff0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 728 zcmbtSOHWiW6#hEQ^Kum(KmzLt^5hJ?DJq^_}+ozP|beU>6$+T6odHN`jYI?V*9S4qh?L8K)Tfne&PV z^L6)>XHF^U_ZZsy+Uoe8VzzgN49!C~mJAD-w(?Us9ZCO1j0_=^oC`A)URU-l*o+e$ z7(QgVn{rWTE@G5+ENm`$A$@RGc~=(vT#oojK9S?nXseE8C`}B5JZfhLg(eo={hT~C zkL1LaK9@(j>bmiG*1J=2CKy(aOB?l64t3B(Y+$X6qAEpADkiO>r@h~s(85`1t zJQ8_y{*s}mWSspi!`5~^KR3cEerQApdpm!x05)k&TC_e4YZXt@8l=FSiS)i`M(DM diff --git a/target/classes/com/engine/attendance/attendancePlan/cmd/GetAttendanceItemsByPersonDataCmd.class b/target/classes/com/engine/attendance/attendancePlan/cmd/GetAttendanceItemsByPersonDataCmd.class index 14dc9b9cf049f1a3d7c6dd3d42097caaa4df1723..e789cefaa69405f7e28ec83d6f7413c7dac12200 100644 GIT binary patch delta 63 zcmdn$xYKb%8#|-vNlh+MNYcwpQAo&6txV8K(#uU&$S$nN Q)ky}jfLyK3o4A=p0oS7yp#T5? delta 59 zcmdn#xYcn(8#|-nXEhcYU%XGlehSyb~_f+@9K%5i2ni>WNmWN|i&b6v1d%kg6?aB^6|vkF{+q~%lv z3MI#_YM!-t*dPp|M+YY>s@>U(-&T z>rGj1PE9%$L!i4v(b;-!!EopG1&cE@Ro1PGx@*dDG@0_3Oi$osT)*!7hF#I^vY|D* zx~*Glp6O}jT1A^!@MzsIOs_UstI%lXglU`pIE@UJF6ozbt?rwaHlwc;hc0q;MR)ZY z&2+ad3hZiiYHg+A*wI$e6XDR(?W#8CyQW<&#%3N|xMY<5;y69&nlr1m?$=$O_;{N$ zn^YoQR*Y4nT=%Ku$+Np`5YUfuGEI+1QhZrV2__B}DrN~Y)2wX93l)8T6!HC|0tX`E#OXF2 z11li*<3ydvr&ep$Dx38+uOg6MUtRJn*;ax!d!lSbsgWF%#HzGLKgi?-b6uvC@9Je= z^2xCyR(BgLZ!fW#QXtY~5sV3uTE z7Z`|>D`H_(Hd=|f{fePqHe9W0*oLcH+QY1=0(rY`S%<^?|L@8+>O{tPwys;u%blIf zlgoKJH*NbDb*oOwv`9rthFD`V46dQq1orVxY923~m6e%`#TdTwfVerjrN zdPd+#yxMJ22eHeLi{}kiq8$yCV|gVh&<@WTR!+y|hOY4G#CKF%6`!2S$$mg~HC)oGi_8W=N3 zmw&~h73m8r<2gPFEW_I$Zj3)>qC|*Aq-CRoIxfEX#n9yE?~SuD(mbhK)||=IQ}73Z zdJ8_C&cpopd^wi;K0d?&fxWWyvzKB2%h=EF0ggu4@+Lw;{8@f65J>>La2NY(xQamx zal|(=4pK_)e3Wg1ZEpAjh~a~ON8&FWB?Apx*#dizLNB^#S!&u9N=KTwPhN`DcsJKV zD{@BT%qV9P_zHWxa@eCaaW6GyIDc*UZ%7o9H<3!<2GTRZFw+>}XxN zfv)j?Aoth@$d9FhB{kUeF}94Qd($_ul`qEIK14Tg6FpM*wwov<5UjtC?S&muXlD|= zse&rIyOMaMHzh$!1xFs>L4n(;pdUp-eLq2-C(KnI!RJ3jFW@L%!@U6%$vSu5ZS%My{VwHZQsuHyU6d`nRy54 z)O*SI=upVLzQDNwa%zz58^$TJs!GUSA-7&72$G9O2ow)M01xpnDqh4CVP|j|sx$1R zxN8Py8GtnR4&WSnnE=||NPmh^Ld(Ay@d@?_`8^@V$er{OKz6-N5aC#det) td_?dovkxfHLdf#-C~=&iwcoSNarL)&2fw2yPjD>r;z|1T6rRR2{{fF69B2Rl literal 0 HcmV?d00001 diff --git a/target/classes/com/engine/attendance/attendanceanalysis/cmd/UpdateAttendanceResultsCmd.class b/target/classes/com/engine/attendance/attendanceanalysis/cmd/UpdateAttendanceResultsCmd.class new file mode 100644 index 0000000000000000000000000000000000000000..0b304be1235d7cf5a658567e59e1032083fbbff7 GIT binary patch literal 4752 zcmbtXYjYb{8Geo|Y1i^5anv}edP&sM1Yb5$b8}KVcjxBBNx;elr<8QH+9<0?D_gsY zF9lj?xfW8OP)Y)!rI!R6O3F|-r32G1OlM$*FZ=|40-rjaAv|YyWyu~pO~cr`d(L~_ z^Io6#Jx724@1Oq)U=wa6unxIatc9uKKpU1JpMZt4Dh5>?QgJwe0?sM06G$MZ;#h*L zMFrd9|SzAnhuxQdAcCNZVrDHUH;@in>m>nfgB z@r;UZsQ9LeXH`6>;#&!P8{bj!-Bx@L-%s%Myj1%G1wT}9QD9NQ@`fsffr{f<6P`eK zXV;KfDQ7IFU^`ZZ!*a#p%(K18%pQBH!P_qo9jN3jfh9v^Jz6X0tm<(iS0W`jR56Xx zNuz4Zc}R?U=WJJCuvxz0d6ttm9Mj4)hK6I5CSBXjnB{!t#Ax2|tlcww!QDFIO11Cr8MsA+Xx-FQN z45yIEdR5yg^fytC<%*W+_3xl1ty#O^7+$SP@3+n|<_?8OlND>iGHV`%Z0~H2lUb=+ z8Jjt(n%1aSsb&V47{kejdF$_*Z8i;x*-qY?5D*i*?*sGhp zdU1}arQ3I=S;pz=*!G<)^hPZP zNl@2fI{a&*z2SpjgDV=Ff{wSRW|#6-mDM>>*6<2mm9O7ucnz-$fQ6yq z4ZJDvK+SK}b8T}iFFnDsk8R(nyQaXsG;v;gHC)9tfdgR(-CB-KY1D8g?fiN@Z?Tzs zWqA{u2r4xRI#A@X*!#u$Xr>U z8V@s;GjsWg3Edo<^7wLt6uRd6uJi??RI}W4=T3dzzb-~|mf5V~X2aR9>ZY?B=FAE9 z=XlO^sZGIeHT({537otet0l;!y$hPyrQo`T-{Wl!f57V+c7OpozyQ}z`o{75*-v7D zo+e2g$~(h?mCZ}WEbiN$Y_mWd;E}z*Q}(zPUR?y%gq^Or)r6;EGfCi{u#gLuV^xh( z<^-<_0&PyMRN7D%{At1hJ{}P(r3ZydrBIr=Bbk+wEPZ+V;31Z9tnq_}d(JPZ4qmDn zRTh%#QfA+@{NrkG?s%nAq7;oTX2(j$D?xYJ((G$!%i~Q4ZrEv?m4)Yf)U~JB4H-CI z2Rb?j=Z#R@7#-zpOknLidYX3xs>8lOKOUGZaPG3|RRWU0vU((DUl8KfSj~_QcQk9R zyK`FJFZ|vju(NZ4GpZ>Jw}}izEp7C-L0+f|va>0EVIMooi{WfnLJs=ajM=7Iv7B1j z&15HC-f0H;?BkqW;OMb4*@1)m_MR9TJbGZxZR%5YQ&*g6KWt6nA>P#2@wWvKgFpt4 z^1YrjonN+IM8pmG#sPKkrmeZ6n zjYX;Wji#j!vA9o7F6nDcwZ{H}_K_AnI}%-+y@{oLiB#f!Bn7VEotECVmR_x+?Gm1R zP7|pFO}r<953%e6bWq#!HgYE(z?gdJL?SqVgM|1>@gGV$ z$g)`{{*6N%MXB{)ILuLu`u<4|9%Eq+iNE0pjCeS(j|YCcVOdCv{1Sx5&Is=VIQDCMI)$+(|%mUUm00F9+$0YHOV zizmDKVtOjpt_JvwHy|{FPl79!nr9*2Ol;t@iE{>@KD^?8ME5j$2sFiqpM+YYyRBiU z!9Z&mW{=AfcE{OAPY_NgaUQ35_dJQW=&kIZ2LnIrsmJxO>(O^Vkr7IH#RowPWxeQw zAWDfZ_$iH1?lV4s;(khl9x7$XJ{hbHGo?Yte4>3f0sj@Q$o~8&V=eo0yt`)_`rPiG V^sNi}ZalOu63RJ)C%G>Ija0n6Y}V@MPTB`G$h*g!aBXk*7INt<-FdY0C#cE#?> z#J$_}PI@H0@B40NddFs_o&4PC|I^<({k+|kw6YClI<;rCZ{PbKpYQ$lAOF7dcK|2x zyDUaAr{R1S7jSV9`|-5;xio;wIb6ZjEXtT4z%>omvv?QYox@%{Qy}Ymvbcfgb9e#o z)$qO?@_4ZTfl3Z0ssoTYJcVTqHTA4(u(C*DWdJu7rJY3sjs`c2CT?l)1o~{ZCQvB5 zUajQY%O_V#Ww%z7-ju+w5d_ky8jdN?IflLFTmFLdRxMKsl*^{uC`qSgIkMEHODv6; zrF7dfnoa4I&TWzQTy#QJnQ6Y1hP`BX zmU@pj(?Q+x156PxfY6u4Ap>0pM>NqZNXp^L=BMEPG;x{mD z+HnGA7u=R-%8Qmtw~?(m%OrVBWq^)xJR)%A|5pYY0v#=^>Nto)I*J$*I5rvoZ40DW z^aH~S+B6z&>v$P!8a|-ogZPj@-IprAiY;GyR`r-~)mYAf3>Sgbki})sZ4~QX!#C@) z+OnmhDBiA1PZllTa%kL{<3+=%7Tc`FnKQ++y*ty~q3^q85ha<159{~{KC0tm_&CpJ zT{rLpR{XpS>TcB^%HR`uyu!yP^Ej*HQ~0!o&*=CpKBwXHI!@qKfd@jVVFEI@b-acz zXuDzZF1}(bYm?~s8ou6xIZ6c`-%$GxcD1Ss)A3Dw zi#;mxqKj|%o{%UO0=mq}@HajBXe?UC5Ur8;T^YBxd6wLDKcf!dt6oR-g)t3+Pj zwqg(5O=M-!b#1l~U72~yUUZ}G`{XvzUP!cpxG~1MLa)V5I>V%uMnhoVMDjG+RU?3h zQ(627KW6-rT6#q$+i#YG{wHjHoQpPX9PJUj+;YsoV(2c$3%Yz?H{7w_xoC2@9!<^G zJh#>4B$}nLsTe|N!d6+^n9vbLMSHd=iVPHZJSlfGh@P$*+s)y}XnJc4lJjjxkBQu( zuAXdZJ8Mb#=BF$+!!%`+oaRI_AC1l(V!NBhT`R1Ouh%JauH&~F;Z-NmXF|Lh2mb}b ztP2#Ac6a>QVO8m!VX9q~^!={3mC0b!4?JHo>=p+~p=&_b*D&7xG)cu zo<7Q9>Bl{yCOI(;yA%~r&S}~9iHP~X=V7db@!nj^7Y#FT)kGeovgjtb31GWRZ04NO z@G~7h$FFqEsDAz=7~_LsK85bEoK^RxES1A+0B3-~{uZgqHM(yaenW?rUH4|IDe%vv zXJP@-__)NO#BntqQO52H_4GI}sX1a?DNZg9)zmhyh11$v1(c9bx~X@C^4}`Xl-anGI+uWY#fIPV;BJ zFnI0J{=Xr6qwna#jr6gFb>vQ`htnI-1@7PhU>y%`U?_#RkU!l&+`oYxoY{B4Z<-D4 zOhL)q70Oi5`kPYnFv}8dx+mm$M7iO z@4{6)##M@(mr&xWk2I(7IF8fgSxP*CCurD7%Ggb+=p`0phdg6*rOJE|BB(wu04cdMnqv$@|8W2Yt?ERXCU%fRWh;sQ>0N5($cVi_%{KQ|zXrs_*^wHr63Kwt$hu9N1f{IZn6&k&Z=!_=}`^~)f zzMuDIFX=<3*XQXBV1m>@qG8ZP%SWQo*67%#xZ9nZMG9J@8=!~2KyEi)Zf|mC`)VWx zcBK*<>gg6kc+7Y|2LkjEeRgBAAj|9ku`kvoqAG?OhC28hpiBko@Mm7L^Eivt5zgEr uEMj;0Pl<~yKcCZVXb)NM$n0bLMoN?rp~5i3d6mlHoj{GsCC79)sJ{SSRv0A! diff --git a/target/classes/com/engine/attendance/attendanceanalysis/service/BeLateService.class b/target/classes/com/engine/attendance/attendanceanalysis/service/BeLateService.class new file mode 100644 index 0000000000000000000000000000000000000000..54e39a73bf21d7e70390bfce947c1ecd908118cd GIT binary patch literal 351 zcma)2yKcfj5S-;@APwRRQYH=8q;rIn2vHHG@E0tX#X58>k?)MeucgQb@KGoiyCJU9 z&8%i-XZLdb`UdcXy9|>IQ^I^#d%xoI%QlEc5f=`G`-jb*Pi*Swym{l#{ISCclfsqC zv95&RJM!mN?O97x#L8)z-%Q@Od$BQJc0>Q^B20^8U0GQ>pLWk*Wy4VlsZP$y;k5c(J-K1{5KQ9@aR F#y@{fY99aq literal 0 HcmV?d00001 diff --git a/target/classes/com/engine/attendance/attendanceanalysis/service/ForgetClockInService.class b/target/classes/com/engine/attendance/attendanceanalysis/service/ForgetClockInService.class new file mode 100644 index 0000000000000000000000000000000000000000..12dc20c3de709abdb25ba2a11870d0c2b715b4b0 GIT binary patch literal 367 zcma)2F;2rk5S$GmCZVB7Lq`b>*Q7H-LO>)W5QSf`9IMlX%Nm`}k@7VP9>Ajz7rO}- z1>MYQXLe@4zCS(zEO1<4T3|+)FYD+e-GC`oDFiEN?iIEzQKV9@F>J4 zg({6y35nZ|J+m|3_2<|72Y_n~BOFCI7C22!Nc5ALm(Ef;rAh8H6>LrdXBV@DS}Iuv z>*TF^i7#7Npr6>3R4Ba>cx%x|YqnFA$|QL19yd3&p`~m(b zD;KISn%ziWT&3-$xKfhn!0B`|ECCGqf!oCRyCL9vTx47iGO(0Wm^ax~cf&n8? zb+}|tk>6+Ph4uwTYEIx%(W8pTcoxj+Hy#q`IBwwEOnOMNsn$#msC3guDyf)+JhVfm z#vD`J9|`-KIaIT566#>2iTAulLfq2HRX=1>GsZ)oz)9U1(lNCo&4v9)N6p3(#&?XU zqCSeLuB5C*>66i1{^eq6D}jPa&+cl)rPoYFp8G@Q>Sh}?7Q5V&R7VQuB9^4B*<|Sf zYqAKGxMbFX)C-Fz{32 z-@_kjphxv+O++?&f9&0zhU jS(!4eBs*iqS8qZUIa^qlbd4k17^%fwUrN9v6#k|yER;o{BHmEJYoWlRf`UcVluI@iFxFuFMTYHI7k6hj+gTzn;&Z4m zK{PS`_Mwbt+alXiBc|!job#RAob%26{Pp!afEheaqZgxHxY~_txZZ;v+~~s1G;Sf= z4IN_|#?$CRt_KsC)G(#N&@ipxHbduvEp4^Pkj##4GNcM#Supe!Z7J46cUuH6__jlu zOwqHrv&jQHk{imDdSh1^o)s<6HH55?lfjh|vdpCw-*U;Fy{cU`sv_9639?<^F;={w zB2>Zgthc5t)e)0`Ji}lU_QY|P_#R~%$rg9`E;mADJH{IK^J6VC9mwYacgeQzI24F# z=qQGv=ELmyhX+{)@WIuc%;vK*!J&L_xI7P2#f>yc~^c^6{pq0_u zF}@G>u?A=8+gVelahmpe-2j6)LlX51XDLYJ{2nPJX`Rkx5}%MfKq`rsxlBju3p(q< z_-AO}(Df>}kM0Ac6ZnCiwTTbplSGs!LlHn_MHl5f6*Wb1qnso4xQ(2Y0p|#3geP!; db_rZ0t07wJ*zg~0m~@v&o4{q#U8(Ixeghd=!p8sr literal 0 HcmV?d00001 diff --git a/target/classes/com/engine/attendance/attendanceanalysis/service/impl/UtilServiceImpl.class b/target/classes/com/engine/attendance/attendanceanalysis/service/impl/UtilServiceImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..2bb3eab9ed17424f8c0dcedfe0767603f4a14484 GIT binary patch literal 6238 zcmb_g2YegV8UH`o)@fW~qb!_2q9hJ+oFM{906DBU%ix4IPC^JR;VhkHIj1}2bjm0N zx}bZPwsg})cf$&HC=_TZh0;x1x;Nd6ZdyqH@9rd>B%9gaPruW<_rCA{&G)_U-TjXr zy#v51(H_GZlojlc;Q$UQI26SyydaKNTo%C#<7mg_3a*GFiYpUjxGDjGt73RLUJ=JD z@hSzcj^H&ByjD`aE{@mZ4RO2?Z<3EUD|m~7Yhsv%vV6QXj+uCyg11L-t$cq+40G^K z`FK|Z?^f`h7~YHbB@priyg!By;DZUY;3E?Eqf)VtMey-BK7mh0@TnL+jl&TPN05u* z2HYsoZ<1=<9KkIS98qv<3}YBqa8$u<0xgD>6G#kLb}m&ihF6WI2CQ68w|fPSFJ(sb zY}v@0xovu>Y&fMs-QJ(i=mJ{@GFBm_o4LHHr!>dW&8%i-^b}`{mZ_Ugs;Ju~%gotU zxtJ<>Y^lLX@F*+1HgD#gv#3w^lAQvreO8uY+6RcgwOkm|?d{r-!5J!=(Tts%otN+a zWUDihF9~d#M5&s7nyDFwO8HV%qkN%gq;@!Y!?&!T@6z&|?$ng+H#b^#L38q!DUj?Q z7}fS`sWO>TTeM>Dl7@GIHrj6=;{OKkU+p(d-R?8AQc0(pGwK<-Tq@~;qGoFa613M7 zaA|r|Bq*6kP16JUk|WR&0FX08m{KEkSzAi`4CzhR7DF?0sX@nPph>C>Wey(f&r*>{ zR&z8DQjtTKGitlJ;Ere3N8?bj5|Q432Bh?CT-z+IdFCu?u)3c6iTN%V8r3sSujJbl z;FD_mjFnJ5MVzOtf$urVHyY4@c26qNRq5HND1}WKbhOM~igC9AH#W--s}f6zg3ky< z2lF{obILZi&2xBDpXzCklT}T{a?(P%1zg2Sed>3=JtGnO3!alx^Aoac^x-( zJ-bPF)@zQe4w)K%pJfzT#xSM}p z=zyi-UVM?``xM--;!Aiy!IxEh1z%-xsNuP#+AQgEJ0!Ig`D{{F_+{FPo@GNTdXmGo zRY;bH_l#zYJ$v`1w;lK$=YHRT zKdAU4{-om1_=}3uaRxhqrW8r0lNVoh`STS#qT;Xkn-@i0!QWN<1OHU;FBSjBqbmM` zhgAF*kC8yS)cv#f32c}+Tc2i=qTq2A$7m={2;gNbTTgkJUFp=;29|3w0zF$(PZZc` ztf;j>^*g$)IhHN3Ab`nX!7{ye$Zw(~fIv)Et%?>a{UYMV*6oB?%yXeAEtcl1y6(pwWB+4?zi^psR6gYWox4iSA@n3wKqjf;Z7Z}ti5I4b{`0;-~)JF z(Pque8hWYAqx7@N-D1trtz+EI8*7mKsV{mWpO`mTM115v%`gU8FzKnObZV1BCbEZx z=ZWbspWlGiuoXCsABkqmzJ;HpLbA`~e}wbwlKDJ~Z)bC!tr?E%xfP-(5gJ3wooKxU zZ8x|qXY&~&2{4VHx~AhCj#Q5U=VBe-1p2U^6a)+PlP1Qw$9ir?+tP7_L)fw`p^PIE zVt*Umx_lflfuo3n4;B3CG-Vu9ZjkUlJ$qaReu(!`C0Xw=>)#Ddx6jk6>OpTw!XH zOp-H^^oiR#+gfhN{4p%>1iDHtl=^j5^^1&QQ93GxQMt}&XX{a%1ZufBgd5SFSkf6C zM^6h^4$}dx^egC|4nB{kxt;usH=8k;!&sa^@1KZEF&8hzJY0<=u3@|mV*zf%LOh5r z_O^@Ib#~)XEO8xPB*LX!+knlC9^LD^UXJ>49zzhvBRHR<5am3K0c_#dz*V>pTRGQC znfKrVJO^!*d>5X}QJAvUVH@cbN?d|L(nTn@3)?x0Vh5#c>KAJr`Y literal 0 HcmV?d00001 diff --git a/target/classes/com/engine/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper.class b/target/classes/com/engine/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper.class index 2d4933384bfaf11b2d74d46e977003f95bda46b4..61f6d09b7a93123b1ceb866bb47e241647438371 100644 GIT binary patch literal 5557 zcmbVQX>{Dw75<)=kusyijtGGXkQlPyILjoIkYI;E>=0sbmf}E2p>Z^0c|2o{+XHW_;r11q6UsUj=G!Em-Is|S~ z@l_Rl65?wrzMjEM+@s9s;}%W7$8riIy%Wp@E}K5?<|%-vAho_^m;4O^jqOXX7HH~m z25H}xJ{opgwURg8okrebkKX4L4C`vcEy;G&+2jwGJb}KGXLGvERt?{EE4L-!0k2uCPZMJl9w9{4TkHRF#L`J17ZHnlGRZ8onXt z3bY=-noIH~&28=+c1?4WF}8`W!Ff^V0q6Lx?RIUJQgAHGED*OPfxFch<$lyr!!;_D z1r(`2kXmY+?DfqGt=Lkq49_#Y9r5frUSZfAtXkabm8Ms%I$sH31m@PC+t}#D*3*l`7R=2hd2{F2qThtB=&r4lH$+1Z zHVIrYt$a`S7%y)S z$|r7xf+scn5I^F@^?bwi!#E8MPvOT5v8)Bcp0sOv!99@apkdt_CWi{Mn`||nx9WTi zPvaS8JQPX1i@hh4)CQ4h@Xv%SA33&07a~4|&rl4pLMKRo69b zhJV3p%z$4s`%BlG3Vy2LXZSg9q-%y#3Z{l>w-v1kR~jQK>j~F7T3Qjl3$fJqxH9WOXvW_sERP zAX|rWoL=Uf1$E;!Ez-?G6?0{c7P^4!+*-1$9?J!RQ`>u|jNvKX0n?~3khe$U0q?L^ z);ApNO5^wVgTRs`Fo)N z7{_Hfk}kSVb(Ez?H^I7+iD@#{6kCX)sOYpwioy*FtV-e@PoggSMVn+glZR1soT6ps zD9R&`YOfqKrX+5g2eugAFk908Np4X$DK(B(d0E#@VcA5+eRW$4%;SmI@>Nj6b&u^Z zUC*%v+LGH!1>T6%s1_6{@NZ-5=FEL7Z z40FN9LoYv8>axH_%it1uyR)gw=!c_E$h5cnVi+aHfSL_U_I_u?%=HB|788syWE6bIr2}UwwU&avF%|SV&PbIWqV?LO6+{A) zWS>sjBf<+))fPrs%k&n73!{&ZWM!7HTHV5(EV`4^Pkt~|`Pyrfksw0uF)XXUEXgP}$WkbHvkVE|O!#~^@zb6~C7+kF<#3+h zdrilK5FL8MQ8Ye=rXy(X&{Kh|9D&-Q&j{r75o9`aEs$p(!L0iN*v)*-MKhmg5qtq! z(S|cgs2%6vGWKer0&GDqTg*zhf=a2p@fogaVb?2E)v~RbkItqh`D|W3j#hz(FdH}u zeH^DWu=beK$$6)CDp^IJtDiQG(;KmiayB8))6ag%v(YmxgcSS5_v(2%*NM9VwOP0mrxq5pnFD3boxV5a-B7=-% zu$&As`if31tEC>n%H562`gb>FoBMY+ujoIDT(s#`^_!k4NzTg7(pP6Qk`K8@I%etT z9p9B2#~TFh#C*;_e}X;LbNx8hG+@_Z9L$E3nhrtFrXs{+Fb-o+G}3$sTjG%?kvfb` zar0QPs41Wk3@znQ*gS@_64PcMrqWPT>JS>GuQWmW%I#Rp=VG4y5@c{L&$t~+u?#D* zoG!eAb5`O?;7)VxQjK84WfHk-U7vMIm#a&p3d+6>*Ir|AZ`?GZSm+0*Oq?`W> z8^wHdi-qVB7x2re7h6O>E*Asn6E?PrF>Dt%;~H@*t`&D)IRZ+8gWI6YJU=>lz^QP{Tm1VJ|fp)X;_0|7fTd1$hMp1%ttp0{>Ys zhyUyhg{TwAX6MaIV~79^D7L0$=%>+m#d&05e9=1e3j&`xinaF!^Q0@Jg3z!r5hgU0 zxm^&0Ib<@%x>v(!pNzpHvI0#N{F(1G(O$-1@d~nd2itSW?46wRF1#BzM$%Vs Cp+a*2 delta 126 zcmdn0J&RfN)W2Q(7#J8#7zDT&m>GE48Ti;4_$NCsO`R;xrpL^}z&g2}D<_yik%0*) z4FZfn2owgAY(Snqn9sn#sWZ(kw7#X;MBohM< E0CQ&x=l}o! diff --git a/target/classes/com/engine/attendance/component/persongroup/cmd/GetDatatableRecurrenceCmd.class b/target/classes/com/engine/attendance/component/persongroup/cmd/GetDatatableRecurrenceCmd.class index e77cd8b87329a9f1b77bf94fc08869403a663be7..c420e3d12a04367febe7ac47a5f41b8a363023de 100644 GIT binary patch delta 2306 zcmb7_dvH|M9mhZC-jls|@7`pS&F&_*47wmrLlOaL3o%s$6pgQlfP@$x0RlpSG$i07 zAugg=Q4#Sfh_x*h(Uxijf_X>?!`FG#=q+4K8=FRO&Zm8=g_!~HhPBW&OShmAaF(`wUZv%+Sjh40|7 z-sYj8f7oVI&~LVR#9<4MI((DIY`zuY+kD4iE8n$w+-6%aej=dWZu4Y>r}$nl^L>XM zQ~5yvpLTeLAKE-?v(sXi!*054_SifZp_`|JEj>290e_#(^EP_}mLJ)?ARO$o*zYhh z(DkD98xIa1YjeQn6`P;h{LJF#Hm?Q;UbATroc+S)mkzJ+&9d z@IMXJnD2Agud&7@kMMy4iw|8s;;7KN{E=h+V^(U!TP}a%n8lx6KISh9HA)dp&24T< zwaja}rS;a-MX8Hj{>tB6uHtI{BWq0R?=Jt~pDxEaVeyH}zvy>4$)^^dxt!tyf4qI* zY=x_oG8C~h$QHJz7B{EL6qoqNEYF`5u1p?smB~7ZTj?sT@&pW5jL0n~@+6cB`K!a1 znU=Esm%>$LVdaRzmZk+QD;77krK(d69i6ijg#%&cEz1Py8s*e0JEB}y<*NdJV`OL~ z>Z(FjMr-%%2`#G_Kam@8gRKFW(FIQEE`P7pK05i05{bA1m`>y$lafxisBG ztKHpru?o-aqte7b6fbEU89T4K*eljAFtpzELQ{JgQ5}yJRwwo{QkX{7dGXl!eQ1MT z^1MVZql2YvkTX_<-%I3zB!VDc@)Fq~yA$V(7C1Elw9x`1X< zFgQy|dM?Wt_MDw^k3D*;-o|)&5c0rOGY$UHlC|mm)T#qqtKQ@~^&V5z5vHl*T(A0> zZX~HQ#xTQ}NWC$O8;m717_H1SRx#Vy%p7AojmERgGhSxCafl}4Fbj;2S!gP5G@~pr zi&<)>SZ1C}vpJF$a}vwV23pMpw3%(JG*@#|+FZ-c<_6l$9dwv`SY`g0PV*IRGhZcb zzRha0pWAgIYjg>B=po#xN3&LsXPv%=d-N3U)iYVITe)A~%?AA-59qCI5}Oa{?L4e^ zu~`!Sh<=SngXgb?F<2c@Wz1#{#p<{!CEY0RKd$;!oVhZYQ03}<<_U_bNlJVPDpZrz zewtW7k!nzTSjdgUIBcB9B3X4gYLu~9R`b;$b%L)6DiFuDnK@T%w6H|>6^NNemP)j! zSl*jk-H~Qfh9+OU7TG%2o28C-Lwia8KIw~O^{}s z-oy$)dDQB=SScvPBE6KG1X(QAi?~^k{1@u^+#*ubVRq}G+$y>pc_D*om&r(`9<)or z4N}x7^&pxz&`I{{6uvn8hFKreG-5M*+odLmDi2h#$aDq@jbNYG7 z=x63ci?#W=l6hC*1Sy%{kedoB^eDNfphAbrE4sP-zw3J`Q%)E7Q0}U2?q*%?_z>xX hPdHZ7%N1RCL48-5`kwuVC>8c>slJDMWzFEee*+Pc+kF54 delta 2226 zcmb7_3v?9K8OMKjX0mfLJIN-K-Ax7#apB;D@KCD-+(PgH5n4?th)Z}A0u9I`1Q0^N z1yR5UQXGWRsAE#^NlF?^FZkNro*?g zd^?1D9lpbNHTyIV+I-JpKL<1iH7!vdVsDu8eNAh~-==Aog>=|F>@XxO=1@2u);tnY zAJIIjc}(-T<_XOYG(Xh*Nb{uT$C{@!Pis1Dp3(e7(g*OYW=*K}r<$KRJjc%+sq+^$ zM;(62uWWwZa+aEFC6C(t#^$#+zq2`J^Sm%9<^?Ypqk=B$?As$J%O4VMXgHh9w>o_f>e@4V&mHt*Q{!{wj6>+&z&vw7d; z6t4tT`k8V*aQQbMD&pPj4YhS^8k-iZO)XrSI%mwFU}*mM*z+!3Y*DBot{4>@$*(dE zWd^o0@?1;hDPj$E^BYz!tXq*vr=~ZrpDE8(5rx;wSi9sj-+m|AvfjB&XMB16!-}-t;Eua zgZSQgexif(O-|?9VTKmteJYpcN}Aza5OgN`I8vmf=c=j*4kwDuxHmi)olL3W!K`F| zH6qxM9H>SH_b1cpqTt2kAe9cB(!nL4Nf-Ks|5bb}*qi9%7KAm7655#1EG-RbwwLx( zql0~=1J#8>GvacJ(_snT7~k#SViVu-F7cxsTxyaD{g;K4awWRQb}R9n{c;FxR-?6w zN;yn9TD6F2!Njr~vky|O4l_|b$t2auWOan?#zy8CcQV&FK&{cvJmU%KjHApqUSg5)D%TiqvDkQ*C8lDTSxSRBl;!3K z8qIO6G$*mj%y4bioJ*6rj<9Vl`cDrjGe|yr#NXAW@f- z>V3W_(E`<1cCTJgp(w8I_PHXX0of}GMa&!)$>U<8`A{ypj$JIsO1MC@|s$wEIO~i<{e`4Ds9^H1+PmTG@jh<;}gy zn|hTucFDzveIf$n!x1^f>{C2#oMOhMHk%4^z3zshOQhG`C?^$m z-}B_0!d@Av7~IOZ|LwqK-QBdhr)5TRN3Ge+mfZ6GGKRl=ud1EPTksFaM17=(mkE1M MkKM{m5;M5@Kdcy_M@`f`SZBFIwPz3;#Gzmoj diff --git a/target/classes/com/engine/attendance/component/persongroup/job/scheduling/SchedulingJob.class b/target/classes/com/engine/attendance/component/persongroup/job/scheduling/SchedulingJob.class index 39b5e85476392061b7dd562fd412e3041b301fe9..da6e5c411b9f221818d4c3a881c78ed305b007e1 100644 GIT binary patch delta 14 VcmZpdZI|8fg^AH}^H-)x+yE)%1#kcW delta 14 VcmZpdZI|8fg^AI0^H-)x+yE)f1#AES diff --git a/target/classes/com/engine/attendance/component/persongroup/job/scheduling/tactics/DayRegularScheduling.class b/target/classes/com/engine/attendance/component/persongroup/job/scheduling/tactics/DayRegularScheduling.class index 43189d6cd50ae23bf9506e54a423ddce1dd5f699..63962a310f6acba2005b29ff3c36f91f61252ca1 100644 GIT binary patch delta 61 zcmX?ab3=2AghQ#PGW9SN}@_~er`c&NveuDBZJE1hn$j=>sbW_(Iw3`FJfIU4gg`T B6dV8m diff --git a/target/classes/com/engine/attendance/component/persongroup/job/scheduling/tactics/MonthRegularScheduling.class b/target/classes/com/engine/attendance/component/persongroup/job/scheduling/tactics/MonthRegularScheduling.class index 2dee4be64aec36961439319005a44781ceef8fe0..9de14baba538eedb6f538e42ddf42f28236c537f 100644 GIT binary patch delta 73 zcmZp(?y%mF!YV45lbD;7lBklLpIcB`lB!~8%*dcJc_P2?YenHg9IVEDiuUPZn$d delta 71 zcmeCMZnNHy!YU$=lbD;7lBklLpIcB`lB#0K$e=R0kz0830Tymq-^2oI%_v3&##BZI NbcGh1x3XRq2LKQF761SM diff --git a/target/classes/com/engine/attendance/component/persongroup/job/scheduling/tactics/WeekRegularScheduling.class b/target/classes/com/engine/attendance/component/persongroup/job/scheduling/tactics/WeekRegularScheduling.class index 4fb879a9bd54b2a0a0090547b3c7eda09bc7f359..39ac214af09b30524a63c8e11ae7df57e7e256a9 100644 GIT binary patch delta 28 jcmeCQ>$KZ&gq78lkwHacvIC36$KZ&gq78hkwHacvIC36zdnXEl@r095)1PXGV_ diff --git a/target/classes/com/engine/attendance/component/persongroup/service/impl/PersonGroupServiceImpl.class b/target/classes/com/engine/attendance/component/persongroup/service/impl/PersonGroupServiceImpl.class index bb2cec159eb9422cac2dc75ddde55dcadac04442..33d95c723317685f25eb2c49dbf474a650110497 100644 GIT binary patch delta 34 qcmaE3|Hgj9TQ(*m!^!X2HZd6)OkT|H$Y?qFB)c@D#b!p1*Wv*2PYfym delta 34 qcmaE3|Hgj9TQ(*`^U3eoHZd8ROTLDJ@PrYM=chd=kWe!tvajSZRq5vNPGU=d<_xxaXX^lVAUO z@H2oueB^``Q5R+rb70hgITyO{y12!~n>WPm0z)^$MTR$Bq`f83JVOt|+YE-#78rUN z5)6w%Ga33AmKc&kyTs7XkYZRC+6uz}Lz*EYv@F9QLyqCH(B5GfVpwI!3$4I#nxV+B zCbV}QxZ=Q71=f&1swwCTC2|>`nN6m$rq3u8%c7z7JuCVKUPM+&xGQn`NwrF9Mv>EIIX}j83_d^{KV_#A~RF-k(f3U4Ng-qrp2^CG#Cjh zs6Rg&4ouDm!}I=g{vZLTKNO10`NIKPXNyE9wHXDL6_YaMp=D#u@THAx(x(?zQ`saX zU|TcNMU#RZi}^#dny#S#!v3~mm!9$p20J|abYTtT7AcnlAu3|Hm{~AaqsBs7WG8(` zmK02O?A?WDe+lzYE@7l&#%f9gsYJ47jSK~}kEF7x!l;5XRpJHrrm&ZIVl*3tODQUd zQ%@zcMxnS$j!#taSKZj2Gz(LrZ;c(Ey(?%4=zXl*JT{U@SMs%Vh`@`x48)|3?59Gb z!_sOgm6elR$mP;2se*6Z$p16FEqDO7jhrCM+or;&mSsqpK9^O~b^Z(C^ ziU2-PaSk7)SVPsr1PhA22BYVcpRrE{4`=dx7QCz~Hx zST+*{+Iau&F$$!Oe13RW%PXgQ_t;dvH_f~4D$9bN*w`uhq;)}o59(NpC?Y_TN+%^1 zOiC(~lvErksU%WT6{MuSOG!JXZ+VSql$6vfz}+f_fOI>Ycm-n=%}?4jRjmtnVYg!otO^-XCFm1gltI^Tc|Mh+1BSvy~iZI%t)Mco7!Z zNOJGVLz}RBJMY2aZL!`1`{A)CPW1o|QU;BvMH3p(4B@q%Y{?QqxkK?J_E=_OmsY$g zeN0jG5T@xaBKk;*oNe9>IG#?oO*$^8YpXa`5Uy&>o;Gf;V$2Z1`Eq2Xm3APm-yXsm z=S~ZE@!CzOcTp!ny_Fx}ZV4JB;5L4cH%ibXL9?Ad!=II)MS@lbZ{t)q@^M&#=NNyU zw@YwDf}?Ibe}Ny9qJIH2I}^lasf$ZA Y6IW1&8>q)knt+;0uU^9p+0;P)8#Z0+7XSbN literal 0 HcmV?d00001 diff --git a/target/classes/com/engine/attendance/enums/SystemItemEnum.class b/target/classes/com/engine/attendance/enums/SystemItemEnum.class new file mode 100644 index 0000000000000000000000000000000000000000..8bfb8479c9d065594c903292a755decb0d9e33f2 GIT binary patch literal 2070 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/engine/common/util/CommonUtil.class b/target/classes/com/engine/common/util/CommonUtil.class index af78150c99578d1ab7c6a806f9b6d4644c5f142e..f5c445aaa301f05c3f54416aa86ac799cd0f38db 100644 GIT binary patch delta 30 mcmbR1I@fgrBPW}YF(ZSr#^j%jDwDN2g_(?uHal>}N&*0XLI;@u delta 30 mcmbR1I@fgrBPW}oB_o5f#^j%jDwDN2g_#U3Hal>}N&*0X#|NVT diff --git a/target/classes/com/engine/common/util/DateUtil.class b/target/classes/com/engine/common/util/DateUtil.class index 24b0d1494150fa41862f774d6693365b0a8da724..e853972f45793570de633e5b7d00ded549820faa 100644 GIT binary patch delta 1693 zcma)6Yjaao6kYc=;pX0)G-*;&XrZrwKpAZ7RJ0(ELQ8E)3zbJju^6N+#S*YDz*i8g zR(a}Cc?mx8?F^cknDGPO{NitM#y`L?u6=W>QQH}knSIXLXYaMwS!bX7XWjio=J)%* z-UZNt?;X@)zl|C^=U@N_#60gHg@fXIL1u@<42l^NGc4w??2b4%f)^c(;;1asvT@A8 zal9mEOqSygCNL>xN{~<3IEhmZYEI&12e05&S-%#*>j7i}I32(n7S32W`_rwRMwfkX zaOl|BV0-G6ffXy0M^aO%#?e%IxN+CS*hqSKefO&W`wWyEl6a%rK%i}CVsMP<`VZqm zHe=2hI_SHbc~fB;Zz;Tu84K?yyo+-R%Tcdz9v2iY%JPz!%VOTcj6wqS7T#CT_`t%4 z3LW@JVVR^%Gv8+@zq z9d2j){dbIV`{+n|a-3Yp$@}=IJJmjGGJDy&WE$nV*14B?6b4rE()OVQK8_U)Kf}zU zBnMybnwlJJE_1N%aLdFhT8AUB1VJoC1822NWEvXL#8GBz@fbmaP-w;@+_mvI<}1@X zTgREZPAzfjAGl7dt_rqfmNVxeHz)3Ljd|RH2)K+4GFpfA-ofkL7@jMS;6EG;_pA#T z10vaYVxD;AX;T!R!5TN=VXr_33y5T)hCD(^R#`oVo=xzRo9J2K9Kr@yPd_=;*Uh871LKJVLjnOu?%!^>_HWgpIZqBT&XxG1}eTLFy zp~T`%WV)H$wos9FY~#NVPhvm1bx)`w)4@sxebOiXduTEo{#dz_F@;9k?#U5jqp3V1 zJVG92Ns1Evk!i(Ewg;uyTO>*hU9Kplq|lA+1hkPvj|be#+&&RH?zJ$HbBN_pF5nA) z_z(C1%5b0vJnn&)x!}DX_zvA1iRsSLMAua9?N%4V#+G(n|BL z{H$Hc>yOLz>uhP=)^YkK_(GPi2h`1O1`et}T|2g{3Bg9YE zB7U*tyc_8Os{cl;_7KGRkW; delta 1443 zcma)*+jA5}6vlru*CZFI9~9EigI^u$=iQyzQRt6`r;LBoK@ATR31 z0bLGx9AsF-OS(Md@iK=sj41Mv7^A%6v1pW|9(`>Z9_5WFZ$^2`rRZ|(=ZoEz zpSMp(D)#q}O<%W9S+-U13z2KZal-`14R15)@{ZwMP8b%`XgJ9!!)aZfVbahMntz_-e9i-Sf2PGS# zqym&eh|=M=CD#@Ak)|)Gtrw?ZL0GG^PT{s>U%3my6{BmGdswO+sjrd4&FbNn$aGDy zAh)bU^`?e03$M)nT$+f?2c&)w!vW?q6fiauS*{Qvr6U{LcuXh_3A$xwOU97{cwESo zyu)8omG3$txlytED0j#s*Xyo__79HEW~ARjw57T#K&+6Sc>!WX5O=WCzf#pwJSMqu z;vA=1p1vY(kPOt#no$=bYECbyE&J7?cC{#ri{0Hai%4b$+Y#(Go(PYrM`{9V!wZnR zbq`WqVwPM2e;}3UJu60^`yU6fRk)+CowlEB~higB(WqjS;b&84{Iei0G$sB!vFvP diff --git a/target/test-classes/Test.class b/target/test-classes/Test.class index 4df570d56cdd278b987217608a035acac00594ed..b6cf3c517b719db19fe80a9651dac6e85e3a9af0 100644 GIT binary patch delta 470 zcmYL_+b%;<5Qe{1yItMOu0yrXht^rOT5T!nP_&5PM&iB~2oaJ-gewo>HQZ=}#)W$x zN=!Fll9@I0ubF@TwQBZZhfRtancrgj z;aOcp{Oc#z$CYCFPBAgLcV50JCojsEr^&Oi2Y%+DM7rg%@M#vy01S#6? z|Cj=V>2#U8=>BE86G9 zwRBP~ADmULE=wmjhUD1((~);ANY;E(8vOcPD^yHeSN4^< zgPh9YBe99eXY5imCFlBkO@EUmh=xk#>6Uem+ params = Maps.newHashMap(); +// List> attendanceItems = new ArrayList<>(); +// Map map = new HashMap<>(); +// map.put("xmlx","1"); +// map.put("zysd","1"); +// map.put("zxhsl","60"); +// map.put("zdhsl","180"); +// Map map2 = new HashMap<>(); +// map2.put("xmlx","2"); +// map2.put("zysd","1"); +// map2.put("zxhsl","60"); +// map2.put("zdhsl","180"); +// Map map3 = new HashMap<>(); +// map3.put("xmlx","2"); +// map3.put("zysd","1"); +// map3.put("zxhsl","0"); +// map3.put("zdhsl","60"); +// attendanceItems.add(map); +// attendanceItems.add(map2); +// attendanceItems.add(map3); +// params.put("attendanceItems",attendanceItems); +// params.put("workfor","1"); +// params.put("time","50"); +// new AbsenteeismCmd(params).execute(null); + + + System.out.println(DateUtil.AfterDay("2023-10-27",1)); // List> personGroupOrganizationList = Lists.newArrayList(); // personGroupOrganizationList.add(new HashMap(){{put("dx","4-夜班人员");}}); // personGroupOrganizationList.add(new HashMap(){{put("dx","8-测试条件录入");}});