Ë
    •Kêj–ì  ã                  ó˜  — U d dl mZ g d¢Zd dlZd dlZd dlZd dl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 d dlmZmZmZmZmZmZmZ d dlmZ d dlmZmZmZmZ d dlmZmZmZm Z  d d	l!m"Z" d d
l#m$Z$m%Z%m&Z& d dl'm(Z( d dl)m*Z*m+Z+ d dl,m-Z- d dl.m/Z/m0Z0 e	jb                  dk(  rd dl2m3Z3m4Z4m5Z5m6Z6 erd dl7m8Z8m9Z9 ed   Z:ed   Z; e<ddh«      Z=de>d<   dZ?de>d<   dZ@de>d<   dZAde>d<   dZBd e>d!<   d"ZCd e>d#<   d$ZDd e>d%<   d&ZEde>d'<   d(ZFde>d)<   d$ZGd e>d*<   d+ZHde>d,<   d-ZId.e>d/<   d0ZJd e>d1<   d2ZKd.e>d3<   d4ZLd.e>d5<   d2ZMd.e>d6<   ejœ                  d7ejž                  d8iZPd9e>d:<    eQed;d «      ZRd e>d<<    e-j¦                  «       ZTd=e>d><    e<h d?£«      ZUd@e>dA<    eVedB«      ZWdCe>dD<   ej°                  ej²                  v ZZdCe>dE<   ej¶                  ej²                  v Z\dCe>dF<   ej                  ej²                  v Z]dCe>dG<   eWxr ej¼                  ej²                  v Z_dCe>dH<   ejÀ                  ej²                  v ZadCe>dI<   ejÄ                  ejÆ                  v ZddCe>dJ<   d—dK„Ze ee«       ZfdCe>dL<   d˜dM„Zg eg«       Zhd@e>dN<    G dO„ dPe«      Zi edQ¬R«       G dS„ dT«      «       Zj G dU„ dVek«      Zl	 	 	 	 	 	 	 	 	 	 d™dW„ZmdšdX„Znd›dY„ZodœdZ„Zp	 	 	 	 	 	 	 	 	 	 d�d[„Zqdžd\„ZrdŸd]„Zs	 	 	 	 	 	 	 	 	 	 d d^„Zt	 	 	 	 	 	 	 	 d¡d_„Zu	 	 	 	 	 	 	 	 d¢d`„ZvdQe	jb                  dk7  daœ	 	 	 	 	 	 	 	 	 d£db„Zw	 	 	 	 	 	 	 	 	 	 d£dc„Zx	 	 	 	 	 	 	 	 	 	 d¤dd„Zyd¥de„Zzd¦df„Z{d§dg„Z|d¨dh„Z}	 d©	 	 	 	 	 	 	 	 	 dªdi„Z~	 	 	 	 	 	 	 	 	 	 d«dj„Z	 	 	 	 	 	 	 	 	 	 d¬dk„Z€	 	 	 	 	 	 	 	 d­dl„Z�	 	 	 	 	 	 d®dm„Z‚d¯dn„Zƒd°do„Z„d±dp„Z…d²dq„Z†	 	 	 	 	 	 	 	 d³dr„Z‡d´ds„Zˆdµdt„Z‰d¶du„ZŠ	 	 	 	 	 	 	 	 d·dv„Z‹d¸dw„ZŒd¹dx„Z�	 d©	 	 	 	 	 	 	 	 	 dºdy„ZŽdddzœ	 	 	 	 	 	 	 	 	 d»d{„Z�d¼d|„Z�d½d}„Z‘d¾d~„Z’d¿d„Z“dÀd€„Z”dÁd�„Z•dÂd‚„Z–dÃdƒ„Z—dÄd„„Z˜dÅd…„Z™d©dÆd†„ZšdÇd‡„Z›	 	 	 	 dÈdˆ„ZœdÉd‰„Z�dÊdŠ„Zžd‹dŒœ	 	 	 	 	 	 	 	 	 dËd�„ZŸdÌdŽ„Z dÍd�„Z¡d©dÎd�„Z¢dÎd‘„Z£dÏd’„Z¤dÐd“„Z¥dÑd”„Z¦dÒd•„Z§g d–¢Z¨y)Óé    )Úannotations)
Ú
contextlibzfilelock._errorzfilelock._identityzfilelock._markerzfilelock._softzfilelock._utilÚ	functoolsÚpathlibÚsecretsÚtempfileN)Ú	dataclass)ÚEACCESÚEEXISTÚENOENTÚENOSYSÚEPERMÚESTALEÚEXDEV)ÚPath)ÚTYPE_CHECKINGÚFinalÚLiteralÚcast)ÚBaseFileLockÚThreadLocalFileContextÚ
_canonicalÚ_raise_cleanup_errors)ÚSoftFileLockProtocolError)Ú	host_nameÚowner_is_staleÚprocess_start_token)Úparse_marker)ÚMALFORMED_LOCK_AGE_THRESHOLDÚ_parse_lock_holder)ÚSTRICT_SOFT_SENTINEL_RECORD)Úforeign_directory_ownerÚ	write_allÚwin32)Ú_is_unlinkedÚ_open_deletable_for_readingÚ_pin_directoryÚ_unpin_directory)ÚCallableÚIterator)ÚintentÚheld)Úsentinelr,   ÚexitedÚdamagedÚ
unparsabler+   r,   zFinal[frozenset[str]]Ú_CLAIM_STATESz	.filelockz
Final[str]Ú_COORDINATION_SUFFIXÚclaimsÚ_CLAIM_DIRECTORY_NAMEzfilelock-strict-v1Ú_CLAIM_MAGICi   z
Final[int]Ú_CLAIM_RECORD_LIMITé   Ú_CLAIM_NAME_PART_COUNTé    Ú_TOKEN_HEX_LENGTHz.private-v1-Ú_PRIVATE_RECORD_MARKERú.tmpÚ_PRIVATE_RECORD_SUFFIXÚ!_PRIVATE_RECORD_RANDOM_HEX_LENGTHz
.probe-v1-Ú_CLAIM_PROBE_PREFIXg       @zFinal[float]Ú_PRIVATE_RECORD_GRACEé
   Ú_UNLINK_MAX_RETRIESg      à?Ú_CLAIM_READ_GRACEgü©ñÒMb`?Ú_CLAIM_READ_RETRYÚ_SENTINEL_READ_GRACEza directoryz	a symlinkzFinal[dict[int, str]]Ú_NODE_DESCRIPTIONSÚO_BINARYÚ	_O_BINARYzFinal[bytes]Ú_LEGACY_SENTINEL>   é   é   é2   zFinal[frozenset[int]]Ú_WINDOWS_HARD_LINK_UNSUPPORTEDÚlinkzFinal[bool]Ú	_HAS_LINKÚ_OPEN_SUPPORTS_DIR_FDÚ_UNLINK_SUPPORTS_DIR_FDÚ_STAT_SUPPORTS_DIR_FDÚ_LINK_SUPPORTS_DIR_FDÚ_MKDIR_SUPPORTS_DIR_FDÚ_SCANDIR_SUPPORTS_FDc                 ó  — t         sy	 t        j                  «       5 } t        | d«      }|j	                  «        t        j                  |t        | d«      d¬«       d d d «       y# 1 sw Y   yxY w# t        t        t        f$ r Y yw xY w)NFzprobe-sourcez
probe-link)Úfollow_symlinksT)
rO   r   ÚTemporaryDirectoryr   ÚtouchÚosrN   ÚOSErrorÚNotImplementedErrorÚ
ValueError)Ú	directoryÚsources     úU/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/filelock/_strict.pyÚ_probe_link_follow_symlinksra   W   s�   € õ ØðÜ×(Ñ(Ó*ð 	R¨iÜ˜) ^Ó4ˆFØ�L‰LŒNÜ�G‰G�FœD ¨LÓ9È5ÕQ÷	Rð ÷	Rð ûô Ô(¬*Ð5ò Ùðús.   ‰A1 �?A%ÁA1 Á%A.Á*A1 Á.A1 Á1BÂBÚ_LINK_HONORS_FOLLOW_SYMLINKSc            	     ó’   — t        t        dt        t        dd «      «      } t        | €t        t        h«      S t        t        | h«      S )NÚENOTSUPÚ
EOPNOTSUPP)ÚgetattrÚerrnoÚ	frozensetr   r   )Únot_supporteds    r`   Ú#_probe_hard_link_unsupported_errnosrj   l   s?   € ô œE 9¬g´e¸\È4Ó.PÓQ€MÜ¨Ð(=”fœe�_ÓbÐbÄFÌEÐS`ÐCaÓbÐbó    Ú_HARD_LINK_UNSUPPORTED_ERRNOSc                  ó
  ‡ — e Zd ZU dZdZded<   dZded<   dZded<   dZd	ed
<   dZ	ded<   dZ
ded<   dZded<   dd„Zd d„Zd!d„Zd"d„Zed#d„«       Zed$d„«       Zd%d„Zdˆ fd„Zd&ˆ fd„Zdd„Zdd„Zd'd„Zed(d„«       Zˆ xZS ))ÚStrictSoftFileLockz:Portable fail-closed lock based on immutable owner claims.TÚboolÚ_preserve_lock_file_supportedFÚ_on_acquired_supportedÚ_lifetime_supportedz<a strict claim is never broken by age, only by force_break()ÚstrÚ_lifetime_unsupported_reasongš™™™™™©?ÚfloatÚ_poll_backoff_capNz+tuple[tuple[float, int, int], float] | NoneÚ_occupant_seenÚ_finalizingc                óB  — | j                  d¬«       t        | j                  «      }t        |› t        › �«      }|t        z  }| j                  «       x}|dz  dz	  z  }t        | j                  ||«       t        | j                  ||«       t        | j                  || j                  «       | j                  «      x}	 €y 	 t        t        j                  |«      «      }| j#                  ||«       	 | j%                  |«      x}
r| j'                  ||«       |
s| j+                  «        y y # t        $ r?}	 t        j                  |«       ‚ # t        $ r}	t!        d||	«       Y d }	~	‚ d }	~	ww xY wd }~ww xY w# t        $ r | j(                  s| j+                  «        ‚ w xY w)NT©Úexited_onlyi$  é   z)strict sentinel inspection cleanup failed)Ú_discard_pending_doorwaysr   Ú
_lock_pathr2   r4   Ú
_open_modeÚ_ensure_protocol_directoryÚ	lock_fileÚ_ensure_claim_directoryÚ_open_or_create_sentinelÚ_occupant_unchanged_forÚ_file_identityrZ   ÚfstatÚBaseExceptionÚcloser   Ú_mark_descriptor_pendingÚ_attempt_doorwayÚ_mark_descriptor_ownedÚ	is_lockedÚ_discard_doorway)ÚselfÚ	lock_pathÚcoordination_directoryÚclaim_directoryÚmodeÚdirectory_modeÚsentinel_fdÚsentinel_identityÚinspection_errorÚclose_errorÚwons              r`   Ú_acquirezStrictSoftFileLock._acquire‰   s¢  € à×&Ñ&°4Ð&Ô8Ü˜Ÿ™Ó)ˆ	Ü!%¨¨Ô4HÐ3IÐ&JÓ!KÐØ0Ô3HÑHˆð *.¯©Ó):Ð!: ¸tÀe¹|ÐPQÑ>QÑ QˆÜ" 4§>¡>Ð3IÈ>ÔZÜ §¡°ÀÔPä3Ø—‘ 	¨4¯?©?Ó+<¸d×>ZÑ>Zóð ˆKð ð	ð
 ð	Ü .¬r¯x©x¸Ó/DÓ EÐð 	×%Ñ% kÐ3DÔEð	Ø×+Ñ+¨OÓ<Ð<ˆsÐ<Ø×+Ñ+¨KÐ9JÔKñ Ø×!Ñ!Õ#ð øô ò 	ðrÜ—‘˜Ô%ð øô !ò rÜ%Ð&QÐScÐep×qÐqØûðrþð	ûô ò 	à—>’>Ø×%Ñ%Ô'Øð		úsH   ÃD, Ã3%E7 Ä,	E4Ä6EÅE/Å	E,ÅE'Å"E/Å'E,Å,E/Å/E4Å7'Fc               óÚ  — | j                   j                  r| j                  s| j                  «        t	        | j                   x}t
        «      sy |j                  }| j                  5  | j                  j                  «       j                  «       D ]7  \  }}|r|j                  «       rŒ||_        	 | j                  «        ||_        Œ9 	 d d d «       y # ||_        w xY w# 1 sw Y   y xY w©N)Ú_contextÚowner_claim_pathsrŒ   r�   Ú
isinstancer   ÚcurrentÚ_transition_lockÚ_thread_pendingÚcopyÚvaluesÚis_alive)rŽ   r{   ÚcontextÚownÚpendingÚthreads         r`   r}   z,StrictSoftFileLock._discard_pending_doorways®   sÈ   € Ø�=‰=×*Ò*°4·>²>Ø×!Ñ!Ô#Ü T§]¡]Ð2˜'Ô4JÔKØà—_‘_ˆØ×"Ñ"ñ 	*Ø#'×#7Ñ#7×#<Ñ#<Ó#>×#EÑ#EÓ#Gò *‘�˜Ù 6§?¡?Ô#4ØØ")�”ð*Ø×)Ñ)Ô+à&)�G•Oñ*÷	*ð 	*øð '*�G•Oú÷	*ð 	*ús%   Á(A	C!Â2CÃ	C!Ã	CÃC!Ã!C*c                óÀ   — |j                   |j                  |j                  ft        j                  «       }}| j
                  x}�|d   |k7  r
