%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/share/hplip/base/__pycache__/
Upload File :
Create Path :
Current File : //usr/share/hplip/base/__pycache__/exif.cpython-312.pyc

�

=	f����`�ddlZ	ejZdZidd�dd�dd�d	d
ddd
�f�dd�dd�dd�dd�dd�dd�dd�dd�dd�d d!�d"d#�d$d%�d&d'�id(d)�d*d+d,d-d.d/�f�d0d1�d2d3�d4d5�d6d7�d8d9�d:d;�d<d=�d>d?�d@dA�dBdC�dDdE�dFdG�dHdI�dJdK�dLdM��idNdO�dPdQ�dRdS�dTdU�dVdW�dXdY�dZd[�d\d]�d^d_d`dadbdcdddedfdgdhdi�	f�djdk�dldm�dndo�dpdq�drdsdt�f�dudv�dwdx�dydzd{d|d}d~dd�d�d��f��id�d��d�d��d�d��d�d��d�d��d�d��d�d��d�d�d`d�d�d�d�d��f�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d��f�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d��
f�d�d��d�d��d�d�d��f�d�d��d�d��d�d“d�d�dńf��d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�ifd�d�d�ifd؜�Zd�d�d�d�d�dޜZiddߓd�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d��d�d��d�d��d�d��d�d��d�d��d�d�d�d�d�d�d�d�d�
�Zid�d	�dӐd
�d�d�d�d�d�d
�d�d�d�d�d��d��d�d��d�d��d�d��d�d��d�d�d�d�d�d�d�d �f��d!�d"�d#�d$�d%�d&�d'�d(�d)�f��d*�d+�d��d,�Z�d-�d.�d/�d0�d1�d2�d3�d4�f�d5�d6�d7�d8�f�d9�d:�d;�d<�d=�d>d��f�d?�d@�dA�dB�dC�dD�f�dE�dF�dGd��dHd��dI�dJd��f�dK�Z	�dL�Z
�dM�dNe
f�dO�dP�dQ�dRd/�f�dS�d:�dS�dT�f�dU�dV�dW�dX�dY�f�d,�dZ�	Z�d[�d\�d]�d^�d_�d`�da�f�d-�db�d:�dcd/�f�dd�dS�de�df�dg�dh�f�di�dF�djd��dk�dl�f�dm�dn�d:�do�dp�f�dq�dE�dFd�d�d��drda�ds�f�dt�d:�du�dv�dw�f�dx�d:�dy�dz�dw�f�d"�d:�dy�dz�dw�f�d?�d:�d:�dz�d{�d|�d}�d~�f�d�Zid�d��d��f��d��d��d��dt�du�du�d:�dv�dv�da�f��d��dE�dFd��dI�d��d��d��dH�d��d��f��d��d6�d:�dz�dy�d��f��d��d��d:�dz�dy�d��f��d��di�dF�djd��dk�d��f��d��d���d��dSd��dj�dT�f��d��d��dFda�dT�f��d��d�d��dj�dT�f��d��d��dF�d_�d`�d��d��d��d��d��d��d��	f��d��d�d��dj�dT�f��d��d�d��dj�dT�f��d��d�d��dj�dT�f��d��d�d��dj�dT�f�Z
�d��d��d��d��d��Zid֐d��dS�d:�d8�f�d�d��dӐd-�d:�dc�d��d��f�d�di�d��dF�dj�d��d��d��d��d��d��f�d�d��d��d��dT�f�d�d��d��d��d��d��d��d��d�d��f�d�d��d��ddÐdw�f�d�dĐd�da�d`�dƐdǐd��d#�dȐd_�d��dɐdʐd˜f�d�d̐d͐dΐdϐdw�f�d��dx�dy�d:�dz�dМf�d��d"�dy�d:�dz�dМf�d��dt�dy�d:�dz�dМf�d��dѐdҐdF�dӐdԐdՐd֐dלf��d�d��dِdڐdېdܜf��dݐd�da�dF�dߐd�d�f��d�d�d�d�d�d�d�d�f��d�d�d�d�d�d�da�d�d�f��d�d�d�d�d�d��dT�f�d�d��d��d��d��d��d��f�d��d��d��dT�f�d���Z�dE�dF�d��dId�d�d��d�d��f�d��d��d�i�d�d��d�d��d�d��d�d��d�d	��d
�d��d�d
��d�d�d�d�d�d�d��d��d�d��d�d��d�d��d�d��d�d��d�d�fd��d�Z�d�Z�d �Z�d!�ZG�d"��d#�ZG�d$��d%�ZG�d&��d'�Z�d7�d(�Ze�d)k(�rddlZeej6�d�kr+e�d*ej6dz�ej:d�ej6d�dD]�Z	ee�d+�Z ee�d-z�ee �Z!e!s
e�d.��.e"e!jG��Z$e$jK�e$D]=Z&e&�d/vr�		e�d0e&��d1ee!e&jNd���d2e!e&jP����?�d5e!vr	e�d6�e���yy#e$reZY���wxYw#ee�d,�e�Y��xYw#e�d3e&�d4e!e&�d4�Y��xYw(8�N))r�X�Proprietary)��B�Byte)r�A�ASCII)��S�Short)��L�Long)��R�Ratio)r�SBzSigned Byte)r�U�	Undefined)r
�SSzSigned Short)r
�SLzSigned Long)r�SRzSigned Ratio�)�
ImageWidthi)�ImageLengthi)�
BitsPerSamplei�Compression�Uncompressed TIFFzJPEG Compressed)r�i)�PhotometricInterpretationi
)�	FillOrderi
)�DocumentNamei)�ImageDescriptioni)�Makei)�Model�)�StripOffsetsi)�Orientationi)�SamplesPerPixeli)�RowsPerStripi)�StripByteCountsi)�XResolutioni)�YResolutioni)�PlanarConfigurationi(�ResolutionUnitzNot AbsolutezPixels/InchzPixels/Centimeter)rr
�i-)�TransferFunctioni1)�Softwarei2)�DateTimei;)�Artisti>)�
WhitePointi?)�PrimaryChromaticitiesiV)�
TransferRange�)�JPEGProc�)�JPEGInterchangeFormat�)�JPEGInterchangeFormatLengthi)�YCbCrCoefficientsi)�YCbCrSubSamplingi)�YCbCrPositioningi)�ReferenceBlackWhitei��)�CFARepeatPatternDimi��)�
CFAPatterni��)�BatteryLeveli��)�	Copyrighti��)�ExposureTimei��)�FNumberi��)zIPTC/NAAii�)�
ExifOffsetis�)�InterColorProfilei"��ExposureProgram�Unidentified�ManualzProgram NormalzAperture PriorityzShutter PriorityzProgram CreativezProgram Actionz
Portrait ModezLandscape Mode)	rrr
r0r
�r�ri$�)�SpectralSensitivityi%�)�GPSInfoi'�)�ISOSpeedRatingsi(�)�OECFi��ExifVersionc�@�djtt|��S�N���join�map�chr��xs �/usr/share/hplip/base/exif.py�<lambda>r^����b�g�g�c�#�q�k�&:��i�)�DateTimeOriginali�)�DateTimeDigitizedi��ComponentsConfigurationrV�Y�Cb�Cr�Red�Green�Blue)rrr
r0r
rMri�)�CompressedBitsPerPixeli�)�ShutterSpeedValuei�)�
ApertureValuei�)�BrightnessValuei�)�ExposureBiasValuei�)�MaxApertureValuei�)�SubjectDistancei��MeteringMode�Average�CenterWeightedAverage�Spot�	MultiSpot�rrr
r0r
i��LightSource�Unknown�Daylight�Fluorescent�Tungsten�FlashzStandard Light AzStandard Light BzStandard Light C�D55�D65�D75�Other)rrr
r0�
�������i	��No�Firedz	Fired (?)z	Fired (!)z
Fill FiredzFill Fired (?)zFill Fired (!)�OffzAuto Offz
Auto FiredzAuto Fired (?)zAuto Fired (!)z
Not Available)
rrrMrN�	�
������� i
�)�FocalLengthi|�)�	MakerNotei���UserCommentc�@�djtt|��SrUrWr[s r]r^r^�r_r`i��)�
SubSecTimei��)�SubSecTimeOriginali��)�SubSecTimeDigitizedi��FlashPixVersionc�@�djtt|��SrUrWr[s r]r^r^�s��"�'�'�#�c�1�+�*>�r`)�
ColorSpace)�ExifImageWidth)�ExifImageLength)�InteroperabilityOffset)�FlashEnergy)�SpatialFrequencyResponse)�FocalPlaneXResolution)�FocalPlaneYResolution)�FocalPlaneResolutionUnit)�SubjectLocation)�
ExposureIndex)�
SensingMethod�
FileSourcer0zDigital Camera�	SceneTyperzDirectly Photographed)i�i�i�i�i�i�i�i�i�i�i�i�i�i�)�InteroperabilityIndex)�InteroperabilityVersion)�RelatedImageFileFormat)�RelatedImageWidth)�RelatedImageLength)rr
���)�GPSVersionID)�GPSLatitudeRefr
)�GPSLatitude)�GPSLongitudeRefr
)�GPSLongituderM)�GPSAltitudeRefr)�GPSAltituderN)�GPSTimeStampr)�
GPSSatellitesr�)�	GPSStatusr�)�GPSMeasureMode�)�GPSDOP�)�GPSSpeedRefr�)�GPSSpeed�)�GPSTrackRefr�)�GPSTrackr�)�GPSImgDirectionRef)�GPSImgDirection)�GPSMapDatum)�GPSDestLatitudeRef)�GPSDestLatitude)�GPSDestLongitudeRef)�GPSDestLongitude)�GPSDestBearingRef)�GPSDestBearing)�GPSDestDistanceRef)�GPSDestDistance)
r�r�r�r�r�r��r�r��)�
ISOSetting)�	ColorMode)�Quality)�Whitebalance)�ImageSharpening)�	FocusMode)�FlashSetting)�ISOSelection�)�ImageAdjustment�)�
AuxiliaryLens�)�ManualFocusDistance�)�DigitalZoomFactor��AFFocusPosition�Center�Top�Bottom�Left�Right)rrr8����
SaturationzB&Wz-2z-1�0�1�2)���������rrr
�)�NoiseReduction)�DataDumpr�z	VGA Basicz
VGA NormalzVGA Finez
SXGA BasiczSXGA Normalz	SXGA Fine)rr
r0r
rMrr��Color�
Monochrome)rr
r��NormalzBright+zBright-z	Contrast+z	Contrast-�CCDSpeedzISO 80zISO 160zISO 320zISO 100)rr
r
rM�WhiteBalance�Auto�Preset�Incandescent�CloudyzSpeed Light)r0r
rMrrNc�N�ddddd�}dddd	d
d�}d||d
|d||dfzS)Nr�rx�Fast�Panorama�rrr
r0z
Non-panoramicz
Left to rightz
Right to leftz
Bottom to topz
Top to bottomrvz%s - sequence %d - %srrr
�)�v�a�bs   r]�olympus_special_moder	OsU������	�A�������A�#�a��!��g�q��t�Q�q��t�W�%=�=�=r`)�
JPEGThumbnail�SpecialMode�JPEGQual�SQ�HQ�SHQ�Macro)rr)�DigitalZoom)�SoftwareRelease)�PictureInfo�CameraIDc�@�djtt|��SrUrWr[s r]r^r^ms��2�7�7�3�s�A�;�#7�r`)	rr8r:r<iiii	��
RecordingModezSingle ShutterrzNight Scene�Portrait�	Landscape)rr
r0r
rM�Economy�Fine�FocusingModez
Auto FocuszManual Focus�Infinity)r
r0r
rM�	FlashMode�OnzRed Eye Reduction)rr
r0r
�FlashIntensity�Weak�Strong)r�r�r�)zObject Distance�Shade)rr
r0r
rM��	Sharpness�Soft�Hard)rrr
�Contrast�Low�Highz+1.0z+3.0z+2.0)�@�P�d�}���)rr
r0r
rMrrNr�r�r�r��NoteVersionc�@�djtt|��SrUrWr[s r]r^r^�r_r`r�r�r�zDaylightColor-FluorescentzDaywhiteColor-FluorescentzWhite-Fluorescent�Custom)rrr8r�iir�ri)rrr8i�Toneiri)�
FlashStrengthi i!r�i0�SlowSynci1�PictureMode�Sports�Nightz
Program AEzAperture Priority AEzShutter Priority AEzManual Exposure)	rrr
r
rMrrr8r�i�MotorOrBracketi�BlurWarningi�FocusWarningi�	AEWarning)�	ImageType)�FirmwareVersion)�ImageNumber)�	OwnerName)rrNrr��	Macromode)�	SelfTimer�	Superfine)r
r0rMzFlash Not FiredzRed-Eye ReductionzSlow SynchrozAuto + Red-Eye ReductionzOn + Red-Eye Reductionzexternal flash)rrr
r0r
rMrr��ContinuousDriveModezSingle Or Timer�
ContinuouszOne-ShotzAI ServozAI Focus�MF�Single�	ImageSize�Large�Medium�Small�EasyShootingModez	Full AutozFast ShutterzSlow Shutter�SepiazMacro/Close-Upz	Pan Focus)rrr
r0r
rMrrNrr�r�r�r�None�2x�4x)i��rr�ISOzSee ISOSpeedRatings Tag�50�100�200�400)rr�r�r�r�r�r��
Evaluative�PartialzCenter-weighted)r0r
rMr��	FocusTypezClose-Up (Macro)zLocked (Pan Mode))rrr0rr��AFPointSelectedz	None (MF)z
Auto-Selected)i0i0i0i0i0r��ExposureModez
Easy Shooting�ProgramzTv-priorityzAv-priorityzA-DEP)rrr
r0r
rM)�!LongFocalLengthOfLensInFocalUnits)�"ShortFocalLengthOfLensInFocalUnits)�FocalUnitsPerMM�
FlashActivityzDid Not Fire�FlashDetailszExternal E-TTLzInternal FlashzFP Sync Usedz2nd("Rear")-Curtain Sync UsedzFP Sync Enabled)r�r�r�rNr
)r�r�r��r�r��Sunny)�SequenceNumber)�AFPointUsed�	FlashBiasi��z-2 EVi�z-1.67 EVi�z-1.50 EVi�z-1.33 EVi�z-1 EVi�z-0.67 EVi�z-0.50 EVi�z-0.33 EVz0 EVz0.33 EVz0.50 EVz0.67 EVr�z1 EV�,z1.33 EV�0z1.50 EV�4z1.67 EVr+z2 EV)rNr�r�r�r�c�:�d}|D]}|dzt|�z}�|S�Nrr)�ord)�strr\�cs   r]�s2n_motorolaro~s-���A�
�����6�S��V�
����Hr`c�Z�d}td�}|D]}|t|�|zz}|dz}�|Srk)�to_longrl)rmr\�yrns    r]�	s2n_intelrs�sA���A�
�a�j�A�
���
�s�1�v��{�
��
�A�#���
�Hr`c�.�|dk(r|St|||z�S)Nr)�gcd)rrs  r]ruru�s���1�f�
�h�
��A��E�]�r`c��eZdZd�Zd�Zd�Zy)rc� �||_||_y�N)�num�den)�selfryrzs   r]�__init__zRatio.__init__�s�������r`c��|j�|jdk(rt|j�Sd|j|jfzS)Nrz%d/%d)�reducerzrmry�r{s r]�__repr__zRatio.__repr__�s<�����
��8�8�q�=��t�x�x�=� ��$�(�(�D�H�H�-�-�-r`c��t|j|j�}|dkDr)|j|z|_|j|z|_yy)Nr)ruryrz)r{�divs  r]r~zRatio.reduce�s@������$�(�(�#����7��X�X�c�\�D�H��X�X�c�\�D�H�r`N)�__name__�
__module__�__qualname__r|r�r~rr`r]rr�s���.�"r`rc��eZdZd�Zd�Zd�Zy)�IFD_Tagc�X�||_||_||_||_||_||_yrx)�	printable�tag�
field_type�field_offset�field_length�values)r{r�r�r�r�r�r�s       r]r|zIFD_Tag.__init__�s0��!������"���&���&�����r`c��|jSrx)r�rs r]�__str__zIFD_Tag.__str__�s���~�~�r`c�x�d|jt|jd|j|jfzS)Nz(0x%04X) %s=%s @ %dr
)r��FIELD_TYPESr�r�r�rs r]r�zIFD_Tag.__repr__�s;��$����(3�D�O�O�(D�Q�(G�(,���(,�(9�(9�(;�;�	;r`N)r�r�r�r|r�r�rr`r]r�r��s��
��;r`r�c�P�eZdZdd�Zdd�Zd�Zd�Zd�Zd�Ze	fd�Z
d�Zd	�Zd
�Z
y)
�EXIF_headerc�J�||_||_||_||_i|_yrx)�file�endian�offset�debug�tags)r{r�r�r�r�s     r]r|zEXIF_header.__init__�s%����	���������
���	r`c���|jj|j|z�|jj|�}|jdk(rt|�}nt
|�}|r	|S)N�I)r��seekr��readr�rsro)r{r��length�signed�slice�vals      r]�s2nzEXIF_header.s2n�sZ���	�	���t�{�{�6�)�*��i�i�n�n�V�$���;�;�#���%� �C��U�#�C��
��
r`c��d}t|�D]9}|jdk(r|t|dz�z}nt|dz�|z}|dz	}�;|S)NrVr�r�r)�ranger�rZ)r{r�r��s�is     r]�n2szEXIF_header.n2s�s\��
���v��	�A��{�{�c�!��C���
�&�&���f�t�m�$�Q�&���Q�;�F�	��r`c�&�|jdd�S)Nr
�r�rs r]�	first_IFDzEXIF_header.first_IFD�s���x�x��1�~�r`c�\�|j|d�}|j|dzd|zzd�S)Nr
r�r
r�)r{�ifd�entriess   r]�next_IFDzEXIF_header.next_IFD�s0������a� ���x�x��A��b��j�(�!�,�,r`c�x�|j�}g}|r%|j|�|j|�}|r�%|Srx)r��appendr�)r{r�rs   r]�	list_IFDszEXIF_header.list_IFDs�s;��
�.�.�
��
���
�H�H�Q�K��m�m�A��A���r`c�X�|j|d�}t|�D�]�}|dzd|zz}|j|d�}|j|dzd�}d|cxkrtt�ksnt	d||fz��t|d}	|j|dzd�}
|dz}|
|	zdkDr|j|d�}|}|dk(rj|
dk7rb|j
j
|j|z�|j
j|
�j�jdd�}
nxd}
nug}
|d	v}t|
�D]a}|d
vr2t|j|d|�|j|dzd|��}n|j||	|�}|
j|�||	z}�c|
dk(r|dk7rt|
d�}nt|
�}|j|�}|rg|d}t|�dk7rYt|dt j"�r|d|
�}n0d}|
D]#}||dj|t%|��z
}�%nd|z}t'||||
||
|	z�|j(|d
z|z<|j*s��]t-d|�dt%|j(|d
z|z�������y)Nr
r�rzunknown type %d in tag 0x%04Xr
r�rV)rrr�r�)rMr�rz
Tag 0x%04X� z    z: )r�r��lenr��
ValueErrorr�r�r�r��strip�replacerr�rm�get�
isinstance�collectionsAbc�Callable�reprr�r�r��print)r{r��ifd_name�dictr�r��entryr�r��typelen�countr�r�r�r��j�value_jr��	tag_entry�tag_names                    r]�dump_IFDzEXIF_header.dump_IFD�s�������a� ���w��<	O�A��a�%��1��*�E������"�C��x�x��a���+�J��z�4�C��$4�4� �!@�J�PS�CT�!T�U�U��
�+�A�.�G��(�(�5��7�A�&�E���7�F��W�}�q� ��x�x���*���L��Q���A�:��I�I�N�N�4�;�;�v�#5�6��9�9�>�>�%�0�6�6�8�@�@���K�F��F���"�m�3���u��*�A�!�W�,� %�d�h�h�v��F�&C�&*�h�h�v�a�x��F�&C�!E��!%�����&� A���M�M�'�*�!�'�>�F�*���z�j�A�o��f�Q�i�.�	��f�+�	��h�h�s�m�I��"�1����y�>�Q�&�!�)�A�,��0G�0G�H�".�)�A�,�v�"6�	�"$�	�!'�D�A�%�y��|�'7�'7��4��7�'C�C�I�D�&��+��-4�Y��5?�5;�\�5:�7�]�.D�D�I�I�h�s�l�8�+�,��z�z��h�&*�4�9�9�X�c�\�(�5J�+K�&L�N�O�w<	Or`c���|j|d�}|jdk(rd}nd}|jj|j|z�||jj|dzdz�dzz
}t
|�D�]}|dzd|zz}|j|d�}|j|dzd�}t|d}|j|dzd�}	|j|d	zd�}
|dzd
z}|dk(r|}|	|z}
|	|zdkDs��t|�}|d||j|d�z||dzdz}|dk(r|}d}
|jj|j|
z�||jj|	|z�z
}��	|jdj}|jd
j}t
t|��D]}|jt|�
�}|d|z|||
zdz}||
z
}|jj|j||z�||jj||�z
}��||jd<y)Nr
�MzMM*zII*r�zrr
rr�r&zThumbnail StripOffsetszThumbnail StripByteCounts�
TIFFThumbnail)r�r�r�r�r�r�r�r�r�r�r�r�)r{�	thumb_ifdr��tiffr�r�r�r�r�r��oldoff�ptr�	strip_off�	strip_len�newoff�old_offsets�
old_countsr�s                  r]�extract_TIFF_thumbnailz"EXIF_header.extract_TIFF_thumbnail:s^������A�&���;�;�#��*�D�*�D��	�	���t�{�{�9�,�-��d�i�i�n�n�W�R�Z��\�*�+=�=�=���w��	4�A��A�+�b��d�"�E������"�C��x�x��a���+�J��
�+�A�.�G��(�(�5��7�A�&�E��8�8�E�!�G�Q�'�F��"��R��C��f�}��	���-�	��W�}�q� ��4�y���$�3�Z������ 3�3�D��Q���L�@���&�=�$�I��I��	�	���t�{�{�6�1�2��d�i�i�n�n�U�7�]�3�3��3	4�8�I�I�6�7�>�>���9�9�8�9�@�@�
��s�;�'�(�	0�A��8�8�C��I�y�1�F��j�y�!�&�(��i�	�.A�.B�)C�C�D��y� �I��I�I�N�N�4�;�;�{�1�~�5�6��$�)�)�.�.��A��/�/�D�	0�$(��	�	�/�"r`c��|jd}|jdj}|jdj}|dk(r]|jddgd�k(r&|j|jdzd	t
�
�y|j|jd	t�
�y|dddk(r&|j|jdzd	t�
�y|d
k(r#|j|jd	t�
�y|dk(re|j}d|_	|j}|xj|jz
c_
|jdd	t�
�||_	||_
y|dk(rg|j|jd	t�
�dtfdtffD]1}|j|j|dj|d��3yy)N�EXIF MakerNotez
Image MakezImage Model�NIKONrrM)�N�i�k�o�nrr��r�rN�OLYMPUS�Casio�FUJIFILMr�r��CanonzMakerNote Tag 0x0001zMakerNote Tag 0x0004r)r�r�r�r�r��MAKERNOTE_NIKON_OLDER_TAGS�MAKERNOTE_NIKON_NEWER_TAGS�MAKERNOTE_OLYMPUS_TAGS�MAKERNOTE_CASIO_TAGSr�r��MAKERNOTE_FUJIFILM_TAGS�MAKERNOTE_CANON_TAGS�MAKERNOTE_CANON_TAG_0x001�MAKERNOTE_CANON_TAG_0x004�canon_decode_tag)r{�note�make�modelr�r�r�s       r]�decode_maker_notezEXIF_header.decode_maker_noteps���
�Y�Y�'�
(��
�Y�Y�|�
$�
.�
.���i�i�
�&�0�0���7�?��{�{�1�Q��#;�;��
�
�d�/�/��1�;�#=��?�
��
�
�d�/�/��#=��?�����8�y� ��M�M�$�+�+�A�-�{�5�
�
7���7�?��M�M�$�+�+�[�3�
�
5���:���;�;�F��D�K��;�;�F��K�K��*�*�*�K��M�M�"�k�0G�M�H��D�K��D�K���7�?��M�M�$�+�+�[�3�
�
5�-�/H�I�-�/H�I�K�
D���%�%�d�i�i��!��o�&<�&<�a��d�C�
D�
�
r`c	�@�tdt|��D]�}|j|d�}|jrt	||�|d}t|�dkDr|dj||d�}n||}tt
|�ddddd�|jd|z<��y)Nr)rxrrxz
MakerNote )r�r�r�r�r�r�rmr�)r{�valuer�r�r\�namer�s       r]r�zEXIF_header.canon_decode_tag�s����q�#�e�*�%�	=�A��h�h�q�-�(�A��z�z��a����1��D��1�v��z��a�D�H�H�U�1�X�y�1���!�H��*1��S��4��D�15�t�*=�D�I�I�l�4�'�(�	=r`N�r)r�r�r�r|r�r�r�r�r��	EXIF_TAGSr�r�r�r�rr`r]r�r��s=���
� ��-�
�,5�>O�F3(�l5�r
=r`r�c���|jd�}|dddvr6|jd�|jd�}|jd�d}n�|dddk(r�|ddk(r_|d	d
dvrXt|d�dzt|d
�z}|j|dz
�d|jd
�z}|ddk(r|d	d
dvr�X|ddk(r*|d	d
dk(r"|j�}|jd�}niSiS|rt	ddd�|d�t||||�}|j
�}d}|D�]a}	|dk(rd}
n|dk(rd}
|	}nd|z}
|rt	d||
|	fz�|j|	|
�|jj|
dz�}|r�|rt	d|jdz�|j|jdd�|jjd�}
|
rB|rt	d|
jdz�|j|
jddt��|jj|
d z�}|rB|rt	d!|jdz�|j|jdd"t��|dz
}��d|jjd#�}|r |jd$k(r|j�|jjd%�}|r[|j||jdz�|jd&jd}|j|�|jd'<d(|jvr|j�d'|jvrf|jjd)�}|rI|j||jdz�|j|j �|jd'<|jS)*Nr�rr
)zII*zMM*rr
uÿØ�ÿrr�)�JFIF�JFXX�OLYMrrMruÿ�Exif�Intel�Motorola)r�r��format�Image�	ThumbnailzIFD %dz IFD %d (%s) at offset %d:z ExifOffsetz EXIF SubIFD at offset %d:�EXIFz"EXIF SubIFD InteroperabilityOffsetz. EXIF Interoperability SubSubIFD at offset %d:zEXIF Interoperabilityr�z GPSInfoz GPS SubIFD at offset %d:�GPSzThumbnail CompressionrzThumbnail JPEGInterchangeFormatz%Thumbnail JPEGInterchangeFormatLengthr
r�zMakerNote JPEGThumbnail)r�r�rl�tellr�r�r�r�r�r�r��	INTR_TAGS�GPS_TAGSr�r�r�r�)r�r��datar�r�r��hdr�ifd_list�ctrr��IFD_namer��exif_off�intr_off�gps_off�thumb�	thumb_off�sizes                  r]�process_filer�s���	
���2��D��A�a�y�*�*��	�	�!���y�y��|���	�	�!����	
�a���j�	 ��1�g���D��2�J�2J�$J��t�A�w�<��#�C��Q��L�0�F��I�I�f�Q�h���D�I�I�b�M�)�D�	�1�g���D��2�J�2J�$J�
��7�f���a���v�!5��9�9�;�F��9�9�Q�<�F��I��	�
�
�G�*�-�f�5�x�@��D�&�&�%�0�C�
�]�]�_�H�	�C�
����!�8��H�
�A�X� �H��I���^�H���.�#�x��1C�C�D����Q��!������h�}�4�5�����2�X�_�_�Q�5G�G�H��L�L�����+�V�4��X�X�\�\�"F�G�H����J�$�O�O�A�.�/�0����X�_�_�Q�/�1H�"+��-������X�j�0�1�����1�G�N�N�1�4E�E�F��L�L�����*�E��L�A��Q���?�D�(�(�,�,�.�
/�E�����$7�7��"�"�9�-��h�h�l�l�<�=�I���	�	�&��)�)�!�,�,�-�
�X�X�=�
>�
E�
E�a�
H��"&�)�)�D�/�����!��3�8�8�#������c�h�h�&��(�(�,�,�8�9�	���I�I�f�Y�-�-�a�0�0�1�&*�i�i�	�0F�0F�&G�C�H�H�_�%��8�8�Or`�__main__zUsage: %s files...
�rb�
unreadable�:zNo EXIF information found)r
r�z   z (z): �error�"r
zFile has JPEG thumbnailr�))�collections�abcr��AttributeErrorr�r�rrr�r�r	r�r�r�r�r�r�rorsrurr�r�rr��sysr��argvr��exit�filename�openr�r�list�keysr\�sortr�r�r�rr`r]�<module>r#s���!� �_�_�N�L
��"J�
��J�
��J���J��]�$�"�$�
%�	J��+�J��O�J���J��"�J��J�J��K�J���J���J��!�J� ��!J�"�!�#J�$��%J�&��'J�(�%�)J�*�
���$�&�
'�+J�2�"�3J�4�N�5J�6�N�7J�8�L�9J�:��;J�<�'�=J�>��?J�@�N�AJ�B�'�CJ�D�-�EJ�F�#�GJ�H�"�IJ�J�"�KJ�L�%�MJ�N�%�OJ�P��QJ�R��SJ�T�O�UJ�V��WJ�X�M�YJ�Z�N�[J�\��]J�^�#�_J�`�
���!�$�#�#�!� �!�#�	
$�aJ�t�%�uJ�v�M�wJ�x�!�yJ�z�J�{J�~�]�:�;�J�@�"�AJ�B�#�CJ�D�
&��������
�
�EJ�T�(�UJ�V�#�WJ�X��YJ�Z�!�[J�\�#�]J�^�"�_J�`�!�aJ�b�^���(���	�
�cJ�n�]��� ���%�%�%������
�oJ�H�W�4�"�&�&�'�+�+� �%�'�+�+�*�,�
-�IJ�b��cJ�d�O�eJ�h�]�:�;�iJ�j��kJ�l�$�mJ�n�%�oJ�r�
� >�?�sJ�t
� �!�(��*�'�'�*�!���
��!�
"�
$�
��(�
)�
+�QJ�	�\
(�)�(�#�$��	�
�
��
�
� �
���
��!�	
�
��
�� �

���
���
���
��O�
�� �
��L�
���
��N�
���
� �N�!
�"�$�#
�$
"��$�!�%�"�#� �$�!�7
��@�
���
�O���M����	�
�!���O�
��������!������%���#���
������	�
 ��&�\��������
�'�4� �5�6�N�7��>��������
�����
 �������	�
�������
�
��������
 �
!�-��B>�"
 �
�0�1�
�����
�����
�
�"��
�7�8��#��*�!�����	�
������
�������
�
����$�&�
'�
�����
�
"�
���� ����
������
������
������
���������
�[4��l?�
�]�:�;�?�
�M�?��[������	�
�?��^����/�/�'�"���
�?�$�W�����
�%?�,�V�����
�-?�4�[����$�&�
'�5?�>��??�@�W����
�A?�F�[����
�G?�L�Z����
�M?�R�]�������)�(�$�&�	
'�S?�f�
����
�g?�l�]����
�m?�r�^����
�s?�x�[����
�y?��D
�!���	��j�����	��j���	j�
�	����	��j��������&�$�
�	� �j�$����	��%j�*���������
	��+j�:��
�
�
�
�	�;j�B�	�
�
�
�
�
�
�
�
�
�
���
�	�Cj�\��
�
�
�
�	�]j�d���
�
�
�	�ej�l���
�
�
�	�mj�t���
�
�
�	�uj�|��
&������
�	�}j�J��
�
�
�
 �	!�Kj�R��
�
�
�
 �
"�	#�Sj�\�	��!����	
�	�]j�h��
�
�
�
�
�
�
�	�ij�v	0�0��	�
�
�
�	�
����
,�
�	
 �	!�
�
�
�
�	�Oj��Z	��������
	����	�	���	�	��	�	��	�
��	�
��		�

��	�
��
	�
��	�
��	�
��	�
��	�
��	�
��	�
��	�
��	�
��	� 
��!	�	�$	�;��B
�
��"�"�$;�;�4u=�u=�t[�|�z���
�3�8�8�}�q��
�$�s�x�x��{�2�3��������H�H�Q�R�L���	��h��%�D�
	�h�s�l��
�$�
����-�.��
�t�y�y�{�
��	�����	5�A��6�6��
5���+�d�1�g�&8�&8�9�!�<�d�1�g�>O�>O�Q�R�		5��d�"��+�,�
��5���k �!� �N�!��~ 	��(�L�)��G��� 
5��g�q�#�t�A�w��4�s)�[1�
[?�"4\�1[<�;[<�?\�\-

Zerion Mini Shell 1.0