Ë
    V.jÌ@  ã                  ón  — d Z ddlm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 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,Z,e
 G d„ d«      «       Z- G d„ d«      Z.e
ej^                   G d „ d!«      «       «       Z0 G d"„ d#«      Z1d3d$„Z2d4d%„Z3d5d&„Z4d6d'„Z5d6d(„Z6d7d)„Z7d8d*„Z8d9d+„Z9d:d,„Z:d;d-„Z; ed.¬/«      d<d0„«       Z<ed=d1„«       Z=ed>d2„«       Z>y)?z?Add backward compatibility support for the legacy py path type.é    )ÚannotationsN)ÚPath)ÚFinal)Úfinal)ÚTYPE_CHECKING)ÚSectionWrapper)ÚCache)ÚLEGACY_PATH©Úlegacy_path)ÚConfig)Úhookimpl)ÚPytestPluginManager)Úcheck_ispytest)Úfixture)ÚFixtureRequest)ÚSession)ÚMonkeyPatch)Ú	Collector)ÚItem)ÚNode)ÚHookRecorder)ÚPytester)Ú	RunResult)ÚTerminalReporter)ÚTempPathFactoryc                  óR  — e Zd ZU dZdZej                  Zded<   ej                  Zded<   ddœd9d„Z	e
d:d„«       Ze
d:d	„«       Ze
d
„ «       Ze
d„ «       Zej                  d„ «       Ze
d;d„«       Zd<d„Zd=d„Zd=d„Zd:d„Zd:d„Zd:d„Zd>d„Zd:d„Zd:d„Zd:d„Zd?d=d„Zd:d„Zd:d„Zd?d:d„Zd@d„Zd„ Z dAd„Z!d „ Z"d!„ Z#d"„ Z$d#dd$œdBd%„Z%dCd&„Z&dCd'„Z'dDd(„Z(dDd)„Z)dEd*„Z*d+„ Z+dFd,„Z,dGd-„Z-e.j^                  e.j^                  efd.„Z0ded/œdCd0„Z1dCd1„Z2d2„ Z3dd3œdCd4„Z4dHdId5„Z5dHdJd6„Z6dKd7„Z7dKd8„Z8y)LÚTestdirzì
    Similar to :class:`Pytester`, but this class works with legacy legacy_path objects instead.

    All methods just forward to an internal :class:`Pytester` instance, converting results
    to `legacy_path` objects as necessary.
    Fr   ÚCLOSE_STDINÚTimeoutExpired©Ú	_ispytestc               ó(   — t        |«       || _        y ©N)r   Ú	_pytester)ÚselfÚpytesterr"   s      úTC:\xampp\htdocs\tradingbinance\backend\.venv\Lib\site-packages\_pytest/legacypath.pyÚ__init__zTestdir.__init__7   s   € Ü�yÔ!Ø!ˆ�ó    c                ó@   — t        | j                  j                  «      S )z-Temporary directory where tests are executed.)r   r%   Úpath©r&   s    r(   ÚtmpdirzTestdir.tmpdir;   s   € ô ˜4Ÿ>™>×.Ñ.Ó/Ð/r*   c                ó@   — t        | j                  j                  «      S r$   )r   r%   Ú_test_tmprootr-   s    r(   Útest_tmprootzTestdir.test_tmproot@   s   € ä˜4Ÿ>™>×7Ñ7Ó8Ð8r*   c                ó.   — | j                   j                  S r$   )r%   Ú_requestr-   s    r(   ÚrequestzTestdir.requestD   s   € à�~‰~×&Ñ&Ð&r*   c                ó.   — | j                   j                  S r$   ©r%   Úpluginsr-   s    r(   r7   zTestdir.pluginsH   s   € à�~‰~×%Ñ%Ð%r*   c                ó&   — || j                   _        y r$   r6   )r&   r7   s     r(   r7   zTestdir.pluginsL   s   € à!(ˆ�‰Õr*   c                ó.   — | j                   j                  S r$   )r%   Ú_monkeypatchr-   s    r(   ÚmonkeypatchzTestdir.monkeypatchP   s   € à�~‰~×*Ñ*Ð*r*   c                ó8   — | j                   j                  |«      S )z(See :meth:`Pytester.make_hook_recorder`.)r%   Úmake_hook_recorder)r&   Úpluginmanagers     r(   r=   zTestdir.make_hook_recorderT   s   € à�~‰~×0Ñ0°Ó?Ð?r*   c                ó6   — | j                   j                  «       S )zSee :meth:`Pytester.chdir`.)r%   Úchdirr-   s    r(   r@   zTestdir.chdirX   s   € à�~‰~×#Ñ#Ó%Ð%r*   c                ó6   — | j                   j                  «       S r$   )r%   Ú	_finalizer-   s    r(   ÚfinalizezTestdir.finalize\   s   € Ø�~‰~×'Ñ'Ó)Ð)r*   c                ó„   — |r|j                  d«      sd|z   }t         | j                  j                  |g|¢­i |¤Ž«      S )zSee :meth:`Pytester.makefile`.Ú.)Ú