||f| _        y||d   z
  S )Nr   g        rJ   )Úst_mtimeÚst_inoÚst_sizeÚtimeÚ	monotonicrw   )rŽ   ÚoccupantÚkeyÚnowÚseens        r`   r„   z*StrictSoftFileLock._occupant_unchanged_for¿   sa   € à×%Ñ% x§¡¸×8HÑ8HÐIÌ4Ï>É>ÓK[ˆSˆØ×'Ñ'Ð'ˆDÐ0°D¸±G¸s²NØ"% s (ˆDÔØØ�T˜!‘W‰}Ðrk   c                ó˜  — t        | j                  |«      ryt        j                  t        dz  «      }t        d|«      }t        ||z  «      }|f| j                  _        	 t        |«      5  t        |t        |«      | j                  «       t        «      }d d d «       �|‚t        | j                  |«      }|r't+        d„ |D «       «      st-        d„ |D «       «      |k7  ryt        d|«      }t        ||z  «      }	|	|f| j                  _        	 t/        |||«      }
|
�|
‚t        | j                  |«      }||hj1                  d„ |D «       «      xr t-        d	„ |D «       «      d
|› d�k(  S # 1 sw Y   Œ×xY w# t        $ r Y yt        t         f$ rU}t#        | j                  |«       t%        |t         «      r)|j&                  t(        k(  rd| j                  _        Y d }~y‚ d }~ww xY w# t        t         f$ rQ}t#        | j                  |«       t%        |t         «      r%|j&                  t(        k(  r|f| j                  _        ‚ d }~ww xY w)NFr|   r+   © c              3  ó:   K  — | ]  }|j                   d k(  –— Œ y­w)r,   N)Ústate©Ú.0Úclaims     r`   ú	<genexpr>z6StrictSoftFileLock._attempt_doorway.<locals>.<genexpr>å   s   è ø€ Ò=¨U�5—;‘; &Õ(Ñ=ùs   ‚c              3  ó4   K  — | ]  }|j                   –— Œ y ­wr›   ©Únamer·   s     r`   rº   z6StrictSoftFileLock._attempt_doorway.<locals>.<genexpr>æ   s   è ø€ Ò2 %�5—:•:Ñ2ùó   ‚r,   c              3  ó4   K  — | ]  }|j                   –— Œ y ­wr›   r¼   r·   s     r`   rº   z6StrictSoftFileLock._attempt_doorway.<locals>.<genexpr>þ   s   è ø€ Ò0PÀ°·µÑ0Pùr¾   c              3  óF   K  — | ]  }t        |j                  «      –— Œ y ­wr›   )Ú_claim_token_keyr½   r·   s     r`   rº   z6StrictSoftFileLock._attempt_doorway.<locals>.<genexpr>þ   s!   è ø€ ò Y
Ø-2Ô˜UŸZ™Z×(ñY
ùs   ‚!zv1-ú.claim)Ú_read_existing_claimsr�   r   Ú	token_hexr:   Ú_claim_namers   rœ   r�   Ú_pin_claim_directoryÚ_publish_recordÚ_claim_recordr   Ú_open_claim_directoryÚ_PrivateRecordReclaimedErrorr\   r[   Ú _raise_if_hard_links_unsupportedrž   rg   r   ÚanyÚminÚ_link_no_replaceÚissubset)rŽ   r‘   ÚtokenÚintent_nameÚintent_pathÚpublication_cleanup_errorÚerrorr3   Ú	held_nameÚ	held_pathÚlink_cleanup_errors              r`   rŠ   z#StrictSoftFileLock._attempt_doorwayÇ   s+  € Ü  §¡°ÔAØä×!Ñ!Ô"3°qÑ"8Ó9ˆÜ! (¨EÓ2ˆÜ˜/¨KÑ7Ó8ˆð ,7¨.ˆ�‰Ô'ð	Ü% oÓ6ñ Ü,;Ø¤¨uÓ!5°t·±Ó7HÔJ_ó-Ð)÷ð %Ð0Ø+Ð+ä& t§~¡~°ÓGˆáÜÑ=°fÔ=Ô=ÜÑ2¨6Ô2Ó2°kÒAàä ¨Ó.ˆ	Ü˜¨)Ñ3Ó4ˆ	Ø+4°kÐ*Bˆ�‰Ô'ð	Ü!1°/À;ÐPYÓ!ZÐð Ð)Ø$Ð$ä& t§~¡~°ÓGˆð ˜YÐ'×0Ñ0Ñ0PÈÔ0PÓPò !ÔUXñ Y
Ø6<ôY
ó V
à�5�'˜Ð ñV!ð 	!÷Yð ûô ,ò 	ÙÜ#¤WÐ-ò 	Ü,¨T¯^©^¸UÔCÜ˜%¤Ô)¨e¯k©k¼VÒ.Cà24�—‘Ô/ÜØûð	ûô. $¤WÐ-ò 	Ü,¨T¯^©^¸UÔCÜ˜%¤Ô)¨e¯k©k¼VÒ.CØ3>°.�—‘Ô/Øûð		úsV   Á!E8 Á,*E,ÂE8 ÄG) Å,E5Å1E8 Å8	G&ÆG&ÆA
G!Ç G!Ç!G&Ç)I	Ç8AIÉI	c                óH   — t        | j                  | j                  dd¬«      S )z(Published claims that block acquisition.F©Úprobe_clockÚverify_server)rÃ   r�   Ú_claim_directory©rŽ   s    r`   r3   zStrictSoftFileLock.claims  s!   € ô % T§^¡^°T×5JÑ5JÐX]ÐmrÔsÐsrk   c                ó¬   — 	 t        t        t        | j                  «      «      «      \  }}}|€|S t        j                  |«       y# t        $ r Y yw xY w)aP  
        What sits at the lock path in place of the strict sentinel, or ``None`` when the sentinel or nothing is there.

        A soft-lock owner's marker blocks acquisition without appearing in :attr:`~filelock.StrictSoftFileLock.claims`;
        this describes it, naming the PID and host when the marker records them. A directory, a symlink, a marker whose
        owner on this host has exited, or a file it cannot parse that stays unchanged for two seconds makes acquisition
        raise :class:`~filelock.SoftFileLockProtocolError` instead and needs an operator to remove it.
        N)Ú_inspect_lock_pathr   r   r�   ÚFileNotFoundErrorrZ   rˆ   )rŽ   ÚfdÚ_r¯   s       r`   Úlock_path_occupantz%StrictSoftFileLock.lock_path_occupant  sS   € ð	Ü0´´jÀÇÁÓ6PÓ1QÓR‰OˆB��8ð ˆ:ØˆOÜ
�‰�ŒØøô !ò 	Ùð	ús   ‚+A Á	AÁAc                óª   — t        |«       t        | j                  x}«      5  t        ||«       t	        ||«      }ddd«       �|‚y# 1 sw Y   ŒxY w)zYRemove one named claim, allowing overlap if its owner still holds the protected resource.N)Ú_validate_force_break_namerÆ   rÜ   Ú_require_exact_nameÚ_unlink_in_directory)rŽ   Ú
claim_namer^   Úcleanup_errors       r`   Úforce_breakzStrictSoftFileLock.force_break  s_   € ä" :Ô.Ü!¨t×/DÑ/DÐ"D )ÓEñ 	HÜ 	¨:Ô6Ü0°¸JÓGˆM÷	Hð Ð$ØÐð %÷	Hð 	Hús   £A	Á	Ac                ó°   •— d| _         t        ‰| �	  «        t        j                  t
        «      5  | j                  d¬«       d d d «       y # 1 sw Y   y xY w)NTFrz   )rx   ÚsuperÚ_release_abandoned_holdsr   ÚsuppressÚ	Exceptionr}   )rŽ   Ú	__class__s    €r`   rí   z+StrictSoftFileLock._release_abandoned_holds$  sJ   ø€ ØˆÔÜ‰Ñ(Ô*ä× Ñ ¤Ó+ñ 	>à×*Ñ*°uÐ*Ô=÷	>÷ 	>ñ 	>ús   °AÁAc                óF   •— d | j                   _        t        ‰| �  |«       y r›   )rœ   Ú
