§
    ¯õiNŸ  ã                  ó^  — d dl mZ d dlZd dlZd dlmZmZ d dlmZ d dlm	Z	 d dl
mZmZmZmZmZmZ d dlmZ er0d dlZd dlZd dlmZmZ d d	lmZmZmZ d d
lmZ  edeed¬¦  «        Znd d
l
mZ  eded¬¦  «        Z eded¬¦  «        Z  ede¬¦  «        Z! ede¬¦  «        Z" ede#¬¦  «        Z$ ede#¬¦  «        Z%ej&        dk     rd dl'm(Z(m)Z) e G d„ dee         ¦  «        ¦   «         Z*ere*Z+n	 d dl,m+Z+ n# e-$ r e*Z+Y nw xY wd>d„Z. ej/        d¦  «        j0        Z1d?d#„Z2d@d&„Z3dAd)„Z4dBd.„Z5 G d/„ d0eee          ¦  «        Z6e G d1„ d2e6e         ¦  «        ¦   «         Z7e G d3„ d4e6e(e                   ¦  «        ¦   «         Z8e G d5„ d6¦  «        ¦   «         Z9 G d7„ d8¦  «        Z:dCdDd=„Z;dS )Eé    )ÚannotationsN)ÚABCÚabstractmethod)ÚPattern)Úindent)ÚTYPE_CHECKINGÚGenericÚLiteralÚ	TypeGuardÚcastÚoverload)Úfinal)ÚCallableÚSequence)ÚExceptionChainReprÚReprExceptionInfoÚ	Traceback)ÚTypeVarÚMatchET)ÚboundÚdefaultÚ	covariant)r   r   ÚBaseExcT_coÚ
BaseExcT_1)r   Ú
BaseExcT_2ÚExcT_1ÚExcT_2)é   é   )ÚBaseExceptionGroupÚExceptionGroupc                  ó¸   — e Zd ZU dZded<   d(d„Zd)d
„Zed*d„¦   «         Ze	d+d„¦   «         Z
e	d,d„¦   «         Ze	d-d„¦   «         Zd.d/d„Zd0d„Z	 	 	 	 	 	 	 d1d2d&„Zd'S )3Ú_ExceptionInfozÞMinimal re-implementation of pytest.ExceptionInfo, only used if pytest is not available. Supports a subset of its features necessary for functionality of :class:`trio.testing.RaisesGroup` and :class:`trio.testing.Matcher`.ú7tuple[type[MatchE], MatchE, types.TracebackType] | NoneÚ_excinfoÚexcinfoÚreturnÚNonec                ó   — || _         d S ©N©r%   )Úselfr&   s     úf/var/www/html/nodeJS/PythonScripts/venv3.11/lib/python3.11/site-packages/trio/testing/_raises_group.pyÚ__init__z_ExceptionInfo.__init__4   s   € ð  ˆŒˆˆó    Úexc_infoú0tuple[type[MatchE], MatchE, types.TracebackType]c                ó6   — | j         �
J d¦   «         ‚|| _         dS )z<Fill an unfilled ExceptionInfo created with ``for_later()``.Nz ExceptionInfo was already filledr+   )r,   r0   s     r-   Úfill_unfilledz_ExceptionInfo.fill_unfilled:   s&   € ð
 Œ}Ð$Ð$Ð&HÑ$Ô$Ð$Ø ˆŒˆˆr/   ú_ExceptionInfo[MatchE]c                ó   —  | d¦  «        S )z!Return an unfilled ExceptionInfo.N© )Úclss    r-   Ú	for_laterz_ExceptionInfo.for_laterB   s   € ð ˆs�4‰yŒyÐr/   útype[MatchE]c                ó>   — | j         €
