
    Yf                     X    d dl mZmZ dZdZdZdZdZdedeeee   f   fd	Z	dedefd
Z
y)    )ListTuple clh
frame_inforeturnc                 n    | j                  t              \  }}}|s|g fS ||j                  t              fS )a  
    Parses a frame_info string, returns a tuple of (identifier, attributes),
    where `identifier` is a unique identifier for this code (e.g. a function
    or method), and `attributes` is a list of invocation-specific attributes
    that were captured at profile-time.
    )	partitionATTRIBUTES_SEPsplit)r
   
identifier_attributes_strs       W/var/www/highfloat_scraper/venv/lib/python3.12/site-packages/pyinstrument/frame_info.pyparse_frame_infor      s>     %/$8$8$H!J>2~~++N;;;    c                 D    | j                  t              }|dk(  r| S | d| S )zF
    Equivalent to `parse_frame_info(frame_info)[0]`, but faster.
    r   )findr   )r
   indexs     r   frame_info_get_identifierr      s,     OON+E{ar   N)typingr   r   IDENTIFIER_SEPr   ATTRIBUTE_MARKER_CLASS_NAMEATTRIBUTE_MARKER_LINE_NUMBERATTRIBUTE_MARKER_TRACEBACKHIDEstrr   r    r   r   <module>r"      sY    
 ! " !$ < <sDI~)> < 
# 
# 
r   