§
    ¿"½jÈ˜  ã                  óV  — 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ÃdY„ZUdÄd\„ZVdÅd^„ZWdÆda„ZXdÂdb„ZYdÇdg„ZZdÈdi„Z[dÉdm„Z\dÊdn„Z]dËdo„Z^dÌdr„Z_dÍdx„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”„Zlddd•œdÚ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}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     úP/home/spazio/kingdom_calls/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&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_reasongš™™™™™©?Ú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)	Úselfrd   Ú	lock_pathÚcoordination_directoryÚclaim_directoryÚsentinel_fdÚsentinel_identityÚinspection_errorÚclose_errors	            rJ   Ú_acquirezStrictSoftFileLock._acquirel   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-ru   r   rv   Úintrw   ú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_claimsre   rq   ÚsecretsÚ	token_hexr'   Ú_claim_namer]   Ú_publish_recordÚ_claim_recordri   Ú_PrivateRecordReclaimedErrorrF   rE   Ú _raise_if_hard_links_unsupportedÚ
isinstancerR   r   rc   Úowner_claim_pathsÚanyÚminÚ_link_no_replaceÚissubsetÚ_mark_descriptor_owned)rr   ru   rv   rw   ÚtokenÚintent_nameÚintent_pathÚpublication_cleanup_errorÚerrorr    Ú	held_nameÚ	held_pathÚlink_cleanup_errors                rJ   ro   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Ž   re   Ú_claim_directory©rr   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)rr   r©   Úcleanup_errors      rJ   Úforce_breakzStrictSoftFileLock.force_breakÉ   sR   € å" :Ñ.Ô.Ð.Ý˜DÔ1°:Ñ>Ô>Ð>å1°$Ô2GÈÑTÔTÐTˆMØðð  Ððð rV   Úacquisition_errorrl   c                ó\   •— | j         rd S t          ¦   «                              |¦  «         d S r†   )Ú	is_lockedÚsuperÚ_rollback_failed_acquire)rr   r°   Ú	__class__s     €rJ   r´   z+StrictSoftFileLock._rollback_failed_acquireÒ   s3   ø€ ð
 Œ>ð 	ØˆFÝ‰Œ×(Ò(Ð):Ñ;Ô;Ð;Ð;Ð;rV   Ú	canonicalc                óp   •— | j         sd | j        _        t          ¦   «                              |¦  «         d S r†   )r²   rc   rd   r³   Ú_reconcile_failed_acquire)rr   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   rc   Úlock_file_fdrd   Ú_unlink_owner_pathsr—   ÚtupleÚ_raise_recorded_errorsÚ_mark_descriptor_releasedÚ_close_released_fdrl   Úappend)rr   ÚfdÚ	remainingÚerrorsry   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½   rc   r—   r¾   rœ   r¿   rÀ   rÁ   rl   rÂ   )rr   rÃ   rÇ   rÄ   rÅ   ry   s         rJ   rq   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   )rc   r—   r   Úparentr   re   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=   ra   )ru   r   rv   r{   rw   r|   r=   ra   )r=   r¥   )r©   r]   r=   ra   )r°   rl   r=   ra   )r¶   r]   r=   ra   )rÃ   r{   rÇ   r|   r=   ra   )r=   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__rZ   Ú__annotations__r[   r\   r^   r`   rz   ro   Úpropertyr    r¯   r´   r¸   rÆ   rq   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”   re   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   rf   r3   r”   rF   r•   r–   rR   r   )re   rÛ   rÜ   r    r¡   s        rJ   rh   rh     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   rm   )rÛ   rÃ   Úrecords      rJ   rÞ   rÞ   1  sA   € Ý˜d¥CÕ(8Ñ$9Ô$9Ñ:Ô:�J€BˆØÕ!Ò!Ð!Øˆ	Ý„HˆR�L„L€LØˆ4rV   rH   r¥   c           	     óþ   — g }t          | |¦  «        D ]\}t          |¦  «        x}€t          | |d¦  «        ‚t          | ||¦  «        x}�%|                     t          | |||¦  «        ¦  «         Œ]t          |¦  «        S )Nz&unknown claim name or protocol version)Ú_list_claim_namesÚ_parse_claim_namer   Ú_read_claim_recordrÂ   Ú_parse_claimr¾   )re   rH   r    rˆ   Ú
name_partsrå   s         rJ   Ú_read_claimsrì   9  sŒ   € Ø(*€FÝ! )¨YÑ7Ô7ð 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øÝ�‰=Œ=ÐrV   ú	list[str]c                ó  — 	 t          j        |¦  «        5 }t          ||¦  «        cd d d ¦  «         S # 1 swxY w Y   d S # t          $ r5}d|j        pt          |¦  «        j        › �}t          | d |¦  «        |‚d }~ww xY w)Nzcannot list claim directory: )rD   ÚscandirÚ_public_claim_namesrE   ÚstrerrorÚtyperË   r   )re   rH   Úentriesr¡   Úreasons        rJ   rç   rç   C  sÚ   € ðLÝŒZ˜	Ñ"Ô"ð 	; gÝ& y°'Ñ:Ô:ð	;ð 	;ð 	;ð 	;ñ 	;ô 	;ð 	;ð 	;ð 	;ð 	;ð 	;ð 	;øøøð 	;ð 	;ð 	;ð 	;ð 	;ð 	;øåð Lð Lð LØY°´Ð1WÅ4ÈÁ;Ä;ÔCWÐYÐYˆÝ'¨	°4¸Ñ@Ô@ÀeÐKøøøøðLøøøs2   ‚A  –3¦A  ³7·A  º7»A  Á 
A?Á
0A:Á:A?rˆ   úbytes | Nonec                ó   — d }	 t          | ||¦  «        \  }}|€|S |€t          j        ¦   «         t          z   }n|t          j        ¦   «         |k    re|j        t
          k    rd S |t          | |¦  «        vrd S d|j        p"t          |¦  «        pt          |¦  «        j
        › �}t          | ||¦  «        |‚t          j        t          ¦  «         ŒÌ)NTúcannot read claim: )Ú_attempt_claim_readrá   Ú	monotonicr/   rR   r
   rç   rñ   r]   rò   rË   r   Úsleepr0   )re   rH   rˆ   Údeadlinerå   Úpendingrô   s          rJ   ré   ré   L  sÞ   € ð "€Hð&Ý-¨i¸ÀDÑIÔI‰ˆ�Øˆ?ØˆMØÐÝ”~Ñ'Ô'Õ*;Ñ;ˆHˆHÝŒ^ÑÔ Ò)Ð)ØŒ}¥Ò&Ð&ð �tàÕ,¨Y¸	ÑBÔBÐBÐBØ�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   )re   rH   rˆ   r¡   rô   s        rJ   rø   rø   i  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]]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   rf   Úsorted)rH   ró   ÚnamesÚnowÚentryÚpublic_names         rJ   rð   rð   z  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ì   )re   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Ô   )re   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_directoryrl   rm   r   )
r4  rå   rÜ   rH   r  Úprivate_nameÚdirectory_fdÚdirectory_refÚpublication_errorry   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]ra   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_relativerj   rk   r   Ú_link_private_recordrl   Ú _close_and_unlink_private_recordr   Ú!_raise_record_finalization_errors)r=  r  rÜ   rå   ÚflagsÚ
o_nofollowÚ
private_fdÚprivate_identityr>  ry   Ú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   rm   rl   Ú_unlink_relativeÚ_unlink_relative_if_identityrß   )r=  r;  rL  rM  ry   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ry   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>5  s   € ÐRÐRÐR˜ÀÐ@QˆeÐ@QÐ@QÐ@QrV   r   z!strict record finalization failedr   ©rä   r   )ry   rN  rÅ   s      rJ   rI  rI  1  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  ;  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>F  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   rf   rÊ   rï   r  rˆ   r  )rÛ   r	  r=  ró   r
  s        rJ   rà   rà   L  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  T  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  l  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ß   rj   )r=  rˆ   rH   r<  Ú	path_stats        rJ   rV  rV  v  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�  rl   rD   rm   r   )rH   r{  r|  r<  Ú
link_errorry   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ß   rl   )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  rl   rm   r   r‡  rˆ  r   Úranger.   Ú_unlink_errorrR   r   r	   rá   rú   )rH   rˆ   r<  rN  ry   Ú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   rm   )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_recordrl   rm   r   )	rÛ   r§  ru  rW  rJ  rÃ   rå   Ú
read_errorry   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   rk   rh  rj  rk  rE   rj   Úreadrä   )rÃ   rÛ   ru  r§  Úopened_statrW  rå   s          rJ   r­  r­  1  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)re   rH   rÜ   r¡   s       rJ   rg   rg   @  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>O  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«   M  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>V  s*   øè è € Ð;Ð;¨%�5”: Ò%Ð;Ð;Ð;Ð;Ð;Ð;rV   )rD   rï   r˜   rß   r   rñ   )rH   rˆ   ró   s    ` rJ   r¬   r¬   T  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   )re   r¡   Úunsupportedrô   s       rJ   r•   r•   Z  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   rj   rj   e  s   € ØŒ9�b”iÐÐrV   )rÔ   rÕ   rY   )r=   r>   )r=   rM   )re   r]   rÛ   r   rÜ   r{   r=   rØ   )rÛ   r   r=   rØ   )re   r]   rH   r   r=   r¥   )re   r]   rH   r   r=   rí   )re   r]   rH   r   rˆ   r]   r=   rõ   )re   r]   rH   r   rˆ   r]   r=   rý   )rH   r   ró   r  r=   rí   )
re   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=   ra   )
r=  r?  r;  r]   rL  r{   rM  rO  r=   rP  )r=  r?  r  r@  rM  r|   r=   ra   )ry   r5  rN  r5  r=   ra   )r  r]   r=   r]   )r;  r]   r=   r^  )rÛ   r   r	  r_   r=   ra   )r=  r?  r;  r]   r	  r_   r=   ra   )r=  r?  r;  r]   r=   ra   )r=  r?  rˆ   r]   r=   rO  )r=  r?  rˆ   r]   rÇ   r|   r=   ra   )
r=  r?  rˆ   r]   rJ  r{   rÜ   r{   r=   r{   )r=  r?  r{  r]   r|  r]   r=   ra   )
rI   r‚  rƒ  r‚  r  rØ   r€  rØ   r=   ra   )r=  r?  rˆ   r]   r=   ra   )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=   ra   )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  )re   r]   rH   r   r=   ra   )rˆ   r]   r=   ra   )rH   r   rˆ   r]   r=   ra   )re   r]   r¡   rÂ  r=   ra   )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”   rh   rÞ   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­  rg   r«   r¬   r•   rj   Ú__all__r‰   rV   rJ   ú<module>rØ     sj  ðØ "Ð "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ø €€€Ø 	€	€	€	Ø €€€Ø €€€Ø 
€
€
€
Ø €€€Ø €€€Ø !Ð !Ð !Ð !Ð !Ð !Ø 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\Ð Ð \Ð \Ð \Ñ \ðccð ccð ccð ccð cc˜ñ ccô ccð ccðL €�$ÐÑÔð
ð 
ð 
ð 
ð 
ñ 
ô 
ñ Ôð
ð	ð 	ð 	ð 	ð 	 9ñ 	ô 	ð 	ðð ð ð ð4ð ð ð ðð ð ð ðLð Lð Lð Lð&ð &ð &ð &ð: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   