� !A?hd ��\�ddlZddlZddlZddlZddlZddlmZd�Zd�Zd�Z d d�Z d d �Z dS) �N�)� constantsc�8�tj|��}tj|��r|j}|j|jfSt |tj��rt|j ��St |tj ��rt|j ��SdS�N) �inspect�unwrap� isfunction�__code__� co_filename�co_firstlineno� isinstance� functools�partial�_get_function_source�func� partialmethod)r�codes �C/opt/alt/python-internal/lib64/python3.11/asyncio/format_helpers.pyrr s��� �>�$� � �D���$���7��}��� �$�"5�6�6��$� �)�*�*�/�#�D�I�.�.�.��$� �/�0�0�/�#�D�I�.�.�.� �4�c�x�t||d��}t|��}|r|d|d�d|d��z }|S)Nz at r�:r)�_format_callbackr)r�args� func_repr�sources r�_format_callback_sourcersQ�� ��t�T�2�2�I� !�$� '� '�F� �4��3�F�1�I�3�3��q� �3�3�3� � �rc���g}|r|�d�|D����|r1|�d�|���D����d�d�|����S)z�Format function arguments and keyword arguments. Special case for a single parameter: ('hello',) is formatted as ('hello'). c3�>K�|]}tj|��V��dSr��reprlib�repr)�.0�args r� z*_format_args_and_kwargs..&s,����7�7�3�W�\�#�&�&�7�7�7�7�7�7rc3�NK�|] \}}|�dtj|����V��!dS)�=Nr)r"�k�vs rr$z*_format_args_and_kwargs..(s<����I�I�$�!�Q��-�-�G�L��O�O�-�-�I�I�I�I�I�Irz({})z, )�extend�items�format�join)r�kwargsr*s r�_format_args_and_kwargsr.s��� �E� �8� � � �7�7�$�7�7�7�7�7�7� �J� � � �I�I�&�,�,�.�.�I�I�I�I�I�I� �=�=����5�)�)� *� *�*r�c�p�t|tj��r4t||��|z}t |j|j|j|��St|d��r|j r|j }n.t|d��r|j r|j }nt|��}|t||��z }|r||z }|S)N� __qualname__�__name__) r rrr.rrr�keywords�hasattrr1r2r!)rrr-�suffixrs rrr,s����$� �)�*�*�M�(��v�6�6��?���� �4�9�d�m�V�L�L�L��t�^�$�$���):���%� � � ��z� "� "��t�}���M� � ���J�J� � �(��v�6�6�6�I� ���V�� � �rc���|�tj��j}|� tj}t j�t j|��|d���}|� ��|S)zlReplacement for traceback.extract_stack() that only does the necessary work for asyncio debug mode. NF)�limit� lookup_lines) �sys� _getframe�f_backr�DEBUG_STACK_DEPTH� traceback� StackSummary�extract� walk_stack�reverse)�fr7�stacks r� extract_stackrD>sj�� �y� �M�O�O� "�� �}��+�� � "� *� *�9�+?��+B�+B�16�8=� +� ?� ?�E� �M�M�O�O�O� �Lr)r/)NN) rrr r9r=r/rrrr.rrD�rr�rFs��������������� � � � ����������� � � ���� +� +� +�����$�����r