+
    Bi                       ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^ RI
t
^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIHtHtHtHtHtHtHtHtHt ^ RIHt ^ RIHtHtHtH t  ^ RIH!t!H"t"H#t# ^ RI$t%^ RI$H&t&H't' ^ RI$H(t( ^ R	I$H)t) ^ R
I$H*t* ^ RI$H+t+ ^ RI$H,t, ^ RI$H-t-H$t$ ^ RI*t. ^ RI/t/ ^ RI1t1^ RI3t3 ^ RI4t4]Pj                  ]Pl                  0t7]8! ]Pr                  ^,           4       U u. uF  p ]]V 3NK
  	  up t:]$! R^^^ ^ 4      t;^
RR/ . Rq3t<]=! R4      t>]=! R4      t? ! R R]P                  4      tA ! R R])4      tB ! R R]B4      tC ! R R]C4      tD ! R R])4      tE ! R R]P                  4      tF ! R R ]P                  4      tG ! R! R"4      tH ! R# R$](4      tI ! R% R&]H]P                  4      tJ ! R' R(]P                  4      tK ! R) R*]-4      tL ! R+ R,]H]P                  4      tM ! R- R.]$4      tN ! R/ R0]M4      tO ! R1 R2]O4      tP ! R3 R4]*4      tQ ! R5 R6]H]P                  4      tR ! R7 R84      tS ! R9 R:]R]S]P                  4      tT ! R; R<]O]S]P                  4      tUR= tV](! ^ 4      tW](! ^R>7      tX](! ^R?7      tY](! ^R@7      tZ]$! ^^^^4      t[]$! ^^
^^4      t\ ! RA RB])4      t]]]! RrRCRDRE4      t^]]! RsRFRGRH4      t_]]! RtRIRJRK4      t`]]! RuRLRMRN4      ta]B! ^ RO^ 4      tb]B! RvRP^ 4      tc ! RQ RR]P                  4      td ! RS RT]P                  4      te ! RU RV])4      tf ! RW RX]f4      tg]g! RrRYRDRE4      th]g! RsRZRGRH4      ti]g! RtR[RJRK4      tj]g! RuR\RMRN4      tk ! R] R^])4      tl ! R_ R`]P                  4      tm](! ^ ^4      tnRa to ! Rb Rc])4      tp ! Rd Re]P                  4      tq ! Rf Rg]P                  4      ts ! Rh Ri]q4      tt]P                  ! ]/RJ Rj4       ! Rk Rl]P                  4      4       tv ! Rm Rn]P                  4      twRo tx]yRp8X  d   ]P                  ! 4        R# R#   ]0 d    Rt/ ELi ; i  ]2 d    Rt1 ELi ; i  ]0 d     ELi ; iu up i )w    N)array)	ltlegtgeeqnetruedivfloordivmod)support)is_resource_enabled	ALWAYS_EQLARGESTSMALLEST)	os_helperscript_helperwarnings_helper)MINYEARMAXYEAR	timedeltatzinfo)time)timezone)UTC)datedatetime  g     @A@abcinfnanc                   >   a  ] tR t^It o R tR tR tR tR tRt	V t
R# )
TestModulec                    \         pV P                  VP                  ^4       V P                  VP                  R4       R# )   '  N)datetime_moduleassertEqualr   r   )selfr   s   & */usr/lib/python3.14/test/datetimetester.pytest_constantsTestModule.test_constantsK   s3    "))1-))40    c                N    V P                  \        \        P                  4       R # N)assertIsr   r   utcr+   s   &r,   test_utc_aliasTestModule.test_utc_aliasP   s    c8<<(r/   c                t    \        \        4      p\        P                   F  pV P                  W!4       K  	  R # r1   )dirr)   __all__assertIn)r+   	all_attrsattrs   &  r,   test_allTestModule.test_allS   s(    (	#++DMM$* ,r/   c                    R V P                   P                  9   d   V P                  R4       \        p\	        R \        V4       4       4      p\	        . RO4      pV P                  W#,
          \	        . 4      4       R# )_Purez"Only run for Fast C implementationc              3      "   T F9  pVP                  R 4      '       d   K  VP                  R 4      '       d   K5  Vx  K;  	  R# 5i)__N)
startswithendswith).0names   & r,   	<genexpr>/TestModule.test_name_cleanup.<locals>.<genexpr>^   s5      N]T??40 9=t9L D]s   AA
AN)r   r   r   r   datetime_CAPIr   r   r   r   r   sys)	__class____name__skipTestr)   setr8   r*   )r+   r   namesalloweds   &   r,   test_name_cleanupTestModule.test_name_cleanupY   sj    dnn---MM>?" NS] N N / 0 	#b'2r/   c                :   R V P                   P                  9   d   V P                  R4       \        P                  pV P                  V! RR4      ^4       V P                  V! ^R4      R4       V P                  V! ^^4      ^4       V P                  V! R^4      R4       V P                  V! ^R4      R4       V P                  V! RR4      ^4       V P                  V! ^
^4      ^4       V P                  V! R^4      R4       V P                  V! ^
R4      R4       V P                  V! RR4      ^4       V P                  V! ^^4      ^4       V P                  V! R^4      R4       V P                  V! ^R4      R4       V P                  V! RR4      ^4       R# )	_Fastz'Only run for Pure Python implementationN)rK   rL   rM   _pydatetime_divide_and_roundr*   )r+   dars   & r,   test_divide_and_round TestModule.test_divide_and_rounde   sd   dnn---MMCD++S"q)QR( 	QA&RR(QR(Ra( 	RQ'S!b)Rb)S"q)QA&RR(QR(Ra(r/    N)rL   
__module____qualname____firstlineno__r-   r5   r=   rQ   r^   __static_attributes____classdictcell____classdict__s   @r,   r%   r%   I   s#     1
)+
3) )r/   r%   c                   B   a  ] tR t^t o RR ltR tR tR tR tRt	V t
R# )	FixedOffsetc                    \        V\        4      '       d   \        VR 7      p\        V\        4      '       d   \        VR 7      pWn        W n        W0n        R# minutesN)
isinstanceintr   _FixedOffset__offset_FixedOffset__name_FixedOffset__dstoffsetr+   offsetrF   	dstoffsets   &&&&r,   __init__FixedOffset.__init__   s@    fc""v.Fi%%!)4I$r/   c                6    V P                   P                  4       # r1   )rq   lowerr4   s   &r,   __repr__FixedOffset.__repr__   s    {{  ""r/   c                    V P                   # r1   )rp   r+   dts   &&r,   	utcoffsetFixedOffset.utcoffset       }}r/   c                    V P                   # r1   )rq   r}   s   &&r,   tznameFixedOffset.tzname   s    {{r/   c                    V P                   # r1   )rr   r}   s   &&r,   dstFixedOffset.dst   s    r/   )__dstoffset__name__offsetN*   )rL   ra   rb   rc   rv   rz   r   r   r   rd   re   rf   s   @r,   ri   ri      s#     %#   r/   ri   c                   *   a  ] tR t^t o RR ltRtV tR# )PicklableFixedOffsetNc                2    \         P                  WW#4       R # r1   )ri   rv   rs   s   &&&&r,   rv   PicklableFixedOffset.__init__   s    T4;r/   r`   )NNNrL   ra   rb   rc   rv   rd   re   rf   s   @r,   r   r      s     < <r/   r   c                       ] tR t^tRtRtR# )PicklableFixedOffsetWithSlotsr`   N)rp   rq   spam)rL   ra   rb   rc   	__slots__rd   r`   r/   r,   r   r      s    DIr/   r   c                   &   a  ] tR t^t o R tRtV tR# )_TZInfoc                ,    \         P                   ! 4       # r1   )random)r+   r)   s   &&r,   r   _TZInfo.utcoffset   s    }}r/   r`   NrL   ra   rb   rc   r   rd   re   rf   s   @r,   r   r      s      r/   r   c                   J   a  ] tR t^t o R tR tR tR tR tR t	R t
RtV tR	# )

TestTZInfoc           
         \        4       p\        R ^^^^ ^^ V4      pV P                  \        4      ;_uu_ 4        VP	                  4        RRR4       R#   + '       g   i     R# ; i)  N)r   r   assertRaises	TypeErrorr   )r+   tz1dt1s   &  r,   test_refcnt_crash_bug_22044&TestTZInfo.test_refcnt_crash_bug_22044   sJ    itQBAq#6y))MMO *)))s   AA&	c                    \        4       p\        P                  pV P                  \        VP
                  V4       V P                  \        VP                  V4       V P                  \        VP                  V4       R # r1   )r   r   maxr   NotImplementedErrorr   r   r   )r+   uselessr~   s   &  r,   test_non_abstractness TestTZInfo.test_non_abstractness   s[     (\\-w~~rB-w/@/@"E-w{{B?r/   c                ~    ! R  R\         4      pV P                  V\         4       V! ^R4      pV P                  V\         4       \        P                  ! 4       pV P                  \        VP                  V4       V P                  \        VP                  V4       V P                  \        VP                  V4       R# )c                   &   a  ] tR t^t o R tRtV tR# )9TestTZInfo.test_subclass_must_override.<locals>.NotEnoughc                    Wn         W n        R # r1   )_NotEnough__offset_NotEnough__name)r+   rt   rF   s   &&&r,   rv   BTestTZInfo.test_subclass_must_override.<locals>.NotEnough.__init__   s     &"r/   )r   r   Nr   rf   s   @r,   	NotEnoughr      s     # #r/   r   NotByALongShotN)
r   assertIsSubclassassertIsInstancer   nowr   r   r   r   r   )r+   r   r	   r~   s   &   r,   test_subclass_must_override&TestTZInfo.test_subclass_must_override   s    	# 	# 	i0q*+b&)\\^-ryy"=-r||R@-rvvr:r/   c                t   \        ^R4      pV P                  V\        4       \        P                  ! 4       R3 Fz  pV P                  VP                  V4      \        ^R7      4       V P                  VP                  V4      R4       V P                  VP                  V4      \        ^*R7      4       K|  	  R# )   ThreeNrl   )
ri   r   r   r   r   r*   r   r   r   r   )r+   for~   s   &  r,   test_normalTestTZInfo.test_normal   s    G$b&),,.$&BR\\"-y/CDRYYr]G4RVVBZ2)>? 'r/   c                   \         P                  ! \         4      pV P                  \        V4      \         4       \         FG  w  r#pVP                  W4      pVP                  V4      pV P                  \        V4      \         4       KI  	  R # r1   )r   __new__r2   typepickle_choicesdumpsloads)r+   origpickler	unpicklerprotogreenderiveds   &      r,   test_pickling_baseTestTZInfo.test_pickling_base   sa     ~~f%d4j&))7%GMM$.Eooe,GMM$w-0 *8r/   c                    \        RR7      p\        VR33\        VR33\        V33\        VR333 EFG  w  r#V! V!  pVP	                  R4      pV P                  V\        4       V P                  \        V4      V4       V P                  VP                  R4      V4       V P                  VP	                  R4      V4       \         F  w  rgpVP                  WH4      p	VP                  V	4      p
V P                  V
\        4       V P                  \        V
4      V4       V P                  V
P                  R4      V4       V P                  V
P	                  R4      V4       V P                  V
R4       K  	  EKJ  	  R# ),  rl   cookieESTNr   )r   r   r   r   r   r   r   r2   r   r*   r   r   r   r   assertNotHasAttr)r+   rt   otypeargsr   onamer   r   r   r   r   s   &          r,   test_pickling_subclass!TestTZInfo.test_pickling_subclass   sH   4(!FH#56*VX,>?y!'	)KE
 $<DKK%E!!$/MM$t*e,T^^D16:T[[.6-;)Ed2#//%0%%gv6d7mU3  !2!24!8&A  !5u=%%gv6 .<)r/   c           	        aa \        ^R7      ;oo ! VV3R lR\        4      pV! 4       p\        R^^^^VR7      pVP                  V4      pV P	                  WDP                  4       ,
          V4       R# )r'   hoursc                   @   <a  ] tR t^t o V3R ltV3R ltR tRtV tR# )0TestTZInfo.test_issue23600.<locals>.UKSummerTimec                   < S# r1   r`   )r+   r~   	DSTOFFSETs   &&r,   r   :TestTZInfo.test_issue23600.<locals>.UKSummerTime.utcoffset   s	      r/   c                   < S# r1   r`   )r+   r~   DSTDIFFs   &&r,   r   4TestTZInfo.test_issue23600.<locals>.UKSummerTime.dst   s    r/   c                    R # )UKSummerTimer`   r}   s   &&r,   r   7TestTZInfo.test_issue23600.<locals>.UKSummerTime.tzname   s    %r/   r`   N	rL   ra   rb   rc   r   r   r   rd   re   )rg   r   r   s   @r,   r   r      s     
!& &r/   r   r   r   N)r   r   r   fromutcr*   r   )r+   r   tzutr   r   s   &    @@r,   test_issue23600TestTZInfo.test_issue23600   sf    'a00)	& 	&6 	& ^T1b"a3JJqM[[]*A.r/   r`   N)rL   ra   rb   rc   r   r   r   r   r   r   r   rd   re   rf   s   @r,   r   r      s/     @;@	17./ /r/   r   c                      a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tR tR tR tR tR tRtV tR# )TestTimeZonei  c                    \        \        R R7      R4      V n        \        \        ^R7      ) R4      V n        \	        R^^4      V n        R# )      #@r   ACDTr     N)r   r   r   r   r   DTr4   s   &r,   setUpTestTimeZone.setUp  s;    YS16:	YQ//74A&r/   c                    V P                   V P                  \        P                  \        P                  \        P
                  3 F-  pV P                  \        V4      VP                  R 4      4       K/  	  R # r1   )	r   r   r   r3   minr   r*   strr   r+   r   s   & r,   test_strTestTimeZone.test_str  sJ    99dhh<</BSWbiio6/r/   c                    \         pV P                  V P                  \        P                  \        P
                  \        P                  3 F)  p\        V4      pV P                  V\        V4      4       K+  	  R # r1   )
r)   r   r   r   r3   r   r   reprr*   eval)r+   r   r   tzreps   &   r,   	test_reprTestTimeZone.test_repr  sR    "99dhh<</B HERe-	/r/   c                D   \        ^^;R7      pV P                  \        P                  P	                  R4      \
        4       V P                  \        P                  P	                  R4      V) 4       V P                  \        P                  P	                  R4      V4       R# )   r   rm   N)r   r*   r   r3   r   ZEROr   r   )r+   limits   & r,   test_class_membersTestTimeZone.test_class_members  sm    B///5t<//5v>//5u=r/   c                b   V P                  \        P                  \        \        ^ 4      4      4       V P	                  \        P                  \        \        ^ 4      R4      4       V P                  \        P                  \        \        ^ 4      R4      4       \        ^R7      \        ^R7      3 F@  p\        V4      pV P                  VP                  R4      \        ^R7      ,          ^ 4       KB  	  \        ^^4      \        ^4      3 F:  pV P                  \        \        V4       V P                  \        \        V) 4       K<  	  V P                  \        4      ;_uu_ 4        \        R4       RRR4       V P                  \        4      ;_uu_ 4        \        ^*4       RRR4       V P                  \        4      ;_uu_ 4        \        \        R4       RRR4       V P                  \        4      ;_uu_ 4        \        \        ^*4       RRR4       V P                  \        4      ;_uu_ 4        \        \        RR4       RRR4       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)r   r   microsecondssecondsNrl   ABCextra)r2   r   r3   r   assertIsNotr*   assertNotEqualr   r   
ValueErrorr   r  )r+   	subminuter   invalids   &   r,   test_constructorTestTimeZone.test_constructor  s   hllHYq\$:;x	!e'DEx	!e'DE#3Yq5IJI)$BT 2Yq5I I1M K "!Q16Gj(G<j(WH= 7 y))8D>)y))8B<)y))8D$+?)y))8D"+=)y))8D%+I))	 *))))))))))s<   'II$	I7?J
5JI!	$I4	7J	
J	J.	c                    V P                  \        P                  \        4       V P                  V P                  \        4       R # r1   )r   r   r3   r   r   r4   s   &r,   test_inheritanceTestTimeZone.test_inheritance0  s*    hllF3dhh/r/   c                    V P                  \        4      ;_uu_ 4         ! R  R\        4      pRRR4       R#   + '       g   i     R# ; i)c                       ] tR tRtRtR# )5TestTimeZone.test_cannot_subclass.<locals>.MyTimezonei6  r`   NrL   ra   rb   rc   rd   r`   r/   r,   
MyTimezoner  6  s    r/   r  N)r   r   r   )r+   r  s   & r,   test_cannot_subclass!TestTimeZone.test_cannot_subclass4  s*    y)),X, *)))s	   8A		c                H   V P                   pR Ff  pV\        ,          pV P                  V\        V4      P	                  V4      4       V P                  V) \        V) 4      P	                  V4      4       Kh  	  V P                  \        4      ;_uu_ 4        V P                  P	                  R4       RRR4       V P                  \        4      ;_uu_ 4        V P                  P	                  ^4       RRR4       R#   + '       g   i     LS; i  + '       g   i     R# ; i)r    N)r   g      ?   )r   HOURr*   r   r   r   r   r   )r+   dummyhrt   s   &   r,   test_utcoffsetTestTimeZone.test_utcoffset8  s    AXFVXf%5%?%?%FGfWhw&7&A&A%&HI 
 y))488+=+=b+A)y))488+=+=a+@)) *))))s   C=D=D	D!	c                   V P                  \        P                  P                  V P                  4      4       V P                  \        4      ;_uu_ 4        V P                  P                  R 4       RRR4       V P                  \        4      ;_uu_ 4        V P                  P                  ^4       RRR4       R#   + '       g   i     LS; i  + '       g   i     R# ; ir#  N)assertIsNoner   r3   r   r   r   r   r   r4   s   &r,   test_dstTestTimeZone.test_dstC  s~    (,,**47734y))488<<+;)y))488<<?)) *))))s   B=C=C	C!	c           
        V P                  R \        P                  P                  R4      4       V P                  R \        P                  ! R4      4       V P                  R \        \
        4      P                  R4      4       V P                  R\        R\        ,          4      P                  R4      4       V P                  R\        R\        ,          4      P                  R4      4       V P                  R\        \        RR7      4      P                  R4      4       V P                  R\        R\        ,          R4      P                  R4      4       V P                  R\        \
        R4      P                  R4      4       V P                  R	\        \        ^ R
4      4      P                  R4      4       V P                  R\        \        ^ R
4      ) 4      P                  R4      4       V P                  R\        \        ^ R
^4      4      P                  R4      4       V P                  R\        \        ^ R
^4      ) 4      P                  R4      4       V P                  \        4      ;_uu_ 4        V P                  P                  R4       RRR4       V P                  \        4      ;_uu_ 4        V P                  P                  ^4       RRR4       R#   + '       g   i     LS; i  + '       g   i     R# ; i)r   Nz	UTC-05:00z	UTC+09:30r   z	UTC-00:01rl   XYZ   zUTC+01:06:40  zUTC-01:06:40zUTC+01:06:40.000001zUTC-01:06:40.000001r#  )r*   r   r3   r   r   r  r%  r   r   r   r   r4   s   &r,   test_tznameTestTimeZone.test_tznameI  s"    3 3D 9:

4 01 5 5d ;<hrDy&9&@&@&FGhsTz&:&A&A$&GHhy/D&E&L&LT&RSdE : A A$ GH8D(#;#B#B4#HI 	)At2D)E)L)LT)RS!9Q#5"56==dC	E.!)AtQ"78??E	G.!9Qa#8"89@@F	H y))488??2+>)y))488??1+=)) *))))s   8K9K2K/	2L	c                   V P                  \        4      ;_uu_ 4        \        P                  P	                  V P
                  4       R R R 4       V P                  \        4      ;_uu_ 4        \        P                  P	                  R4       R R R 4       V P                  V P                  \        3 F  pV P
                  P                  VR7      pVP	                  V4      pV P                  W2,
          VP                  V4      4       V P                  VV P
                  P                  \        P                  R7      4       K  	  R #   + '       g   i     EL
; i  + '       g   i     L; i)Nznot datetimer   )r   r  r   r3   r   r   r   r   r   Easternreplacer*   r   )r+   r   utctimelocals   &   r,   test_fromutcTestTimeZone.test_fromutc`  s    z**LL  ) +y))LL  0 *88TYY0BggooRo0GJJw'EU_bll5.ABU!WW__HLL_AC	 1	 +**))s   *E	- E	E	E-	c                   V P                  \        \        4      \        \        4      4       V P	                  \        \        4      \        \        4      4       V P	                  \        R\        ,          4      \        R\        ,          R4      4       V P                  \        4      ;_uu_ 4        \        \        4      \        \        4      8   RRR4       V P                  \        \        4      \        \        4      04       V P                  \        \        4      R8g  4       V P                  \        \        4      R8H  4       \        \        4      pV P                  V\        8H  4       V P                  V\        8g  4       V P                  V\        8  4       V P                  V\        8  4       V P                  V\        8*  4       V P                  V\        8  4       V P                  V\        8  4       V P                  V\        8  4       V P                  V\        8*  4       V P                  V\        8  4       R#   + '       g   i     EL; i)   r   Nr3  )r  r   r  r%  r*   r   r   r:   
assertTrueassertFalser   r   r   r   s   & r,   test_comparisonTestTimeZone.test_comparisonl  s}   HTNHTN;$$8"t),hrDy%.HIy))8D>HTN+J)htnx~&67$./$4/0d^i(y)W%g&g&w'h'X&x(h' *))s   1 I		I	c                   \        ^^^4      p\        P                  \        P                  \        P                  3 F  pV P                  VP                  V4      VP                  VR7      P                  4       4       V P                  VP                  V4      VP                  VR7      P                  4       4       V P                  VP                  V4      VP                  VR7      P                  4       4       K  	  R# )r'   r   N)
r   r   r   r   r3   r*   r   r9  r   r   r+   r   r   s   &  r,   test_aware_datetime TestTimeZone.test_aware_datetime  s    Q1<<x||<BRYYq\YYbY188:<R\\!_YYbY1;;=?RVVAYYYbY15579 =r/   c                   V P                   V P                  \        P                  \        P                  3 FD  p\
         F7  w  r#pVP                  VP                  W4      4      pV P                  WQ4       K9  	  KF  	  \        P                  p\
         F7  w  r#pVP                  VP                  W4      4      pV P                  WQ4       K9  	  R # r1   )r   r   r   r   r   r   r   r   r*   r3   r2   )r+   r   r   r   r   tz_copys   &     r,   test_pickleTestTimeZone.test_pickle  s    ))TXXx||X\\AB-;)E#//'--*BC  - .< B \\)7%GoogmmB&>?GMM'& *8r/   c                <   V P                   V P                  \        P                  \        P                  3 F*  p\
        P
                  ! V4      pV P                  W!4       K,  	  \        P                  p\
        P
                  ! V4      pV P                  W!4       R # r1   )	r   r   r   r   r   copyr*   r3   r2   r+   r   rI  s   &  r,   	test_copyTestTimeZone.test_copy  se    ))TXXx||X\\ABiimGW) B \\))B-g"r/   c                <   V P                   V P                  \        P                  \        P                  3 F*  p\
        P                  ! V4      pV P                  W!4       K,  	  \        P                  p\
        P                  ! V4      pV P                  W!4       R # r1   )
r   r   r   r   r   rM  deepcopyr*   r3   r2   rN  s   &  r,   test_deepcopyTestTimeZone.test_deepcopy  sg    ))TXXx||X\\ABmmB'GW) B \\--#g"r/   c           
        \        ^^;R7      \        ^^;^;R7      \        ^^;^;RR7      .pTP                  V Uu. uF  q") NK  	  up4       V F2  pV P                  RVR7      ;_uu_ 4        \        V4       RRR4       K4  	  \        ^R7      \        ^^R	7      .pTP                  V Uu. uF  q") NK  	  up4       V FX  pV P                  R
VR7      ;_uu_ 4        V P	                  \
        4      ;_uu_ 4        \        V4       RRR4       RRR4       KZ  	  R# u upi   + '       g   i     K  ; iu upi   + '       g   i     L<; i  + '       g   i     K  ; i)r  r  r   rm   r  ?B r   rm   r  r  good)	test_typedeltaNr   )r   r  bad)r   extendsubTestr   r   r  )r+   time_deltasr[  bad_time_deltass   &   r,   test_offset_boundaries#TestTimeZone.test_offset_boundaries  s!    B+BB7BBVL

 	<uF<= Ee<< =< ! BBQ/
 	ODO5ODE$EU;;&&z22UO 3 <; % = =<<  E 32 <;;s;   D+D"+D6E;D;E"D3;EEEc                    V P                  \        P                  \        4       4       V P                  \        \	        ^R7      4      \        4       4       R# )r'   r   N)r  r   r3   r   r   r4   s   &r,   test_comparison_with_tzinfo(TestTimeZone.test_comparison_with_tzinfo  s6     	HLL&(3HYQ%78&(Cr/   )r   r   r   N)rL   ra   rb   rc   r   r   r  r  r  r  r   r(  r-  r5  r<  rB  rF  rJ  rO  rS  ra  rd  rd   re   rf   s   @r,   r   r     si     '
7
.>J$0-A;>.
C(*	9'##$2D Dr/   r   c                   ,   a  ] tR tRt o R tR tRtV tR# )HarmlessMixedComparisoni  c                   V P                  ^^^4      pV P                  VR8H  4       V P                  VR8g  4       V P                  RV8H  4       V P                  RV8g  4       V P                  V^^. V.4       V P                  . V^^. .4       V P                  V\        8H  4       V P                  V\        8g  4       V P                  V\
        8  4       V P                  V\
        8  4       V P                  V\
        8*  4       V P                  V\
        8  4       V P                  V\        8  4       V P                  V\        8  4       V P                  V\        8*  4       V P                  V\        8  4       R# )r'   Nr`   )theclassrA  r@  r:   r   r   r   r+   mes   & r,   test_harmless_mixed_comparison6HarmlessMixedComparison.test_harmless_mixed_comparison  s2   ]]1a#r"b!r"b!b1b"b/*b2q"b/* 	i(y) 	W%g&g&w'h'X&x(h'r/   c                  a V P                  ^^^4      oV P                  \        V3R l4       V P                  \        V3R l4       V P                  \        V3R l4       V P                  \        V3R l4       V P                  \        V3R l4       V P                  \        V3R l4       V P                  \        V3R l4       V P                  \        V3R l4       R	# )
r'   c                     < S R8  # Nr`   r`   rk  s   r,   <lambda>GHarmlessMixedComparison.test_harmful_mixed_comparison.<locals>.<lambda>  	    R"Wr/   c                     < S R8*  # rp  r`   rq  s   r,   rr  rs    	    R2Xr/   c                     < S R8  # rp  r`   rq  s   r,   rr  rs    rt  r/   c                     < S R8  # rp  r`   rq  s   r,   rr  rs    rv  r/   c                     < RS 8  # rp  r`   rq  s   r,   rr  rs    rt  r/   c                     < RS 8*  # rp  r`   rq  s   r,   rr  rs    rv  r/   c                     < RS 8  # rp  r`   rq  s   r,   rr  rs    rt  r/   c                     < RS 8  # rp  r`   rq  s   r,   rr  rs    rv  r/   N)ri  r   r   rj  s   &@r,   test_harmful_mixed_comparison5HarmlessMixedComparison.test_harmful_mixed_comparison  s    ]]1a#)_5)%56)_5)%56)_5)%56)_5)%56r/   r`   N)rL   ra   rb   rc   rl  r}  rd   re   rf   s   @r,   rg  rg    s     (:7 7r/   rg  c                       ] tR tRt^tRtR# )SubclassTimeDeltai  r`   NrL   ra   rb   rc   sub_varrd   r`   r/   r,   r  r        Gr/   r  c                     a  ] tR tRt o ]tR tR tR t]	P                  R 4       tR tR tR tR	 tR
 tR tR tR tR tR tR tR t]	P                  R 4       tR tR tR tR tR tR tR tR t R t!R t"R t#Rt$V t%R# ) TestTimeDeltai  c                  a V P                   pV P                  p\        oV! S! 4       S! ^ ^ ^ ^ ^ ^ ^ R7      4       V! S! ^4      S! ^R7      4       V! S! ^ ^4      S! ^R7      4       V! S! ^ ^ ^4      S! ^R7      4       V! S! ^R7      S! ^R7      4       V! S! ^R7      S! ^R7      4       V! S! ^R7      S! ^<R7      4       V! S! ^R7      S! ^<R7      4       V! S! ^R7      S! RR	7      4       V! S! ^R	7      S! RR7      4       V! S! RR7      S! ^R7      4       V! S! RR7      S! ^R7      4       V! S! RR7      S! ^R7      4       V! S! RR7      S! ^R7      4       V! S! R
R7      S! ^R	7      4       V! S! R
R	7      S! ^R7      4       V! \        V3R l4       V! \        V3R l4       V! \        V3R l4       V! \        V3R l4       V! \        V3R l4       V! \        V3R l4       V! \        V3R l4       R# )r   )weeksdaysr   rm   r  millisecondsr  r  r  r  r  r   rl     r  gMbP?c                     < S ! R R7      # )1r  r`   tds   r,   rr  0TestTimeDelta.test_constructor.<locals>.<lambda>  	    bsmr/   c                     < S ! R R7      # )r  r  r`   r  s   r,   rr  r    s	    bclr/   c                     < S ! R R7      # )r  r   r`   r  s   r,   rr  r     r  r/   c                     < S ! R R7      # )r  rl   r`   r  s   r,   rr  r  !  	    bor/   c                     < S ! R R7      # )r  r  r`   r  s   r,   rr  r  "  r  r/   c                     < S ! R R7      # )r  r  r`   r  s   r,   rr  r  #  
    bc2r/   c                     < S ! R R7      # )r  r  r`   r  s   r,   rr  r  $  r  r/   Ng$I$I?gUUUUUU?g?)r*   r   r   r   )r+   r   rar  s   &  @r,   r  TestTimeDelta.test_constructor  s    	24!!1a!"4 	5
2a5"!*
2a8R]#
2aA;*+
2A;
#
21:r|$
2A;2'
2a="R.)
2a="$/0
21rt45 	2E?BAJ'
26?BQK(
2FR]+
2fr!}-
2eba01
25!21#56 	9+,
9*+
9+,
9-.
9-.
923
923r/   c                   V P                   p\        pV! ^4      pV! ^ ^<4      pV! ^ ^ R4      pV! W4,           V,           V! ^^<R4      4       V! W4,
          V! ^R4      4       V! VP                  V4      V! ^R4      4       V! V) V! R4      4       V! V5V! ^4      4       V! V) V! RR4      4       V! V) V! RRR4      4       V! \        V4      V4       V! \        V) 4      V4       V! V! ^R4      V4       V! V! ^ ^ R4      V4       V! V^
,          V! ^F4      4       V! V^
,          ^
V,          4       V! V^
,          ^
V,          4       V! V^
,          V! ^ R4      4       V! ^
V,          V! ^ R4      4       V! V^
,          V! ^ R4      4       V! V^
,          V! ^ ^ R4      4       V! ^
V,          V! ^ ^ R4      4       V! V^
,          V! ^ ^ R4      4       V! VR,          V) 4       V! VR,          V) V,
          4       V! VR,          V) V) ,           4       V! VR,          V^<,          ^,          4       V! VR,          ^<V,          ^,          4       V! VR,          V! ^ ^4      4       V! RV,          V! ^ ^4      4       V! V^,          V! ^4      4       V! V^
,          V! ^ ^4      4       V! VR,          V! ^ ^ ^4      4       V! V^
,          V! ^ R4      4       V! VR,          V! ^ ^ R4      4       V! VR,          V! ^4      4       V! VR,          V! ^ ^x4      4       V! V^,          V! ^4      4       V! V^
,          V! ^ ^4      4       V! VR,          V! ^ ^ ^4      4       V! V^
,          V! ^ R4      4       V! VR,          V! ^ ^ R4      4       V! ^R7      pV! ^V,          R,          ^V,          4       V! ^V,          R,          ^V,          4       V! R^V,          ,          ^V,          4       V! R^V,          ,          ^V,          4       V! RV,          R,          RV,          4       V! RV,          R,          RV,          4       V! V! ^R7      R	,          V! R
R7      4       V! V! ^R7      R,          V! RR7      4       V! ^V,          ^,          ^V,          4       V! ^V,          ^,          ^V,          4       V! RV,          R,          RV,          4       V! RV,          R,          RV,          4       V! ^V,          R,          RV,          4       V! ^V,          R,          RV,          4       V! ^V,          R,          RV,          4       V! ^V,          R,          RV,          4       \	        R^
4       F0  pV! Wv,          ^,          V,          \        V^,          4      4       K2  	  \	        R^
4       F0  pV! Wv,          R,          V,          \        VR,          4      4       K2  	  V! V! ^R7      R ,          V! RR7      4       V! V! RRR4      V! RRR4      ,
          V! ^ ^ ^4      4       V! V! R^^4      V! R^^ 4      ,
          V! ^ ^ ^4      4       R# )!   r  X> iX  '  i6       ?r  r  翶~Ϛ?@ g6+1?iS	 g       @ɚ;Q rW  >B NQ iDQ rX   r4  i rW     i@  i@ rV   r3  g       rU   g`""K?-?)r*   r   __rsub__absrangeround)r+   r   r  abcusis   &       r,   test_computationsTestTimeDelta.test_computations&  sk   qEq"Iq!TN
13q5"QD/"
131l#$
1::a="Q-.
A2r"v
A2r!u
A2r"l#$
A2r"k6*+
3q61
3r7A
2a>1
2aJ#
1R4B
1R4A
1R4A
1R4As
2a4As
1R4As
1R4Aq%!
2a4Aq%!
1R4Aq%!
1R4!
1R4!A
1R4!QB
1e9qtRi 
1e9r!tRi 
1T62a8
462a8
1a4A
1b5"Q(
1d7Bq!QK 
1b5"Q/"
1g:r!Q	*+
1S5"R&
1S5"Q*
1Q31
1R4Aq
1T62aA;
1R4Ax!
1W9bAy)* Q
AbDC<2
AbDC<2
3!B$<2
3!B$<2
BrES="R% 
BrES="R%  	2a=8#RV%<=
2a=9$bf&=> 	AbDA:qt
AbDA:qt
BrES="R% 
BrES="R% 
AbDB;2
AbDB;2
AbDD="R% 
AbDD="R% sBAQ|U1Q3Z(  sBAR"}eAbDk*   	2a=M*BF,CD 	2i'"Yv*FFaA;	
2iAIq!!44aA;	r/   c                  aaa \        ^*4      oR Fo  oV P                  \        VV3R l4       V P                  \        VV3R l4       V P                  \        VV3R l4       V P                  \        VV3R l4       Kq  	  ^ oV P                  \        VV3R l4       V P                  \        VV3R l4       V P                  \        VV3R l4       V P                  \        V3R l4       V P                  \        V3R	 l4       R
# )r   c                     < S S,           # r1   r`   r  r  s   r,   rr  <TestTimeDelta.test_disallowed_computations.<locals>.<lambda>~  	    1r/   c                     < S S,
          # r1   r`   r  s   r,   rr  r    r  r/   c                     < SS ,           # r1   r`   r  s   r,   rr  r    r  r/   c                     < SS ,
          # r1   r`   r  s   r,   rr  r    r  r/   c                     < SS ,          # r1   r`   r  zeros   r,   rr  r    s	    TQYr/   c                     < S S,          # r1   r`   r  s   r,   rr  r    s	    Q$Yr/   c                     < S S,          # r1   r`   r  s   r,   rr  r    s	    QXr/   c                     < S R ,          # )        r`   r  s   r,   rr  r    s	    QWr/   c                     < S R ,          # )r#  r`   r  s   r,   rr  r    s	    QVr/   Nr'         ?)r   r   r   ZeroDivisionError)r+   r  r  r  s   &@@@r,   test_disallowed_computations*TestTimeDelta.test_disallowed_computationsy  s    bM Ai5i5i5i5	  )%67+->?+-=>+_=)^4r/   c                    \        ^*4      pV P                  \        VP                  \        4       V P                  \        VP
                  \        4       R# )r   N)r   r   r  __mul__NAN__truediv__)r+   r  s   & r,   test_disallowed_special%TestTimeDelta.test_disallowed_special  s7    bM*aii5*ammS9r/   c                    ^^^r2p\        WV4      pV P                  VP                  V4       V P                  VP                  V4       V P                  VP                  V4       R# r'   Nr   r*   r  r  r  )r+   r  r  r  r  s   &    r,   test_basic_attributes#TestTimeDelta.test_basic_attributes  sU    q"rtb)$'W-"-r/   c           	     T   \        R R7      pV P                  VP                  4       R4       R F/  p\        VR7      pV P                  VP                  4       V4       K1  	  R F@  p\        VR7      pV P                  VP                  4       V\        ^R7      ,          4       KB  	  R# )m  r  g    8~Ar  r  N)g˟$@g˟$r  r   g    .A)r4  rW   i)r   r*   total_seconds)r+   r  r  mss   &   r,   test_total_seconds TestTimeDelta.test_total_seconds  s    C ))+Z8NM=1BR--/? O
 !B+BR--/i6J1JK !r/   c           	     b    \        ^dRRR^RR7      p\        ^R7      pV P                  W4       R# )d   r  r  r   rm   r  r  r  NrX   8rV   g   A)r   r*   r+   t1t2s   &  r,   test_carriesTestTimeDelta.test_carries  s7    C)!!$9; A& r/   c           	        \        ^dRRR^RR7      p\        4       pV P                  \        V4      \        V4      4       V\        ^R7      ,          pV\        ^1R7      ,          pV P                  W4       V P                  \        V4      \        V4      4       V^/p^W2&   V P                  \        V4      ^4       V P                  W1,          ^4       R# )	r  r  r  r  NrX   r  rV   i z
)r   r*   hashlen)r+   r  r  ds   &   r,   test_hash_equality TestTimeDelta.test_hash_equality  s    C)!!$9; [b48,
ia  
iS!! b48,GQ#"r/   c                    Rp\        V!  p\         F9  w  r4pVP                  W%4      pVP                  V4      pV P	                  W'4       K;  	  R# )r$  N)r$  "   8   )r   r   r   r   r*   r+   r   r   r   r   r   r   r   s   &       r,   test_picklingTestTimeDelta.test_pickling  sJ    $)7%GMM$.Eooe,GT+ *8r/   c                  aa \        ^^^4      o\        ^^^4      pV P                  SV4       V P                  SV8*  4       V P                  SV8  4       V P                  SV8g  4       V P                  SV8  4       V P                  SV8  4       R F  p\        V!  pV P                  SV8  4       V P                  VS8  4       V P                  SV8*  4       V P                  VS8  4       V P                  SV8g  4       V P                  VS8g  4       V P                  SV8H  4       V P                  VS8H  4       V P                  SV8  4       V P                  VS8  4       V P                  SV8  4       V P                  VS8*  4       K  	  \         EF0  oV P                  SS8H  R4       V P                  SS8g  R4       V P                  SS8H  R4       V P                  SS8g  R4       V P                  \        VV3R l4       V P                  \        VV3R l4       V P                  \        VV3R l4       V P                  \        VV3R l4       V P                  \        VV3R l4       V P                  \        VV3R l4       V P                  \        VV3R	 l4       V P                  \        VV3R
 l4       EK3  	  R# )   FTc                     < SS 8*  # r1   r`   badargr  s   r,   rr  ,TestTimeDelta.test_compare.<locals>.<lambda>  	    vr/   c                     < SS 8  # r1   r`   r  s   r,   rr  r    	    fr/   c                     < SS 8  # r1   r`   r  s   r,   rr  r    r  r/   c                     < SS 8  # r1   r`   r  s   r,   rr  r    r  r/   c                     < S S8*  # r1   r`   r  s   r,   rr  r    	    2r/   c                     < S S8  # r1   r`   r  s   r,   rr  r    	    "r/   c                     < S S8  # r1   r`   r  s   r,   rr  r    r  r/   c                     < S S8  # r1   r`   r  s   r,   rr  r    r  r/   N)r   r   r   )r     r  )r  r   r?  )r   r*   r@  rA  
OTHERSTUFFr   r   r+   r  r   r  r  s   &  @@r,   test_compareTestTimeDelta.test_compare  sK   q!Qq!QR b!b!r"b!b!3DD!BOOBG$OOBG$OOB"H%OOB"H%OOB"H%OOB"H%R2X&R2X&R"W%R"W%R2X&R2X& 4 !jFR6\51R6\40Vr\51Vr\40i)=>i)<=i)<=i)=>i)=>i)<=i)<=i)=> !r/   c                X   \         pV P                  pV! \        V! ^4      4      R4       V! \        V! R4      4      R4       V! \        V! ^4      4      R4       V! \        V! R4      4      R4       V! \        V! ^^:^;R7      4      R4       V! \        V! ^^^R7      4      R4       V! \        V! R^^^"R7      4      R	4       V! \        V! ^R
7      4      R4       V! \        V! ^R7      4      R4       V! \        V! R^^;^;RR7      4      R4       V! RV! RR7      ) : R2R4       R# )r'   z1 day, 0:00:00z-1 day, 0:00:00z2 days, 0:00:00z-2 days, 0:00:00rV  z12:58:59z2:03:04)r  r   rm   r  z-210 days, 23:12:34r  z0:00:00.001000r  z0:00:00.000003r  rW  r  r   rm   r  r  z999999999 days, 23:59:59.999999z-(r   )z
-(1:00:00)Nr4  rW   i)r   r*   r   )r+   r  r   s   &  r,   r   TestTimeDelta.test_str  s   
3r!u:'(
3r"v;)*
3r!u:()
3r"v;*+
3rB34jA
3r1a019=
3r2r2>? 	" 	3rq!"$45
3rq!"$45
3ryB &( ),	.
 	R" "L1r/   c           	     `   R V P                   P                  ,           pV P                  \        V P                  ^4      4      RV,          4       V P                  \        V P                  ^
^4      4      RV,          4       V P                  \        V P                  R^R4      4      RV,          4       V P                  \        V P                  ^<R7      4      RV,          4       V P                  \        V P                  4       4      RV,          4       V P                  \        V P                  ^dR7      4      R	V,          4       V P                  \        V P                  ^^dR
7      4      RV,          4       V P                  \        V P                  ^^dR7      4      RV,          4       R# )	datetime.z
%s(days=1)z%s(days=10, seconds=2) z,%s(days=-10, seconds=2, microseconds=400000)r  z%s(seconds=60)z%s(0)r  z%s(microseconds=100))r  r  z%s(days=1, microseconds=100))r  r  z%s(seconds=1, microseconds=100)NrU   ri  rL   r*   r   r+   rF   s   & r,   r  TestTimeDelta.test_repr  sW   T]]333dmmA./%,	.dmmB231D8	:dmmCF;<G$N	PdmmBm78)D0	2dmmo. 4	)dmmm=>/$6	8dmmmEF7$>	@dmmACmHI:TA	Cr/   c                    \        ^R7      pV P                  \        V4      R4       \        ^R7      pV P                  \        V4      R4       \        ^R7      pV P                  \        V4      R4       R# )r'   r  zSubclassTimeDelta(days=1)r  zSubclassTimeDelta(seconds=30)r  zSubclassTimeDelta(days=14)N)r  r*   r   r+   r  s   & r,   test_repr_subclass TestTimeDelta.test_repr_subclass  s_    A&b#>?r*b#BCQ'b#?@r/   c           	     z   \        R ^^;^;RR7      \        R	R7      \        R	^R7      \        ^^^R7      3 F  p\        V4      pV P                  VR4       VR,          p\        V4      pV P	                  W4       \        VP
                  VP                  VP                  4      pV P	                  W4       K  	  R# )
r  rW  r	  r  r  r  r  r  r  r  	   NNN6e)r   r   assertStartsWithr   r*   r  r  r  )r+   r  std2s   &   r,   test_roundtripTestTimeDelta.test_roundtrip'  s    )2r%'f>*-*a8!QQ?	AB RA!!![1"Aq'CR% BGGRZZACR%Ar/   c                <   V P                  \        P                  \        4       V P                  \        P                  \        4       V P                  \        P                  \        4       V P                  \        P                  \        P                  8  4       V P                  \        P                  \        R4      4       V P                  \        P                  \        R RR4      4       V P                  \        P                  \        ^ ^ ^4      4       R# )r  Nr  r  g    ~.A)r   r   r   r   
resolutionr@  r*   r4   s   &r,   test_resolution_info"TestTimeDelta.test_resolution_info9  s    immY7immY7i22I>		56	*(=>	)Y(NO--yAq/ABr/   c                <   \         P                  p\         P                  V,           pW!,          pV P                  \        VP
                  V4       V P                  \        VP                  V) 4       \         P                  V,
          pW!,          pV P                  \        VP                  V4       V P                  \        VP
                  V) 4       V P                  \        R  4       \        ^4      pV P                  \        VP                  R4       V P                  \        VP                  R4       V P                  \        VP                  R4       V P                  \        VP                  R4       V P                  \        VP                  R4       R# )c                  $    \         P                  ) # r1   )r   r   r`   r/   r,   rr  -TestTimeDelta.test_overflow.<locals>.<lambda>O  s
    )--r/   g    eAg#B;g|=gr{>N ʚ;)
r   r"  r   r   OverflowError__sub____add__r   r  r  )r+   tinyr  days   &   r,   test_overflowTestTimeDelta.test_overflowB  s   ##]]T!

-T:-dU;]]T!

-T:-dU;-)?@l-e<-c:-%@-%@-%@r/   c                    \        ^4      pV P                  \        VP                  \        4       V P                  \        VP                  \        ) 4       R# r  )r   r   r)  r  INF)r+   r-  s   & r,   _test_overflow_special$TestTimeDelta._test_overflow_specialX  s9    l-c:-sd;r/   c                   \         pV P                  pV! V! RR7      V! ^ 4      4       V! V! RR7      V! ^ 4      4       V! V! RR7      V! ^ R7      4       V! V! RR7      V! ^ R7      4       V! V! RR7      V! ^R7      4       V! V! RR7      V! RR7      4       V! V! RR7      V! ^R7      4       V! V! RR7      V! RR7      4       V! V! RR7      V! ^ R7      4       V! V! RR7      V! ^ R7      4       V! V! RR7      V! RR7      4       V! V! RR7      V! RR7      4       RpV^,          pV! V! R V,          R7      V! ^ 4      4       V! V! RV,          R	7      V! ^ 4      4       V! V! R V,          RV,          R
7      V! ^R7      4       V! V! RV,          R7      V! ^ 4      4       V! V! RV,          R	7      V! ^ 4      4       V! V! RV,          RV,          R
7      V! RR7      4       V! V! RR7      RV! RR7      ,          4       V! V! RR7      VP                  ,          RVP                  ,          VP                  ,          4       R# )g?r  r  r  r       tAr  g?r   r  r   r  Ng-C6:?gٿg-C6:gMb@?gMb@ga2U0*C?ga2U0*Cr4  g~jtX?g~jtXrW   gƠ>gƠ      ?      i|gɿ)r   r*   r"  )r+   r  r   us_per_hour
us_per_days   &    r,   test_microsecond_rounding'TestTimeDelta.test_microsecond_rounding^  s    	28$be,
29%r!u-
28$ba&89
29%rr':;
28$ba&89
29%rr':;
28$ba&89
29%rr':;
2i "!"45
2j!22#67
2frt45
2g 67  2%

22j=!2a5)
2B{N#RU+
22j=;79KL
23z>"BqE*
2CO$be,
23z>[922;NO 	23RS%9!9:
23.BMM0A2==0PQr/   c                    \        RR7      pV P                  VP                  VP                  VP                  3R4       R# )r'   r  Nr4  )r4  r  rW  r  r  s   & r,   test_massive_normalization(TestTimeDelta.test_massive_normalization  s2    B'"''2::r?0	2r/   c                   V P                  \        ^4      4       V P                  \        ^ ^4      4       V P                  \        ^ ^ ^4      4       V P                  \        ^R7      4       V P                  \        ^ 4      4       R# )r'   r  N)r@  r   rA  r4   s   &r,   	test_boolTestTimeDelta.test_bool  s\    	!%	!Q(	!Q*+	q121&r/   c                P  a  ! V3R  lR\         4      oS! ^R7      pV P                  \        V4      S4       V P                  VP	                  4       ^4       S! RRR7      pV P                  \        V4      S4       V P                  VP	                  4       R4       W,           pV P                  \        V4      \         4       SP                  V4      pV P                  \        V4      S4       V P                  VP                  VP                  4       V P                  VP                  VP                  4       V P                  VP                  VP                  4       V P                  \        V4      \        V4      4       V P                  VP	                  4       R4       R# )c                   >   <a  ] tR tRt o ]V3R l4       tR tRtV tR# )0TestTimeDelta.test_subclass_timedelta.<locals>.Ti  c                T   < S! V P                   V P                  V P                  4      # r1   r  )r  Ts   &r,   from_td8TestTimeDelta.test_subclass_timedelta.<locals>.T.from_td  s    "**boo>>r/   c                    V P                   ^,          V P                  R,          ,           V P                  R,          ,           p\        V4      # )   g      @r6  )r  r  r  r  )r+   sums   & r,   as_hours9TestTimeDelta.test_subclass_timedelta.<locals>.T.as_hours  s?    yy2~||f,-((612 Sz!r/   r`   N)	rL   ra   rb   rc   staticmethodrI  rN  rd   re   )rg   rH  s   @r,   rH  rF    s!     ? ?" "r/   rH  r  r  Nr4  ii)
r   r2   r   r*   rN  rI  r  r  r  r   )r+   r  r  t3t4rH  s   &    @r,   test_subclass_timedelta%TestTimeDelta.test_subclass_timedelta  s$   		"	 		" AYd2h"+B&d2h",Wd2h	*YYr]d2h""''*RZZ0"//:R#b'*+r/   c           	     z    ! R  R\         4      pV! R^^4      p\        ^R7      pRR V! R^^4      3RR V! R^^4      3RR	 V! R^^4      3.pV FR  w  rVpV P                  V4      ;_uu_ 4        V! W#4      pV P                  W4       V P	                  W4       R
R
R
4       KT  	  R
#   + '       g   i     Ki  ; i)c                       ] tR tRtRtR# )6TestTimeDelta.test_subclass_date.<locals>.DateSubclassi  r`   Nr  r`   r/   r,   DateSubclassrW        r/   rX    r  addc                     W,           # r1   r`   r  r   s   &&r,   rr  2TestTimeDelta.test_subclass_date.<locals>.<lambda>      r/   raddc                     W,           # r1   r`   r]  s   &&r,   rr  r^        !%r/   subc                     W,
          # r1   r`   r]  s   &&r,   rr  r^    r_  r/   N)r   r   r^  r*   r   )	r+   rX  d1r  testsrF   funcexpectedacts	   &        r,   test_subclass_date TestTimeDelta.test_subclass_date  s    	4 	 $1%A &T1a(@A'dAq)AB&T1a(@A
 %* Dd##2l  /%%c8 $# %*###s   0+B))B:c           
         ! R  R\         4      pV! R^^^^4      p\        ^^R7      pRR V! R^^^4      3RR V! R^^^4      3RR	 V! R^^^4      3.pV FR  w  rVpV P                  V4      ;_uu_ 4        V! W#4      pV P                  W4       V P	                  W4       R
R
R
4       KT  	  R
#   + '       g   i     Ki  ; i)c                       ] tR tRtRtR# )>TestTimeDelta.test_subclass_datetime.<locals>.DateTimeSubclassi  r`   Nr  r`   r/   r,   DateTimeSubclassrn    rY  r/   ro  rZ  )r  rm   r[  c                     W,           # r1   r`   r]  s   &&r,   rr  6TestTimeDelta.test_subclass_datetime.<locals>.<lambda>  r_  r/   r`  c                     W,           # r1   r`   r]  s   &&r,   rr  rq    rb  r/   rc  c                     W,
          # r1   r`   r]  s   &&r,   rr  rq    r_  r/   N)r   r   r^  r*   r   )	r+   ro  re  r  rf  rF   rg  rh  ri  s	   &        r,   test_subclass_datetime$TestTimeDelta.test_subclass_datetime  s    	x 	 dAq"b1Ar* &(8q!R(HI')9$1b)IJ&(8q!R(HI
 %* Dd##2l  /%%c< $# %*###s   6+B//C c                   \        ^^^R7      p\        ^R7      pV P                  W,          R4       V P                  W,          R4       \        ^^R7      p\        ^R7      pV P                  W,          R4       V P                  W,          ^4       \        ^ 4      pV P                  \        \        W4       V P                  \        \
        W4       R# )	r'   rV  r  g     ó@i  rm   r  rl   g      @N)r   r*   r   r  r
   r   )r+   r   secondminutezerotds   &    r,   test_divisionTestTimeDelta.test_division  s    Ar261%V,d+a,1%S)a(1+Wa@+XqAr/   c                f   \        ^^R7      p\        ^R7      pW,          pV P                  V\        ^R7      4       \        R^R7      pW,          pV P                  V\        ^R7      4       \        ^ 4      pV P                  \        \        W4       V P                  \
        \        V^
4       R# r  rw  rl   r  NrW   )r   r*   r   r  r   r   )r+   r   ry  rrz  s   &    r,   test_remainderTestTimeDelta.test_remainder  s    a,1%JIb12b"-KIb121+S!<)S!R0r/   c                   \        ^^R7      p\        ^R7      p\        W4      w  r4V P                  V^4       V P                  V\        ^R7      4       \        R^R7      p\        W4      w  r4V P                  VR4       V P                  V\        ^R7      4       \        ^ 4      pV P                  \        \        W4       V P                  \
        \        V^
4       R# r~  )r   divmodr*   r   r  r   )r+   r   ry  qr  rz  s   &     r,   test_divmodTestTimeDelta.test_divmod  s    a,1%a AIb12b"-a BIb121+VQ?)VQ3r/   c                   R  pV P                  \        4      ;_uu_ 4        \        4       V! ^R,          4      ,           RRR4       V P                  \        4      ;_uu_ 4        \        4       V! ^R,          4      ,           RRR4       R F}  pV P                  \        4      ;_uu_ 4        \        4       V! V4      ,           RRR4       V P                  \        4      ;_uu_ 4        \        4       V! V4      ,           RRR4       K  	  R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     Ly; i  + '       g   i     K  ; i)c                 6   a   ! V 3R  lR\         4      pV! 4       # )c                   .   <a  ] tR tRt o V3R ltRtV tR# )FTestTimeDelta.test_issue31293.<locals>.get_bad_float.<locals>.BadFloati  c                   < S# r1   r`   )r+   	bad_ratios   &r,   as_integer_ratioWTestTimeDelta.test_issue31293.<locals>.get_bad_float.<locals>.BadFloat.as_integer_ratio  s	    $$r/   r`   N)rL   ra   rb   rc   r  rd   re   )rg   r  s   @r,   BadFloatr    s     % %r/   r  )float)r  r  s   f r,   get_bad_float4TestTimeDelta.test_issue31293.<locals>.get_bad_float  s    %5 % :r/   r  N)r`   r   r'   r  r   )r   r   r   r  )r+   r  r  s   &  r,   test_issue31293TestTimeDelta.test_issue31293  s    	 y))K-T	22 *y))K-T	22 * 1I"":..mI66 /"":..mI66 /. 1 *))) /....s/   D%D$.D7+E
D!	$D4	7E
Ec                  aaa  ! V3R  lR\         4      p ! V3R lR4      o ! V3R lR\         4      oR F  oV P                  SR7      ;_uu_ 4         \        V! ^4      R7        \        V! ^4      R	7        \        V! ^4      R
7        \        ^4      V! ^4      ,            V! ^4      \        ^4      ,            \        ^4      V! ^4      ,           RRR4       K  	  R#   \         d     Li ; i  \         d     Li ; i  \        \        3 d     Li ; i  \        \        3 d     Li ; i  \         d     Li ; i  \         d     L|i ; i  + '       g   i     EK4  ; i)c                   R   <a  ] tR tRt o V3R ltV3R ltV3R ltV3R ltRtV t	R# )-TestTimeDelta.test_issue31752.<locals>.BadInti  c                   < S! 4       # r1   r`   r+   otherProds   &&r,   r  5TestTimeDelta.test_issue31752.<locals>.BadInt.__mul__  
    vr/   c                   < S! 4       # r1   r`   r  s   &&r,   __rmul__6TestTimeDelta.test_issue31752.<locals>.BadInt.__rmul__  r  r/   c                   < S! 4       # r1   r`   r  s   &&r,   __floordiv__:TestTimeDelta.test_issue31752.<locals>.BadInt.__floordiv__  r  r/   c                   < S! 4       # r1   r`   r  s   &&r,   __rfloordiv__;TestTimeDelta.test_issue31752.<locals>.BadInt.__rfloordiv__!  r  r/   r`   N)
rL   ra   rb   rc   r  r  r  r  rd   re   )rg   r  s   @r,   BadIntr    s      r/   r  c                   :   <a  ] tR tRt o V3R ltV3R ltRtV tR# )+TestTimeDelta.test_issue31752.<locals>.Prodi$  c                   < S! 4       # r1   r`   r+   r  Sums   &&r,   r+  3TestTimeDelta.test_issue31752.<locals>.Prod.__add__%  
    ur/   c                   < S! 4       # r1   r`   r  s   &&r,   __radd__4TestTimeDelta.test_issue31752.<locals>.Prod.__radd__'  r  r/   r`   N)rL   ra   rb   rc   r+  r  rd   re   )rg   r  s   @r,   r  r  $  s      r/   r  c                   .   <a  ] tR tRt o V3R ltRtV tR# )*TestTimeDelta.test_issue31752.<locals>.Sumi*  c                   < S# r1   r`   )r+   r  divmodresults   &&r,   
__divmod__5TestTimeDelta.test_issue31752.<locals>.Sum.__divmod__+  s	    ##r/   r`   N)rL   ra   rb   rc   r  rd   re   )rg   r  s   @r,   r  r  *  s     $ $r/   r  N)r  r  r   r  )Nr`   )r   r'   r  )r   r4  )ro   r^  r   r   r  )r+   r  r  r  r  s   & @@@r,   test_issue31752TestTimeDelta.test_issue31752  sE   	S 		 		$# 	$ ;L<886!95F1I.F1I.aL6!9,1I	!,aLF1I-/ 98 ;
 !  !  ":.  ":.  !  ! 1 988s   EC')C8<D	D (D7E'C5	2E4C5	5E8D	ED	E	D	ED	E D4	1E3D4	4E7E	EE	EE	EE	EE+r`   N)&rL   ra   rb   rc   r   ri  r  r  r  r   requires_IEEE_754r  r  r  r  r  r  r  r   r  r  r  r#  r.  r2  r<  r?  rB  rS  rj  rt  r{  r  r  r  r  rd   re   rf   s   @r,   r  r    s     H!4FQf5& : :
.
L!#(,&?P20C&A&$CA, < <
RB2
',>9&=&B&14"7(1 1r/   r  c                   d   a  ] tR tRt o R tR tR t]P                  ! ]	R7      R 4       t
RtV tR# )	TestDateOnlyiN  c                   \        R ^^4      p\        ^^^^^R7      p\        VP                  4      pV P                  V\        ^4      4       W,           pV P                  WAV,           4       W!,           pV P                  WAV,           4       W,
          pV P                  WAV,
          4       V) p\        VP                  4      pV P                  V\        R4      4       W,           pV P                  WAV,           4       W!,           pV P                  WAV,           4       W,
          pV P                  WAV,
          4       R# )  r	  NrW   )r   r   r  r*   )r+   r~   r[  r  dt2s   &    r,   test_delta_non_days_ignored(TestDateOnly.test_delta_non_days_ignoredR  s   $1q1a'(*$y|,j4i(j4i(j4i($y}-j4i(j4i(j4i(r/   c                   \        R ^^4      RR3\        R^^4      RR3\        R^^4      RR3\        R^^4      RR3\        R^^4      R	R
3\        R^^4      RR3\        R^^4      RR3\        R^^4      RR3\        R^^4      RR3\        R^	^4      RR3\        R^	^4      RR3\        R^	^4      RR3\        ^^^4      RR3\        ^c^^4      RR3\        ^^^4      RR3\        R^	^4      RR3\        R^	^4      RR 3.pV Fo  w  r#pV P                  W4R!7      ;_uu_ 4        \         P                  ! W44      pV P                  W%4       V P	                  \        V4      \         4       R"R"R"4       Kq  	  R"#   + '       g   i     K  ; i)#i  z
1998-02-03z%Y-%m-%d  z
2004-12-02  z
2020-02-29u   2004-1202u
   %Y-%m%du   200412-02u
   %Y%m-%dz2004-02z%Y-%mz02-2004z%m-%Yz
02/12/2004z%d/%m/%Yz
12/02/2004z%m/%d/%Y  z
24.09.2023z%d.%m.%Yz
24-09-2023z%d-%m-%Yz
2023/09/24z%Y/%m/%dz
0127-02-03z
0099-02-03z
0005-02-03z
2023-W39-1z	%G-W%V-%uz2023-268z%Y-%jstringformatN)r   r^  strptimer*   r2   r   r+   inputsrh  r  r  gots   &     r,   test_strptimeTestDateOnly.test_strptimeo  s    $1|Z8$Aj9 $2j9 $A 1?C$A 1?C $1y'2$1y'2 $Aj9$Aj9 $2j9$2j9$2j9 #q!_lJ7"a^\:6!Q]L*5 $2k:$2
G4A!
D )/$HfV;;mmF3  /d3i. <; )/;;;s   $AE99F
c           	        \         P                  pV P                  \        4      ;_uu_ 4        V! R R4      pRRR4       \        R^^4      p\        R^^4      p\        R^^4      pRRRV3RRRV3RR	R
V3RRRV3RRRV3RRRV3.pV FP  w  rxrRV,           pV P	                  VVV	V
R7      ;_uu_ 4        V! W4      pV P                  W*VR7       RRR4       KR  	  R#   + '       g   i     L; i  + '       g   i     Kz  ; i)z01/02/3z%d/%m/%yN  %dz1/02/03%mz01/2/03%jz2/03z%j/%y%w6/04/03%w/%U/%y%W6/4/2003%u/%W/%Y%V%u/%V/%Gtest single digit reasonr  r  targetmsg)r   r  r   r  r^  r*   )r+   r  newdatere  d2d3r  r  r  r  r  s   &          r,   test_strptime_single_digit'TestDateOnly.test_strptime_single_digit  s&   ==z**y*5G + $1$1$29z2.9z2.6w2.9z2.:z2.:z2.
 /5*FF)F2FV%+%+%+  - - #62  f =- - /5! +*$- - -s   
C5C2C/	2Dcategoryc                v   V P                  \        4      ;_uu_ 4        \        P                  ! R R4       RRR4       V P	                  \
        4      ;_uu_ 4        \        P                  ! RR4       \        P                  ! RR4       RRR4       R#   + '       g   i     Lf; i  + '       g   i     R# ; i)02-29%m-%dNz20-03-14z%y-%m-%d
02-29,2024%m-%d,%Y)r   r  r   r  _assertNotWarnsDeprecationWarningr4   s   &r,   test_strptime_leap_year$TestDateOnly.test_strptime_leap_year  su     z**MM'7+ + !!"455MM*j1MM,
3 65 +* 655s   B/B'B$	'B8	r`   N)rL   ra   rb   rc   r  r  r  r   ignore_warningsr  r  rd   re   rf   s   @r,   r  r  N  s6     ):'/R>8 $$.@A4 B4r/   r  c                       ] tR tRt^tRtR# )SubclassDatei  r`   Nr  r`   r/   r,   r  r    r  r/   r  c                   8  a  ] tR tRt o ]tR tR tR tR t	R t
R tR tR	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR t R t!R t"R t#R  t$R! t%R" t&R# t'R$ t(R% t)R& t*R' t+R( t,R) t-R* t.R+ t/R, t0R- t1R. t2R/ t3R0t4V t5R1# )2TestDatei  c                    V P                  R ^^4      pV P                  VP                  R 4       V P                  VP                  ^4       V P                  VP                  ^4       R#   N)ri  r*   yearmonthr-  r}   s   & r,   r  TestDate.test_basic_attributes  sP    ]]4A&$'1%#r/   c                v   V P                  ^^^4      V P                   P                  4       3 F  p\        V4      pV P                  VR4       VR,          p\	        V4      pV P                  W4       V P                  VP                  VP                  VP                  4      pV P                  W4       K  	  R# r'   r  r  N)	ri  todayr   r  r   r*   r  r  r-  r+   r~   r  r  s   &   r,   r  TestDate.test_roundtrip  s    ==Aq)==&&(*B RA!!![1"Aq'CR% --266:CR%*r/   c                    \        ^^^4      pV P                  \        V4      R4       \        R^^4      pV P                  \        V4      R4       \        R^
^
R7      pV P                  \        V4      R4       R# )r'   zSubclassDate(1, 2, 3)r   zSubclassDate(2014, 1, 1)r   r-  zSubclassDate(2010, 10, 10)N)r  r*   r   r  s   & r,   r  TestDate.test_repr_subclass  sk    !Q"b#:;$1%b#=>$+b#?@r/   c           	        R F  w  rr4V P                  WV4      pV P                  WCP                  4       4       V P                   P                  V4      pV P                  W54       \	        VR4      '       g   Kw  V P                  VP
                  ^ 4       V P                  VP                  ^ 4       V P                  VP                  ^ 4       V P                  VP                  ^ 4       K  	  \        \        \        ^,           ^4       F  pV P                  V^^4      pVP                  4       pV P                   P                  V4      pV P                  W74       V^8  g   K[  V P                   P                  V^,
          4      pV P                  V^,
          ^^4      pV P                  W74       V P                  VP                  4       V^,
          4       K  	  . ROpR F  w  riV P                  V^^4      P                  4       p\        \        ^^4      V4       F  w  rV
^8X  d   V	'       d
   V^,          p\        ^V^,           4       Fh  pV P                  WjV4      pV P                  VP                  4       V4       V P                  W0P                   P                  V4      4       V^,          pKj  	  K  	  K  	  R# )r'   hourN))r'   r'   r'   r'   )r'   r$     r  )r  r'   r'   n  )i     r$  i
 )r     r     r  r  r  r  r  r  r  r  ))r  T)r  F)ri  r*   	toordinalfromordinalhasattrr  ry  rx  microsecondr  r   r   zip)r+   ymr  nfromordr  r  dimisleapr  maxdayr-  s   &            r,   test_ordinal_conversions!TestDate.test_ordinal_conversions  s*   3JA!
 aA&AQ.mm//2GQ(w''   q1  3  3  !4!4a83& '719a0DdAq)AA**1-BQ#axMM--ac2]]462r2  '  15 1 ?7LDdAq)335A!$U1b\3!7A:&aKF F1H-Cd37A$$Q[[]A6$$Q(A(A!(DEFA	 . "8 8r/   c                
  aa V P                   P                  oV P                  SP                  SP                  SP                  4      oSP                  4       oSP                  S4      pV P                  SV4       V P                  \        VV3R  l4       S\        ^R7      ,           pV P                  VP                  4       S^,           4       V P                  WP                   P                  S^,           4      4       V P                   P                  oV P                  SP                  SP                  SP                  4      oSP                  4       oSP                  S4      pV P                  SV4       V P                  \        VV3R l4       S\        ^R7      ,
          pV P                  VP                  4       S^,
          4       V P                  WP                   P                  S^,
          4      4       R# )c                  4   < S P                  S^,
          4      # r'   r  r  aords   r,   rr  0TestDate.test_extreme_ordinals.<locals>.<lambda>      ammD1H.Er/   r  c                  4   < S P                  S^,           4      # r  r  r  s   r,   rr  r!  &  r"  r/   N)ri  r   r  r  r-  r  r  r*   r   r  r   r   )r+   r  r  r   s   & @@r,   test_extreme_ordinalsTestDate.test_extreme_ordinals  se   MMMM!&&!''1551{{}MM$A*&EF	q!!q1MM55dQh?@MMMM!&&!''1551{{}MM$A*&EF	q!!q1MM55dQh?@r/   c                   V P                  \        ^^4       V P                  \        ^^4       V P                  \        V P                   \        ^,
          ^^4       V P                  \        V P                   \        ^,           ^^4       V P                  R^^4       V P                  R^^4       V P                  \        V P                   R^ ^4       V P                  \        V P                   R^^4       V P                  R^^4       V P                  R^^4       V P                  R^^4       V P                  \        V P                   R^^4       V P                  \        V P                   R^^4       V P                  \        V P                   R^^4       V P                  \        V P                   R^^4       V P                  \        V P                   R^^ 4       V P                  \        V P                   R^^ 4       R# )r'   r  r  `	    4  l  N)ri  r   r   r   r  r4   s   &r,   test_bad_constructor_arguments'TestDate.test_bad_constructor_arguments,  s~   gq!$gq!$*dmmWQY1E*dmmWQY1EdAq!dB"*dmmT1a@*dmmT2qAdAr"dAr"dAr"*dmmT1bA*dmmT1bA*dmmT1bA*dmmT1bA*dmmT1a@*dmmT1bAr/   c                   V P                  R ^^4      pV P                  R ^^4      pV P                  W4       V P                  \        V4      \        V4      4       V^/p^W2&   V P                  \        V4      ^4       V P                  W1,          ^4       V P                  W2,          ^4       V P                  R^^4      pV P                  R^^4      pV P                  W4       V P                  \        V4      \        V4      4       V^/p^W2&   V P                  \        V4      ^4       V P                  W1,          ^4       V P                  W2,          ^4       R# r  r(  Nri  r*   r  r  r+   r  edics   &   r,   r  TestDate.test_hash_equalityB  s&   MM$B'MM$B'a$q'*!fS1%##MM$Q'MM$Q'a$q'*!fS1%##r/   c                X	  aaa V P                  R ^^4      oV P                  R^^4      pV P                  R^^4      pSV,
          pV P                  VP                  R\        \	        RR ^4      4      ,           4       V P                  VP
                  ^ 4       V P                  VP                  ^ 4       \        ^4      o\        ^4      pV P                  R ^^4      oV P                  SS,           V P                  R ^^4      4       V P                  SS,           V P                  R ^^4      4       V P                  SS,
          V P                  R ^^4      4       V P                  S) S,           V P                  R ^^4      4       V P                  SV,           V P                  R ^^	4      4       V P                  SV,
          V P                  R ^^4      4       V P                  S^4V,          ,           V P                  R^^4      4       V P                  S^4V,          ,
          V P                  R^^4      4       V P                  SV,           S,
          V4       V P                  SS,           S,
          S4       V P                  SV,
          S,
          V) 4       V P                  SS,
          S,
          S) 4       V P                  SSV,           ,
          V) 4       V P                  SSS,           ,
          S) 4       V P                  SSV,
          ,
          V4       V P                  SSS,
          ,
          S4       V P                  W"S,
          ,
          S4       R Fo  oV P                  \        VV3R l4       V P                  \        VV3R l4       V P                  \        VV3R l4       V P                  \        VV3R l4       Kq  	  V P                  \        VV3R l4       V P                  \        VV3R	 l4       V P                  \        VV3R
 l4       V P                  \        VV3R l4       V P                  \        VV3R l4       V P                  \        V3R l4       V P                  \        V3R l4       V P                  \        V3R l4       R# )r    r(  r  c                     < S S,           # r1   r`   r  s   r,   rr  ,TestDate.test_computations.<locals>.<lambda>|  r  r/   c                     < S S,
          # r1   r`   r  s   r,   rr  r7  }  r  r/   c                     < SS ,           # r1   r`   r  s   r,   rr  r7  ~  r  r/   c                     < SS ,
          # r1   r`   r  s   r,   rr  r7    r  r/   c                     < SS ,
          # r1   r`   r  r-  s   r,   rr  r7    	    S1Wr/   c                     < SS ,          # r1   r`   r<  s   r,   rr  r7    r=  r/   c                     < S S,          # r1   r`   r<  s   r,   rr  r7    	    QWr/   c                     < SS ,          # r1   r`   r<  s   r,   rr  r7    	    SAXr/   c                     < S S,          # r1   r`   r<  s   r,   rr  r7    	    Q#Xr/   c                     < S S ,          # r1   r`   r  s   r,   rr  r7    	    QUr/   c                     < S S ,          # r1   r`   r  s   r,   rr  r7    	    Q!Vr/   c                     < S S ,           # r1   r`   r  s   r,   rr  r7    rF  r/   NA  r  
ri  r*   r  r  r  r  r  r   r   r   )r+   r  r  diffweekr  r-  r  s   &    @@@r,   r  TestDate.test_computations[  sw   MM$2&MM$2&MM$q#sFStT11E-F$FGq)**A.l|MM$1%S$--a";<q$--a";<S$--a";<#4==q!#<=T4==q!#<=T4==q"#=>RWdmmD!Q&?@RWdmmD!Q&?@!d(a.!c'Q,!d(a$/!c'Q-a$h$/a#g-a$h.a#g,#g, Ai5i5i5i5	  	)_5)_5)_5)%56)%56)]3)^4)]3r/   c                   V P                   P                  pV\        ^4      \        ^4      3 F  pV P                   P                  V,           pW2,          pV P	                  \
        VP                  V4       V P	                  \
        VP                  V) 4       V P                   P                  V,
          pW2,          pV P	                  \
        VP                  V4       V P	                  \
        VP                  V) 4       K  	  R# r  )	ri  r"  r   r   r   r)  r*  r+  r   )r+   r,  r[  r~   s   &   r,   r.  TestDate.test_overflow  s    }}''IaL)A,7E""U*BKBmRZZ?mRZZ%@""U*BKBmRZZ?mRZZ%@ 8r/   c                *   ^ RI pR^	^rCpVP                  ! W#V^ ^ ^ ^ ^ R3	4      pV P                  P                  V4      pV P	                  VP
                  V4       V P	                  VP                  V4       V P	                  VP                  V4       R# )r   Ni  r4  )r   mktimeri  fromtimestampr*   r  r  r-  )r+   r   r  r  r-  tsr  s   &      r,   test_fromtimestampTestDate.test_fromtimestamp  s      BS[[$sAq!Q2>?MM''+&%($r/   c                n    R F.  pV P                  \        V P                  P                  V4       K0  	  R# ZbtiN)gZbtrY  r   r)  ri  rS  r+   insanes   & r,   test_insane_fromtimestamp"TestDate.test_insane_fromtimestamp  -    
 $FmT]]-H-H$& $r/   c                    V P                  \        4      ;_uu_ 4        V P                  P                  R 4       R R R 4       R #   + '       g   i     R # ; ir1   )r   r   ri  rS  r4   s   &r,    test_fromtimestamp_with_none_arg)TestDate.test_fromtimestamp_with_none_arg  s4    y))MM''- *)))s   AA	c                >   ^ RI p\        ^4       Fc  pV P                  P                  4       pVP                   ! 4       pV P                  P	                  V4      pW58X  d    MVP
                  ! R4       Ke  	  XX8w  d    V P                  WS\        RR7      R7       R# R# )r   Ng?r  r  )r[  )r   r  ri  r   rS  sleepassertAlmostEqualr   )r+   r   r&  r   rT  
todayagains   &     r,   
test_todayTestDate.test_today  s     1XEMM'')EB44R8J" JJsO! ( J"":)23)? # A r/   c           	        \        ^4       F  pV P                  V P                  R^^V,           4      P                  4       V4       V P                  V P                  R^^V,           4      P	                  4       V^,           4       V P                  V P                  R^^V,           4      P                  4       V4       V P                  V P                  R^^V,           4      P	                  4       V^,           4       K  	  R# )r  r  r5  N)r  r*   ri  weekday
isoweekday)r+   r  s   & r,   test_weekdayTestDate.test_weekday  s    qAT]]4AaC8@@BAFT]]4AaC8CCEqsKT]]4AaC8@@BAFT]]4AaC8CCEqsK r/   c                   . ROp. pV Fj  w  r4V P                   ! V!  p\        ^4       FF  pV\        V4      ,           pVR,          V^,          V,           3,           pVP                  Wx34       KH  	  Kl  	  V F  w  rV P	                  V	RR7      ;_uu_ 4        V P                  V	P                  4       V
4       RRR4       V P	                  V	RR7      ;_uu_ 4        V	P                  4       pV P                  VP                  VP                  VP                  3V
4       RRR4       K  	  R#   + '       g   i     L}; i  + '       g   i     K  ; i)r  :r   r  Ntuple)r  
comparisonNfields)))r  r$     )r  4   r'   ))r  r$     r  r'   r'   ))r  r'   r?  )r  r  r'   ))  r$     )rv  rs  r'   ))rv  r$  r  )rv  5   r'   ))r   r'   r  )r   r'   r'   )
ri  r  r   appendr^  r*   isocalendarr  rM  rj  )r+   week_mondays
test_casescal_dateiso_date	base_dater  new_datenew_isor  exp_isor   s   &           r,   test_isocalendarTestDate.test_isocalendar  s   
 
".Hx0I1X$y|3"3-8A;?*<<!!8"56  #/ %JAg66  ': 7 h77MMO  !&&!&&!))!<gF 87 %66 877s   !D/AE/D?Ec                   V P                  R ^^4      p\        P                  ! VP                  4       4      p\        P                  ! V4      pV P                  \        V4      \        4       V P                  VR4       R# )  N)r  r'   r  )ri  pickler   rz  r   r*   r   ro  )r+   r  press   &   r,   test_isocalendar_pickling"TestDate.test_isocalendar_pickling  s[    
 MM$1%LL)ll1ocE*l+r/   c                   R p\        \        \        VP                  4       4      4      p. p\	        R4       F  pV P                  RV,           ^^4      pV P                  RV,           ^^4      pV P                  VP                  4       R,          VP                  4       R,          4       VP                  4       ^,          ^58X  g   K  VP                  V4       K  	  V P                  W24       R# )aK  
              4   32   60   88
              9   37   65   93
             15   43   71   99
             20   48   76
             26   54   82

            105  133  161  189
            111  139  167  195
            116  144  172
            122  150  178
            128  156  184

            201  229  257  285
            207  235  263  291
            212  240  268  296
            218  246  274
            224  252  280

            303  331  359  387
            308  336  364  392
            314  342  370  398
            320  348  376
            325  353  381
          r  i@  r'   NNN)	sortedmapro   splitr  ri  r*   rz  ry  )r+   ISO_LONG_YEARS_TABLEiso_long_yearsLr  r  re  s   &      r,   test_iso_long_yearsTestDate.test_iso_long_years  s     2  C)=)C)C)E FGsAd1fb"-AtAvr2.BQ]]_R0"..2B22FG}}q!R'  	+r/   c                l    V P                  ^^^4      pV P                  VP                  4       R4       R# )r  z
0002-03-02N)ri  r*   	isoformatr+   r   s   & r,   test_isoformatTestDate.test_isoformat)  s*    MM!Q"5r/   c                l    V P                  R ^^4      pV P                  VP                  4       R4       R# )r  zSat Mar  2 00:00:00 2002N)ri  r*   ctimer  s   & r,   
test_ctimeTestDate.test_ctime-  s+    MM$1%$>?r/   c                "   V P                  R ^^4      pV P                  VP                  R4      R4       V P                  VP                  R4      R4       V P                  VP                  R4      R4       V P                  \        VP                  4       V P                  \        VP                  RR4       V P                  \        VP                  ^*4       V P                  VP                  R4      R4       V P                  VP                  R4      R	4       R F  p VP                  V4       K  	   VP                  R
4       VP                  R4       VP                  RR7       R#   \
         d     K^  i ; i  \         d     LDi ; i)  m:%m d:%d y:%yzm:03 d:02 y:05r#  onetwor  03'%z' '%:z' '%Z''' '' ''u   %y%m%fr  N  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)z%e%z%#)ri  r*   strftimer   r   r  UnicodeEncodeError)r+   r   fs   &  r,   test_strftimeTestDate.test_strftime1  sK   MM$1%$457GHB,H-x8)QZZ0)QZZ>)QZZ4 	D)40 	$56
C #A

1 #	JJ|$
 	


4 	


$
   " 		s$   "E.8F  .E=<E= FFc                   V P                  R ^^4      p \        P                  ! R4       V P                  VP                  R4      \        P                  ! RVP                  4       4      4       V P                  VP                  R4      \        P                  ! RVP                  4       4      4       R#   \         d    T P	                  R4        Li ; i)r  r  z'time module does not support trailing %zm:%m d:%d y:%y %zm:03 d:02 y:05 %N)ri  _timer  r  rM   r*   	timetupler  s   & r,   test_strftime_trailing_percent'TestDate.test_strftime_trailing_percent[  s    
 MM$1%	ENN3 	C%..akkm*LMJJ)*NN-q{{}=	
  	EMMCD	Es   B5 5CCc                >   V P                  R ^	^
4      pV P                  VP                  R4      \        V4      4       V P	                  \
        R4      ;_uu_ 4        VP                  ^{4       RRR4        ! R RV P                   4      pV! R ^	^
4      pV P                  VP                  R4      R4        ! R RV P                   4      pV! R ^	^
4      pV P                  VP                  R4      \        V4      4       R F  pV P                  VP                  V4      VP                  V4      4       V P                  VP                  V4      VP                  V4      4       V P                  VP                  V4      R4       K  	  R#   + '       g   i     EL&; i)	  r#  must be str, not intNc                   &   a  ] tR tRt o R tRtV tR# )TestDate.test_format.<locals>.Ais  c                    R # Ar`   r4   s   &r,   __str__'TestDate.test_format.<locals>.A.__str__t      r/   r`   NrL   ra   rb   rc   r  rd   re   rf   s   @r,   r  r  s        r/   r  c                   &   a  ] tR tRt o R tRtV tR# )TestDate.test_format.<locals>.Biz  c                    R # Br`   r+   format_specs   &&r,   r  (TestDate.test_format.<locals>.B.strftime{  r  r/   r`   NrL   ra   rb   rc   r  rd   re   rf   s   @r,   r  r  z  r  r/   r  r  zm:%m d:%d y:%y H:%H M:%M S:%Sz	%z %:z %Zri  r*   
__format__r   assertRaisesRegexr   r  r+   r~   r  r  r  r  fmts   &      r,   test_formatTestDate.test_formatk  sC   ]]4B'r*CG4##I/EFFMM# G	 	 dArNb)3/	 	 dArNb)3r73C R]]3/S1ABQ\\#.C0@AQ\\#.4# GFFs   FF	c                   \        V P                  \        4      '       d   \        pM\        pV P	                  V P                  P
                  V4       V P	                  V P                  P                  V4       V P	                  V P                  P                  \        4       V P                  V P                  P                  V P                  P
                  8  4       R # r1   )

issubclassri  r   r   r   r   r   r"  r   r@  )r+   expected_classs   & r,   r#  TestDate.test_resolution_info  s    dmmX..%N!Ndmm//@dmm//@dmm66	B))DMM,=,==>r/   c                .   V P                   P                  V P                   P                  ,
          pVP                  ^,          R,          VP                  ,           R,          VP
                  ,           p\        ^ ^ V4      pV P                  W4       V P                  V P                   P                  V,           V P                   P                  4       V P                  V P                   P                  V,
          V P                   P                  4       R# )rL    @B N)ri  r   r   r  r  r  r   r*   )r+   bigr  	justasbigs   &   r,   test_extreme_timedeltaTestDate.test_extreme_timedelta  s    mm$--"3"33XXb[+W4s7G7GGaA&	(**S0$--2C2CD**S0$--2C2CDr/   c                   \        ^4       EF1  pV P                  R^^V,           4      pVP                  4       pV P                  VR^^V,           ^ ^ ^ V^V,           R3	4       V P                  R^^V,           4      pVP                  4       pV P                  VR^^V,           ^ ^ ^ ^V,           ^,          ^ V,           R3	4       V P                  R^^V,           4      pVP                  4       pV P                  VR^^V,           ^ ^ ^ ^V,           ^,          ^=V,           R3	4       V P                  VP                  R4       V P                  VP
                  ^4       V P                  VP                  ^V,           4       V P                  VP                  ^ 4       V P                  VP                  ^ 4       V P                  VP                  ^ 4       V P                  VP                  ^V,           ^,          4       V P                  VP                  ^=V,           4       V P                  VP                  R4       EK4  	  R# )r  r5  Nr4  )r  ri  r  r*   tm_yeartm_montm_mdaytm_hourtm_mintm_sectm_wdaytm_ydaytm_isdst)r+   r  r  r   s   &   r,   test_timetupleTestDate.test_timetuple  s   qAdAqs+AAQq!A#q!Q1Q3 CDdAqs+AAQq!A#q!Q1aAr JK dAqs+AAQq!A#q!Q1aAr JKQYY-QXXq)QYY!,QYY*QXXq)QXXq)QYY1a0QYY1-QZZ,- r/   c                   RpV P                   ! V!  p\         F9  w  r4pVP                  W%4      pVP                  V4      pV P	                  W'4       K;  	  V P	                  VP                  4       VP                  ^4      4       R#    N)r  r  r  ri  r   r   r   r*   
__reduce____reduce_ex__r  s   &       r,   r  TestDate.test_pickling  sr    }}d#)7%GMM$.Eooe,GT+ *8 	*D,>,>q,ABr/   c                    . ROpRpV P                   ! V!  pV F+  p\         F  pV! VRR7      pV P                  Wc4       K   	  K-  	  R# )'   cdatetime
date
(S'\x07\xdf\x0b\x1b'
tR.latin1encodingN)r  s   cdatetime
date
(UtR.s   cdatetime
date
UR.)  r
     ri  pickle_loadsr*   r+   rf  r   rh  datar   r   s   &      r,   test_compat_unpickleTestDate.test_compat_unpickle  sL    

 ==$'D%x8  3 & r/   c                  aa V P                  ^^^4      oV P                  ^^^4      pV P                  SV4       V P                  SV8*  4       V P                  SV8  4       V P                  SV8g  4       V P                  SV8  4       V P                  SV8  4       R EF  pV P                   ! V!  pV P                  SV8  4       V P                  VS8  4       V P                  SV8*  4       V P                  VS8  4       V P                  SV8g  4       V P                  VS8g  4       V P                  SV8H  4       V P                  VS8H  4       V P                  SV8  4       V P                  VS8  4       V P                  SV8  4       V P                  VS8*  4       EK  	  \         EF  oV P                  SS8H  R4       V P                  SS8g  R4       V P                  SS8H  R4       V P                  SS8g  R4       V P                  \        VV3R l4       V P                  \        VV3R l4       V P                  \        VV3R l4       V P                  \        VV3R l4       V P                  \        VV3R l4       V P                  \        VV3R l4       V P                  \        VV3R	 l4       EK  	  R
# )r  FTc                     < SS 8  # r1   r`   r  s   r,   rr  'TestDate.test_compare.<locals>.<lambda>  r  r/   c                     < SS 8  # r1   r`   r  s   r,   rr  r    r  r/   c                     < SS 8  # r1   r`   r  s   r,   rr  r    r  r/   c                     < S S8*  # r1   r`   r  s   r,   rr  r    r  r/   c                     < S S8  # r1   r`   r  s   r,   rr  r    r  r/   c                     < S S8  # r1   r`   r  s   r,   rr  r    r  r/   c                     < S S8  # r1   r`   r  s   r,   rr  r    r  r/   Nr  )ri  r*   r@  rA  r  r   r   r  s   &  @@r,   r  TestDate.test_compare  sF   ]]1a#]]1a#R b!b!r"b!b!3D%BOOBG$OOBG$OOB"H%OOB"H%OOB"H%OOB"H%R2X&R2X&R"W%R"W%R2X&R2X& 4 !jFR6\51R6\40Vr\51Vr\40i)<=i)<=i)=>i)=>i)<=i)<=i)=> !r/   c                v  aa V P                  R ^^4      oV P                  S^8H  R4       V P                  ^S8H  R4       V P                  S^8g  R4       V P                  ^S8g  R4       V P                  \        V3R l4       V P                  \        V3R l4        ! R R4      pV! 4       oV P                  SS8H  R4       V P                  SS8H  R4       V P                  SS8g  R4       V P                  SS8g  R4       V P                  \        VV3R l4       V P                  \        VV3R l4       R	# )
r  FTc                     < S ^8  # r  r`   ours   r,   rr  -TestDate.test_mixed_compare.<locals>.<lambda>  s	    S1Wr/   c                     < ^S 8  # r  r`   r  s   r,   rr  r    s	    QWr/   c                       ] tR tRtRtR# ).TestDate.test_mixed_compare.<locals>.SomeClassi  r`   Nr  r`   r/   r,   	SomeClassr    rY  r/   r  c                     < S S8  # r1   r`   r  theirs   r,   rr  r  
  s	    S5[r/   c                     < SS 8  # r1   r`   r  s   r,   rr  r    s	    US[r/   N)ri  r*   r   r   )r+   r  r  r  s   & @@r,   test_mixed_compareTestDate.test_mixed_compare  s   mmD!Q' 	5)c5)4(c4( 	)_5)_5	 	 u-#u-t,#t,)%89)%89r/   c                    V P                  V P                  P                  4       V P                  V P                  P                  4       R # r1   )r@  ri  r   r   r4   s   &r,   rB  TestDate.test_bool  s.    ))*))*r/   c           
        RpRp\         P                  ! RR4      R8X  d
   VR,          pV F  w  r4V F  pV P                  W5R7      ;_uu_ 4        V P                  V^^4      pVR8X  d	   W4,          pVR8X  d   V^d,          R pMVR	 pVR
8X  d
   VR,          pV P	                  VP                  RV 24      V4       RRR4       K  	  K  	  R#   + '       g   i     K  ; i)r'   YGz%Fz
1900-01-01FC)r  	specifierGC02d04dFz-01-01r  N))r'   r   )1   r4  )F   r   )c   r   )r  r4  )i  r   )r  r   )r    r   )	r*  r'   r'   r   r   r   r   r'   r   )r  r  r^  ri  r*   )r+   dataset
specifiersr  g_offsetr  r  rh  s   &       r,   test_strftime_y2kTestDate.test_strftime_y2k  s    	
 
>>$ >?<O$J%ND'	\\t\AAdAq1A C'( C'&*ck#%6&*3Z$+$&1H$$QZZ!I;%@(K BA ( &AAAs   A.C	C!c           	     R   V P                   p. ROpV! V!  pV P                  VP                  4       V4       V P                  \        P                  ! V4      V4       Rp\	        V4       Ff  w  pw  rgVR,          pWxV&   V! V!  p	V P                  VP                  ! R/ Wg/B V	4       V P                  \        P                  ! V3/ Wg/B V	4       Kh  	  V! R^^4      pV P                  \        VP                  RR7       V P                  \        \        P                  VRR7       R# )	r'   NNNr  r(  r  Nr  )r  r  r  r   r-  r  r`   ri  r*   r9  rM  	enumerater   r  
r+   clsr   basechangesr  rF   newvalnewargsrh  s
   &         r,   test_replaceTestDate.test_replace1  s   mmDz.d+T2 "+7!3A~1gGAJG}HT\\;TN;XFT\\$A4.A8L "4 4B*dll>*dllDtDr/   c                  a   ! V 3R  lRS P                   4      pV! R^^4      pRVP                  RR7      3R\        P                  ! VRR7      3.pV F  w  rES P                  V4      ;_uu_ 4        S P	                  \        V4      V4       S P                  VP                  R4       S P                  VP                  ^4       S P                  VP                  ^4       RRR4       K  	  R#   + '       g   i     K  ; i)c                   .   <a  ] tR tRt o V3R ltRtV tR# )4TestDate.test_subclass_replace.<locals>.DateSubclassiH  c                V   < SP                   P                  ! V .VO5/ VB p^Vn        V# r  ri  r   r  r4  r   kwargsresultr+   s   &*, r,   r   <TestDate.test_subclass_replace.<locals>.DateSubclass.__new__I  -    ..sDTDVD r/   r`   NrL   ra   rb   rc   r   rd   re   rg   r+   s   @r,   rX  r=  H        r/   rX    self.replace  r-  copy.replaceN)
ri  r9  rM  r^  r2   r   r*   r  r  r  )r+   rX  r~   r|  rF   r  s   f     r,   test_subclass_replaceTestDate.test_subclass_replaceG  s    	4== 	 $1% RZZTZ23T\\"489


 $IDd##d3i6  40  A.  A.	 $# $###s   2A0C00Dc                  a   ! V 3R  lRS P                   4      pRpS P                   ! V!  pV! V/ R^/B pS P                  VP                  V4       S P                  VP                  ^*4       S P                  VP                  ^4       S P                  VP                  4       VP                  4       4       S P                  VP                  R4      VP                  VP                  ,           ^,
          4       R# )c                   8   <a  ] tR tRt o ^*tV3R ltR tRtV tR# )&TestDate.test_subclass_date.<locals>.Ci^  c                   < VP                  4       pVP                  R 4      pSP                  P                  ! V .VO5/ VB pWEn        V# r  rM  popri  r   r  r4  r   kwstempr  rC  r+   s   &*,   r,   r   .TestDate.test_subclass_date.<locals>.C.__new__a  D    xxz)..sBTBTB$r/   c                H    WP                   ,           V P                  ,           # r1   )r  r  r+   starts   &&r,   newmeth.TestDate.test_subclass_date.<locals>.C.newmethh  s    yy(4::55r/   r`   N	rL   ra   rb   rc   	theAnswerr   r^  rd   re   rG  s   @r,   r  rQ  ^  s     I6 6r/   r  r  Nr  r     rX   )	ri  r*   rK   ra  r  r  r^  r  r  r+   r  r   r   r  s   f    r,   rj  TestDate.test_subclass_date\  s    	6 	6 mmT"&'1&*+A&#--/:R#((SYY*>*BCr/   c           	     l  a   ! V 3R  lRS P                   4      pR	pRpRpV! V!  pS P                  WQ4       S P                  VP                  ^4       \        P
                  ! V\        ^ 4      4      P                  4       pRV33RV33RV33.pV F  w  rW3 F  p
S P                  \        V
4      VR7      ;_uu_ 4        \        W4      pV! V	!  pS P                  W4       S P                  W4       S P                  VP                  ^4       RRR4       K  	  K  	  R#   + '       g   i     K  ; i)
c                   .   <a  ] tR tRt o V3R ltRtV tR# )CTestDate.test_subclass_alternate_constructors.<locals>.DateSubclassix  c                V   < SP                   P                  ! V .VO5/ VB p^Vn        V# r?  r@  rA  s   &*, r,   r   KTestDate.test_subclass_alternate_constructors.<locals>.DateSubclass.__new__y  -    ..sDTDVD r/   r`   NrF  rG  s   @r,   rX  rh  x        r/   rX  i( z
2003-04-14r  rS  fromisoformatbase_obj_typeconstr_nameNrb  )ri  r   r*   r  r   combiner   	timestampr^  r   getattr)r+   rX  r   d_ordd_isoformatbase_drT  r|  rp  constr_argsbase_objconstrr~   s   f            r,   $test_subclass_alternate_constructors-TestDate.test_subclass_alternate_constructorsv  s7   	4== 	 "t$f3q) fd1g.88: UH%re${n-

 )3$K)2\\X.9 " ; ;$X;F-B ))"; $$R0 $$RXXq1; ; 3 )3; ; ;s    AD"	"D3c                    Rp\        V!  p\         FX  w  r4pVP                  W%4      pVP                  V4      pV P	                  W'4       V P                  \        V\         4      4       KZ  	  R# r  )r  r   r   r   r*   r@  rn   r  s   &       r,   test_pickling_subclass_date$TestDate.test_pickling_subclass_date  s]    T")7%GMM$.Eooe,GT+OOJw=>	 *8r/   c           
        R p\        V P                  \        4      '       g
   VR,          pR F@  pV P                  \        V P                  VR,          V,           VR,          ,           4       KB  	  \        V P                  \        4      '       dT   V P                  \        R4      ;_uu_ 4        V P                  \        ^.\        V4      ,          4      R4       RRR4       \        ^^4       F:  pV P                  VR,          \        V.4      ,           VR,          ,           4       K<  	  R#   + '       g   i     L\; i)s
   1995-03-25:Nr  N:Nr  Nr   NN^bad tzinfo state arg$r   N)   9          )	r  ri  r   r   r   r  bytesr  r  )r+   r5  
month_byteord_bytes   &   r,   test_backdoor_resistance!TestDate.test_backdoor_resistance  s     $--228D5Ji)-bJ)>b)IK 6 dmmX..''	3KLLeQC#d)O4e< M aH MM$r(UH:%66bAB	 % MLs   0-D11E	c           
     .   \         P                  ! R 4      p. ROpV F\  pV P                  V4      ;_uu_ 4        V P                  \        V4      ;_uu_ 4        V P
                  ! V!   RRR4       RRR4       K^  	  V P                  \        4      ;_uu_ 4       pV P                  R^^ 4       RRR4       V P                  R\        XP                  4      4       R#   + '       g   i     L|; i  + '       g   i     K  ; i  + '       g   i     L^; i)z/(year|month|day) must be in \d+\.\.\d+, not \d+rv  Nz6day 32 must be in range 1..31 for month 1 in year 2009))rv     r'   )rv  r   r'   )r  r$  r  )r   r$  r  
recompiler^  r  r  ri  r   r:   r   	exceptionr+   patternr|  caser  s   &    r,   test_valuerror_messages TestDate.test_valuerror_messages  s    **>


 Dd##++J@@MM4( A $#  z**cMM$2& +NQTUXUbUbQcd A@ $##
 +*s/   C0C)C0DC-(C00DD	c                B   . ROpV F  pV P                   ! V!  pVP                  4       pV P                  VR7      ;_uu_ 4        V P                   P                  VP                  4       4      pV P	                  W54       RRR4       K  	  R#   + '       g   i     K  ; i)r'   )dt_strN)r'   r'   r'   )r  r  rc  r*  r'   r'   )r  r  rt  r  r
  r$  )r  r  r   i  r?  r  ri  r  r^  rm  r*   )r+   
base_datesdt_tupler~   r  dt_rts   &     r,   test_fromisoformatTestDate.test_fromisoformat  s{    

 #H)B\\^FV,,33BLLNC  + -, # -,,s   ;BBc                   R V P                  ^^^4      3RV P                  R^^4      3RV P                  R^^4      3RV P                  R^^4      3RV P                  ^^^4      3RV P                  R^^4      3R	V P                  R^^4      3R
V P                  R^^4      3RV P                  R^^4      3RV P                  R^^4      3RV P                  R^^4      3RV P                  R^^4      3RV P                  R^^4      3RV P                  R^^4      3RV P                  R^^4      3RV P                  R^^4      3RV P                  R^^4      3RV P                  R^^4      3RV P                  R^^4      3RV P                  R^^4      3RV P                  R^^4      3RV P                  R^^4      3RV P                  R^^4      3RV P                  R ^^4      3R!V P                  R ^^4      3R"V P                  R#^^4      3.pV FT  w  r#V P                  VR$7      ;_uu_ 4        V P                   P                  V4      pV P                  WC4       R%R%R%4       KV  	  R%#   + '       g   i     Kk  ; i)&0001010120000101r  20250102  99991231r(   z
0001-01-01z
2000-01-01
2025-01-02z
9999-12-312025W01  z2025-W012025W014z
2025-W01-42026W01z2026-W012026W013z
2026-W01-32022W52  z2022-W522022W527r  z
2022-W52-72015W534r  z
2015-W53-4z
2015-W53-5  2020W531r  z
2020-W53-1z
2020-W53-6  	input_strN)ri  r^  rm  r*   r+   examplesr  rh  actuals   &    r,    test_fromisoformat_date_examples)TestDate.test_fromisoformat_date_examples  s   q!Q/0tQ23tQ23tR454==Aq124==q!454==q!454==r267dB34tR45tQ234==q!45dB34tR45tR454==r267dB34tR45tQ234==q!45tR454==r2674==q!45tR454==r2674==q!455
: $,I	2244Y?  2 32 $,222s   ,-I''I8c                     ! R  RV P                   4      pV! R^^4      pVP                  VP                  4       4      pV P                  W14       R# )c                       ] tR tRtRtR# ):TestDate.test_fromisoformat_subclass.<locals>.DateSubclassi  r`   Nr  r`   r/   r,   rX  r    rY  r/   rX  r   N)ri  rm  r  r   )r+   rX  r~   r  s   &   r,   test_fromisoformat_subclass$TestDate.test_fromisoformat_subclass  sF    	4== 	 $B'**2<<>:e2r/   c                    . ROpV FD  pV P                  \        4      ;_uu_ 4        V P                  P                  V4       RRR4       KF  	  R#   + '       g   i     K[  ; i)r#  N)r#  r1  z	009-03-04	123456789z
200a-12-04z
2009-1a-04z
2009-12-0az
2009-01-32z
2009-02-29z
2019-W53-1z
2020-W54-1z
0000-W25-1z10000-W25-1z
2020-W25-0z
2020-W25-8u   ٢025-03-0920090228)r   r  ri  rm  r+   bad_strsbad_strs   &  r,   test_fromisoformat_fails!TestDate.test_fromisoformat_fails  sJ    
(  G"":..++G4 /.  ...s   AA"c                    R R\         P                  ! R4      .pV FD  pV P                  \        4      ;_uu_ 4        V P                  P                  V4       RRR4       KF  	  R#   + '       g   i     K[  ; i)s
   2009-03-01Nz
2009-03-01ioStringIOr   r   ri  rm  r+   	bad_typesbad_types   &  r,   "test_fromisoformat_fails_typeerror+TestDate.test_fromisoformat_fails_typeerror5  sV    "D"++l*CD	!H""9--++H5 .- "---   A&&A7c                Z   RRRRRRR	R
RRRRR\         ^^3\        ^^3.pV Fq  pV P                  VR7      ;_uu_ 4        V P                  ! V!  pVP	                  4       pV P                  P
                  ! V!  pV P                  W54       RRR4       Ks  	  R#   + '       g   i     K  ; i)r  )	datecompsN)r  r  r   )r  r'   r  )i  r$  r  )r   r'   r  )rv  r$  r  r  )r*  r$  r  )r  r'   r'   )r  r$  r  ru  )r  r$  r  r  )r(   r$  r  )r   r   r^  ri  rz  fromisocalendarr*   )r+   datesr  dobjisocald_roundtrips   &     r,   test_fromisocalendarTestDate.test_fromisocalendar<  s     aOb"
$ I	22}}i0))+"mm;;VD  3 32 222s   ABB*c           
     4   . ROpV Ff  pV P                  VR7      ;_uu_ 4        V P                  \        4      ;_uu_ 4        V P                  P                  ! V!   RRR4       RRR4       Kh  	  R#   + '       g   i     L; i  + '       g   i     K  ; i)r  r  N))r  r   r'   )r  r4  r'   )r  6   r'   )r  r'   r   )r  r'   r4  )r  r'      )r  rx  r'   )r  r'   r'   )r   r'   r'   )i r'   r'   )        r'   r'   )r  r  r'   )r  r'   r  )r^  r   r  ri  r  )r+   isocalsr  s   &  r,   !test_fromisocalendar_value_errors*TestDate.test_fromisocalendar_value_errorsZ  si    
  FV,,&&z22MM116: 3 -, 22 -,,s#   BA3B3B>BBc           
        \         \        R  .p. pRp\        ^4       FA  pV F8  p\        V4      pV! Wd,          4      Wd&   VP	                  \        V4      4       K:  	  KC  	  V Ff  pV P                  VR7      ;_uu_ 4        V P                  \        4      ;_uu_ 4        V P                  P                  ! V!   RRR4       RRR4       Kh  	  R#   + '       g   i     L; i  + '       g   i     K  ; i)c                     R # r1   r`   )xs   &r,   rr  ;TestDate.test_fromisocalendar_type_errors.<locals>.<lambda>t  s    dr/   r  N)r  r'   r'   )r   r  r  listry  ro  r^  r   r   ri  r  )r+   err_txformersr  r5  r  txformererr_valr  s   &       r,    test_fromisocalendar_type_errors)TestDate.test_fromisocalendar_type_errorsp  s    
 qA)t*%gj1
uW~. *  FV,,&&y11MM116: 2 -, 11 -,,s$   C$ C;C$C!C$$C5r`   N)6rL   ra   rb   rc   r   ri  r  r  r  r  r$  r+  r  r  r.  rU  r]  ra  rg  rl  r  r  r  r  r  r  r  r  r#  r  r  r  r  r  r  rB  r)  r9  rM  rj  rz  r}  r  r  r  r  r  r  r  r  r  r  rd   re   rf   s   @r,   r  r    s     H$&A-^A2B,$204dA	%&.
A:LG<	,$,L6@( T
 5:	?E-2C4%?N:4+
L>E,/*D4*2X?C4e(,(!3F35464<;,; ;r/   r  c                       ] tR tRt^tRtR# )SubclassDatetimei  r`   Nr  r`   r/   r,   r  r    r  r/   r  c                     a  ] tR tRt o ]tR tR tR tR t	R t
R tR tR	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR t]P8                  ! R4      R 4       tR t]P8                  ! R4      R 4       tR t R t!R t"R t#R  t$]%PL                  ! ]'PP                  R!8H  R"4      R# 4       t)]%PL                  ! ]'PP                  R!8H  R"4      R$ 4       t*R% t+R& t,R' t-].P^                  ! ]0R(7      R) 4       t1R* t2R+ t3R, t4R- t5R. t6R/ t7]P8                  ! R04      R1 4       t8R2 t9R3 t:R4 t;R5 t<R6 t=R7 t>R8 t?R9 t@R: tAR; tBR< tCR= tDR> tER? tFR@ tGRA tHRB tIRCtJV tKRD# )ETestDateTimei  c                   V P                  R ^^^^ 4      pV P                  VP                  R 4       V P                  VP                  ^4       V P                  VP                  ^4       V P                  VP
                  ^4       V P                  VP                  ^ 4       V P                  VP                  ^ 4       V P                  VP                  ^ 4       R# r  	ri  r*   r  r  r-  r  ry  rx  r  r}   s   & r,   r  "TestDateTime.test_basic_attributes  s    ]]4Ar1-$'1%#"%A&A&+r/   c           	        V P                  R ^^^^;^;R4      pV P                  VP                  R 4       V P                  VP                  ^4       V P                  VP                  ^4       V P                  VP
                  ^4       V P                  VP                  ^;4       V P                  VP                  ^;4       V P                  VP                  R4       R# )r  @  Nr  r}   s   & r,   test_basic_attributes_nonzero*TestDateTime.test_basic_attributes_nonzero  s     ]]4Ar2r48$'1%#"%B'B'.r/   c           
        V P                  ^^^^^^^4      V P                   P                  4       3 F  p\        V4      pV P                  VR4       VR,          p\	        V4      pV P                  W4       V P                  VP                  VP                  VP                  VP                  VP                  VP                  VP                  4      pV P                  W4       K  	  R# r  )ri  r   r   r  r   r*   r  r  r-  r  ry  rx  r  r  s   &   r,   r  TestDateTime.test_roundtrip  s    ==Aq!Q15==$$&(B RA!!![1"Aq'CR% --266 "BII "0C R%(r/   c                   V P                  ^^^^^^^{4      pV P                  VP                  4       R4       V P                  VP                  R4      R4       V P                  VP                  R4      R4       V P                  VP                  R4      R4       V P                  VP                  R4      R4       V P                  VP                  R	R
7      R4       V P                  VP                  RR
7      R4       V P                  VP                  RR
7      R4       V P                  VP                  RR
7      R4       V P                  VP                  RR
7      R4       V P                  VP                  RR
7      R4       V P                  VP                  RRR7      R4       V P                  \        VP                  RR
7       V P                  \        VP                  RR
7       V P                  \        V4      R4       V P                  ^^^^^^R\        P                  R7      pV P                  VP                  RR
7      R4       V P                  ^^^^^^R4      pV P                  VP                  RR
7      R4       V P                  ^^^^^^4      pV P                  VP                  RR
7      R4       V P                  VP                  RR
7      R4       V P                  VP                  RR
7      R4       V P                  ^^^4      pV P                  VP                  4       R4       V P                  VP                  R4      R4       V P                  VP                  R4      R4       V P                  \        V4      R4       \        \        ^R7      R4      pV P                  ^^^VR7      pV P                  VP                  4       R 4       R!# )"r'   z0001-02-03T04:05:01.000123rH   z0001-02-03 04:05:01.000123 z0001-02-03 04:05:01.000123r1  u   0001-02-0304:05:01.000123r   timespecz0001-02-03T04rm   z0001-02-03T04:05r  z0001-02-03T04:05:01r  z0001-02-03T04:05:01.000r  auto)sepr  z0001-02-03 04:05fooL@ r   z0001-02-03T04:05:01.999+00:00z0001-02-03T04:05:01.999z0001-02-03T04:05:01.000000z0002-03-02T00:00:00z0002-03-02 00:00:00r  XXXz0002-03-02T00:00:00+00:00:16N)
ri  r*   r  r   r  r   r   r3   ri   r   rE  s   &  r,   r  TestDateTime.test_isoformat  s9   MM!Q1aC0+GHS)+GHS)+GHV,.MNX.:	<g6Hi8:LMi8:OPn=?XYn=?[\f57STyACUV*akkEB*akkHEQ!=>MM!Q1aF8<<MHn=?^_MM!Q1aF3n=?XYMM!Q1a+f57LMn=?XYn=?[\MM!Q"+@AS)+@AS)+@AQ!672.6MM!Q"M-(FGr/   c                h   R \        ^R7      3R\        ^R7      3R\        ^^R7      3R\        ^^ ^R7      3R\        ^^^	RR	7      3.pRR\        P                  3R\        \        ^ 4      4      3.pTV UUUUu. uF)  w  r4R F  w  rVWS,           \        Wd,          4      3NK   	  K+  	  upppp,          pV P                  R^^^^%^	4      pRpV FB  w  rVP	                  V
R7      pW,           pV P                  V
R7      ;_uu_ 4        R
R
R
4       KD  	  R
# u uppppi   + '       g   i     Ka  ; i)05:00r   02:0006:27r  12:32:30rV  02:04:09.123456r  rX  N+00:00r  z2016-04-01T12:37:09r   tzir+  )-r4  )+r'   r   r   r3   ri  r9  r^  )r+   	tzoffsetstzinfosrh  r  prefixsigndt_baseexp_baseexp_tzr  r~   exps   &            r,   test_isoformat_timezone$TestDateTime.test_isoformat_timezone  s/   ia()ia()ia45RDE	1aV\ ]^
	 x||$x	!-.
 	 )
 ) 5  34 5 5 )
 	
 --aBA6("KF,B#C#&&& #
 '&&s   ;/D	D  D1c           	     V   V P                  R ^	^
^^^^{4      pV P                  VP                  R4      \        V4      4       V P	                  \
        R4      ;_uu_ 4        VP                  ^{4       RRR4        ! R RV P                   4      pV! R ^	^
^^^^{4      pV P                  VP                  R4      R4        ! R RV P                   4      pV! R ^	^
^^^^{4      pV P                  VP                  R4      \        V4      4       R F  pV P                  VP                  V4      VP                  V4      4       V P                  VP                  V4      VP                  V4      4       V P                  VP                  V4      R4       K  	  R#   + '       g   i     EL.; i)	r  r#  r  Nc                   &   a  ] tR tRt o R tRtV tR# )#TestDateTime.test_format.<locals>.Ai
	  c                    R # r  r`   r4   s   &r,   r  +TestDateTime.test_format.<locals>.A.__str__	  r  r/   r`   Nr  rf   s   @r,   r  r  
	  r  r/   r  c                   &   a  ] tR tRt o R tRtV tR# )#TestDateTime.test_format.<locals>.Bi	  c                    R # r  r`   r  s   &&r,   r  ,TestDateTime.test_format.<locals>.B.strftime	  r  r/   r`   Nr  rf   s   @r,   r  r"  	  r  r/   r  r  r  r  s   &      r,   r  TestDateTime.test_format	  s]   ]]4B1a5r*CG4##I/EFFMM# G	 	 dAr1aC(b)3/	 	 dAr1aC(b)3r73C R]]3/S1ABQ\\#.C0@AQ\\#.4# GFFs    FF(	c           	     F   ^ RI pV P                  R^^^^^^{4      pV P                  VP                  4       R4       V P                  R^^^^^^{4      pV P                  VP                  4       VP                  ! VP                  ! VP                  4       4      4      4       R# )r   Nr  zSat Mar  2 18:03:05 2002)r   ri  r*   r  rR  r  )r+   r   r   s   &  r,   test_more_ctimeTestDateTime.test_more_ctime	  s    MM$1b!Q4$>? MM$2r1a5DJJt{{1;;=/I$JKr/   c           	        V P                  R ^^^	^ ^ 4      pV P                  R ^^^
^ ^ 4      pV P                  R ^^^	^ ^ 4      pV P                  W4       V P                  W#8  4       V P                  \        ^^^^;^;R4      p\	        ^R7      pW,           pV P                  W!,
          V4       V P                  W8  4       R# )r  r  r  N)ri  r*   r@  r   r   )r+   r   r  dt3r  s   &    r,   test_tz_independent_comparing*TestDateTime.test_tz_independent_comparing/	  s    mmD!Q1a0mmD!QAq1mmD!Q1a0"	" mmGRRR@A&hB'	"r/   c                     ! R  R\         4      pV P                  R^^^ ^ ^ ^ V! ^R4      4      pV P                  \        VP                  R4       R# )c                   &   a  ] tR tRt o R tRtV tR# )DTestDateTime.test_strftime_with_bad_tzname_replace.<locals>.MyTzInfoiC	  c                0     ! R  R\         4      pV! R4      # )c                   &   a  ] tR tRt o R tRtV tR# )ZTestDateTime.test_strftime_with_bad_tzname_replace.<locals>.MyTzInfo.tzname.<locals>.MyStriE	  c                    R # r1   r`   )r+   r   s   &*r,   r9  bTestDateTime.test_strftime_with_bad_tzname_replace.<locals>.MyTzInfo.tzname.<locals>.MyStr.replaceF	  s    #r/   r`   N)rL   ra   rb   rc   r9  rd   re   rf   s   @r,   MyStrr2  E	  s     $ $r/   r5  rF   )r   )r+   r~   r5  s   && r,   r   KTestDateTime.test_strftime_with_bad_tzname_replace.<locals>.MyTzInfo.tznameD	  s    $C $ V}$r/   r`   N)rL   ra   rb   rc   r   rd   re   rf   s   @r,   MyTzInfor/  C	  s     % %r/   r7  r  rF   %ZN)ri   ri  r   r   r  )r+   r7  r   s   &  r,   %test_strftime_with_bad_tzname_replace2TestDateTime.test_strftime_with_bad_tzname_replaceA	  sI    	%{ 	% MM$1aAq(1f2EF)QZZ6r/   c                   V P                  \        ^^4       V P                  \        ^^4       V P                  \        V P                   \        ^,
          ^^4       V P                  \        V P                   \        ^,           ^^4       V P                  R^^4       V P                  R^^4       V P                  \        V P                   R^ ^4       V P                  \        V P                   R^^4       V P                  R^^4       V P                  R^^4       V P                  R^^4       V P                  \        V P                   R^^4       V P                  \        V P                   R^^4       V P                  \        V P                   R^^4       V P                  \        V P                   R^^4       V P                  \        V P                   R^^ 4       V P                  \        V P                   R^^ 4       V P                  R^^^ 4       V P                  R^^^4       V P                  \        V P                   R^^R4       V P                  \        V P                   R^^^4       V P                  R^^^^ 4       V P                  R^^^^;4       V P                  \        V P                   R^^^R4       V P                  \        V P                   R^^^^<4       V P                  R^^^^;^ 4       V P                  R^^^^;^;4       V P                  \        V P                   R^^^^;R4       V P                  \        V P                   R^^^^;^<4       V P                  R^^^^;^;^ 4       V P                  R^^^^;^;R4       V P                  \        V P                   R^^^^;^;R4	       V P                  \        V P                   R^^^^;^;R4	       V P                  \        V P                   R^^RR	7       V P                  \        V P                   R^^^R	7       V P                  \
        V P                   R^^^^;^;^ R
^4       R
# )r'   r  r  r'  r(  r)  r*  rW  r  foldNr4  )ri  r   r   r   r  r   r4   s   &r,   r+  +TestDateTime.test_bad_constructor_argumentsL	  s   gq!$gq!$*dmmWQY1E*dmmWQY1EdAq!dB"*dmmT1a@*dmmT2qAdAr"dAr"dAr"*dmmT1bA*dmmT1bA*dmmT1bA*dmmT1bA*dmmT1a@*dmmT1bAdAr1%dAr2&*dmmT1b"E*dmmT1b"EdAr2q)dAr2r**dmmT1b"bI*dmmT1b"bIdAr2r1-dAr2r2.*dmmT1b"b"M*dmmT1b"b"MdAr2r2q1dAr2r2v6*dmm2r2r2	7*dmm2r2r!	# 	*dmm2B 	 	0*dmm2A 	 	/ 	)T]]2r2r1dA	?r/   c                   V P                  R ^^^^^4      pV P                  R ^^^^^4      pV P                  W4       V P                  \        V4      \        V4      4       V^/p^W2&   V P                  \        V4      ^4       V P                  W1,          ^4       V P                  W2,          ^4       V P                  R^^^ ^^4      pV P                  R^^^ ^^4      pV P                  W4       V P                  \        V4      \        V4      4       V^/p^W2&   V P                  \        V4      ^4       V P                  W1,          ^4       V P                  W2,          ^4       R# r.  r/  r0  s   &   r,   r  TestDateTime.test_hash_equality	  s>   MM$BB3MM$BB3a$q'*!fS1%##MM$QQ3MM$QQ3a$q'*!fS1%##r/   c                D  aaa V P                  R ^^4      oV P                  R^^4      pSV,
          pV P                  VP                  R\        \	        RR ^4      4      ,           4       V P                  VP
                  ^ 4       V P                  VP                  ^ 4       V P                  R ^^^^4      o\        ^ ^ R4      p\        ^ R4      p\        ^4      o\        ^4      pV P                  SV,           V P                  R ^^^^4      4       V P                  VS,           V P                  R ^^^^4      4       V P                  S^
V,          ,           V P                  R ^^^^4      4       V P                  SV,
          V P                  R ^^^^4      4       V P                  V) S,           V P                  R ^^^^4      4       V P                  SV,
          SV) ,           4       V P                  S^V,          ,
          V P                  R ^^^^4      4       V P                  SS,           V P                  R ^^^^4      4       V P                  SS,
          V P                  R ^^^^4      4       V P                  SV,           V P                  R ^^	^^4      4       V P                  SV,
          V P                  R ^^^^4      4       V P                  S^4V,          ,           V P                  R^^^^4      4       V P                  S^4V,          ,
          V P                  R^^^^4      4       V P                  SV,           S,
          V4       V P                  SS,           S,
          S4       V P                  SV,           S,
          V4       V P                  SV,           S,
          V4       V P                  SV,
          S,
          V) 4       V P                  SS,
          S,
          S) 4       V P                  SV,
          S,
          V) 4       V P                  SV,
          S,
          V) 4       V P                  SSV,           ,
          V) 4       V P                  SSS,           ,
          S) 4       V P                  SSV,           ,
          V) 4       V P                  SSV,           ,
          V) 4       V P                  SSV,
          ,
          V4       V P                  SSS,
          ,
          S4       V P                  SSV,
          ,
          V4       V P                  SSV,
          ,
          V4       V P                  SVS,           V,           V,           ,           V P                  R ^^
^^^ R4      4       V P                  SVS,           V,           V,           ,           SV,           S,           V,           V,           4       V P                  SVS,           V,           V,           ,
          V P                  R ^^^^^;R4      4       V P                  SVS,           V,           V,           ,
          SV,
          S,
          V,
          V,
          4       R Fo  oV P                  \        VV3R l4       V P                  \        VV3R l4       V P                  \        VV3R	 l4       V P                  \        VV3R
 l4       Kq  	  V P                  \        VV3R l4       V P                  \        VV3R l4       V P                  \        VV3R l4       V P                  \        VV3R l4       V P                  \        VV3R l4       V P                  \        V3R l4       V P                  \        V3R l4       V P                  \        V3R l4       R# )r  r5  r  r  r  r(  r  c                     < S S,           # r1   r`   r  s   r,   rr  0TestDateTime.test_computations.<locals>.<lambda>	  r  r/   c                     < S S,
          # r1   r`   r  s   r,   rr  rC  	  r  r/   c                     < SS ,           # r1   r`   r  s   r,   rr  rC  	  r  r/   c                     < SS ,
          # r1   r`   r  s   r,   rr  rC  	  r  r/   c                     < SS ,
          # r1   r`   r<  s   r,   rr  rC  	  r=  r/   c                     < SS ,          # r1   r`   r<  s   r,   rr  rC  	  r=  r/   c                     < S S,          # r1   r`   r<  s   r,   rr  rC  	  r@  r/   c                     < SS ,          # r1   r`   r<  s   r,   rr  rC  	  rB  r/   c                     < S S,          # r1   r`   r<  s   r,   rr  rC  	  rD  r/   c                     < S S ,          # r1   r`   r  s   r,   rr  rC  	  rF  r/   c                     < S S ,          # r1   r`   r  s   r,   rr  rC  	  rH  r/   c                     < S S ,           # r1   r`   r  s   r,   rr  rC  	  rF  r/   NrJ  r  rK  )	r+   r  rL  millisecr  rM  r  r-  r  s	   &     @@@r,   r  TestDateTime.test_computations	  s   MM$2&MM$2&sFStT11E-F$FGq)**A.MM$1b!,Q4(D!l|T4==q!R#CD4==q!R#CDRWdmmD!Q1&EFT4==q!R#CD$DMM$1b!$DET1u9-RWdmmD!QA&FGS$--aB"BCS$--aB"BCT4==q!R#CDT4==q"b!#DERWdmmD!QA&FGRWdmmD!QA&FG!d(a.!c'Q,!d(a.!h,!+X6!d(a$/!c'Q-!d(a$/!h,!+hY7a$h$/a#g-a$h$/a(l+hY7a$h.a#g,a$h.a(l+X6dSj4/(:;tQB1dC	EdSj4/(:;H+t3x?	AdSj4/(:;tQB2vF	HdSj4/(:;H+t3x?	A Ai5i5i5i5	  	)_5)_5)_5)%56)%56)]3)^4)]3r/   c                   RpV P                   ! V!  p\         F9  w  r4pVP                  W%4      pVP                  V4      pV P	                  W'4       K;  	  V P	                  VP                  4       VP                  ^4      4       R# r  Nr  r  r     ;   r'      r  r  s   &       r,   r  TestDateTime.test_pickling	  sr    )}}d#)7%GMM$.Eooe,GT+ *8 	*D,>,>q,ABr/   c           	        V P                  R ^^^^0^%R4      p\        \        P                  ^,           4       F  p\        P                  ! W4      p\        P
                  ! V4      pV P                  VP                  R 4       V P                  VP                  ^4       V P                  VP                  ^4       K  	  R# )r  i N)
ri  r  r  HIGHEST_PROTOCOLr   r   r*   r  r  r-  )r+   r  r   r  r  s   &    r,   test_more_picklingTestDateTime.test_more_pickling	  s    MM$1b"b&9622Q67EQ&AQAQVVT*QWWa(QUUA& 8r/   c                    Rp\        V!  p\         FX  w  r4pVP                  W%4      pVP                  V4      pV P	                  W'4       V P                  \        V\         4      4       KZ  	  R# rR  )r  r   r   r   r*   r@  rn   r  s   &       r,   test_pickling_subclass_datetime,TestDateTime.test_pickling_subclass_datetime	  s^    )&)7%GMM$.Eooe,GT+OOJw0@AB	 *8r/   c                    . ROpRpV P                   ! V!  pV F+  p\         F  pV! VRR7      pV P                  Wc4       K   	  K-  	  R# )@   cdatetime
datetime
(S'\x07\xdf\x0b\x1b\x14;\x01\x00\x10\x00'
tR.r  r  N)r`  s#   cdatetime
datetime
(U
;  tR.s$   cdatetime
datetime
U
;  R.)r  r
  r  rT  rU  r'   rV  r  r  s   &      r,   r  !TestDateTime.test_compat_unpickle	  sL    	
 .==$'D%x8  3 & r/   c                   . ROpV P                   ! V!  pV P                   ! V!  pV P                  W#4       V P                  W#8*  4       V P                  W#8  4       V P                  W#8g  4       V P                  W#8  4       V P                  W#8  4       \	        \        V4      4       EF  pVR,          pW,          ^,           WT&   V P                   ! V!  pV P                  W#8  4       V P                  W28  4       V P                  W#8*  4       V P                  W28  4       V P                  W#8g  4       V P                  W28g  4       V P                  W#8H  4       V P                  W28H  4       V P                  W#8  4       V P                  W28  4       V P                  W#8  4       V P                  W28*  4       EK  	  R# )r  r,  N)r  r
  rt  rT  :      r  )ri  r*   r@  rA  r  r  )r+   r   r  r  r  r8  s   &     r,   test_more_compareTestDateTime.test_more_compare	
  sj    2]]D!]]D! !!"!!s4y!A1gG1GJ(BOOBG$OOBG$OOBH%OOBH%OOBH%OOBH%RX&RX&RW%RW%RX&RX& "r/   c                   V P                  VP                  VP                  4       V P                  VP                  VP                  4       V P                  VP
                  VP                  4       V P                  VP                  VP                  4       V P                  VP                  VP                  4       V P                  VP                  VP                  4       R # r1   )r*   r  r  r  r  r  r-  r  r  r  ry  r  rx  )r+   rh  r  s   &&&r,   verify_field_equality"TestDateTime.verify_field_equality*
  s    ))3884#))4))3773))3884#**5#**5r/   c                    ^ RI pVP                   ! 4       pVP                  ! V4      pV P                  P                  V4      pV P	                  W44       R# r   N)r   	localtimeri  rS  rh  r+   r   rT  rh  r  s   &    r,   rU  TestDateTime.test_fromtimestamp2
  s@    YY[>>"%mm))"-""81r/   c                d    ^ RI pV P                  P                  VP                   ! 4       R7       R# )r   N)rr  )r   ri  rS  )r+   r   s   & r,   test_fromtimestamp_keyword_arg+TestDateTime.test_fromtimestamp_keyword_arg:
  s"     	##diik#:r/   c                    ^ RI pVP                   ! 4       pVP                  ! V4      pV P                  \        4      ;_uu_ 4        V P                  P                  V4      pRRR4       V P                  VX4       R#   + '       g   i     L$; irk  )r   gmtimeassertWarnsr  ri  utcfromtimestamprh  rm  s   &    r,   test_utcfromtimestamp"TestDateTime.test_utcfromtimestamp@
  sa    YY[;;r?011--004C 2""8S1 21s   A==B	EST+05EDT,M3.2.0,M11.1.0c           	        V P                  R ^^4      pV P                  VP                  4       R4       V P                  R ^^^^^^4      pV P                  VP                  4       R4       V P                  R^^^^4      pVP                  ^R7      pV P                  V P                   P	                  VP                  4       4      V\        ^R7      ,
          4       V P                  V P                   P	                  VP                  4       4      V\        ^R7      ,           4       V P                  R^^^^4      pV P                  V P                   P	                  VP                  4       4      V4       V P                  ^^^4      V P                  R^^4      3 F?  p VP                  4       pV P                  V P                   P	                  V4      V4       KA  	  R#   \         d     KS  i ; i)r    g     @rI  r<  r   i'  N 6@)ri  r*   rr  r9  rS  r   r)  )r+   r   t0r  r  s   &    r,   test_timestamp_naive!TestDateTime.test_timestamp_naiveK
  s   MM$1%0MM$1aAq1;	= ]]4B2.ZZQZ44R\\^Dia00	244R\\^Dia00	2 MM$Aq"-44Q[[]CQG --!A&d2b(ABADKKM   !<!<Q!?C C ! s   GG.-G.c                   V P                  R ^^\        P                  R7      pV P                  VP	                  4       R4       V P                  R ^^^^^^\        P                  R7      pV P                  VP	                  4       R4       V P                  R ^^^^^^\        \        RR7      R4      R7      pV P                  VP	                  4       R4       R# )	r    r   r  r   r   Ng7  @r3  rz  )ri  r   r3   r*   rr  r   r  s   & r,   test_timestamp_aware!TestDateTime.test_timestamp_awareg
  s    MM$1X\\M:,MM$1aAqMF1	3MM$1aAq!))"*=u!E  G9	;r/   zMSK-03c                  a  V 3R  lpS P                   P                  V3 EF
  pV! ^ 4      pS P                  VP                  ^ 4       S P                  VP                  ^ 4       V! R4      p V! R
4      pS P                  VP                  ^;4       S P                  VP                  R4       V! R4      pS P                  Wc4       V! R4      pS P                  We4       V! R4      pS P                  Wc4       V! R4      pS P                  VP                  ^;4       S P                  VP                  R4       V! R4      pS P                  Wc4       V! R4      pS P                  Wd4       V! R4      pS P                  VP                  ^ 4       S P                  VP                  R4       V! R4      pS P                  VP                  ^4       S P                  VP                  ^ 4       V! R4      pS P                  VP                  ^ 4       S P                  VP                  R4       EK  	  R	#   \
         d     ELi ; i)c                     < SP                  \        4      ;_uu_ 4        SP                  P                  ! V / VB uuR R R 4       #   + '       g   i     R # ; ir1   )rt  r  ri  ru  )r   rB  r+   s   *,r,   ru  @TestDateTime.test_microsecond_rounding.<locals>.utcfromtimestampt
  s;    !!"455}}55tFvF 6555s   AA	gư>rW  g1E2>gHz>i# g<"2?gP?r5  Ngưg:0yEg1E2gHzr9  r8  )ri  rS  r*   rx  r  OSError)r+   ru  ftsr  r  	minus_oner   s   f      r,   r<  &TestDateTime.test_microsecond_roundingr
  s   	G MM//$&Cq6DT[[!,T--q1d)C8J	
   !1!126  !6!6?J  )J  .J  )L  2.  7D	AQ%D	AQ$JAQXXq)Q]]F3IAQXXq)Q]]A.FAQXXq)Q]]D1K&  s   -H11I ?I c                6   V P                  R 4      ;_uu_ 4        V P                  P                  P                  \        P
                  R7      pVP                  4       pV P                  VR4       RRR4       V P                  R4      ;_uu_ 4        V P                  P                  P                  \        P
                  ^ R7      pVP                  4       pV P                  VR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)zminimum UTCr   Nzmaximum UTCr   r  g  MBl w#o9 )	r^  ri  r   r9  r   r3   rr  r*   r   )r+   min_dtmin_tsmax_dtmax_tss   &    r,   test_timestamp_limits"TestDateTime.test_timestamp_limits
  s    \\-((]]&&..hll.CF%%'F V\2 ) \\-((]]&&..hll;< / >F%%'F V^4 )( )( )((s   AC4AD4D	D	c           
     2    V P                   P                  R4       V P                   P
                  \        ^R7      ,           pVP                  4       pV P                   P                  P                  ^ R7      pV P                   P                  \        ^R7      ,
          P                  4       \        ^^;^;R7      P                  4       ,           pRW!3RWC33 FV  w  rVpV P                  WVVR7      ;_uu_ 4        V P                   P                  V4      pV P                  W4       R	R	R	4       KX  	  R
V\        ^^R7      P                  4       ,
          3RV\        RR7      P                  4       ,
          3RV\        ^R7      P                  4       ,           3RV\        RR7      P                  4       ,           3.p	V	 Fo  w  rVV P                  WVR7      ;_uu_ 4        V P                  \        \        34      ;_uu_ 4        V P                   P                  V4       R	R	R	4       R	R	R	4       Kq  	  R	#   \        \        3 d    T P	                  R4        EL<i ; i  + '       g   i     EK  ; i  + '       g   i     L\; i  + '       g   i     K  ; i)r  Test not valid on this platformr  r  r   rV  minimummaximumrT  rh  NToo small by a littler7  Too small by a lotr  Too big by a littleToo big by a lotrT      )ri  rS  r  r)  rM   r   r   rr  r   r9  r  r^  r*   r   r  )
r+   r  r  r  r  	test_namerT  rh  r  r|  s
   &         r,   test_fromtimestamp_limits&TestDateTime.test_fromtimestamp_limits
  s   	=MM''
3 ""YA%66!!#""**q*9==$$yr'::EEG"b"=KKMN F+F+*
%YH iBB44R8  2 CB	*
 %fyar/J/X/X/Z&Z[!6I3,?,M,M,O#OP"FYA->-L-L-N$NO)*=*K*K*M!MN	

 (MIi//&&
M'BCC MM//3 D 0/ (; ' 	=MM;<	=  CBB DC 0//sA   H4 9-I$JI2J4"III/2J=JJc                   V P                  \        4      ;_uu_ 4         V P                  P                  R4       RRR4       V P                  P                  P                  \        P                  R7      pVP                  4       pV P                  P                  P                  ^ \        P                  R7      pVP                  4       pRW!P                  RR7      3RWCP                  RR7      33 F~  w  rVpV P                  WVVR7      ;_uu_ 4        V P                  \        4      ;_uu_ 4         V P                  P                  V4      pRRR4       V P                  XV4       RRR4       K  	  RV^,
          3R	V\!        R
R7      P#                  4       ,
          3RV^,           3RV\!        R
R7      P#                  4       ,           3.p
V
 F  w  rVV P                  WVR7      ;_uu_ 4        V P%                  \&        \
        34      ;_uu_ 4        V P                  \        4      ;_uu_ 4        V P                  P                  V4       RRR4       RRR4       RRR4       K  	  R#   \        \
        3 d    T P                  R4        ELWi ; i  + '       g   i     ELd; i  \        \
        3 d&   p	T P                  \        T	4      4        Rp	?	ELRp	?	ii ; i  + '       g   i     EL; i  + '       g   i     EK  ; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     EKr  ; i)r  r  Nr   r  r   r  r  r  r  r  r  r  r  r  r  r  )rt  r  ri  ru  r  r)  rM   r   r9  r   r3   rr  r   r^  r   r*   r   r  r   r  )r+   r  r  r  r  r  rT  rh  r  excr|  s   &          r,   test_utcfromtimestamp_limits)TestDateTime.test_utcfromtimestamp_limits
  s   011A..z: 2 ""**(,,*?!!#""**q*N!!# FNN$N$?@FNN$N$?@*
%YH iBB%%&8990!%!?!?!C :   2 CB	*
 %fqj1!6I3,?,M,M,O#OP"FQJ/)*=*K*K*M!MN	

 (MIi//&&
M'BCC))*<== 66r: > D 0/ (= ]+ A?@A 211( $]3 0c#h//0 :99 CBB( >= DC 0//s   JI-K73K#5J*
K71$L2L3LLL2-"JJJJJ'	*K ;KK#K  K##K4.	K77L	LLL/*L22Mc                n    R F.  pV P                  \        V P                  P                  V4       K0  	  R# rX  rZ  r[  s   & r,   r]  &TestDateTime.test_insane_fromtimestamp  r_  r/   c                    R FT  pV P                  \        4      ;_uu_ 4        V P                  \        V P                  P
                  V4       RRR4       KV  	  R#   + '       g   i     Kk  ; irX  )rt  r  r   r)  ri  ru  r[  s   & r,   test_insane_utcfromtimestamp)TestDateTime.test_insane_utcfromtimestamp  sQ    
 $F!!"455!!-1O1O"(* 65 $555s   ,AA.win32z*Windows doesn't accept negative timestampsc                <    V P                   P                  R4       R# )?N)ri  rS  r4   s   &r,   !test_negative_float_fromtimestamp.TestDateTime.test_negative_float_fromtimestamp  s     	##E*r/   c                    V P                  \        4      ;_uu_ 4        V P                  P                  R4      pRRR4       V P	                  XV P                  R^^^^;^:R4      4       R#   + '       g   i     L9; i)r  Ni  i~ r  )rt  r  ri  ru  r*   )r+   r  s   & r,   $test_negative_float_utcfromtimestamp1TestDateTime.test_negative_float_utcfromtimestamp  s[    011..u5A 2DMM$BBFKL 21s   A++A;	c                ,   ^ RI p\        ^R7      p\        ^4       F  pV P                  \        4      ;_uu_ 4        V P
                  P                  4       pRRR4       V P                  \        4      ;_uu_ 4        V P
                  P                  VP                   ! 4       4      pRRR4       \        XX,
          4      V8:  g   K   M	  V P                  \        XX,
          4      V4       R#   + '       g   i     L; i  + '       g   i     Ld; i)r   Nr  )
r   r   r  rt  r  ri  utcnowru  r  assertLessEqual)r+   r   	tolerancer&  from_nowfrom_timestamps   &     r,   test_utcnowTestDateTime.test_utcnow"  s     a(	1XE!!"455==//1 6 !!"455!%!?!?		!L 6>H,-:  	S(!:;YG 65 65s   C0<+D0D Dc           	     &   R pRp\         P                  ! V P                  VV4      pV P                  P                  W4      pV P	                  W44       V P                  \        V4      V P                  4       V P                  \        V4      V P                  4       . ROpV Fu  w  rV P                  WR7      ;_uu_ 4        \         P                  ! V P                  W4      pV P                  P                  W4      pV P	                  W44       RRR4       Kw  	  V P                  P                  pV P	                  V! RR4      P                  4       ^\        ,          4       V P	                  V! RR4      P                  4       R\        ,          4       V P	                  V! RR4      P                  4       \        ^^^R7      ) 4       RR\        P                  ) \        P                  ^ ,          33 F  w  rxV^ 8  d   R
p	V) p
MRp	Tp
\        V
^<,          ^<4      w  rRP                  WW4      pV! VR4      pV P	                  VP                  4       \        VR7      4       V P	                  VP                  4       V4       K  	  RRrV! W4      pV P	                  VP                  4       ^\         ,          ^"\        ,          ,           4       V P	                  VP                  4       R	4       V P	                  VP#                  V4      V4       V P	                  V! R	R4      P$                  R4       V P'                  \(        4      ;_uu_ 4        V! RR4       RRR4       V P'                  \(        4      ;_uu_ 4        V! RR4       RRR4       V P'                  \(        4      ;_uu_ 4        V! RR4       RRR4       R#   + '       g   i     EK3  ; i  + '       g   i     L; i  + '       g   i     Li; i  + '       g   i     R# ; i)z2004-12-01 13:02:47.197z%Y-%m-%d %H:%M:%S.%fr  N+0002%z-0002-00:02:01.000003rm   r  r  r   r  r  {}{:02d}{:02d} {}%z %Zr  	+1234 UTCr8  -2400-000z))u   2004-12-0113:02:47.197u   %Y-%m-%d%H:%M:%S.%f)u   200412-01 13:02:47.197u   %Y%m-%d %H:%M:%S.%f)u   2004-12-01 13:0247.197u   %Y-%m-%d %H:%M%S.%frW   r   r   r   GMT)	_strptime_strptime_datetime_datetimeri  r  r*   r2   r   r^  r   MINUTEr   r  r   r   r  r  r%  r  r   r   r  )r+   r  r  rh  r  r  r  	tzsecondsr   r  r  r   rm   dtstrr~   r  s   &               r,   r  TestDateTime.test_strptime3  s   *'889?Amm$$V4'd8ndmm4d3i/

 %NFV;;$@@AGQmm,,V<  /	 <; % ==))'40::<a&jI'40::<b6kJ'.88:q!!<<	

 #-j#(>>/5<<?!C"EI1}$*##GRK4NE'..tGLE%)BR\\^Yy-IJRYY[&1"E !'se!dR&[)@Ae,S)51 	%.55t<z**HWd,C*z**HVT,B*z**HS$,?**S <;;N +******s1   AO
O
O,0
O?OO)	,O<	?P	c                   V P                   P                  pV P                  \        4      ;_uu_ 4        V! R R4      pRRR4       V P                  R^^^^^4      pV P                  R^^^^^4      pV P                  R^^^ ^ ^ 4      pV P                  R^^^ ^ ^ 4      pRRRV3RRRV3RR	RV3R
RRV3RRRV3RRRV3RRRV3RRRV3RRRV3RRRV3.
pV FP  w  rrRV,           pV P	                  VV	V
VR7      ;_uu_ 4        V! W4      pV P                  W+VR7       RRR4       KR  	  R#   + '       g   i     L; i  + '       g   i     Kz  ; i)z01/02/3 04:05:06z%d/%m/%y %H:%M:%SNr  r  z1/02/03 4:5:6r  z01/2/03 4:5:6%Hz01/02/03 4:05:06%Mz01/02/03 04:5:06%Sz01/02/03 04:05:6r  z2/03 04am:05:06z%j/%y %I%p:%M:%S%Iz02/03 4am:05:06r  r  r  r  r  r  r  r  r  r  r  )ri  r  r   r  r^  r*   )r+   r  r  r   r  r*  dt4r  r  r  r  r  s   &           r,   r  'TestDateTime.test_strptime_single_digito  s    ==))z**13FGG + mmD!Q1a0mmD!Q1a0mmD!Q1a0mmD!RAq1?$7=?$7=%':C@%':C@%':C@$&8=$&8=9j#.:z3/:z3/
 /5*FF)F2FV%+%+%+  - - #62  f =- - /5) +*,- - -s   
D* D=*D:	=Er  c                   V P                  \        4      ;_uu_ 4        V P                  P                  R R4       RRR4       V P	                  \
        R4      ;_uu_ 4        V P                  P                  RR4       RRR4       V P                  \
        4      ;_uu_ 4        V P                  P                  RR4       RRR4       V P                  \
        4      ;_uu_ 4        V P                  P                  RR	4       RRR4       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     Lz; i  + '       g   i     R# ; i)
r  r  Nz.*day of month without a year.*z03-14.159265z%m-%d.%fz20-03-14.159265z%y-%m-%d.%fr  r  )r   r  ri  r  assertWarnsRegexr  r  r4   s   &r,   r  $TestDateTime.test_strptime_leap_year  s     z**MM""7G4 + ""#5#EG GMM"">:>G !!"455MM""#4mD 6!!"455MM""<< 65 +*G G 65555s/   D!D#D2%ED	D/	2E	E	c                    V P                  R ^^^^^!4      pV P                  VP                  4       R4       V P                  VP                  4       VP                  VP                  VP
                  VP                  VP                  VP                  VP                  4       VP                  4       \        VP                  ^^4      P                  4       ,
          ^,           R3	4       VP                  4       pV P                  VP                  VP                  4       V P                  VP                  VP                  4       V P                  VP                  VP
                  4       V P                  VP                  VP                  4       V P                  VP                   VP                  4       V P                  VP"                  VP                  4       V P                  VP$                  VP                  4       4       V P                  VP&                  VP                  4       \        VP                  ^^4      P                  4       ,
          ^,           4       V P                  VP(                  R4       R# )r  Nr4  )	r  r$  r  r  rr  !   r  r	  r4  )ri  r*   r  r  r  r-  r  ry  rx  rj  r  r   r  r  r  r  r  r  r  r  r  )r+   r   tts   &  r,   test_more_timetuple TestDateTime.test_more_timetuple  s   MM$B2r2(MN&&!''155&&!((AHH))+++-$qvvq!*<*F*F*HH1L		 [[]QVV,AGG,QUU+QVV,AHH-AHH-QYY[1Q[[]%)!&&!Q%7%A%A%C&DFG&H 	Ib)r/   c           	        V P                  R ^^^^^!^/4      pV P                  VP                  R4      R4       R
 F  w  w  r#p\        \	        ^W#R7      ) 4      pVP                  VR7      pV P                  VP                  R4      RV,           4       V P                  VP                  R4      RV,           4       K  	  R	# )r  z%m %d %y %f %S %M %H %jz12 31 04 000047 33 22 06 366)r   r  r  r   r  z-0200z%:zz-02:00:N)))r  {   z	33.000123))r  r   33)ri  r*   r  r   r   r9  )r+   r   r  r  r  r   s   &     r,   test_more_strftimeTestDateTime.test_more_strftime  s    MM$B2r26$=>$B	DFJGQQ91aIIJB			$AQZZ-w{;QZZ.	A>	 Gr/   c           	         V P                  R ^^^^^!^/4      pVP                  R4      pVP                  R4      pV P                  VP                  R4      R4       V P                  VP                  R4      RV RV 24       V P                  VP                  R4      V RV R24       V P                  VP                  R4      R4       V P                  VP                  R4      R4       V P                  VP                  R	4      RV RV 24       V P                  VP                  R
4      V RV R24       V P                  VP                  R4      V RV R24       V P                  VP                  R4      R4       V P                  VP                  R4      V RV 24       V P                  VP                  R4      R4       V P                  VP                  R4      V RV 24       V P                  VP                  R4      R4       V P                  VP                  R4      R4       V P                  VP                  R4      RV RV 24       V P                  VP                  R4      V RV R24       R# )r  z%cz%B   🐍u   💻%c🐍%B   💻u   %c💻%B🐍      u
   %c%Bu
   %c%Bu
   %c%B   u
   %c%B   u   %c%Br  z %c %Bz%c %B N                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          ri  r  r*   r+   r   s1s2s   &   r,   test_strftime_special"TestDateTime.test_strftime_special  sK   MM$B2r26ZZZZ 	L1<@$>?:bTQ[\^[_A`a$>?B4zRTQUU_A`aH-x8H-x8$676"VB49PQ$67B4vbT9PQ$67B4vbT9PQN3^D$67B4|B49PQ$>?A[\$BCtKcdfcgEhiD)40I.	:J/2bTB4AJ/B4r"RAr/   c           	         V P                  R ^^^^-^R4      pV P                  VP                  4       \        R ^^4      4       V P                  VP                  4       \        ^^-^R4      4       R# )r    N)ri  r*   r   r   r}   s   & r,   test_extractTestDateTime.test_extract  s\    ]]4Ar2q$7Dq!$45DRD$9:r/   c           	         \        R ^^4      p\        ^^-^R4      pV P                  R ^^^^-^R4      pV P                  P                  pV! W4      pV P	                  WS4       V! W!R7      pV P	                  WS4       V P	                  WP                  4       4       V P	                  W%P                  4       4       V P	                  WT! VP                  4       VP                  4       4      4       V P                  \        V4       V P                  \        WA4       V P                  \        WBV4       V P                  \        WAV^4       V P                  \        WAV^^4       V P                  \        VRR4       V P                  \        WAR4       V P                  \        VRV4       V! W\        P                  4      pV P                  VP                  \        P                  4       V! W\        P                  R7      pV P                  VP                  \        P                  4       \        4       pV! WR4      pV P	                  VP                  4       V4       V P	                  VP                  4       V4       R# )r  r  )r   r   r   r   r   N)r   r   ri  rq  r*   r   r   r   r3   r2   r   )r+   r  r   rh  rq  r~   s   &     r,   test_combineTestDateTime.test_combine  s   q!RD!==q!RQ=--''Q]&!$&GGI&GGI&WRWWY	:;)W-)W0)W3)WA6)WAq9)Wff=)W8)Wfa8 Q8<<(bii.Q(,,/bii.FR^A&A&r/   c           	     R   V P                   p. ROpV! V!  pV P                  VP                  4       V4       V P                  \        P                  ! V4      V4       Rp\	        V4       Ff  w  pw  rgVR,          pWxV&   V! V!  p	V P                  VP                  ! R/ Wg/B V	4       V P                  \        P                  ! V3/ Wg/B V	4       Kh  	  V! R^^4      pV P                  \        VP                  RR7       V P                  \        \        P                  VRR7       R# )	r'   r,  r  r(  r-  N)r'   r  r   r  r?  r  r  )r.  r/  r0  r  r?  ry  r  rx  r  r  r  r`   r1  r3  s
   &         r,   r9  TestDateTime.test_replace  s   mm$Dz.d+T2' "+7!3A~1gGAJG}HT\\;TN;XFT\\$A4.A8L "4 4B*dll>*dllDtDr/   EDT4c                R   V P                   P                  4       p\        ^,R4      pVP                  \	        \        RR7      R4      R7      pV P                  VP                  4       V4       V P                  \        VP                  W"4       V P                  \        VP                  V4       VP                  VR7      \        ^^,R7      ,           pV P                  VP                  V4      V4       V P                  VP                  VR7      V4        ! R R\        4      pV! 4       pV P                  \        VP                  V4       V P                  VP                  VR7      P                  V4      V4        ! R	 R
\        4      pV! 4       pV P                  \        VP                  V4        ! R R\        4      p	V	! 4       p
VP                  V
R7      pV P                  \        4      ;_uu_ 4        VP                  4        RRR4       R#   + '       g   i     R# ; i),   0044r   EDTr   r  r   c                   ,   a  ] tR tRt o R tR tRtV tR# )+TestDateTime.test_astimezone.<locals>.Bogusi(  c                    R # r1   r`   r}   s   &&r,   r   5TestDateTime.test_astimezone.<locals>.Bogus.utcoffset)      Dr/   c                    \        ^ 4      # r   r   r}   s   &&r,   r   /TestDateTime.test_astimezone.<locals>.Bogus.dst*  s    il2r/   r`   NrL   ra   rb   rc   r   r   rd   re   rf   s   @r,   Bogusr  (  s     022r/   r  c                   ,   a  ] tR tRt o R tR tRtV tR# )/TestDateTime.test_astimezone.<locals>.AlsoBogusi/  c                    \        ^ 4      # r
  r   r}   s   &&r,   r   9TestDateTime.test_astimezone.<locals>.AlsoBogus.utcoffset0  s    IaL%8r/   c                    R # r1   r`   r}   s   &&r,   r   3TestDateTime.test_astimezone.<locals>.AlsoBogus.dst1      dr/   r`   Nr  rf   s   @r,   	AlsoBogusr  /  s     8**r/   r  c                   ,   a  ] tR tRt o R tR tRtV tR# ),TestDateTime.test_astimezone.<locals>.Brokeni5  c                    ^# r  r`   r}   s   &&r,   r   6TestDateTime.test_astimezone.<locals>.Broken.utcoffset6  s    Ar/   c                    ^# r  r`   r}   s   &&r,   r   0TestDateTime.test_astimezone.<locals>.Broken.dst7      ar/   r`   Nr  rf   s   @r,   Brokenr  5  s     -''r/   r  NrY   )ri  r   ri   r9  r   r   r*   
astimezoner   r   r   r  )r+   r~   r  dt_utcdt_fr  bogr  alsobogr  broken	dt_brokens   &           r,   test_astimezoneTestDateTime.test_astimezone  s   ]] F#8IB,?#GH&1)R]]A9)R]]B7zzz#ia&DDq)40!,d3	3F 	3 g*bmmS93/::1=tD	+ 	+ +*bmmW=	(V 	( JJfJ-	y))  " *)))s   :HH&	c                  a   ! V 3R  lRS P                   4      pRpS P                   ! V!  pV! V/ R^/B pS P                  VP                  V4       S P                  VP                  ^*4       S P                  VP                  ^4       S P                  VP                  4       VP                  4       4       S P                  VP                  R4      VP                  VP                  ,           VP                  ,           ^,
          4       R# )c                   8   <a  ] tR tRt o ^*tV3R ltR tRtV tR# ).TestDateTime.test_subclass_datetime.<locals>.Ci?  c                   < VP                  4       pVP                  R 4      pSP                  P                  ! V .VO5/ VB pWEn        V# rS  rT  rV  s   &*,   r,   r   6TestDateTime.test_subclass_datetime.<locals>.C.__new__B  rZ  r/   c                j    WP                   ,           V P                  ,           V P                  ,           # r1   )r  r  rx  r\  s   &&r,   r^  6TestDateTime.test_subclass_datetime.<locals>.C.newmethI  s!    yy(4::5CCr/   r`   Nr`  rG  s   @r,   r  r)  ?  s     ID Dr/   r  r  N)r  r  rc  r$  r  )   rX   )
ri  r*   rK   ra  r  r  r^  r  r  rx  rd  s   f    r,   rt  #TestDateTime.test_subclass_datetime=  s    	D 	D 'mmT"&'1&*+A&#--/:R#((SYY*>*-**+578+9 	:r/   c                z  a   ! V 3R  lRS P                   4      pRpRpRpV! V!  pS P                  WQ4       S P                  VP                  ^4       VP	                  4       pRV3V3RV\
        P                  3VP                  \
        P                  4      3RV3V3RV3V3RVR3V3R	\        VR
,          !  \        VR,          !  3V3.pV F  w  rp
W3 F  pS P                  \        V4      VR7      ;_uu_ 4        \        W4      pVR8X  d.   S P                  \        4      ;_uu_ 4        V! V	!  pRRR4       MV! V	!  pS P                  XV4       S P                  W4       S P                  VP                  ^4       RRR4       K  	  K  	  R#   + '       g   i     La; i  + '       g   i     K  ; i)c                   .   <a  ] tR tRt o V3R ltRtV tR# )TTestDateTime.test_subclass_alternate_constructors_datetime.<locals>.DateTimeSubclassiZ  c                V   < SP                   P                  ! V .VO5/ VB p^Vn        V# r?  r@  rA  s   &*, r,   r   \TestDateTime.test_subclass_alternate_constructors_datetime.<locals>.DateTimeSubclass.__new__[  rk  r/   r`   NrF  rG  s   @r,   ro  r2  Z  rl  r/   ro  z2003-04-14T12:30:15.123456gh͏TMArS  ru  rm  r  z%Y-%m-%dT%H:%M:%S.%frq  :r   r   Nr  rn  N)r  r  rc  r$  r     r  )ri  r   r*   r  rr  r   r3   r  r   r   r^  r   rs  rt  r  )r+   ro  r   ru  utc_tsrv  rT  r|  rp  rw  rh  rx  constructorr~   s   f             r,   -test_subclass_alternate_constructors_datetime:TestDateTime.test_subclass_alternate_constructors_datetimeX  s   	t}} 	 12"!4(f7q)  reV,r8<<0%00>@&F3{nf5+'=>GtCy)4b?;VD	

 3=.Kh-6\\X.9 " ; ;")("@K"&88!--.@AA!,k!:B BA )+6 ))".>? $$R2 $$RXXq1#; ; 7 3= BA; ; ;s%   ?0F)	/F6AF)	F&!F)	)F:c                @  a   ! V 3R  lRS P                   4      pRR/ 3RR/ 3RRR\        P                  /3RRR\        \        R
R7      R4      /3.pV F  w  r4pS P	                  V4      ;_uu_ 4        \        W4      pVR8X  d0   S P                  \        4      ;_uu_ 4        V! R/ VB pR	R	R	4       MV! R/ VB pS P                  XV4       S P                  VP                  ^4       R	R	R	4       K  	  R	#   + '       g   i     LL; i  + '       g   i     K  ; i)c                   .   <a  ] tR tRt o V3R ltRtV tR# )8TestDateTime.test_subclass_now.<locals>.DateTimeSubclassi  c                V   < SP                   P                  ! V .VO5/ VB p^Vn        V# r?  r@  rA  s   &*, r,   r   @TestDateTime.test_subclass_now.<locals>.DateTimeSubclass.__new__  rk  r/   r`   NrF  rG  s   @r,   ro  r<    rl  r/   ro  r   r  now_utcr   	now_fixedr   r   Nr3  r`   )ri  r   r3   r   r^  rs  rt  r  r   r*   r  )r+   ro  r|  rF   	meth_namerB  ry  r~   s   f       r,   test_subclass_nowTestDateTime.test_subclass_now  s	   	t}} 	 E2x$hll34%$1De(L!MN	

 (2#DVd## !1=())*<==#-f- >=  )&)B%%b*:;  1- $# (2 >= $##s$   30D#	C9,?D9D	DDc           	     D    ! R  RV P                   4      pV! R^^4      pV! R^^^R7      pRVP                  RR7      ^ 3RVP                  RR7      ^3R\        P                  ! VRR7      ^ 3R\        P                  ! VRR7      ^3.pV F|  w  rVpV P                  WWR7      ;_uu_ 4        V P	                  \        V4      V4       V P                  VP                  R4       V P                  VP                  V4       RRR4       K~  	  R#   + '       g   i     K  ; i)	c                       ] tR tRtRtR# )ATestDateTime.test_subclass_replace_fold.<locals>.DateTimeSubclassi  r`   Nr  r`   r/   r,   ro  rF    rY  r/   ro  rI  r<  rJ  rK  r-  rL  N)	ri  r9  rM  r^  r2   r   r*   r  r=  )r+   ro  r~   r  r|  rF   r  r=  s   &       r,   test_subclass_replace_fold'TestDateTime.test_subclass_replace_fold  s    	t}} 	 dAq)tQ2 RZZTZ2A6S[[d[3Q7T\\"48!<T\\#D91=	

  *ODtd..d3i)9:  40  40 /.  *...s   ,ADDc           
     4   \         P                  ! R 4      p. ROpV F\  pV P                  V4      ;_uu_ 4        V P                  \        V4      ;_uu_ 4        V P
                  ! V!   RRR4       RRR4       K^  	  V P                  \        4      ;_uu_ 4       pV P                  R^^ ^^ ^ 4       RRR4       V P                  R\        XP                  4      4       R#   + '       g   i     L; i  + '       g   i     K  ; i  + '       g   i     L^; i)B(year|month|day|hour|minute|second) must be in \d+\.\.\d+, not \d+rv  N6day 32 must be in range 1..30 for month 4 in year 2009))rv  r  r'   r$  r  Z   )rv  r  r'   r$  rL  -   )rv  r  r'      r  rM  )rv  r  r'   rL  r   r   )r(   r$  r  rL  r   r   r  r  s   &    r,   r  $TestDateTime.test_valuerror_messages  s    **)


 Dd##++J@@MM4( A $#  z**cMM$2r1a0 +NQTUXUbUbQcd A@ $##
 +*s/   C3C )C3D C0+C33DD	c                &   . ROp. R	OpRR.pR\         P                  \        \        R
R7      4      \        \        ^R7      4      .pV UUUu. uF,  pV F#  pV F  pV P                  ! . VOVO5RV/ NK  	  K%  	  K.  	  ppppV Fm  p	V Fd  p
V	P	                  V
R7      pV P                  VR7      ;_uu_ 4        V P                  P                  V4      pV P                  W4       RRR4       Kf  	  Ko  	  R# u upppi   + '       g   i     K  ; i)r'   r  rH  Nr   r   r   r  )r  r  r  r  )r   r   r   r   )r   r   r   ih )r   r   r   G )r$  r  rM  rT  r3  )r   r3   r   ri  r  r^  rm  r*   )r+   r  
base_times
separatorsr  
date_tuple
time_tupler  dtsr~   r   r  r  s   &            r,   test_fromisoformat_datetime(TestDateTime.test_fromisoformat_datetime  s   



 3Z
IB/0IA./1
 ",#!+:!+:!3 }}BjB:BcB " C!+ C!+ 	 #
 B!-\\\.. MM77>E$$R/ /. " # /..s   2C89-C?	?Dc                   V P                  R ^^^^^-R4      p\        ^R7      \        ^R7      \        ^^R7      \        ^^ ^R7      \        ^^^	RR7      .pY" Uu. uF  pR
V,          NK  	  up,          pR\        P                  \        \        ^ R7      4      .pYB Uu. uF  p\        V4      NK  	  up,          pV Fc  pVP	                  VR7      pVP                  4       pV P                  VR	7      ;_uu_ 4        V P                   P                  V4      pRRR4       Ke  	  R# u upi u upi   + '       g   i     K  ; i)r   pQ r   r  rV  r  rX  Nr   tstrr4  ri  r   r   r3   r9  r  r^  rm  )	r+   base_dtr  r  r  r  r~   r  r  s	   &        r,   test_fromisoformat_timezone(TestDateTime.test_fromisoformat_timezone  s   --b"b"b&A A	 2Ar*BB7Aq!&I	
	 		2	"b2gg	22	IA./1 	959RHRL955C,BLLNE5))33E: *)	  3
 6 *))s   D( D->D22Ec           
     8   . ROpV F{  pV P                  R^^^^;^/R4      pVP                  VR7      pV P                  VR7      ;_uu_ 4        V P                   P                  V4      pV P	                  W54       RRR4       K}  	  R#   + '       g   i     K  ; i)r  rZ  iu rQ  rR  N)	r  rH     u   ʁu   ᛇu   時r  r1  r  r+   rV  r   r~   r  r  s   &     r,   test_fromisoformat_separators*TestDateTime.test_fromisoformat_separators  s    

 CtQBB?BLLSL)EE**33E:  + +*	  +**s   -BBc                4   R R.pV Fy  pV P                  R^^^^4      pVP                  VR7      pV P                  VR7      ;_uu_ 4        V P                   P                  V4      pV P	                  W54       RRR4       K{  	  R#   + '       g   i     K  ; i)r  r  rZ  rQ  rR  Nr  rg  s   &     r,   test_fromisoformat_ambiguous)TestDateTime.test_fromisoformat_ambiguous   s    3Z
CtQB3BLLSL)EE**33E:  + +*	  +**s   -BBc                   R
R.pR\         P                  \        \        RR7      4      \        \        ^R7      4      \        \        ^^R7      4      .p. ROp\        V4       F  w  rEV F  pV F  pVR8X  d)   RV^,          R,          ,          pVR,          V3,           pV P                  ! V^ ^V,            RV/ p	V	P                  VR7      p
V P                  V
R	7      ;_uu_ 4        V P                  P                  V
4      pV P                  W4       RRR4       K  	  K  	  K  	  R#   + '       g   i     K  ; i)rv  Nr   r  r  r  :r   r  Nr   r  rR  )rv  r$  r  r     rM  r  )rv  r$  r  r  rn  rM  r   r3  r   rm   r  r  r  	r   r3   r   r2  ri  r  r^  rm  r*   )r+   datetime_basesr  	timespecsiprT  r  r  new_microsecondsr~   r  r  s   &           r,   test_fromisoformat_timespecs)TestDateTime.test_fromisoformat_timespecs+  s   ,') IB/0IA./IAr:;=
5	  	*FB .H^++/8A;$3F+G(#+C=4D3F#F!QV)=KsKBLL"L5EE22 $ ; ;E B((3 32 !/  + 322s   )-D,,D=c                \   \         P                  p\        \        ^R7      R4      p\        \        RiR7      R4      p\        \        RjR7      R4      p. RV P                  R^^^ ^ 4      3NRV P                  R^^^^ 4      3NRV P                  R^^^^4      3NR	V P                  R^^^^4      3NR
V P                  R^^^^^4      3NRV P                  R^^^^^4      3NRV P                  R^^^^^R4      3NRV P                  R^^^^^R4      3NRV P                  R^^^^^R4      3NRV P                  R^^^^^R4      3NRV P                  R^^^^^R4      3NRV P                  R^^^^^R4      3NRV P                  R^^^^^R4      3NRV P                  R^^^^^R4      3NRV P                  R^^^^^-R4      3NRV P                  R^^^^^-R4      3NRV P                  R^^^^^R4      3NRV P                  R^^^ ^ 4      3NRV P                  R^^^^ 4      3NRV P                  R^^^^4      3NR V P                  R^^^^^4      3NR!V P                  R^^^^^4      3NR"V P                  R^^^^^R4      3NR#V P                  R^^^^^R4      3NR$V P                  R^^^^^R4      3NR%V P                  R^^^^^R4      3NR&V P                  R^^^^^R4      3NR'V P                  R^^^^^R4      3NR(V P                  R^^^^^R4      3NR)V P                  R^^^^^R4      3NR*V P                  R+^^4      3NR,V P                  R+^^^^ 4      3NR-V P                  R.^^^^ 4      3NR/V P                  R^^^^ 4      3NR0V P                  R^^^^ 4      3NR1V P                  R2^^^^ 4      3NR3V P                  R^^^^ 4      3NR4V P                  R2^^^^ 4      3NR5V P                  R^^^^ 4      3NR6V P                  R^^^^^4      3NR7V P                  R^^^^4      3NR8V P                  R^^^^4      3NR9V P                  R.^^^^^;4      3NR:V P                  R.^^^^^;4      3NR;V P                  R^^^^^4      3NR<V P                  R^^^^^4      3NR=V P                  R^^^^^4      3NR>V P                  R?^^^^^4      3NR@V P                  R?^^^^^4      3NRAV P                  R^^^^^4      3NRBV P                  R^^^^^R4      3NRCV P                  R^^^^^4      3NRDV P                  R^^^^^RE4      3NRFV P                  R^^^^4      3NRGV P                  R^^^^4      3NRHV P                  R.^^^^^;4      3NRIV P                  R.^^^^^;RJ4      3NRKV P                  R2^^^^ VRL7      3NRMV P                  R^^^^^VRL7      3NRNV P                  R^^^^^VRL7      3NROV P                  R^^^^^RVRL7      3NRPV P                  RQ^^^ ^ \        \        ^R7      4      RL7      3NRRV P                  R^^^^^\        \        ^R7      4      RL7      3NRSV P                  R^^^^^\        \        RkR7      4      RL7      3NRTV P                  R^^^^^VRL7      3NRUV P                  R^^^^^\        \        ^R7      4      RL7      3NRVV P                  R^^^^^\        \        RkR7      4      RL7      3NRWV P                  RX^^^^^RYVRL7      3NRZV P                  RX^^^^^RYVRL7      3NR[V P                  RX^^^^^R\VRL7      3NR]V P                  RX^^^^^R\VRL7      3NR^V P                  R?^
^^^VRL7      3NR_V P                  R?^
^^^VRL7      3NR`V P                  R^^^^^RVRL7      3NRaV P                  R^^^^^R\        \        ^
Rb7      4      RL7      3NRcV P                  R^^^ ^ ^ 4      3NRdV P                  R^^^ ^ ^ 4      3NReV P                  Rf^^^ ^ ^ 4      3NpV FT  w  rgV P	                  VRg7      ;_uu_ 4        V P                  P                  V4      pV P                  W4       RhRhRh4       KV  	  Rh#   + '       g   i     Kk  ; i)lr'   r   BSTr   r  r  r  z2025-01-02T03z2025-01-02T03:04z2025-01-02T0304z2025-01-02T03:04:05z2025-01-02T030405z2025-01-02T03:04:05.6i'	 z2025-01-02T03:04:05,6z2025-01-02T03:04:05.678ipX
 z2025-01-02T03:04:05.678901[
 z2025-01-02T03:04:05,678901z2025-01-02T030405.678901z2025-01-02T030405,678901z2025-01-02T03:04:05.6789010z2009-04-19T03:15:45.2345rv  i z2009-04-19T03:15:45.1234567r  z2025-01-02T03:04:05,678r  20250102T03z20250102T03:04z20250102T03:04:0520250102T030405z20250102T03:04:05.6z20250102T03:04:05,6z20250102T03:04:05.678z20250102T03:04:05,678z20250102T03:04:05.678901z20250102T030405.678901z20250102T030405,678901z20250102T030405.67890102022W01r  
2022W525202022W527520r  
2026W015162026W013516
2025W01503r  2025W014503
2025W015122025W0145122025W014T1214312026W013T162100z2026W013 1621002022W527T202159z2022W527 202159z2025W014 1214312025W014T030405z2025W014 030405z2020-W53-6T03:04:05r  z2020W537 03:04:05z2025-W01-4T03:04:05z2025-W01-4T03:04:05.678901z2025-W01-4T12:14:31z2025-W01-4T12:14:31.012345i90  z2026-W01-3T16:21:00z2026-W01-3T16:21:00.000000z2022-W52-7T20:21:59z2022-W52-7T20:21:59.999999rW  z2025-W01003+00r   z2025-01-02T03:04:05+00z2025-01-02T03:04:05Zz!2025-01-02003:04:05,6+00:00:00.00z2000-01-01T00+21r  z2025-01-02T03:05:06+0300z2025-01-02T03:05:06-0300z2025-01-02T03:04:05+0000z2025-01-02T03:05:06+03z2025-01-02T03:05:06-03z 2020-01-01T03:05:07.123457-05:00r  iA z2020-01-01T03:05:07.123457-0500z 2020-06-01T04:05:06.111111-04:00i z2020-06-01T04:05:06.111111-0400z 2021-10-31T01:30:00.000000+01:00z2021-10-31T01:30:00.000000+0100z2025-01-02T03:04:05,6+000000.00z 2025-01-02T03:04:05,678+00:00:10r  z2025-01-02T24:00:00z2025-01-31T24:00:00z2025-12-31T24:00:00i  r  Nr3  rY   rV   )r   r3   r   ri  r^  rm  r*   )	r+   r   rx  r   r  r  r  rh  r  s	   &        r,   $test_fromisoformat_datetime_examples1TestDateTime.test_fromisoformat_datetime_examplesE  s   llyq)51yr*E2yr*E2}
4==q!Q:;}
dmmD!Q1=>}
  tQ1a!@A}
 dAq!Q ?@	}

 #DMM$1aA$FG}
 !$--aAq!"DE}
 %]]4Aq!Q79}
 %]]4Aq!Q79}
 ']]4Aq!Q79}
 *]]4Aq!Q79}
 *]]4Aq!Q79}
" (]]4Aq!Q79#}
& (]]4Aq!Q79'}
* +]]4Aq!Q79+}
. (]]4B2r6:</}
2 +]]4B2r6:<3}
6 ']]4Aq!Q797}
: tQ1a89;}
< DMM$1a;<=}
> t}}T1aA>??}
@ !$--aAq!"DEA}
B dAq!Q BCC}
D #]]4Aq!Q79E}
H #]]4Aq!Q79I}
L %]]4Aq!Q79M}
P %]]4Aq!Q79Q}
T (]]4Aq!Q79U}
X &]]4Aq!Q79Y}
\ &]]4Aq!Q79]}
` ']]4Aq!Q79a}
d dAq12e}
f 4==r2r1=>g}
h DMM$1b!<=i}
j 4==r2r1=>k}
l DMM$BA>?m}
n 4==r2q!<=o}
p DMM$1a;<q}
r 4==r2r1=>s}
t DMM$1b!<=u}
v dAq"b" EFw}
x dBB CDy}
z dBB CD{}
| dAq"b" EF}}
~ dAq"b" EF}
@ dAq"b" EFA}
B dAq!Q BCC}
D dAq!Q BCE}
F #DMM$1aA$FGG}
H !$--aAq!"DEI}
J #DMM$1aA$FGK}
L *]]4Aq!Q79M}
P #DMM$1b"b$IJQ}
R *]]4Ar2r59;S}
V #DMM$BB$GHW}
X *4==r2r2+NOY}
Z #]]4Ar2r24[}
^ *]]4Ar2r6:<_}
b ]]4RAc]:<c}
f &]]4Aq!Qs];=g}
j $]]4Aq!Qs];=k}
n 1]]4Aq!Qs]CEo}
r  ]]4Aq!HYR=P4Q]RTs}
v (]]4Aq!Q"*91+=">  @Aw}
| (]]4Aq!Q"*92+>"?  AB}}
B (]]4Aq!Qs];=C}
F &]]4Aq!Q"*91+=">  @AG}
L &]]4Aq!Q"*92+>"?  ABM}
R 0]]4Aq!Qs]CES}
V /]]4Aq!Qs]CEW}
Z 0]]4Aq!Qs]CE[}
^ /]]4Aq!Qs]CE_}
b 0]]4RBs];=c}
f /]]4RBs];=g}
j /]]4Aq!Qs]CEk}
n 0]]4Aq!Q"*9R+@"A  CDo}
t #DMM$1aA$FGu}
v #DMM$1aA$FGw}
x #DMM$1aA$FGy}
~ $,I	2244Y?  2 32 $,222s   -bb+c           
        . R NRNRNRNRNRNRNRNRNR	NR
NRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNR NR!NR"NR#NR$NpV Fg  pV P                  VR%7      ;_uu_ 4        V P                  \        4      ;_uu_ 4        V P                  P	                  V4       R&R&R&4       R&R&R&4       Ki  	  R&#   + '       g   i     L; i  + '       g   i     K  ; i)'r#  r1  z2009.04-19T03z2009-04.19T03z2009-04-19T0az2009-04-19T03:1a:45z2009-04-19T03:15:4az2009-04-19T03;15:45z2009-04-19T03:15;45z2009-04-19T03:15:4500:00z 2009-04-19T03:15:45.123456+24:30z 2009-04-19T03:15:45.123456-24:30u   2009-04-10ᛇᛇᛇᛇᛇ12:15u   2009-0410T12:15u   2009-04-10T1215z2009-04-19T1z2009-04-19T12:3z2009-04-19T12:30:4z2009-04-19T12:z2009-04-19T12:30:z2009-04-19T12:30:45.z2009-04-19T12:30:45.123456+z2009-04-19T12:30:45.123456-z!2009-04-19T12:30:45.123456-05:00az2009-04-19T12:30:45.123-05:00az2009-04-19T12:30:45-05:00az2009-04-19T24:00:00.000001z2009-04-19T24:00:01.000000z2009-04-19T24:01:00.000000z2009-04-32T24:00:00.000000z2009-13-01T24:00:00.000000z9999-12-31T24:00:00.000000z2009-04-19T12:30Z12:00z2009-04-19T12:30:45:334034z2009-04-19T12:30:45.400 +02:30z2009-04-19T12:30:45.400 z2009-04-19T12:30:45. 400r  Nr^  r   r  ri  rm  r  s   &  r,   !test_fromisoformat_fails_datetime.TestDateTime.test_fromisoformat_fails_datetime  s   &
&
&
 &
 	&

 &
 "&
 "&
 "&
 "&
 '&
 /&
 /&
 -&
 $&
 $&
  !&
" #&
$ !%&
& '&
(  )&
* #+&
, *-&
. */&
0 01&
2 -3&
4 )5&
6 )7&
8 )9&
: );&
< )=&
> )?&
@ )A&
B %C&
D )E&
F -G&
H 'I&
J 'K&
P  Gg..&&z22MM//8 3 /.  22 /..s$   ,C
B<&C<CCC c           
     V   \         P                  ! R 4      p. ROpV Fh  pV P                  VR7      ;_uu_ 4        V P                  \        V4      ;_uu_ 4        V P
                  P                  V4       RRR4       RRR4       Kj  	  V P                  \        4      ;_uu_ 4       pV P
                  P                  R4       RRR4       V P                  R\        XP                  4      4       R#   + '       g   i     L; i  + '       g   i     K  ; i  + '       g   i     L^; i)rJ  r  Nz2009-04-32T24:00:00rK  )z2009-04-01T12:30:90z2009-04-01T12:90:45z2009-04-01T25:30:45z2009-13-01T24:00:00z9999-12-31T24:00:00)r  r  r^  r  r  ri  rm  r   r:   r   r  )r+   r  r  r  r  s   &    r,   ,test_fromisoformat_fails_datetime_valueerror9TestDateTime.test_fromisoformat_fails_datetime_valueerror  s    **)

  Gg..++J@@MM//8 A /.   z**cMM''(=> +NQTUXUbUbQcd A@ /..
 +*s/   DC15D&D1D<DDD(	c                    R pV P                  \        \        P                  ! \	        V4      4      4      ;_uu_ 4        V P
                  P                  V4       RRR4       R#   + '       g   i     R# ; i)u   2018-01-0301:0113N)r  r  r  escaper   ri  rm  )r+   r  s   & r,   "test_fromisoformat_fails_surrogate/TestDateTime.test_fromisoformat_fails_surrogate  sK     *##J		$u+0FGGMM''. HGGGs   A$$A5	c                    R pV P                   P                  V4      pV P                  VP                  \        P
                  4       R# )z2014-04-19T13:21:13+00:00N)ri  rm  r2   r   r   r3   )r+   r  r~   s   &  r,   test_fromisoformat_utc#TestDateTime.test_fromisoformat_utc  s1    ,]]((0bii.r/   c                     ! R  RV P                   4      pV! R^^^	^^-R\        \        ^
^-R7      4      R7      pVP                  VP	                  4       4      pV P                  W#4       V P                  W14       R# )c                       ] tR tRtRtR# )BTestDateTime.test_fromisoformat_subclass.<locals>.DateTimeSubclassi#  r`   Nr  r`   r/   r,   ro  r  #  rY  r/   ro  r   i r  r   N)ri  r   r   rm  r  r*   r   )r+   ro  r~   r  s   &   r,   r  (TestDateTime.test_fromisoformat_subclass"  sp    	t}} 	 dBAr2v%-ib".M%NP !..r||~>#e6r/   c                    \        R ^^4      pV P                  \        V4      R4       \        R^
^
R7      pV P                  \        V4      R4       \        R^
^^R7      pV P                  \        V4      R4       R# )r   z"SubclassDatetime(2014, 1, 1, 0, 0)r   r  z$SubclassDatetime(2010, 10, 10, 0, 0)rx  z&SubclassDatetime(2010, 10, 2, 0, 0, 3)N)r  r*   r   r  s   & r,   r  TestDateTime.test_repr_subclass.  sm    dAq)b#GHdBB/b#IJdB!4b#KLr/   r`   N)LrL   ra   rb   rc   r   ri  r  r  r  r  r  r  r'  r+  r9  r+  r  r  r  rZ  r]  r  re  rh  rU  rp  rv  r   run_with_tzr|  r  r<  r  r  r  r]  r  unittestskipIfrJ   platformr  r  r  r  r  r   r  r  r  r  r  r  r  r  r9  r%  rt  r8  rB  rG  r  rZ  rb  rh  rk  ru  r  r  r  r  r  r  r  rd   re   rf   s   @r,   r  r    s    H,
/& *HX-<5:L #$	73?j$.B4HC'C4$'B62;2 34D 5D6	; "*2 #*2X5&%4N(;T&* __S\\W,.Z[+ \+
 __S\\W,.Z[M \M
H":@x >D $$.@A= B=*,	?B6;
 'DE4  # !#@:632j.81(e,!0F*2,"	,44G3R-9^e.//
7M Mr/   r  c                   T   a  ] tR tRt o ]t]P                  ! R4      R 4       tRt	V t
R# )TestSubclassDateTimei8  znot appropriate for subclassesc                    R # r1   r`   r4   s   &r,   r  #TestSubclassDateTime.test_roundtrip;  s    r/   r`   N)rL   ra   rb   rc   r  ri  r  skipr  rd   re   rf   s   @r,   r  r  8  s&     H]]34 5r/   r  c                       ] tR tRt^tRtR# )SubclassTimei?  r`   Nr  r`   r/   r,   r  r  ?  r  r/   r  c                      a  ] tR tRt o ]tR tR tR tR t	R t
R tR tR	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR t R t!Rt"V t#R# ) TestTimeiB  c                
   V P                  ^^ 4      pV P                  VP                  ^4       V P                  VP                  ^ 4       V P                  VP                  ^ 4       V P                  VP
                  ^ 4       R# )r$  Nri  r*   r  ry  rx  r  r  s   & r,   r  TestTime.test_basic_attributesF  sb    MM"a $1%1%*r/   c                   V P                  ^^;^;R4      pV P                  VP                  ^4       V P                  VP                  ^;4       V P                  VP                  ^;4       V P                  VP
                  R4       R# )r$  r  Nr  r  s   & r,   r  &TestTime.test_basic_attributes_nonzeroM  sh     MM"b"d+$2&2&-r/   c                L   V P                  ^^^^4      p\        V4      pV P                  VR4       VR,          p\        V4      pV P	                  W4       V P                  VP
                  VP                  VP                  VP                  4      pV P	                  W4       R# r  )	ri  r   r  r   r*   r  ry  rx  r  )r+   r   r  r  s   &   r,   r  TestTime.test_roundtripV  s    MM!Q1% Ga-bE!W ]]166188QXX==*r/   c                "  aa . ROpV P                   ! V!  oV P                   ! V!  pV P                  SV4       V P                  SV8*  4       V P                  SV8  4       V P                  SV8g  4       V P                  SV8  4       V P                  SV8  4       \	        \        V4      4       EF  pVR,          pW,          ^,           WC&   V P                   ! V!  pV P                  SV8  4       V P                  VS8  4       V P                  SV8*  4       V P                  VS8  4       V P                  SV8g  4       V P                  VS8g  4       V P                  SV8H  4       V P                  VS8H  4       V P                  SV8  4       V P                  VS8  4       V P                  SV8  4       V P                  VS8*  4       EK!  	  \         EF0  oV P                  SS8H  R4       V P                  SS8g  R4       V P                  SS8H  R4       V P                  SS8g  R4       V P                  \        VV3R l4       V P                  \        VV3R l4       V P                  \        VV3R l4       V P                  \        VV3R l4       V P                  \        VV3R l4       V P                  \        VV3R	 l4       V P                  \        VV3R
 l4       V P                  \        VV3R l4       EK3  	  R# )r'   r,  FTc                     < SS 8*  # r1   r`   r  s   r,   rr  )TestTime.test_comparing.<locals>.<lambda>  r  r/   c                     < SS 8  # r1   r`   r  s   r,   rr  r    r  r/   c                     < SS 8  # r1   r`   r  s   r,   rr  r    r  r/   c                     < SS 8  # r1   r`   r  s   r,   rr  r    r  r/   c                     < S S8*  # r1   r`   r  s   r,   rr  r    r  r/   c                     < S S8  # r1   r`   r  s   r,   rr  r    r  r/   c                     < S S8  # r1   r`   r  s   r,   rr  r    r  r/   c                     < S S8  # r1   r`   r  s   r,   rr  r    r  r/   Nr'   r  r   r  )	ri  r*   r@  rA  r  r  r  r   r   )r+   r   r  r  r8  r  r  s   &    @@r,   test_comparingTestTime.test_comparinge  ss   ]]D!]]D!R b!b!r"b!b!s4y!A1gG1GJ(BOOBG$OOBG$OOB"H%OOB"H%OOB"H%OOB"H%R2X&R2X&R"W%R"W%R2X&R2X& "" !jFR6\51R6\40Vr\51Vr\40i)=>i)<=i)<=i)=>i)=>i)<=i)<=i)=> !r/   c                ^   V P                  ^ ^ 4       V P                  ^^ 4       V P                  \        V P                   R^ 4       V P                  \        V P                   ^^ 4       V P                  ^^ 4       V P                  ^^;4       V P                  \        V P                   ^R4       V P                  \        V P                   ^^<4       V P                  ^^;^ 4       V P                  ^^;^;4       V P                  \        V P                   ^^;R4       V P                  \        V P                   ^^;^<4       V P                  ^^;^;^ 4       V P                  ^^;^;R4       V P                  \        V P                   ^^;^;R4       V P                  \        V P                   ^^;^;R4       R# )r   rW  r  Nr4  )ri  r   r  r4   s   &r,   r+  'TestTime.test_bad_constructor_arguments  sJ   ab!*dmmR;*dmmR;b!b"*dmmR<*dmmR<b"a b"b!*dmmRR@*dmmRR@b"b!$b"b&)*dmmRRD*dmmRRIr/   c                   V P                  ^^^4      pV P                  ^^^4      pV P                  W4       V P                  \        V4      \        V4      4       V^/p^W2&   V P                  \        V4      ^4       V P                  W1,          ^4       V P                  W2,          ^4       V P                  ^ ^^4      pV P                  ^ ^^4      pV P                  W4       V P                  \        V4      \        V4      4       V^/p^W2&   V P                  \        V4      ^4       V P                  W1,          ^4       V P                  W2,          ^4       R# )r  Nr/  r0  s   &   r,   r  TestTime.test_hash_equality  s&   MM"b"%MM"b"%a$q'*!fS1%##MM!a$MM!a$a$q'*!fS1%##r/   c                d	   V P                  ^^^^{4      pV P                  VP                  4       R4       V P                  VP                  4       \        V4      4       V P                  4       pV P                  VP                  4       R4       V P                  VP                  4       \        V4      4       V P                  ^R7      pV P                  VP                  4       R4       V P                  VP                  4       \        V4      4       V P                  ^
R7      pV P                  VP                  4       R4       V P                  VP                  4       \        V4      4       V P                  ^dR7      pV P                  VP                  4       R4       V P                  VP                  4       \        V4      4       V P                  RR7      pV P                  VP                  4       R4       V P                  VP                  4       \        V4      4       V P                  R	R7      pV P                  VP                  4       R
4       V P                  VP                  4       \        V4      4       V P                  RR7      pV P                  VP                  4       R4       V P                  VP                  4       \        V4      4       V P                  ^^"^8RR7      pV P                  VP                  RR7      R4       V P                  VP                  RR7      R4       V P                  VP                  RR7      R4       V P                  VP                  RR7      R4       V P                  VP                  RR7      R4       V P                  VP                  RR7      R4       V P	                  \
        VP                  RR7       V P	                  \
        VP                  RR7       V P                  ^^"^8RR7      pV P                  VP                  RR7      R4       V P                  ^^"^8^ R7      pV P                  VP                  RR7      R4       V P                  VP                  RR7      R 4       V P                  VP                  RR7      R4       R!# )"r  z04:05:01.00012300:00:00r  z00:00:00.000001z00:00:00.000010z00:00:00.000100r  z00:00:00.001000r  z00:00:00.010000順 z00:00:00.100000r  )r  ry  rx  r  r   r  12rm   z12:34r  z12:34:56r  z12:34:56.123r  z12:34:56.123456r  monkeyr1  r  z12:34:56.999z12:34:56.000z12:34:56.000000N)ri  r*   r  r   r   r  r  s   & r,   r  TestTime.test_isoformat  s   MM!Q3'(9:A/MMO
3A/MMaM((9:A/MMbM)(9:A/MMcM*(9:A/MMdM+(9:A/MMeM,(9:A/MMfM-(9:A/MMr"RVMLg6=i8'Bi8*En=~Nn=?PQf57HI*akkHE*akkHEMMr"RVMLn=~NMMr"RQMGn=~Nn=?PQf5zBr/   c                b   R \        ^R7      3R\        ^R7      3R\        ^^R7      3R\        ^^ ^R7      3R\        ^^^	RR	7      3.pRR\        P                  3R\        \        ^ 4      4      3.pTV UUUUu. uF)  w  r4R F  w  rVWS,           \        Wd,          4      3NK   	  K+  	  upppp,          pV P                  ^^%^	4      pRpV FB  w  rVP	                  V
R7      pW,           pV P                  V
R7      ;_uu_ 4        R
R
R
4       KD  	  R
# u uppppi   + '       g   i     Ka  ; i)r  r   r  r  r  r	  rV  r
  r  rX  Nr  z12:37:09r   r  r+  r  r  )r+   r  r  rh  r  r  r  t_baser  r  r  r   r  s   &            r,   r   TestTime.test_isoformat_timezone  s)   ia()ia()ia45RDE	1aV\ ]^
	 x||$x	!-.
 	 )
 ) 5  34 5 5 )
 	
 r2q)"KFc*A#C#&&& #
 '&&s   ;/DDD.c                n    V P                  ^R7      pV P                  \        VP                  ^R7       R# )r'   r  )r  N)ri  r   r   r  r  s   & r,   test_1653736TestTime.test_1653736  s+    MMM#)Q[[a8r/   c                   V P                  ^^^^4      pV P                  VP                  R4      R4       V P                  VP                  R4      R4        VP                  R4       VP                  RR7       R#   \         d     L!i ; i)	r'   z%H %M %S %fz01 02 03 000004r  r  u   %H%Mr  r  N)ri  r*   r  r  r  s   & r,   r  TestTime.test_strftime  s    MM!Q1%M24EF$56
C	JJ|$
 	


$
	 " 		s   A= =B
Bc                   V P                  ^^^^4      pVP                  R4      pVP                  R4      pV P                  VP                  R4      R4       V P                  VP                  R4      RV RV 24       V P                  VP                  R4      V RV R24       V P                  VP                  R4      R4       V P                  VP                  R4      R4       V P                  VP                  R	4      RV RV 24       V P                  VP                  R
4      V RV R24       V P                  VP                  R4      V RV R24       V P                  VP                  R4      R4       V P                  VP                  R4      V RV 24       V P                  VP                  R4      R4       V P                  VP                  R4      V RV 24       V P                  VP                  R4      R4       V P                  VP                  R4      R4       V P                  VP                  R4      RV RV 24       V P                  VP                  R4      V RV R24       R# )r'   z%I%p%Zz%Xr  u   💻%I%p%Z🐍%Xr  u   %I%p%Z💻%X🐍r  r  u   %I%p%Z%Xu   %I%p%Z%Xu   %I%p%Z%Xr  u   %I%p%Z%Xr  u   %I%p%Z%Xr  z
 %I%p%Z %Xz
%I%p%Z %X Nr  r  r  s   &   r,   r  TestTime.test_strftime_special#  sI   MM!Q1%ZZ!ZZ 	L1<@$BCzRTQUU_`b_cEde$BCt:VXUYYcEdeH-x8H-x8$:;vbTPRt=TU$:;t6"V=TU$:;t6"V=TUN3^D$:;t<PRt=TU$>?A[\$FGB4OghjgkIlmD)40I.	:N3r"Rt_EN3t2bT_Er/   c                D   V P                  ^^^^4      pV P                  VP                  R4      \        V4      4       V P	                  \
        R4      ;_uu_ 4        VP                  ^{4       RRR4        ! R RV P                   4      pV! ^^^^4      pV P                  VP                  R4      R4        ! R RV P                   4      pV! ^^^^4      pV P                  VP                  R4      \        V4      4       R F  pV P                  VP                  V4      VP                  V4      4       V P                  VP                  V4      VP                  V4      4       V P                  VP                  V4      R4       K  	  R#   + '       g   i     EL(; i)	r'   r#  r  Nc                   &   a  ] tR tRt o R tRtV tR# )TestTime.test_format.<locals>.AiF  c                    R # r  r`   r4   s   &r,   r  'TestTime.test_format.<locals>.A.__str__G  r  r/   r`   Nr  rf   s   @r,   r  r  F  r  r/   r  c                   &   a  ] tR tRt o R tRtV tR# )TestTime.test_format.<locals>.BiM  c                    R # r  r`   r  s   &&r,   r  (TestTime.test_format.<locals>.B.strftimeN  r  r/   r`   Nr  rf   s   @r,   r  r  M  r  r/   r  )z%H %M %Sr  )r+   r   r  r  r  r  r  s   &      r,   r  TestTime.test_format>  sE   MM!Q1%b)3q62##I/EFFLL G	 	 aAqMb)3/	 	 aAqMb)3q62CQ\\#.

3@Q\\#.

3@Q\\#.4	# GFFs   FF	c           
        V P                  \        V P                  ^^^^4      4      R4       V P                  \        V P                  ^
^^R4      4      R4       V P                  \        V P                  ^ ^^R4      4      R4       V P                  \        V P                  ^^^^ 4      4      R4       V P                  \        V P                  ^^^ ^ 4      4      R4       R# )	r'   z01:02:03.000004r2  z10:02:03.004000r  z00:02:03.400000z12:02:03z23:15:00N)r*   r   ri  r4   s   &r,   r   TestTime.test_strY  s    T]]1aA679JKT]]2q!T:;=NOT]]1aF;<>OPT]]2q!Q78*ET]]2r1a89:Fr/   c           
     H   R V P                   P                  ,           pV P                  \        V P                  ^^^^4      4      RV,          4       V P                  \        V P                  ^
^^R4      4      RV,          4       V P                  \        V P                  ^ ^^R4      4      RV,          4       V P                  \        V P                  ^^^^ 4      4      RV,          4       V P                  \        V P                  ^^^ ^ 4      4      RV,          4       R# )	r  z%s(1, 2, 3, 4)r2  z%s(10, 2, 3, 4000)r  z%s(0, 2, 3, 400000)z%s(12, 2, 3)z
%s(23, 15)Nr  r  s   & r,   r  TestTime.test_repr`  s    T]]333dmmAq!Q78)D0	2dmmB1d;<-4	6dmmAq!V<=.5	7dmmB1a89'$.	0dmmBAq9:%,	.r/   c                   \        ^R7      pV P                  \        V4      R4       \        ^^R7      pV P                  \        V4      R4       \        ^^^R7      pV P                  \        V4      R4       \        ^^^ R7      pV P                  \        V4      R4       \        ^^^R7      pV P                  \        V4      R	4       R
# )r'   r  zSubclassTime(1, 0))r  ry  zSubclassTime(2, 30))r  ry  rx  zSubclassTime(2, 30, 11))ry  rx  r=  zSubclassTime(0, 30, 11)zSubclassTime(0, 30, 11, fold=1)N)r  r*   r   r  s   & r,   r  TestTime.test_repr_subclassm  s    q!b#78q,b#89qB7b#<=BQ7b#<=BQ7b#DEr/   c                   V P                  V P                  P                  V P                  4       V P                  V P                  P                  V P                  4       V P                  V P                  P                  \
        4       V P                  V P                  P                  V P                  P                  8  4       R # r1   )r   ri  r   r   r"  r   r@  r4   s   &r,   r#  TestTime.test_resolution_infoz  s}    dmm//?dmm//?dmm66	B))DMM,=,==>r/   c                   RpV P                   ! V!  p\         F9  w  r4pVP                  W%4      pVP                  V4      pV P	                  W'4       K;  	  V P	                  VP                  4       VP                  ^4      4       R# rT  NrT  rU  rd  rV  r  r  s   &       r,   r  TestTime.test_pickling  sr     }}d#)7%GMM$.Eooe,GT+ *8 	*D,>,>q,ABr/   c                    Rp\        V!  p\         FX  w  r4pVP                  W%4      pVP                  V4      pV P	                  W'4       V P                  \        V\         4      4       KZ  	  R# r  )r  r   r   r   r*   r@  rn   r  s   &       r,   test_pickling_subclass_time$TestTime.test_pickling_subclass_time  s]     T")7%GMM$.Eooe,GT+OOJw=>	 *8r/   c           	        . ROp\        V4       Fc  w  pw  r4V P                  VR7      ;_uu_ 4        V P                  ! V!  p\         F  pV! VRR7      pV P	                  Wu4       K   	  RRR4       Ke  	  R#   + '       g   i     Kz  ; i),   cdatetime
time
(S'\x14;\x10\x00\x10\x00'
tR.)r  r  r  N))r  r  )s   cdatetime
time
(U;  tR.r  )s   cdatetime
time
U;  R.r  )s,   cdatetime
time
(S'\x14;\x19\x00\x10\x00'
tR.rT  rU  rN  rV  )s   cdatetime
time
(U;  tR.r  )s   cdatetime
time
U;  R.r  )r2  r^  ri  r  r*   )r+   rf  r  r  r   rh  r   r   s   &       r,   r  TestTime.test_compat_unpickle  su    
  )/OA|""==$/)E#D8<G$$W7 * #"  0"""s   9A99B
c                   V P                  ^^^/R4      RR3V P                  ^^^/R4      RR3V P                  ^^^/R4      RR3.pV Fz  w  r#pV P                  W4R7      ;_uu_ 4        V P                   P                  W44      pV P                  W%4       V P	                  \        V4      V P                   4       R	R	R	4       K|  	  R	#   + '       g   i     K  ; i)
r  i z13:02:47.197z%H:%M:%S.%fu   13:0247.197u   %H:%M%S.%fu   1302:47.197u   %H%M:%S.%fr  N)ri  r^  r  r*   r2   r   r  s   &     r,   r  TestTime.test_strptime  s     ]]2q"f-~}M]]2q"f-/BDVW]]2q"f-/BDVW

 )/$HfV;;mm,,V<  /d3i7 <; )/;;;s   'ACCc           
        V P                   P                  pV P                  V! R R4      P                  4       ^\        ,          4       V P                  V! RR4      P                  4       R\        ,          4       V P                  V! RR4      P                  4       \        ^^^R7      ) 4       RR\        P                  ) \        P                  ^ ,          33 F  w  r#V^ 8  d   RpV) pMRpTp\        V^<,          ^<4      w  rgRP                  WFWs4      pV P                  VR	7      ;_uu_ 4        V! VR
4      p	V P                  V	P                  4       \        VR7      4       V P                  V	P                  4       V4       V P                  \        V	4      V P                   4       RRR4       K  	  RR
rV! W4      p	V P                  V	P                  4       ^\        ,          ^"\        ,          ,           4       V P                  V	P                  4       R4       V P                  V	P                  V
4      V4       V P                  V! RR4      P                   R4       R#   + '       g   i     EK  ; i)r  r  r  r  r  r   r  r  r  r^  r  r  Nr  r8  rW   r  r  )ri  r  r*   r   r  r   r  r   r   r  r  r^  r2   r   r%  r  r   )r+   r  r  r   r  r  r   rm   r_  r   r  s   &          r,   test_strptime_tzTestTime.test_strptime_tz  s   ==))'40::<a&jI'40::<b6kJ'.88:q!!<<	

 #-j#(>>/5<<?!C"EI1}$*##GRK4NE&--d7KD4((T7+  	)0LM  V4d1gt}}5	 )("E"  cTT	BK(?@U+C$/ 	%.55t< )((s   1A9I$$I6c                    R FE  pV P                  \        4      ;_uu_ 4        V P                  P                  VR4       RRR4       KG  	  R#   + '       g   i     K\  ; i)r  r  N)r  r  r  )r   r  ri  r  )r+   tzstrs   & r,   test_strptime_errorsTestTime.test_strptime_errors  sC    +E"":..&&ud3 /. ,...s   AAc           	     R   V P                  ^^^4      pRRRV3RRRV3RRRV3RR	R
V3.pV Fc  w  r4rVRV,           pV P                  VVVVR7      ;_uu_ 4        V P                   P                  WE4      pV P                  WvVR7       RRR4       Ke  	  R#   + '       g   i     Kz  ; i)r  r  z4:05:06%H:%M:%Sr  z04:5:06r  z04:05:6r  z	4am:05:06z
%I%p:%M:%Sr  r  r  N)ri  r^  r  r*   )r+   r   r  r  r  r  r  r  s   &       r,   r  #TestTime.test_strptime_single_digit  s    MM!Q"9
a09
a09
a0;a0	
 /5*FF)F2FV%+%+%+  - - --00@  f =- - /5- - -s   /BB&c                <   V P                   pV P                  V! ^4      4       V P                  V! ^ ^4      4       V P                  V! ^ ^ ^4      4       V P                  V! ^ ^ ^ ^4      4       V P                  V! ^ 4      4       V P                  V! 4       4       R# r  )ri  r@  )r+   r4  s   & r,   rB  TestTime.test_bool  su    mmAAq	"Aq!%Aq!Q(Ar/   c           	        V P                   p. ROpV! V!  pV P                  VP                  4       V4       V P                  \        P                  ! V4      V4       R	p\	        V4       Ff  w  pw  rgVR,          pWxV&   V! V!  p	V P                  VP                  ! R
/ Wg/B V	4       V P                  \        P                  ! V3/ Wg/B V	4       Kh  	  V! ^4      pV P                  \        VP                  ^R7       V P                  \        VP                  RR7       V P                  \        VP                  ^dR7       V P                  \        VP                  RR7       V P                  \        \        P                  V^R7       V P                  \        \        P                  VRR7       V P                  \        \        P                  V^dR7       V P                  \        \        P                  VRR7       R# )r'   r,  r  ry  r  r  r  Nr  )r  r  r  r  r`   r4  r1  r3  s
   &         r,   r9  TestTime.test_replace  s   mmDz.d+T2' "+7!3A~1gGAJG}HT\\;TN;XFT\\$A4.A8L "4 1v*dll<*dll2>*dll3?*dllH*dllDrB*dllDD*dllDE*dllDgNr/   c           	       a   ! V 3R  lRS P                   4      pV! ^^4      pV! ^^^R7      pRVP                  ^
R7      ^ 3RVP                  ^
R7      ^3R\        P                  ! V^
R7      ^ 3R\        P                  ! V^
R7      ^3.pV F  w  rVpS P                  WWR7      ;_uu_ 4        S P	                  \        V4      V4       S P                  VP                  ^
4       S P                  VP                  ^4       S P                  VP                  ^4       S P                  VP                  V4       RRR4       K  	  R#   + '       g   i     K  ; i)c                   .   <a  ] tR tRt o V3R ltRtV tR# )4TestTime.test_subclass_replace.<locals>.TimeSubclassi  c                V   < SP                   P                  ! V .VO5/ VB p^Vn        V# r?  r@  rA  s   &*, r,   r   <TestTime.test_subclass_replace.<locals>.TimeSubclass.__new__  rE  r/   r`   NrF  rG  s   @r,   TimeSubclassr    rH  r/   r
  r<  rJ  r  rL  N)ri  r9  rM  r^  r2   r   r*   r  ry  r  r=  )r+   r
  r  ctime2r|  rF   r  r=  s   f       r,   rM  TestTime.test_subclass_replace  s!   	4== 	 R$b"1- U]]]3Q7V^^^4a8T\\%b91=T\\&r:A>	

  *ODtd..d3i6  2.  R0  A.  40 /.  *...s   .BEEc                  a   ! V 3R  lRS P                   4      pRpS P                   ! V!  pV! V/ R^/B pS P                  VP                  V4       S P                  VP                  ^*4       S P                  VP                  ^4       S P                  VP                  4       VP                  4       4       S P                  VP                  R4      VP                  VP                  ,           ^,
          4       R# )c                   8   <a  ] tR tRt o ^*tV3R ltR tRtV tR# )&TestTime.test_subclass_time.<locals>.Ci2  c                   < VP                  4       pVP                  R 4      pSP                  P                  ! V .VO5/ VB pWEn        V# rS  rT  rV  s   &*,   r,   r   .TestTime.test_subclass_time.<locals>.C.__new__5  rZ  r/   c                H    WP                   ,           V P                  ,           # r1   r  rx  r\  s   &&r,   r^  .TestTime.test_subclass_time.<locals>.C.newmeth<      yy(4;;66r/   r`   Nr`  rG  s   @r,   r  r  2       I7 7r/   r  r  N)r  r?  r  rX   )	ri  r*   rK   ra  r  r  r^  r  rx  rd  s   f    r,   test_subclass_timeTestTime.test_subclass_time0  s    	7 	7 mmT"&'1&*+A&#--/:R#((SZZ*?!*CDr/   c           
     `   R pRR\        ^4      R3 F1  pV P                  \        V P                  W!R,          ,           4       K3  	  V P	                  \        R4      ;_uu_ 4        V P                  \        ^.\        V4      ,          4      R4       RRR4       R#   + '       g   i     R# ; i)z2:59.0r  9   ÿr  r  r   N)chrr   r   ri  r  r  r  )r+   r5  	hour_bytes   &  r,   r  !TestTime.test_backdoor_resistanceJ  s    c3r7F2Ii)2"X)=? 3 ##I/GHHMM%c$i0%8 IHHHs   %-BB-	r`   N)$rL   ra   rb   rc   r   ri  r  r  r  r  r+  r  r  r  r  r  r  r  r   r  r  r#  r  r  r  r  r  r  r  rB  r9  rM  r  r  rd   re   rf   s   @r,   r  r  B  s     H+. )?VJ,$.2Ch,<9
 F656G.F?C?8,8"=H4
>$O:12E49 9r/   r  c                   >   a  ] tR tRt o R tR tR tR tR tRt	V t
R# )	
TZInfoBaseiW  c                   V P                   p ! R  R\        4      pV! ^^^V! 4       R7      pV\        J ;'       d    R;'       g    RpV P                  VP	                  4       V4       \        V\        J ;'       d    R;'       g    ^*R7      pV P                  VP                  4       V4       V P                  VP                  4       V4       R# )c                   0   a  ] tR tRt o R tR t]tRtV tR# )7TZInfoBase.test_argument_passing.<locals>.introspectivei\  c                .    T;'       d    R ;'       g    R# )realnoner`   r}   s   &&r,   r   >TZInfoBase.test_argument_passing.<locals>.introspective.tzname]  s    BMM6,C,CV%Cr/   c                B    \        T;'       d    ^*;'       g    RR7      # )r   rl   r   r}   s   &&r,   r   ATZInfoBase.test_argument_passing.<locals>.introspective.utcoffset^  s     299"+;+;<<r/   r`   N)	rL   ra   rb   rc   r   r   r   rd   re   rf   s   @r,   introspectiver#  \  s     C=Cr/   r+  r   r&  r%  rl   Nr)  )ri  r   r   r*   r   r   r   r   )r+   r4  r+  objrh  s   &    r,   test_argument_passing TZInfoBase.test_argument_passingY  s    mm	F 	 !Q-/2$;))633Vx0cTk&9&9c&?&?RA(3H-r/   c           	     $   V P                   pV P                  \        V^^^^R7        ! R R\        4      pV P                  \        V^^^VR7        ! R R\        4      pV! 4       pV! ^^^VR7      pV P                  VP                  V4       R# )r'   r   c                   ,   a  ] tR tRt o R tR tRtV tR# )3TZInfoBase.test_bad_tzinfo_classes.<locals>.NiceTryio  c                    R # r1   r`   r4   s   &r,   rv   <TZInfoBase.test_bad_tzinfo_classes.<locals>.NiceTry.__init__p      r/   c                    R # r1   r`   r}   s   &&r,   r   =TZInfoBase.test_bad_tzinfo_classes.<locals>.NiceTry.utcoffsetq      Tr/   r`   NrL   ra   rb   rc   rv   r   rd   re   rf   s   @r,   NiceTryr1  o       $))r/   r9  c                   ,   a  ] tR tRt o R tR tRtV tR# )5TZInfoBase.test_bad_tzinfo_classes.<locals>.BetterTryit  c                    R # r1   r`   r4   s   &r,   rv   >TZInfoBase.test_bad_tzinfo_classes.<locals>.BetterTry.__init__u  r4  r/   c                    R # r1   r`   r}   s   &&r,   r   ?TZInfoBase.test_bad_tzinfo_classes.<locals>.BetterTry.utcoffsetv  r7  r/   r`   Nr8  rf   s   @r,   	BetterTryr<  t  r:  r/   rA  N)ri  r   r   objectr   r2   )r+   r4  r9  rA  r  r   s   &     r,   test_bad_tzinfo_classes"TZInfoBase.test_bad_tzinfo_classesk  s    mm)S!Q"=	*f 	* 	)S!Q'B	* 	* K1a"ahh"r/   c                    ! R  R\         4      pV P                  pR F  w  r4V\        J d   V! ^^^V! V4      R7      pMV\        J d   V! ^^^^^^V! V4      R7      pV'       d   \	        V4      p\        V^<4      w  rxRV^ 8  ;'       d    R;'       g    RWx3,          p	\        X\        4      '       d   VP                  4       pV P                  \        V4      RV	,           4       K  V P                  \        \        X4       K  	  R# )	c                   ,   a  ] tR tRt o R tR tRtV tR# )6TZInfoBase.test_utc_offset_out_of_bounds.<locals>.Edgyi|  c                (    \        VR 7      V n        R# rk   r   rt   )r+   rt   s   &&r,   rv   ?TZInfoBase.test_utc_offset_out_of_bounds.<locals>.Edgy.__init__}  s    '7r/   c                    V P                   # r1   rt   r}   s   &&r,   r   @TZInfoBase.test_utc_offset_out_of_bounds.<locals>.Edgy.utcoffset  s    {{"r/   rL  Nr8  rf   s   @r,   EdgyrG  |  s     8# #r/   rN  r   z%c%02d:%02dr  r  z01:02:03N))`F)aT)  T)r  F)r   ri  r   r   r  r  rn   timetzr*   r   r   r  )
r+   rN  r4  rt   legitr   aofsr'  r  tags
   &         r,   test_utc_offset_out_of_bounds(TZInfoBase.test_utc_offset_out_of_bounds{  s    	#6 	# mm-MF d{1aV51aAqf> 6{dB'#vz'9'9c'@'@S!&GGa**
A  Qc)9:!!*c15%-r/   c           	         V P                   p ! R  R\        4      pV! ^^^4      V! ^^^RR7      V! ^^^V! 4       R7      3 F`  pV P                  VP                  4       4       V P                  VP	                  4       4       V P                  VP                  4       4       Kb  	   ! R R\        4      pV! ^^^V! 4       R7      pV P                  VP                  4       \        RR7      4       V P                  VP	                  4       \        RR7      4       V P                  VP                  4       R4        ! R	 R
\        4      pV! ^^^V! 4       R7      pV P                  \        VP                  4       V P                  \        VP                  4       V P                  \        VP
                  4        ! R R\        4      pV! ^^^V! 4       R7      pV P                  \        VP                  4       V P                  \        VP                  4        ! R R\        4      pV! ^^^V! 4       R7      pV P                  VP                  4       \        ^=R7      4       V P                  VP	                  4       \        RR7      4       R# )c                   2   a  ] tR tRt o R tR tR tRtV tR# )*TZInfoBase.test_tzinfo_classes.<locals>.C1i  c                    R # r1   r`   r}   s   &&r,   r   4TZInfoBase.test_tzinfo_classes.<locals>.C1.utcoffset  r  r/   c                    R # r1   r`   r}   s   &&r,   r   .TZInfoBase.test_tzinfo_classes.<locals>.C1.dst  r  r/   c                    R # r1   r`   r}   s   &&r,   r   1TZInfoBase.test_tzinfo_classes.<locals>.C1.tzname  s    r/   r`   Nr   rf   s   @r,   C1rZ    s     0*--r/   ra  Nr   c                   2   a  ] tR tRt o R tR tR tRtV tR# )*TZInfoBase.test_tzinfo_classes.<locals>.C3i  c                    \        RR7      # )rQ  rl   rP  r   r}   s   &&r,   r   4TZInfoBase.test_tzinfo_classes.<locals>.C3.utcoffset  s    Ie,D%Dr/   c                    \        R R7      # )rQ  rl   r   r}   s   &&r,   r   .TZInfoBase.test_tzinfo_classes.<locals>.C3.dst  s    i&==r/   c                    R # anamer`   r}   s   &&r,   r   1TZInfoBase.test_tzinfo_classes.<locals>.C3.tzname  s    r/   r`   Nr   rf   s   @r,   C3rc    s     D=00r/   rl  rQ  rl   rj  c                   2   a  ] tR tRt o R tR tR tRtV tR# )*TZInfoBase.test_tzinfo_classes.<locals>.C4i  c                    R # ri  r`   r}   s   &&r,   r   4TZInfoBase.test_tzinfo_classes.<locals>.C4.utcoffset  s    Gr/   c                    ^# r?  r`   r}   s   &&r,   r   .TZInfoBase.test_tzinfo_classes.<locals>.C4.dst  r  r/   c                    ^ # r
  r`   r}   s   &&r,   r   1TZInfoBase.test_tzinfo_classes.<locals>.C4.tzname  s    r/   r`   Nr   rf   s   @r,   C4rn    s     3'**r/   ru  c                   ,   a  ] tR tRt o R tR tRtV tR# )*TZInfoBase.test_tzinfo_classes.<locals>.C6i  c                    \        RR7      # )rL  r   ir   r}   s   &&r,   r   4TZInfoBase.test_tzinfo_classes.<locals>.C6.utcoffset  s    IC,@%@r/   c                    \        ^R7      # )rL  r   r   r}   s   &&r,   r   .TZInfoBase.test_tzinfo_classes.<locals>.C6.dst  s    ib&99r/   r`   Nr  rf   s   @r,   C6rw    s     @99r/   r|  c                   ,   a  ] tR tRt o R tR tRtV tR# )*TZInfoBase.test_tzinfo_classes.<locals>.C7i  c                    \        ^=R7      # )=   r  r   r}   s   &&r,   r   4TZInfoBase.test_tzinfo_classes.<locals>.C7.utcoffset  s    I2,F%Fr/   c                    \        RR7      # )Q   r  r   r}   s   &&r,   r   .TZInfoBase.test_tzinfo_classes.<locals>.C7.dst  s    iS&AAr/   r`   Nr  rf   s   @r,   C7r~    s     FAAr/   r  r  rP  r  )ri  r   r,  r   r   r   r*   r   r   r   r  )r+   r4  ra  r   rl  ru  r|  r  s   &       r,   test_tzinfo_classesTZInfoBase.test_tzinfo_classes  s   mm	. 	. aA,aAd+aAbd+-A akkm,aeeg&ahhj)-	1 	1 1a%	%(@A)D"9:W-	+ 	+ 1a%)Q[[1)QUU+)QXX.	: 	: 1a%*akk2*aee,	B 	B 1a%	r(BC)"=>r/   c                &   V P                   p ! R  R\        4      pV! ^^	^
V! 4       R7      pVP                  ^R7      pVP                  ^	R7      pVP                  ^R7      pWEV3 Fk  pWEV3 F`  p\        \        \
        \        \        \        3 F9  p	V	! Wx4      p
V	! VP                  VP                  4      pV P                  W4       K;  	  Kb  	  Km  	  V\        Jd   VP                  ^V! 4       R7      pVP                  ^	V! 4       R7      pVP                  ^V! 4       R7      pWEV3 F_  pWEV3 FT  pWx8  Wx8  ,
          p
WtJ g   WuJ d   WJ g   WJ d   ^ pMYxu;J d   VJ d   M M^ pM
WvJ d   RpM^pV P                  W4       KV  	  Ka  	  R# R# )c                   &   a  ] tR tRt o R tRtV tR# )=TZInfoBase.test_aware_compare.<locals>.OperandDependentOffseti  c                h    VP                   ^
8  d   \        VP                   R7      # \        ^;R7      # 
   rl   ry  r   r  s   &&r,   r   GTZInfoBase.test_aware_compare.<locals>.OperandDependentOffset.utcoffset  )    88b=$QXX66 %R00r/   r`   Nr   rf   s   @r,   OperandDependentOffsetr         1 1r/   r  r   r  ry  r   Nr4  )ri  r   r9  r   r   r   r   r   r	   ry  r*   r   )r+   r4  r  r5  d0re  r  r  r  opr  rh  s   &           r,   test_aware_compareTZInfoBase.test_aware_compare  sx   mm	1V 	1 1a$:$<=\\\#\\\#\\\$ARZb"b"b0BQ(C!!((AHH5H$$S3 1    d?Q/E/GHBQ/E/GHBR0F0HIBRZA5QU+C17AG#$2#$#% $%$$S3 $  	 r/   r`   N)rL   ra   rb   rc   r-  rC  rV  r  r  rd   re   rf   s   @r,   r   r   W  s$     .$# 68.?`-4 -4r/   r   c                      a  ] tR tRt o ]tR tR tR tR t	R t
R tR tR	 tR
 tR tR tR tR tR tR tR tR tR tRtV tR# )
TestTimeTZi  c                <   V P                  4       pV P                  VP                  ^ 4       V P                  VP                  ^ 4       V P                  VP                  ^ 4       V P                  VP
                  ^ 4       V P                  VP                  4       R# rk  )ri  r*   r  ry  rx  r  r,  r   r  s   & r,   
test_emptyTestTimeTZ.test_empty  so    MMO#1%1%*!((#r/   c                  aa \        R%R^4      p\        ^ RR&4      p\        ^<R^4      p\        ^^/VR7      p\        ^^/VR7      p\        ^^/VR7      p\        ^(R7      o\        ^(VR7      oV P                  VP                  V4       V P                  VP                  V4       V P                  VP                  V4       V P	                  SP                  4       V P                  SP                  V4       V P                  VP                  4       \        R%R7      4       V P                  VP                  4       \        ^ R7      4       V P                  VP                  4       \        ^<R7      4       V P	                  SP                  4       4       V P                  \        VP
                  R4       V P                  VP                  4       R4       V P                  VP                  4       R4       V P                  VP                  4       R4       V P	                  SP                  4       4       V P                  \        VP                  R4       V P                  VP                  4       \        ^R7      4       V P                  VP                  4       \        R&R7      4       V P                  VP                  4       \        ^R7      4       V P	                  SP                  4       4       V P                  \        VP                  R4       V P                  \        V4      \        V4      4       V P                  \        V4      \        V4      4       V P                  \        V4      \        V4      4       V P                  WE4       V P                  WF4       V P                  WV4       V P                  SS4       V P                  \        VV3R	 l4       V P                  \        VV3R
 l4       V P                  \        V4      R4       V P                  \        V4      R4       V P                  \        V4      R4       V P                  \        S4      R4       V P                  \        S4      R4       V P                  VP                  4       R4       V P                  VP                  4       R4       V P                  VP                  4       R4       V P                  SP                  4       R4       V P                  SP                  4       R4       RpV P                  \        V4      VR,           4       V P                  \        V4      VR,           4       V P                  \        V4      VR,           4       V P                  \        S4      VR,           4       V P                  \        S4      VR,           4       V P                  VP!                  R4      R4       V P                  VP!                  R4      R4       V P                  VP!                  R4      R4       \        R'R4      p\        ^^;VR7      pV P                  VP!                  R4      R4        ! R R\        4      p	\        ^^^V	! 4       R7      p
V P                  V
P!                  R 4      R!4       V P                  \        V
P                   R"4       R#V	n        V P                  V
P!                  R"4      R#4       R$# )(r   r   r   METr   r  r  rl   zno argsc                     < S S8  # r1   r`   rR  t5s   r,   rr  'TestTimeTZ.test_zones.<locals>.<lambda>-  rt  r/   c                     < SS 8  # r1   r`   r  s   r,   rr  r  .  rt  r/   z07:47:00-05:00z12:47:00+00:00z13:47:00+01:00z00:00:00.000040z00:00:00.000040+00:00zdatetime.timez(7, 47, tzinfo=est)z(12, 47, tzinfo=utc)z(13, 47, tzinfo=met)z(0, 0, 0, 40)z(0, 0, 0, 40, tzinfo=utc)z%H:%M:%S %%Z=%Z %%z=%z %%:z=%:zz#07:47:00 %Z=EST %z=-0500 %:z=-05:00z%H:%M:%S %Z %z %:zz12:47:00 UTC +0000 +00:00z13:47:00 MET +0100 +01:00z%z %Z %%z%%Zz%H:%M %%Z='%Z' %%z='%z'z"23:59 %Z='%z %Z %%z%%Z' %z='-2359'c                   *   a  ] tR tRt o ^*tR tRtV tR# )(TestTimeTZ.test_zones.<locals>.BadtznameiN  c                    V P                   # r1   r  r}   s   &&r,   r   /TestTimeTZ.test_zones.<locals>.Badtzname.tznameP  s
    .r/   r`   N)rL   ra   rb   rc   r   r   rd   re   rf   s   @r,   	Badtznamer  N  s     B00r/   r  r  z02:03:04r8  r1  Nr   rW   rP  )ri   r   r*   r   r,  r   r   r   r   r   r   r  r  r   r  r   r  r   )r+   estr3   metr  r  rQ  r  yuckr  r   rR  r  s   &          @@r,   
test_zonesTestTimeTZ.test_zones  s2   $q)!UB'"eQ'1b%"b%"b%b!b-C(C(C("))$C(4)@A1)=>2)>?",,.))R\\9=e,e,e,"))+&)RYY	:9Q#789R#899Q#78"&&(#)RVVY7b48,b48,b48,   B#)_5)_5R"23R"23R"23R"34R"9:)9:)9:)9:):;)@Ab1'<#<=b1'=#=>b1'=#=>b1#67b1'B#BC%FG%J	L%9:<WX%9:<WX5.1"b&%>?%I	K	1 	1 Aq-J/<)QZZ6  	D)84r/   c           
        V P                  ^ ^^^\        RR4      R7      pV P                  ^ ^ ^^\        RR4      R7      pV P                  \        V4      \        V4      4       V P                  ^^:^^d\        RR4      R7      pV P                  ^^0^^d\        RR4      R7      pV P                  \        V4      \        V4      4       R# )r   rQ  r#  r   i  Nii)ri  ri   r*   r  r  s   &  r,   test_hash_edge_casesTestTimeTZ.test_hash_edge_casesY  s    ]]1aAk$.C]D]]1aAk$.C]Db48,]]2r1c+eR2H]I]]2r1c+eR2H]Ib48,r/   c                   RpV P                   ! V!  p\         F9  w  r4pVP                  W%4      pVP                  V4      pV P	                  W'4       K;  	  V P	                  VP                  4       VP                  ^4      4       \        RR4      pV P                  ^^^VR7      p\         F  w  r4pVP                  W%4      pVP                  V4      pV P	                  W'4       V P                  VP                  \        4       V P	                  VP                  4       \        RR7      4       V P	                  VP                  4       R4       K  	  V P	                  VP                  4       VP                  ^4      4       R# )rT  r   r   rl   Nr  r   )ri  r   r   r   r*   r  r  r   r   r   r   r   r   	r+   r   r   r   r   r   r   r   tinfos	   &        r,   r  TestTimeTZ.test_picklingc  s=    }}d#)7%GMM$.Eooe,GT+ *8 	*D,>,>q,AB %T84}}Q1U}3)7%GMM$.Eooe,GT+!!'..2FGW..0)D2IJW^^-x8 *8 	*D,>,>q,ABr/   c           	        . ROp\        R	R4      pV P                  ^^^RVR7      pV F  p\         F  pV! VRR7      pV P                  Wc\	        V4      4       V P                  VP                  \         4       V P                  VP                  4       \        R	R7      4       V P                  VP                  4       R4       K  	  K  	  R# )
   cdatetime
time
(S'\x05\x06\x07\x01\xe2@'
ctest.datetimetester
PicklableFixedOffset
(tR(dS'_FixedOffset__offset'
cdatetime
timedelta
(I-1
I68400
I0
tRsS'_FixedOffset__dstoffset'
NsS'_FixedOffset__name'
S'cookie'
sbtR.r   r  r   r  r  rl   N)r  s   cdatetime
time
(U@ctest.datetimetester
PicklableFixedOffset
)R}(U_FixedOffset__offsetcdatetime
timedelta
(JJ0 K tRU_FixedOffset__dstoffsetNU_FixedOffset__nameUcookieubtR.s   cdatetime
time
U@ctest.datetimetester
PicklableFixedOffset
)R}(U_FixedOffset__offsetcdatetime
timedelta
JJ0 K RU_FixedOffset__dstoffsetNU_FixedOffset__nameUcookieubR.r   )
r   ri  r  r*   r   r   r   r   r   r   )r+   rf  r  rh  r  r   r   s   &      r,   r  TestTimeTZ.test_compat_unpickley  s    
. %T84==Aq&=?D%x8  DJ?%%gnn6JK  !2!2!4i6MN  !18< & r/   c                H   V P                   pV! ^ \        RR4      R7      pV P                  V4       V! ^\        RR4      R7      pV P                  V4       V! ^\        RR4      R7      pV P                  V4       V! ^^;\        RR4      R7      pV P                  V4       R# )r   r   r#  r   Nr   rQ  )ri  ri   r@  )r+   r4  r   s   &  r,   test_more_boolTestTimeTZ.test_more_bool  s    mm+dB/0+dB/0+c2./B{:r:;r/   c           	        V P                   p\        ^dR4      p\        \        RR7      R4      p^^^^V.pV! V!  pV P                  VP	                  4       V4       V P                  \
        P                  ! V4      V4       RRRRRV33p\        V4       Ff  w  pw  rVR,          p
WV&   V! V
!  pV P                  VP                  ! R/ W/B V4       V P                  \
        P                  ! V3/ W/B V4       Kh  	  V P                  VP                  4       R4       VP	                  RR7      pV P                  VP                  4       V P                  VP                  4       4       \
        P                  ! VRR7      pV P                  VP                  4       V P                  VP                  4       4       VP	                  VR7      pV P                  W^4       V P                  VP                  VP                  4       \
        P                  ! WR7      pV P                  W_4       V P                  VP                  VP                  4       V! ^4      pV P                  \        VP                  ^R7       V P                  \        VP                  RR	7       V P                  \        VP                  ^dR
7       V P                  \        VP                  RR7       V P                  \        \
        P                  V^R7       V P                  \        \
        P                  VRR	7       V P                  \        \
        P                  V^dR
7       V P                  \        \
        P                  VRR7       R# )r  +100rl   -200r   r,  Nr   r  r  r  r  r  8r  r  r  r  r`   r4  ri  ri   r   r*   r9  rM  r2  r   r,  r   r2   r   r  r+   r4  z100zm200r   r5  r6  r  rF   r7  r8  rh  base2base22base3base32s   &               r,   r9  TestTimeTZ.test_replace  s   mm3'Id3V<1aD!Dz.d+T2  %e$	&
 "+7!3A~1gGAJG}HT\\;TN;XFT\\$A4.A8L "4 	/D)%,,'%,,.)d40&--(&--/* T*%dkk5<<0f2&dkk6==1 1v*dll<*dll2>*dll3?*dllH*dllDrB*dllDD*dllDE*dllDgNr/   c                    V P                  ^^^4      pV P                  ^^^4      pV P                  W4       VP                  RR7      pV P                  W4       VP                  \        RR4      R7      pV P                  W4       VP                  \        ^ R4      R7      pV P	                  W4        ! R R\
        4      pV! 4       pVP                  VR7      pVP                  VR7      pV P                  VP                  4       \        ^R7      4       V P                  VP                  4       \        ^R7      4       V P                  W4       VP                  V! 4       R7      pV P                  W8  4       R# )r'   Nr   r#  c                   ,   a  ] tR tRt o R tR tRtV tR# )-TestTimeTZ.test_mixed_compare.<locals>.Variesi  c                (    \        ^R7      V n        R# rr  rl   NrI  r4   s   &r,   rv   6TestTimeTZ.test_mixed_compare.<locals>.Varies.__init__      '3r/   c                `    V ;P                   \        ^R7      ,          un         V P                   # r'   rl   rt   r   r  s   &&r,   r   7TestTimeTZ.test_mixed_compare.<locals>.Varies.utcoffset      y33{{"r/   rL  Nr8  rf   s   @r,   Variesr         4# #r/   r  rl   )	ri  r*   r9  ri   r  r   r   r   r@  r+   r  r  r  vs   &    r,   r  TestTimeTZ.test_mixed_compare  s7   ]]1a#]]1a# ZZtZ$ ZZ{44Z5 ZZ{1b1Z2B#	#V 	# HZZqZ!ZZqZ!2)>?2)>?  ZZvxZ( r/   c           
     L   \         P                  ! R 4      p. ROpV F\  pV P                  V4      ;_uu_ 4        V P                  \        V4      ;_uu_ 4        V P
                  ! V!   RRR4       RRR4       K^  	  R#   + '       g   i     L; i  + '       g   i     K  ; i)z?(hour|minute|second|microsecond) must be in \d+\.\.\d+, not \d+N))r$  r  rL  iw )r$  r  rL  r   )rN  r  rM  r   )r$  rL  rM  r   )r  r  r^  r  r  ri  )r+   r  r|  r  s   &   r,   r  "TestTimeTZ.test_valuerror_messages  su    **N


 Dd##++J@@MM4( A $# @@ $##s#   BA?)B?B
BB#c           
        RR.pRpR	pR
pRpV\        \        P                  ! W#WE4      4      ,          pR\        P                  \        \        ^R7      4      \        \        ^^R7      4      .pV F}  pV Ft  pV P                  ! VRV/ p	V	P                  4       p
V P                  V
R7      ;_uu_ 4        V P                  P                  V
4      pV P                  W4       RRR4       Kv  	  K  	  R#   + '       g   i     K  ; i)r   Nr   r  r   r^  rS  )r  rU  rU  rW  )r  r$  rT  )r?  r  )r  rM  )r   i ry  )r  	itertoolsproductr   r3   r   ri  r  r^  rm  r*   )r+   time_exampleshhmmssusecr  ttupr  r   r_  t_rts   &           r,   r  TestTimeTZ.test_fromisoformat	  s     

 "i//ABBIA./IAr:;= "DMM444{{}\\t\,,==66t<D$$Q- -,	  "
 -,,s   5-C4	4Dc                   V P                  ^^^-R4      p\        ^R7      \        ^R7      \        ^^R7      \        ^^ ^R7      \        ^^^	RR7      .pY" Uu. uF  pR
V,          NK  	  up,          pR\        P                  \        \        ^ R7      4      .pYB Uu. uF  p\        V4      NK  	  up,          pV Fc  pVP	                  VR7      pVP                  4       pV P                  VR	7      ;_uu_ 4        V P                   P                  V4      pRRR4       Ke  	  R# u upi u upi   + '       g   i     K  ; i)r$  r]  r   r  rV  r  rX  Nr   r^  r4  r`  )	r+   	base_timer  r  r  r  r   r_  r  s	   &        r,   rb  &TestTimeTZ.test_fromisoformat_timezone#  s   MM"b"f5	 A	 2Ar*BB7Aq!&I	
	 		2	"b2gg	22	IA./1 	959RHRL955C!!!-A;;=D4((}}2248 )(	  3
 6 )((s   D%D*;D//E c                x   R	R
.pR\         P                  \        \        RR7      4      \        \        ^R7      4      \        \        ^^R7      4      .p. ROp\        V4       F  w  rEV F  pV F  pVR8X  d%   RVR,          R,          ,          pV^ R V3,           pV P                  ! V^ ^V,            RV/ p	V	P                  VR7      p
V P                  V
R7      ;_uu_ 4        V P                  P                  V
4      pV P                  W4       RRR4       K  	  K  	  K  	  R#   + '       g   i     K  ; i)r  Nr   r  r  r  r   r  r^  )r  rn  rM  r  )r  rn  rM  r   r3  ro  r4  rp  )r+   
time_basesr  rr  rs  rT  r  t_tuplert  r   r_  r  s   &           r,   ru  'TestTimeTZ.test_fromisoformat_timespecs<  s   


 IB/0IA./IAr:;=
5	  	*FB)G^++/72;$3F+G(")!B-3C2E"E1r6(;ISIA;;;3D400#}}::4@((1 10  *  + 100s   %-D((D9c                    . ROpV FA  w  r#V P                   ! V!  pV P                   P                  V4      pV P                  WT4       KC  	  R# )
12:30:45.1N))r  )r$  r  rM  r  )z12:30:45.12)r$  r  rM  i )z12:30:45.123)r$  r  rM  ix )z12:30:45.1234)r$  r  rM  i )z12:30:45.12345)r$  r  rM  i: )z12:30:45.123456r$  r  rM  r  )z12:30:45.1234567r  )z12:30:45.12345678r  )ri  rm  r*   )r+   strstime_str
time_compsrh  r  s   &     r,   test_fromisoformat_fractions'TestTimeTZ.test_fromisoformat_fractionsW  sH    	
 %) H}}j1H]]00:FV.	 %)r/   c                Z   . R V P                  ^ ^ 4      3NRV P                  ^ ^ 4      3NRV P                  ^ ^ 4      3NRV P                  ^ ^ 4      3NRV P                  ^ ^ 4      3NRV P                  ^ ^ 4      3NRV P                  ^ ^ 4      3NRV P                  ^ ^ 4      3NRV P                  ^ ^ 4      3NR	V P                  ^ ^ 4      3NR
V P                  ^ ^ ^ R4      3NRV P                  ^^ 4      3NRV P                  ^^ 4      3NRV P                  ^^ 4      3NRV P                  ^^ 4      3NRV P                  ^^ 4      3NRV P                  ^^ 4      3NRV P                  ^^ 4      3NRV P                  ^^ 4      3NRV P                  ^^ 4      3NRV P                  ^^ 4      3NRV P                  ^^;4      3NRV P                  ^^;4      3NRV P                  ^^;^;4      3NRV P                  ^^;^;4      3NRV P                  ^^;^;R4      3NRV P                  ^^;^;R4      3NRV P                  ^^;^;R4      3NRV P                  ^^;^;R4      3NR V P                  ^^;^;R!4      3NR"V P                  ^^;^;R!4      3NR#V P                  ^ ^ \        P                  R$7      3NR%V P                  ^^ \        P                  R$7      3NR&V P                  ^^ \        P                  R$7      3NR'V P                  ^ ^ \        \        ^R(7      4      R$7      3NR)V P                  ^ ^ \        \        ^^R*7      4      R$7      3NR+V P                  ^^ \        \        R1R(7      4      R$7      3NR,V P                  ^^ \        \        R1R(7      4      R$7      3NR-V P                  ^ ^ \        \        ^^;^;R!R.7      ) 4      R$7      3NpV FT  w  r#V P	                  VR/7      ;_uu_ 4        V P                   P                  V4      pV P                  WC4       R0R0R04       KV  	  R0#   + '       g   i     Kk  ; i)20000z00:00000000r  z000000.0z
00:00:00.0z
000000.000z00:00:00.000z000000.000000z00:00:00.000000z00:00:00,100000r  1200z12:00120000z12:00:00z120000.0z
12:00:00.0z
120000.000z12:00:00.000z120000.000000z12:00:00.0000002359z23:59235959z23:59:59z235959.9i z
23:59:59.9z
235959.999r  z23:59:59.999z235959.999999rW  z23:59:59.999999z	00:00:00Zr   z12:00:00+0000z12:00:00+00:00z00:00:00+05r   z00:00:00+05:30r  z12:00:00-05:00z12:00:00-0500z00:00:00,000-23:59:59.999999rX  r  Nr3  )ri  r   r3   r   r^  rm  r*   r  s   &    r,    test_fromisoformat_time_examples+TestTimeTZ.test_fromisoformat_time_examplesi  s   -
T]]1a()-
dmmAq)*-
 t}}Q*+-
 q!,-	-

 q!,--
 4==A./-
 4==A./-
 T]]1a01-
 dmmAq12-
 a 34-
 aAv >?-
 T]]2q)*-
 dmmB*+-
 t}}R+,-
 r1-.-
  r1-.!-
" 4==Q/0#-
$ 4==Q/0%-
& T]]2q12'-
( dmmB23)-
* b! 45+-
, T]]2r*+--
. dmmB+,/-
0 t}}RR011-
2 r2r233-
4 r2r6:;5-
6 4==RV<=7-
8 4==RV<=9-
: T]]2r2v>?;-
< dmmBB?@=-
> b"b& AB?-
@ $--1X\\-BCA-
B dmmB(,,mGHC-
D t}}R8<<}HIE-
F ]]1a1C(D]EGG-
J ]]1aB1O(P]QSK-
N ]]2q)"2E)F]GIO-
R ]]2q)"2E)F]GIS-
V ,]]1a)"bZ\kq2r1r(s]tvW-
^ $,I	2244Y?  2 32 $,222s   -PP*c           
     6   . ROpV Fg  pV P                  VR7      ;_uu_ 4        V P                  \        4      ;_uu_ 4        V P                  P	                  V4       RRR4       RRR4       Ki  	  R#   + '       g   i     L; i  + '       g   i     K  ; i)r#  r  N)r#  u   1200z12:z12:30:z	12:30:15.r  z12:3z12:30:1z1a:30:45.334034z12:a0:45.334034z12:30:a5.334034z12:30:45.123456+24:30z12:30:45.123456-24:30u   12：30：4512:30:45.123456az12:30:45.123456789au   12:30:45․123456z	12:30:45az12:30:45.123ar   z12:30:45.123456-z12:30:45.123456+z12:30:45.123456+12:00:30az12.5z12:30,5z12:30:45.123456Z12:00z12:30:45:334034z12:30:45.400 +02:30z12:30:45.400 z12:30:45. 400r  r  s   &  r,   r  #TestTimeTZ.test_fromisoformat_fails  sj    
B  Gg..&&z22MM//8 3 /.  22 /..s#   BA4B4B?BBc                    R R\         P                  ! R4      .pV FD  pV P                  \        4      ;_uu_ 4        V P                  P                  V4       RRR4       KF  	  R#   + '       g   i     K[  ; i)s   12:30:45Nz12:30:45r  r  s   &  r,   r  -TestTimeTZ.test_fromisoformat_fails_typeerror  sV     $J(?@	!H""9--++H5 .- "---r  c                     ! R  RV P                   4      pV! ^^^-R\        P                  R7      pVP                  VP	                  4       4      pV P                  W#4       V P                  W14       R# )c                       ] tR tRtRtR# )<TestTimeTZ.test_fromisoformat_subclass.<locals>.TimeSubclassi  r`   Nr  r`   r/   r,   r
  r    rY  r/   r
  i r   N)ri  r   r3   rm  r  r*   r   )r+   r
  tsctsc_rts   &   r,   r  &TestTimeTZ.test_fromisoformat_subclass  s\    	4== 	 2r2vhllC++CMMO<%f3r/   c           	       a   ! V 3R  lRS P                   4      p^^^R\        RR^4      3pS P                   ! V!  pV! V/ R^/B pS P                  VP                  V4       S P                  VP                  ^*4       S P                  VP
                  ^4       S P                  VP                  4       VP                  4       4       S P                  VP                  R4      VP                  VP                  ,           ^,
          4       R# )c                   8   <a  ] tR tRt o ^*tV3R ltR tRtV tR# )*TestTimeTZ.test_subclass_timetz.<locals>.Ci  c                   < VP                  4       pVP                  R 4      pSP                  P                  ! V .VO5/ VB pWEn        V# rS  rT  rV  s   &*,   r,   r   2TestTimeTZ.test_subclass_timetz.<locals>.C.__new__  rZ  r/   c                H    WP                   ,           V P                  ,           # r1   r  r\  s   &&r,   r^  2TestTimeTZ.test_subclass_timetz.<locals>.C.newmeth  r  r/   r`   Nr`  rG  s   @r,   r  r    r  r/   r    r   r  Nr   rX   )
ri  ri   r*   rK   ra  r  r   r^  r  rx  rd  s   f    r,   test_subclass_timetzTestTimeTZ.test_subclass_timetz  s    	7 	7 !Q[ua88mmT"&'1&*+A&#--/:R#((SZZ*?!*CDr/   r`   N)rL   ra   rb   rc   r   ri  r  r  r  r  r  r  r9  r  r  r  rb  ru  r  r  r  r  r  r  rd   re   rf   s   @r,   r  r    ss     H$T5l-C, =D /Ob!<).4!226/$33j%9N64E Er/   r  c                   2  a  ] tR tRt o ]tR tR tR tR t	R t
R tR tR	 tR
 tR tR tR tR tR tR tR tR tR t]P2                  ! R4      R 4       t]P2                  ! R4      R 4       t]P2                  ! R4      R 4       tR tR tR tRt V t!R# )TestDateTimeTZi  c           	        V P                  ^^^^^^^4      pV P                  VP                  ^4       V P                  VP                  ^4       V P                  VP                  ^4       V P                  VP
                  ^4       V P                  VP                  ^4       V P                  VP                  ^4       V P                  VP                  ^4       V P                  VP                  R4       R# r  )
ri  r*   r  r  r-  r  ry  rx  r  r   r}   s   & r,   test_trivialTestDateTimeTZ.test_trivial  s    ]]1aAq!Q/!$1%#!$A&A&+D)r/   c                D  aa V P                  ^^^\        RR4      R7      oV P                  \        ^^^^;^;R\        RR4      R7      oV P                  SS8  4       V P                  SS8g  4       V P                  SS8  4       V P	                  SS4       V P	                  SS4       V P                  ^^^^^;\        ^R4      R7      oV P                  ^^^^^\        ^R4      R7      oV P	                  SS4       V P                  ^^^^^;\        ^ R4      R7      oV P                  SS8  4       V P                  ^^^^^;\        ^R4      R7      oV P                  SS8  4       V P                  ^^^^^;\        ^R4      ^R7      oV P                  SS8  4       V P                  ^^^^^;\        ^R4      ^R7      oV P                  SS8  4       V P                   P
                  oV P                  SS4       V P	                  SS4       V P                  \        4      ;_uu_ 4        SS8   RRR4        ! R R	\        4      pV P                  ^^^V! 4       R7      oV P                  SS4       V P	                  SS4       V P                  ^^^4      oV P	                  SS4        ! R
 R\        4      pV P                  ^^^V! 4       R7      oV P                  ^^^\        ^ R4      R7      oV P                  \        VV3R l4       R#   + '       g   i     L; i)r'   rQ  r#  r   rW  )r   rx  r  Nc                   &   a  ] tR tRt o R tRtV tR# )4TestDateTimeTZ.test_even_more_compare.<locals>.Naivei4  c                    R # r1   r`   r}   s   &&r,   r   >TestDateTimeTZ.test_even_more_compare.<locals>.Naive.utcoffset5  r  r/   r`   Nr   rf   s   @r,   Naiver  4  s     00r/   r  c                   &   a  ] tR tRt o R tRtV tR# )4TestDateTimeTZ.test_even_more_compare.<locals>.Bogusi@  c                    \        R R7      # )r  rl   r   r}   s   &&r,   r   >TestDateTimeTZ.test_even_more_compare.<locals>.Bogus.utcoffsetA  s     ..r/   r`   Nr   rf   s   @r,   r  r   @  s     / /r/   r  c                     < S S8H  # r1   r`   )r  r  s   r,   rr  7TestDateTimeTZ.test_even_more_compare.<locals>.<lambda>E  s	    bBhr/   rP  )ri  ri   r   r@  r*   r   r  r   r   r   r  )r+   r  r  r  r  s   &  @@r,   test_even_more_compare%TestDateTimeTZ.test_even_more_compare  s   
 ]]1a;tR+@]A]]7BBB"-eR"8  : 	R b!R R R  ]]1b"b"[B5G]H]]1aAr+i2L]MR  ]]1b"b"[B5G]HR  ]]1b"b"[B5G]HR  ]]1b"b"[B5G"#  %R  ]]1b"b"[B5G'(  *R  ]]B#R y))G *	1F 	1]]1a57]3B#R  ]]1a#R 	/F 	/ ]]1a57]3]]1a;q"+=]>*&67+ *)s   *LL	c           
     F   RpV P                   ! V!  p\         F9  w  r4pVP                  W%4      pVP                  V4      pV P	                  W'4       K;  	  V P	                  VP                  4       VP                  ^4      4       \        RR4      pV P                   ! V/ RV/B pV P                  ^^^\        ^ R^ 4      R7      p\         F  w  r4pVP                  W%4      pVP                  V4      pV P	                  W'4       V P                  VP                  \        4       V P	                  VP                  4       \        RR7      4       V P	                  VP                  4       R4       K  	  V P	                  VP                  4       VP                  ^4      4       R# )	r  r   r   r#  r   rl   NrS  r   )ri  r   r   r   r*   r  r  r   ri   r   r   r   r   r   r  s	   &        r,   r  TestDateTimeTZ.test_picklingG  s^   )}}d#)7%GMM$.Eooe,GT+ *8 	*D,>,>q,AB %T84}}d8x&78--1aAr10E-F)7%GMM$.Eooe,GT+!!'..2FGW..0)D2IJW^^-x8 *8 	*D,>,>q,ABr/   c           	        . ROpRp\        R	R4      pV P                  ! V/ RV/B pV F  p\         F  pV! VRR7      pV P                  Wt4       V P	                  VP
                  \         4       V P                  VP                  4       \        R	R7      4       V P                  VP                  4       R4       K  	  K  	  R# )
   cdatetime
datetime
(S'\x07\xdf\x0b\x1b\x14;\x01\x01\xe2@'
ctest.datetimetester
PicklableFixedOffset
(tR(dS'_FixedOffset__offset'
cdatetime
timedelta
(I-1
I68400
I0
tRsS'_FixedOffset__dstoffset'
NsS'_FixedOffset__name'
S'cookie'
sbtR.r   r   r  r  rl   N)r*  s   cdatetime
datetime
(U
;@ctest.datetimetester
PicklableFixedOffset
)R}(U_FixedOffset__offsetcdatetime
timedelta
(JJ0 K tRU_FixedOffset__dstoffsetNU_FixedOffset__nameUcookieubtR.s   cdatetime
datetime
U
;@ctest.datetimetester
PicklableFixedOffset
)R}(U_FixedOffset__offsetcdatetime
timedelta
JJ0 K RU_FixedOffset__dstoffsetNU_FixedOffset__nameUcookieubR.)r  r
  r  rT  rU  r'   r  r   )	r   ri  r  r*   r   r   r   r   r   )r+   rf  r   r  rh  r  r   r   s   &       r,   r  #TestDateTimeTZ.test_compat_unpickle^  s    
2 /$T84==$<8U*;<D%x8  3%%gnn6JK  !2!2!4i6MN  !18< & r/   c                2   V P                  ^^^\        RR4      R7      p\        V4       V P                  \        ^^^^;^;R\        RR4      R7      p\        V4       V P                  ^^^\        RR4      R7      pV P	                  \
        \        V4       R# )r'   rQ  r#  r   rW  NrP  rO  )ri  ri   r  r   r   r  r  s   & r,   test_extreme_hashes"TestDateTimeTZ.test_extreme_hashes  s     MM!Q+dB*?M@QMM'2r2r2v!,UB!7  9Q MM!Q+eR*@MA*dA.r/   c           	        \        RR4      p\        ^ R4      p\        ^<R4      p\        R^^^^/VR7      p\        R^^^^/VR7      p\        R^^^^/VR7      pV P                  VP                  V4       V P                  VP                  V4       V P                  VP                  V4       V P                  VP	                  4       \        RR7      4       V P                  VP	                  4       \        ^ R7      4       V P                  VP	                  4       \        ^<R7      4       V P                  VP                  4       R4       V P                  VP                  4       R4       V P                  VP                  4       R4       V P                  \        V4      \        V4      4       V P                  \        V4      \        V4      4       V P                  \        V4      \        V4      4       V P                  WE4       V P                  WF4       V P                  WV4       V P                  \        V4      R4       V P                  \        V4      R4       V P                  \        V4      R	4       R
pV P                  \        V4      VR,           4       V P                  \        V4      VR,           4       V P                  \        V4      VR,           4       R# )r   r   r   r  r  r   rl   z2002-03-19 07:47:00-05:00z2002-03-19 12:47:00+00:00z2002-03-19 13:47:00+01:00zdatetime.datetime(2002, 3, 19, z7, 47, tzinfo=est)z12, 47, tzinfo=utc)z13, 47, tzinfo=met)Nr   )
ri   r   r*   r   r   r   r   r  r   r   )r+   r  r3   r  r  r  rQ  r  s   &       r,   r  TestDateTimeTZ.test_zones  s5   $&!U#"e$dArAr#6dAr2r#6dAr2r#6C(C(C(4)@A1)=>2)>?e,e,e,b48,b48,b48,   R"=>R"=>R"=>-b1';#;<b1'<#<=b1'<#<=r/   c                    \        ^<R4      p\        R^^4      p\        ^^-^RVR7      p\        P                  ! W#4      pV P                  V\        R^^^^-^RVR7      4       R# <   r  r  r  r   N)ri   r   r   r   rq  r*   )r+   r  r  r   r~   s   &    r,   r  TestDateTimeTZ.test_combine  sf    "e$q!"b!T#.a$XdAq"b!T/24 	5r/   c                Z   \        ^<R4      pV P                  R^^^^-^RVR7      pV P                  VP                  4       \        R^^4      4       V P                  VP	                  4       \	        ^^-^R4      4       V P                  VP                  4       \	        ^^-^RVR7      4       R# r2  )ri   ri  r*   r   r   rR  )r+   r  r~   s   &  r,   r  TestDateTimeTZ.test_extract  s    "e$]]4Ar2q$s]CDq!$45DRD$9:d2r1d3&GHr/   c                   aaaa V P                   P                  4       o\        RR4      pSP                  4       P	                  VR7      pV P                   P                  SP                  4       V4      oV P                  SP                  V4       V P                  SP                  4       V4       V P                  \        VV3R l4       V P                  \        VV3R l4       V P                  \        VV3R l4       V P                  \        VV3R l4       V P                  \        V3R l4       V P                  SS,
          \        ^ 4      4       V P                  SS,
          \        ^ 4      4       \        ^^RR	7      oSS,           oV P                  SP                  V4       SS,           pV P                  VP                  V4       V P                  SV4       SS,
          pV P                  VP                  V4       V P                  SV4       V P                  \        VV3R
 l4       V P                  SS,
          S4       \        \        P                  ! RR4      R4      pSP	                  VR7      oV P                  SP                  V4       SS,
          pSP!                  4       SP!                  4       ,
          S,
          pV P                  Wg4       V P                  ^^^\        RR4      R7      pV P                  \"        ^^^^;^;R\        RR4      R7      p	W,
          p
V P                  WP                   P$                  V P                   P&                  ,
          \        RR7      ,           4       \)        \*        R4      p\)        \*        R4      pVP	                  VR7      V	P	                  VR7      ,
          oV P                  SV P                   P&                  V P                   P$                  ,
          4       R# )iJ  z	west 5:30r   c                     < S S,
          # r1   r`   r   nowawares   r,   rr  9TestDateTimeTZ.test_tz_aware_arithmetic.<locals>.<lambda>  	    S8^r/   c                     < SS ,
          # r1   r`   r9  s   r,   rr  r;    	    X^r/   c                     < S S,           # r1   r`   r9  s   r,   rr  r;    r<  r/   c                     < SS ,           # r1   r`   r9  s   r,   rr  r;    r>  r/   c                     < S S ,           # r1   r`   )r:  s   r,   rr  r;    s
    X-@r/   i.  )r  rm   r  c                     < S S,
          # r1   r`   )r[  nowawarepluss   r,   rr  r;    s
    U\-Ar/   rQ  r  randomtimezoner   rW  r   rl   r  r  NirP  i>  )ri  r   ri   r   r9  rq  r   r2   r   r*   rR  r   r   r   r   	randranger   r   r   r   r   r%  )r+   tz55	timeawarenowawareplus2rL  tzrr  rh  r   r   maxdifftzatzbr[  r   r:  rC  s   &            @@@@r,   test_tz_aware_arithmetic'TestDateTimeTZ.test_tz_aware_arithmetic  s!   mm!4-HHJ&&d&3	==((Y?hoot,*I6 	)%;<)%;< 	)%;<)%;<)%@A 	sIaL1H,il; 2DA%'hoot,(m**D1}5 e#dkk4(4()%AB0%8 &**5$79IJ#++3+7l))3/%  ))+h.@.@.BBUJ' mmAq!Ke,DmEmmGRRR#.ue#<  >)--"3"3dmm6G6G"G"+F";#< 	= tS!tS!3'#++S+*AA 1 1DMM4E4E EFr/   c           	     (   V P                   P                  pV! 4       p\        ^*R4      pV! V4      pV! VR7      pV P                  VP                  VP                  4       V P                  VP                  4       \        ^*R7      4       V P                  \        V^4       V P                  \        V^R7       V P                  \        WR7       V P                  \        WV4       \        ^ R^ 4      p\        \        ^^:R7      R^ 4      \        \        ^^:R7      R4      3 F  p\        ^4       F  p\        P                  ! V4      p	V P                  V	P                  V4       V P                  \        4      ;_uu_ 4        \        P                  ! 4       P!                  VR7      p
R	R	R	4       X
P#                  V4      p\%        W,
          4      \        ^R
7      8  g   K   K  	  V P'                  R4       K  	  R	#   + '       g   i     L_; i)r   42r  rl   r   r  r3   r  weirdtzNr  z0utcnow(), now(tz), or astimezone() may be broken)ri  r   ri   r2   r   r*   r   r   r   r   r   r  r   rt  r  r  r9  r  r  fail)r+   methr5  off42anotheragainr3   rR  r&  r   r  now2s   &           r,   test_tzinfo_nowTestDateTimeTZ.test_tzinfo_now  s   }}  vB%u+gnnell3**,i.CD)T2.)T"5)T7)T%8
 !UA&#IB$CYPQR R!@)LOGqll7+cjj'2%%&899%__.66c6BF :((1sz?Yr%:: " 		LMO
 :9s   &H	Hc                   ^ RI pV P                  P                  pVP                   ! 4       pV! V4      p\        ^*R4      pV! W54      pV! W5R7      pV P	                  VP
                  VP
                  4       V P                  VP                  4       \        ^*R7      4       V P                  \        W#^4       V P                  \        W#^R7       V P                  \        W#VR7       V P                  \        W#WU4       V P                  \        V4       RpV P                  \        4      ;_uu_ 4        \        P                  ! V4      p	RRR4       \        R
^'R7      p
\        V
R	^ 4      pX	V
,           p\        P                  ! W4      pV P                  WP                  RR7      4       R#   + '       g   i     Ll; i)r   NrP  r  rl   r   rQ  r(  r  r   i)r   ri  rS  ri   r2   r   r*   r   r   r   r   rt  r  r   ru  r9  )r+   r   rT  rT  r5  rU  rV  rW  rr  utcdatetimer   r   rh  r  s   &             r,   test_tzinfo_fromtimestamp(TestDateTimeTZ.test_tzinfo_fromtimestamp%  s_   }}**YY[BxB%r/R"gnnell3**,i.CD)Tr2)Tb9)TU;)Tu<)T* 	011"33I>K 2 C4	D!,*$$Y3;;d;#;< 21s   4F//F?	c                $   V P                   P                  pV P                  \        4      ;_uu_ 4        V! 4       pR R R 4       \	        ^*R4      pV P                  \        W4       V P                  \        WR7       R #   + '       g   i     LK; i)NrP  r   )ri  r  rt  r  ri   r   r   )r+   rT  r5  rU  s   &   r,   test_tzinfo_utcnow!TestDateTimeTZ.test_tzinfo_utcnowI  si    }}##0116D 2 B%)T1)T8 21s   A??B	c           	        ^ RI pV P                  P                  pVP                   ! 4       pV P                  \        4      ;_uu_ 4        V! V4      pRRR4       \        ^*R4      p\        P                  ! \        R7      ;_uu_ 4        \        P                  ! R\        R7       V P                  \        W#V4       V P                  \        W#VR7       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)r   NrP  r  ignorer   )r   ri  ru  rt  r  ri   warningscatch_warningssimplefilterr   r   )r+   r   rT  rT  r5  rU  s   &     r,   test_tzinfo_utcfromtimestamp+TestDateTimeTZ.test_tzinfo_utcfromtimestampT  s    }}--YY[0118D 2 B%$$.@AA!!(5GHi59i%@ BA 21
 BAAs   		C	AC2C/	2D	c                    ! R  R\         4      pV P                  pR EF'  w  r4V! ^^^^
^^^(V! V4      R7      pVP                  4       pV P                  ^VP                  4       V P                  ^VP
                  4       V P                  ^VP                  4       V P                  ^
VP                  4       V P                  ^VP                  4       V P                  ^VP                  4       V P                  ^ VP                  4       V P                  ^VP                  4       V P                  WFP                  4       EK*  	  V P                  \        V! ^^^V! R4      R7      P                  4       V P                  V! ^^^V! R4      R7      P                  4       P                  ^4       V P                  V! ^^^V! R4      R7      P                  4       P                  ^4       V P                  \        V! ^^^V! R4      R7      P                  4       V P                  \        V! ^^^V! R	4      R7      P                  4       R# )
c                   ,   a  ] tR tRt o R tR tRtV tR# )1TestDateTimeTZ.test_tzinfo_timetuple.<locals>.DSTif  c                V    \        V\        4      '       d   \        VR 7      pWn        R# rk   rn   ro   r   dstvaluer+   rn  s   &&r,   rv   :TestDateTimeTZ.test_tzinfo_timetuple.<locals>.DST.__init__g      h,,(:H (r/   c                    V P                   # r1   rn  r}   s   &&r,   r   5TestDateTimeTZ.test_tzinfo_timetuple.<locals>.DST.dstk      }}$r/   rs  NrL   ra   rb   rc   rv   r   rd   re   rf   s   @r,   DSTrk  f  s     )% %r/   rw  Nr   r  rQ  r  ))r'   )r  r'   )r   r   )Nr4  rP  rO  )r   ri  r  r*   r  r  r  r  r  r  r  r  r  r   r   r  )r+   rw  r4  rn  flagr  r   s   &      r,   test_tzinfo_timetuple$TestDateTimeTZ.test_tzinfo_timetuplec  s   	%& 	% mmCNHAq!RRCMBAAQ		*Q)Q		*R+R*R*Q		*Q		*T::. D 	)SAqS%B%L%LM 	Qq3t95??AJJANQq3u:6@@BKKQO 	*c!AaD	&B&L&LM*c!AaE
&C&M&MNr/   c                j	  a  ! R  R\         4      oV P                  pV P                  \        V! ^^^S! ^ 4      R7      P                  4        ! V3R lRS4      pR EF  pV! ^^^^
^^^(V! RV4      R7      pVP                  4       pV P                  VP                  VP                  4       V P                  VP                  VP                  4       V P                  VP                  VP                  4       V P                  ^VP                  4       V P                  ^VP                  4       V P                  VP                  VP                   4       V P                  VP#                  4       VP$                  4       V P                  VP'                  4       \)        ^^^4      P'                  4       ,
          ^,           VP*                  4       V P                  ^ VP,                  4       EK  	  V! ^^^^
^^^(4      pVP                  4       pV P                  VRR VP/                  4       RR 4       V P                  ^ VP,                  4        ! R RS4      pV! ^^^^
^^^(V! 4       R7      pVP                  4       pV P                  VRR VP/                  4       RR 4       V P                  ^ VP,                  4        ! R R	S4      pV! ^^^^
^^^(V! 4       R7      pV P                  \0        VP
                  4       V! R
^^^^^R4      p\2        P4                  \2        P6                  \2        P8                  3 Ff  pVP;                  VR7      p	V P                  V	P                  4       RR V	P=                  \2        P6                  4      P/                  4       RR 4       Kh  	  V! \>        ^^^ ^ ^%V! R4      R7      p
V P                  \@        V
P
                  4       V! \B        ^^^^;^%RV! R4      R7      pV P                  \@        VP
                  4       VP4                  P;                  \3        \D        4      R7      p
V P                  \@        V
P
                  4       VP8                  P;                  \3        \D        ) 4      R7      pV P                  \@        VP
                  4       R# )c                   0   a  ] tR tRt o RR ltR tRtV tR# )-TestDateTimeTZ.test_utctimetuple.<locals>.DSTi  c                V    \        V\        4      '       d   \        VR 7      pWn        R# rk   rm  ro  s   &&r,   rv   6TestDateTimeTZ.test_utctimetuple.<locals>.DST.__init__  rq  r/   c                    V P                   # r1   rs  r}   s   &&r,   r   1TestDateTimeTZ.test_utctimetuple.<locals>.DST.dst  ru  r/   rs  Nr
  rv  rf   s   @r,   rw  r~    s     )% %r/   rw  r   c                   8   <a  ] tR tRt o RV3R lltR tRtV tR# ).TestDateTimeTZ.test_utctimetuple.<locals>.UOFSi  Nc                L   < SP                  W4       \        VR 7      V n        R# rk   )rv   r   uofs)r+   r  dofsrw  s   &&&r,   rv   7TestDateTimeTZ.test_utctimetuple.<locals>.UOFS.__init__  s    T(%d3	r/   c                    V P                   # r1   r  r}   s   &&r,   r   8TestDateTimeTZ.test_utctimetuple.<locals>.UOFS.utcoffset  s    yy r/   r  r1   r8  )rg   rw  s   @r,   UOFSr    s     4! !r/   r  Nc                   &   a  ] tR tRt o R tRtV tR# ).TestDateTimeTZ.test_utctimetuple.<locals>.NOFSi  c                    R # r1   r`   r}   s   &&r,   r   8TestDateTimeTZ.test_utctimetuple.<locals>.NOFS.utcoffset  s    r/   r`   Nr   rf   s   @r,   NOFSr    s      r/   r  c                   &   a  ] tR tRt o R tRtV tR# ).TestDateTimeTZ.test_utctimetuple.<locals>.BOFSi  c                    R # )r   r`   r}   s   &&r,   r   8TestDateTimeTZ.test_utctimetuple.<locals>.BOFS.utcoffset  s    r/   r`   Nr   rf   s   @r,   BOFSr    s      r/   r  r   i+ rQ  rW  )rx  r  r   Nir4  rP  )#r   ri  r   r   r   utctimetupler*   r  r  r  r  r-  r  r  r  rx  r  rj  r  r  r   r  r  r  r   r   r   r3   r   r9  r  r   r)  r   r  )r+   r4  r  rn  r  r   r  r  r   dtzr,  hugerw  s   &           @r,   test_utctimetuple TestDateTimeTZ.test_utctimetuple  s   	%& 	% mm-aAc!f5??	A	!3 	! )HAq!RRDh4GHA AQVVQYY/QWWahh/QUUAII.R+R*QXXqxx0QYY[!))4Q[[]T!Q]-D-D-FFJYY( Q

+ )" 1aRR(NN3Bs!34AJJ'	3 	 1aRR7NN3Bs!34AJJ'	3 	 1aRR7)Q^^4 b"b"b&1<<x||<B))2)&CS--/4 ^^HLL9CCEcrJL = 7Aq!Q4:>-):):;7BBBtE{K-):):;wwhv&67-):):;wwhw&78-):):;r/   c                   \        ^ R4      p\        ^R4      p\        RR4      p\        RR4      pV P                  pRpRWW43 EF?  pR EF4  pV! ^^^^^^;WR7      p	RT;'       d    R	;'       g    R,           p
VRJ;'       d    V	P                  4       ;'       g    RpW,           pV	P                  4       pV P	                  WR
,           V,           4       V P	                  WP                  R
4      4       V P	                  V	P                  R4      VR,           V,           4       V P	                  V	P                  R4      VR,           V,           4       V P	                  \        V	4      VR,           V,           4       EK7  	  EKB  	  R# )r   r  z+03:40z-03:51Nr#  z
0001-02-03r   z04:05:59z.987001rH  ku   ሴr  i)r   iy )ri   ri  r   r  r*   r   )r+   r  plusminusunknownr4  datestrofsr  r  timestrofsstrtailstrisos   &             r,   test_tzinfo_isoformat$TestDateTimeTZ.test_tzinfo_isoformat  sM   1h'3)D(+dB'mmU3C1aAr2:$(8(8y(>(>B?D77QXXZ==2!*kkm  mg&=>  kk#&67  S!17S=73JK  X!6(8JW8TU  Q3)@A   4r/   c           	     `   V P                   p\        ^dR4      p\        \        RR7      R4      p^^^^^^^V.pV! V!  pV P                  VP	                  4       V4       V P                  \
        P                  ! V4      V4       RRRRRRRRV33p\        V4       Ff  w  pw  rVR,          p
WV&   V! V
!  pV P                  VP                  ! R/ W/B V4       V P                  \
        P                  ! V3/ W/B V4       Kh  	  V P                  VP                  4       R4       VP	                  RR7      pV P                  VP                  4       V P                  VP                  4       4       \
        P                  ! VRR7      pV P                  VP                  4       V P                  VP                  4       4       VP	                  VR7      pV P                  W^4       V P                  VP                  VP                  4       \
        P                  ! WR7      pV P                  W_4       V P                  VP                  VP                  4       V! R^^4      pV P                  \        VP                  R	R
7       V P                  \        \
        P                  VR	R
7       R# )r  r  rl   r  r   r,  Nr   r  r(  r-  r  r.  r/  r0  r  r  r  r  r`   r  r  s   &               r,   r9  TestDateTimeTZ.test_replace  s9   mm3'Id3V<1aAq!T*Dz.d+T2  %e$& "+7!3A~1gGAJG}HT\\;TN;XFT\\$A4.A8L "4 	/D)%,,'%,,.)d40&--(&--/* T*%dkk5<<0f2&dkk6==1 4B*dll>*dllDtDr/   c                   \        R R4      p\        ^,R4      p\        \        ^R7      ) R4      pV P                  P                  VR7      pV P	                  VP
                  V4       V P                  \        VP                  V4       VP                  VP
                  4      pV P	                  VP
                  V4       V P                  VP                  4       VP                  4       4       V P                  VP                  4       VP                  4       4       VP                  V4      pV P	                  VP
                  V4       V P                  VP                  4       \        RR7      4       WDP                  4       ,
          pWsP                  V4      ,          pVP                  VR7      pV P                  VP                  4       VP                  4       4       V P                  VP                  4       VP                  4       4       V P                  VP                  4       VP                  4       4       V P	                  VP
                  VP
                  4       V P                  Wg4       R # )NNone44r   m300r  r   r3  )ri   r   ri  r   r2   r   r   r  r  r*   r   r   r   r9  rR  )r+   fnonef44mfm5hr~   r  r  rh  s   &       r,   test_more_astimezone#TestDateTimeTZ.test_more_astimezone  s   D&)2t$IA..7]]$'bii&*bmmU;MM"))$ahh%2779-2779- mmD!cjj$')"*=>&NN2&&##4#0X]]_5X]]_5x'89cjj(//2'r/   r   c                    V P                   P                  \        P                  4      pV P	                  VP                  R 4      V4       V P	                  VP                  4       V4       R # r1   )ri  r   r   r3   r*   r  r}   s   & r,   test_astimezone_default_utc*TestDateTimeTZ.test_astimezone_default_utc7  sI    ]]x||,t,b1"-r/   rx  c           	        V P                  R ^^^^\        P                  R7      pVP                  4       pV P	                  W4       V P	                  VP                  R4      R4       V P                  R ^^^^\        P                  R7      pVP                  4       pV P	                  W4       V P	                  VP                  R4      R4       R# )rI  r   r  z	-0500 ESTz	-0400 EDTN)ri  r   r3   r  r*   r  )r+   r~   r;  s   &  r,   test_astimezone_default_eastern.TestDateTimeTZ.test_astimezone_default_eastern?  s    ]]4Q2hll]C#0+>]]4Q2hll]C#0+>r/   c                    \        R ^^^\        P                  R7      pVP                  4       pVP                  4       pV P	                  VP
                  VP
                  4       R# )r  r   N)r   r   r3   r  r*   r   )r+   r   r   r  s   &   r,   !test_astimezone_default_near_fold0TestDateTimeTZ.test_astimezone_default_near_foldJ  sH     T2q!HLL9LLNLLN188,r/   c                :   V P                   p ! R  R\        4      pV! ^^	^
^^^^V! 4       R7      pVP                  ^R7      pVP                  ^	R7      pVP                  ^R7      pWEV3 FN  pWEV3 FC  pWx,
          p	\        VP                  VP                  ,
          R7      p
V P                  W4       KE  	  KP  	  V! ^^	^
^^^^4      pVP                  ^V! 4       R7      pVP                  ^	V! 4       R7      pVP                  ^V! 4       R7      pWEV3 F  pWEV3 Fu  pWx,
          p	WtJ g   WuJ d   WJ g   WJ d   \        ^ 4      p
M9Yxu;J d   VJ d   M M\        ^ 4      p
MWvJ d   \        RR7      p
M\        ^0R7      p
V P                  W4       Kw  	  K  	  R# )c                   &   a  ] tR tRt o R tRtV tR# )BTestDateTimeTZ.test_aware_subtract.<locals>.OperandDependentOffsetiW  c                h    VP                   ^
8  d   \        VP                   R7      # \        ^;R7      # r  r  r  s   &&r,   r   LTestDateTimeTZ.test_aware_subtract.<locals>.OperandDependentOffset.utcoffsetX  r  r/   r`   Nr   rf   s   @r,   r  r  W  r  r/   r  r   r  rl   r  Ni)ri  r   r9  r   ry  r*   )r+   r4  r  r5  r  re  r  r  r  r  rh  s   &          r,   test_aware_subtract"TestDateTimeTZ.test_aware_subtractR  s   mm	1V 	1 1aRR4J4LM\\\#\\\#\\\$ARZe$QXX-@A  /    1aRR,\\+A+C\D\\+A+C\D\\,B,D\EARZeGqwQW(|H\r\(|HW(;H  );H  /   r/   c           	        \        ^^^^^^^4      p\        ^^^^^^^4      pV P                  W4       VP                  RR7      pV P                  W4       VP                  \        RR4      R7      pV P                  W4       VP                  \        ^ R4      R7      pV P	                  W4        ! R R\
        4      pV! 4       pVP                  VR7      pVP                  VR7      pV P                  VP                  4       \        ^R7      4       V P                  VP                  4       \        ^R7      4       V P                  W4       VP                  V! 4       R7      pV P                  W8  4       R# )r'   Nr   r#  c                   ,   a  ] tR tRt o R tR tRtV tR# )1TestDateTimeTZ.test_mixed_compare.<locals>.Variesi  c                (    \        ^R7      V n        R# r  rI  r4   s   &r,   rv   :TestDateTimeTZ.test_mixed_compare.<locals>.Varies.__init__  r  r/   c                `    V ;P                   \        ^R7      ,          un         V P                   # r  r  r  s   &&r,   r   ;TestDateTimeTZ.test_mixed_compare.<locals>.Varies.utcoffset  r  r/   rL  Nr8  rf   s   @r,   r  r    r  r/   r  rl   )	r   r*   r9  ri   r  r   r   r   r@  r  s   &    r,   r  !TestDateTimeTZ.test_mixed_compare~  s?   aAq!Q*aAq!Q* ZZtZ$ ZZ{44Z5 ZZ{1b1Z2B#	#V 	# HZZqZ!ZZqZ!2)>?2)>?  ZZvxZ( r/   c                   a   ! V 3R  lRS P                   4      pR^^^^^R\        RR^4      3pS P                   ! V!  pV! V/ R^/B pS P                  VP                  V4       S P                  VP                  ^*4       S P                  VP
                  ^4       S P                  VP                  4       VP                  4       4       S P                  VP                  R4      VP                  VP                  ,           ^,
          4       R# )	c                   8   <a  ] tR tRt o ^*tV3R ltR tRtV tR# )2TestDateTimeTZ.test_subclass_datetimetz.<locals>.Ci  c                   < VP                  4       pVP                  R 4      pSP                  P                  ! V .VO5/ VB pWEn        V# rS  rT  rV  s   &*,   r,   r   :TestDateTimeTZ.test_subclass_datetimetz.<locals>.C.__new__  rZ  r/   c                H    WP                   ,           V P                  ,           # r1   )r  r  r\  s   &&r,   r^  :TestDateTimeTZ.test_subclass_datetimetz.<locals>.C.newmeth  s    yy(49944r/   r`   Nr`  rG  s   @r,   r  r    s     I5 5r/   r  r  r  r   r  Nr   rX   )
ri  ri   r*   rK   ra  r  r   r^  r  r  rd  s   f    r,   test_subclass_datetimetz'TestDateTimeTZ.test_subclass_datetimetz  s    	5 	5 RQ1c;tUA+FFmmT"&'1&*+A&#--/:R#((SXX*=*ABr/   r`   N)"rL   ra   rb   rc   r   ri  r  r%  r  r  r-  r  r  r  rM  rY  r]  r`  rg  rz  r  r  r9  r  r   r  r  r  r  r  r  r  rd   re   rf   s   @r,   r  r    s     H	*C8JC.#=J/><5I?GB$NL"=H	9A"OHN<`B*,E\(: .  . 34? 5? 34- 5-*0X!<C Cr/   r  c                 h    ^V P                  4       ,
          pV'       d   V \        V4      ,          p V # )r  )rj  r   )r~   
days_to_gos   & r,   first_sunday_on_or_afterr    s)    RZZ\!J
i
##Ir/   rl   r   r  c                   >   a  ] tR tRt o R tR tR tR tR tRt	V t
R# )	
USTimeZonei  c                L    \        VR 7      V n        W n        W0n        W@n        R# r   Nr   	stdoffsetreprnamestdnamedstnamer+   r   r  r  r  s   &&&&&r,   rv   USTimeZone.__init__      "/ r/   c                    V P                   # r1   r  r4   s   &r,   rz   USTimeZone.__repr__  r   r/   c                `    V P                  V4      '       d   V P                  # V P                  # r1   r   r  r  r}   s   &&r,   r   USTimeZone.tzname  #    88B<<<<<<r/   c                F    V P                   V P                  V4      ,           # r1   r  r   r}   s   &&r,   r   USTimeZone.utcoffset      ~~,,r/   c                :   Ve   VP                   f   \        # \        \        P	                  VP
                  R7      4      p\        \        P	                  VP
                  R7      4      pW!P	                  R R7      u;8:  d   V8  d    \        #  \        # \        # Nr-  r   )r   r  r  DSTSTARTr9  r  DSTENDr%  r+   r~   r]  ends   &&  r,   r   USTimeZone.dst  s}    :* K ))9)9rww)9)GH 'v~~277~'CD
 JJdJ+1c1K 2 K4Kr/   r  r  r  r  NrL   ra   rb   rc   rv   rz   r   r   r   rd   re   rf   s   @r,   r  r    s#      - r/   r  r8  r   r  CentralCSTCDTMountainMSTMDTPacificPSTPDTr   UTCfakec                   z   a  ] tR tRt o ]! R^^^4      t]! R^
^^4      t]tR tR t	R t
R tR tR tR	 tR
tV tR# )TestTimezoneConversionsi  r  c                   V P                  VP                  4       \        4       V P                  VP                  V4      V4       VP                  V4      pVP                  V4      pVP	                  4       VP	                  4       8X  d   VP
                  ^8X  ds   V P                  V\        ,           V4       V P                  VP                  4       \        4       V P                  VP                  V4      VP                  V4      4       MV P                  W4       V\        ,           pVP                  V4      p	VP	                  4       VP	                  4       8X  dt   VP
                  ^ 8X  dc   V P                  WP                  ^R7      4       V\        ,          pVP                  V4      p	V P                  WP                  ^R7      4       R# V P                  W,
          \        4       R# )r  r  N)r*   r   r%  r  r   r  r  r9  )
r+   r~   r   r3   dstondstoffasutcthere_and_backnexthour_utcnexthour_tzs
   &&&&&&    r,   checkinside#TestTimezoneConversions.checkinside  st   4( 	r*B/c"))"- 779

$A ^d2B7 ^//148^66s;]]3/1 R0 t|"--b1779%"''Q, [**!**<=D L&11"5K[**!**<=[-t4r/   c                    V P                  VP                  4       \        4       V P                  VP                  V4      V4       VP                  V4      pVP                  V4      pV P                  W4       R # r1   )r*   r   r  r  )r+   r~   r   r3   r	  r	  s   &&&&  r,   checkoutside$TestTimezoneConversions.checkoutside9  sa    4( 	r*B/ c"))"-,r/   c           	        V P                   P                  VR 7      pV P                  P                  VR 7      p\        ^R7      \        \
        \        ^R7      \        ^R7      3 F{  pV P                  W1W#V4       W5,           WE,
          3 F  pV P                  WaW#V4       K  	  V P                  WAV4       W5,
          WE,           3 F  pV P                  WqV4       K  	  K}  	  R# )r   r  rl   r  N)r	  r9  r	  r   DAYr%  r	  r	  )r+   r   r3   r	  r	  r[  duringoutsides   &&&     r,   convert_between_tz_and_utc2TestTimezoneConversions.convert_between_tz_and_utcD  s    

""""- $$B$/b)*Q/	1E UF;-7  S@ 8 f#. =&.8!!'s3 91r/   c                >   V P                  \        \        4       V P                  \        \        4       V P                  \        \        4       V P                  \        \        4       V P                  \        \        4       V P                  \        \        4       R # r1   )r	  r8  utc_realr  utc_faker4   s   &r,   	test_easy!TestTimezoneConversions.test_easyZ  sd    '':'':'':'': 	''9''9r/   c           
     6   V P                   \        ^R7      ,
          p\        RR^ 4      pVP                  VR7      pV P                   P                  ^R7      pVP	                  \
        4      P                  RR7      pV P                  W44       V P                   P                  ^\        R7      pV P                   P                  ^R7      pVP	                  \
        4      P                  RR7      pV P                  W44       \        \        3 EF  p\
        \        3 F  pV P                  \        ^R7      ,
          pWP                  R4      ,          pWP                  R4      ,           p	V	P                  VR7      p
R	 F  pV P                  P                  VR7      pR
 FZ  pVP                  VR7      pV
P                  VR7      p	V	P	                  V4      pV P                  VP                  RR7      V4       K\  	  V
\        ,          p
K  	  K  	  EK	  	  R# )r  r   z-0900r   r  Nr  r   r  i)r   r'   r'   r  r   r  rU  )r	  r   ri   r9  r  r8  r*   r	  r	  r  r	  r   r%  )r+   fourbackninewestrh  r  sixutcr3   r   first_std_hourr	  	asutcbasetzhourexpectedbasery  astzs   &              r,   test_tricky#TestTimezoneConversions.test_trickyr  s   ::	 22ugq1##8#4 ::%%1%-!!'*22$2?' ##8#< ::%%1%-(000=' X%Cw&!%yq/A!A,,t"44&t)<< "MMM5	*F#';;#6#6F#6#CL"+#/#7#7v#7#F ) 1 1 1 @$//3((T)BHM	 #,
 %I + ' &r/   c                    ! R  R\         4      pV P                  P                  4       P                  \        R7      pVP                  V! 4       4        ! R RV4      pV P                  \        VP
                  V! 4       4        ! R RV4      pV P                  R^^4      P                  \        R7      pV P                  \        VP
                  V! 4       4       R# )	c                   ,   a  ] tR tRt o R tR tRtV tR# )2TestTimezoneConversions.test_bogus_dst.<locals>.oki  c                    \         # r1   r%  r}   s   &&r,   r   <TestTimezoneConversions.test_bogus_dst.<locals>.ok.utcoffset  s    D[r/   c                    \         # r1   r,	  r}   s   &&r,   r   6TestTimezoneConversions.test_bogus_dst.<locals>.ok.dst  s    d{r/   r`   Nr  rf   s   @r,   okr*	    s     0**r/   r0	  r   c                   &   a  ] tR tRt o R tRtV tR# )5TestTimezoneConversions.test_bogus_dst.<locals>.notoki  c                    R # r1   r`   r}   s   &&r,   r   9TestTimezoneConversions.test_bogus_dst.<locals>.notok.dst  r  r/   r`   NrL   ra   rb   rc   r   rd   re   rf   s   @r,   notokr2	    s     **r/   r6	  c                   &   a  ] tR tRt o R tRtV tR# )<TestTimezoneConversions.test_bogus_dst.<locals>.tricky_notoki  c                B    VP                   R 8X  d   R# ^
\        ,          # )r  N)r  r%  r}   s   &&r,   r   @TestTimezoneConversions.test_bogus_dst.<locals>.tricky_notok.dst  s    77d?d7Nr/   r`   Nr5	  rf   s   @r,   tricky_notokr8	    s     # #r/   r;	  r(  N)r   ri  r   r9  r	  r  r   r  )r+   r0	  r   r6	  r;	  r~   s   &     r,   test_bogus_dst&TestTimezoneConversions.test_bogus_dst  s    	+ 	+ mm!))):rt	+B 	+*cnneg>	#2 	# ]]4A&..h.?*bmm\^Dr/   c                f   V P                  \        \        P                  4       \        P
                  ! \        R 7      pV P                  \        \        P                  V4       VP                  \        R7      p\        P                  V4      pV P                  VP                  \        4       V P                  \        \        P                  W4       V P                  \        \        P                  \        P                  ! 4       4        ! R R\        4      pV! RRRR4      pV P                  P                  ^\        R7      pVP                  VR7      pR F  pVP                  VR7      pV^8X  d   V\        ^R	7      ,          p\        P                  V4      p	V P                  W4       WdP                   ,           pVP                  V4      p	V P                  W4       VP                  \        R7      P#                  V4      p	V P                  W4       V\$        ,          pV\$        ,          pK  	  V P&                  P                  ^\        R7      pVP                  VR7      pR F  pVP                  VR7      p\        P                  V4      p	V P                  W4       WdP                   ,           pVP                  V4      p	V P                  W4       VP                  \        R7      P#                  V4      p	V P                  W4       V\$        ,          pV\$        ,          pK  	  R
# )r  r   c                   &   a  ] tR tRt o R tRtV tR# )<TestTimezoneConversions.test_fromutc.<locals>.FauxUSTimeZonei  c                &    WP                   ,           # r1   )r  r}   s   &&r,   r   DTestTimezoneConversions.test_fromutc.<locals>.FauxUSTimeZone.fromutc  s    NN**r/   r`   NrL   ra   rb   rc   r   rd   re   rf   s   @r,   FauxUSTimeZoner@	    s     + +r/   rD	  FEasternFESTFEDTr	  r  r  Nr3  )r  r   r'   r   r  r?  )r   r'   r'   r  r   r  )r   r   r8  r   r   r   r	  r  r9  r*   r   r   r   r  r	  r   r  r  r%  r	  )
r+   r   enowrD	  rE	  r]  fstartwallrh  r  s
   &         r,   r<  $TestTimezoneConversions.test_fromutc  sf   )W__5llh'*goos;kkk)s#g.)W__c?)W__djjlC	+Z 	+ #2zFFC 

""'":h/%D}}$}/HrzI1--//%(CX+ 2 22H""6*CX+ ...1<<XFCX+TMEdNF! && ##7#;h/$D}}$}/H//%(CX+ 2 22H""6*CX+ ...1<<XFCX+TMEdNF %r/   r`   N)rL   ra   rb   rc   r   r	  r	  ri  r	  r	  r	  r	  r&	  r<	  r<  rd   re   rf   s   @r,   r	  r	    sU     T1a#EdBA&FH15h	-4,
:00&fE6: :r/   r	  c                   2   a  ] tR tRt o R tR tR tRtV tR# )Oddballsi   c                  aa \         P                  ! 4       p\        P                  ! V\	        4       4      p\        VP                  VP                  VP                  4      p\        VP                  VP                  VP                  ^ ^ ^ 4      pW3 F  pW$3 F  pWV3We33 F  w  ooV P                  SS8g  4       V P                  SS8H  4       V P                  \        VV3R l4       V P                  \        VV3R l4       V P                  \        VV3R l4       V P                  \        VV3R l4       K  	  K  	  K  	  W3W13W$3WB33 F~  w  ooV P                  SS8H  4       V P                  SS8g  4       V P                  SS8  4       V P                  SS8  4       V P                  SS8*  4       V P                  SS8  4       K  	  W3W!33 F  w  ooV P                  SP                  S4      \         4       V P                  SP#                  S4      \         4       V P                  SP%                  S4      \         4       V P                  SP'                  S4      \         4       V P                  SP'                  S4      \         4       V P                  SP)                  S4      \         4       K  	  R# )r   c                     < S S8  # r1   r`   r  r  s   r,   rr  8Oddballs.test_date_datetime_comparison.<locals>.<lambda>  	    Qr/   c                     < S S8*  # r1   r`   rP	  s   r,   rr  rQ	    	    ar/   c                     < S S8  # r1   r`   rP	  s   r,   rr  rQ	    rR	  r/   c                     < S S8  # r1   r`   rP	  s   r,   rr  rQ	    rT	  r/   N)r   r   r   rq  r   r  r  r  r-  r  r@  rA  r   r   r*   __eq__NotImplemented__ne____lt____gt____ge__)	r+   as_dateas_datetimedate_scdatetime_scr  r~   r  r  s	   &      @@r,   test_date_datetime_comparison&Oddballs.test_date_datetime_comparison  s2    **,&&w7w||W]]GKKH&w||W]]'.{{Aq!=#A"0GbW,DAqOOAF+$$Q!V,%%i?%%i@%%i?%%i@ - 1 $ ''!/!/1DAq OOAF#Q!V$QU#QU#OOAF#OOAF#1 *[,BBDAqQXXa[.9QXXa[.9QXXa[.9QXXa[.9QXXa[.9QXXa[.9 Cr/   c           	        V P                  \        4      ;_uu_ 4        \        P                  ! 4       pR R R 4       \        P
                  ! 4       \        4       X\        4       \        4       \        \        4       4      3 F0  pV P                  \        4      ;_uu_ 4        ^Vn        R R R 4       K2  	  R #   + '       g   i     L; i  + '       g   i     KZ  ; ir1   )rt  r  r   r  r   r   r   r   r   r   r   AttributeErrorr!   )r+   r  r  s   &  r,   test_extra_attributesOddballs.test_extra_attributes/  s    011__&F 2**,&+(9;')A "">22 32) 21 322s   B6 C	6C		Cc                    ! R  R4      p ! R R\         4      pRV! R4      \        P                  ! ^
4      \        P                  ! R4      V! ^
4      V! R4      R3 F  pV P                  \        \
        V^
^
^
^
^
^
4	       V P                  \        \
        ^
V^
^
^
^
^
4	       V P                  \        \
        ^
^
V^
^
^
^
4	       V P                  \        \
        ^
^
^
V^
^
^
4	       V P                  \        \
        ^
^
^
^
V^
^
4	       V P                  \        \
        ^
^
^
^
^
V^
4	       V P                  \        \
        ^
^
^
^
^
^
V4	       K  	  R# )	c                   ,   a  ] tR tRt o R tR tRtV tR# )-Oddballs.test_check_arg_types.<locals>.Numberi<  c                    Wn         R # r1   value)r+   rl	  s   &&r,   rv   6Oddballs.test_check_arg_types.<locals>.Number.__init__=  s    "
r/   c                    V P                   # r1   rk	  r4   s   &r,   __int__5Oddballs.test_check_arg_types.<locals>.Number.__int__?  s    zz!r/   rk	  N)rL   ra   rb   rc   rv   ro	  rd   re   rf   s   @r,   Numberri	  <  s     #" "r/   rq	  c                       ] tR tRtRtR# ),Oddballs.test_check_arg_types.<locals>.FloatiB  r`   Nr  r`   r/   r,   Floatrs	  B  rY  r/   rt	  g      $@g%@z10.910N)r  decimalDecimalr   r   r   )r+   rq	  rt	  xxs   &   r,   test_check_arg_typesOddballs.test_check_arg_types;  s*   	" 	"	E 	 t??2&(?":vd|B i2r2r2r2Ni2r2r2r2Ni2r2r2r2Ni2r2r2r2Ni2r2r2r2Ni2r2r2r2Ni2r2r2r2Nr/   r`   N)	rL   ra   rb   rc   ra	  re	  ry	  rd   re   rf   s   @r,   rM	  rM	     s     +:Z
O Or/   rM	  c                   &   a  ] tR tRt o R tRtV tR# )tzinfo2iW  c                H   \        V\        4      '       g   \        R 4      hVP                  V Jd   \	        R4      hVP                  ^ R7      P                  4       pVP                  ^R7      P                  4       pVe   Ve   VP                  4       f   \        hW#8X  d!   W,           pVP                  4       pW#8X  d   V# W#3 FO  pW,           pVP                  4       V8X  d   Vu # VP                  ^R7      pVP                  4       V8X  g   KM  Vu # 	  \	        R4      h)&fromutc() requires a datetime argumentdt.tzinfo is not selfr<  zNo suitable local time found)rn   r   r   r   r  r9  r   r   )r+   r~   off0off1ldtoffs   &&    r,   r   tzinfo2.fromutcY  s     "h''DEE99D 455 zzqz!++-zzqz!++-<4<2668+;<)C==?D|
 <C(C}}#%
++1+%C}}#%
   788r/   r`   NrC	  rf   s   @r,   r|	  r|	  W  s     9 9r/   r|	  c                   >   a  ] tR tRt o R tR tR tR tR tRt	V t
R# )	USTimeZone2iy  c                L    \        VR 7      V n        W n        W0n        W@n        R# r  r  r  s   &&&&&r,   rv   USTimeZone2.__init__{  r  r/   c                    V P                   # r1   r  r4   s   &r,   rz   USTimeZone2.__repr__  r   r/   c                `    V P                  V4      '       d   V P                  # V P                  # r1   r  r}   s   &&r,   r   USTimeZone2.tzname  r  r/   c                F    V P                   V P                  V4      ,           # r1   r  r}   s   &&r,   r   USTimeZone2.utcoffset  r  r/   c                <   Ve   VP                   f   \        # \        \        P	                  VP
                  R7      4      p\        \        P	                  VP
                  R7      4      pVP	                  R R7      pV\        ,           Tu;8:  d   V8  d	    \        #  Y1u;8:  d   V\        ,           8  d"   M MVP                  '       d   \        # \        # Y!u;8:  d   V\        ,           8  d'   M \        # VP                  '       d   \        # \        # \        # r  )	r   r  r  r  r9  r  r  r%  r=  r  s   &&  r,   r   USTimeZone2.dst  s    :* K ))9)9rww)9)GH 'v~~277~'CD
 ZZtZ$4<2##K $ #t#7774,,'54<'
 K 7774,, Kr/   r  Nr  rf   s   @r,   r	  r	  y  s#      - r/   r	  Eastern2Central2	Mountain2Pacific2c                   D   a  ] tR tRt o R tR tR tR tR tR t	Rt
V tR	# )
Europe_Vilnius_1941i  c           	     B    \        R ^^^V R7      \        R ^^^V R7      .#   r   r   r4   s   &r,   	_utc_foldEurope_Vilnius_1941._utc_fold  s,    q"b6q"b68 	8r/   c           	     B    \        R ^^^V R7      \        R ^^^ V R7      .# r	  r	  r4   s   &r,   	_loc_foldEurope_Vilnius_1941._loc_fold  s,    q"b6q"a57 	7r/   c                    V P                  4       w  r#W8  d   ^\        ,          # W8  d-   VP                  '       d   ^\        ,          # ^\        ,          # ^\        ,          # )r   r	  r%  r=  r+   r~   
fold_start	fold_stops   &&  r,   r   Europe_Vilnius_1941.utcoffset  J     $ 0
?t8O>A4//a4//4xr/   c                    V P                  4       w  r#W8  d   ^ \        ,          # W8  d-   VP                  '       d   ^\        ,          # ^ \        ,          # ^\        ,          # r
  r	  r	  s   &&  r,   r   Europe_Vilnius_1941.dst  r	  r/   c                l    V P                  4       w  r#W8  d   R # W8  d   RVP                  ,          # R# )MSKCEST)r	  r	  )r	  r=  r	  s   &&  r,   r   Europe_Vilnius_1941.tzname  s0     $ 0
?>"277++r/   c                   VP                   R 8w  d   \        hV P                  4       w  r#W8  d   V^\        ,          ,           # W8  d%   V^\        ,          ,           P	                  ^R7      # V^\        ,          ,           # )r	  r<  )r  r   r	  r%  r9  r	  s   &&  r,   r   Europe_Vilnius_1941.fromutc  sf     77d?%% $ 0
?D= >TM***22AH}r/   r`   N)rL   ra   rb   rc   r	  r	  r   r   r   r   rd   re   rf   s   @r,   r	  r	    s(     87 r/   r	  c                   v  a  ] tR tRt o R tR tR tR tR tR t	R t
]P                  ! R	4      R
 4       t]P                  ! R4      R 4       tR t]P                  ! R	4      R 4       t]P                  ! R4      R 4       t]P                  ! R	4      R 4       tR tR tR tR tR tR tR tR tR tRtV tR# )TestLocalTimeDisambiguationi  c           
     `   \        4       p\        R ^^^^;^;\        P                  R7      pVP	                  V4      pV P                  VP                  R4      R4       V P                  VP                  ^ 4       V P                  VP                  4       4       \        R ^^^\        P                  R7      pVP	                  V4      pV P                  VP                  R4      R4       V P                  VP                  ^4       V P                  VP                  4       4       \        R ^^^\        P                  R7      pVP	                  V4      pV P                  VP                  R4      R4       V P                  VP                  ^ 4       V P                  VP                  4       4       R# )r	  r   z%c %Z%zz!Mon Jun 23 23:59:59 1941 MSK+0300z"Mon Jun 23 23:00:00 1941 CEST+0200z"Tue Jun 24 00:00:00 1941 CEST+0200N)r	  r   r   r3   r  r*   r  r=  rA  r   r@  )r+   Vilniusgdtr	  s   &   r,   test_vilnius_1941_fromutc5TestLocalTimeDisambiguation.test_vilnius_1941_fromutc  sB   %'tQBBx||DnnW%i0<	>1%#tQBx||<nnW%i0=	?1%	"tQBx||<nnW%i0=	?1%	"r/   c                   \        4       p\        R ^^^^;^;VR7      pVP                  \        P                  4      pV P                  VP                  R4      R4       \        R ^^^^;^;VR7      pVP                  \        P                  4      pV P                  VP                  R4      R4       \        R ^^^^;^;V^R7      pVP                  \        P                  4      pV P                  VP                  R4      R4       \        R ^^^ VR7      pVP                  \        P                  4      pV P                  VP                  R4      R4       R# )	r	  r   z%c %ZzMon Jun 23 19:59:59 1941 UTCzMon Jun 23 20:59:59 1941 UTC)r   r=  zMon Jun 23 21:59:59 1941 UTCzMon Jun 23 22:00:00 1941 UTCN)r	  r   r  r   r3   r*   r  )r+   r	  r	  r	  s   &   r,   test_vilnius_1941_toutc3TestLocalTimeDisambiguation.test_vilnius_1941_toutc	  s   %'tQBBw?nnX\\*g.7	9 tQBBw?nnX\\*g.7	9 tQBBwQGnnX\\*g.7	9 tQAg6nnX\\*g.7	9r/   c           
     B   \        ^ ^R7      p\        ^^^^R7      pV P                  VP                  ^4       V P                  VP                  ^4       V P	                  \
        4      ;_uu_ 4        \        ^ ^ ^ ^ R^ 4       RRR4       R#   + '       g   i     R# ; ir   r<  N)r   r   r*   r=  r   r   r+   r   r~   s   &  r,   test_constructors-TestLocalTimeDisambiguation.test_constructors   sw    OaAA&#!$y))Aq!T1% *)))s   2BB	c                    \        ^^^^R7      pVP                  4       pV P                  VP                  ^4       VP	                  4       pV P                  VP                  ^4       R# r'   r<  N)r   r   r*   r=  rR  )r+   r~   r   s   &  r,   test_member'TestLocalTimeDisambiguation.test_member(  sP    aAA&GGI#IIK#r/   c                   \        ^ 4      p\        ^^^4      pV P                  VP                  ^R7      P                  ^4       V P                  VP                  ^R7      P                  ^4       V P                  VP                  ^ R7      P                  ^ 4       V P                  VP                  ^ R7      P                  ^ 4       VP                  ^\
        R7      pVP                  ^\
        R7      pV P                  VP                  RR7      P                  ^4       V P                  VP                  RR7      P                  ^4       V P                  \        4      ;_uu_ 4        VP                  ^R7       RRR4       V P                  \        4      ;_uu_ 4        VP                  ^R7       RRR4       V P                  \        4      ;_uu_ 4        VP                  ^^^R^4       RRR4       V P                  \        4      ;_uu_ 4        VP                  ^^^^^^^R^4	       RRR4       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     Lw; i  + '       g   i     R# ; i)r   r<  )r=  r   Nr   )	r   r   r*   r9  r=  r8  r   r  r   r	  s   &  r,   r9  (TestLocalTimeDisambiguation.test_replace/  s   GaA*//3+00!4*//3+00!4II1WI-ZZQwZ/$/44a84055q9z**II1I +z**JJAJ + y))IIaAtQ' *y))JJq!Q1aD!4 *) +*** *))))s0   ,H;$II!I4;I	I	!I1	4J	c                    \        ^ 4      p\        ^^^4      pV P                  WP                  ^R7      4       V P                  W"P                  ^R7      4       R# r	  )r   r   r*   r9  r	  s   &  r,   rB  +TestLocalTimeDisambiguation.test_comparisonF  sK    GaAII1I-.ZZQZ/0r/   c           	        \        ^ 4      p\        ^^^4      pV P                  \        V4      \        VP	                  ^R7      4      4       V P                  \        V4      \        VP	                  ^R7      4      4       R# r	  )r   r   r*   r  r9  r	  s   &  r,   	test_hash%TestLocalTimeDisambiguation.test_hashL  sa    GaAa$qyyay'8"9:b4


(:#;<r/   rx  c                    R p\         P                  ! V4      p\         P                  ! VR,           4      pV P                  VP                  ^ 4       V P                  VP                  ^4       R# )iXUTr  N)r   rS  r*   r=  )r+   r  dt0r   s   &   r,   rU  .TestLocalTimeDisambiguation.test_fromtimestampR  sS    $$Q'$$QX.1%1%r/   zAustralia/Lord_Howec                   \         P                  ! R 4      p\         P                  ! RV4      R8w  d   V P                  R4       Rp\        P
                  ! V4      p\        P
                  ! VR,           4      pV P                  W44       V P                  VP                  ^ 4       V P                  VP                  ^4       R# )   A%Z%z	LHST+1030>Australia/Lord_Howe timezone is not supported on this platformiU  N)r  rl  r  rM   r   rS  r*   r=  )r+   tmr  r{  r  s   &    r,   test_fromtimestamp_lord_howe8TestLocalTimeDisambiguation.test_fromtimestamp_lord_howeZ  s    __U#>>&"%4MMZ[
 ##A&##AH- !$!$r/   c                f    V P                  \        P                  ! ^ 4      P                  ^ 4       R# rk  )r*   r   rS  r=  r4   s   &r,   %test_fromtimestamp_low_fold_detectionATestLocalTimeDisambiguation.test_fromtimestamp_low_fold_detectionj  s%     	//277;r/   c                    \        R ^^^^4      pVP                  ^R7      pV P                  VP                  4       R,           VP                  4       4       R# )r   r<  r  N)r   r9  r*   rr  )r+   r	  r   s   &  r,   test_timestamp*TestLocalTimeDisambiguation.test_timestampo  sH    tRAr*kkqk!4/	*r/   c                \   \         P                  ! R 4      p\         P                  ! RV4      R8w  d   V P                  R4       \	        R^^^^-4      pVP                  ^ R7      P                  4       pVP                  ^R7      P                  4       pV P                  VR,           V4       R# )r	  r	  r	  r	  r  r<  r	  N)r  rl  r  rM   r   r9  rr  r*   )r+   r	  r   s0r  s   &    r,   test_timestamp_lord_howe4TestLocalTimeDisambiguation.test_timestamp_lord_howev  s    __U#>>&"%4MMZ[T1aB'YYAY((*YYAY((*dB'r/   c                   \        R ^^^^4      pVP                  ^R7      pVP                  4       pVP                  4       pV P                  VP	                  4       R4       V P                  VP	                  4       R4       V P                  V\
        ,           V4       V P                  VP                  ^ 4       V P                  VP                  ^ 4       R# )r   r<  r  r   N)r   r9  r  r*   r   r%  r=  )r+   r	  r   adt0adt1s   &    r,   r%  +TestLocalTimeDisambiguation.test_astimezone  s    tRAr*kkqk!~~~~..d+A&A&r/   c                4   \        ^R7      p\        ^^^^R7      p\         Fr  w  r4pW3 Fe  pVP                  We4      pVP	                  V4      pV P                  Wh4       T P                  V^8  d   ^ MVP                  VP                  4       Kg  	  Kt  	  R# r	  )r   r   r   r   r   r*   r=  )	r+   r   r~   r   r   r   r  r  r  s	   &        r,   test_pickle_fold,TestLocalTimeDisambiguation.test_pickle_fold  s    aLaAA&)7%GWMM!+OOA&  &  uqy!affqvvF	  *8r/   c                    \        ^R7      p\        ^^^^R7      pV P                  \        V4      R4       V P                  \        V4      R4       R# )r'   r<  zdatetime.time(0, 0, fold=1)z(datetime.datetime(1, 1, 1, 0, 0, fold=1)N)r   r   r*   r   r	  s   &  r,   r  %TestLocalTimeDisambiguation.test_repr  sH    aLaAA&a"?@bC	Er/   c           
        \        R ^
^^\        R7      \        P                  ,
          p\        R ^
^^\        R7      pV P	                  VP                  4       \        4       V P	                  VP                  4       \        4       V P	                  VP                  ^R7      P                  4       \        4       V P	                  VP                  ^R7      P                  4       \        4       R Fp  p\        R ^
^^V\        R7      pV P	                  VP                  4       \        4       V P	                  VP                  ^R7      P                  4       \        4       Kr  	  R Fp  p\        R ^^^V\        R7      pV P	                  VP                  4       \        4       V P	                  VP                  ^R7      P                  4       \        4       Kr  	  R# )r  r   r<  Nr	  )	r   r	  r   r"  r*   r   r%  r  r9  )r+   	dt_summer	dt_winterry  r~   s   &    r,   r-  $TestLocalTimeDisambiguation.test_dst  s_   T2r1X>AUAUU	T2r1X>	$/$/***2668$?***2668$? "F$B6(CBRVVXt,RZZQZ/335t< " "F$1aABRVVXt,RZZQZ/335t< "r/   c                   \        R ^
^^\        R7      \        P                  ,
          p\        R ^
^^\        R7      pV P	                  VP                  4       R\        ,          4       V P	                  VP                  4       R\        ,          4       V P	                  VP                  ^R7      P                  4       R\        ,          4       V P	                  VP                  ^R7      P                  4       R\        ,          4       R# )r  r   r<  NrY   r3  )r   r	  r   r"  r*   r   r%  r9  )r+   r	  r	  s   &  r,   r(  *TestLocalTimeDisambiguation.test_utcoffset  s    T2r1X>AUAUU	T2r1X>	,,.T	:,,.T	:***2<<>T	J***2<<>T	Jr/   c           	        \        R ^
^^\        R7      \        P                  ,
          p\        R ^
^^\        R7      p\        P	                  V4      p\        P	                  V4      pV P                  W1^\        ,          ,
          4       V P                  WB^\        ,          ,
          4       V P                  VP                  ^ 4       V P                  VP                  ^ 4       \        R ^
^^^\        R7      p\        P	                  V4      pV\        ,          p\        P	                  V4      pV P                  Wg4       V P                  VP                  ^ 4       V P                  VP                  ^4       \        R ^
^^^\        R7      p\        P	                  V4      pV P                  VP                  VP                  3R4       \        R ^
^^^\        R7      p\        P	                  V4      pV P                  VP                  VP                  3R4       \        R ^^^^ \        R7      p\        P	                  V4      pV P                  VP                  VP                  3R4       R# )r  r   N)   rw  )r  r'   )r  rw  )
r   r	  r   r"  r   r*   r%  r=  r-  r  )	r+   u_summeru_wintert_summert_winterr   r{  r  r   s	   &        r,   r<  (TestLocalTimeDisambiguation.test_fromutc  s   D"b!H=	@T@TTD"b!H=##H-##H-a$h#67a$h#67** T2r1b:a 	T	a  !$!$T2r1b:Q!%%(3T2r1b:Q!%%'2 T1aAh7Q!%%'2r/   c                
   \        R ^^\        R7      pV P                  WP                  \        P
                  4      4       \        R ^^\        R7      pV P                  WP                  \        P
                  4      4       R# )r  r   N)r   r	  r*   r  r   r3   r  s   & r,   test_mixed_compare_regular6TestLocalTimeDisambiguation.test_mixed_compare_regular  sX    T1a1LL67T1a1LL67r/   c           	         \        R ^
^^^-\        R7      pVP                  \        P                  4      pV P                  W4       V P                  W!4       R# r  r   Nr   r	  r  r   r3   r  )r+   t_fold
t_fold_utcs   &  r,   test_mixed_compare_fold3TestLocalTimeDisambiguation.test_mixed_compare_fold  sF    $B2h?&&x||4
F/J/r/   c           	         \        R ^^^^-\        R7      pVP                  \        P                  4      pV P                  W4       V P                  W!4       R# r	  r	  )r+   t_gap	t_gap_utcs   &  r,   test_mixed_compare_gap2TestLocalTimeDisambiguation.test_mixed_compare_gap  sF    q!Q8<$$X\\2	E-I-r/   c           	        \        R ^^\        R7      pV P                  \        V4      \        VP	                  ^R7      4      4       \        R^
^^^-\        R7      p\        R^^^^-\        R7      pV P                  \        V4      \        VP	                  ^R7      4      4       V P                  \        V4      \        VP	                  ^R7      4      4       R# )r  r   r<  r  N)r   r	  r*   r  r9  )r+   r   r	  r 
  s   &   r,   test_hash_aware+TestLocalTimeDisambiguation.test_hash_aware  s    T1a1a$qyyay'8"9:$B2h?q!Q8<ftFNNN,B'CDed5==a=+@&ABr/   r`   N)rL   ra   rb   rc   r	  r	  r	  r	  r9  rB  r	  r   r  rU  r	  r	  r	  r	  r%  r	  r  r-  r(  r<  r	  r	  r
  r
  rd   re   rf   s   @r,   r	  r	    s    #09.&$5.1= 34& 5& ./% 0%<
 34* 5* ./( 0( 34' 5'GE=6K3B80.C Cr/   r	  c                 `    \         P                  ! V 4      w  r\        VR 4       \        W4      # r1   )r  teenextr  )iterabler  r  s   &  r,   pairsr
    s%    =="DADMq9r/   c                     a  ] tR tRt o RtR t]R 4       t]R 4       t	]R 4       t
]! R^^4      P                  4       tR tR	 tR
 tR tR t]RR l4       t]RR l4       tR tR t]RR l4       tR tR tR tRtV tR# )ZoneInfoi  z/usr/share/zoneinfoc                J    Wn         W n        V P                  W4      V n        R # r1   )uttiinvertr   )r+   r
  r
  s   &&&r,   rv   ZoneInfo.__init__	  s     ++b%r/   c                   \        R V 4      \        R V 4      3pV '       d   V^ ,          ^ ,          \        ,          pV^ ,          ^ ;;,          V,          uu&   V^,          ^ ;;,          V,          uu&   \        ^\        V 4      4       Fr  pV^ ,          V;;,          W^,
          ,          ^ ,          \        ,          ,          uu&   V^,          V;;,          W,          ^ ,          \        ,          ,          uu&   Kt  	  V# )r  )r   SECr  r  )r
  r
  r   rt   r  s   &&   r,   r
  ZoneInfo.invert  s    CneCn-U1X_FqE!HHqE!HH1c"g&1aBsGAJ#--1aBE!HO+ ' 	r/   c           	        VP                  ^4      P                  4       R8w  d   \        R4      hVP                  ^ 4       \	        R4      pVP                  V^4       \        P                  R8w  d   VP                  4        \	        R4      pVP                  W^ ,          4       \        P                  R8w  d   VP                  4        \	        R4      pVP                  W^ ,          4       . p\        V^,          4       F8  pVP                  \        P                  ! RVP                  ^4      4      4       K:  	  VP                  V^,          4      p\        V4       F;  w  pw  rp
WzVP                  ^ V
4       P                  4       p\        ^ V4      W3WV&   K=  	  R.\!        V4      ,          p\        V4       F  w  rmW],          W&   K  	  V ! W<4      pV# )r  TZifznot a zoneinfo filer  r  r  z>lbbN)readdecoder  seekr   fromfilerJ   	byteorderbyteswapr  ry  structunpackr2  findr   r  )r4  fileobjcountsr
  type_indicesttisr  abbrsgmtoffisdstabbrindabbrr
  idxr+   s   &&             r,   r
  ZoneInfo.fromfile"  s{   <<?!!#v-233Rs#==E!OO3Z
GAY'==E!KKMSzgay1vay!AKKfgll1o>? " VAY' ,5T?'A'wAw!78??AD F+U9DG ,; Vc"g-FAIBE . 2{r/   c                    \         P                  P                  V P                  V4      p\	        VR 4      ;_uu_ 4       pV P                  V4      uuRRR4       #   + '       g   i     R# ; i)rbN)ospathjoinzonerootopenr
  )r4  rF   r/
  r  s   &&  r,   fromnameZoneInfo.fromnameG  sC    ww||CLL$/$<<? s   AA,	r    c                   \        V\        4      '       g   \        R 4      hVP                  V Jd   \	        R4      hVP                  4       V P                  ,
          R,          VP                  R,          ,           VP                  ^<,          ,           VP                  ,           pW P                  ^,          8  d   V P                  ^ ,          p^ pM}\        P                  ! V P                  V4      pV P                  V^,
          V w  rcV^ ,          V^ ,          ,
          pV\        ^ W P                  V^,
          ,          ,
          4      8  pW^ ,          ,          pV'       d   VP                  ^R7      # V# )r~	  r	  r  r  r<  )rn   r   r   r   r  r  EPOCHORDINALr  ry  rx  r
  r
  bisectbisect_rightr   r9  )r+   r~   rr  ttir=  r*
  tti_prevshifts   &&      r,   r   ZoneInfo.fromutcO  s$    "h''DEE99D 455llnt'8'88EAww~&yy2~& yy!	
 wwqz!''!*CD%%dggy9C !GGCE#.MHQK#a&(EIaWWSU^)CDDD
!f::1:%%Ir/   c                   VP                  4       V P                  ,
          R ,          VP                  R,          ,           VP                  ^<,          ,           VP                  ,           pV P
                  VP                  ,          p\        P                  ! WC4      pV P                  \        ^ V^,
          4      ,          V,          # )r  r  )r  r6
  r  ry  rx  r   r=  r7
  r8
  r
  r   )r+   r~   r  rr  r   r*
  s   &&&   r,   _find_tiZoneInfo._find_tim  s    llnt'8'88EAww~yy2~ yy	 WWRWW!!"0wws1cAg'**r/   c                &    V P                  V^ 4      # r
  r>
  r}   s   &&r,   r   ZoneInfo.utcoffsetw      }}R##r/   c                N    V P                  V^4      pV'       d   \        # \        # r  )r>
  r  r%  )r+   r~   r'
  s   && r,   r   ZoneInfo.dstz  s!    b!$
 t&$&r/   c                &    V P                  V^4      # )r  rA
  r}   s   &&r,   r   ZoneInfo.tzname  rC
  r/   Nc              #    "   Vf   V P                   p\        P                  P                  VR4      p \	        V4      pT;_uu_ 4        T FO  pTP                  4       pT'       g   K  TP                  R4      '       d   K6  TP                  4       ^,          x  KQ  	  R R R 4       R #   \
         d     R # i ; i  + '       g   i     R # ; i5i)Nzzone.tab#)	r1
  r.
  r/
  r0
  r2
  r  striprC   r  )r4  zonedirzone_tabr  lines   &&   r,   	zonenamesZoneInfo.zonenames  s     ?llG77<<4	XA Qzz|4 4 4**,q/)  Q  		QQsK   1CB) 
C	B;)B;B;
C)B84C7B88C;C		Cc                2   ^ ;p;p;rE\         P                  ;rg\        ;r\        P                  ;rR;r\        P                  ;rR;pp\        V^^4      pV P                  4        EF  pV^,          pV P                  V4      pVP                  4        F  w  ppVV8  d   K  V\        8  dY   V^,          pVV3W38  d   TpTpTpV\        P                  V,
          3V\        P                  V
,
          38  d	   TpTpTp
Kp  Kr  V\        8  d\   V^,          pV) pVV3W38  d   Tp	TpTpV\        P                  V,
          3V\        P                  V,
          38  d	   TpTpTpK  K  V^,          pK  	  EK  	  W4V3p\        RV,          4       \        R\        V4      3V,           ,          4       \        RV:R RV
: RV: 24       \        RV:R RV: RV: 24       \        R	V:R RV: RV: 24       \        R
V	:R RV: RV: 24       R# )r   NzNumber of zones:       %5dz@Number of transitions: %5d = %d (gaps) + %d (folds) + %d (zeros)zMin gap:         z>16z at z in zMax gap:         zMin fold:        zMax fold:        )
r   r   r  r   r   rN
  r3
  transitionsprintrM  )r4  
start_yearcount	gap_count
fold_countzeros_countmin_gapmin_foldmax_gapmax_foldmin_gap_datetimemax_gap_datetimemin_gap_zonemax_gap_zonemin_fold_datetimemax_fold_datetimemin_fold_zonemax_fold_zonestats_sincezonenamer   r~   r;
  trans_countss   &&                      r,   statsZoneInfo.stats  s   7888	8J&]]*!!.6ll:&**08<(,,z1a0HQJEh'B^^-	E#4<NIr{g%@@"''/+-(x||b01WhllM]>]4^^"''/+-( _ T\!OJ"FEr{h%BB#((0,.)x||b01Xx||N_?_4``#((0,.) a
  1$K3 . (: "{;*U23PL!#l24 	5W>NP\]^W>NP\]^X?PR_`aX?PR_`ar/   c              #     "   \        \        V P                  V P                  4      4       F<  w  w  rw  r4V^ ,          V^ ,          ,
          p\        \        VR7      ,           V3x  K>  	  R# 5i)r   r  N)r
  r  r
  r
  EPOCH_NAIVEr   r+   _prev_tir   r
  r;
  s   &     r,   rQ
  ZoneInfo.transitions  sT     %*3tww+@%A!LQ'1qEGAJ&E1!55== &Bs   A,A.c              #  <  "   \        \        V P                  V P                  4      4       Fj  w  w  rw  r4V^ ,          V^ ,          ,
          pV\        8  g   K.  V^,          V^,          8X  g   KE  \        \        V4      V) V^,          V^,          3x  Kl  	  R# 5irk  )r
  r  r
  r
  r  _utcfromtimestampr   rk
  s   &     r,   nondst_foldsZoneInfo.nondst_folds  su     %*3tww+@%A!LQ'1qEGAJ&Et|1 3'!5vwqz2a5PP &Bs   ABB1+Bc                   ^ pV P                  4        Fm  pV P                  V4      pVP                  4        FE  w  rgrVP                  V8  g   V'       d	   W8w  d   K'  V^,          p\	        RW4WgW3,          4       KG  	  Ko  	  R# )r   z%3d) %-30s %s %10s %5s -> %sN)rN
  r3
  rq
  r  rR
  )
r4  	same_abbrrS
  rT
  re
  r   r~   r;
  	prev_abbrr)
  s
   &&&       r,   print_all_nondst_foldsZoneInfo.print_all_nondst_folds  sw    Hh'B.0oo.?*977Z'99J
49CD E	 /@ (r/   c              #  f   "   V P                  4        F  w  rV\        8  g   K  W) 3x  K  	  R # 5ir1   rQ
  r  r+   r   r;
  s   &  r,   foldsZoneInfo.folds  s*     ((*HAt|i +s   11c              #  d   "   V P                  4        F  w  rV\        8  g   K  W3x  K  	  R # 5ir1   ry
  rz
  s   &  r,   gapsZoneInfo.gaps  s(     ((*HAt|h +s   00c              #  \   "   V P                  4        F  w  rV'       d   K  Vx  K  	  R # 5ir1   )rQ
  rz
  s   &  r,   zerosZoneInfo.zeros  s$     ((*HA5 +s   ,
,)r   r
  r
  r1   r  )Fr'   )rL   ra   rb   rc   r1
  rv   rP  r
  classmethodr
  r3
  r   r  r6
  r   r>
  r   r   r   rN
  rg
  rQ
  rq
  rv
  r{
  r~
  r
  rd   re   rf   s   @r,   r
  r
    s     $H& 	 	 " "H # #
 a#--/L<+$'$ * * -b -b`>
Q 	E 	E 

 r/   r
  c                      a  ] tR tRt o RtR tR tR tR t]	]
P                  R 4       4       t]P                  ! ]! ]R4      R	4      R
 4       tRtV tR# )ZoneInfoTesti  zAmerica/New_Yorkc                `   \         P                  R 8X  d   V P                  R4       \         P                  R8X  d   V P                  R4        \        P	                  V P
                  4      V n        R#   \         d/   pT P                  RT P
                  : RT: 24        Rp?R# Rp?ii ; i)vxworksz"Skipping zoneinfo tests on VxWorksr  z"Skipping zoneinfo tests on Windowsz	Skipping z: N)rJ   r  rM   r
  r3
  re
  r   FileNotFoundError)r+   errs   & r,   r   ZoneInfoTest.setUp  sz    <<9$MM>?<<7"MM>?	D''6DG  	DMMt}}cBCC	Ds   $A4 4B-?#B((B-c                    V P                  VP                  R R7      VP                  \        VP                  4      3VP                  R R7      VP                  \        VP                  4      34       R # )Nr   )r*   r9  r=  idr   )r+   r  r  s   &&&r,   assertEquivDatetimes!ZoneInfoTest.assertEquivDatetimes  sR    !))4)0!&&"QXX,G))4)0!&&"QXX,G	Ir/   c           	        V P                   pVP                  4        EF  w  r#^ V,          RV,          V\        P                  ,
          3 EF  pW$,           pVP	                  VP                  VR7      4      pV P                  VP                  ^4       VP                  \        P                  R7      P                  V4      pV P                  Wv4       VP                  4       pV P                  VP                  RR7      WX,           4       V P                  VP                  \        P                  4      VP                  \        P                  R7      4       EK  	  \        P                  ) V3 FJ  pW$,           pVP                  VR7      pVP	                  V4      pV P                  VP                  ^ 4       KL  	  EK  	  R# )r   r  r   N)r   r{
  r   r"  r   r9  r*   r=  r   r3   r  r
  r   	r+   r   r~   r;
  r  udtr	  adtr   s	   &        r,   
test_foldsZoneInfoTest.test_folds  sM   WWIB%iuei6J6J.JKfjjB!78  1-kkk6AA"E))#3MMO	  D!93?K))#..*F*-++X\\+*JL L !+++U3fkkk,jjo  1-	 4 $r/   c           	        V P                   pVP                  4        EF  w  r#^ V,          RV,          V\        P                  ,
          3 EFY  pW$,           pVP	                  VR7      pVP                  V4      pV P                  VP                  ^ 4       VP	                  \        P                  R7      P                  V4      pV P                  Wv4       VP                  4       pV P                  VP	                  RR7      VP	                  RR7      V,           4       VP                  VP	                  VR7      4      V,
          V,           pV P                  VP	                  ^R7      P                  4       VP	                  ^ R7      P                  4       RV,          4       EK\  	  \        P                  ) V3 FH  pW$,           pVP                  VP	                  VR7      4      pV P                  VP                  ^ 4       KJ  	  EK  	  R# )r   r  r   Nr<  zAt %s.)r   r~
  r   r"  r9  r   r*   r=  r   r3   r  r
  r   
assertLessr
  s	   &        r,   	test_gapsZoneInfoTest.test_gaps  s   WWIB%iuei6J6J.JKfkkk,jjo  1-kkk6AA"E))#3MMO	  D!93;;d;;SV_;_`jj2!67%?!C 3 = = ? # 3 = = ? (30 L !+++U3fjjB!78  1- 4! #r/   c              #    "    \         P                  ! 4       ;_uu_ 4       pWR &   \        P                  ! 4        Rx  RRR4       \        P                  ! 4        R#   + '       g   i     L'; i  \        P                  ! 4        i ; i5i)TZN)r   EnvironmentVarGuardr  tzset)r4  
new_tzinfoenvs   && r,   
_change_tzZoneInfoTest._change_tz+  sR     	..00C&D	 1
 KKM 10
 KKMs2   BA1 AA1 BA.	)A1 1BBr
  z"time module has no attribute tzsetc                H   R V P                   9   g"   V P                   P                  R4      '       d#   V P                  RV P                   ,          4       V P                  pV P	                  V P                   4      ;_uu_ 4        VP                  4        EF  w  r#VP                  R8  d    EMV\        R^^4      ,
          \        ,          pV\        ,          pRR	R
^ V^,
          VR,           VR,           3 Fy  pWF,           p\        P                  ! V4      p\        P                  ! Wq4      P                  RR7      p	V P                  W4       VP                  4       p
V P                  Wz4       K{  	  V^ 8  g   K  \        P                  ! V4      V^,          ,
          pVP                  4       pVP                  ^R7      P                  4       pV P                  WV^,          ,           4       V P                  WV^,          ,
          4       VP                  \        P                   4      pVP                  ^R7      P                  \        P                   4      pV P                  W\#        ^ V4      ,           4       EK  	  RRR4       R#   + '       g   i     R# ; i)Riyadh8zright/zSkipping %si  r    Nr   r<  iir4  i@ i2 )re
  rC   rM   r   r
  rQ
  r  r   r
  rS  r9  r
  rr  r*   r  r   r3   r   )r+   r   r
  r;
  r	  r  r  r  sdttzdtr  r~   ts0ts1utc0utc1s   &               r,   test_system_transitions$ZoneInfoTest.test_system_transitions6  s    & ((22MM-$--78WW__T]]++ nn.
88t# HT1a00S8c\$j"aq&"y."y.BAA"003C#11!8@@@MD--c8B$$Q+B 6!//3eai?B,,.C**!*,668C$$SrAv+6$$SrAv+6==6D::1:-88FD$$T)Ar2B+BC3 / ,+++s   C6J?DJJ!	r  N)rL   ra   rb   rc   re
  r   r
  r
  r
  r
  
contextlibcontextmanagerr
  r  
skipUnlessr  r  r
  rd   re   rf   s   @r,   r
  r
    sp     !HDI.,..    w!E%D%Dr/   r
  c                   2   a a ] tR tRt oV 3R ltRtVtV ;t# )ZoneInfoCompleteTestia  c                D  < . p\        R 4      '       d}   \        P                  4        Fd  p\        RV,          \        3/ 4      pW#n        \        V4       F3  pVP                  R4      '       g   K  VP                  V! V4      4       K5  	  Kf  	  \        SV `)  V4       R# )tzdatazZoneInfoTest[%s]test_N)r   r
  rN
  r   r
  re
  r8   rC   ry  superrv   )r+   rf  rF   TestmethodrK   s   &    r,   rv   ZoneInfoCompleteTest.__init__b  s    x(( **,.5K $!$iF((11T&\2 ( - 	r/   r`   )rL   ra   rb   rc   rv   rd   re   __classcell__)rK   rg   s   @@r,   r
  r
  a  s     	  	 r/   r
  c                       ] tR tRtRtRtR# )IranTestin  zAsia/Tehranr`   N)rL   ra   rb   rc   re
  rd   r`   r/   r,   r
  r
  n  s    Hr/   r
  zneed _testcapi modulec                      a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tRtV tR# )CapiTestir  c                    V P                   P                  P                  R 4      '       d   V P                  R4       \        P
                  ! 4        R# PurezNot relevant in pure PythonN)rK   rL   rD   rM   	_testcapitest_datetime_capir4   s   &r,   r   CapiTest.setUpt  s8    >>""++F33MM78 	$$&r/   c                    R F\  p\         P                  ! V4      pV P                  VR7      ;_uu_ 4        V P                  V\        P
                  4       RRR4       K^  	  R#   + '       g   i     Ks  ; i)T)	use_macroNTF)r
  get_timezone_utc_capir^  r2   r   r3   )r+   r
  capi_utcs   &  r,   test_utc_capiCapiTest.test_utc_capi}  sS    &I 66yAH	22h5 32 ' 322s   !A%%A6c                   \         P                  ! 4       w  rp\        \        R
R7      R4      p\        \        R
R7      4      pRW3RW$3RW53.pV F  w  rxp	V P	                  VR7      ;_uu_ 4        V P                  W4       \        R^^VR7      p
\        R^^V	R7      pV P                  W4       V P                  V
P                  4       VP                  4       4       \        R^^^\        P                  R7      pV P                  V
P                  \        P                  4      V4       R	R	R	4       K  	  R	#   + '       g   i     K  ; i)r?  r   r   est_capi	est_macroest_macro_nn)rF   r  r   Nr3  )
r
  make_timezones_capir   r   r^  r*   r   r   r3   r  )r+   r
  r
  r
  	exp_namedexp_unnamedcasesrF   tz_acttz_expr   r  r  s   &            r,   test_timezones_capiCapiTest.test_timezones_capi  s   ,5,I,I,K)\YR0%8	yr23 -)/\7
 %* D&4((  0tQ&9tQ&9  *  szz|<!$1aE  !=vF )( %*(((s   1B<D;;Ec           	         ! R  R\         4      p\         V3 F  pR F  pV! V!  pV P                  W#R7      ;_uu_ 4        \        P                  ! V4      w  rVpV P	                  WTP
                  4       V P	                  WdP                  4       V P	                  WtP                  4       RRR4       K  	  K  	  R#   + '       g   i     K  ; i)c                       ] tR tRtRtR# )=CapiTest.test_PyDateTime_DELTA_GET.<locals>.TimeDeltaSubclassi  r`   Nr  r`   r/   r,   TimeDeltaSubclassr
    rY  r/   r
  r4  r   N)r	  7   韆 r
  )r   r^  r
  PyDateTime_DELTA_GETr*   r  r  r  )r+   r
  klassr   r  r  r  r  s   &       r,   test_PyDateTime_DELTA_GET"CapiTest.test_PyDateTime_DELTA_GET  s    		 	  !23E:4L\\e\772;2P2PQR2S/D<$$T662$$Wii8$$\>>B 87 ; 4 877    A+B=	=Cc           	         ! R  R\         4      p\         V3 F  pR F  pV! V!  pV P                  W#R7      ;_uu_ 4        \        P                  ! V4      w  rVpV P	                  WTP
                  4       V P	                  WdP                  4       V P	                  WtP                  4       RRR4       K  	  K  	  R#   + '       g   i     K  ; i)c                       ] tR tRtRtR# )2CapiTest.test_PyDateTime_GET.<locals>.DateSubclassi  r`   Nr  r`   r/   r,   rX  r
    rY  r/   rX  r
  N))r  r'   r  )rI  r  rt  )r   r^  r
  PyDateTime_GETr*   r  r  r-  )r+   rX  r
  r   r  r  r  r-  s   &       r,   test_PyDateTime_GETCapiTest.test_PyDateTime_GET  s    	4 	 L)E54L\\e\77'0'?'?'B$D$$T662$$UGG4$$S%%0 87 6 * 877r
  c           
     @    ! R  R\         4      p\         V3 F  pRR^^^^^7R\        P                  33 F  pV! V!  pV P                  W#R7      ;_uu_ 4        \        P
                  ! V4      w  rVrxp	V P                  WTP                  4       V P                  WdP                  4       V P                  WtP                  4       V P                  WP                  4       V P                  WP                  4       RRR4       K  	  K  	  R#   + '       g   i     K  ; i)c                       ] tR tRtRtR# );CapiTest.test_PyDateTime_DATE_GET.<locals>.DateTimeSubclassi  r`   Nr  r`   r/   r,   ro  r
    rY  r/   ro    r
  r
  N)r
  r  r	  rr  r$  r
  r
  )r   r   r3   r^  r
  PyDateTime_DATE_GETr*   r  ry  rx  r  r2   r   )
r+   ro  r
  r   r  r  ry  rx  r  r   s
   &         r,   test_PyDateTime_DATE_GET!CapiTest.test_PyDateTime_DATE_GET  s    	x 	  01E92r2r5",,() 4L\\e\77,5,I,I!,L >D&v $$T662$$VXX6$$VXX6$$[--@MM&((3 87	) 2
 877s   B"D	Dc           	     :    ! R  R\         4      p\         V3 F  pR^^^^
\        P                  33 F  pV! V!  pV P                  W#R7      ;_uu_ 4        \        P
                  ! V4      w  rVrxp	V P                  WTP                  4       V P                  WdP                  4       V P                  WtP                  4       V P                  WP                  4       V P                  WP                  4       RRR4       K  	  K  	  R#   + '       g   i     K  ; i)c                       ] tR tRtRtR# )7CapiTest.test_PyDateTime_TIME_GET.<locals>.TimeSubclassi  r`   Nr  r`   r/   r,   r
  r
    rY  r/   r
  r
  N)r$  r  rT  r  )r   r   r3   r^  r
  PyDateTime_TIME_GETr*   r  ry  rx  r  r2   r   )
r+   r
  r
  r   r  r  ry  rx  r  r   s
   &         r,   test_PyDateTime_TIME_GET!CapiTest.test_PyDateTime_TIME_GET  s    	4 	 L)E)b"b(,,794L\\e\77.7.K.KA.N >D&v $$T662$$VXX6$$VXX6$$[--@MM&((3 879 * 877s   B"D			Dc           	     F   \         P                  ! 4       w  rpV P                  R R7      ;_uu_ 4        V P                  V\        P
                  4       RRR4       V P                  RR7      ;_uu_ 4        V P                  V\        P
                  4       RRR4       V P                  RR7      ;_uu_ 4        V P                  V\        P
                  4       \	        \        ^ R7      R4      pV P                  W44       \        R^^VR7      p\        R^^VR7      pV P                  WV4       V P                  VP                  4       VP                  4       4       RRR4       R#   + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     R# ; i)	r
  )testnameNr
  non_utcr   r#  r  r   )r
  get_timezones_offset_zeror^  r2   r   r3   r  r   r*   r   r   )r+   r
  r
  r
  non_utc_expr   r  s   &      r,   test_timezones_offset_zero#CapiTest.test_timezones_offset_zero  s    'AACG\\6\**MM$- + \\6\**MM$- + \\9\--Whll3"91#5r:KW24Ag6C4Ak:CS&SZZ\3::<8 .- +** +* .--s$   !E(6!E<9B%F(E9	<F	F 	c           
         ! R  R\         4      p\        R^^4      pV! R^^4      p\        R^^4      p\        P                  pV P	                  V! V4      4       V P	                  V! V4      4       V P	                  V! V4      4       V P	                  V! VR4      4       V P                  V! VR4      4       V P                  V! VR4      4       \        4       \        4       ^R\        ^4      \        P                  \        ^^ 4      .pV FF  pR F=  pV P                  WxR7      ;_uu_ 4        V P                  V! Wx4      4       RRR4       K?  	  KH  	  R#   + '       g   i     KX  ; i)c                       ] tR tRtRtR# ).CapiTest.test_check_date.<locals>.DateSubclassi  r`   Nr  r`   r/   r,   rX  r
    rY  r/   rX    T
2011-01-01argexactNr
  )r   r   r
  datetime_check_dater@  rA  ro  r  r   r   r3   r   r^  )	r+   rX  r  dsr~   is_dater   r  r  s	   &        r,   test_check_dateCapiTest.test_check_date  s+   	4 	 q!$1%dAq!// 	
#$$4() 	T*+T*+ L!hllDRL:C&\\c\77$$WS%89 87 ' 777s   /E	E*c                `    ! R  R\         4      p\        ^^4      pV! ^^4      p\        P                  pV P                  V! V4      4       V P                  V! V4      4       V P                  V! VR4      4       V P	                  V! VR4      4       \        4       \        4       ^R\        ^4      \        P                  \        R^^4      .pV FF  pR F=  pV P                  WgR7      ;_uu_ 4        V P	                  V! Wg4      4       RRR4       K?  	  KH  	  R#   + '       g   i     KX  ; i)c                       ] tR tRtRtR# ).CapiTest.test_check_time.<locals>.TimeSubclassi  r`   Nr  r`   r/   r,   r
  r    rY  r/   r
  Tr   r
  r  Nr
  )r   r
  datetime_check_timer@  rA  ro  r  r   r   r3   r   r^  )r+   r
  r   rT  is_timer   r  r  s   &       r,   test_check_timeCapiTest.test_check_time  s    	4 	 RL"b!// 	
#$4() 	T*+ L!hllDq!,<> C&\\c\77$$WS%89 87 ' 777   2D	D-c                l    ! R  R\         4      p\        R^^^^4      pV! R^^^^4      p\        P                  pV P                  V! V4      4       V P                  V! V4      4       V P                  V! VR4      4       V P	                  V! VR4      4       \        4       \        4       ^R\        ^4      \        P                  \        R^^4      .pV FF  pR F=  pV P                  WgR7      ;_uu_ 4        V P	                  V! Wg4      4       RRR4       K?  	  KH  	  R#   + '       g   i     KX  ; i)c                       ] tR tRtRtR# )6CapiTest.test_check_datetime.<locals>.DateTimeSubclassi,  r`   Nr  r`   r/   r,   ro  r  ,  rY  r/   ro  r
  Tr   r  Nr
  )r   r
  datetime_check_datetimer@  rA  ro  r  r   r   r3   r   r^  )r+   ro  r~   rY  is_datetimer   r  r  s   &       r,   test_check_datetimeCapiTest.test_check_datetime+  s   	x 	 dAq"b)tQ2r277 	B(C()B-. 	S$/0 L!hllDq!,<> C&\\c\77$$[%<= 87 ' 777s   8D"	"D3c                `    ! R  R\         4      p\        ^4      pV! ^4      p\        P                  pV P                  V! V4      4       V P                  V! V4      4       V P                  V! VR4      4       V P	                  V! VR4      4       \        4       \        4       ^R\        P                  \        R^^4      \        R^^4      .pV FF  pR F=  pV P                  WgR7      ;_uu_ 4        V P	                  V! Wg4      4       RRR4       K?  	  KH  	  R#   + '       g   i     KX  ; i)c                       ] tR tRtRtR# )4CapiTest.test_check_delta.<locals>.TimeDeltaSubclassiF  r`   Nr  r`   r/   r,   r
  r  F  rY  r/   r
  Tr   r
  r  Nr
  )r   r
  datetime_check_deltar@  rA  ro  r  r   r3   r   r   r^  )r+   r
  r  tdsis_timedeltar   r  r  s   &       r,   test_check_deltaCapiTest.test_check_deltaE  s    		 	 q\" 55 	R()S)*R./ 	c401 Ld4A.q!0DF C&\\c\77$$\#%=> 87 ' 777r  c           
         ! R  R\         4      p\        4       pV! 4       p\        \        RR7      4      p\        P                  pV P                  V! V4      4       V P                  V! V4      4       V P                  V! V4      4       V P                  V! VR4      4       V P                  V! VR4      4       V P                  V! VR4      4       \        4       \        4       ^R\        R^^4      \        R^^4      .pV FF  pR	 F=  pV P                  WxR7      ;_uu_ 4        V P                  V! Wx4      4       RRR4       K?  	  KH  	  R#   + '       g   i     KX  ; i)
c                       ] tR tRtRtR# )2CapiTest.test_check_tzinfo.<locals>.TZInfoSubclassi`  r`   Nr  r`   r/   r,   TZInfoSubclassr"  `  rY  r/   r#  r   Tr   r
  r  Nr3  r
  )r   r   r   r
  datetime_check_tzinfor@  rA  ro  r  r   r   r^  )	r+   r#  r  tzisr   	is_tzinfor   r  r  s	   &        r,   test_check_tzinfoCapiTest.test_check_tzinfo_  s#   	V 	 hib)*33	 		#'	"&	$(	#t,- 	2t,-4./ LT1a (4A"68 C&\\c\77$$Ys%:; 87 ' 777s   %E	E c           	     0   \        R ^^4      pR Fn  pV P                  VR7      ;_uu_ 4        \        P                  ! VVP                  VP
                  VP                  4      pV P                  W14       RRR4       Kp  	  R#   + '       g   i     K  ; i)r
  macroNFT)r   r^  r
  get_date_fromdater  r  r-  r*   r+   exp_dater+  
c_api_dates   &   r,   test_date_from_dateCapiTest.test_date_from_date|  su    a$ EE**&88MMNNLL	"
   6 +* !***   A	BBc                   \        R ^^^^^7R4      pR F  pV P                  VR7      ;_uu_ 4        \        P                  ! VVP                  VP
                  VP                  VP                  VP                  VP                  VP                  4      pV P                  W14       RRR4       K  	  R#   + '       g   i     K  ; i)r
  r
  r*  Nr,  )r   r^  r
  get_datetime_fromdateandtimer  r  r-  r  ry  rx  r  r*   r.  s   &   r,   test_datetime_from_dateandtime'CapiTest.test_datetime_from_dateandtime  s    D!RRU; EE**&CCMMNNLLMMOOOO((*
   6 +* !***s   A5B44Cc                   \        R ^^^^^7R4      pR F  pR F  pV P                  W2R7      ;_uu_ 4        \        P                  ! VVP                  VP
                  VP                  VP                  VP                  VP                  VP                  VP                  4	      pV P                  WA4       V P                  VP                  VP                  4       RRR4       K  	  K  	  R#   + '       g   i     K  ; i)r
  r
  r+  r=  Nr   r'   r,  )r   r^  r
  #get_datetime_fromdateandtimeandfoldr  r  r-  r  ry  rx  r  r=  r*   )r+   r/  r=  r+  r0  s   &    r,   %test_datetime_from_dateandtimeandfold.CapiTest.test_datetime_from_dateandtimeandfold  s    D!RRU;D$\\\99!*!N!N       ,, 	"'J $$Z:$$Z__hmmD :9 % 999s   B&C.	.C?c           
     H   \        ^^^7R4      pR Fy  pV P                  VR7      ;_uu_ 4        \        P                  ! VVP                  VP
                  VP                  VP                  4      pV P                  W14       RRR4       K{  	  R#   + '       g   i     K  ; i)rr  r
  r*  Nr,  )	r   r^  r
  get_time_fromtimer  ry  rx  r  r*   )r+   exp_timer+  
c_api_times   &   r,   test_time_from_timeCapiTest.test_time_from_time  s    BE* EE**&88MMOOOO((*
   6 +* !***s   ABB!c                   \        ^^^7R4      pR F  pR F  pV P                  W2R7      ;_uu_ 4        \        P                  ! VVP                  VP
                  VP                  VP                  VP                  4      pV P                  WA4       V P                  VP                  VP                  4       RRR4       K  	  K  	  R#   + '       g   i     K  ; i)rr  r
  r9  Nr:  r,  )
r   r^  r
  get_time_fromtimeandfoldr  ry  rx  r  r=  r*   )r+   r@  r=  r+  rA  s   &    r,   test_time_from_timeandfold#CapiTest.test_time_from_timeandfold  s    BE*D$\\\99!*!C!C    ,, "'J $$Z:$$Z__hmmD :9 % 999s   BC
	
Cc           	     0   \        ^^7R4      pR Fn  pV P                  VR7      ;_uu_ 4        \        P                  ! VVP                  VP
                  VP                  4      pV P                  W14       RRR4       Kp  	  R#   + '       g   i     K  ; i)r	  r
  r*  Nr,  )r   r^  r
  get_delta_fromdsur  r  r  r*   )r+   	exp_deltar+  c_api_deltas   &   r,   test_delta_from_dsuCapiTest.test_delta_from_dsu  sy    b"e,	 EE**'99NN%%**	,   8 +* !***r3  c                6   \        R ^^4      P                  4       pR Fc  pV P                  VR7      ;_uu_ 4        \        P                  ! \        V4      V4      pV P                  V\        R ^^4      4       RRR4       Ke  	  R#   + '       g   i     Kz  ; i)  r*  Nr,  )r   rr  r^  r
  get_date_fromtimestampro   r*   r   )r+   rT  r+  r  s   &   r,   test_date_from_timestamp!CapiTest.test_date_from_timestamp  su    dAr",,. EE**44SWeD  Dq"$56 +* !***s   >BBc                   RRR\        \        ^R7      4      R3R
RR	\        \        ^R7      4      R3.p\        P                  pV Fr  pR Fi  pV P	                  W4R7      ;_uu_ 4        Vw  rVp\        VRV/ p\        VP                  4       4      p	V! WWt4      p
V P                  W4       RRR4       Kk  	  Kt  	  R#   + '       g   i     K  ; i)rO  NTr   )r  r+  r   rO  r  r$  )rT  NF)rT  NTrO  r  r$  rc  r  )rU  NF)rU  NTr,  )	r   r   r
  get_datetime_fromtimestampr^  r   ro   rr  r*   )r+   r
  r  r  r+  dtupr   usetzdt_origrT  r  s   &          r,   test_datetime_from_timestamp%CapiTest.test_datetime_from_timestamp  s    ('HYQ%78$?0/"HYQ-?$@$G
 #==D$\\t\99*.'D%&<V<GW..01B*2uDE$$W4 :9 % 999s   )AB?	?Cc                   \         P                  R 8X  d   RpMRp\        P                  ! R\        RJ  RV R24      p\        f+   \
        P                  ! V4      pV P                  V^ 4       R# R Fn  pV P                  V4      ;_uu_ 4        \        P                  ! V4      P                  p\
        P                  ! V3/ VB pV P                  V^ 4       RRR4       Kp  	  R#   + '       g   i     K  ; i)iosAppleFrameworkLoaderExtensionFileLoaderz
            if Na_  :
                import _testcapi as module
                module.test_datetime_capi()
            else:
                import importlib.machinery
                import importlib.util
                fullname = '_testcapi_datetime'
                origin = importlib.util.find_spec('_testcapi').origin
                loader = importlib.machinery.a  (fullname, origin)
                spec = importlib.util.spec_from_loader(fullname, loader)
                module = importlib.util.module_from_spec(spec)
                spec.loader.exec_module(module)

            def run(type_checker, obj):
                if not type_checker(obj, True):
                    raise TypeError(f'{type(obj)} is not C API type')

            import _datetime
            run(module.datetime_check_date,     _datetime.date.today())
            run(module.datetime_check_datetime, _datetime.datetime.now())
            run(module.datetime_check_time,     _datetime.time(12, 30))
            run(module.datetime_check_delta,    _datetime.timedelta(1))
            run(module.datetime_check_tzinfo,   _datetime.tzinfo())
        )isolatedlegacy)rJ   r  textwrapdedent_interpretersr   run_in_subinterpr*   r^  
new_config__dict__run_in_subinterp_with_config)r+   extension_loaderscriptretrF   configs   &     r,   test_type_check_in_subinterp%CapiTest.test_type_check_in_subinterp  s     <<5 54 &%& '. /?-? @	" 2  **62CS!$.\\$''*55d;DDF!>>vPPC$$S!, (' /'''s   A
C&&C7r`   N)rL   ra   rb   rc   r   r
  r
  r
  r
  r
  r
  r
  r  r  r  r  r'  r1  r6  r<  rB  rF  rL  rQ  rZ  rm  rd   re   rf   s   @r,   r
  r
  r  s|     '6G4C14&4$9,:8:4>4?4<:77"E(7E"975,)- )-r/   r
  c                   V   a  ] tR tRt o R t]P                  R 4       tR tR t	Rt
V tR# )ExtensionModuleTestsi%  c                    V P                   P                  P                  R 4      '       d   V P                  R4       R# R# r
  )rK   rL   rD   rM   r4   s   &r,   r   ExtensionModuleTests.setUp'  s/    >>""++F33MM78 4r/   c                   V P                  R 4      ;_uu_ 4        \        P                  ! R4      p\        P                  ! RV4       RRR4       V P                  R4      ;_uu_ 4        \        P                  ! R4      p\        P                  ! RV4       RRR4       R#   + '       g   i     La; i  + '       g   i     R# ; i)simplez
                import datetime
                from _ast import Tuple
                f = lambda: None
                Tuple.dims = property(f, f)

                class tzutc(datetime.tzinfo):
                    pass
                -cNcomplexa  
                import asyncio
                import datetime
                from typing import Type

                class tzutc(datetime.tzinfo):
                    pass
                _EPOCHTZ = datetime.datetime(1970, 1, 1, tzinfo=tzutc())

                class FakeDateMeta(type):
                    def __instancecheck__(self, obj):
                        return True
                class FakeDate(datetime.date, metaclass=FakeDateMeta):
                    pass
                def pickle_fake_date(datetime_) -> Type[FakeDate]:
                    # A pickle function for FakeDate
                    return FakeDate
                )r^  rb  rc  r   assert_python_okr+   rj  s   & r,   test_gh_120161#ExtensionModuleTests.test_gh_120161+  s    \\(##__ & F **48 $ \\)$$__ & F$ **48' %$ $# %$$s   .B!).B4!B1	4C	c                `    \         P                  ! R 4      p\        P                  ! RV4       R# )a}  
            import sys
            for i in range(5):
                import _datetime
                assert _datetime.date.max > _datetime.date.min
                assert _datetime.time.max > _datetime.time.min
                assert _datetime.datetime.max > _datetime.datetime.min
                assert _datetime.timedelta.max > _datetime.timedelta.min
                assert _datetime.date.__dict__["min"] is _datetime.date.min
                assert _datetime.date.__dict__["max"] is _datetime.date.max
                assert _datetime.date.__dict__["resolution"] is _datetime.date.resolution
                assert _datetime.time.__dict__["min"] is _datetime.time.min
                assert _datetime.time.__dict__["max"] is _datetime.time.max
                assert _datetime.time.__dict__["resolution"] is _datetime.time.resolution
                assert _datetime.datetime.__dict__["min"] is _datetime.datetime.min
                assert _datetime.datetime.__dict__["max"] is _datetime.datetime.max
                assert _datetime.datetime.__dict__["resolution"] is _datetime.datetime.resolution
                assert _datetime.timedelta.__dict__["min"] is _datetime.timedelta.min
                assert _datetime.timedelta.__dict__["max"] is _datetime.timedelta.max
                assert _datetime.timedelta.__dict__["resolution"] is _datetime.timedelta.resolution
                assert _datetime.timezone.__dict__["min"] is _datetime.timezone.min
                assert _datetime.timezone.__dict__["max"] is _datetime.timezone.max
                assert _datetime.timezone.__dict__["utc"] is _datetime.timezone.utc
                assert isinstance(_datetime.timezone.min, _datetime.tzinfo)
                assert isinstance(_datetime.timezone.max, _datetime.tzinfo)
                assert isinstance(_datetime.timezone.utc, _datetime.tzinfo)
                del sys.modules['_datetime']
            ru  N)rb  rc  r   rw  rx  s   & r,   test_update_type_cache+ExtensionModuleTests.test_update_type_cacheN  s'     " 8 	&&tV4r/   c                \   R p\         P                  ! RV4      w  r#pV P                  V^ 4       V P                  VR4       V P                  VR4       RV,           p\         P                  ! RV4      w  r#pV P                  V^ 4       V P                  VR4       V P                  VR4       R# )a  if True:
        from concurrent.futures import InterpreterPoolExecutor

        def func():
            import _datetime
            print('a', end='')

        with InterpreterPoolExecutor() as executor:
            for _ in range(8):
                executor.submit(func)
        ru  r/   zimport _datetime
Ns   aaaaaaaa)r   rw  r*   )r+   rj  rcoutr
  s   &    r,   -test_concurrent_initialization_subinterpreterBExtensionModuleTests.test_concurrent_initialization_subinterpretern  s    

 %55dFCQh'c" &.$55dFCQh'c"r/   r`   N)rL   ra   rb   rc   r   r   cpython_onlyry  r|  r  rd   re   rf   s   @r,   rp  rp  %  s5     9  9  9D5@# #r/   rp  c                 8    VP                  \        4       4       V# r1   )addTestr
  )loaderstandard_testsr  s   &&&r,   
load_testsr    s    /12r/   __main__r`   r3  rZ   rX   ii0){r7
  r
  rM  rv	  r  r  r.
  r  r   r  r
  rJ   rb  r  rd  r   operatorr   r   r   r   r   r	   r
   r   r   testr   test.supportr   r   r   r   r   r   r   r   r)   r   r   r   r   r   r   r   r   r  r
  ImportErrorrd  ModuleNotFoundErrorr  r[   r   _loadsr  r  rY  r   rj
  r  r  r1  r  TestCaser%   ri   r   r   r   r   r   rg  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r%  r	  r  r  r  r8  r  r  r  r	  r	  r	  rM	  r|	  r	  r	  r	  r	  r	  r	  r	  r
  r
  r
  r
  	TestSuiter
  r
  r  r
  rp  r  rL   main)r   s   0r,   <module>r     s       	  	   	  
     C C C  J J B B " %      # 
 	
 fmm,  %V%<%<q%@ACAe 65)AC tQ1a( $r2r*
 ElEl5)"" 5)v &  &<; <
E$8 Ef ^/"" ^/BD8$$ DJ.7 .7f	 I	+X->-> I	^n48$$ n4`4 D;&(9(9 D;Tx gM8 gMT-< 4 P9&(9(9 P9j]4 ]4BwE:x'8'8 wEx@C\:x/@/@ @CH |	1	qQAq!Q
 
!RQ	( (T b)eU3b)eU3b*eU3b)eU3q%# vy!,}h// }FOOx   OOn9f 9D1' 1f J6J6K6	J6/& /dOC("3"3 OCb 1o
cv cLqD8$$ qDh
 8-- 
 |  
d"$;<o-x   o- =o-dc#8,, c#L
 zMMO Uc  I  M  		Cs<   ,P, 1P< :Q 1Q,	P98P9<	Q	Q	QQ