§
    dŠtj§—  ã                  óN  — U 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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 dd	lmZ dd
l m!Z!m"Z" ddl#m$Z$ ddl%m&Z&m'Z' erd dl(m)Z) ed         Z* e+ddh¦  «        Z,de-d<   dZ.de-d<   dZ/de-d<   dZ0de-d<   dZ1de-d<   dZ2de-d<   dZ3de-d <   d!Z4de-d"<   d#Z5de-d$<   dZ6de-d%<   d&Z7d'e-d(<   d)Z8de-d*<   d+Z9d'e-d,<   d-Z:d'e-d.<    e;ed/d ¦  «        Z<de-d0<    e$j=        ¦   «         Z>d1e-d2<    e+h d3£¦  «        Z?d4e-d5<    e@ed6¦  «        ZAd7e-d8<   ejB        ejC        v ZDd7e-d9<   ejE        ejC        v ZFd7e-d:<   ej        ejC        v ZGd7e-d;<   eAoejH        ejC        v ZId7e-d<<   d½d?„ZJ eJ¦   «         ZKd7e-d@<   d¾dB„ZL eL¦   «         ZMd4e-dC<    G dD„ dEe¦  «        ZN edF¬G¦  «         G dH„ dI¦  «        ¦   «         ZO G dJ„ dKeP¦  «        ZQd¿dS„ZRdÀdT„ZSdÁdW„ZTdÂdZ„ZUdÃd\„ZVdÄd`„ZWdÁda„ZXdÅdf„ZYdÆdh„ZZdÇdl„Z[dÈdm„Z\dÉdn„Z]dÊdq„Z^dËdw„Z_dÌd}„Z`dÍd„ZadÎd‚„ZbdÏd„„ZcdÐd†„ZddÑd‰„ZedÒdŠ„ZfdÓd‹„ZgdÔdŒ„ZhdÕdŽ„ZidÖd�„Zjd×d“„Zkddd”œdØdš„ZldÙd›„ZmdÚdœ„ZndÛd�„ZodÜd¡„ZpdÝd£„ZqdÞd§„Zrdßd¨„Zsdàdª„Ztdád«„Zudâd­„Zvdãd¯„Zwdäd³„Zxdåd´„Zydædµ„Zzdçd¶„Z{dèd¹„Z|déd»„Z}g d¼¢Z~dS )êé    )ÚannotationsN)Ú	dataclass)ÚEACCESÚEEXISTÚENOENTÚENOSYSÚEPERMÚESTALEÚEXDEV)ÚPath)ÚTYPE_CHECKINGÚFinalÚLiteralÚcasté   )ÚBaseFileLockÚ
_canonicalÚ_raise_cleanup_errors)ÚSoftFileLockProtocolError)Ú	host_nameÚprocess_start_token)ÚSTRICT_SOFT_SENTINEL_RECORD)Úensure_directory_existsÚ	write_all)ÚIterator)ÚintentÚheldr   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_LENGTHg       @zFinal[float]Ú_PRIVATE_RECORD_GRACEé
   Ú_UNLINK_MAX_RETRIESg      à?Ú_CLAIM_READ_GRACEgü©ñÒMb`?Ú_CLAIM_READ_RETRYÚO_BINARYÚ	_O_BINARYzFinal[bytes]Ú_LEGACY_SENTINEL>   r   é   é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ÚreturnÚboolc                 ó@  — t           sdS 	 t          j        ¦   «         5 } t          | d¦  «        }|                     ¦   «          t          j        |t          | d¦  «        d¬¦  «         d d d ¦  «         n# 1 swxY w Y   n# t          t          t          f$ r Y dS w xY wdS )NFzprobe-sourcez
probe-link)Úfollow_symlinksT)
r8   ÚtempfileÚTemporaryDirectoryr   ÚtouchÚosr7   ÚOSErrorÚNotImplementedErrorÚ
ValueError)Ú	directoryÚsources     úN/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/filelock/_strict.pyÚ_probe_link_follow_symlinksrK   =   sö   € õ ð ØˆuðÝÔ(Ñ*Ô*ð 	R¨iÝ˜) ^Ñ4Ô4ˆFØ�LŠL‰NŒNˆNÝŒG�F�D ¨LÑ9Ô9È5ÐQÑQÔQÐQð	Rð 	Rð 	Rñ 	Rô 	Rð 	Rð 	Rð 	Rð 	Rð 	Rð 	Røøøð 	Rð 	Rð 	Rð 	Røøõ Õ(­*Ð5ð ð ð Øˆuˆuðøøøàˆ4s5   ‹B  žA
A4Á(B  Á4A8Á8B  Á;A8Á<B  Â BÂBÚ_LINK_HONORS_FOLLOW_SYMLINKSúfrozenset[int]c            	     ó®   — t          t          dt          t          dd ¦  «        ¦  «        } t          | €t          t          hnt          t          | h¦  «        S )NÚENOTSUPÚ
EOPNOTSUPP)ÚgetattrÚerrnoÚ	frozensetr   r   )Únot_supporteds    rJ   Ú#_probe_hard_link_unsupported_errnosrU   R   sD   € õ �E 9­gµe¸\È4Ñ.PÔ.PÑQÔQ€MÝ¨Ð(=•f�e�_�_ÅFÍEÐS`ÐCaÑbÔ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'd„Zd(d„Zed)d„¦   «         Zd*d„Zd+ˆ fd„Zd,ˆ f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.Tr>   Ú_preserve_lock_file_supportedFÚ_on_acquired_supportedÚ_lifetime_supportedz<a strict claim is never broken by age, only by force_break()ÚstrÚ_lifetime_unsupported_reasonÚ_serialize_transitionsgš™™™™™©?ÚfloatÚ_poll_backoff_capr=   ÚNonec                ó`  — | j         j        x}€ t          | j        ¦  «        x}| j         _        t	          |¦  «        }t	          |› t
          › �¦  «        }|t          z  }t          t          j	        |¦  «        ¦  «         t          | j        |¦  «         t          | j        |¦  «         t          | j        ||                      ¦   «         ¦  «        x}€d S 	 t          t          j        |¦  «        ¦  «        }nQ# t          $ rD}	 t          j        |¦  «         n(# t          $ r}t#          d||¦  «         Y d }~nd }~ww xY w‚ d }~ww xY w|                      ||¦  «         	 |                      |||¦  «         d S # t          $ r( | j         j        |k    r|                      ||¦  «         ‚ w xY w)Nz)strict sentinel inspection cleanup failed)Ú_contextÚ
claim_rootr   Ú	lock_filer   r   r!   r   rD   ÚfspathÚ_ensure_protocol_directoryÚ_open_or_create_sentinelÚ
_open_modeÚ_file_identityÚfstatÚBaseExceptionÚcloser   Ú_mark_descriptor_pendingÚ_attempt_doorwayÚpending_lock_file_fdÚ_discard_doorway)	Úselfre   Ú	lock_pathÚcoordination_directoryÚclaim_directoryÚsentinel_fdÚsentinel_identityÚinspection_errorÚclose_errors	            rJ   Ú_acquirezStrictSoftFileLock._acquiren   sè  € ð œ-Ô2Ð2ˆJÐ;Ý4>¸t¼~Ñ4NÔ4NÐNˆJ˜œÔ1Ý˜Ñ$Ô$ˆ	Ý!%¨Ð&JÕ4HÐ&JÐ&JÑ!KÔ!KÐØ0Õ3HÑHˆÝ¥¤	¨)Ñ 4Ô 4Ñ5Ô5Ð5Ý" 4¤>Ð3IÑJÔJÐJÝ" 4¤>°?ÑCÔCÐCÝ3°D´NÀIÈtÏÊÑO`ÔO`ÑaÔaÐaˆKÐjØˆFð	Ý .­r¬x¸Ñ/DÔ/DÑ EÔ EÐÐøÝð 	ð 	ð 	ðrÝ”˜Ñ%Ô%Ð%Ð%øÝ ð rð rð rÝ%Ð&QÐScÐepÑqÔqÐqÐqÐqÐqÐqÐqøøøøðrøøøàøøøøð	øøøð 	×%Ò% kÐ3DÑEÔEÐEð	Ø×!Ò! /°;Ð@QÑRÔRÐRÐRÐRøÝð 	ð 	ð 	ØŒ}Ô1°[Ò@Ð@Ø×%Ò% kÐ3DÑEÔEÐEØð	øøøsH   Ã!C: Ã:
EÄDÄEÄ
D?Ä$D:Ä5EÄ:D?Ä?EÅEÅ"E; Å;2F-rv   r   rw   Úintrx   útuple[int, int]c                ó^  — t          | j        |¦  «        r|                      ||¦  «         d S t          j        t
          dz  ¦  «        }t          d|¦  «        }t          ||z  ¦  «        }	 t          |t          |¦  «        |  
                    ¦   «         ¦  «        }n’# t          $ r |                      ||¦  «         Y d S t          t          f$ r\}t          | j        |¦  «         t          |t          ¦  «        r,|j        t"          k    r|                      ||¦  «         Y d }~d S ‚ d }~ww xY w|�|‚|f| j        _        t          | j        |¦  «        }	|	r6t)          d„ |	D ¦   «         ¦  «        st+          d„ |	D ¦   «         ¦  «        |k    r|                      ||¦  «         d S t          d|¦  «        }
