403Webshell
Server IP : 202.61.199.114  /  Your IP : 216.73.217.139
Web Server : nginx/1.22.1
System : Linux de.arni-solutions.de 6.1.0-49-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.174-1 (2026-05-26) x86_64
User : web20 ( 1018)
PHP Version : 8.4.23
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /tmp/calpy/PIL/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /tmp/calpy/PIL/__pycache__/JpegImagePlugin.cpython-311.pyc
�

Υ=jfz��d�ddlmZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlmZm
Z
ddlmZddlmZddlmZddlmZdd	lmZd
ZerddlmZmZddlmZd�d�Zd�d�Zd�d�Z d�d�Z!d�d�Z"iddde!f�ddde!f�ddd e!f�d!d"d#e!f�d$d%d&ef�d'd(d)e!f�d*d+d,e!f�d-d.d/e!f�d0d1�d2d3d4e!f�d5d6d7e!f�d8d9d:e!f�d;d<d=ef�d>d?d@e!f�dAdBdCe!f�dDdEdFe!f�dGdH�idIdJ�dKdL�dMdN�dOdP�dQdR�dSdT�dUdV�dWdX�dYdZ�d[d\d]ef�d^d_d`e"f�dadbdcef�dddedfef�dgdhdie!f�djdkdlef�dmdndoef�dpdqdref��idsdtduef�dvdwdxef�dydzd{ef�d|d}d~ef�dd�d�ef�d�d�d�ef�d�d�d�ef�d�d�d�ef�d�d�d�ef�d�d�d�ef�d�d�d�ef�d�d�d�ef�d�d�d�ef�d�d�d�ef�d�d��d�d��d�d���d�d�d�d�d�d�d�d�d�d�d�d�d�e fd���Z#d�d��Z$Gd��de
j
��Z%d�d��Z&d�d��Z'd�d�d�d�d�d�d��Z(d�Z)ddd�d��Z*d�dÄZ+d�dȄZ,	d�d�d˄Z-ej.e%j/e-e$��ej0e%j/e,��ej1e%j/gd̢��ej2e%j/dͦ�dS)��)�annotationsN�)�Image�	ImageFile)�i16be)�i32be)�o8)�o16be)�presetsF)�IO�Any��MpoImageFile�self�
JpegImageFile�marker�int�return�Nonec��|j�J�t|j�d����dz
}tj|j|��dS)N�)�fp�i16�readr�
_safe_read)rr�ns   �F/tmp/claude-1015/pip-target-jmvfl800/lib/python/PIL/JpegImagePlugin.py�Skipr?sI���7�����D�G�L�L��O�O���q� �A�
����!�$�$�$�$�$�c��|j�J�t|j�d����dz
}tj|j|��}d|dz��}||j|<|j�||f��|dkr�|�d��r�t|d��x|j	d<}t|d��|j	d	<	|d
}t|d��t|d��f}|d
kr||j	d<n'|dkr!td�|D����|j	d<||j	d<||j	d<dS#t$rYdSwxYw|dkrm|�d��rXd|j	vr|j	dxx|dd�z
cc<dS||j	d<|j�
��|z
dz|_dS|dkr;|�d��r&|�dd
��d
|j	d<dS|dkr!|�d��r||j	d<dS|dkr1|�d��r|j�|��dS|dk�r%|�d���rd}|j	�d i��}		|||d!z�d"kr�|d!z
}t||��}
|dz
}||}|d
|zz
}||d
zz
}t%||��}|d!z
}||||z�}
|
d#krIt%|
d$��d%zt|
d!��t%|
d��d%zt|
d&��d'�|	|
<n|
|	|
<||z
}||d
zz
}|||d!z�d"k��dSdS#t&j$rYdSwxYw|d(krS|�d)��r>t|d��|j	d*<	|d+}||j	d,<dS#t*$rYdSwxYw|dkrP|�d-��r=|d!d�|j	d.<|j�
��|z
d!z|j	d/<dSdSdS)0Nr�APP���sJFIF��jfif��jfif_version���
r�dpic3� K�|]	}|dzV��
dS)�R���Q@N�)�.0�ds  r�	<genexpr>zAPP.<locals>.<genexpr>bs&����(H�(H�a��T��(H�(H�(H�(H�(H�(Hr�	jfif_unit�jfif_density��sExif�exif��http://ns.adobe.com/xap/1.0/��xmp��sFPXR�flashpix�ICC_PROFILE��sPhotoshop 3.0��	photoshop�s8BIMi�ri�)�XResolution�DisplayedUnitsX�YResolution�DisplayedUnitsY��sAdobe�adobe��adobe_transformsMPF�mp�mpoffset)rrrrr�app�applist�append�
startswith�info�divmod�tuple�	Exception�tell�_exif_offset�split�icclist�
setdefault�i32�struct�error�
IndexError)rrr�srL�versionr2r3�offsetr?�code�name_len�size�datarIs               rr!r!Es	��
�7�����D�G�L�L��O�O���q� �A���T�W�a�(�(�A�
����
�
�C��D�H�S�M��L����a��!�!�!�
����A�L�L��1�1��&)�!�Q�i�i�/��	�&��G�$*�7�C�$8�$8��	�.�!�	5��!��I��q�!�9�9�c�!�R�j�j�0�L��A�~�~�#/��	�%� � ��a���#(�(H�(H�<�(H�(H�(H�#H�#H��	�%� �%.�D�I�k�"�(4�D�I�n�%�%�%���	�	�	��D�D�	����
�6�	�	�a�l�l�;�7�7�	��T�Y����I�f�����1�2�2��&������ !�D�I�f�� $������� 2�Q� 6�D����	�6�	�	�a�l�l�+N�O�O�	��7�7�7�A�.�.�q�1��	�%����	�6�	�	�a�l�l�9�5�5�	� !��	�*����	�6�	�	�a�l�l�+;�<�<�	�	
����A������	�6�	�	�a�l�l�+?�@�@�	����I�(�(��b�9�9�	�	��F�V�a�Z�'�(�G�3�3��!����1�f�~�~���!����V�9���!�h�,�&���&�1�*�$���1�f�~�~���!�����&�4�-�/�0���6�>�>�'*�4��|�|�e�';�+.�t�Q�<�<�'*�4��|�|�e�';�+.�t�R�=�=�	'�'�I�d�O�O�'+�I�d�O��$����&�1�*�$��1�F�V�a�Z�'�(�G�3�3�3�3�3�3��2�|�	�	�	��D�D�	����
�6�	�	�a�l�l�8�4�4�	� ��A�Y�Y��	�'��	;���e�O�,;�D�I�'�(�(�(���	�	�	��D�D�	����
�6�	�	�a�l�l�8�4�4�	��A�B�B�%��	�$��!%������� 2�Q� 6��	�*����
�	�	�	s7�
(E�
E�
E�CM9�9N�N�O�
O%�$O%c��|j�J�t|j�d����dz
}tj|j|��}||jd<||jd<|j�d|f��dS)Nr�comment�COM)	rrrrrrPrLrMrN)rrrr]s    rrfrf�s{���7�����D�G�L�L��O�O���q� �A���T�W�a�(�(�A��D�I�i���D�H�U�O��L�����
�#�#�#�#�#rc�^�|j�J�t|j�d����dz
}tj|j|��}t|d��t|d��f|_|j�|j|jjkrd|_|d|_	|j	dkrd|j	�d�}t|���|d|_|jdkrd	|_n@|jdkrd
|_n-|jdkrd|_nd|j�d
�}t|���|dvrdx|j
d<|j
d<|jr||j���|jddt!|j��kr'd�|jD��}d�|��}nd}||j
d<g|_t%dt!|��d��D]K}|||dz�}|j�|d|ddz|ddz|df���LdS)Nr�rrr)zcannot handle z-bit layersr$�L�RGBr@�CMYKz
-layer images)���������progressive�progression�
c�"�g|]}|dd���
S)r>Nr.)r/�ps  r�
<listcomp>zSOF.<locals>.<listcomp>�s ��4�4�4�!�q����v�4�4�4rr�icc_profiler6�r")rrrrr�_size�_imrb�im�bits�SyntaxError�layers�_moderPrW�sort�len�join�range�layerrN)	rrrr]�msg�profilerv�i�ts	         r�SOFr��s:���7�����D�G�L�L��O�O���q� �A���T�W�a�(�(�A��Q����C��1�I�I�%�D�J��x���	�T�W�\� 9� 9�����!��D�I��y�A�~�~�5�t�y�5�5�5���#�����A�$�D�K��{�a�����
�
�	
���	�	���
�
�	
���	�	���
�
�9�t�{�9�9�9���#����
�1�1�1�>?�?��	�-� �4�9�]�#;��|�	���������<��?�2��#�d�l�"3�"3�3�3�4�4�t�|�4�4�4�G��(�(�7�+�+�K�K��K�#.��	�-� ����
�1�c�!�f�f�a�
 �
 �?�?��
