§
    s
Êjl‘  ã            	      ó^  — d Z ddlmZ ddlZddlZddlmZ ddlmZ ddlmZ ddl	Z	ddl
Z
ddl
mZ ddlZddlZddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ erddlmZ ddl m!Z! ddl m"Z" ddl#m$Z$ ddl%m&Z& ddl'm(Z( ddl'm)Z) ddl*m+Z+ ddl*m,Z, ddl*m-Z- ddl.m/Z/ ed          Z0dfd%„Z1dgd&„Z2dgd'„Z3dhd*„Z4 e"d+¬,¦  «        did0„¦   «         Z5 G d1„ d2e
j6        ¦  «        Z7 G d3„ d4e
j6        ¦  «        Z8 G d5„ d6e8¦  «        Z9 G d7„ d8e¦  «        Z: G d9„ d:ej;        ee         ¦  «        Z<d;d<d=d>œZ= G d?„ d@e<e>         ¦  «        Z? G dA„ dBe<e         ¦  «        Z@ G dC„ dDe@eA         ¦  «        ZB G dE„ dFe@e>         ¦  «        ZC G dG„ dHe<e         ¦  «        ZD G dI„ dJeDeA         ¦  «        ZE G dK„ dLeDe>         ¦  «        ZFejG        dMk    sere G dN„ dOeee         ¦  «        ¦   «         ZHn& G dP„ dO ejI        dOdQdRg¦  «        ee         ¦  «        ZH G dS„ dTee         ¦  «        ZJdjdX„ZK G dY„ dZ¦  «        ZL G d[„ d\ee         ¦  «        ZMe(dkd`„¦   «         ZNe(dkda„¦   «         ZOe(dldc„¦   «         ZPe(dkdd„¦   «         ZQe(dlde„¦   «         ZRdS )mz+Per-test stdout/stderr capturing mechanism.é    )ÚannotationsN)Ú	Generator)ÚIterable)ÚIterator©ÚUnsupportedOperation)ÚTemporaryFile)ÚTracebackType)ÚAny)ÚAnyStr)ÚBinaryIO)Úcast)ÚFinal)Úfinal)ÚGeneric)ÚLiteral)Ú
NamedTuple)ÚTextIO)ÚTYPE_CHECKING)ÚSelf)ÚConfig)Úhookimpl)ÚParser)Úcheck_ispytest)Úfixture)Ú
SubRequest)Ú	Collector)ÚFile)ÚItem)ÚCollectReport©ÚfdÚsysÚnoútee-sysÚparserr   ÚreturnÚNonec                óž   — |                       d¦  «        }|                     ddddg d¢d¬¦  «         |                     d	d
ddd¬¦  «         d S )NÚgeneralz	--captureÚstorer"   Úmethodr!   z3Per-test capturing method: one of fd|sys|no|tee-sys)ÚactionÚdefaultÚmetavarÚchoicesÚhelpz-sÚstore_constr$   ÚcapturezShortcut for --capture=no)r-   ÚconstÚdestr1   )ÚgetgroupÚ	addoptionÚ
_addoption)r&   Úgroups     ú?C:\Projects\Muse2API\.venv\Lib\site-packages\_pytest/capture.pyÚpytest_addoptionr;   1   s~   € Ø�OŠO˜IÑ&Ô&€EØ	‡O‚OØØØØØ.Ð.Ð.ØBð ñ ô ð ð 
×ÒØØØØØ(ð ñ ô ð ð ð ó    c                 ót   — t           j                             d¦  «        r	 ddl} dS # t          $ r Y dS w xY wdS )a  Ensure colorama is imported so that it attaches to the correct stdio
    handles on Windows.

    colorama uses the terminal on import time. So if something does the
    first import of colorama while I/O capture is active, colorama will
    fail in various ways.
    Úwin32r   N)r#   ÚplatformÚ
startswithÚcoloramaÚImportError)rA   s    r:   Ú_colorama_workaroundrC   D   sZ   € õ „|×Ò˜wÑ'Ô'ð ð	ØˆOˆOˆOˆOˆOøÝð 	ð 	ð 	ØˆDˆDð	øøøðð s   ¡' §
5´5c                 ó2   — 	 ddl } dS # t          $ r Y dS w xY w)aê  Ensure readline is imported early so it attaches to the correct stdio handles.

    This isn't a problem with the default GNU readline implementation, but in
    some configurations, Python uses libedit instead (on macOS, and for prebuilt
    binaries such as used by uv).

    In theory this is only needed if readline.backend == "libedit", but the
    workaround consists of importing readline here, so we already worked around
    the issue by the time we could check if we need to.
    r   N)ÚreadlinerB   ©rE   s    r:   Ú_readline_workaroundrG   S   s6   € ðØˆˆˆˆˆøÝð ð ð Øˆˆðøøøs   ‚ ˆ
•Ústreamr   c                óê  ‡ — t           j                             d¦  «        rt          t           d¦  «        rdS t          ‰ d¦  «        sdS t          ‰ j        d¦  «        r‰ j        j        n‰ j        }t          |t          j        ¦  «        sdS ˆ fd„} |t           j	        d¦  «        t           _	         |t           j
        d¦  «        t           _
         |t           j        d¦  «        t           _        dS )	aù  Workaround for Windows Unicode console handling.

    Python 3.6 implemented Unicode console handling for Windows. This works
    by reading/writing to the raw console handle using
    ``{Read,Write}ConsoleW``.

    The problem is that we are going to ``dup2`` over the stdio file
    descriptors when doing ``FDCapture`` and this will ``CloseHandle`` the
    handles used by Python to write to the console. Though there is still some
    weirdness and the console handle seems to only be closed randomly and not
    on the first call to ``CloseHandle``, or maybe it gets reopened with the
    same handle value when we suspend capturing.

    The workaround in this case will reopen stdio with a different fd which
    also means a different handle by replicating the logic in
    "Py_lifecycle.c:initstdio/create_stdio".

    :param stream:
        In practice ``sys.stdout`` or ``sys.stderr``, but given
        here as parameter for unittesting purposes.

    See https://github.com/pytest-dev/py/issues/103.
    r>   Úpypy_version_infoNÚbufferÚrawc                ó  •— t          ‰j        d¦  «        s|d         dk    rd}nd}t          j        t	          t          j        |                      ¦   «         ¦  «        ||¦  «        | j        | j	        | j
        | j        ¦  «        S )NrL   r   Úwéÿÿÿÿ)ÚhasattrrK   ÚioÚTextIOWrapperÚopenÚosÚdupÚfilenoÚencodingÚerrorsÚnewlinesÚline_buffering)ÚfÚmodeÚ	bufferingrH   s      €r:   Ú_reopen_stdioz3_windowsconsoleio_workaround.<locals>._reopen_stdioˆ   sz   ø€ Ý�v”} eÑ,Ô,ð 	°°a´¸C²°ØˆIˆIàˆIåÔÝ•”˜Ÿš™
œ
Ñ#Ô# T¨9Ñ5Ô5ØŒJØŒHØŒJØÔñ
ô 
ð 	
r<   ÚrbÚwb)r#   r?   r@   rP   rK   rL   Ú
isinstancerQ   Ú_WindowsConsoleIOÚstdinÚstdoutÚstderr)rH   Ú
raw_stdoutr^   s   `  r:   Ú_windowsconsoleio_workaroundrg   d   sç   ø€ õ0 Œ<×"Ò" 7Ñ+Ô+ð ­wµsÐ<OÑ/PÔ/Pð Øˆõ �6˜8Ñ$Ô$ð Øˆå&-¨f¬m¸UÑ&CÔ&CÐV�”Ô"Ð"ÈÌ€Jå�j¥"Ô"6Ñ7Ô7ð Øˆð
ð 
ð 
ð 
ð 
ð ��cœi¨Ñ.Ô.…C„IØ��sœz¨4Ñ0Ô0…C„JØ��sœz¨4Ñ0Ô0…C„J€J€Jr<   T©ÚwrapperÚearly_configr   úGenerator[None]c              #  ó„  K  — | j         }|j        dk    rt          t          j        ¦  «         t          ¦   «          t          ¦   «          | j        }t          |j        ¦  «        }| 	                    |d¦  «         |  
                    |j        ¦  «         |                     ¦   «          	 	 d V — |                     ¦   «          d S # |                     ¦   «          w xY w# t          $ rW |                     ¦   «         \  }}t          j                             |¦  «         t          j                             |¦  «         ‚ w xY w)Nr"   Úcapturemanager)Úknown_args_namespacer3   rg   r#   rd   rC   rG   ÚpluginmanagerÚCaptureManagerÚregisterÚadd_cleanupÚstop_global_capturingÚstart_global_capturingÚsuspend_global_captureÚBaseExceptionÚread_global_captureÚwritere   )rj   Únsro   ÚcapmanÚoutÚerrs         r:   Úpytest_load_initial_conftestsr}   ›   s@  è è € à	Ô	*€BØ	„z�TÒÐÝ$¥S¤ZÑ0Ô0Ð0ÝÑÔÐÝÑÔÐØ Ô.€MÝ˜BœJÑ'Ô'€FØ×Ò˜6Ð#3Ñ4Ô4Ð4ð ×Ò˜VÔ9Ñ:Ô:Ð:ð ×!Ò!Ñ#Ô#Ð#ð	ð	,ØˆEˆEˆEà×)Ò)Ñ+Ô+Ð+Ð+Ð+øˆF×)Ò)Ñ+Ô+Ð+Ð+øøøøÝð ð ð Ø×-Ò-Ñ/Ô/‰ˆˆSÝŒ
×Ò˜ÑÔÐÝŒ
×Ò˜ÑÔÐØð	øøøs   Â+C Â/C ÃCÃC ÃA!D?c                  óB   — e Zd ZdZedd„¦   «         Zedd„¦   «         ZdS )ÚEncodedFile© r'   Ústrc                ó*   — t          | j        ¦  «        S ©N)ÚreprrK   ©Úselfs    r:   ÚnamezEncodedFile.name½   s   € õ �D”KÑ Ô Ð r<   c                ó–   — t          | j        d¦  «        sJ ‚t          t          | j        j                             dd¦  «        ¦  «        S )Nr\   ÚbÚ )rP   rK   r   r�   r\   Úreplacer…   s    r:   r\   zEncodedFile.modeÃ   sA   € õ �t”{ FÑ+Ô+Ð+Ð+Ð+Ý•C˜œÔ)×1Ò1°#°rÑ:Ô:Ñ;Ô;Ð;r<   N©r'   r�   )Ú__name__Ú
__module__Ú__qualname__Ú	__slots__Úpropertyr‡   r\   r€   r<   r:   r   r   º   sW   € € € € € Ø€Iàð!ð !ð !ñ „Xð!ð
 ð<ð <ð <ñ „Xð<ð <ð <r<   r   c                  ó(   ‡ — e Zd Zdˆ fd„Zdd„Zˆ xZS )Ú	CaptureIOr'   r(   c                ót   •— t          ¦   «                              t          j        ¦   «         ddd¬¦  «         d S )NúUTF-8rŠ   T)rW   ÚnewlineÚwrite_through)ÚsuperÚ__init__rQ   ÚBytesIO)r†   Ú	__class__s    €r:   r™   zCaptureIO.__init__Ì   s1   ø€ Ý‰Œ×Ò�œ™œ°ÀÐSWÐÑXÔXÐXÐXÐXr<   r�   c                óœ   — t          | j        t          j        ¦  «        sJ ‚| j                             ¦   «                              d¦  «        S )Nr•   )ra   rK   rQ   rš   ÚgetvalueÚdecoder…   s    r:   r�   zCaptureIO.getvalueÏ   s>   € Ý˜$œ+¥r¤zÑ2Ô2Ð2Ð2Ð2ØŒ{×#Ò#Ñ%Ô%×,Ò,¨WÑ5Ô5Ð5r<   ©r'   r(   rŒ   )r�   rŽ   r�   r™   r�   Ú__classcell__©r›   s   @r:   r“   r“   Ë   sW   ø€ € € € € ðYð Yð Yð Yð Yð Yð6ð 6ð 6ð 6ð 6ð 6ð 6ð 6r<   r“   c                  ó,   ‡ — e Zd Zd