startswithr   r%   Úmakefile)r&   ÚextÚargsÚkwargss       r(   rG   zTestdir.makefile_   sB   € á�s—~‘~ cÔ*ð ˜‘)ˆCÜÐ2˜4Ÿ>™>×2Ñ2°3ÐH¸ÒHÀÑHÓIÐIr*   c                óJ   — t        | j                  j                  |«      «      S )z"See :meth:`Pytester.makeconftest`.)r   r%   Úmakeconftest©r&   Úsources     r(   rL   zTestdir.makeconftestk   s   € ä˜4Ÿ>™>×6Ñ6°vÓ>Ó?Ð?r*   c                óJ   — t        | j                  j                  |«      «      S )zSee :meth:`Pytester.makeini`.)r   r%   ÚmakeinirM   s     r(   rP   zTestdir.makeinio   s   € ä˜4Ÿ>™>×1Ñ1°&Ó9Ó:Ð:r*   c                ó8   — | j                   j                  |«      S )zSee :meth:`Pytester.getinicfg`.)r%   Ú	getinicfgrM   s     r(   rR   zTestdir.getinicfgs   ó   € à�~‰~×'Ñ'¨Ó/Ð/r*   c                óJ   — t        | j                  j                  |«      «      S )z'See :meth:`Pytester.makepyprojecttoml`.)r   r%   ÚmakepyprojecttomlrM   s     r(   rU   zTestdir.makepyprojecttomlw   s   € ä˜4Ÿ>™>×;Ñ;¸FÓCÓDÐDr*   c                óL   — t         | j                  j                  |i |¤Ž«      S )z See :meth:`Pytester.makepyfile`.)r   r%   Ú
makepyfile©r&   rI   rJ   s      r(   rW   zTestdir.makepyfile{   s$   € äÐ4˜4Ÿ>™>×4Ñ4°dÐE¸fÑEÓFÐFr*   c                óL   — t         | j                  j                  |i |¤Ž«      S )z!See :meth:`Pytester.maketxtfile`.)r   r%   ÚmaketxtfilerX   s      r(   rZ   zTestdir.maketxtfile   s$   € äÐ5˜4Ÿ>™>×5Ñ5°tÐF¸vÑFÓGÐGr*   Nc                ó8   — | j                   j                  |«      S )z#See :meth:`Pytester.syspathinsert`.)r%   Úsyspathinsert©r&   r,   s     r(   r\   zTestdir.syspathinsertƒ   s   € à�~‰~×+Ñ+¨DÓ1Ð1r*   c                óJ   — t        | j                  j                  |«      «      S )zSee :meth:`Pytester.mkdir`.)r   r%   Úmkdir©r&   Únames     r(   r_   zTestdir.mkdir‡   s   € ä˜4Ÿ>™>×/Ñ/°Ó5Ó6Ð6r*   c                óJ   — t        | j                  j                  |«      «      S )zSee :meth:`Pytester.mkpydir`.)r   r%   Úmkpydirr`   s     r(   rc   zTestdir.mkpydir‹   s   € ä˜4Ÿ>™>×1Ñ1°$Ó7Ó8Ð8r*   c                óJ   — t        | j                  j                  |«      «      S )z"See :meth:`Pytester.copy_example`.)r   r%   Úcopy_exampler`   s     r(   re   zTestdir.copy_example�   s   € ä˜4Ÿ>™>×6Ñ6°tÓ<Ó=Ð=r*   c                ó:   — | j                   j                  ||«      S )zSee :meth:`Pytester.getnode`.)r%   Úgetnode)r&   ÚconfigÚargs      r(   rg   zTestdir.getnode“   s   € à�~‰~×%Ñ% f¨cÓ2Ð2r*   c                ó8   — | j                   j                  |«      S )z!See :meth:`Pytester.getpathnode`.)r%   Úgetpathnoder]   s     r(   rk   zTestdir.getpathnode—   s   € à�~‰~×)Ñ)¨$Ó/Ð/r*   c                ó8   — | j                   j                  |«      S )zSee :meth:`Pytester.genitems`.)r%   Úgenitems)r&   Úcolitemss     r(   rm   zTestdir.genitems›   s   € à�~‰~×&Ñ& xÓ0Ð0r*   c                ó8   — | j                   j                  |«      S )zSee :meth:`Pytester.runitem`.)r%   ÚrunitemrM   s     r(   rp   zTestdir.runitemŸ   s   € à�~‰~×%Ñ% fÓ-Ð-r*   c                ó<   —  | j                   j                  |g|¢­Ž S )z&See :meth:`Pytester.inline_runsource`.)r%   Úinline_runsource)r&   rN   Úcmdlineargss      r(   rr   zTestdir.inline_runsource£   s   € à.ˆt�~‰~×.Ñ.¨vÐD¸ÒDÐDr*   c                ó4   —  | j                   j                  |Ž S )z%See :meth:`Pytester.inline_genitems`.)r%   Úinline_genitems©r&   rI   s     r(   ru   zTestdir.inline_genitems§   s   € à-ˆt�~‰~×-Ñ-¨tÐ4Ð4r*   © ©r7   Úno_reraise_ctrlcc               ó<   —  | j                   j                  |||dœŽS )z See :meth:`Pytester.inline_run`.rx   )r%   Ú
inline_run)r&   r7   ry   rI   s       r(   r{   zTestdir.inline_run«   s#   € à(ˆt�~‰~×(Ñ(Ø˜7Ð5Eò
ð 	
r*   c                ó:   —  | j                   j                  |i |¤ŽS )z)See :meth:`Pytester.runpytest_inprocess`.)r%   Úrunpytest_inprocessrX   s      r(   r}   zTestdir.runpytest_inprocess±   s   € à1ˆt�~‰~×1Ñ1°4ÐB¸6ÑBÐBr*   c                ó:   —  | j                   j                  |i |¤ŽS )zSee :meth:`Pytester.runpytest`.)r%   Ú	runpytestrX   s      r(   r   zTestdir.runpytestµ   s   € à'ˆt�~‰~×'Ñ'¨Ð8°Ñ8Ð8r*   c                ó4   —  | j                   j                  |Ž S )z!See :meth:`Pytester.parseconfig`.)r%   Úparseconfigrv   s     r(   r�   zTestdir.parseconfig¹   s   € à)ˆt�~‰~×)Ñ)¨4Ð0Ð0r*   c                ó4   —  | j                   j                  |Ž S )z$See :meth:`Pytester.parseconfigure`.)r%   Úparseconfigurerv   s     r(   rƒ   zTestdir.parseconfigure½   s   € à,ˆt�~‰~×,Ñ,¨dÐ3Ð3r*   c                ó:   — | j                   j                  ||«      S )zSee :meth:`Pytester.getitem`.)r%   Úgetitem)r&   rN   Úfuncnames      r(   r…   zTestdir.getitemÁ   s   € à�~‰~×%Ñ% f¨hÓ7Ð7r*   c                ó8   — | j                   j                  |«      S )zSee :meth:`Pytester.getitems`.)r%   ÚgetitemsrM   s     r(   rˆ   zTestdir.getitemsÅ   s   € à�~‰~×&Ñ& vÓ.Ð.r*   c                ó>   — | j                   j                  |||¬«      S )z"See :meth:`Pytester.getmodulecol`.)Ú
configargsÚwithinit)r%   Úgetmodulecol)r&   rN   rŠ   r‹   s       r(   rŒ   zTestdir.getmodulecolÉ   s%   € à�~‰~×*Ñ*Ø˜z°Hð +ó 
ð 	
r*   c                ó:   — | j                   j                  ||«      S )z%See :meth:`Pytester.collect_by_name`.)r%   Úcollect_by_name)r&   Úmodcolra   s      r(   rŽ   zTestdir.collect_by_nameÏ   s   € à�~‰~×-Ñ-¨f°dÓ;Ð;r*   c                óB   —  | j                   j                  ||||fi |¤ŽS )zSee :meth:`Pytester.popen`.)r%   Úpopen)r&   ÚcmdargsÚstdoutÚstderrÚstdinÚkws         r(   r‘   zTestdir.popenÓ   s&   € ð $ˆt�~‰~×#Ñ# G¨V°V¸UÑIÀbÑIÐIr*   ©Útimeoutr•   c               ó<   —  | j                   j                  |||dœŽS )zSee :meth:`Pytester.run`.r—   )r%   Úrun)r&   r˜   r•   r’   s       r(   rš   zTestdir.runÞ   s   € à!ˆt�~‰~×!Ñ! 7°GÀ5ÒIÐIr*   c                ó8   — | j                   j                  |«      S )zSee :meth:`Pytester.runpython`.)r%   Ú	runpython)r&   Úscripts     r(   rœ   zTestdir.runpythonâ   rS   r*   c                ó8   — | j                   j                  |«      S )z!See :meth:`Pytester.runpython_c`.)r%   Úrunpython_c)r&   Úcommands     r(   rŸ   zTestdir.runpython_cæ   s   € à�~‰~×)Ñ)¨'Ó2Ð2r*   )r˜   c               ó:   —  | j                   j                  |d|iŽS )z*See :meth:`Pytester.runpytest_subprocess`.r˜   )r%   Úrunpytest_subprocess)r&   r˜   rI   s      r(   r¢   zTestdir.runpytest_subprocessê   s   € à2ˆt�~‰~×2Ñ2°DÐJÀ'ÑJÐJr*   c                ó<   — | j                   j                  ||¬«      S )z"See :meth:`Pytester.spawn_pytest`.©Úexpect_timeout)r%   Úspawn_pytest)r&   Ústringr¥   s      r(   r¦   zTestdir.spawn_pytestî   s   € à�~‰~×*Ñ*¨6À.Ð*ÓQÐQr*   c                ó<   — | j                   j                  ||¬«      S )zSee :meth:`Pytester.spawn`.r¤   )r%   Úspawn)r&   Úcmdr¥   s      r(   r©   zTestdir.spawnò   s   € à�~‰~×#Ñ# C¸Ð#ÓGÐGr*   c                ó"   — d| j                   ›d�S )Nz	<Testdir Ú>)r.   r-   s    r(   Ú__repr__zTestdir.__repr__ö   s   € Ø˜4Ÿ;™;˜/¨Ð+Ð+r*   c                ó,   — t        | j                  «      S r$   )Ústrr.   r-   s    r(   Ú__str__zTestdir.__str__ù   s   € Ü�4—;‘;ÓÐr*   )r'   r   r"   ÚboolÚreturnÚNone©r²   r
   )r²   r   )r²   r   )r²   r³   )rN   r¯   r²   r   r$   )rh   r   r²   úItem | Collector | None)rn   zlist[Item | Collector]r²   z