�a�!�a�%�i�L���
���1�Q�4��1����Q�q�T�B�Y��!��=�>�>�>�>�?�?rc�R��|j�J�t|j�d����dz
}tj|j|��}t|��r�|d}|dzdkrdnd}d|dzz}t|��|krd}t
|���tj|dkrdnd|d|����tj	d	kr|dkr��
���fd
�tD��|j|dz<||d�}t|����dSdS)Nrrrwr�@zbad quantization table marker�B�H�littlec� ��g|]
}�|��Sr.r.)r/r�rcs  �rruzDQT.<locals>.<listcomp>s���$C�$C�$C��T�!�W�$C�$C�$Crr")
rrrrrr�r|�array�sys�	byteorder�byteswap�zigzag_index�quantization)	rrrr]�v�	precision�	qt_lengthr�rcs	        @r�DQTr��s@����7�����D�G�L�L��O�O���q� �A���T�W�a�(�(�A�

�a�&�&��
�a�D���r�'�Q�,�,�A�A�Q�	��	�B��&�	��q�6�6�I���1�C��c�"�"�"��{�)�q�.�.�3�3�c�1�Q�y�[�>�J�J���=�H�$�$��Q����M�M�O�O�O�$C�$C�$C�$C�l�$C�$C�$C���!�b�&�!�
�i�j�j�M���a�&�&�����ri���SOF0zBaseline DCTi���SOF1zExtended Sequential DCTrl�SOF2zProgressive DCTi��SOF3zSpatial losslessi��DHTzDefine Huffman tablei��SOF5zDifferential sequential DCTrm�SOF6zDifferential progressive DCTi��SOF7zDifferential spatiali�)�JPG�	ExtensionNi��SOF9zExtended sequential DCT (AC)rn�SOF10zProgressive DCT (AC)i��SOF11zSpatial lossless DCT (AC)i��DACz%Define arithmetic coding conditioningi��SOF13z Differential sequential DCT (AC)ro�SOF14z!Differential progressive DCT (AC)i��SOF15zDifferential spatial (AC)i�)�RST0z	Restart 0Ni�)�RST1z	Restart 1Ni�)�RST2z	Restart 2Ni�)�RST3z	Restart 3Ni�)�RST4z	Restart 4Ni�)�RST5z	Restart 5Ni�)�RST6z	Restart 6Ni�)�RST7z	Restart 7Ni�)�SOIzStart of imageNi�)�EOIzEnd of imageN���SOSz
Start of scani�r�zDefine quantization tablei��DNLzDefine number of linesi��DRIzDefine restart intervali��DHPzDefine hierarchical progressioni��EXPzExpand reference componentr#�APP0zApplication segment 0r4�APP1zApplication segment 1r:�APP2zApplication segment 2i��APP3zApplication segment 3i��APP4zApplication segment 4i��APP5zApplication segment 5i��APP6zApplication segment 6i��APP7zApplication segment 7i��APP8zApplication segment 8i��APP9zApplication segment 9i��APP10zApplication segment 10i��APP11zApplication segment 11i��APP12zApplication segment 12r=�APP13zApplication segment 13rF�APP14zApplication segment 14i��APP15zApplication segment 15i�)�JPG0zExtension 0Ni�)�JPG1zExtension 1Ni�)�JPG2zExtension 2N)�JPG3zExtension 3N)�JPG4zExtension 4N)�JPG5zExtension 5N)�JPG6zExtension 6N)�JPG7zExtension 7N)�JPG8zExtension 8N)�JPG9zExtension 9N)�JPG10zExtension 10N)�JPG11zExtension 11N)�JPG12zExtension 12N)�JPG13zExtension 13Nrf�Comment)i�i�i��i��i��i��i��i��i��i���i���prefix�bytes�boolc�,�|�d��S)Ns��)rO)r�s r�_acceptr�Ns�����_�-�-�-rc�l��eZdZdZdZdd�Zd�fd�Zd�fd	�Zdd
�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
�xZS)r�JPEGzJPEG (ISO 10918)rrc�r�|j�J�|j�d��}t|��sd}t|���d}dx|_|_d|_g|_i|_i|_	i|_
i|_g|_g|_
	|d}|dkr-||j�d��z}t|��}n|j�d��}�W|tvr|t|\}}}|�|||��|dkr<|j}|jd	krd
}t#jdd|jzd|d
f��g|_nV|j�d��}n9|dvrd}n2|dkr|j�d��}nd}t|�����|���dS)Nrhznot a JPEG file��rT�rr�rk�CMYK;I�jpeg�rr�>�ri�zno marker found)rrr�r|r{r}rUr��_huffman_dc�_huffman_acr�rLrMrWr�MARKER�moder�_Tilerb�tile�_read_dpi_from_exif)rr]r�r��name�description�handler�rawmodes        r�_openzJpegImageFile._open[s����w�"�"�"��G�L�L��O�O���q�z�z�	#�#�C��c�"�"�"���#$�#��	�D�K����79��
�+-���+-���24���%'���02���$&���	'��!��A��D�y�y������Q���'����F�F����G�L�L��O�O����F�{�{�-3�A�Y�*��k�7��&��G�D�!�$�$�$���;�;�"�i�G��y�F�*�*�"*��!������0B�A��QS�}�U�U�!�D�I���G�L�L��O�O����k�!�!�����f����G�L�L��O�O���'��!�#�&�&�&�?	'�B	
� � �"�"�"�"�"r�	list[Any]c�b��t�����|j|jgzS�N)�super�__getstate__r}r�)r�	__class__s �rr�zJpegImageFile.__getstate__�s'����w�w�#�#�%�%���d�j�(A�A�Ar�statec�x��|dd�\|_|_t���|��dS)Nr6)r}r�r��__setstate__)rr�r�s  �rr�zJpegImageFile.__setstate__�s7���"'����)����T�Z�
�����U�#�#�#�#�#r�
read_bytesrr�c��|j�J�|j�|��}|s%tjrt	|d��s	d|_dS|S)z�
        internal: read more image data
        For premature EOF and LOAD_TRUNCATED_IMAGES adds EOI marker
        so libjpeg can finish decoding
        N�_endedTs��)rrr�LOAD_TRUNCATED_IMAGES�hasattrr)rr�r]s   r�	load_readzJpegImageFile.load_read�s[���w�"�"�"��G�L�L��$�$���	�Y�4�	�W�T�8�=T�=T�	��D�K��;��rr��
str | Nonerb�tuple[int, int] | None�0tuple[str, tuple[int, int, float, float]] | Nonec��t|j��dkrdS|jrdS|jd\}}}}d}|j}t	|t
��sJ�|ddkr|dvr||_|df}|r�t|jd|dz|jd|dz��}dD]
}	||	krn�|�J�|d|d|d|dz
|	zdz
|	z|dz|d|dz
|	zdz
|	z|dzf}|jd|	zdz
|	z|jd|	zdz
|	zf|_|	}tj
||||��g|_|df|_dd|d|z|d|zf}
|j|
fS)	Nrrrj)ri�YCbCrr�)r)r@rrrrh)r�r��
decoderconfigrb�
isinstancerRr~�minrxrr�r�)rr�rbr0�e�o�a�scale�
original_sizer]�boxs           r�draftzJpegImageFile.draft�s����t�y�>�>�Q����4���	��4��Y�q�\�
��1�a�����	�
��!�U�#�#�#�#�#��Q�4�5�=�=�T�^�3�3��D�J��b��A��
	���	�!���Q��/���1���a��1H�I�I�E�!�
