From 750a3becad9941462dff0bf4c65598d2be7c0412 Mon Sep 17 00:00:00 2001 From: SurendarSuri30 Date: Wed, 8 Apr 2026 09:11:24 +0530 Subject: [PATCH] logs remove --- android/app/build.gradle | 4 +- assets/chatbot_icon.png | Bin 0 -> 681128 bytes lib/customAppBar/customAppBar.dart | 9 +- lib/customAppBar/customAppBarChatbot.dart | 2 + lib/customAppBar/customFooter.dart | 6 +- lib/customAppBar/enrollmentAppBar.dart | 44 +- lib/customAppBar/toastHelper.dart | 34 +- .../application/chatbot_controller.dart | 411 ++++++++++++++ .../application/chatbot_reset_helper.dart | 16 + .../chatbot/data/chatbot_api_service.dart | 30 + .../chatbot/data/chatbot_repository.dart | 28 + .../chatbot/domain/models/chatbot_models.dart | 104 ++++ .../chatbot/presentation/chatbot_host.dart | 83 +++ .../presentation/widgets/chatbot_fab.dart | 31 + .../widgets/chatbot_message_card.dart | 81 +++ .../widgets/chatbot_option_button.dart | 39 ++ .../widgets/chatbot_typing_indicator.dart | 109 ++++ .../presentation/widgets/chatbot_window.dart | 289 ++++++++++ lib/logger.dart | 78 +++ lib/main.dart | 25 +- lib/pages/changePassword.dart | 6 +- lib/pages/config/gorouter.dart | 9 +- lib/pages/email_verify.dart | 124 ++-- lib/pages/enrollment/addons.dart | 218 +++---- lib/pages/enrollment/empDetails.dart | 215 +++---- lib/pages/enrollment/empReview.dart | 257 +++++---- lib/pages/enrollment/service/api_service.dart | 50 +- lib/pages/helpers/html_web.dart | 4 +- lib/pages/login.dart | 94 +-- lib/pages/postEnrollment/AddPolicyScreen.dart | 6 +- lib/pages/postEnrollment/botman_chat.dart | 98 ---- lib/pages/postEnrollment/chatbot.dart | 536 ------------------ lib/pages/postEnrollment/claimprocess.dart | 16 +- lib/pages/postEnrollment/claims.dart | 64 ++- lib/pages/postEnrollment/claimshistory.dart | 32 +- lib/pages/postEnrollment/data.dart | 194 ------- lib/pages/postEnrollment/faqs.dart | 12 +- .../generalexclusionsdeductibles.dart | 12 +- lib/pages/postEnrollment/help.dart | 81 +-- lib/pages/postEnrollment/home.dart | 80 +-- lib/pages/postEnrollment/planclaimsform.dart | 116 ++-- lib/pages/postEnrollment/policies.dart | 28 +- lib/pages/postEnrollment/profile.dart | 76 +-- .../postEnrollment/raisedTicketList.dart | 40 +- lib/pages/postEnrollment/retailClaimForm.dart | 16 +- .../postEnrollment/service/api_service.dart | 60 +- .../postEnrollment/service/svg_service.dart | 6 + lib/pages/postEnrollment/tickettracklist.dart | 52 +- lib/pages/postEnrollment/wellness.dart | 52 +- lib/pages/service/SessionManager.dart | 53 +- lib/pages/service/TokenService.dart | 109 ++-- lib/pages/service/appVersionService.dart | 20 +- lib/pages/service/data_manager.dart | 15 +- lib/pages/service/popup_helper.dart | 4 +- lib/pages/service/ribbon.dart | 4 +- lib/pages/service/web_session_storage.dart | 15 + .../service/web_session_storage_html.dart | 16 + .../service/web_session_storage_stub.dart | 6 + lib/pages/session/SetPinBiometric.dart | 82 +-- lib/pages/session/changePin.dart | 22 +- lib/pages/setPassword.dart | 6 +- lib/pages/verify.dart | 117 ++-- pubspec.yaml | 7 +- web/index.html | 298 ---------- 64 files changed, 2513 insertions(+), 2238 deletions(-) create mode 100644 assets/chatbot_icon.png create mode 100644 lib/features/chatbot/application/chatbot_controller.dart create mode 100644 lib/features/chatbot/application/chatbot_reset_helper.dart create mode 100644 lib/features/chatbot/data/chatbot_api_service.dart create mode 100644 lib/features/chatbot/data/chatbot_repository.dart create mode 100644 lib/features/chatbot/domain/models/chatbot_models.dart create mode 100644 lib/features/chatbot/presentation/chatbot_host.dart create mode 100644 lib/features/chatbot/presentation/widgets/chatbot_fab.dart create mode 100644 lib/features/chatbot/presentation/widgets/chatbot_message_card.dart create mode 100644 lib/features/chatbot/presentation/widgets/chatbot_option_button.dart create mode 100644 lib/features/chatbot/presentation/widgets/chatbot_typing_indicator.dart create mode 100644 lib/features/chatbot/presentation/widgets/chatbot_window.dart create mode 100644 lib/logger.dart delete mode 100755 lib/pages/postEnrollment/botman_chat.dart delete mode 100755 lib/pages/postEnrollment/chatbot.dart delete mode 100755 lib/pages/postEnrollment/data.dart create mode 100644 lib/pages/service/web_session_storage.dart create mode 100644 lib/pages/service/web_session_storage_html.dart create mode 100644 lib/pages/service/web_session_storage_stub.dart diff --git a/android/app/build.gradle b/android/app/build.gradle index 621f4a6..b17ea21 100755 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -19,12 +19,12 @@ if (project.hasProperty('google-services.json')) { def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { - flutterVersionCode = '57' + flutterVersionCode = '58' } def flutterVersionName = localProperties.getProperty('flutter.versionName') if (flutterVersionName == null) { - flutterVersionName = '2.0.19' + flutterVersionName = '2.0.20' } def keystoreProperties = new Properties() diff --git a/assets/chatbot_icon.png b/assets/chatbot_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..0f5ea726c6276b445822f23deea5ac7a01191458 GIT binary patch literal 681128 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

y?IBq*|9*dsAx*;ORrY&sw^ul8qu1a!(O zg`AC!GSL%o+d?F}UW;m10))sRoao0&XmX@teK=QV!3pL1{3uFa+wIsvN?~`8O|djZ ztv@i}JA!_AGi zZ{7Mb_7T_!S%alc6aRZ^`J)Bj62%Ql8!E`!ofVEEnl89N;T851IX|gU?Qyc58GP&D zVJ*?lLo%^u8Odu@!VUeFb~X|R9dU-!Vr6{4hS!%Ltlfky2vC5s!pI%qlaC%L-A1x_ zfCi~i*wrBmz=K6{^ddmvi!EBIp(=b+H|)ZX20N@sQRt>mFT6GDBH(>M7l2t!)7Nj> zLSVQO0kMpFeDxH>y?gEoYhRSJ;-!&Fdba_8n<{-4uXZ>3LgY)r5`kk26=SJNP0LwP z-6VPZ_1S(QT}6bRCXygz=_FAFgt`NF-oj|0ED2W8umbbr zLf1}2#p1X4v@b$aKIaC@GtmVk@zZ&Dig5?!a_Zpu~gdf%6o$J_P&` zXTDY}C>H(F+b<2kY)0=-p5Ykd3HU2Q_xAJUIu|i#sp-Y=?lqf0<7{lrz3sPE4K{gN zTbWE8@mFSxqwfC)>Z?{rwwrjBD~%w|BLeg}p{CMa{BaQwX)VL@(N!m_GA~Q{HF}KU%835K^Z*pb$CvgQ88B`I%RAX{t>| zuM=D)(_av|WK03m3%l|6?ROkfETERz(k#Dkt=N6z>L!3^u7)i~I7bLog^|VfouB{k zDu4YVqOP43VMOt`&A0!cQ$?1L$#(Z^RX&s$tA2cnTTvj1F9asKV6LRoCWTO|8YC=V`6EaC5i0uocNEF1KGCfIPoQ1btvrd8}~j5w{}%a-Iynl_LmKIl@q6Gh@R+ zSgvvxx-kL*Ukp_MUvi{I+U$G9lX=fQXA+|r3qylH1|hv{S}INwG`RgRa9=fMHElDd>zcn$DSZvUc8?0b_71>^4NKjo?Pp=W(ppy{%&f=j z=#eynB-$(O;nP|OnZbde2e$GSfw=pm6It|3M3(rHygu5jF-&3;w`!IW&v4lLO$jxU z7jv!1sg`(LO=GiGE+ym%@|>hbbT@u3a<;^j@Ag-`w8YiYZAk&MKsRCJGglY1;jBe= z4R340qRF~~6sXJLA#hWB3$Hp?0WrQ96t@A9cJk*lM>0mHFUH50fqjQ(Vp~9!3~wz0 z#wLAR1`cXq`+=;mXB8dZ3bP!uH#)D(&LNwhceAlN_;`h|>fnLqvvTMCEQD2$09D^?>t&Wnb`-tNqlS@TLP9^@Tgc z`I_v-;Gr^TaY|RTpJrB@;_}E$a}X0g81(rEdSx3abuWax`!-J6i)h|p)dH_OAXO90 zl@=Gb~%l1aSqT4%F5k5SV zeCbS6g{|m=vE)oAu{62Z-1FIUzxE1U($YiVWj#|y=&Oyz(yw_f9Q{}%WTSe|(rJaP z;df5|NwHWkOm}qrw#)yCwOerbDw_MpiV3^X(QbMOs1uwIVB1VxcyAVQZ>OdSV4O9=@UeiVW_Nh&0L|9(7TE8Li$)0oTWg1kOI6Y^lA!W z*$Id%_SK6eQBk-iFKP#P`xnl=e~q4=V3P4*0b@P!(H*}6Aesfz;%Gbyqp5>E4t3d6 z8InK|jRdML;dzfx3y>s?Q1|L$WIe@Ad2aA>tByRPM#8!)$=*P`Sw_fLwS42 zu`Xr=K40m(zV|TAN~p~tYAcTDk znRi#Q7@wglcC+Q!=sxrP=W6fVvw&hD$4iT(lPJCY)bNOA`>F3bb7gW-+&|E*E{|3(onVu=07)H}=_>;K@vJG0UmYPeniMdNJKI9N2&mX zWlFY5O4!>CH60fFHXO-1v~bxD!&l94Aiwj2^mPv?GA8gUzWtYNQ*)q z>SKc`BdO0{wHx^;#uc11+6}w0U?+)O4qJf(tO5JqS(A zi&$R@!k4fN$SnfuLJQKWDdSyR%unu|0|1eO=W4>oRkKl<6xI#_SL@9$58wJc<4m;w7jcxmG8HkKl_h5@ub&iq5zXT^U;pRKLJKf5 z@9#F-F+}YxTQ&3CCBmefmet?^6eWwKv?s6^=T@aY@80Lyc#Y07A@O_Cs+BVu7hdp?wrvf)h{)ojK+9KmfV{JZGGX}R9WdRF>+#n4?Y^CL|G2JJ4F zrxOv79i-9N;fo!*E-58ldg+&)^s3!;8J`xMt}B*nVrZwsUyb_gx*~u4E^7Dz?o?Pv zEbjk}h)@nVesl1^2&bCHlx4FSOp>#$x&MQ^*yDeSC>Ta;-Hlg5*GUiJ8VWlo>T+*e zWW<@FkBYMRdN>f<4p6{K%xRsgBZv54Z|@oUqzY`>bnhR!^gKqZ3G>x|q&pN9wNAPl zMUVOV4lJ>Gj&2NPwEu_YAlG~`>WPzbH#4e=TWoO|unXgfT1Q!V1@!`Bm8U##tvzD* zdpxq|Z2gV+Y?mE}=4h?)>W2HEEU}qy-Uu}dH;Wsr)tzv0^wVXp)z?-{|0?d-g?H_t z#mPqxoZvA&Vei*s=u+a%%FKpw$(wjnDG53;@+};Uk+lZ#f|q)Xu?&Ddn&XZB_O4|e)PEqMvH)Ouj`-~ zQrxA)N+B~eU>!f(mgdP3pNILCwdb+Egf@@ni$*8>#%PxPPL1I* zlBw!=ReUmmRRmom>jlLXuk?PFE%_7kR&=x9xSI83s;3j5iRksSqJhiVD?T?2NI9fG zG*8JK1KY|F*{)19{v2Pdmw&>hw0 z!HQ7jacr^S0TWVE1F=|%H!D_BJ1{F6q(#f|QVFdKFfNM6N~z)js0Hj)#RhmJuO(pj zDWum0>LwnO&eyWqWW4#WbwXQvEIK20RGkJsr9NCBwufibfDo&ZBpfdc%c2u{QS$q$I7xm}N{fsO2`tnCorOwh_E3(ID+=vo3^t0SI zj&iD58FMEhpjyR|nPfzYN7vC@(H9c!%VBx)FPg%a{BdfG^XNye1iNKV-`|XEhR_%S6bb(AhcgrUfGS zucf#7Yo=jJ-dr-irmmJGvV}yhvxT)>A83NTY$Ahf8~;kFnz*RW$&fBs|JCjlMvH{# z46p1kUPkos7|RJgaLJ=!WKB7G?PSDH##eD}TT~8>B7F_JlFPgSG#W^jB+sw1+3b>I zg6KJdw;=uXiT}z1h;m`cU!*Z2z^W~v!-!X#g>8+0TYB&1NiqTkSPPLB!H6tz?62Hy zDau}-fo}(1YQD5a6oewu^^{a~diZ`iOIPd-&<)e9BimjexKZ!R71g5Jw}fKxf!r@r zm?Rm5$p}o8T~3QZp`{Af(l*j%3uXR&+T@PUIJM!?UE8gTRVKM$dT$JICXQY`w`i5g zSX9R;j9O2u5B}dZ&m#}gA!bYY#+oX6yKm5h9? z7>0|jjE5dFbB43#b4fpDSO``rIy(m2KL?_(8ghWmYP_@vahs-jIF38ZBCDp<*>E%> zC|*anXMhh$?~t{+-Z$XP=ANSPgRr9`aa&#RsUky`tW;S5<2l0Yq`hJzAA{=cLaxrj z=i(9tqLt0E9P$4qF@l>6ctwQHL~`1l@pBhJ^zZ3#?`GN`Xi&mFbp<>WoPUu@eEWhf zcHkCWeECX)lyvVU=pCt>I(7RysE`3mpd&n6EmdE4T8>w1PxwWSMGb5%GoO)*@6&4O z*$$2j^b|qD?M0&BC7Fz8%L8u;d+}dMxk|ZQP`qO}V||^Yha2 z+eh8M2?&sx=0>5H>i$~7$}NW;dO`pjyd| z@2;Mu?;2isZ&uUp`rmCTd8uc~T8+J=IeK?6$?<5gp0Y~lt)T~{BR1;!kH%k}RASUl zBcmIkP~y$^|4Y{%HsdveJ@YAudQy>Gby2sjy!!Efj!K@2Mk*wzjP20545{+)1~XsA z3+#f7zMZm=CEz|D)Ix1U?WetYQLX5Gz=mf8x}Cm?U_Ebz z!4r3>n}GPdorKA!CM~lv^cm}nHQS|)5uIvvd5PSoeI;ed0yTLd_w~h>C%Ej;jE1u( zymDw-Q)WW9fteZWNY3S^FgrjIrg(##-?f2+qR_NgZN|~R)=aH1S4v%p49#j;xBxxB zUk)6+GKP*n*s6+G{9wJ349vh39$%&u4u4l%ufTVEiyo13=72!}6xe$K6w(g7@(mwM zCc@ub*_1I;r9vj!k`!RMP%rikeWtShJ!|i8%-Sh=OpSvw-}w*xyKyC)s=vtH_~L!2 zu^aWUnoXO-nVNQ~G+$dbGJ|^+6vpVjC59jQ*4xi{_k1~HE8j`47PC;=K51|nbL5pTM%1W-6Vs7n{`Wvo0BQ4)AkbRD}x`Q=ar+jkVk(p^F9)*j6VW(_R>>@jLq0zVa9P9nloC0s;6kkFb$H9JZNLI z;><*#K0q5JOb9g|EqICJ-$cV=hgO9nHg*LkmH6B7m?5}Y{J2kFwNt%na68qB4UTNG z+2p94&y5X~b$XZC0u>6|SRX3*JdpbQbNj|oCo)V#Mw01r#Lwffdv5%0u7H@6*)l}d zBIr^diaj#`Uo}T>A@V}|FP`v{aA&(>1V!)9v)c>%%Gki-y3FlL}iJ~OeX_|wf2ay!Lukd8bw0> z-6gxlMZmo%^zcxdQ-Id2@UcaK-5zkEC8XahF3DcDE?m+U8pR44>S5Xh{_LquC^|Wm zTkFZFZ?!DX)Ls&E2JfEi`lh`kpj7z#va!x&Wk;a-^QM}flfq{!C+9w?Dm7kruKz*3 zrm>Tu^{IpPZE>FQ4>N`NoyHE!U0*P(!g7Cba=BFlMxu^)TDvBGyxRAM6IhU8jn~_` z9*ex-c#6|--)+;ANAD-Un7TC24?Sy`me(mX+rKz*$;-I;X!zXbd*8HE#zTHr_W8C& z{e0csV(J*HYaQrblhnI%jPf>NjvdFsHw? z>|^mu>8qmjD8X0p_6MBF@$;Kl_S}kbVPL>lakA5w_smQsc)O5|)bv+b5o2EP!C9Og z7e0=*7T<7ZCPXm3gP!|$#0xy})_~hIx!T^5D@_;FI@}uDzK*Qu8%)Tik(m*O!~Lgm zW$7HFws!A>wdkFYtknEa+bx58P9Ceeo)CNYPQp%C_{FXvYo%$^(cGs`gs}~sT47GL z9!(9VWbQdjLN(Oi7=D^(%c%?Q2kfiNGHRmcJ-$JN{X(4>Hm44TOkZ~!5tZlGb`OS5 zH)WTZt`dH!EMGtYYXk8(uG(mz6y}f~SHunapOKPRWD>KE@v?^`ITP8gip1$JBF^>S zYF+3Y!8b!w=`(((P1gRLC^3+P97$){l6+oJo6%AZk7>(VNPduZNOHb|<%pG;_GGhZ z5#cI$g-tc5QXgZE^)y(0aD9DK^G!Uede%B*P=q*{aSf4PB&e z6mUnP69od;=vA_pME9WbB!)wNY%5%xkrq`WWXzSvu`{tV}d-q*FxTTE45$JPcCvhl%Q zorSz<4;{EW{P8p(m$=?F^QI4+A|%fV%$sG6lOvHFGH8G`8=-RUL$XtXU2 zV`XiLlH0=hkZ5}rEN`3QoM8yHCla$FCOYrWXcMhh8@li`a(?jJ2>h-2cH-RlZo>{K zxA)r$wfYs0$!5o@WaHmeEGF?}+1CJ|?LLh37C||&{m*%tqm-N0EkZ;Eil4M^vJ`|z zP*bL&-fq-h$_WO?1=Mm>Su$OG&q5B1ApS;Ywk{Dm#lS=@Po7Qzh9q9Gz0qP}tpaeh z2W#z-g?}3qGi0fq8_m_0N<3mJ3MA*&ny%ZtMadG#BVR0LIg`T!wGOh^t9#YIsZG$) zl}Myh+>sfeld$?4TKRwZ>ER)^J#Fl+n1Bb7_XQoryV=E9SH4r}*@hcs z+9zdzERfkONiNgw{@E^;q=}22!hc1TFpCM=8Jd*w_fkkA-P$R9#MhoF6lVvm8|};v z(ruqe8M1CKt8Xq5mo;~gr#6JN3ko5hbi=n*vap}2qe_E`=$;zm#r z=XF-GalXJTY54jiUmEIOqC=!+mh?rng*+baJO8Y&?9P(-vI`T}AB0-n**MZ?F{`wo zbI(BOysEZg%aDxDC&^(RQ*Wuh;?v^MmN3846;p2o`C(b5;?K2bCTyf~^TL*}>b{4L zskMbVCY2?nCr|z9X)ksR&&nV8ka8$-$+o|*XZFlx*YjxmHTuqn5pU8~6cRF9B`iSqpxGT_H3}5NV z^OlTy&n(EJ<)*!mKI-~9RGZ;*GBiBcrCq5ezWs^uiQ{1h_PPw*yyD=;TIo7a|MD%v z*!OtY9Nz;j12r{|+dP-S@5sz4nrwRU)h~Pb$y;S_3s;LozhCzHrY^pHmlJ2UiNUzx z9q-OqapGj?kzkhr-=cg_c88lbIpHl2!7ye^RiOCAHrry+e`DFCbK7x_BEV8>giC?KAxu25%1P; zJ|x_sv+v4zf4_!T3B?c00|(-rPBs0*x~qNCCf23>OvnL;&SMwwON&(eYppzpth968 z^V86C_^+$E<7(z*CA`fIk7Sx0yt|vsn0wVvhJ+p{?8{7Od(dDRw8Gzt>DE3LGCwV= zEB0N$cui6MSJt<5zwn}@x6_>I{1wLCR}L93PrF?f?ba|+ok5Ot+?98BK23)jzHbHy zKs*oyJqnx0za~w;>EFV*wT@mB&)R4dGgiyyZXeHPIO&1s6p68mDhx<$m(A&-hQ7v4 zVbmJ(w*iV*7wcQ?6rJ+v1QZc$c1sa_9*I8mRAg06+b2FSrQOAd2#-cWvfb1{OHbs+ z>DtbwhhnvDbyRt5+WtabTDNW5g@abR5^ZdaKXP9veO>?$Lu_rE^hk9Gc#WZ9aU^~AOQ$j z7}VltD**fHND=jUkvPJvNACpDWftf(XGPl-2pjJ`8X}qW3^~d33vmi_YI%46K_ypP z{M7Z*wi*Bdo_=5O%rgrx&D68xWPE0jS3@s3yZdjBz z-PAdeeld5#^I-JvSNiR(qgERiFTZ&;Q-5-aeQ)A`jj)0+YS#&=X?$T(!pl_( zeBki&E#xAxqtFz~z`gGQMLt)wCz`j^YXAcB%6{sZ<;1;-DDUlEFwFbzGBLBPx; zb?5>@cJWvX$=M5_$K-{hrffKLddNfhIv#T#m_uQI)T1i-+yid3na`q#H}H`gBAabxd zjoVE!&phz~d+>@q{#@#Z5XW$Xw#oNDSL|o4ynUwBQ=@O4i^kA9=lXg}XWhQ}hIa%X zZWb2X-#GYlQRVln!>2Ng_G%0`&ayArx%jT5Z~l%8^M>AREiBHwx2GUKKE2BD`sAMU zU5`S;vdx+g#eOVau{SiMWM62;n)5boesLd*2kU*}N@abOIX?x*U0u`6>W^gJ(am?W zFWI#1+5Y78c_eT6UUEN`R3h9zx`lM z{%NhWpd$A!8_&3&$V_~-*G*wQ=fAb+^JRW4=FOzkB+l?I`@?UfQvj9=Uw?!i`!_?)L-= zt-oI0m3IB~@h`_;Cd`%2?YQr0xn@O-OZ)nFzl-vYKlPBVeNrA;u_7jtNfxh_j(@T) zqn>=K8-oWQk3VJ`G~O%efAC$#eqnN;+M4>jpSzOL*1&^@^&V~anEOtHm(85>##mLg zb;I@NKgXIC4AY2zR`|N7ki;=fFxeI-iw_(NmWH^0w8Iv{qaNAW`+>@>(toUTO){f0hV2hikRi7 zWmj`d!&tmx+B$qTto+*|7lo~N+z;P(XinYuAaSA5k)k8Np2)2FQ2Tt7OCxjc%jVqL z?}V1ra>WmwB;EOP?1x}8rq|_~Oo|D$_!Jvx@kxM20*lL?IH~^=tEQc(%9jQvF`o)Y z)argnkxM^ORgzR7t3m&3VrIuXnn7 zBW|z_+i zA=~2Mo7;fTW7ZZ5-x|ZWyJ2g`oMH%=xL#&w?)OoizW8V1GCO%m36jKw-nAD0|0C+p z!=e7a{}22zW2|M#l6{FvlC+R5h7?L@vt%3EkSrx+ozX@cDj~^|ii+&}G9wi!##STS z43eG6Heo;vJ&BK&{qn@hP)N1(%joGU2kgHw4q4f>mNn9pk0cdef61w5*V)glpJJDO z)vYq?Zagr+_|cyFk&>n#p5^hYC)6(@gh6|6!`MS$&)7I$wyXH=Iyi8CSeY+PX2{EGwTZHI>k(%>I@QCDASP$}Sl z+_6Hl(#p9|vl9OL8Qf*Nxnmy;9NWoti)piFymET&8)kXw*T~Z!&YQmLaY-sqJsf$( z<3pZl)#=A7QToJR0cnTp=ErQRJ^F6WlsW6q&Qv(-vZ4rrJ4Eq%>fyRW_D zU@Q56a^*_htLcK!ZIuo0T3kC9XG>BIJU=G3hcJh%-c3B>O#Wl1>W8_Un*UYyHSEJ4 z|4^4Zq6K03sRt_D>Qeiv&pxlLXzIAOfjl!CHVJK|VXHhR|D%m(7bfenCq~>(Q7#>= zbhVvvE!yT?e(u++;I*AXt%WxS3Z4a>vA64ca=$?T@#A@;^SVC!|U@pQ(0PJ{hm^tKt16|AB?evyYt<{t1#&c$Cx{&~RFe~1vxd?+#h$=XNfyfbn<0i7T;DLw{A;E7yZZ+-t0feR-S zcoR&J4Iq5$aGE!JcpazkRfMkF9D8SVLTnSDXG6XW#bkTXi&MCJ-{XstL;%m9dnyAI z=;TMk&1<&EjpDDUMCMfaD&9VdI`!7}+om!r>&IdC?@|b#rAgSd0^~o|SH|$~q%`3( zdqh$Gb$oWft7ncfDNzNPBJZ`eaB)2MD!7t9QI5o;E9fT(o0WD>ewxGoZqVZ{;nf{#zyV= zAOqh7`=6ztjnF2{B>MwB?U2C^5sQxZfYzq)?+sXh{kYgK6+8#E_+%MqwghHtLDjb* zWc$4v{!3p_q*lZz1ojzaryqmCTY3>Mk}d^`cT+QkdSA5Mnj0wjxp*3}Uk`8F3YyN} zCu&07sPmolqkUS*ue-ZXhM8Z_j(Bc{Th*wGD9_%$z!9?>5ks3_gDdfZ*Y^f@8vUbI zA{)A72l2^)1Cr2?gP!YcLH4M_-EjsZdiE)5TJs8wxH_%YEG=AwJP}bAKL^4U}JM83dpJL<+j#}iO9lO4Uor`%(8)@=c zSRc>A#UM=!Pfg4QV-ME7UG2a3%7&`_;nnbBq3?84McEslf~`IK%Zvw}?tHZ78s5qR zJ=TkXrdHwA%6a-ltyYxJtScata1k{jl4%`v`b~FM-%M&?RH$u|hr)E}uftI~(PAR( zdida;DUJ!Rpm-|Iwq$z`E6-N``WjiJe@T8(=h3R`^iQ8>U&|;nF4_8?7n^(@{gYpa ziY$7P-Z$f0>?k>3s*4*AyLx65?7-AL)^;WX`_KVxw~sj)Ci61(%9YM~s+DQDw{&CY z-jh-5i!R^cE5Pq(zqjnn<(ZNVjynD`C9OK#hVrUGTSaQV!od6+(fKvW{DHY`q5*4T ztg9l$`fdAfbQWHv?jP~FSW7JU*x`9bHsrmUQu*-x0shg_XR3(t8zF*ZJ;QPxgo6)!7aHufkk^TFu{?F@^No$Umop z@mQ(KoVQ;*PYj)J@3ct4C(JOE}I6!na`Ojg9VqPtZ!;6xLNlW{7s^(C&uoHJ; zQbH~$4^vj0`$E@_95Y8%Upe;nGg|xu)@>9O>y7wqb9b6sHEjw4e@=dXyGi?Kcdw>j zNA9uqqNU!kjAQLs>DNQ=)h3i~F6qwT6D@&|aIz?e46oZM>; zIC?(WNtfn02Zm2G7=7WqP=#i>mVz(T(|lvn31FNp{LTBjX|%yZ%#{Aclj_g^M9GO8 zE`2@9y0S{`@rXiSpBy<>ciuU9p}$B31J*8&P>0GVRF@I=nJH|{AF2vvt@tUDe~p>_ zgX{3KmFN8zpP#{okdVH)?HW(sG?sN#q2kFOfL|R>Z=*HN8!HCGeW6upym`5-<`Qz%^4Kz z*9Ey&RE`CakMmeOXFuBgkXoD?>F^V)C%+UY1qC;pv6)$1$D$gGC;zvyAX1fU5MI)G zDB(^%kdjcZu3~>P!WptYPc{v${$Vur|NArgr0Tq;Q^i`7r^LK5PGVYR*TdC~vR@*f zd?|`?@*6De?)hcr`slv0qKEQqx$XH@m%X}=*4~`>pwYNCQ-G?g6}7u`BM1n9DoUJ)VrjSa%9^|#pn%rr#liWqb6-jnqu zd&|wyZH*Tn37jP~?u_39(Lk{%zr3CNE2y>dXSSeX@WJfKaS2dE##q!h)>z13v$>`Z zW(Kc#q;ZcQY^6~>JZNy;vS5Z)Dt`&>x7$%lUPbpnVTRD2#W$P4$tds2j~mqq!suj- zvy&f&ppMC8T#^v#BtNr|6k^K47^Tn$1Vlq;Ewe>ut?<1SJ8@WlZ6S?XGXCv#%wD*_ z-?T?Xp1@WEo!iD%Zb`ZMU43Z?qoc_?v6;a8Broj_MJi1lh(v@!qy#o7T z1c+$0L&a94WrrQ8`GtSJEW4Tw?L@riLVJGVi4URgR-B~km?{8&qTt`j-A~aIDY)^; z_M+933#0p3$CkyXKHs6Z{Bt-oY%dRRC{F=)WN`waB8sKI;}7WhCcW*c@OGg@;<9AS zLRYx&=oajRs@O>tcT@)E1P!MI#-+eV=!&`8j96eh%m`=j6PSLSeF$USZy{E-<9BW1 z!Ut|tJXeJx^@95?;Pq3-^5M;LKGXUavXD z)ko$08q^ogDVCuN?uAzF0-h3RyMNts33Baf;OJqCGelc(yw@7uAR*`=J3+D!G!x8; zbfwI1ajlpv-VyzmU%`8yb&Pe5fplB-l`Z;o(~`-a;)`cTMQDueQgZ@^`-dD5BaV>W zkaW&H6ICxsFG(T7{54F@c_jW7QNOJfHS$Ub6uQF>+I5FoqR^j0@O+hW9%V2-g?-J# zzWs0SuFb}h5r4Ys*mFejKoD&O{}8yx1CpJh5Q=dA5LlN6w=jG7fa=HKL{x)_CW^Dm z=EE9SJTmHn#B*Wv3e3YWK`9v!u7MIRY@(jL>rM#}&r+0Q_ErjMtntYIe{q&$GDEW7 zL^2?jhoE~VC@W@I#>hzi0{iL5r&#v&S*ZZ+0ali7!u4#egivwmuaWW2U+Rip{Tk^W ztMc3#IRECAOR>k$K-$j4)wlQ0$Gm&xTkN4UTYf(;#_4Dw8O;n$q5Ed@)5we-LRc6< z+~nY`@WRL-3Dkew5Q!hqi=DTiZ)1`v|Bi3pq(<4zq--VB^8Q{R!R=o%Y8vwW^j3cu z6T-!AKmm2yF(JY;NQb!t z?abi(HuAGbo+=3*+t zn0@k5!52PT2@r&t@Z;qivI{T-1jg6iF}I0?AqmRhy8=ZDZcUj0wnXuiy{Hp%o(`9E zzUbe=H?;EeGB$bz!&1e^+vmjDD@IDix1tEM*PM81w`Hb$WX)^)xytZC3rab~uACvK zA`1MxO1>QE(XPA9y{)mn^nn|#J4rWYxp#!WTm1BWBTwqy>r7i7AUo6YdwTWzP!y=!zHcz6Lc{Y_&oQ5jQzYESPQ08cF6aW~%lNnVsh-S99ku02PF)V``1 zh{k^0Dw?!a%iB#lVs@Kr8H26Iy-FErcAIof!r%K8ba z$NYMh3ja|dVY(|4!5ZS>y=;-!FBN^qoD9K6G;Qxm-X`=EAy%IaO+c7uiX=y5uYy`D z2YS;o!LjxKJjmP+uU~{tQQwNxo&1ex9#nw5<}=JsRXD~H&q_lQ(GZ%?r3vuwI<5Ff z3jUqI8s)iqf`7Pj6?ro$KrXxW*+?MS8l)^`mz^=p$&~bx0Fh_B{&47YT*L7{{3xCY z%et76_y1MPXf6G5NzZ3u{TBE0`4$(3YxYs3zp;Ni6e%|p^&3iA;C zK7^qGj&~K$BQB6q{T)Z#j=r&x26LGPzCvtf4!(ig<#VhsUkPjmA42@VXTAw2tjy|* zp7CF$x|c(9#?XG07i2|bIJ<5Ws@9TF+_Z>aob|FsxYF-u;a`8t3aR;>69tQB-! z;b_SqvXkmjIUwE@w2%u8m1wo<0qY1TKi|O1&qq|=3PA2%xPJn=I-SD7mn+ZofFALq zJD&oRPj5-ZI(yrbl#(YE|JEbhse+Vd0Rcpg&!vrj0=F}S2hnA0N70jv5D5&yZ98hu zY)w z`~YgtQRQ_5KW9Q<%nt|Zw8`hmzWhx}tSE(c`~c%L2`dWYbA)&XTW$-xOKmnWIW_lc zDuykZQ9iCa^%iPISJ?t}p;6n0>+GaC_uMQC|3j_Ek=sJFy@ZXY2+J@7LpXRjRibnN zW*kLsgp`ir)L)%bhD$I?p@icp1NxnjJk5-!!Zv2j1iFIoR@}oR%tOp;19~Z z<1iQkGJ4aG1>bQ^ul{(r^-1SZAgqrDq@dJJ5gO&RmWkild$t-HSdCZy*oR2^N>lm& zoM4>6c~WcgCvg*O=N04}H6(j|srxCy{9UE#>h!rT8w$NKL1!zXY6>a`VcC(_xo7cH zkhFMI=1BeNBi$G2L4eCopo2uRJFPs@7g z260VQ$Sh?ar2?zjaW5D~T5m5AJeoZ1y9cLxS3|w%Gb)Guv}zwyb{2VWQ{C}p4Ow6~ zbKUCZWOh_RXD9SZyCBcF*cUsqBXp(OaMPiGCuzpYEA+Gwe<_=I?A=Kq<$?>#Ms@aHVGlqch@AaTMSwF3<_ph4Vu-F}>ZIFS;BQ&OnX-6=>AV7aavIESHjpuKzzEr@kYf#Jaw z4_9}F4lJCm)rm=~w+6&#@o#5zF+e&->-91WzUqoETl}&7U{#gmX#-l8RM+;>aIOz1 z0FrcF>@VI&fFXgZhFU2kddkqqt*)o7BJ?k&eE;AAyQM$Bm|E2eeh?)u!7KA8@t!1A zjcd?S-is1m2s2TCR!zCa)Ryx17-s$cRk>}!(n}X^2FL7`&xhH2$2N$ige*b)?4|&d zY=cZjKqyB%aT~yJ9xVMAQbB6ImJv#F*bm{KkML|}r!qB1&}2`!>5tz6%n1Ij{0|%! zyHrxF$1+A&ly~*fV%G7Ut5_`z$)^2~oRasWTXQz9*S8oQpFKC|%Q^td5`5(Nr>cf` zz;q!RY%E@JEVnelZpuIsH7_KIt(L7pbTB-eV!PF^JKkcpD{A`b#}}6E(adVLxYwfQ^8X1dr1&>{sxl<1k@tEz*`E8ORLUPNxH*evQuFtA z1?8kq7$P!FpxO)@NHJeF z7BF`wP`2LbXV`r@v<71`$VvPhKQ&yf#@C?-D?&613ELA;+;_2`C;!L4B)ckXK-+bw z3oFIZ^a&^fIR-(-3 zu>|(NYw$aVhq+gMU6+#FtTvNw+%~spM8nlWTd|@l{g!mw{y69n+r42;bb@+v5H(az zSmW0}8HI{p^yaBN+cXpJFEf`G+OZb>*Hmo%DK;BxiGTY~iFaiOQeYJSA|0eh6f`%@ zdfkc{Y`Sd1Fz;V5g?wC=6{yL<_X`VLU-&W}hIG+=qqiPyB_mQ?3rqh02%9Zj*fhb= z8`K3sm~54@$sAIVo-*l_WlqD)^H^>MhSSUs4tZVilQehQ4$?8f(5C`m{zoUr{{=Ke z_|nAH%@^;0ws&i%zl|=Qn41f^oyW!u)q3N%(wAOm}ej1k}=4BahC7fYk&aKD`6tYT2cPCr1&XjRB_p= zDs8B2&+_iA@olhHYsS7{;S9I$e9|TTGcMufQ zU!7Ee*a`p}a7)OGhE+kGuy9s{M!Rf5zgB+-V+}Acru&`-%>6X*?Z*k)-UiuUIA|)tI2^%@?tvbJ~?S>go4H zVb-cA2`dD(pM7x=RkPGo(6)AVHywURluqFLJO>KC3$2HEhA-;))ilgx3oz}xvNz2L zk``Q8k0v+kR}4<_HP@wiid!IO^4|EerY@krZ@%vME;SmBr{K2KJMR80Z4vg zFY6Wv2-7~gK0_#O9;^7>g-CqH-0ygWx#xn4b0*?_zk9<~%QlGp`t9JMP@(&^R~e+; z1)R{@e7-%x5=lv(3QB)}&u5kE_T;yqTwNIfX6TXC1%=VN6JpB+YECFmYKV zRB1QCn{{cH>^EYDolp|#{yP1&vjlU7S#yF~7UVpsDAH38H z*bmE1SJ6hE_po5PATzB3U&t~JAd|fpu;($PlL(3xYOx9{S}Bxvb^Q>T>l%ZIg}~H+ zxs=M0%|HZ2P?Vmc(C`Og0^3LL38+fwp-vpl9$*3wM)@_?mklp5lRtv@`Dvy=@NC_9 z1IbjS>qf_uM(%~osVclSqO=k#_CEs*GiJfudsK5n7DQ8@Na@-mhbF%j^SlS2M%~Y- z%htIvQ&-YZ>;KyD*DVRN{&njI5}mTsM^JNvM^5%Lqjm}8oS-Wc7Te(}dY z7;CprqK0zbyh(sN6;(I02$0Pv9-6mb2(*p`4RGt{COR(Nn@6fq$o2%p?jBff>`y`= zkCfLW9mlmfyJ-|MJu34&w?`R_Lp*Y+asr3*!S$x_sFL(s7{UzsLlsxipT~xN|23Fq zaDvgQfnMS2sjEGhR{>NMPYtz4#H(OQmE)PnYH7e<@?#@Vo=~_03{M16uc}>f7-2Mw%n%=x9oIN0Kr7&gF;y+m4?XXs`%qw2wVXSK z4sJ#wKmC`X(W(hHo**~JPQYU%v8rmS+h7W-&c|o|F{<~mfGCDMC1Hnd{iKRApT@{f z?41&%hd0CNOag51Z{IPQke%x2cxrV}vu_UnBu<@>xj`X7_TbJ+9GO%9neZ;*yGkll z7)yB%SV`+QVv?FmU%pb-tv=nEbt&&X0m1m2XrC;LEP-cH>s0@XV;zHF>HwOV~Yi&J2z!}fMXU8_m;$= zd_w+!M&51!XF&#rBr?XAJs8P4lF=wL8oNbor9L32Z40U=4(l22gX~=tp9CUt_~U@q zMjYOfadS+<{0JHffE_O=y*MQko2x&je15FIz?lE_XN7+w8~(y`cK;kAvUYR0`-FfU zny@1xfR2t~(ZnNo_^~R{>%C4p7_X-4?FkaYWsZ;0N&M4qb>6FND1A>(#s5IcKjAD~ zxw3R(T;RY>NtkTy#FJqZP&laIqL zqtcLLHxm&XbB#U&4NpFso^y6kvM_yV>OEjxp2q|h!lCE57ENgfZUa+I*>CSs=iJPt2 z1%{EkD)$YfT_A~fsm@k9S)DMga+~&|qOu>WxcZ%`tJ77(*~IOR`k4-M+OLGkkj@74 zI~Ha&w_^z9b-UxVHPG(K#m#0gZluvuYl=c{RAuU(T4r^IsG&2*+0v*z|0e*}8*>dv zh#cBWiJnx8Tt@@S%P{B?*iHEKw)3jb@_raX45bQXf#(>~ldpMIDNs$MSF(~qcQIQ{ zPx4xwk=A68I96PQEE3C>vi~(5S)C7CyOxCh@s^Wh4WxqwNG`JGb$rmeqemh>`MCu( z5)Xpy`Q)I!$|Nn?3#F4(vnM@uX?aM-TtxgR@U8H1{yDfG)}rva;!4d$V_#XvpTCJJ za#gy}rz^1HPfvR00SEN)mOiZBagBRhLtn-uE_@X2+NaMTV+c|U`9cKOt1xsJ=U{u8 z(tFNlqq!1z(Av+^FL9=+#>I-v`4h<6=8&a}EVdw?;+|c1zCdu|*}=IPGP{6x9Id34 zH>6RM+HQnKldNG-?v%Jc?}?{UY#P+-L#(;Z?@M>Ipl|BiU<$ruJ&V~&U9Kc}H02+{ zSW7M`I2G~ucD>r85j1$W^HY)Y`w?CzfzwH6!aMJ{khRbi<1*ux~#2q~F`M@?5=g~DQ zP_aQxSdid$gIwQoYei6ym-==wc^6RnrwJpWI5z7(>R!&tZ}Y+g{W40=VP#0!QpoTh z=;RLjR*IKWW%T~ByLcvKMm`I+#y=MLqcx+0dWF5B9VQv?mz4j6&vqi;?@2JZ$G$cP zABv460Vl@kWCht(X1d(T>SUt;ZL!q(@b%C^ZS_-PbUkyV-NvBkA!z}!)FCW)mbORh zHjKLb1&i0;!-V2?jib{vF(2KBDdwsl1QycV^l7T$cgjBr|9cwq_6v2s(zfaK@O~2h zZy~ajI;VznpBu;E$fK8!PtV z@UPS_v!X9h7oYTtPk53!NU9jfT6f+}__2;R6-(9uUE9D$I@~nZ7HD5b8)675{B7tz zt2;;+QL*qsb}IQ>H1WBP*G+C|loArZj%<%w7`2M(%oT_Vb9|`|F3%lJQmwERH|Q@` z2YbxUx$x|0p9r$nqHlv9fvmS>-vTg!w&_=)@~ErePbhHs69r zf6uFXUDa_4mj+RyYiTq&tP{%uBljy-l+|KZwPrctqn_jB;lB^$fp(U-0i1j6*C}Gq z$uzK3-1mP8c!pydFcY)Vtlh}P3b)8Kdg<_Gz2BG+E-D!z&aOfK08i#bylBNrXc49I z_r>PeEWRyj6F03~{yfK+A8SG<21{lt%fBwx=Qw19gLeG3dhpkg-!IS+_D1V9ShFRv z9Y=5z?LA^9$RVGjFXla0;>qUJi=}i|m{MOC_i;_*mB!dKpFRvoq5n81;~s-6?W(^| zlt2lfAOv<0om`=nTP&&x&Me>9X%Sadq!%z7Sr_BLZ%4t9R0`Nop@SVS;y-~O_$V>0 zU2!$9!!VncYOb#E^YdRqom zL$f$D!`&l)8*C;A`E@*6An{SM(EC0$u)g4prej~vcc)kaUewUp3UKV`R9kJ0g6pBw z+Q8}DXYZZl_D?Q`k3=7!CowM62aPDEZKNGXZ^7J$9~TU1B9168CnTx1?3#dz&I0(x z8TLZPQS_dIplOTZ-m;BDrFXSa&=VU@YC^5#F8O>oj#jI0&ps+bVnKG`02C!(@rYDE zu>EB6BMd1MznxB$M0@$&vgZalPa`f9Of#QEYUVV#4&Jg!j!`0U+zZy9Q^w!%I=Meq z@TLMe_NW~~tzR<*=rBa(@)Ob)6bwHU!~AhPi-f!%&LLG${+Zn}ms=jF$yO{4d9QIm zl2`ioOm#m5H7|!Q>J$c+PKJOS36PFtJIYk~CI8I+{HTk1ZSH45hq`J6ax;y*q*g{BHr$>@Ie=aC=+ zx{()Dt``0V-q{2$9r)cm#Iv*=|sH;OpncuM?n?zilI2{8rd2admz9R|W}e++hN80=RU!A6j<3@9Xr3 zJk`rr$vMmPV2W;z^I|-?;=;yHz>Si~IDJbk)skx5CCwO$(-?TsqRQtm}sO34;t^b!>+}xp9Rm z#?@|AQGDxi?cuqdfF2|!3APIuwo!V-q)=)jbn4k=YHXeq9Ho+Xg0^4rH->*3c;+f9 zBB|G4oIXgtwGSk&evrs1#it0CjAP^2;wVxxmckyFOV$+ziR&6O#aHouOYuyiITk~> zK1m%zrnmjKceg=Z3H^t+Mc3>jv{v=}Ofofh#=l9pFX-w5px;UI+l7OVZN5H5vkc?M zgD>TR$*rOQMf;?<*s$ChPK{x(dGKg``g+3;skVc0|MvxlXp)B6i_r_U&xtWJ?-1T# zE7>a0ERtnn5SFddRGu%cypEdwRylm@U!|!8il#39_6w^e0sG7HycSKoEnbL}oHVfX zUDR(MBM?pS5Fh0=3V|BrzB)LDy0LL9C49q=4Gr;LsvmoEsUPpv2L%#^MRyWj&GWVUi_5{?q>6A8+vg zV*$=BR(bWOMvd04tj=3IXzpDw3^R_1?{JB?B)_onItMnOrs(*JqzgA%@sH{d-hkgH zBShI@Tad~7@isr#mhlVMIyT9d$dwX&3r(^Yk};Yx_-Ki}np2 zxVdw8SCO^-K$pKmNgK$u_&8b_mgHW4d(I0n)8_H7mYP#vEnA;zjnjnd_FlYgBHUK_Q_$hWjG_GpF_nBrL5@oV&2W9o zH*{_6O($hTiw|OVTNET`jNB)$9;}@KR<21mxu)Nq`JMk6m-VNe&-Cbz4{P6DYKu*3 zqjApH&Q6y8=}FA{_9YV-rZ?oSp19_@-2A7)CTgjAEp!`x7aF{*mnQHI``^J!0bmv* z0mRZmD9Aryco>mnf~bR`>p97LdX50+-t4~|H&J2@R~RJ;z**74KI|5AiT_%|ZcX!A`d zo+S!&W$y+#7%z(utqwn}*Yc0CdCJsVU!T&cP6@|jYz^0aIX*;Bz6`fvBg{& zU$h>M21EGGsIGNfByd^5w|5GZOI=fCqJ)QG<)*EB=F%qv@xzIWb5`pjlb2sW^%H*D@yAaqSiv(cp;N+T zr2|Elz>c5%Owj&>q0`*ro8Vnkisb<(uVKH|#)@d%9^)v#2p?UY*}2?{4PP6FBOiuH zJqmQq2qX7&s(f;(a#&oPdizG%Bbs{3bG+t7YE^jmleO~|HS;@k0IU8-$8!hD%Sfc)v}^wb&t*!(?i!DhFIU&b-CF{J}htx zQGlWJR?$_g`{v(U6*=-DC4ojiS`FxpH*{;UF<(O);(tv0H^et2MSr!Z%Uzck?usS^ z`Wm$ryY*d5;E-zh^oY|y$Jfj}M3K=w^wmDYgK9xJV!Wfe?D>Hz;X7Hx+$`7AaX4szLUMyP#|R~8@)L+*7(}JScImL zQk|btjY*jzn&Va4;o*|%)rEcSBj@?2{;C@!fe3s#UwLzMu)1ffEm*NdlZ1iAoN71TZ{rR- zlsvC{1L-#5#=+-uii)xGob@CaY>F5m7dxYm{T05DW&T%~V~jVWXx zo{xzSG>u-We36)?QhxXThAQvD^rM z4{AoS?qXwUc*23zjonrcN49+WDEK0>)XY+`)GYSyf^lqWk^#*a5M`6GHj0Va7g2yZ z9R{vBW69z4A#$q#5%|RU60Yx*{yxj{vvbA{M;0cv>R7XFzWUXz`?3t5U0X=i$cNY7 z^QYcwXimRv$-glqRt zvw;=859`7*Hu?2>&xU1q4!+HM_Lg$4?P{!@_Jm{giI0!oUuw5gjBxC@{rFl_*>mqb z)n)hgTw5FP-T2Ee{yg>?thG`7j8OTIRPLO|ruGpn z4S(y~Wnq0iXB3ktb>}l%OQKHutnZ45xs3~Au+N&^B3i=bK}<;4Ip*Sv%Ke89hV_Rp zQ%>R2V(}aS&hCvdDzyj4`#VPstatc3>s*{KeDf}e(j}-ea`XYCuZywU{Z+Wts}=h? z;H7S^z_A21!ACI!P0y$iVKBvkrG9ZG$PW3jYCsqFu|>lg<|~TjGcA4~H`TZt)cU2N zQq>(%WVEd6b`RjEndAi|R-B{FkPUf?-3+64{A!!AmxO@wosB#ju*(_^7#w7e2YX5F z(IG%%;i)@1hwzhk{Z~{OwJ2|pflZEABjUbROkZeiQLkUpP$o zBPU9XT^Ndi0&MXz{@Z@4>Hm5Jjcn3zI8oe2TN+KS2EkM>i_SRf*R!tb^*gqbu&f9PE2J6^QM{Q&U4xxZQ z5+lv3XH9qBvkJ$yi{1bg0UaR}F#LQUU4`!tDcd3@q3chu<>J|a;IUnNWupEt{&gL#J1UrY@!mnc@t?pfc52}h^zTe{m8BUb1 z`x7IkDyJVG7(=!F@}6XdRu-k;29Nb#p*7Cwr_WyK_Ye5HywK#7vAH>_qK(~G(WR$Y zX_w+Wc)VA==5FoTMgLrm&Hjla8Ct{xa{3)9Nhb%7NBrzaaqiv9H#@VvDb@Ms;o6^e zDGzGj-z)o|Fx*yj`SrbcBGq%!r(t_TY%N@M=te&(T(7TXlrj8rhAy9-^jKr-p9*~Q zNT7YZQb?fondoOrevIb!xp(RBL_fXeYCd&xiBbZ65G3UG}ij;VAQCA;1 z;=Y^|z^$pGRxwYv;%jfhF@Xe|elNd}O{Tn;<4TXLm5CO_pG?K64S#HZs8W7xTdPDQ z5uX!>4`+@e`^JY3mtM684@vLryYk2?d9#-n^KSmS<~rnV#b5MBYk}B|7g@<0AsXqk z7BPfNTfv@VekvHk0NZyk#G}FS#o^&M|5Qz?2>8&pvzYDx9{q*UI^nE8ho5=XQxc?) zG6#1p5ZBN`7{G}Y0_28&A~Jm=Q095q5fO>~v}}IDsrK##WJu@)eBEqRi!wNTOQhX<1m++8*DRb6AiaU3 zjL39cZkWQ+&xN(Giy4%U$lo>1CpLUH=+(n$$#12PDI<{|^fUm+nm1{*Jn~#KIRgD$ zlRnG9^v~mvM~j^`lb@d=vn{5Uftm-4GsO^oVt!@aIp8YD4UALBmXU1-K!9@%zn zB-@?xru)W=TLMwPD#$H0vY1o;>}@*9VylK?x!9Nh2DN)Q?K+XlUE?7ma*`KvQ@|%O@#O_~q4G=eG)9(E*D|jp-m<`O_g|mlyq{1rwYD_jt5mgoo?7 z=BCqXPW=qg#cGBRv$b)}bgsIVG8iO|b-+_T3Qed@6SlTMx5|6J9%nd}3|Fqa+|Y78 z_CksjJY^!r(tUH2=mE2P!1rQ5%2jlP+18|E zsG4R~HJk>=ccV~FwJ%#fsV$*e`s@gyWi!{dDfJ?>$}Yk z<-z}`q;h7o*A%1vpt(>p^|YjTnHc{|dXNH48Rj~$-CTnNH^-h^;f{t+EyUn*u3Y(7 zE$FuX4&HFkr9n|JSCBA|A<>~$Ige~*>C(t<+;>81gS=ceQIFN~5JQp<;AnOrRdtbg zab5z4-H#Ze%$rr|WHfB9aOI8ewCp1U_H;(P$TU8Cm^=u^&Z;k|9zgx6{KBm@^17@G z62P|$*Zx#iQ+Gqol^BZ{k)y}|pMJ*_zk$XhxL*fX`zph;Z(RPp_)?CQW|FkhSo4?u zZgjQPzGYO9^OX`R{`ps^=vH}7y}%O}_Ll$JrOoJ#Ij5DFygx5J4hTF6SJ&xU9Z^T7 zNvbLvIC;MsvT0?@UHT^6xw$A(b<`(mkfRc4MyY6-c5Wk1O!)=62!zK@H>vELGPGLG z5bvJ*%cu7N6&R`6Q8=p>*7Z}L%y;1vN}QlzZ%oJ-zWReekNgpkB7P&tSMx4YATGM_ zEXLP&e0hJcvbwpY$pf&UA9)3ylP4G^t4mi1_fx+6pq7?5vO@355g5`}Nf>kjoQk#! z)co#5IOXwhtYsP*S(x8Og{_S))ISzj=j`gegO-u$A*tTPd=}=_%gyDtU^_z;)TH6H zNx~WPfwp%CYO4J^E=&UMVu1U%b!TSvHNI$r6xD(fHS{5k2}kWAOL%jy_3F%?d@TRU zV+>dsEWF6?eolh0*K0WQx@X=&wP2pal?y&Z;vK3Jwp5PIYSDMchpsp;w)pFe z;SNJGQH++J_!M|%a@?(Ikzvc=z++hVM$=uLAx5#rBo+zxK! z$Ilz(g`fcq=hlfP2%|DVfmR-8U|;*kU9U}Ckt|OYBXT|b)?8>*tQo-_0h7!@ zYC4k2e9=xs@rt~);@3d%QL%+-8j_WYE_sp|N5SR3d5qZoewMJ3b~>?+T^qbs>NH7> zMA3JH=K2-BKa^kvyc9#YJNR=d36Sd_ox>1#TdVGeSVm#ep9U=lcyN!ZXbBU{ z?D)K@y2)tp0IHRDVnfy_VYwH)3BSU{B{nD|Ear6*KO_a3h{z(st}zn&GmU4uVpIO| zEh(;rxW`7mzV-IVfEIDHSd__xb>FsPzK0sesP@6#d*7l8LOaX@x`w;9P!tDbz7A@s z`V)+4O{JEH317p^QbWqVR?3Ukj5Jf2`m6KTu$~{(K~6R$Vcv2V$&?xW8hl#xSs-Rf zG1H{Y--Dc+1Y16roodnov7RXN5z8Fh5lNwKf$0Fy90WP{4g-8=qqQ1f>fPKbaaf4H zfIS7Y#!c%Gqvn`Vg-+~$rHytz0TbzYhwrFBTg2Un5Y8=mu8R3&(3;0OQn=(2&r445ZPu# zX|qJ3(2SI^&&V>vEa$oI-}C!E&mYqtdcC|j&biL#^Imfy?e*!$b-zQ78;nkWw_!y8 zE}Iz~wygEhj$<%`4=S>)DVO3Z9SSj^9P$$msG5~8LFly&j$dw4tc{fzJ4k0R|IBVe zkFj$CEo<%FA92@(Wkm1OAV5;csRghw+GM9+V5scT?nqMq57CaO`CrS%CDU_}p4=cs z^KOB^h=jtqU)gS(NXS~3!(9R4D&B_4W>X;Yr(NptyXD_RvHH5JbItYB4ps!P1HQoA zM@L2WfY-{9p)oNZIK6Mo+<(~h!lt)ol`k(!AH!7MHowcigw!m_e~sP!Z8FffXzSnp z3GP*visI_CM;t(sLqYyYex;1xsXzNa7Jv1O(*Wg@tZ$ew8`9g%(*XX3;UcrSn=S>+ zB|{=-F{1$JBcR)B0V#zwB$c@?Fg-UAy2cblH=%7>%vc4F&)B~Qb`D=}n>%+w_Ms_E zD8^AY%HAeT(XwQC&SKh;O5{eeHHZ{vM@S4h3B2wh+Q@z5%>Tw{I7?$GZr*RNDfNX6 zy%n)6XJ;I_qsz_191pNA&mJxOwJaLEmlKZxvZ%aUccZ63a zCs%0sXu+8u_T}Q;MzflcoRX_DzsF44VInj)XGDG>_=6>ZhkOTqQqjzq<=)HO+c-_T z>0Lx#;$U(2lIpr%#dhDyW0yhS1Ep@3DzZwRdc-fSdtkYym?H!Wx0KnLv1*{a_2C|A zZDB?dgQy|L7i8tJf&NnBifW-)n~#@%&ZE>d3_k>urpZI|@$# zvxPXXovAAAgG_E!MQ&|}E6^Mf?SysiMNMg!(9i{Zdq!vniMd6?E`bVatV`qT%svd7 zp_@OS^zD0uS>vsw#7aDuFX=c7+l^r`wts!>7!YZ7_Dn2=+tDwB6 zxbSFM+Y8p}WW15Y7{}bJ0m8q$apZS|24xjqA4W{%hqv%5D|8C);&NmFh-A-djua;> zzT}EkK8mL3iN{4NB*yNkOVb!purso`zNP#O>y(l(Q#F{^=E|_+Bf_G&#_x%MogG&+ z#!z9Fgo%>`rlN?QeI!&VgLNugWF&>cqYF`=4yP&02G`2tfWw0-=oh&guHO0g)rsnY zf{U(yTgVugAX^WntfIY`7R0iNBS(1Ajl9zykillPM)w~|(me7m`5=H^^m=Z#U- z%tHsPO_zQ2J5^^cRuvi-jIl+IcJj<^MH7)_-vlkg#y%{;;B`y9IO*!<` ziJCLL23syV)!Pk(jsdPt`dFV(F>^ob1G#PYg)2c&9azh(HD6F1KLkt;c%8ZuorF|% z<&+FY)|+ETa5+zr_-La=-bhZu12G(cy>5Y_-?ow72=y|!LR*a61x&1g58i;p^q-&2 z@+5i?i`A)8h>=uU{eQPXB)K%mhI!{WW$|Be-3aH8pss;Jg*ORVO4O(y|Aw&^Y2OG8 zA-Lpi3;&U@ih%MpoIJK}NslYe!`0ggIjiWU_NIKZ*){6#`L+`bBBG2O zIYixen+UoVff}`7RjOTlx;j{dOHSVdl?A$RLg;wJlOFkw^n`L^s(v5QAeS*I;aWTs z(ls#j=E5@d3;)vsB$nZ0uf%vIwsC!IE?HOC8K=xkyu&%?Gw>3HHUA86lBSJc%CWVJ z-x~s{6elZQ3bFbD2;UT0n+adxj}3c^hBM)CUJE~aO6m<=07P2eU<4dc1&w+jD|Wi~ zJb&O^^?duOWGqh?KKnxtlsj3gT^XS~e!y{o*9RQd(Z?Mf_%hyPu-gjwoWnrbnz-6ADgg{)OLJ!No5 zaq{uJ0>9%?*GA8;>JAtL;(6GyQ$)flTwnVUyZ?LOzpbeCnxW7AVTjD=Me~a#J!ft<+eB9y}=ws1xW3M>^dXb&kjEgkb zpe}77DkGAaTsEl==J#(ZFv}hw6(9vL$jnq+(%3sZ@kPbe7|h)~XELm050u0M+`s;O z{x^M8tZ+fm4p^qrOpUW>30)N;wLjxVdD{AL{D&TlFSJRSv@S7yndG%9FvF&kv4fy} zn9+o-L}1#(KfRO*1RkEr;>P(1cF-3rJAN#Pm%5ZqSHxT)Ha_MKL5Z9j#owXnP4ddk zqmlpcm(Hpa9_Mb}f_WO0e|^C5t=?wK-EO@5b@IcD7ojC|3MM28dz#~>4~Vg%``nEG z`(lS6Sx^j4UXozEUeLeC4V%#E7qe=n1x#Y*LcsV^r@-;0H-d(jI(a+oVE{>u(a+TP z+mymYG9lVCAZ=4PQrfUd(%(=F)=1~qVCJXbg%gF%u9OnF0G{b05HF-1ZUZ$~rM9KZ z79C5MwTcgO-U_Qv2ac&^em{@)M=@hv^OKkST`?g)|9UoH+k*#fX{>hF*J0tM7D33|7^0PSm97G)F3&G1>(L*X`99wp9_>+FL}X zY?`JDe8$>pXJZ#88kO2z`sPXPP(UVm0LDoo(#4Kt`2N8XF#NODpkiYj4XjMoBh|=U={)Y?yMNb>8aZ;2Npt*|pywPbXBx z=&hge<3AHVls&k(v{o~;2t;Z+v zKM|$CvzyZQ`h!XR9p@>rV{eMo-BNZ~QM~D}+TLQa&BR#w25Vg~H@7E_zj(kx8Ju{b zU#GJymonOKePQ2avlTDzoa(yM`T5GZ%zgj0oqO4IPsw*PF71K(?9ypc{FvA1nB?2M zCd3il*Vs@i^6`%k-065zxA^=*1vm7~#j%BNQ;9_H1e#17{jTBrpl__FZ(Ji&Fv+;2 za3wJRc9VT2Mfv9Pr~yJtj}&YP$*NNZ@IBYhfYt79z^d>l_FA6WPb(73h^_;6Gzb!v*I?Rg}U3mluAj@2=}?wPg4K+n6$}Joohj(IybCAPrD^i;8x6?Yz&Y4 zC9>qXX@YU{u%Y*qYRR-Bz<;QamvoJ=Uj4G|WX!0dNOj(#6bhT>ebz=mk+NowEbZI%X>)AW5+cf~E4-`Ei`Xcr{3{LXf)^6Z z&@ox|amrB;$>ovcaNJ4WVLA4>_SEV1Pu+|D$gaatVFw&g!s3bERGl|957o$y3ia}q ztv(sY24b?NjdN1|;`&I{mkkL0jafgXW5RrwGE zChG$wbBVI_x~1(-t8l+31N4h8JMN)g`3L{c=U-W-do7*zXB@EyHK$B%V|ZH=qC(hs z{xKoAXBq^HyrsgW1^o;CZ@xE4YXF|rpNRZEZVoH%0lf^7M2}we6$czbX^X+jDv6gA z8nDmo&zGImb44|$7ZOrCu5z(U>vJ3W7E1v&X@}w3Rp8N=-BBaI+J^I*v4?@%k_c24 zOXx%x7d47y*wKQ-UM}0qniRGmKi}8X))(`+KANH}R!5k6lGE*}-AjI#Dd#lTZsyPj z7?&#f2}H2L`%t2}cpa?8c_8$1a^8(&zM;w*1sE6nd472KCU<%MO?|S}P#$ZDXUW@R zqUg;+@2&VXSxcoX0$BuQfiFVV%Dd^8{`0EiNE`ihzLdgYqN~`Z3LC~Nqm+pG2uLv8 zbAo>f)E%TfM*B2#o~CJ(t9NAmpyah#^}bW+b$B!!;Ekh>#@JW6MQdc#WxTz;3Q({Ka#LSL1HW0ukRe1RFHdUVL--u;$PFu;YIS7ICxvI;f=A;%Th(e zb?11gfv3EZo3zD9JFhKuW9AGj&^kb?NWXhPq7y5gpaie5YOKr_dRQnMewm2qvq*czDmEhZ_RV%g#PJ#6E-(XEjRJ#Dg% z3EGWcIMcxkVbpbL)6eybY0LhY-80E)FK%w_?>1oQnDPd-=|Kt};O|3M6XIn&d@XxW zFX5{eetmWhLM*PBu-_t~k`Q`-5P!#v*9l2Xwh(wPvp&1n;3)`i*ImWiv;$8ima2os zvMy{e%b%EZuU(U3l=8*;y2ASP$}8>Q^?o^x+F{~W zyc5oZ?eB)FcT=jaM6Z)VqjwS5-y6=6!IFQLiA-mT_5>CN$bU)~tA@o)M_>B!J2b-xA$EdQ;6{7FO@lg%sH-0n zUws*k<$q}z?qXdXk_)Cr{`GX}pOJ?$e@_LK3*yX++H*^T zsAp3m7tVG!E_G2nIkjQoC(mLbxS4bM$4{HgeTS{P5lN>MniL`aKCjeIyN-3=RiUyP zXkivDPi}5d3k_T9Qe?9Oy>Z|2)6+jP!xvz?;;_uPP~SG{2g2{+%F!IFG*qZ>v+uc` zXR|)Nj!a)8?Pjk{YD+Q)-1gO3}l%mHsTd^D-iLj#Z7Z z+)(kliMiAXvB~eOFiA!+c01w{4$V>%(3xV^ZtL!C%jH8QoxiZN zX6MnH#_j$qH1|Q3Zb`DF>Jx(q`UJ-2K@dk@_mJ6@clCGA+Klx_t5-rY`vg|mTD#_d z0QyQgEUg;6%{mm>_F*-qvKvdTOUR3$gj|^%wNhgg@pt_y9`sd>m{nZ0<-gB~nI57& zoa*?4#q(+iZNb7{kg>H$nRyii5TEpp<=Rrt%ngVV2U}0#%jbGPKXlRrT6H^=3rUII%6n!AvGXN@2g>9c zgew33vSmpD7?w#>i9%JQZm`6XkI0 ze#;3eAJ(Cq2NziiWMq((7;7jo?(liWTRlI*7^o4kOo%%iBM;Mvpwk z1IQ*Wk>GWic7VztT`qsAW;;OlP3G5B$N>W>_ioZA$rAa6>Q^V@F%Qp*lJx!IKhPy? z8EsmKctE5n6DIjJgBKi~p%0Lth}|e~?c=xRfyM=IT^@|2y2aj)+ZL6=PvcM4y_06R)Z1UJ*8+WDDt)fQ_(wVzoUp|R-+e1!eLUQVx)E8O+Ao5w#j+id6d)DPOCiZU{ zq3_;fZCYyNz0bm>WIbmubLQW3nTPf{bk3=F>a@`FxJP1c?;& zkLrc%muDzjUro>5s_ndJ9jCWgq{FLu3BKb@G~7yoN#>GhL#^cXA0SJ93%lGF^Ynki zy#<|_xrvLtudELfbLXt4@6R^Nc>RnNeI7o#y0u-#Eh{-_)arImq-fWPJzV#{#Xohg zK%D-;y9SJU4qph!;Js5~EJxso28Wff*%d!Y&LD`mU$^)a)Gz5qYhc^ORFwg_uj_D9jLMzUXgA z>Z}=xlJwc}u;~WLoet!H29DQHSeOvr!0JWf>}fdL{Qeg(y-7qw6|Zsf*Afqv5qc1&x;5z$mr4Am>WjO_0u8!u`^rR z%-VaWoX0!zw7nzM`-MJLt~@!R_6XBip>UhlR7_XdKFS8C54-hT+TVPw?PzFjR`%@ZZ`XxxGlX|fBc88$1 z4#Q<`r2P3!!;@aSy1(sfpS^jmdN~ecil@+NQWe%WOPZCeY@pV{L7my3IM%kFvJ-CT zfWwk*0`f_qEPQdNW9r$$j6|2OS3{J5Awq0YT#VxhwP$*N?34~ZdqM`w)*ZGxZGJze zk+QJa=!rz$XToqdjL~}OE~G8xP?lNY!t=JEf%DBFm|VCdG<+?b9r2=q5mL}>vwxWQ z=mdjV{}s!VK^qv=6161IedL3faSJdfX@)LQ`RUtvezHf!^DX7`emY05rFxhxZ!WtN zAn6gOj=iD{&yd_4X03$iQa-EB7|wHC1jmU#d5{{*sdJ2)^Z+XoGDo2|qh zGgudYwqw=`&-xMhYu8MITULS6!^n-2hCyGo2p!6Uo}TDchIpPa4vm1FiY9!oUzh=s zwh^70qA7{$J1O*K2XJH@vwG6{%|X)V9&5C6$g<0=l4NDSmLJwxJCtCiI}+(P$q;g2~4PiI4ScztCt)|IU(s%0*aIxai3C7vJR$=Mz2_qdeT{P z5s(Ir~Lqw%>mNS5h|J_5mDWsD8%uy5B7V zBNy#PUrdgs>3NnbQ%U?kT_=)+Z9M2$lxAyp%XfVDIl$}I2Zd7VL-tGB?a=;DdKb;q z%grf{(*vzzLb>+n40?Z@6sBF%tkcU${D7|d`1JIn@im}60<$Ng!DNp4A>|}|3@u6v z@LwJzU!*Q%ev&R-0WJY&yq_LCWEyBDD~yzn`SvKO5_*m^wP`ZKR&hz;k%*E+S}k4X z!Xf8d%+*rzl8Km^!>bk{=)T~j@`TMe#E z`Hbi^$)BsH>p*P+feNr+u=AtWlkMdJG!qk-rlm+`PFGKO%Rb*$dLMZx1ukRD!lXqd zeyprjxF-hfhn&{pRH&*5im5K&FNdBCg*iI|#Qr!#yg?YVZIaT+NCKZ;!&XoD`bZ+O zp;}#(*aN?M6_P6J0`KTkt(|p^P8;OP(5P#5Vlt_#hR2tV=pMB zrd+etws%9$zj157&N)^<*}7oT5`<2B?OcRlE>AF-d;Utm2th%b*0ke&C@7P$0o@C0 ze_IN=$6l_?Ndi?$JJ4l%_Iu6U?I}Pzb>-0no6y%f8gs@E?@%mEeUi7)|x4rG<{XR1dF8L%N3%Ut129!_+t0(gE!fO z3KPos#rVJ3gWPHutXLqMVabuT}p)LSRLSXC0gpP4C%$ZsC4v z|M%#jv54g)t?%bg_>C8<`Kmrpo~FcYe({vQtK*6+SQeew@d!Jv1c=}mfgJ!Uma=^s zD7$d^7T8!63{I2BmQ^SE?cp!|(Qay2*)T$BcZM#Lju|JJKVQqw6-u7{*#9x5eE0tR z?8gp2{LUPG&?FlB@mB1ZMbD1ojz1tX%eG1aTlj;=ys*?weBl1REug7l|E)vO;E4hA z7kXEkr^SD|gjvjZen`3fC$dIA=}8VhbPY3O$!{{koW-iA!FBvCEjGW>F8=DGO#R@C z7rREBuc9-GPA;-fl-;`>I(NsVsm^Bz3+9*H-8z6|}I&D-1u zOWIr4Gk$X0D&BWRYqxcG_xL08-~!bg&uEP~Hu>j0Etp|lXCd^{f6sAuP%fT7cnk5s zrDZO0GG638#q>bXSXYE>*v?i(`basdyd&ICIQfO8g0bJV4U|RFsDGbvnVWR}9rY!m zv2~?EOk>45eQCRcPMWyj@f@gbIK6?^hc6^OqR#zvfOhK1)X*c`5wrlL#TRZV(f85J0UnSy*1T4QkTi3 ziEcaxj^-aFeU_A5Xp3It`6{UF>(mN_-G|wDN>wEaSq~rLm@ig>Ykod5)pO2r)KRgN zKu2)c4FwXZxdLtAA0L}Qv)s%lwUuuj0k$O+u~;;x2JSzDX9Jh^4A%Iz%6i^Odn_`Hn{18J)VXJ#wC z3Mdo(E@l4LPKV=jXhkXKR)Zs{r_gQx2pRW}b0F|qil;{Lv5{ds`xR!pg6Sb6?A%AV z_pSgK$e_yTy9A~7nf^a88?S9ocaiaz0>Z5&C;Pz7_@B2FUD?Es1fK9BfjR7#<^BV$ z#|6E6H1mxkJRSIL_34kTE#o5J+&I=&toQR#NgW{bf?64=Vp9j zAWex$OWHgq|K+Haub(ZK+#e&*H}bRE)wv=--t)Vh=-!tcW6O?@A=uMD5IFIz_*#+cAdzy#QVv4>#;e~sOL0Yh8N^_=P_#D{0J?O(to3r=IF`1 zimQGnIm~!~>iFY)WkY*(uItfY8i^ z@i}QPB^SJDqB_0(@8{DuLH{!j*Ue&jT}Jyn!-f<_v!{(+83p)SGVnd-FPz_WOqp4? z?Z|4{>vwPB@e;G)ErN(Q322Qbaa|XER8*G4tRw7F=IsC(L{!M#i5s8w(DQDke8j&j zB7=hyMe{oU(*kUSH+!J!lf$xCc7Twseeexe6aN#rrIjWu$UvV@SXGsPJ_-BSp|!(h z!Q`}78=EwocO~l*UOHM$W|w*C3`(WcV3T6+;C+Q?QZEnT_jqVZ+0Wrhfv=LW3lQZ-u{$~|^=;2!EB|ue0vYTF z!95GRDg~*dp1(mmiaysWN`ZW6xwX(``rumL&g9~0&Z&&AE)=b}2bP=_L-K6=U2SYjYcDL5+pO~3l1j&JI-|UyJ0|d`p}6IC@=V9uEq?kc zd0+DF26WGXzq)6fQt_X05@o=%9K1@fWKx#DruKT7+gDadbXt-iJFy@aBK|f{KMJ!$ zY3ZQn#zydS)J+O}pL2@>M3M6hJp#D%DeDlE;l#lh1PR)>*ub@vrvn*3;)?j3Dq0(~ z+gmx0MYXjD^v9N0l|3j9>T`P?yx{-VM{3tbfg@YeI3ILpLdc$5Aq5anf%(lepFr~w zJD{wK#{YaRS_4X*Ku*_Cocw@JA5pnvF`wmuRJrA3-A3f*LGYExsK}FP)feb*r*kP0n}laD4zxoR`{V0f+IlTi2-G=bWb2l#&n+hV17T117dpGP?U@*;5T>Tnrg zqJciR9yxbFip9U#2*O3X<=FpC#NLiTsZ09HuNmRANaxu$>TR$NXMV4n`}-2WJk5oS zdo^5EqqZcZY_r(5kJPO_BV!1pWs9V960?>?WkL7kGam%q1J;4PDtr)m5L!^@ z-Mn(YrH{k#2M;nn6Pp$s(rYURx}&Yp1K`=_wR-Rlk<2*xB!0tl- zOPHiiSi);7rs*2(M_{a;=e3z5Dnosv9%J3v8IQld_A={OaI}l^iU* ze){+dhnwofbvPz99CAGK#v1>D*XF_^Wo6&=|MvD(h-et=W9^Tz2>HO^#a!%}TH`^AODE zvA+h}Zd{LAAPXvD&JS8LW-5}Iq(q2I_US?m!D&h2Fedmx3l~2ppeHft+?55dq_Y%x zC2I;rqZ>b#bf{DJNv+1cEc$5Z>!|xYXhA!6cK-H^$TFz?^%5`7We&j>*^VGs}$N+(w+-5hN1jru;QI$sVD+S8gqH{RluB&$ytF_ zR{IAA;0S#nXl-6mg^<#XQ9O2Xu?~#|r$$Cc@0a6~0ms86Lks>*bbs-D<{W~$o2Xtt zgabR`hnI10h&HJl6;EOVpZjk9{|cs0u{fx03M#%Z+S?h&Y5IPxH%j_g{c~UM^Mi0Q zNv^XEnf#r)il#NeYLAw_NWC_eI`|d&LUnBOK4+C0|IfdGZI4#$XR*GO@Qf8i2LU?G zS{Wu8t4<_BqvZ7AIJS99;8yB98rk%3OS}{h|4MJ;lE4c_fl-QE7Vv`WMDNi3bxBB; z`V;&*=VxAEIa86($Q~0*&DaB~5ru^ZoK2T-DnPqEulS+A#L^%mn`SQ1!}VAx{{Hq{ z^IoDd$~C%3?V&2`;jYxVsv^gNncK1xN;HWfwpr?Tz(2_aVNY%#!ma^<#Wn%8Jt{?L4vUq6>jYMMlR{PTxA%i1_bJb6a zHh)#}2)!;DT%HhjcIlHhpjsmQhsqYM_}Rw&@_r?7!UxYlL5!C)(-4?RdRJJ1UEp4= ze=RVX|4;8QU+x(4RNXq~-rdUdj=y)$d3GGJTdTFDGbl_X zb?0H!jaOC?m!KN?(AMeEPcto*aXZ`Ur_{F2mT~upm0CL}F?9)$#=8@1{MJ0iNn?6au?caXUrNvP1~W^PgT6or_CO&khxTaciFh|DDqx0e zXyJ6`xRvcTuBMbrtFO5#(ukj?B0nd&K#JP z#ARsFc%>&jE+f6+UK_#W%Xk#s)+g*QTL< zdJ{+&&|o}J53NZHWD1R~z!5R+xdZk^-dzev)1Y=S4l%z1VDFQwOx1EknYhLvB51>( zNyGdC1)4pruPkwS%;Su$$L3dA%@3uH2sK;3tkq=Ya*xJ5SU4usoroPVT=>e~zEC1u z{`hxxNOm09&5Db^~65N4(vZ`b^wCE(@6Or(rUKj$%I2ze7b{ zm7)jLhd+YHlO5-vX2dC;rh@AclVD__lbBWwl=ZEEKeHqlxB*N$VE)S!F4yQ1fyd?;(>h!j?UJ5P14So(jWeRM^JFV zYThzuVg07rhkM-O&IfegFAN&9GJQEk=>F2YWiD$6&nZECRR=qdP*Wj_KrAh8?)%RY z;SaM_gH9Sn@JQtUg3n;u!0A7bPGQUvT~f>an;3^io4$A}fTG=Juh5{zTD5gE`MIkH zum~F#DDfG0fH)XKX11LV&;yfY>cDop9W)NEQY7?>zlV(>%oE6wh%4t^q)VN=H^e$i z6U*_xvth|XJ+P#Qw$^ot{HI}!PD~REZYxslc;@!QYEq(YW-H15^YYIumgcmrRibN} z^U(00OHnmsRI;|G%t?7eAxv(-zpAOGLCd%uk=Ss=`-uPORQ-4#1hMb+YM^?mmkbH~ zezW^&I4oB==gnm`m7fZN&XQ#_iDfvbQ%}OJmtvN(wiQp2_~40(FTFoHd^+G0W$YKL z=`i8M1M2e8am${FY>AO!j$yp_Y9wR|PAxVRHqDx&?zHzeo28gAW^{JK;ka@-J|Q=>L+`zmVOv_%)~r{SZ`vE%(ToyIy!A>a~_ z1R4?>y0AwIk&2dz>!wgC-LlYg>A?>=fmVqpV=H7(A`#G>@kG&Jts3%79<7w%MQ-jm zR6uz*cP6t|#|0GGfk;2iI?OqB_fHD#atcFaTI>b8^9mMy`Lq&v*aLmAUf$7SQvCIG z#z=7^ZO7WJh-mxYp!T4$qIpL-<}Ki<$NYe}ASMETxavvwWX3b@?GN|9H&()9t#4k3 zE6-?`(+L(GFc6#!Xw1TbKT(_!A}=Te8fd_OF5gp!53A-}x?7(9rQ@#08b9f6LAkFL z=sEK@Q#(7Z=v5cY$9Z-yoUX2e$K9i+7X$rzc1>$-w_cRV&BK{3Icr$(HrYoGJDx!s zo8#tsu^IOQ{mOIo0FwnpPtpg8X+4a1u^pQp+?tU(Y<+e*=9y@I@ID{O;<^+ zK9{)%#+T%>!=;bg-wgo_m$mwJh?viS@vbK=P%QT_R_BH-y~A#|H0#z|2q(L zdh(&$?#W`+Op!n%v$iaW`*t(!b+oQtPCPwmZuJWch%RUX6`5V&{g0!rhoZNMt}ExH zP+o~_eQ6U5^a3^vL?mKL?O(Hh$Om)w+u)e*ey8g*1?o&6HHc^vMF-mTiNKX$(77FM zi{6Wvj@Jx@4K`;YN5=XLZbw@;HGP*69oAxYK~bEj`FAD}k)8SAr2j7NZ`m|w%RjF` zZ3nH!wEO?Ynz1tk1a}TLkQ?+&Jn=9-!9Qh2A!yrn^H)##>uf2nW^V^dp1NXoJemc^ z>p!#QKERenSK($>+k?_1%B%6|lR72B(=9jml$YmSFAnN)yzuQMr#e1vGg+Q`iY?u9 zfKPJ&WCL6R+!^C}*!Gn;E$NjP|& z$}SESkxH63F?wNoizh#b`B^XChB1yK2M6^Mer<_xXt?oH42g+ zZQhEy4OfnZPQ``@`dN!UDv8BSj%%(Wp*!^vZptN{cf3U zX4vZVtyAVKmaKfo&89KUnRH)`MYu}(CxlEM7Ozu$A8lb!DWEX3yO)bXvOejdW|Ph# zlEr_gwhPY2N2#eaeQ)y+G)HiR=dT!`x6reTbv+26R+`(g65zyH`t2v{r4jOyENL{l zm3qwW`Zy-P9L!WM3a)5aa#oJq>on?kxArupcW zblP^1*C)evbEWKZ?%mu80l?xR5}PZ9gf7^VgHM1hxbzOhpO6G2HHG+@*K@2KN>;&Z zx-0^rAwnYo+_w@$BRThM1c_tZEKGw5cb3gUeP}dku^*pnoN_z_wn*EBGEd#mTjRI> zk-f|1z3qG7Pd|ER)P!#~x?KLG;*v&1`j^`<{>7N6m zPyWrR9hLj|yf~*e^EttqTv?rUZtgCWW}Nu={jkmVeLm@X_BE`id1*5`ceKx|a^AL( zW`{kWWWig<97_`7MW0UpD+{0KU4LLXngqeN|AOX=@qT*#x=`_jF-j7mhg$*-0>_s! zQ=aQ*V_(FSC8#8ryg=UwH@`c$;H6aASoVO?-cqsgNWr3@ko$J$_pT8C5dRlwYJ;ZB zP{~QTX5+zY=x$OKWk zu&#FxC6~UAD!tuuUTNi)*{mIbP`DX5-r$)jx|}R|6ShWleT-2bVKU;71`Z}}>Xsay zVI@$!NqCt2@(!CTj`NHimd#|v+&k6vYR|Dd?+PpC?~j!)->rO-`gQ#{{Ka2Y&3T>D zz>|r?Y`8Fh95;Br0BoC?#CUAKm2Zo{Y%(?4T$bGaFqy9~y72nv!;;1qntb|OTnc{~ zTeugn+AdN77kTe&fgTy`*-n7f#fIF~HW%Z!F;-hH;1;Sfygrp_+K+4Vm%2A+9Sx}6 zuM@69(3fIXNI;m8LhvRD+zDoJ&_Q_zSE`J5510zLf1DQy#1#*{wB`?~lJCujbzNtA z5V_D=@+cv0&X^2>`zecX%OSI$g#+o!1o$ci2{L%l^irY2oYcZ$gAy&+Ke;#2J1-%z0x|O=UiU2-M>BGf~%+bLzkmSu_woyc1kp4yBvB;_RHk@*noM>qX`+ z3*(FquQ|o`w~<*ttze8UA((^?7;q=VZEX?l9bM6|Hljcn!#jo?uFBlD{-24Nbp8-!$Rd-X`~ zD}aFwQ?%th(!m@kVc&JUlD5{Re;y4LDTo@sUk6WJz#cZq22KO1g^kb$^r~E9& z!~Y~&K32%jE^cG2moUMyM&?*mS%k?esLg(nY-Ky8V1@EcWj_PjvQ>nh4Q+J^M=*+t zXfP`Q``Msx%YYK_P+4jlxqB+qlrd@T$=XC+RxN!R&%}C8d%h}3EH2Wl^vcYw*m=^d z>A5bb%JjdQR3m+^x_g_qN2{!;al_Dmrd+24D`1%ca@L`rfXRv?9 zD=~>+pn-_QJqyP6WcMdB0*EX1C)R3q$+=aTmRIa=_* zQ4uS1(X}LUU@cmI6Ad?mzJQ9ZpLi$>D|RkbFLAhev(-&auQ{=XL~5c7JRR~1rQFl{(Ru|35RYH zmUSRk7Y@6DT2h9r-#O+HT0ZVRuO-VRAznMjSq%(LQ1yXihe|^a zE3i{`k`iCNgr4vAvIF5z5?UrC5y5F2-~mF%uK6jZo(RV{WJKBU@z~hT$j`+IpMqQ& z&ukH9n7I2n^q3&Rb)YI6eDvENaNil1Bs4yO28j~2;;xFK*_tp)S)4mf*UU!%w)ycP zIjV0GZW~#-)E#QPvd*pj((WeRJ%gXw-5Zovq6pJdmBB%B&mx|&kAO3TM(aajn#QC+ zdtyMcDwvQm`F02AL;`k_o4C@3l^{a}_f8i4kok{^ylRJJLY&Mh!ssaDTT^E)!= z+Z$>q-kMT&BJnHQRDP;xFa{z85egu0%5J>R>8#M-Zcp4H>_baT;Qz;lQh9`~XNRUG zN)+L*(VA%b_`%LjO6{D0-E(Eo7f8@JX_$koEjqc3VoZ4dqjjnn7`k9xrqG4p0@^L0 z(^ERGqe-b(a2zabnUU|vJQ)kqNp3vu4zKb&dDS^O>DNgaA6$t1zI8-m{)@7+E0HyX zgJK4ZAozPz5fXh9pg! zKwC48gC0k>*_IbC9ZxW*KRfS>L$->0_s2(O2T4}DujdGsyR3-prUZ))$(tN(zEJo0 z&84b^(=AxX|HIRpheP$hfBdgAGuEt8D2%OWBkz(e%_v2SXisRAN=26J>p7xmrHx7& zrJ_=_$QCoDqQz2VXGUmbo3YNA?fhPSf4|S~pDx#hOBd($I`{p&pZDWAgb&<hnfci30)|DG8#;T2S7pT&~)65O_ z#F8_mNuj!(wk3PD$jmx*DVVW+mF9a{ybtNJas}2<2?$u1#t%GHLgwiFp0zt@Oyqy@ zf2Zd2g3_=Q_+;;S@&yTpb^u;9)t3Ic-F_(08OVg4i##{d_(dz2zdrG%a_Xc-p~6^+ z38tVR?g5b++679?7?7&%vje3~rZre4G7pj$&oNjoNL&HBVa@*G6nF%S_)&x{gLNAL z@wa^^2KLSTgeH-PTXWkK;3V43p{AZOM#9cvZS`ZK>Y%3X6zPSGu)xRjMC_K~nS^XC z{-Pj-O@2`+U$kBZ)2xN>v-(Hhmjjn<5^Kil53%LjOvG#_*dm(CFln6i)}d z-w=rM8K1KNE+KG?4t&Q{YsiPOLT+RuJkUimY}z(!Ft!2i2A!$e1g)Ayp|>_LwGdDz zac8N904r%+K|O`scXuHMG5WR3mtcqQr0vAY58v^mZNsFt>N>#^%NMP^B(Pezuyv&H z(u-X@=Q=!mL`@oO0tECPOGxy$kwe{F$!tqJUn2bRPDvM_u0RzNm!(F`DiRnaO+6Xu#>PbbPpH2k8 zmB;>V>`N_QBs@%g9A9>+UOIxi$1UHSn``+HTrmW`Wzm znCa|`^KR>bGkBa|#{c+$TVn`}mx1i8XhswNdyAEWgmRG8nb{WQH8gHLrSfGy>hRW; z{vF~?guR#=ghYB7oH&D+A~8yk-R@(iz^1W6&%xvD>)gR7=b8Clgyz*5nnyAq&{v2{S{7B|w^z=a)L=Gq9=pN;S{*Hnpo1NglkCJ_@|8Vc) zYRqgpvEf+z;QjZWiJ8ih?6JneH|1WbcIpz;t6rxG0wsJ`svLd z_i6pl3(!DcRMWJ;-i#J$z&1(DSm1J+dQv=_0QnOMg75EQ-lbJ#uF<+-f}ICd_3H|L zXlZq~vMTZ!AF9fPRr@f8Rv<$|h7iKs3F@DxFoQj8R7qgPBA7-8#G@UMV`aoVN~!i) z7r#c1RsZd!jVMB8RsHbGu}z8V=AGXDHjf0Mgrym@VX21_)rm~3XO!Z)IDE+Mc*J)D z4$avd{&gq#k^$Yl?uN`7aq%CzVb2x?&Hnajtx_#^EB86)wa4=G)>IcPe9lF%bAAr% zTl`}!S%F;+{XKaRqP%)fFWLVF;8|%9XAW(e4;+J zQ?_v~3`Vq>y;}KifY4-RMil&BQ$9AQ^Y3lz`W>q?qPPU=>MdHiJIX&2JCRL)rLXtA zDH=F<0HP4Q;@Ur_`K=(zZv_FB4|3CibPanXk1BPl>F82bmUg+Mpr#}*M{s<_>2cHo zJp3h+vqzGZk>0@yec(mF{sUMg6&fYa;6_(OTm8_B;;hbw*Bhm_%I-#1_>dr1%K9fv z&RG!rA~}%l@j}#AwMk$r1J??TB&CZvx>FnE-5X2zMSVA-?*fB(@W=W_V;9uzJyYu8 zkS?5nKQW@Rg;@YQhK3u8eJ{5$Qc#cB8nP??kd$+&7a~LEBOj-&IV|WS8Ilw1fXC_w8+yOq9rKGV%ztdJoHD~x+ zykQOB)6sBJY9&-P^jVsA`p(m7e4Wr@9A8qgOjjIQNBIgOvH)N^OK?-@b+#78Vvk37 z1dvG_Ne|sC3vX7@mk2@>l%$-nFhe*7L8cJDy8qH|UtbDbl`Nrz{o94ir2WJrSCO;+e|^5_Fr*j73H&VzDn%c! z*939({+S%p*UU_Pdg(yE8-wt73*@>|iY$ijKcu2jg_Q?6Z%EAYgC8X+pIa;;6k1K) zhxq3pf-h{WV?5rI!@+&IuGsLq7yfl^87^#sfz5>l0m{wPo%LHM?yd63aIxF&7yLLO zd;7knd%U?0k!w>87MJ^){#CjVP;=#Zw9$DTEv;45Ew2JLo4|ja(r*NO8aJ_jrS~am z@z&p@E(PY;0e^11G}HoY+2Sy}$HRJ0Ui~ce+kK;5y2yf`Y9eN?I=7tGsr%vtC;WNE zUPFV31BlNea6TJ(XA17qM4=qoaAN1`RdTgeqDC6Do8Lb zylp?mzrEqb33#~XV&*APuCm83Gft^%vlA?grDGEspOfTs=v&$3hF?>FGuOt#jU)&O zL&fc{!Y4X&HK|`FwJsnk!$`k(@&&3s%6apa)_ZTb%2Fn_MLZlH=ysw;jR2&&$U6{&m&0D)qRvOTpXKpWpT%6hEv{H_2B~H-w!u8|V z$$&_~j>Bq+RTa_^7{lv|sLhlql5q;<7d3~gs!M-p<*4M4rxB*@mD9o2 zQIY9|L}uUXyUJ2uM}q^C>*9L2rs82gUk=SzP5Ir6M&4HsYY3$mc%nsL}5>np<%=%5glkpXm?vbeYp9|#cU@ftc%dlhxGWoiS7nUQdu zkbi~3xj#{S6HtNt6^0@>&`N$!F<2*?;HlB^Qa_BxkG2#*GdokCei5OiE$n|_sN@w? z^cY=}1%i8hl8O{^tO+D>s3+yJn1v+`oYcg+jCEE>Lh?LPtb_ojVanEx*E z>p}r-QnqJeteUc4VxP8ld>>=Y_~1p)#i|W~S$FSr|7U9zTlcZoqh-+e4n>Dp`CN5d zo%iJ(i%H9uf}9`_D`)chCZTrEbr3Iy1}ux(-4oAC75^mC=3;oql=l4%S^1a0!jx_DV`azT&=OaCO&xTlr@ONqwDWoY+%20p8Y#wpWo@H zAikPj)bW*QwlYe?F+x}qx()D5utkci7v*q2$&l>uZF8dBFp|`R6SN2c5o?e)*}zPe z9s2GCJzSmojifnqd%pZ(M2dGgHR|r-vopu=eXK#yE z$xg^n8Vvei372%@v`A;{ZV-b@)pB4BK$5Mtk|(+#1%nG-MY|8#S=q7)SbYrnw=@QY z3Xl@3!I|yWYhV}Q%<6SeC+-HkBjA{p{90RP527xv`GL}2lQ04kYkozdegivWg{x(X zmaQo6QpnkNGI01>^K(4{Vi4Y>|D=3OcDC(frithBuTO4|+?K%rZcgYwYL|6AZk=fZ zXL~JLiSIi7sY>{$~osBkI2ujM3Ad zY|bSy>NC@_Hv_Y?s21`8B6jo3aRuHoagcV^-j%^Utuac2HDwP~!Ck3xwetO!^fgn} zA?@1Dv5=)^#vWdo)x>>~@VAS3N}@RvA4^HWH~w*S$bUQgs20{EL_h;h68Ch|P8(eGKHB&8NL?LsL% zONyZlG3??8%5|`!O9uj7!uMTYUJ;-2&bO8Jb(iVEYad1m zzTX0XPcx)##6C{*+t7Be4W9ZIA za%0-~@O9^Y4i|Omu@r9fxZdM8?l*elg=>%Igo2M6q9oK4N2?nBFjq^S3r;Dz5261~#YYB6uLm=eQX-*a#e#H=aWJk}*Zqw{_%0v?fyA zK{dHI%fS`OS?t<6(6LsHvmuT$gfK%RzPC{pB2Om^8=tS=CMe(&a;QE_fEHqALfrD}kJM1IFr`A0?cR4}df`n$w5 zjyQ8$&Apc9D6nSx<*xH0@2b&NDNB6S((8Y>$1uA-0mOz1>qZNQ^)fno456&qckp{y z_o&Tm9D!pwGFdSjSE)Z{jpV%WOKx~*fLR$-MedH$=kv<-MGniBE9cNZaYjQm!MTU? zd1=LuK(NiBQt}`k2R+9;PG5TMd>T5+=Grjy#T{Cr}0m;CX>WH-l=v7G72!ttq zN^u5pFvM0+I5?;kDfHHLS7%;BNT{1az72Jd8_Yr7_d>B{1~h6?U1J#!JN|>Gyx4xl z6Ymq7yMGx!u`h2Ytqg}iZ|kv)*Oc&!;;(v@6C-~Md@eGsw?Eni&Wq@IqBP$d$oKC@ z7TJ5IJFsHh&2@yK?Qs_6Q=T{QK%3dlfv*)Icbz0JBQhCbZ%>JUWGlcQS9X4KRs%EU zGWgPeC4g?H`M%^{9+@b0?*H$zwD9J)u5L%>xh;NpryqFirajqc` ze;kk#2NfNsx=>zr2@USk!P1J+Yb)aBceUCOw$3 zc4rV`J#*|q!B%SpS$nB7TeXC|9ys`mg9o6$JXzK{q<;^>)tL!EA_Jy;K~zdaG;JV{oz~ONMv?23*kNxUEeFu;{^Pr6;)J!-D^EwV&@ z)2|nMpX01w%fCffeVu4Xa9L+_^=i|nci;OJe|zJVQr1QgDYndfOf*o_^m{$~A${wI$Q+tG`>m z753_~^FoMc#XPQST<|bsbN8lPd?_ z-wI?{P5VA1W7*Wo3=+FMgP`_@Si6iD3tzq0}OPoa(1G zGWvR{_TXfx{-rxg2kfXN`ptfQ(f+bOwAg{J%51*Mdcfo#cLQskuakt{BjMauOg~_GAc`Czzp}Ol)hNVU`!R=VCmC_cxL?f}qZ*z4&MC7|E0Yv@D4B%_ zja$iB8pDDVuLVuU!OrB?u4y@5(-&)Na!tos@^;2^(dQ#F3kDB;E~~P9GU-b#`6NKT zhqdawOuHL_g~ri>Maub2#yhtTmaGOch!%2Avuiv$DLPeSe_zF6UMpAoms6rWt}$dq~XJ1_!ixlO09PKoEQGkt`81oxC@! zr8QaQbIjC~E?hvCszfOQjv1+~-~p9U)R|yJ0`m2m0+*r!OkO^gwlhG z(ml)fD~dyU-lI)DvOf|-^`~iZJvKcC3u{)+6)@Ho_zJ8|$$<${m>Y+3E?%B!F8`6Uu>Y_;Oi9o;6NqfHkzXCjU&_}dp=T&9b;*)F zw^krj0r$k!J(Vk7m6vSXd+73y%N}PF_jH%CJ|Yo#$wxp+3_L5D=UulmE!^*-k9W=e zVo7nZ;1vAhN!r--99EBsm7eRh4_z<9@q>8bW&mH>ovvW;_#;uF0sxc+l0$K;7wni~ zeFbMgQQn@Nx+|`A`jSgJoaqxO^07 zocWMsF&_e3`+}_SRAJ^~u%#PcD}%l3|MN#GF*V&T-m*xF@51xYfjP^9awcSZ-UPAB zhkJwzX|sPeaw%a2qC4lG{AJmM?S8v``@END$xK==UfcC+8-R_#szik6+{Gec8{e~J z5+9MU|9EtprJgHQ^sdu-(EV#JIhgr3iH=weiF+IE(<^{a?9;wDg5XPxayD&+vitzD zm;|cUPcqtG4n%_HO=kdmJ+=mZ5E-IK)x&o@pH%$|xH9YkU`{dp>F&+pxoSNg3# zPx~u8K5DwWkZo+$N(As9K`P^=ZVuh8{)ECAN)6@NgENm2@hnKd7=c@FO(Bgva=C}{ zpnB!RKUD&oDBY_`Dvc^uIMSp1yYC@*A!BGzrGogV8zyc(^Ksfj4%N+MGFXgc`Jy9p znNk&D%T>+v|MW-Qj$NMgFJQqge0H8#Ba^~p5GjV}YUaB86o;kZ@wq!M+Bz(Sx`3%3 z-7>Ys30q7Y99-Bxd_XUHeHci%+)sQpuNLVxC++{h{FK~wnIAgS9d5RyXf;UezQcR)xjUQe*XP%8-2C4>GzfG7u{#(7!6iHojdY6g1R7GkL1fnWhnamu~s6lVv_q3 zjg+KlN_`PbSz7Rnf=RC3*E{{ifQdS%N>i)~m$lLUD>YUpfEg9>(NKlKz6FM;^R0P8 zWx?oyC!lD9xo-3Ll|;SYNd&L}SI&V3B9PBF<@t;0+ff*nr8g{EAdho$uA?Rd$TZ<| zrV(M*QHNuZV%rLlDjVh`V$phMfjwsownvYlxd5Al1hdN%#2H&K>EQZmZaw8JI4ixW zNjR_s6pVZ*KGrguJ5Dc`9v7yp#sWEV0zU~w4?p%~I9a>#!|kim`aeKqmF;>4ra8&y zY`D+JXjJ6|UE7_d2(}?bNKT;4ARAgio89;!nm;ONxy?gXxPa5iaQ4|PC!cMsETQaR@bi%XelV1!S9Y_@*u zx@}&`_HA{ivevGtIBPr~bV>NO>R^7Tq|h!n%3S~bY@R#zT%;-O70`%-l;GWOUDwsu z;*Vn&AC3Q`@3FBJ_1epSKfRBGCW?Xr&EZ*zP!_iy`+Rgo!+S}}BzFl&^Lr*wJ@j4| z|0UMP?v2 zN(teN>Kb%iBMchC&rZn&`*0jaAmPIdY2+Tzvy+M@XHL!n`uPOH&{UyL&%Ozrd0-o< zNFUke7+gazAzkC2iJd2OSfZvtxFo27b=-*Zps#>$MZyyNWd}JUI_88Z8s@aSh;x=P z$4^a0(EX?r+*1%o*O83o0VTmV5;m6&{b$t+@tYgPOTew_G&|Hu+Woi2OOC^6z}k1h z`%3MNtJ?k_*5=E82G{TCOj9o#QQ^yuCZCiGGeOvQR;l|KVcnTf1mWBKsdU^;jiKtr zCD0}F6&2o(mkg^2diBM&S5Ip167b9R^-^Sbc`gXTJa-;>a_%IFxQ^W4=5t5~GnHMd z%=EQb#J*HTf;IS*s9=54%nAc>BwQqSW~kf%!KMJ(t2bel*UFo|f^<;&2)Zer2DL4E zG8}Z3^;aj8^Vn}W!sgMh@5&choRH>?!xWsHCD=PnKfi%-4!%b^IT+C%#VuZsuB1HNCg*Fi- zR_A8Wvr7>-Cz1Z)Pa)S+VEy%M(&f`Xd~&^P8eL#0F+KzEj&A%6vYNlDEk(XjwJj(; z^wc`jCIilqh~!=ZGsZ^x?}xjRT#~V4wk4_?9MO2%>jF35<6WqCxko)RB?mi^V;=rB z$*69g=Mm+ucr6g{LXI7Jia-sT;~jSfb(_;2PhGbK8qQWK_#6cXhiR%D#vBOE8xmGj zG?aPVXKd}I8&REeAKC!CP8ZfSxW2@h47{sH`H2F2yIyuM9=XN4#(57o9*G#-Swb2N zamDaQGT5hXbcJ&2KbI~9@+Z#4hP+*O7FTQ@3KFL)#qpnAqi5Z`?WJD1@y{&?Xu^Q_ zhpihapXz?=o7RQUvxhB3AHMu$ya>SgP2yH`pknF&z3~fz*eg2kiKSopl&~;PAr~Ea zbV@F*E-1_9K-YhkRwYL#2D>t9C4P$73s@1aCJz44GS~t>vbn?k!mG1|~diU^k=VU!T&h8yAk(9C4+e(Kldq)0mWV zXHXb7;jx3j)JupA*O`?Yyltiy1B$A=hX?hQ2v9lxVLeFDl6_Z*eUkoIu6BmFMfTkCvp#IbwGY_AK8MAc zYJb#m>qA(MoBD?#Y5P8dCzBj*VkfskIf{T063b^UjmX`ywkauPY^cmYoL)c)A!PFw zaP1XfWO^!2lr08ejCNg~X9o{IpL`WRO8|#h5trrJTmp6zM6IH1l2%r+4#OHtL(u(K zZh5D?5un~yd%hXi43GltOUwks8zE$`uruKVVQ_17{o$#1X?!D@oGX=f!h1?9--9s+ z#;V)1?Ss1OQbI{E62@U{ggEx{GaWHv+HAxYc)6u*xxfg$!A`T1Ub>|q-5;qM>g~!w z_ZRlv)e}WOM9fHP;uMo#w)rQJRIuN8h0hXf0T%9|Xt0@d;{su+{0&p$HhFo2!jOcs zsGH))^dNr?&=%DgGZ#ob9{AK$&9ET7T}Kf-d0XW!o8EC0O7*~J88d6fW%_c(qUqcA z1Mh}|GE;DgGf8@V8q~VfE#e z=feJOWBPT@>%60nYdcV+(HJSxo=ORAk+6En_4qb()7O)slo)CM7yjx!*f~l3eb#H&0K%|2dww$_=x4Hmkaxdb-EBM{vm=_itBPiJD5dG6>&eZpd*)lGUG?Rl=adq!vv8MicZN0CpFZ?*AD#-p?@y(2nP% z7R=;(6U^q9ru)!WsLRjS0ACv_TS(YV)j`%gA}V$;(*W~j5(rg!z`Z7|xMfoG{SMld z`Qr|nCam~Io&&&9ErPsMRzm9UIrQZIWYF}atkBV5rFP9YEa_@Ebs?%o)EnBV4L1u$ ztqmNRT$q)uE!eI>T1gcAYA0JZ)>OIxYP0s7)?E>WEHWG3{YJ82>e+2s7ZP$WS3Bnn zNJGRh_hK#cEVuxYNbq`Lt{?QX#cZV^X`tJRc^!mYXCjVG>)b$d_{a5B&FK_*_Il9E z`YG!u-U;W zCG+(zzEeQk23EFN^T|bS`&f>YQe64;to)|kDryQKSZJZ=sD-E1E~+NakCa;INK?Jm zCigOFcL>3Gv~08#zjzUV=#NrcdFXEY>V%~OcWZ`;9#a$Rq5T$CK)yqXCia1GhEa{% z%P!R6=ZRF+u^(_X7#dskBzj`?$yO^8)U>V=m0;A4;aVgIX>tDfI2 z)?_ltW0Yj<;6o(f@-gg^$Qc?t(Z_^z(((E8zyTQA;`^MRBCkdQHuzB^@Dq7f;n_aN z02&%w(Q@emoc7~<40>6TOES=3N-&TCd9+<%$p?nMoVpJphJ2=ZvJdV+8tXF{M8w(* z=WiHObWXQL?~T`LNfl6pvTLJu9vOAxkeN4wp8T7|!GWB0@4~3oH1w`eQX`#3#V`(?-X5c-ECo{M zW44R`bx+WLczNQKM7%#&^2ms)AmGxkJqs`sxP6&lifinecp*o=d2tiN%)j@|>p2Wt zQEIRK-Og<_EXPZM6yV)0iF!N?rDVN?%hJqNJf#C&wv6W&3-K6kZApD;+#+uvKdTAe zsZy`W=2VlInEQ%S%4uS-mI{l;k@Y z(tWu6P9?d@NE;-iz!fl~FMw?_CjM>;MUk*B7K`46VKo_xv064KiS5HvO`$Uo#)geZ zx%9841MRdPAKsaV$V}F%<-Z&@?Cf?3*Z?u`lBK|D)h>{;?+{$VRpe!_ z!9@#Z`#wS8OCdT+^f^OK`HV-aV(a7yihskib=IgIdC2Nz`E8ZUH*;UAdBaKiW1KRV zAm$GS@PdwlFg%w;Rh|nXKNF~V3gFbv>9X!uVxi}e$rarb-5RC?N7gJeEnDQX{dYZH zr816=5ppgA583o(F6OiwyJmG}dG9?3K8&l@J{B!F(&V80>hGA|D+LEc{@(*MfyyF2 zeLbURdOu+L@LdD`@lwmBi^eFw@ikyZf7ZE@VJn3&Gz4p88SHC=fTA$*U*WLdhrQ?@ z;RaG^@_8)Hw-WpoFsdDL(8hB$xMV@Lw12@a;JBPuj&CYEE>BcP z1GtLm z)OEr$l4WSo|M=)*_w)dL1qgUKJ`?!|@_oRe`dm^@dhB@f)HF-$NsNZ{`nw6|7ymo! z0%fnrZco-wB~Js4^;sgS=g%=ROZX=F$>B&!EC z3x?UYr87I00H$)o)G=(iOsdcJVaW;^SZ^N>)6H=%A@eKx(%w+bh|C$(99;TOkLt`| z)qA>9>?EzK!a!v68+v_0nXhWfy_Kp|H!ta)4Vx7JhFbNB6ZBMILG{j)L7ViTxYhFe zF$!AC?CDN`Pi4iNC?nXEiM$WY_u-|n=1!A*=3&qS!>UG+- zB0i3Kj7KD0UaQLB8uZq@ndwPQIWW`vj#ly?wul7cH|-?2!;XOwyF|Q8^YGy#H&AN< zKUY`S=PTCxU@6?N{2E*}q&0y>Joq5A%+h~EXUJUIataR9kd8mEG$xck#_N&JfF6J{ z$D`-tlQQNXF!)Au35m;FufX#s{y&+zyE7NL|q9^^%N2kDV59~eTlMOsPWRc)!$hh0@Znw0ik*1z020Rv4aW< zU>PyLs?7Uo;C~34%)N0Fjl4c3ooqewI6V&p+f}&3J#QQm{bYbRmy(s)US@k+*jv({ zxoN?XK8_(6Nnged{CN*RORIpk9s~<$HWn-3$JS%rFCT)OAGmB;+-?zo*blw5HMK{L zwaW0C}G+;Os=cx#174q?8hhv1t+B~aMt z#klJs<94mGn)fnwMd-jikdTCHi^E473wNM)I3o2XHO`J+m4~i`&v+C3xrvf@g4IMPG2CI%B7u4GYA|{vWiHqx%{(d0vxJ*4*^2ltHN>6U zumbq<_{AB3D(@nr&JO>8cEW1=1f;bvWA4kV!ENo1rlp786n~v?us=GjXMdENR<&pr z{!Sfj-4&+j9w3;{I#!BLerj*$99$cI(jUs^va6^A}~C^=)$%7k$om9z|E{isP@`Cl420W+Cu8F~Z96^TVnL+d)-7 z;~C%WONFX#MqQ-aSKIj5M^&-6cxeuw+Jh~!ou<2gw01}yhR|#t8|0XyMzZ^#Q{X)7 zwv&5NHrPKmr$V9e*CS?n0E7*cxj>lK0=1{|K2*O)-~i6;#&46rC;cCkRAPWmAI+sq$oF4s!L9k53iwi-TfYs z%#C#ysj89WGeo~`MKz8BzAmei@imgjyCNmUY$Y__ZslLFOZY(fYP}^w0n|c5X-{se zMk7C&N)nIp7EaZSp|f`g@DL05X7d%rTx$DBywQ3wy%Rt2k=`lR;nfTPOR=cKZ?$;x zl=R&!c?)=>it&j>o1(`AA|-xTi~ciy`ysm3 zXy88sMQr^_#>c-FPiFZXM;G4eL;~fk+y};t9xq!V%oJ-i1|wGo=w-W}O8t;qHml38L%LaUj630&Ma#k%Oq>Y>dT*a`!`p~cV<5&ZKoJX zhh{7=X^1P~?h+*UQ;%$Ka1G^N_q1~#rCh3fx_v*<8+Ajdnx%)sQWOD*(I7UDw+f)9 zlJ7ztO!0vwxuJ|tBmD*ecIybX1YT2hjcmM0dm-$O4k-~ z!$OIUShO7kkd7|_rBa8wSA^H9Vd6+0{~QW4oEED@N-bmi;aZioLYBx<2n}rnYPj=O zDEz<#P?5Tz#6ySbxvG~=pn5)g7ywfQ{lDA&9%S5mEy@g*R%)`p69C4FB)AI-H+AFp z_ImWREdN!q<_q2RSbvnIY5U>#Z>6DpT8W6*WnrbwubH1{S0F;GeoAoH)I~Qbr~gkK zUnrJM7=G69>mA;hNs0TFl;*%+n9?>F6fykqYT0w>cai$?Y8EtdCm#?%4%rCwGP)%6 zJB%Ubq38Ta0VR09^qZFcwK;O!o4>lNU%iUlzxU8X=OafC_@#o5C$Q0W@FCYrP9{Z! zPgLHg{Ty`TCN&iX7P8!KrD61j59UB6Y@6o(W>zv5tn8k;8lh(J3e_XRail1=U5=SZ z4ps%n(!lT~F0+t8eN{=`NR*dZWE>($GEf_u4yn53HXezPIYuJr;0yMltzTA$PRw zd9Qe1xN61~bKO`)a1;=C{<310m4{MS>Po}MN=}1|qO86bV->dIKOdVe(=;c-E7q+S zof%f)CuNwWUQrf)(?G;yX5sFg^Ueboq|F=@yC6PVzyw50Z>h`f-WeL3+1%B#+SiujzFHXJ8>lw}`xUWHEp2cjPN^c|=?P@kgd7y2ST+ZIZ_ z6>I36;t2W^*j)2gW37_R`Y>rqu@+Y74ND`kJ+k_S9VGR~FCP-;&d}t1Sgi;6h4oeR zNlnm8iNJjk117^%CTx>6`Vh3W(@%g<@u+USe?Mb~JD=RLoY?4_hKqEoVRa4A=iEGb zfaJKnCv(D;IgImGc$jq6AE9S9xBB%qd`2%*=1>k|0~Js7Dj!0TZrOaEK1najK9h@ z*C6|-ZEv^fE(^2;Jj#Oil)2#17=vst_PwG3-b?aeWdjz7H~Qj-%7n}t;-RFpuSauf zH^M7(Up$bTf|~I8YNiYpwOFjt<9yUA8;3QTp(VQ$M+OZv zZFsv#jiCdJWMc{l)V4F}kctTt6$j@hfEXr&fZmp0skRZ{q4-ZQNh;1za&Eu972DRrXP)=B!jd!vTGZRt6anwkj0V(;I&HnGJUCO_-^?r=8Qd zGXJHhcw~y<)~nBNk8M0P_xWz4xiagwFdyI@F6smG4je|tj~ae|R!v(f4~hlP`FfKf zD()sL5$4x9;>d}TpP!(lfY4dbi{Ul(f$O2oHx(>wd)8OTrs-8v3RSnv>ykzRp&=n` zX6sD_@GD!QN!YFALc$*1A;c)rH)CcQREIiI27N6>fm()i&D;EuQ%!>4CMsq&Zc{X&|U`|Cgki`Gg^(Q`S=#D z5zMJ)*h~952Nbu;1@xDZgb02yk&=u!NkWv3sM^8*Hyl4s$Z<4Z@l3LhLqQUBQ#9ei z!#7gf^7PG#CJ42JTnGAUDJ>gbipaLOCgHaV^wAZm8z2Xb;h|Q*Wv3UdhbA8t@dnq^ z<2kC`RSh!450qh1-z{|Kq#K(?5E_z5eDV@3!4=$PvCKGrDwvcm=$AJwEg{GIi7}a56Nc~n(+ZzD%e5D2^-}xY8?uHOD&co(8V(keEmv@ zh-G2(pHzicjKqm2PshBi?Z8j?OY^dEnuC!0ucrRg9#FNCzO3FMd?}qV!ATh7^h`XS z&5RyUJ@8K&hn}~fwuOT0l<3Z&gi-q}RwS>jx^r=wW{-Vz0DQH-Y=3^e=2%JFd>9ko z>fw!R3%<3!1nxTt*a~3!_zzJGH8=km@>TyCw=Zb9-}?HEe)yQWNB1hDXKH-z9%c&k zMwUvwh)}5XS;9;$uv7=xVoNV2=G%l}wRtdtY>Ac&Tc5w&OxfoF^BUnQP`gI_QD&o% z4szZ*d?gId7$+2}N2Nr|MJ^`F<1h-0;k*%85K~V|4UN>Ak-;x(;*;aJh?;I}QaCX( zY;d1Ti3xI_wUbDSFPJWSr`oV^{Yf8s!NwH)&=gWMyiG2L#N0_3QOJQR0|L zmnzJPN^IXM^KO=IhsWr*R;CfgsvSz}dqZ&cRAwI1C~!+DpAp=>Aivpz`g=;QEv0?=<2x0MN-cBjAH z<8EH3Q<1TpXP$+DUj*%Xlpro6Iu2c!x6{<-JtNqyk~D{Rx(m1edr! zp{i^cte)er0U9)zn(*O<2KcQzT|n0v5>tN-;x%*IzJJ86XK9cGmu_AYCsc_R-qhHJ z-2FWtE8GC61k980XHlj_?RoK~xc>Xzr`rX^uV#BTwSV6Uz7IgoFndt0%^G2LCr}-{ z(X2h7P5mykjNVJ@rTd>n36xmau76XTC7<%)C)n^a|AUAK#s>5}P`ikX%*&yN{{U?C zZ}0{+0E@8~ctn|YCz#M?2A#m>LKdua&0v45V$S9UV?E~ZmzQINMiVWfa8`$i>Q~6; ztYXu$L{{wqDijPopO{aP?PaxSX^USg0Unn~z}_<&pwL}kXhi)v3jcBo2Xqy|j|jA7 z1mZC38%B;u@R-HOH6g0&FNTYU>eTB%6TXoi!gXCZZ^Qr2kC4KJ+NV8xJ!C8mE+2rF z7r#;TI#p@^kIVO8P@Ir8qT#@sH@lxB;$MH=l0m6BW_y;{k(8gS#vVs6OZ(n^#=B>O z_8>XcB%ncR>{s1^rXn2zw}oJ+Y$H2iv!g*dAH4?Dg0xau`@;RMd)=OWxHeu`s>%7Y zUzl5r-vd$I1g2M&`*+6a^5EC04||HxIs5dz{&&hVtb+$`?lTu<8{-pFzOLQOR7;9J z-8T>2Bu%S7B_nn_SqIytcL@SF5@tMc@4RtWhiV{YNc^K;^#%T^n*ZgFKE@~)kz$z+ zIV?X~UuoQw%D0ZH9Z=wt%0WEB;3fKn!SNu zUam&ChTJk1RCkxyp%%(MT@3U_Jb?9{8x|9wPoJDLwHo34bp3P?ZYF2-Ov)#CJMA(4!o!g@{E5`$h;8{{;i2lOCoAO}(&5{FxYug1_ zLfZRP=4lI}3o}ci)-L2Ize+rK!E?}2lUn`Gu^cb%PTJY&U{LIBBfBl@V$ap9PwOu& zA0E6upm)Nf=U&EuUggg2s~JOA);$^fSnIM!YbrI#cu1eN|lpvL1F1WX7S6)Q0*@HW$+jxb=oDu+M4f_T*5 z-wbs9H)D&zVRdSx91zzK4c65j1YZI;21-C0pB$3_ccY?r80Pr9Tw8}k6fPp}-%H&= zuvb4`nAmaUQu8JP*a&;oosnUi>qgDNo6Rr}8Uws1o&zgdyG?$PE4Po`it&2&>A~H& zN+@d}jdBKAbzeqC?#4+3Y5ha7(w*k4R)c*#-OKllow`;R>!9HC2sz%P70zq5`U>Xe zv0CA5Rwm_Or_B}LaFLb`-nW-a2@J&BB48r}ccEa^ks;G@-91B+;N?ZaxUE-i6qQ%f zM$to4#G|Lj;Q&i_nV7b=*+45ayA(H^Y1o7+;`hf`TZj-o9m>o_+ZQyV~YDP@u6jx&S{0rdtL<%&}65O-IOQv9sRXyG%EZjU) z0fRicr4>KAR5{Ok$zHg*jAUN+cm!H*9s)hLxfzUtak`aw!xW=DchAl>x1j%Sp?Dwn zyWAnp8m#$!aOUT*b=!b)VSoLEM*kpXu6^Tuxb zdc0y&BIM=ORK0YW4w_m4Gu*#a6hAk;neZOy zoO|$h8B5$a4}_(Fc?!F2d=#>W#Qjy!T?j~}C8 zSpV8&tnet$|&LS&?d-a6 z?0~o`#3LnpL;0qo8$||a=&!MZ9#s|lG7gPw{?@L2D*jbLrCUbi;Uf>9F8saWGf6&G z4a1cR{~w;-G#<+L5Boo7j5Rw&g^?7kk~Zs1DUwRGDKtt_ktHNyu0bU!qZL_3s}@_S zkYxrH5~E~aW`ssrW~?)2yZ-0*_rLG^Q7;dAz|3`C=jZqw$NLyyp6L65cX(}~fjw_{ zC0Kd)zSKaSv>T8qDkB&Wnpn$sM!vwE8X$HA^K}?V$AMtcQ6f&EB?u0Yby)BdN(b-# zo~_r!d=o+Y?RbkeLnZ3;JYhR1-Pb>t=rNp+N97|svMQ%)TP@;t7e2%ck)ZV5jMzXl zmbQ1`k?U2~D>57+>KF2Jw1Eodhwg!0l-nYJ`ob2SVNMH-$8D^ghow%TE0u0>cb`HZ zV!eB5E8uccU0C;Ib0g4fF_S0jnf({YVa!tfrTS9yH-IRRpHbr;5R`1TLP_6Yw_&(+ z>Gkh_`G*+Zf6aX)SJ92;Ff-q@8oL(0Jbl!2f{O6H2qExpgz~0_9?QG|{8F^5OdaKK zguc~>n6s9|F>%x{`~*y1Kom*2ly`_^9prN!CN~H?LSgOa03)+ z=oOeV=s)rTt1jWRBeoC-i^;hr!=r8#$JsI{hcn0lX=PN8R>dhe;u_DBI?CyoeL)H0V4V0D)Qf`2CZj~NO zG4Cc>7kY*fy^#ll*YdQLWEHW*UlP_M;kqs{a}eFFG9)PbU!rcMQFu@%;l>)Z|F^=c zhI+wfm+0vVR?JA^#|RgLY>ZfD4u(+b2{?+Iz{L$DRZG*GH3a%%6K!!}`Zgo(6}CoX zT?@xIT+K7`w$MKUxh)>-T_R7`!CcXp#eXQJw@F%mbcAMuU<@TVsH1P*C8z3;-i>S6 zyg`wk*gl=YmjyGj)x>+)5G-itWP6^t9DTsQ?7^yH(;FYH-8$uZoLnK_;QZR2(+U_q7tf_pVZHiSF9L9lP z7Qchyh|1E$K{Z1IU+z_br;)!~V9YLLkP?K_?`gl*>ppeMn2a6$RM2p1_f6OfJ^y-B zX7KGspX;NQ6%p>u6N`;HX>I9uio07cE&`X;dIid{7sESlcekD41{q3OT-nKJ=W`I&!$Bjr9QhfTR&y}$+s)3@8X=7*TuQ) z6DxIXo*%e9v;8Rj*|v>$|JCpY$y%7O4920Oky_h(b}>E!?(&@J9K(G%zhhslN_ojP zKeP1t9R!AUUSVE<3XPKqFW|hC2)vs>z8dl0$Mvy*k`LYlbuK@QhUKmm{km|meRgZ3 zhjgykP4srucO--LaBM6uvpKsA2U@5G7`S>_vWl{!%Fra~*nH9}yRxu=@_FE z(Go2T;~>~#!hl|YTdxKYOTXJvi#aYwQM?*>ZV8-~{_mU0#@EtQ!CGxtYudRimFoRc zK|M*vTzn7?VA8{o{*3=93KhunJh0%0)h$5S zUnPNuP+nyZGA7LRP!y_T+UHEgh2z!7``{w-5;@$ZxM&Uvk{14wE}*^{4dBUhNTcZJ zfM8k=8a>Y-z5fce^ihmxH)bb0D22q~u~ad{Yv9tfi8yMA@OqvLW(K3*ti+fC-7$N0 zg%&Q4+69HY_2m(-3}A5pjuJTCVRZNcY`9rw_)+Zdf7dr+OTBee;l14b(w$17yBhw$ zK;L9to)Z`qqUVi>FD1<3JBx%Rsb|jgd%cn%S}jh)RQLZ`_v9*LM+>4xgZ9VxO-HF2 z#9Z#FepMq{nR}*0SD+=75t}5VZp{QwDNagV`_677(lq3X;gKw2=S`hKex z#;=EWtw2hVz^sxE(CzE!Brx=9z!{32zi6E7AkpAc!3nP8I=TaD>DT~>lH*~#5(CV7 z+}T3PPXj=vF2Dq+kASno5WGeC)b&;&XO?@b-Ci9U>CNj?w}_lC0b&H)A+|j(UwtW3o4a#rg`|F*q>j68>*DzQlS|}YA)*S{TOYe2V zMBaezgGaZlB%9OCy{0d_yQOQqYQ9xJ^}T5AsQ%sJPr~86OQqfRcmDyRYU8);kh0(r zyZQMT(eP^#{vjW4V}y{$-b}$B;G+(RIL_vx_-eGzmE+kB!$a3>K$WQpJV-QoTdmi0 zl|?o%naEnbIv^9;PK0K?Ve>z=6AR%=|whh7UZcgYd8P?^wPrUS*N2N zDP^%l-ZydZR_HOSeY+ZT7Tm2(%X%PQTNQDHj;Egt+&?uP+Dl!++q3NPwl%pocUdMA zJl2~r{feg~e-~R$)g-;+ikQ1Q4!Sg|kfQcT|4kNtlgCGSl94Hm`R6hGgNE*Hmd4>x z8{LXcmLHB1o}QnuJJ#NAayTo-tu0GKLFUy2=2bN>8{>LD=UD>f0>1P;C{hI?!6<*C%(leH$_`tg*F=JNq zS>H`}rKT@d0Dg-w6;3(v1iu-Xdd`Zi_wGTP!hHWLT73|Kr&u;KA=ee{k`&NA3ORv& zaJfUNpRZf;Luv?bvNB?SEb$9vr*3ILbb_bc2wVZkq1m|7O*cTN(uO6jy{zr%#u~Uu zavweL7TC&c+aZR!=II0~p8x7`2Z;KTqaP(_GmmV}6g0 z83gZFhkI#;<+*Utz|81+5G?*N;{qEmB%?pAeZ8zggdH`r^5WbK-*6YLSY%(}7VtS! z0sIm3-N)&PV6Eavy94FZINl9d{VSU#y%`w`gpLUKsLuX3yWIm$b;xIlztwTektxR? zh+eBitz-F7LcnB+wwU|u0C-D@+rD@x%9G{Cnh1K;#a)x-F=JgijBjsx7wuAC1z`(u>-(jOU_y>D1qw$y zLJj_!h&4Vh1B`3bi8U~J!fCsGv?QCMy88qWU+ObL!8v5T|Lmma%nBYyCZIMDv)VI9 z9+J}Bqgk@Dv~?JDwgJ6XKO&=x$7E!$0@$jD@*^J;<=Qb~ubpr8Wfb~Xs^8BGS#PEG z*2L;k3$o6lx}TgHPc9?opk4!W)SFwTTj?F{)+3_%2Y+1$ij0Zdm_Fk&2l^#=CrDx( z-Pk>g&yx86^a-FGy)Y|jiy6H8kF{pAWbp11-PA*8_P!Q|y{WJo%l<)FsdKBp?pG7u zcJ5j9SP$!7A0c}G1cAIm8fmqL@NMDHiqJm;^|dj~re=+QejJYP{y)Aa&iGy`sGk`B zVi`Z*6*rU=xk`J3(h3=MYV5kfFkObs&;r>@*RmUQ%FNz33#niJMsE+(_O&9N{;XG* zt0ZfAt;=zLhe>FpZNlJ&sf$V+bNAe2%UqB4rlHeT8L58*j=U&#H(8$1*synf-Sxxj z8is~L9K(w*-Gk46G%eItnyO9DgUW`JrTDk=MJ`=Z{+=*fIMv}uyN^nFu8}N>TEi|G z{5=){s)H6krmb&dX6=I+;(B)4%HHyLw)-Djc+vejEQ z5%+OY1TV*z+Gw)!Yu{r1v(^t1X9dGcpTEpJ@< zWJ0Qq>FuMo!ku}JvSEm*QVpC$V1B$2I_=fL-4V2Awnx746e_dtV(fF!$qRyn5+$^E zjyj7fNjag`1Q~>Zyd15AX`_7*mx2Lz(9nSP!84Y*E*bOreocgSRcWv||05y$$1uwi zE`Wn!8gDRD30f>3aUixk772$zi=xmzXm=W;zd3e9Q+Tf%2}2z@a5-O$gS8w^V3WA@ z1w;`(#J)Uvkgy57#{o|=gOG_9eH@|FiZ@a^paU{69;j1GPoQlb!#jwp1SNYGKE_Y) zcN*_@;uY=)itB+RxvkZDlO#)NkexK*$a3*ZxDRF6f$g|@6V7`AWmeIbI~ z783*wiGNA2N>RdKwA=jP;r|YwitRycFRqm+BDYE?PqzyhVwKp11&|x7>ykRWqv!{w z35VrSUk{0X+N1K7OOE1$c_q`!RDw_U>!a(m9DPS)pS~Mro6lbpsWwB#PVNOf>*+uya%znP&?G95XGs_r@SgI%|OoSCG|Sus5e@Xy>Y1)`Cei7*Db+GwvJy39sY4rhaTkj$KJn;k69M_#UOh!Rnz(ZA4=m$;J>7*1OJ^ z2Ss~aCkygyLX=d=+mk(p?5zEQ&5Wjhqg%~35=^FbLqj)i^%zQ9w`7L7(xO*v;~A|4 zv%DK-Jm>dz7&P1V(Vlz~T*_=(uBoI!EcDs8)$#^dF9#;3FD~J^)Kedmn6$6qJ*fs3 zT#luV%*?Ue{E)s^p8HFiUvH!MsE!5Eni?C@GczAGH2ghxLpIXVHolC(WN-a*bN80- z=Hryp7)@FA{U;i9hG3km(cmjtoEJSss#=BLCcY~EqodaFB4m@5{@qV=@1M=h><;%x zJya6jI5iizW&7UnS*O>sU#?X;hu_%qqNSEoBm6(C3!&HZkJtFkz^x zYEF+rL6JlJBkV}(CwI{K;NkH=+0J#FOD^qE*-2UYLm@bIE&4s{-Ppa7jk3ItNa?X= zVJD$Jh)->#`WZeu`g;&w zhT09Rry4iK+42CF>;FAitRl56FAh?X>drc9GW;c8;6MkfM4VJI58shG|JB7pum30X zhQv%xLJoW^Vi^OeySn!bWL_G=xtt~=FtPVRZJN`jnfcORvo4wF8B4RL@xCBfqzGN$ z#zN*scrPQda&JqTow)aB!{D{Lqo|60xc!BP;+%g}#7)=`AMBM7PdBiKnZu&jxtn9j zHOQN+ttHU++Mu4}a-> zKXg-oiadV_T&k<|#39N&etI}cfj|e;@8Wz-W2;5U(Oz`xjRmWz`TrxHb&+L8X3&HL zbl8O)J~gtSL(e!xr!ae)RmAP^dAQDMZ+KOfKOznCY5WX1SMJI;z5xX&PQjbbg{hYn z9JXs&05|^Ki-=njCM7%z?~4hCw)eu13&U6^v1tzK5o?H-FEdn-!9|Um z7Nag%*&Nb2@0N!UL(2(uoB~g7pxcDVjBLPU7p?-gGqv8&?~NgE z+Y$mc6so|-f`K8FO4a4(Ry>ix;5TqjL4z1+w*uqw)@7h*UtRxWy0Un)<(+4MSFq~+ z)n~-8b#^-5{a4jwkeg<`cea07j8rjK+w5eXeqw0ZE~u)uK|Ok`u;K@QPyR4JU5tM^ zx#Hu8Uvg<_N9X>&gonsN$?{%}Q@hT%pKtAaqIPHM)~^VadSSnL*{PYNDGxQfmDV)D zi}x{{#g;R_8>h1VE^hC7YG=^A`N@1}vj9hyjh>z5oDMYbv3tZ>+~5#a#Tc=BGP7%G z@m;g?@9lIjg!Y$QoVc#I&d#>VgtKFx7z6+6fIV@Fvb~b) z3=Il6j0+gy1QTexMoO5X&>GK_gI#f%X$_4|-@7U@>;DXWR&JNI%x-F&Os}Zem^Bz3 zZDnE-{e5U?DD2@Ahece)8b+_Dx?Gio#d0+}e#Ka%P&Ae5B2E(1lQT&5X zA5S=qPdxN3xAu+nC^>ZU=+*V>ma{Ki)t6b@vpdp?q6k^d15%SGl$G)$VrX%_qfXgK zv3iIhf)T&P_Tv-pf2D&1QROgpnbET%{9wi*79|S~7{Cqqk&t^8<3Xs?5ouGd@5rm5 zgW%L%qqvv^GUQLPqOdrPoSdGk1JlKkW%Hx_2J5<|r>A4qJp#Hxch`JfI()NI7dk^4 z@K9XA5FuiajmHvo`^WJsfHe*a66_J1)aM{gftZPG!a#YTCcvDmXU(%$;C=XnI$c2J zzKZUxNBhUrb})8Lh@&L*?N#y6;}5ScMm(+)WuriT48okt0GmfmU%nH)gFUM%vx70e zQZBfh@JnbhLHZ|_;VFtB@edwRM>sH(r3ISa8Sq$1`6zqNaTO>C=_{E|g2j%)H&2;e zy)mDKZIZ1cb&;hKJ#~dc#s~gm8$OZP0wiEuCl@=@`BZw+p$}5gXZv}D3t&i*stqWl zDBzv%iiGhXh}R1}GB8Je+Zx2cF9BD^k#a{-#GcI^KRka6QWXJNWd~?4bXI3b-k$ZY zqo7;H8e)f+@MxL2Q-FGCfshhq=g1BVIb2_$rnCIVj!6fx}vk-jcXLqDH&8TpznPIX#)Q# zf#QmX+rZyj z@M_G2Y7R_QAAOm84cN3|vRIJRAoiq$F>IFg_aZlz^q%_R8AbSGOTKUj(c-qgNSX|d zxsBRQ9&ZKC3P4q2S6sG26WG6dC+~CM$jKSiki4N=gWHciFwoZP80-(D|C*a|dTp|N z%@y_-wf@0Vej|Rr!5wPMu*b%^c)wxN{>=NF&`3)~`K%&4vm2x3PpNI<-aG{!VlW}C z_)a@XR7lI}xDxa0bX1=mo0d%YFVXmC=ILHW2S7aR0Z)U0Z=&h)kLI%U5wri^s<}=e z-=yTzMJ*XH{_meZ*6`SyavGqsIGjr7N^-&bojHsPV`4pTd`~w7b8AWcrV`aRJY^#` z3wX?iHQI7hQ{VO`8&$7qJyxBgyW!rw!PaAzcK03(wzgh8Wwj>vg=<{Oz4WdpH?e2E z-A%tyr!6fn{q}VtNZyNwf0#AmV?x}>Ap(PAFjqD^zWCLj^|F=i9^S;)<#NWd9kgN0 zZd}f*oE0(^=H8xgX#>t4BnIfzZvx*i-6Bg*NE~Z335TGjK7CuaC=Uqu2@JgVZ)t?{ zLLrD2UU~r@#{52WY))M0 zXwb3sT_hLM8-nfy=mp)q?Qn@R zw~FX&gq_*kXjO{Ftiy63bNv^e*2;m+t%AI17atY#oXwxb9~x+h5c@*Kfdpiy1S4K6 zGa@&V0n}mDwET8rHU03BOMhSH4#J#?)se7|-)R?2Eq~l{$6HJn3 zS@jN->?H1%RsSv7&XX5IWdfarZR@ZIa^SKCo4+zHO%Yx9uA*|+LvHsfoe$`T zy%jUcqtXE}M{g{@3!f=jyascigaFs!>6tgN8iE8I@#BH|%1vJ4t2Yi+V$e+mHt+sB zS0I3ie2K;QXiqAX)FxyL-thG@t-_nCS9M+Fjf_2nBsOz#ImjvE&Pqe<>7_qt`IXv~ zw{U^9Mu2~?PLzAP=dsUJbCha*cYlZsI(a}XU;V^tY)fQ>2GAgb%B}OY-N}*7%_ci2 zUr>8B5Zzu)dYsMl`%7sTTYnc-th6YI!?@wv@24>Na*Y0S zISQ0@VncPXKE&V&rFxq`D$hSJvu!2j*EqE7r;XZTygTeeiIk5?SkI+I>)lT)0IQ)N zq8$(77}G{AZGB2Mm#9}k_TX=@M~N3TyR~&0Jms&-h>vxeFm__3E2WDU)<^c~Aud`Q zUQ?NluF>*A-zT}PAM6p_$Yne^=zf4{Oma+fzv3>rDjg)7DeWEFCcRL#9zqrbK9@RZ z(AhnkRxS^dGZY_RCgm4@#Qe7?TtDXB6N`1Q@pkyz57E$8Zq&|4$uVA+2$JRLSBCG4 z)r0qRc663Kt=dspCJd#-d=@a3MU&z3NCMiD$E>D(;8DmI3SiK6>G;B~wk`_EU%U)= zIggNx)&4#C@`VQs}J2UM}Dp};?c5@?IQwgN#-CO4TNwL2s-mmp{4lUmiaL~QY z*6=Vi-@s0m1u|obEs0lQ48m_ACQUU5Y=BlJXN)222F+=grFd9x!l>gY)~CC20~am? zfhi@@J{7m=AEU!xUzr$td`60&M`6~k0#`RtW^XX&DD%hWt7k&y>1zGPskb5CtFLbd z2JB!gT!{<*`pAgV)VZf+5WNF}yV5LCA737!-EirX0Tr;7F|KCcha@21t5g*!cO1Gl z+&Wo++=oWz+i}~_Q*4-nQl+m1z2p2qX<`q{bRaWa>{o(twbX@>k6U!Vr?7>_fKOsc zXd@w1vV6qx7aGSFdmJQKC*XkB`vwcq|Mdc(7zGUEE{;U-2xhHDoY|Ax1orA11TKSm zhH$U60&KhiNe@qBSyskC_~e3A2!tb3g@JZnFwxyQ?&yd768Fp=u2h=4C64eIB0M^( zDbVV4Nq(#E{U%vKJZjxojptD{LDuM};~xeQ3UUn!Cifu0Y3vY()&RWxH4SeHGp6z0 z_!NV9q+)$M`ubzm)D=f3D?@U&iF|Ni$x86>!`8;Gau46833^I4H)hwn>0Opt9Vkle zLtMaK&c)DU&oEC0P7$M%M?J|~G8&s)bd*R9i2*O6Y*K#9ZT{Z>FPmV3ynF7s6o@Mm zXr%+MB?-AD1~wZDd4;#71?icO7Sx{S_l?($HIviy1%t=5WR^|QWed>HuGJrr)Z~6M z|0|eQRraTaOSbEUM8AL4Nx>!efTw2JfEW_t`m8fk> z$$iQ0k({$9h~@UlULL2vkgW({T$8PIAuNc6%Nt*qEfRa-f_eNd>xx0$2?DdVp&wSc z>|fL&eKFNVvd915A>2)WFoNAW%o~x($Z?7ls}w zy0NBJv9`TYJFI=Aou>}SQVvW9;8FA``+YRqw=|x~6El_JXO#mc6?f99K`GCo1$h;ye9KKaW_S@ zzu7o0_C)a}3Lnds$o3~hH73*$a6mt7wo#UnzV;r-R#o6Jr%PX)1K-V_?)0%*V@Auq zlj`?w>gV6Zk>}u#S&s%7k@pv7e&_gpdiexgG7(hIytkR@EuKm@p|3>5jM{f)FaeY> zg2Lk?*R;i?^OX89_Eq2o1BDjO!`PL8sLeM2Cf~9kCx&>w=N_C~{BgT6?78)G7~*2$ z>^=yD42@{G7$7g8?#ARSX5XIrI0{b@$*kW{jZ5#!y6l+bax-z=PKxp39X}MBYHt=# zH63I&;%#`;i}U^Z7w7F5wm6`ihmlMcg+8?&x~QxLCvA1O%hhwOgb$c!(r3yKeXNFe z?b&!0!Vv*gmZBnurY3JvasX08g-zd9ctT=QC-Q2VRMm&Knh!GV`r}f~x(0f=M%&i{ zL3cI!!rs<^p83nn-qy0meu@!88`10nBWs=Y5}RNdFgLp>J|=wD zxzJKDxTM1o$Dp1;Ji10)2GCTz;I3y2Ld~04e5b8aF|+(lvpf05@6>7n+jbA8bWqi> zV>ePUOUqs(OAb;P83wA-IqM2XN|{(3Aof_~88L~anaLtIWmVBMTWQdG1dA?ONZo@S z5qPLkt}vEc)jqwX_e7!k*Rm}k!oNbki4)lI`Z>V%$~cTqU!CBs<(jL{sxT^DZxZ#T zL(^9SL#HS63~{*s{?tAfI&+P-yD_=6gXY9txNQ&$q`YO-=Swl_mNpu26==i(}olVvdeZTR`@A|VUH6QmQ&k~+hMNoc7 z7TU_Vb+nqTDO%y_SNLme;?9F8p|3s5cB+SOYeW-&J2=HIHfyj5&d|uB?NTOH#xUl4 zGp$911_M+KspB|{^l9!9lI6zysQCWlFN_d+|9g z?1+|E6JH@l7+O;d(?EgB&GKUAZ+nAzs5<(^(#`)+sNBp7MIm{NhYz<0^S1 z!&wg@Bt$w4;3;%<>GZ9cL7SY+__xw8ZXg)FcN%yTl<&)TPBvQn_k00FpOBt?helM` zcEN(0J8Y7hJNz8pE*>0gy*M?a>@#Q4nZJydiqFoz<4B7+5r}evzR||fyPo|KC3yi$ z@BZ@oq<`{ol*9Q?qB7Z&>pm_U`?h*t{EtQ@m531&-eT zwGLvRcekmO9|D4z@r!dNK@W=ULW(P9@qzb?3(8#|qIBAQfv zDW_5rfvF6Ub|c_~Qt0%>vFCn6ubF7R=f*4fo>hge>!D&0ZMg>%r*L2;6f@XZ3QXTC z6g@S@q&&muNtg2?Tp60M4)UzF0#K4>V}muoX4G8#2Cy}d6Vp~m#xWLkvk?k;vm=g? z#9+Z-_`4PCUGcY%3{uNn*XzYK!Z3+JYAq5y#&dCH{1a9FWyy|=agzyy(m&Fu89Wd6 zr@|uFC#b26!URDGT42=-VLveZ7Ze8#`}vzC_DhHZtS=xRH4#LOBSV70iaN1YON5}~ z3eql2-3IOJE%}l?I3Pp*DzW~cN6A75gyqxJ5s0aeM^zOtTZ)pi$axsSme9U4*5I-w zLP)p#8;oLHH8w0&7)cx5vS^>`qM~JWGTP}R>q}G= zYYF!$w_HYkOYL#IuZUppT5OTA;Zf7f%;tzHqjyt&)1;9Hgv0;kUH@CjV1n4Nxv^i! zvJ(h8A11yM|Ic?~u(`|IBWskA`t_Jd3?IO*r%u#l`g*}M#X(v z?+X0(mi%?5)*pvfzwq%~5jWZ9apYsb2pk!~c<%r^!9Glm8O54^1nSM$g%jy=rd|3u z+QPm*jzz^QZ)H?keoBMl4{M7IS&bckt%&j=2Y#J(T{2V`JfPu_+Mbq2DC{05r zy^-*RI765^OxHfZ;8>2Sf_i+niNCyga6q}C@~ws?#wxw@CEASDq1}r=z(si*J#|=f z@8-+DXf+8dbb|GV7tV=bJf2`>|GafgSCjMHPF!ZS~+P+Ev#SGSdX1&vx2f=zNhTx4n)EAKQ zPaw<2%x;POLkT*VQ#{&(vdDnHsSG4>nrA;K(H3a&^KP-hP+9N^I! zd_Lw&_JUxZe6PK7i-xt-RB^YFSQ}TN?45Y*8YX(>Vv3-(?3C#;(*((s&#$S$Olx%8 zB|nlMVSN@xSUSPLGyh59g8}tC*akJ-du|~hUsRgDCBCYN(ZcQD-{^?sd zc9e&&Au52)5i`40K4QZ#>@$#48I`*>{(qkOJeU5pL6y=oN}y3X=WuNPtxH3eBlVp& zu!h`US-{dTx&ewePKry0>0_b=Wv3x1_PRdg-22bqC790ThMA-^V7d@mKqrIw1iKP- zso7(NmY07aoo8}GD$5yD+Jjm^U(eV^`W*mTn zL*kGAjT(CKV}0Fh4(vIzPu#!o;Nd@IFQ8n;ClqgHfkFAeQjh zpjo)IeFk<{?NSa-B^jZMBya@nScP3{`lWvU`4K*8^=7nNCTG({@p2AC5}j!m`D;?b z(RTF|TVTY_HDxy=p3{is1e#;{JVm2MC~v1aKx<)MjMr4o_FAL}WH=AK8JQckZ4TeU z7sP0AES#RTt_s_umeS8NOQvteJX2s4NHr&!pHIP_*@pKH=)LrUh@S3lvISm(>VjqH z!+Dbw1bcKytMs3P;!&x`O`}pg9BG3v+2?6COpdwO3cWMeHQ&X`F)2KDu*sq(e?OYXavnRN|Q#oonG_tBlI@u z=)<#eV!6@iO6reyO(ff|X$*#C_mU!`y_mD7h!Z8B$PeY~Q?w}vo;LWILUtsSEJ2(x zyVc_L__P)mHb31<>e$G;PFZxWL?66goU;XYpC9VVz=4oi*`EsoKKvm)6<4fO!4~&U zY*-Sch`p&k@vu>}u|23GPn)n)<3&q_RlPCYRL;MR3Pf&Wt$P za)=nOw01i-hvJRTq^2;7(&zzAb>o768*E&uCm*Qj9%-XIK0K>?{8;?S1#dRIc(RCI zHndC3oy{oXwYXMv{8+|d=KtQ2KyQIGss|_EL~sjh2t8v1`RCNxVk>{dn9n zpFSP5o*p5l>LDRgmAPXq=7gku#3l2%bwn=x;3LVoTQvWx5#eZPZ%oMiv8@Fi3&#e1 zti*S*H+sq8vkNDptl=eGtNZUiM;`Yrxt$+z_A}{me{xKd)%=2)>9jitcLHCAZdZdL zu$t`uPy;;C_j+W`u=k)sFvjpYs+u`ov|Ye?+vK-X+1n~d#&55B%jWEo!2o~jN8LR? z9`1j#?%vm~Lz?9o8NA+pTfs!eo5`-{g{OMOD|D^O^16EN^s8xC3qOdbz10Pz; zC!><+@frW<$vvssPTxtFLWM^eUQ>|9dEyqyy*u{!PKtbDu(VS^j$##p_=q{M-R3|6a2&#WmaM~P2n$0>a+`) z{8D&JSqL|&Z#EoQ?XNivogY!Y$)gheIY;*)8mAkcIB4;2bhT2;e5x^pQMFkz?IR;q z5c^roq01otmf=f88C}oWr8AW{bfa>%rPqXCEnQmd?8*z%s4A9PZt}BA*%R@^BHfKc zc<}pSjFs^}ynR)va1pA5G32+<=BUhqg4+^KbaJs9ZRn`X@2-5Skw2L zV=8u1tZ|1np3F%hTrUpL+MUMVd{fRw6+OZR+vqwrO2Y$$|-V`ZiNkD5|P!B z8y}8e(vs5)crFhz23+;n$zZ)+aFhQ}+4lT&uc1S&ZS4j?sqmw$H+$&Kn?CR6k8xsC zE*bxMzD>Vm)NQn|&Xcc+n^O!9p>PLyg-#eHxsc_=6V&Z2S!~wxY6v`sT6v?^v$d3t zp^_fGP2hfb;%MDwzS2zC=;m&`qF%O~`pNhfJOX8yw#kU1)H18<(SaqoPq2RapJYk4 zN&>%kuMM7Re$f4r2Cut`OO)T_eP!=lD7S8}_gEY*@Riq1!tu$K2GM>dM`-?cR3$&N zSVofL#VncKPpjaAtuTcbr(v;PD>Nh*^5OTYOCm~0 zK2nGq{6X8qzo$)UgUw6c#R|Y}kULS;{CJS*V@rK1t@^r+?kKJNLmCtxmtzbHY4dnrnRNZL^n*O57TKmHn6-iR4cjTa zpjV*z$Jv9f>`m7wA1|$1eD?fkikCv?p`vwJUtgWp^l#3r8MMCin@Kux&FL`nnZRbvYwnjuC1VTnNalN-zFwdiecl5p>jW5OF9Ztm4@*z{B9 zN=s*$E+YO-4GtYAu;-rd>axWwc~4-N>{KxQY_jATU8!|4UfA&3Vp^{J3*pksrVp{{SoP%aQP(Z`G|xGR^e^{L%7Rv z4vu-U^P?bCkouB713kgTI713zC0Y1I_kzzYMT{#SnE;0S(Dwtha`bI^p@-=n zVk#}nG3%4mUPm5Jn-w6hD)t+pHl!RUpaK4PU=6$FQaD!Eo7P;rRpxsa1T#|gf%4p8 zQ0mDut7ThG-sna78bD7ddURMJN5t~b*4@oV+QXF7kKL-aP%;<35=~alGLxohd&7-Z zy+xGZ`3DQ;=C~^$1%bPDv;gzB;E>h5K&KbkcJkWM%7|k#-B+qOL?cQSJwsgBugwCx z_zi>;9|rQHjuwnoMYIVEbfNLkTZxFH40jLH3muS?PDEquSps-D%Iu_Hnx_X1LrKY* z{#9jR(uNnFSxCsxa)F-`ae#0=OkS#9U$&GOJyApXeh0AcApXjxPvYWi2TpubRuC>2 z)fTMK@MhDZG6%)}uPKmODD#d@<39q#Wlwa*oGog-`yxP5xK!>_N9HPU>;19Mpsb|2 z{c_*+ZF5WLCYN9P?_;;ELmdvSi!JY1k1O>sI}q@DJMOCy7}`|7fCyW_mX5z#Y7lR+ zEIp@?QQ!o!wQ6>07x^nqC9Peo?l3>NIUyzz<{VY#^k?Qh4;i|0NZDH4x8txlpfTe9 zPRa^{oeD)q{Y$LWdxF1K`scR8F9WN@zH$AZ&uQxswUR!Wi2lJN(VtXU@(DucBwTlW zp~*!)JaX7aQ(+q8Xo)Ho`DCr40Rh(T;{FS7Z={6qdNw)n|a=`D58 z$niK6Aq_uLMEx!KS#Ned2IAD`f;zP4W)0+#=3A+a0Yom(g_1hJV1|~lypSE0?Nk1a z=vX+bis>hhq{qX2#(3ShB&>(Pf=Knsc3LxilVlnPi|-dargyyEgnM5FVn@xIkwr5l z{!17g-QC+U#GM!=tf!w_&g~U4`ez4dO^5dUo*%;(6@HLS;&bazvX6e?T12k)%#l;< zgTtTN*kkaRC{wr3_M|+fGC$xL0m{**SIUWhpHo)HKrdJTPGDLP$pTNdyDOAKm`UUPV!TXjxyNuAP6SsBmztwC-Kq zhF3x^ufcCG?yPBz$Gx5d1$6c-Oo}lLJjA?q>^m{{Dh7Tb^!!Rvg z6JStbP3Zuw4Rs7eydIZHdRGy(z`Y$9;zzJ)8MIoc&frf^s6fhI$|o{+f@ZBH@b4Ta z#geR0k0ulsikfuJkq5OZ9Q%;``I12Nssz^;(7_-Vg;gd`!$JCNW-u0g|p z4pCL4+EXjqUD$FyN#X}5qgA$nbz2rHqJxDDk_@gH$KA6lGNr) zZkq2nFKV0TuS0+90|gPBf$!0=HMZ0hit2^dGycnoR;ViacAAT2ux{40a)@O&6A z3p(u6QF&(?Uqe>}Yvo6l3uy~bBWPlCPDNjKvHbl*Sl=APb?}Wb7I($dqkz4x2wzRN zL>K)yO3ZC6oG1_Y>$jh*&DS|F*Nss7NB2fZk8im-_#FZgNq51@O`V*w(ZWQqMn5Ht z=;^@V=G<1a)yOfzT>}d-Grh8jCwScE7(-=+&wkrsJ(^z;K0YAcp~uTmJt2L4XfLki z1@DrR1uKS*gccY@zRc z8?3m_^)PW$Ph_)pF0fm=bgF0g*txE&ghE~MsCmU}gW5NvEB=uTixYu{xFg5Vb~M#N<|H%qYf0;j`9{K0e_uzCoGEA8DWO4=`^3> zzD3!cebAOlUV8`ii8R@rP?f z>>XzLOFs)p>9IvnVcaD1UK40xPt~!A^h&Sa zs9(S$Xt1Jn6c92Nt$>Jl>lNqqeY;}gsg zdYD+}D2qXN>yw(_#hJzu39&Q};HI47`nrG~FrC{YvJ_jibJ;E>tdmtx%9Wj7g)4f& zdQ3&&O~beH+hJ)N}psi z;?+(_zJ!;P`4bODBl`G4;evxB;zHvYQHv1aVsa+Yek@~{0Y$uq!u;x?2e$>cR}^}G z7aza1uCVsQ_Dc9_dOC_v&Ra>5>$=K?VM_1)mi{xVw9`T-RshYe)a#VIfx_CeH(_(B z$@}tpIM=UVZP_vo;jW7#Z5;Y;kxO_WvOYoia}eiAi?+H_dIne3N1caNvU-A;xfkRC zORAzss5cfFd2eTY%tV^uDqyFhf%Sx9Z8bTUwN#?I566pCN&Nv8!v8)8MGv0~$U-ml zc+0HW%e)6yq^=7;2=cG%Ow!4fnDB(;L87C)6;8NtW_c=|^D|lU<)ri?$=?+>h+=?c zsA@wXBrP%rF5-ZWys*SS zSHr3`o#RRr9zmtViq{zO7>nSfa>67f^M>mbIPv3Wua$mytWXl1rfyhJMMRVZSIKde z%zLF@@Ev=#OUnv2ESR(BaVGb@%c9xGL}xD$mT^w>xCr>ma)Nk;Erm4{Jk{?zeA$`9 zVUNhC#WR>>u+`X|TeunhEp46Lx{PuPl60<#O25*~kz*Dev_47Q;gNQ-Pt&;HZ9*1O zQ{^C4ls@0+@V1s-jh>~#h;hy|J!hxGB5_n6?T$n?ug$EzS#r`3A!Nh84>uOqOR6%n zKtZt46nkHmLApLLz3mYEFH9fUw^>U_;x7=Vo~-w@ntz^hVXk-FPX{49yn$TapNbl_ z;0ySgKzqU-u59pz&2%eq1vE%8k4=-}VnZ8SkV}dy4@-1a5=xA^YQtcjaF%z&Un)CM zi=)h9>osKVR+lA$<9t?IjMOu9ltmV{(k75y5`A0LXUfG8#Z9@emm}D#s7eoETGZGv zM(56k>r8l^%)J8BU9 zua8E}nxsSSOVP-2I#ctl$xE#;+itV)*`!TILG17TNs;YE0k#!kpOww!V@;_8^Hy2_d;LAm2Q`>vJQeJ9n3|*6PNOcyh@)pDvW}) z0GkVZi|L|G^QX`nwKlSSP*hK&ZZH2y>ZEMky6cGnfkY& zs^fEA0igthm3DM_cOS%xRmZ;L`|7yQYMmi(IFgzue^)ujox!pGBay(34ILMQ}Vh>OzE_p0`mgx~0)G><^ebzLX!hk( zvk5Y_#*Vs}&zuQMD#j;aymtR=Q|u#e5sdzmizS4i`qD3Vd=)8bp~9Yn=iX=djKb1j z5Iu(@j!Zch+l2}}?yZWI2tIug{GG{AFx-#)e@wl3I8=Y!|9@tTecvJyQ6w=WQDP9O zDD9LqqEaD*MwXeeB-z_2OCu_ZP!ic@kfp>ZWyvywGS-=~&Y0z#-}&74_r9**U+KEa zAIy25_v`gs9?6w%Y+xFo?hV@4 zzT~?!r3`Dl9=FVL?N~@TQW!Ek;WP57R-(puLPs!H8-C&vtfC33I$lmUNYw1y(ef@O zeCmA**#WkC*GO6AHC(ds`BqrUvM8sY-}nL*zI5QB8ZT z+_|J3bhL@B9>`o7s7!?0`R~XVL1El8!0{TIH8@x1uM79Nd25uz%|eR=Eh%t+e<#Kl z+&8^e)r?haKRd0_1~`!OPW`8b-Cj{Erk#X|p7nEBT_k0D3*l}*zi-^{9W=dkGBwA| ztYG&n7cB=N(`H~FYsRZAQXHkhCp8aybyOIWf>A~8U($9KuAdi=5sh}hHw$JyY{s6l zCpu7$%Y_Oh!2?sS9hsl|LQy~+Qy=bs$<$iq4ff^wf!s zJ^<}~g@g`V&7!CKU8OIC-pl;ln|67}wrw_>Co?oar{nM-(>9K|1)ln;Q|ZY=z5MxR zYVDUEkVyDTaO)vo`oAs32{+<Ox3ZZDR}K1bc>;k6gU8I%LYqd7~}Hv1-S zLPJR6ZC-XHAr`XWHeLzxb@+WU_55+^kfE86?!P!2fbWYLbCAuaAmT#!sy)(9m-C>n zoHFk~45(*Viz)n-6xzzXy~C6Qkd14i$L)2L0PcBOdM_&Wnk9fYARk1uC?TZ4v$;XX z-Fg|3JH<*ojphO>2?Kc29hPlK>ob#8j;PR2ULS**OVKo$ff(Z zbsOTzqX*1l$u5afz)#KQ8libH>6J8!fW))`JyOt=zgmtksgKaw`e= zSYf$I*yWvZft6@)ZLK+rb1r@|V0;q!-F>*FRapPM+fB09Xu6}k$y&IXAic+p@wocG&;*#M-NEwJ{-* zH<#Z#IuSk9)O0tea{LYuDwaD}4Fu-03RXff@X@SvvprjWoR$H%#urwfKPr;c#gZhR zhfmTy+2l_Omg|-81S-5|VoBpz3VEL``K$GM-@5!PzavGW0QM_&F2Fd*_EUhVB0cf# z^;-LM-x?AF29gNiN1$vK{lzLoI3wu$H;@Cq|Jh9|1SQ`sY8(8AA85hc>lao%&}JDT zoQNlWvZ;319v6FdwhHn47(0VPH39c!o<*jv)`t6D~e$A-6%2OAq+yo3MesovF2g-b3&} z=xBm2X2eB2TJ-5ZAGrAfrbkI5n)+*W z6dIj({B8?`_SMy4=YX5Fg<$$~$n1Y)(RBm%15B*Ab^|Y?p9P|ECfIstY+wLe8`Sp4 zSo^jt@5^`I1uPnL zgF95gDrLYd$vU&@Dxu7gQ~ii+#Y096T>+54V3SOUoz6Z5IhnVT0^ia>X&qQ8I9{1W z{rJWHF)9-kyGJSPhrP1cjvbxnS2i-~b7ke^-z(B(nw8eylho5tYjO`P)RK-m1BjW=8ZR?>n38jQw%ljNZY2Zf|{w$4pjVyN%eD|J|0!*>3*-_4fHw+Hk%fvBa z`@bVw3*Io9oeMZbL7ym~k0_fW>nW!oC#J4$5`S%}wC%`Jrm~TY_=F;+oB5;D) zH_nM_XvYNes)#fc5X+%kxdJOx@)zLcUZe%$yDIX}zAxQ41_pPVF3*_Wd>COWS#X^=$ryG-S@lP6-egc) zZ!mzjW+$(QaaQPIA7nEc`BLD4 zR?PUG+aUHr;_!wO65BsLJBHthOrTWEIn~}hMwSr)JJ(@r<^xA?+nQSkMjft@HH6C< z=RZq4nzfQy(c_R9Qv5uNHEjx};RK=rcWMaj!qIgDL1^le6Wg@}9s0@eRq=_`df58ssp0iE zfcL0y=qnADAYqSZ-%R$2_@Bar^SVq^=@_z1tJT!Z&U7-24^!Xg7E7wKYjlPf zE92~{wWf+y?}dj*pbPO7$sXFrH=6G#fX_LwsyM!gmbYsq*IY|@b%XCjoVckkUt@Q% z^_AkMD!KP=p^oxV0=TvaMz6A2Ht_IF$2ujr?s`&}IX@d&^QKXVTRIBa-a6U&zgGf^ z>Kdw?2iu59O}=e)oY!S9m&r~3OSb}<9dKbabP`D!HR@k;Jn-;8YW9k>0PT6N9_tw& zb+)XH5D}uP#lNe~iB&dNH6HI$_hakL~*|gjBbda2-eey@e5p8iS95 zEq1zs^SP{W{zT5O|6d!~rGGKHYS<{*FINy6oB+ifvx~4AWZB@q>U9H1@!+C+Lnz zf!pA>FsEQ@wZuxRZx%v9Aj_TMPQ}4j*K;BG6wbW|_!j;h*m1BYn>GqwW1gw1$fSKw zB3lU#=T0sU3d#G~ehW=9p|Fjy#*s+E%B?J4gq4n4J^F;E%@$A!e8%(nDsa3UGsxq0Q5yKci)!l-36!u$39h$U-s8bCk3^=-=K9b*E5)V!Ca1X{pXKg z3BvAfkC>J1`0Cp>;KvULW&9FK>_=dQrgWKH-K4$=MXY1hPn20z zyMvk!d$w9Ek$k?U?Sm9Mtp(&DB+-G$l2CY!I63+$iZX5<7PoOQJkdgdyGBN6JLaAQ4N!{m3W+#k?Z~c@4 zlofHFBL#VO$1_=5Vvr5(r2B}9W^7^kewv$YdPI zH~IK@TM6aGQQ->TndWSJ4<_G%zV>jn;dv>F-&SIPH~hveF#3Tn4N`N?O#>t+PU_on z#wM0gQBp`TA#=ot>+fZoamU8!4_b~8|5>0S_R*KzaPbI`)yYJvNTHe*s=}om-c@B^ zjT_l_9Dfh5Z7h2n(L#=I5+_&fG5E`Q@==6fNz0}_C!xu$2?|kIHBCp;%ml|^uZ!@o zxLL395eD7|ta^IfRs45G9a}9ysGBg}IY>~r_vkR<;mx5B70xwtzTaWQJ)vqZ+^No1 z5FykAj58Qxuo}ecQ<`)C?}K<1f4C<>Se`0#7rI&72M>y6rG(yjvioBKY)UYA!t@CZRkJJw$q^KM{gWe^j861I5|dmG*D zDHWxrnNj%+=B#rEbA><8NdgpVg-jlQ#CaZrj1dQ$t|}rvhyn=sOYihcq+S?jNB$N0 z7`XNb52zrHef;!RBDhJ_*|R5Jm+~U?s8#SM$tbty?a!5q-_H#i&fE4S;Es{nLhCs% zra%AVzPsn=!^H>{M4A>wR-m3k z+m49Efxy==wUekPDlW*#V3T~u_3|3_5CfljIGp11cH{82DQ10F#d3GJQP4C10#3@biKAIQlq?dVtY$?0{b3U@;M)YL5~J06c`9mpU7^L+3%Wzg z+(+13JV(ueJ~!raS4FumwzEOHHkn4*8)8llP%Kap@w>jmo4#{%_FKTTN=0}zdt!F) zt6JWS&j|ak<%v(cbDNj}2kMG7zlJI0zqyP8PnK#Y0lKKc^)?sa^zLbi+v4=wg#1|n z$@a(3rGZngU1vBCprd=C#Q!&W1dH0lmV&{{O>QF`UV9p+>;mr6(zjJFPST{?06B<( zQ9(>h6UzDMM!>|BiGDz62eaR`c^M5%T4puuV7ql-FW?+LSj{hPh~6RgwEpJJ7zs%6 zsf+7aA*YP5|B}Cx9aO#_(@NaG0deaHpqr`x(&*6g#h{5|)1Ws})Mxg`4C6X#OmzG=w3D`}s0G`6i?QB^4)O~qPT7Fo1jjp%PCQJ^4L zL=lXb9Cx<-_=%lweK)BmEhS9RRz*jX|n(>!d!@TJb_n|E8b~CTP;k_y{sqZ^T@+Ad_&tfOM%KctH`KU@-}R zLM*uhG8XN9Ye-Z+Aw}OWXIV`@eo9&{FR;C-k5S24IXAx#uQ8mF|E2z3#^h+LLFIbq z^_?_=x_o1k820Izv=Ca1`T=lVT%FymT|}$FCxUJA-hvuJs@m;^g9CRr4;^&vgO`Db zk0>3cXz$#91;piSU`96c;J$pt%%MKK7|qM`9_{?;#JM?0(bCvhQ4tOrp5Gj7bP5Tx zg7y&$DeqE@&Ah+H4m&8qndF-fcEk4KAzeEO5GjBciDo?*Svg)_Yx7fB-TWT5Qf*JN z=7&M500 z^i`u{?V#vnps#u}O$Y1CLkLdE=!^_2;Ao!~ihu$w!Mj+J<&w0I5CuxCF_t|v`HBK@ z>Z!r(p$sjMk>ja-n+Xv+kbD&AA~!sn0gJ1ItA=9VciKbeUd;+HUUBy1oMboS$W3Tc zgnU5B*A;bZLCOJA&q~<0%0SRzfR=8f7#yMqmkFKR&^!9f)$7nJbK~Okf51h+bXtmM z9SIiyj|=L5tq$dNL49EEe?EsB_qn;tZfx=}om?>uOLB5hUePpW4*C~8dbi%atPP$n z4%a|myZR@d!?NYy33s!c9>U*LqrcMoyK-*6QftPW2y*o*ax|_Dp*Yk`K@L&l5*VprcH)ql`c@*cT+bGQH{r4EFvlxh@AE?9k&~MR8ci>kX_-= zWT%wqc)Kk+)W~jKDeYq&MQBa0Mx~XMs1{>U0K|-4X6Yg;oT<){dg@8m?BuR@>9$3n zs0!lCM)xhmAB2#fvM<|);I)C0PWqDnUo5rFOP+q=1*w{!qmcQz-3f>y1Ra|8T3fhq zM844X=+;hL$&Z)B>}?8zLoYMqnhy>8m>yB$;w)dZK9YYZMrYytNTJ~XbVdc3UMmGm zbx*`A-aju>QP#{BJyYBC7D4#nV{w&boe=+3WnX>Wi<=k}5A%nMzb(Ym43Xk^|5;o! z1wxYDvv+&WHuZ`)5ICZ77)^!S@g^9rjjRb+nryvQAF#N;s%&|2oCj-Tk%%X>|7m% zR!Ce8kPvPj#??Ua-xCO9q%$mS2|!zdr^Rg@N+4dK%fqff=ztZp0UD@-0uV%hgW*3R zy4ywBDwO8X?i{35s9e;s{N^6`KCt?qrWn0Rb4|->64dj+vDL@+2TMrr321?CL~N+B zSy4$m1}Taig%r!5@w{BQJ@Sj~VEhu*C+gv0VgLol!Qh02jL$ZRfNUU6<`G)U>v|bX zJ~>5un&H;3I>}2UeCc*MVs`z6;Z3jaOK>L2fh@a6A=MGNrg&}p`>l5OouFzJyDr3O zpce(ey-X+xQQ*yJh0#L|P}5%(JTRS+k)mtn?UUBFZU_vTIRUCjxO0c@MkjeZi7`PE zzpT&9s!i0*>MA12i~6uOvXgILU)toi*W`sqLeiV5et1P3}~IJ;*#h|jI1m=(ss)vkS4@u_Rd>~l0$0Xkf$8n(KTgFcl_E=0Ae zWqEttF-$xqQBt5_XI~)G>I4+zVv~^~1kwy!T97-339}uIl0uxV30mdrqSU8Lhp9cn z4ga!};3Z?_1MQ4%VQ~>A0t^$y$KiX_ce@W*$-|v37|?@4{*@40y9^5~QV=XH3>-&A z2=F7ObJh{wtw%N;{-hiFLOg$D0^N<*yw3daV=^54>iXLGU?w1;j7WfvOVC3iZcf|ZmrOblSb?iE0LgR5JFzYUj&vm3T$%lW-3n;AtRWjD_~UGJz;|b^`=b2_Xcv*xB`?GC|0s?i-;>J{oo4LXXbK4^h`JXk9^-%+*aTilA0Z6)yOkSFFNe!i`0@i7CXp1pOB1H zV!2)KCR~_gQAm%Efm{AA*Y4ePwu>}3ft}4GGC8|NdtyAOXkEM0w4iYCc8~wLR!5O@ z(%zW4&G8ZCPRGD|dpB^P2}xoA7n;t4j>~v!1L?|);lhi6bB={%aHb*AoWUNO3DpGx zFnB4}=Do2;#WP+kQWVSZES<5jM(rTx*u4SHymR+d;PyLHXQJVP#};;rcrU~{62iyf zQ>*W#Crk7`_|>GSCMwtzOXQr`%I1f=-C7Wb@pf{e8$V~cZs{9M>vvV^$_Q+Q8U-OU zg9H)lb+mDt@w}opg)lsEaz(=xkp$BUs2jt#DGABja^UVeMT#gfR{~TNs7)Ny2R>XN z+{5=Q>a6(5RKT;-(jn2f#GFPNm+?8Qv zk>GkpvAwb!dsQEy0(MlkV@|}Gi3wbRBn9tGs&9+U3+yOx za(H>8vFz6XJCoRMitv;F%}YW@knQ8KcR*!Yl&fZ%6Z8O5U~gN)XuXio=|Ir^7w`ZW zTHQo?k4Iwi;TZ*36aQ+K4+UNOMc5omVnedewzZ>mfl-38h;4yHuwe}WCMmwGhw^G$ z3DD3h?{@^kn^knHg_}wt{r*Y8ZzIWooBQ;y_*@5Z_63-CNFvZ61t6DVhhbpJ9Nxso zemm-N3NV`g_3z!VeSNpfjn{>O+XQ!|7k>#Z|Kob>SVGy>GpC4&ZNAqsq!?l3b zXW&yaE~>$3rG9%soZX0{8~xNpx0b5Hu97a0qihV}XvooPoRD^VldPR*f zI(SWgMC@XRZE5)gMJbh^lhlvY?9L{d8?m^A5_%M=P$#T%Qqd83HbR}rIw3lwGw3TY zU^w-yxv>tpqYL=*<1E)5cr8)TgYjKDiKM47%Ty>)z@hIn;`54d1~&a@*pE)~&5mNu z+-9xfL_u-! za3L%&{OQIHsIM|~*r8F|!g;GtZxXP2quqaE_N?@61*lr!=#1K+UnALyFU8xu9OS2m z2^IXa4dI3+z{MIivq5PBnd$Y&4AAehP;7mI%b<{H&N$2_Il+rLw`tDmP6VY55a(T% zS%VLPZszoIj&`WOt#(2f=Joc1@}}~=zn1G9g;(V2`1JsNK;%6gD+# z)JfQkCa!=mQR2&wW0e4XpjLwNn&^r+jk|6Bw&A- z%-ouG`!GxE%bfL^&-y2uh=tM7h%3XJcaD7&p`BmafoFBN70@B$7Bat>(3~rtP8<%1 zG$bAn{-b`jMk)9p6^ZFrcNu$%-5Rz7%?BPcDK5@6^im_gNu0*($*DTN*?mvZlM)^$ z_1_SOYvYM&p3hXS(K{0fv0$VWFcdFI%q_a~A6)YQe_k)0wz8HBH~XG{Q(1=~4Jsl_)m1?^xrztUksfayx5QfB)!oYYU937At6 zNe(})>ie-C(nUV@QF%d&yheb_uR6rwc23Cc6-FVHh$X>*29Mh+mPT#I?G4h z`Oe0~tZbj{88Z{h9{nCP?R51ORjx2k4!<$cMCbdQnV+@_AQ)s^pcnVS1}O6kamBSO z+?-}|EM%t!Odac>e7^D{$zKraA~LbuG)_83P8%BOcZ&iXJ>ikSFS|f{5)4@5Tvkln ze=*r@0F%ZOVHH*z88%)yi6U$i_~{!TBg_lt_HLoUmK89@MhOA?yFYc#(1KZ^wPFasUk?aV@jhFcqb#Sy5-K=`vcbg(=!4i z*Qi|-t;l->wGAVC2RM7I)M_rA5=R9gqB9nUKfe@1^{W2*SC68(0ko!gDU=*XxY9gS|AOg%^Q86t$vT`hb&t zZV!kgH7l4IJ0WnUSFm1fL;L|Ub&15rKthQS^=sUK3uhbVBefFEr?6-4UAn&`wWO?_ zWy{yVzxPGouKwf_mJjdZz?=OX?6KWY{D`vkIy_@)Eorff{2vSlg$tGb%e%`FvYmv# z7yN#aj#qdI>&Mw7QQ=rO*~K3IySFxx+y>4}SPRUXw2KidR;laO^ks1SEGgt3>`=wX z-vC884qoue;OT3ZDg|DHRlQ4B;nrSD{8xViy|GDJpED4#`w{!EM_pwilvMg|hc3{9F&lETtv^ ztWA6GAHA1;skOPtqn@KMHW&kx-e$IzvY72Dnl+PmWjzE3GM6f6RdA0>uWWvo)0@2 zrgT$}say(s(!KwfitppJACeA){e|y%J2p;cSaYQ3yFT}GmZKx?ytfjBt?LzI^J4Z1 zZ6$bn;i8PCT{7d}uj0p_ViUKVq`4LNy(2d_mCfad*j99z=?P^!zl;HOK$^>WU|Vj7;$JUB$yE|oy18Y9B}h|FWxx!Dbw z-!K2^`J_*l^&Wh(f?E*;eZ|E7-)=uTvUPC_*5fnC$L;hS4nY?|U1vEX)jol{Z^6I& zqsS4hHgLed8%hr6irj2wRo~6)Auon0%rsyz`%T6z@8?qxqg2Vj?oV;4D^7JObWUhChJB< z{;gTB+lnaLN@>Pko#ASWG)W-K7HfDhs>qL@FdGmmE5glgQt;_D0oSbM9e~Ru@gz~6 zjcBGSprWMcPL8k)iGyy*~U;+<3M_y}2D8mZ#VEC+z zhZMW#hq5m6kRj}=z;yWswbCJLH$CwAP9`*=MK@` zj=&Lu>^~q+DIQdEecKn3Quf6Aq%n1)5Pe?>9!AUf91p@gw{M+f$AMR5oBrdpjFVp< zr;sd!QsCXE-gJWRnfot+!fC>Pf3&+GVb3`%nza!&)pJ}Lu$nxxpVW4|Z=rps0hd4D z;iUeg*X$2`b%#!bfy!avO=Nr0Ol3Sg&e zHUff$UZfqg_k5RIr{5P6o0<;V*4ol%bW`)z1EZO3q9s<9q6Vh|58?bWdtPR`z8W0G zo;3Rps)fgvq3~`qUK2TR_Emq#Zc7S z#|b{&%Nl&@El|@m%ai*7Q~w0R7}#SFsX1o!*|G2$yY1 ze7IKpZQF+^1mn_~6jRqok;?r<8{}Xgh2RTAk6Vpq&B`7sLXk41Hz<{k#_ebN$6buZ z>{@^LT0J|acQjkO{})S-H5JsW?Zh)~4`O_#pci5BT@rq|mn~+82F`b=f9U5ZvnQK* zcyYpgzBvyLZ$1XTXbGxdkQFA3XTxJvi8Q7FQfmn?RobDKkpqyQ$X;%RwR|`$*oxng zW}8pg!+)gs81Q&Wn*{T61JXiI`AISMeQdrs&BLZE6qw-y*#;eIr3|Vl*tJ*Qo92SL z;8=TMnn0k-_rb8Ly}EWmTyivn>2z){tg&AW-Ir`IBPJ$pdtIcc*I&d*miUD3wBU)UxXaL3=Jom;YT zEir8V^2f)u%&7gS?5o<(FHn!*eDs_of77d{r@Kxh9uB{93xCQ>(&}cJaeG>L+qrTu z;g4=CBpIHUVmhv?OG(Jlb!=4z&iwZ?yZJE(x}N|h{Dus+1Mu4}!%YE935hvlR_OmcS2ERivBHH+ zu73kolz5SjmLu0e2h>Ng$EEV`l=+(a;W#l&5w_OK=%Tg~qA9+Kx}jO#e^r+I`ztkk zZ8Ef_2_XOCyTSRL$fHv!NDOQ86Mmmx&_DM?L{;GTlU$Z%6>8x74tw%YUr5?7PImGz z=I@M8Dw?1GO|IT(h`6lT^U^wVUXp@I=0~NGsY7N2w1}xC=7z+yEaa#zkx!s)AxZ+V zkjhW5(WAvw+_5f8LH$FCZII{x82N3V8?a~GI8aed4M?RntleI2EY(1dR7J0w5y0@uCM{Y49z zAaZaqC+2xW@ro6l?>U4bWJD9(kk_)KLMA1DJsG>~=F5?rE_(aXpS&WInRsWGSM?mL zjEFR;M0<+N)?I|H+5x)PSb>GaB+-XDY%UqMg!R!9W+&-TU<``bOM9I*U}mj?u~SvO zXNv|- zn5Bmz97Y_HgdGITHQex8%mf@9(V=UHt#V9Y7G%KbgM;$o^;~OqDf|ie;F4pxUT4MI z>m|HmJiX-B$*~Y6ghKBeiA*@bbpak0?t+6twZY<6S~ifWzoN|b<;q_ozsk^n(XQhD zA*{iv#Uca->IJ5%WK zIR>2-I2xaA$@;RaS>yY)4tJb_sNaS1J4n;B8f<%weZ56 zEdR6rP^R{M;KZ}oiy3v#&86~P^`3mw=^ND>evy9^=N;Om_?U&4K1D10^4AZa;MN}_ zGB6Na-@p$!uzK3HBsVd4Hs!QR3A*hiZ`a6aPu&U1(dv28<8iq+l3)2lX}i>Xbw>pn z!&4bVtY?`nu^!ZwyQZt72F`$e>zwiO|H41Yj&RS?f7X$Q>Dc0Tb-Nj6PyJUFya}fR7@{<;|>4j`EOc|3*EE)s1u%?{x!JP ztwa@JW(M8Z9DCE6$-!pJ&YC202Mib=&>%GFH_`eX0X9!K|4sn^_~&=Yd@u|CbbCp= z(^zoziBIpml1$#2I7C(QkD#+=<r%{FjT4ae0>k zC*TdlIUn7Wm5Hv>7dvRMVR$XxOyKg7rn@?__Rg+u9{zt9mQMV9K`R)_5T19kX;+vK z=2dkpiMIP%l7da-nh-YBGfCdbcH{ZF2}x2&UTiCs<)mo$Q*6gp?)wo|x6rYd{W1=( zCX_J_q5B`y-|a;AAxh}{{1s$&@bm{g+x+O1b6z|&QPE{a$t*2GDn<9 zjT-sEIYg#j7?``rft~nBa?>$yk|*!;G7LBf(^%NEe-=Fo&G1}skjkHv`_4Z)9Gu7a zUVS?oZqEyRmE`GF&Z$T0YV{A!B;)#%&Y@0;LYY*Mm5P75=^^D*?j_ zZZP2sDgp!s?Ekou0bCs1WJ%ofMHb;1TzmKt0N(@MiB*5(>0HAAn@A;3IV}7jsY|PQ!-keb9)4T4Mk8wikOScc)`r-qy zem^Ga1H0F#JVMZtvmzy3QZU6!Sw=Hnsgt%huip1bE#27?{=`Y$s7QU_2m{m&2aWb> za@{xhT;9O-)F}9%UbG|Sa%x#BTsnk&itN=Vd`Kf%@;#@uz{X~6f8ivY7nk0&5;*l) zW)Iibiy)bp!*{FI-e2Ju`HhEMSpozJ?1iOK^gdQ=AICgHgSht}Q zYCHiPN?@vY3ZF8g|Nctxg*!#@z=wAh6o%Z1W9U0aok%EK zpq8&@_rNd7F&R^LAc;uRvE3(MKW1x`u(lI`wfZya^2^L zsp;#V7}kjACYJVt1?TB!0NOXi)|Ltmm!puhR@>OnbaC8c6Yg%*x{SmAeEe`v2F(el z$Nm!|C6*AQC3rrMpuZN{gEgjL< z<_^nFOHThbLGIjjNvC{O?P)g3Zac6u4z~_J!&Q60s*l9SVzq#RfyAJQowLWXb}{fF z;XfMSZooNB68N2BR(91a@q~9CLeT z!Z_G%kz2@XO{bi)o^OgRK@QW6jf?Ue>TDwbm@^twiAn4z{s0f4=0J9A^uc z(GLC_K_OHDmDvMklzgFw%<*iJwQgr69>9}Y@nM^rZM%S43r$U-;TPq8)ju1Hj%|5% zIG#AAH`JD3cZ4puutPMxPb=T5e=Jt--8-x3CRyr&aDuDzQsSf^U9X|?6@GsfSEY;s;)gI9H-Z1qo@ ztnYdiQ+;SdS2ta|(LA1Yc9RV)adKp!sZpeO(CfcD%ENrC+<8Z3QBg(d+IqX}N zy*sUhw<^}~IYztZ({0_p-^#Dx5+AgM{|(|yY?tN>fa1%NFBtuC&M5z+SwX4zs9L0B zgD;IZ6(%mHPo3zls()bhQ3EsBphDocZxZ})!L<5i;pNF^I7dg$o=Vl+!Rjcv3lSCn z5i;VI$Q_kS6+VM-ASY?5V&cyd6u+p-@r{l#yP0{5sB{>0T;=I;<&66l<7WvlAcy3= zOg!?k=fS?tb=YPH2bA{; z9;hpn=eELqR{hJK-)VHr>=*bG_}NTQ78<*f5=$BJG9`B4#(LMwo7lP4>O|}; z_uK$FpFdPhMu}WiDTE$jogss!^jJ5%Y%3`*agGtKN$6#(gZMKdN>P^Mjs1Psx?cVz zYmW+8Qc!;0hX*~5bk;Fp+Z0EXkg;~JDg}o6Rt{lzg>QM%b9tZns8O!=-gJ$_(78wpCmp?WL{_R&YFZip~)jwZ*uLt@TzVR+W6n`I72I0`7nwZId!3={H zT9uEDJ{o(^&}d*h{fWO>EIUXR`n3-4z9j*YmjYZC7cM-rJxK|e8tI_3(!fnVsu%PS zIw~T6pKe2Z3MW}8Z!+=}GszMQ+5yxSRTQv-HymAX5_%p@KW*-hrmZCt?Ue z;qz_l#Z^Jb*nO-iUT!IswfoN~q2=>P#S9`1D!ukX5~*es$EismV%30b*7R4Ti(yjl z34_C^WKjW#B7k^28k7ANCw}w)ya2W2pa*_r?1iXM=DJ4sip|9e@?Is`zqT%+hp2-j>SJ?tr2(*Vt>^#kTq{bOneu0g3pX9iS)}z?~ckG{3x!fi7Sep zH2F@eR9@aQPZ?>~dRl+UU~12w%WaOvS^R5cvgiMzgj^{ADa8r z71bRya{sO-uFz-l*y)>p?tYo_D#80%&W;VmZyR14f40D1obM5dxWqs-H1KsU4u?tv zZQh^WUQ}GU`uAJ|?$bF`itoDxtKUCjtMU)$6&=!%6gg^j%`o0lB%o zUN}-hU@cb$&`;{xnFzY}=8ArBBOZKReMuvBhm)U0eAte(-8iK~e!Zh@1nrW+?D-?{ z*3z5YKG7TdPYwPIQ!hQnbokA*h=}eo;?5*87W040Zog2i0Qn6CM6bRwU{?=J(W|JK zghh+K;F!_ft|ey>cHfXUj<}+ZGe{wX^u_xQBbnavz-DExOYnh0^#K@N(*r{}O}WL( z*cV93({Dbh<)$1=Fh`YZC}ui^krkCL_VHLhEtAi;ka;Eymw6tF5$j&p5TpK>+!D%y zgUb!JvIiI&d6oir;o7}`ZE|AV8AlC3xp6|$72J@oQlvbiXs0+Co8*gVc1ex)um1d7ft-itrgn6YY;Om|*e{&o|r(al$!W{?iofp1FAVK*(1)w%cPvXu}K6=4v}ddjGOhMGQf zfTrNxTwSgl`8VGPK5RY@ zqkz4B7+|A+R7B7wjyxQngj@1@6AAvm-~gItuo0JF2hSat*grL(c_l8}CKcr8P<6#n zqk`3ocS8;3y_I4I{s}E?3Ml@jN3$D~O(L}pCi|AlE^JkDdum~&uM>63F0QeCX&v7r zEU0K>F(%@qMT^v%84QnkY?HH-@xinGK9`*Wx2iZE7L8p~|NAdI0Q5U7qGrtXas(<_ z+gjo!M9wQws2o&mv|0=9Roxe%Z zfa{(DeZ0K!`B;p)!DlQ^z6i9TbRa?d?=AiXIXobEN{IFDxD0dAgu;Vi7_G%-DK2X%lhqS@LB_hTgghUsT4BG^4H_ev-pu7w|bu1IM4CH z%>`$=Up(dw%WnkR5&mQwJu~z$;<0zYwtLM`i*7vRb05lhyIqMxaJ;hR;Axe@f z`!xxx57Wuf*EfJmPFjS;30FZ|N)`K`+SQ3JD)s+k>OG^H_`dJqnIx3ZJ18PSP!JRl zMLG#8f+$643J54DN=KU13}6G1q9Q6SRuH83n$S^{q9C0F5a}fJK-xdw&$E7OJ?|!O zGFh3q_nx!&K6|(2pwVzFbDS@7q$9_Gc8a+w zCE51tTgg+tNp+q6>B*y={`NoJYRdmzrblndQycRiuhrY4J99q)vyowDxYBtmWku_CY-N;Q3YxSfrm;3Q%>s838SS%aOylEXC z3K#JBy>iD~v47;#m|e&kaft30M<3a^#?~Q8&;yMDkU>~U?wQz1eh9Ef6&VquFBar; zd#lYktSF@nV;xq<|IK?GHi$WzA()s+AKiPa_o{HA&a1tys2+yPE^zIO5AO}RzHwAlmS=r;L2TRqed z^@lr_@7Pf7Q_qmzS}6;M>k_wq(UYTq1IyxH;ZzTqhT4CyCbqAwzj?`LZJcjo0uZU@ zN18i{wkPEf{P<~qD`AUboSx<%pG0t(Vu7Pb^~X)I0)`xL#(~}JLn7*xu3jOl({V3# zuX-9~VZ{x{v*yTG)U~L^eGm25&|SK2|?jhI(uDmjH`ByH$<^#o+UG7u#}#$O6$eJM4CW7uY|hxJ;Xz%UmFN z)M=QGEsfS|+%fy)-_R&Zd+WHi`sT=2!+ZOSSM`*8q8NXo@vDU?zjHu-ttb#!X?6(oPXX?&#MC&@AG@iV5x$d~G}0ds)$uaSI72%LC`wgcyjk zq_8k+tZp&DL6cu79ysnGKoA2$IoPvj`ywoJTC-nxlq|K~^+tzlh=8Y;(Xqi1f=1_{ zELzFUG3SOoRcZKY$A%dA$EWqZCi(s9N~jf0;vsZAZ+GkVSN5O4_P&t&i4{0DT1=XB zs>8-C<~zlGw-b@GGV zdLkQ$a%l}d1`1KtnyLFAvX;Ee{G%#E))c8G6ZC6CmX!4WMZAmcbsjcTSG~;B|^8!?Ap7cOY4 z&l37?e$dG}XI&>c_e;igrmg&_jK>ujl6J;on@&=YhE!dL*MVsAf(@6&;jsXXkw>E6 zPO~e_@7k}t+e_Uul6p=bc+sEWmQ|=d8gS4=w`a!Rb0x6VEF1qn zHOmU}l2epBMe>y&m6_H3C&=PjQ(Xo{)^EduEuNz5cwPRD4rChZt5aQ?1a^)Mea2!- zZXWl|k8+k~8uy^(nF4!;b47ReVZ>O;xa%AwtA-$hDF7JON2uL=uek0GD) zZ8U(#gj|H>l^6FaJi;a*-X4^?JHgn^qVjQUvOW5q!$=V$Qnrm^$Ka$Tg&J=%Sg2o?^VRQg#g|!D01ktLL8mtZNs6SWG(ShC&Ss!F4lM%K z4SbV4L71U^?X1o#)1fW!RiFRpnj&GpchyUJQg7_RPsLu+R$S*=%j((bX~n8#;W>lY z+jW~6AvX=L)67TQCO=;%p(vtN!6AKQgWtR9Q{)-)LV4t?Bk<|oE2+?3;QEFRt-ft% zDfBt{Hc2+lkb_4CvG?@Z$OA^^I~e8|;>Ua7<^rcACwr?&x_02%n0k4D-Z>$mcdjb8 zwR}4pI#%+=D?}^F%N-~6w%tY|9+xoZ1D188I3GK_4JfPR_s|>b8yHFYXW?UZzvzRE z$7t{qC83WXU0)T>W^BuTveCKK@sKYE0kR-78{qc%473!2w>;Qx9d8}{P0s^=v(`XE7^AijK?;~BpJBXSZfUv`J1>EjUe+rD;0{42eoi{$3 z`z}DM)kQ@o+s+~IYp+9d~v>?37{N`+lDW!Nj_qW|^aQh_)|%?E7iz_!a=5BeRx z3^DYb;=p>Yw9U3P?!<1k97=S!s^k_FCVXD?uj_UEXW&r}OZNzRgZuR9tdx#>cbT+@ z(;T2pIJWJiQ5wumd)_9HI?C!~+bw(xaQ1k=o%R%u!d$?JZxKJ^(MAKnVheOrE3G|32tKsJn8qFETw+0<-sB%Dx*(j@n^X z=hyYaA+ZZf{VQw~r69kcpnyj#QEi+&8a=#tz%)oM0QSB23ccQzl{8B%pZYXpU;TTc zN*F6>XkSVkY4jcysqXizO|{zN^40T z1-uu5EpL$*R>;c>wG$`R{bxKQhRUR`U&m{B^klL&QyFJ7U!KakcE2BQBoxd9nT@%fA4N0A1(mj)J1=Jbsp4Du|`aUtsjLrbBek zRo_I*kw=ezRmE?yEJ&6xS1&0!c6R$b0%)!SgW;>G1yMbNhP(%V&s5CNieP@afFi=Q z*DwaJV%;tSNgQ?r>R_Jx>J_(xIqDFNpWQR2{my}D!M5XR7$GloT7dnuhJWMU`^n!O zWGDEzWJJ>~j;^S>W58wBb$=XuJ<|@?0~`kRC4pi^$k9>!uhy=<>Zawk{HjUzV_eQo z@8$5a!Us>H&jY=4a~riA1MOw0;M&Juw!m~7l`ipovQ*+zK!{{%AE(4jwE%oP)CsZ|0Doda5m<#8u60^?J8bo} zC*D56tF$U*g){h!K#Kdf{5vh#k6ws4UkzU4Npiu*Y^v87i4o%l@jpzOlwS^<*W-7{oOq=0EhKnw@Dn+5O;g7 zcoEO)8n_@;xfVeGmQi5!CmI=5&82`y4U=ErNs&k0BBmx){p=Obu;Yb)e?$;mugXj z@iF8yS=My*_JO-^YVh2m>%6pv{%DEqxx);a5oE@Bm4$t&iN`c!qlFLtR3TLFh)-!% zt#(lVI)NybA-OhV1T8#;{B~mfG30l$0-B+Iw?Da5b`e=5>aVfrpaN=c=B5O3IR@Pt%Go% z3X%}vekW(O{1%~wfgp4nINV_eFmW#$*kfEBVxW)=Q``#Qw3E;k!nLj0+R9|CLd3t5 z=8T;}I$gkI;hVNW`9^mok`yILP_kyVe=l~ANr6Q^R)CM2X*6eo@Atar(Js3~1K1&0 zN})Rt585)SyA6`MCLbZ@K1=1ijYIm8JGTSV`$l_98pdkOsVre-Cg0A7IzRDe2q_du zG6jnADYSRdHqnQg@%hG6+tFmHG&Sj24~Y1Q#g&GY=i*yF+33;*(713)zC8Q?jt24a zZ9Yxgq!$VdIMpV7@KBpx`FC>IHdJK9_PA-W_jym_lfRT5Ki1^fwKHyi{O)mlJTfKg$zAy6p9_Yt>##E-VuLpV17x0G zTs*9>RyiuF9ki~mtoG|@-w|suU;iscT8_wJW!yO^Hp=4ElViD?CV@a7hx(l;07iHS zdyXL8$9#jMgb5))0Bn3S3s3+vMRCj)ahsgR2j5RhT7@hgNVug-xO>1;KYnM?0)^k! zo-Fe2@U23;{4-PeJe<8!k9}=Ua?>0Rsn~yw>wC$DskoU#&(vt4s_mzdyULJ%k})BgYIScuj3YN)Xj5=ZvCsh!qLlXilD0kfP`$G0}gK0DTvn( z`j4WUU)wV|u=R6?PX$k&ONO&9rE5{b@G3}wY%l9GkwZWhT-Ml_`G<>`9NE$3fsFRe znb`fxxyTrtd>DoHMw=cOzm?IJrp)A|qF*!Ew&ftU$ZqcqHp+pi7ZL8av&~;Ixx8%d zOJ3N$;@w6x;S;%;p8Vf=`nM6>W?->?%}GcaFHLbdEt>&uZ&<$6{r4v}#e}Czo1g@t zzZ&33+Yj`UXeuoqBE;#~8#G6$oCa}0;elLX3fD1a8J=G-K?NcaV?loE*nR~d^Eeu} z$Q6V4QSlF5U<%Li=n!zaAa&GDwXr73Umk1p;;B!b2{-d<%{-v}_B{P<9vw7b#J;SFgd&KlnFJ@noQ-L&IyBN3yW zt;wzW53n6nCo(B4Du1h)79s%1^LZb(l6})8-jMVXPMwAc#WsIo^>7e2j0Zz^!4H`~ ziAntz2utx>L=BF=P9{Y){zlowjVvP=K?fLS50%M}gUk-4q>b*bW`DU8_b5NJ{M^E# zc#FEceK_gDJ6JJ0>_3hNJ9~nh%r}4hNG`wV<_o!nCta7SeM&dE2#xd)mO#_?`jux| zv&5=e%e1aBt(4w0<&;8;LiTA1?A zmsxXD`T62IA~00r`+W;(3h;`Td{!__Jix(1FrBZleHTFgTz1|D9pr6NVzd8WdX}ny zEhBCKPIr=5QNCt13c2Uftr@sKGD1MZ-b*v4TBKuh;MfmqKbA88~ZYV2R#yO-jV zX08el@j1yuh{9OAU$Pae(7g9cx9>Q`EI`KjXuf!h{9{bbnix;d^_Fi{r=3=VW{~xj zKF|Z`C~I1bdwDFt?->vC102gs<8@%x%7i(|0E-9|5<|gG{%@_at>T^ZAa|IPvCIW1 za1o)T7wr5QE>@MFZFD_mV+|%$4*~V4dZ-B8$fIRFy9Ba)W8v#vPWwX<+W$G80ebAg9>0Z6pS zI%Z5k>xMla$Qw8+m8QS%gY}WAW`345HixBQ5n7qBf!T?GalWbb-g@15!9M;P z;?C$y9D@{k2x0-~rA2npJ25o$dt@y1@2_XlEPoNHjW3o_%CFX0-{OvxDkl85OihUd z$tIy4N!s_%jDYCNa}Ve(G03oo@K@88gklA#=pcx)WBJ2KW0#w;?;ut@?dh6h{bW1U zorC##-lUv4<`L?00j4B}BaCMPr?=HyXCzU0c*VwJQP`f0?D9rtmPSN$rVgOMK$C?0 z8Jo}lkz)aVs%YX{jpGCx!=ZyAYA1-oh`m}%Ao0Rj(uupHAJ7RTG;UP|BtdAS(jgua zH#gU2r_lUGFM?gLl6DKGm-r88lo!dPo)pAHKegt#ujaY4lgW49U%UN!&NWAI?)6!{ zSKDMltrBCwu~HoBT{Oe!g4#%!&cD6AI82TLRG(cTa$g~aQ^_m>Q>O#IX7-|t4g+oL zIh8UqWg|4ajN5TIWQ}aQR>Hq%)z#iLaE$J-x^%y(O!&CWghnxS24w1vs=Xcc>vXq~ zEo4@64g4dEFbdOiIyrvu3JVo&KE2nQ9hJW)(037wAA2>UO8RCfSagO{h~AB6h8rJt zYYD_}{t&>I_x7BnD43j@CqA!Az_E%F(@jLGsR(_SiPvNqMvzp*2 z9%^x42!Q9u$$3fugONFaf4-hAONmE6IShgMqD&o6=2<1@GgTmTQikyPX_u_XYFmVDThQPQT)%WVDRmREt=zk)cq_FEv4 zCDk3F@Dy&GG-+^JcR2-z5dk&3bQ~UjjT0X}dx$h}t0H*Ij2KouL@xG)B18ey4i?5o>*G%ZoE@j8|FR}Pp^vTa}Y{lJ4`E)R+u zN@ZuPt7hH}th}f2Qna`L`&_1U9-cU86K4I7pEQ>L9UWuX%n|^1*5AOXoSU7u>UzsU zrkcOnpU4J&fvy4ntBpTbfl^Z2@qqRAV38_7eD+P0Vo6e7tgYk{g33Exc1&{j7|i8< z$@(TB$aWgJ{ASWp(`AJzP$Ej-(535Za=E>MlWxIYdlA0u(vK(WTg|$xeyinmAM@hC zohfdluO}AS8ZFb`|5##(^ohRS2tzVC+;eAdx`(Tt|2U^xLN3^bQD$j9)3R1OCZ9z= zX1st3ZgDEjr)S3S{Zpz5H6MDkxhGAshuwCn8k0N|qwqjPM&7!7&EG+Q8Q>zPJgVDg zpbiYukJ7ML9xvW=-|_D}i)4qh|2;Q(l>@yrxK*-Ok<{UO$l^UwZX2 zJML|-Xt`c|n3K>A!7B+(3~^I@qR7|a%GwG6N0p4f`1FK}L;iIu5=B8FB+gC| z4J&n1PQLvxDGT5}foKW=HG(i~ApCwC&>I+BYJLIQU@IktMmgocqNN~6bjY_W2>RDO z)aSpT?5XB-{^#z~JRuRN7Lc?Gq902-mDSPQVLj{;0SnXYT(h`!a{Hy$)Xyt*Ap0oI zlhET`dH}c@68^Z^cIi6BZ^CDXtw*6pf%g6V<~PkZP7d$)4}}pjf#xlbK#m7-SnL&y zmF8&}sc%q}`f1><6qy@%w0D%MNV05;Lohh$U#K3JQrDtpe&s%avr&kc=pwgYxi>2Y z#1buXrq9zB?&B{XePO&No2G%3zandLW?fXOa;lR$1ixD|+=?%t-5|My?{QtuBlFP7 zoMmVn1HGRrc(5Gr*!rh_qO*6(W5)=Hyia0lv@ps2X?;V#wfyOxjvl|#va{9xw23g$ zr6mg6uK#tFvJ7eJL-cW9>Mz-U;-}0bi~nv{e_?WU&;$PF2m?m5E>#zR`>KGiY@h%yh`=fIdK&mx344@kHKoeG4_*BCkME~uhP z(wCl|#f(X|1rW$7RDU4D0+{skcLDJ7oR@w|cEXzRTzl}bB$8_#KD+oDP_c8d8`BZO zvA1tb{ZLfF%Y&f^U<3YZxxT?Z{T<;h?-kD-S(WejeAdi70=Jc85qC*M%<;sL!=l8< zEuX)c`j5AxWBs`pXc&ntf^7xyBES?0i~30Wyw~js5s%U}65?lGJKZgg&dH}stk3Q3 z{sdhMQUL?siX0QptGZR?TRVb%KDf5#$|B!W&h_!~9;(xodoN6jJzI`!PuZ8r;*m#v z#Y@x-_QLh=xg4jP!A!~c3YfMAfg7kpD2vkrZTtMZQh+;srIF`>s|i>Iq!0&W0$V5j zZ;r|dcn;j^hwu*(dk6wo87<>Gy2}%{=e%TKgdPLUMnr@rVHic|3-ty9Q&AcpRRD2@^0@?0HY9 zL^O21g7))sN7k1iBb-hHj<67kKR3B@Im8BB3xvSIGl)LnlIjMe`CQR^0}O(y93?cL zu`a8>EeBy229Hpx6G|XGjg-H$sY{BKi+3#(;G`R)ES(NZ2;Izn5Hlx52Ujhh;`8X% z?zea$6W~6{C5Dx^c{If=BQf>sz&EK>jeV^z6y2_VpSdEh#pFgG?P{N$v_MK7rp|Gn zm3EUtnxWMxk_4Z-+dFp5I1)3ux|M+Ki=qT_ZfeKnQa~#S~N=hmQo;)34pu_!zXb=B`VJ#`r)VP+twd7gx zCdQrU8+Xn`Uq<_|9U{-e8n7^eJ+mDw!3()yX~03Vi6il>nct_z+1SmstUWb|7!{2t z5qo(3z!EzE&w&9ObM z_3DPO=r8%VKicf2Ira0|nGG+#0QGyG+X2;{2chRcKHU+(=>YFzu(nM3L9BItD~t)N z3b&p_Qhmn$n2JC&5xzTK=S*?3`=#`I$vcA1YNO;gE#%_cYt=7VloY%vjMM~R&v6pM zx5$K||M|-u8BnqUSJ9GbbbH`2M3TCL4(?VXUsPonH@V|Da*({i8s$^ zwbb)V;#u)7eXFGE@B1%Dup7jnzF%L<2ciyPOg10Z!e1{lPmZ$MbyZifvb^D} zqE!8w$!q75?ilPNrO~U#fo$(H4*19Zn1YPUvf_8fJOt?V0ijcW7|qBS8V5_ixBduu zhOIxlFT3ML)~(r3-HBn*egNF|bgsIHa9VvtgaWnL&lOjni?#{;r{PtopggHLdmB(0|zkpSe1E?B&2glVU7A4PYMOssf2$2XE#o#^4lS zGQgG3^A`&shfU+DbPOh#EAgf@G(yb^&Y44uiNziVew{|mfSP~%2CxBIT~SIkk`y(A zEgt%yu?De6+j9&r(Zk&--nwrg_%B5?g9 z;(s`Czd470qmNkUiVAI>oN_q{gkUn+cwbp4Y3i#CwV>f_SA7tF7F@2BMie*^Myy`I zYL873(0SWqr<)BOflDj7(>*>(<%`IGOxc~YWxv+RF<5!n$7+`gU~Ggg*w#X})9IKI znaoA@R(yZE=U)CkY%+~4jdZS$VJP<8h>-DNc+PoDHz}>(91JBj!AUviAZ=J1 zKjsibn9xCtS3RU&dynnozD55kOZCcYO@hS0tDpz=zBHw118C=MN5oWqPPW zBH(NgJOx3@Bm6t5J#gRbGs54AG`T3@cZINYD^twsvHjDfTkfcMsE|Vemaia-nz7Q+ z*hzP@41g;qxe(H-EcVGNLH%0`k3ptj4BPsVS&SKl_gXOKi2H(om*e_zE*23yZW`Lt zy^4U%mOTs;&Mx2?6?=~T>*z;zSS~gc^Libv9Hnvo(y>Om&G8qd zxF9Xx&47e6YISvWhsy~OlH~3^KU9u#u)iKDT%F|SB~(J}+@5#>2vWHwmwIJE_2Gy$ z;$Hd$s9=W3uxaTXV_a5S|!m$iv$Co*q1fBP9vGvl7*8sNad2>|h+)O)+}9|12tr%1?A1p;9;FR^k!ODkwTfyEZU=Qx=o)oKbrvNXk>LXHV1 z*XVW1b1z5w$Wh8*2>J`a|2WKd%LZEoUiD-Hd_gcNB*wo`^K=$8UW*upVQ@>~%!eqP z!z!UEk7d)`E=RJH2lKv190#i!`P~+HT%DoFY?T$@?Yt!o?Fc)@mx3b7ypZ5TD`K3u zC8i}&ybbQyKp3UzIxnFsXbvV+NlXRSk1dL*--CMFLOZo>cqYMLlJN8nAc-XnU`r(K(xG2>=$MQ zed#LN5lInehi&aptrzUm(0Q9XdN2Y3Z4d6TSsFj=>j@XMhbJC}wauU=pE|O=AywRa zB6?1@{&M7$a)?$=ni$jk*8a)dKT$B2gzd7=v7E06RzDI5fLqNfo)7}}e282u&g}*6 z5+9eXxf7$T5wc&wHj{{?Yf{tzCRt>A4t}`~5DOYBHSLS;Y`R|k^7;m`b9Y zs+H2hY^m$r~T6jcm&UGFJ-T~@%ubnOO~FeF_pLB z4ToRA_OI1xX{3w*l~=rZyL7I^XUdCrX#&^4B|uRLt6RPPV?mJi?dDm7{MP2L#l(I1Fmuv{xt{*G17a!4B(`O% zZFAoABh5s@@f5|wo%nSVKgrC!o`}QMvOiV!zkcm9zq40=8el&?X7cU_)_Uw%3?CHf z!3d3FiEc|yr!EhjIIT1EY%_4N(VATjMQ0!grBEv5vdjn#;6R`ihpXT3sg2!U3k`|N zU;PJg%X4JHF@}=CL}88}f+<%b8fw@HNd$dR7v|Ir_-rg|g)%r zqIS;MPON4n!H&$;ml*0;9Kt|UyP*g_Gc>3-#(nR^b5HDNWv0zMxrC{A1;dTdMT~FN z_WJOGFK2%62}#Cyp@mEU+HPgBO9w5!-c7pW)<0M8S9OAhFJ3*vj$)-|3#gp=&%Cr1YHVe}1q`_+qm7!bGA9DytSSxe?y83eC}P;kt&2~H zz;zC}ApXsnNDoCb)$5&J&pc8b24kOzKO4R@m|Yd^uvhRl)oC!%=8J^RRIt!1ornU}kwKsXHZAUp!Ked?9 z_X(HyT5&-RtWW%?_Z%ow&L^MHZ-0@K9#+G&4=GTRRvO2B_?bEgB-rg}rD&X`t$bR1 z@W#aenJfG9>;n&QS!AAV9h81Q@LPt^0I5hUD?&MoO_j)V_KXXNbH_tvg29U2H-MI= zC}|*AM%Yvl^LuvbPED6TCKzUu)rbgyW$FuhA+<+?_CMY~z)$do8s17Ek&y+zp79;? zN=c2;d#b6B^5VY=f#m;52t2ym-ZgHYVDKF~_A@`E-d_dLx z>#fJv4Xysw#(idT0a;vhm|3t=ko4e+B*klA?@gOM8~v9|cPS9ljUQzW?x`U#`$d_R zeDtw=1*i%vnZvp-+9X~&f}|kM`|N7zm(3!*@8~D?fDX+1z6tYL^c{wv{!@K>ZPZq_ z93NHB%5SmhYg3sFGwVqp`2|3+Wzr4{a?%(%F8iI^737b3H zj~)Cb7Y!qs{|c|o`AyRI1`F&>m?SPVb+dC_wk}7l?Zd9|>yjO*BTe>+#Nj3`x9Y!73SA1> zcf_Pv5-f4DoOFKr*nW;plh`PE-uvSa3#Wo)i|TqpWI37b>v-#U(2ozt$?0$!+UmS` z6;<4R6s7=}3aD!*v*VYV*wFUd1x_p6ani^qCa(^r{qZ0p*nrFcM|LT z*o}Eg$f{%KQyHEp%b3#v|7I3SnV{5m0SSpaJJSSw#yyM)1l`Lf3m;B;B19@~dvtZD zy%|R{b5Nq%m&kT;`s)Benx_47t^!<33+YjCRubSp1w98zmBQK@(8pMW(B2EKgFnU- z0^ZR5j!F}UcR5d=&N=6W&3QndxShj#{A-C!Xi8u7qlLnmQwB@~E%g?O$gU}@@TfjP zHl6l!@z$E`vdykezM9zc8A-i*tMDmhXFvVp-|0s_Z~xAAF(ws5=ui0^-)xVc0aB!_ z(uhYH3IO-sME*BMvlw>bRp2oKIZ6n)dqcrU{>nrix=QY9DUsEa-}&m^P#pQ|E~jcO zPs*|Wv{5^7?xOvK)s?ST}C3b=i@LZ^( z)9=__!lRoKwAm%Ob3p5+Q>wOAUvGazFp8317TD0cqAv-XzX!~p;pSpitg-u%&varO zf)WqSD?lcR=R}miGSvD34(8rm+K&^7SAxrYj}D?0nPF?ackH(U#IhTo%nbQydq5VV zxKA#HtkBrVK=2$FtBIF%$Pskc$K@bNT=2=Z_yP%m`!ZXS#j&+)nFzb8QiM`~&fZuB z!c@nL|M8LDNR%+n2Q(kH?th^5eSe#9Nx{{#Fm^}kfLTp7bC)f`{CTJ0e&E>I^`=89 zd|lDSh_GAydEPpY%k6!q7k@g=&o2sx3d$H>H<*}TUNrKsuNH!3DX_b~{*m90E$;5) zuHk^a!=}3Sz*|6=t1IcWr{DFCVh=+_1R*YoJ-J#$z&h1|taG-^-=A+*yo`-p*pVD0 z64_X)_=hWZX*mf~(}>pzCyrW@v`&ho2IQNXcK7&3NnB>gzr@O)3L3;f*aj>kD?0Xs+FhcW^Bir(tZ47wwV=|q7rWxNQC*~H1bJgfDINZyqcAz0Jzu8})2cus`#((3ua zS+C*W_xCTPnGah{D&eraF=!+F)h)-AGa2Zo2*@$6IeOgAm0YX<-2Y+63M7KAuUL1M zT=UT}cy^JtnoME|^pUSHUo^T$%PNT|qtF-89vp#(Lbo$yzImJ5=LYEYwLt85Y|tSbc%VS)nC?mao4Ah_ zOz)FsOQrSMKCpEE&xQO$QmEnPAJDc@Jd}rkYGFUj`$Bj%j;O24K+RBYak=mG-$7~Z z=vmIUYAz_@(WgfD-=7-}S%wX;s(j?424S|<(K3L@Q4W3lGg`CE=_>Cpzm4<+iFq5U^4-3D7 zD}qDfR?vK#f9HFAMPM*o#I11@5{#WKaxU;6)aN4^15_PO%guI_s_DZqVo zpZ)AG4@xlt8fBVqDI$dcy71Ts>(7t^p^L3$=-FhwJW9RykIx(JINL!FK6{K6LcDC( z+b>kYdTj6*^bE^31!URSyZ#Or$lBp#%90G1byh0{!dY?pUX<|FdQe@~W}Do!!qxq# zjyCX5wq(cai3=9{gf*lk#1p)|y`|}b9|>9h@sRP@BJ+*2|89r9^i59|UR2}>!~6d$ z3@WrJ3urx?y>x7*edLQpR$HV43%U7)NsI&3Nn{-`5vA0?#**cZ{1YeX(Gn=nLItLq zU$Pg@cPsSJZ#6I1obOFwlw({cH)SG}e>0FjpJ9j;LNI+ZUa^3EuCC~Nni?3f=m4PR z41dmHu zt$xdX{PE$|cI-v*mVvF%@zWmBTK{) ztVNiA5p1ff>m~lljwLz@?pZ zSM&nep5zzB_{_{$?2R%f4{h9cV&}L~(;r}$$V1pZVd@TX)x^XF?ciG>$7;LwQFt@` zv};sYT;lS~aFaQEi*V|Ha9m`#v(GS=N&4=C9z>fWs3@W$?7ghD2#En=VH5roH3k#W zd@Bgl-XijntWl5CHti@@BgVQoR3Y8| z;h#*Er(fjHC`Gj1RyAr#Y>#n(=@_~pMQ*DOzAY6)3Tt|IXqf(VdUT`w)eY*`TT+^S z{D$TCWuk*e&PN6WYc$dC?Qd$5<0XzZ@Dt6k{4A3mM{51`FzVb8u@%2+_yju^C}ph$ z?>_i{T7XG|1P}ItV@~lLQ_E{sX%EI7Dvo*f!{*L85nG^}|u1a4j zbi;?^6aPB#2V;{-6958v5vIUD`36BYFT77E2+np__W2I8_vyq%xVZ%sR@n4Kt@-}m zcgm?grXVY;W@L69_VF+w6rp|*b@c{&Sc*G^`;OP+S};f#lOYdO9EL2Q8T%qOy5b1? z!B02}dLwbtxcN4n6omGlOIn1Z2fVcx9wW+*C_hZ8`9^4H zGTiJJA3&o%Fe70&%TeU}7=z1^@{j@&dX=<9J+pl*@zTXMZ8;#DEmyp2wUvVa2C>0F z-d?dPu)P-%#rk5cuAKIrWs_)jq3sEKV=>~wtcy}dt2nyq2aY{Z8k72%CYP|N)=TOF za)2jYYTWRuREWk>qY2{-sF(Vy%OH%){9GahZo(gcdZj+`c` zwZ%YK5g>V1ayofEdFmwM`z5-TE4hU+fD}R@`1&H|c8|kgOc^<$@g_YG0~}C*A2J0> znKV!RZ-5BIoeKbELjUzU1)v$79Dfp122fQu84rYEJu!s2%R{lw z_N$g12hQtCXP#{i)VGS?5s&6z>7)o@IKes+T9<>$cODuxn~wPlWWf%|nLY+Pfp7sR zu~39Z`wYY`8(L4^Q`c9KmcOTMrY=qF)r);D?So=RWU>U?SIGs;woI}! zK334Ww;t|&%ulEUAAgrA&O^Ud=-u)v;kFzYc?c7Oe-0XgLNcVsj;s$kGkW0rFASr5 z7&uo(%JhJ5@4Cw$g+;Zr)rzw7r9V7uHRb9*?;EK+-u2b@jGd;>rp=LETXJ@@#s$`7nvP!U3>R~|rq{U|PV!cXVC+SO;h zst!+!3(Y&*embr(Dzd2EKZYoRW5gDGW2tN}S%om&Dt@*5)#G)}eG_@t1bk1)pOsxe zDcvRL&he3|giP35jn(JM(yzjNPb%K)#UL>59C5;IOVXqCX18V^+V~&6X7m_LY%_2+ ztZuQ&>7s_@{*o^>b`Cnug@!R~C0amHmNh~*pzy3C0$51yb)PAl2v4cPi+u}gAEx_)&vzu`b{j=5jWzJ% z_gZzNwue}c9!G1-B&#|-^|qpUQaf~{e>+Q-lbfRYFv09g#Mqn+YN$@?HzEKirSeMoouXCm)P@I}H%LrdN z6kdctY;S$H;biW#Y>P5kxszkn{S%fYL|MpHD$Nz0LY)lf}CVk(Vl_rcW zE7taDX=-7{?>=NC|KqS>?OX&*GuU*HF$4VwNfw_<&D2sq@`i-f>-eNw&z6U`?WyHQ ziz!0ZG`1d@J&}TcSqpjx&n%skZ4w==1zid3ltPqww;i!ZqSRwDp?I-5b5{1-OWlmWl+W zyGT@?eFT2II+0;*@*qWuerXhTiaSLW5CJn`s22c&e$pm|Rx6d7`c(K0f~6ys{pO*| zj~~tS@8_LXKCDMO(&*?@6j^{CgF_2apH5p=5<93{AG8MM;4Dlrx^wrlpnr}wTp=dG!B+HnIL$CQGX&tfS))0Jn)erw!CEp$@2Bv2n|n% zl6UWgd6Vs?ztLgz-vu;EdToTdT$o~X=yi!`A6t!s4h;gWb6?NVH$O?~M#T@L%t=ni z%&~Wr&4*GNfyhTa*B;f>c5|HT?7hxed_Plj%=3$HuS0_N(St4t)RAr>bhoX4#Gfmy zny7=d>ygE;8osbA(U)70R}+f->NO}sb~j~(6?ID!vGYzU;g1z!=QT z;yJgr$~l7YH!e~IB>MkoI`eR-{`dc%GYiH}3E8(OWUK6E5V901DSJthY$0Tsk(5gI zrA4R|QI^WS%qXIirEJ+|?7JEJnDuwwpWpTUXRi5c&RlcNxzGK&@5l4`jI3DG+wg}{ z1WOM!IrSy!+Agm*gu+)KqO>FwE_uXir&ar^w2DPT8lZG))Hzw5d_X=bDE=zPhc1n; z1!^(KZ!BMV)?cDY3Kg4oKb^gyX2R~5Z@O^dK?_UJ07>Cn17wGJIcsA7c!brIN#Q>S zwBUBD%mBM@b;q1o9q;tF(dvEMELRQ)_ylLsP#1HR*Y;)d0AEFTF7~w`6_j?^k(j@e}_%G;`;YvyDmQbRNDB}r&6yN znYvC3b3ds{AFtdtImC6cxt6fI;_-DTDVns|75hizb$j$`1UYfn_R|A8{Da_+8y{O7 zxZIiW>&vU{Px3w7mX}(y%cb)I$Y#HvoM`HcInc#jYL1TE#4J>Np5Ti0Ic>8r8C7Nu z(N#Q3zg!O3JpF96A06SOBIkGddgPzSuP$3_@Fzd5<@PRcjav`;bQ?=PS5=8;3sMz! z(*6g?u|0xFRUOjQ&+xbGEvr3?)svimNtij6;(*g))t3=o&DjA9A9CZ?N6#M$cYo>diw4%ZiJ(-r)&9<|J_|h zZ7+*C=`(&sx2lbYt25|){}3=1yt>*)(J@GR+=vLU4-kl8vBtO0wH~p?``Z+UpBzv5~u9MZ)UuVPmcni1s_Wv!15- z5q3bHOseCm0C^pfaR|`%r9nGm)Q&L>#}*4mKubcn!Pg!T%TjnUH1C^h*ytFx&RsKD z<8>~|_=Mnf$5jp8-il_HC2aV}JscFMD}g}){-|DSVAmXWQUJV}QInu4OaQU^-wV+& z>=7n3;)rOb{&PCr`L@*a@4fy~j;4#}6ZJVCufG}Rq}0|&Q&yjhQrDxF1z=9u2t(N?USQxi}{j&d|40LC#d+HkmVPEzb^ z0v8;s)S0?dA4iOjgJD&LL7{BT2;_(Rzun_6hdSR-sy|*=@I@G9-KBLi@Z|a>YZtEg zDny8msQ1F=W34cne48;|5cN0Lt8Gh3%+OcKM3?Qu82ouPCffTbD~@hRU2H@~R@GU; zxI>4}I1b2*qg=%#t(|d5r0~`zz8-V2&;SOT7W4ZX@mH+mj|4Pjr}c#LE?AZC#3}%a zy;^#|<4FY{IeGQ2hD@1hJ;b@(JX-qg1)s8G)cTR56E_4xktdZvH6B6|&;T?AV|3*p zVkm#$^V5>A(g0amK%swXk}+C){0xoD*&?#K$n;V9&(E)BDv@wXT%KBCgB z^_#rR2Pb*=a_2P}4|*<-w_e%W5{MjRU*`v0TA>+g26;yN>mU=vtDUZ`u8v+dEAf6!PJI zp>x2!reH-&D6}HqV{2D{bRkIQV7bS)OV^CP{6+ma9G*R`1aF_tH8coW9DEu6Pip$k z?17$T?lM&=_qsoQ>K#YJ!zP6*6jW=;YHT{=Ol?dqamar`OIoJsE4E;$F|3S7G$?$^ z%n)J`Mh%0z2maOY=lL%KLplMq!42C7&P-f4-`u`%%q_s;_v~^>Q>4_}`HDiyFAGV7 zDCs?QU&^&_sH@KX-m_KOM%#mN4A0StHqUoAzhTGIo&>c#P0=VHzV~3RIY}tg`To>9 z4IaLi)oRDWx;Gr${`_?K+T`@=^5%sH_mw{0Y7fW&{LK_H2YHk88jo!Ki}HUg-8Hf8 zUv&Y8)$kIekNyCs7&7Xlk&;hXWXU0j-8J+Y%Lq1FEN%TN^SDO^?HD6U0- zm90WrKcx&Sx8w{-zyQw6cwvii!p8aDe4Zg?^GGFLR`IR^PmwY1UP2no z#^8DvPCi^RuS=8hcXF3{cD>}VUv^S${vL*(;KMw`8UAHI zfCzj&Q~byG^NJ^}74@%S3 z`9kV8gn`o_x15qEVIY@W@5}}Erk5cA2j31KAU&D}J{loCZ-M9goN+;NIBwcAT~clr zmn=2H3;ppm@))uO+457q zA24HEvrvZxowEwnG~437HF%I8T!or@bTrQeTa)x|QT(yr`pe zaOzHTwB&U47JW^8<}{QhcBz-DBYHu?DMQh?#mTg%RY=ULInjyftiE$T4I!u(~<&d00dfb zk&195n_&nyVO>n(EIjY5Ff;-Zm-N?v^5(Q6?93#FiCQW1GxZ49nRtJ_&Gqt0%oBTr z)#%lf9;7$)IM5yjaf7{Ky+4dA0%a6jMMIKKWoO*nsK}}P` zr6=YD7(%K7Bc@}{L>#^+*ez>hBKxRS>7 zvhC26MAzWti>{&R7hSrf7pjA{%vLA{DPcA)HgwN`!P;=9(4hch3ERP`-6H72MDh2C z?hN6U2C79po)~xecnjleDJBGayrn7lcwF@4LBJDWtJQ{hvbdE22K^YC%x)vlAXE2$a6}1 zQG3ul^TOp$#_?Bjo6ZmJce_eGvUL%86p@|w#UM*FC|o6O;<>ub5WTzQHH$nW+Q*XNry?1dh~Sd| zv|NXF$IJJc?vC03`$>JViPX79$d7Ex{mPy)mnh}1tY^GIwyzR+EUlY!=Qbm-5WVr4 zbX;Bvh#|I13$ct<9@oA&MNL(6_-$#h@G2e%WsaHeo}34{3V zEp&jr8zT&Y;pnRfoG`3qfJoki_(JufFRz8S{>DX>RmkuS1zoY<6i2$v@(rKuQ?Y2r zh9>Upmi}paZ-hw54N;7hkmd>sxA4 z_8NI9TfMW~ASK|qa%J=_h^XA-*w$q;R zatN9Z--3qK*q8{6I(@AI!}uVQRM0Gp`iu&6o@kEjHnx3;yLYKeh#mJ6zRod6_ML6E zdJj+pl#h;Wj`J`cG;_k4LOmw_`qbn;|7VgzH5@g1YUz(&KsZX6lTo8sNROHs4UTjCtt659c z^6>CU7iE!g*E%&*90-#o!MqOPknjwyG&f)#;dK6fOhq8yWeyG&9Dk{!6^i31jvR;`=`P`J3Qu-z-NVG`;? zfm59Rf3;RT3%;fm7(ISvZQyV@Td-&FJ%@2B&+b<13%1aOOWv;XHJ@1AgwB zS7-k-G41f0GW~`_-QNY@>x*S{dWTXluX9#5pALM{7c;o1)NPtq_Uha`;Yi?;WMsA; zr#W0iH-P^`GPVuA7niJho}WICTnvMqa`ZX#J3HVmw(7OvS%NaB ze05fe;_2&;^RzR7@fw+K%>J`$?-g(q=;0?5(DAhj zz$xLR=LJ>c_DtWNMmS?mTd-0M7=3~W+liFpxM^2#kuF8qxwFm80Zht-5T#!m=Vw3v z4Io``WJGyd?$=btkyGh0Y%@uO8&KZi*)s$wL#`}vfpFGF-kd{PuX!~q)aaEc%~yf_ zYfeKk{%&l_o&redMY}MqGJv$I_~)Reky9(Xvfoaz$j5soCoINys8KKGvql-hz5dCnj`O zygGM__X&3kii-LrLRJ3t2&leHnn;IT?pV9s5&N4bfktuoB#aKknyHBz)^RrRatY|P_Tx6hk9ZF8?N00e0q@KKi7P`b6aV7NR##KF z9Lz9oz^Wu43`pWv2xM#v%vg|;A&mft=o$%?#pyqq`erIas z?6CX&9D2#806F+6K=H;~yLK@vAo(gD`}4dJ6b$(E9HddFHO`Xp<$(=QjZi0VMoYMNn`m#GOx+5JzPw}#@s*ub)QbU zrr)6{<2aXK8fy=ByfUfroTX~rCx zTog?s)oc&Pw6ViXrt+c8I{y(P-fCv?yxiL2UJ`u~)@HnUR}Yvfa807li^|8*uJFES z=|q#_t&0vZaySV$_s zg`2AMzJqOnmCrA>z^(_PRi@cuT%F!6>K?`5!acz8+upM-l&lzp;t*=9;S_^+{bi5V z)V9u4IXeTHbZZAeMwtXA#aGY5186+A=I$EL$Oqzl`*H)qH9M>GcrdHXauFQK^BwZ~ z4i1d-+?x+6z(FIzi>4Xke_({Fd*x3|xj2=8W5cPV-AFkSR`n^o@MwI1Af?B@jyq-V z%@SHoo%7qdP)#*;o^NNhH3LHpSlie2&xCJZ@0BTB?zy_BD~~b7moix=+yOO+=>0>3 zgg(a!J?@|IL7UE^0EicYbFkhLp%|Mh+fdl7HtB}F%ufw>BS#%^r8b>5x5fssZUs9WS ze7i8#PW?QPw6U@=X7Z!8=0U4FkirFNp-!W~d@`Lh6`L zUXcIL4^R;{GEyxfi-DHA(DW(H&a2E0#U%`e!7E+L$1pnPFn1HobbHyKgM_O1>iMJ4 zlurL6d76I zB-5D_XT@Elcts6`>;K_JWSjqZcyROhfuzWILt{T!6!{wE~XiL_%D!t0@G9S8k_}H={LVS$?~*m&UcEl^s$) z_=+BhOojaCRS5YcleOaV{6XKOX&X`x5j#j=%eSF}s>QxNHO}}VyuNuMajNLTgQ;N- zP2$JR!FyA4stc*P*#!1mhp#Xz;1~ArvE*v6RRXmrmnc=E%?y%m*r=Xv5C_HP#X0?4+6QOgjlS)DDi*r7Fzug<$G9p-+9 z6t5Bf#dZPCIk52Pe+#wWQkd))<-nqIu{XhaCl*F<;eri8Lsu>U8v;Y@SnToF!A~-8 z10(U*kob2CWi)#j&W9h+?+^kfLd0JbuK|wJs4wIC4fxaM45LK1AK>tXh8z($U zjUNuO;(9hT{Ma&Fj0c2#2l%dO8M?K}9!8C2L(R-6b6_q=5tp*9&UAL6fEL|1 z?t429x$=4`wBHQ}P+D6gEapdGGm`nf7L=gT@#d*_OKaqg@{wx{?&5gH!eQPhMif*D z%9q$h&yqrKphei!!yo=76@P`?v2IdBwT@|dy@6`!;i>b3kX@9ta`0^tj*$cep{HRL z7pF*2#--k}O9J5JbP{m~y7%vyrXe(8aw!O~=gks34`f68(H1V$*%X8MN?nGR^9j>tA}kMTHup|ItTO zK^r!uBmeM!q9O*V&9R8D^`rPGA+Ud%be=KCb;a!51sHS=;ULP*DF@Kk(HaS74R{&;0 z&wW>lv?tr+n*8Ci!-pOcD$#+<%~ZTx&w>!&oQlKic-g#yu82Gy+&Sd%H;tiflX=5i zJ6Kq3#a82=pAgR6%y}2hx7b|s-v|#K6qhsu!%%i z`D7_+9M10>SY!H~^Aoagpc<@u5B!4F^^S0$IK$LIQ+bROD6|JS2a%|=5@`=X4}aW! z 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 literal 0 HcmV?d00001 diff --git a/lib/customAppBar/customAppBar.dart b/lib/customAppBar/customAppBar.dart index f37029a..98a0094 100755 --- a/lib/customAppBar/customAppBar.dart +++ b/lib/customAppBar/customAppBar.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:nhance_app_pwa/logger.dart'; import 'package:adaptive_navbar/adaptive_navbar.dart'; import 'package:flutter_svg/svg.dart'; import 'package:go_router/go_router.dart'; @@ -7,6 +8,7 @@ import 'package:nhance_app_pwa/customAppBar/responsive.dart'; import '../pages/postEnrollment/service/api_service.dart'; import '../pages/service/SessionManager.dart'; +import '../pages/service/TokenService.dart'; import '../pages/service/popup_helper.dart'; class CustomAppBar extends StatefulWidget implements PreferredSizeWidget { @override @@ -32,7 +34,7 @@ class _CustomAppBarState extends State { checkRetailOrNot() async { final SharedPreferences prefs = await SharedPreferences.getInstance(); isRetailLoggedIn = prefs.getBool('isRetailLoggedIn') ?? false; - print('isRetailLoggedIn Navbar $isRetailLoggedIn'); + logDebug('isRetailLoggedIn Navbar $isRetailLoggedIn'); } void handleMenuTap(VoidCallback? action) { @@ -45,11 +47,10 @@ class _CustomAppBarState extends State { Future logout(BuildContext context) async { - final prefs = await SharedPreferences.getInstance(); - final String? token = prefs.getString('post_token'); + final String? token = await TokenService.getPostToken(); if (token != null && token.isNotEmpty) { - await prefs.clear(); + await SessionManager().clear(); context.go('/login'); // Navigator.pushNamed(context, 'phone'); } diff --git a/lib/customAppBar/customAppBarChatbot.dart b/lib/customAppBar/customAppBarChatbot.dart index d8ec647..be4c5fd 100755 --- a/lib/customAppBar/customAppBarChatbot.dart +++ b/lib/customAppBar/customAppBarChatbot.dart @@ -2,6 +2,7 @@ import 'package:flutter/material.dart'; import 'package:adaptive_navbar/adaptive_navbar.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:nhance_app_pwa/customAppBar/responsive.dart'; +import '../features/chatbot/application/chatbot_reset_helper.dart'; class CustomAppBarChatbot extends StatelessWidget implements PreferredSizeWidget { @@ -9,6 +10,7 @@ class CustomAppBarChatbot extends StatelessWidget Size get preferredSize => Size.fromHeight(kToolbarHeight); Future logout(BuildContext context) async { + ChatbotResetHelper.resetChatbot(context); final prefs = await SharedPreferences.getInstance(); final String? token = prefs.getString('token'); diff --git a/lib/customAppBar/customFooter.dart b/lib/customAppBar/customFooter.dart index 0314b1a..11c5d6b 100755 --- a/lib/customAppBar/customFooter.dart +++ b/lib/customAppBar/customFooter.dart @@ -1,16 +1,18 @@ import 'package:flutter/material.dart'; import 'package:package_info_plus/package_info_plus.dart'; +import 'package:nhance_app_pwa/logger.dart'; + class CustomFooter extends StatelessWidget { @override Future _getAppVersion() async { try { PackageInfo packageInfo = await PackageInfo.fromPlatform(); - print('App version: ${packageInfo.version}'); + logDebug('App version: ${packageInfo.version}'); return packageInfo.version; } catch (e) { - print('Error getting app version: $e'); + logDebug('Error getting app version: $e'); return 'Unknown'; // Optional fallback } } diff --git a/lib/customAppBar/enrollmentAppBar.dart b/lib/customAppBar/enrollmentAppBar.dart index 4aa4da0..9d4eabf 100755 --- a/lib/customAppBar/enrollmentAppBar.dart +++ b/lib/customAppBar/enrollmentAppBar.dart @@ -1,5 +1,4 @@ import 'dart:convert'; -import 'dart:io'; import 'package:flutter/material.dart'; import 'package:adaptive_navbar/adaptive_navbar.dart'; @@ -12,8 +11,10 @@ import 'package:shared_preferences/shared_preferences.dart'; import '../config/environment.dart'; import '../models/platform_helper_mobile.dart' if (dart.library.html) '../models/platform_helper_other.dart'; +import 'package:nhance_app_pwa/logger.dart'; import '../pages/postEnrollment/service/api_service.dart'; import '../pages/service/SessionManager.dart'; +import '../pages/service/TokenService.dart'; import '../pages/service/popup_helper.dart'; class CustomAppBar extends StatefulWidget implements PreferredSizeWidget { @@ -41,17 +42,14 @@ class _CustomAppBarState extends State { } Future checkEnrollToken() async { - SharedPreferences prefs = await SharedPreferences.getInstance(); + final pre = await TokenService.getPreToken(); setState(() { - isTokenAvailable = prefs.getString('pre_token') != null; + isTokenAvailable = pre != null && pre.isNotEmpty; }); } Future getEmpStatus() async { - final SharedPreferences prefs = await SharedPreferences.getInstance(); - - // final empStatusValue = prefs.getString('enrollmentEmp_status'); - final postTokenValue = prefs.getString('post_token'); + final postTokenValue = await TokenService.getPostToken(); setState(() { // // empStatus: null-safe + empty-safe @@ -63,19 +61,19 @@ class _CustomAppBarState extends State { isTokenAvailable = postTokenValue != null && postTokenValue.trim().isNotEmpty; - debugPrint('empStatus: $empStatus'); - debugPrint('isTokenAvailable: $isTokenAvailable'); + logDebug('empStatus: $empStatus'); + logDebug('isTokenAvailable: $isTokenAvailable'); }); } Future checkLoginPin() async { - print('checkLoginPin'); + logDebug('checkLoginPin'); try { final SharedPreferences prefs = await SharedPreferences.getInstance(); final empMobileNo = prefs.getString('empMobileNo'); final empEmailid = prefs.getString('empEmailid'); - print('empMobileNo $empMobileNo'); - print('empEmailid $empEmailid'); + logDebug('empMobileNo $empMobileNo'); + logDebug('empEmailid $empEmailid'); var params = {}; if (empMobileNo != null && empMobileNo.isNotEmpty) { @@ -84,13 +82,13 @@ class _CustomAppBarState extends State { params = {'email_id': empEmailid}; } - print('params $params'); + logDebug('params $params'); final response = await http.post( Uri.parse(Environment.apiUrlEnrollment + 'checkMpin'), body: json.encode(params), headers: { - HttpHeaders.contentTypeHeader: 'application/json', + 'Content-Type': 'application/json', 'APP-SIGNATURE': 'nhance-2025-signature-T8f6gV9k5fK2wf5V5c4vId3b0J8z6cAm2x8Y', }, @@ -116,11 +114,11 @@ class _CustomAppBarState extends State { } } } else { - print('❌ API failed: ${response.statusCode}'); + logDebug('❌ API failed: ${response.statusCode}'); return null; } } catch (e) { - print('❌ Error: $e'); + logDebug('❌ Error: $e'); return null; } return null; @@ -138,40 +136,40 @@ class _CustomAppBarState extends State { String? mobileNumber = prefs.getString('empMobileNo'); String? mailID = prefs.getString('empEmailid'); final isMpinSkipped = await checkLoginPin(); - print('isMpinSkipped $isMpinSkipped'); + logDebug('isMpinSkipped $isMpinSkipped'); // bool? biometricStatus = prefs.getBool('biometricStatus') ?? false; // int? skipStatus = prefs.getInt('skipStatus') ?? 1; // Clear all keys await SessionManager().clear(); // await prefs.clear(); - print('Local Storage Clear'); + logDebug('Local Storage Clear'); // html.window.localStorage.clear(); // Re-set the mobile_number key if (isMobilePlatform()) { if (mobileNumber != null) { await prefs.setString('empMobileNo', mobileNumber); - print('empMobileNo $mobileNumber'); + logDebug('empMobileNo $mobileNumber'); // await prefs.setBool('biometricStatus', biometricStatus!); // await prefs.setInt('skipStatus', skipStatus!); } if (mailID != null) { await prefs.setString('empEmailid', mailID); - print('empEmailid $mailID'); + logDebug('empEmailid $mailID'); // await prefs.setBool('biometricStatus', biometricStatus!); // await prefs.setInt('skipStatus', skipStatus!); } if (isMpinSkipped != null) { await prefs.setString('is_mpin_skipped', isMpinSkipped!); - print('isMpinSkipped $isMpinSkipped'); + logDebug('isMpinSkipped $isMpinSkipped'); } if (isMpinSkipped != null && isMpinSkipped == '0') { - print('pinPage'); + logDebug('pinPage'); // return; context.go('/pinPage'); } else { - print('login'); + logDebug('login'); context.go('/login'); } } else { diff --git a/lib/customAppBar/toastHelper.dart b/lib/customAppBar/toastHelper.dart index 8221dd8..04580fc 100755 --- a/lib/customAppBar/toastHelper.dart +++ b/lib/customAppBar/toastHelper.dart @@ -2,6 +2,8 @@ import 'package:flutter/material.dart'; // import 'package:fluttertoast/fluttertoast.dart'; import 'package:toastification/toastification.dart'; +import 'package:nhance_app_pwa/logger.dart'; + class ToastHelper { static void showSuccessToast(BuildContext context, String message) { toastification.show( @@ -44,12 +46,12 @@ class ToastHelper { dragToClose: true, applyBlurEffect: true, callbacks: ToastificationCallbacks( - onTap: (toastItem) => print('Toast ${toastItem.id} tapped'), + onTap: (toastItem) => logDebug('Toast ${toastItem.id} tapped'), onCloseButtonTap: (toastItem) => - print('Toast ${toastItem.id} close button tapped'), + logDebug('Toast ${toastItem.id} close button tapped'), onAutoCompleteCompleted: (toastItem) => - print('Toast ${toastItem.id} auto complete completed'), - onDismissed: (toastItem) => print('Toast ${toastItem.id} dismissed'), + logDebug('Toast ${toastItem.id} auto complete completed'), + onDismissed: (toastItem) => logDebug('Toast ${toastItem.id} dismissed'), ), ); } @@ -95,12 +97,12 @@ class ToastHelper { dragToClose: true, applyBlurEffect: true, callbacks: ToastificationCallbacks( - onTap: (toastItem) => print('Toast ${toastItem.id} tapped'), + onTap: (toastItem) => logDebug('Toast ${toastItem.id} tapped'), onCloseButtonTap: (toastItem) => - print('Toast ${toastItem.id} close button tapped'), + logDebug('Toast ${toastItem.id} close button tapped'), onAutoCompleteCompleted: (toastItem) => - print('Toast ${toastItem.id} auto complete completed'), - onDismissed: (toastItem) => print('Toast ${toastItem.id} dismissed'), + logDebug('Toast ${toastItem.id} auto complete completed'), + onDismissed: (toastItem) => logDebug('Toast ${toastItem.id} dismissed'), ), ); } @@ -146,12 +148,12 @@ class ToastHelper { dragToClose: true, applyBlurEffect: true, callbacks: ToastificationCallbacks( - onTap: (toastItem) => print('Toast ${toastItem.id} tapped'), + onTap: (toastItem) => logDebug('Toast ${toastItem.id} tapped'), onCloseButtonTap: (toastItem) => - print('Toast ${toastItem.id} close button tapped'), + logDebug('Toast ${toastItem.id} close button tapped'), onAutoCompleteCompleted: (toastItem) => - print('Toast ${toastItem.id} auto complete completed'), - onDismissed: (toastItem) => print('Toast ${toastItem.id} dismissed'), + logDebug('Toast ${toastItem.id} auto complete completed'), + onDismissed: (toastItem) => logDebug('Toast ${toastItem.id} dismissed'), ), ); // _showToast(context, message, Colors.red); @@ -198,12 +200,12 @@ class ToastHelper { dragToClose: true, applyBlurEffect: true, callbacks: ToastificationCallbacks( - onTap: (toastItem) => print('Toast ${toastItem.id} tapped'), + onTap: (toastItem) => logDebug('Toast ${toastItem.id} tapped'), onCloseButtonTap: (toastItem) => - print('Toast ${toastItem.id} close button tapped'), + logDebug('Toast ${toastItem.id} close button tapped'), onAutoCompleteCompleted: (toastItem) => - print('Toast ${toastItem.id} auto complete completed'), - onDismissed: (toastItem) => print('Toast ${toastItem.id} dismissed'), + logDebug('Toast ${toastItem.id} auto complete completed'), + onDismissed: (toastItem) => logDebug('Toast ${toastItem.id} dismissed'), ), ); // _showToast(context, message, Colors.red); diff --git a/lib/features/chatbot/application/chatbot_controller.dart b/lib/features/chatbot/application/chatbot_controller.dart new file mode 100644 index 0000000..43037ed --- /dev/null +++ b/lib/features/chatbot/application/chatbot_controller.dart @@ -0,0 +1,411 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:go_router/go_router.dart'; +import 'package:nhance_app_pwa/features/chatbot/data/chatbot_api_service.dart'; +import 'package:nhance_app_pwa/features/chatbot/data/chatbot_repository.dart'; +import 'package:nhance_app_pwa/features/chatbot/domain/models/chatbot_models.dart'; +import 'package:url_launcher/url_launcher.dart'; + +final chatbotRepositoryProvider = Provider((ref) { + return ChatbotRepository(ChatbotApiService()); +}); + +final chatbotControllerProvider = + StateNotifierProvider((ref) { + return ChatbotController(ref.read(chatbotRepositoryProvider)); +}); + +class ChatbotUiState { + final bool isOpen; + final bool isIntroAnimating; + final bool isLoading; + final String? errorMessage; + final ChatbotFlowStep step; + final List messages; + final List options; + final List policies; + final ChatbotPolicy? selectedPolicy; + final List claimStatuses; + + const ChatbotUiState({ + required this.isOpen, + required this.isIntroAnimating, + required this.isLoading, + required this.errorMessage, + required this.step, + required this.messages, + required this.options, + required this.policies, + required this.selectedPolicy, + required this.claimStatuses, + }); + + factory ChatbotUiState.initial() { + return ChatbotUiState( + isOpen: false, + isIntroAnimating: false, + isLoading: false, + errorMessage: null, + step: ChatbotFlowStep.rootMenu, + messages: [ + ChatbotMessage( + text: 'Welcome! I’m here to assist you with your policy services. Please choose an option to continue.', + isBot: true, + createdAt: DateTime.now(), + ), + ], + options: const [ + ChatbotOption(id: 'my_policies', label: 'My Policies'), + ChatbotOption(id: 'claims_procedure', label: 'Claims Procedure'), + ChatbotOption(id: 'my_claims_status', label: 'My Claims Status'), + ChatbotOption(id: 'help', label: 'Help'), + ], + policies: const [], + selectedPolicy: null, + claimStatuses: const [], + ); + } + + ChatbotUiState copyWith({ + bool? isOpen, + bool? isIntroAnimating, + bool? isLoading, + String? errorMessage, + bool clearError = false, + ChatbotFlowStep? step, + List? messages, + List? options, + List? policies, + ChatbotPolicy? selectedPolicy, + bool clearSelectedPolicy = false, + List? claimStatuses, + }) { + return ChatbotUiState( + isOpen: isOpen ?? this.isOpen, + isIntroAnimating: isIntroAnimating ?? this.isIntroAnimating, + isLoading: isLoading ?? this.isLoading, + errorMessage: clearError ? null : (errorMessage ?? this.errorMessage), + step: step ?? this.step, + messages: messages ?? this.messages, + options: options ?? this.options, + policies: policies ?? this.policies, + selectedPolicy: + clearSelectedPolicy ? null : (selectedPolicy ?? this.selectedPolicy), + claimStatuses: claimStatuses ?? this.claimStatuses, + ); + } +} + +class ChatbotController extends StateNotifier { + final ChatbotRepository _repository; + List? _policiesCache; + DateTime? _policiesCacheAt; + static const Duration _cacheTtl = Duration(minutes: 10); + + bool _didHomeIntroAnimation = false; + + ChatbotController(this._repository) : super(ChatbotUiState.initial()); + + void toggleOpen() { + state = state.copyWith(isOpen: !state.isOpen); + } + + void close() { + state = state.copyWith(isOpen: false); + } + + void resetAll() { + _policiesCache = null; + _policiesCacheAt = null; + _didHomeIntroAnimation = false; + state = ChatbotUiState.initial(); + } + + Future triggerHomeIntroAnimation() async { + if (_didHomeIntroAnimation) return; + _didHomeIntroAnimation = true; + + state = state.copyWith(isIntroAnimating: true); + + await Future.delayed(const Duration(milliseconds: 900)); + state = state.copyWith(isIntroAnimating: false); + } + + List _latestThreeClaims(List claims) { + if (claims.length <= 3) return List.from(claims.reversed); + return claims.reversed.take(3).toList(); + } + + void _appendUserMessage(String text) { + final updated = List.from(state.messages) + ..add( + ChatbotMessage( + text: text, + isBot: false, + createdAt: DateTime.now(), + ), + ); + state = state.copyWith(messages: updated); + } + + void _appendBotMessage(String text) { + final updated = List.from(state.messages) + ..add( + ChatbotMessage( + text: text, + isBot: true, + createdAt: DateTime.now(), + ), + ); + state = state.copyWith(messages: updated); + } + + void _showRootMenu() { + state = state.copyWith( + step: ChatbotFlowStep.rootMenu, + options: const [ + ChatbotOption(id: 'my_policies', label: 'My Policies'), + ChatbotOption(id: 'claims_procedure', label: 'Claims Procedure'), + ChatbotOption(id: 'my_claims_status', label: 'My Claims Status'), + ChatbotOption(id: 'help', label: 'Help'), + ], + clearSelectedPolicy: true, + clearError: true, + ); + } + + Future onOptionSelected( + BuildContext context, + ChatbotOption option, + ) async { + _appendUserMessage(option.label); + + switch (option.id) { + case 'my_policies': + await loadPolicies(context); + return; + case 'claims_procedure': + _appendBotMessage('Opening claims page.'); + close(); + context.go('/claimprocess', extra: 2); + return; + case 'my_claims_status': + await loadClaimsStatus(context); + return; + case 'help': + _appendBotMessage('Opening help page.'); + close(); + context.go('/help'); + return; + case 'covered_member_list': + showCoveredMembers(); + return; + case 'ecard_download': + await openEcard(); + return; + case 'covered_hospital_list': + await openHospitalList(); + return; + case 'back_to_root': + _appendBotMessage('Back to main menu.'); + _showRootMenu(); + return; + case 'back_to_policies': + _appendBotMessage('Choose a policy.'); + state = state.copyWith( + step: ChatbotFlowStep.policyList, + options: _policyOptions(state.policies), + clearSelectedPolicy: true, + clearError: true, + ); + return; + default: + if (option.id.startsWith('policy::')) { + final policyId = option.id.replaceFirst('policy::', ''); + final selected = state.policies.firstWhere( + (policy) => policy.clientPolicyId == policyId, + orElse: () => state.policies.first, + ); + selectPolicy(selected); + } + return; + } + } + + List _policyOptions(List policies) { + final policyOptions = policies + .map((policy) => ChatbotOption( + id: 'policy::${policy.clientPolicyId}', + label: policy.policyName, + )) + .toList(); + return [ + ...policyOptions, + const ChatbotOption(id: 'back_to_root', label: 'Back'), + ]; + } + + Future loadPolicies(BuildContext context) async { + final now = DateTime.now(); + final canUseCache = _policiesCache != null && + _policiesCacheAt != null && + now.difference(_policiesCacheAt!) < _cacheTtl; + + if (canUseCache) { + final cachedPolicies = _policiesCache!; + if (cachedPolicies.isEmpty) { + _appendBotMessage('No active policies found.'); + _showRootMenu(); + } else { + _appendBotMessage('Choose a policy.'); + state = state.copyWith( + isLoading: false, + policies: cachedPolicies, + step: ChatbotFlowStep.policyList, + options: _policyOptions(cachedPolicies), + clearError: true, + ); + } + return; + } + + state = state.copyWith(isLoading: true, clearError: true); + try { + final policies = await _repository.getPolicies(context); + _policiesCache = policies; + _policiesCacheAt = DateTime.now(); + if (policies.isEmpty) { + _appendBotMessage('No active policies found.'); + _showRootMenu(); + } else { + _appendBotMessage('Choose a policy.'); + state = state.copyWith( + isLoading: false, + policies: policies, + step: ChatbotFlowStep.policyList, + options: _policyOptions(policies), + ); + } + } catch (_) { + state = state.copyWith( + isLoading: false, + errorMessage: 'Unable to load policies. Please try again.', + ); + _appendBotMessage('Unable to load policies right now.'); + _showRootMenu(); + } + } + + void selectPolicy(ChatbotPolicy policy) { + _appendBotMessage('Selected ${policy.policyName}.'); + state = state.copyWith( + selectedPolicy: policy, + step: ChatbotFlowStep.policyActions, + options: const [ + ChatbotOption(id: 'covered_member_list', label: 'Covered Member List'), + ChatbotOption(id: 'ecard_download', label: 'E-Card Download'), + ChatbotOption(id: 'covered_hospital_list', label: 'Covered Hospital List'), + ChatbotOption(id: 'back_to_policies', label: 'Back to Policies'), + ], + clearError: true, + ); + } + + void showCoveredMembers() { + final policy = state.selectedPolicy; + if (policy == null) { + _appendBotMessage('Please choose a policy first.'); + return; + } + + if (policy.members.isEmpty) { + _appendBotMessage('No covered members found for this policy.'); + } else { + final names = policy.members + .map((member) => '${member.name} (${member.relationship})') + .join('\n'); + _appendBotMessage('Covered members:\n$names'); + } + } + + Future openEcard() async { + final policy = state.selectedPolicy; + if (policy == null) { + _appendBotMessage('Please choose a policy first.'); + return; + } + + final url = policy.eCardDownloadUrl.trim(); + if (url.isEmpty) { + _appendBotMessage('E-Card is not available for this policy.'); + return; + } + + final uri = Uri.tryParse(url); + if (uri == null) { + _appendBotMessage('E-Card link is invalid.'); + return; + } + + final launched = await launchUrl(uri, mode: LaunchMode.externalApplication); + if (!launched) { + _appendBotMessage('Unable to open E-Card link.'); + return; + } + _appendBotMessage('Opened E-Card in browser.'); + } + + Future openHospitalList() async { + final policy = state.selectedPolicy; + if (policy == null) { + _appendBotMessage('Please choose a policy first.'); + return; + } + + final url = policy.networkHospitalsUrl.trim(); + if (url.isEmpty) { + _appendBotMessage('Hospital list link is not available.'); + return; + } + + final uri = Uri.tryParse(url); + if (uri == null) { + _appendBotMessage('Hospital list link is invalid.'); + return; + } + + final launched = await launchUrl(uri, mode: LaunchMode.externalApplication); + if (!launched) { + _appendBotMessage('Unable to open hospital list link.'); + return; + } + _appendBotMessage('Opened hospital list in browser.'); + } + + Future loadClaimsStatus(BuildContext context) async { + state = state.copyWith(isLoading: true, clearError: true); + try { + final claims = await _repository.getClaimStatuses(context); + final latestClaims = _latestThreeClaims(claims); + if (claims.isEmpty) { + _appendBotMessage('No claims found.'); + } else { + _appendBotMessage('Here is your latest claims status.'); + } + + state = state.copyWith( + isLoading: false, + step: ChatbotFlowStep.claimStatusList, + claimStatuses: latestClaims, + options: const [ChatbotOption(id: 'back_to_root', label: 'Back')], + ); + } catch (_) { + state = state.copyWith( + isLoading: false, + errorMessage: 'Unable to load claims status. Please try again.', + ); + _appendBotMessage('Unable to load claims status right now.'); + _showRootMenu(); + } + } +} diff --git a/lib/features/chatbot/application/chatbot_reset_helper.dart b/lib/features/chatbot/application/chatbot_reset_helper.dart new file mode 100644 index 0000000..e02a737 --- /dev/null +++ b/lib/features/chatbot/application/chatbot_reset_helper.dart @@ -0,0 +1,16 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; + +import 'chatbot_controller.dart'; + +class ChatbotResetHelper { + static void resetChatbot(BuildContext context) { + try { + final container = ProviderScope.containerOf(context, listen: false); + container.read(chatbotControllerProvider.notifier).resetAll(); + } catch (_) { + // If no ProviderScope is found (or provider is unavailable), ignore. + } + } +} + diff --git a/lib/features/chatbot/data/chatbot_api_service.dart b/lib/features/chatbot/data/chatbot_api_service.dart new file mode 100644 index 0000000..ca1786f --- /dev/null +++ b/lib/features/chatbot/data/chatbot_api_service.dart @@ -0,0 +1,30 @@ +import 'package:flutter/material.dart'; +import 'package:nhance_app_pwa/pages/postEnrollment/service/api_service.dart'; +import 'package:nhance_app_pwa/pages/service/SessionManager.dart'; + +class ChatbotApiService { + Future> fetchPolicies(BuildContext context) async { + final session = SessionManager(); + final api = ApiService(context); + + return api.getActiveAndInactivePolicyDetails( + session.client_id, + session.empCodeString, + 'Active', + session.empClientBranchId, + session.mobileNo, + session.empEmailCorporate, + ); + } + + Future> fetchClaimsStatus(BuildContext context) async { + final session = SessionManager(); + final api = ApiService(context); + + return api.getTrackClaimsList( + session.empPrimaryId ?? '', + session.mobileNo ?? '', + session.empEmailCorporate ?? '', + ); + } +} diff --git a/lib/features/chatbot/data/chatbot_repository.dart b/lib/features/chatbot/data/chatbot_repository.dart new file mode 100644 index 0000000..c818901 --- /dev/null +++ b/lib/features/chatbot/data/chatbot_repository.dart @@ -0,0 +1,28 @@ +import 'package:flutter/material.dart'; +import 'package:nhance_app_pwa/features/chatbot/data/chatbot_api_service.dart'; +import 'package:nhance_app_pwa/features/chatbot/domain/models/chatbot_models.dart'; + +class ChatbotRepository { + final ChatbotApiService _apiService; + + const ChatbotRepository(this._apiService); + + Future> getPolicies(BuildContext context) async { + final response = await _apiService.fetchPolicies(context); + final data = (response['data'] as List?) ?? const []; + return data + .whereType() + .map((item) => ChatbotPolicy.fromJson(Map.from(item))) + .toList(); + } + + Future> getClaimStatuses(BuildContext context) async { + final response = await _apiService.fetchClaimsStatus(context); + final data = (response['ticket_data'] as List?) ?? const []; + return data + .whereType() + .map((item) => + ClaimStatusItem.fromJson(Map.from(item))) + .toList(); + } +} diff --git a/lib/features/chatbot/domain/models/chatbot_models.dart b/lib/features/chatbot/domain/models/chatbot_models.dart new file mode 100644 index 0000000..b103a22 --- /dev/null +++ b/lib/features/chatbot/domain/models/chatbot_models.dart @@ -0,0 +1,104 @@ +class PolicyMember { + final String id; + final String name; + final String relationship; + + const PolicyMember({ + required this.id, + required this.name, + required this.relationship, + }); + + factory PolicyMember.fromJson(Map json) { + return PolicyMember( + id: (json['id'] ?? json['employee_id'] ?? '').toString(), + name: (json['name'] ?? '').toString(), + relationship: (json['relationship'] ?? '').toString(), + ); + } +} + +class ChatbotPolicy { + final String clientPolicyId; + final String policyName; + final String eCardDownloadUrl; + final String networkHospitalsUrl; + final List members; + + const ChatbotPolicy({ + required this.clientPolicyId, + required this.policyName, + required this.eCardDownloadUrl, + required this.networkHospitalsUrl, + required this.members, + }); + + factory ChatbotPolicy.fromJson(Map json) { + final membersRaw = (json['EmployeePolicy'] as List?) ?? const []; + return ChatbotPolicy( + clientPolicyId: (json['client_policy_id'] ?? '').toString(), + policyName: (json['heading'] ?? 'Unnamed Policy').toString(), + eCardDownloadUrl: (json['eCardDownload'] ?? '').toString(), + networkHospitalsUrl: (json['network_hospitals_url'] ?? '').toString(), + members: membersRaw + .whereType() + .map((item) => PolicyMember.fromJson(Map.from(item))) + .toList(), + ); + } +} + +class ClaimStatusItem { + final String claimNumber; + final String status; + final String amount; + final String date; + + const ClaimStatusItem({ + required this.claimNumber, + required this.status, + required this.amount, + required this.date, + }); + + factory ClaimStatusItem.fromJson(Map json) { + return ClaimStatusItem( + claimNumber: (json['claim_no'] ?? json['ticket_id'] ?? json['id'] ?? '-') + .toString(), + status: (json['claim_status'] ?? json['status'] ?? 'Pending').toString(), + amount: (json['claim_amount'] ?? json['amount'] ?? '0').toString(), + date: (json['created_at'] ?? json['date'] ?? '-').toString(), + ); + } +} + +enum ChatbotFlowStep { + rootMenu, + policyList, + policyActions, + memberList, + claimStatusList, + helpMenu, +} + +class ChatbotMessage { + final String text; + final bool isBot; + final DateTime createdAt; + + const ChatbotMessage({ + required this.text, + required this.isBot, + required this.createdAt, + }); +} + +class ChatbotOption { + final String id; + final String label; + + const ChatbotOption({ + required this.id, + required this.label, + }); +} diff --git a/lib/features/chatbot/presentation/chatbot_host.dart b/lib/features/chatbot/presentation/chatbot_host.dart new file mode 100644 index 0000000..da64843 --- /dev/null +++ b/lib/features/chatbot/presentation/chatbot_host.dart @@ -0,0 +1,83 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:nhance_app_pwa/customAppBar/responsive.dart'; +import 'package:nhance_app_pwa/features/chatbot/application/chatbot_controller.dart'; +import 'package:nhance_app_pwa/features/chatbot/presentation/widgets/chatbot_fab.dart'; +import 'package:nhance_app_pwa/features/chatbot/presentation/widgets/chatbot_window.dart'; + +class ChatbotHost extends ConsumerStatefulWidget { + final Widget child; + final bool triggerIntroOnHome; + + const ChatbotHost({ + super.key, + required this.child, + this.triggerIntroOnHome = false, + }); + + @override + ConsumerState createState() => _ChatbotHostState(); +} + +class _ChatbotHostState extends ConsumerState { + bool _didFireIntro = false; + + @override + void initState() { + super.initState(); + + WidgetsBinding.instance.addPostFrameCallback((_) { + if (!widget.triggerIntroOnHome) return; + if (_didFireIntro) return; + _didFireIntro = true; + ref.read(chatbotControllerProvider.notifier).triggerHomeIntroAnimation(); + }); + } + + @override + Widget build(BuildContext context) { + final state = ref.watch(chatbotControllerProvider); + final controller = ref.read(chatbotControllerProvider.notifier); + + final isMobile = Responsive.isMobile(context); + final isTablet = Responsive.isTablet(context); + + final mobileBottomInset = + MediaQuery.of(context).padding.bottom + kBottomNavigationBarHeight + 10; + final edgeInsets = isMobile + ? EdgeInsets.only(right: 12, bottom: mobileBottomInset) + : isTablet + ? const EdgeInsets.only(right: 18, bottom: 22) + : const EdgeInsets.only(right: 24, bottom: 24); + + return Stack( + children: [ + widget.child, + if (!(isMobile && state.isOpen)) + Positioned( + right: edgeInsets.right, + bottom: edgeInsets.bottom, + child: AnimatedScale( + scale: state.isIntroAnimating ? 1.14 : 1.0, + duration: const Duration(milliseconds: 250), + curve: Curves.easeOut, + child: ChatbotFab( + isOpen: state.isOpen, + onTap: controller.toggleOpen, + ), + ), + ), + if (state.isOpen) + isMobile + ? const Positioned.fill( + child: ChatbotWindow(), + ) + : Positioned( + right: edgeInsets.right, + bottom: edgeInsets.bottom + 70, + child: const ChatbotWindow(), + ), + ], + ); + } +} diff --git a/lib/features/chatbot/presentation/widgets/chatbot_fab.dart b/lib/features/chatbot/presentation/widgets/chatbot_fab.dart new file mode 100644 index 0000000..e813421 --- /dev/null +++ b/lib/features/chatbot/presentation/widgets/chatbot_fab.dart @@ -0,0 +1,31 @@ +import 'package:flutter/material.dart'; + +class ChatbotFab extends StatelessWidget { + final VoidCallback onTap; + final bool isOpen; + + const ChatbotFab({ + super.key, + required this.onTap, + required this.isOpen, + }); + + @override + Widget build(BuildContext context) { + return FloatingActionButton( + heroTag: 'chatbot_fab', + // backgroundColor: Color(0XFF00999E), + backgroundColor: Colors.white, + elevation: 6, + onPressed: onTap, + child: ClipOval( + child: Image.asset( + 'assets/chatbot_icon.png', + width: 70, + height: 70, + fit: BoxFit.cover, + ), + ), + ); + } +} diff --git a/lib/features/chatbot/presentation/widgets/chatbot_message_card.dart b/lib/features/chatbot/presentation/widgets/chatbot_message_card.dart new file mode 100644 index 0000000..b0decbf --- /dev/null +++ b/lib/features/chatbot/presentation/widgets/chatbot_message_card.dart @@ -0,0 +1,81 @@ +import 'package:flutter/material.dart'; + +class ChatbotMessageCard extends StatelessWidget { + final String text; + final bool isBot; + final DateTime createdAt; + + const ChatbotMessageCard({ + super.key, + required this.text, + required this.isBot, + required this.createdAt, + }); + + @override + Widget build(BuildContext context) { + final avatar = ClipOval( + child: Image.asset( + 'assets/chatbot_icon.png', + width: 30, + height: 30, + fit: BoxFit.cover, + ), + ); + + final bubbleBg = + isBot ? const Color(0xFFFFFCE5) : const Color(0xFFEAF4FF); + final bubbleBorder = isBot ? const Color(0xFFE6EEF5) : Colors.transparent; + + if (!isBot) { + return Align( + alignment: Alignment.centerRight, + child: Container( + margin: const EdgeInsets.only(bottom: 8, left: 60), + padding: const EdgeInsets.fromLTRB(12, 10, 12, 10), + constraints: const BoxConstraints(maxWidth: 280), + decoration: BoxDecoration( + color: bubbleBg, + borderRadius: BorderRadius.circular(14), + border: Border.all(color: bubbleBorder), + ), + child: Text(text), + ), + ); + } + + return Align( + alignment: Alignment.centerLeft, + child: Padding( + padding: const EdgeInsets.only(bottom: 8), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(left: 4, right: 10, top: 2), + child: avatar, + ), + ConstrainedBox( + constraints: const BoxConstraints(maxWidth: 280), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const SizedBox(height: 4), + Container( + padding: const EdgeInsets.fromLTRB(12, 10, 12, 10), + decoration: BoxDecoration( + color: bubbleBg, + borderRadius: BorderRadius.circular(14), + border: Border.all(color: bubbleBorder), + ), + child: Text(text), + ), + ], + ), + ), + ], + ), + ), + ); + } +} diff --git a/lib/features/chatbot/presentation/widgets/chatbot_option_button.dart b/lib/features/chatbot/presentation/widgets/chatbot_option_button.dart new file mode 100644 index 0000000..c603fab --- /dev/null +++ b/lib/features/chatbot/presentation/widgets/chatbot_option_button.dart @@ -0,0 +1,39 @@ +import 'package:flutter/material.dart'; + +class ChatbotOptionButton extends StatelessWidget { + final String label; + final VoidCallback onTap; + + const ChatbotOptionButton({ + super.key, + required this.label, + required this.onTap, + }); + + @override + Widget build(BuildContext context) { + return Padding( + padding: const EdgeInsets.only(bottom: 8), + child: SizedBox( + width: double.infinity, + child: OutlinedButton( + onPressed: onTap, + style: OutlinedButton.styleFrom( + foregroundColor: const Color(0xFF00999E), + side: const BorderSide(color: Color(0xFF00999E)), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(10), + ), + padding: const EdgeInsets.symmetric(vertical: 12, horizontal: 12), + alignment: Alignment.centerLeft, + ), + child: Text( + label, + maxLines: 2, + overflow: TextOverflow.ellipsis, + ), + ), + ), + ); + } +} diff --git a/lib/features/chatbot/presentation/widgets/chatbot_typing_indicator.dart b/lib/features/chatbot/presentation/widgets/chatbot_typing_indicator.dart new file mode 100644 index 0000000..02f459e --- /dev/null +++ b/lib/features/chatbot/presentation/widgets/chatbot_typing_indicator.dart @@ -0,0 +1,109 @@ +import 'package:flutter/material.dart'; + +class ChatbotTypingIndicator extends StatefulWidget { + const ChatbotTypingIndicator({super.key}); + + @override + State createState() => _ChatbotTypingIndicatorState(); +} + +class _ChatbotTypingIndicatorState extends State + with SingleTickerProviderStateMixin { + late final AnimationController _controller; + + @override + void initState() { + super.initState(); + _controller = AnimationController( + vsync: this, + duration: const Duration(milliseconds: 900), + )..repeat(reverse: true); + } + + @override + void dispose() { + _controller.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return Align( + alignment: Alignment.centerLeft, + child: Padding( + padding: const EdgeInsets.only(bottom: 8), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Padding( + padding: EdgeInsets.only(left: 4, right: 10, top: 2), + child: ClipOval( + child: Image( + image: AssetImage('assets/chatbot_icon.png'), + width: 30, + height: 30, + fit: BoxFit.cover, + ), + ), + ), + ConstrainedBox( + constraints: const BoxConstraints(maxWidth: 280), + child: Container( + padding: + const EdgeInsets.symmetric(horizontal: 14, vertical: 10), + decoration: BoxDecoration( + color: const Color(0xFFFFFCE5), + borderRadius: BorderRadius.circular(14), + border: Border.all(color: const Color(0xFFE6EEF5)), + ), + child: AnimatedBuilder( + animation: _controller, + builder: (context, _) { + final t = _controller.value; // 0..1 + double dotOpacity(int i) { + // Stagger the dots + final phase = (t * 2.5) - i * 0.8; + final s = (phase - phase.floor()).abs(); + return (0.3 + (1.0 - s) * 0.7).clamp(0.3, 1.0); + } + + double dotScale(int i) { + final phase = (t * 2.5) - i * 0.8; + final s = (phase - phase.floor()).abs(); + return (0.9 + (1.0 - s) * 0.35).clamp(0.9, 1.25); + } + + return Row( + mainAxisSize: MainAxisSize.min, + children: List.generate( + 3, + (i) => Padding( + padding: const EdgeInsets.symmetric(horizontal: 4), + child: Transform.scale( + scale: dotScale(i), + child: Opacity( + opacity: dotOpacity(i), + child: Container( + width: 10, + height: 10, + decoration: const BoxDecoration( + color: Color(0xFF64748B), + shape: BoxShape.circle, + ), + ), + ), + ), + ), + ), + ); + }, + ), + ), + ), + ], + ), + ), + ); + } +} + diff --git a/lib/features/chatbot/presentation/widgets/chatbot_window.dart b/lib/features/chatbot/presentation/widgets/chatbot_window.dart new file mode 100644 index 0000000..b768024 --- /dev/null +++ b/lib/features/chatbot/presentation/widgets/chatbot_window.dart @@ -0,0 +1,289 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:nhance_app_pwa/customAppBar/responsive.dart'; +import 'package:nhance_app_pwa/features/chatbot/application/chatbot_controller.dart'; +import 'package:nhance_app_pwa/features/chatbot/domain/models/chatbot_models.dart'; +import 'package:nhance_app_pwa/features/chatbot/presentation/widgets/chatbot_message_card.dart'; +import 'package:nhance_app_pwa/features/chatbot/presentation/widgets/chatbot_option_button.dart'; +import 'package:nhance_app_pwa/features/chatbot/presentation/widgets/chatbot_typing_indicator.dart'; + +class ChatbotWindow extends ConsumerStatefulWidget { + const ChatbotWindow({super.key}); + + @override + ConsumerState createState() => _ChatbotWindowState(); +} + +class _ChatbotWindowState extends ConsumerState { + final ScrollController _messagesScrollController = ScrollController(); + final Map statusColors = { + 'Claim Received': Colors.blueGrey, + 'Under Process': Colors.orangeAccent, + 'Information Required': Colors.deepOrange, + 'Approved': Colors.green, + 'Settled': Colors.teal, + 'Denial Review Awaited': Colors.redAccent, + 'Rejected': Colors.red, + }; + + @override + void dispose() { + _messagesScrollController.dispose(); + super.dispose(); + } + + void _scrollToLatestMessage() { + if (!_messagesScrollController.hasClients) return; + WidgetsBinding.instance.addPostFrameCallback((_) { + if (!_messagesScrollController.hasClients) return; + _messagesScrollController.animateTo( + _messagesScrollController.position.maxScrollExtent, + duration: const Duration(milliseconds: 220), + curve: Curves.easeOut, + ); + }); + } + + Color _statusColor(String status) { + return statusColors[status.trim()] ?? const Color(0xFF6B7280); + } + + Widget _buildClaimStatusCard(ClaimStatusItem item) { + final badgeColor = _statusColor(item.status); + return Align( + alignment: Alignment.centerLeft, + child: Padding( + padding: const EdgeInsets.only(bottom: 10), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Padding( + padding: EdgeInsets.only(left: 4, right: 10, top: 2), + child: ClipOval( + child: Image( + image: AssetImage('assets/chatbot_icon.png'), + width: 30, + height: 30, + fit: BoxFit.cover, + ), + ), + ), + ConstrainedBox( + constraints: const BoxConstraints(maxWidth: 280), + child: Container( + padding: + const EdgeInsets.symmetric(horizontal: 12, vertical: 10), + decoration: BoxDecoration( + color: const Color(0xFFFFFCE5), + borderRadius: BorderRadius.circular(14), + boxShadow: const [ + BoxShadow( + color: Color(0x22000000), + blurRadius: 8, + offset: Offset(0, 2), + ), + ], + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Expanded( + child: Text( + item.claimNumber, + style: const TextStyle( + fontWeight: FontWeight.w700, + fontSize: 18, + color: Color(0xFF111827), + ), + maxLines: 1, + overflow: TextOverflow.ellipsis, + ), + ), + const SizedBox(width: 8), + Container( + padding: const EdgeInsets.symmetric( + horizontal: 12, vertical: 5), + decoration: BoxDecoration( + color: badgeColor, + borderRadius: BorderRadius.circular(16), + ), + child: Text( + item.status, + style: const TextStyle( + color: Colors.white, + fontWeight: FontWeight.w600, + fontSize: 12, + ), + ), + ), + ], + ), + const SizedBox(height: 8), + Row( + children: [ + Expanded( + child: Text( + item.amount.isNotEmpty + ? 'Amount: ${item.amount}' + : '-', + textAlign: TextAlign.start, + style: const TextStyle( + color: Color(0xFF374151), + fontSize: 14, + ), + ), + ), + const SizedBox(width: 8), + Text( + item.date, + textAlign: TextAlign.right, + style: const TextStyle( + color: Color(0xFF6B7280), + fontSize: 13, + ), + ), + ], + ), + ], + ), + ), + ), + ], + ), + ), + ); + } + + @override + Widget build(BuildContext context) { + final state = ref.watch(chatbotControllerProvider); + final controller = ref.read(chatbotControllerProvider.notifier); + _scrollToLatestMessage(); + + final isMobile = Responsive.isMobile(context); + final isTablet = Responsive.isTablet(context); + final topPadding = MediaQuery.of(context).padding.top; + final bottomPadding = MediaQuery.of(context).padding.bottom; + + final window = Material( + elevation: isMobile ? 0 : 14, + color: const Color(0xFFF3F7FB), + borderRadius: BorderRadius.circular(isMobile ? 0 : 14), + child: SizedBox( + width: isMobile + ? MediaQuery.of(context).size.width + : isTablet + ? 420 + : 420, + height: isMobile + ? MediaQuery.of(context).size.height + : 560, + child: Column( + children: [ + Container( + decoration: BoxDecoration( + color: Color(0xFF00999E), + borderRadius: BorderRadius.vertical( + top: Radius.circular(isMobile ? 0 : 14), + ), + ), + padding: EdgeInsets.fromLTRB(14, isMobile ? topPadding + 8 : 12, 14, 12), + child: Row( + children: [ + Expanded( + child: Row( + children: [ + ClipOval( + child: Container( + width: 28, + height: 28, + color: Colors.white, + alignment: Alignment.center, + child: Image.asset( + 'assets/chatbot_icon.png', + width: 24, + height: 24, + fit: BoxFit.cover, + ), + ), + ), + const SizedBox(width: 8), + const Text( + 'Nhance Care', + style: TextStyle( + color: Colors.white, + fontWeight: FontWeight.w600, + fontSize: 16, + ), + ), + ], + ), + ), + InkWell( + onTap: controller.close, + child: const Icon(Icons.close, color: Colors.white), + ), + ], + ), + ), + Expanded( + child: Padding( + padding: const EdgeInsets.fromLTRB(12, 12, 12, 0), + child: ListView( + controller: _messagesScrollController, + children: [ + ...state.messages.map( + (item) => ChatbotMessageCard( + text: item.text, + isBot: item.isBot, + createdAt: item.createdAt, + ), + ), + if (state.step == ChatbotFlowStep.claimStatusList && + state.claimStatuses.isNotEmpty) + ...state.claimStatuses.map(_buildClaimStatusCard), + if (state.isLoading) const ChatbotTypingIndicator(), + ], + ), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(12, 8, 12, 12 + (isMobile ? bottomPadding : 0)), + child: Column( + children: state.options + .map( + (option) => ChatbotOptionButton( + label: option.label, + onTap: state.isLoading + ? () {} + : () => controller.onOptionSelected(context, option), + ), + ) + .toList(), + ), + ), + ], + ), + ), + ); + + if (isMobile) { + return AnimatedSlide( + duration: const Duration(milliseconds: 220), + curve: Curves.easeOut, + offset: state.isOpen ? Offset.zero : const Offset(0, 1), + child: window, + ); + } + + return AnimatedScale( + duration: const Duration(milliseconds: 180), + scale: state.isOpen ? 1 : 0.9, + alignment: Alignment.bottomRight, + child: window, + ); + } +} diff --git a/lib/logger.dart b/lib/logger.dart new file mode 100644 index 0000000..890ff01 --- /dev/null +++ b/lib/logger.dart @@ -0,0 +1,78 @@ +import 'dart:developer' as developer; + +import 'package:flutter/foundation.dart'; + +String _timestamp() => DateTime.now().toIso8601String(); + +enum LogLevel { debug, info, warning, error } + +class LoggerConfig { + // Logging is always disabled in non-debug builds. + static bool enabled = true; + + // Keep debug logs off by default to avoid local slowdown on noisy screens. + static LogLevel minLevel = LogLevel.info; + + // Stack parsing is expensive; keep it disabled unless specifically needed. + static bool includeCallerFromStack = false; +} + +String? _inferCallerTag(StackTrace stackTrace) { + final lines = stackTrace.toString().split('\n'); + + // Find the first stack frame that is not inside this logger file. + for (final line in lines) { + if (line.contains('logger.dart')) continue; + + // Example formats vary by platform; we try to extract a readable symbol name. + // Common patterns: + // - "#0 foo.bar (package:.../file.dart:12:3)" + // - "foo.bar (file.dart:12:3)" + final match = RegExp(r'(?:(?:#\d+)\s+)?([A-Za-z0-9_$.<>]+)\s*\(').firstMatch(line); + final symbol = match?.group(1); + if (symbol != null && symbol.trim().isNotEmpty) return symbol.trim(); + } + return null; +} + +void _log( + LogLevel level, + Object? message, { + String? tag, + Object? error, + StackTrace? stackTrace, +}) { + if (!kDebugMode || !LoggerConfig.enabled) return; + if (level.index < LoggerConfig.minLevel.index) return; + + final inferredTag = tag ?? + (LoggerConfig.includeCallerFromStack + ? _inferCallerTag(stackTrace ?? StackTrace.current) + : null); + final levelName = level.name.toUpperCase(); + final fullMessage = '[${_timestamp()}] [$levelName]${inferredTag != null ? ' [$inferredTag]' : ''} $message'; + + developer.log( + fullMessage, + name: inferredTag ?? 'app', + error: error, + stackTrace: stackTrace, + ); +} + +void logDebug(Object? message, {String? tag}) { + _log(LogLevel.debug, message, tag: tag); +} + +void logInfo(Object? message, {String? tag}) { + _log(LogLevel.info, message, tag: tag); +} + +void logWarning(Object? message, {String? tag}) { + _log(LogLevel.warning, message, tag: tag); +} + +void logError(Object? message, {String? tag, Object? error, StackTrace? stackTrace}) { + _log(LogLevel.error, message, tag: tag, error: error, stackTrace: stackTrace); +} + diff --git a/lib/main.dart b/lib/main.dart index e6e77c6..dc9568e 100755 --- a/lib/main.dart +++ b/lib/main.dart @@ -3,7 +3,9 @@ // import 'package:firebase_messaging/firebase_messaging.dart'; import 'package:flutter/material.dart'; import 'package:flutter_dotenv/flutter_dotenv.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:nhance_app_pwa/customAppBar/toastHelper.dart'; +import 'package:nhance_app_pwa/features/chatbot/presentation/chatbot_host.dart'; import 'package:nhance_app_pwa/pages/changePassword.dart'; import 'package:nhance_app_pwa/pages/email_verify.dart'; import 'package:nhance_app_pwa/pages/enrollment/addons.dart'; @@ -11,7 +13,6 @@ import 'package:nhance_app_pwa/pages/enrollment/empDetails.dart'; import 'package:nhance_app_pwa/pages/enrollment/empReview.dart'; import 'package:nhance_app_pwa/pages/login.dart'; import 'package:nhance_app_pwa/pages/postEnrollment/AddPolicyScreen.dart'; -import 'package:nhance_app_pwa/pages/postEnrollment/botman_chat.dart'; import 'package:nhance_app_pwa/pages/postEnrollment/claimprocess.dart'; import 'package:nhance_app_pwa/pages/postEnrollment/claims.dart'; import 'package:nhance_app_pwa/pages/postEnrollment/faqs.dart'; @@ -44,8 +45,13 @@ import 'package:flutter/foundation.dart'; import 'package:go_router/go_router.dart'; import 'config/environment.dart'; +import 'logger.dart'; // import 'dart:html' as html; +Future main() async { + await startApp(); +} + // === Splash (only for mobile) === class SplashScreen extends StatefulWidget { const SplashScreen({super.key}); @@ -89,7 +95,7 @@ class _SplashScreenState extends State { /// Middleware logic for tokens + mpin Future tokenRedirectLogic( BuildContext context, GoRouterState state) async { - print('ABCDEFGH'); + logDebug('ABCDEFGH'); const guestRoutes = [ '/login', '/verify', @@ -99,11 +105,11 @@ Future tokenRedirectLogic( ]; final hasToken = await TokenService.hasValidToken(); - print('hasToken : $hasToken'); + logDebug('hasToken : $hasToken'); final location = state.matchedLocation; - print('Location: $location'); - print('hasToken: $hasToken'); + logDebug('Location: $location'); + logDebug('hasToken: $hasToken'); // Already logged in → prevent guest pages if (hasToken && guestRoutes.contains(location)) { @@ -134,6 +140,7 @@ Future tokenRedirectLogic( Future startApp() async { WidgetsFlutterBinding.ensureInitialized(); + await TokenService.clearLegacyWebAuthFromSharedPreferences(); // await dotenv.load(fileName: Environment.fileName); @@ -190,7 +197,7 @@ Future startApp() async { path: '/policies', builder: (context, state) { final arguments = - state.extra as Map?; // 👈 receive here + state.extra as Map?; // 👈 receive here return policies(arguments: arguments); }, ), @@ -290,7 +297,11 @@ Future startApp() async { await tokenRedirectLogic(context, state), ); - runApp(MyApp(router: router)); + runApp( + ProviderScope( + child: MyApp(router: router), + ), + ); } class MyApp extends StatefulWidget { diff --git a/lib/pages/changePassword.dart b/lib/pages/changePassword.dart index c429778..6bfab11 100755 --- a/lib/pages/changePassword.dart +++ b/lib/pages/changePassword.dart @@ -14,6 +14,8 @@ import '../config/environment.dart'; import '../customAppBar/responsive.dart'; import '../customAppBar/toastHelper.dart'; +import 'package:nhance_app_pwa/logger.dart'; + class changesPassword extends StatefulWidget { final String email; final String client_id; @@ -126,7 +128,7 @@ class _changesPasswordState extends State { _isLoading = false; }); ToastHelper.showErrorToast(context, message!); - print('Invalid mobile number'); + logDebug('Invalid mobile number'); } } else if (response.statusCode == 401) { setState(() { @@ -172,7 +174,7 @@ class _changesPasswordState extends State { _isLoading = false; }); // ToastHelper.showErrorToast(context, 'Something went wrong'); - print('Error: $e'); + logDebug('Error: $e'); } // 🔹 Password validation diff --git a/lib/pages/config/gorouter.dart b/lib/pages/config/gorouter.dart index 6decf68..87f877e 100755 --- a/lib/pages/config/gorouter.dart +++ b/lib/pages/config/gorouter.dart @@ -43,7 +43,6 @@ import '../enrollment/addons.dart'; import '../enrollment/empDetails.dart'; import '../enrollment/empReview.dart'; import '../login.dart'; -import '../postEnrollment/chatbot.dart'; import '../postEnrollment/claimprocess.dart'; import '../postEnrollment/claims.dart'; import '../postEnrollment/faqs.dart'; @@ -227,10 +226,10 @@ class AppRouter { path: '/tickets', builder: (context, state) => tickets(), ), - GoRoute( - path: '/chatbot', - builder: (context, state) => chatbot(), - ), + // GoRoute( + // path: '/chatbot', + // builder: (context, state) => chatbot(), + // ), GoRoute( path: '/wellnessWebView', builder: (context, state) { diff --git a/lib/pages/email_verify.dart b/lib/pages/email_verify.dart index de46905..94e921c 100755 --- a/lib/pages/email_verify.dart +++ b/lib/pages/email_verify.dart @@ -21,13 +21,15 @@ import 'package:jwt_decode/jwt_decode.dart'; import '../config/environment.dart'; import '../customAppBar/responsive.dart'; import '../customAppBar/toastHelper.dart'; - import '../models/platform_helper_mobile.dart' +import '../models/platform_helper_mobile.dart' if (dart.library.html) '../models/platform_helper_other.dart'; // import 'dart:html' as html; import '../pages/helpers/html_stub.dart' if (dart.library.html) '../pages/helpers/html_web.dart'; +import 'package:nhance_app_pwa/logger.dart'; + // import '../pages/helpers/html_stub.dart' if (dart.library.html) 'html_web.dart'; class MyEmailVerify extends StatefulWidget { @@ -102,18 +104,18 @@ class _MyEmailVerifyState extends State { // badge: true, // sound: true, // ); - // print('🔔 Permission: ${settings.authorizationStatus}'); + // logDebug('🔔 Permission: ${settings.authorizationStatus}'); // // if (Platform.isIOS || Platform.isMacOS) { // // Get APNS token // apnsToken = await _firebaseMessaging.getAPNSToken(); - // print('📱 APNS Token (iOS): $apnsToken'); + // logDebug('📱 APNS Token (iOS): $apnsToken'); // // // Retry if null // if (apnsToken == null) { // await Future.delayed(const Duration(seconds: 3)); // apnsToken = await _firebaseMessaging.getAPNSToken(); - // print('🔁 Retried APNS Token: $apnsToken'); + // logDebug('🔁 Retried APNS Token: $apnsToken'); // } // // if (apnsToken != null) { @@ -122,7 +124,7 @@ class _MyEmailVerifyState extends State { // } else if (Platform.isAndroid) { // // Get FCM token // fcmToken = await _firebaseMessaging.getToken(); - // print('🔥 FCM Token (Android): $fcmToken'); + // logDebug('🔥 FCM Token (Android): $fcmToken'); // // if (fcmToken != null) { // await sendDeviceToken(fcmToken!); @@ -134,28 +136,28 @@ class _MyEmailVerifyState extends State { // // // Foreground listener // FirebaseMessaging.onMessage.listen((RemoteMessage message) { - // print('💬 Message: ${message.notification?.title}'); + // logDebug('💬 Message: ${message.notification?.title}'); // ScaffoldMessenger.of(context).showSnackBar( // SnackBar(content: Text(message.notification?.title ?? 'New Notification')), // ); // }); // } catch (e) { - // print('❌ Notification init error: $e'); + // logDebug('❌ Notification init error: $e'); // } // } // Future initNotification() async { // await _firebaseMessaging.requestPermission(); // fCMToken = await _firebaseMessaging.getToken(); - // print('Token : $fCMToken'); + // logDebug('Token : $fCMToken'); // sendDeviceToken(fCMToken); // FirebaseMessaging.onBackgroundMessage(handleBackgroundMessage); // } // // Future handleBackgroundMessage(RemoteMessage message) async { - // print('Title ${message.notification?.title}'); - // print('Body ${message.notification?.body}'); - // print('Playload ${message.data}'); + // logDebug('Title ${message.notification?.title}'); + // logDebug('Body ${message.notification?.body}'); + // logDebug('Playload ${message.data}'); // } Future sendDeviceToken(deviceToken) async { @@ -175,19 +177,19 @@ class _MyEmailVerifyState extends State { if (response.statusCode == 200) { Map data = json.decode(response.body); - print('data: $data'); + logDebug('data: $data'); String status = data['status']; - print(status); + logDebug(status); if (status == 'success') { - print('Token Store Successfully'); + logDebug('Token Store Successfully'); } else { - print('Please try again'); + logDebug('Please try again'); } } else { throw Exception('Failed to store'); } } catch (e) { - print('Error: $e'); + logDebug('Error: $e'); } } @@ -213,7 +215,7 @@ class _MyEmailVerifyState extends State { }); try { - // print('EMAIL PARAMS : ${widget.email} - OTP : $otp'); + // logDebug('EMAIL PARAMS : ${widget.email} - OTP : $otp'); final Map payload = (widget.type == 'mobile') ? {'otp': _otpController.text, 'mobile_number': widget.value} : {'otp': _otpController.text, 'email_id': widget.value}; @@ -226,17 +228,17 @@ class _MyEmailVerifyState extends State { 'APP-SIGNATURE': 'nhance-2025-signature-T8f6gV9k5fK2wf5V5c4vId3b0J8z6cAm2x8Y', }, ); - print('response : ${response.statusCode}'); + logDebug('response : ${response.statusCode}'); if (response.statusCode == 200) { Map data = json.decode(response.body); - print('data: $data'); + logDebug('data: $data'); /// Check API response status first if (data['status'] == 'Invalid OTP') { final SharedPreferences prefs = await SharedPreferences.getInstance(); prefs.clear(); ToastHelper.showErrorToast(context, data['message'] ?? 'Invalid OTP'); - print('API error → ${data['message']}'); + logDebug('API error → ${data['message']}'); return; // stop execution } @@ -244,7 +246,7 @@ class _MyEmailVerifyState extends State { final SharedPreferences prefs = await SharedPreferences.getInstance(); prefs.clear(); ToastHelper.showErrorToast(context, data['message'] ?? 'OTP is required'); - print('API error → ${data['message']}'); + logDebug('API error → ${data['message']}'); return; // stop execution } @@ -262,7 +264,7 @@ class _MyEmailVerifyState extends State { // Save tokens await TokenService.saveTokens(preToken: preToken, postToken: postToken); - print('Tokens saved → preToken: $preToken, postToken: $postToken'); + logDebug('Tokens saved → preToken: $preToken, postToken: $postToken'); _preToken = preToken; String status = data['status']; @@ -275,7 +277,7 @@ class _MyEmailVerifyState extends State { post = data['post_enrollment']; } - print('post: $post'); + logDebug('post: $post'); _postToken = postToken; @@ -294,7 +296,7 @@ class _MyEmailVerifyState extends State { prefs.clear(); ToastHelper.showErrorToast(context, 'OTP verification failed. Please try again.'); // Show a Snackbar if the OTP is invalid - print('OTP verification failed. Please try again.'); + logDebug('OTP verification failed. Please try again.'); } } else if (response.statusCode == 401) { setState(() { @@ -337,10 +339,10 @@ class _MyEmailVerifyState extends State { } catch (e) { final SharedPreferences prefs = await SharedPreferences.getInstance(); prefs.clear(); - print('Error: $e'); + logDebug('Error: $e'); ToastHelper.showWarningToast(context, 'Something went wrong'); // Show a Snackbar if there's an error while verifying OTP - print('Failed to verify OTP. Please try again.'); + logDebug('Failed to verify OTP. Please try again.'); } finally { if (mounted) { setState(() { @@ -364,7 +366,7 @@ class _MyEmailVerifyState extends State { 'client_id': client_id, 'empClientBranchId': empClientBranchId, }); - print('Successfully Login'); + logDebug('Successfully Login'); } void postSuccessData(post, data) async { @@ -388,7 +390,7 @@ class _MyEmailVerifyState extends State { // // Decode the JWT token received from the API response // Map? decodedToken = Jwt.parseJwt(post['data']); - // print('PostdecodedToken : $decodedToken'); + // logDebug('PostdecodedToken : $decodedToken'); // empClientBranchId = decodedToken['client_branch_id']; // prefs.setString('empClientBranchId', empClientBranchId); // empCodeString = decodedToken['emp_code'].toString(); @@ -403,7 +405,7 @@ class _MyEmailVerifyState extends State { // prefs.setString('emp_status', emp_status); // // getClientLogoAndDetails(); - print('Successfully Login'); + logDebug('Successfully Login'); // loginUser( // gpaEmpName: session.gpaEmpName, @@ -426,9 +428,9 @@ class _MyEmailVerifyState extends State { // html.window.dispatchEvent( // html.CustomEvent('userLoggedIn', detail: {'status': 'success'})); // - // print("✅ User logged in! LocalStorage values set."); + // logDebug("✅ User logged in! LocalStorage values set."); // - // print('Successfully Login'); + // logDebug('Successfully Login'); // } // getClientLogoAndDetails(); // Redirect to another page @@ -442,7 +444,7 @@ class _MyEmailVerifyState extends State { session = await SessionManager(); // Decode the JWT token received from the API response // Map? decodedToken = Jwt.parseJwt(data['data']); - // print('enrolldecodedToken : $decodedToken'); + // logDebug('enrolldecodedToken : $decodedToken'); // enrollmentEmpClientBranchId = decodedToken['client_branch_id']; // prefs.setString( // 'enrollmentEmpClientBranchId', enrollmentEmpClientBranchId); @@ -472,16 +474,16 @@ class _MyEmailVerifyState extends State { // html.window.dispatchEvent( // html.CustomEvent('userLoggedIn', detail: {'status': 'success'})); // - // print("✅ User logged in! LocalStorage values set."); + // logDebug("✅ User logged in! LocalStorage values set."); // - // print('Successfully Login'); + // logDebug('Successfully Login'); // } // final SharedPreferences prefs = await SharedPreferences.getInstance(); // final _postToken = prefs.getString('_postToken'); // int skipStatus = prefs.getInt('skipStatus') ?? 1; // final mpinText = prefs.getString('mpinText'); - // print(isMobilePlatform()); + // logDebug(isMobilePlatform()); if (isMobilePlatform()) { @@ -532,7 +534,7 @@ class _MyEmailVerifyState extends State { session = await SessionManager(); // // Decode the JWT token received from the API response // Map? decodedToken = Jwt.parseJwt(data['data']); - // print('decodedToken : $decodedToken'); + // logDebug('decodedToken : $decodedToken'); // enrollmentEmpClientBranchId = decodedToken['client_branch_id']; // prefs.setString('enrollmentEmpClientBranchId', enrollmentEmpClientBranchId); // enrollmentEmpCodeString = decodedToken['emp_code'].toString(); @@ -547,13 +549,13 @@ class _MyEmailVerifyState extends State { // prefs.setString('enrollmentEmp_status', enrollmentEmp_status); // getClientLogoAndDetails(); - print('Successfully Login'); + logDebug('Successfully Login'); // Redirect to another page // final enrollToken = prefs.getString('enrollToken'); // int skipStatus = prefs.getInt('skipStatus') ?? 1; // final mpinText = prefs.getString('mpinText'); - // print(isMobilePlatform()); + // logDebug(isMobilePlatform()); if (isMobilePlatform()) { // if (prefs.containsKey('mpin') && mpinText == 'Mpin - exist') { if (_preToken != null && _preToken.isNotEmpty) { @@ -626,7 +628,7 @@ class _MyEmailVerifyState extends State { } } else { ToastHelper.showErrorToast(context, message); - print('Invalid mobile number'); + logDebug('Invalid mobile number'); } } else { ToastHelper.showErrorToast(context, 'Something went wrong'); @@ -634,18 +636,18 @@ class _MyEmailVerifyState extends State { } } catch (e) { ToastHelper.showErrorToast(context, 'Something went wrong'); - print('Error: $e'); + logDebug('Error: $e'); } } Future checkLoginPin(BuildContext context) async { - print('checkLoginPin'); + logDebug('checkLoginPin'); try { final SharedPreferences prefs = await SharedPreferences.getInstance(); empMobileNo = prefs.getString('empMobileNo'); empEmailid = prefs.getString('empEmailid'); - print('empMobileNo $empMobileNo'); - print('empEmailid $empEmailid'); + logDebug('empMobileNo $empMobileNo'); + logDebug('empEmailid $empEmailid'); // _token = prefs.getString('token'); var params = {}; if (empMobileNo != null && empMobileNo.isNotEmpty) { @@ -654,7 +656,7 @@ class _MyEmailVerifyState extends State { params = {'email_id': empEmailid}; } - print('params $params'); + logDebug('params $params'); final response = await http.post( Uri.parse(Environment.apiUrlEnrollment + 'checkMpin'), @@ -720,16 +722,16 @@ class _MyEmailVerifyState extends State { } } catch (e) { ToastHelper.showErrorToast(context, 'Something went wrong'); - print('Error: $e'); + logDebug('Error: $e'); } } Future checkPassword(BuildContext context,email_id,client_id,route) async { - print('checkLoginPin'); + logDebug('checkLoginPin'); try { final params = {'email_id': email_id,'client_id':client_id}; - print('params $params'); + logDebug('params $params'); final response = await http.post( Uri.parse(Environment.apiUrlEnrollment + 'checkPassword'), @@ -746,7 +748,7 @@ class _MyEmailVerifyState extends State { context.replace('/${route}'); // context.go('/${route}'); } else if(data['status'] == 'failed'){ - print('setPassword'); + logDebug('setPassword'); // goNamed context.replaceNamed( 'setPassword', @@ -763,7 +765,7 @@ class _MyEmailVerifyState extends State { } } catch (e) { ToastHelper.showErrorToast(context, 'Something went wrong'); - print('Error: $e'); + logDebug('Error: $e'); } } @@ -780,9 +782,9 @@ class _MyEmailVerifyState extends State { }, ); if (response.statusCode == 200) { - // print('response.statusCode == 200'); + // logDebug('response.statusCode == 200'); Map data = json.decode(response.body); - // print(data); + // logDebug(data); if (data.containsKey('data')) { dynamic clientDetails = data['data']; @@ -795,27 +797,27 @@ class _MyEmailVerifyState extends State { 'addon_subheading', clientDetails['client']['addon_subheading']); setState(() { // dynamic clientDetails = data['data']; - // print(clientDetails); + // logDebug(clientDetails); clientName = clientDetails['client']['client_name']; - print(clientName); + logDebug(clientName); clientLogo = clientDetails['client']['client_logo']; - print(clientLogo); + logDebug(clientLogo); }); } else { // Handle other status messages if needed // ToastHelper.showErrorToast( // context, 'API request failed with status: ${data['status']}'); - print('API request failed with status: ${data['status']}'); + logDebug('API request failed with status: ${data['status']}'); } } else { // Handle other status codes // ToastHelper.showErrorToast( // context, 'Request failed with status: ${response.statusCode}'); - print('Request failed with status: ${response.statusCode}'); + logDebug('Request failed with status: ${response.statusCode}'); } } catch (e) { // Handle exceptions - print('Exception occurred: $e'); + logDebug('Exception occurred: $e'); } } @@ -1360,8 +1362,8 @@ class _MyEmailVerifyState extends State { // ✅ Must be outside any class — this fixes your error // @pragma('vm:entry-point') // Future firebaseMessagingBackgroundHandler(RemoteMessage message) async { -// print('📨 Handling background message: ${message.messageId}'); -// print('Title: ${message.notification?.title}'); -// print('Body: ${message.notification?.body}'); -// print('Data: ${message.data}'); +// logDebug('📨 Handling background message: ${message.messageId}'); +// logDebug('Title: ${message.notification?.title}'); +// logDebug('Body: ${message.notification?.body}'); +// logDebug('Data: ${message.data}'); // } diff --git a/lib/pages/enrollment/addons.dart b/lib/pages/enrollment/addons.dart index 434b6fb..1ce11dd 100755 --- a/lib/pages/enrollment/addons.dart +++ b/lib/pages/enrollment/addons.dart @@ -17,10 +17,11 @@ import 'dart:convert'; import 'package:intl/intl.dart'; import 'package:url_launcher/url_launcher.dart'; -import '../postEnrollment/chatbot.dart'; import '../service/SessionManager.dart'; import '../service/TokenService.dart'; +import 'package:nhance_app_pwa/logger.dart'; + class addOnsDetails extends StatefulWidget { const addOnsDetails({Key? key}) : super(key: key); @@ -149,6 +150,12 @@ class _addOnsDetailsState extends State { bool isEnrollCompletedStatus = false; final session = SessionManager(); + bool _hasValidECardDownload(dynamic eCardDownload) { + if (eCardDownload == null) return false; + final normalized = eCardDownload.toString().trim().toLowerCase(); + return normalized.isNotEmpty && normalized != 'null'; + } + @override void initState() { super.initState(); @@ -179,7 +186,7 @@ class _addOnsDetailsState extends State { setState(() { isTokenAvailable = token != null && token.isNotEmpty; - print('isTokenAvailable $isTokenAvailable'); + logDebug('isTokenAvailable $isTokenAvailable'); }); } @@ -202,7 +209,7 @@ class _addOnsDetailsState extends State { } Future _loadToken() async { - print('_loadToken'); + logDebug('_loadToken'); final SharedPreferences prefs = await SharedPreferences.getInstance(); final String? token = await TokenService.getPreToken(); if (token != null && token.isNotEmpty) { @@ -296,15 +303,15 @@ class _addOnsDetailsState extends State { clientLogo = clientDetails['client']['client_logo']; } else { // Handle other status messages if needed - print('API request failed with status: ${response['status']}'); + logDebug('API request failed with status: ${response['status']}'); } } else { // Handle other status codes - print('Request failed with status: ${response['code']}'); + logDebug('Request failed with status: ${response['code']}'); } } catch (e) { // Handle exceptions - print('Exception occurred: $e'); + logDebug('Exception occurred: $e'); } } @@ -328,7 +335,7 @@ class _addOnsDetailsState extends State { for (var item in gpaPolicies) { if (isPremiumEnabled(item['is_premium_summery'])) { gpahasPremiumSummary = true; - print('gpahasPremiumSummary $gpahasPremiumSummary'); + logDebug('gpahasPremiumSummary $gpahasPremiumSummary'); break; } // Extract disclaimer value from each object @@ -359,7 +366,7 @@ class _addOnsDetailsState extends State { ), ); } else { - print('Unexpected type for disclaimer'); + logDebug('Unexpected type for disclaimer'); } // Add new entries to the main list, ensuring no duplicate texts @@ -382,11 +389,11 @@ class _addOnsDetailsState extends State { }); // Handle other status codes ToastHelper.showWarningToast(context, 'Something went wrong'); - print('Request failed with status: ${response['code']}'); + logDebug('Request failed with status: ${response['code']}'); } } catch (e) { // Handle exceptions - print('Exception occurred: $e'); + logDebug('Exception occurred: $e'); } } @@ -407,10 +414,10 @@ class _addOnsDetailsState extends State { // setState(() { gmcPolicies = response['data']; for (var item in gmcPolicies) { - print('checking is_premium_summery ${item['is_premium_summery']}'); + logDebug('checking is_premium_summery ${item['is_premium_summery']}'); if (isPremiumEnabled(item['is_premium_summery'])) { gmchasPremiumSummary = true; - print('gmchasPremiumSummary $gmchasPremiumSummary'); + logDebug('gmchasPremiumSummary $gmchasPremiumSummary'); break; } if (item['OpenForEnrollment'] == '1') { @@ -440,7 +447,7 @@ class _addOnsDetailsState extends State { ), ); } else { - print('Unexpected type for disclaimer'); + logDebug('Unexpected type for disclaimer'); } // Add new entries to the main list, ensuring no duplicate texts @@ -462,11 +469,11 @@ class _addOnsDetailsState extends State { gmcDataIsEmpty = 0; }); // Handle other status codes - print('Request failed with status: ${response['code']}'); + logDebug('Request failed with status: ${response['code']}'); } } catch (e) { // Handle exceptions - print('Exception occurred: $e'); + logDebug('Exception occurred: $e'); } } @@ -507,9 +514,14 @@ class _addOnsDetailsState extends State { topUpECardDownload = topUpSiPolicies['gmc_si_topup']['eCardDownload']; - String intOpenForEnrollment = + final dynamic openForEnrollmentRaw = topUpSiPolicies['gmc_si_topup']['OpenForEnrollment']; - topUpOpenForEnrollment = int.parse(intOpenForEnrollment); + if (openForEnrollmentRaw is int) { + topUpOpenForEnrollment = openForEnrollmentRaw; + } else { + topUpOpenForEnrollment = + int.tryParse(openForEnrollmentRaw?.toString() ?? '0') ?? 0; + } topUpTypeName = topUpSiPolicies['gmc_si_topup']['type']; @@ -540,19 +552,19 @@ class _addOnsDetailsState extends State { } // }); } else { - print('No data found in the response'); + logDebug('No data found in the response'); } } else { // Handle other status messages if needed - print('API request failed with status: ${response['status']}'); + logDebug('API request failed with status: ${response['status']}'); } } else { // Handle other status codes - print('Request failed with status: ${response['code']}'); + logDebug('Request failed with status: ${response['code']}'); } } catch (e) { // Handle exceptions - print('Exception occurred: $e'); + logDebug('Exception occurred: $e'); } } @@ -631,7 +643,7 @@ class _addOnsDetailsState extends State { setState(() { topUpParentIsPremiumSummary = isPremiumEnabled(topUpSiParentPolicies['gmc_si_parent_topup']?['is_premium_summery']); - print(topUpParentECardDownload); + logDebug(topUpParentECardDownload); }); @@ -639,19 +651,19 @@ class _addOnsDetailsState extends State { } // }); } else { - print('No data found in the response'); + logDebug('No data found in the response'); } } else { // Handle other status messages if needed - print('API request failed with status: ${response['status']}'); + logDebug('API request failed with status: ${response['status']}'); } } else { // Handle other status codes - print('Request failed with status: ${response['code']}'); + logDebug('Request failed with status: ${response['code']}'); } } catch (e) { // Handle exceptions - print('Exception occurred: $e'); + logDebug('Exception occurred: $e'); } } @@ -677,39 +689,39 @@ class _addOnsDetailsState extends State { addOnsDependentClientPolicyId = addOnsDependentPolicies['gmc_dependent_addon'] ['client_policy_id']; - print('1 $addOnsDependentClientPolicyId'); + logDebug('1 $addOnsDependentClientPolicyId'); addOnsDependentSlabRates = await addOnsDependentPolicies['gmc_dependent_addon'] ['SlabRates']; - print('2 $addOnsDependentSlabRates'); + logDebug('2 $addOnsDependentSlabRates'); addOnsDependentPolicyName = await addOnsDependentPolicies['gmc_dependent_addon'] ['policy_name']; - print('3 $addOnsDependentPolicyName'); + logDebug('3 $addOnsDependentPolicyName'); addOnsDependentPolicyType = await addOnsDependentPolicies['gmc_dependent_addon']['type']; - print('4 $addOnsDependentPolicyType'); + logDebug('4 $addOnsDependentPolicyType'); addOnsDependentFamilyFloater = await addOnsDependentPolicies['gmc_dependent_addon'] ['policy_terms']['family_floater']; - print('5 $addOnsDependentFamilyFloater'); + logDebug('5 $addOnsDependentFamilyFloater'); setState(() { addOnsDependentMappedFamilyFloatersDependent = addOnsDependentPolicies['gmc_dependent_addon'] ['family_floaters_of_dependent_and_si_array']; - print('6 $addOnsDependentMappedFamilyFloatersDependent'); + logDebug('6 $addOnsDependentMappedFamilyFloatersDependent'); String intOpenForEnrollment = addOnsDependentPolicies['gmc_dependent_addon'] ['OpenForEnrollment']; - print('7 $intOpenForEnrollment'); + logDebug('7 $intOpenForEnrollment'); addOnsDependentOpenForEnrollment = int.parse(intOpenForEnrollment); - print('8 $addOnsDependentOpenForEnrollment'); + logDebug('8 $addOnsDependentOpenForEnrollment'); addOnsdependentValue = addOnsDependentPolicies['gmc_dependent_addon'] ['family_floaters_of_dependent_and_si_value']; - print('9 $addOnsdependentValue'); + logDebug('9 $addOnsdependentValue'); // final checkValue = addOnsdependentValue + // addOnsDependentPolicies['gmc_dependent_addon'] // ['family_floaters_of_dependent_and_si_premium_value']; @@ -718,15 +730,15 @@ class _addOnsDetailsState extends State { ['family_floaters_of_dependent_and_si_premium_value'] .toString()); - print('10 $checkValue'); + logDebug('10 $checkValue'); if (checkValue == 0) { - print('11'); + logDebug('11'); addOnsSelectedDependent = null; _addOnsDependentSwitcher = false; } else { - print('12 $addOnsdependentValue'); + logDebug('12 $addOnsdependentValue'); addOnsSelectedDependent = addOnsdependentValue.toString(); - print('13 $addOnsSelectedDependent'); + logDebug('13 $addOnsSelectedDependent'); } // addOnsSelectedDependent = await addOnsdependentValue != 0 // ? addOnsdependentValue.toString() @@ -758,32 +770,32 @@ class _addOnsDetailsState extends State { addOnsDependentIsPremiumSummary = isPremiumEnabled(addOnsDependentPolicies['gmc_dependent_addon']?['is_premium_summery']); }); - print('addOnsDependentIsPremiumSummery $addOnsDependentIsPremiumSummary'); + logDebug('addOnsDependentIsPremiumSummery $addOnsDependentIsPremiumSummary'); addOnsDependentRelationShip = addOnsDependentPolicies['gmc_dependent_addon']['relationship']; // if(addOnsDependentIsPremiumSummery == 1){ - // print('isPremiumSummery true'); + // logDebug('isPremiumSummery true'); // isPremiumSummery = true; // } else { - // print('isPremiumSummery false'); + // logDebug('isPremiumSummery false'); // isPremiumSummery = false; // } }); } else { - print('No data found in the response'); + logDebug('No data found in the response'); } } else { // Handle other status messages if needed - print('API request failed with status: ${response['status']}'); + logDebug('API request failed with status: ${response['status']}'); } } else { // Handle other status codes - print('Request failed with status: ${response['code']}'); + logDebug('Request failed with status: ${response['code']}'); } } catch (e) { // Handle exceptions - print('Exception occurred: $e'); + logDebug('Exception occurred: $e'); } } @@ -804,14 +816,14 @@ class _addOnsDetailsState extends State { throw Exception('Failed to fetch relationship list'); } } catch (error) { - print('Error fetching relationship list: $error'); + logDebug('Error fetching relationship list: $error'); } } Future _selectDate(BuildContext context, formType) async { - print(formType); + logDebug(formType); var ageValidation = formType['age_validation']; - print(ageValidation); + logDebug(ageValidation); if (ageValidation is Map) { int min = ageValidation.containsKey('min') ? int.tryParse(ageValidation['min'].toString()) ?? 0 @@ -820,17 +832,17 @@ class _addOnsDetailsState extends State { ? int.tryParse(ageValidation['max'].toString()) ?? 100 : 100; - print('Min age: $min'); - print('Max age: $max'); + logDebug('Min age: $min'); + logDebug('Max age: $max'); late DateTime minDate; late DateTime maxDate; final DateTime now = DateTime.now(); maxDate = DateTime(now.year - min, now.month, now.day); - print(maxDate); + logDebug(maxDate); minDate = DateTime(now.year - max, now.month, now.day); - print(minDate); + logDebug(minDate); // Ensure initialDate is within the range of minDate and maxDate DateTime initialDate = @@ -873,7 +885,7 @@ class _addOnsDetailsState extends State { }); } } else { - print('Invalid age validation data'); + logDebug('Invalid age validation data'); } } @@ -902,7 +914,7 @@ class _addOnsDetailsState extends State { } } catch (error) { // Handle network errors - print('Error deleting item: $error'); + logDebug('Error deleting item: $error'); } } @@ -947,7 +959,7 @@ class _addOnsDetailsState extends State { ToastHelper.showSuccessToast(context, 'Saved Successfully...'); } else { ToastHelper.showErrorToast(context, 'Failed'); - print('Failed to send form data. Error: ${response}'); + logDebug('Failed to send form data. Error: ${response}'); } } @@ -1011,11 +1023,11 @@ class _addOnsDetailsState extends State { ToastHelper.showErrorToast(context, 'Failed to save'); } } catch (error) { - print('Error saving family members'); + logDebug('Error saving family members'); } } } else { - print(''); + logDebug(''); } } @@ -1067,10 +1079,10 @@ class _addOnsDetailsState extends State { _memberNameController.clear(); _dobController.clear(); } else { - print('Failed to Save...'); + logDebug('Failed to Save...'); } } catch (error) { - print('Error saving family members'); + logDebug('Error saving family members'); } } } else { @@ -1126,10 +1138,10 @@ class _addOnsDetailsState extends State { _memberNameController.clear(); _dobController.clear(); } else { - print('Failed to Save...'); + logDebug('Failed to Save...'); } } catch (error) { - print('Error saving family members'); + logDebug('Error saving family members'); } } } else { @@ -1146,14 +1158,14 @@ class _addOnsDetailsState extends State { final response = await apiService.removeAddonsGmcDependentToAPI( enrollmentEmpCodeString!, addOnsDependentClientPolicyId!); if (response['status'] == 'success') { - print(response['data']); + logDebug(response['data']); } else { // Handle other status codes - print('Request failed with status: ${response['code']}'); + logDebug('Request failed with status: ${response['code']}'); } } catch (e) { // Handle exceptions - print('Exception occurred: $e'); + logDebug('Exception occurred: $e'); } } @@ -1165,14 +1177,14 @@ class _addOnsDetailsState extends State { final response = await apiService.removeAddonsGmcSiToAPI( enrollmentEmpCodeString!, topUpClientPolicyId!); if (response['status'] == 'success') { - print(response['data']); + logDebug(response['data']); } else { // Handle other status codes - print('Request failed with status: ${response['code']}'); + logDebug('Request failed with status: ${response['code']}'); } } catch (e) { // Handle exceptions - print('Exception occurred: $e'); + logDebug('Exception occurred: $e'); } } @@ -1185,14 +1197,14 @@ class _addOnsDetailsState extends State { final response = await apiService.removeAddonsGmcParentSiToAPI( enrollmentEmpCodeString!, topUpParentClientPolicyId!); if (response['status'] == 'success') { - print(response['data']); + logDebug(response['data']); } else { // Handle other status codes - print('Request failed with status: ${response['code']}'); + logDebug('Request failed with status: ${response['code']}'); } } catch (e) { // Handle exceptions - print('Exception occurred: $e'); + logDebug('Exception occurred: $e'); } } @@ -1238,17 +1250,19 @@ class _addOnsDetailsState extends State { topUpSiTotalAmt = topUpSiPremiumValue + topUpSiPremiumGst; + print('topUpSiTotalAmt $topUpSiTotalAmt'); + // topUpSiTotalAmt = (topUpSum as double).toInt(); }); sendAddonsGmcSiToAPI(); } else { - print('Array not found for emp_code $enrollmentEmpCodeString'); + logDebug('Array not found for emp_code $enrollmentEmpCodeString'); } } else { - print('Operation Failed!'); + logDebug('Operation Failed!'); } } catch (error) { - print('Error saving family members'); + logDebug('Error saving family members'); } } @@ -1300,13 +1314,13 @@ class _addOnsDetailsState extends State { }); sendAddonsGmcParentSiToAPI(); } else { - print('Array not found for emp_code $enrollmentEmpCodeString'); + logDebug('Array not found for emp_code $enrollmentEmpCodeString'); } } else { - print('Operation Failed!'); + logDebug('Operation Failed!'); } } catch (error) { - print('Error saving family members'); + logDebug('Error saving family members'); } } @@ -1357,13 +1371,13 @@ class _addOnsDetailsState extends State { addOnDependentPremiumValue + addOnsDependentPremiumGst; }); } else { - print('Array not found for emp_code $enrollmentEmpCodeString'); + logDebug('Array not found for emp_code $enrollmentEmpCodeString'); } } else { - print('Operation Failed!'); + logDebug('Operation Failed!'); } } catch (error) { - print('Error saving family members'); + logDebug('Error saving family members'); } } @@ -1415,14 +1429,14 @@ class _addOnsDetailsState extends State { // Handle other status codes ToastHelper.showErrorToast(context, 'Failed to Save'); _showErrorDialog(); - print('Request failed with status: ${response['code']}'); + logDebug('Request failed with status: ${response['code']}'); } } catch (e) { setState(() { isLoading = false; }); // Handle exceptions - print('Exception occurred: $e'); + logDebug('Exception occurred: $e'); } } @@ -1445,6 +1459,7 @@ class _addOnsDetailsState extends State { 'topUpSiTotalAmt': topUpSiTotalAmt, } ]; + print(siData); SharedPreferences prefs = await SharedPreferences.getInstance(); await prefs.setString('siData', jsonEncode(siData)); } @@ -1560,8 +1575,8 @@ class _addOnsDetailsState extends State { // (int.tryParse(topUpParentOpenForEnrollment ?? '0') != 0) && // (int.tryParse(addOnsDependentOpenForEnrollment ?? '0') != 0); // - // print('enrollmentConditionsMet: $enrollmentConditionsMet'); - // print('gmcEnrollmentStatus: $gmcEnrollmentStatus'); + // logDebug('enrollmentConditionsMet: $enrollmentConditionsMet'); + // logDebug('gmcEnrollmentStatus: $gmcEnrollmentStatus'); // return isChecked && // enrollmentConditionsMet && @@ -2897,8 +2912,8 @@ class _addOnsDetailsState extends State { 0 || (topUpOpenForEnrollment != 0 && - topUpECardDownload != - null)), + _hasValidECardDownload( + topUpECardDownload))), child: DropdownButtonFormField< String>( @@ -2965,8 +2980,8 @@ class _addOnsDetailsState extends State { 0 || (topUpOpenForEnrollment != 0 && - topUpECardDownload != - null)) + _hasValidECardDownload( + topUpECardDownload))) ? null : (value) { setState(() { @@ -3008,8 +3023,8 @@ class _addOnsDetailsState extends State { 0 || (topUpOpenForEnrollment != 0 && - topUpECardDownload != - null)), + _hasValidECardDownload( + topUpECardDownload))), child: DropdownButtonFormField< String>( @@ -4362,7 +4377,7 @@ class _addOnsDetailsState extends State { allDisclaimer.firstWhere( (item) => item['id'] == id, )['checked'] = value!; - print(allDisclaimer); + logDebug(allDisclaimer); }); }, activeColor: const Color(0xFFE26728), // Custom color @@ -4475,7 +4490,8 @@ class _addOnsDetailsState extends State { alignment: Alignment.centerLeft, child: ElevatedButton( onPressed: () { - backFunction(); + // backFunction(); + context.go('/empDetails'); }, child: Text( 'Back', @@ -4643,8 +4659,8 @@ class _addOnsDetailsState extends State { } void openAddFamilyMemberPopup(String action, Map? floaterData) { - print('gmcRelationShip : $addOnsDependentRelationShip'); - print('editGmcRelationShip : $floaterData'); + logDebug('gmcRelationShip : $addOnsDependentRelationShip'); + logDebug('editGmcRelationShip : $floaterData'); Map? selectedFloaterData; String? dropdownValue; @@ -4671,7 +4687,7 @@ class _addOnsDetailsState extends State { relationshipObjects = List>.from(addOnsDependentRelationShip); } - print("Normalized relationship list: $relationshipObjects"); + logDebug("Normalized relationship list: $relationshipObjects"); // Reset UI Fields _relationShipController.clear(); @@ -4760,7 +4776,7 @@ class _addOnsDetailsState extends State { // assign selected relationship FULL OBJECT selectedFloaterData = relationshipObjects.firstWhere( (item) => item["relationship"] == value); - print('selectedFloaterData1234 $selectedFloaterData'); + logDebug('selectedFloaterData1234 $selectedFloaterData'); }, ), @@ -6021,7 +6037,7 @@ class _addOnsDetailsState extends State { (policy["si_gst_value"] ?? 0) + (policy["si_premium_value"] ?? 0)) .fold(0.0, (sum, value) => sum + value); - print('Calculated gpaTotalAmt: $total'); // Debug print + logDebug('Calculated gpaTotalAmt: $total'); // Debug print return total; } @@ -6031,7 +6047,7 @@ class _addOnsDetailsState extends State { } gpaTotalAmt = calculateGpaTotalAmt(policies.cast>()); - print('gpaTotalAmt $gpaTotalAmt'); + logDebug('gpaTotalAmt $gpaTotalAmt'); return (policies as List) .where((policy) => policy is Map) // Ensure each item is a Map @@ -6105,19 +6121,19 @@ class _addOnsDetailsState extends State { (policy["family_floaters_of_dependent_and_si_premium_value"] ?? 0)) .fold(0.0, (sum, value) => sum + value); - print('Calculated gmcTotalAmt: $total'); // Debug print + logDebug('Calculated gmcTotalAmt: $total'); // Debug print return total; } List gmcBuildPolicyRows(dynamic policies, BuildContext context) { - print('gmcBuildPolicyRows $policies'); + logDebug('gmcBuildPolicyRows $policies'); if (policies is! List) { return []; // Return empty list if policies is not a list } gmcTotalAmt = calculateGmcTotalAmt(policies.cast>()); - print('gmcTotalAmt $gmcTotalAmt'); + logDebug('gmcTotalAmt $gmcTotalAmt'); return (policies as List) .where((policy) => policy is Map) // Ensure each item is a Map diff --git a/lib/pages/enrollment/empDetails.dart b/lib/pages/enrollment/empDetails.dart index 86da523..30377e8 100755 --- a/lib/pages/enrollment/empDetails.dart +++ b/lib/pages/enrollment/empDetails.dart @@ -16,10 +16,11 @@ import 'package:flutter/services.dart'; import 'package:intl/intl.dart'; import 'dart:async'; import 'package:url_launcher/url_launcher.dart'; -import '../postEnrollment/chatbot.dart'; import '../service/SessionManager.dart'; import '../service/TokenService.dart'; +import 'package:nhance_app_pwa/logger.dart'; + class empDetails extends StatefulWidget { const empDetails({Key? key}) : super(key: key); @@ -121,7 +122,7 @@ class _empDetailsState extends State { // setState(() async { // isTokenAvailable = // (await TokenService.getPostToken())?.isNotEmpty ?? false; - // print('isTokenAvailable $isTokenAvailable'); + // logDebug('isTokenAvailable $isTokenAvailable'); // }); // } @@ -130,27 +131,27 @@ class _empDetailsState extends State { setState(() { isTokenAvailable = token != null && token.isNotEmpty; - print('isTokenAvailable $isTokenAvailable'); + logDebug('isTokenAvailable $isTokenAvailable'); }); } Future _loadToken() async { - print('_loadToken'); + logDebug('_loadToken'); final SharedPreferences prefs = await SharedPreferences.getInstance(); final String? token = await TokenService.getPreToken(); - print(token); + logDebug(token); if (token != null && token.isNotEmpty) { // Decode the JWT token received from the API response // Decode the JWT token received from the API response enrollmentEmpClientBranchId = session.enrollmentEmpClientBranchId; enrollmentEmpCodeString = session.enrollmentEmpCodeString; - print( + logDebug( 'enrollmentEmpCodeString : $enrollmentEmpCodeString'); // Check if emp_code is correct enrollmentEmpPrimaryId = session.enrollmentEmpPrimaryId; enrollmentGpaEmpName = session.enrollmentGpaEmpName; enrollmentClient_id = session.enrollmentClient_id; selfEmpStatus = prefs.getString('selfEmpStatus'); - print('client_id : $enrollmentClient_id'); + logDebug('client_id : $enrollmentClient_id'); final logo = await prefs.getString('clientLogo'); final name = await prefs.getString('clientName'); @@ -161,7 +162,7 @@ class _empDetailsState extends State { clientName = prefs.getString('clientName'); }); } else { - print('getClientLogoAndDetails()'); + logDebug('getClientLogoAndDetails()'); getClientLogoAndDetails(); } @@ -174,7 +175,7 @@ class _empDetailsState extends State { } // Future _loadToken() async { - // print('_loadToken'); + // logDebug('_loadToken'); // final SharedPreferences prefs = await SharedPreferences.getInstance(); // final String? token = prefs.getString('enrollToken'); // if (token != null && token.isNotEmpty) { @@ -184,17 +185,17 @@ class _empDetailsState extends State { // // // Decode the JWT token received from the API response // Map? decodedToken = Jwt.parseJwt(token); - // print('decodedToken : $decodedToken'); + // logDebug('decodedToken : $decodedToken'); // enrollmentEmpClientBranchId = // prefs.getString('enrollmentEmpClientBranchId'); // enrollmentEmpCodeString = prefs.getString('enrollmentEmpCodeString'); - // print( + // logDebug( // 'enrollmentEmpCodeString : $enrollmentEmpCodeString'); // Check if emp_code is correct // enrollmentEmpPrimaryId = prefs.getString('enrollmentEmpPrimaryId'); // enrollmentGpaEmpName = prefs.getString('enrollmentGpaEmpName'); // enrollmentClient_id = prefs.getString('enrollmentClient_id'); // selfEmpStatus = prefs.getString('selfEmpStatus'); - // print('client_id : $enrollmentClient_id'); + // logDebug('client_id : $enrollmentClient_id'); // // if (prefs.containsKey('clientLogo') && prefs.containsKey('clientName')) { // clientLogo = prefs.getString('clientLogo'); @@ -231,7 +232,7 @@ class _empDetailsState extends State { empClientBranchId, enrollmentClient_id!, enrollmentEmpClientBranchId!); - print('check 1'); + logDebug('check 1'); if (response['status'] == 'success') { if (response.containsKey('data')) { @@ -241,21 +242,21 @@ class _empDetailsState extends State { prefs.setString('clientName', clientDetails['client']['client_name']); setState(() { clientName = clientDetails['client']['client_name']; - print(clientName); + logDebug(clientName); clientLogo = clientDetails['client']['client_logo']; - print(clientLogo); + logDebug(clientLogo); }); } else { // Handle other status messages if needed - print('API request failed with status: ${response['status']}'); + logDebug('API request failed with status: ${response['status']}'); } } else { // Handle other status codes - print('Request failed with status: ${response['code']}'); + logDebug('Request failed with status: ${response['code']}'); } } catch (e) { // Handle exceptions - print('Exception occurred: $e'); + logDebug('Exception occurred: $e'); } } @@ -275,7 +276,7 @@ class _empDetailsState extends State { if (response.containsKey('data')) { setState(() { dynamic selfDetails = response['data']; - print(selfDetails); + logDebug(selfDetails); mobileNumber = selfDetails['relationship']; selfRelationship = selfDetails['relationship']; selfName = selfDetails['name']; @@ -288,7 +289,7 @@ class _empDetailsState extends State { selfEmailPersonal = selfDetails['email_personal']; selfEmpCode = selfDetails['emp_code']; selfFamilyFloaterKey = selfDetails['family_floater_key']; - // print(clientDetails); + // logDebug(clientDetails); selfEmpStatus = selfDetails['emp_status']; selfUnit = selfDetails['unit']; }); @@ -296,15 +297,15 @@ class _empDetailsState extends State { prefs.setString('selfEmpStatus', selfEmpStatus); } else { // Handle other status messages if needed - print('API request failed with status: ${response['status']}'); + logDebug('API request failed with status: ${response['status']}'); } } else { // Handle other status codes - print('Request failed with status: ${response['code']}'); + logDebug('Request failed with status: ${response['code']}'); } } catch (e) { // Handle exceptions - print('Exception occurred: $e'); + logDebug('Exception occurred: $e'); } } @@ -339,7 +340,7 @@ class _empDetailsState extends State { if (response['status'] == 'success') { setState(() { gpaPolicies = response['data']; - print('gpaPolicies'); + logDebug('gpaPolicies'); }); } else { setState(() { @@ -347,11 +348,11 @@ class _empDetailsState extends State { }); // Handle other status codes ToastHelper.showWarningToast(context, 'Something went wrong'); - print('Request failed with status: ${response['code']}'); + logDebug('Request failed with status: ${response['code']}'); } } catch (e) { // Handle exceptions - print('Exception occurred: $e'); + logDebug('Exception occurred: $e'); } } @@ -371,20 +372,20 @@ class _empDetailsState extends State { if (response['status'] == 'success') { setState(() { gmcPolicies = response['data']; - print('gmcPolicies'); + logDebug('gmcPolicies'); }); // Assuming data is a List - print(gmcPolicies); + logDebug(gmcPolicies); } else { setState(() { gmcDataIsEmpty = 0; }); // Handle other status messages if needed - print('API request failed with status: ${response['status']}'); + logDebug('API request failed with status: ${response['status']}'); } } catch (e) { // Handle exceptions - print('Exception occurred: $e'); + logDebug('Exception occurred: $e'); } } @@ -408,14 +409,14 @@ class _empDetailsState extends State { throw Exception('Failed to fetch relationship list'); } } catch (error) { - print('Error fetching relationship list: $error'); + logDebug('Error fetching relationship list: $error'); } } Future _selectDate(BuildContext context, formType) async { - print(formType); + logDebug(formType); var ageValidation = formType['age_validation']; - print(ageValidation); + logDebug(ageValidation); if (ageValidation is Map) { int min = ageValidation.containsKey('min') ? int.tryParse(ageValidation['min'].toString()) ?? 0 @@ -424,17 +425,17 @@ class _empDetailsState extends State { ? int.tryParse(ageValidation['max'].toString()) ?? 100 : 100; - print('Min age: $min'); - print('Max age: $max'); + logDebug('Min age: $min'); + logDebug('Max age: $max'); late DateTime minDate; late DateTime maxDate; final DateTime now = DateTime.now(); maxDate = DateTime(now.year - min, now.month, now.day); - print(maxDate); + logDebug(maxDate); minDate = DateTime(now.year - max, now.month, now.day); - print(minDate); + logDebug(minDate); // Ensure initialDate is within the range of minDate and maxDate DateTime initialDate = @@ -477,7 +478,7 @@ class _empDetailsState extends State { }); } } else { - print('Invalid age validation data'); + logDebug('Invalid age validation data'); } } @@ -492,7 +493,7 @@ class _empDetailsState extends State { } Future deleteItem(Map deletedItem,copyStatus,gmcClientPolicyId) async { - print(deletedItem); + logDebug(deletedItem); try { var id = deletedItem['employee_id']; final response = await apiService.deleteItemToApi(id,copyStatus,gmcClientPolicyId); @@ -509,25 +510,25 @@ class _empDetailsState extends State { getGmcEmpPolicyDetails(enrollmentEmpPrimaryId); fetchRelationshipList(); ToastHelper.showSuccessToast(context, 'Item deleted successfully'); - print('Item deleted successfully'); + logDebug('Item deleted successfully'); } else { // Handle errors ToastHelper.showErrorToast(context, 'Failed to delete item'); - print('Failed to delete item. Status code: ${response['code']}'); - print('Response body: ${response}'); + logDebug('Failed to delete item. Status code: ${response['code']}'); + logDebug('Response body: ${response}'); } } catch (error) { // Handle network errors - print('Error deleting item: $error'); + logDebug('Error deleting item: $error'); } } void saveFamilyMemberDetails(Map formData, Map floatedData, String action, gmcSumInsured) async { // Construct the array of objects - print(formData); - print('floatedData $floatedData'); - print(action); + logDebug(formData); + logDebug('floatedData $floatedData'); + logDebug(action); final SharedPreferences prefs = await SharedPreferences.getInstance(); dynamic primaryId; @@ -576,7 +577,7 @@ class _empDetailsState extends State { getGmcEmpPolicyDetails(enrollmentEmpPrimaryId); fetchRelationshipList(); ToastHelper.showSuccessToast(context, response['message']); - print('Form data sent successfully.'); + logDebug('Form data sent successfully.'); } else { formDataList.clear(); selectedRelationships.clear(); @@ -586,7 +587,7 @@ class _empDetailsState extends State { relationshipOptions.clear(); // Request failed, handle error ToastHelper.showErrorToast(context, response['message']); - print('Failed to send form data. Error: ${response}'); + logDebug('Failed to send form data. Error: ${response}'); } } @@ -694,8 +695,8 @@ class _empDetailsState extends State { @override Widget build(BuildContext context) { if (gpaDataIsEmpty == 0 && gmcDataIsEmpty == 0) { - print('body if'); - print(gpaPolicies); + logDebug('body if'); + logDebug(gpaPolicies); return PopScope( canPop: false, onPopInvokedWithResult: (didPop, result) { @@ -1087,12 +1088,12 @@ class _empDetailsState extends State { // Function to open URL in the default browser Future _launchURL(String url) async { final Uri uri = Uri.parse(url); // Parse the URL properly - print('_launchURL $uri'); + logDebug('_launchURL $uri'); if (uri != null) { - print('If $uri'); + logDebug('If $uri'); await launchUrl(uri, mode: LaunchMode.externalApplication); } else { - print('else $uri'); + logDebug('else $uri'); throw 'Could not launch $url'; } } @@ -1130,8 +1131,8 @@ class _empDetailsState extends State { List relationshipList, dynamic sumInsured, ) { - print('gmcRelationShip : $relationshipList'); - print('editGmcRelationShip : $floaterData'); + logDebug('gmcRelationShip : $relationshipList'); + logDebug('editGmcRelationShip : $floaterData'); Map? selectedFloaterData; String? dropdownValue; @@ -1158,7 +1159,7 @@ class _empDetailsState extends State { relationshipObjects = List>.from(relationshipList); } - print("Normalized relationship list: $relationshipObjects"); + logDebug("Normalized relationship list: $relationshipObjects"); // Reset UI Fields _relationShipController.clear(); @@ -1169,8 +1170,8 @@ class _empDetailsState extends State { // EDIT MODE // ============================ if (action == "Edit" && floaterData != null) { - print('Edit Floater'); - print(floaterData); + logDebug('Edit Floater'); + logDebug(floaterData); dropdownValue = floaterData["relationship"]; @@ -1190,8 +1191,8 @@ class _empDetailsState extends State { _dobController.text = floaterData["dob"]; } // if (action == "Edit" && floaterData != null) { - // print('Edit Floater'); - // print(floaterData); + // logDebug('Edit Floater'); + // logDebug(floaterData); // String rel = floaterData["relationship"]; // // dropdownValue = rel; @@ -1337,9 +1338,9 @@ class _empDetailsState extends State { "dateOfBirth": _dobController.text, }; - print('floaterDatafloaterData'); - print(floaterData); - print(selectedFloaterData); + logDebug('floaterDatafloaterData'); + logDebug(floaterData); + logDebug(selectedFloaterData); saveFamilyMemberDetails( formData, @@ -1729,8 +1730,8 @@ class _empDetailsState extends State { List cards = []; for (var item in data) { - print('item'); - print(item); + logDebug('item'); + logDebug(item); String? gpaPolicyName = item['Policy_Name']; String? gpaPolicyType = item['type']; @@ -2225,27 +2226,27 @@ class _empDetailsState extends State { List cards = []; for (var item in data) { - print('item'); - print(item); + logDebug('item'); + logDebug(item); String gmcPolicyName = item['Policy_Name']; - print('gmcPolicyName $gmcPolicyName'); + logDebug('gmcPolicyName $gmcPolicyName'); String gmcPolicyType = item['type']; - print('gmcPolicyType $gmcPolicyType'); + logDebug('gmcPolicyType $gmcPolicyType'); String gmcClientPolicyId = item['ClientPolicyId']; - print('gmcClientPolicyId $gmcClientPolicyId'); + logDebug('gmcClientPolicyId $gmcClientPolicyId'); String gmcFloaterTextHeading = item['floter_text_heading']; - print('gmcFloaterTextHeading $gmcFloaterTextHeading'); + logDebug('gmcFloaterTextHeading $gmcFloaterTextHeading'); String gmcFloaterTextDescription = item['floter_text_description']; - print('gmcFloaterTextDescription $gmcFloaterTextDescription'); + logDebug('gmcFloaterTextDescription $gmcFloaterTextDescription'); String gmcNotes = item['notes']; - print('gmcNotes $gmcNotes'); + logDebug('gmcNotes $gmcNotes'); String cleanedNotes = gmcNotes?.toString().toLowerCase().replaceAll(' ', '') ?? ''; - print('gmcNotes cleaned: $cleanedNotes'); + logDebug('gmcNotes cleaned: $cleanedNotes'); dynamic gmcECardDownload = item['eCardDownload']; - print('gmcECardDownload $gmcECardDownload'); + logDebug('gmcECardDownload $gmcECardDownload'); bool gmcCopyDependenceDataEnable = item['copy_dependence_data_enable']; - print('gmcCopyDependenceDataEnable $gmcCopyDependenceDataEnable'); + logDebug('gmcCopyDependenceDataEnable $gmcCopyDependenceDataEnable'); // double gmcGstValue = (item['family_floaters_of_dependent_and_gst_value'] ?? 0).toDouble(); double gmcGstValue = double.tryParse(item['family_floaters_of_dependent_and_gst_value']?.toString() ?? '0') ?? 0.0; @@ -2260,7 +2261,7 @@ class _empDetailsState extends State { List gmcRelationShip = item['relationship']; List gmcMappedFamilyFloaters = item['mapped_family_floaters']; - print('gmcMappedFamilyFloaters $gmcMappedFamilyFloaters'); + logDebug('gmcMappedFamilyFloaters $gmcMappedFamilyFloaters'); List getTrueObjects = gmcMappedFamilyFloaters .where((element) => element['is_value_exist'] == true) .toList(); @@ -2268,19 +2269,19 @@ class _empDetailsState extends State { List getFalseObjects = gmcMappedFamilyFloaters .where((element) => element['is_value_exist'] == false) .toList(); - print('getTrueObjects'); - print(getTrueObjects); + logDebug('getTrueObjects'); + logDebug(getTrueObjects); dynamic gmcSumInsured; if (getTrueObjects.length > 0) { - print('true'); + logDebug('true'); gmcSumInsured = gmcMappedFamilyFloaters[0]["data"]["basic_cover_si"]; } else { - print('false'); + logDebug('false'); gmcSumInsured = item['Policy_Terms']['sum_insured']; } String intOpenForEnrollment = item['OpenForEnrollment']; int gmcOpenForEnrollment = int.parse(intOpenForEnrollment); - print('gmcOpenForEnrollment $gmcOpenForEnrollment'); + logDebug('gmcOpenForEnrollment $gmcOpenForEnrollment'); String gmcTypeName = item['type']; @@ -2289,7 +2290,7 @@ class _empDetailsState extends State { for (var floater in gmcMappedFamilyFloaters) { bool isValueExist = floater['is_value_exist']; Map floaterData = floater['data']; - print('floaterData123456 $floaterData'); + logDebug('floaterData123456 $floaterData'); final dobDate = floaterData['dob'] ?? ''; if (isValueExist) { @@ -2649,7 +2650,7 @@ class _empDetailsState extends State { // gmcRelationShip.any((rel) => // (rel?.toString().toLowerCase() ?? '') != 'self')) ...[ // Builder(builder: (context) { - // print("*** Condition is TRUE"); + // logDebug("*** Condition is TRUE"); // GestureDetector( // onTap: () { // if (getFalseObjects.length == 0) { @@ -2697,13 +2698,13 @@ class _empDetailsState extends State { ? rel['relationship']?.toString().toLowerCase() : rel?.toString().toLowerCase() ?? '') != 'self')) ...[ Builder(builder: (context) { - print("*** IF - Condition is TRUE"); - print("*** gmcOpenForEnrollment: $gmcOpenForEnrollment"); - print("*** gmcECardDownload: $gmcECardDownload"); - print("*** getFalseObjects length: ${getFalseObjects.length}"); - print("*** gmcRelationShip full: $gmcRelationShip"); - print("*** gmcNotes original: $gmcNotes"); - print("*** gmcNotes cleaned: $cleanedNotes"); + logDebug("*** IF - Condition is TRUE"); + logDebug("*** gmcOpenForEnrollment: $gmcOpenForEnrollment"); + logDebug("*** gmcECardDownload: $gmcECardDownload"); + logDebug("*** getFalseObjects length: ${getFalseObjects.length}"); + logDebug("*** gmcRelationShip full: $gmcRelationShip"); + logDebug("*** gmcNotes original: $gmcNotes"); + logDebug("*** gmcNotes cleaned: $cleanedNotes"); return GestureDetector( @@ -2746,21 +2747,21 @@ class _empDetailsState extends State { }), ] else ...[ Builder(builder: (context) { - print("*** ELSE - Condition is FALSE"); - print("*** gmcOpenForEnrollment: $gmcOpenForEnrollment → pass: ${gmcOpenForEnrollment != 0}"); - print("*** gmcECardDownload: $gmcECardDownload → pass: ${gmcECardDownload == null}"); - print("*** getFalseObjects length: ${getFalseObjects.length} → pass: ${getFalseObjects.isNotEmpty}"); - print("*** gmcRelationShip full list: $gmcRelationShip"); - print("*** gmcNotes original: $gmcNotes"); - print("*** gmcNotes cleaned: $cleanedNotes"); + logDebug("*** ELSE - Condition is FALSE"); + logDebug("*** gmcOpenForEnrollment: $gmcOpenForEnrollment → pass: ${gmcOpenForEnrollment != 0}"); + logDebug("*** gmcECardDownload: $gmcECardDownload → pass: ${gmcECardDownload == null}"); + logDebug("*** getFalseObjects length: ${getFalseObjects.length} → pass: ${getFalseObjects.isNotEmpty}"); + logDebug("*** gmcRelationShip full list: $gmcRelationShip"); + logDebug("*** gmcNotes original: $gmcNotes"); + logDebug("*** gmcNotes cleaned: $cleanedNotes"); return SizedBox.shrink(); // no widget shown in else }), ], ]else ...[ Builder(builder: (context) { - print("*** OUTER ELSE - Condition is FALSE"); - print("*** gmcNotes original: $gmcNotes"); - print("*** gmcNotes cleaned: $cleanedNotes"); + logDebug("*** OUTER ELSE - Condition is FALSE"); + logDebug("*** gmcNotes original: $gmcNotes"); + logDebug("*** gmcNotes cleaned: $cleanedNotes"); return SizedBox.shrink(); }), @@ -2996,10 +2997,10 @@ class _empDetailsState extends State { } Future copyPreviousPolicy(gmcMappedFamilyFloaters,gmcClientPolicyId,sumInsured) async { - print('gmcClientPolicyId1234 $gmcClientPolicyId'); + logDebug('gmcClientPolicyId1234 $gmcClientPolicyId'); try { final response = await apiService.copyActivePolicy(enrollmentClient_id,enrollmentEmpCodeString,gmcClientPolicyId); - print('ABCDEF ${response['status']}'); + logDebug('ABCDEF ${response['status']}'); if (response['status'] == 'success') { List dependents = response['data']; @@ -3020,7 +3021,7 @@ class _empDetailsState extends State { throw Exception('Failed to fetch relationship list'); } } catch (error) { - print('Error fetching relationship list: $error'); + logDebug('Error fetching relationship list: $error'); } } @@ -3262,7 +3263,7 @@ class _empDetailsState extends State { "basic_cover_si": sumInsured, }; - print("SENDING TO API → $body"); + logDebug("SENDING TO API → $body"); final response = await apiService.saveFamilyMemberDetailsToApi([body]); // API expects a list @@ -3321,8 +3322,8 @@ class _empDetailsState extends State { // }; // }).toList(); // - // print("FINAL JSON TO API:"); - // print(finalList); + // logDebug("FINAL JSON TO API:"); + // logDebug(finalList); // // final response = await apiService.saveFamilyMemberDetailsToApi(finalList); // diff --git a/lib/pages/enrollment/empReview.dart b/lib/pages/enrollment/empReview.dart index 1a1748f..94f4bba 100755 --- a/lib/pages/enrollment/empReview.dart +++ b/lib/pages/enrollment/empReview.dart @@ -16,10 +16,11 @@ import '../../customAppBar/customFooter.dart'; import '../../customAppBar/responsive.dart'; import '../../customAppBar/tabs.dart'; import '../../customAppBar/toastHelper.dart'; -import '../postEnrollment/chatbot.dart'; import '../service/SessionManager.dart'; import '../service/TokenService.dart'; +import 'package:nhance_app_pwa/logger.dart'; + class empReviewDetails extends StatefulWidget { const empReviewDetails({Key? key}) : super(key: key); @@ -41,8 +42,7 @@ class _empReviewDetailsState extends State { bool disclaimeStatus = false; // Declare the _isSwitched variable here bool topUpSiIsChecked = false; // Declare the _isSwitched variable here bool topUpParentIsChecked = false; // Declare the _isSwitched variable here - bool addOnsDependentIsChecked = - false; // Declare the _isSwitched variable here + bool addOnsDependentIsChecked = false; // Declare the _isSwitched variable here dynamic _token; dynamic enrollmentEmpCodeString; @@ -174,7 +174,7 @@ class _empReviewDetailsState extends State { setState(() { isTokenAvailable = token != null && token.isNotEmpty; - print('isTokenAvailable $isTokenAvailable'); + logDebug('isTokenAvailable $isTokenAvailable'); }); } @@ -194,18 +194,18 @@ class _empReviewDetailsState extends State { } Future _loadToken() async { - print('_loadToken'); + logDebug('_loadToken'); final SharedPreferences prefs = await SharedPreferences.getInstance(); final String? token = await TokenService.getPreToken(); if (token != null && token.isNotEmpty) { selfEmpStatus = prefs.getString('selfEmpStatus'); enrollmentEmpClientBranchId = session.enrollmentEmpClientBranchId; enrollmentEmpCodeString = session.enrollmentEmpCodeString; - print(enrollmentEmpCodeString); // Check if emp_code is correct + logDebug(enrollmentEmpCodeString); // Check if emp_code is correct enrollmentEmpPrimaryId = session.enrollmentEmpPrimaryId; enrollmentGpaEmpName = session.enrollmentGpaEmpName; enrollmentClient_id = session.enrollmentClient_id; - print(enrollmentClient_id); + logDebug(enrollmentClient_id); // Call the API when the page enters if (prefs.containsKey('clientLogo') && prefs.containsKey('clientName')) { @@ -235,11 +235,11 @@ class _empReviewDetailsState extends State { // enrollmentEmpClientBranchId = // prefs.getString('enrollmentEmpClientBranchId'); // enrollmentEmpCodeString = prefs.getString('enrollmentEmpCodeString'); - // print(enrollmentEmpCodeString); // Check if emp_code is correct + // logDebug(enrollmentEmpCodeString); // Check if emp_code is correct // enrollmentEmpPrimaryId = prefs.getString('enrollmentEmpPrimaryId'); // enrollmentGpaEmpName = prefs.getString('enrollmentGpaEmpName'); // enrollmentClient_id = prefs.getString('enrollmentClient_id'); - // print(enrollmentClient_id); + // logDebug(enrollmentClient_id); // // // Call the API when the page enters // if (prefs.containsKey('clientLogo') && prefs.containsKey('clientName')) { @@ -273,8 +273,8 @@ class _empReviewDetailsState extends State { if (prefs.containsKey('siData')) { activeSiData = 1; String? siDataJson = prefs.getString('siData'); - print('siDataJson'); - print(siDataJson); + logDebug('siDataJson'); + logDebug(siDataJson); List siDataList = jsonDecode(siDataJson!); if (siDataList.isNotEmpty) { @@ -289,8 +289,8 @@ class _empReviewDetailsState extends State { if (prefs.containsKey('siParentData')) { activeSiParentData = 1; String? siParentDataJson = prefs.getString('siParentData'); - print('siParentDataJson'); - print(siParentDataJson); + logDebug('siParentDataJson'); + logDebug(siParentDataJson); List siParentDataList = jsonDecode(siParentDataJson!); if (siParentDataList.isNotEmpty) { @@ -306,25 +306,25 @@ class _empReviewDetailsState extends State { if (prefs.containsKey('dependentData')) { activeDependentData = 1; String? dependentDataJson = prefs.getString('dependentData'); - print('dependentDataJson'); - print('activeDependentData $activeDependentData'); - print(dependentDataJson); + logDebug('dependentDataJson'); + logDebug('activeDependentData $activeDependentData'); + logDebug(dependentDataJson); List dependentDataList = jsonDecode(dependentDataJson!); if (dependentDataList.isNotEmpty) { // Access the first map in the list Map firstDependentListData = dependentDataList.first; // Get the value of topUpSiPremiumValue - print('150000000000'); + logDebug('150000000000'); addOnDependentPremiumValue = firstDependentListData['addOnDependentPremiumValue']; - print(addOnDependentPremiumValue); + logDebug(addOnDependentPremiumValue); addOnsDependentPremiumGst = firstDependentListData['addOnsDependentPremiumGst']; - print(addOnsDependentPremiumGst); + logDebug(addOnsDependentPremiumGst); addOnsDependentTotalAmt = firstDependentListData['addOnsDependentTotalAmt']; - print(addOnsDependentTotalAmt); + logDebug(addOnsDependentTotalAmt); } } if (prefs.containsKey('siData') && @@ -336,18 +336,18 @@ class _empReviewDetailsState extends State { } // Calculate the sum, skipping any missing values - print('topUpSiTotalAmt: $topUpSiTotalAmt'); - print('topUpParentSiTotalAmt: $topUpParentSiTotalAmt'); - print('addOnsDependentTotalAmt: $addOnsDependentTotalAmt'); - print('gpaTotalAmt: $gpaTotalAmt'); - print('gmcTotalAmt: $gmcTotalAmt'); + logDebug('topUpSiTotalAmt: $topUpSiTotalAmt'); + logDebug('topUpParentSiTotalAmt: $topUpParentSiTotalAmt'); + logDebug('addOnsDependentTotalAmt: $addOnsDependentTotalAmt'); + logDebug('gpaTotalAmt: $gpaTotalAmt'); + logDebug('gmcTotalAmt: $gmcTotalAmt'); if (topUpSiTotalAmt != null) totalPayableAmt += topUpSiTotalAmt; if (topUpParentSiTotalAmt != null) totalPayableAmt += topUpParentSiTotalAmt; if (addOnsDependentTotalAmt != null) totalPayableAmt += addOnsDependentTotalAmt; - print('Final Total Payable Amount: $totalPayableAmt'); + logDebug('Final Total Payable Amount: $totalPayableAmt'); } void _sortDisclaimerByTypeOrder() { @@ -375,22 +375,22 @@ class _empReviewDetailsState extends State { if (response['status'] == 'success') { if (response.containsKey('data')) { dynamic clientDetails = response['data']; - print(clientDetails); + logDebug(clientDetails); clientName = clientDetails['client']['client_name']; - print(clientName); + logDebug(clientName); clientLogo = clientDetails['client']['client_logo']; - print(clientLogo); + logDebug(clientLogo); } else { // Handle other status messages if needed - print('API request failed with status: ${response['status']}'); + logDebug('API request failed with status: ${response['status']}'); } } else { // Handle other status codes - print('Request failed with status: ${response['code']}'); + logDebug('Request failed with status: ${response['code']}'); } } catch (e) { // Handle exceptions - print('Exception occurred: $e'); + logDebug('Exception occurred: $e'); } } @@ -411,12 +411,12 @@ class _empReviewDetailsState extends State { if (response['status'] == 'success') { setState(() { gpaPolicies = response['data']; - print('gpaPolicies'); + logDebug('gpaPolicies'); for (var policy in gpaPolicies) { if (isPremiumEnabled(policy['is_premium_summery'])) { gpahasPremiumSummary = true; - print('gpahasPremiumSummary $gpahasPremiumSummary'); + logDebug('gpahasPremiumSummary $gpahasPremiumSummary'); break; } } @@ -450,7 +450,7 @@ class _empReviewDetailsState extends State { ), ); } else { - print('Unexpected type for disclaimer'); + logDebug('Unexpected type for disclaimer'); } // Add new entries to the main list, ensuring no duplicate texts @@ -473,11 +473,11 @@ class _empReviewDetailsState extends State { }); // Handle other status codes ToastHelper.showWarningToast(context, 'Something went wrong'); - print('Request failed with status: ${response['code']}'); + logDebug('Request failed with status: ${response['code']}'); } } catch (e) { // Handle exceptions - print('Exception occurred: $e'); + logDebug('Exception occurred: $e'); } } @@ -497,12 +497,12 @@ class _empReviewDetailsState extends State { if (response['status'] == 'success') { setState(() { gmcPolicies = response['data']; - print('gmcPolicies $gmcPolicies'); + logDebug('gmcPolicies $gmcPolicies'); for (var policy in gmcPolicies) { if (isPremiumEnabled(policy['is_premium_summery'])) { gmchasPremiumSummary = true; - print('gmchasPremiumSummary $gmchasPremiumSummary'); + logDebug('gmchasPremiumSummary $gmchasPremiumSummary'); break; } } @@ -535,7 +535,7 @@ class _empReviewDetailsState extends State { ), ); } else { - print('Unexpected type for disclaimer'); + logDebug('Unexpected type for disclaimer'); } // Add new entries to the main list, ensuring no duplicate texts @@ -552,17 +552,17 @@ class _empReviewDetailsState extends State { } }); // Assuming data is a List - print(gmcPolicies); + logDebug(gmcPolicies); } else { setState(() { gmcDataIsEmpty = 0; }); // Handle other status codes - print('Request failed with status: ${response['code']}'); + logDebug('Request failed with status: ${response['code']}'); } } catch (e) { // Handle exceptions - print('Exception occurred: $e'); + logDebug('Exception occurred: $e'); } } @@ -581,16 +581,16 @@ class _empReviewDetailsState extends State { if (response['status'] == 'success') { if (response.containsKey('data')) { dynamic topUpSiPolicies = response['data']; - print(topUpSiPolicies); + logDebug(topUpSiPolicies); if (topUpSiPolicies.isNotEmpty) { // setState(() { topUpClientPolicyId = topUpSiPolicies['gmc_si_topup']['client_policy_id']; - print('topUpClientPolicyId12345 $topUpClientPolicyId'); + logDebug('topUpClientPolicyId12345 $topUpClientPolicyId'); topUpSumInsured = topUpSiPolicies['gmc_si_topup'] ['family_floaters_of_only_si_value']; - print(topUpSumInsured); + logDebug(topUpSumInsured); if (topUpSumInsured == 0) { showHideTopUpCard = 0; @@ -608,8 +608,8 @@ class _empReviewDetailsState extends State { topUpMappedFamilyFloatersSiArray = topUpSiPolicies['gmc_si_topup'] ['family_floaters_of_only_si_array']; - print('topUpMappedFamilyFloatersSiArray'); - print(topUpMappedFamilyFloatersSiArray); + logDebug('topUpMappedFamilyFloatersSiArray'); + logDebug(topUpMappedFamilyFloatersSiArray); topUpTypeName = topUpSiPolicies['gmc_si_topup']['type']; @@ -658,7 +658,7 @@ class _empReviewDetailsState extends State { ), ); } else { - print('Unexpected type for disclaimer'); + logDebug('Unexpected type for disclaimer'); } // Add new entries to the main list, ensuring no duplicate texts @@ -677,19 +677,19 @@ class _empReviewDetailsState extends State { // allDisclaimer = allDisclaimer.toSet().toList(); // }); } else { - print('No data found in the response'); + logDebug('No data found in the response'); } } else { // Handle other status messages if needed - print('API request failed with status: ${response['status']}'); + logDebug('API request failed with status: ${response['status']}'); } } else { // Handle other status codes - print('Request failed with status: ${response['code']}'); + logDebug('Request failed with status: ${response['code']}'); } } catch (e) { // Handle exceptions - print('Exception occurred: $e'); + logDebug('Exception occurred: $e'); } } @@ -709,8 +709,8 @@ class _empReviewDetailsState extends State { if (response.containsKey('data')) { setState(() { topUpSiParentPolicies = response['data']; - print('topUpSiParentPolicies'); - print(topUpSiParentPolicies); + logDebug('topUpSiParentPolicies'); + logDebug(topUpSiParentPolicies); }); if (topUpSiParentPolicies.isNotEmpty) { topUpParentClientPolicyId = @@ -719,8 +719,8 @@ class _empReviewDetailsState extends State { topUpParentSlabRates = await topUpSiParentPolicies['gmc_si_parent_topup']['SlabRates']; - print('topUpParentSlabRates'); - print(topUpParentSlabRates); + logDebug('topUpParentSlabRates'); + logDebug(topUpParentSlabRates); topUpParentPolicyName = await topUpSiParentPolicies['gmc_si_parent_topup'] @@ -732,22 +732,22 @@ class _empReviewDetailsState extends State { topUpParentFamilyFloater = await topUpSiParentPolicies['gmc_si_parent_topup'] ['policy_terms']['family_floater']; - print('topUpParentFamilyFloater'); - print(topUpParentFamilyFloater); + logDebug('topUpParentFamilyFloater'); + logDebug(topUpParentFamilyFloater); topUpParentMappedFamilyFloatersSi = await topUpSiParentPolicies['gmc_si_parent_topup'] ['family_floaters_of_only_si_array']; - print('topUpParentMappedFamilyFloatersSi'); - print(topUpParentMappedFamilyFloatersSi); + logDebug('topUpParentMappedFamilyFloatersSi'); + logDebug(topUpParentMappedFamilyFloatersSi); - print('topUpECardDownload'); + logDebug('topUpECardDownload'); topUpParentECardDownload = topUpSiParentPolicies['gmc_si_parent_topup']['eCardDownload']; setState(() { topUpParentIsPremiumSummary = isPremiumEnabled(topUpSiParentPolicies['gmc_si_parent_topup']?['is_premium_summery']); - print(topUpParentECardDownload); + logDebug(topUpParentECardDownload); }); @@ -759,7 +759,7 @@ class _empReviewDetailsState extends State { // topUpSiParentPolicies['gmc_si_parent_topup'] // ['OpenForEnrollment']; // topUpParentOpenForEnrollment = int.parse(intOpenForEnrollment); - // print(topUpParentOpenForEnrollment); + // logDebug(topUpParentOpenForEnrollment); topUpParentTypeName = topUpSiParentPolicies['gmc_si_parent_topup']['type']; @@ -814,7 +814,7 @@ class _empReviewDetailsState extends State { ), ); } else { - print('Unexpected type for disclaimer'); + logDebug('Unexpected type for disclaimer'); } // Add new entries to the main list, ensuring no duplicate texts @@ -830,19 +830,19 @@ class _empReviewDetailsState extends State { } } } else { - print('No data found in the response'); + logDebug('No data found in the response'); } } else { // Handle other status messages if needed - print('API request failed with status: ${response['status']}'); + logDebug('API request failed with status: ${response['status']}'); } } else { // Handle other status codes - print('Request failed with status: ${response['code']}'); + logDebug('Request failed with status: ${response['code']}'); } } catch (e) { // Handle exceptions - print('Exception occurred: $e'); + logDebug('Exception occurred: $e'); } } @@ -861,27 +861,27 @@ class _empReviewDetailsState extends State { if (response['status'] == 'success') { if (response.containsKey('data')) { dynamic addOnsDependentPolicies = response['data']; - print('addOnsDependentPolicies'); - print(addOnsDependentPolicies); + logDebug('addOnsDependentPolicies'); + logDebug(addOnsDependentPolicies); if (addOnsDependentPolicies.isNotEmpty) { addOnsDependentClientPolicyId = addOnsDependentPolicies['gmc_dependent_addon'] ['client_policy_id']; - print(addOnsDependentClientPolicyId); + logDebug(addOnsDependentClientPolicyId); addOnsDependentSumInsured = int.parse( addOnsDependentPolicies['gmc_dependent_addon'] ['family_floaters_of_dependent_and_si_value'] .toString()); - print('addOnsDependentSumInsured $addOnsDependentSumInsured'); + logDebug('addOnsDependentSumInsured $addOnsDependentSumInsured'); var value = int.parse(addOnsDependentPolicies['gmc_dependent_addon'] ['family_floaters_of_dependent_and_si_premium_value'] .toString()); - print(value); + logDebug(value); final checkValue = addOnsDependentSumInsured + value; - print('checkValue $checkValue'); + logDebug('checkValue $checkValue'); if (checkValue == 0) { showHideAddOnsCard = 0; } else { @@ -896,17 +896,17 @@ class _empReviewDetailsState extends State { addOnsDependentPolicyName = addOnsDependentPolicies['gmc_dependent_addon']['policy_name']; - print(addOnsDependentPolicyName); + logDebug(addOnsDependentPolicyName); addOnsDependentPolicyType = addOnsDependentPolicies['gmc_dependent_addon']['type']; - print(addOnsDependentPolicyType); + logDebug(addOnsDependentPolicyType); addOnsDependentMappedFamilyFloatersArray = await addOnsDependentPolicies['gmc_dependent_addon'] ['family_floaters_of_dependent_and_si_array']; - print('addOnsDependentMappedFamilyFloatersArray'); - print(addOnsDependentMappedFamilyFloatersArray); + logDebug('addOnsDependentMappedFamilyFloatersArray'); + logDebug(addOnsDependentMappedFamilyFloatersArray); addOnsFloaterTextHeading = addOnsDependentPolicies['gmc_dependent_addon'] @@ -918,7 +918,7 @@ class _empReviewDetailsState extends State { addOnsDependentDisclaimer = await addOnsDependentPolicies['gmc_dependent_addon'] ['disclaimer']; - print( + logDebug( 'addOnsDependentOpenForEnrollment $addOnsDependentDisclaimer'); addOnsDependentOpenForEnrollment = await addOnsDependentPolicies['gmc_dependent_addon'] @@ -933,12 +933,12 @@ setState(() { // if(addOnsDependentIsPremiumSummary == '1'){ // tabHide = '0'; // } - print( + logDebug( 'addOnsDependentOpenForEnrollment $addOnsDependentOpenForEnrollment'); - print('activeDependentData $activeDependentData'); + logDebug('activeDependentData $activeDependentData'); if (addOnsDependentOpenForEnrollment == '1' && activeDependentData == 1) { - print('addOnsDependentOpenForEnrollment'); + logDebug('addOnsDependentOpenForEnrollment'); if (addOnsDependentDisclaimer != null && addOnsDependentDisclaimer.isNotEmpty) { // Temporary list to hold new entries @@ -965,7 +965,7 @@ setState(() { ), ); } else { - print('Unexpected type for disclaimer'); + logDebug('Unexpected type for disclaimer'); } // Add new entries to the main list, ensuring no duplicate texts @@ -981,19 +981,19 @@ setState(() { } } } else { - print('No data found in the response'); + logDebug('No data found in the response'); } } else { // Handle other status messages if needed - print('API request failed with status: ${response['status']}'); + logDebug('API request failed with status: ${response['status']}'); } } else { // Handle other status codes - print('Request failed with status: ${response['code']}'); + logDebug('Request failed with status: ${response['code']}'); } } catch (e) { // Handle exceptions - print('Exception occurred: $e'); + logDebug('Exception occurred: $e'); } } @@ -1006,7 +1006,7 @@ setState(() { .where((element) => element['is_value_exist'] == true) .toList(); - print('getDependentTrueObjects : $getDependentTrueObjects'); + logDebug('getDependentTrueObjects : $getDependentTrueObjects'); if (getDependentTrueObjects.isNotEmpty) { iAgreeForAddOn.add(int.parse(addOnsDependentClientPolicyId)); @@ -1018,7 +1018,7 @@ setState(() { .where((element) => element['is_value_exist'] == true) .toList(); - print('getSiTrueObjects : $getSiTrueObjects'); + logDebug('getSiTrueObjects : $getSiTrueObjects'); if (getSiTrueObjects.isNotEmpty) { iAgreeForAddOn.add(int.parse(topUpClientPolicyId)); @@ -1030,50 +1030,50 @@ setState(() { .where((element) => element['is_value_exist'] == true) .toList(); - print('getSiTrueObjects $getSiTrueObjects'); + logDebug('getSiTrueObjects $getSiTrueObjects'); if (getSiTrueObjects.isNotEmpty) { iAgreeForAddOn.add(int.parse(topUpParentClientPolicyId)); } } - print('gpaPolicies'); - print(gpaPolicies); - print('gmcPolicies'); - print(gmcPolicies); - print('iAgreeForAddOn $iAgreeForAddOn'); + logDebug('gpaPolicies'); + logDebug(gpaPolicies); + logDebug('gmcPolicies'); + logDebug(gmcPolicies); + logDebug('iAgreeForAddOn $iAgreeForAddOn'); if (gpaDataIsEmpty != 0) { - print('gpaDataIsEmpty : $gpaDataIsEmpty'); + logDebug('gpaDataIsEmpty : $gpaDataIsEmpty'); for (var item in gpaPolicies) { - print('ClientPolicyId'); + logDebug('ClientPolicyId'); // Extract ClientPolicyId value from each object String clientPolicyId = item['ClientPolicyId']; // Convert to integer and add to iAgreeForAddOn list iAgreeForAddOn.add(int.parse(clientPolicyId)); } } - print('iAgreeForAddOn $iAgreeForAddOn'); + logDebug('iAgreeForAddOn $iAgreeForAddOn'); if (gmcDataIsEmpty != 0) { for (var item in gmcPolicies) { - print('ClientPolicyId'); + logDebug('ClientPolicyId'); // Extract ClientPolicyId value from each object String clientPolicyId = item['ClientPolicyId']; // Convert to integer and add to iAgreeForAddOn list iAgreeForAddOn.add(int.parse(clientPolicyId)); } } - print('iAgreeForAddOn'); + logDebug('iAgreeForAddOn'); iAgreeForAddOn = iAgreeForAddOn.toSet().toList(); - print(iAgreeForAddOn); // Output: [90, 92, 88, 89] + logDebug(iAgreeForAddOn); // Output: [90, 92, 88, 89] Map apiParams = { 'emp_code': enrollmentEmpCodeString, 'client_policy_id': iAgreeForAddOn, 'client_id': enrollmentClient_id, }; - print(apiParams); + logDebug(apiParams); // Convert the list of objects to JSON String formDataJson = jsonEncode(apiParams); @@ -1089,7 +1089,7 @@ setState(() { topUpParentIsChecked = false; addOnsDependentIsChecked = false; }); - print('response.statusCode == 200'); + logDebug('response.statusCode == 200'); ToastHelper.showSuccessToast(context, 'Saved Successfully...'); _showSuccessDialog(); } else { @@ -1099,14 +1099,14 @@ setState(() { // Handle other status codes ToastHelper.showErrorToast(context, 'Failed to Save'); _showErrorDialog(); - print('Request failed with status: ${response['code']}'); + logDebug('Request failed with status: ${response['code']}'); } } catch (e) { setState(() { isLoading = false; }); // Handle exceptions - print('Exception occurred: $e'); + logDebug('Exception occurred: $e'); } } @@ -1195,12 +1195,12 @@ setState(() { // Function to open URL in the default browser Future _launchURL(String url) async { final Uri uri = Uri.parse(url); // Parse the URL properly - print('_launchURL $uri'); + logDebug('_launchURL $uri'); if (uri != null) { - print('If $uri'); + logDebug('If $uri'); await launchUrl(uri, mode: LaunchMode.externalApplication); } else { - print('else $uri'); + logDebug('else $uri'); throw 'Could not launch $url'; } } @@ -1212,8 +1212,8 @@ setState(() { // (int.tryParse(topUpParentOpenForEnrollment ?? '0') != 0) && // (int.tryParse(addOnsDependentOpenForEnrollment ?? '0') != 0); // - // print('enrollmentConditionsMet: $enrollmentConditionsMet'); - // print('gmcEnrollmentStatus: $gmcEnrollmentStatus'); + // logDebug('enrollmentConditionsMet: $enrollmentConditionsMet'); + // logDebug('gmcEnrollmentStatus: $gmcEnrollmentStatus'); // return isChecked && // enrollmentConditionsMet && @@ -1442,7 +1442,7 @@ setState(() { ), SizedBox(height: 12), Text( - 'You have completed your enrolment. You can now close this tab', + 'You have completed your enrolment. You can now close this Page', textAlign: TextAlign.center, style: TextStyle( fontSize: 16, @@ -2711,8 +2711,7 @@ setState(() { ...gmcBuildPolicyRows( gmcPolicies, context), if (activeSiData == 1 && - topUpIsPremiumSummary == - '1') + topUpIsPremiumSummary) TableRow( children: [ TableCell( @@ -2807,8 +2806,7 @@ setState(() { ), if (activeSiParentData == 1 && - topUpParentIsPremiumSummary == - '1') + topUpParentIsPremiumSummary) TableRow( children: [ TableCell( @@ -2903,8 +2901,7 @@ setState(() { ), if (activeDependentData == 1 && - addOnsDependentIsPremiumSummary == - '1') + addOnsDependentIsPremiumSummary) TableRow( children: [ TableCell( @@ -3154,7 +3151,7 @@ setState(() { id, )['checked'] = value!; - print( + logDebug( allDisclaimer); }); }, @@ -3370,8 +3367,8 @@ setState(() { List cards = []; for (var item in data) { - print('item'); - print(item); + logDebug('item'); + logDebug(item); String? gpaPolicyName = item['Policy_Name']; String? gpaPolicyType = item['type']; @@ -3399,7 +3396,7 @@ setState(() { String? gpaSumInsured; - print('GPA Disclaimer $allDisclaimer'); + logDebug('GPA Disclaimer $allDisclaimer'); // local checkbox list List checkboxValues = @@ -3876,7 +3873,7 @@ setState(() { ? item['mapped_family_floaters'] : []; - print('GPA Disclaimer $allDisclaimer'); + logDebug('GPA Disclaimer $allDisclaimer'); // ------------------------------- // Find objects where is_value_exist == true @@ -3898,8 +3895,8 @@ setState(() { String gmcTypeName = gmcPolicyType; - print("gmcMappedFamilyFloaters: $gmcMappedFamilyFloaters"); - print("trueObjects: $trueObjects"); + logDebug("gmcMappedFamilyFloaters: $gmcMappedFamilyFloaters"); + logDebug("trueObjects: $trueObjects"); Widget card = trueObjects.length > 0 ? Card( @@ -4296,7 +4293,7 @@ setState(() { (policy["si_gst_value"] ?? 0) + (policy["si_premium_value"] ?? 0)) .fold(0.0, (sum, value) => sum + value); - print('Calculated gpaTotalAmt: $total'); // Debug print + logDebug('Calculated gpaTotalAmt: $total'); // Debug print return total; } @@ -4308,7 +4305,7 @@ setState(() { (policy["family_floaters_of_dependent_and_si_premium_value"] ?? 0)) .fold(0.0, (sum, value) => sum + value); - print('Calculated gmcTotalAmt: $total'); // Debug print + logDebug('Calculated gmcTotalAmt: $total'); // Debug print return total; } @@ -4318,7 +4315,7 @@ setState(() { } gpaTotalAmt = calculateGpaTotalAmt(policies.cast>()); - print('gpaTotalAmt $gpaTotalAmt'); + logDebug('gpaTotalAmt $gpaTotalAmt'); return (policies as List) .where((policy) => policy is Map) // Ensure each item is a Map @@ -4386,14 +4383,14 @@ setState(() { } List gmcBuildPolicyRows(dynamic policies, BuildContext context) { - print('gmcBuildPolicyRows $policies'); + logDebug('gmcBuildPolicyRows $policies'); if (policies is! List) { return []; // Return empty list if policies is not a list } gmcTotalAmt = calculateGmcTotalAmt(policies.cast>()); - print('gmcTotalAmt $gmcTotalAmt'); + logDebug('gmcTotalAmt $gmcTotalAmt'); return (policies as List) .where((policy) => policy is Map) // Ensure each item is a Map diff --git a/lib/pages/enrollment/service/api_service.dart b/lib/pages/enrollment/service/api_service.dart index e6f750e..06b0694 100755 --- a/lib/pages/enrollment/service/api_service.dart +++ b/lib/pages/enrollment/service/api_service.dart @@ -8,6 +8,8 @@ import '../../../customAppBar/toastHelper.dart'; import '../../service/TokenService.dart'; +import 'package:nhance_app_pwa/logger.dart'; + class ApiService { final BuildContext context; String? _token; @@ -23,7 +25,7 @@ class ApiService { Future> getClientLogoAndDetailsToApi(empClientId,empClientBranchId, String clientId, String branchID) async { - print(_token); + logDebug(_token); if (_token == null) { await _initializeToken(); } @@ -41,7 +43,7 @@ class ApiService { Future> getSelfEmployeeProfileToApi( String clientId, String empCode, String branchID) async { - print(_token); + logDebug(_token); if (_token == null) { await _initializeToken(); } @@ -55,7 +57,7 @@ class ApiService { } Future> fetchRelationshipListToApi() async { - print(_token); + logDebug(_token); if (_token == null) { await _initializeToken(); } @@ -69,7 +71,7 @@ class ApiService { Future> getGpaEmpPolicyDetailsToApi(String empPrimaryId, String empCode, String clientId, String policy, String branchID) async { - print(_token); + logDebug(_token); if (_token == null) { await _initializeToken(); } @@ -84,7 +86,7 @@ class ApiService { Future> getGmcEmpPolicyDetailsToApi(String empPrimaryId, String empCode, String clientId, String policy, String branchID) async { - print(_token); + logDebug(_token); if (_token == null) { await _initializeToken(); } @@ -99,7 +101,7 @@ class ApiService { Future> getGmcSiTopUpToApi( String client_id, String emp_code, String policy, String branchID) async { - print(_token); + logDebug(_token); if (_token == null) { await _initializeToken(); } @@ -114,7 +116,7 @@ class ApiService { Future> getGmcSiParentTopUpToApi( String client_id, String emp_code, String policy, String branchID) async { - print(_token); + logDebug(_token); if (_token == null) { await _initializeToken(); } @@ -129,7 +131,7 @@ class ApiService { Future> getGmcDependentAddOnsToApi( String client_id, String emp_code, String policy, String branchID) async { - print(_token); + logDebug(_token); if (_token == null) { await _initializeToken(); } @@ -144,7 +146,7 @@ class ApiService { Future> removeAddonsGmcDependentToAPI( String empCodeString, String addOnsDependentClientPolicyId) async { - print(_token); + logDebug(_token); if (_token == null) { await _initializeToken(); } @@ -159,7 +161,7 @@ class ApiService { Future> removeAddonsGmcSiToAPI( String empCodeString, String topUpClientPolicyId) async { - print(_token); + logDebug(_token); if (_token == null) { await _initializeToken(); } @@ -174,7 +176,7 @@ class ApiService { Future> removeAddonsGmcParentSiToAPI( String empCodeString, String topUpParentClientPolicyId) async { - print(_token); + logDebug(_token); if (_token == null) { await _initializeToken(); } @@ -188,7 +190,7 @@ class ApiService { } Future> deleteItemToApi(id,copyStatus,gmcClientPolicyId) async { - print(_token); + logDebug(_token); if (_token == null) { await _initializeToken(); } @@ -202,7 +204,7 @@ class ApiService { } Future> copyActivePolicy(enrollmentClient_id,enrollmentEmpCodeString,newClientPolicy) async { - print(_token); + logDebug(_token); if (_token == null) { await _initializeToken(); } @@ -217,7 +219,7 @@ class ApiService { Future> saveFamilyMemberDetailsToApi( List> formDataList) async { - print('saveFamilyMemberDetailsToApi API SERVICE'); + logDebug('saveFamilyMemberDetailsToApi API SERVICE'); if (_token == null) { await _initializeToken(); } @@ -239,7 +241,7 @@ class ApiService { Future> saveAddOnsDetailsToApi( List> formDataList) async { - print('saveAddOnsDetailsToApi API SERVICE'); + logDebug('saveAddOnsDetailsToApi API SERVICE'); if (_token == null) { await _initializeToken(); } @@ -261,7 +263,7 @@ class ApiService { Future> sendAddonsGmcDependentToAPI( List> formDataList) async { - print('saveAddOnsDetailsToApi API SERVICE'); + logDebug('saveAddOnsDetailsToApi API SERVICE'); if (_token == null) { await _initializeToken(); } @@ -283,7 +285,7 @@ class ApiService { Future> sendAddonsGmcSiToAPI( List> formDataList) async { - print('saveAddOnsDetailsToApi API SERVICE'); + logDebug('saveAddOnsDetailsToApi API SERVICE'); if (_token == null) { await _initializeToken(); } @@ -305,7 +307,7 @@ class ApiService { Future> sendAddonsGmcParentSiToAPI( List> formDataList) async { - print('saveAddOnsDetailsToApi API SERVICE'); + logDebug('saveAddOnsDetailsToApi API SERVICE'); if (_token == null) { await _initializeToken(); } @@ -327,7 +329,7 @@ class ApiService { Future> sendAddOnToAPI( Map formData) async { - print('sendAddOnToAPI API SERVICE'); + logDebug('sendAddOnToAPI API SERVICE'); if (_token == null) { await _initializeToken(); } @@ -347,7 +349,7 @@ class ApiService { } Future> topUpSiCalculationToAPI(formDataList) async { - print('saveAddOnsDetailsToApi API SERVICE'); + logDebug('saveAddOnsDetailsToApi API SERVICE'); if (_token == null) { await _initializeToken(); } @@ -367,7 +369,7 @@ class ApiService { Future> topUpParentSiCalculationToAPI( formDataList) async { - print('saveAddOnsDetailsToApi API SERVICE'); + logDebug('saveAddOnsDetailsToApi API SERVICE'); if (_token == null) { await _initializeToken(); } @@ -388,7 +390,7 @@ class ApiService { Future> addOnsDependentCalculationToAPI( formDataList) async { - print('saveAddOnsDetailsToApi API SERVICE'); + logDebug('saveAddOnsDetailsToApi API SERVICE'); if (_token == null) { await _initializeToken(); } @@ -411,7 +413,7 @@ class ApiService { // Future> getCashDepositDetailsToApi( // String clintID, String empRefId) async { - // print(_hrtoken); + // logDebug(_hrtoken); // if (_hrtoken == null) { // await _initializeToken(); // } @@ -426,7 +428,7 @@ class ApiService { // // Future> getEmployeeAndDependenceToApi( // String clintID, String getPolicyNo, String empRefId) async { - // print(_hrtoken); + // logDebug(_hrtoken); // if (_hrtoken == null) { // await _initializeToken(); // } diff --git a/lib/pages/helpers/html_web.dart b/lib/pages/helpers/html_web.dart index f7ddf8a..94c435e 100755 --- a/lib/pages/helpers/html_web.dart +++ b/lib/pages/helpers/html_web.dart @@ -1,6 +1,8 @@ // html_web.dart import 'dart:html' as html; +import 'package:nhance_app_pwa/logger.dart'; + class HtmlHelper { static void saveLoginData(Map data) { data.forEach((key, value) { @@ -11,6 +13,6 @@ class HtmlHelper { html.CustomEvent('userLoggedIn', detail: {'status': 'success'}), ); - print("✅ User logged in! LocalStorage values set (web)."); + logDebug("✅ User logged in! LocalStorage values set (web)."); } } diff --git a/lib/pages/login.dart b/lib/pages/login.dart index b644c2e..e91e0f4 100755 --- a/lib/pages/login.dart +++ b/lib/pages/login.dart @@ -20,6 +20,8 @@ import '../models/platform_helper_mobile.dart' if (dart.library.html) '../models/platform_helper_other.dart'; import 'package:pinput/pinput.dart'; +import 'package:nhance_app_pwa/logger.dart'; + class login extends StatefulWidget { const login({Key? key}); @@ -112,19 +114,19 @@ class _loginState extends State { if (kIsWeb) { final SharedPreferences prefs = await SharedPreferences.getInstance(); prefs.clear(); - print('Local Storage Clear'); + logDebug('Local Storage Clear'); } } } Future checkLoginPin(BuildContext context) async { - print('checkLoginPin'); + logDebug('checkLoginPin'); try { final SharedPreferences prefs = await SharedPreferences.getInstance(); empMobileNo = prefs.getString('empMobileNo'); empEmailid = prefs.getString('empEmailid'); - print('empMobileNo $empMobileNo'); - print('empEmailid $empEmailid'); + logDebug('empMobileNo $empMobileNo'); + logDebug('empEmailid $empEmailid'); // _token = prefs.getString('token'); var params = {}; if (empMobileNo != null && empMobileNo.isNotEmpty) { @@ -145,7 +147,7 @@ class _loginState extends State { if (response.statusCode == 200) { Map data = json.decode(response.body); if (data['status'] == 'success') { - print('data'); + logDebug('data'); if (data['data'] != null) { prefs.setString('mpinText', data['data']); } @@ -204,7 +206,7 @@ class _loginState extends State { } } catch (e) { // ToastHelper.showErrorToast(context, 'Something went wrong'); - print('Error: $e'); + logDebug('Error: $e'); } } @@ -237,10 +239,10 @@ class _loginState extends State { setState(() { isEmailFieldVisible = true; }); - print("User entered Email: $input"); + logDebug("User entered Email: $input"); } else if (isMobile) { isEmailFieldVisible = false; - print("User entered Mobile: $input"); + logDebug("User entered Mobile: $input"); } @@ -275,9 +277,9 @@ class _loginState extends State { ToastHelper.showSuccessToast( context, 'Verification code sent to ${emailMobileController.text}'); if (isEmailFieldVisible) { - print('isEmailFieldVisible $isEmailFieldVisible'); + logDebug('isEmailFieldVisible $isEmailFieldVisible'); // prefs.setString('empEmail', emailController.text); - print('${emailMobileController.text}'); + logDebug('${emailMobileController.text}'); context.go( '/mailVerify', extra: { @@ -304,7 +306,7 @@ class _loginState extends State { _isLoading = false; }); ToastHelper.showErrorToast(context, message); - print('Invalid mobile number'); + logDebug('Invalid mobile number'); } } else if (response.statusCode == 429) { setState(() { @@ -326,14 +328,14 @@ class _loginState extends State { _isLoading = false; }); ToastHelper.showErrorToast(context, 'Something went wrong'); - print('Error: $e'); + logDebug('Error: $e'); } } // Future _verifyPhoneNumber() async { // var enteredMobileNumber = mobileController.text; // var countryCode = countryController.text; - // print('${countryCode + enteredMobileNumber}'); + // logDebug('${countryCode + enteredMobileNumber}'); // await _auth.verifyPhoneNumber( // phoneNumber: '${countryCode + enteredMobileNumber}', // timeout: const Duration(seconds: 60), @@ -345,7 +347,7 @@ class _loginState extends State { // // }); // }, // verificationFailed: (FirebaseAuthException e) { - // print('Verification Failed: ${e.code} - ${e.message}'); + // logDebug('Verification Failed: ${e.code} - ${e.message}'); // String errorMessage; // if (e.code == 'invalid-app-credential') { // errorMessage = 'Invalid Credential. Please try again.'; @@ -431,7 +433,7 @@ class _loginState extends State { // }, // verificationFailed: (FirebaseAuthException e) { // if (e.code == 'invalid-phone-number') { - // print('The provided phone number is not valid.'); + // logDebug('The provided phone number is not valid.'); // } // }, // codeSent: (String verificationId, int? resendToken) async{ @@ -484,7 +486,7 @@ class _loginState extends State { _isLoading = true; }); - // print('EMAIL PARAMS : ${widget.email} - OTP : $otp'); + // logDebug('EMAIL PARAMS : ${widget.email} - OTP : $otp'); final Map payload = { 'email_id': emailController.text, 'password': passwordController.text @@ -498,13 +500,13 @@ class _loginState extends State { 'APP-SIGNATURE': 'nhance-2025-signature-T8f6gV9k5fK2wf5V5c4vId3b0J8z6cAm2x8Y', }, ); - print('response : ${response.statusCode}'); + logDebug('response : ${response.statusCode}'); if (response.statusCode == 200) { setState(() { _isLoading = false; }); Map data = json.decode(response.body); - print('data: $data'); + logDebug('data: $data'); /// Check API response status first if (data['status'] == 'Invalid Password') { @@ -513,7 +515,7 @@ class _loginState extends State { prefs.clear(); ToastHelper.showErrorToast( context, data['message'] ?? 'Invalid Password'); - print('API error → ${data['message']}'); + logDebug('API error → ${data['message']}'); return; // stop execution } @@ -532,14 +534,14 @@ class _loginState extends State { // Save tokens await TokenService.saveTokens( preToken: preToken, postToken: postToken); - print('Tokens saved → preToken: $preToken, postToken: $postToken'); + logDebug('Tokens saved → preToken: $preToken, postToken: $postToken'); _preToken = preToken; String status = data['status']; // Directly access the post_enrollment data Map post = data['post_enrollment']; - print('post: $post'); + logDebug('post: $post'); _postToken = postToken; String postStatus = post['status']; @@ -564,7 +566,7 @@ class _loginState extends State { ToastHelper.showErrorToast( context, 'Invalid Passsword. Please try again'); // Show a Snackbar if the OTP is invalid - print('Invalid Password. Please try again'); + logDebug('Invalid Password. Please try again'); } } else { setState(() { @@ -582,10 +584,10 @@ class _loginState extends State { }); final SharedPreferences prefs = await SharedPreferences.getInstance(); prefs.clear(); - print('Error: $e'); + logDebug('Error: $e'); ToastHelper.showWarningToast(context, 'Something went wrong'); // Show a Snackbar if there's an error while verifying OTP - print('Failed to verify OTP. Please try again.'); + logDebug('Failed to verify OTP. Please try again.'); } } @@ -597,7 +599,7 @@ class _loginState extends State { final SharedPreferences prefs = await SharedPreferences.getInstance(); await SessionManager().initializeFromPostToken(post['data']); session = await SessionManager(); - print('Successfully Login'); + logDebug('Successfully Login'); } if (status == 'success') { @@ -621,8 +623,8 @@ class _loginState extends State { await SessionManager().initializeFromPreToken(data['data']); session = await SessionManager(); getClientLogoAndDetails(); - print('Successfully Login'); - print(isMobilePlatform()); + logDebug('Successfully Login'); + logDebug(isMobilePlatform()); if (_preToken != null && _preToken.isNotEmpty) { ToastHelper.showSuccessToast(context, 'Successfully Logged In'); context.go('/home'); @@ -646,9 +648,9 @@ class _loginState extends State { }, ); if (response.statusCode == 200) { - // print('response.statusCode == 200'); + // logDebug('response.statusCode == 200'); Map data = json.decode(response.body); - // print(data); + // logDebug(data); if (data.containsKey('data')) { dynamic clientDetails = data['data']; @@ -661,27 +663,27 @@ class _loginState extends State { 'addon_subheading', clientDetails['client']['addon_subheading']); setState(() { // dynamic clientDetails = data['data']; - // print(clientDetails); + // logDebug(clientDetails); clientName = clientDetails['client']['client_name']; - print(clientName); + logDebug(clientName); clientLogo = clientDetails['client']['client_logo']; - print(clientLogo); + logDebug(clientLogo); }); } else { // Handle other status messages if needed // ToastHelper.showErrorToast( // context, 'API request failed with status: ${data['status']}'); - print('API request failed with status: ${data['status']}'); + logDebug('API request failed with status: ${data['status']}'); } } else { // Handle other status codes // ToastHelper.showErrorToast( // context, 'Request failed with status: ${response.statusCode}'); - print('Request failed with status: ${response.statusCode}'); + logDebug('Request failed with status: ${response.statusCode}'); } } catch (e) { // Handle exceptions - print('Exception occurred: $e'); + logDebug('Exception occurred: $e'); } } @@ -746,7 +748,7 @@ class _loginState extends State { _isLoading = false; }); ToastHelper.showErrorToast(context, message); - print('Invalid mobile number'); + logDebug('Invalid mobile number'); } } else { setState(() { @@ -761,7 +763,7 @@ class _loginState extends State { _isLoading = false; }); ToastHelper.showErrorToast(context, 'Something went wrong'); - print('Error: $e'); + logDebug('Error: $e'); } } @@ -792,11 +794,11 @@ class _loginState extends State { if (response.statusCode == 200) { Map data = json.decode(response.body); - print(data); + logDebug(data); String? verificationStatus = data['status']; - print(verificationStatus); + logDebug(verificationStatus); String? message = data['message']; - print(message); + logDebug(message); if (verificationStatus == 'success') { final SharedPreferences prefs = await SharedPreferences.getInstance(); @@ -827,7 +829,7 @@ class _loginState extends State { _isLoading = false; }); ToastHelper.showErrorToast(context, message!); - print('Invalid mobile number'); + logDebug('Invalid mobile number'); } } else { setState(() { @@ -842,7 +844,7 @@ class _loginState extends State { _isLoading = false; }); ToastHelper.showErrorToast(context, 'Something went wrong'); - print('Error: $e'); + logDebug('Error: $e'); } } @@ -907,7 +909,7 @@ class _loginState extends State { _isLoading = false; }); ToastHelper.showErrorToast(context, message!); - print('Invalid mobile number'); + logDebug('Invalid mobile number'); } } else { setState(() { @@ -921,7 +923,7 @@ class _loginState extends State { _isLoading = false; }); // ToastHelper.showErrorToast(context, 'Something went wrong'); - print('Error: $e'); + logDebug('Error: $e'); } // 🔹 Password validation @@ -991,7 +993,7 @@ class _loginState extends State { _isLoading = false; }); ToastHelper.showErrorToast(context, message); - print('Invalid mobile number'); + logDebug('Invalid mobile number'); } } else { setState(() { @@ -1006,7 +1008,7 @@ class _loginState extends State { _isLoading = false; }); ToastHelper.showErrorToast(context, 'Something went wrong'); - print('Error: $e'); + logDebug('Error: $e'); } } diff --git a/lib/pages/postEnrollment/AddPolicyScreen.dart b/lib/pages/postEnrollment/AddPolicyScreen.dart index 05a19c9..e971ba4 100755 --- a/lib/pages/postEnrollment/AddPolicyScreen.dart +++ b/lib/pages/postEnrollment/AddPolicyScreen.dart @@ -13,6 +13,8 @@ import '../../customAppBar/toastHelper.dart'; import '../service/SessionManager.dart'; import '../service/TokenService.dart'; +import 'package:nhance_app_pwa/logger.dart'; + class AddPolicyScreen extends StatefulWidget { const AddPolicyScreen({super.key}); @@ -100,7 +102,7 @@ class _AddPolicyScreenState extends State { throw Exception('Failed to fetch master data'); } } catch (error) { - print('Error fetching list: $error'); + logDebug('Error fetching list: $error'); } } @@ -131,7 +133,7 @@ class _AddPolicyScreenState extends State { } } } catch (e) { - print('Submit error: $e'); + logDebug('Submit error: $e'); } finally { if (mounted) { setState(() => isLoading = false); diff --git a/lib/pages/postEnrollment/botman_chat.dart b/lib/pages/postEnrollment/botman_chat.dart deleted file mode 100755 index dda4a1f..0000000 --- a/lib/pages/postEnrollment/botman_chat.dart +++ /dev/null @@ -1,98 +0,0 @@ -// import 'package:flutter/material.dart'; -// import 'package:nhance_app_pwa/models/environment.dart'; -// import 'package:webview_flutter/webview_flutter.dart'; -// import 'package:url_launcher/url_launcher.dart'; -// -// class ChatbotWebViewPage extends StatefulWidget { -// final String client_branch_id; -// final String empCodeString; -// final String empName; -// final String empPrimaryId; -// final String client_id; -// -// const ChatbotWebViewPage({ -// Key? key, -// required this.client_branch_id, -// required this.empCodeString, -// required this.empName, -// required this.empPrimaryId, -// required this.client_id, -// }) : super(key: key); -// -// @override -// State createState() => _ChatbotWebViewPageState(); -// } -// -// class _ChatbotWebViewPageState extends State { -// late final WebViewController _controller; -// late final String chatbotDomain; -// late final String initialUrl; -// -// @override -// void initState() { -// super.initState(); -// final chatbotURL = Environment.chatBotUrl; -// print('chatbotURL $chatbotURL'); -// -// initialUrl = Uri.parse( -// '$chatbotURL' -// '?employee_id=${widget.empPrimaryId}' -// '&emp_code=${widget.empCodeString}' -// '&origin=mob' -// '&name=${Uri.encodeComponent(widget.empName)}' -// '&client_id=${widget.client_id}' -// '&client_branch_id=${widget.client_branch_id}', -// ).toString(); -// -// // Extract the domain for comparison -// final uri = Uri.parse(chatbotURL); -// chatbotDomain = '${uri.scheme}://${uri.host}'; -// -// _controller = WebViewController() -// ..setJavaScriptMode(JavaScriptMode.unrestricted) -// ..setBackgroundColor(Colors.transparent) -// ..setNavigationDelegate( -// NavigationDelegate( -// onNavigationRequest: (NavigationRequest request) { -// debugPrint("Navigation requested: ${request.url}"); -// debugPrint("Is main frame: ${request.isMainFrame}"); -// -// // Allow navigation within the chatbot domain -// if (request.url.startsWith(chatbotDomain)) { -// return NavigationDecision.navigate; -// } else { -// // Open external links in browser -// _launchInExternalBrowser(Uri.parse(request.url)); -// return NavigationDecision.prevent; -// } -// }, -// onWebResourceError: (error) { -// debugPrint("WebView error: ${error.description}"); -// }, -// onPageStarted: (String url) { -// debugPrint("Page started loading: $url"); -// }, -// onPageFinished: (String url) { -// debugPrint("Page finished loading: $url"); -// }, -// ), -// ) -// ..loadRequest(Uri.parse(initialUrl)); -// } -// -// Future _launchInExternalBrowser(Uri url) async { -// if (await canLaunchUrl(url)) { -// await launchUrl(url, mode: LaunchMode.externalApplication); -// } else { -// debugPrint("Could not launch $url"); -// } -// } -// -// @override -// Widget build(BuildContext context) { -// return Scaffold( -// appBar: AppBar(title: const Text('Ask ILA')), -// body: WebViewWidget(controller: _controller), -// ); -// } -// } \ No newline at end of file diff --git a/lib/pages/postEnrollment/chatbot.dart b/lib/pages/postEnrollment/chatbot.dart deleted file mode 100755 index ad3e996..0000000 --- a/lib/pages/postEnrollment/chatbot.dart +++ /dev/null @@ -1,536 +0,0 @@ -import 'dart:convert'; - -import 'package:dash_chat_2/dash_chat_2.dart'; -import 'package:flutter/material.dart'; -import 'package:nhance_app_pwa/pages/postEnrollment/service/api_service.dart'; -import 'package:shared_preferences/shared_preferences.dart'; -import 'package:url_launcher/url_launcher.dart'; -import '../../customAppBar/customAppBar.dart'; -import '../../customAppBar/customAppBarChatbot.dart'; -import '../../customAppBar/responsive.dart'; -import 'data.dart'; - -class chatbot extends StatefulWidget { - @override - _chatbotState createState() => _chatbotState(); -} - -class _chatbotState extends State { - late ApiService apiService; - List messages = []; - Map firstApiOptions = {}; - dynamic isOptionStatus; - dynamic requestStatus; - dynamic returnMessage; - dynamic mobileNo; - dynamic policyID; - dynamic empCode; - dynamic empClientBranchId; - dynamic client_id; - dynamic navigation_type; - dynamic navigation; - - @override - void initState() { - super.initState(); - apiService = ApiService(context); // Initialize ApiService here - checkMessageBackup(); - } - - @override - void dispose() { - // saveChatMessages(); - clearChatMessages(); // Save chat messages when closing - super.dispose(); - } - - Future checkMessageBackup() async { - print('checkMessageBackup'); - final SharedPreferences prefs = await SharedPreferences.getInstance(); - if (prefs.containsKey('chat_messages') && - prefs.containsKey('chat_messages') != []) { - print('loadChatMessages'); - loadChatMessages(); // Load stored messages - } else { - print('quickReplyOptions'); - quickReplyOptions(); - } - } - - // Save chat messages to SharedPreferences - Future saveChatMessages() async { - final SharedPreferences prefs = await SharedPreferences.getInstance(); - List chatMessages = - messages.map((message) => jsonEncode(message.toJson())).toList(); - await prefs.setStringList('chat_messages', chatMessages); - } - - // Load chat messages from SharedPreferences - Future loadChatMessages() async { - print('quickReplyOptions Function'); - final SharedPreferences prefs = await SharedPreferences.getInstance(); - if (prefs.containsKey('chat_messages')) { - List? chatMessages = prefs.getStringList('chat_messages'); - print('chatMessages $chatMessages'); - if (chatMessages != null) { - print('chatMessages'); - setState(() { - messages = chatMessages - .map((message) => ChatMessage.fromJson(jsonDecode(message))) - .toList(); - isOptionStatus = 1; - requestStatus = 'Start'; - // final storedDataString = prefs.getString('messageBackDetails'); - // print('Stored Data String: $storedDataString'); // Debugging step - - // if (storedDataString != null) { - // try { - // // dynamic chatApiData = response['data']; - // dynamic chatApiData = - // jsonDecode(storedDataString); // Decode the JSON string - // print('Decoded Data: $chatApiData'); // Debugging step - // isOptionStatus = 1; - // requestStatus = 'Start'; - // // Proceed with your logic if the string is valid JSON - // returnMessage = chatApiData['text']; - // isOptionStatus = chatApiData['is_option']; - // requestStatus = chatApiData['request_for']; - // navigation = chatApiData['navigation']; - // navigation_type = chatApiData['navigation_type']; - // empCode = prefs.getString('empCode'); - // empClientBranchId = prefs.getString('empClientBranchId'); - // client_id = prefs.getString('client_id'); - // - // if (chatApiData.containsKey('mobile_no')) { - // mobileNo = chatApiData['mobile_no']; - // } - // if (chatApiData.containsKey('policy_id')) { - // policyID = chatApiData['policy_id']; - // } - // print( - // '$returnMessage,$isOptionStatus,$requestStatus,$navigation,$navigation_type,$empCode,$empClientBranchId,$client_id,$mobileNo,$policyID'); - // } catch (e) { - // print('Error decoding JSON: $e'); // Handle JSON parsing errors - // } - // } else { - // print('No data found in SharedPreferences'); - // } - }); - } - } - } - - // Clear chat messages - Future clearChatMessages() async { - final SharedPreferences prefs = await SharedPreferences.getInstance(); - await prefs.remove('chat_messages'); - setState(() { - messages.clear(); - }); - } - - void quickReplyOptions() async { - final SharedPreferences prefs = await SharedPreferences.getInstance(); - empCode = prefs.getString('empCode'); - empClientBranchId = prefs.getString('empClientBranchId'); - client_id = prefs.getString('client_id'); - Map chatBotDataApi = { - 'request_for': 'Start', - 'is_option': '1', - 'option': '0', - 'mobile_no': '', - 'policy_id': '', - 'emp_code': empCode, - 'client_id': client_id, - 'client_branch_id': empClientBranchId - }; - chatBotDataApi = - chatBotDataApi.map((key, value) => MapEntry(key, value.toString())); - // final url; - // if (is_option != '0') { - // url = Uri.parse( - // '${Environment.apiUrl}getChatResponse?request_for=$requestFor&is_option=$is_option&option=$option&mobile_no=$mobileNo&policy_id=$policyID'); - // } else { - // url = Uri.parse( - // '${Environment.apiUrl}getChatResponse?request_for=$requestFor&is_option=$is_option&text=$returnMessage&value=$option&mobile_no=$mobileNo&policy_id=$policyID'); - // } - final response = await apiService.getBotDetails(chatBotDataApi); - print(response); - if (response['status'] == 'success') { - print('check 2'); - dynamic data = response['data']; - print('data: $data'); - dynamic optionsData = data['options']; - print('optionsData: $optionsData'); - isOptionStatus = data['is_option']; - print('isOptionStatus: $isOptionStatus'); - requestStatus = data['request_for']; - print('requestStatus: $requestStatus'); - navigation = data['navigation']; - navigation_type = data['navigation_type']; - - setState(() { - firstApiOptions = Map.from(optionsData); - print('firstApiOptions: $firstApiOptions'); - addInitialMessage(); - }); - } else { - // Handle the error accordingly - print('Failed to load quick reply options'); - } - } - - void addInitialMessage() { - List quickReplies = firstApiOptions.entries - .map((entry) => QuickReply(title: entry.value, value: entry.key)) - .toList(); - - final ChatMessage initialMessage = ChatMessage( - text: 'Welcome to our service. How can we assist you today?', - user: user4, - createdAt: DateTime.now(), - quickReplies: quickReplies, - ); - - setState(() { - messages.add(initialMessage); - }); - } - - void handleQuickReply(QuickReply quickReply) async { - print('QuickReply value: ${quickReply.value}'); - print('QuickReply title: ${quickReply.title}'); - - final ChatMessage replyMessage = ChatMessage( - user: user, - text: quickReply.title, - createdAt: DateTime.now(), - ); - - setState(() { - messages.insert(0, replyMessage); - }); - - await processMessage(quickReply.value ?? quickReply.title); - } - - Future processMessage(String messageText) async { - final SharedPreferences prefs = await SharedPreferences.getInstance(); - await prefs.remove('messageBackDetails'); - print('Processing message: $messageText'); - - // Add a placeholder loading message with an animated loader - final ChatMessage loadingMessage = ChatMessage( - user: user4, - text: 'Loading...', - createdAt: DateTime.now(), - customProperties: { - 'isLoading': true, - }, - ); - - setState(() { - messages.insert(0, loadingMessage); - }); - - Map chatBotDataApi; - if (isOptionStatus != '0') { - chatBotDataApi = { - 'request_for': requestStatus, - 'is_option': isOptionStatus, - 'option': messageText, - 'mobile_no': '', - 'policy_id': '', - 'emp_code': empCode, - 'client_id': client_id, - 'client_branch_id': empClientBranchId - }; - } else { - chatBotDataApi = { - 'request_for': requestStatus, - 'is_option': isOptionStatus, - 'text': returnMessage, - 'value': messageText, - 'mobile_no': mobileNo, - 'policy_id': policyID, - 'emp_code': empCode, - 'client_id': client_id, - 'client_branch_id': empClientBranchId - }; - } - - chatBotDataApi = - chatBotDataApi.map((key, value) => MapEntry(key, value.toString())); - - print('chatBotDataApi $chatBotDataApi'); - - // Simulate API call with a delay of 2 seconds - await Future.delayed(Duration(seconds: 2)); - // final response = await apiService.getBotDetails(requestStatus, - // isOptionStatus, messageText, returnMessage, mobileNo, policyID); - // Future> getBotDetails(String requestFor, is_option, - // option, returnMessage, mobileNo, policyID) - // final url; - // if (is_option != '0') { - // url = Uri.parse( - // '${Environment.apiUrl}getChatResponse?request_for=$requestFor&is_option=$is_option&option=$option&mobile_no=$mobileNo&policy_id=$policyID'); - // } else { - // url = Uri.parse( - // '${Environment.apiUrl}getChatResponse?request_for=$requestFor&is_option=$is_option&text=$returnMessage&value=$option&mobile_no=$mobileNo&policy_id=$policyID'); - // } - - final response = await apiService.getBotDetails(chatBotDataApi); - - if (response['status'] == 'success') { - dynamic chatApiData = response['data']; - print('chatApiData : $chatApiData'); - final SharedPreferences prefs = await SharedPreferences.getInstance(); - await prefs.setString('messageBackDetails', jsonEncode(chatApiData)); - - dynamic optionsData = chatApiData['options']; - returnMessage = chatApiData['text']; - isOptionStatus = chatApiData['is_option']; - requestStatus = chatApiData['request_for']; - navigation = chatApiData['navigation']; - navigation_type = chatApiData['navigation_type']; - - if (chatApiData.containsKey('mobile_no')) { - mobileNo = chatApiData['mobile_no']; - } - if (chatApiData.containsKey('policy_id')) { - policyID = chatApiData['policy_id']; - } - - setState(() { - print(returnMessage); - // Split and format the returnMessage - String formattedMessage = ''; - if (returnMessage != null) { - if (navigation == '1') { - if (navigation_type == 'form') { - if (returnMessage == 'open_service_form' || - returnMessage == 'open_sales_form' || - returnMessage == 'open_gmc_form' || - returnMessage == 'open_gpa_form') { - saveChatMessages(); - var details = {'claimsDetails': '', 'fromClaimPage': 1}; - Navigator.pushNamed(context, 'planclaimsform', - arguments: details); - } - } else if (navigation_type == 'view') { - print(returnMessage); - saveChatMessages(); - Navigator.pushNamed(context, 'help'); - } else if (navigation_type == 'dialpad') { - print(returnMessage); - saveChatMessages(); - _openDialPad(returnMessage); - } else if (navigation_type == 'mail') { - print(returnMessage); - saveChatMessages(); - _openEmail(returnMessage); - } - } else { - if (returnMessage.contains('%')) { - try { - List messageParts = returnMessage - .split('%') - .map((part) => part.trim()) - .cast() - .toList(); - formattedMessage = messageParts - .asMap() - .map( - (index, part) => MapEntry(index, '${index + 1}. $part')) - .values - .join('\n'); - } catch (e) { - print('Error splitting returnMessage: $e'); - formattedMessage = - returnMessage; // Fallback to original message - } - } else { - formattedMessage = returnMessage; - } - } - } else { - print('returnMessage is null'); - } - print('formattedMessage: $formattedMessage'); - - firstApiOptions = - optionsData != null ? Map.from(optionsData) : {}; - - final ChatMessage apiResponseMessage = ChatMessage( - user: user4, - text: formattedMessage ?? '', - createdAt: DateTime.now(), - customProperties: { - 'isLoading': false, - }, - quickReplies: firstApiOptions.entries - .map((entry) => QuickReply(title: entry.value, value: entry.key)) - .toList(), - ); - - // Remove the loading message and add the actual response - messages.removeAt(0); - messages.insert(0, apiResponseMessage); - }); - } else { - setState(() { - // Remove the loading message and add an error message - messages.removeAt(0); - messages.insert( - 0, - ChatMessage( - user: user4, - text: 'Failed to load data from API', - createdAt: DateTime.now(), - customProperties: { - 'isLoading': false, - }, - ), - ); - }); - } - } - - void _openDialPad(String phoneNumber) async { - final Uri dialUri = Uri( - scheme: 'tel', - path: phoneNumber, - ); - - print('Trying to open dial pad: $dialUri'); - - if (await canLaunchUrl(dialUri)) { - await launchUrl(dialUri); - } else { - print('Could not open dial pad for $phoneNumber'); - } - } - - void _openEmail(String email) async { - final Uri emailUri = Uri( - scheme: 'mailto', - path: email, - query: Uri.encodeFull( - 'subject=Your Subject&body=Hello'), // Add default subject and body - ); - - try { - if (await canLaunchUrl(emailUri)) { - await launchUrl(emailUri); - } else { - print('Could not open email client for $email'); - } - } catch (e) { - print('Error: $e'); - } - } - - @override - Widget build(BuildContext context) { - return Scaffold( - appBar: PreferredSize( - preferredSize: const Size.fromHeight(kToolbarHeight), - child: ClipRRect( - borderRadius: BorderRadius.only( - bottomLeft: Radius.circular(32.0), - bottomRight: Radius.circular(32.0), - ), - child: AppBar( - backgroundColor: const Color(0xFFFFFBDE), - elevation: 0, // Set background color for AppBar - toolbarHeight: kToolbarHeight, - titleSpacing: 0.0, - automaticallyImplyLeading: false, - title: Padding( - padding: Responsive.isDesktop(context) - ? EdgeInsets.symmetric(horizontal: 16.0) - : EdgeInsets.symmetric(horizontal: 10), - child: Row( - children: [ - // Logo Column - Expanded( - flex: Responsive.isDesktop(context) ? 3 : 9, - child: Row( - mainAxisAlignment: Responsive.isDesktop(context) - ? MainAxisAlignment.spaceEvenly - : MainAxisAlignment - .start, // Adjust the alignment as needed - children: [ - Container( - margin: EdgeInsets.only( - top: 10, bottom: 10, left: 10, right: 10), - width: Responsive.isDesktop(context) ? 150 : 130, - height: Responsive.isDesktop(context) ? 150 : 130, - child: Image.asset( - 'assets/nhance_client_logo.png', - fit: BoxFit.contain, // Adjust the fit as needed - ), - ), - ], - ), - ), - // AdaptiveNavBar Column - - Expanded( - flex: Responsive.isDesktop(context) ? 11 : 1, - child: GestureDetector( - onTap: () async { - final SharedPreferences prefs = - await SharedPreferences.getInstance(); - await prefs.remove('messageBackDetails'); - clearChatMessages(); - Navigator.pop(context); - }, - child: Icon( - Icons - .close_outlined, // Replace with your desired icon - size: 24.0, // Adjust the icon size - color: Colors.black, // Adjust the icon color - ), - ), - ), - ], - ), - ), - ), - ) // CustomAppBar implementation here - ), - body: DashChat( - currentUser: user, - onSend: (ChatMessage m) { - setState(() { - messages.insert(0, m); - }); - processMessage(m.text); - }, - quickReplyOptions: QuickReplyOptions(onTapQuickReply: handleQuickReply), - messages: messages, - ), - ); - } - - // late WebViewController _controller; - // - // @override - // void initState() { - // super.initState(); - // _controller = WebViewController() - // ..setJavaScriptMode(JavaScriptMode.unrestricted) - // ..loadRequest(Uri.parse( - // 'https://mediafiles.botpress.cloud/0439df41-8f0c-4bfd-ad85-340462deebc0/webchat/bot.html')); - // } - - // @override - // Widget build(BuildContext context) { - // return Scaffold( - // backgroundColor: Colors.white, - // appBar: CustomAppBar(), - // body: WebViewWidget(controller: _controller), - // ); - // } -} diff --git a/lib/pages/postEnrollment/claimprocess.dart b/lib/pages/postEnrollment/claimprocess.dart index edfffd1..f26f25b 100755 --- a/lib/pages/postEnrollment/claimprocess.dart +++ b/lib/pages/postEnrollment/claimprocess.dart @@ -20,6 +20,8 @@ import 'package:video_player/video_player.dart'; import '../service/multi_video_player.dart'; import '../service/popup_helper.dart'; +import 'package:nhance_app_pwa/logger.dart'; + class claimprocess extends StatefulWidget { const claimprocess({Key? key}) : super(key: key); @@ -79,17 +81,17 @@ import '../service/popup_helper.dart'; Future _loadToken() async { - print('_loadToken'); + logDebug('_loadToken'); final String? token = await TokenService.getPostToken(); if (token != null && token.isNotEmpty) { // Decode the JWT token received from the API response Map? decodedToken = Jwt.parseJwt(token); - print(decodedToken); + logDebug(decodedToken); empCodeString = session.empCodeString; - print(empCodeString); // Check if emp_code is correct + logDebug(empCodeString); // Check if emp_code is correct empPrimaryId = session.empPrimaryId; client_id = session.client_id; - print(client_id); + logDebug(client_id); getCashlessAndReimbursement(); } } @@ -99,9 +101,9 @@ import '../service/popup_helper.dart'; isLoading = true; }); final response = await apiService.getCashlessAndReimbursementToApi(); - print('check 1 getCashlessAndReimbursement'); + logDebug('check 1 getCashlessAndReimbursement'); if (response['status'] == 'success') { - print(response['data']); + logDebug(response['data']); setState(() { cashLessClaimsDetails = response['data'][0]; cashLessSectionName = cashLessClaimsDetails['content_section']; @@ -145,7 +147,7 @@ import '../service/popup_helper.dart'; } else { - print('API request failed with status: ${response['status']}'); + logDebug('API request failed with status: ${response['status']}'); } } diff --git a/lib/pages/postEnrollment/claims.dart b/lib/pages/postEnrollment/claims.dart index 7a3bcee..d925fc1 100755 --- a/lib/pages/postEnrollment/claims.dart +++ b/lib/pages/postEnrollment/claims.dart @@ -21,6 +21,8 @@ import '../service/TokenService.dart'; import '../service/popup_helper.dart'; import 'claimshistory.dart'; +import 'package:nhance_app_pwa/logger.dart'; + class claims extends StatefulWidget { final int initialTab; @@ -103,24 +105,24 @@ class _claimsState extends State { void didChangeDependencies() { super.didChangeDependencies(); dynamic arguments = widget.initialTab; - print('arguments $arguments'); + logDebug('arguments $arguments'); if (arguments == 0) { - print(arguments); + logDebug(arguments); trackClaimsActive = 0; yourPlanActive = 1; isActive = false; } else if (arguments == 2) { - print(arguments); + logDebug(arguments); trackClaimsActive = 0; yourPlanActive = 1; isActive = false; } else { - print("Arguments are null or not in the expected format"); + logDebug("Arguments are null or not in the expected format"); } } Future _loadToken() async { - print('_loadToken'); + logDebug('_loadToken'); final String? token = await TokenService.getPostToken(); if (token != null && token.isNotEmpty) { // Decode the JWT token received from the API response @@ -128,11 +130,11 @@ class _claimsState extends State { client_branch_id = session.empClientBranchId; empCodeString = session.empCodeString; empName = session.gpaEmpName; - print(empCodeString); // Check if emp_code is correct + logDebug(empCodeString); // Check if emp_code is correct empPrimaryId = session.empPrimaryId; client_id = session.client_id; emailId = session.empEmailCorporate ?? ''; - print(client_id); + logDebug(client_id); getActiveAndInactivePolicyDetails(); getTrackClaimsList(); } @@ -183,9 +185,9 @@ class _claimsState extends State { policyDataIsEmpty = combinedPolicies.isEmpty ? 0 : 1; }); - print("Merged policyList: $policyList"); + logDebug("Merged policyList: $policyList"); } catch (e) { - print('Error occurred while fetching policies: $e'); + logDebug('Error occurred while fetching policies: $e'); setState(() { policyDataIsEmpty = 0; }); @@ -200,14 +202,14 @@ class _claimsState extends State { if (client_id == null || empCodeString == null) { return; } - print('check 1'); + logDebug('check 1'); final response = await apiService.getTrackClaimsList(empPrimaryId!,mobileNo,emailId); - print('check 1'); + logDebug('check 1'); // if (response['success'] == true) { setState(() { List data = response['ticket_data']; - print('Data from response: $data'); + logDebug('Data from response: $data'); // trackClaimsList = data.where((item) { // // Check if item is a Map and has the departmentId key @@ -215,7 +217,7 @@ class _claimsState extends State { // final departmentId = item['department_id']; // // // Print each departmentId for debugging - // print('Item department_id: $departmentId'); + // logDebug('Item department_id: $departmentId'); // // // Ensure departmentId is an int or string, and compare // if (departmentId is int) { @@ -228,18 +230,18 @@ class _claimsState extends State { // return false; // }).toList(); - print('Filtered trackClaimsList: $data'); + logDebug('Filtered trackClaimsList: $data'); reversedClaimsList = List>.from(data); - print('reversedClaimsList $reversedClaimsList'); + logDebug('reversedClaimsList $reversedClaimsList'); trackClaimsList = reversedClaimsList.reversed.toList(); - print('trackClaimsList $trackClaimsList'); + logDebug('trackClaimsList $trackClaimsList'); }); - print(trackClaimsList); + logDebug(trackClaimsList); // } else { // setState(() { // trackClaimsIsEmpty = 0; // }); - // print('API request failed with status: ${response['status']}'); + // logDebug('API request failed with status: ${response['status']}'); // } } @@ -259,16 +261,16 @@ class _claimsState extends State { @override Widget build(BuildContext context) { // dynamic arguments = ModalRoute.of(context)!.settings.arguments; - // print('arguments'); + // logDebug('arguments'); // dynamic arguments = widget.initialTab; - // print('arguments $arguments'); + // logDebug('arguments $arguments'); // if (arguments == 0) { - // print(arguments); + // logDebug(arguments); // trackClaimsActive = 0; // yourPlanActive = 1; // isActive = false; // } else { - // print("Arguments are null or not in the expected format"); + // logDebug("Arguments are null or not in the expected format"); // } return PopScope( canPop: false, @@ -307,7 +309,7 @@ class _claimsState extends State { flex: 12, child: InkWell( onTap: () { - print("CACLAIMS - ${widget.initialTab}"); + logDebug("CACLAIMS - ${widget.initialTab}"); if (widget.initialTab == 2) { context.go('/home'); } @@ -1136,13 +1138,13 @@ class _claimsState extends State { // String claimsReplies = item['replies']; // List messageList = item['message_list']; - print('generateTrackList'); - print('generateTrackList- $data'); - print('generateTrackList- $ticketId'); - print(claimsSubject); - print(claimsDate); - print(claimStatus); - print(claimsDepartmentName); + logDebug('generateTrackList'); + logDebug('generateTrackList- $data'); + logDebug('generateTrackList- $ticketId'); + logDebug(claimsSubject); + logDebug(claimsDate); + logDebug(claimStatus); + logDebug(claimsDepartmentName); @@ -1185,7 +1187,7 @@ class _claimsState extends State { return GestureDetector( onTap: () { - print("Tappp - $ticketId"); + logDebug("Tappp - $ticketId"); // Navigator.pushNamed(context, 'claimtracklist', arguments: item); showDialog( diff --git a/lib/pages/postEnrollment/claimshistory.dart b/lib/pages/postEnrollment/claimshistory.dart index eba09ab..923684a 100755 --- a/lib/pages/postEnrollment/claimshistory.dart +++ b/lib/pages/postEnrollment/claimshistory.dart @@ -16,6 +16,8 @@ import '../../customAppBar/responsive.dart'; import '../../customAppBar/toastHelper.dart'; import '../service/TokenService.dart'; +import 'package:nhance_app_pwa/logger.dart'; + class ClaimHistoryPopup extends StatefulWidget { final String ticket_id; final String empName; @@ -79,13 +81,13 @@ class _ClaimHistoryPopupState extends State apiService = ApiService(context); // debug prints kept - print("CLAIMHISTORY"); - print(widget.claimAmount); - print(widget.claimNo); - print(widget.clientPolicyNo); - print(widget.empCode); - print(widget.policyType); - print(widget.ticket_id); + logDebug("CLAIMHISTORY"); + logDebug(widget.claimAmount); + logDebug(widget.claimNo); + logDebug(widget.clientPolicyNo); + logDebug(widget.empCode); + logDebug(widget.policyType); + logDebug(widget.ticket_id); getClaimsHistoryDetails(); } @@ -146,7 +148,7 @@ class _ClaimHistoryPopupState extends State setState(() => isSubmitting = true); // 🔥 start loader try { - print('enter'); + logDebug('enter'); _token = await TokenService.getPostToken(); // STEP 1: Must select at least one document type @@ -237,9 +239,9 @@ class _ClaimHistoryPopupState extends State request.fields['claim_doc_names'] = jsonEncode(labels); // Debug - print( + logDebug( "Files uploaded: ${fileService.files.map((e) => e.file.name).toList()}"); - print("Labels: $labels"); + logDebug("Labels: $labels"); // STEP 7: Send the request final response = await request.send(); @@ -300,8 +302,8 @@ class _ClaimHistoryPopupState extends State }) .toList(); - print(isActionFreeze); - print('requiredDocsList $requiredDocsList'); + logDebug(isActionFreeze); + logDebug('requiredDocsList $requiredDocsList'); for (var d in requiredDocsList) { _assignedFiles[d['document_name']] = null; @@ -309,11 +311,11 @@ class _ClaimHistoryPopupState extends State }); } else { setState(() => isLoading = false); - print('Request failed with status: ${response['code']}'); + logDebug('Request failed with status: ${response['code']}'); } } catch (e) { setState(() => isLoading = false); - print('Exception occurred: $e'); + logDebug('Exception occurred: $e'); } } @@ -322,7 +324,7 @@ class _ClaimHistoryPopupState extends State try { await launchUrl(uri, mode: LaunchMode.externalApplication); } catch (e) { - print('Could not launch URL: $e'); + logDebug('Could not launch URL: $e'); } } diff --git a/lib/pages/postEnrollment/data.dart b/lib/pages/postEnrollment/data.dart deleted file mode 100755 index 5232d70..0000000 --- a/lib/pages/postEnrollment/data.dart +++ /dev/null @@ -1,194 +0,0 @@ -import 'package:dash_chat_2/dash_chat_2.dart'; - -// String profileImage = -// 'https://e7.pngegg.com/pngimages/811/700/png-clipart-chatbot-internet-bot-business-natural-language-processing-facebook-messenger-business-people-logo-thumbnail.png'; -String profileImage = - 'https://app.nhanceindia.in/zenith/public/assets/images/chatbot.png'; - -// We have all the possibilities for users -ChatUser user = ChatUser(id: '0'); -ChatUser user1 = ChatUser(id: '1'); -ChatUser user2 = ChatUser(id: '2', firstName: 'Niki Lauda'); -ChatUser user3 = ChatUser(id: '3', lastName: 'Clark'); -ChatUser user4 = ChatUser(id: '4', profileImage: profileImage); -ChatUser user5 = ChatUser(id: '5', firstName: 'Charles', lastName: 'Leclerc'); -ChatUser user6 = - ChatUser(id: '6', firstName: 'Max', profileImage: profileImage); -ChatUser user7 = - ChatUser(id: '7', lastName: 'Toto', profileImage: profileImage); -ChatUser user8 = ChatUser( - id: '8', firstName: 'Toto', lastName: 'Clark', profileImage: profileImage); - -List allUsersSample = [ - ChatMessage( - text: 'Test', - user: user1, - createdAt: DateTime(2021, 01, 30, 16, 45), - ), - ChatMessage( - text: 'Test', - user: user2, - createdAt: DateTime(2021, 01, 30, 16, 45), - ), - ChatMessage( - text: 'Test', - user: user3, - createdAt: DateTime(2021, 01, 30, 16, 45), - ), - ChatMessage( - text: 'Test', - user: user4, - createdAt: DateTime(2021, 01, 30, 16, 45), - ), - ChatMessage( - text: 'Test', - user: user5, - createdAt: DateTime(2021, 01, 30, 16, 45), - ), - ChatMessage( - text: 'Test', - user: user6, - createdAt: DateTime(2021, 01, 30, 16, 45), - ), - ChatMessage( - text: 'Test', - user: user7, - createdAt: DateTime(2021, 01, 30, 16, 45), - ), - ChatMessage( - text: 'Test', - user: user8, - createdAt: DateTime(2021, 01, 30, 16, 45), - ), -]; - -List basicSample = [ - ChatMessage( - text: 'google.com hello you @Marc is it &you okay?', - user: user2, - createdAt: DateTime(2021, 01, 31, 16, 45), - mentions: [ - Mention(title: '@Marc'), - Mention(title: '&you'), - ], - ), - ChatMessage( - text: 'google.com', - user: user2, - createdAt: DateTime(2021, 01, 30, 16, 45), - ), - ChatMessage( - text: "Oh what's up guys?", - user: user2, - createdAt: DateTime(2021, 01, 30, 16, 45), - ), - ChatMessage( - text: 'How you doin?', - user: user8, - createdAt: DateTime(2021, 01, 30, 16, 34), - ), - ChatMessage( - isMarkdown: true, - text: - "```dart\nvoid main() {\n print('Hello World');\n}\n```\nThe above code will print \"Hello World\" to the console when run.\n\nHere's a breakdown of the code:\n\n* The `main()` function is the entry point of the program. It's where execution begins.\n* `print('Hello World')` prints \"Hello World\" to the console. The `print()` function is a built-in function in Dart that outputs data to the console.\n\nYou can run this code by creating a new Dart file (e.g., `hello_world.dart`) and pasting the code into it. Then, open a terminal window, navigate to the directory where the file is saved, and run the following command:\n\n```\ndart hello_world.dart\n```\n\nThis will compile and run the Dart program, and you should see \"Hello World\" printed to the console. Know more: www.google.com ", - user: user2, - createdAt: DateTime(2021, 01, 30, 15, 50), - ), - ChatMessage( - text: 'Hey!', - user: user, - createdAt: DateTime(2021, 01, 30, 15, 50), - ), - ChatMessage( - text: 'Hey!', - user: user, - createdAt: DateTime(2021, 01, 28, 15, 50), - ), - ChatMessage( - text: 'Hey!', - user: user, - createdAt: DateTime(2021, 01, 28, 15, 50), - ), -]; - -List media = [ - ChatMessage( - medias: [ - ChatMedia( - url: - 'https://firebasestorage.googleapis.com/v0/b/molteo-40978.appspot.com/o/memes%2F155512641_3864499247004975_4028017188079714246_n.jpg?alt=media&token=0b335455-93ed-4529-9055-9a2c741e0189', - type: MediaType.image, - fileName: 'image.png', - isUploading: true, - ), - ChatMedia( - url: - 'https://firebasestorage.googleapis.com/v0/b/molteo-40978.appspot.com/o/memes%2F155512641_3864499247004975_4028017188079714246_n.jpg?alt=media&token=0b335455-93ed-4529-9055-9a2c741e0189', - type: MediaType.image, - fileName: 'image.png', - ), - ChatMedia( - url: - 'https://firebasestorage.googleapis.com/v0/b/molteo-40978.appspot.com/o/chat_medias%2F2GFlPkj94hKCqonpEdf1%2F20210526_162318.mp4?alt=media&token=01b814b9-d93a-4bf1-8be1-cf9a49058f97', - type: MediaType.video, - fileName: 'video.mp4', - isUploading: false, - ), - ChatMedia( - url: - 'https://firebasestorage.googleapis.com/v0/b/molteo-40978.appspot.com/o/chat_medias%2F2GFlPkj94hKCqonpEdf1%2F20210526_162318.mp4?alt=media&token=01b814b9-d93a-4bf1-8be1-cf9a49058f97', - type: MediaType.video, - fileName: 'video.mp4', - isUploading: false, - ), - ChatMedia( - url: - 'https://firebasestorage.googleapis.com/v0/b/molteo-40978.appspot.com/o/memes%2F155512641_3864499247004975_4028017188079714246_n.jpg?alt=media&token=0b335455-93ed-4529-9055-9a2c741e0189', - type: MediaType.file, - fileName: 'image.png', - ), - ChatMedia( - url: - 'https://firebasestorage.googleapis.com/v0/b/molteo-40978.appspot.com/o/memes%2F155512641_3864499247004975_4028017188079714246_n.jpg?alt=media&token=0b335455-93ed-4529-9055-9a2c741e0189', - type: MediaType.image, - fileName: 'image.png', - ) - ], - user: user3, - createdAt: DateTime(2021, 01, 30, 16, 34), - ), -]; - -List quickReplies = [ - ChatMessage( - text: 'How you doin?', - user: user3, - createdAt: DateTime.now(), - quickReplies: [ - QuickReply(title: 'Great!'), - QuickReply(title: 'Awesome'), - QuickReply(title: 'Hello'), - QuickReply(title: 'Hava a nice day'), - QuickReply(title: 'Hello @Niki, you should check #channel'), - ], - ), -]; - -List mentionSample = [ - ChatMessage( - text: 'Hello @Niki, you should check #channel', - user: user2, - createdAt: DateTime(2021, 01, 31, 16, 45), - mentions: [ - Mention(title: '@Niki', customProperties: {'userId': user5.id}), - Mention(title: '#channel'), - ], - ), - ChatMessage( - text: "Oh what's up guys?", - user: user5, - createdAt: DateTime(2021, 01, 30, 16, 45), - ), -]; - -List d = []; diff --git a/lib/pages/postEnrollment/faqs.dart b/lib/pages/postEnrollment/faqs.dart index b0256b1..ef31b45 100755 --- a/lib/pages/postEnrollment/faqs.dart +++ b/lib/pages/postEnrollment/faqs.dart @@ -16,6 +16,8 @@ import 'package:flutter_html/flutter_html.dart'; import '../service/video_player_widget.dart'; +import 'package:nhance_app_pwa/logger.dart'; + class faqs extends StatefulWidget { const faqs({super.key}); @@ -79,20 +81,20 @@ class _faqsState extends State { } Future _loadToken() async { - print('_loadToken'); + logDebug('_loadToken'); final String? token = await TokenService.getPostToken(); if (token != null && token.isNotEmpty) { // Decode the JWT token received from the API response Map? decodedToken = Jwt.parseJwt(token); - print(decodedToken); + logDebug(decodedToken); empMobileNo = session.mobileNo ?? ''; empEmailID = session.empEmailCorporate ?? ''; client_branch_id = session.empClientBranchId; empCodeString = session.empCodeString; - print(empCodeString); // Check if emp_code is correct + logDebug(empCodeString); // Check if emp_code is correct empPrimaryId = session.empPrimaryId; client_id = session.client_id; - print(client_id); + logDebug(client_id); getFAQsDetails(); } } @@ -132,7 +134,7 @@ class _faqsState extends State { ToastHelper.showErrorToast(context, 'No FAQs found'); } } catch (e) { - debugPrint('FAQ Error: $e'); + logDebug('FAQ Error: $e'); ToastHelper.showErrorToast(context, 'Failed to load FAQs'); } finally { if (mounted) { diff --git a/lib/pages/postEnrollment/generalexclusionsdeductibles.dart b/lib/pages/postEnrollment/generalexclusionsdeductibles.dart index 58bbf3f..178393f 100755 --- a/lib/pages/postEnrollment/generalexclusionsdeductibles.dart +++ b/lib/pages/postEnrollment/generalexclusionsdeductibles.dart @@ -16,6 +16,8 @@ import '../service/SessionManager.dart'; import '../service/TokenService.dart'; import '../service/popup_helper.dart'; +import 'package:nhance_app_pwa/logger.dart'; + class generalExclusionsDeductibles extends StatefulWidget { const generalExclusionsDeductibles({Key? key}) : super(key: key); @@ -70,17 +72,17 @@ class _generalExclusionsDeductiblesState } Future _loadToken() async { - print('_loadToken'); + logDebug('_loadToken'); final String? token = await TokenService.getPostToken(); if (token != null && token.isNotEmpty) { // Decode the JWT token received from the API response Map? decodedToken = Jwt.parseJwt(token); - print(decodedToken); + logDebug(decodedToken); empCodeString = session.empCodeString; - print(empCodeString); // Check if emp_code is correct + logDebug(empCodeString); // Check if emp_code is correct empPrimaryId = session.empPrimaryId; client_id = session.client_id; - print(client_id); + logDebug(client_id); getCashlessAndReimbursement(); } } @@ -154,7 +156,7 @@ class _generalExclusionsDeductiblesState isLoading = false; }); } catch (e) { - debugPrint('API ERROR: $e'); + logDebug('API ERROR: $e'); setState(() => isLoading = false); } } diff --git a/lib/pages/postEnrollment/help.dart b/lib/pages/postEnrollment/help.dart index cacbd2f..0d17038 100755 --- a/lib/pages/postEnrollment/help.dart +++ b/lib/pages/postEnrollment/help.dart @@ -21,6 +21,7 @@ import '../service/SessionManager.dart'; import '../service/TokenService.dart'; import '../service/data_manager.dart'; import '../service/popup_helper.dart'; +import 'package:nhance_app_pwa/logger.dart'; class help extends StatefulWidget { const help({Key? key}) : super(key: key); @@ -84,7 +85,7 @@ class _helpState extends State { super.initState(); apiService = ApiService(context); // Initialize ApiService here _loadToken(); - print('initState'); + logDebug('initState'); // getTicketList(); } @@ -104,18 +105,18 @@ class _helpState extends State { @override void didChangeDependencies() { super.didChangeDependencies(); - print('didChangeDependencies'); + logDebug('didChangeDependencies'); // if (!_isArgsHandled) { final args = ModalRoute.of(context)?.settings.arguments as Map?; - print('args - $args'); + logDebug('args - $args'); if (args != null && args.containsKey('ticketTabSelected')) { - print('args1'); + logDebug('args1'); setState(() { tickets = args['ticketTabSelected']; // e.g. 0 from TicketForm - print('args2- $tickets'); + logDebug('args2- $tickets'); closedTrackActive = 1; allClaimsActive = 1; tickets = 0; @@ -130,48 +131,48 @@ class _helpState extends State { } Future _loadToken() async { - print('_loadToken'); + logDebug('_loadToken'); final String? token = await TokenService.getPostToken(); if (token != null && token.isNotEmpty) { // Decode the JWT token received from the API response Map? decodedToken = Jwt.parseJwt(token); - print(decodedToken); + logDebug(decodedToken); empMobileNo = session.mobileNo ?? ''; empEmailID = session.empEmailCorporate ?? ''; client_branch_id = session.empClientBranchId; empCodeString = session.empCodeString; - print(empCodeString); // Check if emp_code is correct + logDebug(empCodeString); // Check if emp_code is correct empPrimaryId = session.empPrimaryId; client_id = session.client_id; - print(client_id); + logDebug(client_id); getSelfEmployeeProfile(); } } Future getSelfEmployeeProfile() async { - // print(getSelfEmployeeProfile); + // logDebug(getSelfEmployeeProfile); // if (client_id == null || empCodeString == null) { // return; // } // setState(() { // isLoading = true; // }); - // print('check 1'); + // logDebug('check 1'); // final response = await apiService.getSelfEmployeeProfileDetails( // client_id!, empCodeString!, client_branch_id!); - // print('check 1'); + // logDebug('check 1'); // if (response['status'] == 'success') { - // print(response); + // logDebug(response); setState(() { // accountManagerDetails = response['AccountManagerDetails']; final accountManager = dataManager.accountManagerDetails; accountManagerDetails = accountManager; - print('accountManagerDetails'); - print(accountManagerDetails); + logDebug('accountManagerDetails'); + logDebug(accountManagerDetails); accountManagerEmail = accountManagerDetails['email']; - print(accountManagerEmail); + logDebug(accountManagerEmail); accountManagerMobileNo = accountManagerDetails['mobile']; - print(accountManagerMobileNo); + logDebug(accountManagerMobileNo); }); // setState(() { // isLoading = false; @@ -180,7 +181,7 @@ class _helpState extends State { // setState(() { // isLoading = false; // }); - // print('API request failed with status: ${response['status']}'); + // logDebug('API request failed with status: ${response['status']}'); // } } @@ -191,10 +192,10 @@ class _helpState extends State { setState(() { isLoading = true; }); - print('check 1'); + logDebug('check 1'); final response = await apiService.getTrackClaimsList( empPrimaryId!, empMobileNo, empEmailID); - print('check 2'); + logDebug('check 2'); setState(() { isLoading = false; }); @@ -222,7 +223,7 @@ class _helpState extends State { // }); // } else { // ToastHelper.showErrorToast(context, 'Something went wrong'); - // print('API request failed with status: ${response['status']}'); + // logDebug('API request failed with status: ${response['status']}'); // } } @@ -235,22 +236,22 @@ class _helpState extends State { }); try { - print('check getTicketList 1'); + logDebug('check getTicketList 1'); final response = await apiService.getTicketListByMobile(empMobileNo!); - print('check getTicketList 2'); + logDebug('check getTicketList 2'); setState(() { isLoading = false; }); // if (response['success'] == true && response['data'] is List) { setState(() { ticketList = response['data'].toList(); - print("TC1 - $ticketList"); + logDebug("TC1 - $ticketList"); reversedTicketList = List>.from(ticketList); reversedTicketList = List>.from(ticketList); - print("TC2 - $ticketList"); + logDebug("TC2 - $ticketList"); // ticketList = reversedTicketList.reversed.toList(); ticketList = reversedTicketList.toList(); - print("TC3 - $ticketList"); + logDebug("TC3 - $ticketList"); }); // } // else if (response['status'] == "error" && @@ -266,11 +267,11 @@ class _helpState extends State { // isLoading = false; // }); // ToastHelper.showErrorToast(context, 'Something went wrong'); - // print('API request failed with status: ${response['status']}'); + // logDebug('API request failed with status: ${response['status']}'); // } } catch (e) { // ToastHelper.showErrorToast(context, 'Failed to load data'); - print('Error in getTicketList: $e'); + logDebug('Error in getTicketList: $e'); } finally { if (mounted) { setState(() { @@ -1130,11 +1131,11 @@ class _helpState extends State { // String claimsReplies = item['replies']; // List messageList = item['message_list']; - print('generateTrackList'); - print(claimsSubject); - print(claimsDate); - print(claimStatus); - print(claimsDepartmentName); + logDebug('generateTrackList'); + logDebug(claimsSubject); + logDebug(claimsDate); + logDebug(claimStatus); + logDebug(claimsDepartmentName); final Map statusColors = { 'Received': Colors.amber, @@ -1563,12 +1564,12 @@ class _helpState extends State { String claimsDepartmentName = item['ticket_type'] ?? ''; // String claimsReplies = item['replies']; // List messageList = item['message_list']; - print("item - $item"); - print('generateTrackList'); - print(claimsSubject); - print(claimsDate); - print(claimStatus); - print(claimsDepartmentName); + logDebug("item - $item"); + logDebug('generateTrackList'); + logDebug(claimsSubject); + logDebug(claimsDate); + logDebug(claimStatus); + logDebug(claimsDepartmentName); final Map statusColors = { 'Received': Colors.amber, @@ -1599,7 +1600,7 @@ class _helpState extends State { return GestureDetector( onTap: () { - print("Navigating with thz_id: ${item['thz_id']}"); + logDebug("Navigating with thz_id: ${item['thz_id']}"); context.go('/tickettracklist', extra: item['thz_id']); diff --git a/lib/pages/postEnrollment/home.dart b/lib/pages/postEnrollment/home.dart index 0260a03..42c93b2 100755 --- a/lib/pages/postEnrollment/home.dart +++ b/lib/pages/postEnrollment/home.dart @@ -30,8 +30,6 @@ import '../service/SessionManager.dart'; import '../service/TokenService.dart'; import '../service/data_manager.dart'; import '../service/popup_helper.dart'; -import 'botman_chat.dart'; -import 'chatbot.dart'; // import 'dart:js' as js; // import 'dart:html' as html; import 'package:carousel_slider/carousel_slider.dart'; @@ -45,6 +43,8 @@ import '/../pages/helpers/mobile_helpers.dart' import 'package:webview_flutter_android/webview_flutter_android.dart'; import 'package:carousel_slider/carousel_slider.dart'; +import 'package:nhance_app_pwa/logger.dart'; + class Home extends StatefulWidget { const Home({Key? key}) : super(key: key); @@ -142,9 +142,9 @@ class _HomeState extends State { }); }); - print('starts'); - print(advertisementImages); - print('Ends'); + logDebug('starts'); + logDebug(advertisementImages); + logDebug('Ends'); // // 🔹 Load policies (Active ones) // activePoliciesDetails = dataManager.loadPolicies( @@ -155,8 +155,8 @@ class _HomeState extends State { // mobileNo: session.mobileNo ?? '', // ); // - // print('activePoliciesDetails'); - // print(activePoliciesDetails); + // logDebug('activePoliciesDetails'); + // logDebug(activePoliciesDetails); // if (kIsWeb) { // openBotmanChat(); @@ -170,7 +170,7 @@ class _HomeState extends State { } // void openBotmanChat() { - // print('openBotmanChat'); + // logDebug('openBotmanChat'); // if (kIsWeb) { // js.context // .callMethod('openBotmanChat'); // Correct way to call JS function @@ -222,8 +222,8 @@ class _HomeState extends State { Future checkEnrollToken() async { final preToken = TokenService.getPreToken(); - print('preToken'); - print(preToken); + logDebug('preToken'); + logDebug(preToken); setState(() { isTokenAvailable = preToken != null; }); @@ -238,20 +238,20 @@ class _HomeState extends State { // } Future _loadToken() async { - print('_loadToken'); + logDebug('_loadToken'); final String? token = await TokenService.getPostToken(); if (token != null && token.isNotEmpty) { // Decode the JWT token received from the API response Map? decodedToken = Jwt.parseJwt(token); - print(decodedToken); + logDebug(decodedToken); mobileNo = session.mobileNo ?? ''; client_branch_id = session.empClientBranchId ?? null; empCodeString = session.empCodeString?? null; empName = session.gpaEmpName?? null; - print(empCodeString); // Check if emp_code is correct + logDebug(empCodeString); // Check if emp_code is correct empPrimaryId = session.empPrimaryId?? null; client_id = session.client_id?? null; - print(client_id); + logDebug(client_id); emailId = session.empEmailCorporate?? null; // getAdvertisementSliderImage(); getActiveAndInactivePolicyDetails('Active'); @@ -259,17 +259,17 @@ class _HomeState extends State { } Future getActiveAndInactivePolicyDetails(String status) async { - print(getActiveAndInactivePolicyDetails); + logDebug(getActiveAndInactivePolicyDetails); // if (client_id == null || empCodeString == null) { // return; // } setState(() { isLoadingGif = true; }); - print('check 1'); + logDebug('check 1'); final response = await apiService.getActiveAndInactivePolicyDetails( client_id, empCodeString, status, client_branch_id, mobileNo,emailId); - print('check 1'); + logDebug('check 1'); if (response['status'] == 'success') { setState(() { isLoadingGif = false; @@ -277,11 +277,11 @@ class _HomeState extends State { emp_name = response['emp_name']; policyList = List.from(response['data'] ?? []); retailPolicyDetails = List.from(response['retail_policy_data'] ?? []); - print('policyList $policyList'); + logDebug('policyList $policyList'); pre_policy_count = response['pre_policy_count'] ?? ''; final empNotEnrolledCount = response['emp_not_enrolled_count'] ?? ''; final wellnessStatus = response['wellness_data']['status'] ?? 'failed'; - print('wellnessStatus $wellnessStatus'); + logDebug('wellnessStatus $wellnessStatus'); if (wellnessStatus == 'success') { wellnessURL = response['wellness_data']['data']; } @@ -295,7 +295,7 @@ class _HomeState extends State { final prefs = await SharedPreferences.getInstance(); bool? cancelFlag = prefs.getBool('cancel_flag'); - print('cancelFlag $cancelFlag'); + logDebug('cancelFlag $cancelFlag'); // Show popup only when flag is NOT true if (cancelFlag != true) { @@ -303,29 +303,29 @@ class _HomeState extends State { } } - print(policyList); + logDebug(policyList); } else { setState(() { policyDataIsEmpty = 0; isLoadingGif = false; }); - print('API request failed with status: ${response['status']}'); + logDebug('API request failed with status: ${response['status']}'); } } Future getAdvertisementSliderImage() async { final response = await apiService.getAdvertisementImageToApi(session.client_id); - print('check 1'); + logDebug('check 1'); if (response['status'] == 'success') { setState(() { advertisementImages = List.from(response['data']); - print('advertisementImages'); - print(advertisementImages); + logDebug('advertisementImages'); + logDebug(advertisementImages); isLoading = false; }); - // print(policyList); + // logDebug(policyList); } else { - print('API request failed with status: ${response['status']}'); + logDebug('API request failed with status: ${response['status']}'); setState(() { isLoading = false; }); @@ -773,7 +773,7 @@ class _HomeState extends State { /// Called whenever the page in the center of the viewport changes. onPageChanged: (value) { - print( + logDebug( 'Page changed: $value'); }, @@ -1082,12 +1082,12 @@ class _HomeState extends State { // final client_id = prefs.getString('client_id') ?? ''; // final gpaEmpName = prefs.getString('gpaEmpName') ?? ''; // - // print('param check from home'); - // print(gpaEmpName); - // print(empCodeString); - // print(empClientBranchId); - // print(client_id); - // print(empPrimaryId); + // logDebug('param check from home'); + // logDebug(gpaEmpName); + // logDebug(empCodeString); + // logDebug(empClientBranchId); + // logDebug(client_id); + // logDebug(empPrimaryId); // // Navigator.of(context).push( // MaterialPageRoute( @@ -1256,8 +1256,8 @@ class _HomeState extends State { } // List generateCards(List data) { -// print('generateCards'); -// print(data); +// logDebug('generateCards'); +// logDebug(data); // return [ // GridView.builder( // shrinkWrap: true, @@ -1282,7 +1282,7 @@ class _HomeState extends State { // // Main logic // double finalValue = (settled == 0) ? siValue : (siValue - settled); // -// print("Final Value: $finalValue"); +// logDebug("Final Value: $finalValue"); // String policyEndDate = item['policy_end_date']; // List employeePolicy = item['EmployeePolicy']; // String memberNames = getMemberNames(employeePolicy); @@ -1792,7 +1792,7 @@ class _HomeState extends State { String policyEndDate = item['policy_end_date']; List employeePolicy = item['EmployeePolicy']; - print('employeePolicy $employeePolicy'); + logDebug('employeePolicy $employeePolicy'); String memberNames = formatMemberNames(employeePolicy); DateTime parsedDate = DateFormat('dd-MMM-yyyy').parse(policyEndDate); @@ -1830,7 +1830,7 @@ class _HomeState extends State { cards.add( GestureDetector( onTap: () { - print("Retail policy clicked: ${retail['policy_no']}"); + logDebug("Retail policy clicked: ${retail['policy_no']}"); }, child: _buildRetailPolicyCard(retail), ), @@ -1858,7 +1858,7 @@ class _HomeState extends State { GestureDetector( onTap: () { // TODO: navigate to retail policy details page - print("Retail policy clicked: ${retail['policy_no']}"); + logDebug("Retail policy clicked: ${retail['policy_no']}"); }, child: _buildRetailPolicyCard(retail), ), diff --git a/lib/pages/postEnrollment/planclaimsform.dart b/lib/pages/postEnrollment/planclaimsform.dart index b7c0d46..166ef7e 100755 --- a/lib/pages/postEnrollment/planclaimsform.dart +++ b/lib/pages/postEnrollment/planclaimsform.dart @@ -28,6 +28,8 @@ import 'package:pdf/widgets.dart' as pw; import 'package:printing/printing.dart'; import 'package:flutter/services.dart'; +import 'package:nhance_app_pwa/logger.dart'; + class planclaimsform extends StatefulWidget { final Map? details; const planclaimsform({Key? key, this.details}) : super(key: key); @@ -197,36 +199,36 @@ class _planclaimsformState extends State { @override void didChangeDependencies() { - print('didChangeDependencies'); + logDebug('didChangeDependencies'); super.didChangeDependencies(); // dynamic arguments = ModalRoute.of(context)!.settings.arguments; dynamic arguments = widget.details; if (arguments != null && arguments is Map) { argumentsData = arguments; claimsDetails = argumentsData['claimsDetails']; - print('claimsDetails $claimsDetails'); + logDebug('claimsDetails $claimsDetails'); if (argumentsData.containsKey('fromClaimPage')) { fromClaimsPage = argumentsData['fromClaimPage']; - print('fromClaimsPage $fromClaimsPage'); + logDebug('fromClaimsPage $fromClaimsPage'); } if (fromClaimsPage == 0) { setState(() { claimSubject = claimsDetails['claim_subject']; - print('claimSubject $claimSubject'); + logDebug('claimSubject $claimSubject'); claimsDepartmentId = claimsDetails['ticket_type_id']; rawPolicyStartDate = claimsDetails['policy_start_date']; - print('rawPolicyStartDate $rawPolicyStartDate'); + logDebug('rawPolicyStartDate $rawPolicyStartDate'); rawPolicyEndDate = claimsDetails['claims_grace_date']; - print('rawpolicyEndDate $rawPolicyEndDate'); - print('claimsDepartmentId $claimsDepartmentId'); + logDebug('rawpolicyEndDate $rawPolicyEndDate'); + logDebug('claimsDepartmentId $claimsDepartmentId'); claimsPolicyNo = claimsDetails['policy_no']; client_policy_id = claimsDetails['client_policy_id']; - print('Current Client ID : ${client_policy_id}'); + logDebug('Current Client ID : ${client_policy_id}'); }); // employeePolicyList = claimsDetails['EmployeePolicy']; - // print('employeePolicyList : $employeePolicyList'); + // logDebug('employeePolicyList : $employeePolicyList'); List empList = claimsDetails['EmployeePolicy']; setState(() { subjectController.text = claimSubject; @@ -236,7 +238,7 @@ class _planclaimsformState extends State { 'name': memberList['name'], }; }).toList(); - print('employeePolicyList : $employeePolicyList'); + logDebug('employeePolicyList : $employeePolicyList'); }); // if (claimsDetails['ticket_type_id'] == 3 || @@ -245,7 +247,7 @@ class _planclaimsformState extends State { // } else { // String policyType = claimsDetails['policy_type']; // policyTypeCondition = policyType.split('-')[0].trim(); - // print('Output : $policyTypeCondition'); // Output: GMC + // logDebug('Output : $policyTypeCondition'); // Output: GMC // } } } @@ -253,9 +255,9 @@ class _planclaimsformState extends State { void setInitialServiceId(departmentListDetails) { - print('departmentList : $departmentListDetails'); + logDebug('departmentList : $departmentListDetails'); for (var department in departmentListDetails) { - print(department['id'] == claimsDepartmentId); + logDebug(department['id'] == claimsDepartmentId); if (department['id'] == claimsDepartmentId) { setState(() { serviceId = department['id']; @@ -266,20 +268,20 @@ class _planclaimsformState extends State { } Future _loadToken() async { - print('_loadToken'); + logDebug('_loadToken'); final String? token = await TokenService.getPostToken(); if (token != null && token.isNotEmpty) { // Decode the JWT token received from the API response Map? decodedToken = Jwt.parseJwt(token); - print(decodedToken); + logDebug(decodedToken); mobileNo = session.mobileNo; client_branch_id = session.empClientBranchId; empCodeString = session.empCodeString; - print(empCodeString); // Check if emp_code is correct + logDebug(empCodeString); // Check if emp_code is correct empPrimaryId = session.empPrimaryId; client_id = session.client_id; emailId = session.empEmailCorporate; - print(client_id); + logDebug(client_id); getActiveAndInactivePolicyDetails(); fetchDepartmentList(); getSelfEmployeeProfile(); @@ -319,13 +321,13 @@ class _planclaimsformState extends State { policyDataIsEmpty = combinedPolicies.isEmpty ? 0 : 1; }); if (fromClaimsPage == 0) { - print('fromClaimsPage == 0'); + logDebug('fromClaimsPage == 0'); fetchPoliciesBasedOnService(claimsDepartmentId); } - print("Merged policyList: $policyList"); + logDebug("Merged policyList: $policyList"); } catch (e) { - print('Error occurred while fetching policies: $e'); + logDebug('Error occurred while fetching policies: $e'); setState(() { policyDataIsEmpty = 0; }); @@ -333,28 +335,28 @@ class _planclaimsformState extends State { } Future getSelfEmployeeProfile() async { - print(getSelfEmployeeProfile); + logDebug(getSelfEmployeeProfile); if (client_id == null || empCodeString == null) { return; } - print('check 1'); + logDebug('check 1'); final response = await apiService.getSelfEmployeeProfileDetails( client_id!, empCodeString!, client_branch_id!); - print('check 1'); + logDebug('check 1'); if (response['status'] == 'success') { if (response.containsKey('data')) { setState(() { selfDetails = response['data']; - print(selfDetails); + logDebug(selfDetails); }); } else { // Handle other status messages if needed // ToastHelper.showErrorToast( // context, 'API request failed with status: ${data['status']}'); - print('API request failed with status: ${response['status']}'); + logDebug('API request failed with status: ${response['status']}'); } } else { - print('API request failed with status: ${response['status']}'); + logDebug('API request failed with status: ${response['status']}'); } } @@ -364,9 +366,9 @@ class _planclaimsformState extends State { }); try { final response = await apiService.fetchDepartmentList(client_id!, empCodeString!); - print(response); + logDebug(response); if (response['ticket_type'] != null) { - print(response['ticket_type']); + logDebug(response['ticket_type']); List departments = response['ticket_type']; setState(() { departmentList = departments.map((department) { @@ -397,7 +399,7 @@ class _planclaimsformState extends State { throw Exception('Failed to fetch department list'); } } catch (error) { - print('Error fetching department list: $error'); + logDebug('Error fetching department list: $error'); } } @@ -432,7 +434,7 @@ class _planclaimsformState extends State { void fetchPoliciesBasedOnService(int? serviceId) { if (policyList.isEmpty) { - print('Policy list is empty. Ensure data is fetched before filtering.'); + logDebug('Policy list is empty. Ensure data is fetched before filtering.'); return; } setState(() { @@ -440,15 +442,15 @@ class _planclaimsformState extends State { policyTypeCondition = null; // client_policy_id = null; }); - print('1111 serviceId : $serviceId'); + logDebug('1111 serviceId : $serviceId'); if (serviceId == 1 || serviceId == 2 || serviceId == 3 || serviceId == 4 || serviceId == 72) { - print('2222'); + logDebug('2222'); // Filter policies based on the ticket_type_id List> filteredPolicies = policyList.where((policy) { return policy['ticket_type_id'] == serviceId; }).toList(); - print('Filtered matching policies: $filteredPolicies'); + logDebug('Filtered matching policies: $filteredPolicies'); // if (filteredPolicies[0]['ticket_type_id'] == 3 || // filteredPolicies[0]['ticket_type_id'] == 4) { setState(() { @@ -469,7 +471,7 @@ class _planclaimsformState extends State { }; }).toList(); - print('policyNumberList : $policyNumberList'); + logDebug('policyNumberList : $policyNumberList'); if (fromClaimsPage == 0) { @@ -496,7 +498,7 @@ class _planclaimsformState extends State { policyTypeCondition = filteredPolicies[0]['ticket_type_id']; // client_policy_id = filteredPolicies[0]['client_policy_id']; - print('Output : $policyTypeCondition'); // Output: GMC + logDebug('Output : $policyTypeCondition'); // Output: GMC }); } else { setState(() { @@ -518,10 +520,10 @@ class _planclaimsformState extends State { // }; // }).toList(); // - // print('policyNumberList : $policyNumberList'); + // logDebug('policyNumberList : $policyNumberList'); // // policyTypeCondition = serviceId; - // print('Output : $policyTypeCondition'); + // logDebug('Output : $policyTypeCondition'); // }); // } else { // setState(() { @@ -532,19 +534,19 @@ class _planclaimsformState extends State { void fetchMemberBasedOnPolicy(selectedPolicyNo) { if (policyList.isEmpty) { - print('Policy list is empty. Ensure data is fetched before filtering.'); + logDebug('Policy list is empty. Ensure data is fetched before filtering.'); return; } if (serviceId == 1 || serviceId == 2 || serviceId == 3 || serviceId == 4) { // Filter policies based on the ticket_type_id - print('policyNumberId : $policyNumberId'); + logDebug('policyNumberId : $policyNumberId'); filteredPoliciesList = policyList.where((policy) { return policy['policy_no'] == selectedPolicyNo; }).toList(); - print('Filtered matching policy_no: $filteredPoliciesList'); + logDebug('Filtered matching policy_no: $filteredPoliciesList'); // client_policy_id = filteredPoliciesList[0]['client_policy_id']; subjectController.text = filteredPoliciesList[0]['claim_subject']; @@ -566,16 +568,16 @@ class _planclaimsformState extends State { 'name': memberList['name'], }; }).toList(); - print('employeePolicyList : $employeePolicyList'); + logDebug('employeePolicyList : $employeePolicyList'); }); } else { - print('No EmployeePolicy found in the filtered policy.'); + logDebug('No EmployeePolicy found in the filtered policy.'); setState(() { employeePolicyList = []; // Clear the list or handle it as needed }); } } else { - print('No policies matched the selected policy number.'); + logDebug('No policies matched the selected policy number.'); setState(() { employeePolicyList = []; // Clear the list or handle it as needed }); @@ -586,7 +588,7 @@ class _planclaimsformState extends State { // return policy['policy_no'] == selectedPolicyNo; // }).toList(); // - // print('Filtered matching policy_no: $filteredPoliciesList'); + // logDebug('Filtered matching policy_no: $filteredPoliciesList'); // } } @@ -660,10 +662,10 @@ class _planclaimsformState extends State { final SharedPreferences prefs = await SharedPreferences.getInstance(); final String? emp_id = session.empPrimaryId; - print('Check One $client_policy_id'); + logDebug('Check One $client_policy_id'); try { - print('Check One'); + logDebug('Check One'); Map fields = { 'emp_id': emp_id, @@ -729,17 +731,17 @@ class _planclaimsformState extends State { request.headers['Authorization'] = 'Bearer $_token'; request.headers['APP-SIGNATURE'] = 'nhance-2025-signature-T8f6gV9k5fK2wf5V5c4vId3b0J8z6cAm2x8Y'; final stringFields = fields.map((key, value) => MapEntry(key, value?.toString() ?? '')); - print("📁 stringFields: ${stringFields}"); + logDebug("📁 stringFields: ${stringFields}"); request.fields.addAll(stringFields); // get uploaded files final uploadedFiles = FileUploadService().files; - print("📁 Total uploaded files: ${uploadedFiles.length}"); - print("📂 File list (original names): ${uploadedFiles.map((f) => f.file.name).toList()}"); + logDebug("📁 Total uploaded files: ${uploadedFiles.length}"); + logDebug("📂 File list (original names): ${uploadedFiles.map((f) => f.file.name).toList()}"); // Validate all labels present (optional but recommended) for (final uf in uploadedFiles) { - print("📝 Checking label for file: ${uf.file.name}, current label: '${uf.label}'"); + logDebug("📝 Checking label for file: ${uf.file.name}, current label: '${uf.label}'"); if ((uf.label ?? '').trim().isEmpty) { ToastHelper.showErrorToast(context, 'Please enter name for all uploaded documents'); setState(() { @@ -793,7 +795,7 @@ class _planclaimsformState extends State { fileBytes = await pdf.save(); final pdfFileName = pf.name.replaceAll(RegExp(r'\.\w+$'), '.pdf'); - print('📄 Converted image ${pf.name} → PDF ($pdfFileName)'); + logDebug('📄 Converted image ${pf.name} → PDF ($pdfFileName)'); request.files.add(http.MultipartFile.fromBytes( 'claim_docs[]', fileBytes, filename: pdfFileName)); } else { @@ -811,9 +813,9 @@ class _planclaimsformState extends State { request.fields['claim_doc_names'] = encodedNames; // ✅ Debug print - print("Payload being sent:"); - print("Files: ${uploadedFiles.map((f) => f.file.name).toList()}"); - print("Names (JSON): $encodedNames"); + logDebug("Payload being sent:"); + logDebug("Files: ${uploadedFiles.map((f) => f.file.name).toList()}"); + logDebug("Names (JSON): $encodedNames"); final response = await request.send(); @@ -827,7 +829,7 @@ class _planclaimsformState extends State { departmentList.clear(); setState(() => isLoading = false); context.go('/claims', extra: 2); - print('Form data submitted successfully'); + logDebug('Form data submitted successfully'); fileService.clearAll(); } else { setState(() => isLoading = false); @@ -836,7 +838,7 @@ class _planclaimsformState extends State { } catch (e) { setState(() => isLoading = false); - print('Error submitting form data: $e'); + logDebug('Error submitting form data: $e'); } finally { setState(() => isSubmitting = false); // 🔥 always stop loader } @@ -1475,7 +1477,7 @@ class _planclaimsformState extends State { // : MediaQuery.of(context).size.width * 0.26, // 26% on desktop // txtheight: 45, // onFilesSelected: (files) { - // print("Picked files: ${files.map((f) => f.name).toList()}"); + // logDebug("Picked files: ${files.map((f) => f.name).toList()}"); // setState(() { // uploadedFiles = files; // store all selected files // }); diff --git a/lib/pages/postEnrollment/policies.dart b/lib/pages/postEnrollment/policies.dart index b940500..db760c6 100755 --- a/lib/pages/postEnrollment/policies.dart +++ b/lib/pages/postEnrollment/policies.dart @@ -21,6 +21,8 @@ import '../service/SessionManager.dart'; import '../service/TokenService.dart'; import '../service/popup_helper.dart'; +import 'package:nhance_app_pwa/logger.dart'; + class policies extends StatefulWidget { final Map? arguments; const policies({super.key, this.arguments}); @@ -76,7 +78,7 @@ class _policiesState extends State { } Future _loadToken() async { - print('_loadToken'); + logDebug('_loadToken'); final String? token = await TokenService.getPostToken(); final SharedPreferences prefs = await SharedPreferences.getInstance(); if (token != null && token.isNotEmpty) { @@ -85,7 +87,7 @@ class _policiesState extends State { client_branch_id = session.empClientBranchId; empCodeString = session.empCodeString; empName = session.gpaEmpName; - print(empCodeString); // Check if emp_code is correct + logDebug(empCodeString); // Check if emp_code is correct empPrimaryId = session.empPrimaryId; client_id = session.client_id; } @@ -102,27 +104,27 @@ class _policiesState extends State { 'policy_no': policyNo }; final response = await apiService.getEcardRequest(eCarDParams); - print('check 1'); + logDebug('check 1'); final ecardDownloadUrl = response['data']['eCardDownload']; final message = response['data']['message']; if (ecardDownloadUrl != null) { - print('✅ Link: $ecardDownloadUrl'); + logDebug('✅ Link: $ecardDownloadUrl'); await _launchURL(ecardDownloadUrl,context); // Only launch if status is success // ToastHelper.showSuccessToast(context, message); } else { - print('❌ Error: $message'); + logDebug('❌ Error: $message'); ToastHelper.showErrorToast(context, message); } } Future _launchURL(String url, BuildContext context) async { - print('url $url'); + logDebug('url $url'); try { final Uri uri = Uri.parse(url); await launchUrl(uri, mode: LaunchMode.externalApplication); } catch (e) { - print('Could not launch URL: $e'); + logDebug('Could not launch URL: $e'); } } @@ -155,7 +157,7 @@ class _policiesState extends State { webOnlyWindowName: '_blank'); // Opens in a new tab (web only) } else { // Handle invalid or null URL - print('Could not launch URL'); + logDebug('Could not launch URL'); } } @@ -256,8 +258,8 @@ class _policiesState extends State { Widget build(BuildContext context) { // dynamic arguments = ModalRoute.of(context)!.settings.arguments; final arguments = widget.arguments; - print('arguments'); - print(arguments); + logDebug('arguments'); + logDebug(arguments); if (arguments != null && arguments is Map) { argumentsData = arguments; if (argumentsData.containsKey('EmployeePolicy') && @@ -284,8 +286,8 @@ class _policiesState extends State { }); sortEmployeeDetails(employeeDetails); - print('employeeDetails'); - print(employeeDetails); + logDebug('employeeDetails'); + logDebug(employeeDetails); } return PopScope( canPop: false, @@ -1147,7 +1149,7 @@ class _policiesState extends State { if (url != null && url.isNotEmpty) { _openUrl(url); } else { - print('No URL provided'); + logDebug('No URL provided'); } }, child: Card( diff --git a/lib/pages/postEnrollment/profile.dart b/lib/pages/postEnrollment/profile.dart index 586738a..c432487 100755 --- a/lib/pages/postEnrollment/profile.dart +++ b/lib/pages/postEnrollment/profile.dart @@ -25,8 +25,11 @@ import '../service/appVersionService.dart'; import '../service/common_update_mobile_dialog.dart'; import '../service/data_manager.dart'; import '../service/popup_helper.dart'; +import '../../features/chatbot/application/chatbot_reset_helper.dart'; import '../session/authenticationService.dart'; +import 'package:nhance_app_pwa/logger.dart'; + class profile extends StatefulWidget { const profile({Key? key}) : super(key: key); @@ -95,23 +98,23 @@ class _profileState extends State { } Future _checkMpinStatus() async { - print('check Mpin Status'); + logDebug('check Mpin Status'); // if (kIsWeb) return; // ❌ skip web final prefs = await SharedPreferences.getInstance(); final String? isMpinSkipped = prefs.getString('is_mpin_skipped'); - print('check Mpin Status'); - print(isMpinSkipped); + logDebug('check Mpin Status'); + logDebug(isMpinSkipped); setState(() { showSetMpin = isMpinSkipped == "1"; - print('check Mpin Status'); - print(showSetMpin); + logDebug('check Mpin Status'); + logDebug(showSetMpin); }); } Future loadVersionInfo() async { - print('App version:}'); + logDebug('App version:}'); installedVersion = await AppVersionService.getInstalledVersion(); storeVersion = await AppVersionService.getLatestStoreVersion( @@ -125,27 +128,27 @@ class _profileState extends State { Future _getAppVersion() async { try { PackageInfo packageInfo = await PackageInfo.fromPlatform(); - print('App version: ${packageInfo.version}'); + logDebug('App version: ${packageInfo.version}'); return packageInfo.version; } catch (e) { - print('Error getting app version: $e'); + logDebug('Error getting app version: $e'); return 'Unknown'; // Optional fallback } } Future _loadToken() async { - print('_loadToken'); + logDebug('_loadToken'); final String? token = await TokenService.getPostToken(); if (token != null && token.isNotEmpty) { // Decode the JWT token received from the API response Map? decodedToken = Jwt.parseJwt(token); - print(decodedToken); + logDebug(decodedToken); client_branch_id = session.empClientBranchId; empCodeString = session.empCodeString; - print(empCodeString); // Check if emp_code is correct + logDebug(empCodeString); // Check if emp_code is correct empPrimaryId = session.empPrimaryId; client_id = session.client_id; - print(client_id); + logDebug(client_id); await dataManager.loadSelfEmployeeProfile( clientId: session.client_id!, empCode: session.empCodeString!, @@ -153,7 +156,7 @@ class _profileState extends State { ) .then((_) { selfDetails = dataManager.selfProfile; - print('selfDetails $selfDetails'); + logDebug('selfDetails $selfDetails'); }); getSelfEmployeeProfile(); } @@ -167,24 +170,24 @@ class _profileState extends State { Future getSelfEmployeeProfile() async { // final selfDetails = dataManager.selfProfile; - print('profile'); - print(profile); + logDebug('profile'); + logDebug(profile); // if (client_id == null || empCodeString == null) { // return; // } // setState(() { // isLoading = true; // }); - // print('check 1'); + // logDebug('check 1'); // final response = await apiService.getSelfEmployeeProfileDetails( // client_id!, empCodeString!, client_branch_id!); - // print('check 1'); + // logDebug('check 1'); // if (response['status'] == 'success') { // if (response.containsKey('data')) { setState(() { // dynamic selfDetails = response['data']; // - print(selfDetails); + logDebug(selfDetails); selfRelationship = selfDetails?['relationship']; selfName = selfDetails?['name']; selfMobile = selfDetails?['mobile']; @@ -196,7 +199,7 @@ class _profileState extends State { selfEmailPersonal = selfDetails?['email_personal']; selfEmpCode = selfDetails?['emp_code']; selfFamilyFloaterKey = selfDetails?['family_floater_key']; - // print(clientDetails); + // logDebug(clientDetails); selfEmpStatus = selfDetails?['emp_status']; // isLoading = false; }); @@ -206,21 +209,21 @@ class _profileState extends State { // // Handle other status messages if needed // // ToastHelper.showErrorToast( // // context, 'API request failed with status: ${data['status']}'); - // print('API request failed with status: ${response['status']}'); + // logDebug('API request failed with status: ${response['status']}'); // } // } else { - // print('API request failed with status: ${response['status']}'); + // logDebug('API request failed with status: ${response['status']}'); // } } Future checkLoginPin() async { - print('checkLoginPin'); + logDebug('checkLoginPin'); try { final SharedPreferences prefs = await SharedPreferences.getInstance(); final empMobileNo = prefs.getString('empMobileNo'); final empEmailid = prefs.getString('empEmailid'); - print('empMobileNo $empMobileNo'); - print('empEmailid $empEmailid'); + logDebug('empMobileNo $empMobileNo'); + logDebug('empEmailid $empEmailid'); var params = {}; if (empMobileNo != null && empMobileNo.isNotEmpty) { @@ -229,7 +232,7 @@ class _profileState extends State { params = {'email_id': empEmailid}; } - print('params $params'); + logDebug('params $params'); final response = await http.post( Uri.parse(Environment.apiUrlEnrollment + 'checkMpin'), @@ -260,17 +263,18 @@ class _profileState extends State { } } } else { - print('❌ API failed: ${response.statusCode}'); + logDebug('❌ API failed: ${response.statusCode}'); return null; } } catch (e) { - print('❌ Error: $e'); + logDebug('❌ Error: $e'); return null; } return null; } Future logout(BuildContext context) async { + ChatbotResetHelper.resetChatbot(context); // if (isMobilePlatform()) { final SharedPreferences prefs = await SharedPreferences.getInstance(); @@ -279,40 +283,40 @@ class _profileState extends State { String? mobileNumber = prefs.getString('empMobileNo'); String? mailID = prefs.getString('empEmailid'); final isMpinSkipped = await checkLoginPin(); - print('isMpinSkipped $isMpinSkipped'); + logDebug('isMpinSkipped $isMpinSkipped'); // bool? biometricStatus = prefs.getBool('biometricStatus') ?? false; // int? skipStatus = prefs.getInt('skipStatus') ?? 1; // Clear all keys await SessionManager().clear(); // await prefs.clear(); - print('Local Storage Clear'); + logDebug('Local Storage Clear'); // html.window.localStorage.clear(); // Re-set the mobile_number key if (isMobilePlatform()) { if (mobileNumber != null) { await prefs.setString('empMobileNo', mobileNumber); - print('empMobileNo $mobileNumber'); + logDebug('empMobileNo $mobileNumber'); // await prefs.setBool('biometricStatus', biometricStatus!); // await prefs.setInt('skipStatus', skipStatus!); } if (mailID != null) { await prefs.setString('empEmailid', mailID); - print('empEmailid $mailID'); + logDebug('empEmailid $mailID'); // await prefs.setBool('biometricStatus', biometricStatus!); // await prefs.setInt('skipStatus', skipStatus!); } if (isMpinSkipped != null) { await prefs.setString('is_mpin_skipped', isMpinSkipped!); - print('isMpinSkipped $isMpinSkipped'); + logDebug('isMpinSkipped $isMpinSkipped'); } if (isMpinSkipped != null && isMpinSkipped == '0') { - print('pinPage'); + logDebug('pinPage'); // return; context.go('/pinPage'); } else { - print('login'); + logDebug('login'); context.go('/login'); } } else { @@ -782,10 +786,10 @@ class _profileState extends State { child: ElevatedButton( onPressed: () { if (showSetMpin) { - print('pinSettingPage'); + logDebug('pinSettingPage'); context.go('/pinSettingPage'); // ✅ Set MPIN page } else { - print('changePin'); + logDebug('changePin'); context.go('/changePin'); // ✅ Change PIN page } }, diff --git a/lib/pages/postEnrollment/raisedTicketList.dart b/lib/pages/postEnrollment/raisedTicketList.dart index d72a75a..907160f 100755 --- a/lib/pages/postEnrollment/raisedTicketList.dart +++ b/lib/pages/postEnrollment/raisedTicketList.dart @@ -20,6 +20,8 @@ import '../../customAppBar/toastHelper.dart'; import '../service/TokenService.dart'; import '../service/popup_helper.dart'; +import 'package:nhance_app_pwa/logger.dart'; + class raisedTicketHistory extends StatefulWidget { const raisedTicketHistory({Key? key}) : super(key: key); @@ -81,21 +83,21 @@ class _raisedTicketHistoryState extends State { } Future _loadToken() async { - print('_loadToken'); + logDebug('_loadToken'); final String? token = await TokenService.getPostToken(); if (token != null && token.isNotEmpty) { // Decode the JWT token received from the API response Map? decodedToken = Jwt.parseJwt(token); - print(decodedToken); + logDebug(decodedToken); empMobileNo = session.mobileNo; client_branch_id = session.empClientBranchId; empCodeString = session.empCodeString; empName = session.gpaEmpName; - print(empCodeString); // Check if emp_code is correct + logDebug(empCodeString); // Check if emp_code is correct empPrimaryId = session.empPrimaryId; client_id = session.client_id; - print(client_id); - print(client_id); + logDebug(client_id); + logDebug(client_id); getTicketList(); } } @@ -109,22 +111,22 @@ class _raisedTicketHistoryState extends State { }); try { - print('check getTicketList 1'); + logDebug('check getTicketList 1'); final response = await apiService.getTicketListByMobile(empMobileNo!); - print('check getTicketList 2'); + logDebug('check getTicketList 2'); setState(() { isLoading = false; }); // if (response['success'] == true && response['data'] is List) { setState(() { ticketList = response['data'].toList(); - print("TC1 - $ticketList"); + logDebug("TC1 - $ticketList"); reversedTicketList = List>.from(ticketList); reversedTicketList = List>.from(ticketList); - print("TC2 - $ticketList"); + logDebug("TC2 - $ticketList"); // ticketList = reversedTicketList.reversed.toList(); ticketList = reversedTicketList.toList(); - print("TC3 - $ticketList"); + logDebug("TC3 - $ticketList"); }); // } // else if (response['status'] == "error" && @@ -140,11 +142,11 @@ class _raisedTicketHistoryState extends State { // isLoading = false; // }); // ToastHelper.showErrorToast(context, 'Something went wrong'); - // print('API request failed with status: ${response['status']}'); + // logDebug('API request failed with status: ${response['status']}'); // } } catch (e) { // ToastHelper.showErrorToast(context, 'Failed to load data'); - print('Error in getTicketList: $e'); + logDebug('Error in getTicketList: $e'); } finally { if (mounted) { setState(() { @@ -360,12 +362,12 @@ class _raisedTicketHistoryState extends State { String claimsDepartmentName = item['ticket_type'] ?? ''; // String claimsReplies = item['replies']; // List messageList = item['message_list']; - print("item - $item"); - print('generateTrackList'); - print(claimsSubject); - print(claimsDate); - print(claimStatus); - print(claimsDepartmentName); + logDebug("item - $item"); + logDebug('generateTrackList'); + logDebug(claimsSubject); + logDebug(claimsDate); + logDebug(claimStatus); + logDebug(claimsDepartmentName); final Map statusColors = { 'Received': Colors.amber, @@ -396,7 +398,7 @@ class _raisedTicketHistoryState extends State { return GestureDetector( onTap: () { - print("Navigating with thz_id: ${item['thz_id']}"); + logDebug("Navigating with thz_id: ${item['thz_id']}"); context.go('/tickettracklist/${item['thz_id']}'); // context.go('/tickettracklist', extra: item['thz_id']); }, diff --git a/lib/pages/postEnrollment/retailClaimForm.dart b/lib/pages/postEnrollment/retailClaimForm.dart index ccfe5c1..70c363f 100755 --- a/lib/pages/postEnrollment/retailClaimForm.dart +++ b/lib/pages/postEnrollment/retailClaimForm.dart @@ -20,6 +20,8 @@ import 'package:http/http.dart' as http; import '../service/TokenService.dart'; import '../service/popup_helper.dart'; +import 'package:nhance_app_pwa/logger.dart'; + class retailClaimForm extends StatefulWidget { final Map? details; const retailClaimForm({Key? key, this.details}) : super(key: key); @@ -77,7 +79,7 @@ class _retailClaimFormsState extends State { } Future _loadToken() async { - print('_loadToken'); + logDebug('_loadToken'); final String? token = await TokenService.getPostToken(); if (token != null && token.isNotEmpty) { setState(() { @@ -85,15 +87,15 @@ class _retailClaimFormsState extends State { }); // Decode the JWT token received from the API response decodedToken = Jwt.parseJwt(token); - print(decodedToken); + logDebug(decodedToken); mobileNo = session.mobileNo; client_branch_id = session.empClientBranchId; empCodeString = session.empCodeString; - print(empCodeString); // Check if emp_code is correct + logDebug(empCodeString); // Check if emp_code is correct empPrimaryId = session.empPrimaryId; client_id = session.client_id; emailId = session.empEmailCorporate; - print(client_id); + logDebug(client_id); getClaimTypeMasterList(); } } @@ -136,7 +138,7 @@ class _retailClaimFormsState extends State { "claim_description": descriptionController.text, }; - print("Retail Claim FormData: $formData"); + logDebug("Retail Claim FormData: $formData"); // ------------------------------ // Prepare MultipartRequest @@ -162,7 +164,7 @@ class _retailClaimFormsState extends State { final response = await request.send(); final responseBody = await response.stream.bytesToString(); - print("Retail Claim API Response: $responseBody"); + logDebug("Retail Claim API Response: $responseBody"); final decoded = jsonDecode(responseBody); @@ -190,7 +192,7 @@ class _retailClaimFormsState extends State { ); } } catch (e) { - print("Retail claim submit ERROR: $e"); + logDebug("Retail claim submit ERROR: $e"); ToastHelper.showErrorToast(context, "Something went wrong"); } diff --git a/lib/pages/postEnrollment/service/api_service.dart b/lib/pages/postEnrollment/service/api_service.dart index 29a3ddc..1a5bffb 100755 --- a/lib/pages/postEnrollment/service/api_service.dart +++ b/lib/pages/postEnrollment/service/api_service.dart @@ -8,6 +8,8 @@ import 'dart:convert'; import '../../../config/environment.dart'; +import 'package:nhance_app_pwa/logger.dart'; + class ApiService { final BuildContext context; String? _postToken; @@ -27,7 +29,7 @@ class ApiService { String? branchID, String? mobileNo, String? emailId) async { - print(_postToken); + logDebug(_postToken); if (_postToken == null) { await _initializeToken(); } @@ -42,8 +44,8 @@ class ApiService { Future> getClaimsHistoryToApi( String ticket_type_id) async { - print("getCashDepositDetailsToApi1"); - print(_postToken); + logDebug("getCashDepositDetailsToApi1"); + logDebug(_postToken); if (_postToken == null) { await _initializeToken(); } @@ -58,7 +60,7 @@ class ApiService { } Future> getAdvertisementImageToApi(clientID) async { - print(_postToken); + logDebug(_postToken); if (_postToken == null) { await _initializeToken(); } @@ -72,7 +74,7 @@ class ApiService { } Future> getCashlessAndReimbursementToApi() async { - print(_postToken); + logDebug(_postToken); if (_postToken == null) { await _initializeToken(); } @@ -86,7 +88,7 @@ class ApiService { Future> getSelfEmployeeProfileDetails( String clientId, String empCode, String branchID) async { - print(_postToken); + logDebug(_postToken); if (_postToken == null) { await _initializeToken(); } @@ -100,7 +102,7 @@ class ApiService { } Future> getFAQsApiData() async { - print(_postToken); + logDebug(_postToken); if (_postToken == null) { await _initializeToken(); } @@ -114,7 +116,7 @@ class ApiService { Future> getTrackClaimsList( String empPrimaryId, mobileNo, emailID) async { - print(_postToken); + logDebug(_postToken); if (_postToken == null) { await _initializeToken(); } @@ -128,7 +130,7 @@ class ApiService { } Future> getTicketListByMobile(String empMobileNo) async { - print(_postToken); + logDebug(_postToken); if (_postToken == null) { await _initializeToken(); } @@ -145,7 +147,7 @@ class ApiService { } Future> getTicketConverList(String thz_id) async { - print(_postToken); + logDebug(_postToken); if (_postToken == null) { await _initializeToken(); } @@ -163,7 +165,7 @@ class ApiService { Future> getWellnessLink( empPrimaryId, client_policy_id) async { - print(_postToken); + logDebug(_postToken); if (_postToken == null) { await _initializeToken(); } @@ -178,7 +180,7 @@ class ApiService { } Future> getEcardRequest(eCardParam) async { - print(_postToken); + logDebug(_postToken); if (_postToken == null) { await _initializeToken(); } @@ -195,7 +197,7 @@ class ApiService { } Future> sendRetailPolicyDetails(formData) async { - print(_postToken); + logDebug(_postToken); if (_postToken == null) { await _initializeToken(); } @@ -235,7 +237,7 @@ class ApiService { } Future> fetchPolicyTypeAndInsurer() async { - print(_postToken); + logDebug(_postToken); if (_postToken == null) { await _initializeToken(); } @@ -249,7 +251,7 @@ class ApiService { Future> fetchDepartmentList( String clientId, String empCode) async { - print(_postToken); + logDebug(_postToken); if (_postToken == null) { await _initializeToken(); } @@ -263,7 +265,7 @@ class ApiService { } Future> getClaimTypeMasterApi() async { - print(_postToken); + logDebug(_postToken); if (_postToken == null) { await _initializeToken(); } @@ -277,7 +279,7 @@ class ApiService { Future> sendTicketFormDataToApi( Map formData) async { - print(_postToken); + logDebug(_postToken); if (_postToken == null) { await _initializeToken(); } @@ -294,7 +296,7 @@ class ApiService { Future> sendClaimsFormDataToApi( Map formData) async { - print(_postToken); + logDebug(_postToken); if (_postToken == null) { await _initializeToken(); } @@ -311,15 +313,15 @@ class ApiService { Future> sendClaimsMessageToApi( Map formData) async { - print(_postToken); + logDebug(_postToken); if (_postToken == null) { await _initializeToken(); } - print("sendClaimsMessageToApi"); + logDebug("sendClaimsMessageToApi"); final url = Uri.parse('${Environment.apiUrl}ticketConversationSave'); // final url = Uri.parse('${Environment.apiUrlTicket}/messages/create'); // Convert formData to Map - print("sendClaimsMessageToApi1"); + logDebug("sendClaimsMessageToApi1"); Map stringFormData = formData.map((key, value) => MapEntry(key, value.toString())); final response = await _makePostRequest(url, stringFormData, { @@ -343,7 +345,7 @@ class ApiService { // Convert formData to Map Map stringFormData = formData.map((key, value) => MapEntry(key, value.toString())); - print(url); + logDebug(url); final response = await _makePostRequest(url, stringFormData, { 'Content-Type': 'application/x-www-form-urlencoded', 'Authorization': 'Bearer $_postToken' ?? '', @@ -353,12 +355,12 @@ class ApiService { // Future> getBotDetails(String requestFor, is_option, // option, returnMessage, mobileNo, policyID) async { - // print('requestFor: $requestFor'); - // print('is_option: $is_option'); - // print('option: $option'); - // print('returnMessage: $returnMessage'); - // print('mobileNo: $mobileNo'); - // print('policyID: $policyID'); + // logDebug('requestFor: $requestFor'); + // logDebug('is_option: $is_option'); + // logDebug('option: $option'); + // logDebug('returnMessage: $returnMessage'); + // logDebug('mobileNo: $mobileNo'); + // logDebug('policyID: $policyID'); // if (_postToken == null) { // await _initializeToken(); // } @@ -370,7 +372,7 @@ class ApiService { // url = Uri.parse( // '${Environment.apiUrl}getChatResponse?request_for=$requestFor&is_option=$is_option&text=$returnMessage&value=$option&mobile_no=$mobileNo&policy_id=$policyID'); // } - // print(url); + // logDebug(url); // // final headers = { // 'Authorization': 'Bearer $_postToken' ?? '', diff --git a/lib/pages/postEnrollment/service/svg_service.dart b/lib/pages/postEnrollment/service/svg_service.dart index 4b7abcc..7d1bbca 100755 --- a/lib/pages/postEnrollment/service/svg_service.dart +++ b/lib/pages/postEnrollment/service/svg_service.dart @@ -3561,6 +3561,10 @@ OCswMDowMGyI4BIAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjUtMTItMDJUMTA6NDM6NTgrMDA6MDAd '''; + static const String chatbot = ''' + + '''; + static String getSvg(String svgName) { switch (svgName) { case 'ECard': @@ -3589,6 +3593,8 @@ OCswMDowMGyI4BIAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjUtMTItMDJUMTA6NDM6NTgrMDA6MDAd return help; case 'email': return email; + case 'chatbot': + return chatbot; case 'smartphone': return smartphone; case 'mpin': diff --git a/lib/pages/postEnrollment/tickettracklist.dart b/lib/pages/postEnrollment/tickettracklist.dart index e2c82df..898d8af 100755 --- a/lib/pages/postEnrollment/tickettracklist.dart +++ b/lib/pages/postEnrollment/tickettracklist.dart @@ -18,6 +18,8 @@ import '../../customAppBar/toastHelper.dart'; import '../service/TokenService.dart'; import '../service/popup_helper.dart'; +import 'package:nhance_app_pwa/logger.dart'; + class tickettracklist extends StatefulWidget { final String ticketID; const tickettracklist({Key? key, required this.ticketID}) : super(key: key); @@ -82,7 +84,7 @@ class _tickettracklistState extends State { void initState() { super.initState(); ticketID = widget.ticketID; - print('ticketID: $ticketID'); + logDebug('ticketID: $ticketID'); apiService = ApiService(context); // Initialize ApiService here _loadToken(); @@ -98,26 +100,26 @@ class _tickettracklistState extends State { @override // void didChangeDependencies() { // super.didChangeDependencies(); - // print('ticket'); + // logDebug('ticket'); // dynamic arguments = ModalRoute.of(context)!.settings.arguments; // if (arguments != null && arguments is int) { // ticketID = arguments; - // print('ticketID: $ticketID'); + // logDebug('ticketID: $ticketID'); // } // } Future _loadToken() async { - print('_loadToken'); + logDebug('_loadToken'); final String? token = await TokenService.getPostToken(); if (token != null && token.isNotEmpty) { // Decode the JWT token received from the API response Map? decodedToken = Jwt.parseJwt(token); - print(decodedToken); + logDebug(decodedToken); empCodeString = session.empCodeString; - print(empCodeString); // Check if emp_code is correct + logDebug(empCodeString); // Check if emp_code is correct empPrimaryId = session.empPrimaryId; client_id = session.client_id; - print(client_id); + logDebug(client_id); getTicketConvoList(); } } @@ -127,11 +129,11 @@ class _tickettracklistState extends State { isLoading = true; }); try { - print("FORMDATA - $formData"); + logDebug("FORMDATA - $formData"); formData = formData.map((key, value) => MapEntry(key, value.toString())); - print("FORMDATA1 - $formData"); + logDebug("FORMDATA1 - $formData"); final response = await apiService.sendClaimsMessageToApi(formData); - print("REs - $response"); + logDebug("REs - $response"); if (response['status'] == 'success') { messageController.clear(); // ToastHelper.showSuccessToast(context, 'Saved Successfully...'); @@ -141,12 +143,12 @@ class _tickettracklistState extends State { }); // Navigator.pushNamed(context, 'claims', arguments: 0); getTicketConvoList(); - print('Form data sent successfully.'); + logDebug('Form data sent successfully.'); } else { - print('Failed to submit form data: ${response['status']}'); + logDebug('Failed to submit form data: ${response['status']}'); } } catch (e) { - print('Error submitting form data: $e'); + logDebug('Error submitting form data: $e'); } } @@ -164,24 +166,24 @@ class _tickettracklistState extends State { }); try { - print('check getTicketList 1'); + logDebug('check getTicketList 1'); final response = await apiService.getTicketConverList(ticketID); - print('check getTicketList 2'); + logDebug('check getTicketList 2'); setState(() { isLoading = false; }); // if (response['success'] == true && response['data'] is List) { setState(() { claimTrackList = response['data']; - print("TCtt1 - $claimTrackList"); + logDebug("TCtt1 - $claimTrackList"); claimTrackMasterList = response['data']['master']; - print("TCtt2 - $claimTrackMasterList"); + logDebug("TCtt2 - $claimTrackMasterList"); claimTrackMsgList = response['data']['notes']; - print("TCtt3 - $claimTrackMsgList"); + logDebug("TCtt3 - $claimTrackMsgList"); if (claimTrackMasterList != []) { - print("ClaimLST - "); - print(claimTrackMasterList[0]['thz_id']); + logDebug("ClaimLST - "); + logDebug(claimTrackMasterList[0]['thz_id']); policyTickID = claimTrackMasterList[0]['thz_id']; policyName = claimTrackMasterList[0]['policy_no']; // name = claimTrackMasterList[0]['name']; @@ -190,12 +192,12 @@ class _tickettracklistState extends State { member = claimTrackMasterList[0]['assignee_name']; policySubject = claimTrackMasterList[0]['subject']; policyMessage = claimTrackMasterList[0]['message']; - // print("ClaimLST - ${claimTrackMasterList['thz_id'].toString()}"); + // logDebug("ClaimLST - ${claimTrackMasterList['thz_id'].toString()}"); } // reversedTicketList = List>.from(ticketList); - // print("TC2 - $ticketList"); + // logDebug("TC2 - $ticketList"); // ticketList = reversedTicketList.reversed.toList(); - // print("TC3 - $ticketList"); + // logDebug("TC3 - $ticketList"); }); // } // else if (response['status'] == "error" && @@ -211,11 +213,11 @@ class _tickettracklistState extends State { // isLoading = false; // }); // ToastHelper.showErrorToast(context, 'Something went wrong'); - // print('API request failed with status: ${response['status']}'); + // logDebug('API request failed with status: ${response['status']}'); // } } catch (e) { // ToastHelper.showErrorToast(context, 'Failed to load data'); - print('Error in getTicketList: $e'); + logDebug('Error in getTicketList: $e'); } finally { if (mounted) { setState(() { diff --git a/lib/pages/postEnrollment/wellness.dart b/lib/pages/postEnrollment/wellness.dart index 17eff08..2cad66f 100755 --- a/lib/pages/postEnrollment/wellness.dart +++ b/lib/pages/postEnrollment/wellness.dart @@ -18,6 +18,8 @@ import '../../customAppBar/toastHelper.dart'; import '../service/SessionManager.dart'; import '../service/TokenService.dart'; +import 'package:nhance_app_pwa/logger.dart'; + class wellness extends StatefulWidget { const wellness({Key? key}) : super(key: key); @@ -55,41 +57,41 @@ class _wellnessState extends State { } Future _loadToken() async { - print('_loadToken'); + logDebug('_loadToken'); final String? token = await TokenService.getPostToken(); if (token != null && token.isNotEmpty) { // Decode the JWT token received from the API response Map? decodedToken = Jwt.parseJwt(token); - print(decodedToken); + logDebug(decodedToken); mobileNo = session.mobileNo; client_branch_id = session.empClientBranchId; empCodeString = session.empCodeString; empName = session.gpaEmpName; - print(empCodeString); // Check if emp_code is correct + logDebug(empCodeString); // Check if emp_code is correct empPrimaryId = session.empPrimaryId; client_id = session.client_id; emailId = session.empEmailCorporate; - print(client_id); + logDebug(client_id); // getAdvertisementSliderImage(); getActiveAndInactivePolicyDetails('Active'); } } Future getActiveAndInactivePolicyDetails(String status) async { - print(getActiveAndInactivePolicyDetails); + logDebug(getActiveAndInactivePolicyDetails); if (client_id == null || empCodeString == null) { return; } setState(() { isLoadingGif = true; }); - print('check 1'); + logDebug('check 1'); final response = await apiService.getActiveAndInactivePolicyDetails( client_id!, empCodeString!, status, client_branch_id, mobileNo,emailId); - print('check 1'); + logDebug('check 1'); if (response['status'] == 'success') { policyList = response['data']; - print('policyList $policyList'); + logDebug('policyList $policyList'); // ------------------------------------------- // 1️⃣ CHECK FOR GMC OR GMC-PARENT @@ -99,18 +101,18 @@ class _wellnessState extends State { return type == 'GMC' || type == 'GMC - Parents'; }).toList(); - print('gmcPolicies $gmcPolicies'); + logDebug('gmcPolicies $gmcPolicies'); if (gmcPolicies.isNotEmpty) { final mergedEmployeeDetails = getMergedEmployeeDetails(gmcPolicies); - print("🟢 Merged Employee Details: $mergedEmployeeDetails"); + logDebug("🟢 Merged Employee Details: $mergedEmployeeDetails"); setState(() { employeeDetailsList = mergedEmployeeDetails; }); - print('mergedEmployeeDetails $employeeDetailsList'); + logDebug('mergedEmployeeDetails $employeeDetailsList'); setState(() => isLoadingGif = false); @@ -127,15 +129,15 @@ class _wellnessState extends State { }).toList(); if (gpaPolicies.isNotEmpty) { - print("🟠 GPA FOUND — calling Wellness API directly"); + logDebug("🟠 GPA FOUND — calling Wellness API directly"); final firstPolicy = gpaPolicies[0]; final empID = firstPolicy['EmployeePolicy'][0]['employee_id']; final clientPolicyId = firstPolicy['client_policy_id']; - print("EMPLOYEE ID: $empID"); - print("CLIENT POLICY ID: $clientPolicyId"); + logDebug("EMPLOYEE ID: $empID"); + logDebug("CLIENT POLICY ID: $clientPolicyId"); setState(() => isLoadingGif = false); @@ -147,7 +149,7 @@ class _wellnessState extends State { // ------------------------------------------- // 3️⃣ NO GMC, NO GPA // ------------------------------------------- - print("❌ No valid policy found"); + logDebug("❌ No valid policy found"); ToastHelper.showErrorToast(context, "No valid policies found."); setState(() => isLoadingGif = false); @@ -156,14 +158,14 @@ class _wellnessState extends State { setState(() { isLoadingGif = false; }); - print('API request failed with status: ${response['status']}'); + logDebug('API request failed with status: ${response['status']}'); } } List getMergedEmployeeDetails(List? gmcPolicies) { - print('123'); + logDebug('123'); if (gmcPolicies == null || gmcPolicies.isEmpty) return []; - print('getMergedEmployeeDetails $gmcPolicies'); + logDebug('getMergedEmployeeDetails $gmcPolicies'); List finalList = []; @@ -198,29 +200,29 @@ class _wellnessState extends State { Future getWellnessLink(employee_id,client_policy_id) async { final response = await apiService.getWellnessLink(employee_id,client_policy_id); - print('check 1'); + logDebug('check 1'); if (response['status'] == 'success') { wellnessURL = response['data']; - print('✅ Link: $wellnessURL'); + logDebug('✅ Link: $wellnessURL'); openInWebView(context,wellnessURL); // await _launchURL(wellnessURL); // Only launch if status is success } else if (response['status'] == 'failed') { wellnessMessage = response['message']; - print('❌ Error: $wellnessMessage'); + logDebug('❌ Error: $wellnessMessage'); ToastHelper.showErrorToast(context, wellnessMessage); } else { ToastHelper.showErrorToast(context, '⚠️ Unknown response format'); - print('⚠️ Unknown response format'); + logDebug('⚠️ Unknown response format'); } } Future _launchURL(String url, BuildContext context) async { - print('url $url'); + logDebug('url $url'); try { final Uri uri = Uri.parse(url); await launchUrl(uri, mode: LaunchMode.externalApplication); } catch (e) { - print('Could not launch URL: $e'); + logDebug('Could not launch URL: $e'); } } @@ -421,7 +423,7 @@ class _wellnessState extends State { String employee_id = item['employee_id'] ?? ''; String client_policy_id = item['client_policy_id'] ?? ''; - print('${name} - ${employee_id}--${client_policy_id}'); + logDebug('${name} - ${employee_id}--${client_policy_id}'); return GestureDetector( onTap: () { diff --git a/lib/pages/service/SessionManager.dart b/lib/pages/service/SessionManager.dart index be92492..83bfb62 100755 --- a/lib/pages/service/SessionManager.dart +++ b/lib/pages/service/SessionManager.dart @@ -143,9 +143,9 @@ import 'package:flutter/foundation.dart'; import 'package:jwt_decode/jwt_decode.dart'; +import 'package:nhance_app_pwa/logger.dart'; import 'package:nhance_app_pwa/pages/service/data_manager.dart'; import 'package:shared_preferences/shared_preferences.dart'; -import 'package:flutter_secure_storage/flutter_secure_storage.dart'; import 'TokenService.dart'; @@ -179,8 +179,6 @@ class SessionManager { Future initializeFromPostToken(String token) async { Map decoded = Jwt.parseJwt(token); - final prefs = await SharedPreferences.getInstance(); - mobileNo = decoded['mobile']; empClientBranchId = decoded['client_branch_id']; empCodeString = decoded['emp_code']?.toString(); @@ -190,25 +188,26 @@ class SessionManager { emp_status = decoded['emp_status']?.toString(); empEmailCorporate = decoded['email_corporate']?.toString(); - // persist - prefs.setString('mobileNo', mobileNo ?? ''); - prefs.setString('empCodeString', empCodeString ?? ''); - prefs.setString('gpaEmpName', gpaEmpName ?? ''); - prefs.setString('empPrimaryId', empPrimaryId ?? ''); - prefs.setString('client_id', client_id ?? ''); - prefs.setString('empClientBranchId', empClientBranchId ?? ''); - prefs.setString('emp_status', emp_status ?? ''); - prefs.setString('empEmailCorporate', empEmailCorporate ?? ''); + // Web: keep session in memory + JWT in sessionStorage only (no SharedPreferences). + if (!kIsWeb) { + final prefs = await SharedPreferences.getInstance(); + prefs.setString('mobileNo', mobileNo ?? ''); + prefs.setString('empCodeString', empCodeString ?? ''); + prefs.setString('gpaEmpName', gpaEmpName ?? ''); + prefs.setString('empPrimaryId', empPrimaryId ?? ''); + prefs.setString('client_id', client_id ?? ''); + prefs.setString('empClientBranchId', empClientBranchId ?? ''); + prefs.setString('emp_status', emp_status ?? ''); + prefs.setString('empEmailCorporate', empEmailCorporate ?? ''); + } - debugPrint('Post Session initialized: $decoded'); + logDebug('Post Session initialized: $decoded'); } /// Save Pre Enrollment Token Future initializeFromPreToken(String token) async { Map decoded = Jwt.parseJwt(token); - final prefs = await SharedPreferences.getInstance(); - enrollmentEmpClientBranchId = decoded['client_branch_id']; enrollmentEmpCodeString = decoded['emp_code']?.toString(); enrollmentEmpPrimaryId = decoded['id']?.toString(); @@ -217,16 +216,22 @@ class SessionManager { enrollmentEmp_status = decoded['emp_status']?.toString(); enrollmentEmailCorporate = decoded['email_corporate']?.toString(); - // persist - prefs.setString('enrollmentEmpClientBranchId', enrollmentEmpClientBranchId ?? ''); - prefs.setString('enrollmentEmpCodeString', enrollmentEmpCodeString ?? ''); - prefs.setString('enrollmentEmpPrimaryId', enrollmentEmpPrimaryId ?? ''); - prefs.setString('enrollmentGpaEmpName', enrollmentGpaEmpName ?? ''); - prefs.setString('enrollmentClient_id', enrollmentClient_id ?? ''); - prefs.setString('enrollmentEmp_status', enrollmentEmp_status ?? ''); - prefs.setString('enrollmentEmailCorporate', enrollmentEmailCorporate ?? ''); + if (!kIsWeb) { + final prefs = await SharedPreferences.getInstance(); + prefs.setString( + 'enrollmentEmpClientBranchId', enrollmentEmpClientBranchId ?? ''); + prefs.setString( + 'enrollmentEmpCodeString', enrollmentEmpCodeString ?? ''); + prefs.setString( + 'enrollmentEmpPrimaryId', enrollmentEmpPrimaryId ?? ''); + prefs.setString('enrollmentGpaEmpName', enrollmentGpaEmpName ?? ''); + prefs.setString('enrollmentClient_id', enrollmentClient_id ?? ''); + prefs.setString('enrollmentEmp_status', enrollmentEmp_status ?? ''); + prefs.setString( + 'enrollmentEmailCorporate', enrollmentEmailCorporate ?? ''); + } - debugPrint('Pre Session initialized: $decoded'); + logDebug('Pre Session initialized: $decoded'); } /// Restore session at startup diff --git a/lib/pages/service/TokenService.dart b/lib/pages/service/TokenService.dart index af01314..8754b19 100755 --- a/lib/pages/service/TokenService.dart +++ b/lib/pages/service/TokenService.dart @@ -1,5 +1,4 @@ import 'dart:convert'; -import 'dart:io'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; @@ -10,8 +9,10 @@ import 'package:shared_preferences/shared_preferences.dart'; import '../../config/environment.dart'; import '../../customAppBar/toastHelper.dart'; +import '../../logger.dart'; import '../../models/platform_helper_mobile.dart'; import 'SessionManager.dart'; +import 'web_session_storage.dart'; class TokenService { static const postTokenKey = 'post_token'; @@ -19,44 +20,43 @@ class TokenService { static final _secureStorage = FlutterSecureStorage(); + /// Web: tokens live only in [sessionStorage] (tab-scoped). Mobile: secure storage. static Future saveTokens({String? postToken, String? preToken}) async { if (kIsWeb) { - final prefs = await SharedPreferences.getInstance(); - if (postToken != null) await prefs.setString(postTokenKey, postToken); - if (preToken != null) await prefs.setString(preTokenKey, preToken); + if (postToken != null) { + WebSessionStorage.write(postTokenKey, postToken); + } + if (preToken != null) { + WebSessionStorage.write(preTokenKey, preToken); + } } else { - if (postToken != null) await _secureStorage.write(key: postTokenKey, value: postToken); - if (preToken != null) await _secureStorage.write(key: preTokenKey, value: preToken); + if (postToken != null) { + await _secureStorage.write(key: postTokenKey, value: postToken); + } + if (preToken != null) { + await _secureStorage.write(key: preTokenKey, value: preToken); + } } } static Future getPostToken() async { if (kIsWeb) { - final prefs = await SharedPreferences.getInstance(); - final token = prefs.getString(postTokenKey); - print('Web getPostToken: $token'); - return token; - } else { - return _secureStorage.read(key: postTokenKey); + return WebSessionStorage.read(postTokenKey); } + return _secureStorage.read(key: postTokenKey); } static Future getPreToken() async { if (kIsWeb) { - final prefs = await SharedPreferences.getInstance(); - final token = prefs.getString(preTokenKey); - print('Web getPreToken: $token'); - return token; - } else { - return _secureStorage.read(key: preTokenKey); + return WebSessionStorage.read(preTokenKey); } + return _secureStorage.read(key: preTokenKey); } + /// Clears auth tokens. On web, clears entire [sessionStorage] (logout / session end). static Future clearTokens() async { if (kIsWeb) { - final prefs = await SharedPreferences.getInstance(); - await prefs.remove(postTokenKey); - await prefs.remove(preTokenKey); + WebSessionStorage.clearAll(); } else { await _secureStorage.delete(key: postTokenKey); await _secureStorage.delete(key: preTokenKey); @@ -64,38 +64,39 @@ class TokenService { } static Future hasValidToken() async { - print('hasToken123'); final post = await getPostToken(); final pre = await getPreToken(); - print('hasToken'); - print('postToken: $post, preToken: $pre'); + return (post != null && post.isNotEmpty) || + (pre != null && pre.isNotEmpty); + } - return (post != null && post.isNotEmpty) || (pre != null && pre.isNotEmpty); + /// Clears auth tokens that older web builds stored in SharedPreferences (localStorage). + /// Call once at startup so they cannot be mistaken for a valid session. + static Future clearLegacyWebAuthFromSharedPreferences() async { + if (!kIsWeb) return; + final p = await SharedPreferences.getInstance(); + await p.remove(postTokenKey); + await p.remove(preTokenKey); } Future checkLoginPin() async { - print('checkLoginPin'); try { final SharedPreferences prefs = await SharedPreferences.getInstance(); final empMobileNo = prefs.getString('empMobileNo'); final empEmailid = prefs.getString('empEmailid'); - print('empMobileNo $empMobileNo'); - print('empEmailid $empEmailid'); - var params = {}; + var params = {}; if (empMobileNo != null && empMobileNo.isNotEmpty) { params = {'mobile_number': empMobileNo}; } else if (empEmailid != null && empEmailid.isNotEmpty) { params = {'email_id': empEmailid}; } - print('params $params'); - final response = await http.post( Uri.parse(Environment.apiUrlEnrollment + 'checkMpin'), body: json.encode(params), headers: { - HttpHeaders.contentTypeHeader: 'application/json', + 'Content-Type': 'application/json', 'APP-SIGNATURE': 'nhance-2025-signature-T8f6gV9k5fK2wf5V5c4vId3b0J8z6cAm2x8Y', }, ); @@ -111,7 +112,8 @@ class TokenService { prefs.setString('mpin', data['Mpin']); } if (data['is_biometric_enabled'] != null) { - prefs.setString('is_biometric_enabled', data['is_biometric_enabled']); + prefs.setString( + 'is_biometric_enabled', data['is_biometric_enabled']); } if (data['is_mpin_skipped'] != null) { prefs.setString('is_mpin_skipped', data['is_mpin_skipped']); @@ -119,78 +121,45 @@ class TokenService { } } } else { - print('❌ API failed: ${response.statusCode}'); + logDebug('checkLoginPin API failed: ${response.statusCode}'); return null; } } catch (e) { - print('❌ Error: $e'); + logDebug('checkLoginPin error: $e'); return null; } return null; } Future logout(BuildContext context) async { - // if (isMobilePlatform()) { final SharedPreferences prefs = await SharedPreferences.getInstance(); - // Get the value of the mobile_number key - String? mobileNumber = prefs.getString('empMobileNo'); String? mailID = prefs.getString('empEmailid'); final isMpinSkipped = await checkLoginPin(); - print('isMpinSkipped $isMpinSkipped'); - // bool? biometricStatus = prefs.getBool('biometricStatus') ?? false; - // int? skipStatus = prefs.getInt('skipStatus') ?? 1; + logDebug('isMpinSkipped $isMpinSkipped'); - // Clear all keys await SessionManager().clear(); - // await prefs.clear(); - print('Local Storage Clear'); - // html.window.localStorage.clear(); - // Re-set the mobile_number key if (isMobilePlatform()) { if (mobileNumber != null) { await prefs.setString('empMobileNo', mobileNumber); - print('empMobileNo $mobileNumber'); - // await prefs.setBool('biometricStatus', biometricStatus!); - // await prefs.setInt('skipStatus', skipStatus!); } if (mailID != null) { await prefs.setString('empEmailid', mailID); - print('empEmailid $mailID'); - // await prefs.setBool('biometricStatus', biometricStatus!); - // await prefs.setInt('skipStatus', skipStatus!); } if (isMpinSkipped != null) { - await prefs.setString('is_mpin_skipped', isMpinSkipped!); - print('isMpinSkipped $isMpinSkipped'); + await prefs.setString('is_mpin_skipped', isMpinSkipped); } if (isMpinSkipped != null && isMpinSkipped == '0') { - print('pinPage'); - // return; context.go('/pinPage'); } else { - print('login'); context.go('/login'); } } else { await prefs.clear(); ToastHelper.showSuccessToast(context, 'logout'); - // Navigate to login page context.go('/login'); } - - - // } else { - // final prefs = await SharedPreferences.getInstance(); - // await prefs.clear(); - // Navigator.pushNamed(context, 'login'); - // } } - } - - - - diff --git a/lib/pages/service/appVersionService.dart b/lib/pages/service/appVersionService.dart index 371ef16..a33df35 100755 --- a/lib/pages/service/appVersionService.dart +++ b/lib/pages/service/appVersionService.dart @@ -4,6 +4,8 @@ import 'package:flutter/foundation.dart'; import 'package:package_info_plus/package_info_plus.dart'; import 'package:http/http.dart' as http; +import 'package:nhance_app_pwa/logger.dart'; + class AppVersionService { /// ✅ Get installed app version (Android + iOS) static Future getInstalledVersion() async { @@ -30,33 +32,33 @@ class AppVersionService { /// ✅ Get Play Store version (Android) /// NOTE: Play Store has no official API. This scrapes the HTML page. static Future getPlayStoreVersion(String packageName) async { - print(Platform.isAndroid); + logDebug(Platform.isAndroid); try { - print('Platform.isAndroid'); + logDebug('Platform.isAndroid'); final url = Uri.parse( "https://play.google.com/store/apps/details?id=$packageName&hl=en&gl=US", ); - print(url); + logDebug(url); final response = await http.get(url); - print('Get Version Response $response'); + logDebug('Get Version Response $response'); if (response.statusCode == 200) { final html = response.body; - print('Get Version Response $html'); + logDebug('Get Version Response $html'); // Android version usually appears near: "Current Version" final versionRegEx = RegExp( r'Current Version.*?<\/span>]*>(.*?)<\/span>', caseSensitive: false, dotAll: true, ); - print('versionRegEx $versionRegEx'); + logDebug('versionRegEx $versionRegEx'); final match = versionRegEx.firstMatch(html); - print('match $match'); + logDebug('match $match'); if (match != null) { return match.group(1)?.trim(); } } } catch (e) { - debugPrint("Play Store error: $e"); + logDebug("Play Store error: $e"); } return null; @@ -71,7 +73,7 @@ class AppVersionService { if (kIsWeb) return null; if (Platform.isAndroid) { - print('Platform.isAndroid'); + logDebug('Platform.isAndroid'); return await getPlayStoreVersion(androidPackage); } diff --git a/lib/pages/service/data_manager.dart b/lib/pages/service/data_manager.dart index c3597a7..46d33d9 100755 --- a/lib/pages/service/data_manager.dart +++ b/lib/pages/service/data_manager.dart @@ -2,6 +2,7 @@ import 'package:flutter/foundation.dart'; import '../postEnrollment/service/api_service.dart'; import 'package:flutter/material.dart'; import 'package:shared_preferences/shared_preferences.dart'; +import 'package:nhance_app_pwa/logger.dart'; class DataManager extends ChangeNotifier { static final DataManager _instance = DataManager._internal(); @@ -52,7 +53,7 @@ class DataManager extends ChangeNotifier { _advertisementImages = await List.from(response['data']); _adsLoaded = true; notifyListeners(); - debugPrint("✅ Advertisement images loaded: $_advertisementImages"); + logDebug("✅ Advertisement images loaded: $_advertisementImages"); } } @@ -81,9 +82,9 @@ class DataManager extends ChangeNotifier { _prePolicyCount = response['pre_policy_count'] ?? 0; _policyLoaded = true; notifyListeners(); - debugPrint("✅ Policy list loaded: $_policyList"); + logDebug("✅ Policy list loaded: $_policyList"); } else { - debugPrint("❌ Failed to load policies: ${response['status']}"); + logDebug("❌ Failed to load policies: ${response['status']}"); } } @@ -115,9 +116,9 @@ class DataManager extends ChangeNotifier { } notifyListeners(); - debugPrint("✅ Self Employee Profile loaded: $_selfProfile"); + logDebug("✅ Self Employee Profile loaded: $_selfProfile"); } else { - debugPrint("❌ Failed to load self profile: ${response['status']}"); + logDebug("❌ Failed to load self profile: ${response['status']}"); } } @@ -170,11 +171,11 @@ class DataManager extends ChangeNotifier { // final response = await _apiService.getAdvertisementImageToApi(); // if (response['status'] == 'success') { // _advertisementImages = List.from(response['data']); -// debugPrint("✅ Advertisement images loaded: ${_advertisementImages}"); +// logDebug("✅ Advertisement images loaded: ${_advertisementImages}"); // _isLoaded = true; // notifyListeners(); // } else { -// debugPrint("❌ Failed to load advertisement images: ${response['message']}"); +// logDebug("❌ Failed to load advertisement images: ${response['message']}"); // } // } // diff --git a/lib/pages/service/popup_helper.dart b/lib/pages/service/popup_helper.dart index 52b9b54..b6df168 100755 --- a/lib/pages/service/popup_helper.dart +++ b/lib/pages/service/popup_helper.dart @@ -5,6 +5,8 @@ import 'package:url_launcher/url_launcher.dart'; import '../../customAppBar/toastHelper.dart'; import '../postEnrollment/service/api_service.dart'; +import 'package:nhance_app_pwa/logger.dart'; + class PopupHelper { /// 🔹 Launch URL safely static Future launchURL(String url, BuildContext context) async { @@ -30,7 +32,7 @@ class PopupHelper { // 🔹 Fetch link using API final response = await apiService.getWellnessLink(empPrimaryId,''); - print('Wellness response : $response'); + logDebug('Wellness response : $response'); if (response['status'] == 'success') { wellnessURL = response['data']; diff --git a/lib/pages/service/ribbon.dart b/lib/pages/service/ribbon.dart index dbeebba..f5b26d0 100755 --- a/lib/pages/service/ribbon.dart +++ b/lib/pages/service/ribbon.dart @@ -3,6 +3,8 @@ library ribbon; import 'package:flutter/material.dart'; import 'dart:math' as math; +import 'package:nhance_app_pwa/logger.dart'; + const TextStyle _kTextStyle = TextStyle( color: Color(0xFFFFFFFF), fontSize: 12, @@ -277,7 +279,7 @@ class _RibbonPainter extends CustomPainter { path.close(); List vec2 = vec.toSet().toList(); offsetRibbon = _center(vec2); - // print('cx = ${offsetRibbon.dx},cy = ${offsetRibbon.dy}'); + // logDebug('cx = ${offsetRibbon.dx},cy = ${offsetRibbon.dy}'); return path; } diff --git a/lib/pages/service/web_session_storage.dart b/lib/pages/service/web_session_storage.dart new file mode 100644 index 0000000..33465e3 --- /dev/null +++ b/lib/pages/service/web_session_storage.dart @@ -0,0 +1,15 @@ +import 'web_session_storage_stub.dart' + if (dart.library.html) 'web_session_storage_html.dart'; + +/// Web-only session storage API (backed by `window.sessionStorage`). +/// On mobile/desktop native this is a no-op; use [TokenService] paths instead. +class WebSessionStorage { + WebSessionStorage._(); + + static String? read(String key) => webSessionStorageRead(key); + + static void write(String key, String? value) => + webSessionStorageWrite(key, value); + + static void clearAll() => webSessionStorageClearAll(); +} diff --git a/lib/pages/service/web_session_storage_html.dart b/lib/pages/service/web_session_storage_html.dart new file mode 100644 index 0000000..3b1ce13 --- /dev/null +++ b/lib/pages/service/web_session_storage_html.dart @@ -0,0 +1,16 @@ +import 'dart:html' as html; + +/// Web: `sessionStorage` — cleared when the tab/window is closed; survives refresh. +String? webSessionStorageRead(String key) => html.window.sessionStorage[key]; + +void webSessionStorageWrite(String key, String? value) { + if (value == null || value.isEmpty) { + html.window.sessionStorage.remove(key); + } else { + html.window.sessionStorage[key] = value; + } +} + +void webSessionStorageClearAll() { + html.window.sessionStorage.clear(); +} diff --git a/lib/pages/service/web_session_storage_stub.dart b/lib/pages/service/web_session_storage_stub.dart new file mode 100644 index 0000000..ce54a50 --- /dev/null +++ b/lib/pages/service/web_session_storage_stub.dart @@ -0,0 +1,6 @@ +/// Non-web stub: session storage is not used (tokens use secure storage / prefs). +String? webSessionStorageRead(String key) => null; + +void webSessionStorageWrite(String key, String? value) {} + +void webSessionStorageClearAll() {} diff --git a/lib/pages/session/SetPinBiometric.dart b/lib/pages/session/SetPinBiometric.dart index 90e808c..60c9564 100755 --- a/lib/pages/session/SetPinBiometric.dart +++ b/lib/pages/session/SetPinBiometric.dart @@ -16,6 +16,8 @@ import '../service/TokenService.dart'; import 'authenticationService.dart'; +import 'package:nhance_app_pwa/logger.dart'; + class pinPage extends StatefulWidget { const pinPage({Key? key}) : super(key: key); @@ -71,13 +73,13 @@ } Future checkLoginPin(BuildContext context) async { - print('checkLoginPin'); + logDebug('checkLoginPin'); try { final SharedPreferences prefs = await SharedPreferences.getInstance(); empMobileNo = prefs.getString('empMobileNo'); empEmailid = prefs.getString('empEmailid'); - print('empMobileNo $empMobileNo'); - print('empEmailid $empEmailid'); + logDebug('empMobileNo $empMobileNo'); + logDebug('empEmailid $empEmailid'); // _preToken = prefs.getString('token'); var params = {}; if (empMobileNo != null && empMobileNo.isNotEmpty) { @@ -96,10 +98,10 @@ ); if (response.statusCode == 200) { - print('checkLoginPin response'); + logDebug('checkLoginPin response'); Map data = json.decode(response.body); if (data['status'] == 'success') { - print('checkLoginPin success'); + logDebug('checkLoginPin success'); if (data['data'] != null) { prefs.setString('mpinText', data['data']); } @@ -118,13 +120,13 @@ } } } else { - print('checkLoginPin Something went wrong'); + logDebug('checkLoginPin Something went wrong'); ToastHelper.showErrorToast(context, 'Something went wrong'); throw Exception('Failed to verify pin number'); } } catch (e) { ToastHelper.showErrorToast(context, 'Something went wrong'); - print('Error: $e'); + logDebug('Error: $e'); } } @@ -134,8 +136,8 @@ bioMetricMpin = prefs.getString('mpin'); biometricStatus = prefs.getString('is_biometric_enabled'); isMpinSkippedStatus = prefs.getString('is_mpin_skipped'); - print('biometricStatus'); - print(biometricStatus); + logDebug('biometricStatus'); + logDebug(biometricStatus); if(biometricStatus == '1' && !_isVerifyingPin && !_isPinVerified) { bool authenticated = await _authService.authenticateWithBiometrics(); @@ -149,7 +151,7 @@ } Future enterPinApi(mpin) async { - print('mpin $mpin'); + logDebug('mpin $mpin'); try { final SharedPreferences prefs = await SharedPreferences.getInstance(); empMobileNo = prefs.getString('empMobileNo'); @@ -158,10 +160,10 @@ if(mpin != null && mpin.isNotEmpty){ if (empMobileNo != null && empMobileNo.isNotEmpty) { - print('mpin empMobileNo'); + logDebug('mpin empMobileNo'); params = {'mobile_number': empMobileNo, 'mpin': mpin}; } else if(empEmailid != null && empEmailid.isNotEmpty){ - print('mpin empEmailid'); + logDebug('mpin empEmailid'); params = {'email_id': empEmailid, 'mpin': mpin}; } } else { @@ -185,19 +187,19 @@ if (response.statusCode == 200) { Map data = json.decode(response.body); - print('data: $data'); + logDebug('data: $data'); _token = data['data']; String status = data['status']; // Directly access the post_enrollment data Map post = data['post_enrollment']; - print('post: $post'); + logDebug('post: $post'); _postToken = post['data']; String postStatus = post['status']; // Save tokens await TokenService.saveTokens(preToken: _token, postToken: _postToken); - print('Tokens saved → preToken: $_token, postToken: $_postToken'); + logDebug('Tokens saved → preToken: $_token, postToken: $_postToken'); if (postStatus == 'success') { postSuccessData(post, data); @@ -205,7 +207,7 @@ enrollmentSuccessData(data); } else { ToastHelper.showErrorToast(context, 'Invalid Pin Number'); - print('Invalid Pin Number'); + logDebug('Invalid Pin Number'); } } else if (response.statusCode == 401) { await SessionManager().clear(); @@ -233,7 +235,7 @@ } catch (e) { ToastHelper.showErrorToast(context, 'Something went wrong'); context.go('/login'); - print('Error: $e'); + logDebug('Error: $e'); } } @@ -250,7 +252,7 @@ session = await SessionManager(); // Decode the JWT token received from the API response // Map? decodedToken = Jwt.parseJwt(post['data']); - // print('postdecodedToken : $decodedToken'); + // logDebug('postdecodedToken : $decodedToken'); // empClientBranchId = decodedToken['client_branch_id']; // prefs.setString('empClientBranchId', empClientBranchId); // empCodeString = decodedToken['emp_code'].toString(); @@ -265,7 +267,7 @@ // prefs.setString('emp_status', emp_status); // getClientLogoAndDetails(); - print('Successfully Login'); + logDebug('Successfully Login'); // Redirect to another page } @@ -276,7 +278,7 @@ await SessionManager().initializeFromPreToken(data['data']); // // Decode the JWT token received from the API response // Map? decodedToken = Jwt.parseJwt(data['data']); - // print('enrolldecodedToken : $decodedToken'); + // logDebug('enrolldecodedToken : $decodedToken'); // enrollmentEmpClientBranchId = decodedToken['client_branch_id']; // prefs.setString( // 'enrollmentEmpClientBranchId', enrollmentEmpClientBranchId); @@ -295,7 +297,7 @@ // final SharedPreferences prefs = await SharedPreferences.getInstance(); - print(_postToken); + logDebug(_postToken); if (_postToken != null && _postToken.isNotEmpty) { setState(() { _isPinVerified = true; // 🔒 HARD LOCK @@ -304,8 +306,8 @@ ToastHelper.showSuccessToast(context, 'Successfully Logged In'); // if (enrollmentEmp_status == 'enrolled' || // enrollmentEmp_status == 'active') { - print('Token12345: ${await TokenService.getPostToken()}'); - print('Token00000'); + logDebug('Token12345: ${await TokenService.getPostToken()}'); + logDebug('Token00000'); // if (context.mounted) { context.go('/home'); // } @@ -323,7 +325,7 @@ // // Decode the JWT token received from the API response // Map? decodedToken = Jwt.parseJwt(data['data']); - // print('decodedToken : $decodedToken'); + // logDebug('decodedToken : $decodedToken'); // enrollmentEmpClientBranchId = decodedToken['client_branch_id']; // prefs.setString('enrollmentEmpClientBranchId', enrollmentEmpClientBranchId); // enrollmentEmpCodeString = decodedToken['emp_code'].toString(); @@ -338,7 +340,7 @@ // prefs.setString('enrollmentEmp_status', enrollmentEmp_status); getClientLogoAndDetails(); - print('Successfully Login'); + logDebug('Successfully Login'); // Redirect to another page final token = await TokenService.getPreToken(); @@ -369,7 +371,7 @@ await enterPinApi(_pinController.text); } catch (e) { ToastHelper.showErrorToast(context, 'Something went wrong'); - print('Error: $e'); + logDebug('Error: $e'); } finally { if (mounted) { setState(() { @@ -402,8 +404,8 @@ final SharedPreferences prefs = await SharedPreferences.getInstance(); empMobileNo = prefs.getString('empMobileNo'); empEmailid = prefs.getString('empEmailid'); - print('empMobileNo $empMobileNo' ); - print('empEmailid $empEmailid'); + logDebug('empMobileNo $empMobileNo' ); + logDebug('empEmailid $empEmailid'); // _token = prefs.getString('token'); var params = {}; if (empMobileNo != null && empMobileNo.isNotEmpty) { @@ -411,7 +413,7 @@ } else if(empEmailid != null && empEmailid.isNotEmpty){ params = {'email_id': empEmailid}; } - print(params); + logDebug(params); final response = await http.post( Uri.parse(Environment.apiUrlEnrollment + 'forgotMPIN'), body: json.encode(params), @@ -433,7 +435,7 @@ // await SessionManager().mobileSessionClear(); context.go('/login'); // Navigator.pushNamed(context, 'login'); - // print('data'); + // logDebug('data'); // prefs.setString('mpinText', data['data']); // prefs.setString('mpin', data['Mpin']); // prefs.setString('is_biometric_enabled', data['is_biometric_enabled']); @@ -468,7 +470,7 @@ } } catch (e) { // ToastHelper.showErrorToast(context, 'Something went wrong'); - print('Error: $e'); + logDebug('Error: $e'); } finally { if (mounted) { setState(() { @@ -494,9 +496,9 @@ }, ); if (response.statusCode == 200) { - // print('response.statusCode == 200'); + // logDebug('response.statusCode == 200'); Map data = json.decode(response.body); - // print(data); + // logDebug(data); if (data.containsKey('data')) { dynamic clientDetails = data['data']; @@ -505,18 +507,18 @@ prefs.setString('clientName', clientDetails['client']['client_name']); setState(() { clientName = clientDetails['client']['client_name']; - print(clientName); + logDebug(clientName); clientLogo = clientDetails['client']['client_logo']; - print(clientLogo); + logDebug(clientLogo); }); } else { - print('API request failed with status: ${data['status']}'); + logDebug('API request failed with status: ${data['status']}'); } } else { - print('Request failed with status: ${response.statusCode}'); + logDebug('Request failed with status: ${response.statusCode}'); } } catch (e) { - print('Exception occurred: $e'); + logDebug('Exception occurred: $e'); } } @@ -765,11 +767,11 @@ HapticFeedbackType .lightImpact, onCompleted: (pin) { - debugPrint( + logDebug( 'onCompleted: $pin'); }, onChanged: (value) { - debugPrint( + logDebug( 'onChanged: $value'); }, cursor: Column( diff --git a/lib/pages/session/changePin.dart b/lib/pages/session/changePin.dart index b5e0927..c03ad0e 100755 --- a/lib/pages/session/changePin.dart +++ b/lib/pages/session/changePin.dart @@ -15,6 +15,8 @@ import '../postEnrollment/service/svg_service.dart'; import '../service/SessionManager.dart'; import 'authenticationService.dart'; +import 'package:nhance_app_pwa/logger.dart'; + class changePin extends StatefulWidget { const changePin({Key? key}) : super(key: key); @@ -47,8 +49,8 @@ class _changePinState extends State { final SharedPreferences prefs = await SharedPreferences.getInstance(); empMobileNo = prefs.getString('empMobileNo'); empEmailid = prefs.getString('empEmailid'); - print('empMobileNo: $empMobileNo'); - print('empEmailid: $empEmailid'); + logDebug('empMobileNo: $empMobileNo'); + logDebug('empEmailid: $empEmailid'); } @override @@ -69,7 +71,7 @@ class _changePinState extends State { if (_formKey.currentState!.validate()) { final SharedPreferences prefs = await SharedPreferences.getInstance(); _token = await TokenService.getPostToken(); - print(_token); + logDebug(_token); // empMobileNo = prefs.getString('empMobileNo'); // empEmailid = 'surendar.m@venbainfotech.com'; var params = {}; @@ -93,7 +95,7 @@ class _changePinState extends State { 'APP-SIGNATURE': 'nhance-2025-signature-T8f6gV9k5fK2wf5V5c4vId3b0J8z6cAm2x8Y', }, ); - print('response $response'); + logDebug('response $response'); if (response.statusCode == 200) { Map data = json.decode(response.body); bool pinVerification = data['data']['mpin_verification']; @@ -106,7 +108,7 @@ class _changePinState extends State { context.go('/profile'); } else { ToastHelper.showErrorToast(context, message); - print('Invalid Pin Number'); + logDebug('Invalid Pin Number'); } } else if (response.statusCode == 401) { await SessionManager().clear(); @@ -134,7 +136,7 @@ class _changePinState extends State { } } catch (e) { ToastHelper.showErrorToast(context, 'Something went wrong'); - print('Error: $e'); + logDebug('Error: $e'); } finally { if (mounted) { setState(() { @@ -401,11 +403,11 @@ class _changePinState extends State { HapticFeedbackType .lightImpact, onCompleted: (pin) { - debugPrint( + logDebug( 'onCompleted: $pin'); }, onChanged: (value) { - debugPrint( + logDebug( 'onChanged: $value'); }, cursor: Column( @@ -505,11 +507,11 @@ class _changePinState extends State { HapticFeedbackType .lightImpact, onCompleted: (pin) { - debugPrint( + logDebug( 'onCompleted: $pin'); }, onChanged: (value) { - debugPrint( + logDebug( 'onChanged: $value'); }, cursor: Column( diff --git a/lib/pages/setPassword.dart b/lib/pages/setPassword.dart index bfef7a2..c8e9c4d 100755 --- a/lib/pages/setPassword.dart +++ b/lib/pages/setPassword.dart @@ -14,6 +14,8 @@ import '../config/environment.dart'; import '../customAppBar/responsive.dart'; import '../customAppBar/toastHelper.dart'; +import 'package:nhance_app_pwa/logger.dart'; + class setPassword extends StatefulWidget { final String email; final String client_id; @@ -116,7 +118,7 @@ class _setPasswordState extends State { _isLoading = false; }); ToastHelper.showErrorToast(context, message!); - print('Invalid mobile number'); + logDebug('Invalid mobile number'); } } else if (response.statusCode == 401) { setState(() { @@ -162,7 +164,7 @@ class _setPasswordState extends State { _isLoading = false; }); // ToastHelper.showErrorToast(context, 'Something went wrong'); - print('Error: $e'); + logDebug('Error: $e'); } // 🔹 Password validation diff --git a/lib/pages/verify.dart b/lib/pages/verify.dart index cd1af5c..f1b62b5 100755 --- a/lib/pages/verify.dart +++ b/lib/pages/verify.dart @@ -1,3 +1,4 @@ +import 'package:nhance_app_pwa/logger.dart'; // import 'package:firebase_auth/firebase_auth.dart'; // import 'package:firebase_messaging/firebase_messaging.dart'; // import 'package:flutter/foundation.dart'; @@ -95,8 +96,8 @@ // // checkTokenAvailability(); // verificationId = widget.verificationId; // mobileNumber = widget.mobileNumber; -// print('Received verificationId: $verificationId'); -// print('Received mobileNumber: $mobileNumber'); +// logDebug('Received verificationId: $verificationId'); +// logDebug('Received mobileNumber: $mobileNumber'); // if (verificationId.isEmpty) { // // Handle the case where verificationId is not provided // // Navigator.pop(context); @@ -114,7 +115,7 @@ // // void logOutFirebase() async { // await _auth.signOut(); -// print('User signed out'); +// logDebug('User signed out'); // } // // @override @@ -133,18 +134,18 @@ // badge: true, // sound: true, // ); -// print('🔔 Permission: ${settings.authorizationStatus}'); +// logDebug('🔔 Permission: ${settings.authorizationStatus}'); // // if (Platform.isIOS || Platform.isMacOS) { // // Get APNS token // apnsToken = await _firebaseMessaging.getAPNSToken(); -// print('📱 APNS Token (iOS): $apnsToken'); +// logDebug('📱 APNS Token (iOS): $apnsToken'); // // // Retry if null // if (apnsToken == null) { // await Future.delayed(const Duration(seconds: 3)); // apnsToken = await _firebaseMessaging.getAPNSToken(); -// print('🔁 Retried APNS Token: $apnsToken'); +// logDebug('🔁 Retried APNS Token: $apnsToken'); // } // // if (apnsToken != null) { @@ -153,7 +154,7 @@ // } else if (Platform.isAndroid) { // // Get FCM token // fcmToken = await _firebaseMessaging.getToken(); -// print('🔥 FCM Token (Android): $fcmToken'); +// logDebug('🔥 FCM Token (Android): $fcmToken'); // // if (fcmToken != null) { // await sendDeviceToken(fcmToken!); @@ -165,13 +166,13 @@ // // // Foreground listener // FirebaseMessaging.onMessage.listen((RemoteMessage message) { -// print('💬 Message: ${message.notification?.title}'); +// logDebug('💬 Message: ${message.notification?.title}'); // ScaffoldMessenger.of(context).showSnackBar( // SnackBar(content: Text(message.notification?.title ?? 'New Notification')), // ); // }); // } catch (e) { -// print('❌ Notification init error: $e'); +// logDebug('❌ Notification init error: $e'); // } // } // @@ -179,20 +180,20 @@ // // try { // // // await _firebaseMessaging.requestPermission(); // // fCMToken = await FirebaseMessaging.instance.getToken(); -// // print('Token : $fCMToken'); +// // logDebug('Token : $fCMToken'); // // // // if (fCMToken != null) { // // await sendDeviceToken(fCMToken); // // } // // } catch (e) { -// // print("Error getting FCM Token: $e"); +// // logDebug("Error getting FCM Token: $e"); // // } // // } // // // Future handleBackgroundMessage(RemoteMessage message) async { -// // print('Title ${message.notification?.title}'); -// // print('Body ${message.notification?.body}'); -// // print('Playload ${message.data}'); +// // logDebug('Title ${message.notification?.title}'); +// // logDebug('Body ${message.notification?.body}'); +// // logDebug('Playload ${message.data}'); // // } // // Future sendDeviceToken(deviceToken) async { @@ -211,19 +212,19 @@ // // if (response.statusCode == 200) { // Map data = json.decode(response.body); -// print('data: $data'); +// logDebug('data: $data'); // String status = data['status']; -// print(status); +// logDebug(status); // if (status == 'success') { -// print('Token Store Successfully'); +// logDebug('Token Store Successfully'); // } else { -// print('Please try again'); +// logDebug('Please try again'); // } // } else { // throw Exception('Failed to store'); // } // } catch (e) { -// print('Error: $e'); +// logDebug('Error: $e'); // } // } // @@ -259,7 +260,7 @@ // _isLoading = false; // }); // Map data = json.decode(response.body); -// print('data: $data'); +// logDebug('data: $data'); // // // --- Extract tokens safely --- // String? preToken; @@ -274,14 +275,14 @@ // // // Save tokens // await TokenService.saveTokens(preToken: preToken, postToken: postToken); -// print('Tokens saved → preToken: $preToken, postToken: $postToken'); +// logDebug('Tokens saved → preToken: $preToken, postToken: $postToken'); // // _preToken = preToken; // String status = data['status']; // // // Directly access the post_enrollment data // Map post = data['post_enrollment']; -// print('post: $post'); +// logDebug('post: $post'); // // _postToken = postToken; // String postStatus = post['status']; @@ -304,7 +305,7 @@ // prefs.clear(); // ToastHelper.showErrorToast(context, 'Invalid OTP. Please try again'); // // Show a Snackbar if the OTP is invalid -// print('Invalid OTP. Please try again'); +// logDebug('Invalid OTP. Please try again'); // } // } else { // setState(() { @@ -319,12 +320,12 @@ // setState(() { // _isLoading = false; // }); -// print('Error: $e'); +// logDebug('Error: $e'); // final SharedPreferences prefs = await SharedPreferences.getInstance(); // prefs.clear(); // ToastHelper.showWarningToast(context, 'Something went wrong'); // // Show a Snackbar if there's an error while verifying OTP -// print('Failed to verify OTP. Please try again.'); +// logDebug('Failed to verify OTP. Please try again.'); // } // } // @@ -342,7 +343,7 @@ // 'client_id': client_id, // 'empClientBranchId': empClientBranchId, // }); -// print('Successfully Login'); +// logDebug('Successfully Login'); // } // // void postSuccessData(post, data) async { @@ -357,7 +358,7 @@ // session = await SessionManager(); // // // Decode the JWT token received from the API response // // Map? decodedToken = Jwt.parseJwt(post['data']); -// // print('decodedToken : $decodedToken'); +// // logDebug('decodedToken : $decodedToken'); // // empClientBranchId = decodedToken['client_branch_id']; // // prefs.setString('empClientBranchId', empClientBranchId); // // empCodeString = decodedToken['emp_code'].toString(); @@ -393,9 +394,9 @@ // // html.window.dispatchEvent( // // html.CustomEvent('userLoggedIn', detail: {'status': 'success'})); // // -// // print("✅ User logged in! LocalStorage values set."); +// // logDebug("✅ User logged in! LocalStorage values set."); // // -// // print('Successfully Login'); +// // logDebug('Successfully Login'); // // } // // // Redirect to another page @@ -407,7 +408,7 @@ // await SessionManager().initializeFromPreToken(data['data']); // // // Decode the JWT token received from the API response // // Map? decodedToken = Jwt.parseJwt(data['data']); -// // print('decodedToken : $decodedToken'); +// // logDebug('decodedToken : $decodedToken'); // // enrollmentEmpClientBranchId = decodedToken['client_branch_id']; // // prefs.setString( // // 'enrollmentEmpClientBranchId', enrollmentEmpClientBranchId); @@ -428,7 +429,7 @@ // // final _postToken = prefs.getString('_postToken'); // // int skipStatus = prefs.getInt('skipStatus') ?? 1; // // final mpinText = prefs.getString('mpinText'); -// // print(isMobilePlatform()); +// // logDebug(isMobilePlatform()); // if (isMobilePlatform()) { // // if (prefs.containsKey('mpin') && mpinText == 'Mpin - exist') { // if (_postToken != null && _postToken.isNotEmpty) { @@ -459,7 +460,7 @@ // // // // Decode the JWT token received from the API response // // Map? decodedToken = Jwt.parseJwt(data['data']); -// // print('decodedToken : $decodedToken'); +// // logDebug('decodedToken : $decodedToken'); // // enrollmentEmpClientBranchId = decodedToken['client_branch_id']; // // prefs.setString('enrollmentEmpClientBranchId', enrollmentEmpClientBranchId); // // enrollmentEmpCodeString = decodedToken['emp_code'].toString(); @@ -474,13 +475,13 @@ // // prefs.setString('enrollmentEmp_status', enrollmentEmp_status); // getClientLogoAndDetails(); // -// print('Successfully Login'); +// logDebug('Successfully Login'); // // // Redirect to another page // // final enrollToken = prefs.getString('enrollToken'); // // int skipStatus = prefs.getInt('skipStatus') ?? 1; // // final mpinText = prefs.getString('mpinText'); -// print(isMobilePlatform()); +// logDebug(isMobilePlatform()); // if (isMobilePlatform()) { // // if (prefs.containsKey('mpin') && mpinText == 'Mpin - exist') { // if (_preToken != null && _preToken.isNotEmpty) { @@ -517,15 +518,15 @@ // smsCode: otp, // ); // -// print('credential $credential'); +// logDebug('credential $credential'); // // final userCredential = // await FirebaseAuth.instance.signInWithCredential(credential); // // await FirebaseAuth.instance.signInWithCredential(credential); -// print('otp firebase check'); +// logDebug('otp firebase check'); // // if (userCredential.user != null) { -// print('otp firebase check done'); +// logDebug('otp firebase check done'); // bool otpVerifyStatus = true; // generateToken(otpVerifyStatus); // } else { @@ -584,7 +585,7 @@ // // setState(() { // // _isLoading = false; // // }); -// print('Error: $e'); +// logDebug('Error: $e'); // ToastHelper.showErrorToast( // context, 'Failed to verify OTP. Please try again.'); // } @@ -600,13 +601,13 @@ // } // // Future checkLoginPin(BuildContext context) async { -// print('checkLoginPin'); +// logDebug('checkLoginPin'); // try { // final SharedPreferences prefs = await SharedPreferences.getInstance(); // empMobileNo = prefs.getString('empMobileNo'); // empEmailid = prefs.getString('empEmailid'); -// print('empMobileNo $empMobileNo'); -// print('empEmailid $empEmailid'); +// logDebug('empMobileNo $empMobileNo'); +// logDebug('empEmailid $empEmailid'); // // _preToken = prefs.getString('token'); // var params = {}; // if (empMobileNo != null && empMobileNo.isNotEmpty) { @@ -624,10 +625,10 @@ // ); // // if (response.statusCode == 200) { -// print('checkLoginPin $response'); +// logDebug('checkLoginPin $response'); // Map data = json.decode(response.body); // if (data['status'] == 'success') { -// print('checkLoginPin success'); +// logDebug('checkLoginPin success'); // if (data['data'] != null) { // prefs.setString('mpinText', data['data']); // } @@ -673,18 +674,18 @@ // // Navigator.pushReplacementNamed(context, 'pinSettingPage'); // } // } else { -// print('checkLoginPin Something went wrong'); +// logDebug('checkLoginPin Something went wrong'); // ToastHelper.showErrorToast(context, 'Something went wrong'); // throw Exception('Failed to verify pin number'); // } // } catch (e) { // ToastHelper.showErrorToast(context, 'Something went wrong'); -// print('Error: $e'); +// logDebug('Error: $e'); // } // } // // Future getClientLogoAndDetails() async { -// print('getClientLogoAndDetails'); +// logDebug('getClientLogoAndDetails'); // var url = Uri.parse(Environment.apiUrlEnrollment + 'getClientDetails?post_client_id=${session.client_id}&post_branch_id=${session.empClientBranchId}&pre_client_id=${session.enrollmentClient_id}&pre_branch_id=${session.enrollmentEmpClientBranchId}'); // try { // var response = await http.get( @@ -695,9 +696,9 @@ // }, // ); // if (response.statusCode == 200) { -// // print('response.statusCode == 200'); +// // logDebug('response.statusCode == 200'); // Map data = json.decode(response.body); -// // print(data); +// // logDebug(data); // // if (data.containsKey('data')) { // dynamic clientDetails = data['data']; @@ -708,27 +709,27 @@ // 'addon_subheading', clientDetails['client']['addon_subheading']); // setState(() { // // dynamic clientDetails = data['data']; -// // print(clientDetails); +// // logDebug(clientDetails); // clientName = clientDetails['client']['client_name']; -// print(clientName); +// logDebug(clientName); // clientLogo = clientDetails['client']['client_logo']; -// print(clientLogo); +// logDebug(clientLogo); // }); // } else { // // Handle other status messages if needed // // ToastHelper.showErrorToast( // // context, 'API request failed with status: ${data['status']}'); -// print('API request failed with status: ${data['status']}'); +// logDebug('API request failed with status: ${data['status']}'); // } // } else { // // Handle other status codes // // ToastHelper.showErrorToast( // // context, 'Request failed with status: ${response.statusCode}'); -// print('Request failed with status: ${response.statusCode}'); +// logDebug('Request failed with status: ${response.statusCode}'); // } // } catch (e) { // // Handle exceptions -// print('Exception occurred: $e'); +// logDebug('Exception occurred: $e'); // } // } // @@ -1278,8 +1279,8 @@ // // ✅ Must be outside any class — this fixes your error // @pragma('vm:entry-point') // Future firebaseMessagingBackgroundHandler(RemoteMessage message) async { -// print('📨 Handling background message: ${message.messageId}'); -// print('Title: ${message.notification?.title}'); -// print('Body: ${message.notification?.body}'); -// print('Data: ${message.data}'); +// logDebug('📨 Handling background message: ${message.messageId}'); +// logDebug('Title: ${message.notification?.title}'); +// logDebug('Body: ${message.notification?.body}'); +// logDebug('Data: ${message.data}'); // } diff --git a/pubspec.yaml b/pubspec.yaml index 445f6b3..b724ff1 100755 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -16,9 +16,9 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html # In Windows, build-name is used as the major, minor, and patch parts # of the product and file versions while build-number is used as the build suffix. -#version: 1.0.32+32 -version: 1.0.31+37 -#version: 2.0.19+57 +#version: 1.2.41+98 +version: 1.0.32+38 +#version: 2.0.20+58 environment: sdk: '>=3.3.3 <4.0.0' @@ -66,6 +66,7 @@ dependencies: file_selector: ^1.0.3 universal_html: ^2.2.4 go_router: ^16.2.2 + flutter_riverpod: ^2.6.1 flutter_secure_storage: ^9.2.4 printing: ^5.14.2 flutter_animate: ^4.5.2 diff --git a/web/index.html b/web/index.html index 3efcb55..60824fa 100755 --- a/web/index.html +++ b/web/index.html @@ -21,33 +21,6 @@ - - -
- - - - - - - \ No newline at end of file