claim_rootrì   Ú_reconcile_failed_acquire)rŽ   Ú	canonicalrð   s     €r`   ró   z,StrictSoftFileLock._reconcile_failed_acquire,  s   ø€ à#'ˆ�‰Ô Ü‰Ñ)¨)Õ4rk   c                ó\  — t        d| j                  j                  «      }d | j                  _        | j	                  «       \  }}|rt        d|«       | j                  «        	 | j                  |d¬«       |rt        d|«       y y # t        $ r}|j                  |«       Y d }~Œ/d }~ww xY w)NÚintzstrict claim release failedF©Údefault_suppresseszstrict release cleanup failed)
r   rœ   Úlock_file_fdrò   Ú_unlink_owner_claimsÚ_raise_recorded_errorsÚ_mark_descriptor_releasedÚ_close_released_fdr‡   Úappend)rŽ   rá   Ú	remainingÚerrorsr—   s        r`   Ú_releasezStrictSoftFileLock._release1  sŸ   € Ü�%˜Ÿ™×3Ñ3Ó4ˆØ#'ˆ�‰Ô Ø ×5Ñ5Ó7Ñˆ	�6ÙÜ"Ð#@À&ÔIØ×&Ñ&Ô(ð	'Ø×#Ñ# B¸5Ð#ÔAñ Ü"Ð#BÀFÕKð øô ò 	'Ø�M‰M˜+×&Ñ&ûð	'ús   Á$B Â	B+ÂB&Â&B+c                ón  — | j                  «       \  }}| j                  j                  x}�6d x| j                  _        | j                  _        	 | j	                  |d¬«       |rt        d|«       | j                  «        |rt        d|«       y y # t
        $ r}|j                  |«       Y d }~ŒMd }~ww xY w)NFr÷   z#strict doorway claim cleanup failedzstrict doorway cleanup failed)	rú   rœ   Úpending_lock_file_fdÚpending_lock_file_fd_identityrý   r‡   rþ   rû   rü   )rŽ   rÿ   r   rá   r—   s        r`   r�   z#StrictSoftFileLock._discard_doorway?  s®   € Ø ×5Ñ5Ó7Ñˆ	�6ð —-‘-×4Ñ4Ð4ˆBÐAØ_cÐcˆD�M‰MÔ.°·±Ô1\ð+Ø×'Ñ'¨¸uÐ'ÔEñ ô #Ð#HÈ&ÔQØ×&Ñ&Ô(ÙÜ"Ð#BÀFÕKð øô !ò +Ø—‘˜k×*Ñ*ûð+ús   ÁB Â	B4ÂB/Â/B4c                ó¢   — t        | j                  j                  «      \  }}t        |«      | j                  _        | j                  rg g fS ||fS r›   )Ú_unlink_owner_pathsrœ   r�   Útuplerx   )rŽ   rÿ   r   s      r`   rú   z'StrictSoftFileLock._unlink_owner_claimsQ  sK   € Ü/°·±×0OÑ0OÓPÑˆ	�6Ü*/°	Ó*:ˆ�‰Ô'Ø×Òð �r�6ˆMØ˜&Ð Ð rk   c                óà   — | j                   j                  r,t        | j                   j                  d   «      j                  S t        t	        | j
                  «      › t        › �«      t        z  S )Nr   )rœ   r�   r   Úparentr   r�   r2   r4   rÝ   s    r`   rÜ   z#StrictSoftFileLock._claim_directoryZ  sU   € à�=‰=×*Ò*Ü˜Ÿ™×7Ñ7¸Ñ:Ó;×BÑBÐBÜ”z $§.¡.Ó1Ð2Ô3GÐ2HÐIÓJÔMbÑbÐbrk   )ÚreturnÚNone)r{   ro   r
  r  )r¯   úos.stat_resultr
  ru   )r‘   r   r
  ro   )r
  útuple[StrictSoftFileClaim, ...])r
  ú
str | None)rè   rs   r
  r  )rô   rs   r
  r  )r
  ú%tuple[list[str], list[BaseException]])r
  r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__rp   Ú__annotations__rq   rr   rt   rv   rw   rx   r™   r}   r„   rŠ   Úpropertyr3   rã   rê   rí   ró   r  r�   rú   rÜ   Ú__classcell__)rð   s   @r`   rn   rn   y   sÌ   ø… ÙDà*.Ð! 4Ó.Ø#(Ð˜DÓ(ð !&Ð˜Ó%Ø(fÐ  #Ófð  $Ð�uÓ#ØBF€NÐ?ÓFà€K�Óó#$óJ*ó"ó9!ðv òtó ðtð
 òó ðó$ õ>õ5ó
LóLó$!ð òcó ôcrk   rn   T)Úfrozenc                  óR   — e Zd ZU dZded<   ded<   ded<   ded<   ded	<   d
Zded<   y
)ÚStrictSoftFileClaimz"One parsed strict soft-lock claim.rs   r½   ÚStrictSoftFileClaimStater¶   rÐ   rö   ÚpidÚhostnameNú
int | NoneÚstart)r  r  r  r  r  r  r´   rk   r`   r  r  a  s+   … á,à
ƒIØ#Ó#ØƒJØ	ƒHØƒMð €Eˆ:Ôrk   r  c                  ó   — e Zd Zy)rÊ   N)r  r  r  r´   rk   r`   rÊ   rÊ   o  s   „ Ørk   rÊ   c                óŒ  — 	 t        | ||«      S # t        $ r Y nw xY wt        | |«       	 t        t	        j
                  |«      t        |«      }|�X|‚# t        $ r Y y t        t        f$ r:}t        | |«       t        |t        «      r|j                  t        k7  r‚ Y d }~nd }~ww xY w	 t        | ||«      S # t        $ r Y y w xY wr›   )Ú_open_sentinelrà   Ú!_reclaim_sentinel_private_recordsrÇ   rZ   ÚfspathrI   rÊ   r\   r[   rË   rž   rg   r   )r�   Úpathr’   Úunchanged_forrÓ   rÔ   s         r`   rƒ   rƒ   s  sÐ   € ðÜ˜i¨¨}Ó=Ð=øÜò Ùðúô & i°Ô6ð
