o
    g‰¼cC  ã                   @   sB  d dl mZ ddlZddlZddlZdZdZdd„ Zdd„ ZdZ	d	Z
d
d„ ZdZdZdd„ Zdd„ Ze d Zed d  Zdd„ Zdd„ Ze
 d Ze
d d  Zdd„ Ze d Zed d  Zdd„ ZeZdd„ ZeZdd„  Z ZZdd„  Z Z!dd„ Z"d d!„ Z#d"d„ Z$e#Z%d#d„ Z&d$d„ Z'd%d„ Z(d&d„ Z)d'd„  Z* Z+Z,dS )(é   )Úreduceé    Né   c                 C   ó*   t | ƒ} | tk rtfS | tkrtfS | fS ©N)ÚintÚ_m_shortÚ_M_short©Úvalue© r   úwC:\Users\olivi\AppData\Roaming\Blender Foundation\Blender\3.4\scripts\addons\BlenderGIS-master\core\lib\Tyf\encoders.pyÚ_1
   ó   ÿþr   c                 C   s4   t | tƒs	|  ¡ } | | d dkrd7 } | S d7 } | S )Néÿÿÿÿó    Ú ©Ú
isinstanceÚbytesÚencoder
   r   r   r   Ú_2   s   
ÿr   i   c                 C   r   r   )r   Ú_m_byteÚ_M_byter
   r   r   r   Ú_3   r   r   l        c                 C   r   r   )r   Ú_m_longÚ_M_longr
   r   r   r   Ú_4    r   r   c                 C   s0   t | tƒs| f} ttjdd„ dd„ | D ƒD ƒƒS )Nc                 S   s   g | ]}|j |jf‘qS r   )Ú	numeratorÚdenominator)Ú.0Úfr   r   r   Ú
<listcomp>(   ó    z_5.<locals>.<listcomp>c                 S   s    g | ]}t  t|ƒ¡ d ¡‘qS )i€–˜ )Ú	fractionsZFractionÚstrZlimit_denominator)r    Úvr   r   r   r"   (   s     )r   Útupler   Ú__add__r
   r   r   r   Ú_5&   s    r)   é   c                 C   r   r   )r   Ú
_m_s_shortÚ
_M_s_shortr
   r   r   r   Ú_6,   r   r-   c                 C   s   t | tƒs	|  ¡ } | S r   r   r
   r   r   r   Ú_72   s   
r.   c                 C   r   r   )r   Ú	_m_s_byteÚ	_M_s_byter
   r   r   r   Ú_89   r   r1   c                 C   r   r   )r   Ú	_m_s_longÚ	_M_s_longr
   r   r   r   Ú_9A   r   r4   c                 C   s
   t | ƒfS r   ©Úfloatr
   r   r   r   Ú_11I   s   
r7   c                 C   s   t tjdd„ | D ƒƒS )Nc                 S   s   g | ]}t |ƒd f‘qS )r   )Úord©r    Úer   r   r   r"   S   r#   z<lambda>.<locals>.<listcomp>)r   r'   r(   r
   r   r   r   Ú<lambda>S   ó    r;   c                 C   s   dt | tƒs|  ¡  S |  S )Ns   ASCII   r   r
   r   r   r   r;   U   s    c                 C   ó   t | dkƒdkr
dS dS )Nr   Ts   N s   S ©Úboolr
   r   r   r   r;   W   r#   c                 C   sp   t | ƒ} t | ¡}| | d }|t |¡ d }t |¡}|dkr'd}|d7 }|dkr1d}|d7 }t|||fƒS )Né<   gœ¢#¹üÿM@g        r   )ÚabsÚmathÚfloorr)   )r   ÚdegreesÚminutesÚsecondsr   r   r   Ú_0x2Y   s   

rG   c                 C   r=   )Nr   Ts   E s   W r>   r
   r   r   r   r;   k   r#   c                 C   s   t | dk rdƒS dƒS )Nr   r   )r   r
   r   r   r   r;   o   r<   c                 C   s   t t| ƒƒS r   )r)   rA   r
   r   r   r   r;   q   s    c                 C   s"   t tdd„ | j| j| jfD ƒƒƒS )Nc                 s   s    | ]}t |ƒV  qd S r   r5   r9   r   r   r   Ú	<genexpr>s   s   € z<lambda>.<locals>.<genexpr>)r)   r'   ÚhourÚminuteÚsecondr
   r   r   r   r;   s   s   " c                 C   ó   t |  d¡ƒS )Nz%Y:%m:%d©r   Ústrftimer
   r   r   r   r;   u   ó    c                 C   rL   )Nz%Y:%m:%d %H:%M:%SrM   r
   r   r   r   r;   w   rO   )-r   r   rB   r$   Údatetimer   r	   r   r   r   r   r   r   r   r   r)   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   Z_10r7   Z_12Z_0x9c9bZ_0x9c9cZ_0x9c9dZ_0x9286Z_0x1bZ_0x1rG   Z_0x3Z_0x4Z_0x5Z_0x6Z_0x7Z_0x1dZ_0x132Z_0x9003Z_0x9004r   r   r   r   Ú<module>   sJ   