ˆ fd„Zdˆ fd	„Zˆ xZS )ÚTeeCaptureIOÚotherr   r'   r(   c                óV   •— || _         t          ¦   «                              ¦   «          d S rƒ   )Ú_otherr˜   r™   )r†   r¤   r›   s     €r:   r™   zTeeCaptureIO.__init__Õ   s&   ø€ ØˆŒÝ‰Œ×ÒÑÔÐÐÐr<   Úsr�   Úintc                óz   •— t          ¦   «                              |¦  «         | j                             |¦  «        S rƒ   )r˜   rx   r¦   )r†   r§   r›   s     €r:   rx   zTeeCaptureIO.writeÙ   s/   ø€ Ý‰Œ�Š�aÑÔÐØŒ{× Ò  Ñ#Ô#Ð#r<   )r¤   r   r'   r(   )r§   r�   r'   r¨   )r�   rŽ   r�   r™   rx   r    r¡   s   @r:   r£   r£   Ô   s[   ø€ € € € € ðð ð ð ð ð ð$ð $ð $ð $ð $ð $ð $ð $ð $ð $r<   r£   c                  óÚ   — e Zd Zed/d„¦   «         Zd0d1d„ZeZd/d„Zd0d2d„Zd3d„Z	d4d„Z
d5d„Zd6d„Zd5d„Zd6d„Zd7d8d„Zd6d„Zd4d„Zd9d:d„Zd;d„Zd<d"„Zd6d#„Zd=d%„Zd>d,„Zed?d.„¦   «         ZdS )@ÚDontReadFromInputr'   r�   c                ó@   — t           j        €J ‚t           j        j        S rƒ   )r#   Ú	__stdin__rW   r…   s    r:   rW   zDontReadFromInput.encodingß   s   € åŒ}Ð(Ð(Ð(ÝŒ}Ô%Ð%r<   rO   Úsizer¨   c                ó    — t          d¦  «        ‚©NzJpytest: reading from stdin while output is captured!  Consider using `-s`.©ÚOSError©r†   r®   s     r:   ÚreadzDontReadFromInput.readä   ó   € ÝØXñ
ô 
ð 	
r<   c                ó*   — |                       ¦   «         S rƒ   rF   r…   s    r:   Ú__next__zDontReadFromInput.__next__ë   s   € Ø�}Š}‰ŒÐr<   Úhintú
int | Noneú	list[str]c                ó    — t          d¦  «        ‚r°   r±   )r†   r¸   s     r:   Ú	readlineszDontReadFromInput.readlinesî   rµ   r<   úIterator[str]c                ó   — | S rƒ   r€   r…   s    r:   Ú__iter__zDontReadFromInput.__iter__ó   ó   € Øˆr<   c                ó    — t          d¦  «        ‚)Nz/redirected stdin is pseudofile, has no fileno()r   r…   s    r:   rV   zDontReadFromInput.filenoö   s   € Ý"Ð#TÑUÔUÐUr<   r(   c                ó    — t          d¦  «        ‚)Nz.redirected stdin is pseudofile, has no flush()r   r…   s    r:   ÚflushzDontReadFromInput.flushù   s   € Ý"Ð#SÑTÔTÐTr<   Úboolc                ó   — dS ©NFr€   r…   s    r:   ÚisattyzDontReadFromInput.isattyü   ó   € Øˆur<   c                ó   — d S rƒ   r€   r…   s    r:   ÚclosezDontReadFromInput.closeÿ   ó   € Øˆr<   c                ó   — dS rÆ   r€   r…   s    r:   ÚreadablezDontReadFromInput.readable  rÈ   r<   r   ÚoffsetÚwhencec                ó    — t          d¦  «        ‚)Nz0redirected stdin is pseudofile, has no seek(int)r   )r†   rÎ   rÏ   s      r:   ÚseekzDontReadFromInput.seek  s   € Ý"Ð#UÑVÔVÐVr<   c                ó   — dS rÆ   r€   r…   s    r:   ÚseekablezDontReadFromInput.seekable  rÈ   r<   c                ó    — t          d¦  «        ‚)Nz-redirected stdin is pseudofile, has no tell()r   r…   s    r:   ÚtellzDontReadFromInput.tell  s   € Ý"Ð#RÑSÔSÐSr<   Nc                ó    — t          d¦  «        ‚)Nzcannot truncate stdinr   r³   s     r:   ÚtruncatezDontReadFromInput.truncate  ó   € Ý"Ð#:Ñ;Ô;Ð;r<   Údatac                ó    — t          d¦  «        ‚)Nzcannot write to stdinr   ©r†   rÙ   s     r:   rx   zDontReadFromInput.write  rØ   r<   ÚlinesúIterable[str]c                ó    — t          d¦  «        ‚)NzCannot write to stdinr   )r†   rÜ   s     r:   Ú
writelineszDontReadFromInput.writelines  rØ   r<   c                ó   — dS rÆ   r€   r…   s    r:   ÚwritablezDontReadFromInput.writable  rÈ   r<   r   c                ó   — | S rƒ   r€   r…   s    r:   Ú	__enter__zDontReadFromInput.__enter__  rÀ   r<   Útypeútype[BaseException] | NoneÚvalueúBaseException | NoneÚ	tracebackúTracebackType | Nonec                ó   — d S rƒ   r€   )r†   rä   ræ   rè   s       r:   Ú__exit__zDontReadFromInput.__exit__  s	   € ð 	ˆr<   r   c                ó   — | S rƒ   r€   r…   s    r:   rK   zDontReadFromInput.buffer%  s	   € ð ˆr<   rŒ   )rO   )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¨   )rÙ   r�   r'   r¨   )rÜ   rÝ   r'   r(   )r'   r   )rä   rå   ræ   rç   rè   ré   r'   r(   )r'   r   )r�   rŽ   r�   r‘   rW   r´   rE   r·   r¼   r¿   rV   rÃ   rÇ   rÊ   rÍ   rÑ   rÓ   rÕ   r×   rx   rß   rá   rã   rë   rK   r€   r<   r:   r«   r«   Þ   sæ  € € € € € Øð&ð &ð &ñ „Xð&ð
ð 
ð 
ð 
ð 
ð
 €Hðð ð ð ð