J d¦   «         ‚| j         d         S )zThe exception class.Nz6.type can only be used after the context manager exitsr   r+   ©r,   s    r-   Útypez_ExceptionInfo.typeH   s*   € ð ŒMÐ%Ð%ØCñ &Ô%Ð%àŒ}˜QÔÐr/   r   c                ó>   — | j         €
J d¦   «         ‚| j         d         S )zThe exception value.Nz7.value can only be used after the context manager exitsé   r+   r;   s    r-   Úvaluez_ExceptionInfo.valueP   s*   € ð ŒMÐ%Ð%ØDñ &Ô%Ð%àŒ}˜QÔÐr/   útypes.TracebackTypec                ó>   — | j         €
J d¦   «         ‚| j         d         S )zThe exception raw traceback.Nz4.tb can only be used after the context manager exitsé   r+   r;   s    r-   Útbz_ExceptionInfo.tbX   s*   € ð ŒMÐ%Ð%ØAñ &Ô%Ð%àŒ}˜QÔÐr/   FÚtryshortÚboolÚstrc                ó    — t          d¦  «        ‚©Nz_This is a helper method only available if you use RaisesGroup with the pytest package installed©ÚNotImplementedError)r,   rD   s     r-   Úexconlyz_ExceptionInfo.exconly`   s   € Ý!Ømñ
ô 
ð 	
r/   ÚexcúGbuiltins.type[BaseException] | tuple[builtins.type[BaseException], ...]c                ó    — t          d¦  «        ‚rH   rI   )r,   rL   s     r-   Úerrisinstancez_ExceptionInfo.errisinstancee   s   € õ "Ømñ
ô 
ð 	
r/   ÚlongTÚ
showlocalsÚstyleÚabspathÚtbfilterú,bool | Callable[[_ExceptionInfo], Traceback]ÚfuncargsÚtruncate_localsÚchainú&ReprExceptionInfo | ExceptionChainReprc                ó    — t          d¦  «        ‚rH   rI   )r,   rQ   rR   rS   rT   rV   rW   rX   s           r-   Úgetreprz_ExceptionInfo.getreprm   s   € õ "Ømñ
ô 
ð 	
r/   N)r&   r$   r'   r(   )r0   r1   r'   r(   )r'   r4   )r'   r9   )r'   r   )r'   r@   )F)rD   rE   r'   rF   )rL   rM   r'   rE   )FrP   FTFTT)rQ   rE   rR   rF   rS   rE   rT   rU   rV   rE   rW   rE   rX   rE   r'   rY   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú__annotations__r.   r3   Úclassmethodr8   Úpropertyr<   r?   rC   rK   rO   r[   r6   r/   r-   r#   r#   .   s3  € € € € € € ð ið  iàEÐEÐEÑEð ð  ð  ð  ð!ð !ð !ð !ð ðð ð ñ „[ðð
 ð ð  ð  ñ „Xð ð ð ð  ð  ñ „Xð ð ð ð  ð  ñ „Xð ð
ð 
ð 
ð 
ð 
ð

ð 
ð 
ð 
ð !ØØØAEØØ $Øð
ð 
ð 
ð 
ð 
ð 
ð 
r/   r#   )ÚExceptionInforL   ÚBaseExceptionr'   rF   c           	     óˆ   — d                      t          | dt          | ¦  «        ¦  «        gt          | dg ¦  «        ¢¦  «        S )Nú
ÚmessageÚ	__notes__)ÚjoinÚgetattrrF   )rL   s    r-   Ú_stringify_exceptionrk   Œ   sF   € Ø�9Š9å�C˜¥C¨¡H¤HÑ-Ô-ð	
å�S˜+ rÑ*Ô*ð	
ñô ð r/   Ú ÚmatchúPattern[str]ústr | Pattern[str]c                ó4   — | j         t          k    r| j        n| S )zJhelper function to remove redundant `re.compile` calls when printing regex)ÚflagsÚ_REGEX_NO_FLAGSÚpattern)rm   s    r-   Ú_match_patternrt   ™   s   € à!œK­?Ò:Ð:ˆ5Œ=ˆ=ÀÐEr/   ÚfunúCallable[[BaseExcT_1], bool]c                ó    — t          | ¦  «        S )zuGet the repr of a ``check`` parameter.

    Split out so it can be monkeypatched (e.g. by our hypothesis plugin)
    )Úrepr)ru   s    r-   Úrepr_callablery   ž   s   € õ
 �‰9Œ9Ðr/   Úeútype[BaseException]c                ó*   — t          | j        ¦  «        S r*   )rx   r\   ©rz   s    r-   Ú_exception_type_namer~   ¦   s   € Ý�”
ÑÔÐr/   Úexpected_typeútype[BaseException] | NoneÚ	exceptionú
str | Nonec                óö   — | €d S t          || ¦  «        sdt          t          |¦  «        ¦  «        }t          | ¦  «        }t          |t          ¦  «        rt	          | t          ¦  «        sd|› d|› �S |› d|› �S d S )NzUnexpected nested z, expected z is not of type )Ú
isinstancer~   r<   r    Ú
issubclass)r   r�   Úactual_type_strÚexpected_type_strs       r-   Ú_check_raw_typerˆ   ª   s«   € ð ÐØˆtåØØñô ð 
Gõ /­t°I©¬Ñ?Ô?ˆÝ0°Ñ?Ô?ÐÝ�iÕ!3Ñ4Ô4ð 	X½ZØÕ-ñ>
ô >
ð 	Xð X¨ÐWÐWÐDUÐWÐWÐWØ!ÐFÐFÐ3DÐFÐFÐFØˆ4r/   c                  óZ   — e Zd ZdZdd„Zedd
„¦   «         Zdd„Zdd„Ze	dd„¦   «         Z
dS )ÚAbstractMatcherzDABC with common functionality shared between Matcher and RaisesGrouprm   ústr | Pattern[str] | NoneÚcheckú$Callable[[BaseExcT_co], bool] | Noner'   r(   c                óœ   — t          |t          ¦  «        rt          j        |¦  «        | _        n|| _        || _        d | _        d| _        d S )NF)r„   rF   ÚreÚcompilerm   rŒ   Ú_fail_reasonÚ_nested©r,   rm   rŒ   s      r-   r.   zAbstractMatcher.__init__Â   sL   € õ
 �e�SÑ!Ô!ð 	Ý.0¬j¸Ñ.?Ô.?ˆDŒJˆJàˆDŒJØˆŒ
Ø(,ˆÔð #ˆŒˆˆr/   r‚   c                ó   — | j         S )zÊSet after a call to `matches` to give a human-readable
        reason for why the match failed.
        When used as a context manager the string will be given as the text of an
        `AssertionError`)r‘   r;   s    r-   Úfail_reasonzAbstractMatcher.fail_reasonÑ   s   € ð Ô Ð r/   r,   úAbstractMatcher[BaseExcT_1]r�   r   rE   c                óœ   — | j         €dS |                       |¦  «        rdS | j        rdndt          | j         ¦  «        z   }d|› d�| _        dS )NTrl   ú rŒ   z did not return TrueF)rŒ   r’   ry   r‘   )r,   r�   Ú
check_reprs      r-   Ú_check_checkzAbstractMatcher._check_checkÙ   sa   € ð Œ:ÐØ�4à�:Š:�iÑ Ô ð 	Ø�4àœ<ÐL�R�R¨Sµ=ÀÄÑ3LÔ3LÑ-Lˆ
ØD JÐDÐDÐDˆÔØˆur/   rz   rd   c                óh  — | j         �)t          j        | j         t          |¦  «        x}¦  «        rdS t	          |t
          ¦  «        rdt          t          |¦  «        ¦  «        › �nd}dt          | j         ¦  «        ›d|›|› �| _	        t          | j         ¦  «        |k    r| xj	        dz  c_	        dS )NTz of rl   zRegex pattern z did not match z+
  Did you mean to `re.escape()` the regex?F)
rm   r�   Úsearchrk   r„   r    r~   r<   rt   r‘   )r,   rz   Ústringified_exceptionÚmaybe_specify_types       r-   Ú_check_matchzAbstractMatcher._check_matchç   sá   € ØŒ:Ð¥¤ØŒJÝ%9¸!Ñ%<Ô%<Ð<Ð!ñ"
ô "
Ðð �4õ ˜!Õ/Ñ0Ô0ðÐ2Õ'­¨Q©¬Ñ0Ô0Ð2Ð2Ð2àð 	ð
 H­^¸D¼JÑ-GÔ-Gð  Hð  HÐZoð  Hð  tFð  Hð  HˆÔÝ˜$œ*Ñ%Ô%Ð)>Ò>Ð>ØÐÔÐ!OÑOÐÔØˆur/   Úexc_valúTypeGuard[BaseExcT_1]c                ó   — dS )z’Check if an exception matches the requirements of this AbstractMatcher.
        If it fails, `AbstractMatcher.fail_reason` should be set.
        Nr6   ©r,   r    s     r-   ÚmatcheszAbstractMatcher.matchesú   s   € € € r/   N)rm   r‹   rŒ   r�   r'   r(   )r'   r‚   )r,   r–   r�   r   r'   rE   )rz   rd   r'   rE   )r,   r–   r    rd   r'   r¡   )r\   r]   r^   r_   r.   rb   r•   rš   rŸ   r   r¤   r6   r/   r-   rŠ   rŠ   ¿   s–   € € € € € ØNÐNð#ð #ð #ð #ð ð!ð !ð !ñ „Xð!ðð ð ð ðð ð ð ð& ðð ð ñ „^ðð ð r/   rŠ   c                  ó˜   ‡ — e Zd ZdZe	 	 ddd„¦   «         Zeddœd d„¦   «         Zed!d„¦   «         Z	 	 	 d"d#ˆ fd„Zd$d„Zd%d„Zd$d„Zˆ xZ	S )&ÚMatcheraŒ  Helper class to be used together with RaisesGroups when you want to specify requirements on sub-exceptions. Only specifying the type is redundant, and it's also unnecessary when the type is a nested `RaisesGroup` since it supports the same arguments.
    The type is checked with `isinstance`, and does not need to be an exact match. If that is wanted you can use the ``check`` parameter.
    :meth:`Matcher.matches` can also be used standalone to check individual exceptions.

    Examples::

        with RaisesGroups(Matcher(ValueError, match="string")):
            ...
        with RaisesGroups(Matcher(check=lambda x: x.args == (3, "hello"))):
            ...
        with RaisesGroups(Matcher(check=lambda x: type(x) is ValueError)):
            ...

    Tip: if you install ``hypothesis`` and import it in ``conftest.py`` you will get
    readable ``repr``s of ``check`` callables in the output.
    .Úexception_typer9   rm   ro   rŒ   úCallable[[MatchE], bool]r'   r(   c                ó   — d S r*   r6   )r,   r§   rm   rŒ   s       r-   r.   zMatcher.__init__  s	   € ð ˆsr/   )rŒ   r,   úMatcher[BaseException]úCallable[[BaseException], bool]c               ó   — d S r*   r6   r“   s      r-   r.   zMatcher.__init__  ó	   € ð ˆsr/   c               ó   — d S r*   r6   )r,   rŒ   s     r-   r.   zMatcher.__init__(  s   € ØKNÈ3r/   Nútype[MatchE] | Noner‹   úCallable[[MatchE], bool] | Nonec                óØ   •— t          ¦   «                              ||¦  «         |€|€|€t          d¦  «        ‚|�(t          |t          ¦  «        st          d|› d�¦  «        ‚|| _        d S )Nz4You must specify at least one parameter to match on.zexception_type z$ must be a subclass of BaseException)Úsuperr.   Ú
ValueErrorr…   rd   r§   )r,   r§   rm   rŒ   Ú	__class__s       €r-   r.   zMatcher.__init__+  s�   ø€ õ 	‰Œ×Ò˜ Ñ&Ô&Ð&ØÐ! e m¸¸ÝÐSÑTÔTÐTØÐ%­j¸ÍÑ.WÔ.WÐ%ÝØV .ÐVÐVÐVñô ð ð -ˆÔÐÐr/   r�   rd   úTypeGuard[MatchE]c                óˆ   — |                       |¦  «        sdS |                      |¦  «        sdS |                      |¦  «        S )aÓ  Check if an exception matches the requirements of this Matcher.
        If it fails, `Matcher.fail_reason` will be set.

        Examples::

            assert Matcher(ValueError).matches(my_exception)
            # is equivalent to
            assert isinstance(my_exception, ValueError)

            # this can be useful when checking e.g. the ``__cause__`` of an exception.
            with pytest.raises(ValueError) as excinfo:
                ...
            assert Matcher(SyntaxError, match="foo").matches(excinfo.value.__cause__)
            # above line is equivalent to
            assert isinstance(excinfo.value.__cause__, SyntaxError)
            assert re.search("foo", str(excinfo.value.__cause__))

        F)Ú_check_typerŸ   rš   ©r,   r�   s     r-   r¤   zMatcher.matches:  sN   € ð, ×Ò 	Ñ*Ô*ð 	Ø�5à× Ò  Ñ+Ô+ð 	Ø�5à× Ò  Ñ+Ô+Ð+r/   rF   c                óH  — g }| j         �|                     | j         j        ¦  «         | j        �*|                     dt	          | j        ¦  «        ›�¦  «         | j        �*|                     dt          | j        ¦  «        › �¦  «         dd                     |¦  «        › d�S )Númatch=úcheck=zMatcher(ú, ú))r§   Úappendr\   rm   rt   rŒ   ry   ri   ©r,   Ú
parameterss     r-   Ú__repr__zMatcher.__repr__X  s­   € Øˆ
ØÔÐ*Ø×Ò˜dÔ1Ô:Ñ;Ô;Ð;ØŒ:Ð!à×ÒØ7�¨¬
Ñ3Ô3Ð7Ð7ñô ð ð Œ:Ð!Ø×ÒÐB¥}°T´ZÑ'@Ô'@ÐBÐBÑCÔCÐCØ2˜$Ÿ)š) JÑ/Ô/Ð2Ð2Ð2Ð2r/   c                óH   — t          | j        |¦  «        | _        | j        d u S r*   )rˆ   r§   r‘   r¸   s     r-   r·   zMatcher._check_typee  s%   € Ý+¨DÔ,?ÀÑKÔKˆÔØÔ  DÐ(Ð(r/   )..)r§   r9   rm   ro   rŒ   r¨   r'   r(   )r,   rª   rm   ro   rŒ   r«   r'   r(   )rŒ   r«   r'   r(   )NNN)r§   r¯   rm   r‹   rŒ   r°   )r�   rd   r'   rµ   ©r'   rF   )
r\   r]   r^   r_   r   r.   r¤   rÁ   r·   Ú__classcell__©r´   s   @r-   r¦   r¦     s  ø€ € € € € ðð ð$ ð %(Ø*-ð	ð ð ð ñ „Xðð ð 25ðð ð ð ð ñ „Xðð ØNÐNÐNñ „XØNð /3Ø+/Ø15ð	-ð -ð -ð -ð -ð -ð -ð,ð ,ð ,ð ,ð<3ð 3ð 3ð 3ð)ð )ð )ð )ð )ð )ð )ð )r/   r¦   c                  ó&  ‡ — e Zd ZdZeddœdZd„¦   «         Zedddœd[d„¦   «         Zedddœd\d„¦   «         Zedddœd]d„¦   «         Zedddœd^d!„¦   «         Zedddœd_d%„¦   «         Zedddœd`d)„¦   «         Zedddœdad-„¦   «         Zddddd.œdbˆ fd1„Zedcd3„¦   «         Zeddd5„¦   «         Zded7„Zdfd9„Zdgd<„Zedhd@„¦   «         Z	edidB„¦   «         Z	djdD„Z	e
dkdI„¦   «         Ze
dldL„¦   «         ZedmdQ„¦   «         ZedndR„¦   «         ZdodS„ZdpdX„ZdfdY„Zˆ xZS )qÚRaisesGroupa  Contextmanager for checking for an expected `ExceptionGroup`.
    This works similar to ``pytest.raises``, and a version of it will hopefully be added upstream, after which this can be deprecated and removed. See https://github.com/pytest-dev/pytest/issues/11538


    The catching behaviour differs from :ref:`except* <except_star>` in multiple different ways, being much stricter by default. By using ``allow_unwrapped=True`` and ``flatten_subgroups=True`` you can match ``except*`` fully when expecting a single exception.

    #. All specified exceptions must be present, *and no others*.

       * If you expect a variable number of exceptions you need to use ``pytest.raises(ExceptionGroup)`` and manually check the contained exceptions. Consider making use of :func:`Matcher.matches`.

    #. It will only catch exceptions wrapped in an exceptiongroup by default.

       * With ``allow_unwrapped=True`` you can specify a single expected exception or `Matcher` and it will match the exception even if it is not inside an `ExceptionGroup`. If you expect one of several different exception types you need to use a `Matcher` object.

    #. By default it cares about the full structure with nested `ExceptionGroup`'s. You can specify nested `ExceptionGroup`'s by passing `RaisesGroup` objects as expected exceptions.

       * With ``flatten_subgroups=True`` it will "flatten" the raised `ExceptionGroup`, extracting all exceptions inside any nested :class:`ExceptionGroup`, before matching.

    It does not care about the order of the exceptions, so ``RaisesGroups(ValueError, TypeError)`` is equivalent to ``RaisesGroups(TypeError, ValueError)``.

    Examples::

        with RaisesGroups(ValueError):
            raise ExceptionGroup("", (ValueError(),))
        with RaisesGroups(ValueError, ValueError, Matcher(TypeError, match="expected int")):
            ...
        with RaisesGroups(KeyboardInterrupt, match="hello", check=lambda x: type(x) is BaseExceptionGroup):
            ...
        with RaisesGroups(RaisesGroups(ValueError)):
            raise ExceptionGroup("", (ExceptionGroup("", (ValueError(),)),))

        # flatten_subgroups
        with RaisesGroups(ValueError, flatten_subgroups=True):
            raise ExceptionGroup("", (ExceptionGroup("", (ValueError(),)),))

        # allow_unwrapped
        with RaisesGroups(ValueError, allow_unwrapped=True):
            raise ValueError


    `RaisesGroup.matches` can also be used directly to check a standalone exception group.


    The matching algorithm is greedy, which means cases such as this may fail::

        with RaisesGroups(ValueError, Matcher(ValueError, match="hello")):
            raise ExceptionGroup("", (ValueError("hello"), ValueError("goodbye")))

    even though it generally does not care about the order of the exceptions in the group.
    To avoid the above you should specify the first ValueError with a Matcher as well.

    Tip: if you install ``hypothesis`` and import it in ``conftest.py`` you will get
    readable ``repr``s of ``check`` callables in the output.
    F)Úflatten_subgroupsr�   ú(type[BaseExcT_co] | Matcher[BaseExcT_co]Úallow_unwrappedúLiteral[True]rÈ   rE   r'   r(   c               ó   — d S r*   r6   )r,   r�   rÊ   rÈ   s       r-   r.   zRaisesGroup.__init__¥  r­   r/   N)rm   rŒ   Úother_exceptionsrm   r‹   rŒ   ú8Callable[[BaseExceptionGroup[BaseExcT_co]], bool] | Nonec               ó   — d S r*   r6   )r,   r�   rÈ   rm   rŒ   rÍ   s         r-   r.   zRaisesGroup.__init__¯  s	   € ð ˆsr/   r,   úRaisesGroup[ExcT_1]útype[ExcT_1] | Matcher[ExcT_1]ú/Callable[[ExceptionGroup[ExcT_1]], bool] | Nonec               ó   — d S r*   r6   ©r,   r�   rm   rŒ   rÍ   s        r-   r.   zRaisesGroup.__init__¾  r­   r/   ú#RaisesGroup[ExceptionGroup[ExcT_2]]úRaisesGroup[ExcT_2]ú?Callable[[ExceptionGroup[ExceptionGroup[ExcT_2]]], bool] | Nonec               ó   — d S r*   r6   rÔ   s        r-   r.   zRaisesGroup.__init__Ç  r­   r/   ú,RaisesGroup[ExcT_1 | ExceptionGroup[ExcT_2]]ú4type[ExcT_1] | Matcher[ExcT_1] | RaisesGroup[ExcT_2]úHCallable[[ExceptionGroup[ExcT_1 | ExceptionGroup[ExcT_2]]], bool] | Nonec               ó   — d S r*   r6   rÔ   s        r-   r.   zRaisesGroup.__init__Ð  ó	   € ð ˆsr/   úRaisesGroup[BaseExcT_1]ú&type[BaseExcT_1] | Matcher[BaseExcT_1]ú7Callable[[BaseExceptionGroup[BaseExcT_1]], bool] | Nonec               ó   — d S r*   r6   rÔ   s        r-   r.   zRaisesGroup.__init__Ü  r­   r/   ú+RaisesGroup[BaseExceptionGroup[BaseExcT_2]]úRaisesGroup[BaseExcT_2]úKCallable[[BaseExceptionGroup[BaseExceptionGroup[BaseExcT_2]]], bool] | Nonec               ó   — d S r*   r6   rÔ   s        r-   r.   zRaisesGroup.__init__å  rÝ   r/   ú8RaisesGroup[BaseExcT_1 | BaseExceptionGroup[BaseExcT_2]]ú@type[BaseExcT_1] | Matcher[BaseExcT_1] | RaisesGroup[BaseExcT_2]úXCallable[[BaseExceptionGroup[BaseExcT_1 | BaseExceptionGroup[BaseExcT_2]]], bool] | Nonec               ó   — d S r*   r6   rÔ   s        r-   r.   zRaisesGroup.__init__ð  s	   € ð ˆsr/   )rÊ   rÈ   rm   rŒ   úARaisesGroup[ExcT_1 | BaseExcT_1 | BaseExceptionGroup[BaseExcT_2]]úbCallable[[BaseExceptionGroup[BaseExcT_1]], bool] | Callable[[ExceptionGroup[ExcT_1]], bool] | Nonec               óH  •— t          d|¦  «        }t          ¦   «                              ||¦  «         |g|¢R | _        || _        || _        d| _        |r|rt          d¦  «        ‚|r$t          |t          ¦  «        rt          d¦  «        ‚|r|€|�t          d¦  «        ‚| j        D ]ø}t          |t          ¦  «        r3| j        rt          d¦  «        ‚| xj        |j        z  c_        d|_
        ŒJt          |t          ¦  «        r8|j        �)| xj        t          |j        t          ¦  «         z  c_        d|_
        Œ—t          |t          ¦  «        r:t          |t           ¦  «        r%| xj        t          |t          ¦  «         z  c_        Œæt          d|›d	�¦  «        ‚d S )