t          ||
z  ¦  «        }	 t-          |||
¦  «        }n/# t          t          f$ r}t          | j        |¦  «         ‚ d }~ww xY w||f| j        _        |�d| j        _        |‚t          | j        |¦  «        }	||
h                     d„ |	D ¦   «         ¦  «        r!t+          d„ |	D ¦   «         ¦  «        d	|› d
�k    r|                      ||¦  «         d S |                      ||¦  «         d S )Né   r   c              3  ó,   K  — | ]}|j         d k    V — ŒdS )r   N)Ústate©Ú.0Úclaims     rJ   ú	<genexpr>z6StrictSoftFileLock._attempt_doorway.<locals>.<genexpr>¥   s)   è è € Ð=Ð=¨U�5”; &Ò(Ð=Ð=Ð=Ð=Ð=Ð=rV   c              3  ó$   K  — | ]}|j         V — Œd S ©N©Únamer‚   s     rJ   r…   z6StrictSoftFileLock._attempt_doorway.<locals>.<genexpr>¦   s$   è è € Ð2Ð2 %�5”:Ð2Ð2Ð2Ð2Ð2Ð2rV   r   © c              3  ó$   K  — | ]}|j         V — Œd S r‡   rˆ   r‚   s     rJ   r…   z6StrictSoftFileLock._attempt_doorway.<locals>.<genexpr>¹   s$   è è € Ð1QÐ1QÀ°%´*Ð1QÐ1QÐ1QÐ1QÐ1QÐ1QrV   c              3  ó>   K  — | ]}t          |j        ¦  «        V — Œd S r‡   )Ú_claim_token_keyr‰   r‚   s     rJ   r…   z6StrictSoftFileLock._attempt_doorway.<locals>.<genexpr>º   s-   è è € ÐDÐD°EÕ# E¤JÑ/Ô/ÐDÐDÐDÐDÐDÐDrV   zv1-ú.claim)Ú_read_existing_claimsrf   rr   ÚsecretsÚ	token_hexr'   Ú_claim_namer]   Ú_publish_recordÚ_claim_recordrj   Ú_PrivateRecordReclaimedErrorrF   rE   Ú _raise_if_hard_links_unsupportedÚ
isinstancerR   r   rd   Úowner_claim_pathsÚanyÚminÚ_link_no_replaceÚissubsetÚ_mark_descriptor_owned)rs   rv   rw   rx   ÚtokenÚintent_nameÚintent_pathÚpublication_cleanup_errorÚerrorr    Ú	held_nameÚ	held_pathÚlink_cleanup_errors                rJ   rp   z#StrictSoftFileLock._attempt_doorway‹   s  € Ý  ¤°ÑAÔAð 	Ø×!Ò! +Ð/@ÑAÔAÐAØˆFåÔ!Õ"3°qÑ"8Ñ9Ô9ˆÝ! (¨EÑ2Ô2ˆÝ˜/¨KÑ7Ñ8Ô8ˆð
	Ý(7¸Å]ÐSXÑEYÔEYÐ[_×[jÒ[jÑ[lÔ[lÑ(mÔ(mÐ%Ð%øÝ+ð 	ð 	ð 	Ø×!Ò! +Ð/@ÑAÔAÐAØˆFˆFÝ#¥WÐ-ð 	ð 	ð 	Ý,¨T¬^¸UÑCÔCÐCÝ˜%¥Ñ)Ô)ð ¨e¬k½VÒ.CÐ.CØ×%Ò% kÐ3DÑEÔEÐEØ�����Øøøøøð	øøøð %Ð0Ø+Ð+Ø+6¨.ˆŒÔ'å& t¤~°ÑGÔGˆàð	åÐ=Ð=°fÐ=Ñ=Ô=Ñ=Ô=ð	õ Ð2Ð2¨6Ð2Ñ2Ô2Ñ2Ô2°kÒAÐAà×!Ò! +Ð/@ÑAÔAÐAØˆFå ¨Ñ.Ô.ˆ	Ý˜¨)Ñ3Ñ4Ô4ˆ	ð	Ý!1°/À;ÐPYÑ!ZÔ!ZÐÐøÝ#¥WÐ-ð 	ð 	ð 	Ý,¨T¬^¸UÑCÔCÐCØøøøøð	øøøð ,5°kÐ*BˆŒÔ'ØÐ)Ø.0ˆDŒMÔ+Ø$Ð$å& t¤~°ÑGÔGˆà˜iÐ(×1Ò1Ð1QÐ1QÈ&Ð1QÑ1QÔ1QÑQÔQð	åÐDÐD¸VÐDÑDÔDÑDÔDÐH[ÈeÐH[ÐH[ÐH[Ò[Ð[à×!Ò! +Ð/@ÑAÔAÐAØˆFð 	×#Ò# KÐ1BÑCÔCÐCÐCÐCs=   Á-0B Â D-ÃD-ÃAD(Ä'D(Ä(D-Ç	G ÇHÇ,HÈHútuple[StrictSoftFileClaim, ...]c                ó6   — t          | j        | j        ¦  «        S )z(Published claims that block acquisition.)r�   rf   Ú_claim_directory©rs   s    rJ   r    zStrictSoftFileLock.claimsÆ   s   € õ % T¤^°TÔ5JÑKÔKÐKrV   Ú
claim_namec                ó‚   — t          |¦  «         t          | j        |¦  «         t          | j        |¦  «        x}	 �|‚dS )zYRemove one named claim, allowing overlap if its owner still holds the protected resource.N)Ú_validate_force_break_nameÚ_require_exact_namer¨   Ú_unlink_in_directory)rs   rª   Úcleanup_errors      rJ   Úforce_breakzStrictSoftFileLock.force_breakË   sR   € å" :Ñ.Ô.Ð.Ý˜DÔ1°:Ñ>Ô>Ð>å1°$Ô2GÈÑTÔTÐTˆMØðð  Ððð rV   Úacquisition_errorrm   c                ó\   •— | j         rd S t          ¦   «                              |¦  «         d S r‡   )Ú	is_lockedÚsuperÚ_rollback_failed_acquire)rs   r±   Ú	__class__s     €rJ   rµ   z+StrictSoftFileLock._rollback_failed_acquireÔ   s3   ø€ ð
 Œ>ð 	ØˆFÝ‰Œ×(Ò(Ð):Ñ;Ô;Ð;Ð;Ð;rV   Ú	canonicalc                óp   •— | j         sd | j        _        t          ¦   «                              |¦  «         d S r‡   )r³   rd   re   r´   Ú_reconcile_failed_acquire)rs   r·   r¶   s     €rJ   r¹   z,StrictSoftFileLock._reconcile_failed_acquireÝ   s5   ø€ àŒ~ð 	,Ø'+ˆDŒMÔ$Ý‰Œ×)Ò)¨)Ñ4Ô4Ð4Ð4Ð4rV   c                óº  — t          d| j        j        ¦  «        }d | j        _        t	          | j        j        ¦  «        \  }}t          |¦  «        | j        _        |rt          d|¦  «         |                      ¦   «          	 |  	                    |d¬¦  «         n,# t          $ r}|                     |¦  «         Y d }~nd }~ww xY w|rt          d|¦  «         d S d S )Nr|   zstrict claim release failedF©Údefault_suppresseszstrict release cleanup failed)r   rd   Úlock_file_fdre   Ú_unlink_owner_pathsr˜   ÚtupleÚ_raise_recorded_errorsÚ_mark_descriptor_releasedÚ_close_released_fdrm   Úappend)rs   ÚfdÚ	remainingÚerrorsrz   s        rJ   Ú_releasezStrictSoftFileLock._releaseã   s  € Ý�%˜œÔ3Ñ4Ô4ˆØ#'ˆŒÔ Ý/°´Ô0OÑPÔPÑˆ	�6Ý*/°	Ñ*:Ô*:ˆŒÔ'Øð 	JÝ"Ð#@À&ÑIÔIÐIØ×&Ò&Ñ(Ô(Ð(ð	'Ø×#Ò# B¸5Ð#ÑAÔAÐAÐAøÝð 	'ð 	'ð 	'Ø�MŠM˜+Ñ&Ô&Ð&Ð&Ð&Ð&Ð&Ð&øøøøð	'øøøàð 	LÝ"Ð#BÀFÑKÔKÐKÐKÐKð	Lð 	Ls   ÂB Â
CÂ%B?Â?CrÄ   Úidentityc                óš  — t          | j        j        ¦  «        \  }}t          |¦  «        | j        _        |r&|                      ||¦  «         t          d|¦  «         |                      ¦   «          	 |                      |d¬¦  «         n,# t          $ r}| 	                    |¦  «         Y d }~nd }~ww xY w|rt          d|¦  «         d S d S )Nz#strict doorway claim cleanup failedFr»   zstrict doorway cleanup failed)
r¾   rd   r˜   r¿   r�   rÀ   rÁ   rÂ   rm   rÃ   )rs   rÄ   rÈ   rÅ   rÆ   rz   s         rJ   rr   z#StrictSoftFileLock._discard_doorwayò   sú   € Ý/°´Ô0OÑPÔPÑˆ	�6Ý*/°	Ñ*:Ô*:ˆŒÔ'Øð 	RØ×'Ò'¨¨HÑ5Ô5Ð5Ý"Ð#HÈ&ÑQÔQÐQØ×&Ò&Ñ(Ô(Ð(ð	'Ø×#Ò# B¸5Ð#ÑAÔAÐAÐAøÝð 	'ð 	'ð 	'Ø�MŠM˜+Ñ&Ô&Ð&Ð&Ð&Ð&Ð&Ð&øøøøð	'øøøàð 	LÝ"Ð#BÀFÑKÔKÐKÐKÐKð	Lð 	Ls   Á3B Â
B4ÂB/Â/B4c                óÆ   — | j         j        r$t          | j         j        d         ¦  «        j        S t          t	          | j        ¦  «        › t          › �¦  «        t          z  S )Nr   )rd   r˜   r   Úparentr   rf   r   r!   r©   s    rJ   r¨   z#StrictSoftFileLock._claim_directory   sU   € àŒ=Ô*ð 	CÝ˜œÔ7¸Ô:Ñ;Ô;ÔBÐBÝ•z $¤.Ñ1Ô1ÐIÕ3GÐIÐIÑJÔJÕMbÑbÐbrV   )r=   rb   )rv   r   rw   r|   rx   r}   r=   rb   )r=   r¦   )rª   r]   r=   rb   )r±   rm   r=   rb   )r·   r]   r=   rb   )rÄ   r|   rÈ   r}   r=   rb   )r=   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__rZ   Ú__annotations__r[   r\   r^   r_   ra   r{   rp   Úpropertyr    r°   rµ   r¹   rÇ   rr   r¨   Ú__classcell__)r¶   s   @rJ   rY   rY   _   s�  ø€ € € € € € ØDÐDà*.Ð!Ð.Ð.Ð.Ñ.Ø#(ÐÐ(Ð(Ð(Ñ(ð !&ÐÐ%Ð%Ð%Ñ%Ø(fÐ ÐfÐfÐfÑfà#'ÐÐ'Ð'Ð'Ñ'ð  $ÐÐ#Ð#Ð#Ñ#ðð ð ð ð:9Dð 9Dð 9Dð 9Dðv ðLð Lð Lñ „XðLð ð  ð  ð  ð<ð <ð <ð <ð <ð <ð5ð 5ð 5ð 5ð 5ð 5ðLð Lð Lð LðLð Lð Lð Lð ðcð cð cñ „Xðcð cð cð cð crV   rY   T)Úfrozenc                  óT   — 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<   d
S )ÚStrictSoftFileClaimz"One parsed strict soft-lock claim.r]   r‰   ÚStrictSoftFileClaimStater�   rž   r|   ÚpidÚhostnameNú
int | NoneÚstart)rÌ   rÍ   rÎ   rÏ   rÐ   rÚ   rŠ   rV   rJ   rÕ   rÕ     s[   € € € € € € à,Ð,à€I€I�IØ#Ð#Ð#Ñ#Ø€J€J�JØ€H€H�HØ€M€M�Mð €EÐÐÐÑÐÐrV   rÕ   c                  ó   — e Zd ZdS )r•   N)rÌ   rÍ   rÎ   rŠ   rV   rJ   r•   r•     s   € € € € € Ø€DrV   r•   rf   r]   Úpathr   Úmoder|   rÙ   c                óú  — 	 t          |¦  «        S # t          $ r Y nt          $ r Y d S w xY wt          |t	          j        ¦   «         ¦  «         	 t          t          j        |¦  «        t          |¦  «        }|�|‚n`# t          $ r Y d S t          t          f$ r@}t          | |¦  «         t          |t          ¦  «        r|j        t          k    r‚ Y d }~nd }~ww xY w	 t          |¦  «        S # t          $ r Y d S w xY wr‡   )Ú_open_sentinelÚFileNotFoundErrorrE   Ú!_reclaim_sentinel_private_recordsÚtimer“   rD   rg   r3   r•   rF   r–   r—   rR   r   )rf   rÜ   rÝ   r¡   r¢   s        rJ   ri   ri     sQ  € ðÝ˜dÑ#Ô#Ð#øÝð ð ð ØˆÝð ð ð Øˆtˆtðøøøõ & d­D¬I©K¬KÑ8Ô8Ð8ð
,Ý$3µB´I¸d±O´OÕEUÐW[Ñ$\Ô$\Ð!ð %Ð0Ø+Ð+ð 1øõ (ð ð ð ØˆtˆtÝ¥Ð)ð ð ð Ý(¨°EÑ:Ô:Ð:Ý˜%¥Ñ)Ô)ð 	¨U¬[½FÒ-BÐ-BØð .CÐ-BÐ-BÐ-BÐ-BøøøøðøøøðÝ˜dÑ#Ô#Ð#øÝð ð ð Øˆtˆtðøøøs@   ‚ ‘
*�	*©*Á(A< Á<
CÂ	CÂ6CÃCÃC, Ã,
C:Ã9C:c                ó’   — t          | t          t          ¦  «        ¦  «        \  }}|t          k    r|S t          j        |¦  «         d S r‡   )Ú_open_recordÚlenr3   rD   rn   )rÜ   rÄ   Úrecords      rJ   rß   rß   3  sA   € Ý˜d¥CÕ(8Ñ$9Ô$9Ñ:Ô:�J€BˆØÕ!Ò!Ð!Øˆ	Ý„HˆR�L„L€LØˆ4rV   rH   r¦   c           	     óâ  — 	 t          j        |¦  «        5 }t          ||¦  «        }d d d ¦  «         n# 1 swxY w Y   nB# t          $ r5}d|j        pt          |¦  «        j        › �}t          | d |¦  «        |‚d }~ww xY wg }|D ]\}t          |¦  «        x}€t          | |d¦  «        ‚t          | ||¦  «        x}	�%| 
                    t          | |||	¦  «        ¦  «         Œ]t          |¦  «        S )Nzcannot list claim directory: z&unknown claim name or protocol version)rD   ÚscandirÚ_public_claim_namesrE   ÚstrerrorÚtyperÌ   r   Ú_parse_claim_nameÚ_read_claim_recordrÃ   Ú_parse_claimr¿   )