ð 
ð 
ð 
ð 
ð
ð ð ð ðVð Vð Vð VðUð Uð Uð Uðð ð ð ðð ð ð ðð ð ð ðWð Wð Wð Wð Wðð ð ð ðTð Tð Tð Tð<ð <ð <ð <ð <ð<ð <ð <ð <ð<ð <ð <ð <ðð ð ð ðð ð ð ðð ð ð ð ðð ð ñ „Xðð ð r<   r«   c                  ó  — e Zd ZU ded<   ej        dd„¦   «         Zej        dd„¦   «         Zej        dd	„¦   «         Zej        dd
„¦   «         Z	ej        dd„¦   «         Z
ej        dd„¦   «         Zej        dd„¦   «         ZdS )ÚCaptureBaser   ÚEMPTY_BUFFERr"   r¨   r'   r(   c                ó   — t          ¦   «         ‚rƒ   ©ÚNotImplementedError©r†   r"   s     r:   r™   zCaptureBase.__init__1  ó   € å!Ñ#Ô#Ð#r<   c                ó   — t          ¦   «         ‚rƒ   rò   r…   s    r:   ÚstartzCaptureBase.start5  rõ   r<   c                ó   — t          ¦   «         ‚rƒ   rò   r…   s    r:   ÚdonezCaptureBase.done9  rõ   r<   c                ó   — t          ¦   «         ‚rƒ   rò   r…   s    r:   ÚsuspendzCaptureBase.suspend=  rõ   r<   c                ó   — t          ¦   «         ‚rƒ   rò   r…   s    r:   ÚresumezCaptureBase.resumeA  rõ   r<   rÙ   c                ó   — t          ¦   «         ‚rƒ   rò   rÛ   s     r:   ÚwriteorgzCaptureBase.writeorgE  rõ   r<   c                ó   — t          ¦   «         ‚rƒ   rò   r…   s    r:   ÚsnapzCaptureBase.snapI  rõ   r<   N©r"   r¨   r'   r(   rŸ   )rÙ   r   r'   r(   )r'   r   )r�   rŽ   r�   Ú__annotations__ÚabcÚabstractmethodr™   r÷   rù   rû   rý   rÿ   r  r€   r<   r:   rï   rï   .  s  € € € € € € ØÐÐÑàÔð$ð $ð $ñ Ôð$ð 	Ôð$ð $ð $ñ Ôð$ð 	Ôð$ð $ð $ñ Ôð$ð 	Ôð$ð $ð $ñ Ôð$ð 	Ôð$ð $ð $ñ Ôð$ð 	Ôð$ð $ð $ñ Ôð$ð 	Ôð$ð $ð $ñ Ôð$ð $ð $r<   rï   rc   rd   re   )r   é   é   c                  óJ   — e Zd ZdZdd„Zdd„Zdd„Zdd	„Zdd
„Zdd„Z	dd„Z
dS )Ú	NoCapturerŠ   r"   r¨   r'   r(   c                ó   — d S rƒ   r€   rô   s     r:   r™   zNoCapture.__init__T  rË   r<   c                ó   — d S rƒ   r€   r…   s    r:   r÷   zNoCapture.startW  rË   r<   c                ó   — d S rƒ   r€   r…   s    r:   rù   zNoCapture.doneZ  rË   r<   c                ó   — d S rƒ   r€   r…   s    r:   rû   zNoCapture.suspend]  rË   r<   c                ó   — d S rƒ   r€   r…   s    r:   rý   zNoCapture.resume`  rË   r<   r�   c                ó   — dS ©NrŠ   r€   r…   s    r:   r  zNoCapture.snapc  s   € Øˆrr<   rÙ   c                ó   — d S rƒ   r€   rÛ   s     r:   rÿ   zNoCapture.writeorgf  rË   r<   Nr  rŸ   rŒ   ©rÙ   r�   r'   r(   )r�   rŽ   r�   rð   r™   r÷   rù   rû   rý   r  rÿ   r€   r<   r:   r	  r	  Q  s¥   € € € € € Ø€Lðð ð ð ðð ð ð ðð ð ð ðð ð ð ðð ð ð ðð ð ð ðð ð ð ð ð r<   r	  c                  óX   — e Zd Z	 dddœdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Z	dd„Z
dS )ÚSysCaptureBaseNF©Úteer"   r¨   ÚtmpfileúTextIO | Noner  rÄ   r'   r(   c               óô   — t           |         }t          t          |¦  «        | _        || _        |€9|dk    rt          ¦   «         }n$|st          ¦   «         nt          | j        ¦  «        }|| _        d| _	        d S )Nrc   Úinitialized)
ÚpatchsysdictÚgetattrr#   Ú_oldr‡   r«   r“   r£   r  Ú_state)r†   r"   r  r  r‡   s        r:   r™   zSysCaptureBase.__init__k  so   € õ ˜BÔˆÝ#¥C¨Ñ.Ô.ˆŒ	ØˆŒ	Øˆ?Ø�wŠˆÝ+Ñ-Ô-��à-0ÐM�)™+œ+˜+µlÀ4Ä9Ñ6MÔ6M�ØˆŒØ#ˆŒˆˆr<   Ú
class_namer�   c                óš   — d                      || j        t          | d¦  «        rt          | j        ¦  «        pd| j        | j        ¦  «        S ©Nz(<{} {} _old={} _state={!r} tmpfile={!r}>r  z<UNSET>)Úformatr‡   rP   r„   r  r  r  )r†   r  s     r:   r„   zSysCaptureBase.repry  sK   € Ø9×@Ò@ØØŒIÝ�T˜6Ñ"Ô"Ð6¥t¨D¬I¡¤ÐD¸9ØŒKØŒLñ
ô 
ð 	
r<   c                ó®   — d                      | j        j        | j        t	          | d¦  «        rt          | j        ¦  «        pd| j        | j        ¦  «        S r!  )	r"  r›   r�   r‡   rP   r„   r  r  r  r…   s    r:   Ú__repr__zSysCaptureBase.__repr__‚  sP   € Ø9×@Ò@ØŒNÔ#ØŒIÝ�T˜6Ñ"Ô"Ð6¥t¨D¬I¡¤ÐD¸9ØŒKØŒLñ
ô 
ð 	
r<   ÚopÚstatesútuple[str, ...]c                ó†   — | j         |v s7J d                     || j         d                     |¦  «        ¦  «        ¦   «         ‚d S ©Nz+cannot {} in state {!r}: expected one of {}z, ©r  r"  Újoin©r†   r%  r&  s      r:   Ú_assert_statezSysCaptureBase._assert_state‹  óK   € ØŒ{˜fÐ$Ð$Ð$Ø9×@Ò@Ø�D”K §¢¨6Ñ!2Ô!2ñô ñ %Ô$Ð$Ð$Ð$r<   c                ó€   — |                       dd¦  «         t          t          | j        | j        ¦  «         d| _        d S )Nr÷   ©r  Ústarted)r-  Úsetattrr#   r‡   r  r  r…   s    r:   r÷   zSysCaptureBase.start’  s:   € Ø×Ò˜7Ð$4Ñ5Ô5Ð5Ý•�T”Y ¤Ñ-Ô-Ð-ØˆŒˆˆr<   c                óÐ   — |                       dd¦  «         | j        dk    rd S t          t          | j        | j        ¦  «         | `| j                             ¦   «          d| _        d S )Nrù   ©r  r1  Ú	suspendedrù   )r-  r  r2  r#   r‡   r  r  rÊ   r…   s    r:   rù   zSysCaptureBase.done—  se   € Ø×Ò˜6Ð#RÑSÔSÐSØŒ;˜&Ò Ð ØˆFÝ•�T”Y ¤	Ñ*Ô*Ð*ØˆIØŒ×ÒÑÔÐØˆŒˆˆr<   c                ó€   — |                       dd¦  «         t          t          | j        | j        ¦  «         d| _        d S ©Nrû   ©r1  r5  r5  )r-  r2  r#   r‡   r  r  r…   s    r:   rû   zSysCaptureBase.suspend   s:   € Ø×Ò˜9Ð&>Ñ?Ô?Ð?Ý•�T”Y ¤	Ñ*Ô*Ð*Ø!ˆŒˆˆr<   c                óš   — |                       dd¦  «         | j        dk    rd S t          t          | j        | j        ¦  «         d| _        d S ©Nrý   r8  r1  )r-  r  r2  r#   r‡   r  r…   s    r:   rý   zSysCaptureBase.resume¥  sL   € Ø×Ò˜8Ð%=Ñ>Ô>Ð>ØŒ;˜)Ò#Ð#ØˆFÝ•�T”Y ¤Ñ-Ô-Ð-ØˆŒˆˆ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„   r$  r-  r÷   rù   rû   rý   r€   r<   r:   r  r  j  sÉ   € € € € € à04ð$ØEJð$ð $ð $ð $ð $ð $ð
ð 
ð 
ð 
ð
ð 
ð 
ð 
ð
ð 
ð 
ð 
ð ð  ð  ð  ð
ð ð ð ð"ð "ð "ð "ð
 ð  ð  ð  ð  ð  r<   r  c                  ó"   — e Zd ZdZd	d„Zd