NzVCallable[[BaseExceptionGroup[ExcT_1|BaseExcT_1|BaseExceptionGroup[BaseExcT_2]]], bool]FzÍYou cannot specify multiple exceptions with `allow_unwrapped=True.` If you want to match one of multiple possible exceptions you should use a `Matcher`. E.g. `Matcher(check=lambda e: isinstance(e, (...)))`z¸`allow_unwrapped=True` has no effect when expecting a `RaisesGroup`. You might want it in the expected `RaisesGroup`, or `flatten_subgroups=True` if you don't care about the structure.av  `allow_unwrapped=True` bypasses the `match` and `check` parameters if the exception is unwrapped. If you intended to match/check the exception you should use a `Matcher` object. If you want to match/check the exceptiongroup when the exception *is* wrapped you need to do e.g. `if isinstance(exc.value, ExceptionGroup): assert RaisesGroup(...).matches(exc.value)` afterwards.zØYou cannot specify a nested structure inside a RaisesGroup with `flatten_subgroups=True`. The parameter will flatten subgroups in the raised exceptiongroup before matching, which would never match a nested structure.TzInvalid argument "z2" must be exception type, Matcher, or RaisesGroup.)r   r²   r.   Úexpected_exceptionsrÊ   rÈ   Úis_baseexceptiongroupr³   r„   rÇ   r’   r¦   r§   r…   Ú	Exceptionr<   rd   )	r,   r�   rÊ   rÈ   rm   rŒ   rÍ   rL   r´   s	           €r-   r.   zRaisesGroup.__init__  s1  ø€ õ$ ðð ñ	
ô 
ˆõ 	‰Œ×Ò˜ Ñ&Ô&Ð&ð ð
àð
ð 
ð 	Ô ð  /ˆÔØ'8ˆÔØ+0ˆÔ"àð 	Ð/ð 	ÝðHñô ð ð ð 	�z¨)µ[ÑAÔAð 	ÝðSñô ð ð
 ð 	 Ð 1°UÐ5FÝðKñô ð ð Ô+ð 	ð 	ˆCÝ˜#�{Ñ+Ô+ð ØÔ)ð Ý$ð5ñô ð ð Ð*Ô*¨cÔ.GÑGÐ*Ô*Ø"�”�Ý˜C¥Ñ)Ô)ð ØÔ%Ð1àÐ.Ô.µjØÔ*Ý!ñ7ô 7ð 3ñ Ð.Ô.ð #�”�Ý˜C¥Ñ&Ô&ð ­:°c½=Ñ+IÔ+Ið ØÐ*Ô*µ*¸SÅ)Ñ2LÔ2LÐ.LÑLÐ*Ô*Ð*å ð$¨ð $ð $ð $ñô ð ð-	ð 	r/   ú%ExceptionInfo[ExceptionGroup[ExcT_1]]c                ó   — d S r*   r6   r;   s    r-   Ú	__enter__zRaisesGroup.__enter__W  s	   € ð 14°r/   ú-ExceptionInfo[BaseExceptionGroup[BaseExcT_1]]c                ó   — d S r*   r6   r;   s    r-   rò   zRaisesGroup.__enter__[  s	   € ð 9<¸r/   ú0ExceptionInfo[BaseExceptionGroup[BaseException]]c                ó@   — t          j        ¦   «         | _        | j        S r*   )rc   r8   r&   r;   s    r-   rò   zRaisesGroup.__enter__`  s   € åÔ#Ñ%Ô%ð 	Œð Œ|Ðr/   rF   c                óª  — d„ | j         D ¦   «         }| j        r|                     d| j        › �¦  «         | j        r|                     d| j        › �¦  «         | j        �*|                     dt          | j        ¦  «        ›�¦  «         | j        �*|                     dt          | j        ¦  «        › �¦  «         dd                     |¦  «        › d�S )	Nc                ód   — g | ]-}t          |t          ¦  «        r|j        nt          |¦  «        ‘Œ.S r6   )r„   r<   r\   rx   ©Ú.0rz   s     r-   ú