rf   rH   ÚentriesÚnamesr¢   Úreasonr    r‰   Ú
name_partsræ   s
             rJ   Ú_read_claimsró   ;  sP  € ðLÝŒZ˜	Ñ"Ô"ð 	< gÝ'¨	°7Ñ;Ô;ˆEð	<ð 	<ð 	<ñ 	<ô 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<øøøð 	<ð 	<ð 	<ð 	<øøåð Lð Lð LØY°´Ð1WÅ4ÈÁ;Ä;ÔCWÐYÐYˆÝ'¨	°4¸Ñ@Ô@ÀeÐKøøøøðLøøøð )+€FØð Mð MˆÝ+¨DÑ1Ô1Ð1ˆJÐ:Ý+¨I°tÐ=eÑfÔfÐfÝ(¨°I¸tÑDÔDÐDˆFÐQØ�MŠM�, y°$¸
ÀFÑKÔKÑLÔLÐLøÝ�‰=Œ=Ðs-   ‚? –3§? ³7·? º7»? ¿
A>Á	0A9Á9A>r‰   úbytes | Nonec                óz  — t          j        ¦   «         t          z   }d}	 |rt          j        t          ¦  «         t          | ||¦  «        \  }}|€|S t          j        ¦   «         |k    rQ|j        t          k    rd S d|j        p"t          |¦  «        pt          |¦  «        j        › �}t          | ||¦  «        |‚d}Œž)NFTúcannot read claim: )râ   Ú	monotonicr/   Úsleepr0   Ú_attempt_claim_readrR   r
   rê   r]   rë   rÌ   r   )rf   rH   r‰   ÚdeadlineÚdelayingræ   Úpendingrñ   s           rJ   rí   rí   L  sÈ   € õ Œ~ÑÔÕ"3Ñ3€HØ€HðØð 	*ÝŒJÕ(Ñ)Ô)Ð)Ý-¨i¸ÀDÑIÔI‰ˆ�Øˆ?ØˆMÝŒ>ÑÔ˜xÒ'Ð'ØŒ}¥Ò&Ð&ð �tØg¨7Ô+;Ð+e½sÀ7¹|¼|Ð+eÍtÐT[É}Ì}ÔOeÐgÐgˆFÝ+¨I°t¸VÑDÔDÈ'ÐQØˆðrV   ú#tuple[bytes | None, OSError | None]c                óP  — 	 t          ||z  t          ¦  «        d fS # t          $ r Y dS t          $ r}d |fcY d }~S d }~wt          $ r]}|j        t          k    r	d |fcY d }~S d|j        p"t          |¦  «        pt          |¦  «        j
        › �}t          | ||¦  «        |‚d }~ww xY w)N)NNrö   )Ú_read_recordr#   rà   ÚPermissionErrorrE   rR   r
   rê   r]   rë   rÌ   r   )rf   rH   r‰   r¢   rñ   s        rJ   rù   rù   f  sð   € ð
