+
    yjk                    ~    R t ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^t	Rt
RtRR R lltR	 R
 ltRR R lltR R ltR# )zUtilities for truncating assertion output.

Current default behaviour is to truncate assertion explanations at
terminal lines, unless running with an assertions verbosity level of at least 2 or running on CI.
)annotations)util)Config)Itemzuse '-vv' to showNc               (    V ^8  d   QhRRRRRRRR/# )   explanation	list[str]itemr   
max_length
int | Nonereturn )formats   "N/var/www/html/2rare/lib/python3.14/site-packages/_pytest/assertion/truncate.py__annotate__r      s,      "&4>    c                >    \        V4      '       d   \        V 4      # V # )zGTruncate this assertion explanation if the given test item is eligible.)_should_truncate_item_truncate_explanation)r   r
   r   s   &&&r   truncate_if_requiredr      s      T""$[11r   c                    V ^8  d   QhRRRR/# )r   r
   r   r   boolr   )r   s   "r   r   r      s     4 4 4 4r   c                    V P                   P                  \        P                  4      pV^8  ;'       d    \        P
                  ! 4       '       * # )z9Whether or not this test item is eligible for truncation.)configget_verbosityr   VERBOSITY_ASSERTIONSr   running_on_ci)r
   verboses   & r   r   r      s:    kk''(C(CDGQ;33t11333r   c               (    V ^8  d   QhRRRRRRRR/# )r   input_linesr	   	max_linesr   	max_charsr   r   )r   s   "r   r   r   "   s6     A AAA A 	Ar   c                   Vf   \         pVf   \        p\        RP                  V 4      4      pV^F,           pV^,           p\        V 4      V8:  d	   W48:  d   V # V RV pRp\        RP                  V4      4      V8  d   \	        Wb4      pMRp\        V 4      \        V4      ,
          pVR
,          '       d&   VR
,          R,           VR
&   V'       d
   V^,          pMRVR
&   . VORNRT RV^8X  d   RMR R	\
         2N# )a  Truncate given list of strings that makes up the assertion explanation.

Truncates to either 8 lines, or 640 characters - whichever the input reaches
first, taking the truncation explanation into account. The remaining lines
will be replaced by a usage message.
N TFz...z...Full output truncated (z linesz
 hidden), )DEFAULT_MAX_LINESDEFAULT_MAX_CHARSlenjoin_truncate_by_char_count	USAGE_MSG)	r    r!   r"   input_char_counttolerable_max_charstolerable_max_linestruncated_explanationtruncated_chartruncated_line_counts	   &&&      r   r   r   "   s<    %	%	 277;/0 	B  $a-K//3'
3N
277()*-@@ 7!!
 {+c2G.HHR  $9"$=$Eb! A%  %*b!	
 %%9$:%%*2
4Jyk	K r   c               $    V ^8  d   QhRRRRRR/# )r   r    r	   r"   intr   r   )r   s   "r   r   r   f   s!       s y r   c                    ^ p\        V 4       F0  w  r4V\        V4      ,           V8  d    MV\        V4      ,          pK2  	  V RX pW,          pV'       d   W,
          pVRV pVP                  V4       V# )    N)	enumerater)   append)r    r"   iterated_char_countiterated_index
input_linetruncated_result
final_linefinal_line_truncate_points   &&      r   r+   r+   f   s    &/&<"Z09<s:. '= #?N3,J$-$C! :!:;
J'r   i  )N)NN)__doc__
__future__r   _pytest.assertionr   _pytest.configr   _pytest.nodesr   r'   r(   r,   r   r   r   r+   r   r   r   <module>rD      sA    # " !    	4AHr   