
    /j                     6    d Z ddlmZmZ ddlZdZdZd ZddZy)	zEValidate the TradingView emission time, independently of candle time.    )datetimetimezoneN<      c                    t        | t              s| t        d      t        | t        t        f      rat        j                  |       st        d      t        j                  | dkD  r| dz  t        j                        S | t        j                        S t        j                  t        |       j                         j                  dd            }|j                  t        d      |j!                  t        j                        S )Nzinvalid timestampznonfinite timestampl    h] i  Zz+00:00ztimezone required)
isinstancebool
ValueErrorintfloatmathisfiniter   fromtimestampr   utcfromisoformatstrstripreplacetzinfo
astimezone)valueparseds     alert_time_guard.py_parser      s    %%-,--%#u&}}U#233%%eo6MedlZbZfZfggSXZbZfZfgg##CJ$4$4$6$>$>sH$MNF}},--X\\**    c                    |xs# t        j                  t        j                        }dD cg c]  }|| v s| |    }}|sy	 |D cg c]  }t	        |       }}t        |      t        |      z
  j                         dkD  ry|t        |      z
  j                         }|t         k  rd|dS |t        kD  rd|dd	t         S y c c}w c c}w # t
        t        t        t        f$ r Y yw xY w)
N)sent_attimenowTIME_GUARD_MISSING_SENT_ATTIME_GUARD_INVALID_SENT_AT   !TIME_GUARD_CONFLICTING_TIMESTAMPSzTIME_GUARD_FUTURE age_seconds=z.3fzTIME_GUARD_STALE age_seconds=z limit=)r   nowr   r   r   r   	TypeErrorOverflowErrorOSErrormaxmintotal_secondsMAX_FUTURE_SECONDSMAX_AGE_SECONDS)payloadr$   kvaluesr   timesages          r   time_guard_errorr2      s    

+hll+C"8IQALgajIFI+,,23533 	E
SZ..0142U
*
*
,C
   /Cy99
_.s3iw>OPP J 4	=': ,+,s.   	CCC CC C C-,C-)N)__doc__r   r   r   r,   r+   r   r2    r   r   <module>r5      s#    K '  
+r   