
    	h/                         S r SSKrSSKrSSKJr  \R
                  " S5      r\R
                  " S\R                  5      r\R
                  " S5      r	S r
S rS	 rg)
z
Type inference functions
    N)numbersz%^(?P<number>\-?[0-9]*\.?[0-9]*\s?)\%$z
^(?: # HH:MM and HH:MM:SS
(?P<hour>[0-1]{0,1}[0-9]{2}):
(?P<minute>[0-5][0-9]):?
(?P<second>[0-5][0-9])?$)
|
^(?: # MM:SS.
([0-5][0-9]):
([0-5][0-9])?\.
(?P<microsecond>\d{1,6}))
zD^-?([\d]|[\d]+\.[\d]*|\.[\d]+|[1-9][\d]+\.?[\d]*)((E|e)[-+]?[\d]+)?$c                     [         R                  U 5      (       a   [        U 5      $ g! [         a    [	        U 5      s $ f = f)z.Explicitly convert a string to a numeric valueN)NUMBER_REGEXmatchint
ValueErrorfloat)values    J/var/www/html/env/lib/python3.13/site-packages/openpyxl/utils/inference.pycast_numericr      sB    %  	 u: !  	 <	 s   
( A A c                 v    [         R                  U 5      nU(       a  [        UR                  S5      5      S-  $ g)zGExplicitly convert a string to numeric value and format as a
percentagenumberd   N)PERCENT_REGEXr   r	   group)r
   r   s     r   cast_percentager   #   s5     &EU[[*+c11     c                     [         R                  U 5      nU(       a`  UR                  S5      b  U SS n SnOUR                  S5      c  SnOSn[        R                  R	                  X5      n U R                  5       $ g)zFExplicitly convert a string to a number and format as datetime or
timemicrosecondN   z%M:%S.%fsecondz%H:%Mz%H:%M:%S)
TIME_REGEXr   r   datetimestrptimetime)r
   r   patterns      r   	cast_timer   ,   sv     U#E;;}%1#2JE G[["*G G!!**5:zz| r   )__doc__r   reopenpyxl.stylesr   compiler   VERBOSEr   r   r   r   r    r   r   <module>r$      s`     	 #

CDZZ 
 ZZ

 zzab 2r   