,Ü$3´B·I±I¸d³OÔEUÐW[Ó$\Ð!ð %Ð0Ø+Ð+øô (ò ÙÜ¤Ð)ò Ü(¨°EÔ:Ü˜%¤Ô)¨U¯[©[¼FÒ-BØô .CûðúðÜ˜i¨¨}Ó=Ð=øÜò Ùðús;   ‚ �	š«$A Á	B&ÁB&Á,0B!Â!B&Â*B7 Â7	CÃCc                óx  — d }	 t        |«      \  }}}|€|dk(  r|S d|› �}|dk(  r6 ||j                  «       «      t        k  ry t        | d |› dt        d›d�«      ‚|€t	        j
                  «       t        z   }|dk(  st	        j
                  «       |k\  rt        | d |«      ‚t	        j                  t        «       Œ¸)Nr,   z5expected the strict sentinel at the lock path, found r0   z, unchanged for Úgz secondsr.   )	rß   Úlstatr   r   r­   r®   rE   ÚsleeprD   )r�   r$  r%  Údeadlinerá   r¶   r¯   Úreasons           r`   r!  r!  �  sÑ   € ð "€HØ
Ü0°Ó6ÑˆˆE�8Øˆ>˜U fš_ØˆIØHÈÈ
ÐSˆØ�LÒ Ù˜TŸZ™Z›\Ó*Ô-IÒIØÜ+Ø˜4 F 8Ð+;Ô<XÐYZÐ;[Ð[cÐ!dóð ð ÐÜ—~‘~Ó'Ô*>Ñ>ˆHØ�HÒ¤§¡Ó 0°HÒ <Ü+¨I°t¸VÓDÐDÜ�
‰
Ô$Ô%ð rk   c                óv  — t        j                  | j                  «       j                  x}«      s,d dt        j                  t        j                  |«      d«      fS 	 t        t        j                  | j                  «      d f| j                  t        «      \  }}|t"        k(  r|ddfS t        j$                  |«       d gt'        |j)                  dd	¬
«      «      ¢­S # t        $ r ‚ t        $ r!}d dd|j                  xs |› d�fcY d }~S d }~wt         $ r!}d dd|j                  xs |› d�fcY d }~S d }~ww xY w)Nr/   za special filer,   za file it cannot read (ú)r-   zthe strict sentinelúutf-8Úreplace)r   )ÚstatÚS_ISREGr(  Úst_moderF   ÚgetÚS_IFMTÚ_open_recordrZ   r#  r	  r½   r6   rà   ÚPermissionErrorÚstrerrorr[   rI   rˆ   Ú_describe_soft_markerÚdecode)r$  r’   rá   ÚrecordrÔ   s        r`   rß   rß   ¤  s(  € ô �<‰< §
¡
£× 4Ñ 4Ð4˜Ô5Ø�YÔ 2× 6Ñ 6´t·{±{À4Ó7HÐJZÓ [Ð[Ð[ð	UÜ!¤2§9¡9¨T¯[©[Ó#9¸4Ð"@À$Ç)Á)ÔM`Óa‰
ˆˆFð Ô!Ò!Ø�:Ð4Ð4Ð4Ü‡H�HˆR„LØÐQÔ'¨¯©°gÀi¨Ó(PÓQÑQÐQøô ò ØÜò Rð �VÐ6°u·~±~Ò7NÈÐ6OÈqÐQÐQÕQûÜò UØ�YÐ"9¸%¿.¹.Ò:QÈEÐ9RÐRSÐ TÐTÕTûðUús0   Á=C ÃD8Ã/DÄD8ÄD8ÄD3Ä-D8Ä3D8c                óÔ   — t        | «      x}�%|j                  |j                  |j                  }}}nt	        | «      x}�|\  }}}nyt        |||«      rdd|› d|› d�fS dd|› d|› �fS )N)r0   zGa file that is neither the sentinel nor a soft-lock marker it can parser.   za soft-lock marker left by pid z on z, which has exitedr,   za soft-lock marker held by pid )r   r  r  r  r    r   )Úcontentr:  r  r  r  Úholders         r`   r8  r8  ¹  s�   € ô ˜wÓ'Ð'ˆÐ4Ø%Ÿz™z¨6¯?©?¸F¿L¹L�uˆX‰Ü& wÓ/Ð
/ˆ&Ð	<Ø%ÑˆˆX‘uàfÜ�c˜8 UÔ+ØÐ:¸3¸%¸tÀHÀ:ÐM_Ð`Ð`Ð`ØÐ4°S°E¸¸h¸ZÐHÐHÐHrk   c               óÆ   ‡ ‡‡‡‡— t        ‰ ‰|¬«      }i Š|D ]!  }t        |«      x}€t        ‰ |d«      ‚|‰|<   Œ# t        ‰ ‰||¬«      Št	        ˆˆ ˆˆˆfd„|D «       «      S )N©rÚ   z&unknown claim name or protocol versionc              3  ól   •K  — | ]+  }|‰v r%‰rt        ‰‰|«      rt        ‰|‰|   ‰|   «      –— Œ- y ­wr›   )Ú_claim_exists_on_serverÚ_parse_claim)r¸   r½   Údirectory_refr�   Ú
name_partsÚrecordsrÛ   s     €€€€€r`   rº   z_read_claims.<locals>.<genexpr>Ñ  sD   øè ø€ ò àØ�7‰?¡MÔ5LÈYÐXeÐgkÔ5lô 	�Y  j°Ñ&6¸À¹×Fñùs   ƒ14)Ú_list_claim_namesÚ_parse_claim_namer   Ú_read_claim_recordsr  )	r�   rC  rÚ   rÛ   Únamesr½   ÚpartsrD  rE  s	   `` `   @@r`   Ú_read_claimsrK  Ç  s~   ü€ ô % Y°È;ÔW€EØBD€JØò !ˆÜ& tÓ,Ð,ˆEÐ5Ü+¨I°tÐ=eÓfÐfØ ˆ
�4Òð!ô )¨°MÀ5ÐVaÔb€GÜ÷ àôó ð rk   c                ó$  — t         › t        j                  t        dz  «      › t        › �}	 t        |||«       	 t        ||«       y# t        $ rV}|j                  t        t        hv rY d }~yd|j                  xs t        |«      j                  › �}t        | ||«      |‚d }~wt        $ r}t        | |d«      |‚d }~ww xY w# t         $ r Y yt        $ r9}d|j                  xs t        |«      j                  › �}t        | ||«      |‚d }~ww xY w)Nr|   Fzcannot verify claim: z+cannot verify claim: hard links unavailablezcannot remove claim probe: T)r?   r   rÄ   r:   r=   Ú_link_or_find_committedr[   rg   r   r   r7  Útyper  r   r\   Ú_unlink_relativerà   )r�   rC  r½   ÚproofrÔ   r+  s         r`   rA  rA  Ø  s  € ô #Ð#¤G×$5Ñ$5Ô6GÈ1Ñ6LÓ$MÐ#NÔOeÐNfÐg€EðsÜ ¨t°UÔ;ðLÜ˜¨Ô.ð øô ò LØ�;‰;œ6¤6Ð*Ñ*ÜØ(¨¯©Ò)O¼4À»;×;OÑ;OÐ(PÐQˆÜ'¨	°4¸Ó@ÀeÐKûÜò sÜ'¨	°4Ð9fÓgÐmrÐrûðsûô ò Øð ô ò LØ.¨u¯~©~Ò/UÄÀeÃ×AUÑAUÐ.VÐWˆÜ'¨	°4¸Ó@ÀeÐKûðLúsF   ¬A ºC Á	C ÁB!Á-4B!Â!C Â-B;Â;C Ã	DÃDÃ4D
Ä
Dc               óì   — 	 t        |«      5 }t        |||¬«      cd d d «       S # 1 sw Y   y xY w# t        $ r9}d|j                  xs t	        |«      j
                  › �}t        | d |«      |‚d }~ww xY w)Nr?  zcannot list claim directory: )Ú_scandir_relativeÚ_public_claim_namesr[   r7  rN  r  r   )r�   rC  rÚ   ÚentriesrÔ   r+  s         r`   rF  rF  ï  sy   € ðLÜ˜}Ó-ð 	X°Ü& }°gÈ;ÔW÷	X÷ 	Xò 	Xûäò LØ0°·±Ò1WÄ4ÈÃ;×CWÑCWÐ0XÐYˆÜ'¨	°4¸Ó@ÀeÐKûðLús(   ‚1 �%›	1 ¥.ª1 ®1 ±	A3º4A.Á.A3c               óœ  — i }d }	 i }|D ]"  }t        | ||«      \  }}	|	�|	||<   Œ|€Œ|||<   Œ$ |s|S |€t        j                  «       t        z   }nt        j                  «       |k\  rn%t	        |«      }t        j
                  t        «       Œˆ|j                  «       D ��	cg c]  \  }}	|	j                  t        k7  sŒ|‘Œ c}	}x}
rzt        t        | ||¬«      «      }|
D �cg c]	  }||v sŒ|‘Œ c}x}rL||d      }	d|	j                  xs" t        |	«      xs t        |	«      j                  › �}t!        | |d   |«      |	‚|S c c}	}w c c}w )Nr?  r   úcannot read claim: )Ú_attempt_claim_readr­   r®   rC   Úlistr)  rD   Úitemsrg   r   ÚsetrF  r7  rs   rN  r  r   )r�   rC  rI  rÚ   rE  r*  r§   r½   r:  rÔ   ÚdeniedÚlistedÚstill_listedr+  s                 r`   rH  rH  ø  sa  € ð !#€GØ!€HØ
Ø&(ˆØò 	'ˆDÜ/°	¸=È$ÓO‰MˆF�EØÐ Ø %�˜’ØÑ#Ø &�˜’ð	'ñ ØˆNØÐÜ—~‘~Ó'Ô*;Ñ;‰HÜ�^‰^Ó Ò)ØÜ�W“ˆÜ�
‰
Ô$Ô%ð ð$ +2¯-©-«/×S™;˜4 ¸U¿[¹[ÌFÓ=R’$ÓSÐS€vÐSäÔ-¨i¸ÐT_Ô`ÓaˆØ-3ÖF T°t¸v²~šDÒFÐFˆ<ÐFØ˜L¨™OÑ,ˆEØ*¨5¯>©>Ò+_¼SÀ»ZÒ+_Ì4ÐPUË;×K_ÑK_Ð*`ÐaˆFÜ+¨I°|ÀA±ÈÓOÐUZÐZØ€Nùó Tùò Gs   Â!EÂ=EÃ"	E	Ã,E	c           	     ó¶  — 	 t        ||t        «      d fS # t        $ r Y yt        $ rG}t        j
                  dk(  r&t        t        t        |d   |«      «      «      rY d }~yd |fcY d }~S d }~wt        $ rb}|j                  t        k(  r	d |fcY d }~S d|j                  xs" t        |«      xs t        |«      j                  › �}t        | ||«      |‚d }~ww xY w)N)NNr$   r   rV  )Ú_read_recordr6   rà   r6  ÚsysÚplatformr%   rs   r   r[   rg   r   r7  rN  r  r   )r�   rC  r½   rÔ   r+  s        r`   rW  rW  #  sÄ   € ðLÜ˜M¨4Ô1DÓEÀtÐKÐKøÜò ÙÜò Ü�<‰<˜7Ò"¤|´C¼¸]È1Ñ=MÈtÓ8TÓ4UÔ'VÜØ�Uˆ{ÕûÜò LØ�;‰;œ&Ò Ø˜�;ÕØ& u§~¡~Ò'[¼¸U»Ò'[ÄtÈEÃ{×G[ÑG[Ð&\Ð]ˆÜ'¨	°4¸Ó@ÀeÐKûð	Lús>   ‚ •	C C¨4A*Á!A*Á$CÁ*CÁ6CÂCÂACÃCc               óæ  — g }|rRt        j                  t        j                  t        | t	        dt        j                  t        dz  «      «      «      «      nd„ }|D ]‰  }|j                  j                  d«      s|j                  |j                  «       Œ:t        |j                  «      s$t        |j                  «      x}€Œgt        |«      €Œst        | |j                  |«       Œ‹ t        |«      S )Nr,   r|   c                  ó   — y r›   r´   r´   rk   r`   ú<lambda>z%_public_claim_names.<locals>.<lambda>C  s   � rk   ú.)r   ÚcacheÚpartialÚ_filesystem_nowrÅ   r   rÄ   r:   r½   Ú
startswithrþ   Ú_is_claim_probe_nameÚ_private_public_namerG  Ú_reclaim_private_recordÚsorted)rC  rT  rÚ   rI  r±   ÚentryÚpublic_names          r`   rS  rS  8  sÑ   € ð €Eñ ô 	�‰Ü×ÑÜ ´¸FÄG×DUÑDUÔVgÐklÑVlÓDmÓ0nóô	
ñ ð ð ò DˆØ�z‰z×$Ñ$ SÔ)Ø�L‰L˜Ÿ™Õ$Ü! %§*¡*Ô-Ü0°·±Ó<Ð<ˆ[ÑIÔN_Ð`kÓNlÑNxä# M°5·:±:¸sÕCðDô �%‹=Ðrk   rÙ   c               óZ  — t         s<	 t        |«      }|5  t        | t        j                  |«      d f||¬«      cd d d «       S t        | |||¬«      S # t        $ r Y yt        $ r9}d|j                  xs t        |«      j                  › �}t        | d |«      |‚d }~ww xY w# 1 sw Y   ŒgxY w©Nr´   zcannot open claim directory: rÙ   )rP   rÆ   rà   r[   r7  rN  r  r   rK  rZ   r#  Ú_read_claims_through_descriptor)r�   r^   rÚ   rÛ   ÚpinnedrÔ   r+  s          r`   rÃ   rÃ   O  s¾   € õ !ð	PÜ)¨)Ó4ˆFð ñ 	ÜØœBŸI™I iÓ0°$Ð7À[Ð`mô÷	ñ 	ô +Ø�9¨+À]ôð øô !ò 	ÙÜò 	PØ4°U·^±^Ò5[ÄtÈEÃ{×G[ÑG[Ð4\Ð]ˆFÜ+¨I°t¸VÓDÈ%ÐOûð	Pú÷	ð 	ús(   ˆA •$B!Á	BÁBÁ%4BÂBÂ!B*c               ó>  — 	 t        t        j                  |«      «      }	 t        | t        j                  |«      |f||¬«      t        j                  t        «      5  t        j                  |«       d d d «       S # t        $ r Y yt        $ r9}d|j
                  xs t        |«      j                  › �}t        | d |«      |‚d }~ww xY w# 1 sw Y   S xY w# t        j                  t        «      5  t        j                  |«       d d d «       w # 1 sw Y   w xY wxY wrq  )rÉ   rZ   r#  rà   r[   r7  rN  r  r   rK  r   rî   rˆ   )r�   r^   rÚ   rÛ   Údirectory_fdrÔ   r+  s          r`   rr  rr  c  sô   € ðLÜ,¬R¯Y©Y°yÓ-AÓBˆð#ÜØœŸ	™	 )Ó,¨lÐ;ÈÐdqô
ô
 × Ñ ¤Ó)ñ 	#Ü�H‰H�\Ô"÷	#ð 	#øô ò ÙÜò LØ0°·±Ò1WÄ4ÈÃ;×CWÑCWÐ0XÐYˆÜ'¨	°4¸Ó@ÀeÐKûðLú÷	#ð 	#ûŒZ× Ñ ¤Ó)ñ 	#Ü�H‰H�\Ô"÷	#÷ 	#ñ 	#ýsL   ‚A< ¡#C ÁCÁ<	CÂCÂ4CÃCÃC	ÃDÃ1DÄ	DÄDÄDc                óŒ  — 	 |j                  d«      j                  d«      \  }}}}}}	t        |«      }
|rt        |«      nd }t        j	                  |«      j                  d«      }t        |	 |t        k(  ||d   k(  d|
cxk  xr dk  nc t        |
«      |k(  |d u xs |dk\  xr t        |«      |k(  |j                  «       j                  «       |k(  xr% |j                  «       xr t        d„ |D «       «       f«      st        | |d«      ‚t        ||d   ||
||¬	«      S # t
        t        f$ r}t        | |d«      |‚d }~ww xY w)
NÚasciiú
r.  zmalformed claim recordrJ   iÿÿÿr   c              3  ó<   K  — | ]  }|j                  «       –— Œ y ­wr›   )Úisspace©r¸   Ú	characters     r`   rº   z_parse_claim.<locals>.<genexpr>�  s   è ø€ ÒB¨I�I×%Ñ%×'ÑBùs   ‚)r½   r¶   rÐ   r  r  r  )r9  Úsplitrö   ÚbytesÚfromhexÚUnicodeDecodeErrorr]   r   Úallr5   rs   ÚencodeÚhexÚisprintablerÌ   r  )r�   r½   rD  r:  ÚmagicrÐ   Úpid_textÚhostname_hexÚ
start_textÚtrailingr  r  r  rÔ   s                 r`   rB  rB  w  sY  € ð^ØEKÇ]Á]ÐSZÓE[×EaÑEaÐbfÓEgÑBˆˆu�h ¨j¸(Ü�(‹mˆÙ#-”�J”°4ˆÜ—=‘= Ó.×5Ñ5°gÓ>ˆô ØˆØ”ÑØ�˜A‘ÑØ	ˆSÖ�IÔÜˆC‹�HÑØ�ˆÒB˜% 1™*ÒA¬¨U«°zÑ)AØ�‰Ó×ÑÓ <Ñ/ò 	CØ× Ñ Ó"ò	CäÑB¸ÔBÓBÐBð
ô 
ô (¨	°4Ð9QÓRÐRÜ D°
¸1±ÀUÐPSÐ^fÐnsÔtÐtøô ¤
Ð+ò ^Ü'¨	°4Ð9QÓRÐX]Ð]ûð^ús   ‚A%D! Ä!EÄ0D>Ä>Ec                ó(  — | j                  d«      sy | j                  d«      j                  d«      }t        |«      t        k7  s|d   t
        vs|d   dk7  ry |d   }t        |«      t        k7  st        d„ |D «       «      ry t        d|d   «      |fS )	NrÂ   ú-r   rJ   Úv1r|   c              3  ó$   K  — | ]  }|d v–— Œ
 y­w©Ú0123456789abcdefNr´   r{  s     r`   rº   z$_parse_claim_name.<locals>.<genexpr>š  s   è ø€ Ò-iÐV_¨iÐ?QÔ.QÑ-iùó   ‚r  )	ÚendswithÚremovesuffixr}  Úlenr8   r1   r:   rÌ   r   )r½   rJ  rÐ   s      r`   rG  rG  “  s”   € Ø�=‰=˜Ô"ØØ×Ñ˜hÓ'×-Ñ-¨cÓ2€EÜ
ˆ5ƒzÔ+Ò+¨u°Q©x¼}Ñ/LÐPUÐVWÑPXÐ\`ÒP`ØØ�!‰H€EÜ
ˆ5ƒzÔ&Ò&¬#Ñ-iÐchÔ-iÔ*iØÜÐ*¨E°!©HÓ5°uÐ<Ð<rk   c                ó   — | › d|› d�S )Nz-v1-rÂ   r´   )r¶   rÐ   s     r`   rÅ   rÅ   Ÿ  s   € ØˆW�D˜˜˜vÐ&Ð&rk   c                óB   — | j                  d«      j                  d«      S )Nzheld-zintent-)Úremoveprefixr¼   s    r`   rÁ   rÁ   £  s   € Ø×Ñ˜WÓ%×2Ñ2°9Ó=Ð=rk   c           
     ó  — t        «       j                  «       j                  «       }t        t	        j
                  «       «      }|€dn
