+
    LV-jg  ã                  óŠ  € ^ RI Ht ^ RIt^ RIt^ RIHt ^ RIHt ^ RIH	t	 ^ RI
Ht ^RIHt ^RIHtHt ]P"                  R	8X  dp   ^ RIt^ RIt^ R
IHt RtRt]P.                  ! RRR7      t]P2                  .]P4                  n        ]P8                  ]P4                  n        R R lt ! R R]4      tM ! R R]4      tR.t R# )é    )ÚannotationsN)Úsuppress)ÚEACCES)ÚPath)Úcast)ÚBaseFileLock)Úensure_directory_existsÚraise_on_not_writable_fileÚwin32)Úwintypesi   l   ÿÿ Úkernel32T)Úuse_last_errorc               ó    € V ^8„  d   QhRRRR/# )é   ÚpathÚstrÚreturnÚbool© )Úformats   "Úb/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/filelock/_windows.pyÚ__annotate__r      s   € ÷ :ñ : ð :¨ñ :ó    c                óÀ   € \         P                  V 4      pV\        8X  d*   \        P                  ! 4       pV^8X  d   R# V^8X  d   R# R# \        V\        ,          4      # )z÷
Check if a path is a reparse point (symlink, junction, etc.) on Windows.

:param path: Path to check

:returns: True if path is a reparse point, False otherwise

:raises OSError: If GetFileAttributesW fails for reasons other than file-not-found

F)Ú	_kernel32ÚGetFileAttributesWÚINVALID_FILE_ATTRIBUTESÚctypesÚget_last_errorr   ÚFILE_ATTRIBUTE_REPARSE_POINT)r   ÚattrsÚerrs   &  r   Ú_is_reparse_pointr#      sS   € ô ×,Ñ,¨TÓ2ˆØÔ+Ô+ä×'Ò'Ó)ˆCØ�aŒxÙØ�aŒxÙáÜ�EÔ8Õ8Ó9Ð9r   c                  ó2   € ] tR t^2tRtR R ltR R ltRtR# )ÚWindowsFileLockaV  
Uses the :func:`msvcrt.locking` function to hard lock the lock file on Windows systems.

Lock file cleanup: Windows attempts to delete the lock file after release, but deletion is
not guaranteed in multi-threaded scenarios where another thread holds an open handle. The lock
file may persist on disk, which does not affect lock correctness.
c               ó   € V ^8„  d   QhRR/# ©r   r   ÚNoner   )r   s   "r   r   ÚWindowsFileLock.__annotate__;   s   € ÷ 	4ñ 	4˜dñ 	4r   c                	óÄ  € \        V P                  4       \        V P                  4       \        V P                  4      '       d   R V P                   2p\	        V4      h\
        P                  \
        P                  ,          p \
        P                  ! V P                  W P                  4       4      p \        P                  ! V\        P                  ^4       W0P                  n        R#   \         d8   p\
        P                  ! T4       TP                   \"        8w  d   h  Rp?R# Rp?ii ; i  \         d"   pTP                   \"        8w  d   h  Rp?R# Rp?ii ; i)z1Lock file is a reparse point (symlink/junction): N)r
   Ú	lock_filer	   r#   ÚOSErrorÚosÚO_RDWRÚO_CREATÚopenÚ
_open_modeÚmsvcrtÚlockingÚLK_NBLCKÚ_contextÚlock_file_fdÚcloseÚerrnor   )ÚselfÚmsgÚflagsÚfdÚ	exceptions   &    r   Ú_acquireÚWindowsFileLock._acquire;   sû   € Ü& t§~¡~Ô6Ü# D§N¡NÔ3ô ! §¡×0Ò0ØIÈ$Ï.É.ÐIYÐZ�Ü˜c“lÐ"ô —	‘	Ü—*‘*õð ð4Ü—W’W˜TŸ^™^¨U·O±OÓ4EÓF�ð
4Ü—N’N 2¤v§¡¸Ô:ð 24—M‘MÖ.øô ô Ü—H’H˜R”LØ —‘¬&Ô0Øõ 1ûðûô ô Ø—?‘?¤fÔ,Øõ -ûðús0   Â/D3 Â6&C. Ã.D0Ã9,D+Ä+D0Ä3EÄ>EÅEc               ó   € V ^8„  d   QhRR/# r'   r   )r   s   "r   r   r)   X   s   € ÷ 	.ñ 	.˜dñ 	.r   c                	óŽ  € \        R V P                  P                  4      pRV P                  n        \        P                  ! V\        P
                  ^4       \        P                  ! V4       \        \        4      ;_uu_ 4        \        V P                  4      P                  4        RRR4       R#   + '       g   i     R# ; i)ÚintN)r   r5   r6   r2   r3   ÚLK_UNLCKr-   r7   r   r,   r   r+   Úunlink)r9   r<   s   & r   Ú_releaseÚWindowsFileLock._releaseX   sr   € Ü�e˜TŸ]™]×7Ñ7Ó8ˆBØ)-ˆD�M‰MÔ&Ü�NŠN˜2œvŸ™°Ô2Ü�HŠH�RŒLäœ'×"Õ"Ü�T—^‘^Ó$×+Ñ+Ô-÷ #×"×"Ò"ús   Â$B3Â3C	r   N©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r>   rE   Ú__static_attributes__r   r   r   r%   r%   2   s   † ñ	õ	4÷:	.ñ 	.r   r%   c                  ó2   € ] tR t^ctRtR R ltR R ltRtR# )r%   zWUses the :func:`msvcrt.locking` function to hard lock the lock file on Windows systems.c               ó   € V ^8„  d   QhRR/# r'   r   )r   s   "r   r   r)   f   ó   € ÷ 	&ñ 	&˜dñ 	&r   c                	ó   € \         h©N©ÚNotImplementedError©r9   s   &r   r>   r?   f   ó   € Ü%Ð%r   c               ó   € V ^8„  d   QhRR/# r'   r   )r   s   "r   r   r)   i   rP   r   c                	ó   € \         hrR   rS   rU   s   &r   rE   rF   i   rV   r   r   NrG   r   r   r   r%   r%   c   s   † Ùeõ	&÷	&ñ 	&r   )!Ú
__future__r   r-   ÚsysÚ
contextlibr   r8   r   Úpathlibr   Útypingr   Ú_apir   Ú_utilr	   r
   Úplatformr   r2   r   r    r   ÚWinDLLr   ÚLPCWSTRr   ÚargtypesÚDWORDÚrestyper#   r%   Ú__all__r   r   r   Ú<module>rg      s¨   ðÝ "ã 	Û 
Ý Ý Ý Ý å ß Fà‡<�<�7ÔÛÛÝð $.Ð Ø(Ðð —’˜j¸Ô>€IØ-5×-=Ñ-=Ð,>€I× Ñ Ô)Ø+3¯>©>€I× Ñ Ô(õ:ô.-.˜,õ -.ôb&˜,ô &ð ð‚r   