From 069f0f3ea3ad410e9fcb41f3bd44eb1a9c04b94c Mon Sep 17 00:00:00 2001 From: Christoph Date: Tue, 12 Dec 2017 16:30:53 +0100 Subject: [PATCH] Add some plausibility checks for commandline given php.ini values. --- .mod_php_install.sh.swp | Bin 0 -> 122880 bytes mod_php_install.sh | 117 +++++++++++++++++++++++++++++++--------- 2 files changed, 92 insertions(+), 25 deletions(-) create mode 100644 .mod_php_install.sh.swp diff --git a/.mod_php_install.sh.swp b/.mod_php_install.sh.swp new file mode 100644 index 0000000000000000000000000000000000000000..9de26b0179d2fd0c403710cd25599144dc8403ad GIT binary patch literal 122880 zcmeF434B~tz4!;*!4(wT(A#O!q|lix-5@1kNYggZG$Bc$*p%sHW|EA}EX+*WhEg|V zQQQC(754>wZaf#<6*qAGKlcsw>2rCaBBIZI{eORFx!c@HrY-P%?`8V=b|&|pd+yoK z`TfrCoHN;Z-r$h4KDj!^=i#x~wZH3l^3jicLaci#7ORv>HMzXlr#w?$o7|VK}dr0XcO=^n(w1R-;XtaKg)dI5W4?3^Y=^4_sPZs>(ArO^>fVk$3pi{GS}Ce z?|+2u-`8C4FyAXpfUW=cGuNx;`|QyD`H{U0i1h@AeWv;)DEoa48g_0O!Ej za3-7qE1?}84Sz-e{S*8cz5wrsSHR_P89WP$FbzB5bodKG?f2m8@Bw%?yb`X5m&4U? zIgG;~#Nc{sS5A8}K#wDtrZQ zg_pxK;Av2XC&6-91`mhZkR87T--Iu~%i*PP9b68V!6=*y$HP~URbL1%fGn(npCJE! z8@>czgd5o7A{nUy%n_nJhhoGVtV?oF=mFU)q! zefd_;q$;_K=JJ(XHZ_^9=2GQ!W>0!LSM80rG`JI6?j!_fTP~N)Wu02dnViedW}P(8 z&g7hZxyfp-vNu<8_T_6cj#vRz<|gNz>Rh>8s$g*Bs4OzUlCV^A>FjL2n6t4j68LJa zDu2es^>nUQ%k8f@*t(mZEkAHM!b+KWF(=oZu|(rbgq;ycS&&7FO?Gd*JNG=nLE1F?IY4Qq4bqZsiKn3 z7hqD0jL(;f(IKwCtuj>o=ZtI_aR%)3PF}xb6`4Q?S2=FzV~e~l?z>-?LcMYS?NGss z(@N%QxlAops;0W!#3YmXJ5$Q$is?d5hgDsos7X|PSF-tPP5n8Rt2ukqm3(?~HW!Oc zwFV%J?U&~dg!Z~NEQYuJVi%W;% zCckYWODd6$^2Nuy(d&P8YH;Jhm~vpf>1`R@Xdg;C9l2Vjqf|{)aYUVX@c-tDKS=Gl%uLCNw|Lj$&LvJ}u102Ld0~MlS9;r$ZBAmUYo+lU zKL|-n^t02IT-ixnvW&7qRUMne|>h^S2`%^Rr#poYIBt$X-&zikxx&GJBi#y z`bV8-8)Eq?cBD1m^D29#z)W)r{yrEA0Lu7Y+M@?T$UUwJ@BGwge5&*DCJ7fO3V zzLxgrsB2GEsAxt50j${s=(Y(kh|R9`r^jhI*?WLz^V}pqY<4W{rJJVbrz^#Lak`_vwrWuPlxa7lcSSqT>=zhv}S7W6Dy@=agF;o~C9ve>$_3cQF4L*6G zH{R8K>JTG4I5ark8(-Vijpwn{*absd2e+M*VnD-_XAh62&KnpVbe%1y8RoWhu3U+e zE#u=O8&liI21a}L?c0~glG$AC8|mxcGT^@6yD~JqQQj*7SbqNC_?BU!YaH8KYJ3v& zo?XrmgE6(!P69K=?$d+rZilxoU#2YZ88LR`ihCV~RWmV>|Ib9;yB@hwnqR#kB9$69={ph0crR>GWAd38fb?T;Sq2b zGV>2bZidgmC*WrIDBJ`ugBQXJ;BrX8d9WRZ;5hg>a`gX$=RpA`K;-Mw;aE5t{)}Ax z1$Y}=4So$ob zz)}h?kNEWXW`<|;BeO6H4s2GO&KhAlF#8{9USk`ZRyiN$*LCuW_+VwrU9^wZV* zGFhjE!5&f3BXD;d?*5Q5vB)A$e5{tP)R2QDPzeT(&OmV*C8m)bmnn%s0;mV*DJ>Jm z)CK?O-QF+lG54$<;Y_7L==3QM^s_B8NF_q!sj>di!I5#aiv&c*=Ky{!=`mbG8^G#{J#H%VkRNNhr(Xev74$kcm(2obT#OxpE!#)y`^K%(@< z%^%6BbhVbM&dk-arF}(LIU&-x6l>G8_1I^F&WTf}BgGldr4-t4{&f1bbar;GS=-}e zW@JhSokS*AtvcPOuIXG$b-D{Iw-JRX*Ry*CDU2AqZJ7w~sM>IzKF5`1o*V=XKdTR1(^=a$Z ztXp?#*QuwiS+{oGF4f!z!dpenP|Fu`RfpG5i=JXM4r=1bhQodnIp<;mn<^AiGr4q` z2P&1hveZuQ1pQ^cN#Ycl*u7m&COyaWl<54OsnRUkS#hj;g?!OYgQ>q$v!&^tDE}My z-Kn}fw|?FY)m`NOS0StJMWz+`zr%FX|At)u8Mp;L1#gF^fdlu2Zy?{_0Iz|4&<`T- ze-pk8Z-w*WVelJd{2zhL%fAgKVF1pA9ykqT&i(ty@g>*-adH=gGa+LAam^>2a)A(gsVa3 z+AHv67zaDwzJ=e9g5QY#1YQEqgA)9n`S9D}^>8W3T=`b$hoj-=%!S_uUxrV@m2feX zVFu2IRyYa%aNk($*Kim767GOsz|Y}_a2wnV?}HS`ocb^fLN|24Z<#~?8N3Oe10~47 zE_fmw1Ak|J{g3cVxC!0@uZLH`r7#73a5@Zv?Oqn@RrUNCHAvJ~ZntZ7Xi9ly`lI1< zR9A#rjUkQcjIyPons*yMr&nr;ly~W0?N8}|CTdn`dw!)P^{iN{%sb1LIpch#r_=dj zG8wI-b*qs~Fx$};Z)!=UY9(qWlPdBi+g-XByTdB~=Fy$ubL6LZ zpnC(O<91|(YNp_wGZ`SXgfq+8<-}vzQjB>W#?5NN(-+Pd2}jP@9146(HrdzMSCppQ z0a5!VI;;N8gU*QQO@`7%ObjY3d5O;3)dfmLN70?A2)#!Y1DWAj-Cal|Y-R_7K+yP* z84`InPa120^~|m$l$rVEXJgl@7~^7rlFVIOnE7eSGrw#o`Dy<;j8bhM)pdiv+$i!} z74Ho(e(6tr5$F1mm2y0&dt*$$jsMjP8>XIdrvuQS?BmIi7k@nQ)d2pIwAYnD>;S6s z1&mDgIKEwKl;jZ*JeHVYCT8sY!`Gx*WKr!S|}( zMJkosRs0iIBgrEDIigymy24&dD z=#)w4iTKb&yvHe*7~vPv`%~5Y#W`kf12br6}3Z9G$5L*Rz$7=yi;s)+$d^0ZeY1JOegW+Dq)wX9B?iTF7a@l`q{9CR%c z@y!!)XJ;rl(qEa%wm^{RVX1k6kVr=s3zg$wOl6D^2%#HwHOU&fNjL6G%g{}x3j>mF zz}xs@6;N5iSWQ*HE~I5O)*!kj%LI71RSQ*QzdzonL+Kz~VKERgY_QDO%q<&{v$eJ) z>cXvuXo#+JA{tekx$pN1Y*}6AmevCiZ|vzwbRG1i zwi~)oWs7)JvYj%>#~;{WWo#Jg$e@Z@SW8NLh&#(L24jS~YnQWPg|Zj(-xz9iW3$}w zjRD0ksmBq)?{SE^ib10|2OF5Y+rFq4MWuUMRkB>RCn{%XWFlT`(=6gvgMijII}y)D zWnqLfDq_Ud75!qHnxueC3 z2)>&Ce*&`K{gE?8{LWwgEfgkLUn?4sV3ZU=K{d7#s(GMhEZ<5L*GU$rrnTt3Yh= z=V2#ogwvq~o&b-7$AZ`hi2mTikb~WDKAZ+0L+*bU6krHiLDrW)1ipZL{~mY)$h^MT z-;csZ=z(r{B>W1Q|EKVA_z-*$-Usi6o8Ue0Hh2R(8=e6xVHrFIj)%XZ7x)u=6y6ON z!8n`-321|#kxyTP&%h_(eeg7>K>#h@l)t3O(t58Y zO;${c-VvInB~8|nCM()*R0fND?8wun9rZ@=++WgU)k(F@>e!YvSzU#ura35PwgHnO z>C@ow+dtpIpGTz0%2lHJiY8v@Qw+v%&gY-B-iXRKtUU>qS3Oheb3WPD~+{@~sK$ruHBANe}z5R}1K3C*_yFcC!k@G(cAAtA6 zOW}D?f-GDBBk*823SNY4KMNPadC&&O!BOxhWcwe1tmVHAz721NIhY2K{d?fI$oOI> za6RmYER4b?I2wM64F7fbEW95shCEEbxzGvsgFhqF{~O!_H-pIhAA%3U6(DQyp9Hcl z;28KWa{g=J)o=x*VK>NnfJeeRknf)X=fN6S4JX3yklAH@{rlnN@G{s3d*KW?27Zjp z{v)^!hT*r!qvXFtDFb3y<$nWj&73S_g2QP;#Ou%VyU-&F~n`_`aaNyDK z6Y^2^HvAVT!8Du7PG>VQ7&5xbC z)iGY_#Z@esVMTALGM`N1$0}{~sUpLYvK_ z!`nyfv*wxYtUmWUHox6xWO0st#D3HC1S@dB10D@jFyB)VDmVKmPethIe9wwjJYOu& z)ly=_WFJ%CJR4m96nZSTKgTLoS>GLa)I1hkBISRSrM{KtmM=x=daNIwOwzga6Bc!LU>Zw;1xTAqq>uOH?qvu4Y>H{Y&F zKzG+>-BWcJTr0B(`8x$@;$e$@wRWN_Q&)abz2$ndr?RvVVF z8;W?Pay8O7zNI(bQO1O?&Imc;85*qd?PDqP6qeVuxoX67^+A&AJUVdh_5s;*U~MOc zesxKymPd~Cjk4IWGve;xw$zxqySDx&!5YOLd|;H?(i?GKyzbvJxOL;`z_#A*wGrNr z4E1K`F?z^nB0{#6oe~DNrC5?U(A&9gUBu(Yg=&v`{f%>dSdG)+^S2RJ&k9LuKqJS! zYU!!6)(FjOik*0Jx2lN|1r7@-wb(z~mQYLlcPFc*%%1wUm|(jWQR?q{XKGnzD8zNH z)Vj~G^|*4SDs=zwwoOt&dL`gloz?@RqbyF9q93Y5xTz~#31wI+C0}`J>RWFI+gxz= z(zKkqRR0Vf=~wye;d|AbFbgGW$!z1Nq?B5Fds#uDpE6rubm;GfPbXy~n0zLu-#s$8 zQ7yvIVXe#+8$X97FasGq&*{!~xvLF+HBNmghBus(K9*_*DZ6+~*Wj@sj-Hj}P7dA$jM z9^HtjUo0t8NbP5|Y;Uc(aHBfup&J_ zgX!)iy3|9Kvp9Xl>GWi7nX|K4YG5QM#uGbqNleR5JMvC-O}#Y{ye1a7p-bE9FGO(PIC?{v!09a@0s_n7lZOyK* z^Hykj^FOn!oI}KulQ6CSb%~*a5pbg}#fYN3-!9|wr$)eaw2!i+OEu!IJ>bG2P^~EH zVzj>j-*tMpOB0&P^o8FPo#c(PTpUle-zgWAaE4cbRSeR+m4*v~x zTSp#ZUe-OoNN!s9EOuqjPHA{-Em0eHu^ugMtNC16+9nw=s@>xBihq9_V`WcujkVck zgk9Hd1U+=l@F%9)NH6BE;M>(}DP38%G*wpB4vVcs!KuqF!*O)kd35c0hU_s};44eb z59u)?Ew7XXAL?66uWVo${+kuTxkNyMsxhGEwc*Et{#k#$O%wu?1$yzAv)9%Bq76PQ z6|K#?0$zD*dHlbVyCoByQ(7-*EwpA6ty@}$cAH)_i*dL2kjN8CQqygw_?S}r-ZHb{ z`?-jJ?jx>ug+1Z{tLbzx%)2F;~vg7q=CXf=EdkC zS)GW~rUkT;{Zq+syPQidp;EBVofGe$Nf)PcbVIJjT{aZ0uq}dYT2akZ^5t5Of5}zn zZdrv`REuVOf~AB&kBjzs%Rmt+d0_{lnbQ-scJYwJ$_N=!B+Xqh8wxK7dZxilEHK&# z%#a`}nn1~dFq?9^)OdpxRl8^z)yPYqnXWWHO*^qD0Dce(S8TNZn* zJ3ea^5Hwu z*VAuSB5_D%qP?>NB$a*bEW1KQv6Ag&)Is$!Iq84Y%fN_-jTY1y)BF9ZNi?e~)w>JF zP2F`PB59;_4vr`r)SwIvtBMeBc9k;jaMy`T?5*+&r?mSl9@F)P$9QNV6+v9t|I68C zYmVkW(9UnI2QhfT>m@x5nKV!fW1%!+4FBVJOPe{`-AM&e-U)S3GhIW z{rN@ye-S(%E`_Iq?8#q%1UwcV1s_75m-+ocNP+{h55WE59mwc!hF5~@t?!rb=lOdx zh&Za019&|AXK*-VN`9YeDP;)_~Xu{GPo24v2jJ zdUzU?U^{FADGRHi(T5_JNJ#Zal&7l~%{mh?@5(d_6!o9<{8Rb;y}mAzJGv!g;7xPS z9`e%R^l#eQw|R{D!Bl2yHa%U9J6kuJO9}p%P;N#>n1mCdS>{IBd_A!`xyIhxvBP&y zwr%&_>-XQvWc;^w?C1~pYMyiw>;k1;x@rA-|I_Q&`<_k&1DT*99@YC~r&()DD>uoe z@-^93Ty2oe=FKI&X$S?o#55{x>MJ& zS-7-9R=2RZB%79?_OyMM60&0%Ho$VnDAJ9qO}czT5Y;jgs#sdtg{0f2kF|`?`;0Zm< zOuj55>baswH!R2%)0O>Vx`K+>@2kv*``UNAt8~3)!VZPf#kQI=#lW56P%Sf~_9ts2 zr}e(F2RlURyf(Qmxw zqL@38*~%*^i>%B<3wFeB@U%bL&v=8~-OZX$-$wIJV!Gy>YL(ugqorw}u{gHvJ+E!D z+J=DAO41xKLf*lSg6v#_e5M;CDPA<7lv#hFjZAI3T-aY`Hp|ePy$>@;TE2GAzFVcJ zYT9*$lP(vnfT#r|KKjXOlD%x5RY=RlyDRgxZof|XuHGBapvx7Bkw1%?SLVypl4GVBLk$t|Jo5d> zsdnLcghpQ_f=`w0Wk2s|G>>CbF!Ft_#AscqD610XkEm^)Z00wg%ghYb&);xy2WB(% zlSumN-J8!^GG90tt{XRGi)Q=65wrQO4mEInuge1Wb>TT2@!faRwiQif_`)G`b3E`0 z-H6ZVl_pZ%(ng2(;kDV{_9`gTHM(F!F z7v=1~kAdv{_X@ZY_Q51$igsefOdEk{2hIO z><1v{`+W@F0&=e36;Op;uo*;$a1z`PKE0A;dWFG*r z54akxgr~!kU@aUAKSWpXQMd`-1DC@tSOZUh<3aWbd?#E9705#dc7yB}*bD!GUf{d1 zALgJ2*=Om0;pZFNf7QbOJ7tzQO0e&C7! z@jS7wTP<=>sfm;)oTH@<1XK_5ET4sw!#cEy=YQE@g!NEfsRwj%Btic|2$@A$E7~r1 zBcPb}RF8-K;fqKy+x;~iZykteY19^A{eCrQ@P0Z~#(FusSi@PL>|__ABCC2z(?#}m z;*>bOF?%5UVmxnCnxF0v-~Amf6ez&B=Z|z=7YeTGPjlIeTl?PVS6J_wEG{@d#O&jV z`W*CS7x$ZvO7oe9ufBXUe;sz#@w`n%e)92Wp!;WZ0xy(@Jlb^Jacje{_=`eik9qJ}jvDmd zVFx586Ze+)Cs07EP%c(wbPg=sw0n}^AvWi=E~K4M;ADM@nFQ6z*hB~$oZf&gN>4fY z{G>cGk72H>_sbOug*zO}Oy|{$ZHb?eRdxO`#Qth<`by-Z-s()6^Ny`MGqNjZikwJc zo;BBq+urI-A?j)_>MDm1hTYB-O6AZsOa|Q-sWG7FP=hZvJI{x%PG*=_a^q*hm`TsF zZzlTJpbw~SLstruqM~HdC+M(RVlRAiNzeJI^P~fpP!g&GnElT7l#9eC25$sM?MF?GvcF!5yK zZ7OtWUpBknUQ(edXRyAi2sUWg`2DZVeAbSAb5AF;9fee2u+z79P%b^A$@0Vc& zR>33TL2zFXng3<*5_mC){lE)AkG}z4 z1-oGY)WN&~Uz(?RBkUZZ8cjJe~myc5CikYJ7D$`8s)Mk>p?T>Mr zg1bz2#adIw)cCB-i7@9;jCv+$@pk%(E-Qzq&Xzfmi1*k&*4LkvbD2CQXR>@pTS6w) z(g0p6;Zp|(U=c}T=s~PIl$F@n31^9%H`S@`EIKEorv)198Xio6L{RpV#Bzh7&%p}2 z53P5VCv>VD!rt9HBQdd4|DvrGJFO$w3|*@R7BxM)XHr_ta0O)OkQJRI(t^n<4sypYAZmp17z_OMNz?H2B14M03(!jJ<0_x7$c{6Kn3J{m& z@|x<3b{Q3KWsY>Hl%2zLg_K;I!t#yZ$&*`Fu8;$eP9K~yce#-g7s<>S6Gc4f%Vx*t z%d*U&Je$|nE*<+5G8vjp;LefBQ1#zh_5T|6|7!WaR+w$Z2V@mBg()6Y2}y?y${8y- zKq*oQ)}dan+MXCe)Su=fyZoOgw#yGMx>W|Ua$uJk`>0YKpI0k;TT<0rO>!_LXQqfT zxFZWXFIe!VxI#E-@T@ZLjlOMU9&$k0%ZA?_gry=G2ZsT+G* z#EqKo(vx1}xdM--D|xInGTO>nToClVc}$cGM8RQEeqQv(jF-w%+vHrr1ZzsO+I&mT zoZG_*edbo$dPUUB?oBnli!X_E=&67Avjf}CMYL3&ggWCB*dQZ*@z-nSZI&O8!V>VY~ zMFoopc-p>|pYDt0x3+h=XWz|x_^9|F;^~czjG-jXwoR{}uc%8AW&Q7k!gk=JIXME! zi@Qu7;!5hi(l;!kUJk`cKPDkY_L2o}#(e8=!YXNHL+M%=8YPE>GFF{0X1o!YSt5XS z8sj3aTOUuvuH@?13HW4B(YIR>@SGi z=)Y3P6*6LT9=cqsiMZ!?Sj$gM85z@DHlksT1&4bQv@Ie)2X9e_GPwk55yV2VTg-@H ztKHZTDbt@Whd=X{;Bs9B%-=jtA- zO93St`<+=~ITRD*c4s+z2yoV)7|HA_RraW(1?>@kd%Kfs>I<{pEbEYqvlgE?1@!JM z(<1*n1oEz<_z(HNz?Xd9fJ}cj{2rNI=Jme<*MQjkuYtRe%YP0(1v&TcC-63S6TBM6 z;1qZ$d;z&!=HdT<4E~?+9k>-f0v`sk^Ov>!V(Tww|2+v3&<3)Pzs$|Y;Zg8#cp%7n z|GSXWKLziBx4~QCDtHbQU>44RUic9*`w!vua2|An*!;_xf4@R@e;r&4*T4wGK-Tcz z02qf; za^fQuwfV_-p&Vyu7v9oGX3l+Q2m9pjnDs2s_j1v+tnP_U?kmO6wXP>|eenjXYKXp^ z9f3A6%gs@;?oYh~lHDpuPLFLSz)CBuU*jJo+DZZPrJ2j4n%M+7$rYhCL4 z0_*Qh`m#@%L*iqU7`cCw-Al=7_i|J3@!_s-_eEE44HDBy!vCREF~cV$I%%iuIwrGQ z6SF6EWrQKQf0e82uj*0*gClO){x;}J>rwQzMm@0m1VdGZi*|kG!H#OWobO<2K$+I^ z?WRV3Q0t3x%=I>y-pxl|ja^({LW!x;z#1vLj_ML2^b`)wjs&K#+1j{iHG!SYCk!VBYbXDi}3&6$Ve|0Fjp6`bn(U}&@;$dWPh6YvrQ+1oI$8|d~4`)+}HXol&oX5 zQdu@-{GXJnRl?jb;%{r-vw8h`kjm0;2K!>uH1^+ zsmgUA<;hiK$_Qbi7PaMo5q#a#Y(;N?=0W!BT7207@`73UAj%3JVLYYlwp+thRrIyz zsx37I-*rUF_*F-AR)};NS<8RWXo}plTc#CXY$kwuNQ@EGxQykH=7GhMKk&}F_CDCs ztFXImJSi>;fjU7~2aOYjXO-@dm2>EoL_@s%!uFlcu9J1lNt7foRo*MHvdyJr* z1zpP$OWB)4x4l)RXmr(r-s*C%Sc;E6`I!Dr#NGwHi7vuUe5h}mBrz-RN1P6<^K1;f zKbRY1xI{{ui9Ej|UDrnAN8k}hZ8oZu7&4`|un$qbd%5Ta%Re=!mA(G__vc}5Hjs-v zsN8${XScq%G1z#PP6JtBEDLq@Y@{TudaZ1o8XcR^#3lvM_0vn)ps$iyq5Ly13Z&Bl zK5y(BA0EAc5Ubp4;MqcX;P+eP{}U-7e=+iZ#mJBUg6w}8BKzM49|p0>pM)_Og)?9|#NjpQ0QSNh$ejK| zK=Sm@jdcRLm3RMltA%^T6z4jHEqi{?+8)&&+MZ*1pwcq?pO%VRvZ!|JRNEUvNB{&1GgW4wG&%-`g38M|C!rD?4k0?&}k^{tEFk zlAb%L^=;zeC|TRLFLSh@trJOFAFI`Nlg-?Ukoe@y@`O7eaGz04Xv2|#>#QzpYKR+d znPaYd{X^bq3zZvXGeWcD`CwVn1u3!L2%5gspq$wL*?o&~%|v1gMMhlM{@n`+H<~C) zab1kuVsaz}h)^{>N+v4)a-uTHH{#@Wa9HPeEH|TyLGTId%AfU%X1dYO#k-tp$3%Pb z^tP;-D0awPynm@kRrc)AaygkCS_rImIS!6+%}|aIN|L#I-q<|kI-fup z!eGU0)vLD65iy!EKZAF#b#iilCsi<=)O|OR7EYlI#++Ga{o1vMoB%Nur$D5J z^i-g`nU8OekhpDQ?y-n8(yr-!s>S|76d{KkP1%tls7a29xD0Ru?cX65CY?Ge7me>$ z%d=qhvuR3B_>)!s)YFio?BS9Qs00}trl&cc+)mAyO0;-7TY@bCVq?@_mAj9vm*}a04 z)Spm#x*Fe5QA;MHd;NPp#j=fyRl`&X7AsYNVm89z5>!{@BWgvZLTer$D;3x%Nq#c` zRC6Ix;ucGAro$-?)a>N^&^U+Nk*XK|v4*iL!n0I>o18M6MjKy3P-1#^&x3HU8C z{xxtB?1Euf52rvJWZk~#0Ir6I!Y`5MzYU*vEmgiBxsP6FAlU)JB>g&hBV z_!`^{vNyl1#TVQDm%&TnI=B$zOh4J%@4g`N{x9LxFbHv224d5HDI9<^;X&|Y@<#UK z|17*0UJoyX7r^Ck0Qw;Tj{(Wc6XA$H9I=C;rxNgxmDIsJu?^0~+*Epwy{XPi&(7s~ zFneJm)(y_KQjI_K7Q_0!u0PDCh165*U$!Q>daWo3d2WPvh%Ps_b9%NknV#K+4yo>g zyUpq@TU*HvdR1pbl&jbVv(-$m=qhCjINNcu)>m%8+A2C6PKiKQ_T{S*3mi!lbWmjD zVzw`owmV;It2&dpT#-h)=Cq>=Pgkbr#C~%nPtn;i?qj6ljghXsNDe5>izAjSBigVFpA;>$*7IBbUs82U=$Qs95Ov;O@NoSBAfTR@P)%Wp!g6UdSgj5Lt0y`|=4VdCE!?Xx0EU8geNk{6iG{*+DX5Y)~Ht zrkyUV?K+uPr>NQ~(caLxt!!Dr#E4QsbcYOsRxmsYW=<1oi0IJxbI=&!9IDTD@M+^3 zFu$qG#(y4756cE*9!<^r`9>JB>F0!ViWoX+t!MW{u}&3e_we?Mq9m{~(v&l$g0p&+ z40esoyu?%?4A0|HKgH6WBMkdT2S>)uY@U54s8#Uhryb*&KLeForBMlHQ-9fYoccY< z7NK%7UN?5AMXg?6?9Tu@Pm1?^{0ZaV zqpL12Wp~*_4TvrC`c*Og#s8ty3;l@$R|qbY_DVlc7n(>*GkGvd?J3v8d12kUdOa@i zSu{s*qgUaDgA|j;?Z=<0##+f3ZTX6@*df^m)Qf%gP(Ei$c}=Ymb1BY)4b_84&2}h3 zRiXr26y95xB%!Coi59zE>oeEl%CDSLU7pqoE~4W7Z_c#l1KPN{sPdr>Pm&>KGqF~) zSd3$eUS3C(4m}o=qJCIO>$Xv3S|}S;=KD*zL_yEUF^KQ>t>*9oh!@@;cc4J)TP5<3feT2evZoxQk-JU<8!|(pD=0y{y zF|Z=|b)8bob*F#G6oqog$X({C#vFAXVV$!&Jrj@DAL^<7RQVk?x7D{);gzXa_8pdt zH>-GL{$I}jd$yVXKi>$Aw<6cS2CjlB$iX-~2xLvbN8y$5OpvnxE`aSY4yVB>upAx% z$HFo231t1NVK0d6zZ!8e;VX0ziZ(jB;X&&`R{_uVF*^iG4LSxICA|(kObMo|MMVw@0Fk* z&Vt_|yUU(?uZB@L8oq_xeifVpe?eZCbM-C+S$F?Q75=gkrj$X%PGp)UKI~%Nme0=S+7L`ja$q(qS&*yH5+bI^ zYY;VSNT1F5#^4FzrhQ*JuMBgMzKpNPeuMf1A|3vacZlk8)IIvEN{)q^6*=zR$l_ej z7v>6%i8tYOBTTK)VGsG%Ali$k9D8LD{v%8}#O&(5nQr-Fbh^=z9AdhO&Ag0$-5ijF z)Ebe9)HjKRl0lD|=gLhMIW!mPS#=m*O^UHoO;d_xq#b_VlnOV$Rle%*EKn-ciM=Qn zLWLqdyDvS@v_Z|8&0!egbh+gy{MxC~EQiobU+ijJP@J64VHc_<*dp!dxiV1#t&(`4 zb}%(iz1iqBqSMd%L1hzlg(#K$dJs7qj?MC{I)`3}dX>*eW~Axg_jA)^NP8%aR?4vi zD#5&0h<0P7RIRcTZBA?Ls-k)7pDC3%f{tSmR4$l`YGPHX78 zcCp0I6_d<;=d8vsVj!SShqrF0E2X*eLXPzb>&9m`Zl^Ue%E&0M)mibOESK`4f<%KR zNlbI3j;0UkFsp1*NSmWh>CmCFd6Jfjj5cYm$RUo?$`!9TYiwg8n?u7+HdvcY)K{b< z$yH=MrP5Hc=T5pp!%Aa7mS9L*$dd)=E~U8n{&Whmq=z~oA*4ksRq$JaTJNRN4(`iM z;#k_qq%)K*&f}j*Zhk*yU@=!jcd7R`L&rCzlz~RiM`K)cw#vz?tJG5bj(wGUEoZZF zfn?@YTG6W%l6yr1EWL&30Ml~(g|13%9ij;BsFgY-3>`WQZBi3TXbPpINZC&NLl~}u zs;YbcvENiCKSd3YmH1Mg9j8rxws}s>uez6v_m7xVFp0{{A>F0w=p+=%vpR3=g|rj( z>U=qgCrK7!R;xX3I2L=g=amTosleOOqoV_7)pISqU$+NRJI5(^o-+pvIdrj7Dl(ZI zTTyMI3G3fHNbX%U$3bZns#xO+rE8KZ<54we``Ey!n+kRip)}WAwb`w7*_B{s+b&(d znQ|aYU@69`Ib?$!Jr5x7MFFcE;o){EmU68_KPHvKjy$l>RPwFAg74xPG2wHRwRL-2 zor5-Z?yKZP4=;7qZl~Z(w5X><%e+r3;-z*`UA$IZ)p#3WjzpYg_Dm_C@d)q6v?jDEoiE5v8E?}n;(?00Nw3b7UEt^^p2>K$YN5U-WECJ(~2l@h3 z>C)8G-H`vH(U&x(&J^;}0Z?3ZpWthYC6ZNLJn&7*qV^`s%5Z#Og9)#jvfHmF9aX$k zf|C4_Y$~n1?rVq%o_v|^LVI7|r{L?nYP2Mch=J@iM#9>6>RL{l8Le+8q$850OeKl9 z+i*sw8D+as`VJ3oP4y3N+muq9AM1<$Vsy}2EH$H*uUE$_YciEc)|@5axm{A`%HAO< z%%^Md$>T~Mi?*=zj(iN5K8eynRe%wHd}Fj$;;l7FF>?(4f!U0WYN@|Iq9`iO?%pWG zm>Y@tXXBz?X(#7mO3x(6p4hHuV03hNG_`ejGbJT7--s)vW|HYWe&gV9ryiv_px&Wz zW=y4L;gC_(RG%3w$ZnmyBfd(ir&PwOR47_ueO)Rpy&2nvQb8tjGDMJ$l>UuS4Jh52 zJg25NV-;14Q)(K{Msxet!67u-Lw!5c?()%?H6|K}R{f6&OK??ld@0@>UDi^%Smg2?rc z2HCg&Zy@XaWsm-cz^9PW=b#P#hHNhD`mYDsgD($j;Q{boWOJFPzZAB@6W}i7@{hoW z;W9WMR>JR*$$tlLf+xeVAp7Tk8g7NX&<#hyXOYdXg3SB8rId*wZ3QV>Yg>HIj3}XcWO^Vl7V?r`l)`mK@oWyK2 zon>2zBaUVC*|t)T3Ioo)KbRjcIy|lRxKb5Z_3dgaAy>R?m)$!UtrwYzW&o|CCOPFg zAdoCiV>2yZ|0`i;4qf%3dKja-YlZ>FV!%ALO8MsnDey}itGvl&bv)#~=E!(=bYw)y zdeOJeq29NbnF96BT1k%C^}JDUX0S?A;K_8N19DEOd*=oUx0KkrSBNKJKf;c5RFu!5 zx7R%ybfh2j*956TzHnFBOq!)`TDs04_Q!f6-gsfDauz@_OJQehkW)4nb*byM zQJxnjDC!(;srORrqMr^mR@#e%QJ}1{S{AX2u}y~#xfez%ls)jQ51tQZcJ%LC?+FWUBj#j>;w@FH)03s{d>q-Wt zDCKB-sUxc^a`t7V#-;qE?42i8OPf@4ED7cnB{!ndDhG95lKgYCS+ib(8kD0w7pou? z%=<)@lf=p~O6A-r&BjLhMhA$F9%`a=(drK5F5R!Fp`l6%w|{b7Z`Zm!I+cZ8OY9i5 zF-#{>>XhE9fz(7W;ghN}0j>NzS3W8;0J*nbR+vgsnp z8xjl(b;)pw!y3T)S%o@>E1eEU24*^U4<*06(iqaYI#JqjTjtyWMN}lEiuP|A+`4ge zV4EAJ1=MZ6Ku44>X-o2%wpG4y6HT8tY~l@64LRYFYFXPyC1jYCJX!vl!Y&YPMFssw zE~~VbRB)x3pgxJV6Zu07LA46oRaw&(D&3?~2{7tIze)9^>Zy%esmmKnoN>#0gDr?O zer_vb;~%+ErtQZ{mHc$R$jFAr@J_uIW6OGP^~vx<>HYn)dD<(#A*E7V6tE@}n?y!` zZj+^(Tf{)!h%4ExUingGhGn*vF6K(K{cd}tCLnCHydk14hs#PtzPY2^KyK;a`5VEo zSL7Qltu1^J9-9K8M$e?Vw1ZX}^=mXzYV4@X)&hku++jBQn-0J~!n2*06FpT)2{heK zN}ftdZ!aZDh7!R(zz!$UQ!-hpl%y1eW;!x>S?Oyc}~qp*dnH?DR8I zK$QIdB*yvA6FAbSFK!;jGg+yK|Z zevtkA+u1a4P%}J%H#2rj1VEo5=q!gRKw)Ialuz=m1%p{}z~p zM}f@Me;+;puLC(F?;JP41*LZ`rh4%Jn`Y42Xsv3{krED1^^_IAuW z*e2YXqpPVpw3XUYyoi=xhEfcm#g}%q+7Q$IbTPx75b7z_aLNdn;gqSA3=q9ntrFL@5<&G1e7Wx)FQ$g#YD*|R5Z9wm zH5An2Pi5g=W5Pt6u+yki^I6fINqVaX&43)GAR|>SvY;~0%$7t{{4^0U)(j2C%BQYq8C`<`J*^ozr)p9^D24MF-IdDg9-=`BUDLcaZ1EFU_bhHz${HGoJa|vq# z(KpE?smd_-g)uGYQE8<3s%bMLe4xA1ny$dTOnFW#wK|hV5vCQYVNF-Z3|2TDtPt+t zogLXyMjh_mA*C#Za3hJUl7Q5%grB8HQ}@VQQeR9Hiqo|j>q-a8hLw_OZ;;ag|Iggk z+ttZO`DNV~as7t=9HJ_g*Yw~p$GcjYaMk^KJYP&uo+Rk(%Vr|+iCgR5^a)krUNo+Mrpc2o>=Xmy45a{TiDQ0u;K{P7Auq zk(aMxBavh%1hzR?48du!~O-;u#5SEL1^fsL!}x%SFdX3PTHkST;-UC-=EU5 z7`5)BeG*e^tDn{WNEF72-KIH)aq=Q1pV#IpEFG0`uu>VCs4IC&9U;=w(ZQrua;j8H zPO{&de(p@R=U;)|QU)W=0?uT-(u}*OR7=HX+?iLJzDok>FTGlVR?AE)If<8zr58If zurN`S(fwH%z8H%f$uW~CdQ2-bUV4HK&HRiUcA{@5osl#~Ym9x{BsjDT#w2l(v>?eA zabZSx3ni!|)WW`SSBKhIPoezLvyGBkZSo3Hd=Z#78Pm3jhc*fkiD}YN5+_q)XkY~# z{8}jO)V!wjmb&|wITY3Z?q@H>*>s-8yEYATjN5ZeE2>CI&*qBlW{R-K3`13~hZ&)) zD7L0iJx-UXC>@3qf!RDWChA(NZiZ*z^xZB!u=8tRau_}8&l)BFuRuh-)5!mOjJW!* z$oZGSENp~+_#N{7P4H?cK@oPq06Y$kh94m3e;VW*0J{%hC%^xSyf57rYIo zVH_R_$HT+mq3~b#;d})69(*2dflq;~^Irq9xBoZb7Wg2%5ncf=ffs}58cv0i;9>9p z_#OEr`~6G4{ZjI-xewWX511(-wu`-vm|w+sLxee!Okrw+YMJkmc8XDh?8qyd$*UcL z%=2sx6j$qQ++eytjL&8bt-Oej&$vqdk`;jNdMAc53#_n|!HewIl}I~@&3b8FKnbeX zFQt_IBujd>jE|3OR70GYyf+xjKK86iv;PLohZ++hUuy$Lv+%E>$7UIz390WTY8%8l zb4RnNDy0mb-8DQhLgS{AN&;^QkS~3FiPI=$l;u{;3^`J+9N{WqqjVYL1EWKO+xo@_ zQsaX|1H;=z)C_4fL`dt?+8=}-?1F2wK-G3V9lWyLbWJN)IfZuYk`bQyIn&OZf&8GX zWZSXc7lTRntQED-pc%l*COLCTY>{%Mmc`Jf(%vVXKBGrtfWX8hGDMm&KwD{Qs!e)D zlp;n4t*0vW0rhtN&?=3T9$h+yHk#&?`!ba#(xc>!WhEYt3 z(>m1CI_9)q?6^hCxXD;O}^ABQ<7t{C58^G8WFaRvz>{U8A!fMG-bf8wg53U zeonjGvDqni#hA5M;~l{z!>j)h^PL%)ZDC{}6N)p~*R|7pbYF)^oMb=V}ky&TM0J zljaaAnYo~p`5!bJkEj=3q}}^(tLq~@vi{Q@)uT_*DgX(D8a5Fenc$GxB}Uu6P^;(5 zf#;ieLh>sif}OMq>O=WEFkYdxz>d0>7$}l_)Zl}nes=HgNQ{*BVP>68oHZZ3)2}sp z2{{hayCdpYv)qG$b&11hUE}Fo0c!^;j3{QUrG>=GZ>23q)T2aHF)a1i!LPomE~3s; zhAi@sKb!>?qa4)MV1!*_CRZlsX=j6%X$(vCS0WsmON&)6iGeqn<*!~t1XZS+J-v=B zcwu7|aud5EJ*n%ova7Ex#Ph^h z#iWJ?#Ski?I+ zFzP%?Y|q5*iH4;mHL&eGiFk{#y>Qz%Rgm(TO6j1hdvh-tRYUmBY`*?Vq*M3e;TJI! z#=50sA5{cb>XkH~;kH6jQ$no-tAqWFqll^+!kuE5Z;1M@t{;(Sv?VqV$uq_*TO3Pa z^U6f)0rAebQa*>>1pB1Mm8PHKD9_@FU8rIUxXR8})BLvjnqO{=2Wp{SYNRLG=&@Cg zAue=(t@=7$Q85kIU3jA*i0Qu>xAPJ+PLLhJ?BrG0SE?IxW3-|yof7eyPAO_+Gcves zGiGXIBg5Oq20Wjg^Yo5mJSb-Wt{07EZ#z|nC9~&TxF*7+y>tQu?cuDyb)dwm%$}a1KAI7Cp;O>2eB8hdj)Le_c?GP$eIE< zNANcII@}7MgipZ7;qCBdcn!Q1u7ot43xlu)WFLVuK+YbF!!r0U^b7BUSHp|oTFAmV z@H_Mjx4{?SQy^yzybaz8H^6o9BDfZw0~L_<3^Ond7s6R^8i*akgW$vHCf)#|w~(_5 zGVo_~5ubur!zO5l6XC(|2hmBuf5KPc`EVs%0ndagl%WJuFaW2+2Izq={0P1bpNG%EE%07=H@pk}1+IoG;R<*voDF>-`jopU zpRa=}U>^2^?2jnr_Hl4ee57+=?^1Viyf;2q$s-lh88cEzR!epZAHTwb8DBZYxyPGR z?+rcW--^5mnVcY$F+t$?*Z2fysaz7;h)Hd(&Zz`Qq73@cc>CX0zX^#*{%im<)Q3f= zIlkISuoujF-(Eug=nO{rx;IZd$U9|gUpbjZKI(@(bT}A@gtKg!>J=T?+Cj~cp5E)M zO|J7E_I`fJ+5DJQf<|95Yws-m2yVUp_Cjk66)^Jf=G%-o_#b?J$Yg$gVTv! z{94J@suM-8aB#$v`^UkFBKxfd&fS*ac@BExDps}(`BOZi04cX_v9V=FvXUbX>P~Mu zq|&0j4(xd(`#SprWQ%}y>d$*GQ&g@69D4WI2qsWQ0-0Ma%~rho|4Z^#BGqKpiqm^0 zXO+)QWvp`9M81kUUtW1X>+9@XSq#I_XR((|^-wGCzBE%>@uBoQLo&BY$q5euPf1|Z zLX7{^kaMmq%b#=JKHsXA`1U>XDMH;=f-0$;dFoQR64))yRyJ<%X;kI(-Fv3dz;A!M zQI`m+6VlCkLXJGSm{lC!1F4|<;BhGnI_=$!N-G=cZCI9}P6>0fg`IkolEMkThs@#7 zIO(=_$B2NxIf-cBg3sPF)gknbrYc70nI@`8@CmPmEZ7E4=Sumq&+Y$?4o=0Y$yU(1 zZ940Nn^D${fs}uVt|b5Jhd}NPHXoud(+Wxc zOv{oFr`>w6QXTSO!>Yq1_1+4frIjTdWQTI!}Z#{{H6BbDNgI@!7N)! z&$ELyCaCmJ-1YxvAdMM>I^L_oj5{+8>%~bH`{ntVnv^rMl^rLGcI1HEMTmWJNumNQMf6)iXI)KN*qu_pUJ@WfY;W~H;yck{tSAnb% zD1+DxoDD1B+sNe~g@1(`;TbRme?lhz4tx%72C)}-ExZO^3YWvv;S$&fU2pK53t<=@19IMgJ!kNv$mLIg(?HG^creJG z26rG^e*^v>+yZjG;M?FuFbT)NoygeVgHOWy;q~x*xC~^i!!$ezP5`k}_!)@&eKWiT zUJTEL%b^Hs;19^t-+|A;&F~g@F+3M8hazl%e^6$A1Ydzq!@J;>@FI9VNSTto59>d= z%tvlP?lu|j4;uM=3Ks#8C+ ziE6q!Ti-@{p{TEV?z3JaFHIzmP}l!y;vL$lzvY0@2pm+KbTd#B6=*XNZ^om0E&dq} z$gLI1s>OBlL6Tm7RI$;W02lmSW4KsMi)LO9VU`(CQe%BnX;Jsoy%}*r>6P12D@loZ-N4#Qb+?)*|JC{;?Kvv;a;Yjy zZRVRztR@E(cEkO9s^v(RYYACEo4CkH%)2VMM(LpHezv@48kL(Pj=KG+We)yMu;KoN z`Mi7PWRz!)*}a#v^>_VdG%F@2@{~zSn+E#O0UnVZn=2f09a%|C?THz$&6so?t1Tu* z@twt$FwnVYL~Ku7?v1-qYf^L( z_f@qsj6eQFq){w%S{#y+&J9z2?XoFo{bNCBqaLg&?Xml+M0c_~*;)TWiPqsLkX?_P zk*-|FehF&mRf@7XN~g@r{Kc2Y=4{C|VYba~gyKb9yE1n$ij9h|MD9?gBh)MW&0M$AFPoH& z;hmcYp$t%|FAn&)ZulK?CRdj7scsg4WI5z~N~}qCCc7e3CWl+;rCv5u-$V5mfk9`u z)&!5p^p>k}blUtgTv%Y5UAx@1o=VmgEr~bV#Pn9e{>g8(bRxGuGdq`M9iJMOt3qWJ z6t+CMr7l$D{uh-@k^d1z)p>Fv|6gx}wJ##mzZzYA`MZ@`z}iy(9NgYXw*_%Fk|;dO8wJQL>OB3K5Gg-608 z;NfsPa{cSzIq)=iDhxq4e3u0LIJ_I)3NM3e;Tm`zJQYL_a52n-%;ld4a{j-KS?gM{DH}EI;GJF{Fa4u|uKIn!H zNJ1+-814f{!%^@@^aVeL@4#*FZg>uy4(s7p=n3wCufb>GQ*aZ=T>d-ZU*UPM3?2uv z=3y3Ouf=JI!ynKM*mDf6jzF5NX6Ifv1m`croG5rDwLhDioSTm5ICX;-HD971@y(M+ z-LLCHgYV(Z=+=VQ?7QQ-e_gKIl1Mj)IMbp-=$~O(PO2?$;I%fZbi9X*m=V;V*U#(h zjxATsocP_qYc)SqC;A6foE`N(+ZiJ-NOq=ZIoZ;3{vbAz+s9LVBYpi_24vg#lr-i> z;;}u0zeTpqwYqlqj=Xgk>qo)%m50>DYR}ZbdVRf@x=6+`%{ZIwZ;d7Y3DCYIGdQb&@O$0W$&jqjcd-ep3SDqlrztT>6Q;C@tdyIZb#p{m_>zu+-riW zCrs+9tLLYH+GNW+cg z_dpsg_a~AHuaXXy`wLNoU|?N3QEAmE`d&)ZCsn?Xp3Z0XcupEtmEo^eD$ZPiI|nS7D-pnwN6-HL>k57keV3de|_uX50}k9>p0MA=%jZuAVvuJ z=z(~Dx+umLs@PN52MPnFnv zrlpd?=5>Dc%FR$lM)U-dBmw;_$GV?ZUM3P7u)`EI32oR z6`TZ*g~!01$o{v&GvE?912({Ncr?gf1os8mk01uJZ{dwlfEic?a+bj(;QnwF{08~{ zS0Fb3pMqDw1uzaL!Xx3Y$natxa0h%3Zi8>bjW7qhU=&0ba0c8L-h$jNw)@Y3d655c+cVJKbmhpWkfNIDuV;cWG0xEwt>R#pEA^~O% zEhmc2G6l<8$%sm$ddzX7#FB9hh1T| zY zu#q{UG*Mot=Co@~y-!D+EINdDQ^G7#?uRfVP8HZ)WFs5kaAsO8xcze{!X3XAx1|FM z0GZFPbAmu)8L!uR*19rWIIhSUh`92dBwF*sXMdd`BW$~Cz(L*vO;34}QIl<3H zLkDgxm;E0Sc_&`&xUgfQ7@VAwNzenqOJ*jLHK`NDj_|5fk^k3IPR~UC68ZlCU-J1I za{XW7b8sb;AqTrbYyh^w5QrY&d&u;kg7<^y07U+O6^Jc>*a4gd%isif1js&t|3HSf z=LmkE-?HZaEATn^AY2WyCSV@yIRfYK`*`>}GX2ls1{i^};7`cvF9lhPzXn8>KOP`p*YBi||QsC$jku;5t|*zmdbg0$+r8!VU0Rka_(VfUMJ( z`Tc2_1ew2o96S(iK^~WR`y4zTK7`yY>*!@K!EuoN1m%2!6(DQq9|_09abRWhS0IBw z6Y{VEWUgIg@PqJp`Hc+yez*y)1F_GS_3s7y`-nGvF{k z6vq^MXL4FWZ_AldZX2pGnatahn?K0H>E0x3r#HyrX>(1L*%W>ptTS+<8nA-2tgKKk z4N zoT$R+^QEpBF5q^l=>6XrKcMdx}YP9-Ec8n)*_rN^}Vim z_RrS1`GyL01BLJ~;c$n6@qszyVO2duveK0&Xa66G5+J zA7>Hu)qjkdYAhD_JjH#`c^qM&IsHSwyD-%X^zE|rex(kk8W%6RV?ZN64yC=VTVJq< zlB>TmU#_J#k8G|Rmj@IBcB;p79?%>esX^Uhfn*oL5@!r<&Y?7kP*6tBN|BoWhXUbk zdSHL3$thEksf`u3_^qVM)76V2mLvQ1EjC%}9}5Rph^0ao+L87-FzvsFdRvh+uSFbdtrMw0D*P znRP7C14Va|&`FA9Nm=dfu1+W2-Y&a$ItjS=CBSx!Qx2F=K+4E~aljRbivp60zz`=A z;1|Zh*kxRS6d}Ro!~|jkhLGRCXL=qxv-gkzW3*fKyW5@V*Yx!C^!Ii5_es{zfCDce zr{4iZSP#DqUqMb^59h)X=z!mc-vjO6KMEwre-|DCt=qpAWP@)#d;m^?A0exM8Z;l@ z4c|ppzX*n5Cum*%*^q@!m<#U(&BJT{{Uzk{1MpR_bMNvC@B(uBZLkWocK#q$XABQ4rgtf2)&IZ}J`w+Yf zj)O;#)&Ca$8n(f^;Aq&7tiBoKd+>Sgnfw6g-aVrG7koVRQA>V|=pSxM02& z5z%;Qn!&R*=1q*)MYX=}Uy8ACFq#|_2Mxof#6Yc9b{GqW?Xu*alg_no`G=R-F}vyP z)L81+C~4B+MZ(b98dHi6*e4F%YJ!Jz6I{2tXVs#`rV%b(-m@g!5M7IZIooed&>Ry& zs!=AU9c`LZk4ZB{t{fX?5-@OBG`_Ii{b79>F(Z;1so;5;tql6!dWCya)^9YOh&Ori z+UY~);c8+Y=H}+P-mAJ~&?i@_)he}mCx>lsYmVg1fv}kAzuNutH0Vi_jJEA*L~ZrK zuYMma`F|4?+l@Ra`M<(Hef}4@|7Y+x{1_gCAHjXFA8vu`;37B^o!^g?TUwWE0>U=mj1G*#MLcf9Vi@iXK3^ zfsa8QcEU#JgEcS{w0{2p`T^PW8;8^33FQBW;9{5w2a)^l1kLZuPoV7WYoGph(42lB z%z@ePb~qBghkoF8xE|Jn^aMWy=>p^Pk%;=)a?N?NALZ>ras=JhD*hq>%q64>mS{Qb0&YiO-$UFBqBZ48DG*I$TE8)kdrPWQznY+gv6Uh${0Ns~N|)1kG0`NZc_B7; zHPTFq%d!U|jWjUWG+;p0~|IVJqx;(Oocdvdz(|AFc)p>0(nZfq1 zVNpbv742;$r?^syYLMpHbPy0o88rK;=GJsr;HQ?2m;BKC=GdGd7d7p*zFx&8FZLzD zrbCHF$2QS5#O8$?J;VYHGvsUH>n8DbL{lKqxY;BxRcuL^otLyScFH9gYVraaOHH_G z8)n=d^?cz4$hOa(mLm%<8U{T)4;FJ8SMj^1AY?3h)#`KP^x5dJ%_@I}-D))rEB>2K z!24laDj2(K;4o6bBt9bT>f`jdsb@t0q5)@kaa3tHit17h)l1{lNpObfET^I^POjLK z{C_GT@6r4*^8Z%;>7%{>dm#e{kmu#w?>5kW{*S>P7y$Y9+X|ZZp94=JuipjNgXaBz zf~@{SxD;lHi5@m!AO#zKN_}fHlwqb72PjE*uFjBcHznn$Q0hTnS~+-uUC-24wZi;X|M~{C@)7 zi@S9{CjZc*`*Oh4-}x=EaeGM*R-zOfAJ=$qghLtL*r*eWjkOZz2eo1>w++{#laJsV zBJjLVE&cwABllkm z+Ux&*cn=&8zeL7=9PWpkLAL&P!a1-2As{XZLygO||(NH_2` zkj=g-?1VF5HoT17e+%3QUxa-ECJjFpNYMr(X?P0^^8zR1&YBE#nomPxMte`)4*1N9ZolSnK zTNXNPsbVFC=~wJmCMKS;MM)_!-<%7ZvE1M6gDK(3Q|WuoK%C*xa(}6YQNKtGIo;Yk zzq@-=cUL)`Hs8uY5EHiHkGu6sQMxkAY*cUGP2SiNQLf>XQiUPx_yr1Lqa~i|AFAK& zMn}1%5vO<2iX}^X7A@;b*~JFZ{&A`PiEMgD`)m%@oUO)!0#3!S6;r_5X{FZY%+vRI zh3crWIdhT2L7bS4VoZ3ffOE2~&Ri!mC*>;NV`l1R1~%zEJ9TEJM1PzfV*vrftE2db zEsqY33|6^$g$iy~o!RLfXSvlc12yikxtR~n`BkgLf4}5H%N(=qW2OEa{#Qqb_b7RPOp*orBeb)UI%eSitG^3D<5 zCLj8PS!5$^ii&ovzy}tnX(WZ6`GHcM>S=n8sSjKvwxwh{Uf*QvsvQCI{L#T0BU;}g zmY*1+D6fg8>1BBx@E(bj2){6c`C&hWpg0XDCMk=y;`)h1iqVixQW?;($uct=I%Aa* zJ2go;;^D(p5<6>3<3B@qXsPe1bHj^r>1m#kptd7dNHsM%qxRX}x3O>SlHSF+B^#Fa zt?jc40`J*9hHQ%c3p%@HLd$%aJ2&)IS^Gcza?pebJzxr!I;Kh96O_vK>^Ad^%_0+I z&ew3}nONps>D|?`jvh)0^xVqQYo(sUuP_fg?@qUE(06QcX3a9*6gg|hC+X7pcqj|J zy+pdc=~sbMEN#p48ctJ>h zza;)h#cg=gPeAwX)wzUBmw)}bs2%w_%OYOCJ3KVvoEg5uZYwWn$9%~a-{V49(HL7E#0=%SlRd<`H`ae>s4ApHGD$=gO3v9Xr zMZcp`QUwP16;rqRHBjG{_G^7`sH|??RD$IHG{VI`vM0zLzO1|I>f5!eFrVFo;p4nQ{lz6aliTj3Ir{r@~j zPjD8T2`9k2K{o&X1#X2uhfl#?_yi0>FZ94-I16Ti`~hmM!DAqM0++yO+o1#z68=WoDW0L3#Y^Tpc`c8|3o+e-U&ZL zhwvm^4_CouZ~?4^m2d*QLc4kxZU(h6=@zE-;Zft`4_5f@Ifk>Mf4lV*7g8+{N-s9) zBch?r`!}kVAgs|$L<6Qc%qP%MxErK=H3DjiXau9JAO<5*{)TiG(O`Z76e@Zut3y^R zk@VHmX4sK}D@xa~0jo7=&TKQFpCgm74nCRmKdn~)s*Z%jk`*4IfM!G|Uwq9x@P*H1 zeQ__@dtcW0U$>*NNKEUQy-7qjVfSXXuUcWMZ%?Tn2wrwzziLHd{h8|=arHBq@*meK z*v@7AgA_hVvEf;9k zOfhwjY$mL0OIsbHGd76p0WV8(9~~+wWA|oumuUv`hAZxkbG9U;=>|+v=-H>t6$^E_ zy&L<^>%l^3-`YhzJ-Nlp*Qm5!HAt^$zed~B%8JvgLAB!+-_`qVlObSPVrFq`ELpTR zht}}Soi{p?Seo;s;4mZO$=g*da<&cQ#TYDQB6Db{R5Vwb+@1*+1Pd!i5}%TUj9e*m zf*ia6;k4szI+pPCnz&zB{|mP^{CEcyor`7Fq^3zB7L-0Bc1*3vKEbh*{+l6?xXj}i z3#e3rr?Ynt4cBXbn1W%IgtHhuNnwPw6DZR!jF)0OL9rgo#4k-Mb}AbYNhwS`i)`CU z`~-T>wAZL?@82XspHV>sjl(SY&gD$Amg1DAZ8Zu?Avl4a)75pEpy;}6MoGmADg4|A zMz1;6mnTWTZl>PdNZBqU@;}@gbeAL7?Db2!-^1!9beFux$GuDVEw3WM@G|ncu4rOz zeb`jEWPM1?e*~RvwMyCXbVrVTw%p>a-BT?sZ0Hfy#hS?w#1S^=ct!H=kz1sqZ8+1L z9&nfl{gaX+M*Oi)lgZ-f4oYeEW^9Bm!_6uH>DW=J4 zxYA!K?g_eex3wAvilGdH^L8}UP?c_-hbBOR95*y(868uYF38QwznsQuln&o?H9@$f zJ|;LD)M9Wf+h7vWA1rvyR#Ox6%)E$kD(c~LIH0{E+?tLNXRK1&>5gmMC${KNd^@7Y(R1f+ z zf^7dikKFwWcn+S0|AD9B2{-`vz-K`+`^B&WPJ_FV!>@u77>1p&15Sgxk;AV7yFXwD z-v?nMbiw1u;NO57LHh#6L38~J;NOwCzYh<=SK&`Uw)>BUUr;~KzyZ*{fHDk#>a81I zp$;E`$KiVDfESUG55j$L4`@z*A85b8GswpG!#=nMBtOfB|HaS=C&F{c$`8S};G1v@ zl;Iin27EoVKfv}L-YYY~T1?~1Ga(4GKJFAGgK=5fPYA-aaWJ`N2I?0^n%?-l(nvuT zMA)o9NJ|Y*UUoB!<-KchkUNcZg1*hnAbP1U#5wIyC0~r#-LX^TQTzNFh((S6yIt*u zMmzpe&4)TackmUB8N5NXMvstQYWvINqV8f5lkv-jI2CPs;Ywb`>-%dL1p9*Sxnd+gP9P z#0z=d8NdeaaHq4T#K4(hhf&{Hse#9?&Qm#pt&4Cb3m2v{<00X}Z!SEqh_s_-s+uB% z<0Kbsba;?gxGhCO2@{KDMi4p0Mfj(aL5t;2{h=HRPV_cAu}mj|!L5nHv}g1xG2l6F zYNFZoxxS3hS(wW}{_yG&SMI1KbXj?nM8o)PUnqCMT6}LRejzSTLifz%5v#6fVa9vy zJ+XHroI=vQ2%lG%9m+68W`3U?I_?i6gPL(W?NAuS4fWcgtI}Z2T&`Oko7+}wZaWQ~ zjp~Ax2b~AmMXfy|t9Tl=tl`V|vN?NE-x8F{;K2$BuK%-$o)5h zZ2i^Yz3@(W8ypF5fqzBr|02u++4`59f3IYEkR5>QpdaL??;uy6;8Kzh$bIXrN%DAFKW?SD literal 0 HcmV?d00001 diff --git a/mod_php_install.sh b/mod_php_install.sh index 7b211fd..90be44a 100755 --- a/mod_php_install.sh +++ b/mod_php_install.sh @@ -80,6 +80,10 @@ echo_skipped() { echo -e "\033[75G[ \033[33m\033[1mskipped\033[m ]" } +is_int() { + return $(test "$@" -eq "$@" > /dev/null 2>&1); +} + detect_os_1 () { if $(which lsb_release > /dev/null 2>&1) ; then @@ -494,11 +498,28 @@ if [ -f "/usr/local/php-${MAJOR_VERSION}/etc/php.ini" ]; then fi MEMORY_LIMIT="" -echononl "memory_limit in Megabyte !! Append \"M\"? [$_MEMORY_LIMIT] " -read MEMORY_LIMIT -if [ "X$MEMORY_LIMIT" = "X" ]; then - MEMORY_LIMIT=$_MEMORY_LIMIT -fi +while [[ "X$MEMORY_LIMIT" = "X" ]]; do + echononl "memory_limit - Append unit \"K\", \"M\" or \"G\" [$_MEMORY_LIMIT] " + read MEMORY_LIMIT + if [ "X$MEMORY_LIMIT" = "X" ]; then + MEMORY_LIMIT=$_MEMORY_LIMIT + fi + if is_int $MEMORY_LIMIT ; then + MEMORY_LIMIT="${MEMORY_LIMIT}M" + warn "No unit is given. \"M\" was appended: memory_limit: $MEMORY_LIMIT" + continue + fi + _unit="${MEMORY_LIMIT: -1}" + if [[ "$_unit" != "K" ]] && [[ "$_unit" != "M" ]] && [[ "$_unit" != "G" ]]; then + warn "Wrong unit was given for memory_limit. Reenter again" + MEMORY_LIMIT="" + continue + fi + if ! is_int ${MEMORY_LIMIT::-1} ; then + warn "Wrong value for memory_limit. was given. Reenter again" + MEMORY_LIMIT="" + fi +done ## - php.ini: max_execution_time if [ -f "/usr/local/php-${MAJOR_VERSION}/etc/php.ini" ]; then @@ -509,11 +530,17 @@ if [ -f "/usr/local/php-${MAJOR_VERSION}/etc/php.ini" ]; then fi MAX_EXECUTION_TIME="" -echononl "max_execution_time (in Seconds) !! insert ONLY the number? [$_MAX_EXECUTION_TIME] " -read MAX_EXECUTION_TIME -if [ "X$MAX_EXECUTION_TIME" = "X" ]; then - MAX_EXECUTION_TIME=$_MAX_EXECUTION_TIME -fi +while [[ "X$MAX_EXECUTION_TIME" = "X" ]]; do + echononl "max_execution_time (in Seconds) !! insert ONLY the number? [$_MAX_EXECUTION_TIME] " + read MAX_EXECUTION_TIME + if [ "X$MAX_EXECUTION_TIME" = "X" ]; then + MAX_EXECUTION_TIME=$_MAX_EXECUTION_TIME + fi + if ! is_int ${MAX_EXECUTION_TIME} ; then + warn "Wrong value for max_execution_time was given. Reenter again" + MAX_EXECUTION_TIME="" + fi +done ## - php.ini: upload_max_filesize if [ -f "/usr/local/php-${MAJOR_VERSION}/etc/php.ini" ]; then @@ -532,11 +559,17 @@ if [ -f "/usr/local/php-${MAJOR_VERSION}/etc/php.ini" ]; then fi MAX_INPUT_TIME="" -echononl "max_input_time (in Seconds) !! insert ONLY the number? [$_MAX_INPUT_TIME] " -read MAX_INPUT_TIME -if [ "X$MAX_INPUT_TIME" = "X" ]; then - MAX_INPUT_TIME=$_MAX_INPUT_TIME -fi +while [[ "X$MAX_INPUT_TIME" = "X" ]]; do + echononl "max_input_time (in Seconds) !! insert ONLY the number? [$_MAX_INPUT_TIME] " + read MAX_INPUT_TIME + if [ "X$MAX_INPUT_TIME" = "X" ]; then + MAX_INPUT_TIME=$_MAX_INPUT_TIME + fi + if ! is_int ${MAX_INPUT_TIME} ; then + warn "Wrong value for max_input_time was given. Reenter again" + MAX_INPUT_TIME="" + fi +done ## - php.ini: upload_max_filesize if [ -f "/usr/local/php-${MAJOR_VERSION}/etc/php.ini" ]; then @@ -547,11 +580,28 @@ if [ -f "/usr/local/php-${MAJOR_VERSION}/etc/php.ini" ]; then fi UPLOAD_MAX_FILESIZE="" -echononl "upload_max_filesize in Megabyte !! Append \"M\"? [$_UPLOAD_MAX_FILESIZE] " -read UPLOAD_MAX_FILESIZE -if [ "X$UPLOAD_MAX_FILESIZE" = "X" ]; then - UPLOAD_MAX_FILESIZE=$_UPLOAD_MAX_FILESIZE -fi +while [[ "X$UPLOAD_MAX_FILESIZE" = "X" ]]; do + echononl "upload_max_filesize - Append unit \"K\", \"M\" or \"G\" [$_UPLOAD_MAX_FILESIZE] " + read UPLOAD_MAX_FILESIZE + if [ "X$UPLOAD_MAX_FILESIZE" = "X" ]; then + UPLOAD_MAX_FILESIZE=$_UPLOAD_MAX_FILESIZE + fi + if is_int $UPLOAD_MAX_FILESIZE ; then + UPLOAD_MAX_FILESIZE="${UPLOAD_MAX_FILESIZE}M" + warn "No unit is given. \"M\" was appended: upload_max_filesize: $UPLOAD_MAX_FILESIZE" + continue + fi + _unit="${UPLOAD_MAX_FILESIZE: -1}" + if [[ "$_unit" != "K" ]] && [[ "$_unit" != "M" ]] && [[ "$_unit" != "G" ]]; then + warn "Wrong unit was given for upload_max_filesize Reenter again" + UPLOAD_MAX_FILESIZE="" + continue + fi + if ! is_int ${UPLOAD_MAX_FILESIZE::-1} ; then + warn "Wrong value for upload_max_filesize was given. Reenter again" + UPLOAD_MAX_FILESIZE="" + fi +done ## - php.ini: post_max_size if [ -f "/usr/local/php-${MAJOR_VERSION}/etc/php.ini" ]; then @@ -562,11 +612,28 @@ if [ -f "/usr/local/php-${MAJOR_VERSION}/etc/php.ini" ]; then fi POST_MAX_SIZE="" -echononl "post_max_size in Megabyte !! Append \"M\"? [$_POST_MAX_SIZE] " -read POST_MAX_SIZE -if [ "X$POST_MAX_SIZE" = "X" ]; then - POST_MAX_SIZE=$_POST_MAX_SIZE -fi +while [[ "X$POST_MAX_SIZE" = "X" ]]; do + echononl "post_max_size - Append unit \"K\", \"M\" or \"G\" [$_POST_MAX_SIZE] " + read POST_MAX_SIZE + if [ "X$POST_MAX_SIZE" = "X" ]; then + POST_MAX_SIZE=$_POST_MAX_SIZE + fi + if is_int $POST_MAX_SIZE ; then + POST_MAX_SIZE="${POST_MAX_SIZE}M" + warn "No unit was given. So I apaended \"M\": post_max_size: $POST_MAX_SIZE" + continue + fi + _unit="${POST_MAX_SIZE: -1}" + if [[ "$_unit" != "K" ]] && [[ "$_unit" != "M" ]] && [[ "$_unit" != "G" ]]; then + warn "Wrong unit was given for post_max_size. Reenter again" + POST_MAX_SIZE="" + continue + fi + if ! is_int ${POST_MAX_SIZE::-1} ; then + warn "Wrong value for post_max_size was given. Reenter again" + POST_MAX_SIZE="" + fi +done echo ""