t        |«      }t        › d| › dt	        j
                  «       › d|› d|› d�
j                  d«      S )NÚ rx  rw  )r   r‚  rƒ  r   rZ   Úgetpidrs   r5   )rÐ   r‡  r  rˆ  s       r`   rÈ   rÈ   §  sr   € Ü“;×%Ñ%Ó'×+Ñ+Ó-€LÜ¤§	¡	£Ó,€EØ�}‘¬#¨e«*€JÜˆ^˜2˜e˜W B¤r§y¡y£{ m°2°l°^À2ÀjÀ\ÐQSÐT×[Ñ[Ð\cÓdÐdrk   c                óÜ  — t         j                  j                  | «      \  }}|xs t         j                  }t	        |«      }t
        r |xs t        |«      nd }||f}	 t        |||f||«       |�	 t        j                  |«       y y # t        $ rA}		 |�t        j                  |«       ‚ # t        $ r}
t        d|	|
«       Y d }
~
‚ d }
~
ww xY wd }	~	ww xY w# t        $ r}
|
cY d }
~
S d }
~
ww xY w)Nz+strict publication directory cleanup failed)rZ   r$  r}  ÚcurdirÚ_private_record_namerP   Ú_open_directoryÚ_publish_record_in_directoryr‡   rˆ   r   )Úpublic_pathr:  r’   Úopen_directoryr^   ro  Úprivate_nameru  rC  Úpublication_errorr—   s              r`   rÇ   rÇ   ®  sú   € ô  ŸW™WŸ]™]¨;Ó7Ñ€Iˆ{ØÒ&œRŸY™Y€IÜ'¨Ó4€LÝEZÐ5�NÒ5¤o°yÔAÐ`d€LØ˜|Ð+€MðÜ$ ]°\À;Ð4OÐQUÐW]Ô^ð Ðð	Ü�H‰H�\Ô"ñ øô ò ð	qØÐ'Ü—‘˜Ô&ð 	øô ò 	qÜ!Ð"OÐQbÐdo×pÐpØûð	qþð	ûô ò 	ØÕûð	úsZ   ÁB	 Á2C Â		CÂB+Â*CÂ+	CÂ4CÃCÃCÃCÃCÃ	C+ÃC&Ã C+Ã&C+c                óö  — t         j                  t         j                  z  t         j                  z  t        z  }t        t         dd «      x}�||z  }t        | |d   ||«      }d }	 t        t        j                  |«      «      }t        ||«       t        | ||«       t        | |d   ||«      \  }	}
|	€|
�t        |	|
«       y y # t        $ r,}t        | |d   ||«      \  }	}
|	€|
�t        d||	|
«       ‚ d }~ww xY w)NÚ
O_NOFOLLOWr   z(strict record publication cleanup failed)rZ   ÚO_RDWRÚO_CREATÚO_EXCLrH   rf   Ú_open_relativer…   r†   r#   Ú_link_private_recordr‡   Ú _close_and_unlink_private_recordr   Ú!_raise_record_finalization_errors)rC  rI  r’   r:  ÚflagsÚ
o_nofollowÚ
private_fdÚprivate_identityr¢  r—   Úunlink_errors              r`   rž  rž  Ê  s!  € ô �I‰IœŸ
™
Ñ"¤R§Y¡YÑ.´Ñ:€EÜœb ,°Ó5Ð5ˆ
ÐBØ�ÑˆÜ ¨u°Q©x¸ÀÓE€JØ/3ÐðÜ)¬"¯(©(°:Ó*>Ó?ÐÜ�*˜fÔ%Ü˜]¨EÐ3CÔDô  !AØØˆa‰ØØó	!Ñ€K�ð Ð ,Ð":Ü)¨+°|ÕDð #;øô+ ò Ü$DØØ�!‰HØØó	%
Ñ!ˆ�\ð Ð" lÐ&>Ü!Ø:Ø!ØØô	ð 	ûðús   Á&7C Ã	C8Ã'C3Ã3C8c                óø   — d }	 t        j                  |«       d }	 |€t        | |«       nt	        | ||«       ||fS # t        $ r}|}Y d }~Œ3d }~ww xY w# t
        $ r Y ||fS t        $ r}|}Y d }~||fS d }~ww xY wr›   )rZ   rˆ   r‡   rO  Ú_unlink_relative_if_identityrà   )rC  r¡  r®  r¯  r—   rÔ   r°  s          r`   rª  rª  ò  s¢   € ð )-€KðÜ
�‰�Ôð *.€LðØÐ#Ü˜]¨LÕ9ä(¨¸ÐFVÔWð
 ˜Ð$Ð$øô ò Ø�ûðûô ò Øð ˜Ð$Ð$ô ò ØŒØ˜Ð$Ð$ûðús2   „< œA ¼	AÁAÁAÁ	A9Á"A9Á*A4Á4A9c                ó¾   — 	 t        | g|¢|‘­Ž  t        | |d   «      |k(  ry d}t        |«      ‚# t        $ r#}t        | |d   «      �‚ d}t        |«      |‚d }~ww xY w)Nr   z(private publication record was reclaimedrJ   z'private publication record was replaced)rM  rà   Ú_relative_identityrÊ   )rC  rI  r¯  rÔ   ÚmsgÚmsg_0s         r`   r©  r©  
  s{   € ð
;Ü ÐH°ÐHÐ7GÓHô ˜-¨¨q©Ó2Ð6FÒFØØ5€EÜ
& uÓ
-Ð-øô ò ;Ü˜m¨U°1©XÓ6ÐBØØ8ˆÜ*¨3Ó/°UÐ:ûð	;ús   ‚0 °	A¹AÁAc                ó€   — | |fD �cg c]  }|€Œ|‘Œ	 }}t        |«      dkD  rt        d|d   g|dd  ¢­Ž  |d   ‚c c}w )NrJ   z!strict record finalization failedr   ©r“  r   )r—   r°  rÔ   r   s       r`   r«  r«    sW   € ð #.¨|Ð!<ÖR˜ÀÑ@QŠeÐR€FÐRÜ
ˆ6ƒ{�Q‚ÜÐAÀ6È!Á9ÐZÈvÐVWÐVXÈzÓZØ
�‰)€Oùò Ss   ‡;�;c                óR   — d| › t         › t        j                  t        dz  «      › d�S )Nre  r|   r<   )r;   r   rÄ   r>   )ro  s    r`   rœ  rœ  &  s/   € Øˆ{ˆmÔ2Ð3´G×4EÑ4EÔFgÐklÑFlÓ4mÐ3nÐnrÐsÐsrk   c                ó  — | j                  d«      r| j                  t        «      sy | dt        t        «        j	                  t
        «      \  }}}|t
        k7  s$t        |«      t        k7  st        d„ |D «       «      ry |S )Nre  rJ   c              3  ó$   K  — | ]  }|d v–— Œ
 y­wrŽ  r´   r{  s     r`   rº   z'_private_public_name.<locals>.<genexpr>1  s   è ø€ ÒO°yˆyÐ 2Ô2ÑOùr�  )ri  r‘  r=   r“  Ú
rpartitionr;   r>   rÌ   )r¡  ro  ÚmarkerÚ
random_hexs       r`   rk  rk  *  sv   € Ø×"Ñ" 3Ô'¨|×/DÑ/DÔE[Ô/\ØØ&2°1¼Ô<RÓ8SÐ7SÐ&T×&_Ñ&_Ô`vÓ&wÑ#€K�˜àÔ(Ò(Üˆz‹?Ô?Ò?ÜÑOÀJÔOÔOàØÐrk   c                óä   — | j                  t        «      r| j                  t        «      sy| t	        t        «      t	        t        «        }t	        |«      t
        k(  xr t        d„ |D «       «      S )NFc              3  ó$   K  — | ]  }|d v –— Œ
 y­wrŽ  r´   r{  s     r`   rº   z'_is_claim_probe_name.<locals>.<genexpr>;  s   è ø€ Ò2jÐW`°9Ð@RÔ3RÑ2jùr�  )ri  r?   r‘  r=   r“  r:   r�  )r½   rÐ   s     r`   rj  rj  7  sZ   € Ø�?‰?Ô.Ô/°t·}±}ÔE[Ô7\ØØ”Ô(Ó)¬SÔ1GÓ-HÐ,HÐI€EÜˆu‹:Ô*Ñ*Òj¬sÑ2jÐdiÔ2jÓ/jÐjrk   c                ó  — t        j                  |j                  «      d f}t        j                  t        j
                  t        ||j                  «      «      }	 t        j                  |j                  «      5 }|D ]<  }t        |j                  «      |j                  k(  sŒ&t        ||j                  |«       Œ> 	 d d d «       y # 1 sw Y   y xY w# t        $ r&}d|j                  xs |› �}t        | d |«      |‚d }~ww xY w)Nz)cannot reclaim sentinel private records: )rZ   r#  r	  r   rf  rg  rh  r½   Úscandirrk  rl  r[   r7  r   )r�   r$  rC  r±   rT  rn  rÔ   r+  s           r`   r"  r"  >  sÛ   € Ü—I‘I˜dŸk™kÓ*¨DÐ0€MÜ