d„ZdS )ÚSysCaptureBinaryr<   r'   Úbytesc                ó  — |                       dd¦  «         | j                             d¦  «         | j        j                             ¦   «         }| j                             d¦  «         | j                             ¦   «          |S ©Nr  r8  r   ©r-  r  rÑ   rK   r´   r×   ©r†   Úress     r:   r  zSysCaptureBinary.snap°  ót   € Ø×Ò˜6Ð#;Ñ<Ô<Ð<ØŒ×Ò˜!ÑÔÐØŒlÔ!×&Ò&Ñ(Ô(ˆØŒ×Ò˜!ÑÔÐØŒ×ÒÑÔÐØˆ
r<   rÙ   r(   c                óÞ   — |                       dd¦  «         | j                             ¦   «          | j        j                             |¦  «         | j        j                             ¦   «          d S ©Nrÿ   r8  )r-  r  rÃ   rK   rx   rÛ   s     r:   rÿ   zSysCaptureBinary.writeorg¸  sa   € Ø×Ò˜:Ð'?Ñ@Ô@Ð@ØŒ	�ŠÑÔÐØŒ	Ô×Ò˜tÑ$Ô$Ð$ØŒ	Ô×ÒÑ Ô Ð Ð Ð r<   N©r'   r>  ©rÙ   r>  r'   r(   ©r�   rŽ   r�   rð   r  rÿ   r€   r<   r:   r=  r=  ­  sA   € € € € € Ø€Lðð ð ð ð!ð !ð !ð !ð !ð !r<   r=  c                  ó"   — e Zd ZdZd	d„Zd
d„ZdS )Ú
SysCapturerŠ   r'   r�   c                ó  — |                       dd¦  «         t          | j        t          ¦  «        sJ ‚| j                             ¦   «         }| j                             d¦  «         | j                             ¦   «          |S r@  )r-  ra   r  r“   r�   rÑ   r×   rB  s     r:   r  zSysCapture.snapÂ  ss   € Ø×Ò˜6Ð#;Ñ<Ô<Ð<Ý˜$œ,­	Ñ2Ô2Ð2Ð2Ð2ØŒl×#Ò#Ñ%Ô%ˆØŒ×Ò˜!ÑÔÐØŒ×ÒÑÔÐØˆ
r<   rÙ   r(   c                ó˜   — |                       dd¦  «         | j                             |¦  «         | j                             ¦   «          d S rF  )r-  r  rx   rÃ   rÛ   s     r:   rÿ   zSysCapture.writeorgÊ  sE   € Ø×Ò˜:Ð'?Ñ@Ô@Ð@ØŒ	�Š˜ÑÔÐØŒ	�ŠÑÔÐÐÐr<   NrŒ   r  rI  r€   r<   r:   rK  rK  ¿  sA   € € € € € Ø€Lðð ð ð ðð ð ð ð ð r<   rK  c                  óF   — e Zd Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Z	dS )ÚFDCaptureBaseÚtargetfdr¨   r'   r(   c                ór  — || _         	 t          j        |¦  «         d | _        nX# t          $ rK t          j        t          j        t          j        ¦  «        | _        t          j        | j        |¦  «         Y nw xY wt          j	        |¦  «        | _
        |dk    r5t          t          j        d¬¦  «        | _        t          |¦  «        | _        n_t          t          d¬¦  «        dddd¬¦  «        | _        |t           v rt          || j        ¦  «        | _        nt#          |¦  «        | _        d	| _        d S )
Nr   úutf-8)rW   )r]   r‹   rŠ   T)rW   rX   r–   r—   r  )rP  rT   ÚfstatÚtargetfd_invalidr²   rS   ÚdevnullÚO_RDWRÚdup2rU   Útargetfd_saver  rK  Ú
syscapturer   r	   r  r	  r  )r†   rP  s     r:   r™   zFDCaptureBase.__init__Ñ  s-  € Ø ˆŒð	)ÝŒH�XÑÔÐð  %)ˆDÔ!Ð!øõ ð 	5ð 	5ð 	5õ 13´½¼
ÅBÄIÑ0NÔ0NˆDÔ!ÝŒG�DÔ)¨8Ñ4Ô4Ð4Ð4Ð4ð	5øøøõ   œV HÑ-Ô-ˆÔà�qŠ=ˆ=Ý¥¤
°WÐ=Ñ=Ô=ˆDŒLÝ0:¸8Ñ0DÔ0DˆDŒOˆOå&Ý¨Ð*Ñ*Ô*Ø Ø ØØ"ðñ ô ˆDŒLð �<Ð'Ð'Ý",¨X°t´|Ñ"DÔ"D�”�å"+¨HÑ"5Ô"5�”à#ˆŒˆˆs   ‰% ¥AA:Á9A:r�   c                ób   — d| j         j        › d| j        › d| j        › d| j        ›d| j        ›d�S )Nú<ú z oldfd=ú _state=z	 tmpfile=ú>)r›   r�   rP  rX  r  r  r…   s    r:   r$  zFDCaptureBase.__repr__ú  si   € ð@�”Ô'ð @ð @¨$¬-ð @ð @ÀÔ@Rð @ð @Ø”kð@ð @Ø.2¬lð@ð @ð @ð	
r<   r%  r&  r'  c                ó†   — | j         |v s7J d                     || j         d                     |¦  «        ¦  «        ¦   «         ‚d S r)  r*  r,  s      r:   r-  zFDCaptureBase._assert_state   r.  r<   c                óÔ   — |                       dd¦  «         t          j        | j                             ¦   «         | j        ¦  «         | j                             ¦   «          d| _        dS )z4Start capturing on targetfd using memorized tmpfile.r÷   r0  r1  N)	r-  rT   rW  r  rV   rP  rY  r÷   r  r…   s    r:   r÷   zFDCaptureBase.start  sZ   € à×Ò˜7Ð$4Ñ5Ô5Ð5Ý
Œ�”×#Ò#Ñ%Ô% t¤}Ñ5Ô5Ð5ØŒ×ÒÑÔÐØˆŒˆˆr<   c                óÀ  — |                       dd¦  «         | j        dk    rdS t          j        | j        | j        ¦  «         t          j        | j        ¦  «         | j        �B| j        | j        k    rt          j        | j        ¦  «         t          j        | j        ¦  «         | j         	                    ¦   «          | j
                             ¦   «          d| _        dS )z_Stop capturing, restore streams, return original capture file,
        seeked to position zero.rù   r4  N)r-  r  rT   rW  rX  rP  rÊ   rT  rY  rù   r  r…   s    r:   rù   zFDCaptureBase.done  sÈ   € ð 	×Ò˜6Ð#RÑSÔSÐSØŒ;˜&Ò Ð ØˆFÝ
Œ�Ô" D¤MÑ2Ô2Ð2Ý
Œ�Ô#Ñ$Ô$Ð$ØÔ Ð,ØÔ$¨¬Ò5Ð5Ý”˜œÑ'Ô'Ð'ÝŒH�TÔ*Ñ+Ô+Ð+ØŒ×ÒÑÔÐØŒ×ÒÑÔÐØˆŒˆˆr<   c                óÊ   — |                       dd¦  «         | j        dk    rd S | j                             ¦   «          t	          j        | j        | j        ¦  «         d| _        d S r7  )r-  r  rY  rû   rT   rW  rX  rP  r…   s    r:   rû   zFDCaptureBase.suspend  sa   € Ø×Ò˜9Ð&>Ñ?Ô?Ð?ØŒ;˜+Ò%Ð%ØˆFØŒ×ÒÑ!Ô!Ð!Ý
Œ�Ô" D¤MÑ2Ô2Ð2Ø!ˆŒˆˆr<   c                óî   — |                       dd¦  «         | j        dk    rd S | j                             ¦   «          t	          j        | j                             ¦   «         | j        ¦  «         d| _        d S r:  )	r-  r  rY  rý   rT   rW  r  rV   rP  r…   s    r:   rý   zFDCaptureBase.resume&  sl   € Ø×Ò˜8Ð%=Ñ>Ô>Ð>ØŒ;˜)Ò#Ð#ØˆFØŒ×ÒÑ Ô Ð Ý
Œ�”×#Ò#Ñ%Ô% t¤}Ñ5Ô5Ð5ØˆŒˆˆr<   N)rP  r¨   r'   r(   rŒ   r;  rŸ   )
r�   rŽ   r�   r™   r$  r-  r÷   rù   rû   rý   r€   r<   r:   rO  rO  Ð  s¡   € € € € € ð'$ð '$ð '$ð '$ðR
ð 
ð 
ð 
ð
ð 
ð 
ð 
ð ð  ð  ð  ðð ð ð ð "ð "ð "ð "ð ð  ð  ð  ð  ð  r<   rO  c                  ó&   — e Zd ZdZdZd
d„Zdd„Zd	S )ÚFDCaptureBinaryzWCapture IO to/from a given OS-level file descriptor.

    snap() produces `bytes`.
    r<   r'   r>  c                ó  — |                       dd¦  «         | j                             d¦  «         | j        j                             ¦   «         }| j                             d¦  «         | j                             ¦   «          |S r@  rA  rB  s     r:   r  zFDCaptureBinary.snap7  rD  r<   rÙ   r(   c                óf   — |                       dd¦  «         t          j        | j        |¦  «         dS )ú"Write to original file descriptor.rÿ   r8  N)r-  rT   rx   rX  rÛ   s     r:   rÿ   zFDCaptureBinary.writeorg?  s4   € à×Ò˜:Ð'?Ñ@Ô@Ð@Ý
Œ�Ô# TÑ*Ô*Ð*Ð*Ð*r<   NrG  rH  ©r�   rŽ   r�   Ú__doc__rð   r  rÿ   r€   r<   r:   re  re  /  sM   € € € € € ðð ð
 €Lðð ð ð ð+ð +ð +ð +ð +ð +r<   re  c                  ó&   — e Zd ZdZdZd
d„Zdd„Zd	S )Ú	FDCapturezTCapture IO to/from a given OS-level file descriptor.

    snap() produces text.
    rŠ   r'   r�   c                óþ   — |                       dd¦  «         | j                             d¦  «         | j                             ¦   «         }| j                             d¦  «         | j                             ¦   «          |S r@  )r-  r  rÑ   r´   r×   rB  s     r:   r  zFDCapture.snapM  sq   € Ø×Ò˜6Ð#;Ñ<Ô<Ð<ØŒ×Ò˜!ÑÔÐØŒl×ÒÑ!Ô!ˆØŒ×Ò˜!ÑÔÐØŒ×ÒÑÔÐØˆ
