
    Ki                    X   S SK Jr  S SKrS SKrS SKrS SKJr  S SKJrJ	r	J
r
  S SKJr  S SKJr  SSKJr  SS	KJr  S
r\R(                  S:X  a   " S S\5      rO@ S SKr\R.                  \R0                  \R2                  \R4                  4rSr " S S\5      rSS/rg! \\4 a     Nf = f)    )annotationsN)suppress)EAGAINENOSYSEWOULDBLOCK)Path)cast   )BaseFileLock)ensure_directory_existsFwin32c                  ,    \ rS rSrSrSS jrSS jrSrg)UnixFileLock   HUses the :func:`fcntl.flock` to hard lock the lock file on unix systems.c                    [         eNNotImplementedErrorselfs    P/var/www/html/dynamic-report/venv/lib/python3.13/site-packages/filelock/_unix.py_acquireUnixFileLock._acquire       %%    c                    [         er   r   r   s    r   _releaseUnixFileLock._release   r   r    NreturnNone)__name__
__module____qualname____firstlineno____doc__r   r   __static_attributes__r    r   r   r   r      s    V	&	&r   r   Tc                  6    \ rS rSrSrSS jrSS jrSS jrSrg)	r   %   r   c                2   [        U R                  5        [        R                  [        R                  -  n[        [        SS 5      nUb  X-  nU[        R                  -  nU R                  5       n [        R                  " U R                  X5      nU R                  (       aB  [        [        5         [        R                   " X@R"                  R$                  5        S S S 5         [&        R(                  " U[&        R*                  [&        R,                  -  5        [        R.                  " U5      R0                  S:X  a  [        R2                  " U5        g X@R"                  l        g ! [         aG    U R                  (       a4  [        U R                  5      R                  R                  5       (       a   g e [         as    [        U R                  5      R                  5       (       d  e  [        R                  " U R                  U[        R                  ) -  U5      n GN! [         a      g f = ff = f! , (       d  f       GNa= f! [6         a  n[        R2                  " U5        UR8                  [:        :X  ar  [        [6        5         [        U R                  5      R=                  5         S S S 5        O! , (       d  f       O= fU R?                  5         U RA                  5          S nAg UR8                  [B        [D        1;  a  e  S nAg S nAff = f)N
O_NOFOLLOWr   )#r   	lock_fileosO_RDWRO_TRUNCgetattrO_CREAT
_open_modeopenFileNotFoundErrorr   parentexistsPermissionErrorhas_explicit_moder   fchmod_contextmodefcntlflockLOCK_EXLOCK_NBfstatst_nlinkcloselock_file_fdOSErrorerrnor   unlink_fallback_to_soft_lockr   r   r   )r   
open_flags
o_nofollow	open_modefd	exceptions         r   r   r   (   s   #DNN3RZZ/J \48J%(
"**$J)IWWT^^ZC" %%o.IIb--"4"45 /4B => 88B<((A-HHRL13MM.K %  >>d4>>&:&A&A&H&H&J&J"  DNN+2244rzzk1I9UB(  /.  	??f,!'*T^^,335 +**//1MMO??6;*?? @	ss   3!E* 4+H9(6I *AH693H6-4H$$
H2.H61H22H69
I
L9L$J;2	L;
K		'L1LLc                    SSK Jn  [        R                  " SSS9  SSKJnJn  [        X5      (       a  X l        g UU l        g )Nr
   )SoftFileLockzDflock not supported on this filesystem, falling back to SoftFileLock   )
stacklevel)AsyncSoftFileLockBaseAsyncFileLock)	_softrP   warningswarnasynciorS   rT   
isinstance	__class__)r   rP   rS   rT   s       r   rI   #UnixFileLock._fallback_to_soft_lockY   s/    +MM`mnoE2<T2U2U.N[gDNr   c                t   [        SU R                  R                  5      nS U R                  l        [        [        5         [        U R                  5      R                  5         S S S 5        [        R                  " U[        R                  5        [        R                  " U5        g ! , (       d  f       NJ= f)Nint)r	   r<   rE   r   rF   r   r.   rH   r>   r?   LOCK_UNr/   rD   )r   rM   s     r   r   r   a   sl    eT]]778B)-DMM&'"T^^$++- #KKEMM*HHRL #"s   $B))
B7)rZ   Nr!   )	r$   r%   r&   r'   r(   r   rI   r   r)   r    r   r   r   r   %   s    V/	4b	h	r   	has_fcntl)
__future__r   r/   sysrV   
contextlibr   rG   r   r   r   pathlibr   typingr	   _apir   _utilr   r_   platformr   r>   r?   r@   rA   r^   _ImportErrorAttributeError__all__r    r   r   <module>rl      s    " 	 
   - -    * 	<<7&| &[[%--F 	B| BL U ( s   2B B)(B)