LÝ˜I¨Ñ,Õ.AÑBÔBÀDÐHÐHøÝð ð ð ØˆzˆzÝð ð ð Ø�Uˆ{ÐÐÐÐÐÐøøøøÝð Lð Lð LØŒ;�&Ò Ð Ø˜�;ÐÐÐÐÐÐØ] u¤~Ð'[½¸U¹¼Ð'[ÅtÈEÁ{Ä{ÔG[Ð]Ð]ˆÝ'¨	°4¸Ñ@Ô@ÀeÐKøøøøð	Løøøs4   ‚ œ
B%©	B%²;µB%»B%ÁB ÁB%Á!?B Â B%rï   úIterator[os.DirEntry[str]]ú	list[str]c                ó^  — g }t          j         ¦   «         }|D ]‡}|j                             d¦  «        s|                     |j        ¦  «         Œ7t	          |j        ¦  «        x}�:t          |¦  «        	 �*t          t          j        | ¦  «        d f|j        |¦  «         Œˆt          |¦  «        S )Nú.)
râ   r‰   Ú
startswithrÃ   Ú_private_public_namerì   Ú_reclaim_private_recordrD   rg   Úsorted)rH   rï   rð   ÚnowÚentryÚpublic_names         rJ   ré   ré   w  sµ   € Ø€EÝ
Œ)‰+Œ+€CØð Sð SˆØŒz×$Ò$ SÑ)Ô)ð 	SØ�LŠL˜œÑ$Ô$Ð$Ð$Ý1°%´*Ñ=Ô=Ð=ˆkÐJÕO`ØñP
ô P
àðPõ $¥R¤Y¨yÑ%9Ô%9¸4Ð$@À%Ä*ÈcÑRÔRÐRøÝ�%‰=Œ=ÐrV   c                óN   — |                      ¦   «         sdS t          | |¦  «        S )NrŠ   )Úexistsró   )rf   rH   s     rJ   r�   r�   „  s+   € Ø×ÒÑÔð ØˆrÝ˜	 9Ñ-Ô-Ð-rV   rò   ú$tuple[StrictSoftFileClaimState, str]ræ   Úbytesc                ó$  — 	 |                      d¦  «                             d¦  «        \  }}}}}}	t          |¦  «        }
|rt          |¦  «        nd }t                               |¦  «                              d¦  «        }n+# t
          t          f$ r}t          | |d¦  «        |‚d }~ww xY wt          |	 |t          k    ||d         k    d|
cxk    odk    nc t          |
¦  «        |k    |d u p|dk    ot          |¦  «        |k    |                     ¦   «                              ¦   «         |k    o-|                     ¦   «         ot          d„ |D ¦   «         ¦  «         f¦  «        st          | |d¦  «        ‚t          ||d         ||
||¬	¦  «        S )
NÚasciiú
zutf-8zmalformed claim recordr   iÿÿÿr   c              3  ó>   K  — | ]}|                      ¦   «         V — Œd S r‡   )Úisspace©rƒ   Ú	characters     rJ   r…   z_parse_claim.<locals>.<genexpr>   s.   è è € ÐBÐB¨I�I×%Ò%Ñ'Ô'ÐBÐBÐBÐBÐBÐBrV   )r‰   r�   rž   r×   rØ   rÚ   )ÚdecodeÚsplitr|   r  ÚfromhexÚUnicodeDecodeErrorrG   r   Úallr"   r]   ÚencodeÚhexÚisprintabler™   rÕ   )rf   r‰   rò   ræ   Úmagicrž   Úpid_textÚhostname_hexÚ
start_textÚtrailingr×   rÚ   rØ   r¢   s                 rJ   rî   rî   Š  s¿  € ð^ØEKÇ]Â]ÐSZÑE[ÔE[×EaÒEaÐbfÑEgÔEgÑBˆˆu�h ¨j¸(Ý�(‰mŒmˆØ#-Ð7•�J‘”�°4ˆÝ—=’= Ñ.Ô.×5Ò5°gÑ>Ô>ˆˆøÝ¥
Ð+ð ^ð ^ð ^Ý'¨	°4Ð9QÑRÔRÐX]Ð]øøøøð^øøøåØˆØ•ÒØ�˜A”ÒØ	ˆSÐÐÒÐ�IÒÐÐÐÝˆC‰Œ�HÒØ�ˆÐB˜% 1š*ÐA­¨U©¬°zÒ)AØ�ŠÑÔ×ÒÑÔ <Ò/ð 	CØ× Ò Ñ"Ô"ð	CåÐBÐB¸ÐBÑBÔBÑBÔBÐBð
ñ 
ô 
ð Sõ (¨	°4Ð9QÑRÔRÐRÝ D°
¸1´ÀUÐPSÐ^fÐnsÐtÑtÔtÐts   ‚A>B ÂB)ÂB$Â$B)ú+tuple[StrictSoftFileClaimState, str] | Nonec                ó�  — |                       d¦  «        sd S |                      d¦  «                             d¦  «        }t          |¦  «        t          k    s|d         t
          vs|d         dk    rd S |d         }t          |¦  «        t          k    st          d„ |D ¦   «         ¦  «        rd S t          d|d         ¦  «        |fS )	NrŽ   ú-r   r   Úv1r   c              3  ó   K  — | ]}|d vV — Œ	dS ©Ú0123456789abcdefNrŠ   r  s     rJ   r…   z$_parse_claim_name.<locals>.<genexpr>­  s)   è è € Ð-iÐ-iÐV_¨iÐ?QÐ.QÐ-iÐ-iÐ-iÐ-iÐ-iÐ-irV   rÖ   )	ÚendswithÚremovesuffixr  rå   r%   r   r'   r™   r   )r‰   Úpartsrž   s      rJ   rì   rì   ¦  sÊ   € Ø�=Š=˜Ñ"Ô"ð ØˆtØ×Ò˜hÑ'Ô'×-Ò-¨cÑ2Ô2€EÝ
ˆ5�z„zÕ+Ò+Ð+¨u°Q¬x½}Ð/LÐ/LÐPUÐVWÔPXÐ\`ÒP`ÐP`ØˆtØ�!ŒH€EÝ
ˆ5�z„zÕ&Ò&Ð&­#Ð-iÐ-iÐchÐ-iÑ-iÔ-iÑ*iÔ*iÐ&ØˆtÝÐ*¨E°!¬HÑ5Ô5°uÐ<Ð<rV   r�   rÖ   rž   c                ó   — | › d|› d�S )Nz-v1-rŽ   rŠ   )r�   rž   s     rJ   r’   r’   ²  s   € ØÐ&Ð&˜Ð&Ð&Ð&Ð&rV   c                óR   — |                       d¦  «                              d¦  «        S )Nzheld-zintent-)Úremoveprefixrˆ   s    rJ   r�   r�   ¶  s$   € Ø×Ò˜WÑ%Ô%×2Ò2°9Ñ=Ô=Ð=rV   c           
     ó@  — t          ¦   «                              ¦   «                              ¦   «         }t          t	          j        ¦   «         ¦  «        }|€dnt          |¦  «        }t          › d| › dt	          j        ¦   «         › d|› d|› d�
                     d¦  «        S )NÚ r  r  )r   r  r  r   rD   Úgetpidr]   r"   )rž   r!  rÚ   r"  s       rJ   r”   r”   º  s�   € Ý‘;”;×%Ò%Ñ'Ô'×+Ò+Ñ-Ô-€LÝ¥¤	¡¤Ñ,Ô,€EØ�}��­#¨e©*¬*€JÝÐTÐT˜eÐTÐT¥r¤y¡{¤{ÐTÐT°lÐTÐTÀjÐTÐTÐT×[Ò[Ð\cÑdÔdÐdrV   Úpublic_pathúBaseException | Nonec                óð  — t           j                             | ¦  «        \  }}|pt           j        }t	          |¦  «        }t
          rt          |¦  «        nd }||f}	 t          |||f||¦  «         nS# t          $ rF}	 |�t          j	        |¦  «         n(# t          $ r}	t          d||	¦  «         Y d }	~	nd }	~	ww xY w‚ d }~ww xY w|�/	 t          j	        |¦  «         n# t          $ r}	|	cY d }	~	S d }	~	ww xY wd S )Nz+strict publication directory cleanup failed)rD   rÜ   r  ÚcurdirÚ_private_record_namer9   Ú_open_directoryÚ_publish_record_in_directoryrm   rn   r   )
r4  ræ   rÝ   rH   r  Úprivate_nameÚdirectory_fdÚdirectory_refÚpublication_errorrz   s
             rJ   r“   r“   Á  sX  € õ
  œWŸ]š]¨;Ñ7Ô7Ñ€Iˆ{ØÐ&�RœY€IÝ'¨Ñ4Ô4€LÝ1FÐP•? 9Ñ-Ô-Ð-ÈD€LØ˜|Ð+€MðÝ$ ]°\À;Ð4OÐQUÐW]Ñ^Ô^Ð^Ð^øÝð ð ð ð	qØÐ'Ý”˜Ñ&Ô&Ð&øøÝð 	qð 	qð 	qÝ!Ð"OÐQbÐdoÑpÔpÐpÐpÐpÐpÐpÐpøøøøð	qøøøàøøøøðøøøð Ðð	ÝŒH�\Ñ"Ô"Ð"Ð"øÝð 	ð 	ð 	ØÐÐÐÐÐÐøøøøð	øøøàˆ4sZ   ÁA2 Á2
CÁ=BÂB=Â
B9ÂB4Â/B=Â4B9Â9B=Â=CÃC Ã
C3Ã'C.Ã(C3Ã.C3r=  útuple[str, int | None]rð   útuple[str, str]rb   c                óB  — t           j        t           j        z  t           j        z  t          z  }t          t           dd ¦  «        x}�||z  }t          | |d         ||¦  «        }d }	 t          t          j        |¦  «        ¦  «        }t          ||¦  «         t          | ||¦  «         nD# t          $ r7}t          | |d         ||¦  «        \  }	}
|	€|
�t          d||	|
¦  «         ‚ d }~ww xY wt          | |d         ||¦  «        \  }	}
|	€|
�t          |	|
¦  «         d S d S )NÚ
O_NOFOLLOWr   z(strict record publication cleanup failed)rD   ÚO_RDWRÚO_CREATÚO_EXCLr2   rQ   Ú_open_relativerk   rl   r   Ú_link_private_recordrm   Ú _close_and_unlink_private_recordr   Ú!_raise_record_finalization_errors)r=  rð   rÝ   ræ   ÚflagsÚ
o_nofollowÚ
private_fdÚprivate_identityr>  rz   Úunlink_errors              rJ   r:  r:  Ü  sd  € õ ŒI�œ
Ñ"¥R¤YÑ.µÑ:€EÝ�b ,°Ñ5Ô5Ð5ˆ
ÐBØ�ÑˆÝ ¨u°Q¬x¸ÀÑEÔE€JØ/3ÐðÝ)­"¬(°:Ñ*>Ô*>Ñ?Ô?ÐÝ�*˜fÑ%Ô%Ð%Ý˜]¨EÐ3CÑDÔDÐDÐDøÝð ð ð Ý$DØØ�!ŒHØØñ	%
ô %
Ñ!ˆ�\ð Ð" lÐ&>Ý!Ø:Ø!ØØñ	ô ð ð 	øøøøðøøøõ !AØØˆaŒØØñ	!ô !Ñ€K�ð Ð ,Ð":Ý)¨+°|ÑDÔDÐDÐDÐDð #;Ð":s   Á'AB* Â*
C+Â42C&Ã&C+r;  rL  rM  útuple[int, int] | Noneú1tuple[BaseException | None, BaseException | None]c                ó  — d }	 t          j        |¦  «         n# t          $ r}|}Y d }~nd }~ww xY wd }	 |€t          | |¦  «         nt	          | ||¦  «         n$# t
          $ r Y nt          $ r}|}Y d }~nd }~ww xY w||fS r‡   )rD   rn   rm   Ú_unlink_relativeÚ_unlink_relative_if_identityrà   )r=  r;  rL  rM  rz   r¢   rN  s          rJ   rH  rH    sÖ   € ð )-€KðÝ
Œ�ÑÔÐÐøÝð ð ð Øˆˆˆˆˆˆøøøøðøøøà)-€LðØÐ#Ý˜]¨LÑ9Ô9Ð9Ð9å(¨¸ÐFVÑWÔWÐWøøÝð ð ð ØˆÝð ð ð Øˆˆˆˆˆˆøøøøðøøøà˜Ð$Ð$s-   „ ™
/£*ª/µ$A Á
A;Á&	A;Á/A6Á6A;r}   c                óð   — 	 t          | g|¢R Ž  n;# t          $ r.}t          | |d         ¦  «        �‚ d}t          |¦  «        |‚d }~ww xY wt          | |d         ¦  «        |k    rd S d}t          |¦  «        ‚)Nr   z(private publication record was reclaimedr   z'private publication record was replaced)Ú_link_relativerà   Ú_relative_identityr•   )r=  rð   rM  r¢   ÚmsgÚmsg_0s         rJ   rG  rG    sŸ   € ð
;Ý�}Ð- uÐ-Ð-Ð-Ð-Ð-øÝð ;ð ;ð ;Ý˜m¨U°1¬XÑ6Ô6ÐBØØ8ˆÝ*¨3Ñ/Ô/°UÐ:øøøøð	;øøøõ
 ˜-¨¨q¬Ñ2Ô2Ð6FÒFÐFØˆØ5€EÝ
& uÑ
-Ô
-Ð-s   ‚ �
Aš)AÁArz   rN  c                óŒ   — d„ | |fD ¦   «         }t          |¦  «        dk    rt          d|d         g|dd …         ¢R Ž  |d         ‚)Nc                ó   — g | ]}|®|‘ŒS r‡   rŠ   )rƒ   r¢   s     rJ   ú
<listcomp>z5_raise_record_finalization_errors.<locals>.<listcomp>2  s   € ÐRÐRÐR˜ÀÐ@QˆeÐ@QÐ@QÐ@QrV   r   z!strict record finalization failedr   ©rå   r   )rz   rN  rÆ   s      rJ   rI  rI  .  s]   € ð SÐR +¨|Ð!<ÐRÑRÔR€FÝ
ˆ6�{„{�Q‚€ÝÐAÀ6È!Ä9ÐZÈvÐVWÐVXÐVXÌzÐZÐZÐZÐZØ
�Œ)€OrV   r  c                óT   — d| › t           › t          j        t          dz  ¦  «        › d�S )Nr  r   r)   )r(   r�   r‘   r+   )r  s    rJ   r8  r8  8  s0   € Øsˆ{ÐsÕ2ÐsµGÔ4EÕFgÐklÑFlÑ4mÔ4mÐsÐsÐsÐsrV   ú
str | Nonec                óV  — |                       d¦  «        r|                      t          ¦  «        sd S | dt          t          ¦  «         …                              t
          ¦  «        \  }}}|t
          k    s1t          |¦  «        t          k    st          d„ |D ¦   «         ¦  «        rd S |S )Nr  r   c              3  ó   K  — | ]}|d vV — Œ	dS r)  rŠ   r  s     rJ   r…   z'_private_public_name.<locals>.<genexpr>C  s(   è è € ÐOÐO°yˆyÐ 2Ð2ÐOÐOÐOÐOÐOÐOrV   )r  r+  r*   rå   Ú
rpartitionr(   r+   r™   )r;  r  ÚmarkerÚ
random_hexs       rJ   r  r  <  s¯   € Ø×"Ò" 3Ñ'Ô'ð ¨|×/DÒ/DÕE[Ñ/\Ô/\ð ØˆtØ&2°1½Õ<RÑ8SÔ8SÐ7SÐ3SÔ&T×&_Ò&_Õ`vÑ&wÔ&wÑ#€K�˜àÕ(Ò(Ð(Ýˆz‰?Œ?Õ?Ò?Ð?ÝÐOÐOÀJÐOÑOÔOÑOÔOð @ð ˆtØÐrV   r	  r`   c                ó  — t          j        | j        ¦  «        d f}t          j        | j        ¦  «        5 }|D ]5}t	          |j        ¦  «        | j        k    rt          ||j        |¦  «         Œ6	 d d d ¦  «         d S # 1 swxY w Y   d S r‡   )rD   rg   rË   rè   r  r‰   r  )rÜ   r	  r=  rï   r
  s        rJ   rá   rá   I  sá   € Ý”I˜dœkÑ*Ô*¨DÐ0€MÝ	Œ�D”KÑ	 Ô	 ð H GØð 	Hð 	HˆEÝ# E¤JÑ/Ô/°4´9Ò<Ð<Ý'¨°u´zÀ3ÑGÔGÐGøð	HðHð Hð Hñ Hô Hð Hð Hð Hð Hð Hð Hð Høøøð Hð Hð Hð Hð Hð Hs   µ9A<Á<B ÂB c                ó  — | \  }}	 |�t           rt          j        ||d¬¦  «        n!t          ||¦  «                             ¦   «         }n# t
          $ r Y d S w xY wt          j        |j        ¦  «        s"t          ||¦  «        › d�}t          |¦  «        ‚|j	        dk    r||j
        z
  t          k     rd S 	 t          | |¦  «         d S # t
          $ r Y d S t          $ r!}|j        t          t          hvr‚ Y d }~d S d }~ww xY w)NF©Údir_fdr@   z  is not a regular private recordr   )r;   rD   Ústatr   Úlstatrà   ÚS_ISREGÚst_moderE   Úst_nlinkÚst_mtimer,   Ú_unlink_private_record_oncerR   r   r	   )r=  r;  r	  rH   r<  Úprivate_statrW  r¢   s           rJ   r  r  Q  sV  € Ø+Ñ€Iˆ|ðð Ð'Õ,AÐ'õ ŒG�L¨ÀuÐMÑMÔMÐMå�i Ñ.Ô.×4Ò4Ñ6Ô6ð 	ˆøõ
 ð ð ð ØˆˆðøøøåŒ<˜Ô,Ñ-Ô-ð Ý�i Ñ.Ô.ÐPÐPÐPˆÝ�c‰lŒlÐØÔ Ò!Ð! c¨LÔ,AÑ&AÕDYÒ&YÐ&YØˆðÝ# M°<Ñ@Ô@Ð@Ð@Ð@øÝð ð ð ØˆˆÝð ð ð ØŒ;�v¥u˜oÐ-Ð-Øð .Ð-Ð-Ð-Ð-Ð-øøøøðøøøs0   ‡AA
 Á