list[Item])ry   r±   )r²   r   )r²   r   )Ú	test_func)rw   F)r�   r   ra   r¯   r²   rµ   )g      $@)r§   r¯   r¥   Úfloatr²   úpexpect.spawn)rª   r¯   r¥   r·   r²   r¸   )r²   r¯   )9Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú__test__r   r   Ú__annotations__r    r)   Úpropertyr.   r1   r4   r7   Úsetterr;   r=   r@   rC   rG   rL   rP   rR   rU   rW   rZ   r\   r_   rc   re   rg   rk   rm   rp   rr   ru   r{   r}   r   r�   rƒ   r…   rˆ   rŒ   rŽ   Ú
subprocessÚPIPEr‘   rš   rœ   rŸ   r¢   r¦   r©   r­   r°   rw   r*   r(   r   r   )   s£  … ñð €Hà!×-Ñ-€K�Ó-Ø$×3Ñ3€N�EÓ3à@Eõ "ð ò0ó ð0ð ò9ó ð9ð ñ'ó ð'ð ñ&ó ð&ð ‡^�^ñ)ó ð)ð ò+ó ð+ó@ó&ó*ó
Jó@ó;ó0óEóGóHô2ó7ó9ô>ó3ò0ó1ò.òEò5ð )+ÀUõ 
óCó9ó1ó4ó8ò/ó
ó<ð �‰Ø�‰Øó	Jð %)°õ Jó0ò3ð 37õ KôRôHó,ô r*   r   c                  ó(   — e Zd Zeedd„«       «       Zy)ÚLegacyTestdirPluginc                ó   — t        | d¬«      S )zú
        Identical to :fixture:`pytester`, and provides an instance whose methods return
        legacy ``LEGACY_PATH`` objects instead when applicable.

        New code should avoid using :fixture:`testdir` in favor of :fixture:`pytester`.
        Tr!   )r   )r'   s    r(   ÚtestdirzLegacyTestdirPlugin.testdirþ   s   € ô �x¨4Ô0Ð0r*   N)r'   r   r²   r   )r¹   rº   r»   Ústaticmethodr   rÆ   rw   r*   r(   rÄ   rÄ   ý   s   „ ØØò1ó ó ñ1r*   rÄ   c                  óF   — e Zd ZU dZded<   ddœ	 	 	 	 	 d
d„Zddd„Zdd„Zy	)ÚTempdirFactorya  Backward compatibility wrapper that implements ``py.path.local``
    for :class:`TempPathFactory`.

    .. note::
        These days, it is preferred to use ``tmp_path_factory``.

        :ref:`About the tmpdir and tmpdir_factory fixtures<tmpdir and tmpdir_factory>`.

    r   Ú_tmppath_factoryFr!   c               ó(   — t        |«       || _        y r$   )r   rÊ   )r&   Útmppath_factoryr"   s      r(   r)   zTempdirFactory.__init__  s   € ô 	�yÔ!Ø /ˆÕr*   c                óh   — t        | j                  j                  ||«      j                  «       «      S )zOSame as :meth:`TempPathFactory.mktemp`, but returns a ``py.path.local`` object.)r   rÊ   ÚmktempÚresolve)r&   ÚbasenameÚnumbereds      r(   rÎ   zTempdirFactory.mktemp  s)   € ä˜4×0Ñ0×7Ñ7¸À(ÓK×SÑSÓUÓVÐVr*   c                ód   — t        | j                  j                  «       j                  «       «      S )zTSame as :meth:`TempPathFactory.getbasetemp`, but returns a ``py.path.local`` object.)r   rÊ   ÚgetbasetemprÏ   r-   s    r(   rÓ   zTempdirFactory.getbasetemp#  s%   € ä˜4×0Ñ0×<Ñ<Ó>×FÑFÓHÓIÐIr*   N)rÌ   r   r"   r±   r²   r³   )T)rÐ   r¯   rÑ   r±   r²   r
   r´   )r¹   rº   r»   r¼   r¾   r)   rÎ   rÓ   rw   r*   r(   rÉ   rÉ   
  s?   … ñð &Ó%ð FKñ0Ø.ð0Ø>Bð0à	ó0ôWôJr*   rÉ   c                  óR   — e Zd Ze ed¬«      dd„«       «       Zeedd„«       «       Zy)ÚLegacyTmpdirPluginÚsession)Úscopec                ó.   — | j                   j                  S )zFReturn a :class:`pytest.TempdirFactory` instance for the test session.)rh   Ú_tmpdirhandler)r4   s    r(   Útmpdir_factoryz!LegacyTmpdirPlugin.tmpdir_factory)  s   € ð
 �~‰~×,Ñ,Ð,r*   c                ó   — t        | «      S )a=  Return a temporary directory (as `legacy_path`_ object)
        which is unique to each test function invocation.
        The temporary directory is created as a subdirectory
        of the base temporary directory, with configurable retention,
        as discussed in :ref:`temporary directory location and retention`.

        .. note::
            These days, it is preferred to use ``tmp_path``.

            :ref:`About the tmpdir and tmpdir_factory fixtures<tmpdir and tmpdir_factory>`.

        .. _legacy_path: https://py.readthedocs.io/en/latest/path.html
        r   )Útmp_paths    r(   r.   zLegacyTmpdirPlugin.tmpdir0  s   € ô  ˜8Ó$Ð$r*   N)r4   r   r²   rÉ   )rÜ   r   r²   r
   )r¹   rº   r»   rÇ   r   rÚ   r.   rw   r*   r(   rÕ   rÕ   (  s=   „ ØÙ�9Ôò-ó ó ð-ð
 Øò%ó ó ñ%r*   rÕ   c                ó6   — t        | j                  |«      «      S )z{Return a directory path object with the given name.

    Same as :func:`mkdir`, but returns a legacy py path instance.
    )r   r_   r`   s     r(   ÚCache_makedirrÞ   C  s   € ô
 �t—z‘z $Ó'Ó(Ð(r*   c                ó,   — t        | j                  «      S )zO(deprecated) The file system path of the test module which collected this test.©r   r,   r-   s    r(   ÚFixtureRequest_fspathrá   K  ó   € ä�t—y‘yÓ!Ð!r*   c                ó,   — t        | j                  «      S )zŒThe directory from which pytest was invoked.

    Prefer to use ``startpath`` which is a :class:`pathlib.Path`.

    :type: LEGACY_PATH
    ©r   Ú	startpathr-   s    r(   ÚTerminalReporter_startdirræ   P  ó   € ô �t—~‘~Ó&Ð&r*   c                óR   — t        t        | j                  j                  «      «      S )z¸The directory from which pytest was invoked.

    Prefer to use :attr:`invocation_params.dir <InvocationParams.dir>`,
    which is a :class:`pathlib.Path`.

    :type: LEGACY_PATH
    )r   r¯   Úinvocation_paramsÚdirr-   s    r(   ÚConfig_invocation_dirrë   Z  s    € ô ”s˜4×1Ñ1×5Ñ5Ó6Ó7Ð7r*   c                ó>   — t        t        | j                  «      «      S )z�The path to the :ref:`rootdir <rootdir>`.

    Prefer to use :attr:`rootpath`, which is a :class:`pathlib.Path`.

    :type: LEGACY_PATH
    )r   r¯   Úrootpathr-   s    r(   ÚConfig_rootdirrî   e  s   € ô ”s˜4Ÿ=™=Ó)Ó*Ð*r*   c                óZ   — | j                   rt        t        | j                   «      «      S dS )z�The path to the :ref:`configfile <configfiles>`.

    Prefer to use :attr:`inipath`, which is a :class:`pathlib.Path`.

    :type: Optional[LEGACY_PATH]
    N)Úinipathr   r¯   r-   s    r(   ÚConfig_inifilerñ   o  s#   € ð .2¯\ª\Œ;”s˜4Ÿ<™<Ó(Ó)ÐC¸tÐCr*   c                ó,   — t        | j                  «      S )z‡The path from which pytest was invoked.

    Prefer to use ``startpath`` which is a :class:`pathlib.Path`.

    :type: LEGACY_PATH
    rä   r-   s    r(   ÚSession_startdirró   y  rç   r*   c           	     ó  — |dk(  rp| j                   €J ‚| j                   j                  }t        |t        «      rt	        j
                  |«      n|}|D �cg c]  }t        t        ||z  «      «      ‘Œ c}S t        d|› �|«      ‚c c}w )NÚpathlistzunknown configuration type: )rð   ÚparentÚ
isinstancer¯   ÚshlexÚsplitr   Ú
ValueError)r&   ra   ÚtypeÚvalueÚdpÚinput_valuesÚxs          r(   ÚConfig__getini_unknown_typer   ƒ  s   € ØˆzÒà�|‰|Ð'Ð'Ð'Ø�\‰\× Ñ ˆÜ-7¸¼sÔ-C”u—{‘{ 5Ô)ÈˆÙ2>Ó?±,¨Q”œC  Q¡›KÕ(°,Ñ?Ð?äÐ7¸°vÐ>ÀÓFÐFùò @s   ÁBc                ó,   — t        | j                  «      S )z4(deprecated) returns a legacy_path copy of self.pathrà   r-   s    r(   ÚNode_fspathr  Ž  râ   r*   c                ó$   — t        |«      | _        y r$   )r   r,   )r&   rü   s     r(   ÚNode_fspath_setr  “  s   € Ü�U“€D…Ir*   T)Útryfirstc                óÜ  — t        «       }| j                  |j                  «       |j                  t        dt
        d¬«       |j                  t        dt        t        «      d¬«       |j                  t        dt        t        «      d¬«       |j                  t        dt        t        «      d¬«       |j                  t        dt        t        «      d¬«       |j                  t        dt        t        «      d¬«       |j                  t        dt        t         «      d¬«       |j                  t        d	t"        «       |j                  t$        dt        t&        t(        «      d¬«       y
)zLMonkeypatch legacy path attributes in several classes, as early as possible.ÚmakedirF©ÚraisingÚfspathÚstartdirÚinvocation_dirÚrootdirÚinifileÚ_getini_unknown_typeN)r   Úadd_cleanupÚundoÚsetattrr	   rÞ   r   r¿   rá   r   ræ   r   rë   rî   rñ   r   ró   r   r   r  r  )Úearly_configÚmps     r(   Úpytest_load_initial_conftestsr  —  s  € ô 
‹€BØ×Ñ˜RŸW™WÔ%ð ‡J�JŒu�i¤¸€JÔ>ð ‡J�JŒ~˜x¬Ô2GÓ)HÐRW€JÔXð ‡J�JÜ˜*¤hÔ/HÓ&IÐSXð ô ð
 ‡J�JŒvÐ'¬Ô2GÓ)HÐRW€JÔXØ‡J�JŒv�y¤(¬>Ó":ÀE€JÔJØ‡J�JŒv�y¤(¬>Ó":ÀE€JÔJð ‡J�JŒw˜
¤HÔ-=Ó$>È€JÔNð ‡J�JŒvÐ-Ô/JÔKð ‡J�JŒt�Xœx¬´_ÓEÈu€JÕUr*   c                óB  — | j                   j                  d«      rut        «       }| j                  |j                  «       	 | j
                  }t        |d¬«      }|j                  | d|d¬«       | j                   j                  t        d«       yy# t        $ r Y Œ-w xY w)	zKInstalls the LegacyTmpdirPlugin if the ``tmpdir`` plugin is also installed.r.   Tr!   rÙ   Fr  zlegacypath-tmpdirN)r>   Ú
has_pluginr   r  r  Ú_tmp_path_factoryrÉ   r  ÚAttributeErrorÚregisterrÕ   )rh   r  Útmp_path_factoryrÙ   s       r(   Úpytest_configurer  ·  s˜   € ð ×Ñ×&Ñ& xÔ0Ü‹]ˆØ×Ñ˜2Ÿ7™7Ô#ð	PØ%×7Ñ7Ðô
 ,Ð,<ÈÔMˆNØ�J‰J�vÐ/°ÈˆJÔOà×Ñ×%Ñ%Ô&8Ð:MÕNð# 1øô ò 	áð	ús   ÁB Â	BÂBc                óˆ   — | |j                  d«      u }|r-|j                  t        «      s|j                  t        d«       y y y )Nr'   zlegacypath-pytester)Ú
get_pluginÚis_registeredrÄ   r  )ÚpluginÚmanagerÚis_pytesters      r(   Úpytest_plugin_registeredr#  Î  sD   € ð ˜G×.Ñ.¨zÓ:Ð:€KÙ˜7×0Ñ0Ô1DÔEØ×ÑÔ,Ð.CÕDð F€{r*   )r&   r	   ra   r¯   r²   r
   )r&   r   r²   r
   )r&   r   r²   r
   )r&   r   r²   r
   )r&   r   r²   zLEGACY_PATH | None)r&   r   r²   r
   )ra   r¯   rû   r¯   rü   zstr | list[str])r&   r   r²   r
   )r&   r   rü   r
   r²   r³   )r  r   r²   r³   )rh   r   r²   r³   )r   Úobjectr!  r   r²   r³   )?r¼   Ú
__future__r   ÚdataclassesÚpathlibr   rø   rÁ   Útypingr   r   r   Ú	iniconfigr   Ú_pytest.cacheproviderr	   Ú_pytest.compatr
   r   Ú_pytest.configr   r   r   Ú_pytest.deprecatedr   Ú_pytest.fixturesr   r   Ú_pytest.mainr   Ú_pytest.monkeypatchr   Ú_pytest.nodesr   r   r   Ú_pytest.pytesterr   r   r   Ú_pytest.terminalr   Ú_pytest.tmpdirr   Úpexpectr   rÄ   Ú	dataclassrÉ   rÕ   rÞ   rá   ræ   rë   rî   rñ   ró   r   r  r  r  r  r#  rw   r*   r(   Ú<module>r7     s:  ðá Eå "ã Ý Û Û Ý Ý Ý  å $å 'Ý &Ý &Ý !Ý #Ý .Ý -Ý $Ý +Ý  Ý +Ý #Ý Ý Ý )Ý %Ý &Ý -Ý *ñ Ûð ÷P ð P ó ðP ÷f
1ñ 
1ð Ø×Ñ÷Jð Jó ó ðJ÷8%ñ %ó6)ó"ó
'ó8ó+óDó'óGó"ó
ñ 
�4ÔòVó ðVð> 
òOó 
ðOð, 
òEó 
ñEr*   