r<   rÙ   r(   c                óŒ   — |                       dd¦  «         t          j        | j        |                     d¦  «        ¦  «         dS )rh  rÿ   r8  rR  N)r-  rT   rx   rX  ÚencoderÛ   s     r:   rÿ   zFDCapture.writeorgU  s@   € à×Ò˜:Ð'?Ñ@Ô@Ð@å
Œ�Ô# T§[¢[°Ñ%9Ô%9Ñ:Ô:Ð:Ð:Ð:r<   NrŒ   r  ri  r€   r<   r:   rl  rl  E  sM   € € € € € ðð ð
 €Lðð ð ð ð;ð ;ð ;ð ;ð ;ð ;r<   rl  )é   é   c                  ó(   — e Zd ZU dZded<   ded<   dS )ÚCaptureResultúOThe result of :method:`caplog.readouterr() <pytest.CaptureFixture.readouterr>`.r   r{   r|   N)r�   rŽ   r�   rj  r  r€   r<   r:   rs  rs  b  s(   € € € € € € à]Ð]àˆˆ‰Øˆˆ‰ˆˆr<   rs  c                  ó   — e Zd ZdZdZdS )rs  rt  r€   N)r�   rŽ   r�   rj  r�   r€   r<   r:   rs  rs  k  s   € € € € € ð 	^Ð]àˆ	ˆ	ˆ	r<   r{   r|   c                  ó`   — e Zd ZdZdZdd	„Zdd„Zdd„Zdd„Zddd„Z	dd„Z
dd„Zdd„Zdd„ZdS )ÚMultiCaptureNFÚin_úCaptureBase[AnyStr] | Noner{   r|   r'   r(   c                ó0   — || _         || _        || _        d S rƒ   ©rx  r{   r|   )r†   rx  r{   r|   s       r:   r™   zMultiCapture.__init__x  s   € ð 03ˆŒØ/2ˆŒØ/2ˆŒˆˆr<   r�   c                óX   — d| j         ›d| j        ›d| j        ›d| j        ›d| j        ›d�S )Nz<MultiCapture out=z err=z in_=r]  z _in_suspended=r^  )r{   r|   rx  r  Ú_in_suspendedr…   s    r:   r$  zMultiCapture.__repr__‚  sf   € ðL ¤ð Lð L°$´(ð Lð LÀ4Ä8ð Lð LØ”kðLð LØ48Ô4FðLð Lð Lð	
r<   c                óØ   — d| _         | j        r| j                             ¦   «          | j        r| j                             ¦   «          | j        r| j                             ¦   «          d S d S )Nr1  )r  rx  r÷   r{   r|   r…   s    r:   Ústart_capturingzMultiCapture.start_capturingˆ  sm   € ØˆŒØŒ8ð 	ØŒH�NŠNÑÔÐØŒ8ð 	ØŒH�NŠNÑÔÐØŒ8ð 	ØŒH�NŠNÑÔÐÐÐð	ð 	r<   útuple[AnyStr, AnyStr]c                óÌ   — |                       ¦   «         \  }}|r#| j        €J ‚| j                             |¦  «         |r#| j        €J ‚| j                             |¦  «         ||fS )z?Pop current snapshot out/err capture and flush to orig streams.)Ú
readouterrr{   rÿ   r|   ©r†   r{   r|   s      r:   Úpop_outerr_to_origzMultiCapture.pop_outerr_to_orig‘  sv   € à—?’?Ñ$Ô$‰ˆˆSØð 	#Ø”8Ð'Ð'Ð'ØŒH×Ò˜cÑ"Ô"Ð"Øð 	#Ø”8Ð'Ð'Ð'ØŒH×Ò˜cÑ"Ô"Ð"Ø�Cˆxˆr<   rÄ   c                óî   — d| _         | j        r| j                             ¦   «          | j        r| j                             ¦   «          |r)| j        r$| j                             ¦   «          d| _        d S d S d S )Nr5  T)r  r{   rû   r|   rx  r}  ©r†   rx  s     r:   Úsuspend_capturingzMultiCapture.suspend_capturingœ  sŒ   € Ø!ˆŒØŒ8ð 	ØŒH×ÒÑÔÐØŒ8ð 	ØŒH×ÒÑÔÐØð 	&�4”8ð 	&ØŒH×ÒÑÔÐØ!%ˆDÔÐÐð	&ð 	&ð 	&ð 	&r<   c                óø   — d| _         | j        r| j                             ¦   «          | j        r| j                             ¦   «          | j        r+| j        €J ‚| j                             ¦   «          d| _        d S d S )Nr1  F)r  r{   rý   r|   r}  rx  r…   s    r:   Úresume_capturingzMultiCapture.resume_capturing¦  s„   € ØˆŒØŒ8ð 	ØŒH�OŠOÑÔÐØŒ8ð 	ØŒH�OŠOÑÔÐØÔð 	'Ø”8Ð'Ð'Ð'ØŒH�OŠOÑÔÐØ!&ˆDÔÐÐð	'ð 	'r<   c                ó  — | j         dk    rt          d¦  «        ‚d| _         | j        r| j                             ¦   «          | j        r| j                             ¦   «          | j        r| j                             ¦   «          dS dS )z+Stop capturing and reset capturing streams.Ústoppedzwas already stoppedN)r  Ú
ValueErrorr{   rù   r|   rx  r…   s    r:   Ústop_capturingzMultiCapture.stop_capturing±  s~   € àŒ;˜)Ò#Ð#ÝÐ2Ñ3Ô3Ð3ØˆŒØŒ8ð 	ØŒH�MŠM‰OŒOˆOØŒ8ð 	ØŒH�MŠM‰OŒOˆOØŒ8ð 	ØŒH�MŠM‰OŒOˆOˆOˆOð	ð 	r<   c                ó   — | j         dk    S )z7Whether actively capturing -- not suspended or stopped.r1  )r  r…   s    r:   Ú
is_startedzMultiCapture.is_started½  s   € àŒ{˜iÒ'Ð'r<   úCaptureResult[AnyStr]c                óª   — | j         r| j                              ¦   «         nd}| j        r| j                             ¦   «         nd}t          ||¦  «        S r  )r{   r  r|   rs  rƒ  s      r:   r‚  zMultiCapture.readouterrÁ  sF   € Ø!%¤Ð1ˆdŒh�mŠm‰oŒoˆo¨rˆØ!%¤Ð1ˆdŒh�mŠm‰oŒoˆo¨rˆå˜S #Ñ&Ô&Ð&r<   )rx  ry  r{   ry  r|   ry  r'   r(   rŒ   rŸ   )r'   r€  ©F©rx  rÄ   r'   r(   rí   ©r'   r�  )r�   rŽ   r�   r  r}  r™   r$  r  r„  r‡  r‰  r�  r�  r‚  r€   r<   r:   rw  rw  t  s×   € € € € € Ø€FØ€Mð3ð 3ð 3ð 3ð
ð 
ð 
ð 
ðð ð ð ð	ð 	ð 	ð 	ð&ð &ð &ð &ð &ð	'ð 	'ð 	'ð 	'ð
ð 
ð 
ð 
ð(ð (ð (ð (ð'ð 'ð 'ð 'ð 'ð 'r<   rw  r,   Ú_CaptureMethodúMultiCapture[str]c                ó¾  — | dk    r9t          t          d¦  «        t          d¦  «        t          d¦  «        ¬¦  «        S | dk    r9t          t          d¦  «        t          d¦  «        t          d¦  «        ¬¦  «        S | dk    rt          d d d ¬¦  «        S | dk    r0t          d t          dd	¬
¦  «        t          dd	¬
¦  «        ¬¦  «        S t          d| ›�¦  «        ‚)Nr"   r   r  r  r{  r#   r$   r%   Tr  zunknown capturing method: )rw  rl  rK  rŒ  )r,   s    r:   Ú_get_multicapturer˜  È  sÝ   € Ø�‚~€~Ý¥	¨!¡¤µ)¸A±,´,ÅIÈaÁLÄLÐQÑQÔQÐQØ	�5ŠˆÝ¥
¨1¡¤µ:¸a±=´=ÅjÐQRÁmÄmÐTÑTÔTÐTØ	�4ŠˆÝ ¨$°DÐ9Ñ9Ô9Ð9Ø	�9Ò	Ð	ÝØ�* Q¨DÐ1Ñ1Ô1µzÀ!ÈÐ7NÑ7NÔ7Nð
ñ 
ô 
ð 	
õ Ð<°&Ð<Ð<Ñ
=Ô
=Ð=r<   c                  óê  — e Zd ZdZd2d„Zd3d„Zd4d
„Zd5d„Zd6d„Zd6d„Z	d6d„Z
d7d8d„Zd7d8d„Zd6d„Zd9d„Zd:d„Zd6d„Zd6d„Zd6d„Zd6d„Zd6d„Zej        d;d „¦   «         Zej        d<d$„¦   «         Z ed%¬&¦  «        d=d*„¦   «         Z ed%¬&¦  «        d>d+„¦   «         Z ed%¬&¦  «        d>d,„¦   «         Z ed%¬&¦  «        d>d-„¦   «         Z ed%¬.¦  «        d6d/„¦   «         Z ed%¬.¦  «        d6d0„¦   «         Zd1S )?rp   a¹  The capture plugin.

    Manages that the appropriate capture method is enabled/disabled during
    collection and each test phase (setup, call, teardown). After each of
    those points, the captured output is obtained and attached to the
    collection/runtest report.

    There are two levels of capture:

    * global: enabled by default and can be suppressed by the ``-s``
      option. This is always enabled/disabled during collection and each test
      phase.

    * fixture: when a test function or one of its fixture depend on the
      ``capsys`` or ``capfd`` fixtures. In this case special handling is
      needed to ensure the fixtures take precedence over the global capture.
    r,   r•  r'   r(   c                ó0   — || _         d | _        d | _        d S rƒ   ©Ú_methodÚ_global_capturingÚ_capture_fixture)r†   r,   s     r:   r™   zCaptureManager.__init__ì  s   € Ø$ˆŒØ;?ˆÔØ<@ˆÔÐÐr<   r�   c                ó8   — d| j         ›d| j        ›d| j        ›d�S )Nz<CaptureManager _method=z _global_capturing=z _capture_fixture=r^  r›  r…   s    r:   r$  zCaptureManager.__repr__ñ  s>   € ð; t¤|ð ;ð ;È$ÔJ`ð ;ð ;Ø $Ô 5ð;ð ;ð ;ð	
r<   ú
str | boolc                óh   — |                       ¦   «         rdS | j        rd| j        j        j        › �S dS )NÚglobalzfixture F)Úis_globally_capturingrž  ÚrequestÚfixturenamer…   s    r:   Úis_capturingzCaptureManager.is_capturing÷  sC   € Ø×%Ò%Ñ'Ô'ð 	Ø�8ØÔ ð 	JØI˜dÔ3Ô;ÔGÐIÐIÐIØˆur<   rÄ   c                ó   — | j         dk    S )Nr$   )rœ  r…   s    r:   r£  z$CaptureManager.is_globally_capturing   s   € ØŒ|˜tÒ#Ð#r<   c                ó|   — | j         �J ‚t          | j        ¦  «        | _         | j                              ¦   «          d S rƒ   )r�  r˜  rœ  r  r…   s    r:   rt   z%CaptureManager.start_global_capturing  s>   € ØÔ%Ð-Ð-Ð-Ý!2°4´<Ñ!@Ô!@ˆÔØÔ×.Ò.Ñ0Ô0Ð0Ð0Ð0r<   c                óŠ   — | j         �;| j                              ¦   «          | j                              ¦   «          d | _         d S d S rƒ   )r�  r„  r�  r…   s    r:   rs   z$CaptureManager.stop_global_capturing  sK   € ØÔ!Ð-ØÔ"×5Ò5Ñ7Ô7Ð7ØÔ"×1Ò1Ñ3Ô3Ð3Ø%)ˆDÔ"Ð"Ð"ð .Ð-r<   c                óJ   — | j         �| j                              ¦   «          d S d S rƒ   )r�  r‰  r…   s    r:   Úresume_global_capturez$CaptureManager.resume_global_capture  s0   € ð Ô!Ð-ØÔ"×3Ò3Ñ5Ô5Ð5Ð5Ð5ð .Ð-r<   Frx  c                óN   — | j         �| j                              |¬¦  «         d S d S )N©rx  )r�  r‡  r†  s     r:   ru   z%CaptureManager.suspend_global_capture  s3   € ØÔ!Ð-ØÔ"×4Ò4¸Ð4Ñ=Ô=Ð=Ð=Ð=ð .Ð-r<   c                óX   — |                       ¦   «          |                      |¦  «         d S rƒ   )Úsuspend_fixtureru   r†  s     r:   rû   zCaptureManager.suspend  s.   € à×ÒÑÔÐØ×#Ò# CÑ(Ô(Ð(Ð(Ð(r<   c                óV   — |                       ¦   «          |                      ¦   «          d S rƒ   )r«  Úresume_fixturer…   s    r:   rý   zCaptureManager.resume  s,   € Ø×"Ò"Ñ$Ô$Ð$Ø×ÒÑÔÐÐÐr<   úCaptureResult[str]c                óF   — | j         €J ‚| j                              ¦   «         S rƒ   )r�  r‚  r…   s    r:   rw   z"CaptureManager.read_global_capture!  s&   € ØÔ%Ð1Ð1Ð1ØÔ%×0Ò0Ñ2Ô2Ð2r<   Úcapture_fixtureúCaptureFixture[Any]c                óž   — | j         r>| j         j        j        }|j        j        }|j                             d|› d|› d�¦  «         || _         d S )Nzcannot use z and z at the same time)rž  r¤  r¥  Ú
raiseerror)r†   r´  Úcurrent_fixtureÚrequested_fixtures       r:   Úset_fixturezCaptureManager.set_fixture'  si   € ØÔ ð 	Ø"Ô3Ô;ÔGˆOØ /Ô 7Ô CÐØÔ#×.Ò.ØXÐ/ÐXÐX°oÐXÐXÐXñô ð ð !0ˆÔÐÐr<   c                ó   — d | _         d S rƒ   )rž  r…   s    r:   Úunset_fixturezCaptureManager.unset_fixture0  s   € Ø $ˆÔÐÐr<   c                óJ   — | j         r| j                              ¦   «          dS dS )z|If the current item is using ``capsys`` or ``capfd``, activate
        them so they take precedence over the global capture.N)rž  Ú_startr…   s    r:   Úactivate_fixturezCaptureManager.activate_fixture3  s4   € ð Ô ð 	+ØÔ!×(Ò(Ñ*Ô*Ð*Ð*Ð*ð	+ð 	+r<   c                óJ   — | j         r| j                              ¦   «          dS dS )zDDeactivate the ``capsys`` or ``capfd`` fixture of this item, if any.N)rž  rÊ   r…   s    r:   Údeactivate_fixturez!CaptureManager.deactivate_fixture9  s2   € àÔ ð 	*ØÔ!×'Ò'Ñ)Ô)Ð)Ð)Ð)ð	*ð 	*r<   c                óJ   — | j         r| j                              ¦   «          d S d S rƒ   )rž  Ú_suspendr…   s    r:   r¯  zCaptureManager.suspend_fixture>  s2   € ØÔ ð 	-ØÔ!×*Ò*Ñ,Ô,Ð,Ð,Ð,ð	-ð 	-r<   c                óJ   — | j         r| j                              ¦   «          d S d S rƒ   )rž  Ú_resumer…   s    r:   r±  zCaptureManager.resume_fixtureB  s2   € ØÔ ð 	,ØÔ!×)Ò)Ñ+Ô+Ð+Ð+Ð+ð	,ð 	,r<   rk   c              #  ó¬  K  — | j         o| j                              ¦   «         }|r|                      ¦   «          | j        o| j                             ¦   «         }|r|                      ¦   «          	 dV — |r|                      ¦   «          |r|                      ¦   «          dS dS # |r|                      ¦   «          |r|                      ¦   «          w w xY w)zLContext manager to temporarily disable global and current fixture capturing.N)rž  Ú_is_startedr¯  r�  r�  ru   r«  r±  )r†   Ú