AÁAÂ7C	 Ã	
D Ã	D ÃC;Ã;D c                ó–   — | \  }}|�t           rt          j        ||¬¦  «         d S t          ||¦  «                             ¦   «          d S ©N©rg  )r:   rD   Úunlinkr   )r=  r;  rH   r<  s       rJ   rn  rn  i  sU   € Ø+Ñ€Iˆ|àÐ Õ%<Ð å
Œ	�, |Ð4Ñ4Ô4Ð4Ð4Ð4åˆY˜Ñ%Ô%×,Ò,Ñ.Ô.Ð.Ð.Ð.rV   c                óÖ   — | \  }}	 |�t           rt          j        ||d¬¦  «        }n"t          ||¦  «                             ¦   «         }n# t
          $ r Y d S w xY wt          |¦  «        S )NFrf  )r;   rD   rh  r   ri  rà   rk   )r=  r‰   rH   r<  Ú	path_stats        rJ   rV  rV  s  s�   € Ø+Ñ€Iˆ|ðØÐ#Õ(=Ð#Ýœ ¨\È5ÐQÑQÔQˆIˆIå˜Y¨Ñ-Ô-×3Ò3Ñ5Ô5ˆIøøÝð ð ð Øˆtˆtðøøøå˜)Ñ$Ô$Ð$s   ‡AA Á
