From d92c3c801e1ffa288cd05c28aebe3cdf5b65f2b3 Mon Sep 17 00:00:00 2001 From: RaushanBhanu Date: Sat, 21 Jun 2025 12:33:34 +0530 Subject: [PATCH 1/7] Submission: Raushan --- submissions/Raushan/.python-version | 1 + submissions/Raushan/README.md | 65 ++ .../Raushan/demo-images/cities-comparison.png | Bin 0 -> 174551 bytes .../demo-images/dashboard-overview.png | Bin 0 -> 128023 bytes .../Raushan/demo-images/mobile-view.png | Bin 0 -> 50119 bytes submissions/Raushan/generate_mock_data.py | 71 ++ .../india_city_growth_metrics_mock_data.csv | 101 +++ submissions/Raushan/main.py | 57 ++ submissions/Raushan/pyproject.toml | 12 + submissions/Raushan/utils/analytics.py | 135 +++ submissions/Raushan/utils/constants.py | 18 + submissions/Raushan/utils/data_loader.py | 12 + submissions/Raushan/utils/filters.py | 50 ++ submissions/Raushan/utils/insights.py | 163 ++++ submissions/Raushan/utils/policy_insights.py | 38 + submissions/Raushan/utils/visualizations.py | 220 +++++ submissions/Raushan/uv.lock | 813 ++++++++++++++++++ 17 files changed, 1756 insertions(+) create mode 100644 submissions/Raushan/.python-version create mode 100644 submissions/Raushan/README.md create mode 100644 submissions/Raushan/demo-images/cities-comparison.png create mode 100644 submissions/Raushan/demo-images/dashboard-overview.png create mode 100644 submissions/Raushan/demo-images/mobile-view.png create mode 100644 submissions/Raushan/generate_mock_data.py create mode 100644 submissions/Raushan/india_city_growth_metrics_mock_data.csv create mode 100644 submissions/Raushan/main.py create mode 100644 submissions/Raushan/pyproject.toml create mode 100644 submissions/Raushan/utils/analytics.py create mode 100644 submissions/Raushan/utils/constants.py create mode 100644 submissions/Raushan/utils/data_loader.py create mode 100644 submissions/Raushan/utils/filters.py create mode 100644 submissions/Raushan/utils/insights.py create mode 100644 submissions/Raushan/utils/policy_insights.py create mode 100644 submissions/Raushan/utils/visualizations.py create mode 100644 submissions/Raushan/uv.lock diff --git a/submissions/Raushan/.python-version b/submissions/Raushan/.python-version new file mode 100644 index 0000000..24ee5b1 --- /dev/null +++ b/submissions/Raushan/.python-version @@ -0,0 +1 @@ +3.13 diff --git a/submissions/Raushan/README.md b/submissions/Raushan/README.md new file mode 100644 index 0000000..13789b1 --- /dev/null +++ b/submissions/Raushan/README.md @@ -0,0 +1,65 @@ +# India Growth Metrics Dashboard + +_Submitted by: Raushan Bhanu_ + +## 🌟 Live Demo + +🔗 **[View Live Demo](https://your-demo-link-here.com)** + +## 📸 Screenshots + +- **Dashboard Overview** + +![Dashboard Overview](./demo-images/dashboard-overview.png) + +- **Cities Comparison** + +![Cities Comparison](./demo-images/cities-comparison.png) + +- **Mobile View** + +![Mobile View](./demo-images/mobile-view.png) + +## 🛠️ Tech Stack + +- Frontend: Streamlit (Python) +- Database: CSV (Pandas DataFrames) +- Visualization: Plotly, Seaborn, Matplotlib, Pydeck +- Deployment: Streamlit Cloud + +## ✨ Unique Features + +- **AI-Powered Analytics**: Includes trend prediction, anomaly detection, and correlation analysis across urban metrics. +- **Interactive City Mapping**: Visualizes key metrics geospatially using scalable markers on a Pydeck-powered map. +- **Dynamic Data Exploration**: Enables users to explore city growth metrics through customizable visualizations, ranking, and time series charts. + +## 🚀 Getting Started + +### Prerequisites + +- Python 3.8+ +- [`uv` package manager](https://github.com/astral-sh/uv) + +### Installation + +```bash +# Step 1: Clone the repository +git clone https://github.com/RaushanBhanu/Letscode-Community-Challenge-1.git +cd Letscode-Community-Challenge-1/submissions/Raushan + +# Step 2: Create a virtual environment +uv venv + +# Step 3: Activate the virtual environment +source .venv/bin/activate.fish # On Linux/macOS +.venv\Scripts\activate.bat # On Windows + +# Step 4: Install all dependencies +uv sync + +#Step 5 : Generate mock data +uv run generate_mock_data.py + +#Step 6: Run main.py +streamlit run main.py +``` \ No newline at end of file diff --git a/submissions/Raushan/demo-images/cities-comparison.png b/submissions/Raushan/demo-images/cities-comparison.png new file mode 100644 index 0000000000000000000000000000000000000000..1915fd9df448aa6d0d27a87f30af8a808481d6a5 GIT binary patch literal 174551 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�zP)eEy~wv3^=rzzpDrn(2tiPX;PRpBT!)pQO+Mx?7{Wfud3TkW zUt<$Nkc2FFTCIJ>WZ4$U=Tj;!FJJ2yg@&B+DHV@~aR_pUC6L>^%QDry_&7=0bgemA zMLzk237~S?JY~FYn%~dA0 z2TPdNrd6qYfFw9ySAjW@xoLHOvuLdUSc&6p&ivX;?Dtl_xO?u-`YQE0;t1F*O?$an z@d2(}DF2KL#g%Za1dLH}o);~P>G>^hpCQ{XVKr>yY1SsMId$^;=YIF(i_-?$VpQu2 z!CBL-mCtsy(u_KP2=kB_b>WwX?ROzVW>=yd5^&y9cv7FieDzD$M2kqlZBuMcLY{qd zQZ7SbkeRKpmLVywQvP=&AH(L_GgZwFSTt2uif)Gzk_7_6q?&YkC6rP>f2LF>4*A5< zFV^@H1kLT6wvO$;n8~EgbKQHD>m?>_YW7e|n>GlmL%DJMbF53{M+bV*X>sh4A9WaU z1##k8Q_}v6dVxnB^3R>ynhF*b8=kMdKCfW-l@PRmirl{%Z(nP*J@ZuiUNIEM!kNcr zLg$0z`N>LfJcCnvcpT+AgS98}8O@B*R@LLj9HB1cvDE|T zGS-zV-{9uD{`vNZx{Vjs@_H8u4}Z0k;rtTCSy_+ttQm1I(qun+noA`x_^sXvZgpm^ zSL_{l-xtHc#j*Etn_@D#BL)QVRI+MUF(t1~6x$=K>*)OBGbZ#-2c1$sri3dZZ|RI@)L6Z`k}FE*UA_XKfE`Mi|m`@w0C-I_JSJL9S05eKe~O3eR86rcKAs**_%k zI1PDvKf=apcV!B|uQx4G*#m$GCUpB|SxP8(4AW~QByhHuLh_itX$oqyVzyTE>M@s# zikVFX7(F8MM7<{C=lev~k}A79IyjyNE3Cz2-HRi$euy5$Cg+Y!&5-r*exVy=_iDxV zHgB(<#cqe|buD8b?EOMspag<{9?R>n6%|E%^~MM(aHUaIj%%PydhjO}WZ#&ip4riLa4H$5>0`*^(%|x~Lx-jWpcK(!l9Og8-7!{|2J#W zpP$Tj&zu=rqNXujpY3UW&V#=AbuE#1cyg9q)WYm2sNr3ohk`XZ!5%;sAv1bM;nqL@0uj`O+BwN2S=1a z(`C&{#zN$QnIfZWQ0AD8Qi6!Yy1j@U4=#_b?Vfv`$MS~x{R&QI$iHg8+oo6k12|%1 ziq_Dml7Ka~Uz1)vKW^Y>EQ_OMYhxI&+aYE&f`A$Tyri0i~VBB+E>NoolGa7~~W&AvbkQb9OGyKt!^SMrA z59(sqh5@HBPu1ixO{&RN6ARqFjb5JmPP~YKfFV}8@P>#^_|w8Hys-PNojr-Azg>S} zff>_Od^5SP(`-dFCyl{U)XrUAo!*D&#P3T5M?Cpf$2j-jKUv81;o;+3bz{B7gSLE9 zQaxYNuzU6m=T02SHt?d8&;p6lj>cCnhC=Pn*nvoUtO5P$S4hir4g z69hUKQ?|Kqm^d%eIh-`PDpfDVY8g!X89!k4jdz8Auc@-rMUec~JbHX@D4-*O#}IGU z_C={bO)#NLt9E6(wAr9L8NKctN}WIJ4Ae#d=r_N!B*-tDM$#im(=&A&Yx1{cVrd84 zv1@;|w_jIWU%~NK`X0SbY*}Q{5<21OODHuw%67Pb<2Am5(cB^zy!~ev_eTvM0ufQ$ z@E;pL5X^0I1EcK>T?@RvLg7?0@s&Q;;y{yzsoH(C@dEV>>%eDJ>W1=QCD6c%Y(CJ-$`-B)yh zEr;m_7vl4|(T59$&DK+8bVGx>|FXg=NC`pV77GL;j;W-Wd}(`5qVD$w2M5t&88z<; zw-{Q_R8hHH15Lti+-$K>+#bgTs!$Ba)$VfVKDA;!86cJ|g)IKNMn~;relz@*p({dt z^7Ot5_~pex*S_%a_6{Ljk?qcn&uB{<)*&+AP(5AkiH&yW4iYVe7YE!R*V__CfZgrr zOTaApd~rX)HZiPHX3OUm=R5WpmVW?%Pjlr{gHcpNng3M`ztoAyOaf|O{AX%B!YRa> zfTq*fXgaz&WwX1K)YQ4QIOOSH8<-jT)Qd7r2l&lr*I9LRblg{?gWUJ(^UAecJpYYB zqOFcaq7rWElVuY}WYf6_fudyuPyY4wQMu5Xp#hEP##}U~>z%mwA*e^*mnQ(Ea0dq@?->q_kA zfNiJew+J^2)Gc)Zb)e62ol}-O&=W7OMROHUfxtf>{Z%0PoCw6+66P`c0Z68;J~%i! zGMt-Y(Wo+~bAk;h==vP3(xKf&9}U!ECVTPCR#(k*C`~2|cz3_$9XphSExffA4U3d7 zB`D|CN@wGMLOu#$ML=#wQQ(c=_wOImcA+xwpk6nsrQ2nFdAYyNLH`fOGe&Z+3(W=> z8ilmw)gEOIYeiuf&Ch|SJkA>rmzJLK3dJWU6EkUZnZb`#Cv|LZ$=I8p(7mD4<*D+Q zkz|76=P=w=riUcQjc61UwQK<7cJm7)YqOA;$Eh#+;UQg8!yW?u1_;=JHy$29K!QVi zf}Re}&Z_~iMpnaLQ)9c2@s8T2rwJ7lu#40%f%K6d+<-|blgC?cuLqmm=a+5mD5_eW z$9w&WFO!yI`_Qe_nXRtbP~efq_8DCFN&S}_?K7zqhL3HJx<0>q!=ZWFle^Pt*7FS! ziIqM-ySjpUVmgf~r@tZFi=5l}qe$R%Zrrkc7rNyL1+=Y+#vmuyAPy<%fZKvkNQa>b zJXG}w5rVm=r-yrS=U?FxrEJjvte?ryzDRI)gaaR?r&Dup-2IFD|A#i_1vVlh*Z&83 z)Sht?2#^HGSAy`}@xPITUdxo>@2dO2X^N*!PmfZ{8Nx z9c^U2(EJ%_odqj%hK_AraxDz$_pdV*YCt|dPd{r40yCRdzdwcc&mu_YWne=O$Ko?> zzSWt$ZgjOZo{T(2G#Whf9lS`nV^gr`!8$r!JdB3a;g3O$_p2UppfOV=9V~and~30! z(&oM%Xxm>{ng$8w9;OhnS$9}cR~=G>t!||_S@mqV#JJ~v5x@BBEtLcr% zYsMb_AtgiRwTvgE^@q%8ZRasO#$Ut#*H?6Fjg~}on05UOL>Zn3w3mZ9GnJ=rzP}pT zg>w_u4yM*z^VK+~kf@v#*Ia992-5l(0Cm||*K{k2#Y8ouM|8Gj7V75*wLrwx@l zX>0akb;Arn^K`4+E6wMjq={Dhl#)PYH!T?+LBYoMjDn@ibiHee{<^cSYyY+VAS03= z!QZYov{q8wVZptsx|MnnnCB^P;M=6xWCb(Dm#Z6udGpNWmIyw3 zCZ%M5%(+{x6D-@-s3q6is8=Dt8?x$5Ol@>%CB4AnYkIoQiD37o6tvXm3ol3aiD+Q= z>J*r;)9cytSaGkkp<=J9$e~s6t`6lSUy$j2HAm*2UOlVMnjt4WQHJhza+N3-lm3fE z``wVJ{DYvk(G>35B?3)VPWe|G{I=8#Tt%kWV2kjLX+J}C^G8yRQi0 zc1nQA74nh75eZ_}ns8?9YSO`6c&TH8Hq!%Cb(-$1uhGZiIc#AjN2~6A0-0L^Vao~l zJ=*tqeiILZ?aUm07_#J|_>%m0w?4G(K8{ukqCauZV+wH+UWA)HU_ai`Z4y{~)T?oa z5x3!rvzhej-k`51Wx319keUG^!6y#vzd1;x~e!P@|$XDb7 zg!Y<7b?PPJ9#>>sc2NV%-{j}6w?6LibAI+8Iy3H0?-4ivk&_*=o|>GN^q^Ni*I;*e zF;wdtKj{;>)coqRg+BdmF#dk-6B3n}f%p6)7eAxmSLfUomx!p8;Dw*TUHdt<*OB3K zX|bt~|EM>iqFS?kcxwmySv{Me=Mdx*@y7j3RI228B>K0etT$23a4Jj!g_Tj;>cje~ zu^t-u=D<6zdUqO(^AeNZp=8Mtl{jg6ziJ*E&)STGis2@97jz7TdzD5@FQCXh;jQM2 zClNX}h*|@78pM94s{@0E%!k^V0M6ryXvIP-Rg%_a%@|PJ`{}C9dz!B7G5@4~7)yGkqyEfoKpw3o2c z-q{(Fe$ccl4*@=+D-FlZ+8uhbrHLko>7 zwL*`6)lmtURxU0shwtu?A&HKO(g%dYp4xYp*_`r+uIOYCD+55C+Iy>kGQUBOH5aWd zd3S$_c71d^Z0jTJ=9sdgp=YD#ET6~6lcHpZ26@NG|0VcM067EyC` zuQym*?l9u-K(-G{M-udiT3bIMvrPk{8e>TLzfoSWF+ETaGd1-M!Q3fV*opyC{uN{m zn^d@TY-0;6CHMGBA9GgDUC5#v?liMY*p}eh_{dz#?-!(K0o={+Vx>sifTbE`3%efW zKji20yQ~f?D_4=5bCWf?8oyh7W{*UECs?VW2EV|O-+-GxXAgPo_(An>$mG;(zvk6kzK{It1FY5lHQXaQ*r;zMLX-wh~QncoN!s58cO1@>! zM0PucV+c^XaRGnuv3l$BmVWGEN*(}i^Yvya#fw<;)`#D{sz21_YJY1Dz$~A#uGuk3 zqb4&Qy7L2ChM$(tO2|O9JpmMlpm{1x`DxUY%m!?yR$FM65-rWvIPh)aYNMWJiC=e) zHNW=rCT1RZIM^+&((Oxvjf_%;v0)z>VjC?$+3Qpp6^0M~7)+76!h944u{PgW{p`!` zTS|a^?hZbZ-=xQg$`oT88yM$NZqeoMwFWBNm3+(g6lu$Q@GEdKD`vsvOTjC0$9#U> z5zn53lCrZ`i@0(BT~%}+B^4FUbI>JfXWq?OW&Cc(l6Rgl+vcmWmoGU-_@$#MXvM@V z=8@5*trcNl7s@g8Jq6FS&jvNpBzCc`mX=8B@O>C7H(h@)0HB z1D^%0B9pxo&;2xGe5^{R!9&+4>25#qA@S0>9EfW`*NkUujW?HXjoW;$@lOBkRI55t zav!rg>kVlb>}zu(n|{77*<>AmiOO!T>R8#;8;F+zo=wVSh)+)}rE<@9W_6__@u@A| zce(8|S_#`-jTX&#YKXIuO3Flu49^v^DPVbGeMo4e;6R&mY0bZ(L7qyrt|)TmjJSx{ zavBrsd}lImCD+n3HHhQ%da2<$$<%W0M?k~8pg8-w?3m5?o;3}_Phe#*iqT8+gyiowAb!54 zy}N@-j?!%G9$`|^FiVhZ&zta1eXr633|<`JF5xQ7=?JpERQkNvsOuK7S=uM^B&XA6 z{0JqK-^1?OSKPAe>#3CsR)-XLlJn;-VMmRGONhjJUtlwVt_>huo-Ojb4cj65d7KVW zTS&{6tz)KoD~?7ko3V+|`Elw^8AwCzh3THhGQRmQ$Ta9+*q=!7+9$3&*Blj?lT_Zp z{C@iW7R6*u)M@MY7xNw{w5RUK2da;IC!&iBPu7CXI9B{5_~e9B(zS_&zI~6fdNR48 z(7?d&n!4U}RY8r>oKs@PJ1S74vEMYRgle`6#h=5;E0us2J1|WBLCiz-`gJPgpFTKf ze(En=GLvxg%WZsJ_(`QCe?uWxVa{1ZoXqM0M{Cu~usAV3?6-#@3OqZzf3{!wlZ3Pn z#Pk~AQN`Nhbq=q`e>l`XS=o_+69s16T({C0andzW48#3T$0;q$bzhX3h)1biVB`0uG`XkJgm{xcRD+QkcCtp6Mbthl#Y#4H-o-s-^B+NF4_ z&%9q$#>PKgjeyI^-~aCo|DodllJs9r{Qt@{(!axu($#nTbwMXf7)_)(zdCkiGmIn* zInCdq3?a5%Si9BBc>#R5l@iHZ;)Sw_2Zj)#f9T#E46ylNd+jl7V=7uh?uGDPRa9;B zku>l1H2|{R_k0MzN@W>Hzly`!nJ<~T29VAWyj#N%tB{3S%78Cl%x8j>RZ8`A>*uFu zd|!%(gh<`*)OFP~xi)K)xwN@14GjYt$F_)BA!Lm3o+(k=_2;LLm%lE*nG5km$pmqX zo~laf47}vDe^g;Dg5Q-=4a3OQYJ5oM=8K+9=lBaJA@u}(J-Nf6vrS-vr<>kR&_jL< z?2(&M%G?^;+S{AH{qgr|6jQ9BKo>Xypo_v>Y2j?mFtD30vqKhWumKfL`08%g^44N;`Hgm=qd_Mrs zK1ukTLA8V=(M`|Y{hOYzO{S~$weHoq^{838{N!4KI{&WVgOe7{($&->B!=ZwT@G`p zrn{d-PCPgfPdKcVw2%KWu9 zBfiv4l)k>GCeL30mt`HYHu!EpJXU-zY)go^tQB7>xVzU0T{$-xV(*NU7AEBDHgcIE zkfP)H#R_I#+1`z{mgkX7Nk@Chp+zcE;FHDcbBnVC_T$cy>r=C*o+lYzuq*g9r%NyY zhDfgX)uB|{4+w4CIMKTI}<~F1lwoG zTFG7}BW|1U34o(O2gs|VLBg|*_j~{=9yi0K!N%2EoIAroRR+73q~X)W9l}0^K+z9O zQeBDbpIU&3ba)R3DgX0AviZiX`C6LokNvh0B&-7Zky0@W;I0*=S5~x9KL(%q0_bR8*A()l4JDyt~CGYsvAlU7%2C5mAP^!d$TbBp5zW!vX;I} zj<_JZ2zYgWzqH=T)Z(`vvSPYOT9T*0s!=Da6zFe{#FFs0n&)-@O1TM3SKpk5iErC` zHGNQ4uC|6hE?y`rZ@u7u@bq`(YgA5uzbunBvQn$sx+D*En!N?Iq8=OLh@-;+FcX^I zD@3`oEqDYPn9ofS#BMs$v5)594Wz<3l$MrmKD_BnJe(zQOu9Xl;jMQEx!B%bW!NEY zVroiHO|6#RkI=ELy$TopOv>+Ov06DK1EzS*kZ%&UZbs7RIKI_{5}H5i!a)hj8;M7K zh#(q|O9B@(sEck!NR?VnWnuSl$PMTpq*4Nq$*vwSoze2olomg0>!Tn?>4%`b={x|& zLF`6Uflj)=0U;X2Q*t?)-yTOHw7o$KMPFV&x?G#w@QT`#9WF1Cj*$QYAjL2S?|!D%&zgzs(*j?5%hj@Di{zDU;z(} ztC+SbJqlFncfuEx|5k9V@EZq$rQWO?-EzJr3ktdtlvwv>K9sLCs&+ZVP>=yp=v5i*i}M17a~Bss?#?$VoDx?n_Nnd0 z#yX2cN5?rYK-{c4^U~L}sq2kkwn^~mBCp9G+UJj@K7c?Vy-oPa`SFn;YBX*o4}rW| z2cDiX9U(q`!PR~v_r6fMul9pRK!%9Cy535S#3)3J0pf2Cv`m!&2MV*wzIyd4i5sOY z^#KsIo}r*sAD?q?*mh`;H%@UY!g6aNXrE^yuT#!hxKHFL?gv z85%_Cp&fvke68asNkjP=H&N_j+EwP%bhU58r)ys?@TwN7(b=cA?3X74g0y#F5D@r< z_RX8J)(ZfC#A*v;^oX?2q45;TZ}&sB51(F}O9ZTvArf#GMuueH9@K4gLAYm9Q1t#V zjo5;BGU_#{09JXX$wLNOURL&oln*z-PUqNEj!H_HQ75~qiX$f{$6~EOwc#*u8|C1- zD=g?H#Roe1hSk+o_@U#|+R=h$F$(3K*Rs##C8k0OsJZ0*sV^a=bb^9{3+1K*N!@Rr zNcGMVoEJ{(Tir<2rgMQ0gyCd6sX8=_zo@%g8t84E^XV@78q93+@+q;)hN2F1WR@#g zuFz+&CEW>V6Ysl@Nx(eOx!@zb;so?q55o7lg4i}?1ZB?wh9!zbX{|RpG`wF|8h)xy zvjO}dP-MOyx_D>R2U}J#ajB_HQZo%M$rGZb<8j4WmT(2k)6t5xBt+*d9|^f{XUgAn z_dC9ExAj~LiUd^giP(9$ofS^j*V{Yc z|LuiIz0M58tW@aAD;}Q(o-aA{9xSWu(Z`Jq*(a;En^Z#%&I#HPAnLP^^-B-W)8P%( z+o<^MlZE}3B(Ce2rp)s!3vz*!H2ON5))qPpH8ke1tLUIZ*@!KO3 zkaWW$`!P7_`~h$cIS(QmtIZEb?!x{tC4)DnMCT(H@~qKz-#09hTwyG`$Ib$UM6b{) zrYC+DU7Etb7RJ&%vO$oh3bW#~7-N6^m*WzfeYDn#x8-wvc@iJ1jTK4Ct*0Qwx)W}s zz+~suemajwM3j{5wvuR;fQ$ipngcM91zR8+0y)Ic_G7Ha9{_mVV={(tu`qnt0HY7A zSPEo#@vvCGMJYiwQeeCObW1NIp)(>rwh^@-7}2uk>9ybNZ8_O|Je}Tki89-r%}dCY zOV4Qbc1)-l?Cu`}5UB%>=R7buPMST(YHY0T^Q3~a?=M`xl)BtyVR!aLI7Bz23^D*N z`@Dio5!1!Bu(0qzrKUx{lDgsCi`Nn=|!OK`MXcld0K#SEx zRXH^ENFQ>JR2e`RCp9?lWdr8_!#~m9+ebH2PW!;^NrNuymFwztB68Sw2(G2yeuDk*{Xz_6Pt60}*bN?v7B}U8t11F*D#Q+v^8R`iIB70y3L%>NIpzRAQV~ z6Ti=jTP)fe#vfy2E6**pgM7Dw0vg0~`*Jd{1u|t5WNuEGD{UDAoDh#ba;%EGSKRw$Pfjxao+Q6V}&q%T_`VvWxEx+O9c2!V8`=5 zK|m}hEp{7DZ^*YkkW}Dv4VtM~!`=n355ZMNFlKLLhdMZ$a8wxRn8;8q1d5v|(kltg z)8vBdxC@X$1bi|nH#0B-Eob8+wCW8*xJpoBf(>qQDpiwh`tz<<`UBUOGS@Xob?@tO z*bOvgHiC-hZ|VN-t^{-xWd*i)A3uE9eYJvcvVb~8r=^voai5Q$L;Ru5lueh}2HGSxB*d*1L)~&3b?ymTbpq@> zCz~7{9i5c-<$Os>O3G+tDtwxeG*UPd(4XGd0|N6x2ZMJ#XYm1e^~UkyF1bsGCByp4 z%DDLW5?=iw)mk#{&5dEBfabx9HHNXxq>@Vjl6w+a7KC#<{R!YRtukGbr_2i|eAD^E)oBD9cxIx)f zfc-y}k01Sj2}t{^TIUe_yOs{d=jdorwJ`=Wd_kKWU!O zC?%SLo_aZhyNgcCIHAq=7+*>OEKd9K<=ZHsvut4azFCLA9}8ODDr*)2nxeT{*!b+T zf4=nluM`OkcW&nynqN!4mSFF{=d|j-0WSQ{@xKX}|BwRhe^X5VKS`psVgv*P0jgSW z+)WtqquvRYZ@1v%5p`OJ1Obsr@jAy{`dD}?m!+s)uVv#7Mx z85yraLmNbfhllBjmDIv~FQtl0n?B%&i8(bRwY;xRq6cip3G}`4)3|k53I}{SRgKjKVEa8L`p)xy_Q&3%@7geMUdtR>b>B!(ox!({(H?j z01Vl@-qtw@J1CrujcvSo+ogA~_e0dSr(|Hp#s+7o;0p!-Y|Hwna#lu=*j@-wEv*u% zJkdpD^9=+EBI>^A_v~NZ0=;{K>kj$4d z#Twwb$+1aETLXFMtL-BLXp1XccF-d9E9@VdmFuCxj-q%Bs=b~?h8>}yQBlGx|7gd$ zZ{zvO63MmJy$l{ht4l%TDu#xcwvg)d_5Q@-(q_a5piC&5QWtouf2PWUor;B-2go!p zeg;CloCyF22He*7g@K-4ItYt&WJ|ShJW~wwK1L92lWg7AWMQexcIJ@#KbsWHranGC zFlT5HOUu|(?z31*mwo8_qo7SlugR- zDhZ}m0O_WCBkO^P=t~IBs-uZiFJJqAR^YxnRj&J#h$D8uG-h^}`NSinE6S>Gec*<9 zk~pn$%Z<8XKT0po{kbt<8zYV;#3Hm*R{I*wZ>aB4VMfsmclQZq?1H~Z1u3FqHu^6m zcYqD`-WMbd4IA~PmRE`I%h7{?tXAxZfrvbyNf30MDt~>{SK6>uz_8ZaA4|z;JEFl7 z=`A(9oylptqroDK`Tb?QEdUHlo1Ic|8VmLKRAJ>DeN{0bZO8vX)5Z44mGQ6pAU@Ni zyNkFM$^r4mNNBoxfl^jyD8Do9!ngkLC*GV_3e(V>AmCk(mRN4qH)9l(TG&9kgy#YnZGxWY#ym5vF z*4GSi;J@tQA_cqU7_FTI+F+>Q%~r$X9!EC$%h_ClTtP`f^{40ZFaH`6ErHSW#vR4| zWZ~31ZvWj_5=kr!<}}Fa_dB|w#Ps+~U$?+3)Iu(Z|8K|`Kbd>%e-8O`{CkTmN>MZB ztj7*ES&=ryqODVvVx^ZrX(DzSyB#W|C;vCx?Ba)aH#4=zPg|5U8E<$8UTxXi^@^G{ zQtS3z@uiX~>HHk03vtSa{jE0aH~-uN;R)-fK9^QY-nokJPO7VHUGd?E_1RsKNPQ6R zlUR+k)|`3vj{-3K(_29LH;UlYzt--yZ(K!PRk24Nqr8)Vt0e=)Hf_Xvb(;+~1OA4W zuMsbpPDs)1NmPd|5d0 z^yr>MFW6DTr*S>~`rc@kpX!Q<%oOA3x+18{;pmu1%?SU7);U4G z{=i2{;O4`)!k;!^N>s$Y44K=K{7K!K4y)Qkwl^E;Pw7UWlM5>Nxh$Z1o9OxtH)ews zi;ES-tr%j52~0$A4PQVb0S@sq9C2N=7kuLsL-ws+s`yG+uV@llzw0I_Xz1Q-gxQjw zcMkQ)n%XATqwcyn5rmd}$@^{wyTOo$+}U;MN247zccHqGqPsTkj6 zw*%crIBkwg8m)r8NscbNyuS>Rsy*(5h{YW=zgn*sWJRu6p3up8#5D&mqofvPut@% zTXV8vLGuhp_te!uK@N{Kj#vnJOAO@!#%k)I$d5>ev>vwL-#{|d*$ePEDG$r@$i16E z?!jPr1KLQ%QR;~5!`g-M#z{G?N@^`v&%LW2J??Xr$?b*>BnEjL zrMG}hfe`$}iAkqQV_`5k3&@lKcH*)?zqF(?lDO2W(HSW5<-{c*C0~Q zb+bw6*V1Es=x6-mXjV`^KDN%OIWpQq$6rQ*uDDNh?Tfm)_!SJV3=z=Af({^aFq@M} z(dE*?7UC`C&u|TTZ}?eSuDASxA_Ds{3rl;FFM-PFijw8Xrr8F5-00>Q5Z#Ue3!S-` z-QOC{Dg=sD3z&6F=*HlQC9?DEt9MQt>hn5VIMgOx8v#^EiE2l<;dn7|j?FBf*O#Lx zf6Sh8=Uc|nYc;HTdSA_BOH1=*9OCE=1E6l>xu>c(*$;eXEgi-o%$%T`-OxpribB2O zlwexI#2!a$IHIZ4OiD1@&m;@bv6*vg#PpC|$@@iKQfz`9Uje~zpKWqZ*n4`CARhX-(>+H+L1x~*RC2C4w zV3UpX#Eyxix47!=xf+#YU~et{1YibvlCE5K-l-NTzAD|&t-d6X`XFmvRAUW)A3@AL zk|`#0vqb|sVjVA3SLd`;VTp%*88P9#0(Ob~WWJ1-0E$NvjNl&ny2PA@ZBa~f)&oD* zpzC6CGnO%_^2*jIx#7CP@D4@0y!YTLAqH*F3Mcj54V=XT(;K^i8xuF$X|;CpNLo%- z(bDi!y!U}&d0bOooes0j)J5`5!X4P$iP>izaB|1yhDwm~y*FGJ_LC(YQsQQ3 zmwoe7t>3ImaeiTWHfcG!P7g3X<-*~YFIff3jqy*~6$g?y$Eu`OoEm%vh&U;w29mi| z*SaN(b!*>|^63;$J2ejjCF5h+hxNJyP>CB||FQ>1QNE>&vJ10lg|M!7rR_i+PaHXSDSbhYp;rGCH;qV*$=~c;)X1Vt)zH(yJ4& zy7^Y;X}!SVhM43W2K=K*yKUd`;JmcoKpJak^YZD|r zsV;q@2RHyKrlYUGlrWakZnDZu(R~00Bs8HVd*f)Sz_fC!BgO)>#^QNI1fGb+R*xMh zkjf_nEe$RIX?#P8Z|q|$6-%Cuw~4w1!mMyl7wlc9IdZDh?{OQDz8j&=$?7YP==`j){dSg(>8w&m{3Z316Ls#)=7dz z5)p_(Y;QCiPQ{?@#HLe09H{r`Dg9|UV5%DV;M1p8^>5@JJ{<`%5jjz=f1_Ha*o8*x zgBSqZ17-_N&crY}rT6 zr|(g6ePjF6yk;c)Y`k*JQTcmFpRElu7RXoNW`&Gk)7VF9i~6DS4X(+0PaYlU(V`JB z-KawQ9yS~KdZPJPQjUnTjMy06-a7)1H8}NZz5uv^cck}uvM-t z)uAnB5?HXF?4+|hkV#7`C0V4Mrby*)@@)(%xg@KeV^r`1BuMxqI~oh)*vH{AjyqyW zK(C`b2*CwzOX>0Hb)4!IsE1=s2NkJa`GS}EJ|j65P#o)Vx0il5$$@Qm2j-UXc+01{ z?ZH_rCxz_9*SGi2%}dMfaJ%#4qkaDZAthtXGuTLek`Rx7^jRx`EZl8eRCe>Y(M!a`_KA zg(==5t7E&p{XVB8#J*{~obf{_hz%oD3#R&V-DD4L0_j^fr@jl5js)=vgzW3{5)xqZ z^G)Uts1@w;>8R~5!8aLA+v$ln{rtfGlkGMqcx&kZF{K|IbN*%WvB5-|Sx@US|NChC zPO*+oqx5b&0TP7b`0~S&ljlzn;3hrAO`aw74Ho1d_z$T%3bfhS*YW|pxwA4NORj7* zpsaGW(0a+HfzLy@tZoIMiyLVFDIsFODI`;^e0(7X0C_!b9G{Vro8{=j8eWr6|8j?_ z&EtCuF7l-dND}_QG2?iiW-Knbye}$ZaWiO;#`~a(8IjuPFEI|XfGx1%80bMH9q3qe zQXb^=B5jV7XWo5qQ6)8$j(2z7Od!F@EBW`cxSJzbgeB@<8a|)vj>F*0>mgjjCAPly z;S2w4yzb2tZNZ*X!F4)=Mu(0G*0!HMPt!|fRuVm6xMNwJF4oPJs)f~MUj3KAmVhjF zW)&;|=Li!U9Thc)zN<>*+c&|BfB~qG2txo-$jRz1GMKHAmypHATy{8Yhq!2URg4j7o4ffCKex_h?XpXk%9l@EjvC^xjavQ%9i-sm?x+HIU*reL+L-*#0;GfbqSp`* z)Bz&ERamkYr^3c{veM}C)79;{FN}3ft*NT^XyyJbSnRCo|I`9h;Q`79D$P(MFlmWE z#_SIcQCrC!y|k>XYMDAc>r3BT>Gvw1`;nPc73r9r+>;kKIX)M&@`vq^FlxaXYlk^y zdZFktQ&WpMN8{_U zDl7POjS5ROZ@wo-wXSD}cexv&+KgrMr4No>%Dbfvq4DUQLGRGtO-@ob02vGF(z`N| z5;)vt729rd?8FC~$;2{Odg-1HC+f>P9l#Megq7#?j4tDq#kQocL+!=WUUXVK>XbusW0U<*23} zgWK(b9pERA7o;y-C)^W-TGvMye}Jj(YQSR^E}q8+rAOl<^@gKqv3L6p{q5zC#Z-w_ zT`TlDo9GFTUKvo2q--uZ%;jynk@hYOKrnbL&2v*zl1hu4)#B^$U%8|^ZUF(D@a?Oq z###9_I~nHvY+Wtk`o9y+B>$gfX=6*A(wVYJkzIT$m+3w%ndK)>@yxCv!ZxS5%u&dS zy^gk{j?4}5vmYTQ7vDqUWgTtL_6&mWX^GB?IH;(ktxti2lfW_~vBaSEJ{ucI+~%hR zeLL{csL~A0^#f%@VwL-iCOT=|UiHLqvzF|lYY%S#)x!4a$Ac|HiuHdy1LbkoRW8Y= zTcYWk)i$YE{MX3Y%&Xa2Om25(u~?`3bHfCB4fPTW@+*FNy8xtNy+~?{!yoQwac}lsqwQJo zEv8B3Bt0}&!-6B0^byHG=8I-gv)>X8A=M&7SCnA`Ex{Cg=XNcv9SAzOQ8c^x2w_KZ z$&ycPD3pqg3ku6;qMT(7j=hTosF6tIMAq=IWNb_fXy|Nq=dUU=c@^lroD1A^77Zfc zip}FEjrzIa^ZoWrA+jUjf+k1f{Uxv3V3%U_=eU2L@cV*P^>U4G5>=` z2;TxX-ov!y+(jToB0$jph8=5sLY;Q+sI7?ml@@KA87Yj%n@8GEg3_p_JIOA`j7J0QDYwNP!h zcdmb`Q1299&znw5Mwk2v;ahY4L25mdiKpaJ>eXf{4ZtG`V%#RuB!zc zy5V~6c7mhaZ=bj^Uj=<}0&@Vkn<@dk{A<%0X@d@>z%CKgDCF4ZfW=Xy#Y~94Rn!@Y5=*R(QqkAY>#E7E} zGP}f*JzT9sqDBfyyg>KBAfZ-gHxt+t6VpvkXNe~9Mwm1`Oy0-k2H{*IacJ&^QW=PP zJS$v}#H-|eU$4c@zm=>L30@pLtiY6F+`Rc_8O&@_=&?A3e?k916<&)a5;hii*h5^T z%u9G9B|Fm}?_@jl@u%>+ibyn9Z3s!PRjbNz)2`H)<)s|A=0m^NB}BWm{v| z`xl7%>sQIXK)yoo)7>HgP}14;$|n4ZZ1%djm7rEv#+##NBE>^9G-=yTP$a6Qyp37? zBR>4tsb!2qRs3i(wnwMk5!1~XfeTM!B<|qPMbmfb%&VspYZe}fq4i`EmRa)eVbJjV zPHIf#Pk2eZ-xMA=I{ma>zEJr}o%!#bR`Bw(=`nE; zR_(Ykk;_r?7N$Ne0V(DbEe=FFQCe0P=}{w5wEe6uc%k2~2FC7<#z%KDfX72~in+F4$~tj)i5 zBFR6Z&7hkDX%h`1m&>46FmkBT<=7jxCzpQ^j>T~CL|I~tqDwsbc+T9W7dWfn`{Ep( z9!Jg1eH6J%M`*P&vBLqXYCzn_SokBRMT4bI zqfVR(OMBwB|Il1>{K|{F0Wwm2-?=sh#NK#3<(S$=@#=`I_lEF1cwGU3tXH+iavn`1 zk(+=oXO)ZVU6U2-{l^GcIzZ>I0(#$Pk|uBku>DZbpY~tgjDTVGOj8MRJ6^n_qyg7HlJ z`KRqya?|xcQkl}b1^scgm0*&-46-h3CV1JYc%#??Hcyj4XqqB*Q($fjou0l@K96~tF5%EOIAf z+&PEp2L&{0H{1!QdWK&6FZc)5BRg`Cg3$2VJ>>$PS_-0bmvV$uAmIvFU6NszBk*)ispcXojDL7?fvUGA_1s<2GS&j$ zC5(3fy4LrjLinR~kwS3Ac9mQl4|}H_rHAY;zFhoK)T*@3W7!`ceagE{<5)_Gh2XDC zwDAdfHgZrd<^|pI8YB7*v4{c!?(&7hPE6pYW+W8kcX5{K6dy@eHUDDTmw z>=0~SYE-v>gm?@4i9t0dp|s?zc}n#ym7f_=}2EhAKvpDwPugH4Z{=-;B>X`|_xoU?P3LdrlMv5emc8=TKp_{#34u(Rl z$^LV*EF`2@F3_Q=SXoRg=Ajb$(?1m&j=aOh_UefYdmK}hc*HF3?h0tMH-0>xPF`&~ z={borIU>?ljg^6Tt@7Dlyr@HZ4AjX12Ee@zauG{)6TZc{@mA4$f)`JZD zSXJHIJ`yN*fN*a5$MJ*y7!^K)vx+s9pAbH=UQ`5onSrPaE#P`st5MH@>V=d3VChMd9wy3_xs23??+wH0mIT?K%JpT$Ao(cm zx|3|FN&7@1iseOPt7~eX*_<~j(%iGrAXW$)NgCqltdh6Fh+%hTaT$Jbci^mMc%*oxcEE~rt$kosoud06X4{kUD>3 z)%Eg~w6MJoD&hgCd=G{g;(VB6?24V{?k9RzgAqH%Q3*dW(^$ zfBK?sCdhxYR^xmdZ(9;vf89Qbxkj2_n2V)&QYj9q=an<)@kZ)wF-*&gOnR(eI})J+q4V=&cu*UkJf(|Uj6Re_-lv4 znCHT2m=Udo=>jwLn2-(vxJj@Al%m#81sk~z877H8S16vVHRD8pm>TQ-R&O||Pa)s& zWznidHSeEs8#>TuRSH4)chLeK4)3Y+#kOZX#lHTM+xf~!HM%GYCX)SkM;P) zp#Mu|aL0NWwnl`61N)YGk2E=|v8_aoy5agI?PNyD2RIRz7V6X&>KT!nteZBXi08jN!1mWROuWG7BvtD4yfs-(12ZKSER2wo)$ zEK4|HJ*yN4u0D!!5>O$Oep6ZmQP=R~TW6Rqq1@Tt*p%G3qN$%s%G(8j_el^v0dnpQ7*s56sSBxYIpk zE?d5qr-fT@l-*BE)aWrmZXXuK@J3t(+7BZ^Dh;s@=_tyMym^0_)@-Llpwd5Q1J;%D zdhO@}pDXarL`cvW?b9Z!ah6Ro^lkUqg)-|Ax|iwO4`^dx=3X<4gWdNX#fuY53^T~( z9gx#Vh_s6Qnaqj?T9kSLA#7V5^f~+uB;$wzrB~U8fKuS ze@V-F_AX!AZ;_j3c&*R4Xa(AGRi2qSV5B@HAO@Kh)tEebW9;V7-#3ItnVv5-lQ^~c zu=1U`hlW*lMBU54TyCdD#ngS5i7-(3jN58Y!523HjS<^#6cjd7fY~g%CUyV2ud36n zXAhet+n{0ROu!K5=A4U9KS#0pB`HGJaaAsz)4uj_O5>U+Tv+*h;ds$vkv)V=0+?&Y zq(Q)8axR$ZZAMy4SLb<0Na(vo4ZvmJasu7MDU8S6=}5;N-!S?%QGsh!rhj1IC9sTx zWmQujY0w)~C

{^!dK--|(`(N;O)8h3>`}jsMi4hX7->4jk;Kf?+rvSn*^ehqa7R z4+E2DXkjCQ-#>*#jPY0z3^eiTpT6X*K3Qb^-;=cZ-Yp z6=$HFTiU;qwhz^w2bASHUooR*^(hy>_cN1SH8uyzU zt?Pr;xVE#_-!S5Q{YO==cm>Km%@^o!2uP+AheRzWk*I&m**mrBqkH-)^YZh7simwL zKsiM9P8-oMU*^CI+0gmwUBcBaayyD{E5Ol(!Z(qNfE|1p@I-F-?E2wFRiUEPsj~G^H1bvYR z*hG*7Q|gNW6nA2K6zyU-1BfiUGU_k}v0nreFH8uA;+)e%&lZSr zZuYq;vgIto7|2mgo1uWqiv8pya{FNa-E4a~Es*8rYbF_G_J;;t&lw|-cFwmTaGxKs z%;iVfifYH-`Vy`cft%b&>(D}A3n5tXSdjh2xzcr~D;iBiU}$d~owqw8m#1%K9kz7T z_lpPgMTZM#vIDj)oK{_Dl#3)}lLIT1FaXK!5hgIu!pP|AHOi>2o?7bi{g8|ZtL(78 z%QRoQ3U8POQ<+Czg5K>P1@eMWHO3Bpz$hcX0b0 zT_0J~@gBdUvtJre(VMNLaH&35vrliT?%gOo-+mXB^Zo=dpX8w1!mXi*Uy;(Eamh!D zDYrsUsjj*4!FS3RCx?PTs$?cJj zrmuk!X>W}c;MC_DpKQss6e2>~5V_lH$BUJ%6g$BQkEZ(N)fb@y{o|j>1X@>ep$drS zz8Y(?F7iGR(yK7QY;?EUYTew5>Nd7^Y0*Eu9N(X{<=g6vOb>mZA$?%B@pfnOO!OXY zg;KHS@hf_1C!Px+#KnArLm<&DA)Ywee#~Wd@B%hb(Xr6?iH{*F2Tk0J%iXHyoxvdK9Kpc4 zfap6h_>|*g@7j*3^<7BI3HD~jBe5FcAHL=K`kQVn*%mjPqEjtf1kHa?q5!m2)21jEusz8wKH?V$X6kjk z{8EljFybj&dM#e{hcHmtKig*|?>+U=Kq&U~5F<{^DZvIN}MB z^*m3H;uuz`{T+ebdT2ZYr{iBfn&&8AHjjMXxBHYMBz5eJc}M?Oax8w#eu?(}wP5D? z{A}if)a9$v!3ABXn*(RroB;};mjcP9tA3YSTc^L@AS+bJ7%!yPx$x+K_yKPGtz-N01)`=x8x@@Z zsr&H;?_jp=%f*E?g!yv)2+q_}fea-wK5u{2m#BHvXt(TCd6sWlRVI> zKX~!TRPfDbJmZcK2PZ{$u0dvgdkQN|(e;0TZNN6TH^GSjqLtw4Bfi|ZG8RF1^)C4_ zU)DgzSBw#@P?z<+U&v+Z#YUtxEA~hbCt)|3Hh3HYNzY0g6Wvx)0MbAe8cUE^n_lm(DD%(9qnt50S^LT8R%g;5(`HRzDzL zC=eTxd03P&xB!O+lxMv86`x|_(nox<)sbDXoF*A#eq(65P>$|eMCe^QUTHz7kk^@S z#Q8Q_pE91tlO}iMYxMT(cYZ+;q}`4=y8{0WU6$89Az@WgZ7s7nKWF0BR;=aTO0zu+ z8Buf6jg>~Nt1XR|M5O8okIVBX^h|7tJ$dT*_(bN%9ElIfcc&jaHSgiLxQ70=yC1E; zUkvIJ>!e4GNn%*xis6YW0Rwg5l1wIbEP~o67)3G~a93BjNUy(PqdgbHWkJ8rL0pQTEpQnr{m?`O^b*6-v#( zW$`~E;l)1aYH1E4M{xkzQm{hbxNh0vr9n^_DmmsaWQosy>T&rDx*P}I!baK~H*SBQ z55|7HJreAAwEq;21-0rrGJ2nRA~#G5iYYM&bOPOgT&-c9%>5LLNHNjY{dM+pl?;jBccaeFI1cCOY3}tm3;lHc433sNL63w~X6Zi0$VBPY4-Nu$@3ws^zZkoD|C{ z@V#70RBG4lM^b_O7g*emROCaM`3lO!?LE);IN#V-k6%+qZ;CIg94OUsIY}WxmTN zCe~24ZF;R^S+19J=x;Xa*!+vJS5Q<{#oxE{_mEb-h8HFyr2%3otYs|P(MHp`j&?5i ziYfJX*xM`iCXu6aE1t$vTKCyNwIO$DyWTJ413wFJBgIxp%*LI{S8u}1Jj#y*f4G#I zY{cjCXC!Gb#p>Qr_D+BQLYDfB3sS2y&&?wGojtWP6pju+`m-En4+fQZ5{ z#+YNs$0JnCmski`5eMEzXvz?OZ&oGBJ$>QVh~=VPT0A~^pZO9-tOZx(|0G&>3ok#h z`bdySJeR6-qrKLcJWT~+=UiRUQWnzU^N6xFs`*TWE+*{6Izq4W^)PgeSZbcIj_e2) zQs0AK5Eb5US}{blikOv@^quH`b)?k$U3Vmj(fCnzjPR3hpLvgF7AJ!@qQVNqc?(me z545S&xq6JWI3E+sP)>a^wLyDm=-DDPcm9=8^Okb&DNf|EQw)bGa%X$4U=RovDU`Hd z@_HvoDNv`{c1di+PwW>mb#Y0m=sU+xO7}0+!-tP(wai-I9&o&uRNGo~PV3Yv@-`D z>-BV158=;;mr;!8nC=lm96wp0z6Y~0ZQs2jgx(hAkBkA>?$h}&-y-KHuXbHN&die1 z^vilVv0lu?By*x16WAV31CFFw&n1pW<)reTak-@`K$j^nGyM(S2`>J<8vH*!m<<|9qUWSpt+!_i zK)EOJ{;g7~4KJNr%;_Z-30K~CMP!SLwGLYT0h!utVFV1P*4->WZ2wq25Rc227!*4C zFckgvfW)w?ADU5Nnfxl>_b}AmkB$ zqTL%XwxdK8OK3yrdmQHm$UsH72JUGAK~+cXKJgQ3dzpI&(3GLES@g1dRn%GcyVuga0_0U zk8O5Irbs<*8WiZiPqk&7D-|A6XzIoZ(XmXCdDHwR_s{I#m*|)z1#Nx)-N?f%ayA-r z7Ms>zV1_RLl}q?F-Oktm(h=a+(ti%o7cv(W%>|UfZ#yU!AOiNx6P+L&wli#1NDQUzf<(@*!%x|NNK(!rW@q;EPu?Fjm{9`t_eXz5m#eE*%zsPC zdTMiM%MfXC$ET(O@pb(y_Y-EmyyQwxyDKuO1jvgw@&D+}y2-(fa{FEyDA%YI$P7zj zgO?q@kV}-RZ#>})oFrI-Iz^hEUIc??&4(?~8-G=8ad1cgvH7BiGN%3JS*GIu@|pt; zX@Pry*UVGtCAo<5x^UDk%JhssBw*V55vQ}Pl8=b;I`Py_DQq4QZShCr>__ABi8Vv% zN$WUepv|~Q3g++S~|Y`T29r>!<8Pk zghfX7zvU1b6erFIbyaCco2Oe;kd%^j8~Ai94ZKeN)@1x4wEQAOUUGA}Xq~)V4DXqr zsLP8fjUHjW`>ZU5ru&;=sCjQSoUNML9ieWQznWtv8nDtGlph$Ak-|AN8YN$QPj_ON zX-~U`zp)}Ak@Hi8`tO^grK&b+$p?oNI-7j5OgIc5;#{#|zCw_k8moFv$WrjI;SX}S zqN;m)`N$&l+5b@#NO5yeQGv6|={wQd@b6K9P_RH?)y!^|cI+>guil2A7&|+?ro8&Zr3^`XZpwUP$akew5ecj36fxVH+GjcS)jlsDT~6H>~DE+wwiy z9Rm?2l#__2{BXZ7YlF6!93-DMb&Ivx$PQa(sOD&-1+>Gh`yzoT^~{)nCMR4r+Hd<` z+vwyLOwfG$ePdZC<^CoienuhhA6OCrS?k}QXS7;xU-?fQsyXl>-ZO^D81Scb40})7 znL1SI3;8m%TQKCaW{MKMU{Mm4lx$9PiJAzqBjo5B2OSenzUCIMQOOPuJcl}RkLMMb5aXFFiwci-&w~AU69L=}yej&?zo*br=@Fn0BhkHeW$cX&4d+q+dN;RgQ3%3_1AdB#DitTT6p{&yQTjKl1&O>Wh>w;}-a}W-Y-DL92NDlHQzZY`d$k&j!?|Crne4}p zwsZZ^bhoT?7V3{vBzreZwknT*wuBT|ww0~OD|ztCwGFB_e7te@GO^{AH31hUrv<6= zDBS*IjV$MrTu6nCCq%8-W>l4wMX2<#B%I*U{n)*hU{LF^R_BHvadxvI8=j+t=x)Sr z&2WGs__%;sp3Fz+X`%F!4BdYgEdd@&Ofy)8x<(o;Y->wth%(x)RGEXh-)q76YHUnO zfQ^!aj3eq=C80G1D!{EhqAbY zj<{x1jrG(&8wz@vz+o7ezl%I1Wk|(QHiB_93* zBNiO8e-M?8$fWYRic9nQqyjLKc#7m}ULvFN#uM+fILguT522FxGL~#JQ+&a#YAm`i z%+y{deJqV{n1@^eALYDgoibvlDJXLyt+lN?Gmjm%d6NUI&PV{paes*`fhGd?BLX?E zLV6_J0k2A13?@D`_fKi?$!sF~?^p|#Y`#`Sk$L{35oTuf6Ebg8njzm2(c6cRlQhvG zU%kM^gMUp^jq2VC!9T$M3ol^w#V$U%wnky)bejv^ST(@~;FVwn*Ko**);*um$aKs8 z*A0qF{3kT+-#A4L;igr5!h=(^kOb--bN1a6*F=1f8B2a0<;nABykk8#>(JbEIWd4R zUmprvRX%EsCIV31q(^V3M|XtSAxI@9yS?XRC}pT#FG&pZjd`O+C(Z z=DiSs#cGpv!wmgE3Y1CtUzx#B)yql8(@F+ag(F&;xXv1Hw3)zkdBQf@bQ4>C*@Y5I z1BsYoNj|)Yp7H97I!Qnzf&e7ee@|Z|3~5JD>`ZRJDW#qolbJs&>WRB!;E?2GB_-$E zSMCMswIaj9Me|ON$MUhG2HHA(xaDhXKaF5opX)6=2 zbgZNhc%x%ai&$JsCWt;lcuW6(pe!Dj{N?+KWKdeGnoYFniaKQ$QkvMnMQk_pA_Nyh z)=$btl*9Ci{igQ!q)?@Of}v;aN=uPyrtlT!q>~Yn04 zDZnL?!d{8_m((Ei5CjrkvmF}NOpzWORSliBVh^FB#$-KPNChs=Y^#AMDOzsX?MSWc z>zZ*80do%N)wg{)tNfEEG3R-gVH}MC+f41y0IPBzl_-J$)Gb z#Tc{W^VfpxPg$D9pt)bz11;p{L>vb=#>}c<_9@G~3CH8y*gb)(r#T)+Gs7kxx6^=< z=2e?YA|E7~q>7DNnKmY~Ybu+Lms7`9c{z)H485Xl zn|cTAhw$(ynLAfUYiRTfmeGv7aNzF6?!BJ+AFS|gntJ+KZvPdKARevjl)hIWYtoe_ zOXd~|gbG*WngeDMj|wD~Ot!y(%a=!nlZ%~nknb|j24XIS35~EG z{3$I(YF^*l>%XOARxgb0B*i=$Y1I)mvmq3J?nbUZU5vy^BF~;n*H<*5rP>>A6)~yc z8=gT5I$vIO#?tW4Q7w5lHyB#%5o1A0@fm}$2X{*GWZY@#C?e*ceiM2A_CNjoVR)r8 zaJNc;qSQ0Ma*hV`LMf(bnNC8jY%&5Fj_b(2fc>eYbY+&sarWv`YHWgR^vqbv4fbT7 zhUVGll)9#NdH!C1*1wzD3JWLtNLwD`)k3E%kzT9w2V4eYD`HfU$6ZRNw+GYfg#?$& zF=vvV3$;X)nIo9sZo{RG2^XpTVwu+Icp5ngJmEN{V0tvwRejwyKxfbrI+>wto)+Iv zTh-BXCqO4sqIx;DfaLWu;rs4tE>sw|`0ii>Z8Z*j9!zCDTu7B-VmS2}PH`?EBqGhO zfF7(yP2iN5g_YJvTC~Zy|GD&vj-Y`42?IXS*)XG}w)5``yiJ_bBy6A28ij1P5UhT) z-yqaKVL@{fZz8TpEp8lhqnQXi(pP2kHx^79N2^McQVN6@iXk@2btymgEIJd4coSQ& zi7I$wtI2{IoxxNuqT^a+2nxy9?VpW4X;Dm_Nrd@JeM|sd)U1veo951&d1p(7lRIp^ z0Fuza8GUb!vj#w7EG65eM;eP2Rb%_BdzIPS-Y9aYrHXYpM1Z0sYiYF9W-Q6k+4;`e zsURM*J=KOY5?%=fXzSe_1T#p5WF)|Czowxg=gbm22|4_m4q&(xcDk&na$M<&ep1l! z#KAj||10(8lz|l3(=?r)ZgoYgd09qXtRfgJo`u8A0uNoBq~L3LMu)3CQB6@Jf6I3! z%QYp{5O^Y-u|J71O(A&mPKqF!=-;zwre8XeZtGlR+Q>=zs@ZF=9$)isb#LizRs$fM z#Uinw8D`RFRZ|-bI3}iqE(wWQW>WkCB5srCnAvTTD^)a(?YZ%l>-LX-t}dy{t1~Z> z0hh+WKj@nh)$rwGb7ylpU5%z%u`x_u-{ipslQdN5o5k#LlIf+_p8Bt~Q^YVo7!=&$ zRoB%)0@u~MB5$Bej1f?r;jrChvvbUM6g-NS%aX7{p>v)W9+wp=dm&U$X z2DI_K!_=sKKV3SVel2J1GD(veZZ8eKEZ;W1#!Hh^Mwv2SA8rBycvuYzpQNl4E2C_R z{EsqqO>6eh(9mSgO?yOWNR`3~jF2_r+{dS&cXQP5yvw9(93}593Y-){wtG7^vX(CX z8087jj_Ip@y%5H7q}V*{lO907lHf#`*gT7A$Z6(Y3D0}_l#ev4v^#J8almVvn3dk> z91BC`amm%$A*(mhfWiANX=ukwbk=jCUyE=<&ho}vwJmSnO-&XZ% zf*vWZD!raB00Da3G)04W+8nM8c5qd1g(k@Q zq;%XMq%6sLw2*o)G}4bEPm%v{fY){kPpM^v65Gj~0HiGoZSY!Et8$N_qoqcmkp1|7 z{Wn$$x?Q)TMXW_?Q=-~8viVbvi;DjxaPNn18(fR4+msU)6qSGHJ(aUyUX!?U)fbjG zy!7Ol-Dmj~xza%RHd78LIO(Hk7i;V6(_*sXUC3P#45FONF8=J;z&>^XJ>c;(ukrSpMx`|84tU)!^6r1|2H-u`=MXdPGS1pY3B+E?3c}Cz12{ z_4x<--o9#V#A5-U+?mObv!^c@UHtffw0hh@X{h^xI2zk(kyd04#s&2DVSb_k$1lQU zwpY7+T7nmTRUz1(JUMszQG0)-+PSt0b*-C)^Zs>wWr2trvsRPR|Czvmf|8__^2O53 zBls5?KhZi5-d)#(V9Yf)>0p$g;q>-j=bx8V8lSj9InWWzhx>&}ac6fxb3*m0F?N_p z1E0Q&FS9${&1Z@?v9g2$4zK zbmfzrVnHI_Y2RGUUOPo29TBU}hi<{bnZgdq{Vn*b+DY9P?U82-A{<&3;5rfV!YOG{ z0NTUOn@hNXS(Px6VZPiO5dGFO|LTYM4~U^+eHjqDyXmoZj_o)&FInn@vBQ9}O@ag5 zV-2}I^VOo zPu%UJrNKDfJmuC)vd#~~MD*)1lXO8Rm^%HmN)OR4MO!(4$i(8S zF<`<33apgkvtDGx<)XtqdIwhmK~nMFZMai2=nWnn-!@lbLaisJu%8U%ck*0g?pA*6 zh-X4nSrDj6^GCr7(M!=)bEQ~6IVP+Kw}rVC#KM_D5(TE>sH+aTFpTkZ+>K>h_s~9Tu>|;y6qQnEQZ*>)iwNidf54q~MHf!dY#V&QT z?DnMXKNZc1)7!s*W4=(pm>hc)IY z(puPS@dCeq3Z$Qj>Zl;Z1JT}S`QiUi=>)0u2AJV>PhRs(-{;-m*zB9uP80|>Z3**N zndHt1=9Ic%WZTDI$9!qn?+5M3lR#u}D%ZOUPxE#;FSqp$-+#@QEO4w1BKs>2ES^1| zURNXW?IfVP)kjUP=4Wivv?cDELEY|Mrx z4c;!B)dVX3^(ft4jpvU*uv(yr*x0PO4}8t`6*whQ!a$t>l9MEoIB+m*$>^~`A*RS*6cRJs|6zAu!}D0HO503ZJ#hC5cl9bW z53JO18@FuZI#F9+05y{7FTN3-TU|Nsl;i$NIp11lCtN3&wKOSt(m7oV0ZShKXQ>57 zYdol)0DY#>DuRX^f3}T98ioUZ_x_Z&bhU=XQD?qEO%jweplu6Wn5RU@ z#b6P#9=c7P{)oOpx!Dw7MwF&7RAi?21ZB@rmEB?z@=5_|*dLA4JUib$eT;v1_rq&W z$;Wa*S^_6Lz1w-gJZdN4<1I}i?gmhyiVTDA58_5Yhsbgs(S_yT_^WosYYk=4fV+=~ z%@-Hn)AZ5q^4z8~?EzxfeF(5#wl~YEcAt_6ce+~#5Pgo3jM{EDJE8D^f;9{uo!2bE zAdR<@`F+Nd>!OK4{?$opVB!ecM4xck#F(7NU+cT&`AW>8-UC9Xjmxc{_8}*Ry0TPeETwi z?)3~UmCf2=!8kLEH$ua}C+4K;oBm?f|8Mv|@FS7@%+GJs^E0N- zB8L4!$MI&8E%MnPS_Ut7@3vqY)`D;_5NEyas4wE(@%!u9^|MKfV=jeu#x_gk`yvt> zE-VKw91Auq2M!zyE*$X5rfP%2feXum8_b##0*91SGT<<%mR9wAPFALTS4YoMHfdC) zU{ZkP`S#@^fHD`Tfzste9nretKt+6EAUi%iI_J^bkxLEe(yTvuG8p}eFvCJ9W;m_V zXwJ1@dQ->EpX^TqQWp!1%~!6S-~G3|<*?#=g(MAN8yrebk-A*uqQrWya_IAxm4@}x z3)@Fx-(_81tszMK7{xf7|F~=66K6#-KGY9BzJgoRfG7`U`e0oIVx_0C?Hn1FRDJW> z7@-HfrEq*iHA-j_mRm8Nu9@8Z*P46zb5L1jd_q_XJ68C4Ba*ePne9)Bi+?R$TpMj0 zb4wd(LT#Q=BmU39a>_FO_vx}PIb&8{f^7guK)R9CmGYl6E=aDo%u9RdXR;O_435J(6P!QC~u`@-Gb z-Q8X9%-(13@7z;G75rdT&01s39^LQz^k_AZ!0T9gvPkERAfsg@Q>t8@Mr5&S`Z6UC zJZSHvhF3lzA?8vLs1_Zsxxc9gHxRvKHmOtqw*VKNr6) z;Knp&L-V6iDyaxJhz&RbK2Y9*34R(lh7Xti~? zAb-e?%gd|(`|tnlVpSGTNjFxM6RtFzAxu#V7>!R45vJ zrN-h@wcIuGI;~CQQwv2Udy?iw^XzB$TiU;O=jJ{N1pDfunI~*0@BEQ6Fkm@sSOYJw zjD>8OCK{eKDdk+W}=@SnWr)9t30IS1-EDJgj(lfe;~0r_<;GiF#n`m>lfL_$G)BXvyR zv~nSqF&m$f2NDHP{Kefhm&}vpGHJCOYP+>GAk_^Wt(Xf(m}RDF**2)vX_P<3XO3^i zdT_1WUbE{!wHh)zwpU#}GFEbX6pu)4D2)SW1ybTa1^07|U3=OGR@*GnhVVc&P)JP= z5zuYIDH-B&p#8FEdf@6K;eK~D1X(sHk+gXqs%dmPBl5U5@*`50`mGWGyUm}0`_B?bd$;6Y z@Of`;jq8Ws7Eq)l(osfw_&C#0_hKL-$dQK>;Pj#k7Lonk5P0|+b;HN@PR6gFSX9r* zoNhm?U?JT*so1cxSD|udK{&iFP3DM$Tc!ha#PSij*YxJlVw)B626Zurd;BjNay`<* zCR?0l)@-&|Sn6>P)mpysy6Bmz8%||Q;+}3k<@ZG+?d={0>O7(JZZjjfommJ$7k{_W61a7@_J?veKVAUkN zv52}T@Yr=VOs)UKGZNIXTK)x7xn%!qXcXah@2!b$O<+d8rgd)du8Y|IJPo>nxjxE$aKgd2FB|_6hcfQ1)i@Iu&7NhQN$k@gNd|s^TbSATG zZhBdszt4}zhFD3nUf=nhw(`J*ZsiGK_%5xSEf}78nwBOyBLwb7BD_%K+El`?=?{LLhvuW}OqH8jn5>hauLASyg>4CcdDt`l+bB#( zYI>9hFo|vPENQu(_zc<2cAPK#=9}0ux;053EoKaEpPO>B;@H+7>q2C|eOAZ73f0Kg z&tC0K`ljfh8cUv=aWH742oReKZHZfM0w~TB!brz|6szc1FdOvtu7E`5XwzEoFKL^- zJn0$?)1hW6YQXG2EPL6?Xn)52v2r1K93$o=rJqBrik9xY(A5gxu0QYk zb)7k;7Z>x#r`2Uj&1w3{uW61a^^~Eo29J?{ttb>X>l*6p-eZ>sWZ~(xmiU#>osG6g$x7ZI|!gaM^0lmJ@yo4FcjYvdzFDMn#LCA0ow=) zd#;Mazng}1?bfV-S{4ri&`5rY{mbh=`&l2k6PdrQa5Ur1y9H6rNrY_9_c=c%_+7G3 zmC{buOlIp%H{`h=yLZ29(^ZYaiWZ~BPhu^jxOCKJDe)yZjE3JAY`<@wrh4(h9se#= zFI{ug1kUCl8dZM02eP@&;iiOL5%UGd2@?NyIf6k7QS_KG; zUmKj(xHCmqjzW^Tk@I_H7UyXz8FcgzqB*Pq%O*I54No#Z$NcVnbA_<6xLTiCyKpo1 z0u^vY?qc8*W+!BZ@tyGm;44ZMS{fSDdWCpsYXso%Jy?Gc=>V{Bw4e*}+trd4{b$I& z5mX42R78Rc_d^v0sY)NI3Flxc?;9KHQE2UFR_csfR`S~tCJ#M#BJo)4LxnA zvX)nwTRK%yY3Nl6SsB`~38||dnmfFF+4bqp(PSioa8ED1L|&^-umL= zClFsY684YmB_pX)j`{+#N_LN%(fTbh&ni6*zCV+i{F4TSTJItFblz62E6%x-69H-=omw#fG%Qn^YU+(poeT& zTTQud51|y(c0@+R)2PXW+P5Jn;E&T~#=yVNhCJ0OhN%GX110r7JE5gFMKo;ToklN( z2FuWj#_*g5!Ct4lGr{{>h0hCwgugUn4)hd;#&}+y+1Tq)1*wyPXu#IOh8%e1>|*YF z#LS|qO6eAcyg#cU)Aa}}6I)9jdzpNlJF*>yijAM7>IXo|wKqN$0xs(7dJkei_#BbY zh9a|iKL)hC!fnXX?MfM zgVaV?RC@M$8PQM8pMkY8V5#?PD(i80=f_+j!upMZI7Gm_!5oRWR5xh+ywInnAa3!L zfR^D8-%HKvbpxe+(Mfp9s{@bB(c}UMtkdF!o&VEpRp#rq2BZ__MSsOF zJhZ=i1z|edgH`PISR`+-Cvn;J;hdxE*U9{mjSF=fs zDTX`*m;yIVmW{+8i+-3f@#|w){*uuN1I{u_P4V7~?f6KSN|c?i*Z*fWzKQqaKIzCU ztj+`d90Pt&NZuxf<%fX}psUG$L!F(k^I^<*xpJ0Rw4{GU4h>b9SgSug&bmd(%kP<> zXXL1yBXF*l)Oz;RHHi=3EYLoD@SjjrK>dK9L+b0=vxWcTt4jzVFpkL~~w3u^_4NM{aST#XJWxCjj~RZM|XKSb-e5M*tx zBaq4Oa_W0->_m(c)ydP9Jw_Bw&CZ9Es}s)h$X9zQwoTDcvBCf`{dJyIMuB7WW?<5N(YtmPaLuq!`pjN8 zpL>hdu;SOmery+7`KI-{sBs*A7FgC#2771dy|*5@Q7q_G61CMOe28{F`fwVJDn9&s z<8wcu98T)pnaOB$$N5n$;?N0uYM^^PL5N6|TPu<>O5ZGF_KBX))b(zqzA)u_Skb^v zJ2%dAUz`)$bf2^WxiID04|KFp8<9{qAxR|~DRd3A6ZtIis~=?n%z)V^KyGS=~3r#OY^ZgzjslL`2eGCUgmVt8kPkMnnP$XWR7MijvP zYm40axUK6Tn$OoCWfgZ>Kw3%P5ShA`bQBbYujJ(FL?V8<6kM#C^NSZ{Xo%6%m79z< zdNkR^j3=f^1n!|z^yog@{E?@?v!kPIMACO_mt)LOe2mM^Wzg2-}EDWygkPQvn@?Fnt9#z^xVKl|dp6Dc^{%qx^A~ zmP6sD({10qAR-YH`|Cna3mT$l=-!LOV@#b3f4=7@1 z--4z@^K#&&+Y~SP%{6p#qFWz!BT93k+l*o6ajG0LIinQtMP~d?`=-Yy$%wD$sTkxn z>?FMavc}PncB^(1wd{Ukb=Ks#hgS&zpZlx!_*nX5W&DS;=ckhKfyAc)Ff&_dg zu(slaG7l>u0_`v&M7|i(5|DD@P$dGs(Maps}0Dnq4#0JaEN3Di(xM+ zZFJ4%`GRc&rD;}W(iRg-GWRz;D>I`fm}Q;0{`7_&M|2vh9`1_`F<~H`q{^7&_?W4S zW?!`4;mKf0Dp6T|`Tb@%?)Q!2j+^ILi9n0~v~6BXrUZX}hh6O7uQ$#`<||?P`zhH# zj5}*Vo82Y7Z)!NslQ#xhMIf=EAE$H+D|`?%(+rq7a0SnZ}a1tcMLuc&@P)FA!g{#rx$Z<`^0k^Fm1rLP5B%t0i(=U32P z=}6uf=QPyN7(RABzpjJA0c`^L>?KT3uPG?tb^q+KoYL7GZ8VImB1g-c0PHc}gs;sJ zik9Ipv`C5i(Eu+0TCReB)Gyi7m3$+iM3J8ezQ8BIN7_5l?Ir)@ZqUHq9b zLDQp6req|4(wyx!5c^=(JO%adzEEDTQA6B*lV&JqN$})KWf+$cIJMGtU+;BpIX4V- z-Dh??sQuOA1WHjBA<0h!A;biDTy{%9-Cm1WiUbwn z?bH|PWdZNAhJy#c7%s{cKenU=(KdWfGc(IcunG%{nEV*)fA}VV*~qW`Tg!dSk8+$w zvFAQTx)SjyeX;)k5Q1SLGGKeD)jRvc=HZ+v`eTg22WV@!UvmR{DsH_AI(qr zQP77{$e4fAhHz0Df|W}AI_CFG3pq)%YNm%yPKg6<$nQQ{^DOUyRdIX7J{2^F>?gPP4hR;Aq>^>wg`%wCt7HjpJcmYyx_e%Ts87YJsER%SM@ z*IL5nw60_FwM9#aY9u8@h!>f^RJ=~^-)~I86l~%UMGSB1&!#1+zmJxBX0GC&?f3W4 zGVCwe>Yzb>2%7HY9ZtCJs@_e?Y$aS=$60=ixRTL#3i#~?$@(E09uXJ;qGtqtzX)%(~rQfuf z;yyPk>w9ppsrUORPI%j)>NlmRRf6}ZM?v3y)^R!0?LJw)%Lg)G`~WaP&_naS<$TRy zXCH@Yzoy3PZEA-2Z}hPcuKiLWrsTt;u@!MF?%?Cd308k9*uiesHu@IOHQgReV!vzF zfH6xSIYP1gcvv50X;OY0U)Gajr_waf$7l+0jUFxZ$` z>1DLbseWOVToS!AYW!8=8k9h#Xb;Bs(b~-1~jyDQO(k=-P{}04t7+-!*pLo(G%JrSE2GUg**tI2DdU{ zOGeX1?G_SI8clLc;pG2Lb=*j*m}QfVwrOFy8C+BkNZoYg(YPH%SkqslDOQ1`{E4>Q z&QAYSN3j)v9UPaz5tMI@oAcL_1KqnEucU1Ko&NjV{?Xn#LvPSG;+pH4S$c+9Q+KU^HZ_{ zW}~qE&Ge-~u(GhIvbrnS>0HRMur*KeN0lE{4|u`>boLrp;9LpiC_Z zU%!(y^n`aRic|Kuzr+GkCObhX^M*0~{6xGz)l(IB`DRjzqZM=$UT!qX{kE6k2M$s# ziO<~g>9(qn-=Bw~vU73e@LvNa4#k1I?k)V+#J(cjShC3m{|#qjk!Xz^9Z?Bl5X3t> zRfTv$A4I-~9PbH!r&x*FjrH3(M^T%5`Fi}xO@epmSrEmRDk0NOq>?i{#yTRJI+R>g zbc*a#{kCYCDuit94{IQ?Yp8uvYWppZt<)#mAxM(oa&i{2{ zftD#_Jv3BDV+Zt*(Ew9lFc;h=@Kdf0W^i8kFsfbY>eUWNXq=94!$N}SC`*fnvRV!6 zXEyHLToBn09@shnha#N*vq^cK1!SXKP_{I>keg1>(cSO+BN#4Mmz(9x#WnYo$6hk}6%1uP1lDd+c4UAaP*w~jD;d9zU9W3c) z47ni;CE8jxcfiJ|lA=od$>{TddSiSo6b z!V%H-)3D}@-+O}SKv@=zdXDr)Nr_6RT=z4h`*5p*-%C9p~TX%V;T#~ zK?=`6#vd=#_wEO2NqYl8MyP08HcA`M*5 zzxv8YQcyFuUM2PKn!aZyuT_sAC{d5k>ZY>y!v}}&UR|DJ;7vn+Z})xqzI)CeHtcYR zp8%R8@N;$8HM-83%1bS8&Qgm&g~Rap4YoXZ43+^Os7F5$ zFS)zU$04de%XAPWIMrz6e6K=!oSvQ4Qu6ZIkJ{Z zH`2U1DzZA5sOAO>3JXhq>6Z7de;OYubspY*y(Dx%BMORL*Ox$_ z@M!OM>L-+6tx6tme@NlAZ4cD4YY)rZe~0hDBKzgAf7-ybb4B~%;V{T9>2(dp`~J0c z8`=}NE0|x2QhwuVQ_ZMOQ_^xiVW!rZ02yZ8?-{CQ%{Q?(Eb(GUdi?r+k3Jq3l+NS2 zQ6cNMeQag0-K^q#vXWk1-CU8A&F%BguAQv2QhRxY(5N;4P^Q(eneJvbU8u%5VoD55 zEB7jIzLGK)-5O?W-@6+AMKU<#(0_`h**9_MIldlLBKzyJQ9cpMC<>19F@$^&FynrF zI#J29F{w#Jw_kU`UD}1m5XRt~1-Xh3CsXenvH`ob=se}|dAdYJ*d%kk=c00`l<2}Y zOLEcg`>X|SsnoE(iREXg*$31tynr%29>@Q%0QTWYQo|ntgJXhTESxIeK_E)v&^=6V z=-aOICFx6bn;n@Xf8O(%*Im5oY-mC!aGwv2pvpMLV-1UiKfb1Y$q@_6@&30Y(~S(0 zzSzQ)t6@7<1t(Frn0^mFe~U=zk$?`p?6;rN=uy~-mvSDfrc5e9B(QwGi}^1VZY*G| z*so)$?XSK=F?Ib$xJxL*7aw4ABn|_x;=DnqmP{A)!Qg1=TIifiA&o+k4`R^DL{3ZT zCyz!r$zk=;O~$-fy_$^HqaiM>FQ!i`SBRl&Upx$m1l!pXK&h%TORwIfFTtnl2}y4@ zAxA`ErD~s}{#F;|$%<&sKX|F#+t4 zlG>vTUy7)EYfotMa#q=$PN7MF_{-p9kM|*(xiL*{&i9SS&zJi(&GcRj@`3enXj6N( zjung}=tpvx-~KFASk;>qsAr-IN$5UOOhx5iQrzJP>zsTL=860O>-KLtQ|se;g^RhS zRdT{l@ZPuw(q8HJ`^WWN-`a}J&J)>FnkQa2r4KyS-ai{1o4$^vsA10x+$ymMvcxGlBb$0KDtg^PTnleR|T=eV!UVG)?&b6Np=$bXGrYx7%{~6 zw{w(Q5<3V7;PR@9H|=pXzj7Fo4(l8nQZii(3daR%mP*R?_E61p^vtdo47$5=87gEx zeMh-xJb@@LAd?}g__+BN62=at-d#2v(O-DC-uOGxfGl#y-YZ}pDm?MS=(qQ%^2tEn z!?uSDKbb6j%8?bRcFe+tJxj|6XpavC+U#j9j70V~=W0>Fvl>pJ2&P}wN%?7pk{yHj z8;Kh><>53hP{W&!^(uXPErpk)n&jj52XwL?Wb-hZfx@e#mL93X+2kI2`R$ZUj^8%3 zYb6$PW0(fTF>+KT#^T=B_e}UK+16Z(>{62 ze9`pfL_S2*^VZu(7anDm-Q`<+kEdl~E_HR6?c5cz4Eb2peOxr0;bo zaK2l};X2Dk+)2`htrT^x?S98O1KwB%(plt=3#WTS0pGr*Toi~z?5(S|SA#XINn+X3M6aUwukAoeA8(6g)lmAjj)(DBTefhv?cK22cR@OlodBOldStf zkM)aN&h_i9;finC+TnD>_{iarp<7{1#H=PqVI!|w(p%eGkzN@EzSD30Y=FM!f4o#j zOS4?R>DUB|gh26pF}WtNxEKV7fFN!+LF}gO^z`P)CHXtQ_($;&zknDKZIxk}SYKbj zv*3Pn<{4SB76Hzh8?%+3p0Y?ync(M`@_UBx9cz)r_Tuuw+&=|fjt)V6wwtyOQ-} z?&cEQNlB}89>DtQD$=I==V!3mUMYrZ+;YEicAq~D(>xVjn#fT~kgh{&0vcVW`f01C zDyxQN@feJnF{iR*P_-XY!0QQilgh?k&NtuaugwRTzKA#ZdcMq}5%y#gaB$%MMirtK zME=+I43DgPGv*vdHj;=a5G1$u(+5@RN<6eIoXHW5%JIu#Ll67Bt69_s#<-#h6Ot^| z=|aWZN;}q=ba`M6tg`&(A}5K#`=913AIEZ~N!f_k5DVXuV|f*Sc!l zjygi9Ob3|8LSG-}n?mWxLIUoWVt!^0x{ny)uhw|gfrG%XX#N1ljnD*t?j%(o>eUH9 zrpzsGGBhEE3v{2Q zzwW4Hj|=`lK8jrT0si-C+ui$yOw-|j@v%p~6<4Zc>H65Fo>UvmDTbIN-?EUy^?1khc4hH~s{U+7odC zX^>C@jD7uqv`0HllB$f**qZkBeQ}U>Bz!^}tAG0N9`nv*^3T3{;3Msq`#96;&%JCb z$`XRP;!))-x{jgb`1CqWnN`A(N$1GTIKVEHZ4FwrpCC~RilW759rCv^O z$7|Z(OiC$t_x3(80WScZ#tlNI-z63>8gg%J*=}>1EV&_9Ot<^wUI6TiXxTRpo4Xcb zCZ9e!%?2ssk%;;0ZTWUoT(nNFbHCtD{Vbhjj#BkHyzg6EhNPq^A11Ozyj)LKdMgmH z(Xg;2)z!_B1X)I#vf^#$05Po0*=gH|E#=`QY#dkcjpkc@f&J_4JjTb5J>j_1AKYI; zs3fFiyY+#W>}A=moqLym%TR0n$jF>JKpDkO4HL~RPoYLy1?__(Dp&Xb1`k4NuThP! zd~abBF=&nGSCPcaV~_9^2U|v)4Azr=JrzG>fW&c}8uOCVzdQ`mFw%X|pOefy0dkXQ zX~c_&HM(lMX{03)vd<`2^KBy5OK!hyD3e2v8HHWECj6L)t^P0`mYsjWG7(0uAhFcD z#qMXH-G;mBby!AKz}z`kBQ5+}KU&HJ_m2{YqkSr(!@(q)dCY+~d#`F0CYI4GS#~&j z{qQ?&w0uI*wPI zHpRk_{5YwhBNG2LtvlwjHta(pzQ?5JPQ)K7KD~W261pa+(HJe%l|Q&Sj?S@$kN)V$ zWh)|g#jBXs<7L%cxcSYGzcu4sJ%2{AKmLlDzenhn?dx}=;Mncu-!HrK zmI*gn{)$vm4F9YZNy1pm8_+L194>#!2=q0xii(Oa58G1ucCZ5_^<^g=hc{Q?76dN4 zj@!-j$b+;n1v$>!a*U`26E@b+G3(WXBv%+-WXE7&H1s-}aB%?~RD z9Q&5ZQH}7%hCM;~;o>3IF&2hv_w|Msx})U02e#z<^pxiK=%$+TLIu0Lvjv%k9bZgL zcP$jYrwfR$qN0xHuPE0C-6%{aj_1ect;BwN`D(f_8_AdQs5m&oN$;zwi@9z~H_1N( z1FJU@J+%4EsiOp+P(fZ4vC+|k+1-oA#-=PzbG)^-tD#YXNwSg_G@Ps6_;#adk(rsq zS`7uLxVW7)u?1H^Y2k8rp3Uv_PYppTiO#x~HaNBJw|`vG4zAxJiZj{%4hD=Ag#%kl z;)tkdf5Q7QX}@x*QldJy_<~PLX0K>Yf-Oj_YJ5s1gZjwSA?&0ftfI0;)4-aYm&QuZ zv*77Y1r2hg$D&Z()4t*{2@10^dfHE`8?R~X;>{UW|8CG-+ME%&M}RIGeK#3>BN1FE z-r6v3_j}hoc|e#CF=3b*d*g*37js;142WHELC!r(#};6Sse-}{*DcMSu(C1PPUu40 z<=xxP(Yzkm{!SQjMSZqBALFWK7||bR(d8fbZbH50S>^@ znoAmcR0;~k49M5Ri{T_pEeJN^wz!dB+?6QmFkI<+5{oZoG-piF_;~KqYp?w=im#H@ z@N)Or+!_j37LEJND&-RMlWzDR(m3PINt;TI@STcGg`0&kgw#`1z_ScPyW5&6O~2rF zB8H;U5DF5ytI>f(r7Z26X~VX2lS89U;|dW01CCr2OyO|g^lsmwgVLt+=AFBJe}^+t+seynyuSz9YJ~Vd?mNMVA#o=0O;dnlTti$YImne zg`A-6uZ3h5l!IUEbwALIagUGMshhghByVExb;Y~)WmT)%2hfN$#gU#*-CxK7~Tk*>51{W3aR#`-Ji0=5LJBhdMn@XZ&B+ZsaF-ahMn9M{G(Vic<>85VP03e0)@e6xaA$ zvi57TBiuv#Vr(VNvq#JF_>UF$^fR!6D{MMn&Y!K84!Bm%tfa>GLa$hvW*MiaW+>w^ zzE36^ovkCe>3&+=F3jfGn1@RTLkM_j{8IRP&vBZwA-LKyZtF7`!4=GJ*6eg8yRrXx!EW3(M5rR+w$~?;@`VwOz zRejHT-lWBy_T;7`U$*3(3lY-NNXY!Uj5?W55#v~!o4&khYM0<&Tl-~dE`BrVp1{yz zRawiC9Jzb#5*rK=-!ywzU4iPlNIE8G!s*7yxy_L-hdjE)45z)#5oOV$FwR=R{D;O@X`(@rFV>hT7h%v90pwEOHrf1z-uYDgP6y9k!F0`R*3Bfl&^h zhz5P#pHCZ--mk|IiTILQ`c@-~i)B*ppxfzn5$(GiMh`DRPv~?%ywq@=h{nkFL*~H_ z{=_B|Zb;{mZ>g%7#w~l4*S^%U_LGA~>ekmq?2k>YlWS7)$6pktQ8ri5OokXdFrp~H zy9?YV^DQad*~OEe^@86I4D{<9HXDWy@Nq?>e!8Pa-ZZ=fEkmRZJD0At1=jgh81I%V z!w=)z{VrMiO(C4oilGBExwpG1Fr7{}XDHSMcbI*^hQ_}oaBMkD)EddIIk+w!64RdK zx92#Ipl#iT8^=iFpj(e9z4M7ItdQGmA<-ij+GxvR5vb;9lR=;%|2_fdMwSv0_tqQ` zQ{h`S{RmjDvepu?mzxH)@F-*)Y(MLx(LTm)$JMB)Jji>9q)rdoX*CccxxQgwx-@}= zloM0o6A=>oo!D}3B$#Gyg+!wU?i%N?*czz;zs zMtN2(jBTS191*2ifG^H;;20{}KLtbZutkwvgqo4zbdnX>!N>01l?RE}^dN&->pVb7 zuld3kmiZ=53u1(7$cL?k040g^uc4^cgv7dGx8mtoo=X(IIoEP7YHPc=r86gG96~ zs}K6S*&<}w}Q6F$Iu^xK~W}YrB+3;k46#PY;DF5a0%;G$q@KcYb60-U}yzM*S zc)3BOLi*#pj;xqpF`(x)t*j`kONCzFxb|t1LNxlm`5gGjju79|9Jbq*HNn^;b8AL) ztZn)Q=fhk+x)2m0@$zaYIqm#|CS5Y$jkbJ_f_h3iOiq#jiryHEZOPD3VayU}`EMv@ zH9YJQvxmuloozke&L&@2*#OK9@q;)oG+D9Gb`6QemtDZF=Vv0 zT^tIUBrS_k$3TPIVsSB#aO@L1Z|cnnK@J3j`&luXggD1q)2i*+!-Z0tZbSAQv4{x! zn6+_nX7UeP&UB|xYC)Lyb(h`C>>nP62l`+IZ(Nx;egdzuh&iNatNa;_{-?p9M*2Ne zJutq{)=P&ZwBlcH-7ClR#3tR^XBX1^Q0`QP-E&9!e)3Q&760+tM zecX-r8c=U3Dlb%#h6MD6+?-Vj(p;NbU86`wsb(h-=yZ} zOf65Ne==;j@J0Q4v)nG+?lQ*RWamRh1J7UXm&BkJArfN(e`j`a9cC1jy1LBDoS{~Z zFPRE^ZgyXqrk(M22jja``&fHM!5KvYkW;~-+7)XsVb~bidq)Rht7Q6D3tn$dfQWxR_GqTzv7jn*tU_fyp?D z8RyEBZAuEo0D33JnHUb1*dp;U&D+IuY{t0}lYQrJn1i)qB+#q1^JP``vziD0_t!_L zQn_(`6-yqgDb@v-qRsobGRB)zbXee-6jZKseTnUHE%LRYCaU9kb>T@9kmr6WClc;f1Es~dP;97rFC(1ZU+wvE%J8R9(m&86r-Gxels5FNE+C>|# z`r7ZNCW6|T_JW#s7NTKoWfmC(db?(5`tK=-EQ!`sJ_hjlFz{9`8RY{ARjz)B#~h{l0ui&OjGOqlRo|A9M#62VAMl=J&~t zQ73ZR#q&IwTo9oXqyN+Mv!M1_FfN=Ad^j{S z*(%cbzJN<-MOnd7Q^RC13aQ|l(1&Izz26M5XiTiQ!m{ca?zh50u#X))GPH#=x6W+0 z!Rtkz9uQ^v;VR%B9 zOiwLVpLf9FOtTl>$=k8G{fSSzw40F-tX$%lDl&8Z&UtqdzEK_!y*S?$xghJUr+t%Z)big)E*@^{`MEW^PMGQ*i-wR|Nvb=1Xo*WYte+ox3L(-?hNP?Q(I$c27f#-w8IhpD zk!k8oy4WZ|1{<4ydOIKjmN|mkZWAm!jiJO}rZY4uAka5GAHWj&l^ z7}M{P)&xNLWkP>RVMDiYLShgST%J#AJ%rywcPR#{VJ7xZR)h=%fIPw+qXY2>2#5 zMN!BWuA{$3U#E)4rlHE;|BLWIJ1{E0$~ST4^)ofD{!IUa-Qo~XG9z+{7#3!<0=`WA z;53ks$|Ch)^k8g7xa9(y)2g@-$!bVEou6D-GQ94BS1(E zt#-q`YMY(?++HfhV-3pa#F``ORQ>L8=-xA>bpL~wFqDLeaU#(e)FqIZD&Qfy!#R;* zxwn>n`M!?jp2l#Mkr}~yyz?$LJ36+So+!Q)t#7-OZ9P@(B$tw2@`ryO@3s{~Kf7mp z^Ce9f9`E4Z*2TqoG41@EQ2cvT@~p>ma#Gc=qPMb;1H2#9A@TdWh5Ns&>}hesz6~sT zZp6)F$%ujXNA~=V3+~^{J9xFLEaPptBks)U*qZ?J{u*uI(Mx9qo;)ubpGSSuWCEW4 zYZbs#c8pIq_Wv}*wpU!LQrZVm8p!&htL*e`%&yiyTCx^e9!rT5%Q;>7qdKZ`6;$H8lAWq-R$RNB zg7BPM0i1{$*0^aUoSJ&_GyC6tN0#?b#>g&>ct!QlnW{i4>;RBR?@#@}+%WtOcvL9U z$491xgHhnE@_c+B&7d7UiQ^dex-f5}O7fT;rnB3?iz zDn33mKZ2VyB)w^Z0W46dwx{?hJ$caaOS`gURNcGsia#8XUNSLyU}kSE$W(Hmjs9)y ziu%drN#28ohN`gZ9ys0Gx7wnSo-%fHBQsZErl9L^rLV6`BdS`og!;|f zS4aM^afy}%;m0cz9C$^7X0oy+|CvYeCs?zvzag@Z5LJzv0V^;2L?g2LJ}QN#fo@2> zg+H9O873eXar!Dm0_u;MpH2rUEFI!qZaQhr;-;a#uHuj5vH~j%=?f7~G6~Yhnmt3k z%x@ki>x)exf6wrs3{@aRMz1xk5jC&rX}a3JqEW+JBf^m=pyR434-r^Rdz~T4z-|W^ zq#yd&*j<5__%fQ=EsFQ$*yO!8$9I)lTE}5P(se%>HMI%`kho`7w7+1DTeLm#IVmee!Oh?4f{Uex1bztv@{hI8KKH$)IFrU{ma|ZbpFBILuJ5sg> z9_zm{s-3ac68oxYhaWk|^4^vi&3%GwwGkw$P6AW^wy7^8M3cYd)bzK0mikZq4B(8{ zkf6w{XWOsql-N?pW9k}s`QAeSaTBi3vioOOlj!>`FNM)wsQ&^y z(eO1)^d2{H>t^%;KP2SB3%$Gv2H`Gy0s~dK&sG{!J|Mx329aD^&JN**HW3Imia za+)+b0@2+8aLM*KIg?*@o(OM%@d3&C_{6TBi%oxmY9s|uM#p4F#{_Do!c%xIGulzq zQW5{c-CXUS6wSx%LK|IPj9ab843HZYZtoiv_iCtf0-+E7fcGp#%EXa(j3KFK}>1woLl*a;I}glAQcg{=d7jIn~nWQ)Hh>QzO$8A4~7{R&w5+< zI5Ir6IVEm}j<<{))!(gmy=K%Kq~yRY_j+!45c73HXC5H3A1i!hM5RWpM|g2w?3&=6 z#^oBNhX>QyFx)cSYH~zTAGjvEz(B~~=cUW|v@C6M($oJocvwvQbF^xbhCZxwAv$F; z6ctMiHiS{9`n^nP11r+-(cm{RhuEs7!~vFy>c;THCGng!X>}doS}fiK+!x3R!5P z0mN;e0Ibnj_Slp0{gsS~)P;OQDV7YtRx@VuRe~-M)dgk-qO$%wGcd<^J-~N?&xIq1 z_C@~|Ta?%bnflPr35X1;2(V!(7S8Q%hwnJ@^9c$JZxe3{{nD#i>gEWvtI5$li~PHC zC66LZJJ#QE_y+hj#o4j{z`~m;pDf{haA=7WTpoAg>D~LK`%qP-6Z&z>Q-&@FveEOG zDON!o(PdrIel|~&c{G{&c+XObeoy(_SG5wedO)4|ZEg3ZdG+ZQ^yZIksDJ^g)Eg}% z_U-k-qGZJn__~!4flqE~po;)wW*FR47Fk+x@GH^1A}D;P4E3|E#c-L0zsYdZFk!uo(dp_~P-&RC#0N!hY2Vn{K7VrDl_ z+T6><3=llHiTSu2{D12=U!8R3%xl!DvqLFv*ufKRO7!peq^9txvYk;MqiV*tbn4p? z;X8hLGX;ZcAN}mMhikfx+-x@-x~W=3=|XrpeoZa8mX?nc6AKtTJ}1NspC`T02g$Ty z4=+Z#+)}}BzP2q8%U4aEz-2Kb6=}kSjQPCW{o#Zvr-fZ70wSlTp$jqU|7;hi|FvCQ zaU;b}n+6-*i@2Pg3Pl12qlB0b%Ouui-)`g;%**?XbZ zD7LTCE%b+^8|6D14%L_u}tu|EhVvS@CHC)LHA|1qX%dGh%kwJU@0niU~tV4D*yx0EIG*Q9Y($$OW17#Cgc{p7#IiW(7r8YymU&JqZ6d{zqWsHW?k< zdv3LzZ(|Ypa-nTYLtpg0qBnPX4hQq!SclVQHALcjS8{w#GST%L*m})tQkU0$lkd0W zaoGC#dgfLCZj3>rRvL$oDdNVFMj#Vmzp8rl7DyY+yUpd}dB0a(=f>sL)uH~u)ERScr|Hv}^qWbVJQGF@!LV>+HL+F&}qlpNo?!~>?F<}9f$DJm0o6rmAB zen;l&K~|Uh08oV>y5|R;=nuAR_^GE>gEVj$ZG5~sN)w##!{>;W>ye7r=YolpzAZ;S zch#lDA5^ukjJ_4bE4nfbJRF?3@Da-LZF5?}@k1v3o58!D!!K>Dr8z~i6!z#o_#Quf z_JY(0im`klg3vWG0=gD)M4%Ngb0lAVadfX1O+k}rp>SU&(@wahhI3FH@}dPsM0R|&z!Xc$rK%;5^mS25iu zLOc%1u6MIlvn8?+_XMfEz15uR1itc(}W%psp)rU?YRUO)`D ziXzfh(A;!LU^HZ_rMQrM{SpBrriS=x=-X4*&O(`?Qq33gJd%v8^z{4NaJ#b>Ue8>j1>S%LV8$?*y0o(|YI z(7K}(jaL~z`#5qWZ<)5}%BlI?(E|Be!bTQ#QdE)CGrRujCwPb(o-WbueRRv6+orbY zPj?$^u#F)B_T@W)jbMs3|93NRS6>G0>bGdW$zi>$quj*K5|Z50s6bLi1w{;$W!lo* zp8+Hh2#UoK0WBYzKL(I_?T*q2f5~WaE^OBv{{|*5gA?)>n!)hoU)&ESig(H;3EF$f ze(tg&TVi9W^!PBH4oY!?74B?-?|4%H(ei6{)FpD+*W*hVZ0yDVWC!s-%taqWgyrR-lj@-HB}p0TcNsFv-EwV zUO%w&Yg(lYx^NVwXGfhltjzjKrW^fx^Y}ot4P7*6^TRn!h5DPwPFz9diwk=(3Dd2KL+jaEnq0@V33ZiEyGJbF1D^X{;RZvjsQln1-!3|6p!Oe*AKJW=M z*c<$7so9QL;Ozo35Jn(cD9^a}0Xv|RUNbhFRE$hqAf!!8w1a~u4eTpsxD)<^SYMO0 zo@PzNsj;TbEqHx6Z0%$HWb22iT7Bs@nRaZm?5Ig_s-&Q$z1?q*d_03QUcx_T{Vm=! z0pxV0Cvi!L=}+t|F@!;Tm$8>4-a6Ef*oQ5?283kyxW5C014PT55WJ~P&?+FLp`)~v#Y>V1DRXLy>H%U;*p!Pk8&v{6d=TS9#M zDv-@Vycj<7>8vBfTqlX=BBDIDE_qx-6!FZ~)88jpPKA20fV=Us&0O=4WpQZ1H@=4K zbq;2e3K!f6YXA<$!!ekO1K-YYk%#uBlw!3dAFuV5S#+t5mRV2~7dx!QdkinPt`y&f zxnH4fa+&%?8{OwwdF9og1fVTpV2bf2#k(P#%1qFCu@!z0NecMOUDy9Lg1XpHG#`Hu zU9;pPeB(~XkO!Y$eT;T3feh)c0V^)-WUMdACvjk#1BBpKvZAi}OPJmHQFbu?^6hpA zTGVPwyQVU~=L?I96s5pRYsMd9rosKYNwF`YrQu=J#A3Pyta=$)m5ZYlx+s)@9Omxp76nHUP-VA2Q5vYVyVj-Ncm zpWNZ6Z8E}Xf$V<@^h56k|EO3#;_UTe%)8NTgY*mb9qsQWZka*!d5Ax8fre)y{T&q< zVqpy?PMT@pMlhh+*OI4!6R~id3XEJ~8J)AvF|B zAUC6*7Q?guv|gw$Nm@@&7UW4wX)C$2y<~nD<&7gq8vlC9YMtQ<>lMzbnWpM6Z3R63 zK|vQePwT%3+cWq4(HT8EER#mYvTu>VW0?cO$af}xYZZSo9kPpyDRp|PmaA5cxNW}w zowJw)PJmc%w)uno9^%?uj!}s9<5EgwcBkKvl{-DzyIw56AnY&4J%JG8)@&X5 zA3v;u-Z7uuQE^PBSXe}2)KF^OJ3fyNA8;OYGu*XJp2=77;Kyah_QyXT=rs`WswdwfD4$w=C?4p~+&OU%_T=04+^kc`!U`5r9K&QB zKe>&!YIqhhSmiRTz1?K~wrcvyDbn<&ZD`GOBd@&~3wz$k?!py6&Th)>7Mzc5oip@AFLYMl z@liFDzDlzV?B;1lCtVyKB9uE>4GiWknlpMvJ5@L#V*`qajP!xMC9NhjCGv5i!?cJj zQFy6Z(u!9=r8SP(4BK?!LE@@#L!>qQ=wIE?L$NMq&T>8I9~mlCZQBEME^J5?32paZ zaYH8_0@j7iF1~#fNa?USOQ*+W|6HIpTHKA^>UZbe-Dy{#fU-~n8#2KFK>Q2wJIQ;A zK=rpsUyT|=z0`1(m{2N>P$xfk;bFzrVh6)(XMAd*`zlOB|GoQ-5<}DE*t<@lgPIQlV2;%Pr zOGu@R$^(WovP7AZrgM z&%W9$#DAqBuMK^EQOlDeWRV2 zPJugjhcmVn^`qO}Q4(#XM~NL)B0J=`;d>)?qV6VH2wzyQanIwu!R9 z)-7{>g6AqDlr`5)nFR<>yIZ`gtYBUzaZYDiOnvM1iA1npuW|rKSOAH^jODN1Ehiy^ z*X|Dvz-!r}C*HDwjrHy{RyvPn`xV9Zt3p+fm0R1|feP%qHhZSgtGv0lt-JMg@X&#p z4anyj|2SQBdahEY|F5sc#uLtqYEu5(cC=k^g_PIYG^hU|Lcdpuweeltq#%krFI{NW zmkLxSr|NpCF+P98aSdz2lI>`lh^lL=!^JLV)wAN=-o8>oeCetsbGfu}41y(b9XTY} z%Tr-q z*lO1lpr;m~Aq5L0wM`@XB(^Rdy7cu{5+t|l(HVgBv`Ne z)_H)Ck$?(Ah^Q(xn06yG+|Az?hp(HE4SD#`KU(@#>(pbJ-p>hY$gK+TuKweMZXWKP zno*pJCx&MDA!nBoRlB#wo810t=*B@;O^9Oi{WwIWr>SIk`TMVZhrG?Nh}sng4nxiT z3l`i@h)e~4zqy|sAjP)Z+K$lO-xgaY;{N2Lmb*MvmtJ;x3EHels&TB>_rXA=<$3I7gPufwfI2k8|Y4 zGG4^$N|v$e^a)9P1JKn2EbDIgqU-h>_0nXh+QkA$6xvyvlzugX(4XN&M+U)c^dp5^QAyGg_fx$h#~!IjXdA)zHY8ulkZ?Q133x#vcl~@Pa;bIf zz85H=q2o!(n45<$>TKC#sKP#%2g`%F-J7SNT`FeJ(x^*YUVB8#BW?D02vY3W8E75U z&7&)%V09eE1-C1{VZtLQP}vmq4bRhKGQj2c?5%zDwSOqDY4ijX+D5wmCt9ap6%#f-blwl7g(XJ%9jOB8jU+66jvP~biH;$>UIrCy zPykn*j>!vy8%T2xI2GN5zVWQD-|u54w^ZCx&e$zK5KZa#6J9?IxlBFLD}1eA4cu3N zFZ(1}NKKKDZI367BD}ssAjKs-bYypVol0$?(u#IM62=ehlM0lp;V9%4m9UW>WQx^cl7O0E7;sTBS-nR_!c#VQXoh-mOr zASPROZ?es&tC5eBn)m#fQO|)S`P{8Y>(QE9h%a7~^H0>Loqogi$9G-0@_C_~`VWHw zIa!@VH`;nbz9;57s@y-$F5sWWYw~!n4;ph;WAM}>%m#&h%rzTeAci%UJ6>Mp=~wIM zNOmPL@~HmxJf%uMR_iku=&(@uT^Su*?25rRMW@=glvV)j`SgZv6Y~%8t>-?0gq>M5ECe z{*r_*z0~r!1F+Rz*(iJ#zjJzsbatzV=~4mwn{4TL3X#j+vxyl$(3Et14YMSMXfoq- zGHQWX&iyqq{}gP-*-pltUiR0xiwkDc@wCZ7*$mvT7dvboh+>cv`3p}1?+=KhU60wE z8|i|!wv19mXf^7+mPwp2$yi*6NkE~qDx5!lcnc+-a-`A$|QynmucR>Lf$n(AwMD z+a07aWpSKK;f*N*7ygZ~624*~@%OafjdRs>bnS^Orb5JrAHLrO6uCQIOZyp^AO?|?8GaT?}i`#N5f`yLOa@tE9_cZmJG}~|sH=Plt0a`Z@nCZ?QnZ}#17EiB zX}odoR?Nsskoowr;)W_+d>gfWaH^h7({xUM!`c+!izrs5Yq$$OXfa#Ran1R*pK{$U zpG9hOML;HgC#>8JqsW9reNbSswOTtO~w|x4G*L5VzYoft}@aKOT9K?1&#@pZSS} z0{IyrfX+`!&w169ti>8*;WWDHOyov;<9k}i>&m20RKAc*hqt`lQ)3&nB1Roo)|k#M zPlMWPbRTB!cpoih+$3)ZS^otX#MT_jlyfB6upvL?+T)J5xe)_=sfMewk`ZecyGojR zir&TBQF2L{kp`9_t(U>h)BA3*%U<+SD-|loQ<9mIG3bNaZbc<31gsB#-#r)}1#0-f zsRC;*>hh*Q3wX1*`LW0R>qU2#_7u?YmQXCzZ2ny`8&W6`bBQM66AOl~%j8NJnb7rP zJsP+a5f_ik&KCRy0u0j<=>s`le&cWAF+{svUY(lxIc$pu7{+TJZ~sP6!*;T!$+$-Cp{TnS z!K2H^^1Cp`84(GqmVH!YilJ}<{a7pcWmn|<_be}qGUZZ?upo*X2G4n|c%IpOT>n(F zBaJGiF>f&x@*#gnX6>#=eZfF(Jt(KuPeSG!#_@zVgIvXX)8( zY9W7>3tvS`=hCLuB{O9E-XRQnSWsJDbI-n2VtAO8vSjb{pfmqoH4G~Rx~sBuwI&!@pS@R_J&MoD*~J1H1roP9Tsdv>vwL7 zSvm)yPAQpcML$%UC;k!n&sq%e6qf@a8=2Q_GbJZT4GUU0kKs=;Nx^^QpD@8m$y1@ylVFD z4ANRt4^u)4%29$J%fxHP9-yR-uIm8$@A+`0XqG+axqnzW z(#QAXFKpki(K9Me&J^m9=)J>fqYl1ZUA31h$h2gc1-lown}ru-tc%-}UtB)i;o}*T zOy?5P(q`M@#0rg4CQUY*e_rmfw;WqF9#1Tr>@+8*3x*`PcH4)JZar~1cD|T)aAgUl z{MuZsq~w&}punLKI^&iNU}h1gN`Mx&d`epXnK*3hPkGoV672~k+j%Sz9Be%Pj5o9~ zy7}8GU#XU6OvEJ#O)@_9fX4Wp8Zz7xLw;ujN-gq*e#@%aH9eZT?Za{ZzWMvTU{4J- z-Lug1ZU0ggd-dFBR;qC^N9f1Fw$h#jL)!C0F`&JUtjH0zPpo9GuiPWcK98xEF8K^f-N)BK_k+IbdU|?X>jsXhIsoP9~@Fia&Ru*XOyy8Z$qJz7c!`i9y@fnt3-c`>t9hCUD+1Wy_M z#0=cp7P>5Cng6OvL{zcsbWBRcMB`HD%h}weIzPc?b4UR-lKnUKtX*7ObxfW6nexZ4 zYe6({pT|aa+aa1e7Mjc@_QHH6^q7*Hv6b8p2a)lO-?h+CdkMAJySd>#Na$)rCOd&) ziSfBtyHYxjPGdqzCV1xr$;}*@Cx2t!Xnam<4AD4bn7a~i6~l!)@8{<|r)1lEFumuQ ztjj0j6>PU}u)} zLG4ik=cQ*g7!gUm7hMxsd-YOcg}J|j;s#$&?02%B8@b;vON}^weMDiCDSLxuIbT2D zH2q0^jb}yzS=c~|yw^?G(wNGNlSih5F0AoXPdjh}p@y{=W} z+taYca}uKw-ZcwsI}=8@kFs6@a?k$giWbfq4Qv{Z6SD-HkK#Rx?p(;nU&oMcqeLW} zy;`W*Qf4X5GisPaQQ0jh;1fQa6u-w^UvhrXsgj{e7!D9c@-(S;6hZQYq^9By`49-> zDE&(t?$aky9_mmV?dJN!gkWPc6Id^g`g#eBPx#JEAsn3K9-Vs(+M<7IQgZIgp!MLV z*?Mz@F`&?TUA!-kNanU-7GxjeI)8D(S`VK`H2<*TLCvd$*u5f!3pViziKD;xdTaHA zhzD+Xm(=KrKxf$Ej~*ICyig#}Lj$~>6hv*L!G`qb3zz_rLa>0!bA$%qO_lhraSew& z6gJ-gh0I>nB8EC2v^*5yAz3O{CGPTrF#mR^+w6A_yc5m%94(R;WymkfInk=3K19!6 z=cjAoZNC+T6K|&oCS5*n4^3z_$4WKUDzz&@q^mQetGCB#+mfE`y>pPPggER(>I^dW@orkGljDI!aE0)TgqKvV$fd)7Zr-n zx{4QBzt`+{GLth(?!1k4{8Zg6D<3c-5`a=HqBywDsjXhdiaq%|QrzBXi6tInaO-Ii zpDp}E$w3t+1&!Kh6lR0r_o#568XTEVyM7ZyF@sEzA_bdJZ@#0;hqHJs2T}a`fMCba zZEw5Us30Q#)Hczdez~VPoc;_Q94fDKQ%5UkV5WjIp9nvAfW-`ku`JVH2#1Gm=DonE zdgl8jR7SDs7?PupFLWjN9`bIIRH21^IxZeiDw0-@0EnF^Ym0sdVM|m=t@jPo3b90BHPNh<%WhvN%G!vl9`dfQ3(=2c``(AzK zG@jI!K5jkl$1-OiAjosJS(U(2d+?x{cVqad-N~o5i4KV)xT(B*yh(O{h6k^ zq|bgu(Tho;ydNj!BZa846s3e-7wEAH6M8;)F6u(pQM(JH;+w9C7BpmyZFi=Greo?> z%=;=yOTJ)hx6Q6966Ztkn(hEcWLBHvBCMU*uWLe@&y z@g5AuvN)3m5vm53VSa^LA8t(O9d2vN=covynO7dGC2S<@;6E_>t4G&b3OQ^!ONFz# zOWX1EeFd+YKQ?i~p@k&9~8kT2S%ZF0ho=NexhJ=sMjX$puk zD5lxTLm_>$)9A#4(D*zsB2XZq@m=HF552mx_0^h!fjtO=LFfz-k;7jM^3FD=z&Q$> zfC2LZZvdP4SPE@bsLYF3|P(;~(7XS|^OG-4CE7a=RGxZqO3e zZF1v5q26u^{za&yzZEKCfeRg1HZn{tO^ApqgN@-huQp;(AAM-07!|q@dV(*CYA_7nv!f`H1 z0<@y8r&w4IyrYfVy-k9!+!^M2NIH`nW13CYb2*ljogRM=$q+2RWeprwx(Q4S#*l%s z2V0K6#O_h~>}PqLk^tDZ^YZ*HnUnu&mY3x{{&!p#kU|hk%l_&6YJ9QrzbkcZw;qFeOo8C8*u3Gq_f;D^zfp&7yC;fDTMG0$rJ34$8^ApuKcEC3@rVr zi+TqpAUF!S~wWiv=BWnB3b z)gmYz$BbzDgdK`ZW4WAIvTrKsJZ-fbiM)x2<^N<9ek#g6 z5SNfb3=tRv^wX`B>yc{xkm@QpuNG{*imaP(u%2VIeyvAToksh__nB0M;!~0CBh}bF zl;iYI@M|ob+vPJvZUe~@w4LCVAxWLa*Pw;Ptvcfb4iBXGvk}P216fb1)SGV<;pfRZ zZ=dhR4x|rfa{2XRa00aU5$Y%;cZTJ=_Zr64_1GP`sx7nXn%&`{P{-eDrU@Rd$|sAk z41hj{0jRs}e9jYpN#C{Jvr(YPvb~{nXFa>P)|C&)m-n%%_x}Joc2$N-F?d{6vKoE# zD1DlS5$zb1Jx2eJoymTaeR?z2fp#qQVn|o38j~*&N6lYs*ga%9&tQK~=S+D?X>(O2 z6XOf$EgVY96a!UGUKZvETz91_{h26bPW-Md&G-UsO-QxN-cPbZf5_44xjaF#*zVM~v5vr5Z@4n)%h$~VqOv~Ig9?V3 zKN>%5>T;3IiGmi~`jgzud~}}O9~=r<`!==7dq1y)RFZt9kpf}O-(EIkT*=d7-kZQwh#WqXF@5L+j2L4WvmTYV%g_aOs2S@^NcMQ71^_6n zax4K*cPk0v0ylb=8qAnv)7PBm1(*_Eg+H_W@U(i*ArFKo;j#m{whSgCA{%eC5JQu^ZwXTVgt#%2PNE=F@TCLvkY$hh$txq50HbJ*>;mBlyqdd$JROr?5J;#(NPn zG~EuFy7l`A7e8vBTmnZ#_}k#msy%dUZe>$xYB^XFk7+40vKT$h_P5(YYB>wRS*hpN z2kn~QOpvl8Pb>ISDo@cc$l@A}!Yx$l%!_R)$Ns5AjG4k&PBTJ-|4a{W)wZKgk{F=T zZ9kH^h;UGeSvDCXZ)E@6*Yk9)j6~~qwe;|9QW5@TVwc7U_cNq=0gVVF@FUo1R_F$h zSFg?TeoZ9Le7dM==Kl-kYX)d(VZA5hLvq?x1!jF>P zWE7Kr8$AaJ`9)aiMS1b#M=BM-ODvs)R|Zz?(n&}$j1<}&Hg|cb>e^{7RQ|#D0T)Ql zk3bN}$r|m{gEg{Hf};K$So1rX8OQN^L~nBBq~-4%Uan;}%y;@#y~k~Wc)`ubdZ?)c zKMa0PbMhMp7Q_Pm>@Z?~j*BA6)sgr#M|I#(yzJ9ltNZoqD&jw+F)sRlphmyqowgOLp|ZS?I?EoDwXW}ZUqLpFzqjv{+_$yDvv(7PsFPl8r51U& zf=HaIT&p?GZ$;(?SI%rMT9~VGLd-{7M%adJp#Ys_j!r%=BC5B|7MAPR>#7`MEN|Rx zt*a+A#&LeDZ4R`Tf&(!{vJ;O z@2e@kf!r-TEu&XJQp?Fr&>*yTdFtI2x7l5jCRCLFnu~4WdJkM+MS<{{a6QNAk9L>XP=9l^Bsc~ZhVeA2)W52aPQsFWWUdncoPe#? z`qslFGIIC*uJ+cF$8iW_Obw6M6in|9Uvyh}`!|8$n^s8W`#a#NWi1}-%W^dwYP6bv zm=Fh?IODIL=uMe2z8TlNp`5RdvIk#3ebf)hFt1UCWL~s97|=OU_4Df{qs3H256Q2_ z6WiO_NKlBua46ci*+^q?cmi1GKMs~BHfSl{sS=dp={IaQT=Ejur4d3P5soP-Z3Pxefay4sIgzva@S zoUG#xQSJ2nn?0X8z)fnq6!k9k!%+OpwCwfF67gH9fl6!2DmAL5mlvo25}Svv+x` z-)I)Jvz}_Z>CbZ;|8emx#g}(3 zc=#c_-cd-uNx$whTnLt@x-o!1VaF56?W9ccSzO+P~7DvB+KdNqF@oV z>R<}V7w}Mw=KCcE?>Z!dnaEDe5BRDGG;K0P}L%E~M~(V39E zzc2W&Ps4E4I|As3?0AE&-C3x*Jb9{R_O0vm8qIM>0yP(2&kyn6+8@Vu2Uv|rgF~aC zPqhaBYP1P({-Tv#g|s(5p;ha=|J;-r-~7G02t^YMSBkwTK&YmFD$~2mNoU=xJswTg zGoLz2#1Lty4s6G|`FwKGi6onli119TFul0r?@)qwm;bk^OFk`c}w;AVr7BWfLmM_?Qw|{{KFpnyRU*sFgnm1#J^f zX6N0U7nnWVPBc;Tv>?nS+#EB80d=x=oFt{;9n!$V=|UE{lnj3ata|TB{&)QnOM*E0 zJ8@Lhh@to>le>c!`Nu9J+i3U#fJtgUaug5Se3zC%fl6QJ3vz{|&R40ZGu3|BAK%Vg z>10`wreoLZ#MOQt2Eslh7+ATRFL)6*uYdH^rUsg;hu0B^#q-o^t=_aax*KO|4({=O z)Vg>g){w%BPB`40=yl|ZHj%*H*saH7gU=;pO6{D7BKV%&FM)-W>8?jne*VSfSn_j0 zq;OJ{T)(>d+6>jpbegAakf$vUF}{YNShs3crg8drFX($T7w~+g#S#t5#fDPiBO>}c zViZ&1T#<*#5+@=Lh2&~zLorX6z=Qt89u>(jgs!m!|hYok%q>u9Km>K z;9{UJAVe#>!gxsvl7IQ#va9`nneUh^3GD}z%*WDr4j}aSLGnrg8%9IO@MDw%f>iM!iEQ=0WtFTwYw? z9Nkq4wKsWp#glRD`LH~#9>dTjrPPMFu5#GOo^8$z1W0Y zev1JgO3(nXY27=FyZ|b`%#?C<>G}Td!+>`S=;d&-uXygdwvGaiM61c`UzNW+lGA=J zQQrYYTE|!CC&+l1z{M0V1|gRLTn9qDsS32{mOYrQ?hDHH%E$j<#YZG*Bs3;1)V;kw z>WcJ5zTCM~wgwpnhW<3^cbo=~Y#+W7Dhm^C-^wK%(&o!@Q=`?@AmsgQtr9OpsM5s6 zT8i|N^FtVLj)1*COd+2-MhNvsuE98mqriKaN{wIRd?ye;h~zv5lB|5ew&$ZG189Yl z%IVyy;oi0=0ZNj0)B*#D`n&pWYxp_%Z!F94vo4{Y@M=xDr1dc7oQe!SQZWRU3XyrDRI zK$vC);`R$*1R~CmMs!8vwp#Nyo#24E0j@^aR z&mg|JQk8`Z`BMDZQnG2p-Ea#GeecqYbZv}7DjvNbt-1_n{*Qvg&dqpe&f6rcS=LaRt+Bi!sm6`*Yk z@uvR)*^8YDC~!mgTA%7jqF|mkb{ew@50`JKAZD(wQt$ehyqio`mu1iYP?*n&$m03a zGU6TN8EI_j!3k=q_pK7;&c>FRN98SDJ3j2bh7-K(t|AbXU_)UAXS5WU6M=zznLG$f z0cWp9txX&6AI+txNvXW&AE*P{+hbDz?6@B7zmTNS^@9?fI?`+sSTB3J-kg(x#|f3I zda}^*up@nQ=xfHDLeu^M4u&vJ{#IPMomR<^G_9e#zxDk}zvp z*H-L2@YEX_fmQKO|JwJ@(k1_AF;K*>Q&jY{U?@ zC{P@(S{Q9<&tTs#7$O!fQn~8OX~+F-fSL^fMX~}y48vK26)Y$QU>>+9>h!%pgc@$m zaM+}x12tEJHp{=7ym%H+cOWJRHu@%KL*u;4>N` zBd<`Q$Z|YB+w`rpD6#!bA~b4 z%XE3RtVm@mnL_VxLw%2yYZDiqmkZg=hOIk-u12xn&l3@;+LZr1SN~G!6-Z^r|^3GV8E%~;y<*riQK!5Z#JfcuHe+av(VLR zj|oBEkec{}pnsD(+!qkAD0G7(8fP7og4zmQY5$^~WCBbAxOq#f3@zraUh0wP$5lou zt45MqUeN#vr7<_`UBLFPP1(~A2DBno9yeP2&mXr*+wAQ`MhEIQ|iYN_Z)`A!J2U%Z*b%qjN9%)As zOD%7i)ysahN)hH;e(l$3Marv7VtiT(sQiio6}dfqK$!CL7NNNQdeuX{6G@O1O_MGC zaPTq((WMI4qmc3i|G4;!Cu)4>9pw(SGo;m!s-9Ob-NZOSbz;>u#l^;IaWA7pELXYW zpSnPl`Am8z^sc^5XEZLt`$|);!ItffuPdN8xE3k%=IUjhl+Dn**Busdt37r7_!!jR zzkBPxbT=>4VnhXTy|4M$XTJX1-3K#H(BiPjkC?+N@!3}H7WEp{e8{z*ijlC>+mLL8Zb%zYw*=2{;MUfhai3?=8hB&W$dV10jL#dB1?V<=`668bvbHe zsezpI-W9mv2Bab4ua9CK0j*Nhh3*M&ED)-@x>~7}4P0;>H zS^aXOzyk*iKX8Gi z33%>dw?q@W081gie4$ULkqA`o0w7V6Wxj$QP9e9=qlVl|@P0ojYlN?ifGdibAS0eI z9N*x0(O}g v9i;9-JLp|ZWb^Qf0AkiGSCvUK&nb*a~e%=!-@U1|QKPhAV6?<%KQ zh0wkYVnH-O)1Qf=xEBtLi>&Mmv@ZsVCG9+JAH}5#%TQ!;kFSHr2jYo;N?AvxhZ!R0 zTPa}=@9u}I;=7w(zvHB6_rRKz{$N-V36AH8;T>Y|$q`YZ`OD=LpHqTNd3%vegR`3B_${0auGBqO-JM8hdnNT z_(x^3Oi6u4I&#&eM*sO~BYy>JWYnVn3fdXSq%y~)H(IiKKiFqR`w2i$80+!`H_eXkFe&{DE=N0X5AxuyCm$20IuE+IfHNS!MR&;xw z(M5VKb#MGrhM}KAQN50Euf-N{6ZmHI5*Fnfjr@EdfrwI+W#%(8S0?($&1d!>`Dq&m zdbUh>z%W);-{|Ih|I8Ur92Dw*(%4Y{Tx$zJQ+aweNepXK!yMZs5?7!d*1REHKx_|a z%ij52t`@4Fg>6gF7$U-Yy?$$)Ek*IVQ)csr+1*U^?;>tY1kFonIbZ&Hsc7_DPLK{u3%t>iK`n+oZ6!m``xo^}2ObUtC(~ z8UZYVJWmxP34?%}@K%w`0La&%pm&sU;E8Qjx_qyX4Fs`D*%GHOO@Ny4L`t{8tBrK5 zy4$Y(f**ugL8xH-)H!gCbLR>zr=Uq_FQ$~a1BR~|(J$=ful*?x`rq_>RS30H0jb8~ z(*MKNJ4c5VFnz*FqsDA(+h$`YjcwbuZQE$9291-(R%6??zT0Q_*?sr>JLlvi_s*S} zA7+MmQ7s2YMfs;yba>lVeIjW>TB^ukgs^e$Q&co+SY0-!$iXp*J0IEFJn>gng4ta1 zpcT-%%UheX^hU@ORry7Qxu1S!9HchrSQc3hp7I9&;V5eO#!g^eqALE86vOgVICQ8y zKULoJ5eDcb*RoS(r9ezON59al|Eu zCWw|nNN1$FQxh)!)?J%_SKx-v36v`8SBM{rY{}a@YF+@^d@59Xc297#cYcua*!S3r zsWw8t%~o=@OY1*5jrjBqOE`sdOxHE|a2HE}>pNiLcyC>$`*x#Z)1h@Tqna*!$qp|D zAOWvhXY72x?Pmyp-5SyhM}H+VJy8mW!~I1J_f<|`Tz`5Dhc0^8?lewFZl zYNy=)shxmw?78lO0bFPy=cUaaucBqQTN#!Ycn>~ZV~}Fb$fN2L2B0WmMXNdQvnuoE zJKAFX+yH;q#O=BTe-p{`&o=L6Bl1{l9FV}#p6RStW;P2l?2!pT((hejw7-!B$vsMJ+%PW(?(iev6VIz3rN@4)X)DZY7uH8^~#0&f>OM0KRsq`QC4fj>pe+)k@i$069<*$(_E% zA3_ysh1?~=`$d5?E-c#O)*(j%`hnRFGi1STXvQ1->zB-+v1w9o)g7m%`JWNE9O-;2 zyU>!{{d!7=L~Wyk6Yhd&&~cRquuf4GP7?qGz*f8O$SVD;J2c6&X~}kYn_i~YNn01l zy3!PIgQ632=D$?;6hgsIgK~P0Qaj;xv^Jx0o*cb*Fa1N%D1s zMejmgCC|Q-sd&=@o@C+a@{!MD#G9_qPURY!f55bo23lhWNkei@RSZo<4$gX-X#@gX&c}8zKO|EVUACJEldLL$Jk;GaJy%aL0MM)HT)8 z;5z#lppi_t6WcX{aWU8;qIevIekzvHyohl@ZXNFDSMX{2<+E?mnbArHQ1UOg-jev6r zM)x6U%<)6Da|!<+cbBo+JQ;pwNcc0+NWwlH5Jc7=<_J998DXR;@3lKDLNRdc=F4hF zg`H$AaCcDgIHy=G8cb&f=0Hxm`&wFzAoGkCyhYSEta`JcEm*_E|!+P}r9d>Fd zBld%O)bni_uVp?Vf6-u`D((RHkj{~Df1ldZCL#fZM@Y$(Rb>C)2hk3qYoJX0XDpEy z?aXA|{^ZVf^qd91)p*Ivs|d1VmKD4!*eJfMbsv#H@%*yt6n^*Gmlvj zx2{xg9widj0aFva)vMTO2QS8m#!H?gy(ma1R+9`pc7*Z0rw7;OU~R0>%b*H*mbHs4>9JS>fhbHI9qFvKbu^0n&Kj=@^vGstpn zp|djhF!fgwby%WEoLjd}S_V|7R`zkKI&Jw~7)E%mSQYD%lS-Fc3^h4?bMw$>vDiB?3Qe2Px> zPpgw!pEZ$;|5xbrAR$=Y+PR6c0dxjvYw53GapcV=y!sd|)K$`yr9Jj^;r=+T!BdB% z_Q%Vcs?GJR5xG^NjesV99aN3q%|zaRewq8Gym9dNc3SCupRAlacK+Qn3)ac4Lstmp z>GC^sYPJaMZ&vO1coE#w7KOWO=O$Fz@xfm_@!Co|%k|1u9jQNP9PKA|=S}327k)3lq(XRk zS~ML|NynXIQ0Wqi;@A3tysM{%KHM8-SKRZ0tgQN=w|Aavj|%=IiY_1FmrftP0vD24 zFWdg)lDFs42rsBX@-oN$)+y+S$jZN++$Q?f6H+9i2lt9l3@Lxdd$es_ozf;d+-?~~ z6!t2=RbsyGH^GcBcMn(_8&{GJ!r{mWs(<|mG`ykkRoRt#(CRC~e4o%8N{M${m3Ft2 zxRKOVaq>v4{j>0*ibS?2T**}H3)`#5_AX|XM6T9Uu(`Sj(9Twa3|ri4tiW9SDaAG@ND2Ig;OsMZ^{PC2LW7?_;O;(;Zx_eA(uK4TM@(SGHpgi zwYZN@JvCO?o*=K9VKHv#VLm4uGGr&C`$w}r76>sTA8~RQIT)0Wujk&k1iwt$Z-Pi) zqpbX^4Mt~Zb+r1?s;;3W8obx8@x`$`pj`3bPYy0t1ur(b9a3_u^z;`JWMFg%@V=jF zwFB38fdseQZH+;t2JALFZDOnPutUy1G21}t>w(%N`f23>{nYLInz~8B7cq6tdu&C$ zn$&BG4-0P?w`8T4t+lxzdLFTNmX z*jAZf;k4)}%Y!pjRc85Uv^1Ue4*MRr8fwFF&FPhc&S(&IQKh%4BAjx!<470yVgpMJ z);{nCZ8lZ!t1MGeg?VOA_bZXX1IAn_n|KIs_9Im~I3Fo)q`{P+2UqhcCSxCi2o0Ay zLFPi^zBq39v5>M6p3ESBZIJ2R%ivT~$!qAHFo~erCSp|^t+g=aS?AT(c3n9wiUb}2 zvI`FCYVpJjNF81Mvx5yiZ!B|zs~s87yPruOhf;FeW%N))>!H~Ad1hLRwudc>rR04z zbup0cekI@^EgV}S^G#RIE#NzPvnn7Wh(|W&n5NGs*v!ug(p%-xVFGX9nJ1gJ^14VdWSKeqq`)VhPqa!ye{r> z>Nd1|OhhWV8;RdN*I~y8^1vWZ!aEact;pGA%HUvwjf8>`T54haZu)IZPse}C;igJ> z0x7yhSFPjTYpaC~tbo^KeIA{=mHU2)SNFJnApMR&-KH9 zf8f$^C~%q_Fx7H^c8h9Q*u*dIT+eXS9+_W05LU*N2cs2Yvy)L5@aE&F2w)8ubJ^ni z=EVi}d&Q2-POP>h?Not%d%6HS+|=msjm!IW$zb>{F8yPQX{=3jv)~Tvof*;zNmTrS z<*_7T?`#8mOCzsStl^Jl);A5Lqa>~37TfY|dMTN$S1)l?%lbOkDc#VHMy*vB3aPJ(wVM;Jd4HA!AQJ|Ecs*a$`-2r6_GK1>fgo|v>4`JA2DoxN|Jcw@X zQ$DJQwmZ)YI8L~5UVZWtPdM4Q5JfRuR*G-smZQNpX_tMqO)3gVg&|cAH4a0b!$jXhnBiuQ1YFWqs(jfZGzv6pN9I77P@u>W*lpcAs2<*LJ?I{ccOJbJBX<=JR&b({lE_zoZ{+%{2WU zA=uPf0Q`<0nHql>9_2}#-n)v1%o9QNa^&1`?s_ohAd7DX(0dQX_&Xr?dldJoV)Auc zyOolvd*ObiQ(jfxO)`-0(()4!U$kR6S;A}ti4Xf+gRyoxe*bPkPV<1zkgthD%zaZw z>w#U*iYk~8?ztle2kqiec1d!1FTV}`X*)yCB26q@Ui8yC+;({H6rYT_o(tV-4|<4Z zgi9NLoDX|`U9z{=`K{~Z7p5nYSqIJTwgL2Z+UhOu)KI+F19v8|9Z`CB8LG9Q0xf51wA;no#pNe?<^dlA*V z$AkR7UC{Y<_hLSJ(P|&qm%17cC+%%plJmDfkZA+)N@G1OL7cj_&*<4- zXS$Px{a>e{)4wE9K#qY?aNX9F)_RO03+!$I{-|yywr` z&=@8uMMzr8YA3M=FG`9a#a1irQPMxD{k=qQm}~x#sn?ZC37!$*Ys%^Kq7MdjY+Tm^-#$S)rFbT8y#N=Px4QZWrya0zEB40JNjiG2@ux4$DqaWgpu7^ z-f{u%`QOf&34MkQJKmq={)6)go zXI@k@Yc+2d?!uAM8!#0D$G@h@@6ri~wOl5f^RNR-MCkbN^;@&7^b<4(wTi!`}h~A)`%09)_f)(S`iv`k)X0l7P4t`BRj6V;t8}?+K(jvQaGN3oojnflNG> z0@BjqEz9rnUTp8=68^yf1U^B_x0D98sf*5h5k5zrLDQHqH{`;D+&^1liY&>i{81WjpZNpnTCd;?(TcwJPJ}Z(QPf_6+e8JPHidULHc`N5)x>V0ytjRs!6w1vb$ zN6POlWcNS>R-i6Z&OL8`G__UJ1X2QnXknv`ue{5 z&VFX=8SK8Rbx=0&uSmsHGP8E4>s4q_N$Cv0vSmGgY|LoSQzoE<1rc5P46k$s(D1zJ z*JYRq2QBU2&M}oCjgu2!bm1#S83SLo@q^Il0R#M!dw?lS{jAxYH0voJxPLa^>eKPU z%pO5iN#{NUvfAmkd!{zDKame;sjSlXxl1VOOoaq2CrLYe?CCW9B@ek_)TpV{{;_OjpZus$(pijyZr%?QrD!2+g(FU z3!EvqVf(evkum@K!>a@3mgxrpxn4HI^iI7dj z=6d*>aGCy79xo6ZHK8|Io1Bt;KP@_b7#<3@pME)|*5rYBJQrH36WoWTlJ5x7JSjh+ zQo$*toq5mbZR&b91o?RJ{3fmUguGC@-SLFn;nGg{l)dE=NN6yu9_+Bn@g#hjl4eq~ ziMN0vDw7>mSu^zq{akR4m0f;yI5N$2*KMI{YlKWJBm=o1Jg}#{PqCC|{m_Nq>5yF{ z`ZxN*Daqpi;uYRF%(RRZgONSvOvJ>;$gC_;p&)8%Y8&!tS&>D2vFmo>Z&?uFros-% z>&SXb(3=m>$hunYPc3)%%NfVMAX&&RI7C4-a9bKmgXT)pd-GQ}^xBi##*2Od_1BL} zigP0ZiNP&KNPgag!JL;bbv83_=(3()Y8!W?DW@XfO44R}03JsRR+`3}SLfbX*_gk3 z*A=p)x$pemVKsRwz5BV=KU)hKoPD)wK7|aQntC5K3eWfEf9q7eow)p+_$VJ8tx{u?t=~Gk;p|FR{^66pC@(bf)LBuc zLZiLVMR$MHJ^EiS0E4y<#C_4I7R6hK361>3O8{TlaL=b(-Qyxux6$I7ENEUDwkD!i zZQ3*dzXI3QQ+Z>y_-BkN(6v{1N-czPF^Bgig`qB%f&x9c zsQkF$A>xo}O6t8A!Gh*z`VhDoQzqBh(dYj{xQxd1MYpms76QL95{Z=@%l-8T-Y(KN zIx!ktBgX^F8D#={q)QNV5vM~zPwCW<<||1)I)obXd4o^+j6~zBOXQtux$^RVmRYyp17-l*Yy> zB!=UU@m6E_4=LpoS1!@L`Pr?MnryF(69`9>GJUQ-;T}EbX!X z(%lcZSY3u9$mRG*=FycgMXd%KK9quDAMOuOA1{^*Sb49CMSW1f zs819zg6!_GAx|FnT~_Of*bifChG@}@S=K?)&ElD=f#j#s#0GE4?l(3>Gp1H zlo#{m;x4fsD6)El7mjU#)J9fg3f9Ehp{PjCje! z;Y)TJgTmo71Pr67FRey;sdaoF7@@)3t<5D#pAX8@7)!ChHP5Rj5de7Av6)LL3&AMB zXQH4lf+(QH@oeliCAIirw7t5J&KkSbNTZ(O0j_he5>P{av`eX zk9S{HIj=0X&CZ|`#ItN6hyc2oZ4n7#BUtI@8{Wnn7q+4IcZU78N_s#N-FP-3nwmry zXX{@Z{^5xY?``RJqksKrRw=EZN<6d?ttfynabB>Ml+pV46Ay?*(Oc=7qQ!Cy#xTum z&U4yVYu+rs%t+O!?l^CUb9+}`@c+RoFF@^CF$3+~l%5L&hxQt>Akr`mmC0M&?eor5 z%Fxr(4!V^$?h zL7WZZgA>wds)%x3f{>�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

NhdT$j>au@Z4Vco`D+1C%p%%IwQ(;&s3)YjF2< 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 literal 0 HcmV?d00001 diff --git a/submissions/Raushan/demo-images/dashboard-overview.png b/submissions/Raushan/demo-images/dashboard-overview.png new file mode 100644 index 0000000000000000000000000000000000000000..d1d0e921fdebec7e651adf5e1b4aaa450287d203 GIT binary patch literal 128023 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

kt+U|p6aFL5fO@+(Pk3>Vn(|+Vd7BXJ7c^$a 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%0A+rU*RMk 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 literal 0 HcmV?d00001 diff --git a/submissions/Raushan/generate_mock_data.py b/submissions/Raushan/generate_mock_data.py new file mode 100644 index 0000000..a7d73f1 --- /dev/null +++ b/submissions/Raushan/generate_mock_data.py @@ -0,0 +1,71 @@ +import pandas as pd +import random + +# Define cities and years +cities = [ + "Mumbai", + "Delhi", + "Bangalore", + "Hyderabad", + "Chennai", + "Kolkata", + "Pune", + "Ahmedabad", + "Jaipur", + "Lucknow", +] +years = list(range(2019, 2029)) # 5 years + +# Define metrics and value ranges +metrics = { + "GDP": (50, 300), + "GNI": (45, 290), + "GDP per Capita": (5000, 25000), + "Unemployment Rate": (3, 15), + "Inflation Rate": (2, 10), + "FDI": (0.5, 15), + "Export/Import Ratio": (0.5, 2.0), + "Public Debt % of GDP": (30, 90), + "HDI": (0.5, 0.9), + "Life Expectancy": (65, 82), + "Infant Mortality Rate": (2, 30), + "Literacy Rate": (70, 99), + "Education Index": (0.4, 0.95), + "Gender Inequality Index": (0.2, 0.7), + "Population Growth Rate": (0.5, 3.0), + "Urban Population %": (50, 100), + "Healthcare Expenditure per Capita": (200, 2000), + "Physicians per 1000": (0.5, 4), + "Hospital Beds per 1000": (1, 6), + "Access to Clean Water %": (60, 100), + "Vaccination Coverage %": (60, 100), + "CO2 Emissions per Capita": (1, 8), + "Renewable Energy %": (10, 60), + "Forest Area %": (5, 40), + "Air Quality Index": (50, 300), + "Environmental Performance Index": (20, 80), + "Corruption Perceptions Index": (20, 80), + "Internet Penetration %": (40, 95), + "Mobile Subscriptions per 100": (60, 130), + "Infrastructure Quality Index": (2, 8), + "Political Stability Index": (-2.5, 2.5), + "Gini Coefficient": (25, 50), + "Poverty Rate": (5, 40), + "Social Protection Coverage %": (30, 100), +} + +# Generate mock data +data = [] +for city in cities: + for year in years: + entry = {"City": city, "Year": year} + for metric, (low, high) in metrics.items(): + entry[metric] = round(random.uniform(low, high), 2) + data.append(entry) + +# Create DataFrame +df_mock_data = pd.DataFrame(data) + +# Save to CSV +csv_path = "india_city_growth_metrics_mock_data.csv" +df_mock_data.to_csv(csv_path, index=False) diff --git a/submissions/Raushan/india_city_growth_metrics_mock_data.csv b/submissions/Raushan/india_city_growth_metrics_mock_data.csv new file mode 100644 index 0000000..de08246 --- /dev/null +++ b/submissions/Raushan/india_city_growth_metrics_mock_data.csv @@ -0,0 +1,101 @@ +City,Year,GDP,GNI,GDP per Capita,Unemployment Rate,Inflation Rate,FDI,Export/Import Ratio,Public Debt % of GDP,HDI,Life Expectancy,Infant Mortality Rate,Literacy Rate,Education Index,Gender Inequality Index,Population Growth Rate,Urban Population %,Healthcare Expenditure per Capita,Physicians per 1000,Hospital Beds per 1000,Access to Clean Water %,Vaccination Coverage %,CO2 Emissions per Capita,Renewable Energy %,Forest Area %,Air Quality Index,Environmental Performance Index,Corruption Perceptions Index,Internet Penetration %,Mobile Subscriptions per 100,Infrastructure Quality Index,Political Stability Index,Gini Coefficient,Poverty Rate,Social Protection Coverage % +Mumbai,2019,82.06,150.74,10049.67,12.39,7.46,5.3,0.66,84.03,0.88,77.96,13.7,83.79,0.9,0.4,1.15,84.51,1192.19,2.56,3.07,70.52,87.77,1.9,32.56,29.97,197.18,54.41,63.9,91.8,79.57,5.02,1.33,39.33,14.14,88.41 +Mumbai,2020,60.21,84.36,7352.29,4.05,7.02,8.53,1.45,63.65,0.89,67.27,12.26,71.06,0.78,0.43,1.68,56.97,235.51,1.7,1.98,98.61,73.41,7.26,52.37,33.25,176.54,39.01,59.16,45.66,96.23,4.76,-1.59,30.64,7.76,91.42 +Mumbai,2021,79.39,258.13,10855.22,12.25,5.22,13.96,1.54,46.4,0.57,66.43,18.61,79.08,0.65,0.63,2.9,60.33,1719.52,2.43,2.88,61.88,86.81,6.41,40.22,18.68,240.64,56.27,68.77,64.42,113.85,2.73,0.64,47.73,5.21,92.01 +Mumbai,2022,146.0,70.7,12317.95,12.98,7.89,2.3,1.58,43.92,0.81,70.63,14.98,92.71,0.59,0.41,2.19,51.23,1045.49,3.52,2.01,71.15,77.4,7.22,55.87,32.19,58.25,75.93,72.12,91.2,82.9,2.58,-2.06,37.55,37.76,69.06 +Mumbai,2023,168.73,211.15,23373.32,9.05,4.58,10.4,0.55,37.99,0.54,75.12,29.11,87.32,0.86,0.47,1.13,86.96,1562.03,3.01,3.36,65.05,83.09,5.16,45.44,6.13,228.79,76.45,65.35,81.1,122.44,6.18,0.1,39.19,22.54,51.66 +Mumbai,2024,76.12,107.3,8539.61,5.02,8.46,13.83,0.5,36.13,0.57,78.87,7.95,86.04,0.57,0.46,2.36,93.29,678.12,3.98,2.66,91.81,88.41,7.93,47.6,38.54,287.07,79.47,21.93,62.09,106.43,5.75,-0.5,46.95,37.24,76.88 +Mumbai,2025,160.59,146.3,22243.7,13.53,5.88,14.49,1.4,86.18,0.72,71.74,15.66,74.48,0.4,0.6,1.81,86.72,801.33,3.2,4.47,71.91,83.44,1.44,51.87,35.0,241.12,60.28,40.84,54.51,86.65,2.49,0.41,27.68,16.49,98.37 +Mumbai,2026,252.14,83.74,13079.08,14.18,5.87,5.91,0.99,33.69,0.84,80.17,15.12,90.26,0.75,0.6,1.56,97.39,1732.01,3.55,2.28,85.32,71.7,2.18,35.35,9.62,123.11,46.07,37.76,86.58,82.79,3.54,-1.41,26.34,11.71,88.91 +Mumbai,2027,165.83,250.19,21522.07,9.05,2.74,11.35,0.87,88.81,0.85,80.67,2.68,79.19,0.92,0.39,2.62,99.19,551.56,3.97,2.73,62.29,91.4,4.15,57.47,17.17,87.56,48.65,71.57,41.81,123.92,7.04,-0.44,31.88,15.38,83.73 +Mumbai,2028,139.32,120.03,15897.09,11.07,7.27,4.85,0.58,37.17,0.68,65.72,10.56,89.82,0.55,0.62,2.81,72.66,663.91,3.93,1.61,91.66,95.36,5.64,19.24,37.7,225.79,39.36,50.71,60.93,124.03,4.55,0.35,45.04,7.2,58.92 +Delhi,2019,68.73,177.97,24989.53,6.37,4.44,2.05,1.36,67.7,0.61,81.39,11.42,71.92,0.74,0.44,0.6,65.92,828.58,2.28,4.11,90.77,73.57,1.52,31.0,15.25,63.61,51.09,35.53,81.23,96.58,6.17,-1.94,35.14,38.3,69.19 +Delhi,2020,292.71,289.64,16419.09,10.26,7.59,10.68,0.58,56.22,0.51,79.96,24.46,75.96,0.57,0.41,1.95,63.38,1940.61,2.55,5.07,64.4,77.45,2.0,32.22,32.19,163.79,61.5,68.93,42.07,109.6,6.63,0.43,41.29,33.08,67.41 +Delhi,2021,151.94,109.87,22884.01,5.93,5.01,0.94,1.23,68.73,0.52,77.92,24.96,97.98,0.93,0.3,2.19,80.33,1513.24,3.08,3.17,94.54,89.41,2.49,23.31,20.56,99.22,59.68,22.27,55.53,89.51,3.47,1.91,45.13,22.37,50.15 +Delhi,2022,197.62,272.55,16299.37,12.51,9.51,11.51,1.02,47.05,0.9,71.23,26.02,73.56,0.79,0.55,0.53,61.39,292.14,1.65,2.84,80.43,64.19,5.56,51.82,26.47,71.76,27.22,48.0,56.91,110.21,7.04,1.94,32.28,6.43,74.98 +Delhi,2023,77.83,120.82,23664.33,9.79,3.95,9.27,1.6,44.55,0.52,75.25,22.94,84.12,0.88,0.66,2.91,89.78,1223.27,3.72,1.44,86.44,65.73,3.14,42.29,7.33,138.89,47.99,39.05,84.75,88.87,6.64,-2.27,34.88,7.59,80.69 +Delhi,2024,70.84,64.46,10478.48,14.8,4.55,13.88,0.72,44.48,0.75,68.94,14.48,77.77,0.51,0.25,2.34,79.58,1841.92,1.03,3.99,97.19,91.1,6.8,12.53,32.52,59.15,62.22,67.98,52.2,112.93,4.34,-2.34,49.63,33.37,87.51 +Delhi,2025,106.42,142.05,23436.62,14.24,5.52,6.74,1.05,76.53,0.5,72.63,10.46,84.58,0.4,0.27,2.79,66.07,876.62,2.04,1.95,95.34,60.53,6.15,40.99,29.14,130.1,23.03,61.9,58.71,87.91,4.33,-2.08,40.14,8.18,89.56 +Delhi,2026,212.65,128.0,5729.35,10.76,7.55,10.1,1.21,48.69,0.55,80.93,7.26,78.56,0.62,0.5,2.71,93.61,437.95,1.43,4.16,79.86,80.8,6.46,28.42,25.9,260.9,37.42,60.16,59.05,68.86,7.56,-2.17,49.78,26.61,72.78 +Delhi,2027,89.75,126.95,8370.72,11.41,6.3,6.02,0.6,85.43,0.88,69.08,16.05,71.9,0.58,0.34,0.67,54.94,1862.93,3.64,4.05,85.55,66.64,1.18,38.36,5.5,81.05,71.05,40.61,79.08,64.26,3.34,-0.42,35.24,24.73,44.25 +Delhi,2028,115.97,285.19,15298.62,9.26,6.18,1.35,1.35,42.7,0.69,71.39,8.17,73.7,0.49,0.25,0.75,72.32,773.68,1.03,1.94,87.19,72.93,2.21,57.09,16.02,229.58,37.33,74.79,82.8,60.16,5.36,0.89,46.32,32.9,52.3 +Bangalore,2019,191.04,213.21,19212.52,4.11,8.47,4.87,1.58,49.09,0.87,80.01,4.99,81.74,0.47,0.64,2.85,68.74,1532.93,1.38,3.09,92.7,94.91,1.87,38.22,29.24,282.26,74.45,31.06,44.23,75.62,6.05,-0.5,46.76,21.3,40.78 +Bangalore,2020,281.74,237.03,24848.46,8.16,4.35,10.68,1.36,64.14,0.62,76.24,8.42,81.85,0.89,0.39,2.65,93.96,980.1,1.78,1.3,60.46,69.62,3.6,32.94,28.3,111.34,73.74,38.24,87.57,61.36,5.41,2.28,28.24,37.78,88.89 +Bangalore,2021,77.61,68.21,24186.95,11.13,8.47,5.62,1.06,72.67,0.63,79.41,17.19,98.72,0.61,0.4,1.69,56.35,1433.04,1.62,1.71,68.67,93.98,4.34,30.07,10.38,215.13,36.27,28.34,70.34,96.32,7.34,2.47,40.27,38.02,46.85 +Bangalore,2022,93.75,206.56,5439.94,6.17,9.77,6.97,1.71,59.17,0.69,77.17,10.58,83.57,0.92,0.32,0.78,96.98,934.41,3.77,4.48,71.49,93.23,6.02,29.1,23.31,264.62,66.99,30.88,75.31,95.34,5.45,0.53,26.77,18.58,83.53 +Bangalore,2023,195.87,103.54,15801.45,14.2,8.08,13.47,1.63,61.24,0.52,81.61,3.71,98.28,0.72,0.28,1.93,85.1,884.09,2.01,2.01,75.78,63.43,2.06,21.36,23.74,255.74,21.33,61.82,74.95,97.47,3.79,-0.31,34.41,7.61,53.09 +Bangalore,2024,142.88,103.53,15706.85,8.56,9.71,7.32,1.78,79.49,0.61,80.31,26.2,75.59,0.73,0.39,2.9,65.21,1287.87,2.22,4.77,84.99,70.87,7.67,36.85,19.15,294.09,69.23,31.12,54.85,77.86,3.32,-1.06,42.6,6.07,54.52 +Bangalore,2025,189.79,168.61,15406.1,3.69,8.28,12.2,0.58,69.11,0.56,67.74,12.8,96.37,0.69,0.58,2.16,69.31,302.46,3.22,2.46,62.72,79.4,3.67,15.33,22.25,282.19,30.4,52.77,67.81,100.67,3.47,-0.92,28.17,26.98,96.78 +Bangalore,2026,113.04,223.01,6852.47,12.07,9.35,7.51,1.39,39.79,0.73,73.43,12.01,90.28,0.88,0.4,0.74,63.56,1114.07,2.62,1.55,81.18,86.24,2.91,47.29,34.91,62.25,57.17,28.32,76.12,99.74,7.29,0.81,43.05,37.88,98.98 +Bangalore,2027,235.7,74.69,22898.9,7.41,6.86,7.52,1.38,56.13,0.62,65.6,28.75,74.59,0.86,0.21,1.28,64.45,650.48,3.84,2.65,83.66,75.5,6.72,54.75,9.24,127.16,75.58,29.64,72.29,113.79,7.56,0.62,45.65,9.7,80.25 +Bangalore,2028,146.79,160.28,17306.29,3.6,6.26,13.07,0.96,72.98,0.63,67.94,14.1,82.51,0.87,0.7,1.16,63.89,1684.28,3.62,5.83,84.63,84.49,7.35,19.02,24.09,198.82,51.15,22.32,56.08,74.19,7.25,0.8,46.81,14.34,69.7 +Hyderabad,2019,207.71,179.37,11332.21,4.31,9.26,12.98,1.83,47.7,0.68,79.49,17.13,88.93,0.4,0.39,2.95,51.13,1313.65,0.64,1.18,74.35,94.6,5.11,41.11,33.16,199.17,36.27,50.04,88.69,71.05,5.17,-2.4,31.18,28.42,64.29 +Hyderabad,2020,217.23,259.24,16811.14,10.82,2.66,12.02,1.01,85.25,0.76,78.66,24.13,77.49,0.5,0.51,0.96,51.06,1630.61,3.73,2.63,73.47,84.82,2.94,16.42,29.96,160.28,67.59,79.79,41.89,126.63,2.86,-2.28,39.91,37.9,56.89 +Hyderabad,2021,186.11,226.97,21999.79,12.26,3.54,1.55,1.78,58.41,0.7,72.69,29.54,90.45,0.68,0.42,2.43,88.81,227.68,1.72,2.91,61.05,62.99,7.21,30.22,13.43,81.49,64.14,52.96,68.6,91.04,7.61,-1.07,31.55,14.35,77.23 +Hyderabad,2022,177.25,52.24,23555.08,11.9,7.12,12.09,0.6,63.32,0.72,75.3,2.85,82.04,0.89,0.69,2.95,58.71,1530.69,1.82,1.16,70.36,91.18,4.48,59.4,28.67,101.18,49.76,67.78,83.3,67.16,5.73,0.78,33.34,25.46,39.27 +Hyderabad,2023,197.32,256.24,18013.04,10.52,5.93,0.93,0.77,68.8,0.63,72.9,2.72,75.84,0.71,0.64,2.09,98.46,1635.42,2.09,1.13,71.1,86.93,1.98,32.5,19.06,224.1,73.76,29.07,55.22,123.83,5.37,0.57,31.59,37.77,32.27 +Hyderabad,2024,199.96,240.39,11384.75,3.94,6.83,1.49,1.16,45.58,0.78,69.11,15.5,72.08,0.76,0.27,2.35,87.57,727.49,3.74,1.64,79.63,82.65,3.28,36.27,7.81,127.7,61.29,42.2,47.77,106.07,6.42,2.49,34.16,33.1,70.87 +Hyderabad,2025,83.75,240.08,11584.59,3.39,9.93,9.64,1.5,53.48,0.76,79.31,12.23,74.2,0.59,0.53,1.84,73.89,1804.7,0.69,5.46,68.08,98.78,7.45,39.38,33.14,141.59,66.2,52.39,57.91,120.11,7.64,1.7,31.16,13.63,96.09 +Hyderabad,2026,140.95,286.51,16238.39,7.23,7.76,4.26,0.63,60.05,0.86,70.99,17.36,90.83,0.92,0.7,2.49,93.32,540.68,1.1,2.87,74.78,60.2,2.8,46.89,34.51,185.46,44.17,21.46,62.95,107.23,2.18,-1.28,34.07,28.26,33.3 +Hyderabad,2027,214.7,267.93,11564.25,10.62,8.86,2.93,0.58,45.45,0.63,65.97,28.57,83.56,0.81,0.67,0.98,56.32,506.07,1.04,5.25,87.73,97.22,3.49,28.42,36.05,65.78,38.38,40.92,56.78,103.55,4.33,1.58,29.58,14.49,87.84 +Hyderabad,2028,234.0,51.75,13700.2,4.52,4.29,11.9,1.52,54.14,0.52,79.24,15.03,80.68,0.54,0.57,1.09,65.02,1804.71,3.21,3.71,80.67,70.24,5.75,40.96,29.74,263.42,77.82,63.46,77.19,77.64,5.83,2.34,41.39,34.59,40.1 +Chennai,2019,201.56,71.54,9626.75,9.26,9.78,11.25,1.5,66.36,0.65,74.3,23.23,92.99,0.85,0.55,2.47,59.79,1034.82,2.57,4.57,62.16,93.32,4.45,29.53,34.12,74.42,74.24,43.29,82.25,82.29,6.97,-2.39,25.08,9.43,54.22 +Chennai,2020,113.57,105.11,20884.53,7.75,5.33,12.53,0.99,45.51,0.72,69.01,29.57,86.1,0.9,0.45,2.28,51.69,790.68,0.84,3.69,93.32,80.28,2.84,45.6,19.68,120.79,65.52,76.99,71.98,114.91,7.55,-1.5,35.93,29.06,63.46 +Chennai,2021,79.73,233.24,22801.14,3.21,3.93,12.19,1.08,74.34,0.6,75.07,21.68,81.63,0.43,0.64,2.39,83.2,1788.65,3.47,4.99,65.06,76.84,6.48,26.31,16.71,174.93,45.19,29.78,74.01,62.07,2.46,-0.22,34.36,17.23,87.49 +Chennai,2022,224.89,149.8,6032.92,6.25,9.98,14.73,1.08,40.48,0.81,75.46,27.78,87.09,0.54,0.25,2.19,63.41,443.76,0.5,3.8,72.38,88.74,4.1,20.61,35.69,275.91,24.65,36.98,40.54,116.55,2.57,-1.49,27.46,28.26,56.3 +Chennai,2023,77.3,270.84,24833.52,11.72,5.96,3.85,1.25,76.28,0.6,77.33,26.02,73.39,0.63,0.31,0.86,50.63,1034.05,0.92,3.19,71.64,75.49,5.68,29.41,34.0,270.63,46.86,32.59,46.41,126.69,2.34,-2.08,44.89,18.33,54.82 +Chennai,2024,280.2,148.05,20110.49,8.03,4.35,10.77,1.77,53.7,0.72,74.09,8.91,93.23,0.43,0.36,0.58,91.54,1023.22,1.47,3.33,62.22,82.35,2.05,39.0,28.79,230.21,47.22,37.23,88.23,125.05,6.45,-1.51,44.51,9.93,82.62 +Chennai,2025,57.31,91.39,18038.29,5.08,3.41,9.69,1.44,83.29,0.89,75.0,13.35,92.79,0.75,0.62,0.91,89.76,627.43,2.57,2.33,83.49,68.54,2.85,29.22,18.59,119.01,44.8,27.58,62.08,91.89,3.16,-0.54,31.99,10.0,93.8 +Chennai,2026,80.54,171.2,10236.38,6.68,9.19,13.03,1.86,55.76,0.77,75.13,4.04,97.5,0.66,0.24,2.63,56.84,1956.66,2.57,5.58,66.98,64.32,6.79,10.02,37.9,114.7,34.21,47.75,91.18,105.51,4.76,0.1,25.8,20.93,89.75 +Chennai,2027,165.41,247.93,6001.94,11.75,5.34,5.6,1.42,65.38,0.89,67.07,23.57,70.84,0.53,0.53,2.16,85.42,1372.42,1.67,5.66,70.88,83.95,2.94,56.64,39.57,296.22,58.95,48.99,67.81,73.56,2.51,1.98,37.31,14.83,84.04 +Chennai,2028,270.51,108.4,24085.51,14.52,7.59,1.74,0.91,62.56,0.72,73.53,5.97,96.72,0.94,0.59,1.26,70.6,1488.36,0.64,4.14,89.51,69.51,5.54,54.22,10.2,270.65,28.69,63.7,89.61,114.6,7.03,-1.52,43.29,39.97,47.51 +Kolkata,2019,226.73,143.89,16376.45,13.86,4.16,5.0,1.44,53.98,0.56,73.38,15.33,94.59,0.94,0.22,2.32,71.25,248.93,1.98,4.25,93.72,68.86,4.68,57.87,18.29,286.66,38.75,75.32,56.94,65.52,4.25,1.79,48.07,29.39,33.73 +Kolkata,2020,57.55,67.53,7045.2,3.2,6.02,5.19,1.67,77.55,0.75,81.56,6.8,73.42,0.59,0.65,2.69,91.26,1310.05,3.84,5.39,60.06,77.38,3.41,50.99,21.7,128.09,44.64,62.99,80.07,128.35,5.07,0.99,46.95,22.13,48.71 +Kolkata,2021,160.94,277.44,13788.16,7.68,4.9,5.18,1.29,36.34,0.86,78.61,9.61,79.74,0.63,0.46,1.97,63.9,1743.53,1.26,1.07,76.71,61.07,6.3,23.46,15.38,250.88,59.91,28.69,65.86,101.13,6.89,-1.77,44.25,5.07,97.1 +Kolkata,2022,75.04,209.91,6513.29,4.7,3.44,13.24,1.72,61.23,0.71,69.92,12.1,73.45,0.62,0.68,0.79,55.04,415.86,3.38,5.64,84.18,62.26,3.74,35.96,6.02,107.57,43.05,38.31,73.63,123.91,5.42,-2.25,36.35,32.91,66.67 +Kolkata,2023,162.09,266.19,23948.27,10.71,5.62,11.59,1.49,47.76,0.71,69.65,7.01,93.29,0.65,0.46,2.63,79.41,1158.16,2.87,5.83,77.57,60.0,2.75,21.13,26.53,197.07,61.1,79.11,75.24,71.56,2.37,1.69,43.03,6.95,50.23 +Kolkata,2024,187.99,278.71,20137.18,8.15,4.38,13.16,0.88,49.01,0.82,71.1,5.15,72.05,0.48,0.6,1.89,53.37,1025.44,2.21,1.45,76.61,98.46,3.98,50.48,18.56,153.74,77.63,28.49,57.35,77.52,4.82,-2.17,32.42,20.4,79.59 +Kolkata,2025,229.15,133.23,6206.6,5.08,4.3,4.74,2.0,42.35,0.56,73.96,28.97,71.25,0.58,0.59,2.36,55.29,212.81,2.7,5.5,79.29,61.79,4.45,59.76,24.75,191.77,79.25,56.34,73.79,129.93,7.62,-1.38,43.53,16.33,70.83 +Kolkata,2026,190.9,214.41,18874.29,7.79,2.42,5.89,1.29,89.45,0.58,79.33,3.88,74.79,0.86,0.52,1.08,71.83,1191.28,3.26,5.23,88.55,92.26,3.3,53.04,21.57,265.84,58.94,72.4,71.53,79.95,5.2,-0.32,31.54,11.19,37.33 +Kolkata,2027,59.77,158.14,5434.34,6.32,5.65,14.66,0.69,34.38,0.74,71.15,16.26,89.69,0.56,0.48,1.2,60.39,304.52,2.79,4.65,81.87,86.83,6.3,17.6,6.61,240.67,76.86,52.27,88.7,72.46,4.12,-1.0,43.91,19.87,93.41 +Kolkata,2028,83.27,250.15,17161.33,9.53,4.77,8.58,0.53,41.55,0.84,66.45,12.36,98.23,0.45,0.39,1.47,96.91,542.87,2.51,3.11,95.87,65.62,2.42,57.79,34.33,125.2,62.44,63.18,72.61,81.42,7.23,-1.18,35.16,7.09,72.56 +Pune,2019,82.22,224.79,16642.13,11.38,3.46,10.86,0.6,58.63,0.59,79.74,28.57,93.78,0.61,0.61,1.24,80.27,1386.85,3.67,3.4,61.63,76.27,4.76,21.13,38.71,82.81,28.22,64.22,50.28,81.51,5.65,1.5,26.65,35.41,74.09 +Pune,2020,66.04,48.51,20872.13,7.7,5.81,7.64,0.77,32.05,0.58,80.9,12.47,71.92,0.75,0.57,0.76,96.82,599.25,2.21,2.26,81.75,70.43,2.33,55.36,36.04,299.89,71.6,21.02,43.6,110.53,2.06,-2.07,44.27,9.12,56.9 +Pune,2021,161.87,182.41,17856.69,5.4,6.33,3.34,0.61,82.25,0.83,75.49,21.35,98.26,0.52,0.38,1.81,56.52,1775.64,2.61,3.84,78.26,87.88,3.08,38.83,11.71,263.68,29.48,70.3,87.76,83.69,7.34,1.55,31.57,22.83,92.5 +Pune,2022,97.59,111.45,9999.42,4.04,2.52,8.85,0.77,45.04,0.73,68.54,12.74,96.31,0.71,0.7,2.55,52.96,1663.72,2.44,4.7,77.81,80.07,6.11,44.27,19.83,275.46,70.7,63.28,62.36,109.62,5.68,2.15,45.51,34.57,69.67 +Pune,2023,84.38,177.72,23615.99,11.14,8.27,12.81,1.44,54.5,0.63,71.87,13.13,78.97,0.84,0.37,2.95,54.92,1470.5,3.39,4.76,87.59,66.17,4.26,52.22,33.69,146.03,66.19,60.47,67.54,87.39,5.82,1.38,49.01,14.83,35.02 +Pune,2024,149.46,258.32,11445.64,5.22,9.2,9.17,1.35,84.73,0.59,81.13,9.54,98.19,0.95,0.56,2.22,58.82,707.84,2.0,3.1,97.47,66.97,2.8,21.39,32.54,257.97,66.42,67.53,41.99,95.26,7.95,2.4,48.65,34.59,80.85 +Pune,2025,95.0,111.53,13593.94,14.78,4.48,5.64,1.54,76.04,0.85,80.16,25.93,75.06,0.61,0.28,2.3,74.35,1424.99,1.82,4.28,99.08,83.14,3.82,31.9,39.61,105.21,42.07,35.53,54.07,119.4,7.01,0.7,49.16,31.62,30.86 +Pune,2026,282.44,53.98,11919.47,7.96,7.9,2.32,0.88,85.15,0.68,72.05,25.56,90.89,0.5,0.64,2.79,62.92,299.06,2.43,2.68,84.25,65.49,2.79,15.24,8.44,62.92,42.69,23.33,64.16,73.87,7.76,2.49,40.99,32.42,70.82 +Pune,2027,267.98,157.24,10266.83,4.25,8.54,4.12,1.89,41.88,0.7,65.62,27.92,81.62,0.56,0.59,2.13,95.41,1403.76,2.67,2.89,71.53,81.31,4.67,48.92,17.31,223.89,28.5,51.45,49.5,84.01,5.18,2.34,48.87,25.04,54.73 +Pune,2028,233.57,52.05,11705.32,3.97,5.32,7.28,1.52,45.71,0.71,78.54,13.68,76.8,0.95,0.37,0.57,72.94,1407.38,2.35,3.92,73.82,88.73,5.53,33.52,34.17,134.43,75.61,76.74,56.05,98.7,5.48,1.22,45.15,19.84,85.33 +Ahmedabad,2019,195.34,211.23,15582.12,14.57,9.75,12.55,0.68,48.15,0.87,79.22,19.99,74.06,0.92,0.59,1.09,60.59,764.31,1.82,2.69,69.5,71.35,3.99,42.23,26.17,152.2,69.97,71.69,54.4,102.86,4.74,1.18,25.78,15.79,30.45 +Ahmedabad,2020,84.99,215.72,23004.4,8.28,2.26,8.51,1.25,78.55,0.72,76.24,13.89,93.91,0.47,0.65,1.33,96.55,829.71,1.4,3.61,77.82,74.28,1.35,38.14,35.82,229.88,53.01,61.44,50.77,76.25,6.09,-0.24,33.88,35.47,48.47 +Ahmedabad,2021,266.91,176.89,13059.68,10.93,3.87,2.87,1.66,78.55,0.54,76.7,13.16,91.91,0.6,0.6,2.82,68.41,1471.45,2.7,2.51,85.41,89.87,2.45,14.9,5.98,77.7,46.6,39.62,63.1,101.3,6.98,0.47,34.97,12.3,82.18 +Ahmedabad,2022,98.66,108.45,18230.42,6.96,7.01,14.3,1.17,53.02,0.51,66.33,29.87,76.1,0.8,0.68,1.54,79.57,996.55,2.6,2.06,63.27,89.47,7.45,34.92,8.83,151.97,40.95,37.36,94.33,94.04,3.57,-0.02,41.5,16.48,84.6 +Ahmedabad,2023,253.41,101.25,17298.44,5.0,2.08,3.53,1.76,79.32,0.69,81.43,22.58,74.02,0.63,0.25,1.67,54.9,582.38,0.87,2.06,72.35,84.36,4.83,40.73,12.29,168.23,53.63,32.74,60.47,79.18,6.57,-1.18,43.51,22.19,59.95 +Ahmedabad,2024,216.67,236.23,23377.97,8.35,3.69,14.51,0.94,79.33,0.74,67.46,29.87,97.66,0.67,0.5,1.71,92.2,1917.5,2.94,2.63,96.56,72.24,2.36,18.91,10.27,233.34,48.01,63.72,53.86,125.4,3.7,-0.25,46.97,8.74,50.54 +Ahmedabad,2025,114.62,234.52,21866.68,6.55,2.63,13.54,1.61,33.58,0.65,71.96,8.56,86.23,0.45,0.6,2.68,81.58,1905.59,0.68,3.58,83.05,73.67,2.81,38.08,16.03,270.87,51.57,28.81,79.69,69.89,3.54,0.5,48.09,13.3,44.58 +Ahmedabad,2026,62.27,262.93,19968.48,4.6,7.09,1.97,1.58,76.09,0.8,67.42,23.17,91.16,0.62,0.6,1.1,51.81,1071.82,1.73,4.24,90.78,65.46,6.66,20.3,17.48,280.97,60.36,78.64,48.46,74.18,4.81,2.46,45.24,39.44,99.55 +Ahmedabad,2027,217.98,176.23,9391.89,7.17,2.74,11.0,0.73,59.21,0.67,70.32,20.71,80.91,0.52,0.5,2.06,55.55,1297.96,2.89,4.25,96.8,75.16,7.5,52.32,10.17,239.99,29.17,61.54,72.17,67.45,4.56,0.11,40.74,9.57,94.5 +Ahmedabad,2028,68.41,170.62,10269.0,9.58,6.22,14.0,1.9,81.93,0.71,68.03,10.14,80.78,0.51,0.4,0.98,57.4,846.54,1.97,3.57,75.07,84.39,7.99,18.17,9.22,182.17,75.48,30.47,80.53,126.91,5.14,2.4,27.21,28.12,31.69 +Jaipur,2019,60.83,218.46,23902.93,9.58,4.52,9.56,0.93,45.46,0.74,70.69,17.43,94.53,0.66,0.32,2.66,57.69,372.5,3.2,1.85,74.67,62.85,3.64,26.15,10.16,98.81,76.07,33.93,59.67,80.46,7.64,2.37,31.27,19.36,51.58 +Jaipur,2020,226.88,201.9,10649.19,9.46,9.12,4.83,1.95,48.97,0.58,70.47,22.39,75.4,0.49,0.55,2.28,61.48,494.72,1.57,2.77,87.97,76.08,3.84,26.34,20.49,285.28,36.77,23.28,83.51,103.24,4.5,1.32,30.72,17.05,87.39 +Jaipur,2021,120.29,237.29,21503.21,5.92,9.65,10.35,1.79,55.4,0.89,65.31,2.15,84.97,0.93,0.65,0.67,67.66,1428.45,0.77,3.81,73.02,79.09,7.06,26.39,29.74,119.27,70.78,47.82,56.96,121.14,5.71,1.51,46.18,27.34,37.98 +Jaipur,2022,255.32,85.57,12909.11,6.74,7.05,3.13,1.83,77.59,0.67,78.47,7.66,81.57,0.71,0.69,2.55,61.19,1361.21,2.77,2.72,98.19,89.75,6.68,18.59,8.81,183.05,49.62,35.69,79.58,120.7,7.47,-1.23,47.73,14.62,78.25 +Jaipur,2023,99.17,108.41,11509.45,8.67,5.53,8.86,1.66,55.34,0.61,77.67,9.07,97.95,0.7,0.4,0.85,71.96,459.08,2.81,3.06,61.28,66.0,6.45,54.26,17.44,142.54,27.61,55.94,65.24,92.76,6.29,1.38,33.13,24.06,74.22 +Jaipur,2024,157.58,45.01,5659.93,3.01,8.53,2.73,1.96,85.7,0.82,79.94,6.18,94.2,0.84,0.27,1.61,77.53,718.11,1.82,4.57,72.62,71.51,1.27,59.45,26.93,62.36,25.2,59.99,44.55,127.42,4.66,1.09,33.11,16.52,73.22 +Jaipur,2025,160.97,246.77,16373.45,8.92,9.96,14.23,1.22,59.72,0.88,75.39,24.34,78.54,0.44,0.41,2.8,79.34,632.17,3.05,3.08,85.4,75.35,3.36,10.19,35.11,241.57,44.8,20.54,59.13,108.32,2.08,-1.43,48.65,18.69,65.45 +Jaipur,2026,51.92,125.49,11895.71,13.62,6.29,13.93,1.39,66.94,0.84,69.85,4.37,71.38,0.91,0.42,2.05,86.08,715.54,1.13,2.02,92.48,92.88,2.64,37.92,24.59,178.36,54.47,24.92,41.81,105.1,5.11,1.76,25.5,14.33,72.57 +Jaipur,2027,123.38,179.31,10837.81,14.57,3.0,6.79,0.78,45.79,0.84,74.63,20.68,88.51,0.54,0.52,2.55,65.84,864.8,3.79,5.63,64.13,73.95,6.73,50.13,21.05,237.16,71.91,24.65,49.56,125.71,2.7,-1.39,46.32,29.81,34.26 +Jaipur,2028,200.34,114.27,22148.99,9.24,8.78,13.66,1.09,53.6,0.89,74.61,5.65,90.18,0.85,0.61,1.33,81.01,896.22,3.5,5.54,73.26,90.06,4.53,38.03,38.54,53.92,68.28,69.98,63.11,60.35,4.04,-2.48,26.67,36.2,87.03 +Lucknow,2019,85.63,236.63,6041.5,11.19,8.24,14.9,0.61,82.24,0.52,75.16,3.31,85.89,0.87,0.26,2.34,77.1,928.35,2.69,3.64,98.37,65.72,3.33,25.82,11.66,126.89,25.29,47.41,94.32,62.44,7.35,0.76,40.39,14.03,56.53 +Lucknow,2020,174.71,116.7,12888.98,6.7,4.05,1.96,0.76,84.29,0.74,71.63,27.17,91.45,0.56,0.33,2.71,89.16,1827.92,2.33,4.92,64.97,96.17,5.14,46.46,21.63,191.59,39.74,21.2,90.99,87.43,4.75,2.23,29.67,14.33,42.19 +Lucknow,2021,150.93,227.9,16613.45,9.26,3.98,4.08,1.32,87.82,0.7,66.21,5.23,78.69,0.95,0.61,1.66,63.86,285.93,0.96,2.5,92.26,91.55,1.13,45.54,37.9,93.38,70.38,61.58,47.1,86.62,5.0,0.73,38.29,39.52,98.92 +Lucknow,2022,143.14,155.43,7632.85,10.04,3.67,14.18,1.93,56.31,0.58,73.81,8.75,90.73,0.85,0.47,1.38,73.18,1574.77,2.05,3.51,82.83,61.66,5.68,21.63,5.8,209.0,73.94,50.92,64.28,104.81,7.87,0.81,38.29,33.94,35.33 +Lucknow,2023,259.54,284.44,16720.83,14.89,6.04,11.19,1.67,67.03,0.89,73.66,28.53,88.78,0.5,0.67,1.29,97.6,1289.45,2.24,4.59,71.95,79.1,6.79,49.35,15.18,280.65,72.51,50.22,55.54,120.46,3.59,-2.22,37.83,8.3,87.56 +Lucknow,2024,246.11,282.31,14219.27,3.64,6.81,0.76,1.11,49.33,0.67,75.7,3.41,83.23,0.8,0.54,0.57,50.76,829.08,1.75,5.33,87.6,67.35,7.12,49.43,27.3,201.9,46.12,44.41,41.74,96.58,6.51,0.85,47.57,24.54,77.41 +Lucknow,2025,243.44,264.31,21142.23,5.83,5.93,5.49,1.52,70.5,0.7,66.66,22.62,73.1,0.81,0.35,1.54,62.31,1366.87,2.86,1.59,79.34,70.54,1.78,22.68,35.36,51.14,62.85,28.45,63.4,76.5,4.54,0.66,37.74,37.52,93.27 +Lucknow,2026,269.09,139.08,20807.2,6.77,7.74,12.35,0.93,63.79,0.64,71.79,21.66,83.48,0.89,0.6,2.88,72.28,244.67,3.39,3.9,88.9,67.24,1.33,14.35,23.7,125.67,21.16,28.82,42.73,107.56,7.07,1.29,34.76,14.34,32.67 +Lucknow,2027,219.55,71.75,9512.63,7.59,2.22,2.74,1.82,78.05,0.61,70.29,20.88,81.76,0.43,0.34,1.01,54.7,1413.68,2.39,2.54,96.86,68.56,2.74,50.26,24.83,296.98,47.46,73.64,52.35,110.55,7.59,-2.5,34.62,8.59,90.28 +Lucknow,2028,136.97,103.8,7961.18,8.52,3.79,12.91,1.41,57.18,0.8,77.28,3.03,76.12,0.76,0.45,0.99,53.83,382.8,2.53,5.06,94.02,81.36,5.08,30.54,39.28,98.56,47.16,47.11,76.07,107.57,5.26,0.48,35.65,35.18,63.08 diff --git a/submissions/Raushan/main.py b/submissions/Raushan/main.py new file mode 100644 index 0000000..d04ca44 --- /dev/null +++ b/submissions/Raushan/main.py @@ -0,0 +1,57 @@ +import streamlit as st +from utils.data_loader import load_data +from utils.filters import sidebar_filters +from utils.analytics import show_analytics +from utils.visualizations import show_visualizations +from utils.policy_insights import show_policy_insights +from utils.insights import show_key_insights + + +def main(): + # Configure page title and layout + st.set_page_config(page_title="India Growth Metrics Dashboard", layout="wide") + + # Display main title + st.title("📊 India Growth Metrics Dashboard") + st.markdown("---") # Horizontal separator + + # Load dataset + df = load_data("india_city_growth_metrics_mock_data.csv") + + # Apply sidebar filters and retrieve filtered dataframe and other filter info + filtered_df, metrics, cities, year_range = sidebar_filters(df) + + # Show warning and stop execution if no data matches filters + if filtered_df.empty: + st.warning( + "No data available for the selected filters. Please adjust your selections." + ) + return # Stop further rendering + + # Show filtered data table with auto width adjustment + st.subheader("📈 Filtered Data") + st.dataframe(filtered_df, use_container_width=True) + + st.markdown("---") + + # Show analytics section based on full dataset (consider passing filtered_df if needed) + show_analytics(df) + + st.markdown("---") + + # Show policy insights section + show_policy_insights(df) + + st.markdown("---") + + # Show visualizations section + show_visualizations(df) + + st.markdown("---") + + # Show key insights section + show_key_insights(df) + + +if __name__ == "__main__": + main() diff --git a/submissions/Raushan/pyproject.toml b/submissions/Raushan/pyproject.toml new file mode 100644 index 0000000..6d3808e --- /dev/null +++ b/submissions/Raushan/pyproject.toml @@ -0,0 +1,12 @@ +[project] +name = "taks1" +version = "0.1.0" +description = "Add your description here" +readme = "README.md" +requires-python = ">=3.13" +dependencies = [ + "plotly>=6.1.2", + "scikit-learn>=1.7.0", + "seaborn>=0.13.2", + "streamlit>=1.46.0", +] diff --git a/submissions/Raushan/utils/analytics.py b/submissions/Raushan/utils/analytics.py new file mode 100644 index 0000000..50a4d9e --- /dev/null +++ b/submissions/Raushan/utils/analytics.py @@ -0,0 +1,135 @@ +# utils/analytics.py + +import streamlit as st +import plotly.express as px +import pandas as pd +import numpy as np +from sklearn.linear_model import LinearRegression +from scipy.stats import zscore + + +# Main function to display all AI-powered analytics sections +def show_analytics(df: pd.DataFrame): + st.header("🤖 AI-Powered Analytics") + show_trend_prediction(df) # Display trend prediction section + st.markdown("---") # Separator line + show_anomaly_detection(df) # Display anomaly detection section + st.markdown("---") # Separator line + show_correlation_analysis(df) # Display correlation analysis section + + +# Function to perform and display trend prediction for a selected city and metric +def show_trend_prediction(df): + st.subheader("🔮 Trend Prediction") + + # User selects city for trend prediction + trend_city = st.selectbox("Select City for Trend Prediction", df["City"].unique()) + + # User selects metric for trend prediction (excluding 'City' and 'Year' columns) + trend_metric = st.selectbox( + "Select Metric", + [col for col in df.columns if col not in ["City", "Year"]], + key="trend", + ) + + # Filter data for the selected city and metric, dropping missing values + df_trend = df[df["City"] == trend_city][["Year", trend_metric]].dropna() + + # Only proceed if at least 2 data points available to build a regression model + if len(df_trend) >= 2: + X = df_trend["Year"].values.reshape( + -1, 1 + ) # Predictor: Years reshaped for sklearn + y = df_trend[trend_metric].values # Target: metric values + + # Fit a linear regression model to historical data + model = LinearRegression().fit(X, y) + + # Prepare future years for prediction (next 5 years after max year in dataset) + future_years = np.arange(df["Year"].max() + 1, df["Year"].max() + 6).reshape( + -1, 1 + ) + + # Predict metric values for future years using the fitted model + predictions = model.predict(future_years) + + # Create DataFrame for future predictions + df_future = pd.DataFrame( + {"Year": future_years.flatten(), trend_metric: predictions} + ) + + # Combine historical and future data for plotting + df_combined = pd.concat([df_trend, df_future]) + + # Plot line chart with actual and predicted data + fig = px.line( + df_combined, + x="Year", + y=trend_metric, + title=f"Trend Prediction for {trend_metric} in {trend_city}", + ) + st.plotly_chart(fig, use_container_width=True) + else: + # Show warning if not enough data points to build a prediction model + st.warning("Not enough data for prediction.") + + +# Function to detect and display anomalies in selected metric using Z-score method +def show_anomaly_detection(df): + st.subheader("🚨 Anomaly Detection") + + # User selects metric to analyze for anomalies (excluding 'City' and 'Year') + anomaly_metric = st.selectbox( + "Select Metric for Anomaly Detection", + [col for col in df.columns if col not in ["City", "Year"]], + key="anomaly", + ) + + # Make a copy of the DataFrame to add z-score column + anomaly_df = df.copy() + + # Calculate Z-score for the selected metric grouped by city + anomaly_df["z_score"] = anomaly_df.groupby("City")[anomaly_metric].transform(zscore) + + # Identify anomalies where absolute z-score > 2 (statistically significant) + anomalies = anomaly_df[anomaly_df["z_score"].abs() > 2] + + if not anomalies.empty: + # Display table of detected anomalies with relevant columns + st.dataframe( + anomalies[["City", "Year", anomaly_metric, "z_score"]], + use_container_width=True, + ) + else: + # Inform user if no significant anomalies were found + st.info("No significant anomalies found.") + + +# Function to display correlation analysis for selected numeric metric against others +def show_correlation_analysis(df): + st.subheader("📊 Correlation Analysis") + + # Get list of numeric columns, excluding 'Year' + numeric_cols = df.select_dtypes(include=[np.number]).columns.tolist() + if "Year" in numeric_cols: + numeric_cols.remove("Year") + + # User selects metric to correlate against other numeric metrics + selected_corr_metric = st.selectbox( + "Select Metric to Correlate", + numeric_cols, + key="corr_analysis", + ) + + # Select numeric columns only for correlation matrix calculation + corr_df = df.select_dtypes(include=[np.number]) + + # Calculate correlation values of all numeric metrics with the selected metric + corr_values = corr_df.corr()[selected_corr_metric].sort_values(ascending=False) + + # Display the correlation results as a dataframe with proper column names + st.dataframe( + corr_values.reset_index().rename( + columns={"index": "Metric", selected_corr_metric: "Correlation"} + ) + ) diff --git a/submissions/Raushan/utils/constants.py b/submissions/Raushan/utils/constants.py new file mode 100644 index 0000000..7800900 --- /dev/null +++ b/submissions/Raushan/utils/constants.py @@ -0,0 +1,18 @@ +CITY_COORDS = { + "Mumbai": (19.0760, 72.8777), + "Delhi": (28.6139, 77.2090), + "Bangalore": (12.9716, 77.5946), + "Hyderabad": (17.3850, 78.4867), + "Chennai": (13.0827, 80.2707), + "Kolkata": (22.5726, 88.3639), + "Pune": (18.5204, 73.8567), + "Ahmedabad": (23.0225, 72.5714), + "Jaipur": (26.9124, 75.7873), + "Lucknow": (26.8467, 80.9462), +} + +POLICY_SUGGESTIONS = { + "HDI": "Invest in education and healthcare to improve quality of life.", + "Gini Coefficient": "Implement income redistribution policies to reduce inequality.", + "Renewable Energy %": "Subsidize solar and wind energy projects for sustainability.", +} diff --git a/submissions/Raushan/utils/data_loader.py b/submissions/Raushan/utils/data_loader.py new file mode 100644 index 0000000..846d633 --- /dev/null +++ b/submissions/Raushan/utils/data_loader.py @@ -0,0 +1,12 @@ +import pandas as pd +import streamlit as st + + +# Loading file +@st.cache_data +def load_data(path): + return pd.read_csv(path) + + +with st.spinner("Loading data..."): + df = load_data("india_city_growth_metrics_mock_data.csv") diff --git a/submissions/Raushan/utils/filters.py b/submissions/Raushan/utils/filters.py new file mode 100644 index 0000000..19366af --- /dev/null +++ b/submissions/Raushan/utils/filters.py @@ -0,0 +1,50 @@ +import streamlit as st +import pandas as pd + + +# Sidebar filters for user inputs to filter the dataset +def sidebar_filters(df: pd.DataFrame): + st.sidebar.header("🔍 Filter Options") # Sidebar section header + + # Multi-select box for selecting cities from unique cities in the data + cities = st.sidebar.multiselect( + "Select Cities", options=sorted(df["City"].unique()) + ) + + # Multi-select box for selecting one or more metrics (exclude 'City' and 'Year') + metrics = st.sidebar.multiselect( + "Select Metrics", + options=[col for col in df.columns if col not in ["City", "Year"]], + ) + + # Slider to select a range of years within the dataset's min and max year + year_range = st.sidebar.slider( + "Select Year Range", + int(df["Year"].min()), + int(df["Year"].max()), + (int(df["Year"].min()), int(df["Year"].max())), + ) + + # Apply the filtering based on user selections and return filtered data and selections + df_filtered = filter_data(df, cities, metrics, year_range[0], year_range[1]) + return df_filtered, metrics, cities, year_range + + +# Function to filter data based on selected cities, metrics, and year range +def filter_data(df: pd.DataFrame, cities, metrics, year_start, year_end): + df_filtered = df.copy() + + # Filter rows to keep only selected cities if any selected + if cities: + df_filtered = df_filtered[df_filtered["City"].isin(cities)] + + # Filter rows for years within selected range + df_filtered = df_filtered[ + (df_filtered["Year"] >= year_start) & (df_filtered["Year"] <= year_end) + ] + + # If metrics selected, keep only 'City', 'Year', and those metrics columns + if metrics: + df_filtered = df_filtered[["City", "Year"] + metrics] + + return df_filtered diff --git a/submissions/Raushan/utils/insights.py b/submissions/Raushan/utils/insights.py new file mode 100644 index 0000000..93bd390 --- /dev/null +++ b/submissions/Raushan/utils/insights.py @@ -0,0 +1,163 @@ +import streamlit as st +import pandas as pd +from .constants import POLICY_SUGGESTIONS + + +# Show top N cities for a selected metric in a given year +def show_top_cities_by_metric(df: pd.DataFrame, metric: str, year: int, top_n=10): + st.markdown(f"### 🏆 Top {top_n} Cities by {metric} in {year}") + top_cities = ( + df[df["Year"] == year] + .sort_values(by=metric, ascending=False) + .loc[:, ["City", metric]] + .head(top_n) + .reset_index(drop=True) + ) + st.dataframe(top_cities, use_container_width=True) + + +# Show bottom percentile cities and their policy suggestions based on a metric +def show_bottom_cities_with_policy( + df: pd.DataFrame, metric: str, year: int, bottom_pct=10 +): + st.markdown( + f"### 📉 Policy Suggestions for Bottom {bottom_pct}% Cities by {metric} in {year}" + ) + n_cities = len(df["City"].unique()) + n_bottom = max( + 1, int(n_cities * bottom_pct / 100) + ) # Calculate how many cities fall in bottom_pct + bottom_cities = ( + df[df["Year"] == year] + .sort_values(by=metric) + .loc[:, ["City", metric]] + .head(n_bottom) + .reset_index(drop=True) + ) + st.dataframe(bottom_cities, use_container_width=True) + + st.markdown("#### Suggested Policies:") + # For each bottom city, show relevant policy suggestion from constants + for city in bottom_cities["City"]: + suggestion = POLICY_SUGGESTIONS.get( + metric, "General development assistance recommended." + ) + st.markdown(f"- **{city}**: {suggestion}") + + +# Highlight cities with best healthcare systems, based on combined healthcare indicators +def show_healthcare_leaders(df: pd.DataFrame, year: int, top_n=10): + st.markdown(f"### 🏥 Cities with Best Healthcare Systems in {year}") + df_year = df[df["Year"] == year].copy() + + # Calculate a health score using multiple healthcare metrics (weights are arbitrary) + df_year["Health Score"] = ( + df_year.get("Healthcare Expenditure per Capita", 0) + + df_year.get("Physicians per 1000", 0) * 1000 + + df_year.get("Hospital Beds per 1000", 0) * 100 + ) + + top_health = ( + df_year.sort_values(by="Health Score", ascending=False) + .loc[:, ["City", "Health Score"]] + .head(top_n) + .reset_index(drop=True) + ) + st.dataframe(top_health, use_container_width=True) + + +# Show environmental leaders and laggards based on combined environmental metrics +def show_environmental_leaders_and_laggards(df: pd.DataFrame, year: int, top_n=5): + st.markdown(f"### 🌱 Environmental Leaders and Laggards in {year}") + df_year = df[df["Year"] == year].copy() + + # Green Score is a composite metric rewarding positive and penalizing negative environmental factors + df_year["Green Score"] = ( + df_year.get("Renewable Energy %", 0) + + df_year.get("Forest Area %", 0) + - df_year.get("CO2 Emissions per Capita", 0) + - df_year.get("Air Quality Index", 0) + ) + + best = ( + df_year.sort_values(by="Green Score", ascending=False) + .loc[:, ["City", "Green Score"]] + .head(top_n) + .reset_index(drop=True) + ) + worst = ( + df_year.sort_values(by="Green Score", ascending=True) + .loc[:, ["City", "Green Score"]] + .head(top_n) + .reset_index(drop=True) + ) + + col1, col2 = st.columns(2) + with col1: + st.markdown("**Top Environmental Performers**") + st.dataframe(best, use_container_width=True) + with col2: + st.markdown("**Worst Environmental Performers**") + st.dataframe(worst, use_container_width=True) + + +# Display a custom insight summary based on selected filters (cities, metrics, year range) +def show_custom_insight( + filtered_df: pd.DataFrame, cities: list, metrics: list, year_range: tuple +): + st.markdown("### 🔎 Custom Insight Summary") + + # Check for empty selections and inform user accordingly + if not cities: + st.info( + "⚠️ No city selected. Please select one or more cities from the sidebar to see insights." + ) + return + if not metrics: + st.info( + "⚠️ No metric selected. Please select one or more metrics from the sidebar to see insights." + ) + return + if filtered_df.empty: + st.info( + "No data available for the selected filters. Please adjust your selections." + ) + return + + # Summary of filtered data selection + st.write( + f"You have selected data for {len(filtered_df['City'].unique())} cities between {year_range[0]} and {year_range[1]}." + ) + avg_metrics = filtered_df[metrics].mean().round(2) + st.write("Average values for selected metrics:") + st.dataframe( + avg_metrics.reset_index().rename( + columns={"index": "Metric", 0: "Average Value"} + ), + use_container_width=True, + ) + + +# Main function to show key insights, with optional filters passed +def show_key_insights(df, year=None, cities=None, metrics=None, year_range=None): + # Select year for insights; defaults to latest year + year = st.selectbox( + "Select Year for Insights", + options=sorted(df["Year"].unique()), + index=len(df["Year"].unique()) - 1, # default latest year selected + ) + + # Show various key insights for the selected year + show_top_cities_by_metric(df, "HDI", year) + show_bottom_cities_with_policy(df, "Gini Coefficient", year) + show_healthcare_leaders(df, year) + show_environmental_leaders_and_laggards(df, year) + + # If filters for cities, metrics, and year_range are passed, show custom insight summary + if cities is not None and metrics is not None and year_range is not None: + filtered_df = df[ + (df["City"].isin(cities)) + & (df["Year"] >= year_range[0]) + & (df["Year"] <= year_range[1]) + ] + show_custom_insight(filtered_df, cities, metrics, year_range) diff --git a/submissions/Raushan/utils/policy_insights.py b/submissions/Raushan/utils/policy_insights.py new file mode 100644 index 0000000..15a2b08 --- /dev/null +++ b/submissions/Raushan/utils/policy_insights.py @@ -0,0 +1,38 @@ +import streamlit as st +import pandas as pd +from .constants import POLICY_SUGGESTIONS + + +def show_policy_insights(df: pd.DataFrame): + st.header("📀 Policy Insights") + + # Select a metric to identify underperforming cities + st.subheader("Policy Suggestions for Underperforming Cities") + under_metric = st.selectbox( + "Select Metric for Underperformance", + [col for col in df.columns if col not in ["City", "Year"]], + key="under_metric", + ) + + # Slider to choose bottom percentage threshold for defining underperformance + threshold = st.slider("Bottom % Threshold", 1, 30, 10) + + # Calculate number of bottom cities based on selected threshold + n_bottom = int(len(df["City"].unique()) * threshold / 100) + latest_year = df["Year"].max() + + # Filter data for latest year and get bottom cities by selected metric + bottom_cities = ( + df[df["Year"] == latest_year].sort_values(by=under_metric).head(n_bottom) + ) + + # Display the bottom cities with their metric values + st.dataframe(bottom_cities[["City", under_metric]], use_container_width=True) + st.markdown("#### Suggested Policies") + + # Show policy suggestions mapped to the selected metric or a default message + for city in bottom_cities["City"]: + suggestion = POLICY_SUGGESTIONS.get( + under_metric, "General development assistance recommended" + ) + st.markdown(f"- **{city}**: {suggestion}") diff --git a/submissions/Raushan/utils/visualizations.py b/submissions/Raushan/utils/visualizations.py new file mode 100644 index 0000000..71cf038 --- /dev/null +++ b/submissions/Raushan/utils/visualizations.py @@ -0,0 +1,220 @@ +import streamlit as st +import plotly.express as px +import seaborn as sns +import matplotlib.pyplot as plt +import pydeck as pdk +import pandas as pd +import numpy as np +from .constants import CITY_COORDS # Predefined city coordinates for map visualization + + +def plot_bar_chart(df_vis, metrics, year): + """Plot bar charts for given metrics and year.""" + for metric in metrics: + fig = px.bar( + df_vis, x="City", y=metric, title=f"Bar Chart of {metric} in {year}" + ) + st.plotly_chart(fig, use_container_width=True) + + +def plot_line_chart(df_line, metrics): + """Plot line charts for given metrics across years, grouped by city.""" + for metric in metrics: + fig = px.line( + df_line, + x="Year", + y=metric, + color="City", + title=f"Line Graph of {metric} over Years", + markers=True, + ) + st.plotly_chart(fig, use_container_width=True) + + +def plot_scatter_plot(df_vis, metrics, year): + """ + Plot scatter plot between two selected metrics for a given year. + Requires exactly two metrics to compare. + """ + if len(metrics) < 2: + st.warning("Please select at least two metrics for scatter plot.") + elif len(metrics) > 2: + st.error("You can only select up to 2 values.") + else: + x_metric, y_metric = metrics + fig = px.scatter( + df_vis, + x=x_metric, + y=y_metric, + color="City", + hover_name="City", + title=f"Scatter: {y_metric} vs {x_metric} in {year}", + ) + st.plotly_chart(fig, use_container_width=True) + + +def plot_pie_chart(df): + """ + Display a pie chart for a selected metric and year, showing proportion by city. + Allows dynamic selection of metric and year. + """ + st.subheader("🥧 Pie Chart") + pie_metric = st.selectbox( + "Select Metric for Pie Chart", + [col for col in df.columns if col not in ["City", "Year"]], + key="pie", + ) + pie_year = st.selectbox( + "Select Year for Pie Chart", + [year for year in range(int(df["Year"].min()), int(df["Year"].max()) + 1)], + ) + df_pie = df[df["Year"] == pie_year] + fig_pie = px.pie( + df_pie, + values=pie_metric, + names="City", + title=f"Pie Chart of {pie_metric} by City in {pie_year}", + ) + st.plotly_chart(fig_pie, use_container_width=True) + + +def plot_heatmap(df): + """ + Plot a correlation heatmap for numeric metrics (excluding City and Year). + Helps identify relationships between metrics. + """ + st.subheader("🌡️ Correlation Heatmap") + df_corr = df[[col for col in df.columns if col not in ["City", "Year"]]].corr() + fig, ax = plt.subplots(figsize=(12, 8)) + sns.heatmap(df_corr, annot=False, cmap="coolwarm", ax=ax) + st.pyplot(fig) + + +def plot_interactive_map(df): + """ + Display an interactive map of cities with circle sizes proportional + to the selected metric’s value for a chosen year. + """ + st.subheader("🗺️ Interactive City Map") + map_metric = st.selectbox( + "Select Metric to Visualize on Map", + [col for col in df.columns if col not in ["City", "Year"]], + key="map_metric", + ) + map_year = st.selectbox("Select Year for Map", sorted(df["Year"].unique())) + + # Filter data for the selected year and metric + df_map_metric = df[df["Year"] == map_year][["City", map_metric]] + + # Prepare dataframe for map with city coordinates + map_data = pd.DataFrame( + [ + {"City": city, "lat": lat, "lon": lon} + for city, (lat, lon) in CITY_COORDS.items() + ] + ) + + # Merge metric data with coordinates + map_data = pd.merge(map_data, df_map_metric, on="City", how="left") + + # Normalize radius for circle sizes on map + min_val = map_data[map_metric].min() + max_val = map_data[map_metric].max() + map_data["radius"] = 20000 + 80000 * (map_data[map_metric] - min_val) / ( + max_val - min_val + ) + + # Define map layer for city scatter points + layer = pdk.Layer( + "ScatterplotLayer", + data=map_data, + get_position="[lon, lat]", + get_color="[100, 150, 255, 160]", + get_radius="radius", + pickable=True, + auto_highlight=True, + ) + + # Set initial view state for the map centered on cities + view_state = pdk.ViewState( + latitude=map_data["lat"].mean(), + longitude=map_data["lon"].mean(), + zoom=4.5, + pitch=0, + ) + + # Tooltip on hover showing city and metric value + tooltip = { + "html": f"City: {{City}}
{map_metric}: {{{map_metric}}}", + "style": {"backgroundColor": "black", "color": "white"}, + } + + # Render the interactive map chart in Streamlit + st.pydeck_chart( + pdk.Deck( + map_style=None, + initial_view_state=view_state, + layers=[layer], + tooltip=tooltip, + ) + ) + + +def show_visualizations(df: pd.DataFrame): + """ + Main visualization controller function to show different types of charts + based on user input selections from Streamlit widgets. + """ + st.subheader("📊 Visualization") + + # User selects graph type + graph_type = st.selectbox( + "Select Graph Type", options=["Bar Chart", "Line Graph", "Scatter Plot"] + ) + + # For scatter plot, allow multiple metric selection; for others single metric + if graph_type == "Scatter Plot": + vis_metrics = st.multiselect( + "Select Metric(s)", + [col for col in df.columns if col not in ["City", "Year"]], + default=[df.columns[2]], + ) + else: + vis_metrics = [ + st.selectbox( + "Select a Metric", + [col for col in df.columns if col not in ["City", "Year"]], + ) + ] + + # Select cities and year for visualization filtering + vis_cities = st.multiselect( + "Select City/Cities", + sorted(df["City"].unique()), + default=[df["City"].unique()[0]], + ) + vis_year = st.selectbox("Select Year", sorted(df["Year"].unique())) + + # Filter dataframe accordingly + df_vis = df[(df["Year"] == vis_year) & (df["City"].isin(vis_cities))] + + # Call the corresponding plotting function based on user selection + if graph_type == "Bar Chart": + plot_bar_chart(df_vis, vis_metrics, vis_year) + elif graph_type == "Line Graph": + df_line = df[df["City"].isin(vis_cities)] + plot_line_chart(df_line, vis_metrics) + elif graph_type == "Scatter Plot": + plot_scatter_plot(df_vis, vis_metrics, vis_year) + + # Optional pie chart toggle in sidebar + if st.sidebar.checkbox("Show Pie Chart"): + st.markdown("---") + plot_pie_chart(df) + + # Always show heatmap and interactive map below + st.markdown("---") + plot_heatmap(df) + + st.markdown("---") + plot_interactive_map(df) diff --git a/submissions/Raushan/uv.lock b/submissions/Raushan/uv.lock new file mode 100644 index 0000000..225f769 --- /dev/null +++ b/submissions/Raushan/uv.lock @@ -0,0 +1,813 @@ +version = 1 +revision = 2 +requires-python = ">=3.13" + +[[package]] +name = "altair" +version = "5.5.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jinja2" }, + { name = "jsonschema" }, + { name = "narwhals" }, + { name = "packaging" }, + { name = "typing-extensions", marker = "python_full_version < '3.14'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/16/b1/f2969c7bdb8ad8bbdda031687defdce2c19afba2aa2c8e1d2a17f78376d8/altair-5.5.0.tar.gz", hash = "sha256:d960ebe6178c56de3855a68c47b516be38640b73fb3b5111c2a9ca90546dd73d", size = 705305, upload-time = "2024-11-23T23:39:58.542Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/aa/f3/0b6ced594e51cc95d8c1fc1640d3623770d01e4969d29c0bd09945fafefa/altair-5.5.0-py3-none-any.whl", hash = "sha256:91a310b926508d560fe0148d02a194f38b824122641ef528113d029fcd129f8c", size = 731200, upload-time = "2024-11-23T23:39:56.4Z" }, +] + +[[package]] +name = "attrs" +version = "25.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24/attrs-25.3.0.tar.gz", hash = "sha256:75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b", size = 812032, upload-time = "2025-03-13T11:10:22.779Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/77/06/bb80f5f86020c4551da315d78b3ab75e8228f89f0162f2c3a819e407941a/attrs-25.3.0-py3-none-any.whl", hash = "sha256:427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3", size = 63815, upload-time = "2025-03-13T11:10:21.14Z" }, +] + +[[package]] +name = "blinker" +version = "1.9.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/21/28/9b3f50ce0e048515135495f198351908d99540d69bfdc8c1d15b73dc55ce/blinker-1.9.0.tar.gz", hash = "sha256:b4ce2265a7abece45e7cc896e98dbebe6cead56bcf805a3d23136d145f5445bf", size = 22460, upload-time = "2024-11-08T17:25:47.436Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/10/cb/f2ad4230dc2eb1a74edf38f1a38b9b52277f75bef262d8908e60d957e13c/blinker-1.9.0-py3-none-any.whl", hash = "sha256:ba0efaa9080b619ff2f3459d1d500c57bddea4a6b424b60a91141db6fd2f08bc", size = 8458, upload-time = "2024-11-08T17:25:46.184Z" }, +] + +[[package]] +name = "cachetools" +version = "6.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/8a/89/817ad5d0411f136c484d535952aef74af9b25e0d99e90cdffbe121e6d628/cachetools-6.1.0.tar.gz", hash = "sha256:b4c4f404392848db3ce7aac34950d17be4d864da4b8b66911008e430bc544587", size = 30714, upload-time = "2025-06-16T18:51:03.07Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/00/f0/2ef431fe4141f5e334759d73e81120492b23b2824336883a91ac04ba710b/cachetools-6.1.0-py3-none-any.whl", hash = "sha256:1c7bb3cf9193deaf3508b7c5f2a79986c13ea38965c5adcff1f84519cf39163e", size = 11189, upload-time = "2025-06-16T18:51:01.514Z" }, +] + +[[package]] +name = "certifi" +version = "2025.6.15" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/73/f7/f14b46d4bcd21092d7d3ccef689615220d8a08fb25e564b65d20738e672e/certifi-2025.6.15.tar.gz", hash = "sha256:d747aa5a8b9bbbb1bb8c22bb13e22bd1f18e9796defa16bab421f7f7a317323b", size = 158753, upload-time = "2025-06-15T02:45:51.329Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/84/ae/320161bd181fc06471eed047ecce67b693fd7515b16d495d8932db763426/certifi-2025.6.15-py3-none-any.whl", hash = "sha256:2e0c7ce7cb5d8f8634ca55d2ba7e6ec2689a2fd6537d8dec1296a477a4910057", size = 157650, upload-time = "2025-06-15T02:45:49.977Z" }, +] + +[[package]] +name = "charset-normalizer" +version = "3.4.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e4/33/89c2ced2b67d1c2a61c19c6751aa8902d46ce3dacb23600a283619f5a12d/charset_normalizer-3.4.2.tar.gz", hash = "sha256:5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63", size = 126367, upload-time = "2025-05-02T08:34:42.01Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ea/12/a93df3366ed32db1d907d7593a94f1fe6293903e3e92967bebd6950ed12c/charset_normalizer-3.4.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:926ca93accd5d36ccdabd803392ddc3e03e6d4cd1cf17deff3b989ab8e9dbcf0", size = 199622, upload-time = "2025-05-02T08:32:56.363Z" }, + { url = "https://files.pythonhosted.org/packages/04/93/bf204e6f344c39d9937d3c13c8cd5bbfc266472e51fc8c07cb7f64fcd2de/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eba9904b0f38a143592d9fc0e19e2df0fa2e41c3c3745554761c5f6447eedabf", size = 143435, upload-time = "2025-05-02T08:32:58.551Z" }, + { url = "https://files.pythonhosted.org/packages/22/2a/ea8a2095b0bafa6c5b5a55ffdc2f924455233ee7b91c69b7edfcc9e02284/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3fddb7e2c84ac87ac3a947cb4e66d143ca5863ef48e4a5ecb83bd48619e4634e", size = 153653, upload-time = "2025-05-02T08:33:00.342Z" }, + { url = "https://files.pythonhosted.org/packages/b6/57/1b090ff183d13cef485dfbe272e2fe57622a76694061353c59da52c9a659/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98f862da73774290f251b9df8d11161b6cf25b599a66baf087c1ffe340e9bfd1", size = 146231, upload-time = "2025-05-02T08:33:02.081Z" }, + { url = "https://files.pythonhosted.org/packages/e2/28/ffc026b26f441fc67bd21ab7f03b313ab3fe46714a14b516f931abe1a2d8/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c9379d65defcab82d07b2a9dfbfc2e95bc8fe0ebb1b176a3190230a3ef0e07c", size = 148243, upload-time = "2025-05-02T08:33:04.063Z" }, + { url = "https://files.pythonhosted.org/packages/c0/0f/9abe9bd191629c33e69e47c6ef45ef99773320e9ad8e9cb08b8ab4a8d4cb/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e635b87f01ebc977342e2697d05b56632f5f879a4f15955dfe8cef2448b51691", size = 150442, upload-time = "2025-05-02T08:33:06.418Z" }, + { url = "https://files.pythonhosted.org/packages/67/7c/a123bbcedca91d5916c056407f89a7f5e8fdfce12ba825d7d6b9954a1a3c/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1c95a1e2902a8b722868587c0e1184ad5c55631de5afc0eb96bc4b0d738092c0", size = 145147, upload-time = "2025-05-02T08:33:08.183Z" }, + { url = "https://files.pythonhosted.org/packages/ec/fe/1ac556fa4899d967b83e9893788e86b6af4d83e4726511eaaad035e36595/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ef8de666d6179b009dce7bcb2ad4c4a779f113f12caf8dc77f0162c29d20490b", size = 153057, upload-time = "2025-05-02T08:33:09.986Z" }, + { url = "https://files.pythonhosted.org/packages/2b/ff/acfc0b0a70b19e3e54febdd5301a98b72fa07635e56f24f60502e954c461/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:32fc0341d72e0f73f80acb0a2c94216bd704f4f0bce10aedea38f30502b271ff", size = 156454, upload-time = "2025-05-02T08:33:11.814Z" }, + { url = "https://files.pythonhosted.org/packages/92/08/95b458ce9c740d0645feb0e96cea1f5ec946ea9c580a94adfe0b617f3573/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:289200a18fa698949d2b39c671c2cc7a24d44096784e76614899a7ccf2574b7b", size = 154174, upload-time = "2025-05-02T08:33:13.707Z" }, + { url = "https://files.pythonhosted.org/packages/78/be/8392efc43487ac051eee6c36d5fbd63032d78f7728cb37aebcc98191f1ff/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4a476b06fbcf359ad25d34a057b7219281286ae2477cc5ff5e3f70a246971148", size = 149166, upload-time = "2025-05-02T08:33:15.458Z" }, + { url = "https://files.pythonhosted.org/packages/44/96/392abd49b094d30b91d9fbda6a69519e95802250b777841cf3bda8fe136c/charset_normalizer-3.4.2-cp313-cp313-win32.whl", hash = "sha256:aaeeb6a479c7667fbe1099af9617c83aaca22182d6cf8c53966491a0f1b7ffb7", size = 98064, upload-time = "2025-05-02T08:33:17.06Z" }, + { url = "https://files.pythonhosted.org/packages/e9/b0/0200da600134e001d91851ddc797809e2fe0ea72de90e09bec5a2fbdaccb/charset_normalizer-3.4.2-cp313-cp313-win_amd64.whl", hash = "sha256:aa6af9e7d59f9c12b33ae4e9450619cf2488e2bbe9b44030905877f0b2324980", size = 105641, upload-time = "2025-05-02T08:33:18.753Z" }, + { url = "https://files.pythonhosted.org/packages/20/94/c5790835a017658cbfabd07f3bfb549140c3ac458cfc196323996b10095a/charset_normalizer-3.4.2-py3-none-any.whl", hash = "sha256:7f56930ab0abd1c45cd15be65cc741c28b1c9a34876ce8c17a2fa107810c0af0", size = 52626, upload-time = "2025-05-02T08:34:40.053Z" }, +] + +[[package]] +name = "click" +version = "8.2.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/60/6c/8ca2efa64cf75a977a0d7fac081354553ebe483345c734fb6b6515d96bbc/click-8.2.1.tar.gz", hash = "sha256:27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202", size = 286342, upload-time = "2025-05-20T23:19:49.832Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/85/32/10bb5764d90a8eee674e9dc6f4db6a0ab47c8c4d0d83c27f7c39ac415a4d/click-8.2.1-py3-none-any.whl", hash = "sha256:61a3265b914e850b85317d0b3109c7f8cd35a670f963866005d6ef1d5175a12b", size = 102215, upload-time = "2025-05-20T23:19:47.796Z" }, +] + +[[package]] +name = "colorama" +version = "0.4.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, +] + +[[package]] +name = "contourpy" +version = "1.3.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/66/54/eb9bfc647b19f2009dd5c7f5ec51c4e6ca831725f1aea7a993034f483147/contourpy-1.3.2.tar.gz", hash = "sha256:b6945942715a034c671b7fc54f9588126b0b8bf23db2696e3ca8328f3ff0ab54", size = 13466130, upload-time = "2025-04-15T17:47:53.79Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2e/61/5673f7e364b31e4e7ef6f61a4b5121c5f170f941895912f773d95270f3a2/contourpy-1.3.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:de39db2604ae755316cb5967728f4bea92685884b1e767b7c24e983ef5f771cb", size = 271630, upload-time = "2025-04-15T17:38:19.142Z" }, + { url = "https://files.pythonhosted.org/packages/ff/66/a40badddd1223822c95798c55292844b7e871e50f6bfd9f158cb25e0bd39/contourpy-1.3.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3f9e896f447c5c8618f1edb2bafa9a4030f22a575ec418ad70611450720b5b08", size = 255670, upload-time = "2025-04-15T17:38:23.688Z" }, + { url = "https://files.pythonhosted.org/packages/1e/c7/cf9fdee8200805c9bc3b148f49cb9482a4e3ea2719e772602a425c9b09f8/contourpy-1.3.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71e2bd4a1c4188f5c2b8d274da78faab884b59df20df63c34f74aa1813c4427c", size = 306694, upload-time = "2025-04-15T17:38:28.238Z" }, + { url = "https://files.pythonhosted.org/packages/dd/e7/ccb9bec80e1ba121efbffad7f38021021cda5be87532ec16fd96533bb2e0/contourpy-1.3.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de425af81b6cea33101ae95ece1f696af39446db9682a0b56daaa48cfc29f38f", size = 345986, upload-time = "2025-04-15T17:38:33.502Z" }, + { url = "https://files.pythonhosted.org/packages/dc/49/ca13bb2da90391fa4219fdb23b078d6065ada886658ac7818e5441448b78/contourpy-1.3.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:977e98a0e0480d3fe292246417239d2d45435904afd6d7332d8455981c408b85", size = 318060, upload-time = "2025-04-15T17:38:38.672Z" }, + { url = "https://files.pythonhosted.org/packages/c8/65/5245ce8c548a8422236c13ffcdcdada6a2a812c361e9e0c70548bb40b661/contourpy-1.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:434f0adf84911c924519d2b08fc10491dd282b20bdd3fa8f60fd816ea0b48841", size = 322747, upload-time = "2025-04-15T17:38:43.712Z" }, + { url = "https://files.pythonhosted.org/packages/72/30/669b8eb48e0a01c660ead3752a25b44fdb2e5ebc13a55782f639170772f9/contourpy-1.3.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c66c4906cdbc50e9cba65978823e6e00b45682eb09adbb78c9775b74eb222422", size = 1308895, upload-time = "2025-04-15T17:39:00.224Z" }, + { url = "https://files.pythonhosted.org/packages/05/5a/b569f4250decee6e8d54498be7bdf29021a4c256e77fe8138c8319ef8eb3/contourpy-1.3.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8b7fc0cd78ba2f4695fd0a6ad81a19e7e3ab825c31b577f384aa9d7817dc3bef", size = 1379098, upload-time = "2025-04-15T17:43:29.649Z" }, + { url = "https://files.pythonhosted.org/packages/19/ba/b227c3886d120e60e41b28740ac3617b2f2b971b9f601c835661194579f1/contourpy-1.3.2-cp313-cp313-win32.whl", hash = "sha256:15ce6ab60957ca74cff444fe66d9045c1fd3e92c8936894ebd1f3eef2fff075f", size = 178535, upload-time = "2025-04-15T17:44:44.532Z" }, + { url = "https://files.pythonhosted.org/packages/12/6e/2fed56cd47ca739b43e892707ae9a13790a486a3173be063681ca67d2262/contourpy-1.3.2-cp313-cp313-win_amd64.whl", hash = "sha256:e1578f7eafce927b168752ed7e22646dad6cd9bca673c60bff55889fa236ebf9", size = 223096, upload-time = "2025-04-15T17:44:48.194Z" }, + { url = "https://files.pythonhosted.org/packages/54/4c/e76fe2a03014a7c767d79ea35c86a747e9325537a8b7627e0e5b3ba266b4/contourpy-1.3.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0475b1f6604896bc7c53bb070e355e9321e1bc0d381735421a2d2068ec56531f", size = 285090, upload-time = "2025-04-15T17:43:34.084Z" }, + { url = "https://files.pythonhosted.org/packages/7b/e2/5aba47debd55d668e00baf9651b721e7733975dc9fc27264a62b0dd26eb8/contourpy-1.3.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:c85bb486e9be652314bb5b9e2e3b0d1b2e643d5eec4992c0fbe8ac71775da739", size = 268643, upload-time = "2025-04-15T17:43:38.626Z" }, + { url = "https://files.pythonhosted.org/packages/a1/37/cd45f1f051fe6230f751cc5cdd2728bb3a203f5619510ef11e732109593c/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:745b57db7758f3ffc05a10254edd3182a2a83402a89c00957a8e8a22f5582823", size = 310443, upload-time = "2025-04-15T17:43:44.522Z" }, + { url = "https://files.pythonhosted.org/packages/8b/a2/36ea6140c306c9ff6dd38e3bcec80b3b018474ef4d17eb68ceecd26675f4/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:970e9173dbd7eba9b4e01aab19215a48ee5dd3f43cef736eebde064a171f89a5", size = 349865, upload-time = "2025-04-15T17:43:49.545Z" }, + { url = "https://files.pythonhosted.org/packages/95/b7/2fc76bc539693180488f7b6cc518da7acbbb9e3b931fd9280504128bf956/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c6c4639a9c22230276b7bffb6a850dfc8258a2521305e1faefe804d006b2e532", size = 321162, upload-time = "2025-04-15T17:43:54.203Z" }, + { url = "https://files.pythonhosted.org/packages/f4/10/76d4f778458b0aa83f96e59d65ece72a060bacb20cfbee46cf6cd5ceba41/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc829960f34ba36aad4302e78eabf3ef16a3a100863f0d4eeddf30e8a485a03b", size = 327355, upload-time = "2025-04-15T17:44:01.025Z" }, + { url = "https://files.pythonhosted.org/packages/43/a3/10cf483ea683f9f8ab096c24bad3cce20e0d1dd9a4baa0e2093c1c962d9d/contourpy-1.3.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:d32530b534e986374fc19eaa77fcb87e8a99e5431499949b828312bdcd20ac52", size = 1307935, upload-time = "2025-04-15T17:44:17.322Z" }, + { url = "https://files.pythonhosted.org/packages/78/73/69dd9a024444489e22d86108e7b913f3528f56cfc312b5c5727a44188471/contourpy-1.3.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:e298e7e70cf4eb179cc1077be1c725b5fd131ebc81181bf0c03525c8abc297fd", size = 1372168, upload-time = "2025-04-15T17:44:33.43Z" }, + { url = "https://files.pythonhosted.org/packages/0f/1b/96d586ccf1b1a9d2004dd519b25fbf104a11589abfd05484ff12199cca21/contourpy-1.3.2-cp313-cp313t-win32.whl", hash = "sha256:d0e589ae0d55204991450bb5c23f571c64fe43adaa53f93fc902a84c96f52fe1", size = 189550, upload-time = "2025-04-15T17:44:37.092Z" }, + { url = "https://files.pythonhosted.org/packages/b0/e6/6000d0094e8a5e32ad62591c8609e269febb6e4db83a1c75ff8868b42731/contourpy-1.3.2-cp313-cp313t-win_amd64.whl", hash = "sha256:78e9253c3de756b3f6a5174d024c4835acd59eb3f8e2ca13e775dbffe1558f69", size = 238214, upload-time = "2025-04-15T17:44:40.827Z" }, +] + +[[package]] +name = "cycler" +version = "0.12.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a9/95/a3dbbb5028f35eafb79008e7522a75244477d2838f38cbb722248dabc2a8/cycler-0.12.1.tar.gz", hash = "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c", size = 7615, upload-time = "2023-10-07T05:32:18.335Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e7/05/c19819d5e3d95294a6f5947fb9b9629efb316b96de511b418c53d245aae6/cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30", size = 8321, upload-time = "2023-10-07T05:32:16.783Z" }, +] + +[[package]] +name = "fonttools" +version = "4.58.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/2e/5a/1124b2c8cb3a8015faf552e92714040bcdbc145dfa29928891b02d147a18/fonttools-4.58.4.tar.gz", hash = "sha256:928a8009b9884ed3aae17724b960987575155ca23c6f0b8146e400cc9e0d44ba", size = 3525026, upload-time = "2025-06-13T17:25:15.426Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d4/4f/c05cab5fc1a4293e6bc535c6cb272607155a0517700f5418a4165b7f9ec8/fonttools-4.58.4-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:5f4a64846495c543796fa59b90b7a7a9dff6839bd852741ab35a71994d685c6d", size = 2745197, upload-time = "2025-06-13T17:24:40.645Z" }, + { url = "https://files.pythonhosted.org/packages/3e/d3/49211b1f96ae49308f4f78ca7664742377a6867f00f704cdb31b57e4b432/fonttools-4.58.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e80661793a5d4d7ad132a2aa1eae2e160fbdbb50831a0edf37c7c63b2ed36574", size = 2317272, upload-time = "2025-06-13T17:24:43.428Z" }, + { url = "https://files.pythonhosted.org/packages/b2/11/c9972e46a6abd752a40a46960e431c795ad1f306775fc1f9e8c3081a1274/fonttools-4.58.4-cp313-cp313-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:fe5807fc64e4ba5130f1974c045a6e8d795f3b7fb6debfa511d1773290dbb76b", size = 4877184, upload-time = "2025-06-13T17:24:45.527Z" }, + { url = "https://files.pythonhosted.org/packages/ea/24/5017c01c9ef8df572cc9eaf9f12be83ad8ed722ff6dc67991d3d752956e4/fonttools-4.58.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b610b9bef841cb8f4b50472494158b1e347d15cad56eac414c722eda695a6cfd", size = 4939445, upload-time = "2025-06-13T17:24:47.647Z" }, + { url = "https://files.pythonhosted.org/packages/79/b0/538cc4d0284b5a8826b4abed93a69db52e358525d4b55c47c8cef3669767/fonttools-4.58.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:2daa7f0e213c38f05f054eb5e1730bd0424aebddbeac094489ea1585807dd187", size = 4878800, upload-time = "2025-06-13T17:24:49.766Z" }, + { url = "https://files.pythonhosted.org/packages/5a/9b/a891446b7a8250e65bffceb248508587958a94db467ffd33972723ab86c9/fonttools-4.58.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:66cccb6c0b944496b7f26450e9a66e997739c513ffaac728d24930df2fd9d35b", size = 5021259, upload-time = "2025-06-13T17:24:51.754Z" }, + { url = "https://files.pythonhosted.org/packages/17/b2/c4d2872cff3ace3ddd1388bf15b76a1d8d5313f0a61f234e9aed287e674d/fonttools-4.58.4-cp313-cp313-win32.whl", hash = "sha256:94d2aebb5ca59a5107825520fde596e344652c1f18170ef01dacbe48fa60c889", size = 2185824, upload-time = "2025-06-13T17:24:54.324Z" }, + { url = "https://files.pythonhosted.org/packages/98/57/cddf8bcc911d4f47dfca1956c1e3aeeb9f7c9b8e88b2a312fe8c22714e0b/fonttools-4.58.4-cp313-cp313-win_amd64.whl", hash = "sha256:b554bd6e80bba582fd326ddab296e563c20c64dca816d5e30489760e0c41529f", size = 2236382, upload-time = "2025-06-13T17:24:56.291Z" }, + { url = "https://files.pythonhosted.org/packages/0b/2f/c536b5b9bb3c071e91d536a4d11f969e911dbb6b227939f4c5b0bca090df/fonttools-4.58.4-py3-none-any.whl", hash = "sha256:a10ce13a13f26cbb9f37512a4346bb437ad7e002ff6fa966a7ce7ff5ac3528bd", size = 1114660, upload-time = "2025-06-13T17:25:13.321Z" }, +] + +[[package]] +name = "gitdb" +version = "4.0.12" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "smmap" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/72/94/63b0fc47eb32792c7ba1fe1b694daec9a63620db1e313033d18140c2320a/gitdb-4.0.12.tar.gz", hash = "sha256:5ef71f855d191a3326fcfbc0d5da835f26b13fbcba60c32c21091c349ffdb571", size = 394684, upload-time = "2025-01-02T07:20:46.413Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a0/61/5c78b91c3143ed5c14207f463aecfc8f9dbb5092fb2869baf37c273b2705/gitdb-4.0.12-py3-none-any.whl", hash = "sha256:67073e15955400952c6565cc3e707c554a4eea2e428946f7a4c162fab9bd9bcf", size = 62794, upload-time = "2025-01-02T07:20:43.624Z" }, +] + +[[package]] +name = "gitpython" +version = "3.1.44" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "gitdb" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c0/89/37df0b71473153574a5cdef8f242de422a0f5d26d7a9e231e6f169b4ad14/gitpython-3.1.44.tar.gz", hash = "sha256:c87e30b26253bf5418b01b0660f818967f3c503193838337fe5e573331249269", size = 214196, upload-time = "2025-01-02T07:32:43.59Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1d/9a/4114a9057db2f1462d5c8f8390ab7383925fe1ac012eaa42402ad65c2963/GitPython-3.1.44-py3-none-any.whl", hash = "sha256:9e0e10cda9bed1ee64bc9a6de50e7e38a9c9943241cd7f585f6df3ed28011110", size = 207599, upload-time = "2025-01-02T07:32:40.731Z" }, +] + +[[package]] +name = "idna" +version = "3.10" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490, upload-time = "2024-09-15T18:07:39.745Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442, upload-time = "2024-09-15T18:07:37.964Z" }, +] + +[[package]] +name = "jinja2" +version = "3.1.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markupsafe" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", size = 245115, upload-time = "2025-03-05T20:05:02.478Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899, upload-time = "2025-03-05T20:05:00.369Z" }, +] + +[[package]] +name = "joblib" +version = "1.5.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/dc/fe/0f5a938c54105553436dbff7a61dc4fed4b1b2c98852f8833beaf4d5968f/joblib-1.5.1.tar.gz", hash = "sha256:f4f86e351f39fe3d0d32a9f2c3d8af1ee4cec285aafcb27003dda5205576b444", size = 330475, upload-time = "2025-05-23T12:04:37.097Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7d/4f/1195bbac8e0c2acc5f740661631d8d750dc38d4a32b23ee5df3cde6f4e0d/joblib-1.5.1-py3-none-any.whl", hash = "sha256:4719a31f054c7d766948dcd83e9613686b27114f190f717cec7eaa2084f8a74a", size = 307746, upload-time = "2025-05-23T12:04:35.124Z" }, +] + +[[package]] +name = "jsonschema" +version = "4.24.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, + { name = "jsonschema-specifications" }, + { name = "referencing" }, + { name = "rpds-py" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/bf/d3/1cf5326b923a53515d8f3a2cd442e6d7e94fcc444716e879ea70a0ce3177/jsonschema-4.24.0.tar.gz", hash = "sha256:0b4e8069eb12aedfa881333004bccaec24ecef5a8a6a4b6df142b2cc9599d196", size = 353480, upload-time = "2025-05-26T18:48:10.459Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a2/3d/023389198f69c722d039351050738d6755376c8fd343e91dc493ea485905/jsonschema-4.24.0-py3-none-any.whl", hash = "sha256:a462455f19f5faf404a7902952b6f0e3ce868f3ee09a359b05eca6673bd8412d", size = 88709, upload-time = "2025-05-26T18:48:08.417Z" }, +] + +[[package]] +name = "jsonschema-specifications" +version = "2025.4.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "referencing" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/bf/ce/46fbd9c8119cfc3581ee5643ea49464d168028cfb5caff5fc0596d0cf914/jsonschema_specifications-2025.4.1.tar.gz", hash = "sha256:630159c9f4dbea161a6a2205c3011cc4f18ff381b189fff48bb39b9bf26ae608", size = 15513, upload-time = "2025-04-23T12:34:07.418Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/01/0e/b27cdbaccf30b890c40ed1da9fd4a3593a5cf94dae54fb34f8a4b74fcd3f/jsonschema_specifications-2025.4.1-py3-none-any.whl", hash = "sha256:4653bffbd6584f7de83a67e0d620ef16900b390ddc7939d56684d6c81e33f1af", size = 18437, upload-time = "2025-04-23T12:34:05.422Z" }, +] + +[[package]] +name = "kiwisolver" +version = "1.4.8" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/82/59/7c91426a8ac292e1cdd53a63b6d9439abd573c875c3f92c146767dd33faf/kiwisolver-1.4.8.tar.gz", hash = "sha256:23d5f023bdc8c7e54eb65f03ca5d5bb25b601eac4d7f1a042888a1f45237987e", size = 97538, upload-time = "2024-12-24T18:30:51.519Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/79/b3/e62464a652f4f8cd9006e13d07abad844a47df1e6537f73ddfbf1bc997ec/kiwisolver-1.4.8-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:1c8ceb754339793c24aee1c9fb2485b5b1f5bb1c2c214ff13368431e51fc9a09", size = 124156, upload-time = "2024-12-24T18:29:45.368Z" }, + { url = "https://files.pythonhosted.org/packages/8d/2d/f13d06998b546a2ad4f48607a146e045bbe48030774de29f90bdc573df15/kiwisolver-1.4.8-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:54a62808ac74b5e55a04a408cda6156f986cefbcf0ada13572696b507cc92fa1", size = 66555, upload-time = "2024-12-24T18:29:46.37Z" }, + { url = "https://files.pythonhosted.org/packages/59/e3/b8bd14b0a54998a9fd1e8da591c60998dc003618cb19a3f94cb233ec1511/kiwisolver-1.4.8-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:68269e60ee4929893aad82666821aaacbd455284124817af45c11e50a4b42e3c", size = 65071, upload-time = "2024-12-24T18:29:47.333Z" }, + { url = "https://files.pythonhosted.org/packages/f0/1c/6c86f6d85ffe4d0ce04228d976f00674f1df5dc893bf2dd4f1928748f187/kiwisolver-1.4.8-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:34d142fba9c464bc3bbfeff15c96eab0e7310343d6aefb62a79d51421fcc5f1b", size = 1378053, upload-time = "2024-12-24T18:29:49.636Z" }, + { url = "https://files.pythonhosted.org/packages/4e/b9/1c6e9f6dcb103ac5cf87cb695845f5fa71379021500153566d8a8a9fc291/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ddc373e0eef45b59197de815b1b28ef89ae3955e7722cc9710fb91cd77b7f47", size = 1472278, upload-time = "2024-12-24T18:29:51.164Z" }, + { url = "https://files.pythonhosted.org/packages/ee/81/aca1eb176de671f8bda479b11acdc42c132b61a2ac861c883907dde6debb/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:77e6f57a20b9bd4e1e2cedda4d0b986ebd0216236f0106e55c28aea3d3d69b16", size = 1478139, upload-time = "2024-12-24T18:29:52.594Z" }, + { url = "https://files.pythonhosted.org/packages/49/f4/e081522473671c97b2687d380e9e4c26f748a86363ce5af48b4a28e48d06/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:08e77738ed7538f036cd1170cbed942ef749137b1311fa2bbe2a7fda2f6bf3cc", size = 1413517, upload-time = "2024-12-24T18:29:53.941Z" }, + { url = "https://files.pythonhosted.org/packages/8f/e9/6a7d025d8da8c4931522922cd706105aa32b3291d1add8c5427cdcd66e63/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a5ce1e481a74b44dd5e92ff03ea0cb371ae7a0268318e202be06c8f04f4f1246", size = 1474952, upload-time = "2024-12-24T18:29:56.523Z" }, + { url = "https://files.pythonhosted.org/packages/82/13/13fa685ae167bee5d94b415991c4fc7bb0a1b6ebea6e753a87044b209678/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:fc2ace710ba7c1dfd1a3b42530b62b9ceed115f19a1656adefce7b1782a37794", size = 2269132, upload-time = "2024-12-24T18:29:57.989Z" }, + { url = "https://files.pythonhosted.org/packages/ef/92/bb7c9395489b99a6cb41d502d3686bac692586db2045adc19e45ee64ed23/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:3452046c37c7692bd52b0e752b87954ef86ee2224e624ef7ce6cb21e8c41cc1b", size = 2425997, upload-time = "2024-12-24T18:29:59.393Z" }, + { url = "https://files.pythonhosted.org/packages/ed/12/87f0e9271e2b63d35d0d8524954145837dd1a6c15b62a2d8c1ebe0f182b4/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:7e9a60b50fe8b2ec6f448fe8d81b07e40141bfced7f896309df271a0b92f80f3", size = 2376060, upload-time = "2024-12-24T18:30:01.338Z" }, + { url = "https://files.pythonhosted.org/packages/02/6e/c8af39288edbce8bf0fa35dee427b082758a4b71e9c91ef18fa667782138/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:918139571133f366e8362fa4a297aeba86c7816b7ecf0bc79168080e2bd79957", size = 2520471, upload-time = "2024-12-24T18:30:04.574Z" }, + { url = "https://files.pythonhosted.org/packages/13/78/df381bc7b26e535c91469f77f16adcd073beb3e2dd25042efd064af82323/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e063ef9f89885a1d68dd8b2e18f5ead48653176d10a0e324e3b0030e3a69adeb", size = 2338793, upload-time = "2024-12-24T18:30:06.25Z" }, + { url = "https://files.pythonhosted.org/packages/d0/dc/c1abe38c37c071d0fc71c9a474fd0b9ede05d42f5a458d584619cfd2371a/kiwisolver-1.4.8-cp313-cp313-win_amd64.whl", hash = "sha256:a17b7c4f5b2c51bb68ed379defd608a03954a1845dfed7cc0117f1cc8a9b7fd2", size = 71855, upload-time = "2024-12-24T18:30:07.535Z" }, + { url = "https://files.pythonhosted.org/packages/a0/b6/21529d595b126ac298fdd90b705d87d4c5693de60023e0efcb4f387ed99e/kiwisolver-1.4.8-cp313-cp313-win_arm64.whl", hash = "sha256:3cd3bc628b25f74aedc6d374d5babf0166a92ff1317f46267f12d2ed54bc1d30", size = 65430, upload-time = "2024-12-24T18:30:08.504Z" }, + { url = "https://files.pythonhosted.org/packages/34/bd/b89380b7298e3af9b39f49334e3e2a4af0e04819789f04b43d560516c0c8/kiwisolver-1.4.8-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:370fd2df41660ed4e26b8c9d6bbcad668fbe2560462cba151a721d49e5b6628c", size = 126294, upload-time = "2024-12-24T18:30:09.508Z" }, + { url = "https://files.pythonhosted.org/packages/83/41/5857dc72e5e4148eaac5aa76e0703e594e4465f8ab7ec0fc60e3a9bb8fea/kiwisolver-1.4.8-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:84a2f830d42707de1d191b9490ac186bf7997a9495d4e9072210a1296345f7dc", size = 67736, upload-time = "2024-12-24T18:30:11.039Z" }, + { url = "https://files.pythonhosted.org/packages/e1/d1/be059b8db56ac270489fb0b3297fd1e53d195ba76e9bbb30e5401fa6b759/kiwisolver-1.4.8-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:7a3ad337add5148cf51ce0b55642dc551c0b9d6248458a757f98796ca7348712", size = 66194, upload-time = "2024-12-24T18:30:14.886Z" }, + { url = "https://files.pythonhosted.org/packages/e1/83/4b73975f149819eb7dcf9299ed467eba068ecb16439a98990dcb12e63fdd/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7506488470f41169b86d8c9aeff587293f530a23a23a49d6bc64dab66bedc71e", size = 1465942, upload-time = "2024-12-24T18:30:18.927Z" }, + { url = "https://files.pythonhosted.org/packages/c7/2c/30a5cdde5102958e602c07466bce058b9d7cb48734aa7a4327261ac8e002/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f0121b07b356a22fb0414cec4666bbe36fd6d0d759db3d37228f496ed67c880", size = 1595341, upload-time = "2024-12-24T18:30:22.102Z" }, + { url = "https://files.pythonhosted.org/packages/ff/9b/1e71db1c000385aa069704f5990574b8244cce854ecd83119c19e83c9586/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d6d6bd87df62c27d4185de7c511c6248040afae67028a8a22012b010bc7ad062", size = 1598455, upload-time = "2024-12-24T18:30:24.947Z" }, + { url = "https://files.pythonhosted.org/packages/85/92/c8fec52ddf06231b31cbb779af77e99b8253cd96bd135250b9498144c78b/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:291331973c64bb9cce50bbe871fb2e675c4331dab4f31abe89f175ad7679a4d7", size = 1522138, upload-time = "2024-12-24T18:30:26.286Z" }, + { url = "https://files.pythonhosted.org/packages/0b/51/9eb7e2cd07a15d8bdd976f6190c0164f92ce1904e5c0c79198c4972926b7/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:893f5525bb92d3d735878ec00f781b2de998333659507d29ea4466208df37bed", size = 1582857, upload-time = "2024-12-24T18:30:28.86Z" }, + { url = "https://files.pythonhosted.org/packages/0f/95/c5a00387a5405e68ba32cc64af65ce881a39b98d73cc394b24143bebc5b8/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:b47a465040146981dc9db8647981b8cb96366fbc8d452b031e4f8fdffec3f26d", size = 2293129, upload-time = "2024-12-24T18:30:30.34Z" }, + { url = "https://files.pythonhosted.org/packages/44/83/eeb7af7d706b8347548313fa3a3a15931f404533cc54fe01f39e830dd231/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:99cea8b9dd34ff80c521aef46a1dddb0dcc0283cf18bde6d756f1e6f31772165", size = 2421538, upload-time = "2024-12-24T18:30:33.334Z" }, + { url = "https://files.pythonhosted.org/packages/05/f9/27e94c1b3eb29e6933b6986ffc5fa1177d2cd1f0c8efc5f02c91c9ac61de/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:151dffc4865e5fe6dafce5480fab84f950d14566c480c08a53c663a0020504b6", size = 2390661, upload-time = "2024-12-24T18:30:34.939Z" }, + { url = "https://files.pythonhosted.org/packages/d9/d4/3c9735faa36ac591a4afcc2980d2691000506050b7a7e80bcfe44048daa7/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:577facaa411c10421314598b50413aa1ebcf5126f704f1e5d72d7e4e9f020d90", size = 2546710, upload-time = "2024-12-24T18:30:37.281Z" }, + { url = "https://files.pythonhosted.org/packages/4c/fa/be89a49c640930180657482a74970cdcf6f7072c8d2471e1babe17a222dc/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:be4816dc51c8a471749d664161b434912eee82f2ea66bd7628bd14583a833e85", size = 2349213, upload-time = "2024-12-24T18:30:40.019Z" }, +] + +[[package]] +name = "markupsafe" +version = "3.0.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0", size = 20537, upload-time = "2024-10-18T15:21:54.129Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/83/0e/67eb10a7ecc77a0c2bbe2b0235765b98d164d81600746914bebada795e97/MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd", size = 14274, upload-time = "2024-10-18T15:21:24.577Z" }, + { url = "https://files.pythonhosted.org/packages/2b/6d/9409f3684d3335375d04e5f05744dfe7e9f120062c9857df4ab490a1031a/MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430", size = 12352, upload-time = "2024-10-18T15:21:25.382Z" }, + { url = "https://files.pythonhosted.org/packages/d2/f5/6eadfcd3885ea85fe2a7c128315cc1bb7241e1987443d78c8fe712d03091/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094", size = 24122, upload-time = "2024-10-18T15:21:26.199Z" }, + { url = "https://files.pythonhosted.org/packages/0c/91/96cf928db8236f1bfab6ce15ad070dfdd02ed88261c2afafd4b43575e9e9/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396", size = 23085, upload-time = "2024-10-18T15:21:27.029Z" }, + { url = "https://files.pythonhosted.org/packages/c2/cf/c9d56af24d56ea04daae7ac0940232d31d5a8354f2b457c6d856b2057d69/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79", size = 22978, upload-time = "2024-10-18T15:21:27.846Z" }, + { url = "https://files.pythonhosted.org/packages/2a/9f/8619835cd6a711d6272d62abb78c033bda638fdc54c4e7f4272cf1c0962b/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a", size = 24208, upload-time = "2024-10-18T15:21:28.744Z" }, + { url = "https://files.pythonhosted.org/packages/f9/bf/176950a1792b2cd2102b8ffeb5133e1ed984547b75db47c25a67d3359f77/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca", size = 23357, upload-time = "2024-10-18T15:21:29.545Z" }, + { url = "https://files.pythonhosted.org/packages/ce/4f/9a02c1d335caabe5c4efb90e1b6e8ee944aa245c1aaaab8e8a618987d816/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c", size = 23344, upload-time = "2024-10-18T15:21:30.366Z" }, + { url = "https://files.pythonhosted.org/packages/ee/55/c271b57db36f748f0e04a759ace9f8f759ccf22b4960c270c78a394f58be/MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1", size = 15101, upload-time = "2024-10-18T15:21:31.207Z" }, + { url = "https://files.pythonhosted.org/packages/29/88/07df22d2dd4df40aba9f3e402e6dc1b8ee86297dddbad4872bd5e7b0094f/MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f", size = 15603, upload-time = "2024-10-18T15:21:32.032Z" }, + { url = "https://files.pythonhosted.org/packages/62/6a/8b89d24db2d32d433dffcd6a8779159da109842434f1dd2f6e71f32f738c/MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c", size = 14510, upload-time = "2024-10-18T15:21:33.625Z" }, + { url = "https://files.pythonhosted.org/packages/7a/06/a10f955f70a2e5a9bf78d11a161029d278eeacbd35ef806c3fd17b13060d/MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb", size = 12486, upload-time = "2024-10-18T15:21:34.611Z" }, + { url = "https://files.pythonhosted.org/packages/34/cf/65d4a571869a1a9078198ca28f39fba5fbb910f952f9dbc5220afff9f5e6/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c", size = 25480, upload-time = "2024-10-18T15:21:35.398Z" }, + { url = "https://files.pythonhosted.org/packages/0c/e3/90e9651924c430b885468b56b3d597cabf6d72be4b24a0acd1fa0e12af67/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d", size = 23914, upload-time = "2024-10-18T15:21:36.231Z" }, + { url = "https://files.pythonhosted.org/packages/66/8c/6c7cf61f95d63bb866db39085150df1f2a5bd3335298f14a66b48e92659c/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe", size = 23796, upload-time = "2024-10-18T15:21:37.073Z" }, + { url = "https://files.pythonhosted.org/packages/bb/35/cbe9238ec3f47ac9a7c8b3df7a808e7cb50fe149dc7039f5f454b3fba218/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5", size = 25473, upload-time = "2024-10-18T15:21:37.932Z" }, + { url = "https://files.pythonhosted.org/packages/e6/32/7621a4382488aa283cc05e8984a9c219abad3bca087be9ec77e89939ded9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a", size = 24114, upload-time = "2024-10-18T15:21:39.799Z" }, + { url = "https://files.pythonhosted.org/packages/0d/80/0985960e4b89922cb5a0bac0ed39c5b96cbc1a536a99f30e8c220a996ed9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9", size = 24098, upload-time = "2024-10-18T15:21:40.813Z" }, + { url = "https://files.pythonhosted.org/packages/82/78/fedb03c7d5380df2427038ec8d973587e90561b2d90cd472ce9254cf348b/MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6", size = 15208, upload-time = "2024-10-18T15:21:41.814Z" }, + { url = "https://files.pythonhosted.org/packages/4f/65/6079a46068dfceaeabb5dcad6d674f5f5c61a6fa5673746f42a9f4c233b3/MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f", size = 15739, upload-time = "2024-10-18T15:21:42.784Z" }, +] + +[[package]] +name = "matplotlib" +version = "3.10.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "contourpy" }, + { name = "cycler" }, + { name = "fonttools" }, + { name = "kiwisolver" }, + { name = "numpy" }, + { name = "packaging" }, + { name = "pillow" }, + { name = "pyparsing" }, + { name = "python-dateutil" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/26/91/d49359a21893183ed2a5b6c76bec40e0b1dcbf8ca148f864d134897cfc75/matplotlib-3.10.3.tar.gz", hash = "sha256:2f82d2c5bb7ae93aaaa4cd42aca65d76ce6376f83304fa3a630b569aca274df0", size = 34799811, upload-time = "2025-05-08T19:10:54.39Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3b/c1/23cfb566a74c696a3b338d8955c549900d18fe2b898b6e94d682ca21e7c2/matplotlib-3.10.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9f2efccc8dcf2b86fc4ee849eea5dcaecedd0773b30f47980dc0cbeabf26ec84", size = 8180318, upload-time = "2025-05-08T19:10:20.426Z" }, + { url = "https://files.pythonhosted.org/packages/6c/0c/02f1c3b66b30da9ee343c343acbb6251bef5b01d34fad732446eaadcd108/matplotlib-3.10.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3ddbba06a6c126e3301c3d272a99dcbe7f6c24c14024e80307ff03791a5f294e", size = 8051132, upload-time = "2025-05-08T19:10:22.569Z" }, + { url = "https://files.pythonhosted.org/packages/b4/ab/8db1a5ac9b3a7352fb914133001dae889f9fcecb3146541be46bed41339c/matplotlib-3.10.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:748302b33ae9326995b238f606e9ed840bf5886ebafcb233775d946aa8107a15", size = 8457633, upload-time = "2025-05-08T19:10:24.749Z" }, + { url = "https://files.pythonhosted.org/packages/f5/64/41c4367bcaecbc03ef0d2a3ecee58a7065d0a36ae1aa817fe573a2da66d4/matplotlib-3.10.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a80fcccbef63302c0efd78042ea3c2436104c5b1a4d3ae20f864593696364ac7", size = 8601031, upload-time = "2025-05-08T19:10:27.03Z" }, + { url = "https://files.pythonhosted.org/packages/12/6f/6cc79e9e5ab89d13ed64da28898e40fe5b105a9ab9c98f83abd24e46d7d7/matplotlib-3.10.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:55e46cbfe1f8586adb34f7587c3e4f7dedc59d5226719faf6cb54fc24f2fd52d", size = 9406988, upload-time = "2025-05-08T19:10:29.056Z" }, + { url = "https://files.pythonhosted.org/packages/b1/0f/eed564407bd4d935ffabf561ed31099ed609e19287409a27b6d336848653/matplotlib-3.10.3-cp313-cp313-win_amd64.whl", hash = "sha256:151d89cb8d33cb23345cd12490c76fd5d18a56581a16d950b48c6ff19bb2ab93", size = 8068034, upload-time = "2025-05-08T19:10:31.221Z" }, + { url = "https://files.pythonhosted.org/packages/3e/e5/2f14791ff69b12b09e9975e1d116d9578ac684460860ce542c2588cb7a1c/matplotlib-3.10.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:c26dd9834e74d164d06433dc7be5d75a1e9890b926b3e57e74fa446e1a62c3e2", size = 8218223, upload-time = "2025-05-08T19:10:33.114Z" }, + { url = "https://files.pythonhosted.org/packages/5c/08/30a94afd828b6e02d0a52cae4a29d6e9ccfcf4c8b56cc28b021d3588873e/matplotlib-3.10.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:24853dad5b8c84c8c2390fc31ce4858b6df504156893292ce8092d190ef8151d", size = 8094985, upload-time = "2025-05-08T19:10:35.337Z" }, + { url = "https://files.pythonhosted.org/packages/89/44/f3bc6b53066c889d7a1a3ea8094c13af6a667c5ca6220ec60ecceec2dabe/matplotlib-3.10.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68f7878214d369d7d4215e2a9075fef743be38fa401d32e6020bab2dfabaa566", size = 8483109, upload-time = "2025-05-08T19:10:37.611Z" }, + { url = "https://files.pythonhosted.org/packages/ba/c7/473bc559beec08ebee9f86ca77a844b65747e1a6c2691e8c92e40b9f42a8/matplotlib-3.10.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6929fc618cb6db9cb75086f73b3219bbb25920cb24cee2ea7a12b04971a4158", size = 8618082, upload-time = "2025-05-08T19:10:39.892Z" }, + { url = "https://files.pythonhosted.org/packages/d8/e9/6ce8edd264c8819e37bbed8172e0ccdc7107fe86999b76ab5752276357a4/matplotlib-3.10.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6c7818292a5cc372a2dc4c795e5c356942eb8350b98ef913f7fda51fe175ac5d", size = 9413699, upload-time = "2025-05-08T19:10:42.376Z" }, + { url = "https://files.pythonhosted.org/packages/1b/92/9a45c91089c3cf690b5badd4be81e392ff086ccca8a1d4e3a08463d8a966/matplotlib-3.10.3-cp313-cp313t-win_amd64.whl", hash = "sha256:4f23ffe95c5667ef8a2b56eea9b53db7f43910fa4a2d5472ae0f72b64deab4d5", size = 8139044, upload-time = "2025-05-08T19:10:44.551Z" }, +] + +[[package]] +name = "narwhals" +version = "1.43.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/61/82/9f351a79260a6456db3f53d248268b4c3791f1e3228eec3c745e8816afd6/narwhals-1.43.1.tar.gz", hash = "sha256:6ff56d600da67a0a0980b83bd5577d076772fdba96474076ba4e76c920dbc1e5", size = 496655, upload-time = "2025-06-19T09:37:56.398Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8f/1e/b741d4eabbde95b1790e7df3c33c6b19f9b48db98a1416c6a6f06572bc66/narwhals-1.43.1-py3-none-any.whl", hash = "sha256:1ee508fa4dc0e05aa5b88717ba11613d8d9ccf0dd1e48513d4a3afb237dba9f2", size = 362737, upload-time = "2025-06-19T09:37:54.415Z" }, +] + +[[package]] +name = "numpy" +version = "2.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f3/db/8e12381333aea300890829a0a36bfa738cac95475d88982d538725143fd9/numpy-2.3.0.tar.gz", hash = "sha256:581f87f9e9e9db2cba2141400e160e9dd644ee248788d6f90636eeb8fd9260a6", size = 20382813, upload-time = "2025-06-07T14:54:32.608Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/73/fc/1d67f751fd4dbafc5780244fe699bc4084268bad44b7c5deb0492473127b/numpy-2.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:5754ab5595bfa2c2387d241296e0381c21f44a4b90a776c3c1d39eede13a746a", size = 20889633, upload-time = "2025-06-07T14:44:06.839Z" }, + { url = "https://files.pythonhosted.org/packages/e8/95/73ffdb69e5c3f19ec4530f8924c4386e7ba097efc94b9c0aff607178ad94/numpy-2.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d11fa02f77752d8099573d64e5fe33de3229b6632036ec08f7080f46b6649959", size = 14151683, upload-time = "2025-06-07T14:44:28.847Z" }, + { url = "https://files.pythonhosted.org/packages/64/d5/06d4bb31bb65a1d9c419eb5676173a2f90fd8da3c59f816cc54c640ce265/numpy-2.3.0-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:aba48d17e87688a765ab1cd557882052f238e2f36545dfa8e29e6a91aef77afe", size = 5102683, upload-time = "2025-06-07T14:44:38.417Z" }, + { url = "https://files.pythonhosted.org/packages/12/8b/6c2cef44f8ccdc231f6b56013dff1d71138c48124334aded36b1a1b30c5a/numpy-2.3.0-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:4dc58865623023b63b10d52f18abaac3729346a7a46a778381e0e3af4b7f3beb", size = 6640253, upload-time = "2025-06-07T14:44:49.359Z" }, + { url = "https://files.pythonhosted.org/packages/62/aa/fca4bf8de3396ddb59544df9b75ffe5b73096174de97a9492d426f5cd4aa/numpy-2.3.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:df470d376f54e052c76517393fa443758fefcdd634645bc9c1f84eafc67087f0", size = 14258658, upload-time = "2025-06-07T14:45:10.156Z" }, + { url = "https://files.pythonhosted.org/packages/1c/12/734dce1087eed1875f2297f687e671cfe53a091b6f2f55f0c7241aad041b/numpy-2.3.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:87717eb24d4a8a64683b7a4e91ace04e2f5c7c77872f823f02a94feee186168f", size = 16628765, upload-time = "2025-06-07T14:45:35.076Z" }, + { url = "https://files.pythonhosted.org/packages/48/03/ffa41ade0e825cbcd5606a5669962419528212a16082763fc051a7247d76/numpy-2.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d8fa264d56882b59dcb5ea4d6ab6f31d0c58a57b41aec605848b6eb2ef4a43e8", size = 15564335, upload-time = "2025-06-07T14:45:58.797Z" }, + { url = "https://files.pythonhosted.org/packages/07/58/869398a11863310aee0ff85a3e13b4c12f20d032b90c4b3ee93c3b728393/numpy-2.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e651756066a0eaf900916497e20e02fe1ae544187cb0fe88de981671ee7f6270", size = 18360608, upload-time = "2025-06-07T14:46:25.687Z" }, + { url = "https://files.pythonhosted.org/packages/2f/8a/5756935752ad278c17e8a061eb2127c9a3edf4ba2c31779548b336f23c8d/numpy-2.3.0-cp313-cp313-win32.whl", hash = "sha256:e43c3cce3b6ae5f94696669ff2a6eafd9a6b9332008bafa4117af70f4b88be6f", size = 6310005, upload-time = "2025-06-07T14:50:13.138Z" }, + { url = "https://files.pythonhosted.org/packages/08/60/61d60cf0dfc0bf15381eaef46366ebc0c1a787856d1db0c80b006092af84/numpy-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:81ae0bf2564cf475f94be4a27ef7bcf8af0c3e28da46770fc904da9abd5279b5", size = 12729093, upload-time = "2025-06-07T14:50:31.82Z" }, + { url = "https://files.pythonhosted.org/packages/66/31/2f2f2d2b3e3c32d5753d01437240feaa32220b73258c9eef2e42a0832866/numpy-2.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:c8738baa52505fa6e82778580b23f945e3578412554d937093eac9205e845e6e", size = 9885689, upload-time = "2025-06-07T14:50:47.888Z" }, + { url = "https://files.pythonhosted.org/packages/f1/89/c7828f23cc50f607ceb912774bb4cff225ccae7131c431398ad8400e2c98/numpy-2.3.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:39b27d8b38942a647f048b675f134dd5a567f95bfff481f9109ec308515c51d8", size = 20986612, upload-time = "2025-06-07T14:46:56.077Z" }, + { url = "https://files.pythonhosted.org/packages/dd/46/79ecf47da34c4c50eedec7511e53d57ffdfd31c742c00be7dc1d5ffdb917/numpy-2.3.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:0eba4a1ea88f9a6f30f56fdafdeb8da3774349eacddab9581a21234b8535d3d3", size = 14298953, upload-time = "2025-06-07T14:47:18.053Z" }, + { url = "https://files.pythonhosted.org/packages/59/44/f6caf50713d6ff4480640bccb2a534ce1d8e6e0960c8f864947439f0ee95/numpy-2.3.0-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:b0f1f11d0a1da54927436505a5a7670b154eac27f5672afc389661013dfe3d4f", size = 5225806, upload-time = "2025-06-07T14:47:27.524Z" }, + { url = "https://files.pythonhosted.org/packages/a6/43/e1fd1aca7c97e234dd05e66de4ab7a5be54548257efcdd1bc33637e72102/numpy-2.3.0-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:690d0a5b60a47e1f9dcec7b77750a4854c0d690e9058b7bef3106e3ae9117808", size = 6735169, upload-time = "2025-06-07T14:47:38.057Z" }, + { url = "https://files.pythonhosted.org/packages/84/89/f76f93b06a03177c0faa7ca94d0856c4e5c4bcaf3c5f77640c9ed0303e1c/numpy-2.3.0-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:8b51ead2b258284458e570942137155978583e407babc22e3d0ed7af33ce06f8", size = 14330701, upload-time = "2025-06-07T14:47:59.113Z" }, + { url = "https://files.pythonhosted.org/packages/aa/f5/4858c3e9ff7a7d64561b20580cf7cc5d085794bd465a19604945d6501f6c/numpy-2.3.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:aaf81c7b82c73bd9b45e79cfb9476cb9c29e937494bfe9092c26aece812818ad", size = 16692983, upload-time = "2025-06-07T14:48:24.196Z" }, + { url = "https://files.pythonhosted.org/packages/08/17/0e3b4182e691a10e9483bcc62b4bb8693dbf9ea5dc9ba0b77a60435074bb/numpy-2.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:f420033a20b4f6a2a11f585f93c843ac40686a7c3fa514060a97d9de93e5e72b", size = 15641435, upload-time = "2025-06-07T14:48:47.712Z" }, + { url = "https://files.pythonhosted.org/packages/4e/d5/463279fda028d3c1efa74e7e8d507605ae87f33dbd0543cf4c4527c8b882/numpy-2.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:d344ca32ab482bcf8735d8f95091ad081f97120546f3d250240868430ce52555", size = 18433798, upload-time = "2025-06-07T14:49:14.866Z" }, + { url = "https://files.pythonhosted.org/packages/0e/1e/7a9d98c886d4c39a2b4d3a7c026bffcf8fbcaf518782132d12a301cfc47a/numpy-2.3.0-cp313-cp313t-win32.whl", hash = "sha256:48a2e8eaf76364c32a1feaa60d6925eaf32ed7a040183b807e02674305beef61", size = 6438632, upload-time = "2025-06-07T14:49:25.67Z" }, + { url = "https://files.pythonhosted.org/packages/fe/ab/66fc909931d5eb230107d016861824f335ae2c0533f422e654e5ff556784/numpy-2.3.0-cp313-cp313t-win_amd64.whl", hash = "sha256:ba17f93a94e503551f154de210e4d50c5e3ee20f7e7a1b5f6ce3f22d419b93bb", size = 12868491, upload-time = "2025-06-07T14:49:44.898Z" }, + { url = "https://files.pythonhosted.org/packages/ee/e8/2c8a1c9e34d6f6d600c83d5ce5b71646c32a13f34ca5c518cc060639841c/numpy-2.3.0-cp313-cp313t-win_arm64.whl", hash = "sha256:f14e016d9409680959691c109be98c436c6249eaf7f118b424679793607b5944", size = 9935345, upload-time = "2025-06-07T14:50:02.311Z" }, +] + +[[package]] +name = "packaging" +version = "25.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f", size = 165727, upload-time = "2025-04-19T11:48:59.673Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", size = 66469, upload-time = "2025-04-19T11:48:57.875Z" }, +] + +[[package]] +name = "pandas" +version = "2.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy" }, + { name = "python-dateutil" }, + { name = "pytz" }, + { name = "tzdata" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/72/51/48f713c4c728d7c55ef7444ba5ea027c26998d96d1a40953b346438602fc/pandas-2.3.0.tar.gz", hash = "sha256:34600ab34ebf1131a7613a260a61dbe8b62c188ec0ea4c296da7c9a06b004133", size = 4484490, upload-time = "2025-06-05T03:27:54.133Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d3/57/5cb75a56a4842bbd0511c3d1c79186d8315b82dac802118322b2de1194fe/pandas-2.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:2c7e2fc25f89a49a11599ec1e76821322439d90820108309bf42130d2f36c983", size = 11518913, upload-time = "2025-06-05T03:27:02.757Z" }, + { url = "https://files.pythonhosted.org/packages/05/01/0c8785610e465e4948a01a059562176e4c8088aa257e2e074db868f86d4e/pandas-2.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:c6da97aeb6a6d233fb6b17986234cc723b396b50a3c6804776351994f2a658fd", size = 10655249, upload-time = "2025-06-05T16:50:20.17Z" }, + { url = "https://files.pythonhosted.org/packages/e8/6a/47fd7517cd8abe72a58706aab2b99e9438360d36dcdb052cf917b7bf3bdc/pandas-2.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb32dc743b52467d488e7a7c8039b821da2826a9ba4f85b89ea95274f863280f", size = 11328359, upload-time = "2025-06-05T03:27:06.431Z" }, + { url = "https://files.pythonhosted.org/packages/2a/b3/463bfe819ed60fb7e7ddffb4ae2ee04b887b3444feee6c19437b8f834837/pandas-2.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:213cd63c43263dbb522c1f8a7c9d072e25900f6975596f883f4bebd77295d4f3", size = 12024789, upload-time = "2025-06-05T03:27:09.875Z" }, + { url = "https://files.pythonhosted.org/packages/04/0c/e0704ccdb0ac40aeb3434d1c641c43d05f75c92e67525df39575ace35468/pandas-2.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1d2b33e68d0ce64e26a4acc2e72d747292084f4e8db4c847c6f5f6cbe56ed6d8", size = 12480734, upload-time = "2025-06-06T00:00:22.246Z" }, + { url = "https://files.pythonhosted.org/packages/e9/df/815d6583967001153bb27f5cf075653d69d51ad887ebbf4cfe1173a1ac58/pandas-2.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:430a63bae10b5086995db1b02694996336e5a8ac9a96b4200572b413dfdfccb9", size = 13223381, upload-time = "2025-06-05T03:27:15.641Z" }, + { url = "https://files.pythonhosted.org/packages/79/88/ca5973ed07b7f484c493e941dbff990861ca55291ff7ac67c815ce347395/pandas-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:4930255e28ff5545e2ca404637bcc56f031893142773b3468dc021c6c32a1390", size = 10970135, upload-time = "2025-06-05T03:27:24.131Z" }, + { url = "https://files.pythonhosted.org/packages/24/fb/0994c14d1f7909ce83f0b1fb27958135513c4f3f2528bde216180aa73bfc/pandas-2.3.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:f925f1ef673b4bd0271b1809b72b3270384f2b7d9d14a189b12b7fc02574d575", size = 12141356, upload-time = "2025-06-05T03:27:34.547Z" }, + { url = "https://files.pythonhosted.org/packages/9d/a2/9b903e5962134497ac4f8a96f862ee3081cb2506f69f8e4778ce3d9c9d82/pandas-2.3.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e78ad363ddb873a631e92a3c063ade1ecfb34cae71e9a2be6ad100f875ac1042", size = 11474674, upload-time = "2025-06-05T03:27:39.448Z" }, + { url = "https://files.pythonhosted.org/packages/81/3a/3806d041bce032f8de44380f866059437fb79e36d6b22c82c187e65f765b/pandas-2.3.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:951805d146922aed8357e4cc5671b8b0b9be1027f0619cea132a9f3f65f2f09c", size = 11439876, upload-time = "2025-06-05T03:27:43.652Z" }, + { url = "https://files.pythonhosted.org/packages/15/aa/3fc3181d12b95da71f5c2537c3e3b3af6ab3a8c392ab41ebb766e0929bc6/pandas-2.3.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1a881bc1309f3fce34696d07b00f13335c41f5f5a8770a33b09ebe23261cfc67", size = 11966182, upload-time = "2025-06-05T03:27:47.652Z" }, + { url = "https://files.pythonhosted.org/packages/37/e7/e12f2d9b0a2c4a2cc86e2aabff7ccfd24f03e597d770abfa2acd313ee46b/pandas-2.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:e1991bbb96f4050b09b5f811253c4f3cf05ee89a589379aa36cd623f21a31d6f", size = 12547686, upload-time = "2025-06-06T00:00:26.142Z" }, + { url = "https://files.pythonhosted.org/packages/39/c2/646d2e93e0af70f4e5359d870a63584dacbc324b54d73e6b3267920ff117/pandas-2.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:bb3be958022198531eb7ec2008cfc78c5b1eed51af8600c6c5d9160d89d8d249", size = 13231847, upload-time = "2025-06-05T03:27:51.465Z" }, +] + +[[package]] +name = "pillow" +version = "11.2.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/af/cb/bb5c01fcd2a69335b86c22142b2bccfc3464087efb7fd382eee5ffc7fdf7/pillow-11.2.1.tar.gz", hash = "sha256:a64dd61998416367b7ef979b73d3a85853ba9bec4c2925f74e588879a58716b6", size = 47026707, upload-time = "2025-04-12T17:50:03.289Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/36/9c/447528ee3776e7ab8897fe33697a7ff3f0475bb490c5ac1456a03dc57956/pillow-11.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:fdec757fea0b793056419bca3e9932eb2b0ceec90ef4813ea4c1e072c389eb28", size = 3190098, upload-time = "2025-04-12T17:48:23.915Z" }, + { url = "https://files.pythonhosted.org/packages/b5/09/29d5cd052f7566a63e5b506fac9c60526e9ecc553825551333e1e18a4858/pillow-11.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:b0e130705d568e2f43a17bcbe74d90958e8a16263868a12c3e0d9c8162690830", size = 3030166, upload-time = "2025-04-12T17:48:25.738Z" }, + { url = "https://files.pythonhosted.org/packages/71/5d/446ee132ad35e7600652133f9c2840b4799bbd8e4adba881284860da0a36/pillow-11.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7bdb5e09068332578214cadd9c05e3d64d99e0e87591be22a324bdbc18925be0", size = 4408674, upload-time = "2025-04-12T17:48:27.908Z" }, + { url = "https://files.pythonhosted.org/packages/69/5f/cbe509c0ddf91cc3a03bbacf40e5c2339c4912d16458fcb797bb47bcb269/pillow-11.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d189ba1bebfbc0c0e529159631ec72bb9e9bc041f01ec6d3233d6d82eb823bc1", size = 4496005, upload-time = "2025-04-12T17:48:29.888Z" }, + { url = "https://files.pythonhosted.org/packages/f9/b3/dd4338d8fb8a5f312021f2977fb8198a1184893f9b00b02b75d565c33b51/pillow-11.2.1-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:191955c55d8a712fab8934a42bfefbf99dd0b5875078240943f913bb66d46d9f", size = 4518707, upload-time = "2025-04-12T17:48:31.874Z" }, + { url = "https://files.pythonhosted.org/packages/13/eb/2552ecebc0b887f539111c2cd241f538b8ff5891b8903dfe672e997529be/pillow-11.2.1-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:ad275964d52e2243430472fc5d2c2334b4fc3ff9c16cb0a19254e25efa03a155", size = 4610008, upload-time = "2025-04-12T17:48:34.422Z" }, + { url = "https://files.pythonhosted.org/packages/72/d1/924ce51bea494cb6e7959522d69d7b1c7e74f6821d84c63c3dc430cbbf3b/pillow-11.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:750f96efe0597382660d8b53e90dd1dd44568a8edb51cb7f9d5d918b80d4de14", size = 4585420, upload-time = "2025-04-12T17:48:37.641Z" }, + { url = "https://files.pythonhosted.org/packages/43/ab/8f81312d255d713b99ca37479a4cb4b0f48195e530cdc1611990eb8fd04b/pillow-11.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fe15238d3798788d00716637b3d4e7bb6bde18b26e5d08335a96e88564a36b6b", size = 4667655, upload-time = "2025-04-12T17:48:39.652Z" }, + { url = "https://files.pythonhosted.org/packages/94/86/8f2e9d2dc3d308dfd137a07fe1cc478df0a23d42a6c4093b087e738e4827/pillow-11.2.1-cp313-cp313-win32.whl", hash = "sha256:3fe735ced9a607fee4f481423a9c36701a39719252a9bb251679635f99d0f7d2", size = 2332329, upload-time = "2025-04-12T17:48:41.765Z" }, + { url = "https://files.pythonhosted.org/packages/6d/ec/1179083b8d6067a613e4d595359b5fdea65d0a3b7ad623fee906e1b3c4d2/pillow-11.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:74ee3d7ecb3f3c05459ba95eed5efa28d6092d751ce9bf20e3e253a4e497e691", size = 2676388, upload-time = "2025-04-12T17:48:43.625Z" }, + { url = "https://files.pythonhosted.org/packages/23/f1/2fc1e1e294de897df39fa8622d829b8828ddad938b0eaea256d65b84dd72/pillow-11.2.1-cp313-cp313-win_arm64.whl", hash = "sha256:5119225c622403afb4b44bad4c1ca6c1f98eed79db8d3bc6e4e160fc6339d66c", size = 2414950, upload-time = "2025-04-12T17:48:45.475Z" }, + { url = "https://files.pythonhosted.org/packages/c4/3e/c328c48b3f0ead7bab765a84b4977acb29f101d10e4ef57a5e3400447c03/pillow-11.2.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:8ce2e8411c7aaef53e6bb29fe98f28cd4fbd9a1d9be2eeea434331aac0536b22", size = 3192759, upload-time = "2025-04-12T17:48:47.866Z" }, + { url = "https://files.pythonhosted.org/packages/18/0e/1c68532d833fc8b9f404d3a642991441d9058eccd5606eab31617f29b6d4/pillow-11.2.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:9ee66787e095127116d91dea2143db65c7bb1e232f617aa5957c0d9d2a3f23a7", size = 3033284, upload-time = "2025-04-12T17:48:50.189Z" }, + { url = "https://files.pythonhosted.org/packages/b7/cb/6faf3fb1e7705fd2db74e070f3bf6f88693601b0ed8e81049a8266de4754/pillow-11.2.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9622e3b6c1d8b551b6e6f21873bdcc55762b4b2126633014cea1803368a9aa16", size = 4445826, upload-time = "2025-04-12T17:48:52.346Z" }, + { url = "https://files.pythonhosted.org/packages/07/94/8be03d50b70ca47fb434a358919d6a8d6580f282bbb7af7e4aa40103461d/pillow-11.2.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:63b5dff3a68f371ea06025a1a6966c9a1e1ee452fc8020c2cd0ea41b83e9037b", size = 4527329, upload-time = "2025-04-12T17:48:54.403Z" }, + { url = "https://files.pythonhosted.org/packages/fd/a4/bfe78777076dc405e3bd2080bc32da5ab3945b5a25dc5d8acaa9de64a162/pillow-11.2.1-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:31df6e2d3d8fc99f993fd253e97fae451a8db2e7207acf97859732273e108406", size = 4549049, upload-time = "2025-04-12T17:48:56.383Z" }, + { url = "https://files.pythonhosted.org/packages/65/4d/eaf9068dc687c24979e977ce5677e253624bd8b616b286f543f0c1b91662/pillow-11.2.1-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:062b7a42d672c45a70fa1f8b43d1d38ff76b63421cbbe7f88146b39e8a558d91", size = 4635408, upload-time = "2025-04-12T17:48:58.782Z" }, + { url = "https://files.pythonhosted.org/packages/1d/26/0fd443365d9c63bc79feb219f97d935cd4b93af28353cba78d8e77b61719/pillow-11.2.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4eb92eca2711ef8be42fd3f67533765d9fd043b8c80db204f16c8ea62ee1a751", size = 4614863, upload-time = "2025-04-12T17:49:00.709Z" }, + { url = "https://files.pythonhosted.org/packages/49/65/dca4d2506be482c2c6641cacdba5c602bc76d8ceb618fd37de855653a419/pillow-11.2.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:f91ebf30830a48c825590aede79376cb40f110b387c17ee9bd59932c961044f9", size = 4692938, upload-time = "2025-04-12T17:49:02.946Z" }, + { url = "https://files.pythonhosted.org/packages/b3/92/1ca0c3f09233bd7decf8f7105a1c4e3162fb9142128c74adad0fb361b7eb/pillow-11.2.1-cp313-cp313t-win32.whl", hash = "sha256:e0b55f27f584ed623221cfe995c912c61606be8513bfa0e07d2c674b4516d9dd", size = 2335774, upload-time = "2025-04-12T17:49:04.889Z" }, + { url = "https://files.pythonhosted.org/packages/a5/ac/77525347cb43b83ae905ffe257bbe2cc6fd23acb9796639a1f56aa59d191/pillow-11.2.1-cp313-cp313t-win_amd64.whl", hash = "sha256:36d6b82164c39ce5482f649b437382c0fb2395eabc1e2b1702a6deb8ad647d6e", size = 2681895, upload-time = "2025-04-12T17:49:06.635Z" }, + { url = "https://files.pythonhosted.org/packages/67/32/32dc030cfa91ca0fc52baebbba2e009bb001122a1daa8b6a79ad830b38d3/pillow-11.2.1-cp313-cp313t-win_arm64.whl", hash = "sha256:225c832a13326e34f212d2072982bb1adb210e0cc0b153e688743018c94a2681", size = 2417234, upload-time = "2025-04-12T17:49:08.399Z" }, +] + +[[package]] +name = "plotly" +version = "6.1.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "narwhals" }, + { name = "packaging" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ae/77/431447616eda6a432dc3ce541b3f808ecb8803ea3d4ab2573b67f8eb4208/plotly-6.1.2.tar.gz", hash = "sha256:4fdaa228926ba3e3a213f4d1713287e69dcad1a7e66cf2025bd7d7026d5014b4", size = 7662971, upload-time = "2025-05-27T20:21:52.56Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bf/6f/759d5da0517547a5d38aabf05d04d9f8adf83391d2c7fc33f904417d3ba2/plotly-6.1.2-py3-none-any.whl", hash = "sha256:f1548a8ed9158d59e03d7fed548c7db5549f3130d9ae19293c8638c202648f6d", size = 16265530, upload-time = "2025-05-27T20:21:46.6Z" }, +] + +[[package]] +name = "protobuf" +version = "6.31.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/52/f3/b9655a711b32c19720253f6f06326faf90580834e2e83f840472d752bc8b/protobuf-6.31.1.tar.gz", hash = "sha256:d8cac4c982f0b957a4dc73a80e2ea24fab08e679c0de9deb835f4a12d69aca9a", size = 441797, upload-time = "2025-05-28T19:25:54.947Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f3/6f/6ab8e4bf962fd5570d3deaa2d5c38f0a363f57b4501047b5ebeb83ab1125/protobuf-6.31.1-cp310-abi3-win32.whl", hash = "sha256:7fa17d5a29c2e04b7d90e5e32388b8bfd0e7107cd8e616feef7ed3fa6bdab5c9", size = 423603, upload-time = "2025-05-28T19:25:41.198Z" }, + { url = "https://files.pythonhosted.org/packages/44/3a/b15c4347dd4bf3a1b0ee882f384623e2063bb5cf9fa9d57990a4f7df2fb6/protobuf-6.31.1-cp310-abi3-win_amd64.whl", hash = "sha256:426f59d2964864a1a366254fa703b8632dcec0790d8862d30034d8245e1cd447", size = 435283, upload-time = "2025-05-28T19:25:44.275Z" }, + { url = "https://files.pythonhosted.org/packages/6a/c9/b9689a2a250264a84e66c46d8862ba788ee7a641cdca39bccf64f59284b7/protobuf-6.31.1-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:6f1227473dc43d44ed644425268eb7c2e488ae245d51c6866d19fe158e207402", size = 425604, upload-time = "2025-05-28T19:25:45.702Z" }, + { url = "https://files.pythonhosted.org/packages/76/a1/7a5a94032c83375e4fe7e7f56e3976ea6ac90c5e85fac8576409e25c39c3/protobuf-6.31.1-cp39-abi3-manylinux2014_aarch64.whl", hash = "sha256:a40fc12b84c154884d7d4c4ebd675d5b3b5283e155f324049ae396b95ddebc39", size = 322115, upload-time = "2025-05-28T19:25:47.128Z" }, + { url = "https://files.pythonhosted.org/packages/fa/b1/b59d405d64d31999244643d88c45c8241c58f17cc887e73bcb90602327f8/protobuf-6.31.1-cp39-abi3-manylinux2014_x86_64.whl", hash = "sha256:4ee898bf66f7a8b0bd21bce523814e6fbd8c6add948045ce958b73af7e8878c6", size = 321070, upload-time = "2025-05-28T19:25:50.036Z" }, + { url = "https://files.pythonhosted.org/packages/f7/af/ab3c51ab7507a7325e98ffe691d9495ee3d3aa5f589afad65ec920d39821/protobuf-6.31.1-py3-none-any.whl", hash = "sha256:720a6c7e6b77288b85063569baae8536671b39f15cc22037ec7045658d80489e", size = 168724, upload-time = "2025-05-28T19:25:53.926Z" }, +] + +[[package]] +name = "pyarrow" +version = "18.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7f/7b/640785a9062bb00314caa8a387abce547d2a420cf09bd6c715fe659ccffb/pyarrow-18.1.0.tar.gz", hash = "sha256:9386d3ca9c145b5539a1cfc75df07757dff870168c959b473a0bccbc3abc8c73", size = 1118671, upload-time = "2024-11-26T02:01:48.62Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cb/87/aa4d249732edef6ad88899399047d7e49311a55749d3c373007d034ee471/pyarrow-18.1.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:84e314d22231357d473eabec709d0ba285fa706a72377f9cc8e1cb3c8013813b", size = 29497406, upload-time = "2024-11-26T02:00:14.469Z" }, + { url = "https://files.pythonhosted.org/packages/3c/c7/ed6adb46d93a3177540e228b5ca30d99fc8ea3b13bdb88b6f8b6467e2cb7/pyarrow-18.1.0-cp313-cp313-macosx_12_0_x86_64.whl", hash = "sha256:f591704ac05dfd0477bb8f8e0bd4b5dc52c1cadf50503858dce3a15db6e46ff2", size = 30835095, upload-time = "2024-11-26T02:00:19.347Z" }, + { url = "https://files.pythonhosted.org/packages/41/d7/ed85001edfb96200ff606943cff71d64f91926ab42828676c0fc0db98963/pyarrow-18.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:acb7564204d3c40babf93a05624fc6a8ec1ab1def295c363afc40b0c9e66c191", size = 39194527, upload-time = "2024-11-26T02:00:24.085Z" }, + { url = "https://files.pythonhosted.org/packages/59/16/35e28eab126342fa391593415d79477e89582de411bb95232f28b131a769/pyarrow-18.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:74de649d1d2ccb778f7c3afff6085bd5092aed4c23df9feeb45dd6b16f3811aa", size = 40131443, upload-time = "2024-11-26T02:00:29.483Z" }, + { url = "https://files.pythonhosted.org/packages/0c/95/e855880614c8da20f4cd74fa85d7268c725cf0013dc754048593a38896a0/pyarrow-18.1.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:f96bd502cb11abb08efea6dab09c003305161cb6c9eafd432e35e76e7fa9b90c", size = 38608750, upload-time = "2024-11-26T02:00:34.069Z" }, + { url = "https://files.pythonhosted.org/packages/54/9d/f253554b1457d4fdb3831b7bd5f8f00f1795585a606eabf6fec0a58a9c38/pyarrow-18.1.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:36ac22d7782554754a3b50201b607d553a8d71b78cdf03b33c1125be4b52397c", size = 40066690, upload-time = "2024-11-26T02:00:39.603Z" }, + { url = "https://files.pythonhosted.org/packages/2f/58/8912a2563e6b8273e8aa7b605a345bba5a06204549826f6493065575ebc0/pyarrow-18.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:25dbacab8c5952df0ca6ca0af28f50d45bd31c1ff6fcf79e2d120b4a65ee7181", size = 25081054, upload-time = "2024-11-26T02:00:43.611Z" }, + { url = "https://files.pythonhosted.org/packages/82/f9/d06ddc06cab1ada0c2f2fd205ac8c25c2701182de1b9c4bf7a0a44844431/pyarrow-18.1.0-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:6a276190309aba7bc9d5bd2933230458b3521a4317acfefe69a354f2fe59f2bc", size = 29525542, upload-time = "2024-11-26T02:00:48.094Z" }, + { url = "https://files.pythonhosted.org/packages/ab/94/8917e3b961810587ecbdaa417f8ebac0abb25105ae667b7aa11c05876976/pyarrow-18.1.0-cp313-cp313t-macosx_12_0_x86_64.whl", hash = "sha256:ad514dbfcffe30124ce655d72771ae070f30bf850b48bc4d9d3b25993ee0e386", size = 30829412, upload-time = "2024-11-26T02:00:52.458Z" }, + { url = "https://files.pythonhosted.org/packages/5e/e3/3b16c3190f3d71d3b10f6758d2d5f7779ef008c4fd367cedab3ed178a9f7/pyarrow-18.1.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aebc13a11ed3032d8dd6e7171eb6e86d40d67a5639d96c35142bd568b9299324", size = 39119106, upload-time = "2024-11-26T02:00:57.219Z" }, + { url = "https://files.pythonhosted.org/packages/1d/d6/5d704b0d25c3c79532f8c0639f253ec2803b897100f64bcb3f53ced236e5/pyarrow-18.1.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d6cf5c05f3cee251d80e98726b5c7cc9f21bab9e9783673bac58e6dfab57ecc8", size = 40090940, upload-time = "2024-11-26T02:01:02.31Z" }, + { url = "https://files.pythonhosted.org/packages/37/29/366bc7e588220d74ec00e497ac6710c2833c9176f0372fe0286929b2d64c/pyarrow-18.1.0-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:11b676cd410cf162d3f6a70b43fb9e1e40affbc542a1e9ed3681895f2962d3d9", size = 38548177, upload-time = "2024-11-26T02:01:07.371Z" }, + { url = "https://files.pythonhosted.org/packages/c8/11/fabf6ecabb1fe5b7d96889228ca2a9158c4c3bb732e3b8ee3f7f6d40b703/pyarrow-18.1.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:b76130d835261b38f14fc41fdfb39ad8d672afb84c447126b84d5472244cfaba", size = 40043567, upload-time = "2024-11-26T02:01:12.931Z" }, +] + +[[package]] +name = "pydeck" +version = "0.9.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jinja2" }, + { name = "numpy" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a1/ca/40e14e196864a0f61a92abb14d09b3d3da98f94ccb03b49cf51688140dab/pydeck-0.9.1.tar.gz", hash = "sha256:f74475ae637951d63f2ee58326757f8d4f9cd9f2a457cf42950715003e2cb605", size = 3832240, upload-time = "2024-05-10T15:36:21.153Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ab/4c/b888e6cf58bd9db9c93f40d1c6be8283ff49d88919231afe93a6bcf61626/pydeck-0.9.1-py2.py3-none-any.whl", hash = "sha256:b3f75ba0d273fc917094fa61224f3f6076ca8752b93d46faf3bcfd9f9d59b038", size = 6900403, upload-time = "2024-05-10T15:36:17.36Z" }, +] + +[[package]] +name = "pyparsing" +version = "3.2.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/bb/22/f1129e69d94ffff626bdb5c835506b3a5b4f3d070f17ea295e12c2c6f60f/pyparsing-3.2.3.tar.gz", hash = "sha256:b9c13f1ab8b3b542f72e28f634bad4de758ab3ce4546e4301970ad6fa77c38be", size = 1088608, upload-time = "2025-03-25T05:01:28.114Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/05/e7/df2285f3d08fee213f2d041540fa4fc9ca6c2d44cf36d3a035bf2a8d2bcc/pyparsing-3.2.3-py3-none-any.whl", hash = "sha256:a749938e02d6fd0b59b356ca504a24982314bb090c383e3cf201c95ef7e2bfcf", size = 111120, upload-time = "2025-03-25T05:01:24.908Z" }, +] + +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432, upload-time = "2024-03-01T18:36:20.211Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892, upload-time = "2024-03-01T18:36:18.57Z" }, +] + +[[package]] +name = "pytz" +version = "2025.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f8/bf/abbd3cdfb8fbc7fb3d4d38d320f2441b1e7cbe29be4f23797b4a2b5d8aac/pytz-2025.2.tar.gz", hash = "sha256:360b9e3dbb49a209c21ad61809c7fb453643e048b38924c765813546746e81c3", size = 320884, upload-time = "2025-03-25T02:25:00.538Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/81/c4/34e93fe5f5429d7570ec1fa436f1986fb1f00c3e0f43a589fe2bbcd22c3f/pytz-2025.2-py2.py3-none-any.whl", hash = "sha256:5ddf76296dd8c44c26eb8f4b6f35488f3ccbf6fbbd7adee0b7262d43f0ec2f00", size = 509225, upload-time = "2025-03-25T02:24:58.468Z" }, +] + +[[package]] +name = "referencing" +version = "0.36.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, + { name = "rpds-py" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/2f/db/98b5c277be99dd18bfd91dd04e1b759cad18d1a338188c936e92f921c7e2/referencing-0.36.2.tar.gz", hash = "sha256:df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa", size = 74744, upload-time = "2025-01-25T08:48:16.138Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c1/b1/3baf80dc6d2b7bc27a95a67752d0208e410351e3feb4eb78de5f77454d8d/referencing-0.36.2-py3-none-any.whl", hash = "sha256:e8699adbbf8b5c7de96d8ffa0eb5c158b3beafce084968e2ea8bb08c6794dcd0", size = 26775, upload-time = "2025-01-25T08:48:14.241Z" }, +] + +[[package]] +name = "requests" +version = "2.32.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "charset-normalizer" }, + { name = "idna" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e1/0a/929373653770d8a0d7ea76c37de6e41f11eb07559b103b1c02cafb3f7cf8/requests-2.32.4.tar.gz", hash = "sha256:27d0316682c8a29834d3264820024b62a36942083d52caf2f14c0591336d3422", size = 135258, upload-time = "2025-06-09T16:43:07.34Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7c/e4/56027c4a6b4ae70ca9de302488c5ca95ad4a39e190093d6c1a8ace08341b/requests-2.32.4-py3-none-any.whl", hash = "sha256:27babd3cda2a6d50b30443204ee89830707d396671944c998b5975b031ac2b2c", size = 64847, upload-time = "2025-06-09T16:43:05.728Z" }, +] + +[[package]] +name = "rpds-py" +version = "0.25.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/8c/a6/60184b7fc00dd3ca80ac635dd5b8577d444c57e8e8742cecabfacb829921/rpds_py-0.25.1.tar.gz", hash = "sha256:8960b6dac09b62dac26e75d7e2c4a22efb835d827a7278c34f72b2b84fa160e3", size = 27304, upload-time = "2025-05-21T12:46:12.502Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2b/da/323848a2b62abe6a0fec16ebe199dc6889c5d0a332458da8985b2980dffe/rpds_py-0.25.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:659d87430a8c8c704d52d094f5ba6fa72ef13b4d385b7e542a08fc240cb4a559", size = 364498, upload-time = "2025-05-21T12:43:54.841Z" }, + { url = "https://files.pythonhosted.org/packages/1f/b4/4d3820f731c80fd0cd823b3e95b9963fec681ae45ba35b5281a42382c67d/rpds_py-0.25.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:68f6f060f0bbdfb0245267da014d3a6da9be127fe3e8cc4a68c6f833f8a23bb1", size = 350083, upload-time = "2025-05-21T12:43:56.428Z" }, + { url = "https://files.pythonhosted.org/packages/d5/b1/3a8ee1c9d480e8493619a437dec685d005f706b69253286f50f498cbdbcf/rpds_py-0.25.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:083a9513a33e0b92cf6e7a6366036c6bb43ea595332c1ab5c8ae329e4bcc0a9c", size = 389023, upload-time = "2025-05-21T12:43:57.995Z" }, + { url = "https://files.pythonhosted.org/packages/3b/31/17293edcfc934dc62c3bf74a0cb449ecd549531f956b72287203e6880b87/rpds_py-0.25.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:816568614ecb22b18a010c7a12559c19f6fe993526af88e95a76d5a60b8b75fb", size = 403283, upload-time = "2025-05-21T12:43:59.546Z" }, + { url = "https://files.pythonhosted.org/packages/d1/ca/e0f0bc1a75a8925024f343258c8ecbd8828f8997ea2ac71e02f67b6f5299/rpds_py-0.25.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3c6564c0947a7f52e4792983f8e6cf9bac140438ebf81f527a21d944f2fd0a40", size = 524634, upload-time = "2025-05-21T12:44:01.087Z" }, + { url = "https://files.pythonhosted.org/packages/3e/03/5d0be919037178fff33a6672ffc0afa04ea1cfcb61afd4119d1b5280ff0f/rpds_py-0.25.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5c4a128527fe415d73cf1f70a9a688d06130d5810be69f3b553bf7b45e8acf79", size = 416233, upload-time = "2025-05-21T12:44:02.604Z" }, + { url = "https://files.pythonhosted.org/packages/05/7c/8abb70f9017a231c6c961a8941403ed6557664c0913e1bf413cbdc039e75/rpds_py-0.25.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a49e1d7a4978ed554f095430b89ecc23f42014a50ac385eb0c4d163ce213c325", size = 390375, upload-time = "2025-05-21T12:44:04.162Z" }, + { url = "https://files.pythonhosted.org/packages/7a/ac/a87f339f0e066b9535074a9f403b9313fd3892d4a164d5d5f5875ac9f29f/rpds_py-0.25.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d74ec9bc0e2feb81d3f16946b005748119c0f52a153f6db6a29e8cd68636f295", size = 424537, upload-time = "2025-05-21T12:44:06.175Z" }, + { url = "https://files.pythonhosted.org/packages/1f/8f/8d5c1567eaf8c8afe98a838dd24de5013ce6e8f53a01bd47fe8bb06b5533/rpds_py-0.25.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:3af5b4cc10fa41e5bc64e5c198a1b2d2864337f8fcbb9a67e747e34002ce812b", size = 566425, upload-time = "2025-05-21T12:44:08.242Z" }, + { url = "https://files.pythonhosted.org/packages/95/33/03016a6be5663b389c8ab0bbbcca68d9e96af14faeff0a04affcb587e776/rpds_py-0.25.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:79dc317a5f1c51fd9c6a0c4f48209c6b8526d0524a6904fc1076476e79b00f98", size = 595197, upload-time = "2025-05-21T12:44:10.449Z" }, + { url = "https://files.pythonhosted.org/packages/33/8d/da9f4d3e208c82fda311bff0cf0a19579afceb77cf456e46c559a1c075ba/rpds_py-0.25.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:1521031351865e0181bc585147624d66b3b00a84109b57fcb7a779c3ec3772cd", size = 561244, upload-time = "2025-05-21T12:44:12.387Z" }, + { url = "https://files.pythonhosted.org/packages/e2/b3/39d5dcf7c5f742ecd6dbc88f6f84ae54184b92f5f387a4053be2107b17f1/rpds_py-0.25.1-cp313-cp313-win32.whl", hash = "sha256:5d473be2b13600b93a5675d78f59e63b51b1ba2d0476893415dfbb5477e65b31", size = 222254, upload-time = "2025-05-21T12:44:14.261Z" }, + { url = "https://files.pythonhosted.org/packages/5f/19/2d6772c8eeb8302c5f834e6d0dfd83935a884e7c5ce16340c7eaf89ce925/rpds_py-0.25.1-cp313-cp313-win_amd64.whl", hash = "sha256:a7b74e92a3b212390bdce1d93da9f6488c3878c1d434c5e751cbc202c5e09500", size = 234741, upload-time = "2025-05-21T12:44:16.236Z" }, + { url = "https://files.pythonhosted.org/packages/5b/5a/145ada26cfaf86018d0eb304fe55eafdd4f0b6b84530246bb4a7c4fb5c4b/rpds_py-0.25.1-cp313-cp313-win_arm64.whl", hash = "sha256:dd326a81afe332ede08eb39ab75b301d5676802cdffd3a8f287a5f0b694dc3f5", size = 224830, upload-time = "2025-05-21T12:44:17.749Z" }, + { url = "https://files.pythonhosted.org/packages/4b/ca/d435844829c384fd2c22754ff65889c5c556a675d2ed9eb0e148435c6690/rpds_py-0.25.1-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:a58d1ed49a94d4183483a3ce0af22f20318d4a1434acee255d683ad90bf78129", size = 359668, upload-time = "2025-05-21T12:44:19.322Z" }, + { url = "https://files.pythonhosted.org/packages/1f/01/b056f21db3a09f89410d493d2f6614d87bb162499f98b649d1dbd2a81988/rpds_py-0.25.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:f251bf23deb8332823aef1da169d5d89fa84c89f67bdfb566c49dea1fccfd50d", size = 345649, upload-time = "2025-05-21T12:44:20.962Z" }, + { url = "https://files.pythonhosted.org/packages/e0/0f/e0d00dc991e3d40e03ca36383b44995126c36b3eafa0ccbbd19664709c88/rpds_py-0.25.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8dbd586bfa270c1103ece2109314dd423df1fa3d9719928b5d09e4840cec0d72", size = 384776, upload-time = "2025-05-21T12:44:22.516Z" }, + { url = "https://files.pythonhosted.org/packages/9f/a2/59374837f105f2ca79bde3c3cd1065b2f8c01678900924949f6392eab66d/rpds_py-0.25.1-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6d273f136e912aa101a9274c3145dcbddbe4bac560e77e6d5b3c9f6e0ed06d34", size = 395131, upload-time = "2025-05-21T12:44:24.147Z" }, + { url = "https://files.pythonhosted.org/packages/9c/dc/48e8d84887627a0fe0bac53f0b4631e90976fd5d35fff8be66b8e4f3916b/rpds_py-0.25.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:666fa7b1bd0a3810a7f18f6d3a25ccd8866291fbbc3c9b912b917a6715874bb9", size = 520942, upload-time = "2025-05-21T12:44:25.915Z" }, + { url = "https://files.pythonhosted.org/packages/7c/f5/ee056966aeae401913d37befeeab57a4a43a4f00099e0a20297f17b8f00c/rpds_py-0.25.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:921954d7fbf3fccc7de8f717799304b14b6d9a45bbeec5a8d7408ccbf531faf5", size = 411330, upload-time = "2025-05-21T12:44:27.638Z" }, + { url = "https://files.pythonhosted.org/packages/ab/74/b2cffb46a097cefe5d17f94ede7a174184b9d158a0aeb195f39f2c0361e8/rpds_py-0.25.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3d86373ff19ca0441ebeb696ef64cb58b8b5cbacffcda5a0ec2f3911732a194", size = 387339, upload-time = "2025-05-21T12:44:29.292Z" }, + { url = "https://files.pythonhosted.org/packages/7f/9a/0ff0b375dcb5161c2b7054e7d0b7575f1680127505945f5cabaac890bc07/rpds_py-0.25.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c8980cde3bb8575e7c956a530f2c217c1d6aac453474bf3ea0f9c89868b531b6", size = 418077, upload-time = "2025-05-21T12:44:30.877Z" }, + { url = "https://files.pythonhosted.org/packages/0d/a1/fda629bf20d6b698ae84c7c840cfb0e9e4200f664fc96e1f456f00e4ad6e/rpds_py-0.25.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:8eb8c84ecea987a2523e057c0d950bcb3f789696c0499290b8d7b3107a719d78", size = 562441, upload-time = "2025-05-21T12:44:32.541Z" }, + { url = "https://files.pythonhosted.org/packages/20/15/ce4b5257f654132f326f4acd87268e1006cc071e2c59794c5bdf4bebbb51/rpds_py-0.25.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:e43a005671a9ed5a650f3bc39e4dbccd6d4326b24fb5ea8be5f3a43a6f576c72", size = 590750, upload-time = "2025-05-21T12:44:34.557Z" }, + { url = "https://files.pythonhosted.org/packages/fb/ab/e04bf58a8d375aeedb5268edcc835c6a660ebf79d4384d8e0889439448b0/rpds_py-0.25.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:58f77c60956501a4a627749a6dcb78dac522f249dd96b5c9f1c6af29bfacfb66", size = 558891, upload-time = "2025-05-21T12:44:37.358Z" }, + { url = "https://files.pythonhosted.org/packages/90/82/cb8c6028a6ef6cd2b7991e2e4ced01c854b6236ecf51e81b64b569c43d73/rpds_py-0.25.1-cp313-cp313t-win32.whl", hash = "sha256:2cb9e5b5e26fc02c8a4345048cd9998c2aca7c2712bd1b36da0c72ee969a3523", size = 218718, upload-time = "2025-05-21T12:44:38.969Z" }, + { url = "https://files.pythonhosted.org/packages/b6/97/5a4b59697111c89477d20ba8a44df9ca16b41e737fa569d5ae8bff99e650/rpds_py-0.25.1-cp313-cp313t-win_amd64.whl", hash = "sha256:401ca1c4a20cc0510d3435d89c069fe0a9ae2ee6495135ac46bdd49ec0495763", size = 232218, upload-time = "2025-05-21T12:44:40.512Z" }, +] + +[[package]] +name = "scikit-learn" +version = "1.7.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "joblib" }, + { name = "numpy" }, + { name = "scipy" }, + { name = "threadpoolctl" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/df/3b/29fa87e76b1d7b3b77cc1fcbe82e6e6b8cd704410705b008822de530277c/scikit_learn-1.7.0.tar.gz", hash = "sha256:c01e869b15aec88e2cdb73d27f15bdbe03bce8e2fb43afbe77c45d399e73a5a3", size = 7178217, upload-time = "2025-06-05T22:02:46.703Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9a/c3/a85dcccdaf1e807e6f067fa95788a6485b0491d9ea44fd4c812050d04f45/scikit_learn-1.7.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:5b7974f1f32bc586c90145df51130e02267e4b7e77cab76165c76cf43faca0d9", size = 11559841, upload-time = "2025-06-05T22:02:23.308Z" }, + { url = "https://files.pythonhosted.org/packages/d8/57/eea0de1562cc52d3196eae51a68c5736a31949a465f0b6bb3579b2d80282/scikit_learn-1.7.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:014e07a23fe02e65f9392898143c542a50b6001dbe89cb867e19688e468d049b", size = 10616463, upload-time = "2025-06-05T22:02:26.068Z" }, + { url = "https://files.pythonhosted.org/packages/10/a4/39717ca669296dfc3a62928393168da88ac9d8cbec88b6321ffa62c6776f/scikit_learn-1.7.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e7e7ced20582d3a5516fb6f405fd1d254e1f5ce712bfef2589f51326af6346e8", size = 11766512, upload-time = "2025-06-05T22:02:28.689Z" }, + { url = "https://files.pythonhosted.org/packages/d5/cd/a19722241d5f7b51e08351e1e82453e0057aeb7621b17805f31fcb57bb6c/scikit_learn-1.7.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1babf2511e6ffd695da7a983b4e4d6de45dce39577b26b721610711081850906", size = 12461075, upload-time = "2025-06-05T22:02:31.233Z" }, + { url = "https://files.pythonhosted.org/packages/f3/bc/282514272815c827a9acacbe5b99f4f1a4bc5961053719d319480aee0812/scikit_learn-1.7.0-cp313-cp313-win_amd64.whl", hash = "sha256:5abd2acff939d5bd4701283f009b01496832d50ddafa83c90125a4e41c33e314", size = 10652517, upload-time = "2025-06-05T22:02:34.139Z" }, + { url = "https://files.pythonhosted.org/packages/ea/78/7357d12b2e4c6674175f9a09a3ba10498cde8340e622715bcc71e532981d/scikit_learn-1.7.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:e39d95a929b112047c25b775035c8c234c5ca67e681ce60d12413afb501129f7", size = 12111822, upload-time = "2025-06-05T22:02:36.904Z" }, + { url = "https://files.pythonhosted.org/packages/d0/0c/9c3715393343f04232f9d81fe540eb3831d0b4ec351135a145855295110f/scikit_learn-1.7.0-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:0521cb460426c56fee7e07f9365b0f45ec8ca7b2d696534ac98bfb85e7ae4775", size = 11325286, upload-time = "2025-06-05T22:02:39.739Z" }, + { url = "https://files.pythonhosted.org/packages/64/e0/42282ad3dd70b7c1a5f65c412ac3841f6543502a8d6263cae7b466612dc9/scikit_learn-1.7.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:317ca9f83acbde2883bd6bb27116a741bfcb371369706b4f9973cf30e9a03b0d", size = 12380865, upload-time = "2025-06-05T22:02:42.137Z" }, + { url = "https://files.pythonhosted.org/packages/4e/d0/3ef4ab2c6be4aa910445cd09c5ef0b44512e3de2cfb2112a88bb647d2cf7/scikit_learn-1.7.0-cp313-cp313t-win_amd64.whl", hash = "sha256:126c09740a6f016e815ab985b21e3a0656835414521c81fc1a8da78b679bdb75", size = 11549609, upload-time = "2025-06-05T22:02:44.483Z" }, +] + +[[package]] +name = "scipy" +version = "1.15.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0f/37/6964b830433e654ec7485e45a00fc9a27cf868d622838f6b6d9c5ec0d532/scipy-1.15.3.tar.gz", hash = "sha256:eae3cf522bc7df64b42cad3925c876e1b0b6c35c1337c93e12c0f366f55b0eaf", size = 59419214, upload-time = "2025-05-08T16:13:05.955Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/73/18/ec27848c9baae6e0d6573eda6e01a602e5649ee72c27c3a8aad673ebecfd/scipy-1.15.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:2c620736bcc334782e24d173c0fdbb7590a0a436d2fdf39310a8902505008759", size = 38728256, upload-time = "2025-05-08T16:06:58.696Z" }, + { url = "https://files.pythonhosted.org/packages/74/cd/1aef2184948728b4b6e21267d53b3339762c285a46a274ebb7863c9e4742/scipy-1.15.3-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:7e11270a000969409d37ed399585ee530b9ef6aa99d50c019de4cb01e8e54e62", size = 30109540, upload-time = "2025-05-08T16:07:04.209Z" }, + { url = "https://files.pythonhosted.org/packages/5b/d8/59e452c0a255ec352bd0a833537a3bc1bfb679944c4938ab375b0a6b3a3e/scipy-1.15.3-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:8c9ed3ba2c8a2ce098163a9bdb26f891746d02136995df25227a20e71c396ebb", size = 22383115, upload-time = "2025-05-08T16:07:08.998Z" }, + { url = "https://files.pythonhosted.org/packages/08/f5/456f56bbbfccf696263b47095291040655e3cbaf05d063bdc7c7517f32ac/scipy-1.15.3-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:0bdd905264c0c9cfa74a4772cdb2070171790381a5c4d312c973382fc6eaf730", size = 25163884, upload-time = "2025-05-08T16:07:14.091Z" }, + { url = "https://files.pythonhosted.org/packages/a2/66/a9618b6a435a0f0c0b8a6d0a2efb32d4ec5a85f023c2b79d39512040355b/scipy-1.15.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79167bba085c31f38603e11a267d862957cbb3ce018d8b38f79ac043bc92d825", size = 35174018, upload-time = "2025-05-08T16:07:19.427Z" }, + { url = "https://files.pythonhosted.org/packages/b5/09/c5b6734a50ad4882432b6bb7c02baf757f5b2f256041da5df242e2d7e6b6/scipy-1.15.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c9deabd6d547aee2c9a81dee6cc96c6d7e9a9b1953f74850c179f91fdc729cb7", size = 37269716, upload-time = "2025-05-08T16:07:25.712Z" }, + { url = "https://files.pythonhosted.org/packages/77/0a/eac00ff741f23bcabd352731ed9b8995a0a60ef57f5fd788d611d43d69a1/scipy-1.15.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:dde4fc32993071ac0c7dd2d82569e544f0bdaff66269cb475e0f369adad13f11", size = 36872342, upload-time = "2025-05-08T16:07:31.468Z" }, + { url = "https://files.pythonhosted.org/packages/fe/54/4379be86dd74b6ad81551689107360d9a3e18f24d20767a2d5b9253a3f0a/scipy-1.15.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f77f853d584e72e874d87357ad70f44b437331507d1c311457bed8ed2b956126", size = 39670869, upload-time = "2025-05-08T16:07:38.002Z" }, + { url = "https://files.pythonhosted.org/packages/87/2e/892ad2862ba54f084ffe8cc4a22667eaf9c2bcec6d2bff1d15713c6c0703/scipy-1.15.3-cp313-cp313-win_amd64.whl", hash = "sha256:b90ab29d0c37ec9bf55424c064312930ca5f4bde15ee8619ee44e69319aab163", size = 40988851, upload-time = "2025-05-08T16:08:33.671Z" }, + { url = "https://files.pythonhosted.org/packages/1b/e9/7a879c137f7e55b30d75d90ce3eb468197646bc7b443ac036ae3fe109055/scipy-1.15.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:3ac07623267feb3ae308487c260ac684b32ea35fd81e12845039952f558047b8", size = 38863011, upload-time = "2025-05-08T16:07:44.039Z" }, + { url = "https://files.pythonhosted.org/packages/51/d1/226a806bbd69f62ce5ef5f3ffadc35286e9fbc802f606a07eb83bf2359de/scipy-1.15.3-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:6487aa99c2a3d509a5227d9a5e889ff05830a06b2ce08ec30df6d79db5fcd5c5", size = 30266407, upload-time = "2025-05-08T16:07:49.891Z" }, + { url = "https://files.pythonhosted.org/packages/e5/9b/f32d1d6093ab9eeabbd839b0f7619c62e46cc4b7b6dbf05b6e615bbd4400/scipy-1.15.3-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:50f9e62461c95d933d5c5ef4a1f2ebf9a2b4e83b0db374cb3f1de104d935922e", size = 22540030, upload-time = "2025-05-08T16:07:54.121Z" }, + { url = "https://files.pythonhosted.org/packages/e7/29/c278f699b095c1a884f29fda126340fcc201461ee8bfea5c8bdb1c7c958b/scipy-1.15.3-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:14ed70039d182f411ffc74789a16df3835e05dc469b898233a245cdfd7f162cb", size = 25218709, upload-time = "2025-05-08T16:07:58.506Z" }, + { url = "https://files.pythonhosted.org/packages/24/18/9e5374b617aba742a990581373cd6b68a2945d65cc588482749ef2e64467/scipy-1.15.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a769105537aa07a69468a0eefcd121be52006db61cdd8cac8a0e68980bbb723", size = 34809045, upload-time = "2025-05-08T16:08:03.929Z" }, + { url = "https://files.pythonhosted.org/packages/e1/fe/9c4361e7ba2927074360856db6135ef4904d505e9b3afbbcb073c4008328/scipy-1.15.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9db984639887e3dffb3928d118145ffe40eff2fa40cb241a306ec57c219ebbbb", size = 36703062, upload-time = "2025-05-08T16:08:09.558Z" }, + { url = "https://files.pythonhosted.org/packages/b7/8e/038ccfe29d272b30086b25a4960f757f97122cb2ec42e62b460d02fe98e9/scipy-1.15.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:40e54d5c7e7ebf1aa596c374c49fa3135f04648a0caabcb66c52884b943f02b4", size = 36393132, upload-time = "2025-05-08T16:08:15.34Z" }, + { url = "https://files.pythonhosted.org/packages/10/7e/5c12285452970be5bdbe8352c619250b97ebf7917d7a9a9e96b8a8140f17/scipy-1.15.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:5e721fed53187e71d0ccf382b6bf977644c533e506c4d33c3fb24de89f5c3ed5", size = 38979503, upload-time = "2025-05-08T16:08:21.513Z" }, + { url = "https://files.pythonhosted.org/packages/81/06/0a5e5349474e1cbc5757975b21bd4fad0e72ebf138c5592f191646154e06/scipy-1.15.3-cp313-cp313t-win_amd64.whl", hash = "sha256:76ad1fb5f8752eabf0fa02e4cc0336b4e8f021e2d5f061ed37d6d264db35e3ca", size = 40308097, upload-time = "2025-05-08T16:08:27.627Z" }, +] + +[[package]] +name = "seaborn" +version = "0.13.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "matplotlib" }, + { name = "numpy" }, + { name = "pandas" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/86/59/a451d7420a77ab0b98f7affa3a1d78a313d2f7281a57afb1a34bae8ab412/seaborn-0.13.2.tar.gz", hash = "sha256:93e60a40988f4d65e9f4885df477e2fdaff6b73a9ded434c1ab356dd57eefff7", size = 1457696, upload-time = "2024-01-25T13:21:52.551Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/83/11/00d3c3dfc25ad54e731d91449895a79e4bf2384dc3ac01809010ba88f6d5/seaborn-0.13.2-py3-none-any.whl", hash = "sha256:636f8336facf092165e27924f223d3c62ca560b1f2bb5dff7ab7fad265361987", size = 294914, upload-time = "2024-01-25T13:21:49.598Z" }, +] + +[[package]] +name = "six" +version = "1.17.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031, upload-time = "2024-12-04T17:35:28.174Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" }, +] + +[[package]] +name = "smmap" +version = "5.0.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/44/cd/a040c4b3119bbe532e5b0732286f805445375489fceaec1f48306068ee3b/smmap-5.0.2.tar.gz", hash = "sha256:26ea65a03958fa0c8a1c7e8c7a58fdc77221b8910f6be2131affade476898ad5", size = 22329, upload-time = "2025-01-02T07:14:40.909Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/be/d09147ad1ec7934636ad912901c5fd7667e1c858e19d355237db0d0cd5e4/smmap-5.0.2-py3-none-any.whl", hash = "sha256:b30115f0def7d7531d22a0fb6502488d879e75b260a9db4d0819cfb25403af5e", size = 24303, upload-time = "2025-01-02T07:14:38.724Z" }, +] + +[[package]] +name = "streamlit" +version = "1.46.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "altair" }, + { name = "blinker" }, + { name = "cachetools" }, + { name = "click" }, + { name = "gitpython" }, + { name = "numpy" }, + { name = "packaging" }, + { name = "pandas" }, + { name = "pillow" }, + { name = "protobuf" }, + { name = "pyarrow" }, + { name = "pydeck" }, + { name = "requests" }, + { name = "tenacity" }, + { name = "toml" }, + { name = "tornado" }, + { name = "typing-extensions" }, + { name = "watchdog", marker = "sys_platform != 'darwin'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/72/83/f2aac961479594d1d7ee42cf485e3674992769d506732005cea91e11504a/streamlit-1.46.0.tar.gz", hash = "sha256:0b2734b48f11f1e5c8046011b6b1a2274982dc657eef2ade8db70f0e1dc53dda", size = 9651454, upload-time = "2025-06-18T09:12:01.221Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/be/26/79bbb77bec3d605f7de7a4b45c806b44d112e8c9bce77fb620e03d9f2b88/streamlit-1.46.0-py3-none-any.whl", hash = "sha256:f8624acabafcf18611a0fac2635cf181a7ba922b45bd131ae15fc8f80e1a5482", size = 10050930, upload-time = "2025-06-18T09:11:58.447Z" }, +] + +[[package]] +name = "taks1" +version = "0.1.0" +source = { virtual = "." } +dependencies = [ + { name = "plotly" }, + { name = "scikit-learn" }, + { name = "seaborn" }, + { name = "streamlit" }, +] + +[package.metadata] +requires-dist = [ + { name = "plotly", specifier = ">=6.1.2" }, + { name = "scikit-learn", specifier = ">=1.7.0" }, + { name = "seaborn", specifier = ">=0.13.2" }, + { name = "streamlit", specifier = ">=1.46.0" }, +] + +[[package]] +name = "tenacity" +version = "9.1.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/0a/d4/2b0cd0fe285e14b36db076e78c93766ff1d529d70408bd1d2a5a84f1d929/tenacity-9.1.2.tar.gz", hash = "sha256:1169d376c297e7de388d18b4481760d478b0e99a777cad3a9c86e556f4b697cb", size = 48036, upload-time = "2025-04-02T08:25:09.966Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e5/30/643397144bfbfec6f6ef821f36f33e57d35946c44a2352d3c9f0ae847619/tenacity-9.1.2-py3-none-any.whl", hash = "sha256:f77bf36710d8b73a50b2dd155c97b870017ad21afe6ab300326b0371b3b05138", size = 28248, upload-time = "2025-04-02T08:25:07.678Z" }, +] + +[[package]] +name = "threadpoolctl" +version = "3.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b7/4d/08c89e34946fce2aec4fbb45c9016efd5f4d7f24af8e5d93296e935631d8/threadpoolctl-3.6.0.tar.gz", hash = "sha256:8ab8b4aa3491d812b623328249fab5302a68d2d71745c8a4c719a2fcaba9f44e", size = 21274, upload-time = "2025-03-13T13:49:23.031Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/32/d5/f9a850d79b0851d1d4ef6456097579a9005b31fea68726a4ae5f2d82ddd9/threadpoolctl-3.6.0-py3-none-any.whl", hash = "sha256:43a0b8fd5a2928500110039e43a5eed8480b918967083ea48dc3ab9f13c4a7fb", size = 18638, upload-time = "2025-03-13T13:49:21.846Z" }, +] + +[[package]] +name = "toml" +version = "0.10.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/be/ba/1f744cdc819428fc6b5084ec34d9b30660f6f9daaf70eead706e3203ec3c/toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f", size = 22253, upload-time = "2020-11-01T01:40:22.204Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/44/6f/7120676b6d73228c96e17f1f794d8ab046fc910d781c8d151120c3f1569e/toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b", size = 16588, upload-time = "2020-11-01T01:40:20.672Z" }, +] + +[[package]] +name = "tornado" +version = "6.5.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/51/89/c72771c81d25d53fe33e3dca61c233b665b2780f21820ba6fd2c6793c12b/tornado-6.5.1.tar.gz", hash = "sha256:84ceece391e8eb9b2b95578db65e920d2a61070260594819589609ba9bc6308c", size = 509934, upload-time = "2025-05-22T18:15:38.788Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/77/89/f4532dee6843c9e0ebc4e28d4be04c67f54f60813e4bf73d595fe7567452/tornado-6.5.1-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:d50065ba7fd11d3bd41bcad0825227cc9a95154bad83239357094c36708001f7", size = 441948, upload-time = "2025-05-22T18:15:20.862Z" }, + { url = "https://files.pythonhosted.org/packages/15/9a/557406b62cffa395d18772e0cdcf03bed2fff03b374677348eef9f6a3792/tornado-6.5.1-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:9e9ca370f717997cb85606d074b0e5b247282cf5e2e1611568b8821afe0342d6", size = 440112, upload-time = "2025-05-22T18:15:22.591Z" }, + { url = "https://files.pythonhosted.org/packages/55/82/7721b7319013a3cf881f4dffa4f60ceff07b31b394e459984e7a36dc99ec/tornado-6.5.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b77e9dfa7ed69754a54c89d82ef746398be82f749df69c4d3abe75c4d1ff4888", size = 443672, upload-time = "2025-05-22T18:15:24.027Z" }, + { url = "https://files.pythonhosted.org/packages/7d/42/d11c4376e7d101171b94e03cef0cbce43e823ed6567ceda571f54cf6e3ce/tornado-6.5.1-cp39-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:253b76040ee3bab8bcf7ba9feb136436a3787208717a1fb9f2c16b744fba7331", size = 443019, upload-time = "2025-05-22T18:15:25.735Z" }, + { url = "https://files.pythonhosted.org/packages/7d/f7/0c48ba992d875521ac761e6e04b0a1750f8150ae42ea26df1852d6a98942/tornado-6.5.1-cp39-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:308473f4cc5a76227157cdf904de33ac268af770b2c5f05ca6c1161d82fdd95e", size = 443252, upload-time = "2025-05-22T18:15:27.499Z" }, + { url = "https://files.pythonhosted.org/packages/89/46/d8d7413d11987e316df4ad42e16023cd62666a3c0dfa1518ffa30b8df06c/tornado-6.5.1-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:caec6314ce8a81cf69bd89909f4b633b9f523834dc1a352021775d45e51d9401", size = 443930, upload-time = "2025-05-22T18:15:29.299Z" }, + { url = "https://files.pythonhosted.org/packages/78/b2/f8049221c96a06df89bed68260e8ca94beca5ea532ffc63b1175ad31f9cc/tornado-6.5.1-cp39-abi3-musllinux_1_2_i686.whl", hash = "sha256:13ce6e3396c24e2808774741331638ee6c2f50b114b97a55c5b442df65fd9692", size = 443351, upload-time = "2025-05-22T18:15:31.038Z" }, + { url = "https://files.pythonhosted.org/packages/76/ff/6a0079e65b326cc222a54720a748e04a4db246870c4da54ece4577bfa702/tornado-6.5.1-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:5cae6145f4cdf5ab24744526cc0f55a17d76f02c98f4cff9daa08ae9a217448a", size = 443328, upload-time = "2025-05-22T18:15:32.426Z" }, + { url = "https://files.pythonhosted.org/packages/49/18/e3f902a1d21f14035b5bc6246a8c0f51e0eef562ace3a2cea403c1fb7021/tornado-6.5.1-cp39-abi3-win32.whl", hash = "sha256:e0a36e1bc684dca10b1aa75a31df8bdfed656831489bc1e6a6ebed05dc1ec365", size = 444396, upload-time = "2025-05-22T18:15:34.205Z" }, + { url = "https://files.pythonhosted.org/packages/7b/09/6526e32bf1049ee7de3bebba81572673b19a2a8541f795d887e92af1a8bc/tornado-6.5.1-cp39-abi3-win_amd64.whl", hash = "sha256:908e7d64567cecd4c2b458075589a775063453aeb1d2a1853eedb806922f568b", size = 444840, upload-time = "2025-05-22T18:15:36.1Z" }, + { url = "https://files.pythonhosted.org/packages/55/a7/535c44c7bea4578e48281d83c615219f3ab19e6abc67625ef637c73987be/tornado-6.5.1-cp39-abi3-win_arm64.whl", hash = "sha256:02420a0eb7bf617257b9935e2b754d1b63897525d8a289c9d65690d580b4dcf7", size = 443596, upload-time = "2025-05-22T18:15:37.433Z" }, +] + +[[package]] +name = "typing-extensions" +version = "4.14.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d1/bc/51647cd02527e87d05cb083ccc402f93e441606ff1f01739a62c8ad09ba5/typing_extensions-4.14.0.tar.gz", hash = "sha256:8676b788e32f02ab42d9e7c61324048ae4c6d844a399eebace3d4979d75ceef4", size = 107423, upload-time = "2025-06-02T14:52:11.399Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/69/e0/552843e0d356fbb5256d21449fa957fa4eff3bbc135a74a691ee70c7c5da/typing_extensions-4.14.0-py3-none-any.whl", hash = "sha256:a1514509136dd0b477638fc68d6a91497af5076466ad0fa6c338e44e359944af", size = 43839, upload-time = "2025-06-02T14:52:10.026Z" }, +] + +[[package]] +name = "tzdata" +version = "2025.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/95/32/1a225d6164441be760d75c2c42e2780dc0873fe382da3e98a2e1e48361e5/tzdata-2025.2.tar.gz", hash = "sha256:b60a638fcc0daffadf82fe0f57e53d06bdec2f36c4df66280ae79bce6bd6f2b9", size = 196380, upload-time = "2025-03-23T13:54:43.652Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5c/23/c7abc0ca0a1526a0774eca151daeb8de62ec457e77262b66b359c3c7679e/tzdata-2025.2-py2.py3-none-any.whl", hash = "sha256:1a403fada01ff9221ca8044d701868fa132215d84beb92242d9acd2147f667a8", size = 347839, upload-time = "2025-03-23T13:54:41.845Z" }, +] + +[[package]] +name = "urllib3" +version = "2.5.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz", hash = "sha256:3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760", size = 393185, upload-time = "2025-06-18T14:07:41.644Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl", hash = "sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc", size = 129795, upload-time = "2025-06-18T14:07:40.39Z" }, +] + +[[package]] +name = "watchdog" +version = "6.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/db/7d/7f3d619e951c88ed75c6037b246ddcf2d322812ee8ea189be89511721d54/watchdog-6.0.0.tar.gz", hash = "sha256:9ddf7c82fda3ae8e24decda1338ede66e1c99883db93711d8fb941eaa2d8c282", size = 131220, upload-time = "2024-11-01T14:07:13.037Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a9/c7/ca4bf3e518cb57a686b2feb4f55a1892fd9a3dd13f470fca14e00f80ea36/watchdog-6.0.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:7607498efa04a3542ae3e05e64da8202e58159aa1fa4acddf7678d34a35d4f13", size = 79079, upload-time = "2024-11-01T14:06:59.472Z" }, + { url = "https://files.pythonhosted.org/packages/5c/51/d46dc9332f9a647593c947b4b88e2381c8dfc0942d15b8edc0310fa4abb1/watchdog-6.0.0-py3-none-manylinux2014_armv7l.whl", hash = "sha256:9041567ee8953024c83343288ccc458fd0a2d811d6a0fd68c4c22609e3490379", size = 79078, upload-time = "2024-11-01T14:07:01.431Z" }, + { url = "https://files.pythonhosted.org/packages/d4/57/04edbf5e169cd318d5f07b4766fee38e825d64b6913ca157ca32d1a42267/watchdog-6.0.0-py3-none-manylinux2014_i686.whl", hash = "sha256:82dc3e3143c7e38ec49d61af98d6558288c415eac98486a5c581726e0737c00e", size = 79076, upload-time = "2024-11-01T14:07:02.568Z" }, + { url = "https://files.pythonhosted.org/packages/ab/cc/da8422b300e13cb187d2203f20b9253e91058aaf7db65b74142013478e66/watchdog-6.0.0-py3-none-manylinux2014_ppc64.whl", hash = "sha256:212ac9b8bf1161dc91bd09c048048a95ca3a4c4f5e5d4a7d1b1a7d5752a7f96f", size = 79077, upload-time = "2024-11-01T14:07:03.893Z" }, + { url = "https://files.pythonhosted.org/packages/2c/3b/b8964e04ae1a025c44ba8e4291f86e97fac443bca31de8bd98d3263d2fcf/watchdog-6.0.0-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:e3df4cbb9a450c6d49318f6d14f4bbc80d763fa587ba46ec86f99f9e6876bb26", size = 79078, upload-time = "2024-11-01T14:07:05.189Z" }, + { url = "https://files.pythonhosted.org/packages/62/ae/a696eb424bedff7407801c257d4b1afda455fe40821a2be430e173660e81/watchdog-6.0.0-py3-none-manylinux2014_s390x.whl", hash = "sha256:2cce7cfc2008eb51feb6aab51251fd79b85d9894e98ba847408f662b3395ca3c", size = 79077, upload-time = "2024-11-01T14:07:06.376Z" }, + { url = "https://files.pythonhosted.org/packages/b5/e8/dbf020b4d98251a9860752a094d09a65e1b436ad181faf929983f697048f/watchdog-6.0.0-py3-none-manylinux2014_x86_64.whl", hash = "sha256:20ffe5b202af80ab4266dcd3e91aae72bf2da48c0d33bdb15c66658e685e94e2", size = 79078, upload-time = "2024-11-01T14:07:07.547Z" }, + { url = "https://files.pythonhosted.org/packages/07/f6/d0e5b343768e8bcb4cda79f0f2f55051bf26177ecd5651f84c07567461cf/watchdog-6.0.0-py3-none-win32.whl", hash = "sha256:07df1fdd701c5d4c8e55ef6cf55b8f0120fe1aef7ef39a1c6fc6bc2e606d517a", size = 79065, upload-time = "2024-11-01T14:07:09.525Z" }, + { url = "https://files.pythonhosted.org/packages/db/d9/c495884c6e548fce18a8f40568ff120bc3a4b7b99813081c8ac0c936fa64/watchdog-6.0.0-py3-none-win_amd64.whl", hash = "sha256:cbafb470cf848d93b5d013e2ecb245d4aa1c8fd0504e863ccefa32445359d680", size = 79070, upload-time = "2024-11-01T14:07:10.686Z" }, + { url = "https://files.pythonhosted.org/packages/33/e8/e40370e6d74ddba47f002a32919d91310d6074130fe4e17dabcafc15cbf1/watchdog-6.0.0-py3-none-win_ia64.whl", hash = "sha256:a1914259fa9e1454315171103c6a30961236f508b9b623eae470268bbcc6a22f", size = 79067, upload-time = "2024-11-01T14:07:11.845Z" }, +] From 9c57175e2e289dd400f2a62e9105653e3a47ecd8 Mon Sep 17 00:00:00 2001 From: RaushanBhanu Date: Sat, 21 Jun 2025 12:44:35 +0530 Subject: [PATCH 2/7] Added: requirements.txt demo_link --- submissions/Raushan/README.md | 2 +- submissions/Raushan/requirements.txt | 49 ++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 submissions/Raushan/requirements.txt diff --git a/submissions/Raushan/README.md b/submissions/Raushan/README.md index 13789b1..692e14a 100644 --- a/submissions/Raushan/README.md +++ b/submissions/Raushan/README.md @@ -4,7 +4,7 @@ _Submitted by: Raushan Bhanu_ ## 🌟 Live Demo -🔗 **[View Live Demo](https://your-demo-link-here.com)** +🔗 **[View Live Demo](india-growth-metrics-dashboard.streamlit.app)** ## 📸 Screenshots diff --git a/submissions/Raushan/requirements.txt b/submissions/Raushan/requirements.txt new file mode 100644 index 0000000..e440893 --- /dev/null +++ b/submissions/Raushan/requirements.txt @@ -0,0 +1,49 @@ +altair==5.5.0 +attrs==25.3.0 +blinker==1.9.0 +cachetools==6.1.0 +certifi==2025.6.15 +charset-normalizer==3.4.2 +click==8.2.1 +contourpy==1.3.2 +cycler==0.12.1 +fonttools==4.58.4 +gitdb==4.0.12 +gitpython==3.1.44 +idna==3.10 +jinja2==3.1.6 +joblib==1.5.1 +jsonschema==4.24.0 +jsonschema-specifications==2025.4.1 +kiwisolver==1.4.8 +markupsafe==3.0.2 +matplotlib==3.10.3 +narwhals==1.43.1 +numpy==2.3.0 +packaging==25.0 +pandas==2.3.0 +pillow==11.2.1 +plotly==6.1.2 +protobuf==6.31.1 +pyarrow==18.1.0 +pydeck==0.9.1 +pyparsing==3.2.3 +python-dateutil==2.9.0.post0 +pytz==2025.2 +referencing==0.36.2 +requests==2.32.4 +rpds-py==0.25.1 +scikit-learn==1.7.0 +scipy==1.15.3 +seaborn==0.13.2 +six==1.17.0 +smmap==5.0.2 +streamlit==1.46.0 +tenacity==9.1.2 +threadpoolctl==3.6.0 +toml==0.10.2 +tornado==6.5.1 +typing-extensions==4.14.0 +tzdata==2025.2 +urllib3==2.5.0 +watchdog==6.0.0 From 542cc1615df27b289bc80bac141d864c14a545fe Mon Sep 17 00:00:00 2001 From: RaushanBhanu Date: Sat, 21 Jun 2025 12:57:50 +0530 Subject: [PATCH 3/7] fix --- submissions/Raushan/utils/data_loader.py | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/submissions/Raushan/utils/data_loader.py b/submissions/Raushan/utils/data_loader.py index 846d633..20d3db3 100644 --- a/submissions/Raushan/utils/data_loader.py +++ b/submissions/Raushan/utils/data_loader.py @@ -1,12 +1,7 @@ +# utils/data_loader.py import pandas as pd import streamlit as st - -# Loading file @st.cache_data -def load_data(path): +def load_data(path: str) -> pd.DataFrame: return pd.read_csv(path) - - -with st.spinner("Loading data..."): - df = load_data("india_city_growth_metrics_mock_data.csv") From de7885e39354b1c717586b340ebb284b216c4854 Mon Sep 17 00:00:00 2001 From: RaushanBhanu <102986767+RaushanBhanu@users.noreply.github.com> Date: Sat, 21 Jun 2025 12:59:04 +0530 Subject: [PATCH 4/7] Added Dev Container Folder --- .devcontainer/devcontainer.json | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 .devcontainer/devcontainer.json diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000..011f535 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,33 @@ +{ + "name": "Python 3", + // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile + "image": "mcr.microsoft.com/devcontainers/python:1-3.11-bullseye", + "customizations": { + "codespaces": { + "openFiles": [ + "README.md", + "submissions/Raushan/main.py" + ] + }, + "vscode": { + "settings": {}, + "extensions": [ + "ms-python.python", + "ms-python.vscode-pylance" + ] + } + }, + "updateContentCommand": "[ -f packages.txt ] && sudo apt update && sudo apt upgrade -y && sudo xargs apt install -y Date: Sat, 21 Jun 2025 17:55:27 +0530 Subject: [PATCH 5/7] fix: main.py README.md --- submissions/Raushan/README.md | 58 ++++++++++++++++++++++++----------- submissions/Raushan/main.py | 4 +-- 2 files changed, 42 insertions(+), 20 deletions(-) diff --git a/submissions/Raushan/README.md b/submissions/Raushan/README.md index 692e14a..01bffa8 100644 --- a/submissions/Raushan/README.md +++ b/submissions/Raushan/README.md @@ -4,7 +4,7 @@ _Submitted by: Raushan Bhanu_ ## 🌟 Live Demo -🔗 **[View Live Demo](india-growth-metrics-dashboard.streamlit.app)** +🔗 **[View Live Demo](https://india-growth-metrics-dashboard.streamlit.app)** ## 📸 Screenshots @@ -22,44 +22,66 @@ _Submitted by: Raushan Bhanu_ ## 🛠️ Tech Stack -- Frontend: Streamlit (Python) -- Database: CSV (Pandas DataFrames) -- Visualization: Plotly, Seaborn, Matplotlib, Pydeck -- Deployment: Streamlit Cloud +- **Frontend**: Streamlit (Python) +- **Database**: CSV (Pandas DataFrames) +- **Visualization**: Plotly, Seaborn, Matplotlib, Pydeck +- **Deployment**: Streamlit Cloud ## ✨ Unique Features -- **AI-Powered Analytics**: Includes trend prediction, anomaly detection, and correlation analysis across urban metrics. -- **Interactive City Mapping**: Visualizes key metrics geospatially using scalable markers on a Pydeck-powered map. -- **Dynamic Data Exploration**: Enables users to explore city growth metrics through customizable visualizations, ranking, and time series charts. +- **AI-Powered Analytics**: Trend prediction, anomaly detection, and correlation analysis across urban metrics. +- **Interactive City Mapping**: Visualizes metrics geospatially using scalable Pydeck markers. +- **Dynamic Data Exploration**: Customizable visualizations, comparisons, and filtering tools for city-wise insights. + +--- ## 🚀 Getting Started ### Prerequisites - Python 3.8+ -- [`uv` package manager](https://github.com/astral-sh/uv) +- Option 1: [`uv` package manager](https://github.com/astral-sh/uv) +- Option 2: Traditional `pip` and `requirements.txt` + +--- -### Installation +### 🧩 Installation & Running the App + +#### ✅ Option 1: Using `uv` (recommended) ```bash # Step 1: Clone the repository git clone https://github.com/RaushanBhanu/Letscode-Community-Challenge-1.git cd Letscode-Community-Challenge-1/submissions/Raushan -# Step 2: Create a virtual environment +# Step 2: Create and activate a virtual environment uv venv +source .venv/bin/activate # Linux/macOS +.venv\Scripts\activate # Windows -# Step 3: Activate the virtual environment -source .venv/bin/activate.fish # On Linux/macOS -.venv\Scripts\activate.bat # On Windows - -# Step 4: Install all dependencies +# Step 3: Install dependencies using uv uv sync -#Step 5 : Generate mock data +# Step 4: Generate mock data (if needed) uv run generate_mock_data.py -#Step 6: Run main.py +# Step 5: Run the Streamlit app +streamlit run main.py +``` + +#### ✅ Option 2: Using `pip` + +```bash +# Step 1: Clone the repository +git clone https://github.com/RaushanBhanu/Letscode-Community-Challenge-1.git +cd Letscode-Community-Challenge-1/submissions/Raushan + +# Step 2: Install dependencies +pip install -r requirements.txt + +# Step 3: Generate mock data (if needed) +python generate_mock_data.py + +# Step 4: Run the app streamlit run main.py ``` \ No newline at end of file diff --git a/submissions/Raushan/main.py b/submissions/Raushan/main.py index d04ca44..91825ec 100644 --- a/submissions/Raushan/main.py +++ b/submissions/Raushan/main.py @@ -15,8 +15,8 @@ def main(): st.title("📊 India Growth Metrics Dashboard") st.markdown("---") # Horizontal separator - # Load dataset - df = load_data("india_city_growth_metrics_mock_data.csv") + # Load dataset + df = load_data("./india_city_growth_metrics_mock_data.csv") # Apply sidebar filters and retrieve filtered dataframe and other filter info filtered_df, metrics, cities, year_range = sidebar_filters(df) From 61de3ccb1293d82b0cac10a872a1f0988a97c0e2 Mon Sep 17 00:00:00 2001 From: RaushanBhanu Date: Sat, 21 Jun 2025 18:31:16 +0530 Subject: [PATCH 6/7] fix: utils/data_loader.py --- submissions/Raushan/utils/data_loader.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/submissions/Raushan/utils/data_loader.py b/submissions/Raushan/utils/data_loader.py index 20d3db3..146f26a 100644 --- a/submissions/Raushan/utils/data_loader.py +++ b/submissions/Raushan/utils/data_loader.py @@ -1,7 +1,9 @@ -# utils/data_loader.py +import os import pandas as pd import streamlit as st @st.cache_data -def load_data(path: str) -> pd.DataFrame: - return pd.read_csv(path) +def load_data(filename: str): + base_path = os.path.dirname(__file__) + full_path = os.path.join(base_path, "..", filename) + return pd.read_csv(full_path) From 7476b167a39f4f58d5bd5482481e4778b2b940a1 Mon Sep 17 00:00:00 2001 From: RaushanBhanu Date: Sat, 21 Jun 2025 22:48:34 +0530 Subject: [PATCH 7/7] fix: utils/visualizations.py --- submissions/Raushan/utils/visualizations.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/submissions/Raushan/utils/visualizations.py b/submissions/Raushan/utils/visualizations.py index 71cf038..e65d90b 100644 --- a/submissions/Raushan/utils/visualizations.py +++ b/submissions/Raushan/utils/visualizations.py @@ -187,18 +187,18 @@ def show_visualizations(df: pd.DataFrame): ) ] - # Select cities and year for visualization filtering + # Select cities (common for all graphs) vis_cities = st.multiselect( "Select City/Cities", sorted(df["City"].unique()), default=[df["City"].unique()[0]], ) - vis_year = st.selectbox("Select Year", sorted(df["Year"].unique())) - # Filter dataframe accordingly - df_vis = df[(df["Year"] == vis_year) & (df["City"].isin(vis_cities))] + if graph_type != "Line Graph": + vis_year = st.selectbox("Select Year", sorted(df["Year"].unique())) + df_vis = df[(df["Year"] == vis_year) & (df["City"].isin(vis_cities))] - # Call the corresponding plotting function based on user selection + # Plot based on graph type if graph_type == "Bar Chart": plot_bar_chart(df_vis, vis_metrics, vis_year) elif graph_type == "Line Graph":