do_fixtureÚ	do_globals      r:   Úglobal_and_fixture_disabledz*CaptureManager.global_and_fixture_disabledH  s  è è € ð Ô*ÐR¨tÔ/D×/PÒ/PÑ/RÔ/Rˆ
Øð 	#Ø× Ò Ñ"Ô"Ð"ØÔ*ÐR¨tÔ/E×/PÒ/PÑ/RÔ/Rˆ	Øð 	*Ø×'Ò'Ñ)Ô)Ð)ð	&ØˆEˆEˆEàð -Ø×*Ò*Ñ,Ô,Ð,Øð &Ø×#Ò#Ñ%Ô%Ð%Ð%Ð%ð&ð &øð ð -Ø×*Ò*Ñ,Ô,Ð,Øð &Ø×#Ò#Ñ%Ô%Ð%Ð%ð&øøøs   Á0B$ Â$/CÚwhenÚitemr   c              #  ó*  K  — |                       ¦   «          |                      ¦   «          	 d V — |                      ¦   «          |                      d¬¦  «         |                      ¦   «         \  }}|                     |d|¦  «         |                     |d|¦  «         d S # |                      ¦   «          |                      d¬¦  «         |                      ¦   «         \  }}|                     |d|¦  «         |                     |d|¦  «         w xY w)NFr­  rd   re   )r«  r¿  rÁ  ru   rw   Úadd_report_section)r†   rË  rÌ  r{   r|   s        r:   Úitem_capturezCaptureManager.item_captureY  s#  è è € à×"Ò"Ñ$Ô$Ð$Ø×ÒÑÔÐð	9ØˆEˆEˆEà×#Ò#Ñ%Ô%Ð%Ø×'Ò'¨EÐ'Ñ2Ô2Ð2à×/Ò/Ñ1Ô1‰HˆC�Ø×#Ò# D¨(°CÑ8Ô8Ð8Ø×#Ò# D¨(°CÑ8Ô8Ð8Ð8Ð8øð ×#Ò#Ñ%Ô%Ð%Ø×'Ò'¨EÐ'Ñ2Ô2Ð2à×/Ò/Ñ1Ô1‰HˆC�Ø×#Ò# D¨(°CÑ8Ô8Ð8Ø×#Ò# D¨(°CÑ8Ô8Ð8Ð8øøøs   ¬B! Â!A1DTrh   Ú	collectorr   ú-Generator[None, CollectReport, CollectReport]c              #  ór  K  — t          |t          ¦  «        r›|                      ¦   «          	 d V —}|                      ¦   «          n# |                      ¦   «          w xY w|                      ¦   «         \  }}|r|j                             d|f¦  «         |r|j                             d|f¦  «         nd V —}|S )NzCaptured stdoutzCaptured stderr)ra   r   r«  ru   rw   ÚsectionsÚappend)r†   rÐ  Úrepr{   r|   s        r:   Úpytest_make_collect_reportz)CaptureManager.pytest_make_collect_reporti  sÓ   è è € õ �i¥Ñ&Ô&ð 	Ø×&Ò&Ñ(Ô(Ð(ð.Ø�e�e�à×+Ò+Ñ-Ô-Ð-Ð-ø�×+Ò+Ñ-Ô-Ð-Ð-øøøØ×/Ò/Ñ1Ô1‰HˆC�Øð >Ø”×#Ò#Ð%6¸Ð$<Ñ=Ô=Ð=Øð >Ø”×#Ò#Ð%6¸Ð$<Ñ=Ô=Ð=øà�%�%ˆCØˆ
s   ­A ÁAc              #  ón   K  — |                       d|¦  «        5  d V —cd d d ¦  «         S # 1 swxY w Y   d S )NÚsetup©rÏ  ©r†   rÌ  s     r:   Úpytest_runtest_setupz#CaptureManager.pytest_runtest_setup|  s‡   è è € à×Ò˜w¨Ñ-Ô-ð 	ð 	Ø�E�Eð	ð 	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	ó   ™*ª.±.c              #  ón   K  — |                       d|¦  «        5  d V —cd d d ¦  «         S # 1 swxY w Y   d S )NÚcallrÙ  rÚ  s     r:   Úpytest_runtest_callz"CaptureManager.pytest_runtest_call�  s‡   è è € à×Ò˜v tÑ,Ô,ð 	ð 	Ø�E�Eð	ð 	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	rÜ  c              #  ón   K  — |                       d|¦  «        5  d V —cd d d ¦  «         S # 1 swxY w Y   d S )NÚteardownrÙ  rÚ  s     r:   Úpytest_runtest_teardownz&CaptureManager.pytest_runtest_teardown†  s‡   è è € à×Ò˜z¨4Ñ0Ô0ð 	ð 	Ø�E�Eð	ð 	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	rÜ  )Útryfirstc                ó.   — |                       ¦   «          d S rƒ   ©rs   r…   s    r:   Úpytest_keyboard_interruptz(CaptureManager.pytest_keyboard_interrupt‹  ó   € à×"Ò"Ñ$Ô$Ð$Ð$Ð$r<   c                ó.   — |                       ¦   «          d S rƒ   rå  r…   s    r:   Úpytest_internalerrorz#CaptureManager.pytest_internalerror�  rç  r<   N)r,   r•  r'   r(   rŒ   )r'   r   rí   rŸ   r’  r“  )r'   r²  )r´  rµ  r'   r(   ©r'   rk   )rË  r�   rÌ  r   r'   rk   )rÐ  r   r'   rÑ  )rÌ  r   r'   rk   ) r�   rŽ   r�   rj  r™   r$  r¦  r£  rt   rs   r«  ru   rû   rý   rw   rº  r¼  r¿  rÁ  r¯  r±  Ú
contextlibÚcontextmanagerrÊ  rÏ  r   rÖ  rÛ  rß  râ  ræ  ré  r€   r<   r:   rp   rp   Ù  sÜ  € € € € € ðð ð$Að Að Að Að