�/‰/œ)×+Ñ+¬O¸]ÈDÏIÉIÓVÓ
W€CðLÜ�Z‰Z˜Ÿ™Ó$ð 	L¨Ø ò L�Ü'¨¯
©
Ó3°t·y±yÓ@Ü+¨M¸5¿:¹:ÀsÕKñL÷	L÷ 	Lñ 	Lûô ò LØ<¸U¿^¹^Ò=TÈuÐ<UÐVˆÜ'¨	°4¸Ó@ÀeÐKûðLús<   ÁC Á:(CÂ#CÂ=C ÃCÃC ÃC Ã	DÃ!C<Ã<Dc                óþ  — | \  }}	 |�t         rt        j                  ||d¬«      nt        ||«      j	                  «       }t        j                  |j                  «      st        ||«      › d�}t        |«      ‚|j                  dk(  r  |«       x}�||j                  z
  t        k  ry 	 t        | |«       y # t
        $ r Y y w xY w# t
        $ r Y y t        $ r#}|j                  t        t        hvr‚ Y d }~y d }~ww xY w)NF©Údir_fdrW   z  is not a regular private recordrJ   )rR   rZ   r0  r   r(  rà   r1  r2  r[   Úst_nlinkrª   r@   Ú_unlink_private_record_oncerg   r
   r   )	rC  r¡  r±   r^   ru  Úprivate_statrµ  rŸ   rÔ   s	            r`   rl  rl  K  s  € ð ,Ñ€Iˆ|ðð Ð'Õ,Aô �G‰G�L¨ÀuÕMä�i Ó.×4Ñ4Ó6ð 	ô �<‰<˜×,Ñ,Ô-Ü�i Ó.Ð/Ð/OÐPˆÜ�c‹lÐØ×Ñ Ò!Ù“EÐ	ˆÐ" g°×0EÑ0EÑ&EÔH]Ò&]àðÜ# M°<Õ@øô ò Ùðûô ò ÙÜò Ø�;‰;œv¤u˜oÑ-Øô .ûðús/   ‡:B7 Â*C Â7	CÃCÃ	C<ÃC<ÃC7Ã7C<c                ó\  — t        |«      }t        j                  t        j                  z  t        j                  z  t
        z  t        t        dd«      z  }	 t        | ||d«      }	 t        |d«       t        j                  |«      j                  t        j                  t        «      5  t        j                  |«       d d d «       t        j                  t        «      5  t        | |«       d d d «       S # t        $ r Y y w xY w# 1 sw Y   ŒGxY w# 1 sw Y   S xY w# t        $ r� Y t        j                  t        «      5  t        j                  |«       d d d «       n# 1 sw Y   nxY wt        j                  t        «      5  t        | |«       d d d «       y # 1 sw Y   y xY ww xY w# t        j                  t        «      5  t        j                  |«       d d d «       n# 1 sw Y   nxY wt        j                  t        «      5  t        | |«       d d d «       w # 1 sw Y   w xY wxY w)Nr¤  r   i€  ó   
)rœ  rZ   ÚO_WRONLYr¦  r§  rH   rf   r¨  r[   r#   r†   rª   r   rî   rˆ   rÇ  )rC  ro  Úprober¬  rá   s        r`   rh  rh  g  s³  € ô ! Ó-€EÜ�K‰Kœ"Ÿ*™*Ñ$¤r§y¡yÑ0´9Ñ<¼wÄrÈ<ÐYZÓ?[Ñ[€EðÜ˜M¨5°%¸Ó?ˆð	>Ü�"�eÔÜ�x‰x˜‹|×$Ñ$ô × Ñ ¤Ó)ñ 	Ü�H‰H�RŒL÷	ä× Ñ ¤Ó)ñ 	>Ü'¨°uÔ=÷	>ð 	>øô ò Ùðú÷	ð 	ú÷	>ð 	>ûô ò Øä× Ñ ¤Ó)ñ 	Ü�H‰H�RŒL÷	÷ 	ñ 	úä× Ñ ¤Ó)ñ 	>Ü'¨°uÔ=÷	>÷ 	>ñ 	>úðûô × Ñ ¤Ó)ñ 	Ü�H‰H�RŒL÷	÷ 	ñ 	úä× Ñ ¤Ó)ñ 	>Ü'¨°uÔ=÷	>÷ 	>ñ 	>ýs–   ÁC7 Á'*D Â*DÃ!DÃ7	DÄDÄD	ÄD	Ä	F(Ä'F+ ÅE Å E)ÆFÆF$Æ'F(Æ(F+ Æ+H+ÇG$Ç	H+Ç$G-Ç) H+È	HÈ	H+ÈH(È$H+c                ó‚   — | \  }}|�t         rt        j                  ||¬«       y t        ||«      j                  «        y ©N©rÅ  )rQ   rZ   Úunlinkr   )rC  r¡  r^   ru  s       r`   rÇ  rÇ  }  s6   € Ø+Ñ€Iˆ|ØÐÕ$;Ü
�	‰	�, |Ö4äˆY˜Ó%×,Ñ,Õ.rk   c                ó¸   — | \  }}	 |�t         rt        j                  ||d¬«      }nt        ||«      j	                  «       }t        |«      S # t
        $ r Y y w xY w©NFrÄ  )rR   rZ   r0  r   r(  rà   r…   )rC  r½   r^   ru  Ú	path_stats        r`   r´  r´  …  sb   € Ø+Ñ€Iˆ|ðØÐ#Õ(=ÜŸ™ ¨\È5ÔQ‰Iä˜Y¨Ó-×3Ñ3Ó5ˆIô ˜)Ó$Ð$øô ò Ùðús   ‡;A Á	AÁAc                ó˜   — t        | |«      |k(  r/t        j                  t        «      5  t	        | |«       d d d «       y y # 1 sw Y   y xY wr›   )r´  r   rî   rà   rO  )rC  r½   Úidentitys      r`   r²  r²  ‘  sK   € ô
 ˜-¨Ó.°(Ò:Ü× Ñ Ô!2Ó3ñ 	2Ü˜]¨DÔ1÷	2ð 	2ð ;÷	2ð 	2ús   ©A Á A	c                ó„   — | \  }}|�t        j                  ||||¬«      S t        j                  t        ||«      ||«      S rÎ  )rZ   Úopenr   )rC  r½   r¬  r’   r^   ru  s         r`   r¨  r¨  ›  sK   € Ø+Ñ€Iˆ|ð Ð#ô 	�‰��e˜T¨,Ô7ðô �W‰W”T˜) TÓ*¨E°4Ó8ðrk   c                ó~   — | \  }}|�t         rt        ||||¬«       y t        t        ||«      t        ||«      «       y )N©Ú
src_dir_fdÚ
dst_dir_fd)rS   Ú_link_no_followr   )rC  Úsource_nameÚdestination_namer^   ru  s        r`   Ú_link_relativerß  ¤  sA   € Ø+Ñ€Iˆ|ØÐÕ$9Ü˜Ð%5À,Ð[gÕhØÜ”D˜ KÓ0´$°yÐBRÓ2SÕTrk   c                ó‚   — 	 t        | ||«       y # t        $ r% t        | |«      x}�||xs t        | |«      k7  r‚ Y y w xY wr›   )rß  ÚFileExistsErrorr´  )rC  rÝ  rÞ  Úsource_identityrÕ  s        r`   rM  rM  ¬  s\   € ð	Ü�} kÐ3CÕDøÜò ô +¨=Ð:JÓKÐKˆHÐTÐX`ØÒMÔ1°-ÀÓMòY
ð ñY
ð	ús   ‚ �+>½>rÙ  c               óž   — t         sd}t        |«      ‚t        rt        j                  | |||d¬«       y t        j                  | |||¬«       y )Nz'os.link is unavailable on this platformF)rÚ  rÛ  rW   rÙ  )rO   r\   rb   rZ   rN   )r_   ÚdestinationrÚ  rÛ  rµ  s        r`   rÜ  rÜ  ¾  sE   € õ ð 8ˆÜ! #Ó&Ð&õ $Ü
�‰�˜°
ÀzÐchÖiä
�‰�˜°
ÀzÖRrk   c                óÔ   — | \  }}|�t         rt        j                  ||¬«       y t        j                  dk(  rt        t        |«      |«       y t        ||«      j                  «        y )NrÏ  r$   )rQ   rZ   rÐ  r`  ra  rç   r   ©rC  r½   r^   ru  s       r`   rO  rO  Ó  sP   € Ø+Ñ€Iˆ|ØÐÕ$;Ü
�	‰	�$˜|Ö,Ü	�‰˜Ò	 ÜœT )›_¨dÕ3äˆY˜Ó×$Ñ$Õ&rk   c                óÎ  — t         rDt        t        | «      «      }	 t        t        | «      |f||«       	 t        j                  |«       y t        | «      5  t        t        | «      d f||«       d d d «       y # t        $ r?}	 t        j                  |«       ‚ # t        $ r}t        d||«       Y d }~‚ d }~ww xY wd }~ww xY w# t        $ r}|cY d }~S d }~ww xY w# 1 sw Y   y xY w)Nz$strict link directory cleanup failed)	rS   rÉ   rs   rM  r‡   rZ   rˆ   r   rÆ   )r^   rÝ  rÞ  ru  Ú
link_errorr—   s         r`   rÎ   rÎ   Ý  sâ   € ÝÜ,¬S°«^Ó<ˆð	Ü#¤S¨£^°\Ð$BÀKÐQaÔbð	Ü�H‰H�\Ô"ð Ü	˜iÓ	(ñ WÜ¤ Y£°Ð 6¸ÐEUÔV÷Wàøô ò 	ðgÜ—‘˜Ô&ð øô !ò gÜ%Ð&LÈjÐZe×fÐfØûðgþð	ûô ò 	ØÕûð	ú÷Wàúsd   œA8 µC ÁCÁ8	C ÂBÂB;Â	B8Â!B3Â.B;Â3B8Â8B;Â;C Ã	CÃCÃCÃCÃC$c                óÚ   — t         j                  j                  | «      \  }}t        t	        |xs t         j
                  «      x}«      5  t        ||«      cd d d «       S # 1 sw Y   y xY wr›   )rZ   r$  r}  rÆ   r   r›  rç   )r$  r^   r½   r‘   s       r`   Ú_unlink_owner_pathrê  ò  sR   € Ü—g‘g—m‘m DÓ)�O€IˆtÜ	´°iÒ6LÄ2Ç9Á9Ó1MÐM˜oÓ	Nñ ;Ü# O°TÓ:÷;÷ ;ò ;ús   ÁA!Á!A*c                óÊ   — | D �cg c]  }|t        |«      f‘Œ }}|D ���cg c]  \  }\  }}|rŒ|‘Œ c}}}|D ��cg c]  \  }\  }}|€Œ|‘Œ c}}fS c c}w c c}}}w c c}}w r›   )Ú_unlink_owner_path_result)Úpathsr$  ÚresultsÚremovedrâ   rÔ   s         r`   r  r  ø  sw   € ØCHÖI¸4�Ô/°Ó5Ò6ÐI€GÐIØ+2×BÐBÑ'�T™<˜G Qº'ŠDÔBØ#*÷EÙ�!‘Z�a˜¨eÑ.?ŠóEð ð ùò JùÜBùó Es   …A¡A¯A¼AÁ
Ac                ój   — 	 t        | «      }d|fS # t        $ r Y yt        $ r}d|fcY d }~S d }~ww xY w)N)TNFT)rê  rà   r‡   )r$  ré   rÔ   s      r`   rì  rì  ÿ  sE   € ðÜ*¨4Ó0ˆð
 �ÐÐøô	 ò ÙÜò Ø�eˆ|Õûðús   ‚ ‘	2œ2¤-§2­2c                óN   — t        |«      dkD  rt        | |d   g|dd  ¢­Ž  |d   ‚)NrJ   r   r¸  )Úmessager   s     r`   rû   rû   	  s/   € Ü
ˆ6ƒ{�Q‚Ü˜g v¨a¡yÐ>°6¸!¸"°:Ó>Ø
�‰)€Ork   c                óŒ  — t         rCt        t        | «      «      }	 t        j                  ||¬«       	 t        j                  |«       y t        j                  dk7  rt        | |z  «      j	                  «        y d}t        t        «      D ]T  }t        | |z  «      x}€ y |j                  t        t         hvs|t        dz
  k(  r|‚t#        j$                  |«       |dz  }ŒV y # t
        $ r?}	 t        j                  |«       ‚ # t
        $ r}t        d||«       Y d }~‚ d }~ww xY wd }~ww xY w# t
        $ r}|cY d }~S d }~ww xY w)NrÏ  z&strict unlink directory cleanup failedr$   gü©ñÒMbP?rJ   r|   )rQ   rÉ   rs   rZ   rÐ  r‡   rˆ   r   r`  ra  r   ÚrangerB   Ú_unlink_errorrg   r
   r   r­   r)  )r^   r½   ru  r°  r—   Úretry_delayÚattemptrÔ   s           r`   rç   rç     s9  € ÝÜ,¬S°«^Ó<ˆð	Ü�I‰I�d <Õ0ð	Ü�H‰H�\Ô"ð Ü
‡|�|�wÒÜˆY˜ÑÓ×%Ñ%Ô'ØØ€KÜÔ,Ó-ò ˆÜ" 9¨tÑ#3Ó4Ð4ˆEÐ=ÙØ�;‰;œv¤u˜oÑ-°Ô<OÐRSÑ<SÒ1SØˆKÜ�
‰
�;ÔØ�qÑ‰ðð øô- ò 	ðkÜ—‘˜Ô&ð øô !ò kÜ%Ð&NÐP\Ð^i×jÐjØûðkþð	ûô ò 	ØÕûð	úsX   œC# ´D. Ã#	D+Ã-DÄD&Ä	D#ÄDÄD&ÄD#Ä#D&Ä&D+Ä.	EÄ7D>Ä8EÄ>Ec                óV   — 	 | j                  «        y # t        $ r}|cY d }~S d }~ww xY wr›   )rÐ  r[   )r$  rÔ   s     r`   rõ  rõ  -  s,   € ðØ�‰Œð øô ò Ø�ûðús   ‚ “	(œ#�(£(c                ó.   — t        | j                  | «      S r›   )Ú_pin_directoriesr	  )r^   s    r`   rÆ   rÆ   5  s   € Ü˜I×,Ñ,¨iÓ8Ð8rk   c            
     ó  — t        j                  «       }t        j                  dk(  rK|5  | D ]*  }|j	                  t
        t        t        |«      «      «       Œ, |j                  «       cd d d «       S |S # 1 sw Y   |S xY w)Nr$   )	r   Ú	ExitStackr`  ra  Úcallbackr(   r'   rs   Úpop_all)ÚdirectoriesÚstackr^   s      r`   rú  rú  9  sv   € ô 0:×/CÑ/CÓ/E€EÜ
