Ë
    Æ[;jy  ã                   ó‚  — d dl mZ d dlZd dlZd dlZd dlZd dlZddlmZm	Z	 d dl
Z
ddlmZ 	 d dlZe
j                  Z	 d dlZej&                  ZdZdZd	Z e	ej0                  j2                  «      Ze	d
„ «       Ze	d„ «       Ze G d„ d«      «       Z G d„ d«      Zy# e$ r e
j"                  ZY Œpw xY w# e$ r eZdZY Œlw xY w)é    )Ú	dataclassNé   )Úsafe_makedirsÚcached_function)Ú__version__z.gzÚ z.zipi  @c                 ó˜  — t         j                  j                  | «      }dt        |«      |fz  j	                  d«      }t        j                  |«      }t        |d«      5 }|j                  d«      }|r%|j                  |«       |j                  d«      }|rŒ%d d d «       |j                  «       S # 1 sw Y   |j                  «       S xY w)Nz%d:%súUTF-8Úrbièý  )ÚosÚpathÚnormpathÚlenÚencodeÚhashlibÚsha256ÚopenÚreadÚupdateÚ	hexdigest)Úfilenamer   ÚprefixÚmÚfÚdatas         ú[G:\00. PROJECTS\API\Inventory\templateJSON\kerjaOCR\Lib\site-packages\Cython/Build/Cache.pyÚ	file_hashr   "   s¢   € ä�7‰7×Ñ˜HÓ%€DØœ˜T› DÐ)Ñ)×1Ñ1°'Ó:€FÜ�‰�vÓ€AÜ	ˆd�DÔ	˜QØ�v‰v�e‹}ˆÙØ�H‰H�TŒNØ—6‘6˜%“=ˆDò ÷ 
ð
 �;‰;‹=Ð÷ 
ð
 �;‰;‹=Ðús   Á 8B1Â1C	c                  óÆ  — dt         j                  v rt         j                  d   S d} t         j                  dk(  rRt        j                  dk(  r t         j
                  j                  d«      } nt         j                  j                  d«      } | r+t         j
                  j                  | «      rt        | d«      S t         j
                  j                  t        dd	«      «      S )
zé
    Return the base directory containing Cython's caches.

    Priority:

    1. CYTHON_CACHE_DIR
    2. (OS X): ~/Library/Caches/Cython
       (posix not OS X): XDG_CACHE_HOME/cython if XDG_CACHE_HOME defined
    3. ~/.cython

    ÚCYTHON_CACHE_DIRNÚposixÚdarwinz~/Library/CachesÚXDG_CACHE_HOMEÚcythonÚ~z.cython)
r   ÚenvironÚnameÚsysÚplatformr   Ú
expanduserÚgetÚisdirÚ	join_path)Úparents    r   Úget_cython_cache_dirr.   /   s¤   € ð œRŸZ™ZÑ'Ü�z‰zÐ,Ñ-Ð-à€FÜ	‡w�w�'ÒÜ�<‰<˜8Ò#Ü—W‘W×'Ñ'Ð(:Ó;‰Fô —Z‘Z—^‘^Ð$4Ó5ˆFá”"—'‘'—-‘- Ô'Ü˜ Ó*Ð*ô �7‰7×Ñœi¨¨YÓ7Ó8Ð8ó    c                   ó>   — e Zd ZU dZeed<   dZeed<   dZeed<   d„ Z	y)ÚFingerprintFlagsÚcÚlanguageFÚpy_limited_apiÚ
np_pythranc                 óZ   — t        | j                  | j                  | j                  f«      S ©N)Ústrr3   r4   r5   )Úselfs    r   Úget_fingerprintz FingerprintFlags.get_fingerprintT   s"   € Ü�D—M‘M 4×#6Ñ#6¸¿¹ÐHÓIÐIr/   N)
Ú__name__Ú
__module__Ú__qualname__r3   r8   Ú__annotations__r4   Úboolr5   r:   © r/   r   r1   r1   N   s&   … à€HˆcÓØ €N�DÓ Ø€J�ÓóJr/   r1   c                   óH   — e Zd Zd	d„Z e«       fd„Zd„ Zd„ Zd„ Zd„ Z	d
d„Z
y)ÚCacheNc                 óú   — |€t        t        «       d«      | _        n|| _        |�|nt        | _        t
        j                  j                  | j                  «      s t        j                  | j                  «       y y )NÚcompiler)r,   r.   r   ÚMAX_CACHE_SIZEÚ
