Sindbad~EG File Manager
�
�/�g�x���dZddlZddlmZmZddlZddlZddlZddl Z ddl
Z
ddlZddlZddgZ
ejZejdd�ZGd�de��ZiZee
��ZdZd Zd
ZGd�dej��Zedzd
d
fedzdd
fddfZd�Zd�Zd�Zd�ZdZ da!d�Z"d�Z#d�Z$d�Z%ee%j&��Z'd�Z(d�Z)d�Z*d�Z+d�Z,d �Z-dS)!aPzipimport provides support for importing Python modules from Zip archives.
This module exports three objects:
- zipimporter: a class; its constructor takes a path to a Zip archive.
- ZipImportError: exception raised by zipimporter objects. It's a
subclass of ImportError, so it can be caught as ImportError, too.
- _zip_directory_cache: a dict, mapping archive paths to zip directory
info dicts, as used in zipimporter._files.
It is usually not needed to use the zipimport module explicitly; it is
used by the builtin import mechanism for sys.path items that are paths
to Zip archives.
�N)�_unpack_uint16�_unpack_uint32�ZipImportError�zipimporter�c��eZdZdS)rN)�__name__�
__module__�__qualname__���0/opt/alt/python311/lib64/python3.11/zipimport.pyrr"s�������Dr
�sPKi��c�f�eZdZdZd�Zdd�Zdd�Zdd�Zd�Zd�Z d �Z
d
�Zd�Zd�Z
d
�Zd�Zd�ZdS)ra�zipimporter(archivepath) -> zipimporter object
Create a new zipimporter instance. 'archivepath' must be a path to
a zipfile, or to a specific path inside a zipfile. For example, it can be
'/tmp/myimport.zip', or '/tmp/myimport.zip/mydirectory', if mydirectory is a
valid directory inside the archive.
'ZipImportError is raised if 'archivepath' doesn't point to a valid Zip
archive.
The 'archive' attribute of zipimporter objects contains the name of the
zipfile targeted.
c��t|t��stdt|�������|st d|����t
r |�t
t��}g} tj |��}|j
dzdkrt d|����n]#ttf$rHtj
|��\}}||krt d|����|}|�|��YnwxYw�� t|}n)#t $rt#|��}|t|<YnwxYw||_||_tj|ddd��|_|jr|xjtz
c_dSdS) Nzexpected str, not zarchive path is empty��pathTi�i�znot a Zip file���)�
isinstance�str� TypeError�typer�alt_path_sep�replace�path_sep�_bootstrap_external�
_path_stat�st_mode�OSError�
ValueError�_path_split�append�_zip_directory_cache�KeyError�_read_directory�_files�archive�
_path_join�prefix)�selfrr)�st�dirname�basename�filess r�__init__zzipimporter.__init__@s����$��$�$� A��?��d���?�?�@�@�@�� E� �!8�t�D�D�D�D�� 8��<�<��h�7�7�D��� �
�(�3�D�9�9���J��)�h�6�6�(�)9��E�E�E�E����Z�(�
(�
(�
(�%8�$C�D�$I�$I�!����d�?�?�(�)9��E�E�E�E����
�
�h�'�'�'�'�'�
(���� �$ /�(��.�E�E��� /� /� /�#�D�)�)�E�).� ��&�&�&� /����������)�4�f�T�T�r�T�l�C����;� $��K�K�8�#�K�K�K�K� $� $s%�3B'�'AD�?D�
D�#D9�8D9Nc���tjdt��t||��}|�|gfSt ||��}t||��rd|j�t�|��gfSdgfS)a/find_loader(fullname, path=None) -> self, str or None.
Search for a module specified by 'fullname'. 'fullname' must be the
fully qualified (dotted) module name. It returns the zipimporter
instance itself if the module was found, a string containing the
full path name if it's possibly a portion of a namespace package,
or None otherwise. The optional 'path' argument is ignored -- it's
there for compatibility with the importer protocol.
Deprecated since Python 3.10. Use find_spec() instead.
zfzipimporter.find_loader() is deprecated and slated for removal in Python 3.12; use find_spec() insteadN)� _warnings�warn�DeprecationWarning�_get_module_info�_get_module_path�_is_dirr'r)r*�fullnamer�mi�modpaths r�find_loaderzzipimporter.find_loaderms��� ��I�)� +� +� +��d�H�
-�
-��
�>���8�O�#�4��2�2���4��!�!� @��T�\�>�8�>�W�>�>�?�?�?��R�x�r
c�n�tjdt��|�||��dS)a�find_module(fullname, path=None) -> self or None.
Search for a module specified by 'fullname'. 'fullname' must be the
fully qualified (dotted) module name. It returns the zipimporter
instance itself if the module was found, or None if it wasn't.
The optional 'path' argument is ignored -- it's there for compatibility
with the importer protocol.
Deprecated since Python 3.10. Use find_spec() instead.
zfzipimporter.find_module() is deprecated and slated for removal in Python 3.12; use find_spec() insteadr)r1r2r3r:)r*r7rs r�find_modulezzipimporter.find_module�s>�� ��I�)� +� +� +�����$�/�/��2�2r
c�"�t||��}|�tj|||���St||��}t ||��rE|j�t�|��}tj|dd���}|j� |��|SdS)zkCreate a ModuleSpec for the specified module.
Returns None if the module cannot be found.
N)�
is_packageT)�name�loaderr>)
r4�
_bootstrap�spec_from_loaderr5r6r'r�
ModuleSpec�submodule_search_locationsr")r*r7�target�module_infor9r�specs r� find_speczzipimporter.find_spec�s���
'�t�X�6�6���"��.�x��+�V�V�V�V�'�t�X�6�6�G��t�W�%�%�
��,�;��;�'�;�;��!�,�(�4�8<�>�>�>���/�6�6�t�<�<�<����tr
c�.�t||��\}}}|S)z�get_code(fullname) -> code object.
Return the code object for the specified module. Raise ZipImportError
if the module couldn't be imported.
��_get_module_code�r*r7�code� ispackager9s r�get_codezzipimporter.get_code�s��$4�D�(�#C�#C� ��i���r
c�f�tr |�tt��}|}|�|jtz��r$|t|jtz��d�} |j|}n#t$rtdd|���wxYwt|j|��S)z�get_data(pathname) -> string with file data.
Return the data associated with 'pathname'. Raise OSError if
the file wasn't found.
Nr�)
rrr�
startswithr'�lenr&r$r� _get_data)r*�pathname�key� toc_entrys r�get_datazzipimporter.get_data�s���� @��'�'��h�?�?�H������t�|�h�6�7�7� :��3�t�|�h�6�7�7�8�8�9�C� &���C�(�I�I��� &� &� &��!�R��%�%�%� &�������y�1�1�1s�1
A?�?Bc�.�t||��\}}}|S)z�get_filename(fullname) -> filename string.
Return the filename for the specified module or raise ZipImportError
if it couldn't be imported.
rJrLs r�get_filenamezzipimporter.get_filename�s��$4�D�(�#C�#C� ��i���r
c�6�t||��}|�td|��|����t||��}|rtj|d��}n|�d�} |j|}n#t$rYdSwxYwt|j|��� ��S)z�get_source(fullname) -> source string.
Return the source code for the specified module. Raise ZipImportError
if the module couldn't be found, return None if the archive does
contain the module, but has no source for it.
N�can't find module �r?�__init__.py�.py)
r4rr5rr(r&r$rTr'�decode)r*r7r8r�fullpathrWs r�
get_sourcezzipimporter.get_source�s����d�H�
-�
-��
�:� �!B�h�!B�!B��R�R�R�R���h�/�/��
� $�*�5�d�M�J�J�H�H��|�|�|�H� ���H�-�I�I��� � � ��4�4� �������y�1�1�8�8�:�:�:s�
A#�#
A1�0A1c�R�t||��}|�td|��|����|S)z�is_package(fullname) -> bool.
Return True if the module specified by fullname is a package.
Raise ZipImportError if the module couldn't be found.
Nr\r])r4r)r*r7r8s rr>zzipimporter.is_packages9���d�H�
-�
-��
�:� �!B�h�!B�!B��R�R�R�R�� r
c���d}tj|t��t||��\}}}tj�|��}|�t|t��st|��}|tj|<||_ |r2t||��}tj|j
|��}|g|_t|d��st |_tj|j||��t'||j��n#tj|=�xYw tj|}n!#t($rt+d|�d����wxYwt-jd||��|S)a@load_module(fullname) -> module.
Load the module specified by 'fullname'. 'fullname' must be the
fully qualified (dotted) module name. It returns the imported
module, or raises ZipImportError if it could not be imported.
Deprecated since Python 3.10. Use exec_module() instead.
zrzipimport.zipimporter.load_module() is deprecated and slated for removal in Python 3.12; use exec_module() insteadN�__builtins__zLoaded module z not found in sys.moduleszimport {} # loaded from Zip {})r1r2r3rK�sys�modules�getr�_module_type�
__loader__r5rr(r'�__path__�hasattrre�_fix_up_module�__dict__�execr$�ImportErrorrA�_verbose_message) r*r7�msgrMrNr9�modrras r�load_modulezzipimporter.load_modulesy��C����s�.�/�/�/�#3�D�(�#C�#C� ��i���k�o�o�h�'�'���;�j��l�;�;�;��x�(�(�C�$'�C�K��!���� ��
*�(��h�7�7��.�9�$�,��M�M�� (�z����3��/�/�
0�#/�� ��.�s�|�X�w�O�O�O���s�|�$�$�$�$�� ���H�%����� V��+�h�'�C�C��� V� V� V��T�x�T�T�T�U�U�U� V�����#�$D�h�PW�X�X�X��
s�
BD�D�"D5�5Ec�z� |�|��sdSn#t$rYdSwxYwddlm}|||��S)z�Return the ResourceReader for a package in a zip file.
If 'fullname' is a package within the zip file, return the
'ResourceReader' object for the package. Otherwise return None.
Nr)� ZipReader)r>r�importlib.readersrv)r*r7rvs r�get_resource_readerzzipimporter.get_resource_reader:sk�� ��?�?�8�,�,�
��t�
��� � � ��4�4� ����/�/�/�/�/�/��y��x�(�(�(s��
(�(c��� t|j��|_|jt|j<dS#t$r+t�|jd��i|_YdSwxYw)z)Reload the file data of the archive path.N)r%r'r&r#r�pop�r*s r�invalidate_cacheszzipimporter.invalidate_cachesIsm�� �)�$�,�7�7�D�K�15�� ���.�.�.��� � � � �$�$�T�\�4�8�8�8��D�K�K�K�K� ���s�-1�1A&�%A&c�4�d|j�t�|j�d�S)Nz<zipimporter object "z">)r'rr)r{s r�__repr__zzipimporter.__repr__Ss!��N�t�|�N�X�N�t�{�N�N�N�Nr
�N)r r
r�__doc__r/r:r<rHrOrXrZrbr>rtrxr|r~rr
rrr.s���������"%$�%$�%$�Z � � � �J3�3�3�3� ����6���2�2�2�* � � �;�;�;�4 � � �(�(�(�V)�)�)����O�O�O�O�Or
z__init__.pycTr^F)z.pycTF)r_FFc�H�|j|�d��dzS)N�.�)r)�
rpartition)r*r7s rr5r5es"���;��,�,�S�1�1�!�4�4�4r
c�(�|tz}||jvSr)rr&)r*r�dirpaths rr6r6is���X�o�G��d�k�!�!r
c�f�t||��}tD]\}}}||z}||jvr|cS�dSr)r5�_zip_searchorderr&)r*r7r�suffix�
isbytecoderNras rr4r4rsS���D�(�+�+�D�)9���%��
�I��&�=���t�{�"�"�����#��4r
c ��� tj|��}n"#t$rtd|��|����wxYw|5|���} |�td��|���}|�t��}n"#t$rtd|��|����wxYwt|��tkrtd|��|����|dd�tk�rB |�dd��|���}n"#t$rtd|��|����wxYwt|tz
tz
d��} |�|��|���}n"#t$rtd|��|����wxYw|�t��}|dkrtd|��|����|||tz�}t|��tkrtd|��|����|t|��z
|z}t|d d
���} t|d
d���}
|| krtd|��|����||
krtd
|��|����|| z}||
z
}|dkrtd|��|����i}d}
|�|��n"#t$rtd|��|����wxYw |�d��}t|��dkrtd���|dd�dkr�n�t|��dkrtd���t|dd���}t|dd ���}t|d d���}t|dd
���}t|d
d���}t|dd���}t|dd���}t|dd���}t|dd���}t|dd���}t|dd���}||z|z} ||
krtd|��|����||z
} |�|��}n"#t$rtd|��|����wxYwt|��|krtd|��|���� t|�| |z
����| |z
krtd|��|����n"#t$rtd|��|����wxYw|dzr|���}nT |�d��}n=#t"$r0|�d���t&��}YnwxYw|�d t*��}t-j||��}||||||||f}|||<|
d!z
}
�� |�|��n#|�|��wxYw ddd��n#1swxYwYt1jd"|
|��|S)#Nzcan't open Zip file: rr��can't read Zip file: �rznot a Zip file: zcorrupt Zip file: ���zbad central directory size: zbad central directory offset: z&bad central directory size or offset: T�.�EOF read where not expectedsPK��
����� �"�*zbad local header offset: i�ascii�latin1�/rz!zipimport: found {} names in {!r})�_io� open_coderr�tell�seek�END_CENTRAL_DIR_SIZE�readrS�STRING_END_ARCHIVE�max�MAX_COMMENT_LEN�rfindr�EOFErrorrr`�UnicodeDecodeError� translate�cp437_tablerrrr(rArq)r'�fp�start_offset�header_position�buffer� file_size�max_comment_start�data�pos�header_size�
header_offset�
arc_offsetr.�count�flags�compress�time�date�crc� data_size� name_size�
extra_size�comment_size�file_offsetr?r�ts rr%r%�s��P�
�]�7�
#�
#�����P�P�P��@�W�@�@�w�O�O�O�O�P����
�s"�s"��w�w�y�y��n "�
X����-�-�q�1�1�1�"$�'�'�)�)�����!5�6�6�����
X�
X�
X�$�%H�W�%H�%H�w�W�W�W�W�
X�����6�{�{�2�2�2�$�%H�W�%H�%H�w�W�W�W�W��b�q�b�z�/�/�/�7��G�G�A�q�M�M�M� "��� � �I�I���7�7�7�(�)L��)L�)L�.5�7�7�7�7�7����%(� �O�(C�(<�)=�>?�%A�%A�!�7��G�G�-�.�.�.��7�7�9�9�D�D���7�7�7�(�)L��)L�)L�.5�7�7�7�7�7�����j�j�!3�4�4����7�7�(�)G�G�)G�)G�.5�7�7�7�7��c�#�&:�":�:�;���v�;�;�"6�6�6�(�)I�g�)I�)I�.5�7�7�7�7�"+�c�$�i�i�"7�#�"=��(���2���7�7�K�*�6�"�R�%�=�9�9�M���,�,�$�%O�G�%O�%O�V]�^�^�^�^���.�.�$�%Q�g�%Q�%Q�X_�`�`�`�`��{�*�O�(�=�8�J��A�~�~�$�%Y�g�%Y�%Y�`g�h�h�h�h��E��E�
X�����(�(�(�(���
X�
X�
X�$�%H�W�%H�%H�w�W�W�W�W�
X����6
���������v�;�;��?�?�"�#@�A�A�A��"�1�"�:��.�.���v�;�;�"�$�$�"�#@�A�A�A�&�v�a��d�|�4�4��)�&��B��-�8�8��%�f�R��U�m�4�4��%�f�R��U�m�4�4��$�V�B�r�E�]�3�3��*�6�"�R�%�=�9�9� �*�6�"�R�%�=�9�9� �*�6�"�R�%�=�9�9� �+�F�2�b�5�M�:�:�
�-�f�R��U�m�<�<��,�V�B�r�E�]�;�;��'�*�4�|�C����.�.�(�)P�W�)P�)P�W^�_�_�_�_��z�)��\��7�7�9�-�-�D�D���\�\�\�(�)L��)L�)L�SZ�[�[�[�[�\�����t�9�9� �)�)�(�)L��)L�)L�SZ�[�[�[�[�\��2�7�7�;��#:�;�;�<�<��i�@W�W�W�,�-P�W�-P�-P�W^�_�_�_�_�X���\�\�\�(�)L��)L�)L�SZ�[�[�[�[�\�����5�=�L��;�;�=�=�D�D�L�#�{�{�7�3�3����-�L�L�L�#�{�{�8�4�4�>�>�{�K�K����L�����|�|�C��2�2��*�5�g�t�D�D���8�Y� �;��d�TW�X����d����
��m6
��d
�G�G�L�!�!�!�!��B�G�G�L�!�!�!�!����!�gs"�s"�s"�s"�s"�s"�s"�s"�s"�s"�s"����s"�s"�s"�s"�h�� C�U�G�T�T�T��Ls���6�Y�A
B�X!�B<�<AX!�*D+�*X!�+E
�
#X!�.)F�X!�F7�7DX!�K"�!X!�"L�FX!�R)�(X!�)S�*X!�3AT4�3X!�4U�X!�1V�X!�7W�>X!�W�A X!�Y�!X8�8Y�Y�Yu�
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ c��tr#tjd��td���da ddlm}n1#t$r$tjd��td���wxYw dan#dawxYwtjd��|S)Nzzipimport: zlib UNAVAILABLE�)can't decompress data; zlib not availableTr��
decompressFzzipimport: zlib available)�_importing_zlibrArqr�zlibr�� Exceptionr�s r�_get_decompress_funcr�6s����J� �#�$A�B�B�B��H�I�I�I��O� �#�#�#�#�#�#�#���J�J�J��#�$A�B�B�B��H�I�I�I�J���� $�
����%�������� ;�<�<�<��s�5�A*�.A#�#A*�*A.c��|\}}}}}}}} |dkrtd���tj|��5}
|
�|��n"#t$rtd|��|����wxYw|
�d��}t
|��dkrtd���|dd�dkrtd |��|����t|d
d���}t|dd���}
d|z|
z}||z
} |
�|��n"#t$rtd|��|����wxYw|
�|��}t
|��|krt d��� ddd��n#1swxYwY|dkr|S t��}n#t$rtd
���wxYw||d��S)Nrznegative data sizer�rr�r�r�sPKzbad local file header: �r�zzipimport: can't read datar�i�)rr�r�r�rr�rSr�rr�r�)r'rW�datapathr�r�r�r�r�r�r�r�r�r�r�r��raw_datar�s rrTrTKsw��MV�J�H�h� �9�k�4��s��1�}�}��1�2�2�2� ��w� � �8�2� T��G�G�K� � � � ��� T� T� T� �!D��!D�!D�7�S�S�S�S� T������������v�;�;�"����8�9�9�9��"�1�"�:��&�&� �!F�7�!F�!F�W�U�U�U�U�"�6�"�R�%�=�1�1� �#�F�2�b�5�M�2�2�
��9�n�z�1���{�"�� T��G�G�K� � � � ��� T� T� T� �!D��!D�!D�7�S�S�S�S� T�����7�7�9�%�%���x�=�=�I�%�%��6�7�7�7�&�/8�8�8�8�8�8�8�8�8�8�8����8�8�8�8�4�1�}�}���J�)�+�+�
�
���J�J�J��H�I�I�I�J�����:�h��$�$�$sM�F�A
�F�
A,�,BF�D�F�D9�9:F�F�F�F#�#F=c�.�t||z
��dkS)Nr)�abs)�t1�t2s r� _eq_mtimer�ys���r�B�w�<�<�1��r
c��||d�}tj|||��}|dzdk}|rt|dzdk}tjdkrZ|stjdkrHt ||��} | �6tjtj| ��}
tj||
||��nnt||��\}}|rYtt|dd���|��rt|dd ���|krtjd
|����dStj|d d���}
t|
t ��st#d|�d����|
S)
N)r?rrrr��never�alwaysr�r�r�zbytecode is stale for zcompiled module z is not a code object)r�
_classify_pyc�_imp�check_hash_based_pycs�_get_pyc_source�source_hash�_RAW_MAGIC_NUMBER�_validate_hash_pyc�_get_mtime_and_size_of_sourcer�rrArq�marshal�loadsr�
_code_typer)r*rUrar7r��exc_detailsr��
hash_based�check_source�source_bytesr��source_mtime�source_sizerMs r�_unmarshal_coder��s�������K�
�-�d�H�k�J�J�E�����!�J����t�|�q�(���&�'�1�1��
2�!%�!;�x�!G�!G�*�4��:�:�L��'�"�.�'�9� ����
$�6��+�x��>�>�>��
*�$��9�9� "��k�� ��n�T�!�B�$�Z�8�8�,�G�G�
�"�4��2��;�/�/�;�>�>��+�9�X�9�9�;�;�;��t��=��b�c�c��#�#�D��d�J�'�'�N��L�8�L�L�L�M�M�M��Kr
c�^�|�dd��}|�dd��}|S)Ns
�
�
)r)�sources r�_normalize_line_endingsr��s-��
�^�^�G�U�
+�
+�F�
�^�^�E�5�
)�
)�F��Mr
c�F�t|��}t||dd���S)NroT)�dont_inherit)r��compile)rUr�s r�_compile_sourcer��s&��
$�V�
,�
,�F��6�8�V�$�?�?�?�?r
c�x�tj|dz dz|dz dz|dz|dz |dz dz|dzdzd d d f ��S)
N� i������?r�r)r��mktime)�dr�s r�_parse_dostimer��s\���;�
�a��4��
�a��3�� �D�� �R��
�a��4��
�T��Q��
�B�����r
c��� |dd�dvsJ�|dd�}|j|}|d}|d}|d}t||��|fS#tttf$rYdSwxYw)Nr��c�or���)rr)r&r�r$�
IndexErrorr)r*rrWr�r��uncompressed_sizes rr�r��s�����B�C�C�y�J�&�&�&�&��C�R�C�y���K��%� ���|����|��%�a�L���d�D�)�)�+<�<�<���j�)�,�����t�t����s�AA�A,�+A,c��|dd�dvsJ�|dd�} |j|}t|j|��S#t$rYdSwxYw)Nrr�)r&rTr'r$)r*rrWs rr�r��sq������9�
�"�"�"�"�����9�D�2��K��%� ����y�1�1�1�������t�t����s�
<�
A
� A
c��t||��}d}tD]�\}}}||z}tjd|jt
|d��� |j|}|d} t|j|��}
d}|r. t|| |||
��}n)#t$r}|}Yd}~nd}~wwxYwt| |
��}|���|d} ||| fcS#t$rY��wxYw|rd|��}
t|
|���|�td|��|����)Nz
trying {}{}{}r�)� verbosityrzmodule load failed: r]r\)
r5r�rArqr'rr&rTr�rpr�r$r)r*r7r�import_errorr�r�rNrarWr9r�rM�excrrs rrKrK�s|���D�(�+�+�D��L�)9�S�S�%��
�I��&�=���#�O�T�\�8�X�ab�c�c�c�c� ,���H�-�I� ��l�G��T�\�9�5�5�D��D��
6�'�*�4��(�H�d�S�S�D�D��"�'�'�'�#&�L�L�L�L�L�L�����'����'�w��5�5���|����l�G���G�+�+�+�+��%� � � ��D� ����(� S�7��7�7�C� ��8�4�4�4�,�F� �!B�h�!B�!B��R�R�R�Rs*�
C�8B�
B"�B�B"�
C�C).r��_frozen_importlib_externalrrr�_frozen_importlibrAr�r�r�rfr�r1�__all__r�path_separatorsrrprr#rrir�r�r��
_LoaderBasicsrr�r5r6r4r%r�r�r�rTr�r��__code__r�r�r�r�r�r�rKrr
r�<module>rsk���� 9�8�8�8�E�E�E�E�E�E�E�E�&�&�&�&�����
�
�
�
�����
�
�
�
����������]�
+���'��"�2�1�2�2�6�� � � � � �[� � � ����t�C�y�y����"����fO�fO�fO�fO�fO�%�3�fO�fO�fO�^ ����d�+�
�
��u�d�+��� ��5�5�5�"�"�"����>{�{�{�J/��:��
���*(%�(%�(%�\���&�&�&�P�T�/�*�
+�
+�
�
���@�@�@����
�
�
�&
2�
2�
2� S� S� S� S� Sr
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists