o
    a+)h                     @   s   d dl mZmZmZ edZdee deeeef  fddZdee deeeef  fddZdee deeeeef  fd	d
ZdS )    )IterableTupleTypeVarTvaluesreturnc                 c   sN    t | }zt|}W n
 ty   Y dS w d|fV  |D ]}d|fV  qdS )z9Iterate and generate a tuple with a flag for first value.NTFiternextStopIteration)r   iter_valuesvalue r   UC:\Users\User\Downloads\Proyecto_IoT\venv\Lib\site-packages\pip/_vendor/rich/_loop.py
loop_first   s   
r   c                 c   sR    t | }zt|}W n
 ty   Y dS w |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 w d}|D ]}|d|fV  d}|}q|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
    ""(