AÁArÈ   c                ó¶   — t          | |¦  «        |k    rDt          j        t          ¦  «        5  t	          | |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S d S r‡   )rV  Ú
contextlibÚsuppressrà   rR  )r=  r‰   rÈ   s      rJ   rS  rS    s§   € õ
 ˜-¨Ñ.Ô.°(Ò:Ð:ÝÔ Õ!2Ñ3Ô3ð 	2ð 	2Ý˜]¨DÑ1Ô1Ð1ð	2ð 	2ð 	2ñ 	2ô 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2øøøð 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð ;Ð:s   ®AÁAÁArJ  c                óˆ   — | \  }}|�t          j        ||||¬¦  «        n#t          j        t          ||¦  «        ||¦  «        S rq  )rD   Úopenr   )r=  r‰   rJ  rÝ   rH   r<  s         rJ   rF  rF  ‰  sO   € Ø+Ñ€Iˆ|ð Ð#õ 	Œ��e˜T¨,Ð7Ñ7Ô7Ð7åŒW•T˜) TÑ*Ô*¨E°4Ñ8Ô8ðrV   Úsource_nameÚdestination_namec                ó¤   — | \  }}|�t           rt          ||||¬¦  «         d S t          t          ||¦  «        t          ||¦  «        ¦  «         d S )N©Ú
src_dir_fdÚ
dst_dir_fd)r<   Ú_link_no_followr   )r=  r{  r|  rH   r<  s        rJ   rU  rU  ’  sa   € Ø+Ñ€Iˆ|ØÐÕ$9ÐÝ˜Ð%5À,Ð[gÐhÑhÔhÐhØˆÝ•D˜ KÑ0Ô0µ$°yÐBRÑ2SÔ2SÑTÔTÐTÐTÐTrV   r~  rI   ú
str | PathÚdestinationr  r€  c               óª   — t           sd}t          |¦  «        ‚t          rt          j        | |||d¬¦  «         d S t          j        | |||¬¦  «         d S )Nz'os.link is unavailable on this platformF)r  r€  r@   r~  )r8   rF   rL   rD   r7   )rI   rƒ  r  r€  rW  s        rJ   r�  r�  š  sm   € õ ð 'ð 8ˆÝ! #Ñ&Ô&Ð&õ $ð SÝ
Œ�˜°
ÀzÐchÐiÑiÔiÐiÐiÐiå
Œ�˜°
ÀzÐRÑRÔRÐRÐRÐRrV   c                óô   — | \  }}|�t           rt          j        ||¬¦  «         d S t          j        dk    rt          t          |¦  «        |¦  «         d S t          ||¦  «                             ¦   «          d S )Nrr  Úwin32)r:   rD   rs  ÚsysÚplatformr®   r   )r=  r‰   rH   r<  s       rJ   rR  rR  ¯  s~   € Ø+Ñ€Iˆ|ØÐÕ$;ÐÝ
Œ	�$˜|Ð,Ñ,Ô,Ð,Ð,Ð,Ý	Œ˜Ò	 Ð	 Ý�T )™_œ_¨dÑ3Ô3Ð3Ð3Ð3åˆY˜ÑÔ×$Ò$Ñ&Ô&Ð&Ð&Ð&rV   c                ó¦  — t           r³t          t          | ¦  «        ¦  «        }	 t          ||||¬¦  «         nQ# t          $ rD}	 t          j        |¦  «         n(# t          $ r}t          d||¦  «         Y d }~nd }~ww xY w‚ d }~ww xY w	 t          j        |¦  «         n# t          $ r}|cY d }~S d }~ww xY wd S t          | |z  | |z  ¦  «         d S )Nr~  z$strict link directory cleanup failed)r<   r9  r]   r�  rm   rD   rn   r   )rH   r{  r|  r<  Ú
link_errorrz   s         rJ   r›   r›   ¹  s0  € Ýð Ý&¥s¨9¡~¤~Ñ6Ô6ˆð	Ý˜KÐ)9ÀlÐ_kÐlÑlÔlÐlÐløÝð 	ð 	ð 	ðgÝ”˜Ñ&Ô&Ð&Ð&øÝ ð gð gð gÝ%Ð&LÈjÐZeÑfÔfÐfÐfÐfÐfÐfÐføøøøðgøøøàøøøøð	øøøð	ÝŒH�\Ñ"Ô"Ð"Ð"øÝð 	ð 	ð 	ØÐÐÐÐÐÐøøøøð	øøøàˆtÝ�I Ñ+¨YÐ9IÑ-IÑJÔJÐJØˆ4sW   ¥9 ¹
BÁAÁBÁ
A>Á#A9Á4BÁ9A>Á>BÂBÂB  Â 
B6Â*B1Â+B6Â1B6c                ó˜   — t           j                             | ¦  «        \  }}t          t	          |pt           j        ¦  «        |¦  «        S r‡   )rD   rÜ   r  r®   r   r7  )rÜ   rH   r‰   s      rJ   Ú_unlink_owner_pathrŒ  Í  s8   € Ý”g—m’m DÑ)Ô)�O€IˆtÝ¥ YÐ%;µ"´)Ñ <Ô <¸dÑCÔCÐCrV   Úpathsútuple[str, ...]ú%tuple[list[str], list[BaseException]]c                óJ   — d„ | D ¦   «         }d„ |D ¦   «         d„ |D ¦   «         fS )Nc                ó0   — g | ]}|t          |¦  «        f‘ŒS rŠ   )Ú_unlink_owner_path_result)rƒ   rÜ   s     rJ   r[  z'_unlink_owner_paths.<locals>.<listcomp>Ó  s&   € ÐIÐIÐI¸4�Õ/°Ñ5Ô5Ð6ÐIÐIÐIrV   c                ó"   — g | ]\  }\  }}|°
|‘ŒS rŠ   rŠ   )rƒ   rÜ   ÚremovedÚ_s       rJ   r[  z'_unlink_owner_paths.<locals>.<listcomp>Ô  s&   € ÐBÐBÐBÑ'�T™<˜G Q¸'ÐBˆDÐBÐBÐBrV   c                ó"   — g | ]\  }\  }}|®
|‘ŒS r‡   rŠ   )rƒ   r•  r¢   s      rJ   r[  z'_unlink_owner_paths.<locals>.<listcomp>Ô  s/   € ð Eð Eð EÙ�!‘Z�a˜¨eÐ.?ˆÐ.?Ð.?Ð.?rV   rŠ   )r�  Úresultss     rJ   r¾   r¾   Ò  sQ   € ØIÐIÀ5ÐIÑIÔI€GØBÐB¨7ÐBÑBÔBð Eð EØ#*ðEñ Eô Eð ð rV   ú!tuple[bool, BaseException | None]c                óz   — 	 t          | ¦  «        }n'# t          $ r Y dS t          $ r}d|fcY d }~S d }~ww xY wd|fS )N)TNFT)rŒ  rà   rm   )rÜ   r¯   r¢   s      rJ   r’  r’  Ù  sr   € ðÝ*¨4Ñ0Ô0ˆˆøÝð ð ð ØˆzˆzÝð ð ð Ø�eˆ|ÐÐÐÐÐÐøøøøðøøøà�ÐÐs   ‚ ’
6Ÿ	6¨1«6±6ÚmessagerÆ   úlist[BaseException]c                óp   — t          |¦  «        dk    rt          | |d         g|dd …         ¢R Ž  |d         ‚)Nr   r   r\  )rš  rÆ   s     rJ   rÀ   rÀ   ã  s>   € Ý
ˆ6�{„{�Q‚€Ý˜g v¨a¤yÐ>°6¸!¸"¸"´:Ð>Ð>Ð>Ð>Ø
�Œ)€OrV   c                óÈ  — t           r¶t          t          | ¦  «        ¦  «        }	 t          j        ||¬¦  «         nQ# t
          $ rD}	 t          j        |¦  «         n(# t
          $ r}t          d||¦  «         Y d }~nd }~ww xY w‚ d }~ww xY w	 t          j        |¦  «         n# t
          $ r}|cY d }~S d }~ww xY wd S t          j	        dk    r&t          | |z  ¦  «                             ¦   «          d S d}t          t          ¦  «        D ]W}t          | |z  ¦  «        x}€ d S |j        t          t           hvs|t          dz
  k    r|‚t#          j        |¦  «         |dz  }ŒXd S )Nrr  z&strict unlink directory cleanup failedr†  gü©ñÒMbP?r   r   )r:   r9  r]   rD   rs  rm   rn   r   r‡  rˆ  r   Úranger.   Ú_unlink_errorrR   r   r	   râ   rø   )rH   r‰   r<  rN  rz   Úretry_delayÚattemptr¢   s           rJ   r®   r®   é  sÂ  € Ýð Ý&¥s¨9¡~¤~Ñ6Ô6ˆð	ÝŒI�d <Ð0Ñ0Ô0Ð0Ð0øÝð 	ð 	ð 	ðkÝ”˜Ñ&Ô&Ð&Ð&øÝ ð kð kð kÝ%Ð&NÐP\Ð^iÑjÔjÐjÐjÐjÐjÐjÐjøøøøðkøøøàøøøøð	øøøð	ÝŒH�\Ñ"Ô"Ð"Ð"øÝð 	ð 	ð 	ØÐÐÐÐÐÐøøøøð	øøøàˆtÝ
