
    g                         d dl Z d dlZdZdez  Zdez  Zdez  Zdez  Zdez  Zdez  Zdez  Z	dez  Z
dez  Zeeeeeeeeee	e
ed	Z e j                  d
      Z G d de      Zd ZddZd Zd Zy)    N   i  <            im  )nsusu   µsu   μsmssmhdwmmyu   ([\d\.]+)([a-zµμ]+)c                       e Zd ZdZy)DurationErrorzduration errorN)__name__
__module____qualname____doc__     H/var/www/openai/venv/lib/python3.12/site-packages/durationpy/duration.pyr   r   #   s    r   r   c                    | }| dv rt        j                         S d}| r| d   dv r| d   dk(  rd}| dd } t        t        j	                  |             }|st        dj                  |            |d   j                         dk7  s|d   j                         t        |       k7  rt        d	j                  |            d}|D ]Q  }|j                         \  }}|t        vrt        d
j                  ||            	 |t        |      t        |   z  z  }S |t        z  }t        j                  ||z        S # t        $ r t        dj                  ||            w xY w)z/Parse a duration string to a datetime.timedelta)0z+0z-0r   r   z+--NzInvalid duration {}z*Extra chars at start or end of duration {}zUnknown unit {} in duration {}zInvalid value {} in duration {})microseconds)datetime	timedeltalist_duration_refinditerr   formatstartendlengroupsunitsfloat	Exception_microsecond_size)	durationoriginalsignmatchestotalmatchvalueunitr   s	            r   from_strr6   '   s    H$$!!##DHQK4'A;#DAB<<((23G188BCCqzQ'"+//"3s8}"D8??IK 	K Ellntu077hGI I	KU5\E$K//E  ,,L4,+>??  	K188IK K	Ks   <D88%Ec                     | j                         }|dk  rdnd}t        t        |t        z        d      }t        |      dk  rt	        ||      }nt        ||      }dj                  ||      S )z0Format a datetime.timedelta to a duration stringr   r    r   z{}{})total_secondsroundabs_second_size_to_str_small_to_str_larger%   )deltaextendedr9   r0   nanoseconds
result_strs         r   to_strrC   K   sl     '')M!#3DML891=K
=A";9
";9
==z**r   c                    d}| syt        | t        z        }|r | t        |z  z  } |dj                  |      z  }t        | t        z        }|r | t        |z  z  } |dj                  |      z  }| r|dj                  |       z  }|S )Nr8   r   z{:g}msz{:g}usz{:g}ns)int_millisecond_sizer%   r-   )rA   r@   rB   millisecondsr   s        r   r=   r=   Z   s    J{%667L(<77hool33
{%667L(<77hool33
hook22
r   c                    d}|rt        | t        z        }|r | t        |z  z  } |dj                  |      z  }t        | t        z        }|r | t        |z  z  } |dj                  |      z  }t        | t        z        }|r | t        |z  z  } |dj                  |      z  }t        | t
        z        }|r | t
        |z  z  } |dj                  |      z  }t        | t        z        }|r | t        |z  z  } |dj                  |      z  }t        |       t        t              z  }|r | t        |z  z  } |dj                  |      z  }|S )Nr8   z{:g}yz{:g}mmz{:g}dz{:g}hz{:g}mz{:g}s)	rE   
_year_sizer%   _month_size	_day_size
_hour_size_minute_sizer+   r<   )	rA   r@   rB   yearsmonthsdayshoursminutessecondss	            r   r>   r>   q   sM   JK*,-:--K'..//J[;./;//K(//&11J;*+9t++K'....Jj()EzE))gnnU++
+,-G|g--gnnW--
K 5#66G|g--gnnW--
r   )F)rer    _nanosecond_sizer-   rF   r<   rM   rL   rK   
_week_sizerJ   rI   r*   compiler#   
ValueErrorr   r6   rC   r=   r>   r   r   r   <module>rY      s    
  ++ ,, ,,<'<'
:%	9$
9$9$
 








	 rzz23J "@H+.$r   