�
���A�:�:��E���=�=�=��!���!���1���!���q��1�$��*�Q�q�T�1��1���!���q��1�$��*�Q�q�T�1�	�A� �9�Q�<�!�+�a�/�A�5��	�!��q�8H�1�8L�QR�7R�S�D�J��E��_�Q��1�a�0�0�1��	�#�Q�Z����!�]�1�%��-�}�Q�/?�%�/G�H���y�#�~�rc���tj��\}}tj|��tj�|j��rtjdd||jg��n7	tj	|��n#t$rYnwxYwd}t|���	tj
|��5}|���|j|_ddd��n#1swxYwY	tj	|��n:#t$rYn.wxYw#	tj	|��w#t$rYwwxYwxYw|jj|_|jj|_g|_dS)N�djpegz-outfilezInvalid Filename)�tempfile�mkstemp�os�close�path�exists�filename�
subprocess�
check_call�unlink�OSError�
ValueErrorr�open�loadrzr�r~rbrxr�)r�frr�rys     r�
load_djpegzJpegImageFile.load_djpeg�s����"�$�$���4�
������
�7�>�>�$�-�(�(�		"��!�7�J��d�m�"L�M�M�M�M�
��	�$�������
�
�
���
����%�C��S�/�/�!�	���D�!�!�
!�S����
�
�
��&���
!�
!�
!�
!�
!�
!�
!�
!�
!�
!�
!����
!�
!�
!�
!�
��	�$�������
�
�
���
�����
��	�$�������
�
�
���
��������W�\��
��W�\��
���	�	�	sx�.B�
B�B�%D�9!C&�D�&C*�*D�-C*�.D�2D�
D�D�D>�D.�-D>�.
D;�8D>�:D;�;D>�dict[int, Any] | Nonec� �t|��Sr�)�_getexif�rs rr'zJpegImageFile._getexif�s����~�~�rc���d|jvs	d|jvrdS	|���}|d}|d}	t|d��|dz}n#t$r|}YnwxYwt	j|��rd}t
|���|dkr|d	z}||f|jd<dS#tjtttttf$rd
|jd<YdSwxYw)Nr+r5i(irrzDPI is not a numberrhr-)�Hr*)rP�getexif�float�	TypeError�math�isnanr rZr[�KeyErrorr|�ZeroDivisionError)rr5�resolution_unit�x_resolutionr+r�s      rr�z!JpegImageFile._read_dpi_from_exif�s���D�I����t�y�!8�!8��F�	&��<�<�>�>�D�"�6�l�O���<�L�
#��L��O�,�,�|�A��>�����
#�
#�
#�"����
#�����z�#���
&�+�� ��o�o�%��!�#�#��t���"�C�x�D�I�e������L������

