����JFIF���������
1#@!#!123s
D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
opt
/
alt
/
python311
/
lib64
/
python3.11
/
http
/
__pycache__
/
Filename :
server.cpython-311.opt-2.pyc
back
Copy
� ����!A?h_������������������������x���� �d�Z�g�d�ZddlZddlZddlZddlZddlZddl Z ddl Z ddlZddlZddl Z ddlZddlZddlZddlZddlZddlZddlZddlmZ�dZdZ�G�d��dej��������������������Z�G�d ��d ej��������e������������Z�G�d��dej��������������������Z�G�d ��de������������Zd��Z da!d��Z"d��Z#�G�d��de������������Z$d��Z%eedddfd�Z&e'dk����r�ddl(Z(ddl)Z)�e(j*����������������������Z+e+�,��������������������ddd��������������e+�,��������������������dddd �!�������������e+�,��������������������d"d#�ej-����������������������d$�%�������������e+�,��������������������d&d'd(dd)�*�������������e+�,��������������������d+de.d,d-�.�������������e+�/����������������������������������Z0e0j1��������re$Z2neZ2�G�d/��d0e������������Z3�e&e2e3e0j4��������e0j5��������e0j6���������1�������������dS�dS�)2z0.6)� HTTPServer�ThreadingHTTPServer�BaseHTTPRequestHandler�SimpleHTTPRequestHandler�CGIHTTPRequestHandler�����N)� HTTPStatusaD��<!DOCTYPE HTML> <html lang="en"> <head> <meta charset="utf-8"> <title>Error response</title> </head> <body> <h1>Error response</h1> <p>Error code: %(code)d</p> <p>Message: %(message)s.</p> <p>Error code explanation: %(code)s - %(explain)s.</p> </body> </html> ztext/html;charset=utf-8c�������������������������e�Zd�ZdZd��ZdS�)r�������c����������������������� �t�����������j�����������������������������|��������������|�j��������d�d����������\��}}t ����������j��������|������������|�_��������||�_��������d�S�)N����)�socketserver� TCPServer�server_bind�server_address�socket�getfqdn�server_name�server_port)�self�host�ports��� �2/opt/alt/python311/lib64/python3.11/http/server.pyr���zHTTPServer.server_bind����sQ������<���*�*�4�0�0�0��(��!��,� ��d�!�>�$�/�/������������N)�__name__� __module__�__qualname__�allow_reuse_addressr�����r���r���r���r�������s)���������������� �� �� �� �� r���r���c�������������������������e�Zd�ZdZdS�)r���TN)r���r���r����daemon_threadsr���r���r���r���r�������s���������������N�N�Nr���r���c������������ �������������e�Zd�Z �dej�������������������������������������������d���������z���Zdez���Ze Z eZdZ d��Zd��Zd��Zd��Zd"d �Zd#d�Zd#d�Zd ��Zd��Zd��Zd$d�Zd��Ze���������������������d���ej���������ed�������������edd������������������������D���������������������������Zde�e d������������<���d��Z!d��Z"d#d�Z#d��Z$g�d�Z%g�d�Z&d��Z'd Z(e)j*��������j+��������Z,d!��e-j.���������/����������������������������������D���������������Z0d S�)%r���zPython/r���z BaseHTTP/�HTTP/0.9c����������������������� �d�|�_���������|�j��������x|�_��������}d|�_��������t ����������|�j��������d������������}|���������������������d������������}||�_��������|�����������������������������������}t����������|������������dk����rdS�t����������|������������dk�����rp|d���������} �|� ��������������������d������������st�����������|���������������������d d ������������d ���������}|���������������������d������������}t����������|������������dk����rt�����������t����������d ��|D���������������������������rt����������d�������������t����������d��|D���������������������������rt����������d�������������t����������|d���������������������t����������|d ���������������������f}n;#�t����������t����������f$�r'�|����������������������t ����������j��������d|z���������������Y�dS�w�xY�w|dk����r|�j��������dk����rd|�_��������|dk����r%|����������������������t ����������j��������d|z���������������dS�||�_��������dt����������|������������cxk����rdk����s'n�|����������������������t ����������j��������d|z���������������dS�|d�d����������\��}}t����������|������������dk����r2d|�_��������|dk����r%|����������������������t ����������j��������d|z���������������dS�||c|�_���������|�_��������|�j��������� ��������������������d������������r"d |�j�����������������������������d ������������z���|�_�������� �t,����������j�����������������������������|�j��������|�j���������������������|�_��������n�#�t,����������j��������j��������$�r9}|����������������������t ����������j��������dt ����������|�������������������������Y�d�}~dS�d�}~wt,����������j��������j��������$�r9}|����������������������t ����������j��������dt ����������|�������������������������Y�d�}~dS�d�}~ww�xY�w|�j�����������������������������dd������������} | � ����������������������������������dk����rd|�_��������n*| � ����������������������������������d k����r|�j��������dk����rd|�_��������|�j�����������������������������d!d������������} | � ����������������������������������d"k����r,|�j��������dk����r!|�j��������dk����r|��!����������������������������������sdS�dS�)#NTz iso-8859-1� r���F�������zHTTP/�/r ����.r���c��������������3����@���K����|�]}|�������������������������������������V����d�S��N)�isdigit��.0� components��� r���� <genexpr>z7BaseHTTPRequestHandler.parse_request.<locals>.<genexpr>/��s1����������O�O�9�9�,�,�.�.�.�O�O�O�O�O�Or���znon digit in http versionc��������������3����<���K����|�]}t����������|������������d�k����V����dS�)� ���N)�lenr,���s��� r���r/���z7BaseHTTPRequestHandler.parse_request.<locals>.<genexpr>1��s-����������K�K�y�s�9�~�~��*�K�K�K�K�K�Kr���z unreasonable length http versionzBad request version (%r))r ���r ���zHTTP/1.1)r���r���zInvalid HTTP version (%s)zBad request syntax (%r)�GETzBad HTTP/0.9 request type (%r)z//)�_classz Line too longzToo many headers� Connection���close� keep-alive�Expectz100-continue)"�command�default_request_version�request_version�close_connection�str�raw_requestline�rstrip�requestline�splitr2���� startswith� ValueError�any�int� IndexError� send_errorr����BAD_REQUEST�protocol_version�HTTP_VERSION_NOT_SUPPORTED�path�lstrip�http�client� parse_headers�rfile�MessageClass�headers�LineTooLong�REQUEST_HEADER_FIELDS_TOO_LARGE� HTTPException�get�lower�handle_expect_100)r����versionrA����words�base_version_number�version_numberr:���rL����err�conntype�expects��� r���� parse_requestz$BaseHTTPRequestHandler.parse_request��s������ �����)-�)E�E���w� $����$�.��=�=��!�(�(��0�0��&����!�!�#�#���u�:�:��?�?��5��u�:�:��?�?��B�i�G� ��)�)�'�2�2��%�$�$�&-�m�m�C��&;�&;�A�&>�#�!4�!:�!:�3�!?�!?����~�&�&�!�+�+�$�$��O�O��O�O�O�O�O��B�$�%@�A�A�A��K�K�N�K�K�K�K�K��I�$�%G�H�H�H�!$�^�A�%6�!7�!7��^�A�=N�9O�9O�!O����� �+�� �� �� �����*�.��8�:��:��:���u�u� ���� ���'�'�D�,A�Z�,O�,O�(-��%���'�'�����9�/�2E�E�G��G��G���u�#*�D� ��C��J�J�#�#�#�#�!�#�#�#�#��O�O��&�)�K�7� 9�� 9�� 9���5��b�q�b� � ����u�:�:��?�?�$(�D�!��%�������*�4�w�>�@��@��@���u�")�4����d�i���9����%�%�� 4��d�i�.�.�s�3�3�3�D�I� ��;�4�4�T�Z�<@�<M��5��O��O�D�L�L���{�&�� �� �� ��O�O��:���C��� �� �� ���5�5�5�5�5������{�(�� �� �� ��O�O��:�"��C��� �� �� � ��5�5�5�5�5����� ������<�#�#�L�"�5�5���>�>���w�&�&�$(�D�!�!��n�n���,�.�.��#�z�1�1�$)�D�!���!�!�(�B�/�/���L�L�N�N�n�,�,��%��3�3��$� �2�2��)�)�+�+�� ��u��ts7����C!E7��74F/�.F/�0L��N$� .M�N$�+.N�N$c������������������n����� �|�����������������������t����������j���������������������|�������������������������������������dS��NT)�send_response_onlyr����CONTINUE�end_headers�r���s��� r���rY���z(BaseHTTPRequestHandler.handle_expect_100y��s7������ �� ��� � 3�4�4�4��������tr���c���������������������� � �|�j������������������������������d������������|�_��������t����������|�j��������������������dk����r6d|�_��������d|�_��������d|�_��������|����������������������t����������j ���������������������d�S�|�j��������s d|�_ ��������d�S�|������������������������������������sd�S�d|�j��������z���}t����������|�|������������s*|����������������������t����������j ��������d|�j��������z���������������d�S�t����������|�|������������}�|���������������|�j��������������������������������������������d�S�#�t"����������$�r(}|����������������������d|�������������d|�_ ��������Y�d�}~d�S�d�}~ww�xY�w)Ni��i���r6���T�do_zUnsupported method (%r)zRequest timed out: %r)rQ����readliner?���r2���rA���r<���r:���rH���r����REQUEST_URI_TOO_LONGr=���ra����hasattr�NOT_IMPLEMENTED�getattr�wfile�flush�TimeoutError� log_error)r����mname�method�es��� r����handle_one_requestz)BaseHTTPRequestHandler.handle_one_request���sd����� � �#'�:�#6�#6�u�#=�#=�D� ��4�'�(�(�5�0�0�#%�� �')��$�!������ � ?�@�@�@����'�� �(,��%����%�%�'�'�� ����D�L�(�E��4��'�'�� �����.�-���<�>��>��>�����T�5�)�)�F��F�H�H�H��J����������� �� �� ��N�N�2�A�6�6�6�$(�D�!��F�F�F�F�F����� ���s1����A+D��0D���D��AD��3D�� E�D<�<Ec����������������������� �d|�_���������|�������������������������������������|�j���������s|�������������������������������������|�j����������d�S�d�S�rc���)r=���rv���rg���s��� r����handlezBaseHTTPRequestHandler.handle���s]������4� $������!�!�!��'�� &��#�#�%�%�%���'�� &�� &�� &�� &�� &r���Nc����������������������� � �|�j���������|���������\��}}n#�t����������$�r�d\��}}Y�nw�xY�w|�|}|�|}|����������������������d||�������������|����������������������||�������������|����������������������dd�������������d�}|dk����r�|t ����������j��������t ����������j��������t ����������j��������fvr�|�j ��������|t����������j��������|d�������������t����������j��������|d�������������d�z��}|���������������������d d ������������}|����������������������d|�j ���������������������|����������������������dt����������t����������|�������������������������������������|�������������������������������������|�j��������d k����r|r|�j�����������������������������|�������������d�S�d�S�d�S�)N)�???rz���zcode %d, message %sr5���r7��������F��quote)�code�message�explainzUTF-8�replacezContent-Type�Content-Length�HEAD)� responses�KeyErrorrr���� send_response�send_headerr���� NO_CONTENT� RESET_CONTENT�NOT_MODIFIED�error_message_format�html�escape�encode�error_content_typer>���r2���rf���r:���ro����write)r���r~���r���r�����shortmsg�longmsg�body�contents��� r���rH���z!BaseHTTPRequestHandler.send_error���s������ �" -� $��t� 4��H�g�g���� -�� -�� -� ,��H�g�g�g� -�����?��G��?��G����,�d�G�<�<�<����4��)�)�)�����w�/�/�/� ����C�K�K���.�#�1�#�0�2�� 2�� 2� ��0���;�w�e�<�<�<��;�w�e�<�<�<�4��4���G� ��>�>�'�9�5�5�D����^�T�-D�E�E�E����-�s�3�t�9�9�~�~�>�>�>��������<�6�!�!�d�!��J���T�"�"�"�"�"��"�!�!�!s������&�&c����������������������� �|�����������������������|�������������|����������������������||�������������|����������������������d|�������������������������������������������������|����������������������d|�������������������������������������������������d�S�)N�Server�Date)�log_requestrd���r�����version_string�date_time_string�r���r~���r���s��� r���r����z$BaseHTTPRequestHandler.send_response���s}������ �� �����������g�.�.�.�����4�#6�#6�#8�#8�9�9�9������!6�!6�!8�!8�9�9�9�9�9r���c���������������������� �|�j���������dk����rs|�||�j��������v�r|�j��������|���������d���������}nd}t����������|�d������������sg�|�_��������|�j�����������������������������d|�j��������||fz�����������������������dd�������������������������d�S�d�S�)Nr"���r���r6����_headers_bufferz %s %d %s �latin-1�strict)r<���r����rl���r�����appendrJ���r����r����s��� r���rd���z)BaseHTTPRequestHandler.send_response_only���s�������,���:�-�-����4�>�)�)�"�n�T�2�1�5�G�G� �G��4�!2�3�3�� *�')��$�� �'�'���*�D�'�:�*;�<B�F�!�8�=-��=-� .�� .�� .�� .�� .��.�-r���c������������������l���� �|�j���������dk����rKt����������|�d������������sg�|�_��������|�j�����������������������������|�d|�d����������������������dd�������������������������|�����������������������������������dk����rB|�����������������������������������dk����r d |�_��������d�S�|�����������������������������������d k����rd|�_��������d�S�d�S�d�S�)Nr"���r����z: r$���r����r����� connectionr7���Tr8���F)r<���rl���r����r����r����rX���r=���)r����keyword�values��� r���r����z"BaseHTTPRequestHandler.send_header��s�������7���:�-�-��4�!2�3�3�� *�')��$�� �'�'�!(���%�%�%�0�8�8��H�M�M� O�� O�� O���=�=�?�?�l�*�*��{�{�}�}��'�'�(,��%�%�%������,�.�.�(-��%�%�%� �+�*��/�.r���c������������������~����� �|�j���������dk����r0|�j�����������������������������d�������������|�������������������������������������d�S�d�S�)Nr"���s��� )r<���r����r����� flush_headersrg���s��� r���rf���z"BaseHTTPRequestHandler.end_headers��sJ������:���:�-�-�� �'�'��0�0�0���� � � � � ��.�-r���c�����������������������t����������|�d������������r;|�j�����������������������������d���������������������|�j���������������������������������g�|�_��������d�S�d�S�)Nr����r���)rl���ro���r�����joinr����rg���s��� r���r����z$BaseHTTPRequestHandler.flush_headers��sR�������4�*�+�+�� &��J���S�X�X�d�&:�;�;�<�<�<�#%�D� � � � &�� &r����-c����������������������� �t����������|t����������������������r|j��������}|����������������������d|�j��������t����������|������������t����������|�������������������������d�S�)Nz "%s" %s %s)� isinstancer���r�����log_messagerA���r>���)r���r~����sizes��� r���r����z"BaseHTTPRequestHandler.log_request!��sa������ � ��d�J�'�'�� ��:�D������)�3�t�9�9�c�$�i�i� A�� A�� A�� A�� Ar���c������������������$����� ��|�j���������|g|�R����d�S�r*���)r����)r����format�argss��� r���rr���z BaseHTTPRequestHandler.log_error,��s*������ �� ����'�$�'�'�'�'�'�'r���c�����������������������i�|�] }|d�|d���� S�)z\x�02xr���)r-����cs��� r���� <dictcomp>z!BaseHTTPRequestHandler.<dictcomp><��s"������V�V�V�!�Q� �a� � � �V�V�Vr���� �����������z\\�\c����������� ������������� �||z��}t�����������j�����������������������������|�������������������������������������d|�������������������������������������d|���������������������|�j���������������������d��������������d�S�)Nz - - [z] � )�sys�stderrr�����address_string�log_date_time_string� translate�_control_char_table)r���r����r����r���s��� r���r����z"BaseHTTPRequestHandler.log_message?��s������� �&��4�-��� ����-�-�/�/�/�/��3�3�5�5�5�5�!�+�+�D�,D�E�E�E�E�G�� H�� H�� H�� H�� Hr���c������������������(����� �|�j���������dz���|�j��������z���S�)N� )�server_version�sys_versionrg���s��� r���r����z%BaseHTTPRequestHandler.version_stringY��s������8��"�S�(�4�+;�;�;r���c������������������p����� �|�t����������j�����������������������}t����������j�����������������������������|d�������������S�)NT)�usegmt)�time�email�utils� formatdate)r���� timestamps��� r���r����z'BaseHTTPRequestHandler.date_time_string]��s1������N���� ���I��{�%�%�i��%�=�=�=r���c����������� ������������ �t����������j�����������������������}t����������j��������|������������\ ��}}}}}}}} } d||�j��������|���������||||fz��}|S�)Nz%02d/%3s/%04d %02d:%02d:%02d)r����� localtime� monthname)r����now�year�month�day�hh�mm�ss�x�y�z�ss��� r���r����z+BaseHTTPRequestHandler.log_date_time_stringc��sZ������<��i�k�k��04��s�0C�0C�-��e�S�"�b�"�a��A�*��T�^�E�*�D�"�b�"�.>�� >���r���)�Mon�Tue�Wed�Thu�Fri�Sat�Sun) N�Jan�Feb�Mar�Apr�May�Jun�Jul�Aug�Sep�Oct�Nov�Decc����������������������� �|�j���������d���������S��Nr���)�client_addressrg���s��� r���r����z%BaseHTTPRequestHandler.address_stringq��s������(��"�1�%�%r����HTTP/1.0c������������������,�����i�|�]}||j���������|j��������f��S�r���)�phrase�description)r-����vs��� r���r����z!BaseHTTPRequestHandler.<dictcomp>���s3������������ �� �A�H�a�m�$�����r���)NNr*���)r����r����)1r���r���r���r����rZ���rB���r�����__version__r�����DEFAULT_ERROR_MESSAGEr�����DEFAULT_ERROR_CONTENT_TYPEr����r;���ra���rY���rv���rx���rH���r����rd���r����rf���r����r����rr���r>���� maketrans� itertools�chain�ranger�����ordr����r����r����r�����weekdaynamer����r����rJ���rN���rO����HTTPMessagerR���r����__members__�valuesr����r���r���r���r���r�������s7�������������d�N��c�k�/�/�1�1�!�4�4�K� �!�;�.�N�0��3���)��l��l��l�\�����$#��#��#�J&��&��&�3#��3#��3#��3#�j:��:��:��:�.��.��.��.�.��.��.�!��!��!�&��&��&� A�� A�� A�� A�(��(��(���-�-�V�V��y��u�u�T�{�{�E�E�$�t�DT�DT�'U�'U�V�V�V�X��X��%*����D� � �"�H��H��H�4<��<��<�>��>��>��>�������D�C�C�K�;��;��;�I�&��&��&��"����;�*�L�����'�.�.�0�0������I�I�Ir���r���c��������������������l�������e�Zd�Z �dez���Zddddd�xZZdd���fd � Zd ��Zd��Z d��Z d ��Zd��Zd��Z d��Z��xZS�)r���zSimpleHTTP/zapplication/gzip�application/octet-streamzapplication/x-bzip2zapplication/x-xz)z.gzz.Zz.bz2z.xzN�� directoryc�����������������������|�t����������j����������������������}t����������j��������|������������|�_���������t ������������������������j��������|i�|���d�S�r*���)�os�getcwd�fspathr���super�__init__)r���r��r�����kwargs� __class__s��� �r���r ��z!SimpleHTTPRequestHandler.__init__���sG���������� ���I���9�-�-��������$�)�&�)�)�)�)�)r���c������������������������ �|�������������������������������������}|rK �|����������������������||�j���������������������|������������������������������������d�S�#�|������������������������������������w�xY�wd�S�r*���)� send_head�copyfilero���r7����r����fs��� r����do_GETzSimpleHTTPRequestHandler.do_GET���sd������"��N�N������ � �� � �a���,�,�,���� � � � � ����� � � � ���� �� s����A �� A c������������������`����� �|�������������������������������������}|r|������������������������������������d�S�d�S�r*���)r��r7���r��s��� r����do_HEADz SimpleHTTPRequestHandler.do_HEAD���s7������#��N�N������ � �G�G�I�I�I�I�I� �� r���c������������������f���� �|�����������������������|�j��������������������}d�}t����������j�����������������������������|�������������rCt����������j�����������������������������|�j��������������������}|j�����������������������������d������������s�|����������������������t����������j ���������������������|d���������|d���������|d���������dz���|d���������|d���������f}t����������j�����������������������������|������������}|����������������������d|�������������|����������������������dd �������������|�� �����������������������������������d�S�d D�]E}t����������j�����������������������������||������������}t����������j�����������������������������|������������r|}�n�F|����������������������|������������S�|����������������������|������������}|���������������������d������������r"|����������������������t����������j��������d�������������d�S� �t)����������|d������������}n1#�t*����������$�r$�|����������������������t����������j��������d�������������Y�d�S�w�xY�w �t����������j��������|�����������������������������������������������}d |�j��������v��r6d|�j��������v�r, �t2����������j�����������������������������|�j��������d ���������������������} | j���������%| ���������������������t<����������j��������j ���������������������} | j��������t<����������j��������j ��������u�r�t<����������j���������!��������������������|j"��������t<����������j��������j ��������������������} | ���������������������d�������������} | | k����rI|����������������������t����������j#���������������������|�� �����������������������������������|�$�����������������������������������d�S�n##�tJ����������tL����������tN����������tP����������f$�r�Y�nw�xY�w|����������������������t����������j)���������������������|����������������������d|�������������|����������������������dtU����������|d����������������������������������|����������������������d|��+��������������������|j"���������������������������������|�� �����������������������������������|S�#��|�$�������������������������������������xY�w)Nr'���r���r ���r���r%��������Locationr�����0)z index.htmlz index.htmzFile not found�rbzIf-Modified-Sincez If-None-Match)�tzinfo)�microsecond�Content-type����z Last-Modified),�translate_pathrL���r���isdir�urllib�parse�urlsplit�endswithr����r����MOVED_PERMANENTLY� urlunsplitr����rf���r�����isfile�list_directory� guess_typerH���� NOT_FOUND�open�OSError�fstat�filenorS���r����r�����parsedate_to_datetimer��r�����datetime�timezone�utc� fromtimestamp�st_mtimer����r7���� TypeErrorrG���� OverflowErrorrD����OKr>���r����)r���rL���r���parts� new_parts�new_url�index�ctype�fs�ims� last_modifs��� r���r��z"SimpleHTTPRequestHandler.send_head���s������ ���"�"�4�9�-�-���� �7�=�=����� 1��L�)�)�$�)�4�4�E��:�&�&�s�+�+�� ��"�"�:�#?�@�@�@�"�1�X�u�Q�x��q��C��"�1�X�u�Q�x�1� � �,�1�1�)�<�<��� � ��W�5�5�5�� � �!1�3�7�7�7�� � �"�"�"��t�2�� 1�� 1������T�5�1�1���7�>�>�%�(�(��� �D��E����*�*�4�0�0�0�����%�%����=�=����� ��O�O�J�0�2B�C�C�C��4� ��T�4� � �A�A���� �� �� ��O�O�J�0�2B�C�C�C��4�4� ����' ���!�(�(�*�*�%�%�B�#�t�|�3�3�'�t�|�;�;�(��+�;�;���%8�9�;��;�C���z�)��"�k�k��1B�1F�k�G�G���z�X�%6�%:�:�:�%-�%6�%D�%D��K��):�)>�&@��&@� ��&0�%7�%7�A�%7�%F�%F� �%��,�,� �.�.�z�/F�G�G�G� �,�,�.�.�.��G�G�I�I�I�#'�4���'�"�:�}�j�I��������D�����*� ���z�}�-�-�-����^�U�3�3�3����-�s�2�a�5�z�z�:�:�:����_��%�%�b�k�2�2� 4�� 4�� 4��������H�� � �G�G�I�I�I����sJ����G��*H �H �:P��*M��6CP��P��M4�1P��3M4�4B$P��P0c����������� ����������� � �t����������j��������|������������}n1#�t����������$�r$�|����������������������t����������j��������d�������������Y�d�S�w�xY�w|���������������������d����������������g�} �t����������j��������� ��������������������|�j ��������d�������������}n4#�t����������$�r'�t����������j��������� ��������������������|�j ��������������������}Y�nw�xY�wt����������j ��������|d�������������}t����������j����������������������}d|���}|���������������������d �������������|���������������������d �������������|���������������������d�������������|���������������������d|��d ��������������|���������������������d|��d��������������|���������������������d|��d��������������|���������������������d�������������|D�]�}t�����������j �����������������������������||������������}|x} } t�����������j �����������������������������|������������r |dz���} |dz���} t�����������j �����������������������������|������������r|dz���} |���������������������dt����������j�����������������������������| d��������������d t����������j ��������| d��������������d����������������|���������������������d�������������d���������������������|���������������������������������|d������������}t-����������j����������������������}|���������������������|�������������|���������������������d�������������|����������������������t����������j���������������������|����������������������dd|z���������������|����������������������dt;����������t=����������|�������������������������������������|�������������������������������������|S�)NzNo permission to list directoryc������������������*�����|�������������������������������������S�r*���)rX���)�as��� r����<lambda>z9SimpleHTTPRequestHandler.list_directory.<locals>.<lambda>��s��������� � ��r���)�key� surrogatepass��errorsFr|���zDirectory listing for z<!DOCTYPE HTML>z<html lang="en">z<head>z<meta charset="z">z<title>z</title> </head>z<body> <h1>z</h1>z <hr> <ul>r'����@z <li><a href="z </a></li>z</ul> <hr> </body> </html> r�����surrogateescaper���r��ztext/html; charset=%sr����) r���listdirr+��rH���r���r)���sortr ��r!���unquoterL����UnicodeDecodeErrorr����r����r�����getfilesystemencodingr����r����r���islinkr}���r�����io�BytesIOr�����seekr����r6��r����r>���r2���rf���) r���rL����list�r�displaypath�enc�title�name�fullname�displayname�linkname�encodedr��s ��� r���r'��z'SimpleHTTPRequestHandler.list_directory��s_����� � ��:�d�#�#�D�D���� �� �� ��O�O��$�1� 3�� 3�� 3���4�4� ���� � � � �)�)� �*�*�*��� :� �,�.�.�t�y�6E��/��G��G�K�K��!�� :�� :�� :� �,�.�.�t�y�9�9�K�K�K� :�����k�+�U�;�;�;���'�)�)��6��6�6�� ���"�#�#�#� ���#�$�$�$� ������� ���*�3�*�*�*�+�+�+� ���3�5�3�3�3�4�4�4� ���,��,�,�,�-�-�-� ��������� ?�� ?�D��w�|�|�D�$�/�/�H�%)�)�K�(��w�}�}�X�&�&�� &�"�S�j���#�:���w�~�~�h�'�'�� )�"�S�j�� �H�H�H��|�)�)�(�1@��*��B��B��B��B��{�;�e�<�<�<�<�<�>�� ?�� ?�� ?�� ?�� ���2�3�3�3��)�)�A�,�,�%�%�c�+<�=�=���J�L�L�� ������� ���q� � � ����:�=�)�)�)�����)@�3�)F�G�G�G����)�3�s�7�|�|�+<�+<�=�=�=��������s!������*A�A�#&B �� .B;�:B;c���������������������� �|����������������������dd������������d���������}|����������������������dd������������d���������}|��������������������������������������������������������d������������} �t����������j�����������������������������|d�������������}n/#�t����������$�r"�t����������j�����������������������������|������������}Y�nw�xY�wt����������j��������|������������}|����������������������d������������}t����������d�|������������}|�j ��������}|D�]\}t����������j��������� ��������������������|������������s|t����������j��������t����������j��������fv�r�<t����������j�����������������������������||������������}�]|r|dz ��}|S�)N�?r ���r����#r'���rD��rE��)rB���r@���r#��r ��r!��rK��rL��� posixpath�normpath�filterr��r��rL����dirname�curdir�pardirr����)r���rL����trailing_slashr[����words��� r���r��z'SimpleHTTPRequestHandler.translate_pathA��sF����� ���z�z�#�a� � ��#���z�z�#�a� � ��#�������/�/��4�4�� .��<�'�'��_�'�E�E�D�D��!�� .�� .�� .��<�'�'��-�-�D�D�D� .�����!�$�'�'��� � �3�����t�U�#�#���~���� ,�� ,�D��w���t�$�$�� ����B�I�0F�(F�(F���7�<�<��d�+�+�D�D��� ��C�K�D��s����"!B��)B0�/B0c������������������2����� �t����������j��������||�������������d�S�r*���)�shutil�copyfileobj)r����source� outputfiles��� r���r��z!SimpleHTTPRequestHandler.copyfile_��s"������ �� ��6�:�.�.�.�.�.r���c������������������������ �t����������j��������|������������\��}}||�j��������v�r |�j��������|���������S�|�����������������������������������}||�j��������v�r |�j��������|���������S�t ����������j��������|������������\��}}|r|S�dS�)Nr��)r_���splitext�extensions_maprX���� mimetypesr(��)r���rL����base�ext�guess�_s��� r���r(��z#SimpleHTTPRequestHandler.guess_typeo��s������� ���&�t�,�,� ��c��$�%�%�%��&�s�+�+��i�i�k�k���$�%�%�%��&�s�+�+��'��-�-���q��� ��L�)�)r���)r���r���r���r����r����rn���_encodings_map_defaultr ��r��r��r��r'��r��r��r(��� __classcell__�r��s���@r���r���r������s���������������� ��#�[�0�N�!�(�%�!� /��/���N�+��)-��*��*��*��*��*��*��*�����������V��V��V�p7��7��7�r�����</��/��/� *��*��*��*��*��*��*r���r���c������������������@���� �|�����������������������d������������\��}�}}t����������j�����������������������������|�������������}�|����������������������d������������}g�}|d�d����������D�]:}|dk����r|�������������������������������������|r|dk����r|���������������������|��������������;|r<|�����������������������������������}|r%|dk����r|������������������������������������d}n|dk����rd}nd}|rd���������������������||f������������}dd���������������������|������������z���|f}d���������������������|������������}|S�)Nr]��r'���r&���z..r(���r6���)� partitionr ��r!��rK��rB����popr����r����) rL���rs���query� path_parts� head_parts�part� tail_part� splitpath�collapsed_paths ��� r����_url_collapse_pathr������sJ��������^�^�C�(�(�N�D�!�U��<����%�%�D�����C���J��J��3�B�3���&��&���4�<�<��N�N����� �� &�d�c�k�k����t�%�%�%���� ��N�N�$�$� ��� ��D� � ���� � � �� � ��c�!�!�� ��� ���1��H�H�i��/�0�0� ��s�x�x� �+�+�+�Y�7�I��X�X�i�(�(�N��r���c����������������������� �t�����������rt�����������S� �dd�l}�n#�t����������$�r�Y�dS�w�xY�w �|����������������������d������������d���������a�n>#�t����������$�r1�dt����������d��|������������������������������������D���������������������������z���a�Y�nw�xY�wt�����������S�)Nr���r&����nobodyr���r ���c��������������3����&���K����|�]}|d����������V���� dS�)r���Nr���)r-���r����s��� r���r/���znobody_uid.<locals>.<genexpr>���s&����������6�6�!��1��6�6�6�6�6�6r���)r����pwd�ImportError�getpwnamr�����max�getpwall)r���s��� r���� nobody_uidr������s�������.� ���� ��� � � � ����������r�r�����7����h�'�'��*������7��7��7��S�6�6�s�|�|�~�~�6�6�6�6�6�6����7�����Ms������ $�$�A��8A?�>A?c������������������B����� �t����������j��������|�t�����������j��������������������S�r*���)r���access�X_OK)rL���s��� r���� executabler������s������#� �9�T�2�7�#�#�#r���c��������������������X�����e�Zd�Z ��eed������������ZdZd��Zd��Zd��Z ddgZ d��Zd ��Zd ��Z dS�)r����forkr���c����������������������� �|�������������������������������������r|�������������������������������������d�S�|����������������������t����������j��������d�������������d�S�)NzCan only POST to CGI scripts)�is_cgi�run_cgirH���r���rm���rg���s��� r����do_POSTzCGIHTTPRequestHandler.do_POST���sS������ ���;�;�=�=�� 0��L�L�N�N�N�N�N��O�O��*�.� 0�� 0�� 0�� 0�� 0r���c����������������������� �|�������������������������������������r|������������������������������������S�t�������������������������������|�������������S�r*���)r���r���r���r��rg���s��� r���r��zCGIHTTPRequestHandler.send_head���s7������;��;�;�=�=�� <��<�<�>�>�!�+�5�5�d�;�;�;r���c������������������:���� �t����������|�j��������������������}|���������������������dd������������}|dk����rA|d�|����������|�j��������vr0|���������������������d|dz���������������}|dk����r|d�|����������|�j��������v�0|dk����r"|d�|����������||dz���d�����������}}||f|�_��������dS�dS�)Nr'���r ���r���TF)r���rL����find�cgi_directories�cgi_info)r���r����dir_sep�head�tails��� r���r���zCGIHTTPRequestHandler.is_cgi���s������� ��,�D�I�6�6�� �%�%�c�1�-�-����k�k�.��'��":�d�>R�"R�"R�$�)�)�#�w�q�y�9�9�G����k�k�.��'��":�d�>R�"R�"R��Q�;�;�'����1�>�'�!�)�*�*�3M�$�D� �$�J�D�M��4��ur���z/cgi-binz/htbinc������������������"����� �t����������|������������S�r*���)r���)r���rL���s��� r���� is_executablez#CGIHTTPRequestHandler.is_executable��s������?��$���r���c������������������t����� �t�����������j�����������������������������|������������\��}}|�����������������������������������dv�S�)N)z.pyz.pyw)r��rL���rm��rX���)r���rL���r���r���s��� r���� is_pythonzCGIHTTPRequestHandler.is_python��s1������<��W�%�%�d�+�+� ��d��z�z�|�|��.�.r���c������������������R���� �|�j���������\��}}|dz���|z���}|���������������������dt����������|������������dz���������������}|dk����r}|d�|����������}||dz���d�����������}|����������������������|������������}t����������j�����������������������������|������������r+||}}|���������������������dt����������|������������dz���������������}nn|dk�����}|���������������������d������������\��}}} |���������������������d������������}|dk����r|d�|����������||d�����������}} n|d}} |dz���| z���}|����������������������|������������}t����������j�����������������������������|������������s%|�� ��������������������t����������j��������d|z���������������d�S�t����������j�����������������������������|������������s%|�� ��������������������t����������j ��������d|z���������������d�S�|����������������������|������������} |�j��������s| s:|����������������������|������������s%|�� ��������������������t����������j ��������d|z���������������d�S�t#����������j��������t����������j��������������������}|������������������������������������|d <���|�j��������j��������|d <���d|d<���|�j��������|d <���t1����������|�j��������j��������������������|d<���|�j��������|d<���t6����������j�����������������������������|������������}||d<���|����������������������|������������|d<���||d<���| |d<���|�j��������d���������|d<���|�j��������� ��������������������d������������}|r�|�!����������������������������������}t����������|������������dk����r�dd�l"}dd�l#}|d���������|d<���|d����������$����������������������������������dk����r� �|d����������%��������������������d������������}|�&��������������������|�������������'��������������������d������������}|�!��������������������d������������}t����������|������������dk����r|d���������|d<���n#�|j(��������tR����������f$�r�Y�nw�xY�w|�j��������� ��������������������d�������������|�j���������*����������������������������������|d<���n|�j��������d���������|d<���|�j��������� ��������������������d������������}|r||d<���|�j��������� ��������������������d ������������}|r||d!<���|�j���������+��������������������d"d#������������}d$�,��������������������|������������|d%<���|�j��������� ��������������������d&������������}|r||d'<���t[����������d�|�j���������+��������������������d(g�������������������������}d)�,��������������������|������������}|r||d*<���d+D�]}|�.��������������������|d��������������|��/��������������������t����������j0��������d,�������������|��1�����������������������������������| �2��������������������d-d.������������}|�j���������r�| g}d/|vr|�3��������������������|�������������ti������������������������}|�j5���������6�����������������������������������t ����������j7����������������������}|dk����r�t ����������j8��������|d������������\��}}ts����������j9��������|�j:��������gg�g�d������������d���������r>|�j:���������;��������������������d������������sn#ts����������j9��������|�j:��������gg�g�d������������d����������>t ����������j<��������|������������}|r|��=��������������������d0|����������������d�S� � �t ����������j>��������|�������������n#�t~����������$�r�Y�nw�xY�wt ����������j@��������|�j:���������A����������������������������������d�������������t ����������j@��������|�j5���������A����������������������������������d�������������t ����������jB��������|||�������������d�S�#��|�j���������C��������������������|�jD��������|�j���������������������t ����������jE��������d1�������������Y�d�S�xY�wdd�lF} |g}!|����������������������|������������rOt�����������jH��������}"|"�$�����������������������������������I��������������������d2������������r|"d�d3����������|"d4d�����������z���}"|"d5g|!z���}!d/| vr|!�3��������������������| �������������|��J��������������������d6| �K��������������������|!������������������������� �t�����������|������������}#n#�t�����������t�����������f$�r�d}#Y�nw�xY�w| �O��������������������|!| jP��������| jP��������| jP��������|�7������������}$|�j���������$����������������������������������d8k����r!|#dk����r|�j:���������;��������������������|#������������}%nd�}%ts����������j9��������|�j:��������jQ��������gg�g�d������������d���������rH|�j:��������jQ���������R��������������������d������������sn(ts����������j9��������|�j:��������jQ��������gg�g�d������������d����������H|$�S��������������������|%������������\��}&}'|�j5���������T��������������������|&�������������|'r|��=��������������������d9|'�������������|$jU���������V�����������������������������������|$jW���������V�����������������������������������|$jX��������}(|(r|��=��������������������d:|(�������������d�S�|��J��������������������d;�������������d�S�)<Nr'���r ���r���r]��r6���zNo such CGI script (%r)z#CGI script is not a plain file (%r)z!CGI script is not executable (%r)�SERVER_SOFTWARE�SERVER_NAMEzCGI/1.1�GATEWAY_INTERFACE�SERVER_PROTOCOL�SERVER_PORT�REQUEST_METHOD� PATH_INFO�PATH_TRANSLATED�SCRIPT_NAME�QUERY_STRING�REMOTE_ADDR� authorizationr���� AUTH_TYPE�basic�ascii�:�REMOTE_USERzcontent-type�CONTENT_TYPEzcontent-length�CONTENT_LENGTH�referer�HTTP_REFERER�acceptr����,�HTTP_ACCEPTz user-agent�HTTP_USER_AGENT�cookiez, �HTTP_COOKIE)r����REMOTE_HOSTr���r���r���r���zScript output follows�+r�����=zCGI script exit code r����zw.exe������z-uzcommand: %s)�stdin�stdoutr�����env�postz%szCGI script exit status %#xzCGI script exited OK)Yr���r���r2���r��r��rL���r��rx���existsrH���r���r)��r&��� FORBIDDENr���� have_forkr����copy�deepcopy�environr�����serverr���rJ���r>���r���r:���r ��r!��rK��r����rS���rW���rB����base64�binasciirX���r�����decodebytes�decode�Error�UnicodeError�get_content_type�get_allr����ra��� setdefaultr����r6��r����r����r����r���ro���rp���r����waitpid�selectrQ����read�waitstatus_to_exitcoderr����setuidr+���dup2r-���execve�handle_error�request�_exit� subprocessr����r���r#��r�����list2cmdlinerF���r4��rD����Popen�PIPE�_sock�recv�communicater����r����r7���r���� returncode))r����dir�restrL����i�nextdir�nextrest� scriptdirrs��rz���script� scriptname� scriptfile�ispyr����uqrestr���r���r����lengthr���r����ua�co� cookie_str�k� decoded_queryr����r����pid�sts�exitcoder����cmdline�interp�nbytes�p�datar���r�����statuss)��� r���r���zCGIHTTPRequestHandler.run_cgi��s �����#��M� ��T��S�y�4����I�I�c�3�s�8�8�A�:�&�&���1�f�f��2�A�2�h�G��A�a�C�D�D�z�H��+�+�G�4�4�I��w�}�}�Y�'�'�� �#�X�T���I�I�c�3�s�8�8�A�:�.�.������1�f�f������,�,���a��� �I�I�c�N�N����6�6�����8�T�!�"�"�X�D�F�F���D�F��3�Y��'� ��(�(��4�4� ��w�~�~�j�)�)�� ��O�O��$�)�J�6� 8�� 8�� 8�� �F��w�~�~�j�)�)�� ��O�O��$�5� �B� D�� D�� D�� �F��~�~�j�)�)���>�� ��� ��%�%�j�1�1�� �����(�7�*�D�F��F��F������m�B�J�'�'��!%�!4�!4�!6�!6����!�[�4��M��#,��� �!%�!6���� ���!8�9�9��M�� $�������%�%�d�+�+��!��K��!%�!4�!4�V�!<�!<����'��M��#��N��!�0��3��M����(�(��9�9� ��� B�)�/�/�1�1�M��=�!�!�Q�&�&�'�'�'�'�'�'�'�'�#0��#3��K� � ��#�)�)�+�+�w�6�6� B�(5�a�(8�(?�(?��(H�(H� �(.�(:�(:�=�(I�(I�(.��w����&� �)6�(;�(;�C�(@�(@� ��}�-�-��2�2�1>�q�1A�C� �.����%�N�L�9���������������<���N�+�+�3�"&�,�"?�"?�"A�"A�C����"&�,�~�">�C�����!�!�"2�3�3���� +�$*�C� �!��,�"�"�9�-�-���� *�")�C�����%�%�h��3�3�� �X�X�f�-�-��M�� �\� � �l� +� +�� �� (�%'�C�!�"� �D�$�,�.�.�x��<�<� =� =���Y�Y�r�]�]� ��� ,�!+�C� ��D�� "�� "�A��N�N�1�b�!�!�!�!����:�=�*A�B�B�B�������� � �c�3�/�/� ��>��I 9��8�D��-�'�'����M�*�*�*��\�\�F��J�������'�)�)�C��a�x�x��:�c�1�-�-���S��m�T�Z�L�"�b�!�<�<�Q�?����:�?�?�1�-�-������m�T�Z�L�"�b�!�<�<�Q�?�����4�S�9�9����G��N�N�#E�8�#E�#E�F�F�F��� ���I�f�%�%�%�%����������D�������� �)�)�+�+�Q�/�/�/���� �)�)�+�+�Q�/�/�/�� �*�d�C�0�0�0�0�0�� ���(�(���t�7J�K�K�K���� � � � � � ����� ����!�l�G��~�~�j�)�)�� 3�����<�<�>�>�*�*�7�3�3��7�#�C�R�C�[�6�"�#�#�;�6�F�!�4�.�7�2���%������u�%�%�%����]�J�,C�,C�G�,L�,L�M�M�M� ��V�������z�*�� �� �� ����� ����� � ��'1��(2��(2��'*� �!��#��#�A���|�!�!�#�#�v�-�-�&�1�*�*��z���v�.�.������-���!1� 2�B��A�>�>�q�A�� ��z�'�,�,�Q�/�/������-���!1� 2�B��A�>�>�q�A�� ���]�]�4�0�0�N�F�F��J���V�$�$�$��� -����t�V�,�,�,� �H�N�N���� �H�N�N�����\�F��� 9����;�V�D�D�D�D�D�� � �!7�8�8�8�8�8sP����AO��O�O�/Z��\�� Z�\��Z�A1\��;]�3`��`�`N)r���r���r���rl���r��r����rbufsizer���r��r���r���r���r���r���r���r���r���r���r������s��������������������F�#�#�I���H�0��0��0�<��<��<������4�"�8�,�O� �� �� �/��/��/� x9��x9��x9��x9��x9r���r���c������������������������t����������j��������|�t�����������j��������t�����������j��������d��}t ����������t����������|������������������������\��}}}}}||fS�)N)�type�flags)r����getaddrinfo�SOCK_STREAM� AI_PASSIVE�next�iter)�address�infos�familyr���proto� canonname�sockaddrs��� r����_get_best_familyr�����sS�������� � � ��� �� �� �E� �04�D��K�K�/@�/@�,�F�D�%��H��8��r���r����i@��c���������������������� �t����������||������������\��|_��������}||�_���������|||�������������5�}|j�������������������������������������������d�d����������\��}}d|v�rd|��d�n|}t����������d|��d|��d|��d|��d� ������������� �|������������������������������������n3#�t����������$�r&�t����������d �������������t����������j ��������d �������������Y�nw�xY�wd�d�d��������������d�S�#�1�swxY�w�Y���d�S�)Nr���r����[�]zServing HTTP on z port z (http://z/) ...z& Keyboard interrupt received, exiting.r���) r���address_familyrJ���r����getsockname�print� serve_forever�KeyboardInterruptr�����exit) �HandlerClass�ServerClass�protocolr����bind�addr�httpdr����url_hosts ��� r����testr"�����sw������ �(8��d�'C�'C�$�K���$,�L�!� ��T�<� (� (���E��\�-�-�/�/����3� ��d�"%��+�+�;�t�;�;�;�;�4�� � /�t�� /�� /�4�� /�� /�� /�� /�"&� /�� /�� /� �� �� � ����!�!�!�!�� �� �� �� ��;�<�<�<��H�Q�K�K�K�K�K� �����������������������������������������s6����A C�;B�C�-C��=C�?C���C�C�C�__main__z--cgi� store_truezrun as CGI server)�action�helpz-bz--bind�ADDRESSz.bind to this address (default: all interfaces))�metavarr&��z-dz--directoryz1serve this directory (default: current directory))�defaultr&��z-pz --protocol�VERSIONz3conform to this HTTP version (default: %(default)s))r(��r)��r&��r���r]��z(bind to this port (default: %(default)s))r)��r���nargsr&��c��������������������$�������e�Zd�Z��fd�Zd��Z��xZS�)�DualStackServerc�����������������������t����������j��������t����������������������5��|�j�����������������������������t����������j��������t����������j��������d�������������d�d�d��������������n#�1�swxY�w�Y���t�����������������������������������������������������������S�r����) � contextlib�suppress� Exceptionr���� setsockopt�IPPROTO_IPV6�IPV6_V6ONLYr ��r���)r���r��s��� �r���r���zDualStackServer.server_bind��s���������$�Y�/�/�� @�� @���&�&��'��);�Q�@��@��@� @�� @�� @�� @�� @�� @�� @�� @�� @�� @�� @����� @�� @�� @�� @���7�7�&�&�(�(�(s����1A�A�Ac������������������L�����|�����������������������|||�t����������j����������������������d�S�)Nr��)�RequestHandlerClassr����r��)r���r���r����s��� r����finish_requestzDualStackServer.finish_request��s4�������$�$�W�n�d�/3�~�� %�� ?�� ?�� ?�� ?�� ?r���)r���r���r���r���r7��ru��rv��s���@r���r-��r-����sG��������������� )�� )�� )�� )�� )� ?�� ?�� ?�� ?�� ?�� ?�� ?r���r-��)r��r��r���r��r��)7r�����__all__r���r/���email.utilsr����r�����http.clientrN���rO��r����ro��r��r_��r���rh��r���r ���r����r�����urllib.parser ��r���r����r����r���r����ThreadingMixInr����StreamRequestHandlerr���r���r���r���r���r���r���r��r"��r����argparser/���ArgumentParser�parser�add_argumentr��rF���� parse_argsr�����cgi� handler_classr-��r���r��r��r���r���r����<module>rE�����s������d��������� �������������������������������� � � � ������������������ � � � ���������� � � � �� � � � �� � � � ���������� � � � ����������������������������� �7��� �� �� �� �� ��'�� �� �� ����������,�5�z�������q��q��q��q��q�\�>��q��q��q�h@*��@*��@*��@*��@*�5��@*��@*��@*�J,��,��,�`� �� �� �� � $��$��$� C9��C9��C9��C9��C9�4��C9��C9��C9�L������-�(��4�d��������.��z����O�O�O����� $�X� $� &� &�F� �����0����2��2��2� ����h� �9����:��:��:������m�Y�R�Y�[�[�<����=��=��=������l�I� *�6����7��7��7�������3�c�6����7��7��7�������D��x��1�-� � �0� �?��?��?��?��?�-��?��?��?�� �D�"�#� �Y� �Y��������������Q��r���