<listcomp>z(RaisesGroup.__repr__.<locals>.<listcomp>g  sC   € ð 
ð 
ð 
àõ % Q­Ñ-Ô-Ð:ˆAŒJˆJµ4¸±7´7ð
ð 
ð 
r/   zallow_unwrapped=zflatten_subgroups=rº   r»   zRaisesGroup(r¼   r½   )	rí   rÊ   r¾   rÈ   rm   rt   rŒ   ry   ri   r¿   s     r-   rÁ   zRaisesGroup.__repr__f  sø   € ð
ð 
àÔ-ð
ñ 
ô 
ˆ
ð Ôð 	IØ×ÒÐG°Ô1EÐGÐGÑHÔHÐHØÔ!ð 	MØ×ÒÐK°4Ô3IÐKÐKÑLÔLÐLØŒ:Ð!à×ÒÐE¥~°d´jÑ'AÔ'AÐEÐEÑFÔFÐFØŒ:Ð!Ø×ÒÐB¥}°T´ZÑ'@Ô'@ÐBÐBÑCÔCÐCØ6˜dŸiši¨
Ñ3Ô3Ð6Ð6Ð6Ð6r/   Ú
exceptionsúSequence[BaseException]c                óÄ   — g }|D ]Z}t          |t          ¦  «        r.|                     |                      |j        ¦  «        ¦  «         ŒE|                     |¦  «         Œ[|S )z!Used if `flatten_subgroups=True`.)r„   r    ÚextendÚ_unroll_exceptionsrü   r¾   )r,   rü   ÚresrL   s       r-   r   zRaisesGroup._unroll_exceptionsv  sh   € ð
 $&ˆØð 	 ð 	 ˆCÝ˜#Õ1Ñ2Ô2ð  Ø—