�	&�	&�	&� &�D�I�e�����	&���s4�$B*�A�B*�A)�&B*�(A)�)?B*�*8C&�%C&c� �t|��Sr�)�_getmpr(s rr5zJpegImageFile._getmps���d�|�|�r)rr)rr�)r�r�rr)r�rrr�)r�rrbrrr)rr%)�__name__�
__module__�__qualname__�format�format_descriptionr�r�r�rrr$r'r�r5�
__classcell__)r�s@rrrWs��������
�F�+��7#�7#�7#�7#�rB�B�B�B�B�B�$�$�$�$�$�$�����"&�&�&�&�P����>����&�&�&�&�:�������rr%c�d�d|jvrdS|������S)Nr5)rPr+�_get_merged_dictr(s rr'r's.��
�T�Y����t��<�<�>�>�*�*�,�,�,rc	���	|jd}n#t$rYdSwxYwtj|��}|�d��}|�d��rdnd}ddlm}	|�|��}|�	|j
��|�|��t|��}n$#t$r}d}	t|	��|�d}~wwxYw	|d	}
n$#t$r}d
}	t|	��|�d}~wwxYwg}	|d}t|
��D�]}
t!j|�d�||
d
z��}d}tt%||����}t'|ddz��t'|ddz��t'|ddz��|ddzdz	|ddzdz	|ddzd�}|ddkrd|d<nd}	t|	���dddd d!d"d#d$�}|�|d%d&��|d%<||d<|�|����||d<n$#t$r}d'}	t|	��|�d}~wwxYw|S)(NrJr)sMM*�>�<r)�TiffImagePluginz)malformed MP Index (unreadable directory)��z(malformed MP Index (no number of images)i��LLLHHrw)�	Attribute�Size�
DataOffset�EntryNo1�EntryNo2rDli@i i�i�i���)�DependentParentImageFlag�DependentChildImageFlag�RepresentativeImageFlag�Reserved�ImageDataFormat�MPTyperOrr�z!unsupported picture format in MPO�	Undefinedz Large Thumbnail (VGA Equivalent)z$Large Thumbnail (Full HD Equivalent)zMulti-Frame Image (Panorama)zMulti-Frame Image: (Disparity)z Multi-Frame Image: (Multi-Angle)zBaseline MP Primary Image)riiiiiirP�Unknownz!malformed MP Index (bad MP Entry))rPr0�io�BytesIOrrOr�rA�ImageFileDirectory_v2�seek�nextr"�dictrSr|r�rZ�unpack_from�zipr��getrN)rrc�
file_contents�head�
endiannessrArPrJrr��quant�	mpentries�rawmpentries�entrynum�
unpackedentry�labels�mpentry�mpentryattr�	mptypemaps                   rr5r5s����y�����������t�t������J�t�$�$�M����a� � �D����(;�<�<�E���#�J�!�!�!�!�!�!�&��4�4�T�:�:�����4�9�%�%�%��	�	�-� � � �
�$�Z�Z�����&�&�&�9���#���A�%�����&����&��6�
�����&�&�&�8���#���A�%�����&�����I�$&��&�z���e���	&�	&�H�"�.��$�$�$�l�H�r�M���M�Q�F��3�v�}�5�5�6�6�G�,0���1E��1Q�,R�,R�+/���0D��0P�+Q�+Q�+/���0D��0P�+Q�+Q�$�[�1�W�=�"�D�$+�K�$8�G�$D��#K�!�+�.��;�
��K��,�-��2�2�17��-�.�.�9��!�#�&�&�&�%�<�@�8�:�<�5���I�%.�M�M�+�h�2G��$S�$S�K��!�#.�G�K� ����W�%�%�%�%���6�
�
���&�&�&�1���#���A�%�����&�����IsV�
�
��*AB>�>
C�C�C�#C,�,
D
�6D�D
�D.I�
I#�I�I#rirjr�r)�1rirj�RGBXrkr)@rrr$r6r>r"rI�rr@r(rrrw���*rhr)rA����)�+�	rH�rJ��(�,�5r*��� �'�-�4�6���!�&�.�3�7�<��"�%�/�2�8�;�=�#�$�0�1�9�:�>�?r))rrrrrr)rrrrrr)rrrrrrrz�Image.Imagec��t|t��r	|jdvrdS|jddd�|jddd�z|jddd�z}t�|d��S)N)rr@���rrrhr)r
rr}r��	samplingsr[)rz�samplings  r�get_samplingr��sw���b�-�(�(��B�I��,?�,?��r��x��{�1�Q�3��"�(�1�+�a��c�"2�2�R�X�a�[��1��5E�E�H��=�=��2�&�&�&rr�	IO[bytes]r�str | bytesc�r�	t|j}n-#t$r }d|j�d�}t|��|�d}~wwxYw|j}d�|�dd��D��}|�dd��}|�dd��}	|�d	��}
|d
krd}d
}	d
}
n�|tvr;t|}d}|�dd��}	|�d��}
n�t|t��sd}t|���|	tvr!t|	�dd��}	t|
t��r)|
tvr t|
�d��}
|	d
krd}	nL|	dkrd}	nC|	dkrd}	n:|	dkrd}	n1|	d
kr+|jdkrd}t|���t|��}	d7d�}|
d
kr-|jdkrd}t|���t|dd��}
||
��}
|�dd��}
d}|�d��x}r[d}||z
}t|��|krd}t|���td|zt|��z��}|
d |zd!z|zz
}
|�d"��x}r�d#}||z
}g}|r)|�|d|���||d�}|�)d}|D]d}td|zt|��z��}|
d$|zd%zt#|��zt#t|����z|zz
}
|dz
}�e|�d&|j�d&����}|�d'd(��p|�d)d(��}|�d*d(��}|�d+d��}t|t&j��r|���}t|��|krd,}t|���|||�d-d��||�d.d(��|�d/d��||	|�d0d��|�d1d��|
||
|f|_|s|r�|jd2krd3|jdz|jdz}nF|d4ks|dkrd|jdz|jdz}n|jd|jdz}|r|t|��d5zz
}|
r|t|
��dzz
}n0t1t|��d5zt|
��dz��}t3j||t3jd6d|jzd|��g|��dS)8Nzcannot write mode z as JPEGc�,�g|]}t|����Sr.)�round)r/�xs  rruz_save.<locals>.<listcomp>�s��
5�
5�
5��5��8�8�
5�
5�
5rr+r��qualityr��subsampling�qtables�keepr�zInvalid quality settingz4:4:4rz4:2:2rz4:2:0rz4:1:1r�z3Cannot use 'keep' when original image is not a JPEG�Kstr | tuple[list[int], ...] | list[list[int]] | dict[int, list[int]] | Noner�list[list[int]] | Nonec�������St�t��rn	d�����D����fd�tdt	���d��D���n$#t
$r}d}t|��|�d}~wwxYwt�tttf���rt�t��r)�fd�tt	�����D���n$t�t��rt����dt	���cxkrdksnd}t|���	t���D]N\}}t	|��dkrd}t|���ttjd	|�����|<�On$#t$r}d}t|��|�d}~wwxYw�SdS)
Nc��g|]B}|�dd��d���D]}t|�����CS)�#rr)rVr)r/�line�nums   rruz3_save.<locals>.validate_qtables.<locals>.<listcomp>�sd������#�z�z�#�q�1�1�!�4�:�:�<�<������H�H����rc�*��g|]}�||dz���S)r�r.)r/r]�liness  �rruz3_save.<locals>.validate_qtables.<locals>.<listcomp>�s&���O�O�O��5��Q��V��,�O�O�Orrr�zInvalid quantization tablec�(��g|]}|�v��|��Sr.r.)r/�keyr�s  �rruz3_save.<locals>.validate_qtables.<locals>.<listcomp>�s)������%(�3�'�>�>�G�C�L�>�>�>rr$z$None or too many quantization tablesr�)r
�str�
splitlinesr�r�r rR�listrX�	enumerater-r�)r�rr��idx�tabler�s`    @r�validate_qtablesz_save.<locals>.validate_qtables�s����
�?��N��g�s�#�#�	P�

P��� '� 2� 2� 4� 4�����P�O�O�O�e�A�s�5�z�z�2�6N�6N�O�O�O����	�
-�
-�
-�2�� ��o�o�1�,�����
-����
�g��t�T�2�3�3�	��'�4�(�(�
(�����,1�#�g�,�,�,?�,?�������G�U�+�+�
(��w�-�-����G���(�(�(�(�q�(�(�(�(�<�� ��o�o�%�
-�"+�G�"4�"4�A�A�J�C���5�z�z�R�'�'�:��'��n�n�,�#'���C��(?�(?�#@�#@�G�C�L�L�	A��
�
-�
-�
-�2�� ��o�o�1�,�����
-�����N�'	�	s0�A&�&
B�0B�B�=AF�
F=�&F8�8F=�extrarr�r9rlzXMP data is too longs��r7rvr>s��r<rerpFrq�optimizer5zEXIF data is too long�smooth�keep_rgb�
streamtype�restart_marker_blocks�restart_marker_rowsrkr@�_r$r�)r�r�rr�)�RAWMODEr�r0r�encoderinfor[rr
rr r�r9r��getattrr��o16rNr	rPr�Exif�tobytes�
encoderconfigrb�maxr�_saver�)rzrrr�rr�rPr+r�r�r��presetr�r��MAX_BYTES_IN_MARKERr9�overhead_len�max_data_bytes_in_markerrbrv�markersr�rrerpr�r5�bufsizes                            rr�r��sV��"��"�'�"�����"�"�"�4�2�7�4�4�4���c�l�l��!�����"�����>�D�
5�
5�T�X�X�e�V�4�4�
5�
5�
5�C��h�h�y�"�%�%�G��(�(�=�"�-�-�K��h�h�y�!�!�G��&����������	�G�	�	���!�����j�j���3�3���*�*�^�,�,���
���
%�
%�;�'����o�o���'�!�!�!�+�.�2�2�=�"�E�E�K��g�s�#�#�	;��7�(:�(:��g�&�*�*�>�:�:�G��g������	��	�	����	��	�	����	��	�	����	��	�	�
�9����G�C��S�/�/�!�"�2�&�&��&�&�&�&�P�&���
�9����G�C��S�/�/�!��"�n�d�3�3����w�'�'�G��H�H�W�c�"�"�E����h�h�u�o�o��s�P���#6��#E� ��s�8�8�.�.�.�(�C��S�/�/�!��1�|�#�c�#�h�h�.�/�/��
��t�#�&I�I�C�O�O���h�h�}�-�-�-�{����#6��#E� ����	A��N�N�;�'@�(@�'@�A�B�B�B�%�&>�&?�&?�@�K��	A�
���
	�
	�F��q�<�'�#�f�+�+�5�6�6�D�����"�#��Q�%�%���S��\�\�"�"�	#�
��
�E�
��F�A�A��h�h�y�"�'�+�+�i�"8�"8�9�9�G�
�(�(�=�%�0�0�R�D�H�H�]�E�4R�4R�K��x�x�
�E�*�*�H��8�8�F�C� � �D��$��
�#�#���|�|�~�~��
�4�y�y�&�&�&�%����o�o��	������1��������U�#�#�����q�!�!������(�!�,�,����&��*�*���
���B��*�5�;�5�
�7�f����"�'�!�*�n�r�w�q�z�1�G�G�
��]�]�g��m�m��"�'�!�*�n�r�w�q�z�1�G�G��g�a�j�2�7�1�:�-�G��	%��s�4�y�y�1�}�$�G��	&��s�5�z�z�A�~�%�G���c�$�i�i�!�m�S��Z�Z�!�^�4�4��
�O�
�B�����"�'�)9�1�g�F�F�G������s��
?�:�?�str | bytes | None�JpegImageFile | MpoImageFilec�>�t||��}	|���}|�>|ddkr2|jD]\}}|dkrd|vr|cS�ddlm}|j||��}n6#ttf$rYn#t$rtj
d��YnwxYw|S)NrBrr�s hdrgm:Version="rzTImage appears to be a malformed MPO file, it will be interpreted as a base JPEG file)rr5rM�MpoImagePluginr�adoptr-r\r|�warnings�warn)rrrz�mpheader�segment�contentrs       r�jpeg_factoryr�Vs���
�r�8�	$�	$�B�
��9�9�;�;����H�U�O�a�$7�$7�$&�J�
�
� ����f�$�$�)<��)G�)G��I�I�I��4�4�4�4�4�4�$��#�B��1�1�B����z�"�
�
�
����
�
�
��
�
.�	
�	
�	
�	
�	
�
����
�Is�;A'�A'�'B�:B�B)z.jfifz.jpez.jpgz.jpegz
image/jpeg)rrrrrr)r�r�rr�)rrrr%)rzr�rr)rzr�rr�rr�rrr�)rr�rr�rr�)3�
__future__rr�rSr.rrZrr�rr�r�rr�_binaryrrrrYr	r
r��JpegPresetsr�
TYPE_CHECKING�typingrr
r�rrr!rfr�r�r�r�rr'r5r�r�r�r�r�r��
register_openr9�
register_save�register_extensions�
register_mimer.rr�<module>r�sC��D#�"�"�"�"�"�����	�	�	�	�����	�	�	�	�
�
�
�
�����
�
�
�
�����������������!�!�!�!�!�!�!�!�!�!�!�!�������!�!�!�!�!�!� � � � � � ��
��-���������,�,�,�,�,�,�%�%�%�%�h7�h7�h7�h7�V	$�	$�	$�	$�0?�0?�0?�0?�f����8@
�
�V�^�S�)�@
�
�V�.��4�@
��V�&��,�@
��V�'��-�	@
�
�U�*�D�1�@
��V�2�C�8�
@
��V�3�S�9�@
��V�+�S�1�@
��&�@
��V�3�S�9�@
��W�,�c�2�@
��W�1�3�7�@
��U�;�T�B�@
��W�8�#�>�@
��W�9�3�?�@
� �W�1�3�7�!@
�"�'�#@
�@
�$�'�%@
�&�'�'@
�(�'�)@
�*�'�+@
�,�'�-@
�.�'�/@
�0�'�1@
�2�+�3@
�4�)�5@
�6�U�O�T�*�7@
�8�U�/��5�9@
�:�U�,�d�3�;@
�<�U�-�t�4�=@
�>�U�5�s�;�?@
�@�U�0�$�7�A@
�B�V�,�c�2�C@
�D�V�,�c�2�E@
�@
�@
�F�V�,�c�2�G@
�H�V�,�c�2�I@
�J�V�,�c�2�K@
�L�V�,�c�2�M@
�N�V�,�c�2�O@
�P�V�,�c�2�Q@
�R�V�,�c�2�S@
�T�V�,�c�2�U@
�V�W�.��4�W@
�X�W�.��4�Y@
�Z�W�.��4�[@
�\�W�.��4�]@
�^�W�.��4�_@
�`�W�.��4�a@
�b�)�c@
�d�)�e@
�f�)�g@
�@
�h
*�)�)�)�)�)�)�+�+�+�+�
�I�s�#�@
�@
�@
��F.�.�.�.�}�}�}�}�}�I�'�}�}�}�@-�-�-�-�I�I�I�I�`

�	����
�
���	�����
�
�	�'�'�'�'�z�z�z�z�@37������<���M�(�,��@�@�@����M�(�%�0�0�0����-�.�0R�0R�0R�S�S�S����M�(�,�7�7�7�7�7r

Youez - 2016 - github.com/yon3zu
LinuXploit