o
     JAfd	                     @   sd   d dl Z d dlZd dlZd dlZd dlZddlmZ dd Zdd Zdd	 Z	dddZ
dddZdS )    N   )	constantsc                 C   sV   t | } t | r| j}|j|jfS t| tjrt	| j
S t| tjr)t	| j
S d S N)inspectunwrapZ
isfunction__code__co_filenameco_firstlineno
isinstance	functoolspartial_get_function_sourcefuncpartialmethod)r   code r   -/usr/lib/python3.10/asyncio/format_helpers.pyr   
   s   



r   c                 C   s8   t | |d }t| }|r|d|d  d|d  7 }|S )Nz at r   :r   )_format_callbackr   )r   args	func_reprsourcer   r   r   _format_callback_source   s
   r   c                 C   sJ   	 g }| r| dd | D  |r| dd | D  dd|S )Nc                 s   s    | ]}t |V  qd S r   reprlibrepr).0argr   r   r   	<genexpr>&   s    z*_format_args_and_kwargs.<locals>.<genexpr>c                 s   s(    | ]\}}| d t | V  qdS )=Nr   )r   kvr   r   r   r   (   s   & z({})z, )extenditemsformatjoin)r   kwargsr#   r   r   r   _format_args_and_kwargs   s   r'    c                 C   s   t | tjrt||| }t| j| j| j|S t| dr#| j	r#| j	}nt| dr/| j
r/| j
}nt| }|t||7 }|r@||7 }|S )N__qualname____name__)r
   r   r   r'   r   r   r   keywordshasattrr)   r*   r   )r   r   r&   suffixr   r   r   r   r   ,   s   r   c                 C   sF   	 | d u r
t  j} |d u rtj}tjjt| |dd}|	  |S )NF)limitlookup_lines)
sys	_getframef_backr   ZDEBUG_STACK_DEPTH	tracebackStackSummaryextract
walk_stackreverse)fr.   stackr   r   r   extract_stack>   s   
r:   )r(   )NN)r   r   r   r0   r3   r(   r   r   r   r'   r   r:   r   r   r   r   <module>   s    
