+
    i                         R t ^ RIt^ RIt^ RIHtHt ^ RIt]P                  ! R	4      t. R
Ot. ROt	RR lt
R tR tR tR t]R8X  d6   ^ RIt^ RIt]P$                  ! ]P&                  ! 4       P(                  4       R# R# )zKfontTools.misc.timeTools.py -- tools for working with OpenType timestamps.
N)datetimetimezonec           
         V f   \         P                  ! 4       p \        V P                  ,          : R\        V P
                  ,          : RV P                  :R R\         P                  ! RV 4      : 2pV# )aX  
Convert a tuple or struct_time representing a time as returned by gmtime()
or localtime() to a 24-character string of the following form:

>>> asctime(time.gmtime(0))
'Thu Jan  1 00:00:00 1970'

If t is not provided, the current time as returned by localtime() is used.
Locale information is not used by asctime().

This is meant to normalise the output of the built-in time.asctime() across
different platforms and Python versions.
In Python 3.x, the day of the month is right-justified, whereas on Windows
Python 2.7 it is padded with zeros.

See https://github.com/fonttools/fonttools/issues/455
 z>2z%H:%M:%S %Y)time	localtimeDAYNAMEStm_wday
MONTHNAMEStm_montm_mdaystrftime)tss   & x/Users/tonyclaw/.openclaw/workspace/skills/math-calculator/venv/lib/python3.14/site-packages/fontTools/misc/timeTools.pyasctimer      sV    $ 	yNN188			mQ'		A H    c           	      j    \        \        P                  ! \        ^ V \        ,           4      4      4      # )    )r   r   gmtimemax
epoch_diffvalues   &r   timestampToStringr   ;   s"    4;;s1ej&89:;;r   c                    V R ,          P                  4       w  r\        P                  ! V R,          R4      pVP                  \        P                  V4      \        P                  R7      p\        P                  V4      pVP                  4       V8X  g   Q RV ,           R,           4       h\        VP                  4       4      \        ,
          # ):N   N:r   NNz %d %H:%M:%S %Y)monthtzinfo"z" has inconsistent weekday)splitr   strptimereplacer
   indexr   utcr   weekdayint	timestampr   )r   wkdaymnthr   	wkday_idxs   &    r   timestampFromStringr+   ?   s    )//#KE%)%67A			
((.x||	DAu%I99;)#OS5[3O%OO#q{{}
**r   c                      \         P                  P                  R 4      p V e   \        V 4      \        ,
          # \        \
        P
                  ! 4       \        ,
          4      # )SOURCE_DATE_EPOCH)osenvirongetr&   r   r   )source_date_epochs    r   timestampNowr2   H   sC    

':;$$%
22tyy{Z'((r   c                 .    \        V \        ,
          4      # N)r&   r   r   s   &r   timestampSinceEpochr5   P   s    uz!""r   __main__)	ip     r7   r   r   r   r   r   r   )MonTueWedThuFriSatSun)NJanFebMarAprMayJunJulAugSepOctNovDecr4   )__doc__r.   r   r   r   calendartimegmr   r   r
   r   r   r+   r2   r5   __name__sysdoctestexittestmodfailed r   r   <module>rU      s|    
  '  __;<
<
":<+)# zHHW__%%&	 r   