
    ǁi	                          G d  d      Z y)c                   `    e Zd ZdZdZdZeeefZdZdZdZ	dZ
dZd	Zd
Zed        Zedd       Zy)UserCommentasciijisunicode	shift_jis	utf_16_be   s   ASCII   s   JIS     s   UNICODE s           c                    t        |      | j                  k  rt        d      |d| j                   }|| j                  d }|| j                  k(  rt        d      	 | j                  | j
                  | j                  | j                  | j                  | j                  i|   }|j                  |d      S # t        $ r t        d      w xY w)a2  
        Convert "UserComment" value in exif format to str.

        :param bytes data: "UserComment" value from exif
        :return: u"foobar"
        :rtype: str(Unicode)
        :raises: ValueError if the data does not conform to the EXIF specification,
        or the encoding is unsupported.
        z%not enough data to decode UserCommentNz1prefix is UNDEFINED, unable to decode UserCommentz(unable to determine appropriate encodingreplaceerrors)len_PREFIX_SIZE
ValueError_UNDEFINED_PREFIX_ASCII_PREFIXASCII_JIS_PREFIX_JIS_UNICODE_PREFIX_UNICODEKeyErrordecode)clsdataprefixbodyencodings        W/home/obispo/Crisostomo_bridge/mision_env/lib/python3.12/site-packages/piexif/helper.pyloadzUserComment.load   s     t9s'''DEE's''(C$$%&S***PQQ	I!!399coosxxI\I\^a^j^jH
 {{8I{66  	IGHH	Is   AB7 7Cc                    || j                   vr%t        dj                  || j                               | j                  | j                  | j
                  | j                  | j                  | j                  i|   }| j                  | j                  | j
                  | j                  ij                  ||      }||j                  |d      z   S )a  
        Convert str to appropriate format for "UserComment".

        :param data: Like u"foobar"
        :param str encoding: "ascii", "jis", or "unicode"
        :return: b"ASCII   foobar"
        :rtype: bytes
        :raises: ValueError if the encoding is unsupported.
        z!encoding {!r} must be one of {!r}r   r   )	ENCODINGSr   formatr   r   JISr   UNICODEr   r   r   getencode)r   r   r   r   internal_encodings        r   dumpzUserComment.dump3   s     3==(@GGRUR_R_`aa))S..#++WZWjWjkltu [[#,,JNNxYab$5iHHH    N)r   )__name__
__module____qualname__r   r$   r%   r"   r   r   r   r   r   r   r   classmethodr    r)    r*   r   r   r      so     E
CGW%I DHL 8M5K9O;7 70 I Ir*   r   N)r   r/   r*   r   <module>r0      s   AI AIr*   