’
˜4×2Ò2°3´>ÑBÔBÑCÔCÐCÐCð —
’
˜3‘”��Øˆ
r/   r    úBaseException | Noneú!TypeGuard[ExceptionGroup[ExcT_1]]c                ó   — d S r*   r6   r£   s     r-   r¤   zRaisesGroup.matches„  s	   € ð -0¨Cr/   ú)TypeGuard[BaseExceptionGroup[BaseExcT_1]]c                ó   — d S r*   r6   r£   s     r-   r¤   zRaisesGroup.matches‰  s	   € ð 58°Cr/   ú*TypeGuard[BaseExceptionGroup[BaseExcT_co]]c           
     óR  — d| _         |€	d| _         dS t          |t          ¦  «        s‰t          |¦  «        j        ›d�}t          | j        ¦  «        dk    r	|| _         dS |                      | j        d         |¦  «        }|€	| j        rdS |€|› d�| _         n| j        r|| _         n|| _         dS |j	        }| j
        r|                      |¦  «        }|                      |¦  «        sô| j         }t          |¦  «        t          | j        ¦  «        cxk    rdk    r¸n nµt          | j        d         x}t          ¦  «        r“t          |d         x}|¦  «        r{|                      |¦  «        rf| j        €
J d	¦   «         ‚| j         |cxu r€n J ‚| xj         d
|                      |¦  «        › d|j        › dt          | j        ¦  «        ›d�z  c_         n|| _         dS |                      ||¦  «        s¡| j         €J ‚| j         }| j
        s�t#          d„ | j        D ¦   «         ¦  «        sct#          d„ |D ¦   «         ¦  «        rJ|                      ||                      |j	        ¦  «        ¦  «        rd| j         vrdnd}|d|› d�z   | _         n|| _         dS |                      |¦  «        S )a1  Check if an exception matches the requirements of this RaisesGroup.
        If it fails, `RaisesGroup.fail_reason` will be set.

        Example::

            with pytest.raises(TypeError) as excinfo:
                ...
            assert RaisesGroups(ValueError).matches(excinfo.value.__cause__)
            # the above line is equivalent to
            myexc = excinfo.value.__cause
            assert isinstance(myexc, BaseExceptionGroup)
            assert len(myexc.exceptions) == 1
            assert isinstance(myexc.exceptions[0], ValueError)
        Nzexception is NoneFz is not an exception groupr>   r   Tz-, but would match with `allow_unwrapped=True`z$can't be None if _check_match failedz, but matched the expected z%. You might want RaisesGroup(Matcher(z, match=z))c              3  ó@   K  — | ]}t          |t          ¦  «        V — Œd S r*   )r„   rÇ   rù   s     r-   ú	<genexpr>z&RaisesGroup.matches.<locals>.<genexpr>Ú  s=   è è € ð ð Ø34•J˜q¥+Ñ.Ô.ðð ð ð ð ð r/   c              3  ó@   K  — | ]}t          |t          ¦  «        V — Œd S r*   )r„   r    rù   s     r-   r
  z&RaisesGroup.matches.<locals>.<genexpr>Ý  s-   è è € ÐUÐU¸a�
 1Õ&8Ñ9Ô9ÐUÐUÐUÐUÐUÐUr/   rf   ú  rl   z-Did you mean to use `flatten_subgroups=True`?)r‘   r„   r    r<   r\   Úlenrí   Ú_check_expectedrÊ   rü   rÈ   r   rŸ   rm   Ú_repr_expectedrt   Ú_check_exceptionsÚanyrš   )	r,   r    Únot_group_msgr  Úactual_exceptionsÚ
old_reasonÚexpectedÚactualr   s	            r-   r¤   zRaisesGroup.matches�  s¯  € ð$ !ˆÔØˆ?Ø 3ˆDÔØ�5Ý˜'Õ#5Ñ6Ô6ð 	õ  $ G™}œ}Ô5ÐSÐSÐSˆMÝ�4Ô+Ñ,Ô,¨qÒ0Ð0Ø$1�Ô!Ø�uð ×&Ò& tÔ'?ÀÔ'BÀGÑLÔLˆCØˆ{˜tÔ3ˆ{Ø�tàˆ{à$ÐSÐSÐSð Ô!Ð!ð Ô%ð 2Ø$'�Ô!Ð!à$1�Ô!Ø�5à5<Ô5GÐØÔ!ð 	KØ $× 7Ò 7Ð8IÑ JÔ JÐà× Ò  Ñ)Ô)ð 	ØÔ*ˆJåÐ%Ñ&Ô&­#¨dÔ.FÑ*GÔ*GÐLÐLÒLÐLÈ1ÒLÐLÐLÐLÐLÝ¨4Ô+CÀAÔ+FÐF˜xÍÑMÔMð MåÐ):¸1Ô)=Ð=˜v¸xÑHÔHð Mð ×%Ò% fÑ-Ô-ð Mð
 ”zÐ-Ð-Ð/UÑ-Ô-Ð-ØÔ(¨JÐBÐBÐBÐBÐBÐBÐBÐBÐBØÐ!Ô!ð  &CÀ4×CVÒCVÐW_ÑC`ÔC`ð  &Cð  &Cð  HPô  HYð  &Cð  &Cõ  cqð  rvô  r|ñ  c}ô  c}ð  &Cð  &Cð  &Cñ  CÐ!Ô!Ð!à$.�Ô!Ø�5ð ×%Ò%ØØñ
ô 
ð 	ð Ô$Ð0Ð0Ð0ØÔ*ˆJð Ô*ð/åð ð Ø8<Ô8Pðñ ô ñ ô ð/õ
 ÐUÐUÐCTÐUÑUÔUÑUÔUð/ð ×*Ò*ØØ×+Ò+¨GÔ,>Ñ?Ô?ñô ð/ð "&¨TÔ->Ð!>Ð!>˜˜ÀB�àØP˜6ÐPÐPÐPñQð Ô!Ð!ð
 %/�Ô!Ø�5ð × Ò  Ñ)Ô)Ð)r/   r   úItype[BaseException] | Matcher[BaseException] | RaisesGroup[BaseException]rd   r‚   c                ó  — t          | t          ¦  «        rt          | |¦  «        S |                      |¦  «        }|rdS | j        €J ‚| j                             d¦  «        rd| ›dt          | j        d¦  «        › �S | ›d| j        › �S )zŒHelper method for `RaisesGroup.matches` and `RaisesGroup._check_exceptions`
        to check one of potentially several expected exceptions.Nrf   z: r  )r„   r<   rˆ   r¤   r•   Ú