ð 
ð 
ð 
ðð ð ð ð$ð $ð $ð $ð1ð 1ð 1ð 1ð
*ð *ð *ð *ð6ð 6ð 6ð 6ð>ð >ð >ð >ð >ð)ð )ð )ð )ð )ð
ð ð ð ð3ð 3ð 3ð 3ð0ð 0ð 0ð 0ð%ð %ð %ð %ð+ð +ð +ð +ð*ð *ð *ð *ð
-ð -ð -ð -ð,ð ,ð ,ð ,ð Ôð&ð &ð &ñ Ôð&ð  Ôð9ð 9ð 9ñ Ôð9ð €X�dÐÑÔðð ð ñ Ôðð$ €X�dÐÑÔðð ð ñ Ôðð €X�dÐÑÔðð ð ñ Ôðð €X�dÐÑÔðð ð ñ Ôðð €X�tÐÑÔð%ð %ð %ñ Ôð%ð €X�tÐÑÔð%ð %ð %ñ Ôð%ð %ð %r<   rp   c                  ót   — e Zd ZdZdddœdd„Zdd„Zdd„Zdd„Zdd„Zdd„Z	dd„Z
ej        dd„¦   «         ZdS )ÚCaptureFixturez|Object returned by the :fixture:`capsys`, :fixture:`capsysbinary`,
    :fixture:`capfd` and :fixture:`capfdbinary` fixtures.NF©ÚconfigÚ	_ispytestÚcaptureclassútype[CaptureBase[AnyStr]]r¤  r   rð  údict[str, Any] | Nonerñ  rÄ   r'   r(   c               ó¨   — t          |¦  «         || _        || _        |r|ni | _        d | _        | j        j        | _        | j        j        | _        d S rƒ   )r   rò  r¤  Ú_configÚ_capturerð   Ú_captured_outÚ_captured_err)r†   rò  r¤  rð  rñ  s        r:   r™   zCaptureFixture.__init__˜  sZ   € õ 	�yÑ!Ô!Ð!Ø7CˆÔØˆŒØ!'Ð/�v�v¨RˆŒØ59ˆŒØ%)Ô%6Ô%CˆÔØ%)Ô%6Ô%CˆÔÐÐr<   c           	     ó¸   — | j         €Rt          d  | j        di | j        ¤Ž | j        di | j        ¤Ž¬¦  «        | _         | j                              ¦   «          d S d S )Nr  r  r{  )r  )r  )r÷  rw  rò  rö  r  r…   s    r:   r¾  zCaptureFixture._start¨  sw   € ØŒ=Ð Ý(ØØ%�DÔ%Ð8Ð8¨4¬<Ð8Ð8Ø%�DÔ%Ð8Ð8¨4¬<Ð8Ð8ðñ ô ˆDŒMð
 ŒM×)Ò)Ñ+Ô+Ð+Ð+Ð+ð !Ð r<   c                ó>  — | j         �•| j                             d¦  «        r| j                              ¦   «         \  }}n| j                              ¦   «         \  }}| xj        |z  c_        | xj        |z  c_        | j                              ¦   «          d | _         d S d S )Nr  )r÷  rö  Úgetr‚  r„  rø  rù  r�  rƒ  s      r:   rÊ   zCaptureFixture.close±  s£   € ØŒ=Ð$ØŒ|×Ò Ñ&Ô&ð >ð
  œ=×3Ò3Ñ5Ô5‘��S�Sàœ=×;Ò;Ñ=Ô=‘��SØÐÔ #Ñ%ÐÔØÐÔ #Ñ%ÐÔØŒM×(Ò(Ñ*Ô*Ð*Ø ˆDŒMˆMˆMð %Ð$r<   r�  c                óÜ   — | j         | j        }}| j        �&| j                             ¦   «         \  }}||z  }||z  }| j        j        | _         | j        j        | _        t          ||¦  «        S )z×Read and return the captured output so far, resetting the internal
        buffer.

        :returns:
            The captured content as a namedtuple with ``out`` and ``err``
            string attributes.
        )rø  rù  r÷  r‚  rò  rð   rs  )r†   Úcaptured_outÚcaptured_errr{   r|   s        r:   r‚  zCaptureFixture.readouterrÀ  sr   € ð &*Ô%7¸Ô9K�lˆØŒ=Ð$Ø”}×/Ò/Ñ1Ô1‰HˆC�Ø˜CÑˆLØ˜CÑˆLØ!Ô.Ô;ˆÔØ!Ô.Ô;ˆÔÝ˜\¨<Ñ8Ô8Ð8r<   c                óJ   — | j         �| j                              ¦   «          dS dS )z1Suspend this fixture's own capturing temporarily.N)r÷  r‡  r…   s    r:   rÃ  zCaptureFixture._suspendÑ  s,   € àŒ=Ð$ØŒM×+Ò+Ñ-Ô-Ð-Ð-Ð-ð %Ð$r<   c                óJ   — | j         �| j                              ¦   «          dS dS )z0Resume this fixture's own capturing temporarily.N)r÷  r‰  r…   s    r:   rÅ  zCaptureFixture._resumeÖ  s,   € àŒ=Ð$ØŒM×*Ò*Ñ,Ô,Ð,Ð,Ð,ð %Ð$r<   c                óF   — | j         �| j                              ¦   «         S dS )z5Whether actively capturing -- not disabled or closed.NF)r÷  r�  r…   s    r:   rÇ  zCaptureFixture._is_startedÛ  s#   € àŒ=Ð$Ø”=×+Ò+Ñ-Ô-Ð-Øˆur<   rk   c              #  ó´   K  — | j         j        j                             d¦  «        }|                     ¦   «         5  dV — ddd¦  «         dS # 1 swxY w Y   dS )z>Temporarily disable capturing while inside the ``with`` block.rm   N)r¤  rð  ro   Ú	getpluginrÊ  )r†   Ú
capmanagers     r:   ÚdisabledzCaptureFixture.disabledá  s©   è è € ð &*¤\Ô%8Ô%F×%PÒ%PØñ&
ô &
ˆ
ð ×3Ò3Ñ5Ô5ð 	ð 	ØˆEˆEˆEð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   »AÁAÁA)
rò  ró  r¤  r   rð  rô  rñ  rÄ   r'   r(   rŸ   r”  rí   rê  )r�   rŽ   r�   rj  r™   r¾  rÊ   r‚  rÃ  rÅ  rÇ  rë  rì  r  r€   r<   r:   rî  rî  ”  sæ   € € € € € ð=ð =ð )-ØðDð Dð Dð Dð Dð Dð ,ð ,ð ,ð ,ð!ð !ð !ð !ð9ð 9ð 9ð 9ð".ð .ð .ð .ð
-ð -ð -ð -ð
ð ð ð ð Ôðð ð ñ Ôðð ð r<   rî  r¤  r   úGenerator[CaptureFixture[str]]c              #  ó   K  — | j         j                             d¦  «        }t          t          | d¬¦  «        }|                     |¦  «         |                     ¦   «          |V — |                     ¦   «          |                     ¦   «          dS )a  Enable text capturing of writes to ``sys.stdout`` and ``sys.stderr``.

    The captured output is made available via ``capsys.readouterr()`` method
    calls, which return a ``(out, err)`` namedtuple.
    ``out`` and ``err`` will be ``text`` objects.

    Returns an instance of :class:`CaptureFixture[str] <pytest.CaptureFixture>`.

    Example:

    .. code-block:: python

        def test_output(capsys):
            print("hello")
            captured = capsys.readouterr()
            assert captured.out == "hello\n"
    rm   T©rñ  N)	rð  ro   r  rî  rK  rº  r¾  rÊ   r¼  ©r¤  rz   r´  s      r:   Úcapsysr  î  s‘   è è € ð& %œ^Ô9×CÒCÐDTÑUÔU€FÝ$¥Z°ÀDÐIÑIÔI€OØ
