§ |<ˆj!Bã ó`—dZddlZddlZddlZddlmZddlmZddlmZddlm Z ddlm Z ddl m Z dd l mZdd lmZdd lmZdd lmZdd lmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddl m!Z!ddl m"Z"ddl m#Z#ddl$m%Z%ddl$m&Z&ddl$m'Z'ddl(m)Z)ddl*m+Z+e r ddl,m-Z-ddl.Z.eGd„d¦«¦«Z/Gd „d!¦«Z0eej1Gd"„d#¦«¦«¦«Z2Gd$„d%¦«Z3d&ed'e4d(efd)„Z5d&ed(efd*„Z6d&e)d(efd+„Z7d&ed(efd,„Z8d&ed(efd-„Z9d&ed(eefd.„Z:d&ed(efd/„Z;d'e4d0e4d1e e4ee4ffd2„Zed5¬6¦«d7ed(dfd8„¦«Z?ed9ed(dfd:„¦«Z@ed;eAdz?Add backward compatibility support for the legacy py path type.éN)ÚPath)ÚList)ÚOptional)Ú TYPE_CHECKING)ÚUnion)ÚSectionWrapper)ÚCache)Úfinal)Ú LEGACY_PATH©Ú legacy_path)ÚConfig)Úhookimpl)ÚPytestPluginManager)Úcheck_ispytest)Úfixture)ÚFixtureRequest)ÚSession)Ú MonkeyPatch)Ú Collector)ÚItem)ÚNode)Ú HookRecorder)ÚPytester)Ú RunResult)ÚTerminalReporter)ÚTempPathFactory)ÚFinalc óL—eZdZUdZdZejZded<ejZded<ddœdede d d fd „Z e d e fd „¦«Z e d e fd „¦«Ze d„¦«Ze d„¦«Zejd„¦«Ze d efd„¦«Zd efd„ZdHd„ZdHd„Zd e fd„Zd e fd„Zd e fd„Zded efd„Zd e fd„Zd e fd„Zd e fd„Z dIdHd„Z!d e fd„Z"d e fd„Z#dId e fd „Z$d!e%d e&e'e(e)ffd"„Z*d#„Z+d$e,e'e(e)fd e,e(fd%„Z-d&„Z.d'„Z/d(„Z0d)dd*œd+e fd,„Z1d e2fd-„Z3d e2fd.„Z4d e%fd/„Z5d e%fd0„Z6dJd2„Z7d3„Z8dKd4„Z9d5e)d6ed e&e'e(e)ffd7„Z:e;j<e;j<efd8„Z=d ed9œd e2fd:„Z>d e2fd;„Z?d<„Z@d d=œd e2fd>„ZA dLd@edAeBd dBfdC„ZCdLdDedAeBd dBfdE„ZDd efdF„ZEd efdG„ZFd S)MÚ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©Ú _ispytestÚpytesterr$ÚreturnNcó2—t|¦«||_dS©N)rÚ _pytester)Úselfr%r$s úd/builddir/build/BUILD/cloudlinux-venv-1.0.12/venv/lib/python3.11/site-packages/_pytest/legacypath.pyÚ__init__zTestdir.__init__6s€Ý�yÑ!Ô!Ð!Ø!ˆŒˆˆócó4—t|jj¦«S)z-Temporary directory where tests are executed.)r r)Úpath©r*s r+ÚtmpdirzTestdir.tmpdir:s€õ˜4œ>Ô.Ñ/Ô/Ð/r-có4—t|jj¦«Sr()r r)Ú _test_tmprootr0s r+Ú test_tmprootzTestdir.test_tmproot?s€å˜4œ>Ô7Ñ8Ô8Ð8r-có—|jjSr()r)Ú_requestr0s r+ÚrequestzTestdir.requestCs €àŒ~Ô&Ð&r-có—|jjSr(©r)Úpluginsr0s r+r:zTestdir.pluginsGs €àŒ~Ô%Ð%r-có—||j_dSr(r9)r*r:s r+r:zTestdir.pluginsKs€à!(ˆŒÔÐÐr-có—|jjSr()r)Ú _monkeypatchr0s r+Ú monkeypatchzTestdir.monkeypatchOs €àŒ~Ô*Ð*r-có6—|j |¦«S)z(See :meth:`Pytester.make_hook_recorder`.)r)Úmake_hook_recorder)r*Ú pluginmanagers r+r@zTestdir.make_hook_recorderSs€àŒ~×0Ò0°Ñ?Ô?Ð?r-có4—|j ¦«S)zSee :meth:`Pytester.chdir`.)r)Úchdirr0s r+rCz Testdir.chdirWs€àŒ~×#Ò#Ñ%Ô%Ð%r-có4—|j ¦«S)zSee :meth:`Pytester._finalize`.)r)Ú _finalizer0s r+ÚfinalizezTestdir.finalize[s€àŒ~×'Ò'Ñ)Ô)Ð)r-có€—|r| d¦«sd|z}t|jj|g|¢Ri|¤Ž¦«S)zSee :meth:`Pytester.makefile`.ú.)Ú startswithr r)Úmakefile)r*ÚextÚargsÚkwargss r+rJzTestdir.makefile_sV€à ð �s—~’~ cÑ*Ô*ð ð˜‘)ˆCÝÐ2˜4œ>Ô2°3ÐH¸ÐHÐHÐHÀÐHÐHÑIÔIÐIr-cóP—t|j |¦«¦«S)z"See :meth:`Pytester.makeconftest`.)r r)Ú makeconftest©r*Úsources r+rOzTestdir.makeconftestks €å˜4œ>×6Ò6°vÑ>Ô>Ñ?Ô?Ð?r-cóP—t|j |¦«¦«S)zSee :meth:`Pytester.makeini`.)r r)ÚmakeinirPs r+rSzTestdir.makeinios €å˜4œ>×1Ò1°&Ñ9Ô9Ñ:Ô:Ð:r-rQcó6—|j |¦«S)zSee :meth:`Pytester.getinicfg`.)r)Ú getinicfgrPs r+rUzTestdir.getinicfgsó€àŒ~×'Ò'¨Ñ/Ô/Ð/r-cóP—t|j |¦«¦«S)z'See :meth:`Pytester.makepyprojecttoml`.)r r)ÚmakepyprojecttomlrPs r+rXzTestdir.makepyprojecttomlws €å˜4œ>×;Ò;¸FÑCÔCÑDÔDÐDr-có@—t|jj|i|¤Ž¦«S)z See :meth:`Pytester.makepyfile`.)r r)Ú makepyfile©r*rLrMs r+rZzTestdir.makepyfile{s%€åÐ4˜4œ>Ô4°dÐE¸fÐEÐEÑFÔFÐFr-có@—t|jj|i|¤Ž¦«S)z!See :meth:`Pytester.maketxtfile`.)r r)Ú maketxtfiler[s r+r]zTestdir.maketxtfiles%€åÐ5˜4œ>Ô5°tÐF¸vÐFÐFÑGÔGÐGr-có6—|j |¦«S)z#See :meth:`Pytester.syspathinsert`.)r)Ú syspathinsert©r*r/s r+r_zTestdir.syspathinsertƒs€àŒ~×+Ò+¨DÑ1Ô1Ð1r-cóP—t|j |¦«¦«S)zSee :meth:`Pytester.mkdir`.)r r)Úmkdir©r*Únames r+rbz Testdir.mkdir‡s €å˜4œ>×/Ò/°Ñ5Ô5Ñ6Ô6Ð6r-cóP—t|j |¦«¦«S)zSee :meth:`Pytester.mkpydir`.)r r)Úmkpydirrcs r+rfzTestdir.mkpydir‹s €å˜4œ>×1Ò1°$Ñ7Ô7Ñ8Ô8Ð8r-cóP—t|j |¦«¦«S)z"See :meth:`Pytester.copy_example`.)r r)Ú copy_examplercs r+rhzTestdir.copy_example�s €å˜4œ>×6Ò6°tÑ<Ô<Ñ=Ô=Ð=r-Úconfigcó8—|j ||¦«S)zSee :meth:`Pytester.getnode`.)r)Úgetnode)r*riÚargs r+rkzTestdir.getnode“s€àŒ~×%Ò% f¨cÑ2Ô2Ð2r-có6—|j |¦«S)z!See :meth:`Pytester.getpathnode`.)r)Ú getpathnoder`s r+rnzTestdir.getpathnode—s€àŒ~×)Ò)¨$Ñ/Ô/Ð/r-Úcolitemscó6—|j |¦«S)zSee :meth:`Pytester.genitems`.)r)Úgenitems)r*ros r+rqzTestdir.genitems›s€àŒ~×&Ò& xÑ0Ô0Ð0r-có6—|j |¦«S)zSee :meth:`Pytester.runitem`.)r)ÚrunitemrPs r+rszTestdir.runitemŸs€àŒ~×%Ò% fÑ-Ô-Ð-r-có(—|jj|g|¢RŽS)z&See :meth:`Pytester.inline_runsource`.)r)Úinline_runsource)r*rQÚ cmdlineargss r+ruzTestdir.inline_runsource£s€à.ˆtŒ~Ô.¨vÐD¸ ÐDÐDÐDÐDr-có —|jj|ŽS)z%See :meth:`Pytester.inline_genitems`.)r)Úinline_genitems©r*rLs r+rxzTestdir.inline_genitems§s€à-ˆtŒ~Ô-¨tÐ4Ð4r-©©r:Úno_reraise_ctrlcr|có(—|jj|||dœŽS)z See :meth:`Pytester.inline_run`.r{)r)Ú inline_run)r*r:r|rLs r+r~zTestdir.inline_run«s(€à(ˆtŒ~Ô(Ø ˜7Ð5Eð ð ð ð r-có&—|jj|i|¤ŽS)z)See :meth:`Pytester.runpytest_inprocess`.)r)Úrunpytest_inprocessr[s r+r€zTestdir.runpytest_inprocess±s€à1ˆtŒ~Ô1°4ÐB¸6ÐBÐBÐBr-có&—|jj|i|¤ŽS)zSee :meth:`Pytester.runpytest`.)r)Ú runpytestr[s r+r‚zTestdir.runpytestµs€à'ˆtŒ~Ô'¨Ð8°Ð8Ð8Ð8r-có —|jj|ŽS)z!See :meth:`Pytester.parseconfig`.)r)Ú parseconfigrys r+r„zTestdir.parseconfig¹s€à)ˆtŒ~Ô)¨4Ð0Ð0r-có —|jj|ŽS)z$See :meth:`Pytester.parseconfigure`.)r)Úparseconfigurerys r+r†zTestdir.parseconfigure½s€à,ˆtŒ~Ô,¨dÐ3Ð3r-Ú test_funccó8—|j ||¦«S)zSee :meth:`Pytester.getitem`.)r)Úgetitem)r*rQÚfuncnames r+r‰zTestdir.getitemÁs€àŒ~×%Ò% f¨hÑ7Ô7Ð7r-có6—|j |¦«S)zSee :meth:`Pytester.getitems`.)r)ÚgetitemsrPs r+rŒzTestdir.getitemsÅs€àŒ~×&Ò& vÑ.Ô.Ð.r-có<—|j |||¬¦«S)z"See :meth:`Pytester.getmodulecol`.)Ú configargsÚwithinit)r)Ú getmodulecol)r*rQrŽr�s r+r�zTestdir.getmodulecolÉs(€àŒ~×*Ò*Ø ˜z°Hð+ñ ô ð r-Úmodcolrdcó8—|j ||¦«S)z%See :meth:`Pytester.collect_by_name`.)r)Úcollect_by_name)r*r‘rds r+r“zTestdir.collect_by_nameÏs€ðŒ~×-Ò-¨f°dÑ;Ô;Ð;r-c ó.—|jj||||fi|¤ŽS)zSee :meth:`Pytester.popen`.)r)Úpopen)r*ÚcmdargsÚstdoutÚstderrÚstdinÚkws r+r•z Testdir.popenÕs'€ð$ˆtŒ~Ô# G¨V°V¸UÐIÐIÀbÐIÐIÐIr-©Útimeoutr™có(—|jj|||dœŽS)zSee :meth:`Pytester.run`.r›)r)Úrun)r*rœr™r–s r+ržz Testdir.runàs€à!ˆtŒ~Ô! 7°GÀ5ÐIÐIÐIÐIr-có6—|j |¦«S)zSee :meth:`Pytester.runpython`.)r)Ú runpython)r*Úscripts r+r zTestdir.runpythonärVr-có6—|j |¦«S)z!See :meth:`Pytester.runpython_c`.)r)Ú runpython_c)r*Úcommands r+r£zTestdir.runpython_cès€àŒ~×)Ò)¨'Ñ2Ô2Ð2r-)rœcó&—|jj|d|iŽS)z*See :meth:`Pytester.runpytest_subprocess`.rœ)r)Úrunpytest_subprocess)r*rœrLs r+r¦zTestdir.runpytest_subprocessìs€à2ˆtŒ~Ô2°DÐJÀ'ÐJÐJÐJr-ç$@ÚstringÚexpect_timeoutz pexpect.spawncó:—|j ||¬¦«S)z"See :meth:`Pytester.spawn_pytest`.©r©)r)Ú spawn_pytest)r*r¨r©s r+r¬zTestdir.spawn_pytestðs€ðŒ~×*Ò*¨6À.Ð*ÑQÔQÐQr-Úcmdcó:—|j ||¬¦«S)zSee :meth:`Pytester.spawn`.r«)r)Úspawn)r*r­r©s r+r¯z Testdir.spawnös€àŒ~×#Ò# C¸Ð#ÑGÔGÐGr-có—d|j›d�S)Nz )r1r0s r+Ú__repr__zTestdir.__repr__ús€Ø+˜4œ;Ð+Ð+Ð+Ð+r-có*—t|j¦«Sr()Ústrr1r0s r+Ú__str__zTestdir.__str__ýs€Ý�4”;ÑÔÐr-)r&Nr()r‡)rzF)r§)GÚ__name__Ú __module__Ú __qualname__Ú__doc__Ú__test__rr!Ú__annotations__r"Úboolr,Úpropertyr r1r4r7r:Úsetterrr>rr@rCrFrJrOrSr´rrUrXrZr]r_rbrfrhrrrrrrkrnrrqrsrurxr~rr€r‚r„r†r‰rŒr�r“Ú subprocessÚPIPEr•ržr r£r¦Úfloatr¬r¯r²rµrzr-r+r r (s€€€€ððð€Hà#Ô/€K�Ð/Ð/Ñ/Ø&Ô5€N�GÐ5Ð5Ñ5à@Eð"ð"ð" ð"¸ð"È$ð"ð"ð"ð"ðð0˜ ð0ð0ð0ñ„Xð0ðð9˜kð9ð9ð9ñ„Xð9ðð'ð'ñ„Xð'ðð&ð&ñ„Xð&ð „^ð)ð)ñ„^ð)ðð+˜[ð+ð+ð+ñ„Xð+ð@°<ð@ð@ð@ð@ð&ð&ð&ð&ð*ð*ð*ð*ð J° ð Jð Jð Jð Jð@ kð@ð@ð@ð@ð; ð;ð;ð;ð;ð0 ð0¨ð0ð0ð0ð0ðE¨;ðEðEðEðEðG¨[ðGðGðGðGðH¨kðHðHðHðHð2ð2ð2ð2ð2ð7˜[ð7ð7ð7ð7ð9˜{ð9ð9ð9ð9ð>ð>¨ð>ð>ð>ð>ð3˜fð3¨h°u¸TÀ9¸_Ô7MÔ.Nð3ð3ð3ð3ð0ð0ð0ð1  e¨D°)¨OÔ&<Ô!=ð1À$ÀtÄ*ð1ð1ð1ð1ð.ð.ð.ðEðEðEð5ð5ð5ð)+ÀUð ð ð ¸dð ð ð ð ð C°iðCðCðCðCð9¨Ið9ð9ð9ð9ð1 Fð1ð1ð1ð1ð4 vð4ð4ð4ð4ð8ð8ð8ð8ð/ð/ð/ð ð ð ð ð <Øð<Ø'*ð<à �%˜˜i˜Ô(Ô )ð<ð<ð<ð<ðŒØŒØð Jð Jð Jð Jð%)° ðJðJðJÀ ðJðJðJðJð0 9ð0ð0ð0ð0ð3ð3ð3ð37ðKðKðK¸9ðKðKðKðKð 48ðRðRØðRØ+0ðRà ðRðRðRðRð HðH˜ðH¨eðH¸ðHðHðHðHð,˜#ð,ð,ð,ð,ð ˜ð ð ð ð ð ð r-r có>—eZdZeededefd„¦«¦«ZdS)ÚLegacyTestdirPluginr%r&có$—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+ÚtestdirzLegacyTestdirPlugin.testdirs€õ�x¨4Ð0Ñ0Ô0Ð0r-N)r¶r·r¸Ú staticmethodrrr rÅrzr-r+rÃrÃsJ€€€€€ØØ ð1˜(ð1 wð1ð1ð1ñ „Wñ„\ð1ð1ð1r-rÃcóZ—eZdZUdZeed<ddœdededdfd „Zdd ed ede fd „Z de fd„Z dS)ÚTempdirFactoryaBackward compatibility wrapper that implements :class:`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`. Ú_tmppath_factoryFr#Útmppath_factoryr$r&Ncó2—t|¦«||_dSr()rrÉ)r*rÊr$s r+r,zTempdirFactory.__init__s €õ �yÑ!Ô!Ð!Ø /ˆÔÐÐr-TÚbasenameÚnumberedcóv—t|j ||¦« ¦«¦«S)zTSame as :meth:`TempPathFactory.mktemp`, but returns a :class:`py.path.local` object.)r rÉÚmktempÚresolve)r*rÌrÍs r+rÏzTempdirFactory.mktemp#s/€å˜4Ô0×7Ò7¸À(ÑKÔK×SÒSÑUÔUÑVÔVÐVr-cór—t|j ¦« ¦«¦«S)zYSame as :meth:`TempPathFactory.getbasetemp`, but returns a :class:`py.path.local` object.)r rÉÚ getbasetemprÐr0s r+rÒzTempdirFactory.getbasetemp's+€å˜4Ô0×<Ò<Ñ>Ô>×FÒFÑHÔHÑIÔIÐIr-)T) r¶r·r¸r¹rr»r¼r,r´r rÏrÒrzr-r+rÈrÈsÀ€€€€€ððð&Ð%Ð%Ñ%ðFKð0ð0ð0Ø.ð0Ø>Bð0à ð0ð0ð0ð0ð WðW˜sðW¨dðW¸kðWðWðWðWðJ˜[ðJðJðJðJðJðJr-rÈcó‚—eZdZeed¬¦«dedefd„¦«¦«Zeedede fd„¦«¦«Z dS) ÚLegacyTmpdirPluginÚsession)Úscoper7r&có—|jjS)zFReturn a :class:`pytest.TempdirFactory` instance for the test session.)riÚ_tmpdirhandler)r7s r+Útmpdir_factoryz!LegacyTmpdirPlugin.tmpdir_factory-s€ð Œ~Ô,Ð,r-Útmp_pathcó —t|¦«S)aèReturn a temporary directory path object which is unique to each test function invocation, created as a sub directory of the base temporary directory. By default, a new base temporary directory is created each test session, and old bases are removed after 3 sessions, to aid in debugging. If ``--basetemp`` is used then it is cleared each session. See :ref:`base temporary directory`. The returned object is a `legacy_path`_ object. .. note:: These days, it is preferred to use ``tmp_path``. :ref:`About the tmpdir and tmpdir_factory fixtures`. .. _legacy_path: https://py.readthedocs.io/en/latest/path.html r )rÚs r+r1zLegacyTmpdirPlugin.tmpdir4s€õ*˜8Ñ$Ô$Ð$r-N) r¶r·r¸rÆrrrÈrÙrr r1rzr-r+rÔrÔ,s�€€€€€ØØ €W�9ÐÑÔð- ð-°>ð-ð-ð-ñÔñ„\ð-ð Ø ð%˜ð% +ð%ð%ð%ñ „Wñ„\ð%ð%ð%r-rÔr*rdr&cóF—t| |¦«¦«S)z{Return a directory path object with the given name. Same as :func:`mkdir`, but returns a legacy py path instance. )r rbrcs r+Ú Cache_makedirrÝLs€õ �t—z’z $Ñ'Ô'Ñ (Ô (Ð(r-có*—t|j¦«S)zO(deprecated) The file system path of the test module which collected this test.©r r/r0s r+ÚFixtureRequest_fspathràTó€å �t”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 Ú startpathr0s r+ÚTerminalReporter_startdirråYó€õ �t”~Ñ &Ô &Ð&r-cóN—tt|jj¦«¦«S)z¸The directory from which pytest was invoked. Prefer to use :attr:`invocation_params.dir `, which is a :class:`pathlib.Path`. :type: LEGACY_PATH )r r´Úinvocation_paramsÚdirr0s r+ÚConfig_invocation_dirrêcs €õ •s˜4Ô1Ô5Ñ6Ô6Ñ 7Ô 7Ð7r-cóD—tt|j¦«¦«S)z�The path to the :ref:`rootdir `. Prefer to use :attr:`rootpath`, which is a :class:`pathlib.Path`. :type: LEGACY_PATH )r r´Úrootpathr0s r+ÚConfig_rootdirríns€õ •s˜4œ=Ñ)Ô)Ñ *Ô *Ð*r-cóV—|jr!tt|j¦«¦«ndS)z�The path to the :ref:`configfile `. Prefer to use :attr:`inipath`, which is a :class:`pathlib.Path`. :type: Optional[LEGACY_PATH] N)Úinipathr r´r0s r+ÚConfig_inifilerðxs(€ð.2¬\Ð C�;•s˜4œ<Ñ(Ô(Ñ )Ô )Ð )¸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ãr0s r+ÚSession_stardirrò‚rær-ÚtypeÚvaluecóÒ‡—|dkrN|j€J‚|jjŠt|t¦«rt j|¦«n|}ˆfd„|D¦«St d|›�|¦«‚)NÚpathlistcóN•—g|]!}tt‰|z ¦«¦«‘Œ"Srz)r r´)Ú.0ÚxÚdps €r+ú z/Config__getini_unknown_type..”s+ø€Ð?Ð?Ð?¨Q• �C  Q¡™KœKÑ(Ô(Ð?Ð?Ð?r-zunknown configuration type: )rïÚparentÚ isinstancer´ÚshlexÚsplitÚ ValueError)r*rdrórôÚ input_valuesrús @r+ÚConfig__getini_unknown_typerŒs~ø€ð ˆzÒÐàŒ|Ð'Ð'Ð'Ø Œ\Ô ˆÝ-7¸½sÑ-CÔ-CÐN•u”{ 5Ñ)Ô)Ð)Ȉ Ø?Ð?Ð?Ð?°,Ð?Ñ?Ô?Ð?åÐ>¸Ð>Ð>ÀÑFÔFÐFr-có*—t|j¦«S)z4(deprecated) returns a legacy_path copy of self.pathrßr0s r+Ú Node_fspathr™rár-có.—t|¦«|_dSr()rr/)r*rôs r+ÚNode_fspath_setržs€Ý�U‘ ” €D„I€I€Ir-T)ÚtryfirstÚ early_configcóŠ—t¦«}| |j¦«| tdt d¬¦«| t dtt¦«d¬¦«| tdtt¦«d¬¦«| tdtt¦«d¬¦«| tdtt¦«d¬¦«| tdtt¦«d¬¦«| tdtt ¦«d¬¦«| td t"¦«| t$dtt&t(¦«d¬¦«d S) 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Ýrr½ràrrårrêrírðrròrrrr)rÚmps r+Úpytest_load_initial_conftestsr¢sj€õ ‰Œ€BØ×Ò˜RœWÑ%Ô%Ð%ð‡J‚J�u�i¥¸€JÑ>Ô>Ð>ð‡J‚J�~˜x­Õ2GÑ)HÔ)HÐRW€JÑXÔXÐXð‡J‚Jݘ*¥hÕ/HÑ&IÔ&IÐSXðñôðð ‡J‚J�vÐ'­Õ2GÑ)HÔ)HÐRW€JÑXÔXÐX؇J‚J�v�y¥(­>Ñ":Ô":ÀE€JÑJÔJÐJ؇J‚J�v�y¥(­>Ñ":Ô":ÀE€JÑJÔJÐJð‡J‚J�w˜ ¥H­_Ñ$=Ô$=Àu€JÑMÔMÐMð‡J‚J�vÐ-Õ/JÑKÔKÐKð‡J‚J�t�X�x­ µ_ÑEÔEÈu€JÑUÔUÐUÐUÐUr-ricóT—|j d¦«r�t¦«}| |j¦« |j}t |d¬¦«}| |d|d¬¦«n#t$rYnwxYw|j  td¦«dSdS) zKInstalls the LegacyTmpdirPlugin if the ``tmpdir`` plugin is also installed.r1Tr#rØFr zlegacypath-tmpdirN) rAÚ has_pluginrrrÚ_tmp_path_factoryrÈrÚAttributeErrorÚregisterrÔ)rirÚtmp_path_factoryrØs r+Úpytest_configurerÂsЀðÔ×&Ò& xÑ0Ô0ðOÝ ‰]Œ]ˆØ×Ò˜2œ7Ñ#Ô#Ð#ð  PØ%Ô7Ð õ ,Ð,<ÈÐMÑMÔMˆNØ �JŠJ�vÐ/°ÈˆJÑ OÔ OÐ OÐ Oøõ ð ð ð à ˆDð øøøð Ô×%Ò%Õ&8Ð:MÑNÔNÐNÐNÐNð#OðOsÁA6Á6 BÂBÚpluginÚmanagercóª—|| d¦«u}|r7| t¦«s| td¦«dSdSdS)Nr%zlegacypath-pytester)Ú get_pluginÚ is_registeredrÃr)rr Ú is_pytesters r+Úpytest_plugin_registeredr%Ùsr€ð˜G×.Ò.¨zÑ:Ô:Ð:€KØðE˜7×0Ò0Õ1DÑEÔEðEØ×ÒÕ,Ð.CÑDÔDÐDÐDÐDðEðEðEðEr-)Cr¹Ú dataclassesrþr¿ÚpathlibrÚtypingrrrrÚ iniconfigrÚ_pytest.cacheproviderr Ú_pytest.compatr r r Ú_pytest.configrrrÚ_pytest.deprecatedrÚ_pytest.fixturesrrÚ _pytest.mainrÚ_pytest.monkeypatchrÚ _pytest.nodesrrrÚ_pytest.pytesterrrrÚ_pytest.terminalrÚ_pytest.tmpdirrÚtyping_extensionsrÚpexpectr rÃÚ dataclassrÈrÔr´rÝràrårêrírðròrrrrrÚobjectr%rzr-r+úr9sFðØEÐEØÐÐÐØ € € € ØÐÐÐØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØ Ð Ð Ð Ð Ð ØÐÐÐÐÐà$Ð$Ð$Ð$Ð$Ð$à'Ð'Ð'Ð'Ð'Ð'Ø Ð Ð Ð Ð Ð Ø&Ð&Ð&Ð&Ð&Ð&Ø&Ð&Ð&Ð&Ð&Ð&Ø!Ð!Ð!Ð!Ð!Ð!Ø#Ð#Ð#Ð#Ð#Ð#Ø.Ð.Ð.Ð.Ð.Ð.Ø-Ð-Ð-Ð-Ð-Ð-Ø$Ð$Ð$Ð$Ð$Ð$Ø+Ð+Ð+Ð+Ð+Ð+Ø Ð Ð Ð Ð Ð Ø+Ð+Ð+Ð+Ð+Ð+Ø#Ð#Ð#Ð#Ð#Ð#ØÐÐÐÐÐØÐÐÐÐÐØ)Ð)Ð)Ð)Ð)Ð)Ø%Ð%Ð%Ð%Ð%Ð%Ø&Ð&Ð&Ð&Ð&Ð&Ø-Ð-Ð-Ð-Ð-Ð-Ø*Ð*Ð*Ð*Ð*Ð*àðØ'Ð'Ð'Ð'Ð'Ð'à€N€N€NððU ðU ðU ðU ðU ñU ôU ñ„ðU ðp 1ð 1ð 1ð 1ð 1ñ 1ô 1ð 1ðØ ÔðJðJðJðJðJñJôJñÔñ„ðJð8%ð%ð%ð%ð%ñ%ô%ð%ð@)˜ð) Sð)¨[ð)ð)ð)ð)ð" ð"°;ð"ð"ð"ð"ð 'Ð$4ð'¸ð'ð'ð'ð'ð8 ð8¨;ð8ð8ð8ð8ð+˜ð+ Kð+ð+ð+ð+ðD˜ðD H¨[Ô$9ðDðDðDðDð'˜'ð' kð'ð'ð'ð'ð GØð GØð GØ',¨S°$°s´)¨^Ô'<ð Gð Gð Gð Gð"�dð"˜{ð"ð"ð"ð"ð ˜$ð {ð°tððððð €�4ÐÑÔðV°ðV¸4ðVðVðVñÔðVð> ðO˜VðO¨ðOðOðOñ „ðOð, ðE VðEÐ6IðEÈdðEðEðEñ „ðEðEðEr-