From d9d2c47859f18b180864fbd64bbc9af25eefb4d6 Mon Sep 17 00:00:00 2001 From: Ali Hamdi Ali Fadel Date: Sun, 28 Jul 2024 13:35:38 +0000 Subject: [PATCH] Improve end to end tests --- .github/data/test-case.jpg | Bin 0 -> 68136 bytes .github/workflows/tests.yml | 55 ++++++++++++++++++++++++------------ 2 files changed, 37 insertions(+), 18 deletions(-) create mode 100644 .github/data/test-case.jpg diff --git a/.github/data/test-case.jpg b/.github/data/test-case.jpg new file mode 100644 index 0000000000000000000000000000000000000000..884aa56838709cc4748c27f8c3a19f09f2becdef GIT binary patch literal 68136 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 z zlN8H_90{@nySBI`%yq|DV5r**N|!R%VNJ8}CxPq-WuNNr4pyb6fD9(qx5h5*K_g}Y z74o3qodF4T9Mh;c4bW5@GU%;}ggg*e5}I8Y5fm{$)sG3f_o6ruHb!#}8mp1M#g$nS z{1~cS2|$s&OjxzI-6%HWJ|I93e%x5`25P?_RoRUd!`sSe3(qSCKK;CLV}rXtmj6DK-RsZGD85zx zeou@0Hnk*oy=CwfG{ij@e92)#`$qGREQOh;U=UvJY(29{-?#5&8k>k(|2$-U~&Ys|-5r=md1OPFN>6f0yff3iX=x zb=MkQHztV#YWt@NE<4pyAr5HV%F#fK=q^y5yz5{zTMf1X>@pc!p-%6gN}{{h(991E zIC{uT4kkB-xn|!i4GOr?xAms!#(@ylpI4AKq*@Mt@F0oQ> zr(1y6(ex!6(>cy2U|mvW^DdgGZAhTwXjS;p{#cQ8ivn*-@yXS=3cDuAnb6V3!0IWi z%<7~|E@1_vd!(28xthKgxxa+bXBg5n`5-RW;={8V_WC^29(-2MQ4umu& zb+$3I!JxY_g|y^D&!6>IU*H>u@iq5+c|Y=&ypWwU)N#-$f3WG*#iN|pI3XLd=|)yF zflQHLqw{9k9%7bX8%L*E6Gaaml36v_9b~fTWCw!?WQTo|DfH7}XBc{KBU$3-|M(F61kI z94h3bPHbHF$fEkWOaq-%45*cWl)Oh~2@{-x&B9Ii2)(Rv=%{WyK zVgg6d_}HuB0$rXviw$v4L0;u+B z>EiE_* zImtwK37q1NPa&&OFR8v7425;4khN^kyu%p}#e(e9H6Sjf*%?j!T`rS%;iRH8dPs~# z7->D-1k^p1x+{h-D(WzleGoQp>B}~@GMDZXlsOI96O+&OG$s_iQQ?$l7(GlNPz>$D z!+J{?#T!+cK$6Sk;e_3z{*t#UG)GIiuaYnc&@PEjBsjNlt9YIc#JWa`g^Oc^ zBJ2o;S!9y`uC$0uc}QM3H9TZE)Dz@O^6l0iEO}Ql;Nip{ta`N$c;g@N{U;mU)>*wL z_Aib1d}|I0(1Svku?lKZZl-aIFz* zWro8246DvF(ofpr<3o+EQmlR;`De-=wGgSNsZ*@)xQds%?g`VfU?m#xE~EJ9J(Y#t zR0TpJOAL6wRg(@2*{ePcHJbw6R~^?X&bg<* zM?_CqSkTU}7ru2hitu`agKQd*HCMoNw>I$@1z9t$ssk5Z+}b|eqWWn{%)@oe_ff4w z+->)}wUg3JcL3&Dj%wQk=bzrRZp2GHFZsSp)NG^t(e^@333El_5hb!_3uvf7Z8Ry5 z*>Z>(;*VQ4N^_HhPGbvU9I$>kGJ{Z`tt z*V8_T?C(Px<>T12i5;NTd`kZOO;)Qj9t=%63k2PxQi?y>?fXi+m>}~=jHtjhGbLQ+ zD#RI%MR$B2MeeImC+~U53M2nwL>3+r{WxUPSmr0W;>=7%%s69k!$5C>2=@TOIaT@(&4gCQ1Zz=ld!TE?#E1g1nP4U2Y7!@+f?mnb#hj=#ja5pCFD1?ed`)bQBTmv z!Rw6?t?Ue&R6Jz0)ooqa6E{6HpTvQ7-g4U%_CUubi=nChqxUjzJ#}x?leJ@*KX8DE zx*19}V^|Cv=8RUfP3#`Bj+sp(XrOeA>38z16JKKMn;PpOw}(6OBn_F$=f0n*wietJ zyCn=Za^8Pj6yNanM0{sw`uQub`WQ3AQZbAoUNrF|gu2mJjw;=eq;#Ou!EPZHM|T6c zGrIEbtlaBm0Ou5V{<-9>y|Ar$H54Mrw{zzYHd3TmHA-Dht5`a$s4nhjZgz_v-Q!*abMn zmmW;GQQ789Z zf>6B9!MGOgv^DG`UkR~F!WJ?%UOf@!yaBp*|Kra;d~5c!zsl`Zl-Ux-%@#tfW`%_+ z-!V{WPayz4n#L#lB5jB)!~)g)XUKr*4#*?aX3s(O56PeBx|equRFrO6zAO5-l&-pz z?9c00)U#7!b{^STd*A?pZt>?U)kCJFM!+Xd=b>gE2~m{#v|(iR6nL_O^OPleju_MT zLdKxzh2jxDv+*KGZM*6Ih{kPWm=4VH`A~2rv{$(6k>5vT8{phf1?hG)ukEAnl3~+x zCo1+OJ|vInFb~D()dEKWcboOUD{720L$hse&Xj%Ibs;qIo_lIA_2R{4xAs(@DG1BF zaCh(*!as=64ntU9u9#I73#jZdW5ue!62t`)7ODce53nc}5%e3)tI-{z6!e?kDvvOmvXZRGdR_k%>KMp}%MhR7)YuBwZjG|kI0Z!_K6FDPCUnuGf_ zWTb$6aO3UpKU2SLPcrP7NlgFg`Phcr*KQN3lx7#bJbgMH+E1sWT)-%FQr*xmm}zDDFhD`$@9U z_HNSvF_bBCHoD&5YPxQSJDuy~_JSiG)WZz?kY(`QpqI9{w)XdhTYo7pFUNQv$Nc4+ zFh8Aq_^;~U{#ip>WM@Z^9!R)qyDM@_f1|f_h9Zpp>i6CCNeine&*y!gOKNZ4y&9|C z5@Xi-?zCm%=|^h%NEow*HG^hO)KN^A983=eT@+qWzVe$%CQcB7-bAJfwgdS{opjcC zjJ|)U+Iqrx2RPh}VW*KPc$G zj7ojYS#)YNKPD+;@~-Ws?N$6`BMwvbWo=EquGM#AE^^_ss-ozT>eA)g8}nLGm&sU9 zH>)?e{N?4QuO2b73W`IRcfprWo3Y;@EYyO(6G*bfzzN(KOK~3xMVG!4o$n9&sRU*R zns1)p=y*o?4WoV0_I;Y;YJk$d@cq8N=FK#YFi0yFz_R$WnwAFkELL=c>4&z0y-mZ> z=o?bR+Kyqi)U|k)HM25qC#EptUxS-UpmH{$H_Fw`SPzh@*Z_q9{fZ=T_?L+fCqUM; z99$_s1$?dn{aZ~>xX0pJIi_U4{7O?3==Oug9aG18VYgyhGKxR*oFA0GtxA1RGHE%d1_YtAi3H$?m5Y=(L$Iu&U8LKB8bMGMSkw_mNZXDNJ25QD z&H|WHjf`V;lzob){V|>{$5W`mSyZ0td-dGc)IK7#1qbV>DIWI{!kC7rl!643%I3{O zjsD7?;p6==4$PG12#2_!>P^&m-(B}X^oENxa^t}G(gSl%lwMcz5* zQ~5C9`HzSag;s9T23IXsV6V73;;T}gbcB(R$Fk!Qqw;+<@68QQ~ zMOll4n8MKOwWDzKmoU;8=)4$ZDGr}A-PpqyWFXFH^{v5yiX;2vUS;S5@2iUatkWqK zsF3dbmkhN30U(aIL{P)COnB?ZJH7@4H2(a=f{(IEaC9pdlLf6L=<9r#-Z{=d+H%KZ4CUPr43Q_kj~HMjJm=_cU) z?T1riNJHhs_^0|q>4jv2sBoidE=n!9jWw2O{acSRpp*;oAgZ=Ua0wH zKs5-OyHbYJjFB~(O4~3o-%hBx@9Qy$A}6MCj2d@KR>$CWcr|^WG(Co-IVb7&5iuiaIhR_3MID~MP`K- zf3hAs&n}t}2Zs9!06a*eYA6EZ+qL`qXT?npDTZH& zS0lL5BZ}cAjGptiP^QNaAGZoJ)%?N5(cbBfB6nq-45vL6CBiERR~sF;lcz4nRhLBs z7foVtg+HD;pP8_utcYxX=i$xHhvaO-K9T9H)wTwHM(p7QgNTei{lHgUymhxOQI7p* zytnvTgra*CL9pR%sw6&P)a6BiWlAGj?^L`}m7t~i*8=rMHR{h1<^qx--4!su+PoG1 zexMqD*srbM(!8Oq0G}jPO9AC#?-J;$K6Hzf70&t;ggJ)0{%LZDS>jB zVd;+E1ktKa(p|;~6HQ0{g3_+wK&kkeJ-eNov74@=${+-j^l2I6fk5>mfZLLDiGE^` zvGyZVi@rsQUH`^i;xoX|f;h5RcJ#O&RG4EVxE6DIb~`eJ_D~2mH)H<-a|~TL7<~^u zg61QS%viM6Ax5Cj3v6<2^FEHq)KZXqI7epAmem8X4uy5 zHFS4~we6NGxr!bF7BqpuZs3PR8&BuMH(zsr`VZ1}G+|6RSzlWwQ?j+mwU;wXJ{tHn zH!OPmccS_r&|+Ajs@qaJ71!O$OgB}Ba*81e+8zPm)A;yh5Z46^xt=U1tqPC&II$Bb zcoOx1L~<#GGKGsJJcWHTn+AwS-t6d1)4h~E_szdsSDxRN6E(0Kn5~V@mcVZ)PX{)8 zB*#JrUpJMo(eG~GQDl9+09Ey?p);g$5^%klOLfl96^{sNjJ;C*wWA}0X?N60QR}Eg zWm?Y|MOEeretH3z>Okp!iE?}*X)UrHjs?ol%H%ZxUn3DQ3ZnZBGtV z(CjD>!%d}AB6c*PN(>Q&q*bt0HHD!Go==t%b?8U>9Zx1msrp?-z7R18qdHkA&}K?* zpcJbY?CY7}Ng?T};?ZB17u9`a9Wj>B_N(AR_c()?=2s@f8c}jc0GoCU$HHM8-M|wO zYukM6f7JezTbIcvYC*A5F$?XbsTi+1`1$Vh^D7(1P8U93E|Y{B(^>^#x$gybCv79vZ!4d|{=vMfTkg`ozRvuwGBP6CELt9VIA!0B9za^0xUI>e#qWJn5mBm~VRTE`?L=ex_5r$!7Mu3r_>(dlUJA0asgKv06?(cp=lCFcC)9%C5BAzLM3jCF0Erp4`G!LKZFah&S1S;fM&Tk``ZCq>_(_lS~8mi?lNwUn&{T&|HJFISK5Cx zJTEYgKX=0K%KMC+$uGC=!W8_o=gLCf{R^`$c6wZS4Cx{8-KO6HgpN-6tO=u|j-VM$ zy1rPN67-gY@? zTb~UE`}pI3JU-yYjb-NdR}{e5GhG-f{Xfwx+X^&nB-O*H|4VuR2da3DyOd7kx+vIM zb;r>g5Vq87v<05g0o@3A0UD-#=&#a5svZTB!sF0->uzb* znohdcTNzR$7VYW`}>c3!{ ze`KitRG;lye-=uFQ|+4$B>UZ+zuTkn0M<}FXkN(}z-i8rGQ~B5cJ?y(JVchMFJaO{ zuQ5y^_A$`(#_+C9Cj!VheWyLQjU9Sk_GfQ<`A4J1efASKFL{==O#G^9K_*ccOeJKI!rRH=5+5|g4(fx z>N%p8FBIPrceHlQDX9!qog$IrNz&SePHrURqddvzW*Wf+FshxfuGxyVx7`#6tp&|w z#8%?9`bwjA{@olj@ei9dKYt1(K7i^!oQVI<=FEMon(z~ovA5ic-+a6^K6N>#pByEM zKH!81?9oC?F&o;BmL=~b9Yk}ahN^N6jZL^DhRuqERok@R=wS7~3gGn>$eKVjOVM(I z8I0GVUjnmgb4uYufX|FBSR-X-&Sh<{Ov&byjzhoFzDl$Bxu+X%bdyWz+d*+6Y_r%F z70_NiIbkw5zdOd}Yk(!w1)Yi{c&8@-PLPzl*<+j~%#USRJJr6*5lysccxMyxn^^HJ zqmQuIPcpPvH06F^{ZD_eYRGm5D;!eP#UV8%VcB(Kwe0(&0h5aU zq4-j_r#fW$_z&SP%vG5a(+g(31|nxFtG4F8r^$cP4BuJ4J3RN?*xmP8T1989pOpEc z)PM&iuCde|CBbEr{o(r-z31O$9FDBIfRZP1KFP%Tf^A8P2)tLu=pXUMchi>7>vwXm zJ8nR1@}zAHOW+UA`UrS0Hp`lhHRYEPG9wysQRSY6eo*NLVa25w3KJVRwQs@CyYz`| zA$h?stK=g&FE(XsNT%evhb z?v_vYh>R>89v?r9$rYf9OlZHFA_&yzz(JNGSli24gMMJ3SshM*MjuXbv~J5;tPj~J zXgtLRZp(a9=%LbC-H+h7Tm5XCvwj^4df0fIJpVF(&$FKs91abX)%LIJcT>GszUsIA z8aLd&ccT31i7NANOPJqdnG%%buiVMu;gLjO=odnH-p=iO^m#V9Up{!{j*YF_K7c>f zi^rFwZoBT$$$QLy^29%{?4;vVNJwbd(}qlnKkfVPIlqx$)2b!R&Zm$DT6sb9b!f%Z zcUV!*ol*#H;2|e}#47~AB4|BJ8j93#XS@&KhGwq{{_qC6Rhf%+NM2RN{c2__>B~1z zDAKM%>tCKjgYY1#H!XcA{<22rR<}q0C*c?olIfn0=!8MWRuNz?Ry zRT!RAk7rRY@Lu9C6b)Eg6?_@+C{gM&-U^|C@{w9G;WugczCDwbq4fJc%F3UHTSJp&>=5js7UYA0V}Hm zgj_tdKNC4|5=~&EQEwE4P}A}ePivD#x|o~9K$Ia|T!v_JQ7VZXBp_VD$X3CVTok~k zp>OX=({=$S}< z<*bUvX9(6YHcpxD0+};}2QAVmVmjkn@X%e&yH#u!9Ul+0?!4egy$DQ>4JAeUs7M7S67P#i6hbLeiy*mAswqP|u-J-ZR7(?RK5e%H7(Jw#Sd<_@&~uC_ zIZ`V;*4PUtq*E=UEz%;-7fc-oYzz3nm#L1`QB<-?9^C_I=NAROajn?S8fI97p{cOC zl%NYub@+AVu;^PP0xTuS67)&4-A~W5`yLRpY{v701BPN&Kc?qd?LAsk-_($!(V4Uw zr?KHa_UjzFjAmww52}FWOu&<4g6idW$WHneC{&6c5lKIYIHQwF#cilvY3~okABGYo z1RP_4qs`cbwtI7UxKzZ7mKOxPX3L#I+jVJF5)@oT%Uzq`e*_Fop6@oAT2Dr-n+L7> z+cZ^Im@Vc^$wR>k^xaVZ{Inw-R7%6mQ(#JAH&sf!PSBW**}$Dg4-X}j71em;TbS3H_d>2^ z^q(LzCb)c9l&g`1?C{;5lhKTWk3%PA4Nd0WJ@X&uoKCn$IQMT)d4HE1HubQpkTxZq zO*C(8AHA7W8ejHw~ zuM)LBbo7YdR)5aOe{$ihL;lL)Q@52&NnM()>W~F`8>k&a-NP|~%-;$t%8kw)(dc0= zXG%DJb~C8LYj`kQ4iF;7*@kaE3bd9mKT*>NPy5E9Sa;U(T8@m^uA(YjdSKIRwYF3C zDLIPBJYcqsu`16SynG{Kb}RVJ1i604eb$iy+ptK~QhtX|p=Y|Du7!5~p{ym9k0KZ9 z4pGk$p{{qQxPzF6tLtvhI~=Jw9k+ssi>!*_q&lyA(s08P{1jvac~hmUxAgvTUB4$L z!r#ANXT@#@!i*<|xrqcsQsELYqJ^qTjd+kbU%G^e_y!SC{x5q`^;t54E-k**=xFW- z^fuveu+OZiFS`F>c#fB!|GqNrq{1236a8DzDN{yCHD#T2Z)a|_6c+jz=eBh~UVqbtfJIXu+sS;|a=`3nvC2Uyny(fk9z z!n$e-0OBgW=*FrtWG|E>smnre;r7^6#xf|+XTU1tDHxh&n|SfzBuSU<@?bLVayppo z2E6{Yjx5;#dq^D;JlqFuU-AepRic~!Q$XSh;)9w1^1I~f2--Ys1;>{7En)7fWAuL14j3nHfAwv^L7Uo>R!x6+d2G7n z7vR)rNLK&d%pfV0S6^Fyx@6T1_2P<_qfv*toKQFEfLa9+?R4UfC>3IKiGAa=3JC}8 z3Ok{?!;C;Zx$q>k{{cM`(8zKOd<3oR7NTknqxfNBCm7H8O|T*QVRW9Ros5{`s9Qn1 z9RQMAr}BxU>t8$Ky3_e4aZ{~+F?DG_h{v<MoS7-^HgQlo9(SmXn8 zf^$l>rk&@|v8+nh2+ODB+=spM`DWhs36sLhHZv!WHSJEwRZO@Owjq}2V)Y0Tv=drY zOGgE&z6&I@CK$I6j2H&A%pfRV?l42}>bJpN73eg2so3Slq%^?>$1RWiJf%vG9z-}@ zZ|YbFmgd-{@-^Ms>Z6SW*CXL$R#F3r2@%#EN7n8~A@mni47c7)7GPEPob5zt`A>La zQn7$r#n?X9CE;e;7o^`OIz0zjtT~hL$yiX3%DrGE8~S62zWd=+j*)BD{CzO1jums| zeE(Tx1De1nVCbT5R+GxmqF(}jhdxNp^SLx)AV^HaFX5 zKt0UW5YQmAm_#YiZ@N22)Ez&arQ3EYu8cJs;g`2Lb5^i8Pq1ecoTS7~A@0*{&dOaPS^Q0a_UlaU~J6T2jLw`bkkptB5GK&6M08xMLG*x3RcQGW{;mcvY!O4| z`zipDw(}pwBZY{>|!yrl+U-=%zgn?+7c*j&asZcNGM^*H3r!W6Ii(1We0jVi;B1#FC z3Uq1AHaq7{1Dr#kW-|+Yd;)LLfNNxVi|qI6l%bstIquHIr@txeI@SA%ENl)Q-lle+ zE5{?6RohTiJ4KMlTiv%Iqgw9f+is&Y(9v_Zh}&)t3@gZ_4jlm}WjNd>6} zMonph(T5w)6hivjKo&}mk$LWZFfd0OyC}nq`L|Jrp4J01?DR=y3(5kL zJR|V9Gf`kM@*B$h5|3~@2v3MJyJe(xlmZ)Q_oHx4dL4LmD==Inq*2^;_M9$IZ;zHJo$lA=cPK@}@ zEB6nq<3hV|Gbd&2kxYf2s%!~^3R9hCB$l~lGBjYTLA32ctRZfak?m6}bN2a#`erUf6!@j{v8g$}50j?$e6 zWm#*3K&`w`8I5kP+C~$$IvYZXQoJ4w+p(yXBjc{5jSK6CuQmosvo5_had8E4sg7=? zZ$2(6QYudeShOUROfGuA8{#m@du)96)#(Vg-noPYywFXe2qoFaT$O>Wnc|?NaGejb z*^VX;#WhvFvjucp{ytOU-_W^>elP^6a2M2|_KP~Y*n02WDSLJsKB?!^t;yQH$zl8J zMIiA=g5OKaU{vMP3n@S0hMBN_GY$3TlDlYU(mnIhCxV{@WAD``_B6)~zaZlL{pAGF zhb~-pygTnYMZ$z^>wmnBtnyZ33;*%!IaTRav>S@QAR0wW1I;^JpkWaSU8>}vLQoe9 z8x1OtBO{D$yr+P;%_>$A3v#BFAp6LZ)e*&GaPSb_b?^4vq~>!04b!eF6$C(>OFP^#&QqpEz~$R9q;Rdg5C1K7bnX?2D_C#%2) z{3(ld{#&SUKaOP;ltqxa zG>T7SkE2`Ro9+-B@L)xl(dT@$J7*~0qUwE4#pwz1a8JvX2%DYDxUOCU^PYQMAEVFI z$v-4=@3$=68#L*c|F$V5rFe77p0`1P?)puQ2k-s((lYJ->&^OX<@ykf9q0Du2NkISLjA}`|_@VlI7 zzvl#|cLsGSO840=?M3Z@vN?U1YHz(1rARMMrb(_!#aBz%9^l_pTHl|#n^)sy04(RYfBwtW{*H28& znkVq4X`jUl-+WBAY5#{fYhpMy%DH7``uvcqGX?E$RYA68u5}BYt?rMne)Pi^1dR z2k-wRl&UA(cV{8gzDjjt5xBG<(?r*n!pE>!Ac}NT{SKye2UIs{o|Ibyt&AmVV{})L zjFaE&OJS~k(8o%NcjiSCjYy^VV}tcetpYP{AGhZhaO%R}5UoyITFx~h`xZ>HfhXx@YrbwUe(=ElJ9sZ7Z0!FIN+>!ThNnybx;^K}LJcTqsW z&G$OMLAoxpw)KSUEorya_EY*BHkRD;t&VANk?A%v>TR6nL2cNF}qvp!0FV@3oeP_NT?+ zz`+axmUSF_jSB{Rt&brNm<_-uAUfebW?CEE|NCVXb3CpAH4-FSAm7hcu09!m5B2wZ z)nYwvRe8HIMET=Gnav*rlLTmKtiWj~;ruK!!xo6nfah06%XcVTNtxpfp!M%128+~x zlF)gXlX9g{45z_J$V`Fo0e9N}C&nW1%0NDY$eqz` zNVL2|Rh~%TljZ41C!?BSt@IycZ(|tkFcHKSZHg%~?xP;5jcIbvQ-<9^gLW$x6}POD z^%E$}&_T;XPaiim4xH+rO?CdtR$bnvq?fWL+R-&#C+4>{trz9 ziDB-CScT3tHak1tr}#fPA5pA-D*rY8pLgJDc>u%(LXptuZ7Bw5j}KFQ&iL?0a1SOlb67r8Mdse3#PfVdO4{vjRzc=*(Sdd(aDu3PBnfj+CDeTj8PLeVSw zua&#byWRMCf$GTZJ9n?{owWbuyXIf)^n866T%aZ_EKPqAmrg)8^ZyZi zP%p^=x%he?U7shtqrCmijmDzY08*Kms;9ZXKa-va$!?ThSj;>KK4%0JH^bi)h6txY z)~r*ZYMf;ljT2ZiO4Fvv1Ft;%xn>8>u*dvG1Fd&vzGtCyL#`^Xg3E0^dqA2}t+vHYHf9GvBJ3j~b z{~oUH=N&0I)Hpz{KmEF=-6A=o^V+@Eh%eA*!AXNiQhDYqw z`d^XfEiSYnp_OtSa*gM;XhO(qqE)!Qtd>G6W6xc&zxq+I5ZRows9e&!JoaqP39qvs zivz|QuP>DeNkQIciXECSYfmk41~P7--~IriRqyn5*@6~JBG%F;NCBZkb4RW4mug|q z?=mD}mwFIv{`%*uMX$Kmdc16%Ea{?4CHICX%fGMrBv6*3MMob!&Ky42=T?9DS6`K` zv-7>CjZNN}zK2&FKen*8R)1;j;#Fxobd1h^k8LF@t#2sS5v>SH%XGDYugstgw{BSJ zAc969DWOXUCS)kFe4=Rn99@#v&NagpCf`TpjaPs%CQJmKO*yNFv8fe+iu z><4EtM#0u8r3*JWec~u>Km%y)TGeCjrxETKFyM>kD@6bb|C86$N6-%ZfBw0a0#+{u zZQ8XrK}vrH9{H8_7d&63bRgXR@)e9Vbts@=eh6;$f~Nk2q9D}~wF$GEFxstNmaWQ% zP7+3+e6Py=!qq}~5*kB1o#czmOgqV#ZManfamsCob>Oh>6QHg*PKjjI?fq9va;`?~ zOzIAq$>!5;)KJbUH<-R9dY^7_1l-eml<+^b=ZUxO5$7`sYEDMpBPJC#72K!}4vDoo zS03RL6c{w*^=m~(#k#)Jv2< zqMr9+AGAANJ223)mSP!(?Dnw4JIOWe;g&-! zcEU0H`7>7%rCa+yspX&dKT=^(P)X`#Q4fGeJM%ad12BFZZiR4m%3a_=ljG2@Tv4qI z^`k~eJesc`_ZjmN1-0Jz(w%=sGUTN=+X8IT$Q495dQ)uEx$>$Uxq1q2HRg)SAQpY9 zTMX3HaO1bKsIywONxj5bafVc80~kwVkxY-Lf!NG&9i+ZY-m(Dox)UCAzeC&|`0DnP z$Bg#CaQ%YO*3D4#H&K~)ab~_K%sFK68ML+8MzKTvjElteD$RoAS5>7g>n6hOQLJJ$ zZJ43OjU*I6TJ^K;I^bq=%A}e~XEMAA?bwTuB`e^Jur)a-+b7KJiIjovQ94Lf_`s|k zgObOCGc%6drUugFws6}1x<=c0cYW~Vy)HGFRAgHuVwl?`2r z4#gR`bpw17Lf5_q8VbM@8JPi>YQ-J&9KRYl_`p5KCq;xeqnxw(d8CnfGD0$wNpnV` zb4L9J9R{ZA-B=-|;nIDD6GPUO54;vTFnjT6MwfaqsG0V9G8B&)qnLTxs~;Dj-5@G~ z{3ZP1os`1Kj~b79{nWHcYAnhjsB5CHe@Ofz5D{5&cwNU`ZHG?qtGSp`4NvE6ufsn?g8g;jhgpJ=sDrm#$8Fj zR02;}&i(?z*1xLljK0@<3CYa5lt$bs0;sJs2cLdcGB<%!T2Uo`s5ql~{13Gk{edwe zI716nai5R%mU7-Rd7wf8!ZoQ{e+EgC5|rk=(V&4BPncDHOF5<561C7X$JP(Ncde0-YO&woZxZb5oJwA$?S_jjgDyOclX zqE6My?aj>==YHi8W9Q;~9G>1W3fVcXW4!kQw#QOw>@2TAi3$ST3W#EdffZl_d>Qyk zi~>8E2MT)>3`vHVGF!ZMnDn>bR`qk0wk`b2P|Ktf_lsQPp=wVz2Zji7RAX?F>tbw7oHS zX|Ui1c{{+u>{!&mzPOP6tm03t%!JYC^Z_s%5RNkC0FG(NN&}e_2oHQ%viX{buK#f; ziTlRNk{<`;w}6B>I=Z5^*%TRV`zLf%NMUva-^pD56N@zxQ8C)>*dTG;wHHwp-mW=* z0d|8BKLYAD*Gfm7hNpm#1a;0ho*)r&rYev29VJhcnceh(2j{~UY|L`1U7yFa zLZ5Ra=hDZx226F zz{^M$bIFyD#WR?Is#r^YWKVrb-45Nc$10%mNIM9(dUB%~s2dCTm_bVOYw9H_3KwQ> zJsjK1H$R~&_VMPL(l#l*vv}A=zz^lfK{P%_Zi&@brXZh$9rM()<5m!F#K(_$tS99j zNx0Ng70e$!m=$>a47UP1lBZrg4sQ51RRP)lH5|=-!xU9r^7&pqXF-(A7=3KY>VQ^` z9vAF#c>3jfRzZvFM47iNvosneyA;l6RAh4E$f*mA#yUKJ4dYf217W3wf&2jY*bk{| zuXRG&p5s35vY@u6I1t4wxzSupL9kOhIg`V2X`D{ZTbwEE#OXA*;0|U;rx%)5hSxR@ zCBJ55D)*6nydu83gQw<2svCMy_5{qN74}ptdPE!+)CpLlEx^%af6HQu(=&l_-zw9I zvehyu8~9iaCP!VV47S_2JO6CbS*z#q@h+PSf6Z~5aY`FnQHdV{tXuWs=ZdB3HUfL5 z%YD>NeiCtffDCkgvyZXl^+bq=uGc){E^aozBcRj-026^zXuQ~A;OZpL7zLiAGa2sg ztRHH_P}27VOlzd5$C{TMHugFlsH$hWpoU)F5#(AI#5!0fV(O1KS$34-uo;5wXxdOC zfDfT##+D)!VX<#|BGZf#)Y0OBEX$~!3`&m7tcE4+NLZ-?&Fe^BcKzOk zcmf-DQFdlVzE*X+*%k4tFGpwML25>Lg)?rsvBCdMi)#;3((avfAq4+u@6IAWsYQRl zofjVif3U7`TY&w0@|H3bT#TRiaO;XMgi9QO{t(Ux1g`KFZFPSm*3`#AwrobMZU$7& zhN>{-?*3U&h(Dn2>1T~j!b{NdKaU;GHYPc_VhDa0|<(54mh>5>xKt z>t}4AKeX@fqX`Ko{`~lCW7Ec~wY7K5PwZRut$fS^EfU5QnDyv%sXziQx`%x@JoSUZ zQK^R#fI|*lqBpGz-Xe#~A#`ywtP0q~a^)HoL%lN8UjpS76WZf8wIzS4Y8!*4P{HXF zB+}@N*+*|?&g|2jHeNf2XX2>7(o&tfdh)Lop>M;9$#G+Ev5`-j?l*uU|AWd_l0tb` zyv!dvwyy{4g71F5JyvCQNDom-XVC8eSrrzQ!AKA^>ibN{{x+Qhk@BeG81*Ogc6>FB z$2G;7fMFF-btf?%Jk8IG!7jv^QJs+M!&zTygi9$=A-xz%O=mc6khXH{dCeqjs`Qth zk})#LiDZN0f5A68CDiep8_gX zrX;AqQxzx)h&VcYI^lO8kWwr@cTGHP8emxWhEgLI6oCx4D~A=?2fTPaY|dMMg0ip= zgPt)nfFF>06Rp2VFa5+I4x*lK?(c1P&!aj1HmUY3;)P@TSv{sa>@ua-J;7?=TO23u z@$wxQ;DU!uugn~#8?Nur~xl7PCpVz7>8 zp)^$0;_N9i5?f9caoGC~KRgRCH5m`83dlo(7q4weWBbX=P^WfIGObk0%WJwaz`SW& zI(-nN&w9Ra>ypJf>bG}H7PP8va8J9?Bj_XO<$^37`p!MHCo~ZGAL6Hm6*0>7k5NzH z4QGYmJB68_Cj$9{xRtW9KjyF_-qU}0Z5}EH{Up!46;tdP14^2pUq0XIn#4=4yk1k0 zp)Nn+u3P%$tto9!59m}j1DNX{0e(iE-uQj%m7pa&xk2}2ihxIcLJH24#iEQar z{C8#xBJ$s?-EFT0dt#Aa+`m~@sP%0W$w~`USJohRS5-se?^I1tr0}xs%3++<81Y{% zZJ>vvFN`fN;??b)X1f~`;gn9$-Jb&`>5&QhRu@~ls zf{2w9?q{Pon~OMw4Yg}RQfjhG9aFD^M-BlJrS~MdURAdr@|-f-k?46#4Nj8%wJCFG z!vFWU`bZ9zwYqSNTV%tNT>Vm=ct6sAEZ;M_WtK{75L|V15gI*Fg0)b0c{^py8mx1X zJRSDgqX<$DH969WZnsn8Dv7eO*ks1EIVqCtAg?%2tQxt~a642O783lu?RiQ51*jOG z2O~fBq7LLX7~R5z6QfFV_->MR{Nn%?YnMi9|@}GH0i)+xd)3K1W1i zNwtp?Q|bPS8YY2IKV#Z*wB!&A3Cj5L9=1Tg``qqb(+k&!RjYq(v4>lqLkPL3V4DJIDs`r1X-@q!P9~XQz1wgu~ z?qlfDmVPrKNb98Hzy)hp{HtX_>l8i!Hqa$>zBUM99XjNk9xVcrKodJI9}&m-MlYeetW{z`4*jYvise&_mI^jB+LP z3}K_*w4H?c2AH*6M9$fS975pMY3FB*gO|5ky#}@dvfOSm6wm+!df1(mT>EvQs($ z!etoh9*khRY7Cu#vYKf&sa}t~e=HK3QkJD0^9hkzci}u_ju(I?Tb7lxsvo}3cEthN zP2iKkX;H}6JCDd|31Er?sTW_YT;4M?#gz0KO|808OY7sZ4y-wF?$;Q|Gy!M*h#uXz zR{ITCGz#V5)}hq^eFs#Rn)gWc>(3+xfVsLc&Uz#)v|(!zK#M+Zv(g_86WzTT{WZU_ z6!el7$0Q$cZtHYedR9Gd#CV(g54adY-4>uxVJxBQBS4v+=0V89E&)^w+CZCH4++YW zmU=wZ+tc7SuJcP+Z(?dnV*FXx4tdqRiKL{a#s}47;jvBZFP|#TCnkE`1&-@S!KFr& zYtVd<%(d==MG{8-JSW3*`!+F|4npEBU@&EiI(N*SU7R2^MLFW$X+y;ir0^}El|1DL zF6^Z!UY7t9w}0ABVTG@2jW+vdEJV1Aq>3GO1)pDsvP-PK0fURfE5>KcmLBQAdCFRD zpS*p%BQh>U0{Rnb_aSAflxzI9%V=R-NCyp^`BO>Q8QEvoPj&YMVf*}FoE?0n_xUpj zr>m%;C_}MT-N9%OPD9^TH{jMI@DvvS$O!ZmW1s@H@%1SQ=Zbh{dn*$67x%FxY zuwmd_fxaw=N60BN1{Mc2Eak(_LFy(c_M5TEgW+b-9mmAVdx_OC^Md?pU|@82e6F$I z=g4R%&;Cr+mZfI&4+h{+lvWTpIx<>bBP7{cqp32kC?eL>Ki;hbNtYh1=kGTCtJ5#I z3y;=SP>&R}nc8jI6A|@lTz+r2#koTH^Ob8C%=ds=P4`<&3JUFXpsSZ0RcPP4|EDDu zOo*mbL?=j)J1JSZv08pgC&~Qlw-Y>#f}c77pJ^p(9@d2@j=Fc>s z@SfRjCGbDXX@j#WOjp^$;W{5*@yxW!tygl&vIy8I*s~dXUbl3t<_^@cO>4(rg-uvR z*4+Uy!yjNQ5N>s`KbL^cC{mx@xoQU-oTg@fNd2ux;Tqtmx1(t_(~r&=%;2tSl&Npc0c13A(zL=N=wG4kJ3WiVNI zsgdT0hDf<-khL1Cj6yz4+tq+Y98NsE?YQ@cEYEMY!7HiGwO|23h>38#>0pB>g}I0t zG2k?u0PCZ<3CO1safx-_Iwmwc&n?7%yn3-Ql1|0!G`w)odt{pyMwX~>)NW9l&)4rkG{1rPTyI8zQo&$};Q-gS47iP1#z%4=`mzV%zVewTH(^DVpe zTI%m;-qhf4MiiM463Sdod&6zi>vG-IDMSLW=(@tkk~-(kmaPNLV1g7BfbOV8v8^wK zddhXRRBxn%lb86YIRd%n-w#&xz{@7fY}tc)?bwXsqFnafDN91%msCq0_YT7ZSZ52- zHRmphvBu#PfB8LG7CrGJD=dJOZ`#Uj;7;pRlDzo8J}jBqEVpDB<1El!yu#tbZ@>EK z%r{n%PnuQU7CMO^DUk#|_{Q^Kn9Xj- z2R}q$`WdRWI6sBwew*UosWu*D!A5+FNgHJTmb(6-jGMt8h0p`Q5EbXlUG|oaK>=6t z-~+|FZ~csD_2NX)^e?=2E8nTr;?XCn&F`&iQebl`NmZdtEPw8@%zh6S>CJEPpk(oq z>l)TCByB(9*UWl!pv%W(?_Za+5io)WeIH#g;!TSNbhrCw7>H2br@Ge+i@E&tPIv{) z6KDlS>(OB`)CJ`*CGc`!71pEbsBbRYfToI=*_gVqSb-Th`n$1n!Pkxn+&J;oJM1?u z4xEr;)dt{E`JWf3(%xV}+bpv8!nc%f`l2)p&r1f~9pp#{%=Y|r5h;;!F0xD&Ug*I% z(jnRIaC?r7!JE;WEZfj9pgbrrk@?sfBGZ*MIA*-~&EHpFkV^a)3+K0eyJ;8AffHVV z+cH^XyGGVErH7;h41W51<6Cfrvp|E=D&ZkVc%4PKDDXg&ZsnZ%DV%7D$9P=sf6;5V z3G0W3fZP6Ca=u?_gE(c=tWkHlmZ~Hg;pEocV#%~*A1+L{xKikc8`Jg_3s!*UP&jOb z3f4}aIlQfV2U)U~)(x9^$<<+hZ#Z}X`xjohay9tQV0xE!Ts_J_4sdg!hN>x!;s9`J z%#+o0+Pa}ZHE0A+ZHC6l=ESr#xxiNTKJPACKOl*!kj^Yp;$A6th@FrVGSd*s>266# z3VlU~*!4%E|K=;?8X{u|Y|6QIXeg14I?O3eOOD8vUJIxrfSC0#W2pS>Fa6tJ4-Qb5 zAkKN+oZndVr1LBMODf|Z*E{_B>m3m_G9H}QFgPz`w`M#^G7g{M>blhsQ*CdXS8zHo zbUAH#O7@-47TcIQeCqM^)}kSYN7wwHzH;+;ep@v-M7MlSU<+0ty;)RCF&BewYqPSr zB8K%T_+9)>c*Jfl z8|@;PD$h&dEYMX=DA`k-@DO;Y*;seZ@gp0~KMb8Lvl|3!c0vjp(*y7KB@kXUX?=B; ze^lN1TXhvck`D55YmXjWZ>X&CN>xmY5$Z2anY$9_b5iz1Qk26YWJ0=By9C!>FllH| z?vm~55SR}nohX&e^23nYkwD$&dW)VU4t&OBl3Nt`9vU_ymz(B5_v z{X`+y;DWnCteU_%4TYN2-6IVbevaj+!`Fn=JPvd?)^=B&0*O9CIRs<1uDT6wU`($7 z5BM=km7faKK44kGL#HloPO-~D*>M8JPTW{0HH`LqICREhYvHi}pn4rWvuRgox7n4B z)Vpu47Q8c4(G}ns+L{cBu5ektyr-rTi!8-CU|6^GWld#B_yle-s*t(2LE5xcXq0-N zMaY=Jalo$0kN7^N&iB9{&m*@BGe5Ca3+H2kQ%!?kpLS?${zLnpB(;H!B8VEUdiX6h z!Ww{|nQ#MP8Wv;TlY|iwWr-LGdp5=40lEk&9y%HjRLcXQi@XtpGQ)vdP^|wle zmtmGWND+02Mqrf4VE|j1yrX@I!)QA4VrWNFl5EjS>;e#w^)0iM+wBP9;S=j)io0^v zCSiEXd{;8NcLBHE@Vn6u40Mb2F;GLD;hwfhl2}e-%GIMy1$m12G4x!g6OgY00UKA^ zdx^F|0A9@^d<9Z)L)vY@9>AH_y)MWr|43VYU$!|zMtYVs#6QZeEq;jJGThuhgk?ga zzd%d8(W!%+4mX-m5^bAwkvIuT{2l4_;4sI2al!h-MW|MNJ&@OM)WZg*aKhx!`8ZwJd01ec5uGF zu5xU$DJg5#>@_>z85kNaP6x3H+%{>ysQ<+NXUHDiIm367=YUkuPp_6Onv-O8VBX-xf6+D!){0nz^}sreEBWv&PVa~H_{3iloxulE z>Z4hRur;Yz^>+ALOSL3~f$5gm5RBYv?u9#4+-jA=|HB01Cg$&GIY{QydTH%od>Ev( zOpyb*Vci!zN+N@;B|Wlp4K*=BR$;ox-R2|161SMhFlyd`rOzZVmQj2qU75|Ml01e! zN(dS}g{DX$%<=J|qT=2RrH$AIZVN7`O!z^(9iD&l2%v|-6{UOU41D0K*l}l~2I{XJ z9>|}WdZGvm?Wv4i!4ZZEqMjB@pR0w9hEWs%|+2hqlOjv`OWM1>Yv9FuM+LA3-(UO zXv@fIgCrQy2CY%s8-Q2?X31$+Q3JL9s0hx(tsij1ZHS#KTZscL&Jk=q zTGC=UUMzTWvM%^JC<07-#MXdkR^tCkc_acXSD7)Qkd7g8P9>T-=l}R$EePg=LHCpw zhzY-`ns5u%!(3!1V>C{^kyvKUYIsF+qFTz%(Ph7+FdREyyy)(<3d&KEm`ZOXD6Peg z>Wn^*h#8plK6s@DcsM$BUQFy=!hgdLp&XuUgPvl6g4aO-(Z*mTv9}XDGATzN%7l3| zGvzK7y;)xhSnE%CR(b`VWZl-Y=SAc!0!H%mRn?%!6fk02;+bR1bUZqt=9BBY{O7Z&A8eTNeH(dP<>)R{d6&?@$M!l{5XWx{$nZ-|9j$C`1IqexBz!U)q0Vst4OzB+E%cCig@8zc85szTV$1Ye;WrI!@bWKYgINB7 zhf$KQ_D1!F`)J6w%K2PF+x@S_P6aIvu`Mes17+bMF^$*AQCiAkRk}<;Q4bSZll0JGs7nf4$Q6+h)%+ z6Tce{#2MvAaE92W-L6HMO8om2KxhIkAs-Z=U)lcFR#!cGt-Wl^YZsqAvLvZqesLRNrSbqE z2@^dli{yQkd_HmBDTC^zD<~(6v5UvASi73I`X6b2-1Pd3Dk5w+k?_5W35yCDV1L?Z z?+;mFDo_SS;xn<9${_MBp12#f5%6Qx=4k$+i*X6Vjl~`WW2IgVC8X=@c%#?hw*e=k z%2pd4^ZazvrC)cDTqx2;6!Kp|D6Hp-ehXg>ruW<2TVXo9e3n}vScUG9;dy|VM%`Ye zG)3t*!3Y=4tEND~13r57e6;Let(|18nD?XYMcz?W#Ohv2weVob*~Fxu9I}I-%g9P& zZS^t?fW}dECj$xS9r++Xqq@zF;bs?OJ7@Hv4uXmD2%v$a6P8nn=5v>EPReNTxb>bt zDZ%Tb(H&JGh1+0Den?pC)j!X;f4W&VAzJbN3jGrYjF`PJ>ctG;ELcp)Rc=t|QgJP> zSt);#r^;m?=q;O-fvu0R|msFtsm2Jx<2eL(3ILB!#u-Tu`f56tZwXI zow1{B?@cW&s1#@hg}|a!t*=moQ0Qv?K2UZ2tg55Jsi1@=Gz!}od2nNV3}Xq+1H2V> z5zUIiZNshRWVL(abCmjGhA}Gl-}a{`#waG-4C$$V66yHhR`5h{UGYQ{oEeF?0~h87 zKst*HRC?%IXlgYwBbu2?QXE7_fkrFj zCD>M59fX-nxdOVwWv0fHe z#Naku5*Wx=AUki^{7rrnxog{|`*?nc{8`R|pN?HBfcOjS@^?Vr z?Y)=1{_ee-3+92Sc)hw?xDbkf(r^Zhn5;lB1rHhf^iGD%B=z{ zau8ll+0<5C_E<~?G~9zvX0i!pUlcJH0KG`;>fa7?f_P)@KfeBS=TreSjklr<@Nn3H zI=hYGVS?CL+4n<@oM8(Ah>Lm@koH)7>w+cAtd*{u*Y(N`H)*dJi$KxyUbw&D{6%zI zBsQ;3@@P=ZS=vwZPU;x#y~HnlTad3?a(oxOwZPi9*!|-|ye;jeV5O?!19DW|Afg+7 z8}pdp%qTzk8$v-T0a#G2(M+h@WlnUmM+&qgRJa`5*#z+zreKYeCI4m4&49bHw)!QV z_a_8v24;JpPMpot*H7^heW0ORRki_Zj!y>y$>UIF;-i*Tm~7|`7fFNCBM0i&$n0qw zY{9AIrZ#VKygGMwl34d)f9lqH6Qy<3uSS^9??6bQDt`e#Pf!nmpRd6Inl+yX-}o_- zIM+Iz6pHF8b}Cn@m@SLEF0vVm{mWwodaB>4q$IJs3Cakza25%(TbyMFrX?UzHKvTV z&C5A=DVeZVOcR(aUhN7UY!tw^0$?)+;s=j#<+`eJfbAwMsAR!Z&9Uei8Kc~w%7;(R zTq?6e&j`(Z9PU#3rLC|Hm*jpqJrGf|Yk?Hc=O{Ba*&-cLv6x9IT0~!OM$=tdFeBNJ$`n2WL zv#N*OXly#Rk<>@7DB_?czDXb<|l zRaT-l)B~3hQU=O?6gVO+bj4ofg2u;Byozw9=q6ci8)3W?0It-beSRHEEYu2RS zAB`@vbw9NY^>6;i1FaPmtd(k^RqCY!GG-@2R0zO7#)NnRhbRMbyS1XkDkc-zwA9lA9Fv_IpJDvr?H{P+t^=rYA9|d?Uk%SzcOXD2Y6tF`Gt(Tj9{e{J$sV0>b#jn6 zb1%Y3ERdjl7SZ#mAtG)z%~N%a8w;aO(HCiY6d}kjmnEdS!A1;ky!c(=?Kt<2?Y@Tx>So^e|1{vq;FD2%ccpa&FjvselWhuA zRW-x1XfS#&noh4jHd#oNrE~_bp~QcW?32a5@F4&_wZYp-n(Gju)7CNb)7*X;hOP{d zj70|zvQla$UEO+l=jLa!r`a%{%lDNZR26eiV;8mpW7~2RiwLDv7pK_A*khZ%2aYxQ zP&**Z{B6`7XUo1B_7;c~#H!HX(9kz6Rkz085d2OiCPvuL5EIWXy@0*cVhbM4z$QAc zcrf@6 zdPkMJ0DKMul(vFLQcxRX6uA6%EBtAE7!bD``(YBcAlzU8ipuv71Cs!T`6wk?P6R8k z=>^f^sC@V~it!tEKz_fEB(*b^y{XEaVmYOd6o#ZD&1IjD4YB=4d&dnxmjyXJr!@N9 zW_3BZ@|r>qjr#Q7B4}Up53+0WE3%e9I+m|D8MpO7pEJidRogASHnOkav2WncALoHA z23@76H0DYN`St)c7h4REb&IDh4Tub|b{BmT>7$U?r! zfsZ0WQBnHe#T!?@#$+h{$-sJ=wtaBgUJqx>*o`c^n#4<>22maaRP=n!0s9C~g0s^B zJHV%)#%QHQiFyeMIi8-R*(shCZBmO=xIk2_iTywY3|B?{fc(EV}7mt&&X&@J_QkegI5i&@5`Ng(sVy0xo<|2(IU=WyW2YSn7?dmDq$oMH8_ixR~kMeW~AZVV!ZVm zW#)4Qv!!0G@s!D9O~|=CuvtR)w|?|o*Ura}R4t(13WY@(*x3l^YXj7X1tV^A?Elz? zc>y+}4@-(J;~q7dDWTR}acs+x7rB`j+WPyyC71Gz#ml>jF9sCGx0 z@i6?Lc~8~2?W%r=t%PdE=d?auTn!SrD004PM$1imUTF z$Z8t&wAnc+4}W<7{zFdTC%IfcBY&+MkS+YqMB4%a?miMz& zOTJE56u%XWTb0)JWQfv;w?azJ2W~xeXyw0JzZYHbiBRZJw#k16FZ`$aFCp?Hq(y20 znMqnD=t-F29D%=)URNso%nD>sUtly0r&kjAdRo1lXlwt9r6Po(sfkkXzxqhyk}*;s z`vGEE;ImGe>OIpQzA6)18Z!rSsyab_U5whU-=o)vk`g%JIjtA`fc@Gdj=Yx(e&vT8 zXvuIp&9>Qe_(5UHHidQfdAqWqPea7GPpcCO*V(K%1^_BVegRhBqCbST)Hq~ReiThY zEXC2Cy{HR3?I(q@Abp$#DSX-M#4&8AP>;Ix9?AR1B(U88_g1-mI3XqA$bmi|tnO?2 zrCCPq5MO#MrlCjjW>$#q^0B*XvOu*8Ze8cIqmELe)(3f{&Xf$B{jOLVIt2fO8HrMW ziutEGtBgURPO}N&Na=Hj_k+(Y|KVDfz588PFGlfCGf!01#>9XYI_jB(OBF?z4c;79@EqA=nT{#`T<@xT@_iSzkRlWKz*XaMR)=v<& z0)M)PdQ(-3pf_N@=Cr3`3)KkyN-EdSyg+lKZa|XgXPO~-rs2<2=q}~jzCrg{$49GD z%ULBQoBuew?&p2X+iP!P7=TFlocnNQ>Ty*#5o(B@8b@}CTr(?kZ0j&>m<+)ZlrsNk ze)?@v63)CY;YnT8(Vtfa+zUu@dl%@oPlslQ{;Ty2h}SK_6%aiLqOAo>mb`%R0ax?~ zWRs9yVc>2#euR<^=+(fb##E%ZSoJoRfw62C7=wj%>nCXrDK(EgVI8!74iHG(zLccE z%X`H=PJ8-hxga6*^*E&Wc^q8ZNOT9tW13KNS&|%#t--&&(dVMx0(b!{;GhjGa_?C5 zqybd$$`lFHhC)9w%&zHOL>jtAw3^FkSwSHO6#Ucm1A115ZOcg&KaB`N1a#!(hXBOw zqK{S8tmS`i0AHX4rA6zHTu~O+67*$lNI*xWG%b?9K>uN?>5q)KEV z;t#Eif*_>TypEgG9H!Tnn&Ll1#e!R_VOQKD;Lzu^TejQQiT!}B9znV%Z zU?T;X<38g8;sC1)1jKB@0^C-LGq6ZSN+gWT84xXCy-9zsH|#h^r0Y9YlEuSOA+fl! zG)1?*rhGCv>~-0Lo0Eaww1(S)k=SzVY#rI4tR!GT-x zBWH+?oQJAEl)F--gzU2A{j=-dd_q)Ar5$8TGeS3qEG}O&^ma_SveV8)*f~ zt*BF-`UQbKmj_1y)1rrf?X1iYRcBZ7w=14hl>DaFnI$0lN{db8`vEPQs|PozTdgic}nest3EALVyw zwWu!Q`)lpt&aahl9h!c8P#ZlrDaWdp)O-t&uYd~^$TnvHzD{wCsi(lmZ7;9g8!$4d zA#oDM!d(>;=ZfZqmm(jxAo42!#s(8aEg9p2Wa!-kneJTXX|~XS@Rn2zHa%pbU33m6b>g#!}jgXEJ>B zMec0gZPY;gfya?i*P~eh$V-N}ZcP`VxsR;PkD;vvPFfz@mysA4B9LBoO+5Xd_xtFz zLmWW5LvDl08QBkZIkkVQxRy~vZiV|v@RuMPoY^FYW{N&Wg1YiZ4t3nzW@Aa5H;ME} z^n?>%1$JZ9qqR!sE zV28LLHpo_BUeUuXoq;bHW6D6M$vB_UiOp|u%k2RL4nAz)r$_!6PKiedghBnk zx8%G+{ab_aO8WJMAw)~#+Qz2(8~1`= zBJ@eDc#hY*fa-_@WvZ=}ZU`Zx#Rg34&lD}n5koo@ryT=68^n0Saf{LBe6QWWQ<1bC z7@y^rzTH8LGmG-GzkczmZ`4%G|LyoN@4VCoSaA~S0G=s-g8N*DHj=#3Rd=pH?MfMt zZ;};MEq}AOL^_#ASW0m^aCMK)iz0-29=)^s%+Ai$Ki&LV`&@NA=mU9rTCr?YJ<{R< zUIHc!2#*s30Y3&iEk?TK>>+ZcI}p6zrhbQDIt)skdHe&h8PP={Xn7LSKA~@a-^F`- zW;vDVQkWB+IPdV^j?(|j%oqH|mI;v`n5ZK>H3B~AR&>X0psP?2fx$=^;?_cqKvJYm zys&WhrOIG*s}%p;S_T2}&3@M~xT?T#=Qh$l_L#wu2i!h(#)AQ}13N3E&%-ccpE{Wu z4Z20Ql#%Gz-Eo|ys){S(5E?&BYb&5}uc50U$~Ce|hNO-RG}bPazKspQ<3y${ook16 z$BPShnAul%@6)GfxmsUgxi=s&Ml;`dfeoJjA*x<`cCKsz8X@}f z=&}DvkK%%-60&jZ8pmOuXz6y^2QRg~>>Ss_=y~0zLVRJwS?OuYinJC z4h<)6cIo=WMIH2%)?XC>TCFb1qxDqMK(oKpoxckZ(zX{?RZTEhn2wZ`#qP5Pu0L~> z_5d-8VqPKpuvC!0~!oyFrdMJ1_K%l zXfU9`fCd8^3}`T*!GHz>8VqPKpuvC!0~!oyFrdMJ1_K%lXfU9`fCd8^3}`T*!GHz> z8VqPKpuvC!0~!oyFrdMJ1_K%lXfU9`fCd8^3}`T*!GHz>8VqPKpuvC!0~!oyFrdMJ z1_K%lXfU9`fCd8^3}`T*!GHz>8VqPKpuvC!0~!oyFrdMJ1_K%lXfU9`fCd8^3}`T* t!GHz>8VqPKpuvC!0~!oyFrdMJ1_K%lXfU9`fCd8^4E+BJ1KR(N{2wKQaFhT5 literal 0 HcmV?d00001 diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index b2d88c7..f3b1b9f 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -34,15 +34,15 @@ jobs: name: "service_account_credentials.json" json: ${{ secrets.SERVICE_ACCOUNT_CREDENTIALS }} - - name: Test Tahweel on 1 page file + - name: Test Tahweel on 1 page PDF file run: | poetry run tahweel ".github/data/test-case-1-page.pdf" --service-account-credentials service_account_credentials.json test -f ".github/data/test-case-1-page.txt" || exit 1 test -f ".github/data/test-case-1-page.docx" || exit 1 grep -q "^بسم الله الرحمن الرحيم$" ".github/data/test-case-1-page.txt" || exit 1 - rm -f ".github/data/test-case-1-page.txt" ".github/data/test-case-1-page.docx" + rm -f .github/data/*.txt .github/data/*.docx - - name: Test Tahweel on 3 pages file + - name: Test Tahweel on 3 pages PDF file run: | poetry run tahweel ".github/data/test-case-3-pages.pdf" --service-account-credentials service_account_credentials.json test -f ".github/data/test-case-3-pages.txt" || exit 1 @@ -50,16 +50,16 @@ jobs: grep -o "PAGE_SEPARATOR" ".github/data/test-case-3-pages.txt" | wc -l | grep -q "^2$" || exit 1 head -n 1 ".github/data/test-case-3-pages.txt" | grep -q "^بسم الله الرحمن الرحيم$" || exit 1 tail -n 1 ".github/data/test-case-3-pages.txt" | grep -q "^والصلاة والسلام على أشرف الأنبياء والمرسلين$" || exit 1 - rm -f ".github/data/test-case-3-pages.txt" ".github/data/test-case-3-pages.docx" + rm -f .github/data/*.txt .github/data/*.docx - - name: Test Tahweel on multiple files + - name: Test Tahweel on multiple PDF files run: | poetry run tahweel ".github/data/test-case-1-page.pdf" ".github/data/test-case-3-pages.pdf" --service-account-credentials service_account_credentials.json test -f ".github/data/test-case-1-page.txt" || exit 1 test -f ".github/data/test-case-1-page.docx" || exit 1 test -f ".github/data/test-case-3-pages.txt" || exit 1 test -f ".github/data/test-case-3-pages.docx" || exit 1 - rm -f ".github/data/test-case-1-page.txt" ".github/data/test-case-1-page.docx" ".github/data/test-case-3-pages.txt" ".github/data/test-case-3-pages.docx" + rm -f .github/data/*.txt .github/data/*.docx - name: Test Tahweel on a directory with --dir-output-type tree_to_tree run: | @@ -70,6 +70,8 @@ jobs: test -f ".github/data - Tahweel DOCX/test-case-3-pages.docx" || exit 1 test -f ".github/data - Tahweel TXT/test-case-multilines.txt" || exit 1 test -f ".github/data - Tahweel DOCX/test-case-multilines.docx" || exit 1 + test -f ".github/data - Tahweel TXT/test-case.txt" || exit 1 + test -f ".github/data - Tahweel DOCX/test-case.docx" || exit 1 rm -rf ".github/data - Tahweel TXT" ".github/data - Tahweel DOCX" - name: Test Tahweel on a directory with --dir-output-type side_by_side @@ -81,37 +83,39 @@ jobs: test -f ".github/data/test-case-3-pages.docx" || exit 1 test -f ".github/data/test-case-multilines.txt" || exit 1 test -f ".github/data/test-case-multilines.docx" || exit 1 - rm -rf ".github/data/test-case-1-page.txt" ".github/data/test-case-1-page.docx" ".github/data/test-case-3-pages.txt" ".github/data/test-case-3-pages.docx" ".github/data/test-case-multilines.txt" ".github/data/test-case-multilines.docx" + test -f ".github/data/test-case.txt" || exit 1 + test -f ".github/data/test-case.docx" || exit 1 + rm -f .github/data/*.txt .github/data/*.docx - - name: Test Tahweel on 3 pages file with --txt-page-separator ANYTHING + - name: Test Tahweel on 3 pages PDF file with --txt-page-separator ANYTHING run: | poetry run tahweel ".github/data/test-case-3-pages.pdf" --service-account-credentials service_account_credentials.json --txt-page-separator ANYTHING test -f ".github/data/test-case-3-pages.txt" || exit 1 test -f ".github/data/test-case-3-pages.docx" || exit 1 grep -o "ANYTHING" ".github/data/test-case-3-pages.txt" | wc -l | grep -q "^2$" || exit 1 - rm -f ".github/data/test-case-3-pages.txt" ".github/data/test-case-3-pages.docx" + rm -f .github/data/*.txt .github/data/*.docx - - name: Test Tahweel on multilines file with --docx-remove-newlines + - name: Test Tahweel on multilines PDF file with --docx-remove-newlines run: | poetry run tahweel ".github/data/test-case-multilines.pdf" --service-account-credentials service_account_credentials.json --docx-remove-newlines test -f ".github/data/test-case-multilines.txt" || exit 1 test -f ".github/data/test-case-multilines.docx" || exit 1 - docx2txt .github/data/test-case-multilines.docx - | grep -q "^بسم الله الرحمن الرحيم والصلاة والسلام على أشرف الأنبياء والمرسلين$" || exit 1 - rm -f ".github/data/test-case-multilines.txt" ".github/data/test-case-multilines.docx" + docx2txt ".github/data/test-case-multilines.docx - | grep -q "^بسم الله الرحمن الرحيم والصلاة والسلام على أشرف الأنبياء والمرسلين$" || exit 1 + rm -f .github/data/*.txt .github/data/*.docx - - name: Test Tahweel on 1 page file with --output-formats txt + - name: Test Tahweel on 1 page PDF file with --output-formats txt run: | poetry run tahweel ".github/data/test-case-1-page.pdf" --service-account-credentials service_account_credentials.json --output-formats txt test -f ".github/data/test-case-1-page.txt" || exit 1 test ! -f ".github/data/test-case-1-page.docx" || exit 1 - rm -f ".github/data/test-case-1-page.txt" + rm -f .github/data/*.txt .github/data/*.docx - - name: Test Tahweel on 1 page file with --output-dir ".github/custom-output-dir" + - name: Test Tahweel on 1 page PDF file with --output-dir ".github/custom-output-dir" run: | poetry run tahweel ".github/data/test-case-1-page.pdf" --service-account-credentials service_account_credentials.json --output-dir ".github/custom-output-dir" test -f ".github/custom-output-dir/test-case-1-page.txt" || exit 1 test -f ".github/custom-output-dir/test-case-1-page.docx" || exit 1 - rm -f ".github/custom-output-dir/test-case-1-page.txt" ".github/custom-output-dir/test-case-1-page.docx" + rm -rf .github/custom-output-dir - name: Test Tahweel on a directory with --dir-output-type tree_to_tree --output-dir ".github/custom-output-dir" run: | @@ -120,7 +124,11 @@ jobs: test -f ".github/custom-output-dir/Tahweel DOCX/test-case-1-page.docx" || exit 1 test -f ".github/custom-output-dir/Tahweel TXT/test-case-3-pages.txt" || exit 1 test -f ".github/custom-output-dir/Tahweel DOCX/test-case-3-pages.docx" || exit 1 - rm -rf ".github/custom-output-dir" + test -f ".github/custom-output-dir/Tahweel TXT/test-case-multilines.txt" || exit 1 + test -f ".github/custom-output-dir/Tahweel DOCX/test-case-multilines.docx" || exit 1 + test -f ".github/custom-output-dir/Tahweel TXT/test-case.txt" || exit 1 + test -f ".github/custom-output-dir/Tahweel DOCX/test-case.docx" || exit 1 + rm -rf .github/custom-output-dir - name: Test Tahweel on a directory with --dir-output-type side_by_side --output-dir ".github/custom-output-dir" run: | @@ -129,4 +137,15 @@ jobs: test -f ".github/custom-output-dir/test-case-1-page.docx" || exit 1 test -f ".github/custom-output-dir/test-case-3-pages.txt" || exit 1 test -f ".github/custom-output-dir/test-case-3-pages.docx" || exit 1 - rm -rf ".github/custom-output-dir" + test -f ".github/custom-output-dir/test-case-multilines.txt" || exit 1 + test -f ".github/custom-output-dir/test-case-multilines.docx" || exit 1 + test -f ".github/custom-output-dir/test-case.txt" || exit 1 + test -f ".github/custom-output-dir/test-case.docx" || exit 1 + rm -rf .github/custom-output-dir + + - name: Test Tahweel on an image file + run: | + poetry run tahweel ".github/data/test-case.jpg" --service-account-credentials service_account_credentials.json + test -f ".github/data/test-case.txt" || exit 1 + test -f ".github/data/test-case.docx" || exit 1 + rm -f .github/data/*.txt .github/data/*.docx