a
    [f                     @   s   d dl mZmZmZ edZee eeeef  dddZee eeeef  dddZee eeeeef  ddd	Zd
S )    )IterableTupleTypeVarT)valuesreturnc                 c   sL   t | }zt|}W n ty(   Y dS 0 d|fV  |D ]}d|fV  q8dS )z9Iterate and generate a tuple with a flag for first value.NTFiternextStopIteration)r   iter_valuesvalue r   hC:\Users\91910\OneDrive\Desktop\vts_admin_rebuild-master\vts\Lib\site-packages\pip/_vendor/rich/_loop.py
loop_first   s    
r   c                 c   sP   t | }zt|}W n ty(   Y dS 0 |D ]}d|fV  |}q.d|fV  dS )z8Iterate and generate a tuple with a flag for last value.NFTr   )r   r   previous_valuer   r   r   r   	loop_last   s    
r   c                 c   s\   t | }zt|}W n ty(   Y dS 0 d}|D ]}|d|fV  d}|}q2|d|fV  dS )zBIterate and generate a tuple with a flag for first and last value.NTFr   )r   r   r   firstr   r   r   r   loop_first_last   s    r   N)	typingr   r   r   r   boolr   r   r   r   r   r   r   <module>   s     