startswithr   )r   r�   r  s      r-   r  zRaisesGroup._check_expectedò  s©   € õ �m¥TÑ*Ô*ð 	=Ý" =°)Ñ<Ô<Ð<Ø×#Ò# IÑ.Ô.ˆØð 	Ø�4ØÔ(Ð4Ð4Ð4ØÔ$×/Ò/°Ñ5Ô5ð 	UØT˜ÐTÐT­6°-Ô2KÈTÑ+RÔ+RÐTÐTÐTØÐ@Ð@ ]Ô%>Ð@Ð@Ð@r/   rz   ú4type[BaseException] | AbstractMatcher[BaseException]c                óh   — t          | t          ¦  «        rt          | ¦  «        S t          | ¦  «        S )zfGet the repr of an expected type/Matcher/RaisesGroup, but we only want
        the name if it's a type)r„   r<   r~   rx   r}   s    r-   r  zRaisesGroup._repr_expected  s/   € õ �a�ÑÔð 	+Ý'¨Ñ*Ô*Ð*Ý�A‰wŒwˆr/   Ú_exc_valrï   r  úSequence[Exception]c                ó   — d S r*   r6   ©r,   r  r  s      r-   r  zRaisesGroup._check_exceptions  s	   € ð
 -0¨Cr/   c                ó   — d S r*   r6   r  s      r-   r  zRaisesGroup._check_exceptions  s	   € ð
 58°Cr/   c                ó´  ‡ ‡— t          ‰ j        ‰¦  «        }t          t          t	          ‰¦  «        ¦  «        ¦  «        }g }i }t          ‰ j        ¦  «        D ]p\  }}|D ]S}	‰                      |‰|	         ¦  «        }
|                     ||	|
¦  «         |
€|                     |	¦  «         |	||<    nŒT| 	                    |¦  «         Œq|s|sdS dt	          ‰¦  «        cxk    rt	          ‰ j        ¦  «        k    rn n|rJ ‚|
‰ _
        dS t          ‰ j        ¦  «        D ]\\  }}t          ‰¦  «        D ]G\  }}|                     ||¦  «        rŒ|                     ||‰                      ||¦  «        ¦  «         ŒHŒ]|r*t	          |¦  «        › dt	          |¦  «        dk    rdnd› d�nd}|s/|                     |¦  «        r|› d	ˆfd
„|D ¦   «         ›�‰ _
        dS |sC|                     |¦  «        r.|› dd                     ˆ fd„|D ¦   «         ¦  «        › d�‰ _
        dS dt	          |¦  «        cxk    rt	          |¦  «        k    rZn nW|                     |¦  «        rB|                     |¦  «        r-|› |                     |d         |d         ¦  «        › �‰ _
        dS d}|r|d|› �z  }d}d}|s|dz  }n|s|dz  }|r#|dz  }d„ |                     ¦   «         D ¦   «         }|D ]‡}|d|› ‰                      ‰ j        |         ¦  «        › �z  }t          ‰¦  «        D ]M\  }}|                     ||¦  «        €2|d|› d|›d‰                      ‰ j        ||                  ¦  «        › �z  }ŒNŒˆ|r|dz  }|D ]ž}|d|› ‰|         ›d�z  }t          ‰ j        ¦  «        D ]v\  }}|                     ||¦  «        }