×Ò�Ñ'Ô'Ð'Ø×ÒÑÔÐØ
ÐÐÐØ×ÒÑÔÐØ
×ÒÑÔÐÐÐr<   c              #  ó>  K  — | j         j                             d¦  «        }t          t          | t          d¬¦  «        d¬¦  «        }|                     |¦  «         |                     ¦   «          |V — |                     ¦   «          | 	                    ¦   «          dS )a×  Enable simultaneous text capturing and pass-through of writes
    to ``sys.stdout`` and ``sys.stderr`` as defined by ``--capture=``.


    The captured output is made available via ``capteesys.readouterr()`` method
    calls, which return a ``(out, err)`` namedtuple.
    ``out`` and ``err`` will be ``text`` objects.

    The output is also passed-through, allowing it to be "live-printed",
    reported, or both as defined by ``--capture=``.

    Returns an instance of :class:`CaptureFixture[str] <pytest.CaptureFixture>`.

    Example:

    .. code-block:: python

        def test_output(capteesys):
            print("hello")
            captured = capteesys.readouterr()
            assert captured.out == "hello\n"
    rm   Tr  rï  N)
rð  ro   r  rî  rK  Údictrº  r¾  rÊ   r¼  r
  s      r:   Ú	capteesysr  
  s¤   è è € ð0 %œ^Ô9×CÒCÐDTÑUÔU€FÝ$Ý�G¥D¨T N¡N¤N¸dðñ ô €Oð ×Ò�Ñ'Ô'Ð'Ø×ÒÑÔÐØ
ÐÐÐØ×ÒÑÔÐØ
×ÒÑÔÐÐÐr<   ú Generator[CaptureFixture[bytes]]c              #  ó   K  — | j         j                             d¦  «        }t          t          | d¬¦  «        }|                     |¦  «         |                     ¦   «          |V — |                     ¦   «          |                     ¦   «          dS )a'  Enable bytes capturing of writes to ``sys.stdout`` and ``sys.stderr``.

    The captured output is made available via ``capsysbinary.readouterr()``
    method calls, which return a ``(out, err)`` namedtuple.
    ``out`` and ``err`` will be ``bytes`` objects.

    Returns an instance of :class:`CaptureFixture[bytes] <pytest.CaptureFixture>`.

    Example:

    .. code-block:: python

        def test_output(capsysbinary):
            print("hello")
            captured = capsysbinary.readouterr()
            assert captured.out == b"hello\n"
    rm   Tr	  N)	rð  ro   r  rî  r=  rº  r¾  rÊ   r¼  r
  s      r:   Úcapsysbinaryr  -  s’   è è € ð& %œ^Ô9×CÒCÐDTÑUÔU€FÝ$Õ%5°wÈ$ÐOÑOÔO€OØ
×Ò�Ñ'Ô'Ð'Ø×ÒÑÔÐØ
ÐÐÐØ×ÒÑÔÐØ
×ÒÑÔÐÐÐr<   c              #  ó   K  — | j         j                             d¦  «        }t          t          | d¬¦  «        }|                     |¦  «         |                     ¦   «          |V — |                     ¦   «          |                     ¦   «          dS )a  Enable text capturing of writes to file descriptors ``1`` and ``2``.

    The captured output is made available via ``capfd.readouterr()`` method
    calls, which return a ``(out, err)`` namedtuple.
    ``out`` and ``err`` will be ``text`` objects.

    Returns an instance of :class:`CaptureFixture[str] <pytest.CaptureFixture>`.

    Example:

    .. code-block:: python

        def test_system_echo(capfd):
            os.system('echo "hello"')
            captured = capfd.readouterr()
            assert captured.out == "hello\n"
    rm   Tr	  N)	rð  ro   r  rî  rl  rº  r¾  rÊ   r¼  r
  s      r:   Úcapfdr  I  s‘   è è € ð& %œ^Ô9×CÒCÐDTÑUÔU€FÝ$¥Y°À4ÐHÑHÔH€OØ
×Ò�Ñ'Ô'Ð'Ø×ÒÑÔÐØ
ÐÐÐØ×ÒÑÔÐØ
×ÒÑÔÐÐÐr<   c              #  ó   K  — | j         j                             d¦  «        }t          t          | d¬¦  «        }|                     |¦  «         |                     ¦   «          |V — |                     ¦   «          |                     ¦   «          dS )a-  Enable bytes capturing of writes to file descriptors ``1`` and ``2``.

    The captured output is made available via ``capfd.readouterr()`` method
    calls, which return a ``(out, err)`` namedtuple.
    ``out`` and ``err`` will be ``byte`` objects.

    Returns an instance of :class:`CaptureFixture[bytes] <pytest.CaptureFixture>`.

    Example:

    .. code-block:: python

        def test_system_echo(capfdbinary):
            os.system('echo "hello"')
            captured = capfdbinary.readouterr()
            assert captured.out == b"hello\n"

    rm   Tr	  N)	rð  ro   r  rî  re  rº  r¾  rÊ   r¼  r
  s      r:   Úcapfdbinaryr  e  s‘   è è € ð( %œ^Ô9×CÒCÐDTÑUÔU€FÝ$¥_°gÈÐNÑNÔN€OØ
×Ò�Ñ'Ô'Ð'Ø×ÒÑÔÐØ
ÐÐÐØ×ÒÑÔÐØ
×ÒÑÔÐÐÐr<   )r&   r   r'   r(   rŸ   )rH   r   r'   r(   )rj   r   r'   rk   )r,   r•  r'   r–  )r¤  r   r'   r  )r¤  r   r'   r  )Srj  Ú
__future__r   r  ÚcollectionsÚcollections.abcr   r   r   rë  rQ   r   rT   r#   Útempfiler	   Útypesr
   Útypingr   r   r   r   r   r   r   r   r   r   r   Útyping_extensionsr   Ú_pytest.configr   r   Ú_pytest.config.argparsingr   Ú_pytest.deprecatedr   Ú_pytest.fixturesr   r   Ú_pytest.nodesr   r   r   Ú_pytest.reportsr    r•  r;   rC   rG   rg   r}   rR   r   r“   r£   r«   ÚABCrï   r  r�   r	  r  r>  r=  rK  rO  re  rl  Úversion_infors  Ú
namedtuplerw  r˜  rp   rî  r  r  r  r  r  r€   r<   r:   ú<module>r&     s4  ðà 1Ð 1à "Ð "Ð "Ð "Ð "Ð "à 
€
€
€
Ø Ð Ð Ð Ø %Ð %Ð %Ð %Ð %Ð %Ø $Ð $Ð $Ð $Ð $Ð $Ø $Ð $Ð $Ð $Ð $Ð $Ø Ð Ð Ð Ø 	€	€	€	Ø #Ð #Ð #Ð #Ð #Ð #Ø 	€	€	€	Ø 
€
€
€
Ø "Ð "Ð "Ð "Ð "Ð "Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  ð ð 'Ø&Ð&Ð&Ð&Ð&Ð&à !Ð !Ð !Ð !Ð !Ð !Ø #Ð #Ð #Ð #Ð #Ð #Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø -Ð -Ð -Ð -Ð -Ð -Ø $Ð $Ð $Ð $Ð $Ð $Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø #Ð #Ð #Ð #Ð #Ð #Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø )Ð )Ð )Ð )Ð )Ð )ð Ð5Ô6€ðð ð ð ð&ð ð ð ðð ð ð ð"41ð 41ð 41ð 41ðn 
€�$ÐÑÔðð ð ñ Ôðð<<ð <ð <ð <ð <�"Ô"ñ <ô <ð <ð"6ð 6ð 6ð 6ð 6�Ô ñ 6ô 6ð 6ð$ð $ð $ð $ð $�9ñ $ô $ð $ðJð Jð Jð Jð J˜ñ Jô Jð Jð`$ð $ð $ð $ð $�#”'˜7 6œ?ñ $ô $ð $ð@ ˜x¨HÐ5Ð5€ðð ð ð ð �˜CÔ ñ ô ð ð2@ ð @ ð @ ð @ ð @ �[ Ô(ñ @ ô @ ð @ ðF!ð !ð !ð !ð !�~ eÔ,ñ !ô !ð !ð$ð ð ð ð � Ô$ñ ô ð ð"\ ð \ ð \ ð \ ð \ �K Ô'ñ \ ô \ ð \ ð~+ð +ð +ð +ð +�m EÔ*ñ +ô +ð +ð,;ð ;ð ;ð ;ð ;�˜cÔ"ñ ;ô ;ð ;ð6 Ô�wÒÐ -Ðà
ðð ð ð ð ˜
 G¨F¤Oñ ô ñ „Uðð ðð ð ð ð ØˆÔ˜°¸°Ñ?Ô?Ø�Œñô ð ðQ'ð Q'ð Q'ð Q'ð Q'�7˜6”?ñ Q'ô Q'ð Q'ðh>ð >ð >ð >ð"x%ð x%ð x%ð x%ð x%ñ x%ô x%ð x%ðvTð Tð Tð Tð T�W˜V”_ñ Tô Tð Tðt 	ðð ð ñ 	„ðð6 	ðð ð ñ 	„ððD 	ðð ð ñ 	„ðð6 	ðð ð ñ 	„ðð6 	ðð ð ñ 	„ðð ð r<   