‡|�|�wÒØñ 	#Ø(ò Q�	Ø—‘Ô/´ÄÀIÃÓ1OÕPðQà—=‘=“?÷	#ñ 	#ð €L÷		#ð €Lús   ª?A5Á5A?c           	     ó–   — t        j                  | t         j                  t        t         dd«      z  t        t         dd«      z  |¬«      S )NÚO_DIRECTORYr   r¤  rÏ  )rZ   r×  ÚO_RDONLYrf   )r^   rÅ  s     r`   r�  r�  F  s9   € Ü�7‰7�9œbŸk™k¬G´B¸ÀqÓ,IÑIÌGÔTVÐXdÐfgÓLhÑhÐqwÔxÐxrk   c                óŒ  — t         j                  j                  | «      \  }}t        |«      }	 t        ||«      t	        j
                  t        «      5  t        j                  |«       d d d «       S # 1 sw Y   S xY w# t	        j
                  t        «      5  t        j                  |«       d d d «       w # 1 sw Y   w xY wxY wr›   )rZ   r$  r}  r�  r   rî   r[   rˆ   )r^   r�   r½   Úcoordination_fds       r`   rÉ   rÉ   J  s•   € ô $&§7¡7§=¡=°Ó#;Ñ Ð˜DÜ%Ð&<Ó=€Oð&Ü˜t _Ó5ô × Ñ ¤Ó)ñ 	&Ü�H‰H�_Ô%÷	&÷ 	&ñ 	&ûŒZ× Ñ ¤Ó)ñ 	&Ü�H‰H�_Ô%÷	&÷ 	&ñ 	&ýs/   ¯A> ÁA2Á2A;	Á>CÂB7Â.	CÂ7C Â<Cc                óp   — | \  }}|�t         rt        j                  |«      S t        j                  |«      S r›   )rU   rZ   rÂ  )rC  r^   ru  s      r`   rR  rR  X  s5   € ð ,Ñ€Iˆ|ØÐÕ$8Ü�z‰z˜,Ó'Ð'Ü�:‰:�iÓ Ð rk   c                ó€   — | \  }}|�t         rt        j                  ||d¬«      S t        ||«      j	                  «       S rÒ  )rR   rZ   r0  r   r(  ræ  s       r`   Ú_lstat_relativer  a  s>   € Ø+Ñ€Iˆ|ØÐÕ$9Ü�w‰w�t LÀ%ÔHÐHÜ�	˜4Ó ×&Ñ&Ó(Ð(rk   c                óT   — t        | ||d¬«      \  }}t        j                  |«       |S )NT©Ú	deletable)r5  rZ   rˆ   )rC  r½   Úlimitrá   r:  s        r`   r_  r_  h  s&   € Ü˜m¨T°5ÀDÔI�J€BˆÜ‡H�HˆR„LØ€Mrk   Fr
  c               ó8  — t        | d   |«      }t        | |«      }t        j                  |j                  «      s|› d�}t        |«      ‚|r(t        j                  dk(  rt        t        |«      «      }nIt        j                  t        z  t        t        dd«      z  t        t        dd«      z  }t        | ||d«      }	 t        ||||«      }	||	fS # t         $ r?}
	 t        j"                  |«       ‚ # t         $ r}t%        d|
|«       Y d }~‚ d }~ww xY wd }
~
ww xY w)Nr   ú is not a regular filer$   r¤  Ú
O_NONBLOCKz!strict record read cleanup failed)r   r  r0  r1  r2  r[   r`  ra  r&   rs   rZ   r  rH   rf   r¨  Ú_read_opened_recordr‡   rˆ   r   )rC  r½   r  r  r$  rÓ  rµ  rá   r¬  r:  Ú
read_errorr—   s               r`   r5  r5  n  s  € ô �˜aÑ  $Ó'€DÜ ¨tÓ4€IÜ�<‰<˜	×)Ñ)Ô*Ø�Ð,Ð-ˆÜ�c‹lÐÙ”S—\‘\ WÒ,ô )¬¨T«Ó3‰ä—‘œiÑ'¬'´"°lÀAÓ*FÑFÌÔQSÐUaÐcdÓIeÑeˆÜ˜M¨4°¸Ó:ˆðÜ$ R¨¨y¸%Ó@ˆð ˆvˆ:Ðøô ò ð	`Ü�H‰H�RŒLð 	øô ò 	`Ü!Ð"EÀzÐS^×_Ð_Øûð	`þðús<   Â?C Ã	DÃC1Ã0DÃ1	DÃ:DÄDÄDÄDÄDc                óP  — t        j                  | «      }t        j                  |j                  «      s|› d�}t        |«      ‚t        |«      t        |«      k7  r|› d�}t        |«      ‚t        j                  | |dz   «      }t        |«      |kD  r|› d|› d�}t        |«      ‚|S )Nr  z changed while openingrJ   z	 exceeds z bytes)	rZ   r†   r0  r1  r2  r[   r…   Úreadr“  )rá   r$  rÓ  r  Úopened_statrµ  r:  s          r`   r  r  ˆ  s¢   € Ü—(‘(˜2“,€KÜ�<‰<˜×+Ñ+Ô,Ø�Ð,Ð-ˆÜ�c‹lÐÜ�kÓ"¤n°YÓ&?Ò?Ø�Ð,Ð-ˆÜ�c‹lÐÜ�W‰W�R˜ ™Ó#€FÜ
ˆ6ƒ{�UÒØ��i ˜w fÐ-ˆÜ�c‹lÐØ€Mrk   c                óÈ  — t         rt        s/	 t        |j                  «      }|5  t        | ||«       d d d «       y 	 t        t        j                  |j                  «      «      }	 t        | |||«       t        j                  t        «      5  t        j                  |«       d d d «       y # t        $ r }t        | d d|j                  › �«      |‚d }~ww xY w# 1 sw Y   y xY w# t        $ r }t        | d d|j                  › �«      |‚d }~ww xY w# 1 sw Y   y xY w# t        j                  t        «      5  t        j                  |«       d d d «       w # 1 sw Y   w xY wxY w)Núcannot open )rP   rT   rú  r	  r[   r   r€   r�  rZ   r#  r   rî   rˆ   )r�   r^   r’   rs  rÔ   r  s         r`   r‚   r‚   —  sI  € Ý!Õ&<ð	kÜ% i×&6Ñ&6Ó7ˆFð ñ 	CÜ& y°)¸TÔB÷	Cð 	Cð	kÜ-¬b¯i©i¸	×8HÑ8HÓ.IÓJˆOð	*Ü& y°)¸TÀ?ÔSä×$Ñ$¤WÓ-ñ *Ü—‘˜Ô)÷*ð *øô ò 	kÜ+¨I°t¸|ÈI×L\ÑL\ÐK]Ð=^Ó_ÐejÐjûð	kú÷	Cð 	Cûô ò 	kÜ+¨I°t¸|ÈI×L\ÑL\ÐK]Ð=^Ó_ÐejÐjûð	kú÷
*ð *û”×$Ñ$¤WÓ-ñ *Ü—‘˜Ô)÷*÷ *ñ *ýsi   ŽB, ¥C½(C$ Á&D ÂDÂ,	CÂ5CÃCÃC!Ã$	DÃ-DÄDÄDÄE!Ä6EÅ	E!ÅEÅE!c                ó¢  — 	 |€|j                  |«       n"t        j                   |j                  ||¬«       t!        | |||«       y # t        $ rþ 	 t	        t        j
                  |j                  «      |f|j                  «      }t        ||€|j                  j                  «       nt        j                  |«      «      }n"# t        $ r}t        | d d|› �«      |‚d }~ww xY wt        j                  |j                  «      rt        |dd«      t        j                  z  rt        | d |› d�«      d ‚|�|› d|› d�}t        | d |«      d ‚Y �Œw xY w)NrÏ  zcannot inspect Úst_file_attributesr   z is not a real directoryz belongs to uid z5, not to this process's account or the parent's owner)ÚmkdirrZ   r½   rá  r  r#  r	  r"   r0  r†   r[   r   ÚS_ISDIRr2  rf   ÚFILE_ATTRIBUTE_REPARSE_POINTÚ_settle_directory_mode)r�   r^   r’   Ú	parent_fdÚfoundÚownerrÔ   r+  s           r`   r€   r€   ¬  sK  € ðOØÐØ�O‰O˜DÕ!ä�H‰H�Y—^‘^ T°)Õ<ô" ˜9 i°°yÕAøô! ò Oð	gÜ#¤R§Y¡Y¨y×/?Ñ/?Ó%@À)Ð$LÈiÏnÉnÓ]ˆEÜ+Ø°)Ð2C�y×'Ñ'×,Ñ,Ô.ÌÏÉÐR[ÓI\ó‰Eøô ò 	gÜ+¨I°t¸ÈyÈkÐ=ZÓ[ÐafÐfûð	gúô —‘˜UŸ]™]Ô+Ü�uÐ2°AÓ6¼×9ZÑ9ZÒZä+¨I°tÀ	¸{ÐJbÐ=cÓdÐjnÐnØÐØ!�{Ð"2°5°'Ð9nÐoˆFÜ+¨I°t¸VÓDÈ$ÐNò ðOús7   ‚6A Á	EÁA0CÃEÃ	C!ÃCÃC!Ã!A)EÅEc           	     ó0  — t         j                  dk7  �r$	 t        j                  |�|j                  nt        j
                  |«      t        j                  t        t        dd«      z  t        t        dd«      z  |¬«      }	 t        j                  |«      }|j                  dz  |j                  |z  dz  z  t        j                  z  }|j                  t        j                  «       k(  r8|t        j                   |j                  «      k7  rt        j"                  ||«       t        j$                  |«       y y # t        $ r}t        | d d|› �«      |‚d }~ww xY w# t        $ r}t        | d d	|› �«      |‚d }~ww xY w# t        j$                  |«       w xY w)
Nr$   r  r   r¤  rÏ  r  i   iÿ  zcannot set the mode of )r`  ra  rZ   r×  r½   r#  r  rf   r[   r   r†   r2  r0  ÚS_ISVTXÚst_uidÚgeteuidÚS_IMODEÚfchmodrˆ   )r�   r^   r’   r  rá   rÔ   r  Úsettleds           r`   r  r  Å  sN  € ô
 ‡|�|�wÓð	dÜ—‘Ø"+Ð"7�	—’¼R¿Y¹YÀyÓ=QÜ—‘œg¤b¨-¸Ó;Ñ;¼gÄbÈ,ÐXYÓ>ZÑZØ ôˆBð	Ü—H‘H˜R“LˆEØ—m‘m fÑ,¨u¯}©}¸tÑ/CÀeÑ/KÑKÌdÏlÉlÑZˆGØ�|‰|œrŸz™z›|Ò+°¼4¿<¹<ÈÏÉÓ;VÒ0VÜ—	‘	˜"˜gÔ&ô �H‰H�R�Lð# øô ò 	dÜ+¨I°t¸|ÈIÈ;Ð=WÓXÐ^cÐcûð	dûô ò 	oÜ+¨I°tÐ?VÐW`ÐVaÐ=bÓcÐinÐnûð	oûô �H‰H�R�Lús=   –A+D: ÂB!E Ä:	EÅEÅEÅ	E;Å%E6Å6E;Å;E> Å>Fc                óÀ   ‡ — ‰  xs5 ‰ j                  d«      xs" ‰ t        j                  t        j                  hv }|st	        ˆ fd„dD «       «      rd}t        |«      ‚y )Nre  c              3  ó&   •K  — | ]  }|‰v –— Œ
 y ­wr›   r´   )r¸   Ú	separatorr½   s     €r`   rº   z-_validate_force_break_name.<locals>.<genexpr>à  s   øè ø€ ÒW°i 	¨TÔ 1ÑWùs   ƒ)ú/ú\ú z,claim_name must be one public claim basename)ri  rZ   r›  ÚpardirrÌ   r]   )r½   Úinvalid_componentrµ  s   `  r`   rå   rå   Þ  sY   ø€ Ø ˜ÒZ D§O¡O°CÓ$8ÒZ¸DÄRÇYÁYÔPR×PYÑPYÐDZÐ<ZÐÙœCÓWÐCVÔWÔWØ<ˆÜ˜‹oÐð Xrk   c                óZ  ‡— t         rt        t        j                  | «      «      nd }	 t	        t        j                  | «      |f«      5 }t        ˆfd„|D «       «      s(t        t        t        j                  t        «      ‰«      ‚	 d d d «       |�8t        j                  t        «      5  t        j                  |«       d d d «       y y # 1 sw Y   ŒDxY w# 1 sw Y   y xY w# |�Dt        j                  t        «      5  t        j                  |«       d d d «       w # 1 sw Y   w xY ww xY w)Nc              3  ó<   •K  — | ]  }|j                   ‰k(  –— Œ y ­wr›   r¼   )r¸   rn  r½   s     €r`   rº   z&_require_exact_name.<locals>.<genexpr>é  s   øè ø€ Ò?¨e�u—z‘z TÕ)Ñ?ùs   ƒ)rP   rÉ   rZ   r#  rR  rÌ   rà   r   r7  r   rî   r[   rˆ   )r^   r½   ru  rT  s    `  r`   ræ   ræ   å  sü   ø€ ÝBWÔ(¬¯©°9Ó)=Ô>Ð]a€Lð'Ü¤§	¡	¨)Ó 4°lÐCÓDð 	KÈÜÓ?°wÔ?Ô?Ü'¬´·±¼FÓ0CÀTÓJÐJð @÷	Kð Ð#Ü×$Ñ$¤WÓ-ñ 'Ü—‘˜Ô&÷'ð 'ð $÷		Kð 	Kú÷