„|�wÒÐÝˆY˜ÑÑÔ×%Ò%Ñ'Ô'Ð'ØˆtØ€KÝÕ,Ñ-Ô-ð ð ˆÝ" 9¨tÑ#3Ñ4Ô4Ð4ˆEÐ=Ø�4�4ØŒ;�v¥u˜oÐ-Ð-°Õ<OÐRSÑ<SÒ1SÐ1SØˆKÝŒ
�;ÑÔÐØ�qÑˆˆØˆ4sW   ¥< ¼
B
ÁAÁBÁ
BÁ&A<Á7BÁ<BÂBÂB
ÂB# Â#
B9Â-B4Â.B9Â4B9úOSError | Nonec                ód   — 	 |                       ¦   «          n# t          $ r}|cY d }~S d }~ww xY wd S r‡   )rs  rE   )rÜ   r¢   s     rJ   rŸ  rŸ    sI   € ðØ�Š‰ŒˆˆøÝð ð ð Øˆˆˆˆˆˆøøøøðøøøàˆ4s   ‚ —
-¡(¢-¨-c           	     óœ   — t          j        | t           j        t          t           dd¦  «        z  t          t           dd¦  «        z  ¦  «        S )NÚO_DIRECTORYr   rB  )rD   rz  ÚO_RDONLYrQ   )rH   s    rJ   r9  r9    sA   € ÝŒ7ØÝ
Œ•g�b -°Ñ3Ô3Ñ3µg½bÀ,ÐPQÑ6RÔ6RÑRñô ð rV   Úlimitc                óT   — t          | |¦  «        \  }}t          j        |¦  «         |S r‡   )rä   rD   rn   )rÜ   r§  rÄ   ræ   s       rJ   rÿ   rÿ     s'   € Ý˜d EÑ*Ô*�J€BˆÝ„HˆR�L„L€LØ€MrV   útuple[int, bytes]c                ó  — |                       ¦   «         }t          j        |j        ¦  «        s| › d�}t	          |¦  «        ‚t
          j        t          z  t          t
          dd¦  «        z  t          t
          dd¦  «        z  }t          j	        | |¦  «        }	 t          || ||¦  «        }nQ# t          $ rD}	 t          j        |¦  «         n(# t          $ r}t          d||¦  «         Y d }~nd }~ww xY w‚ d }~ww xY w||fS )Nú is not a regular filerB  r   Ú
O_NONBLOCKz!strict record read cleanup failed)ri  rh  rj  rk  rE   rD   r¦  r2   rQ   rz  Ú_read_opened_recordrm   rn   r   )	rÜ   r§  ru  rW  rJ  rÄ   ræ   Ú
read_errorrz   s	            rJ   rä   rä     s"  € Ø—
’
‘”€IÝŒ<˜	Ô)Ñ*Ô*ð ØÐ-Ð-Ð-ˆÝ�c‰lŒlÐÝŒK�)Ñ#¥g­b°,ÀÑ&BÔ&BÑBÅWÍRÐQ]Ð_`ÑEaÔEaÑa€EÝ	Œ��uÑ	Ô	€BðÝ$ R¨¨y¸%Ñ@Ô@ˆˆøÝð ð ð ð	`ÝŒH�R‰LŒLˆLˆLøÝð 	`ð 	`ð 	`Ý!Ð"EÀzÐS^Ñ_Ô_Ð_Ð_Ð_Ð_Ð_Ð_øøøøð	`øøøàøøøøðøøøð ˆvˆ:Ðs<   ÂB- Â-
C;Â8CÃC6Ã
C2ÃC-Ã(C6Ã-C2Ã2C6Ã6C;rÄ   ru  úos.stat_resultc                ót  — t          j        | ¦  «        }t          j        |j        ¦  «        s|› d�}t          |¦  «        ‚t          |¦  «        t          |¦  «        k    r|› d�}t          |¦  «        ‚t          j        | |dz   ¦  «        }t          |¦  «        |k    r|› d|› d�}t          |¦  «        ‚|S )Nr«  z changed while openingr   z	 exceeds z bytes)	rD   rl   rh  rj  rk  rE   rk   Úreadrå   )rÄ   rÜ   ru  r§  Úopened_statrW  ræ   s          rJ   r­  r­  .  sÀ   € Ý”(˜2‘,”,€KÝŒ<˜Ô+Ñ,Ô,ð ØÐ-Ð-Ð-ˆÝ�c‰lŒlÐÝ�kÑ"Ô"¥n°YÑ&?Ô&?Ò?Ð?ØÐ-Ð-Ð-ˆÝ�c‰lŒlÐÝŒW�R˜ ™Ñ#Ô#€FÝ
ˆ6�{„{�UÒÐØÐ-Ð- Ð-Ð-Ð-ˆÝ�c‰lŒlÐØ€MrV   c                óP  — 	 |                      ¦   «          d S # t          $ rƒ 	 |                     ¦   «         j        }n'# t          $ r}t          | d d|› �¦  «        |‚d }~ww xY wt          j        |¦  «        rt          j        |¦  «        sY d S t          | d |› d�¦  «        d ‚w xY w)Nzcannot inspect z is not a real directory)	ÚmkdirÚFileExistsErrorri  rk  rE   r   rh  ÚS_ISDIRÚS_ISLNK)rf   rH   rÝ   r¢   s       rJ   rh   rh   =  sà   € ð	kØ�ŠÑÔÐÐÐøÝð kð kð kð	gØ—?’?Ñ$Ô$Ô,ˆDˆDøÝð 	gð 	gð 	gÝ+¨I°tÐ=ZÈyÐ=ZÐ=ZÑ[Ô[ÐafÐføøøøð	gøøøåŒ<˜ÑÔð 	¥d¤l°4Ñ&8Ô&8ð 	ØˆFˆFÝ'¨	°4¸IÐ9_Ð9_Ð9_Ñ`Ô`ÐfjÐjðkøøøs/   ‚ ˜
B%£=¼B%½
A!ÁAÁA!Á!+B%ÂB%c                óÈ   ‡ — ‰  p.‰                       d¦  «        p‰ t          j        t          j        hv }|st	          ˆ fd„dD ¦   «         ¦  «        rd}t          |¦  «        ‚d S )Nr  c              3  ó    •K  — | ]}|‰v V — Œ	d S r‡   rŠ   )rƒ   Ú	separatorr‰   s     €rJ   r…   z-_validate_force_break_name.<locals>.<genexpr>L  s(   øè è € ÐWÐW°i 	¨TÐ 1ÐWÐWÐWÐWÐWÐWrV   )ú/ú\ú z,claim_name must be one public claim basename)r  rD   r7  Úpardirr™   rG   )r‰   Úinvalid_componentrW  s   `  rJ   r¬   r¬   J  sy   ø€ Ø ˜ÐZ D§O¢O°CÑ$8Ô$8ÐZ¸DÅRÄYÕPRÔPYÐDZÐ<ZÐØð �CÐWÐWÐWÐWÐCVÐWÑWÔWÑWÔWð Ø<ˆÝ˜‰oŒoÐðð rV   c                óô   ‡— t          j        | ¦  «        5 }t          ˆfd„|D ¦   «         ¦  «        s-t          t          t          j        t          ¦  «        ‰¦  «        ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )Nc              3  ó.   •K  — | ]}|j         ‰k    V — Œd S r‡   rˆ   )rƒ   r
  r‰   s     €rJ   r…   z&_require_exact_name.<locals>.<genexpr>S  s*   øè è € Ð;Ð;¨%�5”: Ò%Ð;Ð;Ð;Ð;Ð;Ð;rV   )rD   rè   r™   rà   r   rê   )rH   r‰   rï   s    ` rJ   r­   r­   Q  sÏ   ø€ Ý	Œ�IÑ	Ô	ð G 'ÝÐ;Ð;Ð;Ð;°7Ð;Ñ;Ô;Ñ;Ô;ð 	GÝ#¥F­B¬K½Ñ,?Ô,?ÀÑFÔFÐFð	GðGð Gð Gñ Gô Gð Gð Gð Gð Gð Gð Gð Gøøøð Gð Gð Gð Gð Gð Gs   –A	A-Á-A1Á4A1r¢   úNotImplementedError | OSErrorc                ó¨   — t          |t          ¦  «        p%|j        t          v pt	          |dd ¦  «        t
          v }|rd}t          | d |¦  «        |‚d S )NÚwinerrorzCfilesystem does not support atomic no-replace hard-link publication)r—   rF   rR   rW   rQ   r6   r   )rf   r¢   Úunsupportedrñ   s       rJ   r–   r–   W  sq   € å�5Õ-Ñ.Ô.ð 	PØŒ;Õ7Ð7ð	På�E˜: tÑ,Ô,Õ0NÐNð ð
 ð LØVˆÝ'¨	°4¸Ñ@Ô@ÀeÐKðLð LrV   Ústc                ó   — | j         | j        fS r‡   )Úst_devÚst_ino)rÆ  s    rJ   rk   rk   b  s   € ØŒ9�b”iÐÐrV   )rÕ   rÖ   rY   )r=   r>   )r=   rM   )rf   r]   rÜ   r   rÝ   r|   r=   rÙ   )rÜ   r   r=   rÙ   )rf   r]   rH   r   r=   r¦   )rf   r]   rH   r   r‰   r]   r=   rô   )rf   r]   rH   r   r‰   r]   r=   rý   )rH   r   rï   r  r=   r  )