||v r(|
€J ‚|
d         dk    r|dz  }|t%          |
|¦  «        z  }|
€-|d|› d‰                      |¦  «        › d‰||                  ›�z  }ŒwŒŸt	          ‰ j        ¦  «        t	          ‰¦  «        k    rt'          |¦  «        r|dz  }|‰ _
        dS )z]helper method for RaisesGroup.matches that attempts to pair up expected and actual exceptionsNTr>   Fz matched exceptionÚsrl   z. zUnexpected exception(s): c                ó    •— g | ]
}‰|         ‘ŒS r6   r6   )rú   Úir  s     €r-   rû   z1RaisesGroup._check_exceptions.<locals>.<listcomp>R  s!   ø€ ÐL|ÐL|ÐL|ÐfgÐM^Ð_`ÔMaÐL|ÐL|ÐL|r/   z0Too few exceptions raised, found no match for: [r¼   c              3  óX   •K  — | ]$}‰                      ‰j        |         ¦  «        V — Œ%d S r*   )r  rí   )rú   r$  r,   s     €r-   r
  z0RaisesGroup._check_exceptions.<locals>.<genexpr>V  s�   øè è € ð  mxð  mxð  cdÐmq÷  nAò  nAð  BFô  BZð  [\ô  B]ñ  n^ô  n^ð  mxð  mxð  mxð  mxð  mxð  mxr/   ú]r   rf   r  z    z
Too few exceptions raised!z
Unexpected exception(s)!z8
The following expected exceptions did not find a match:c                ó   — i | ]\  }}||“Œ	S r6   r6   )rú   ÚkÚvs      r-   ú
<dictcomp>z1RaisesGroup._check_exceptions.<locals>.<dictcomp>q  s   € Ð<Ð<Ð<¡D A q˜1˜aÐ<Ð<Ð<r/   zIt matches z which was paired with z5
The following raised exceptions did not find a matchú:zØ
There exist a possible match when attempting an exhaustive check, but RaisesGroup uses a greedy algorithm. Please make your expected exceptions more stringent with `Matcher` etc so the greedy algorithm can function.)ÚResultHolderrí   ÚlistÚranger  Ú	enumerater  Ú
set_resultÚremover¾   r‘   Ú
has_resultÚno_match_for_actualÚno_match_for_expectedri   Ú
get_resultÚitemsr  r   Úpossible_match)r,   r  r  ÚresultsÚremaining_actualÚfailed_expectedr¤   Úi_expr  Úi_remr  Úi_actualr  Úsuccessful_strr"  Úindent_1Úindent_2Úrev_matchesÚi_faileds   ` `                r-   r  zRaisesGroup._check_exceptions  s©  øø€ õ ˜tÔ7Ð9JÑKÔKˆõ  ¥¥cÐ*;Ñ&<Ô&<Ñ =Ô =Ñ>Ô>Ðà%'ˆà"$ˆõ  )¨Ô)AÑBÔBð 		.ð 		.‰OˆE�8Ø)ð .ð .�Ø×*Ò*¨8Ð5FÀuÔ5MÑNÔN�Ø×"Ò" 5¨%°Ñ5Ô5Ð5Ø�;Ø$×+Ò+¨EÑ2Ô2Ð2Ø%*�G˜E‘NØ�Eð ð
  ×&Ò& uÑ-Ô-Ð-øð  ð 	¨ð 	Ø�4ð •Ð%Ñ&Ô&ÐGÐGÒGÐG­#¨dÔ.FÑ*GÔ*GÒGÐGÐGÐGÐGØÐÐÐØ #ˆDÔØ�5õ  )¨Ô)AÑBÔBð 	ð 	‰OˆE�8Ý$-Ð.?Ñ$@Ô$@ð ð Ñ �˜&Ø×%Ò% e¨XÑ6Ô6ð ØØ×"Ò"Ø˜8 T×%9Ò%9¸(ÀFÑ%KÔ%Kñô ð ð ðð ð�s�7‰|Œ|ÐRÐRµc¸'±l´lÀQÒ6FÐ6F¨s¨sÈBÐRÐRÐRÐRàð 	ð ð 	 7×#>Ò#>Ð?OÑ#PÔ#Pð 	Ø#1ð  !Að  !AÐL|ÐL|ÐL|ÐL|Ðk{ÐL|ÑL|ÔL|ð  !Að  !AˆDÔØ�5àð 	 G×$AÒ$AÀ/Ñ$RÔ$Rð 	Ø#1ð  !{ð  !{Ðcg×clÒclð  mxð  mxð  mxð  mxð  hwð  mxñ  mxô  mxñ  dxô  dxð  !{ð  !{ð  !{ˆDÔØ�5ð
 •Ð%Ñ&Ô&Ð>Ð>Ò>Ð>­#¨oÑ*>Ô*>Ò>Ð>Ð>Ð>Ð>Ø×+Ò+Ð,<Ñ=Ô=ð ?à×-Ò-¨oÑ>Ô>ð ?ð $2Ð p°7×3EÒ3EÀoÐVWÔFXÐZjÐklÔZmÑ3nÔ3nÐ pÐ pˆDÔØ�5ð ˆØð 	'ØÐ&�nÐ&Ð&Ñ&ˆAØˆØˆàð 	.ØÐ/Ñ/ˆAˆAØ ð 	.ØÐ-Ñ-ˆAàð 	=ØÐLÑLˆAØ<Ð<¨G¯MªM©O¬OÐ<Ñ<Ô<ˆKØ'ð 	[ð 	[ˆHØØX�XÐX˜t×2Ò2°4Ô3KÈHÔ3UÑVÔVÐXÐXñˆAõ %.Ð.?Ñ$@Ô$@ð [ð [Ñ �˜&Ø×%Ò% e¨XÑ6Ô6Ð>àð  [˜hð  [ð  [°6ð  [ð  [ÐTX×TgÒTgÐhlô  iAð  BMð  NVô  BWô  iXñ  UYô  UYð  [ð  [ñ  [�Aøð[ð
 ð 	JØÐIÑIˆAØ(ð 	Oð 	OˆHØÐ@�hÐ@Ð 1°(Ô ;Ð@Ð@Ð@Ñ@ˆAÝ#,¨TÔ-EÑ#FÔ#Fð 	Oð 	O‘��xØ×(Ò(¨°Ñ9Ô9�Ø˜OÐ+Ð+Ø˜?˜?˜?Ø˜1”v ’~�~Ø˜T™	˜Ø�  XÑ.Ô.Ñ.�AØ�;àð  O˜hð  Oð  O°4×3FÒ3FÀxÑ3PÔ3Pð  Oð  OÐizð  |Cð  DIô  |Jô  jKð  Oð  Oñ  O�Aøð	Oõ ˆtÔ'Ñ(Ô(­CÐ0AÑ,BÔ,BÒBÐBÅ~ØñH
ô H
ÐBð ð  mñ  mˆAØˆÔØˆur/   Úexc_typer€   Úexc_tbútypes.TracebackType | Nonec                ó\  — d}|€J d|                       ¦   «         › �¦   «         ‚| j        €
J d¦   «         ‚| j        rt          |t          ¦  «        sdnd}|                      |¦  «        sJ d|› d| j        › �¦   «         ‚t          d|||f¦  «        }| j                             |¦  «         dS )	NTz&DID NOT RAISE any exception, expected z:Internal error - should have been constructed in __enter__z(group)ÚgroupzRaised exception z did not match: zbtuple[type[BaseExceptionGroup[BaseExcT_co]], BaseExceptionGroup[BaseExcT_co], types.TracebackType])	r   r&   rÊ   r…   r    r¤   r‘   r   r3   )r,   rC  r    rD  Ú__tracebackhide__Ú	group_strr0   s          r-   Ú__exit__zRaisesGroup.__exit__‘  s  € ð !ÐàÐ Ð ØJ°D×4FÒ4FÑ4HÔ4HÐJÐJñ !Ô Ð ð ŒLÐ$Ð$ØGñ %Ô$Ð$ð
 Ô#ðÝ,6°xÕASÑ,TÔ,TðˆIˆIàð 	ð �|Š|Øñ
ô 
ð 	Nð 	NàM˜yÐMÐM¸$Ô:KÐMÐMñ	Nô 	Nð 	Nõ
 ØpØ�w Ð'ñ
ô 
ˆð 	Œ×"Ò" 8Ñ,Ô,Ð,Øˆtr/   c                óÌ  — g }| j         D ]µ}t          |t          ¦  «        r#|                     t	          |¦  «        ¦  «         Œ:t          |t
          ¦  «        r(|                     |                     ¦   «         ¦  «         Œwt          |t          ¦  «        r|                     |j        ¦  «         Œ§t          d¦  «        ‚| j
        rdnd}|› dd                     |¦  «        › d�S )Nzunknown typeÚBaserl   zExceptionGroup(r¼   r½   )rí   r„   r¦   r¾   rF   rÇ   r   r<   r\   ÚAssertionErrorrî   ri   )r,   Úsubexcsrz   Ú
group_types       r-   r   zRaisesGroup.expected_type±  sâ   € ØˆØÔ)ð 	5ð 	5ˆAÝ˜!�WÑ%Ô%ð 5Ø—’�s 1™vœvÑ&Ô&Ð&Ð&Ý˜A�{Ñ+Ô+ð 5Ø—’˜qŸšÑ0Ô0Ñ1Ô1Ð1Ð1Ý˜A�tÑ$Ô$ð 5Ø—’˜qœzÑ*Ô*Ð*Ð*å$ ^Ñ4Ô4Ð4Ø#Ô9ÐA�V�V¸rˆ
ØÐBÐB¨T¯YªY°wÑ-?Ô-?ÐBÐBÐBÐBr/   )r�   rÉ   rÊ   rË   rÈ   rE   r'   r(   )r�   rÉ   rÍ   rÉ   rÈ   rË   rm   r‹   rŒ   rÎ   r'   r(   )r,   rÐ   r�   rÑ   rÍ   rÑ   rm   r‹   rŒ   rÒ   r'   r(   )r,   rÕ   r�   rÖ   rÍ   rÖ   rm   r‹   rŒ   r×   r'   r(   )r,   rÙ   r�   rÚ   rÍ   rÚ   rm   r‹   rŒ   rÛ   r'   r(   )r,   rÞ   r�   rß   rÍ   rß   rm   r‹   rŒ   rà   r'   r(   )r,   râ   r�   rã   rÍ   rã   rm   r‹   rŒ   rä   r'   r(   )r,   ræ   r�   rç   rÍ   rç   rm   r‹   rŒ   rè   r'   r(   )r,   rê   r�   rç   rÍ   rç   rÊ   rE   rÈ   rE   rm   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�   rd   r'   r‚   )rz   r  r'   rF   )r,   rÐ   r  rï   r  r  r'   r  )r,   rÞ   r  rd   r  rý   r'   r  )r  rd   r  rý   r'   r  )rC  r€   r    r  rD  rE  r'   rE   )r\   r]   r^   r_   r   r.   rò   rÁ   r   r¤   Ústaticmethodr  r  r  rJ  r   rÄ   rÅ   s   @r-   rÇ   rÇ   j  s¡  ø€ € € € € ð5ð 5ðr ð #(ðð ð ð ð ñ „Xðð ð ,0ØJNðð ð ð ð ñ „Xðð ð
 ,0ØAEðð ð ð ð ñ „Xðð ð
 ,0ØQUðð ð ð ð ñ „Xðð ð
 ,0ð ðð ð ð ð ñ „Xðð ð
 ,0ØIMðð ð ð ð ñ „Xðð ð
 ,0ð ðð ð ð ð ñ „Xðð ð ,0ð ðð ð ð ð ñ „Xðð, !&Ø"'Ø+/ð
 ðTð Tð Tð Tð Tð Tð Tð Tðl ð4ð 4ð 4ñ „Xð4ð ð<ð <ð <ñ „Xð<ðð ð ð ð7ð 7ð 7ð 7ð ð ð ð ð ð0ð 0ð 0ñ „Xð0ð ð8ð 8ð 8ñ „Xð8ð
a*ð a*ð a*ð a*ðF ðAð Að Añ „\ðAð$ ðð ð ñ „\ðð ð0ð 0ð 0ñ „Xð0ð
 ð8ð 8ð 8ñ „Xð8ðuð uð uð uðnð ð ð ð@Cð Cð Cð Cð Cð Cð Cð Cr/   rÇ   c                  ó   — e Zd ZdS )Ú
NotCheckedN)r\   r]   r^   r6   r/   r-   rR  rR  À  s   € € € € € Ø�#r/   rR  c                  ó>   — e Zd Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„ZdS )r,  rí   ú@tuple[type[BaseException] | AbstractMatcher[BaseException], ...]r  rý   r'   r(   c                ó.   ‡— ˆfd„|D ¦   «         | _         d S )Nc                ó(   •— g | ]}d „ ‰D ¦   «         ‘ŒS )c                ó   — g | ]	}t           ‘Œ
S r6   )rR  )rú   Ú_s     r-   rû   z4ResultHolder.__init__.<locals>.<listcomp>.<listcomp>Í  s   € Ð5Ð5Ð5˜A�ZÐ5Ð5Ð5r/   r6   )rú   rX  rí   s     €r-   rû   z)ResultHolder.__init__.<locals>.<listcomp>Ì  s<   ø€ ð C
ð C
ð C
Ø:;Ð5Ð5Ð!4Ð5Ñ5Ô5ðC
ð C
ð C
r/   ©r8  )r,   rí   r  s    ` r-   r.   zResultHolder.__init__Å  s8   ø€ ðC
ð C
ð C
ð C
Ø?PðC
ñ C
ô C
ˆŒˆˆr/   r  Úintr  Úresultr‚   c                ó&   — || j         |         |<   d S r*   rY  )r,   r  r  r[  s       r-   r0  zResultHolder.set_resultÐ  s   € Ø)/ˆŒ�VÔ˜XÑ&Ð&Ð&r/   c                óZ   — | j         |         |         }t          |t          ¦  «        rJ ‚|S r*   )r8  r„   r<   )r,   r  r  r  s       r-   r5  zResultHolder.get_resultÓ  s.   € ØŒl˜6Ô" 8Ô,ˆå˜c¥4Ñ(Ô(Ð(Ð(Ð(Øˆ
r/   rE   c                ó6   — | j         |         |         t          uS r*   ©r8  rR  )r,   r  r  s      r-   r2  zResultHolder.has_resultÙ  s   € ØŒ|˜FÔ# HÔ-µZÐ?Ð?r/   ú	list[int]c                ó^   — |D ])}| j         D ]}||         t          usJ ‚||         €  dS Œ Œ*dS ©NFTr_  )r,   r  r$  Úactual_resultss       r-   r4  z"ResultHolder.no_match_for_expectedÜ  s]   € Øð 	!ð 	!ˆAØ"&¤,ð !ð !�Ø% aÔ(µ
Ð:Ð:Ð:Ð:Ø! !Ô$Ð,Ø ˜5˜5˜5ð -ð!ð ˆtr/   c                óR   — |D ]#}| j         |         D ]}|t          usJ ‚|€  dS ŒŒ$dS rb  r_  )r,   r  r$  r  s       r-   r3  z ResultHolder.no_match_for_actualä  sV   € Øð 	!ð 	!ˆAØ”| A”ð !ð !�Ø¥*Ð,Ð,Ð,Ð,Ø�;Ø ˜5˜5˜5ð ð!ð ˆtr/   N)rí   rT  r  rý   r'   r(   )r  rZ  r  rZ  r[  r‚   r'   r(   )r  rZ  r  rZ  r'   r‚   )r  rZ  r  rZ  r'   rE   )r  r`  r'   rE   )r  r`  r'   rE   )	r\   r]   r^   r.   r0  r5  r2  r4  r3  r6   r/   r-   r,  r,  Ä  s�   € € € € € ð	
ð 	
ð 	
ð 	
ð0ð 0ð 0ð 0ðð ð ð ð@ð @ð @ð @ðð ð ð ðð ð ð ð ð r/   r,  r8  Úusedúset[int] | NonerE   c                óò   — |€t          ¦   «         }t          |¦  «        }|t          | j        ¦  «        k    rdS t          | j        |         ¦  «        D ]"\  }}|€||vrt	          | ||hz  ¦  «        r dS Œ#dS )NTF)Úsetr  r8  r/  r7  )r8  re  Úcurr_rowr$  Úvals        r-   r7  r7  í  s…   € Ø€|Ý‰uŒuˆÝ�4‰yŒy€HØ•3�w”Ñ'Ô'Ò'Ð'Øˆtå˜GœO¨HÔ5Ñ6Ô6ð ð ‰ˆˆ3Øˆ;˜1 D˜=˜=­^¸GÀTÈQÈCÁZÑ-PÔ-P˜=Ø�4�4øØˆ5r/   )rL   rd   r'   rF   )rm   rn   r'   ro   )ru   rv   r'   rF   )rz   r{   r'   rF   )r   r€   r�   rd   r'   r‚   r*   )r8  r,  re  rf  r'   rE   )<Ú
__future__r   r�   ÚsysÚabcr   r   r   Útextwrapr   Útypingr   r	   r
   r   r   r   Ú