cache_sizer   ÚexistsÚmakedirs)r9   r   rF   s      r   Ú__init__zCache.__init__Y   sW   € Øˆ<Ü!Ô"6Ó"8¸*ÓEˆD�IàˆDŒIØ(2Ð(>™*ÄNˆŒÜ�w‰w�~‰~˜dŸi™iÔ(Ü�K‰K˜Ÿ	™	Õ"ð )r/   c                 óX  — 	 t        j                  t        j                  d«      «      }|j	                  t        |«      j                  d«      «       t        |«      D ]P  }t        j                  j                  |«      d   dvsŒ(|j	                  t        |«      j                  d«      «       ŒR |j	                  |j                  «       j                  d«      «       |j	                  |j                  «       j                  d«      «       |j                  «       S # t        $ r Y yw xY w)a;  
        Return a fingerprint of a cython file that is about to be cythonized.

        Fingerprints are looked up in future compilations. If the fingerprint
        is found, the cythonization can be skipped. The fingerprint must
        incorporate everything that has an influence on the generated code.
        r
   é   )z.cz.cppz.hN)r   r   r   r   r   r   Úsortedr   r   Úsplitextr:   r   ÚOSError)r9   r   ÚdependenciesÚcompilation_optionsÚflagsr   Úxs          r   Útransitive_fingerprintzCache.transitive_fingerprintb   sä   € ð	Ü—‘œ{×1Ñ1°'Ó:Ó;ˆAØ�H‰H”Y˜xÓ(×/Ñ/°Ó8Ô9Ü˜LÖ)�Ü—7‘7×#Ñ# AÓ& qÑ)Ð1EÒEØ—H‘HœY q›\×0Ñ0°Ó9Õ:ð *ð �H‰H�U×*Ñ*Ó,×3Ñ3°GÓ<Ô=Ø�H‰HÐ(×8Ñ8Ó:×AÑAÀ'ÓJÔKØ—;‘;“=Ð øÜò 	Ùð	ús   ‚BD ÂBD Ä	D)Ä(D)c                 óx   — t        | j                  t        j                  j                  |«      ›d|›�«      |z   S )NÚ-)r,   r   r   Úbasename)r9   ÚcfileÚfingerprintÚexts       r   Úfingerprint_filezCache.fingerprint_file}   s/   € ä�d—i‘i¬B¯G©G×,<Ñ,<¸UÕ,CÁ[Ð!QÓRÐUXÑXð	
r/   c                 ó`  — t         j                  j                  | j                  «      st        | j                  «       | j	                  ||t
        «      }t         j                  j                  |«      r|S | j	                  ||t        «      }t         j                  j                  |«      r|S y r7   )r   r   rG   r   rZ   Úgzip_extÚzip_ext)r9   Úc_filerX   Úgz_fingerprint_fileÚzip_fingerprint_files        r   Úlookup_cachezCache.lookup_cache‚   s   € ô �w‰w�~‰~˜dŸi™iÔ(Ü˜$Ÿ)™)Ô$Ø"×3Ñ3°F¸KÌÓRÐÜ�7‰7�>‰>Ð-Ô.Ø&Ð&Ø#×4Ñ4°V¸[Ì'ÓRÐÜ�7‰7�>‰>Ð.Ô/Ø'Ð'Ør/   c                 ót  — t         j                  j                  |«      d   }|t        k(  rWt        j                  |d «       t        |d«      5 }t        |d«      5 }t        j                  ||«       d d d «       d d d «       y |t        k(  r|t        j                  |d «       t         j                  j                  |«      }t        j                  |«      5 }|j                  «       D ]  }|j                  ||«       Œ 	 d d d «       y t        d|› �«      ‚# 1 sw Y   Œ¥xY w# 1 sw Y   y xY w# 1 sw Y   y xY w)NrK   r   Úwbz"Unsupported cache file extension: )r   r   rM   r\   ÚutimeÚ	gzip_openr   ÚshutilÚcopyfileobjr]   ÚdirnameÚzipfileÚZipFileÚnamelistÚextractÚ
ValueError)	r9   r^   ÚcachedrY   Úgr   rh   ÚzÚartifacts	            r   Úload_from_cachezCache.load_from_cache�   sò   € Ü�g‰g×Ñ˜vÓ& qÑ)ˆØ”(Š?Ü�H‰H�V˜TÔ"Ü˜6 4Ô(¨AÜ˜& $Ô'¨1Ü×&Ñ& q¨!Ô,÷ (÷ )Ð(ð ”GŠ^Ü�H‰H�V˜TÔ"Ü—g‘g—o‘o fÓ-ˆGÜ—‘ Ô(¨AØ !§
¡
¦�HØ—I‘I˜h¨Õ0ñ !-÷ )Ð(ô ÐAÀ#ÀÐGÓHÐH÷ (Ð'ú÷ )Ð(ú÷ )Ð(ús0   ÁD"ÁDÁ2D"Ã(D.ÄD	ÄD"Ä"D+Ä.D7c                 óZ  — |j                  «       }t        |«      dk(  r[| j                  ||t        «      }t	        |d«      5 }t        |dz   d«      5 }t        j                  ||«       d d d «       d d d «       nu| j                  ||t        «      }t        j                  |dz   dt        «      5 }|D ]1  }	|j                  |	t        j                  j                  |	«      «       Œ3 	 d d d «       t        j                   |dz   |«       y # 1 sw Y   Œ¡xY w# 1 sw Y   Œ/xY w# 1 sw Y   Œ;xY w)NrK   r   z.tmprc   Úw)Úget_generated_source_filesr   rZ   r\   r   re   rf   rg   r]   ri   rj   Úzipfile_compression_modeÚwriter   r   rV   Úrename)
r9   r^   rX   Úcompilation_resultÚ	artifactsrZ   r   ro   Úziprq   s
             r   Ústore_to_cachezCache.store_to_cacheŸ   s  € Ø&×AÑAÓCˆ	Üˆy‹>˜QÒØ#×4Ñ4°V¸[Ì(ÓSÐÜ�f˜dÔ# qÜÐ/°&Ñ8¸$Ô?À1Ü×&Ñ& q¨!Ô,÷ @÷ $Ð#ð  $×4Ñ4°V¸[Ì'ÓRÐÜ—‘Ø  6Ñ)¨3Ô0HôàÛ )�HØ—I‘I˜h¬¯©×(8Ñ(8¸Ó(BÕCñ !*÷ô
 	�	‰	Ð" VÑ+Ð-=Õ>÷ @Ð?ú÷ $Ð#ú÷
ð ús0   ÁDÁD	Á)DÂ/7D!Ä	D	ÄDÄDÄ!D*c                 óJ  — 	 t        j                  dddt        j                  j	                  | j                  «      gt         j
                  ¬«      }|j                  }|j                  dk(  r=dt        |j                  «       j                  «       d   «      z  }|| j                  k  ry d}g }t        j                  | j                  «      D ]d  }t        | j                  |«      }t        j                   |«      }||j"                  z  }|j%                  |j&                  |j"                  |f«       Œf || j                  kD  rLt)        t+        |«      «      D ]4  \  }	}
}t        j,                  |«       ||
z  }|| j                  |z  k  sŒ4 y  y y # t        t        f$ r Y Œ÷w xY w)NÚduz-sz-k)Ústdoutr   i   )Ú
subprocessÚrunr   r   ÚabspathÚPIPEr   Ú
returncodeÚintÚstripÚsplitrF   rN   rm   Úlistdirr,   ÚstatÚst_sizeÚappendÚst_atimeÚreversedrL   Úunlink)r9   ÚratioÚcompleted_processr   Ú
total_sizeÚallÚfiler   ÚsÚtimeÚsizes              r   Úcleanup_cachezCache.cleanup_cache¯   s^  € ð
	Ü *§¡Ø�t˜T¤2§7¡7§?¡?°4·9±9Ó#=Ð>ÄzÇÁô!Ðð '×-Ñ-ˆFØ ×+Ñ+¨qÒ0Ø!¤C¨¯©«×(<Ñ(<Ó(>¸qÑ(AÓ$BÑB�
Ø §¡Ò/Øð ˆ
ØˆÜ—J‘J˜tŸy™yÖ)ˆDÜ˜TŸY™Y¨Ó-ˆDÜ—‘˜“ˆAØ˜!Ÿ)™)Ñ#ˆJØ�J‰J˜Ÿ
™
 A§I¡I¨tÐ4Õ5ð	 *ð
 ˜Ÿ™Ò'Ü$,¬V°C«[Ö$9Ñ ��d˜DÜ—	‘	˜$”Ø˜dÑ"�
Ø §¡°%Ñ 7Ó7Ùñ	 %:ð (øô œÐ$ò 	Ùð	ús   ‚B'F ÆF"Æ!F"r7   )g333333ë?)r;   r<   r=   rI   r1   rS   rZ   ra   rr   r|   r—   r@   r/   r   rB   rB   X   s0   „ ó#ñ BRÓASóò6
ò
òIò ?ô r/   rB   )Údataclassesr   r'   r   r   rf   r€   ÚUtilsr   r   ri   r   r   ÚzlibÚZIP_DEFLATEDrv   ÚImportErrorÚ
ZIP_STOREDÚgzipr   re   r\   r]   rE   r   Újoinr,   r   r.   r1   rB   r@   r/   r   Ú<module>r       sð   ðÝ !Û 
Û 	Û Û Û ß 2Û Ý ð2Ûà&×3Ñ3ÐðÛà—	‘	€IØ€Hð
 €à"€á˜BŸG™GŸL™LÓ)€	ð ñ	ó ð	ð ñ9ó ð9ð< ÷Jð Jó ðJ÷oò oøðS ò 2Ø&×1Ñ1Òð2ûð ò Ø€IØ‚Hðús"   ®B ¿B2 ÂB/Â.B/Â2	B>Â=B>