
    Pi.                     j    d dl mZmZ  G d de          Z G d de          Z G d de          ZdS )	    )IterableIteratorc                   B     e Zd Zi Zdef fdZ fdZdef fdZ xZS )tracked_stroriginc                     t                                                      | j        vr*|| j        t                                                      <   d S d S N)super__repr__origins)selfr   	__class__s     h/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/datasets/utils/track.py
set_originztracked_str.set_origin   sJ    77T\11/5DL))++,,, 21    c                     | j                             t                                                      t	          |                     S r	   )r   getr
   r   strr   r   s    r   
get_originztracked_str.get_origin   s1    | 0 0 2 2CII>>>r   returnc                 l   t                                                      | j        vs/| j        t                                                               | k    r t                                                      S t          |            d| j        t                                                                dS )Nz	 (origin=))r
   r   r   r   r   s    r   r   ztracked_str.__repr__   s    77T\11T\%''BRBRBTBT5UY]5]5]77##%%%$iiMM$,uww7G7G7I7I*JMMMMr   )	__name__
__module____qualname__r   r   r   r   r   __classcell__r   s   @r   r   r      s        G6 6 6 6 6 6 6? ? ? ? ?N# N N N N N N N N N Nr   r   c                   @     e Zd Zd fdZdef fdZdef fdZ xZS )tracked_listr   Nc                 H     t                      j        |i | d | _        d S r	   )r
   __init__	last_item)r   argskwargsr   s      r   r"   ztracked_list.__init__   s*    $)&)))r   c              #   v   K   t                                                      D ]}|| _        |V  d | _        d S r	   )r
   __iter__r#   )r   xr   s     r   r'   ztracked_list.__iter__   sC      !!## 	 	ADNGGGGr   c                     | j          t                                                      S | j        j         d| j          dS Nz	(current=r   r#   r
   r   r   r   r   s    r   r   ztracked_list.__repr__    ?    >!77##%%%n-IIIIIIr   )r   N)	r   r   r   r"   r   r'   r   r   r   r   s   @r   r    r       s             (      J# J J J J J J J J J Jr   r    c                   >     e Zd ZdZ fdZd Zdef fdZd Z xZ	S )TrackedIterableFromGeneratorzkUtility class to create an iterable from a generator function, in order to reset the generator when needed.c                 r    t                                                       || _        || _        d | _        d S r	   )r
   r"   	generatorr$   r#   )r   r0   r$   r   s      r   r"   z%TrackedIterableFromGenerator.__init__*   s2    "	r   c              #   R   K    | j         | j         D ]}|| _        |V  d | _        d S r	   )r0   r$   r#   )r   r(   s     r   r'   z%TrackedIterableFromGenerator.__iter__0   s=      + 	 	ADNGGGGr   r   c                     | j          t                                                      S | j        j         d| j          dS r*   r+   r   s    r   r   z%TrackedIterableFromGenerator.__repr__6   r,   r   c                 0    | j         | j        g| j        R fS r	   )r   r0   r$   )r   s    r   
__reduce__z'TrackedIterableFromGenerator.__reduce__<   s     <$) < <==r   )
r   r   r   __doc__r"   r'   r   r   r4   r   r   s   @r   r.   r.   '   s        uu      J# J J J J J J> > > > > > >r   r.   N)collections.abcr   r   r   r   listr    r.    r   r   <module>r9      s    . . . . . . . .N N N N N# N N N"J J J J J4 J J J$> > > > >8 > > > > >r   