trio._utilr   ÚbuiltinsÚtypesÚcollections.abcr   r   Ú_pytest._code.coder   r   r   Útyping_extensionsr   rd   r   r   r   r   rï   r   r   Úversion_infoÚexceptiongroupr    r!   r#   rc   ÚpytestÚImportErrorrk   r�   rq   rr   rt   ry   r~   rˆ   rŠ   r¦   rÇ   rR  r,  r7  r6   r/   r-   ú<module>rz     s8  ðØ "Ð "Ð "Ð "Ð "Ð "à 	€	€	€	Ø 
€
€
€
Ø #Ð #Ð #Ð #Ð #Ð #Ð #Ð #Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ Mà Ð Ð Ð Ð Ð àð DØ€O€O€Oð €L€L€LØ2Ð2Ð2Ð2Ð2Ð2Ð2Ð2àSÐSÐSÐSÐSÐSÐSÐSÐSÐSØ)Ð)Ð)Ð)Ð)Ð)ð ˆWØØØØð	ñ ô €F€Fð ÐÐÐÐÐàˆW�X ]¸dÐCÑCÔC€Fð ˆg�m¨=ÀDÐIÑIÔI€ØˆW�\¨Ð7Ñ7Ô7€
ØˆW�\¨Ð7Ñ7Ô7€
Ø	ˆ� Ð	+Ñ	+Ô	+€Ø	ˆ� Ð	+Ñ	+Ô	+€àÔ�gÒÐØAÐAÐAÐAÐAÐAÐAÐAð ðJ
ð J
ð J
ð J
ð J
�W˜V”_ñ J
ô J
ñ „ðJ
ðd ð 'Ø"€M€Mð'Ø(Ð(Ð(Ð(Ð(Ð(Ð(øØð 'ð 'ð 'Ø&ˆˆˆð'øøøð
ð ð ð ð �"”*˜S‘/”/Ô'€ðFð Fð Fð Fð
ð ð ð ðð ð ð ðð ð ð ð*Að Að Að Að A�c˜7 ;Ô/ñ Aô Að AðH ðc)ð c)ð c)ð c)ð c)ˆo˜fÔ%ñ c)ô c)ñ „ðc)ðL ðR	Cð R	Cð R	Cð R	Cð R	C�/Ð"4°[Ô"AÔBñ R	Cô R	Cñ „ðR	Cðj Ø Ð Ð Ð Ð Ñ Ô ñ „Ø ð&ð &ð &ð &ð &ñ &ô &ð &ðR
ð 
ð 
ð 
ð 
ð 
ð 
s   Ã6C= Ã=DÄD