rf   r]   r‰   r]   rò   r  ræ   r  r=   rÕ   )r‰   r]   r=   r$  )r�   rÖ   rž   r]   r=   r]   )r‰   r]   r=   r]   )rž   r]   r=   r  )r4  r]   ræ   r  rÝ   r|   r=   r5  )
r=  r?  rð   r@  rÝ   r|   ræ   r  r=   rb   )
r=  r?  r;  r]   rL  r|   rM  rO  r=   rP  )r=  r?  rð   r@  rM  r}   r=   rb   )rz   r5  rN  r5  r=   rb   )r  r]   r=   r]   )r;  r]   r=   r^  )rÜ   r   r	  r`   r=   rb   )r=  r?  r;  r]   r	  r`   r=   rb   )r=  r?  r;  r]   r=   rb   )r=  r?  r‰   r]   r=   rO  )r=  r?  r‰   r]   rÈ   r}   r=   rb   )
r=  r?  r‰   r]   rJ  r|   rÝ   r|   r=   r|   )r=  r?  r{  r]   r|  r]   r=   rb   )
rI   r‚  rƒ  r‚  r  rÙ   r€  rÙ   r=   rb   )r=  r?  r‰   r]   r=   rb   )rH   r   r{  r]   r|  r]   r=   r5  )rÜ   r]   r=   r5  )r�  rŽ  r=   r�  )rÜ   r]   r=   r˜  )rš  r]   rÆ   r›  r=   rb   )rH   r   r‰   r]   r=   r5  )rÜ   r   r=   r¢  )rH   r]   r=   r|   )rÜ   r   r§  r|   r=   r  )rÜ   r   r§  r|   r=   r©  )
rÄ   r|   rÜ   r   ru  r¯  r§  r|   r=   r  )rf   r]   rH   r   r=   rb   )r‰   r]   r=   rb   )rH   r   r‰   r]   r=   rb   )rf   r]   r¢   rÂ  r=   rb   )rÆ  r¯  r=   r}   )Ú
__future__r   rw  rR   rD   r�   rh  r‡  rA   râ   Údataclassesr   r   r   r   r   r	   r
   r   Úpathlibr   Útypingr   r   r   r   Ú_apir   r   r   Ú_errorr   Ú	_identityr   r   Ú_soft_protocolr   Ú_utilr   r   Úcollections.abcr   rÖ   rS   r   rÐ   r   r!   r"   r#   r%   r'   r(   r*   r+   r,   r.   r/   r0   rQ   r2   r  r3   r6   Úhasattrr8   rz  Úsupports_dir_fdr9   rs  r:   r;   r7   r<   rK   rL   rU   rW   rY   rÕ   Ú	Exceptionr•   ri   rß   ró   rí   rù   ré   r�   rî   rì   r’   r�   r”   r“   r:  rH  rG  rI  r8  r  rá   r  rn  rV  rS  rF  rU  r�  rR  r›   rŒ  r¾   r’  rÀ   r®   rŸ  r9  rÿ   rä   r­  rh   r¬   r­   r–   rk   Ú__all__rŠ   rV   rJ   ú<module>rØ     sR  ðØ "Ð "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ø €€€Ø 	€	€	€	Ø €€€Ø €€€Ø 
€
€
€
Ø €€€Ø €€€Ø !Ð !Ð !Ð !Ð !Ð !Ø FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FØ Ð Ð Ð Ð Ð Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6à AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AØ -Ð -Ð -Ð -Ð -Ð -Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5àð )Ø(Ð(Ð(Ð(Ð(Ð(à"Ð#3Ô4Ð à'0 y°(¸FÐ1CÑ'DÔ'D€Ð DÐ DÐ DÑ DØ#.Ð Ð .Ð .Ð .Ñ .Ø$,Ð Ð ,Ð ,Ð ,Ñ ,Ø/€Ð /Ð /Ð /Ñ /Ø"&Ð Ð &Ð &Ð &Ñ &Ø%&Ð Ð &Ð &Ð &Ñ &Ø "Ð Ð "Ð "Ð "Ñ "Ø%3Ð Ð 3Ð 3Ð 3Ñ 3Ø%+Ð Ð +Ð +Ð +Ñ +Ø02Ð !Ð 2Ð 2Ð 2Ñ 2Ø&)Ð Ð )Ð )Ð )Ñ )Ø"$Ð Ð $Ð $Ð $Ñ $à"%Ð Ð %Ð %Ð %Ñ %Ø"'Ð Ð 'Ð 'Ð 'Ñ 'ð  ˜  J°Ñ2Ô2€	Ð 2Ð 2Ð 2Ñ 2Ø!CÐ!<Ô!CÑ!EÔ!EÐ Ð EÐ EÐ EÑ EØ8A¸	À+À+À+Ñ8NÔ8NÐ Ð NÐ NÐ NÑ Nð
 !˜  VÑ,Ô,€	Ð ,Ð ,Ð ,Ñ ,ð &(¤W°Ô0BÐ%BÐ Ð BÐ BÐ BÑ BØ')¤y°BÔ4FÐ'FÐ Ð FÐ FÐ FÑ FØ%'¤W°Ô0BÐ%BÐ Ð BÐ BÐ BÑ BØ%.Ð%P°2´7¸bÔ>PÐ3PÐ Ð PÐ PÐ PÑ Pðð ð ð ð$ -HÐ,GÑ,IÔ,IÐ Ð IÐ IÐ IÑ Iðcð cð cð cð 8[Ð7ZÑ7\Ô7\Ð Ð \Ð \Ð \Ñ \ðecð ecð ecð ecð ec˜ñ ecô ecð ecðP €�$ÐÑÔð
ð 
ð 
ð 
ð 
ñ 
ô 
ñ Ôð
ð	ð 	ð 	ð 	ð 	 9ñ 	ô 	ð 	ðð ð ð ð4ð ð ð ðð ð ð ð"ð ð ð ð4Lð Lð Lð Lð"
ð 
ð 
ð 
ð.ð .ð .ð .ðuð uð uð uð8	=ð 	=ð 	=ð 	=ð'ð 'ð 'ð 'ð>ð >ð >ð >ðeð eð eð eðð ð ð ð6%Eð %Eð %Eð %EðP%ð %ð %ð %ð0.ð .ð .ð .ð$ð ð ð ðtð tð tð tð
ð 
ð 
ð 
ðHð Hð Hð Hðð ð ð ð0/ð /ð /ð /ð	%ð 	%ð 	%ð 	%ð2ð 2ð 2ð 2ðð ð ð ðUð Uð Uð Uð "Ø!ðSð Sð Sð Sð Sð Sð*'ð 'ð 'ð 'ðð ð ð ð(Dð Dð Dð Dð
ð ð ð ðð ð ð ðð ð ð ðð ð ð ð<ð ð ð ðð ð ð ðð ð ð ðð ð ð ð$ð ð ð ð
kð 
kð 
kð 
kðð ð ð ðGð Gð Gð GðLð Lð Lð Lð ð  ð  ð  ðð ð €€€rV   