'ð 'ûð Ð#Ü×$Ñ$¤WÓ-ñ 'Ü—‘˜Ô&÷'÷ 'ñ 'úð $úsG   © C" Á	=C
ÂC" Â*CÃ
CÃC" ÃCÃ"D*Ã>DÄ	D*ÄD&Ä"D*c                óš   — t        |t        «      xs' |j                  t        v xs t	        |dd «      t
        v }|rd}t        | d |«      |‚y )NÚwinerrorzCfilesystem does not support atomic no-replace hard-link publication)rž   r\   rg   rl   rf   rM   r   )r�   rÔ   Úunsupportedr+  s       r`   rË   rË   ñ  s]   € ä�5Ô-Ó.ò 	PØ�;‰;Ô7Ð7ò	Pä�E˜: tÓ,Ô0NÐNð ñ
 ØVˆÜ'¨	°4¸Ó@ÀeÐKð rk   c                ó2   — | j                   | j                  fS r›   )Úst_devr«   )Ústs    r`   r…   r…   ü  s   € Ø�9‰9�b—i‘iÐÐrk   )r  r  rn   )r
  ro   )r
  zfrozenset[int])
r�   rs   r$  r   r’   rö   r%  ú!Callable[[os.stat_result], float]r
  r  )r�   rs   r$  r   r%  r7  r
  r  )r$  r   r
  z&tuple[int | None, _OccupantState, str])r<  rs   r
  ztuple[_OccupantState, str])
r�   rs   rC  útuple[str, int | None]rÚ   ro   rÛ   ro   r
  r  )r�   rs   rC  r8  r½   rs   r
  ro   )r�   rs   rC  r8  rÚ   ro   r
  ú	list[str])
r�   rs   rC  r8  rI  r9  rÚ   ro   r
  zdict[str, bytes])r�   rs   rC  r8  r½   rs   r
  z#tuple[bytes | None, OSError | None])rC  r8  rT  zIterator[os.DirEntry[str]]rÚ   ro   r
  r9  )
r�   rs   r^   r   rÚ   ro   rÛ   ro   r
  r  )
r�   rs   r½   rs   rD  z$tuple[StrictSoftFileClaimState, str]r:  r~  r
  r  )r½   rs   r
  z+tuple[StrictSoftFileClaimState, str] | None)r¶   r  rÐ   rs   r
  rs   )r½   rs   r
  rs   )rÐ   rs   r
  r~  r›   )
rŸ  rs   r:  r~  r’   rö   r   zCallable[[str], int] | Noner
  úBaseException | None)
rC  r8  rI  útuple[str, str]r’   rö   r:  r~  r
  r  )
rC  r8  r¡  rs   r®  rö   r¯  útuple[int, int] | Noner
  z1tuple[BaseException | None, BaseException | None])rC  r8  rI  r;  r¯  útuple[int, int]r
  r  )r—   r:  r°  r:  r
  r  )ro  rs   r
  rs   )r¡  rs   r
  r  )r½   rs   r
  ro   )r�   rs   r$  r   r
  r  )rC  r8  r¡  rs   r±   zCallable[[], float | None]r
  r  )rC  r8  ro  rs   r
  zfloat | None)rC  r8  r¡  rs   r
  r  )rC  r8  r½   rs   r
  r<  )rC  r8  r½   rs   rÕ  r=  r
  r  )
rC  r8  r½   rs   r¬  rö   r’   rö   r
  rö   )rC  r8  rÝ  rs   rÞ  rs   r
  r  )
rC  r8  rÝ  rs   rÞ  rs   râ  r<  r
  r  )
r_   ú
str | Pathrä  r>  rÚ  r  rÛ  r  r
  r  )rC  r8  r½   rs   r
  r  )r^   r   rÝ  rs   rÞ  rs   r
  r:  )r$  rs   r
  r:  )rí  ztuple[str, ...]r
  r  )r$  rs   r
  z!tuple[bool, BaseException | None])rò  rs   r   zlist[BaseException]r
  r  )r^   r   r½   rs   r
  r:  )r$  r   r
  zOSError | None)r^   r   r
  ú!contextlib.ExitStack[bool | None])rÿ  r   r
  r?  )r^   rs   rÅ  r  r
  rö   )r^   rs   r
  rö   )rC  r8  r
  z=contextlib.AbstractContextManager[Iterator[os.DirEntry[str]]])rC  r8  r½   rs   r
  r  )rC  r8  r½   rs   r  rö   r
  r~  )
rC  r8  r½   rs   r  rö   r  ro   r
  ztuple[int, bytes])
rá   rö   r$  r   rÓ  r  r  rö   r
  r~  )r�   rs   r^   r   r’   rö   r
  r  )
r�   rs   r^   r   r’   rö   r  r  r
  r  )r½   rs   r
  r  )r^   r   r½   rs   r
  r  )r�   rs   rÔ   zNotImplementedError | OSErrorr
  r  )r6  r  r
  r=  )©Ú
__future__r   Ú__lazy_modules__r   rg   r   rZ   r   r0  r`  r   r­   Údataclassesr	   r
   r   r   r   r   r   r   r   r   Útypingr   r   r   r   Úfilelock._apir   r   r   r   Úfilelock._errorr   Úfilelock._identityr   r   r   Úfilelock._markerr   Úfilelock._softr   r    Úfilelock._soft_protocolr!   Úfilelock._utilr"   r#   ra  Úfilelock._windowsr%   r&   r'   r(   Úcollections.abcr)   r*   r  Ú_OccupantStaterh   r1   r  r2   r4   r5   r6   r8   r:   r;   r=   r>   r?   r@   rB   rC   rD   rE   ÚS_IFDIRÚS_IFLNKrF   rf   rH   r‚  rI   rM   ÚhasattrrO   r×  Úsupports_dir_fdrP   rÐ  rQ   rR   rN   rS   r  rT   rÂ  Úsupports_fdrU   ra   rb   rj   rl   rn   r  rï   rÊ   rƒ   r!  rß   r8  rK  rA  rF  rH  rW  rS  rÃ   rr  rB  rG  rÅ   rÁ   rÈ   rÇ   rž  rª  r©  r«  rœ  rk  rj  r"  rl  rh  rÇ  r´  r²  r¨  rß  rM  rÜ  rO  rÎ   rê  r  rì  rû   rç   rõ  rÆ   rú  r�  rÉ   rR  r  r_  r5  r  r‚   r€   r  rå   ræ   rË   r…   Ú__all__r´   rk   r`   ú<module>rT     s  ðÞ "òÐ ó Û Û Û 	Û Û Û 
Û Û Ý !ß F× FÑ FÝ ß 6Ó 6ç aÓ aÝ 5ß MÑ MÝ )ß KÝ ?ß =à‡<�<�7ÒßmÓmáß2à"Ð#3Ñ4Ð ØÐNÑO€á'0°(¸FÐ1CÓ'D€Ð$Ó DØ#.Ð �jÓ .Ø$,Ð �zÓ ,Ø/€ˆjÓ /Ø"&Ð �ZÓ &Ø%&Ð ˜
Ó &Ø "Ð �:Ó "Ø%3Ð ˜
Ó 3Ø%+Ð ˜
Ó +Ø02Ð ! :Ó 2Ø".Ð �ZÓ .Ø&)Ð �|Ó )Ø"$Ð �ZÓ $à"%Ð �<Ó %Ø"'Ð �<Ó 'à%(Ð �lÓ (Ø-1¯\©\¸=È$Ï,É,ÐXcÐ,dÐ Ð)Ó dñ    J°Ó2€	ˆ:Ó 2Ø!CÐ!<×!CÑ!CÓ!EÐ �,Ó EÙ8AÂ+Ó8NÐ Ð 5Ó Nñ
 !  VÓ,€	ˆ;Ó ,ð &(§W¡W°×0BÑ0BÐ%BÐ �{Ó BØ')§y¡y°B×4FÑ4FÐ'FÐ ˜Ó FØ%'§W¡W°×0BÑ0BÐ%BÐ �{Ó BØ%.Ò%P°2·7±7¸b×>PÑ>PÐ3PÐ �{Ó PØ&(§h¡h°"×2DÑ2DÐ&DÐ ˜Ó DØ$&§J¡J°"·.±.Ð$@Ð �kÓ @óñ$ -HÓ,IÐ ˜kÓ Iócñ 8[Ó7\Ð Ð4Ó \ôec˜ô ecñP �$Ô÷
ð 
ó ð
ô	 9ô 	ðØðØðØ&)ðØ:[ðàóó4&ó.Ró*IðØðØ#9ðØKOðØ`dðà$óó"ó.Lð(Øð(Ø#9ð(ØBKð(Ø]að(àó(ðVLØðLØ#9ðLØADðLà(óLð*Ø)ðØ4NðØ`dðàóð0 =AÐX[×XdÑXdÐhoÑXoñØðØ#ðØ59ðØQUðà$óð(#Øð#Ø#ð#Ø59ð#ØJNð#à$ó#ð(uØðuà
ðuð 5ðuð ð	uð
 óuó8	=ó'ó>óeð 37ð	Øðàðð ðð 0ð	ð
 óð8%EØ)ð%Eàð%Eð ð%Eð ð	%Eð
 
ó%EðP%Ø)ð%àð%ð ð%ð -ð	%ð
 7ó%ð0.Ø)ð.àð.ð &ð.ð 
ó	.ð$Ø%ðà&ðð 
óótó
ókó
LðØ)ðØ9<ðØC]ðà	óó8>ó,/ó	%ð2Ø)ð2à
ð2ð ð2ð 
ó	2óóUð /3ð	Ø)ðàðð ðð ,ð	ð
 
óð, "Ø!ñSØðSàðSð ð	Sð
 ðSð 
óSó*'óó*;óóóóó<ó9ó
ôyó&ð!Ø)ð!àBó!ó)óð X]ñØ)ðØ14ðØ=@ðØPTðàóó4ó*ô*Bó2ó2ó	'óLó ò�rk   