KGRKJGETMRETU895U-589TY5MIGM5JGB5SDFESFREWTGR54TY
Server : Apache/2.2.17 (Unix) mod_ssl/2.2.17 OpenSSL/0.9.8e-fips-rhel5 DAV/2 PHP/5.2.17
System : Linux localhost 2.6.18-419.el5 #1 SMP Fri Feb 24 22:47:42 UTC 2017 x86_64
User : nobody ( 99)
PHP Version : 5.2.17
Disable Function : NONE
Directory :  /proc/22697/root/usr/lib64/python2.4/test/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //proc/22697/root/usr/lib64/python2.4/test/test_datetime.pyc
mņ
‚=5Dc@sŪdZdkZdkZdkZdkZdklZdklZl	Z	dkl
Z
dklZdklZdkl
Z
lZgZeefD]<ZeefD])ZedƒD]Zeeeefqµq„q•[Zeeƒd	d	djpt‚d
ddd
hgffZdeifd„ƒYZdefd„ƒYZdefd„ƒYZdeifd„ƒYZdeifd„ƒYZdefd„ƒYZdeifd„ƒYZde
fd„ƒYZdefd„ƒYZ d efd!„ƒYZ!d"e fd#„ƒYZ"d$efd%„ƒYZ#d&efd'„ƒYZ$d(eifd)„ƒYZ%d*e$e%fd+„ƒYZ&d,e"e%fd-„ƒYZ'd.„Z(e
d/ƒZ)e
d0d1ƒZ*e
d2d1ƒZ+ed1d3d1d	ƒZ,ed1d
d4d1ƒZ-d5efd6„ƒYZ.e.d7d8d9d:ƒZ/e.d;d<d=d>ƒZ0e.d?d@dAdBƒZ1e.dCdDdEdFƒZ2ed/dGd/ƒZ3edHdIdJd/ƒZ4dKeifdL„ƒYZ5dMeifdN„ƒYZ6dO„Z7dP„Z8e9dQjoe8ƒndS(RsTTest date/time type.

See http://www.zope.org/Members/fdrake/DateTimeWiki/TestCases
N(stest_support(sMINYEARsMAXYEAR(s	timedelta(stzinfo(stime(sdatesdatetimeiii
l
f34.5tabct
TestModulecBstZd„ZRS(NcCs3dk}|i|idƒ|i|idƒdS(Nii'(tdatetimetselftassertEqualtMINYEARtMAXYEAR(RR((t*/usr/lib64/python2.4/test/test_datetime.pyttest_constants#s	(t__name__t
__module__R(((RR!stFixedOffsetcBs8tZdd„Zd„Zd„Zd„Zd„ZRS(Ni*cCset|tƒotd|ƒ}nt|tƒotd|ƒ}n||_||_||_	dS(Ntminutes(
t
isinstancetoffsettintt	timedeltat	dstoffsetRt_FixedOffset__offsettnamet_FixedOffset__namet_FixedOffset__dstoffset(RRRR((Rt__init__,s		cCs
|iiƒS(N(RRtlower(R((Rt__repr__4scCs|iS(N(RR(Rtdt((Rt	utcoffset6scCs|iS(N(RR(RR((Rttzname8scCs|iS(N(RR(RR((Rtdst:s(R	R
RRRRR(((RR+s
			tPicklableFixedOffsetcBstZdddd„ZRS(NcCsti||||ƒdS(N(RRRRRR(RRRR((RR>s(R	R
tNoneR(((RR=st
TestTZInfocBs5tZd„Zd„Zd„Zd„Zd„ZRS(NcCsXtƒ}ti}|it|i|ƒ|it|i	|ƒ|it|i
|ƒdS(N(ttzinfotuselessRtmaxRRtassertRaisestNotImplementedErrorRRR(RR!R((Rttest_non_abstractnessCs
		cCs£dtfd„ƒY}|it|tƒƒ|ddƒ}|it|tƒƒtiƒ}|i
t|i|ƒ|i
t|i
|ƒ|i
t|i|ƒdS(Nt	NotEnoughcBstZd„ZRS(NcCs||_||_dS(N(RRt_NotEnough__offsetRt_NotEnough__name(RRR((RROs	(R	R
R(((RR&NsitNotByALongShot(R R&Rt
failUnlesst
issubclasstneR
RtnowRR#R$RRR(RR,R&R((Rttest_subclass_must_overrideMscCs£tddƒ}|it|tƒƒxwtiƒdfD]c}|i
|i|ƒtddƒƒ|i
|i
|ƒdƒ|i
|i|ƒtddƒƒq8WdS(NitThreeRi*(RtfoRR*R
R RR-RRRRRRR(RRR0((Rttest_normal[s"cCs€titƒ}|it|ƒtjƒxQtD]I\}}}|i
||ƒ}|i|ƒ}|it|ƒtjƒq/WdS(N(R t__new__torigRR*ttypetpickle_choicestpicklert	unpicklertprototdumpstgreentloadstderived(RR8R<R:R6R7R3((Rttest_pickling_basecscCstddƒ}t|dƒ}|it|tƒƒ|it|ƒtjƒ|i	|i
dƒ|ƒ|i	|idƒdƒx™t
D]‘\}}}|i||ƒ}|i|ƒ}|it|tƒƒ|it|ƒtjƒ|i	|i
dƒ|ƒ|i	|idƒdƒq†WdS(NRiŌž’’tcookie(RRRR3RR*R
R R4RRRRR5R6R7R8R9R:R;R<(RR6R8R<R:RR7R3((Rttest_pickling_subclassns(R	R
R%R.R1R=R?(((RRAs
	
			tHarmlessMixedComparisoncBstZd„Zd„ZRS(NcCsį|idddƒ}|i|fjƒ|i|fjƒ|if|jƒ|if|jƒ|i|ddg|gjƒ|i|ddg|gjƒ|ig|ddggjƒ|ig|ddggjƒdS(Nil(RttheclasstmetfailIfR*(RRB((Rttest_harmless_mixed_comparisonˆscsõ|idddƒ‰|it‡d†ƒ|it‡d†ƒ|it‡d†ƒ|it‡d†ƒ|it‡d†ƒ|it‡d†ƒ|it‡d†ƒ|it‡d	†ƒ|ittfˆƒ|ittˆfƒdS(
Nics
ˆfjS(N(RB((RB(Rt<lambda>™scs
ˆfjS(N(RB((RB(RREšscs
ˆfjS(N(RB((RB(RRE›scs
ˆfjS(N(RB((RB(RREœscs
fˆjS(N(RB((RB(RREžscs
fˆjS(N(RB((RB(RREŸscs
fˆjS(N(RB((RB(RRE scs
fˆjS(N(RB((RB(RRE”s(RRARBR#t	TypeErrortcmp(RRB((RBRttest_harmful_mixed_comparison–s(R	R
RDRH(((RR@‚s	t
TestTimeDeltacBsžtZeZd„Zd„Zd„Zd„Zd„Zd„Z	d„Z
d„Zd	„Zd
„Z
d„Zd„Zd
„Zd„Zd„Zd„ZRS(NcCs1|i}t}||ƒ|ddddddddddddddƒƒ||d	ƒ|dd	ƒƒ||dd	ƒ|dd	ƒƒ||ddd	ƒ|dd	ƒƒ||dd	ƒ|dd
ƒƒ||dd	ƒ|ddƒƒ||dd	ƒ|ddƒƒ||dd	ƒ|ddƒƒ||dd	ƒ|dd
ƒƒ||dd	ƒ|dd
ƒƒ||ddd
ƒ|dd	ƒƒ||dddƒ|dd	ƒƒ||dddƒ|dd	ƒƒ||dddƒ|dd	ƒƒ||ddƒ|dd	ƒƒ||ddƒ|dd	ƒƒdS(NtweeksitdaysthoursRtsecondstmillisecondstmicrosecondsiiii<ičf1.0f0.001(RRteqRttd(RRPRQ((Rttest_constructor­s&	*"####cCsr|i}t}|dƒ}|ddƒ}|dddƒ}|||||dddƒƒ||||ddddƒƒ|||dƒƒ||
|dƒƒ|||d	dddƒƒ|||d	ddd
dƒƒ|t|ƒ|ƒ|t|ƒ|ƒ||dddƒ|ƒ||ddddƒ|ƒ||d
|dƒƒ||d
d
|ƒ||dd
|ƒ||d
|ddƒƒ|d
||ddƒƒ||d|ddƒƒ||d
|dddƒƒ|d
||dddƒƒ||d|dddƒƒ||d	|ƒ||d||ƒ||d||ƒ||dd|ddƒ||ddd|dƒ||d|dd
ƒƒ|d||dd
ƒƒ||d|d
ƒƒ||d
|ddƒƒ||d|ddd
ƒƒ||d
|ddddƒƒ||d|dddddƒƒdS(Niii<ičiiiił’’’i’’’’iiX>i@Bi
iFl
iXi'iž’’’ihi€ī6(	RRRPRRQtatbtctabs(RRSRURTRQRP((Rttest_computationsĘsH	!"""csdtdƒ‰xrdD]j‰|it‡‡d†ƒ|it‡‡d†ƒ|it‡‡d†ƒ|it‡‡d†ƒqWd	‰|it‡‡d
†ƒ|it‡‡d†ƒ|it‡‡d†ƒ|it‡‡d
†ƒ|it‡‡d†ƒ|it‡‡d†ƒx@dD]8‰|it‡‡d†ƒ|it‡‡d†ƒq$WdS(Ni*ilf1.0csˆˆS(N(RSti((RSRX(RREņscsˆˆS(N(RSRX((RSRX(RREóscsˆˆS(N(RXRS((RXRS(RREōscsˆˆS(N(RXRS((RXRS(RREõsf2.2999999999999998csˆˆS(N(RStx((RSRY(RREłscsˆˆS(N(RYRS((RSRY(RREśscsˆˆS(N(RSRY((RSRY(RREūscsˆˆS(N(RYRS((RSRY(RREüscsˆˆS(N(RSRY((RSRY(RREżscsˆˆS(N(RYRS((RSRY(RREžsilcsˆˆS(N(tzeroRS((RSRZ(RREscsˆˆS(N(RSRZ((RSRZ(RREs(ilf1.0(il(	RRSRXRR#RFRYRZtZeroDivisionError(RRSRXRZRY((RSRXRZRYRttest_disallowed_computationsķs$cCs^d\}}}t|||ƒ}|i|i|ƒ|i|i|ƒ|i|i|ƒdS(Niii(iii(RKRMtusRRQRRRO(RRMRKR]RQ((Rttest_basic_attributess
cCshtdddddddddd	d
ddd
ddddƒ}tddƒ}|i||ƒdS(NRKidRJił’’’RLič’’’i1Riż’’’RMiROii<f	1000000.0i(Rtt1tt2RR(RR`R_((Rttest_carries
s	cCstdddddddddd	d
ddd
dddƒ}tƒ}|it|ƒt|ƒƒ|tddƒ7}|tdddƒ7}|i||ƒ|it|ƒt|ƒƒh|d<}d||<|it|ƒdƒ|i||dƒdS(NRKidRJił’’’RLič’’’i1Riż’’’RMiROii<i@Biii(RR_R`RRthashtdtlen(RRcR`R_((Rttest_hash_equalitys 		
cCsad}t|Œ}xHtD]@\}}}|i||ƒ}|i	|ƒ}|i||ƒqWdS(Nii"i8(ii"i8(
targsRR3R5R6R7R8R9R:R;R<RR(RR8RfR<R:R6R7R3((Rt
test_pickling+scsBtdddƒ‰tdddƒ}|iˆ|jƒ|iˆ|jƒ|iˆ|jƒ|iˆ|jƒ|iˆ|jƒ|iˆ|jƒ|itˆ|ƒdƒ|it|ˆƒdƒx?dddfD].}t|Œ}|iˆ|jƒ|i|ˆjƒ|iˆ|jƒ|i|ˆjƒ|iˆ|jƒ|i|ˆjƒ|iˆ|jƒ|i|ˆjƒ|iˆ|jƒ|i|ˆjƒ|iˆ|jƒ|i|ˆjƒ|itˆ|ƒdƒ|it|ˆƒdƒqŪWx.tD]&‰|iˆˆjt
ƒ|iˆˆjtƒ|iˆˆjt
ƒ|iˆˆjtƒ|it
‡‡d†ƒ|it
‡‡d	†ƒ|it
‡‡d
†ƒ|it
‡‡d†ƒ|it
‡‡d†ƒ|it
‡‡d
†ƒ|it
‡‡d†ƒ|it
‡‡d†ƒqWdS(Niiiiii’’’’ics
ˆˆjS(N(R_tbadarg((RhR_(RREVscs
ˆˆjS(N(R_Rh((RhR_(RREWscs
ˆˆjS(N(R_Rh((RhR_(RREXscs
ˆˆjS(N(R_Rh((RhR_(RREYscs
ˆˆjS(N(RhR_((RhR_(RREZscs
ˆˆjS(N(RhR_((RhR_(RRE[scs
ˆˆjS(N(RhR_((RhR_(RRE\scs
ˆˆjS(N(RhR_((RhR_(RRE]s(iii(iii(iii(RR_R`RR*RRGRft
OTHERSTUFFRhtFalsetTrueR#RF(RRfR`RhR_((RhR_Rttest_compare3sRc
Csat}|i}|t|dƒƒdƒ|t|dƒƒdƒ|t|dƒƒdƒ|t|dƒƒdƒ|t|d	d
ddd
dƒƒdƒ|t|d	dddd
dƒƒdƒ|t|ddd	ddd
d
dƒƒdƒ|t|ddƒƒdƒ|t|ddƒƒdƒ|t|ddd	dddd
dddƒƒdƒdS( Nis1 day, 0:00:00i’’’’s-1 day, 0:00:00is2 days, 0:00:00iž’’’s-2 days, 0:00:00RLiRi:RMi;s12:58:59iis2:03:04RJiā’’’ii"s-210 days, 23:12:34RNs0:00:00.001000ROs0:00:00.000003RKi’ɚ;i?Bs999999999 days, 23:59:59.999999(RRQRRRPtstr(RRPRQ((Rttest_str_s	(('!cCsŠxÉtdddddddddd	ƒtdd
ƒtdddddd
ƒfD]y}t|ƒ}|i|idƒƒ|d}t|ƒ}|i	||ƒt|i
|i|iƒ}|i	||ƒqOWdS(NRKi’ɚ;RLiRi;RMROi?Bi6eÄiiis	datetime.i	(
RRQtreprtsRR*t
startswithtevalttd2RRKRMRO(RRpRsRQ((Rttest_roundtripts7
cCsĖ|ittitƒƒ|ittitƒƒ|ittitƒƒ|ititijƒ|ititdƒƒ|ititddddddƒƒ|ititdddƒƒdS(Ni6eÄi’ɚ;iiif	1000000.0i(Rtassert_R
RtminR"t
resolutionR(R((Rttest_resolution_info…s+cCsØti}ti|}||8}|it|i|ƒ|it|i	|ƒti
|}||7}|it|i	|ƒ|it|i|ƒ|itd„ƒdS(NcCstiS(N(RR"(((RRE›s(RRwttinyRvRQRR#t
OverflowErrort__sub__t__add__R"(RRQRy((Rt
test_overflowŽs	



cCs…t}|i}||dddƒ|dƒƒ||dddƒ|dƒƒ||dddƒ|ddƒƒ||dddƒ|ddƒƒd	}|d
}||dd|ƒ|dƒƒ||dd
|ƒ|dƒƒ||dd|dd
|ƒ|ddƒƒ||dd|ƒ|dƒƒ||dd|ƒ|dƒƒ||dd|dd|ƒ|ddƒƒdS(NRNf0.40000000000000002ičif0.59999999999999998ROii’’’’f3600000000.0iRKRLf0.20000000000000001f-0.40000000000000002f-0.20000000000000001(RRQRRRPtus_per_hourt
us_per_day(RRR~RQRP((Rttest_microsecond_roundings	 !#$
  -  cCsFtddƒ}|i|i|i|ifdddddfƒdS(NROi’’’’iiii?B(RRQRRRKRMRO(RRQ((Rttest_massive_normalization²scCsp|itdƒƒ|itddƒƒ|itdddƒƒ|itddƒƒ|itdƒƒdS(NiiRO(RR*R(R((Rt	test_bool·s
cs^dtf‡d†ƒY‰ˆddƒ}|it|ƒˆjƒ|i|iƒdƒˆddddƒ}|it|ƒˆjƒ|i|iƒd	ƒ||}|it|ƒtjƒˆi
|ƒ}|it|ƒˆjƒ|i|i|iƒ|i|i
|i
ƒ|i|i|iƒ|it|ƒt|ƒƒ|i|iƒdƒdS(
NtTcs)tZ‡d†ZeeƒZd„ZRS(Ncsˆ|i|i|iƒS(N(RƒRQRKRMRO(RQ(Rƒ(Rtfrom_tdĮscCs-|id|id|id}t|ƒS(Nif3600.0f3600000000.0(RRKRMROtsumtround(RR…((Rtas_hoursÅs#(R	R
R„tstaticmethodR‡((Rƒ(RRƒĄsRKiii’’’’RMišń’’iē’’’(RRƒR_RRuR4RR‡R`tt3R„tt4RKRMRORm(RR`R‰R_RƒRŠ((RƒRttest_subclass_timedelta¾s 
(R	R
RRARRRWR\R^RaReRgRlRnRtRxR}R€RR‚R‹(((RRI©s"		'			
			,								tTestDateOnlycBstZd„ZRS(NcCsBtdddƒ}tdddddddd	d
dƒ}t|iƒ}|i|tdƒƒ||}|i|||ƒ||}|i|||ƒ||}|i|||ƒ|}t|iƒ}|i|tdƒƒ||}|i|||ƒ||}|i|||ƒ||}|i|||ƒdS(
NiŠiiRKRLRiRMiROiiž’’’(tdateRRtdeltaRKRRtdt2(RRKRŽRR((Rttest_delta_non_days_ignoredäs(





(R	R
R(((RRŒąstSubclassDatecBstZdZRS(Ni(R	R
tsub_var(((RR‘stTestDatecBstZeZd„Zd„Zd„Zd„Zd„Zd„Z	d„Z
d„Zd	„Zd
„Z
d„Zd„Zd
„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z RS(NcCsR|idddƒ}|i|idƒ|i|idƒ|i|idƒdS(NiŅii(RRARRtyeartmonthtday(RR((RR^
scCs©x¢|idddƒ|iiƒfD]|}t|ƒ}|i|idƒƒ|d}t|ƒ}|i
||ƒ|i|i|i|i
ƒ}|i
||ƒq%WdS(Niiis	datetime.i	(RRAttodayRRoRpR*RqRrRRR”R•R–(RRpRR((RRts%
c
CsŠxÓddddgD]æ\}}}}|i|||ƒ}|i||iƒƒ|ii|ƒ}|i||ƒt
|d
ƒoP|i|idƒ|i|idƒ|i|i
dƒ|i|idƒqqWxĖtttddƒD]³}|i|ddƒ}|iƒ}|ii|ƒ}
|i||
ƒ|djo]|ii|dƒ}|i|dddƒ}
|i||
ƒ|i|
iƒ|dƒqķqķWdd
ddddddddddg}xūdtfdtffD]į\}}|i|ddƒiƒ}x·ttddƒ|ƒD]\}	}|	djo|o|d7}nxltd|dƒD]W}|i||	|ƒ}|i|iƒ|ƒ|i||ii|ƒƒ|d7}qiWq'WqēWdS(Niiiimiini™iiĖÖ
thouriiiiiŠiŅi
(iiii(iiiim(iiiin(i™iiiĖÖ
(tytmRctnRRARt	toordinaltfromordinaltfromordthasattrR˜tminutetsecondtmicrosecondtxrangeRRR”td2tdimRkRjtisleaptziptrangeR•tmaxdayR–(
RR„RcR¦RšR›R©R”R™R•R¤R–Rž((Rttest_ordinal_conversionssH
"*csz|ii‰|iˆiˆiˆiƒ‰ˆiƒ‰ˆi	ˆƒ}|iˆ|ƒ|it
‡‡d†ƒˆtddƒ}|i|iƒˆdƒ|i||ii	ˆdƒƒ|ii‰|iˆiˆiˆiƒ‰ˆiƒ‰ˆi	ˆƒ}|iˆ|ƒ|it
‡‡d†ƒˆtddƒ}|i|iƒˆdƒ|i||ii	ˆdƒƒdS(NcsˆiˆdƒS(Ni(RSRtaord((RSR«(RRETsRKicsˆiˆdƒS(Ni(RSRR«((RSR«(RRE`s(RRARvRSR”R•R–RœR«RRTRR#t
ValueErrorRR"(RRSR«RT((RSR«Rttest_extreme_ordinalsMs$ cCs©|itddƒ|itddƒ|it|itdddƒ|it|itdddƒ|idddƒ|idddƒ|it|idddƒ|it|idddƒ|idddƒ|idddƒ|id	ddƒ|it|iddd
ƒ|it|idddƒ|it|idddƒ|it|id
ddƒ|it|idddƒ|it|idddƒdS(NiiŠiii
iiiŌi`	iiŃi4ili (RRARRR#R¬(R((Rttest_bad_constructor_argumentsfs"  cCs^|idddƒ}|idddƒ}|i||ƒ|it|ƒt|ƒƒh|d<}d||<|it|ƒdƒ|i||dƒ|i||dƒ|idddƒ}|idddƒ}|i||ƒ|it|ƒt|ƒƒh|d<}d||<|it|ƒdƒ|i||dƒ|i||dƒdS(NiŠiiiiiŃ(RRARcteRRbtdicRd(RRcR°RÆ((RRe|s$

csŃ|idddƒ‰|idddƒ}ˆ|}|i|iddttdddƒƒƒ|i|i	dƒ|i|i
dƒtdƒ‰td	ƒ}|idd
dƒ‰|iˆˆ|idd
d
ƒƒ|iˆˆ|idd
d
ƒƒ|iˆˆ|idd
dƒƒ|iˆˆ|idd
dƒƒ|iˆ||idd
dƒƒ|iˆ||iddd
ƒƒ|iˆd||idd
dƒƒ|iˆd||idd
d
ƒƒ|iˆ|ˆ|ƒ|iˆˆˆˆƒ|iˆ|ˆ|ƒ|iˆˆˆˆƒ|iˆˆ||ƒ|iˆˆˆˆƒ|iˆˆ||ƒ|iˆˆˆˆƒxrdD]j‰|it‡‡d†ƒ|it‡‡d†ƒ|it‡‡d†ƒ|it‡‡d†ƒq W|it‡‡d†ƒ|it‡‡d†ƒ|it‡‡d†ƒ|it‡‡d†ƒ|it‡‡d†ƒ|it‡d†ƒ|it‡d†ƒ|it‡d†ƒdS( NiŅiii¤i.imiiiiii	ii4iÓiŃlf1.0csˆˆS(N(RSRX((RSRX(RRE“scsˆˆS(N(RSRX((RSRX(RREµscsˆˆS(N(RXRS((RXRS(RRE¶scsˆˆS(N(RXRS((RXRS(RRE·scsˆˆS(N(R–RS((RSR–(RREŗscsˆˆS(N(R–RS((RSR–(RRE¼scsˆˆS(N(RSR–((RSR–(RRE½scsˆˆS(N(R–RS((RSR–(RRE¾scsˆˆS(N(RSR–((RSR–(RREæscsˆˆS(N(RS((RS(RREĄscsˆˆS(N(RS((RS(RREĮscsˆˆS(N(RS((RS(RREĆs(ilf1.0(RRARSRTtdiffRRKRdRØRMRORR–tweekRXR#RF(RRSR²RTRXR±R–((RSRXR–RRW•sN
-###$##''cCsž|ii}|ii|}||8}|it|i|ƒ|it|i	|ƒ|ii
|}||7}|it|i	|ƒ|it|i|ƒdS(N(RRARwRyRvRR#RzR{R|R"(RRRy((RR}Ås

c
Cs‘dk}d\}}}|i|||ddddddf	ƒ}|ii|ƒ}|i
|i|ƒ|i
|i|ƒ|i
|i|ƒdS(NiĻi	iii’’’’(iĻi	i(ttimeR”R•R–tmktimettsRRAt
fromtimestampRcR(RRcR³RµR•R”R–((Rttest_fromtimestampŅs	*cCs.x'dD]}|it|ii|ƒqWdS(Nf-9.9999999999999997e+199f9.9999999999999997e+199(f-9.9999999999999997e+199f9.9999999999999997e+199(tinsaneRR#R¬RAR¶(RRø((Rttest_insane_fromtimestampŻscCs£dk}x`tdƒD]R}|iiƒ}|iƒ}|ii|ƒ}||joPn|i	dƒqW|i
||jpt||ƒtddƒjƒdS(Nif0.10000000000000001RMf0.5(
R³RØtdummyRRAR—RµR¶t
todayagaintsleepR*RVR(RRŗR»RµR³R—((Rt
test_todayęs	

cCsĒxĄtdƒD]²}|i|iddd|ƒiƒ|ƒ|i|iddd|ƒiƒ|dƒ|i|iddd|ƒiƒ|ƒ|i|iddd|ƒiƒ|dƒq
WdS(NiiŅiiii¤i(RØRXRRRAtweekdayt
isoweekday(RRX((Rttest_weekdays
)-)cCsxˆtdƒD]z}|iddd|ƒ}|i|iƒdd|dfƒ|idddƒt|ƒ}|i|iƒdd|dfƒ|iddd	|ƒ}|i|iƒdd
|dfƒ|iddd|ƒ}|i|iƒdd|dfƒ|iddd
ƒt|ƒ}|i|iƒdd|dfƒ|iddd|ƒ}|i|iƒdd|dfƒq
WdS(NiiÓiii4iiiŌiiiŁiii5iŚi(RØRXRRARcRtisocalendarR(RRXRc((Rttest_isocalendars
#####cCsŌd}tt|iƒƒ}|iƒg}x’tdƒD]„}|i
d|ddƒ}|i
d|ddƒ}|i
|iƒd|iƒdƒ|iƒddjo|i|ƒq8q8W|i
||ƒdS(	NsK
              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
        iiŠiii@ii5(tISO_LONG_YEARS_TABLEtmapRtsplittiso_long_yearstsorttLRØRXRRARctd1RRĮtappend(RRXRČRĘRĆRÉRc((Rttest_iso_long_yearss

$cCs/|idddƒ}|i|iƒdƒdS(Niis
0002-03-02(RRAttRt	isoformat(RRĢ((Rttest_isoformatCscCs/|idddƒ}|i|iƒdƒdS(NiŅiisSat Mar  2 00:00:00 2002(RRARĢRtctime(RRĢ((Rt
test_ctimeGscCs¦|idddƒ}|i|idƒdƒ|i|idƒdƒ|it|iƒ|it|iddƒ|it|id	ƒ|i|id
ƒdƒdS(NiÕiism:%m d:%d y:%ysm:03 d:02 y:05ttonettwoi*s	'%z' '%Z's'' ''(RRARĢRtstrftimeR#RF(RRĢ((Rt
test_strftimeKscCs}|it|ii|iƒƒ|it|ii|iƒƒ|it|iitƒƒ|i|ii|iijƒdS(N(RRuR
RARvR"RwR(R((RRxWscCsŸ|ii|ii}|idd|id|i}t	dd|ƒ}|i||ƒ|i|ii||iiƒ|i|ii||iiƒdS(Niii@Bi(RRAR"RvtbigRKRMROR›Rt	justasbigR(RRÖR×R›((Rttest_extreme_timedelta]s# cCsīxētdƒD]Ł}|iddd|ƒ}|iƒ}|i|ddd|ddd|d|df	ƒ|iddd|ƒ}|iƒ}|i|ddd|dddd|dd|df	ƒ|iddd|ƒ}|iƒ}|i|ddd|dddd|dd	|df	ƒ|i|idƒ|i|i	dƒ|i|i
d|ƒ|i|idƒ|i|idƒ|i|i
dƒ|i|id|dƒ|i|id	|ƒ|i|idƒq
WdS(
Nii¤iiii’’’’i ii=(RØRXRRARct	timetupleRĢRttm_yearttm_monttm_mdayttm_hourttm_minttm_secttm_wdayttm_ydayttm_isdst(RRXRĢRc((Rttest_timetuplegs(
3;;cCsdd}|i|Œ}xHtD]@\}}}|i||ƒ}|i
|ƒ}|i||ƒqWdS(Niii(iii(
RfRRAR3R5R6R7R8R9R:R;R<R(RR8RfR<R:R6R7R3((RRg€scs2|idddƒ‰|idddƒ}|iˆ|jƒ|iˆ|jƒ|iˆ|jƒ|iˆ|jƒ|iˆ|jƒ|iˆ|jƒ|itˆ|ƒdƒ|it|ˆƒdƒxBdddfD]1}|i|Œ}|iˆ|jƒ|i|ˆjƒ|iˆ|jƒ|i|ˆjƒ|iˆ|jƒ|i|ˆjƒ|iˆ|jƒ|i|ˆjƒ|iˆ|jƒ|i|ˆjƒ|iˆ|jƒ|i|ˆjƒ|itˆ|ƒdƒ|it|ˆƒdƒqįWxtD]
‰|iˆˆjt
ƒ|iˆˆjtƒ|iˆˆjt
ƒ|iˆˆjtƒ|it
‡‡d†ƒ|it
‡‡d	†ƒ|it
‡‡d
†ƒ|it
‡‡d†ƒ|it
‡‡d†ƒ|it
‡‡d
†ƒ|it
‡‡d†ƒqWdS(Niiiiii’’’’ics
ˆˆjS(N(R_Rh((RhR_(RRE«scs
ˆˆjS(N(R_Rh((RhR_(RRE¬scs
ˆˆjS(N(R_Rh((RhR_(RRE­scs
ˆˆjS(N(RhR_((RhR_(RRE®scs
ˆˆjS(N(RhR_((RhR_(RREÆscs
ˆˆjS(N(RhR_((RhR_(RRE°scs
ˆˆjS(N(RhR_((RhR_(RRE±s(iii(iii(iii(RRAR_R`R*RRGRfRiRhRjRkR#RF(RRfR`RhR_((RhR_RRlˆsPcCsń|idddƒ}|itt|dƒ|ittd|ƒdtfd„ƒY}|ƒ}|itt||ƒd|fd„ƒY}|ƒ}|i
t||ƒd	ƒ|i
t||ƒd	ƒ|i||jƒ|i||jƒdS(
NiŠiiitAnotherDateTimeClasscBstZd„ZRS(NcCsdS(Ni((Rtother((Rt__cmp__¹s(R	R
Rę(((RRäøst
ComparablecBstZd„ZRS(NcCsfS(N((R((RRŁŠs(R	R
RŁ(((RRēĻsi(RRAtourR#RFRGtobjectRättheirRēRR*(RRēRźRäRč((Rttest_mixed_compare³s		cCs*|i|iiƒ|i|iiƒdS(N(RR*RARvR"(R((RR‚ŁscCse|i}|i|dddƒidƒdƒx0dD](}|it||ddƒidƒq5WdS(Nilis%Yt1900i1i3icidičik(ii1i3icidičik(RRAtclsRRŌR™R#R¬(RR™Rķ((Rttest_srftime_out_of_rangeŽs
	%c
CsŽ|i}	dddg}|	|Œ}|i||iƒƒd}xldd
dfD][\}}|}|||<|	|Œ}|ih||<}|i||ƒ|d7}qPW|	d	dd
ƒ}|i
t|iddƒdS(NiiiiR”R•R–iiŠiiŃ(syeari(smonthi(sdayi(RRARķRftbaseRtreplaceRXRtnewvaltnewargstexpectedtgotR#R¬(
RRRXRfRńRļRóRōRņRķ((Rttest_replaceås	
csÉdˆif‡d†ƒY}d
}ˆi|Œ}||hdd<Ž}ˆi|i|ƒˆi|idƒˆi|i	dƒˆi|i
ƒ|i
ƒƒˆi|id	ƒ|i|i
dƒdS(NtCcs#tZdZ‡d†Zd„ZRS(Ni*cs@|iƒ}|idƒ}ˆii|||Ž}||_|S(Ntextra(tkwstcopyttemptpopR÷RRAR2RķRftresult(RķRfRųRśR÷Rü(R(RR2’s
	cCs||i|iS(N(tstartRR”R•(RRż((Rtnewmeths(R	R
t	theAnswerR2Rž((R(RRöüsiÓiiR÷ii*ił’’’(iÓii(RRARöRftdt1RRt	__class__R’R÷RœRžR”R•(RRRfRRö((RRttest_subclass_dateśs
cCsad}t|Œ}xHtD]@\}}}|i||ƒ}|i	|ƒ}|i||ƒqWdS(Niii(iii(
RfR‘R3R5R6R7R8R9R:R;R<RR(RR8RfR<R:R6R7R3((Rttest_pickling_subclass_datescCs·d}t|itƒp|d }nxLdtdƒtdƒdfD],}|it|i|d ||dƒqFWx:t	d	dƒD])}|i|d t|ƒ|dƒq†WdS(
Ns
1995-03-25it9ii
s’iii(RļR+RRARtchrt
month_byteR#RFRØtord_byte(RRRļR((Rttest_backdoor_resistances	(!R	R
RRAR^RtRŖR­R®ReRWR}R·R¹R½RĄRĀRĖRĪRŠRÕRxRŲRćRgRlRėR‚RīRõRRR(((RR“s<			/				0	
								'					
			+	&						tSubclassDatetimecBstZdZRS(Ni(R	R
R’(((RR	5stTestDateTimecBstZeZd„Zd„Zd„Zd„Zd„Zd„Z	d„Z
d„Zd	„Zd
„Z
d„Zd„Zd
„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„ZRS(NcCs¤|idddddƒ}|i|idƒ|i|idƒ|i|idƒ|i|idƒ|i|idƒ|i|i	dƒ|i|i
dƒdS(NiŅiiii(RRARRR”R•R–R˜R R”R¢(RR((RR^<scCsŖ|idddddddƒ}|i|idƒ|i|idƒ|i|idƒ|i|idƒ|i|idƒ|i|i	dƒ|i|i
dƒdS(NiŅiiii;i@(RRARRR”R•R–R˜R R”R¢(RR((Rttest_basic_attributes_nonzeroFs!c	CsĶxĘ|idddddddƒ|iiƒfD]”}t|ƒ}|i|idƒƒ|d	}t|ƒ}|i
||ƒ|i|i|i|i
|i|i|i|iƒ}|i
||ƒq1WdS(
Niiiiiiis	datetime.i	(RRAR-RRoRpR*RqRrRRR”R•R–R˜R R”R¢(RRpRR((RRtRs1
cCsö|idddddddƒ}|i|iƒdƒ|i|idƒdƒ|i|id	ƒd
ƒ|it|ƒd
ƒ|idddƒ}|i|iƒdƒ|i|idƒdƒ|i|id	ƒdƒ|it|ƒdƒdS(
Niiiiii{s0002-03-02T04:05:01.000123Rƒt s0002-03-02 04:05:01.000123s0002-03-02T00:00:00s0002-03-02 00:00:00(RRARĢRRĶRm(RRĢ((RRĪbs!cCs“dk}|idddddddƒ}|i|iƒdƒ|idddddddƒ}|i|iƒ|i|i|iƒƒƒƒdS(	NiŅiiiii{sSat Mar  2 18:03:05 2002i(R³RRARĢRRĻR“RŁ(RRĢR³((Rttest_more_ctimeqs
	!!cCsā|iddddddƒ}|iddddddƒ}|iddddddƒ}|i||ƒ|i||jƒ|itddd	d
d
dƒ}tddƒ}||}|i|||ƒ|i||jƒdS(
NiŅiii	ii
iiii;i>BRO(
RRARRtdt3RRuRRR](RR]RRR((Rttest_tz_independent_comparings!
cCs]dtfd„ƒY}|iddddddd|ddƒƒ}|it|idƒdS(	NtMyTzInfocBstZd„ZRS(NcCs dtfd„ƒY}|dƒS(NtMyStrcBstZd„ZRS(NcGsdS(N(R(RRf((RRš˜s(R	R
Rš(((RR—sR(RmR(RRR((RR–s(R	R
R(((RR•siÕiiiRs%Z(RRRRARĢR#RFRŌ(RRRĢ((Rt%test_strftime_with_bad_tzname_replace“s-c
Cs™|itddƒ|itddƒ|it|itdddƒ|it|itdddƒ|idddƒ|idddƒ|it|idddƒ|it|idddƒ|idddƒ|idddƒ|id	ddƒ|it|iddd
ƒ|it|idddƒ|it|idddƒ|it|id
ddƒ|it|idddƒ|it|idddƒ|iddddƒ|iddddƒ|it|iddddƒ|it|iddddƒ|idddddƒ|idddddƒ|it|idddddƒ|it|idddddƒ|iddddddƒ|iddddddƒ|it|iddddddƒ|it|iddddddƒ|idddddddƒ|idddddddƒ|it|idddddddƒ	|it|idddddddƒ	dS(NiiŠiii
iiiŌi`	iiŃi4ili iii’’’’ii;i<i?Bi@B(RRARRR#R¬(R((RR®žsH  ""%%cCs‚|iddddddƒ}|iddddddƒ}|i||ƒ|it|ƒt|ƒƒh|d<}d||<|it|ƒdƒ|i||dƒ|i||dƒ|id	ddd
ddƒ}|id	ddd
ddƒ}|i||ƒ|it|ƒt|ƒƒh|d<}d||<|it|ƒdƒ|i||dƒ|i||dƒdS(NiŠiiiiiiiiŃii(RRARcRÆRRbR°Rd(RRcR°RÆ((RReĖs$

c	
s‡|idddƒ‰|idddƒ}ˆ|}|i|iddttdddƒƒƒ|i|i	dƒ|i|i
dƒ|idd	d
ddƒ‰tddd
ƒ}tddƒ}tdƒ‰tdƒ}|iˆ||idd	d
ddƒƒ|i|ˆ|idd	d
ddƒƒ|iˆd||idd	d	d	dƒƒ|iˆ||idd	d
ddƒƒ|i|ˆ|idd	d
ddƒƒ|iˆ|ˆ|ƒ|iˆd||idd	dddƒƒ|iˆˆ|idd	d	ddƒƒ|iˆˆ|idd	dddƒƒ|iˆ||idd	dddƒƒ|iˆ||idd
dddƒƒ|iˆd||idd	dddƒƒ|iˆd||idd	d	ddƒƒ|iˆ|ˆ|ƒ|iˆˆˆˆƒ|iˆ|ˆ|ƒ|iˆ|ˆ|ƒ|iˆ|ˆ|ƒ|iˆˆˆˆƒ|iˆ|ˆ|ƒ|iˆ|ˆ|ƒ|iˆˆ||ƒ|iˆˆˆˆƒ|iˆˆ||ƒ|iˆˆ||ƒ|iˆˆ||ƒ|iˆˆˆˆƒ|iˆˆ||ƒ|iˆˆ||ƒ|iˆ|ˆ|||idd	ddddd
ƒƒ|iˆ|ˆ||ˆ|ˆ||ƒ|iˆ|ˆ|||idd
dddddƒƒ|iˆ|ˆ||ˆ|ˆ||ƒxrd,D]j‰|it‡‡d †ƒ|it‡‡d!†ƒ|it‡‡d"†ƒ|it‡‡d#†ƒqVW|it‡‡d$†ƒ|it‡‡d%†ƒ|it‡‡d&†ƒ|it‡‡d'†ƒ|it‡‡d(†ƒ|it‡d)†ƒ|it‡d*†ƒ|it‡d+†ƒdS(-NiŅiii¤i.imiiiiiiičiiii
iiii	ii4iÓiŃiii;iX>lf1.0csˆˆS(N(RSRX((RSRX(RREscsˆˆS(N(RSRX((RSRX(RREscsˆˆS(N(RXRS((RXRS(RREscsˆˆS(N(RXRS((RXRS(RREscsˆˆS(N(R–RS((RSR–(RREscsˆˆS(N(R–RS((RSR–(RREscsˆˆS(N(RSR–((RSR–(RREscsˆˆS(N(R–RS((RSR–(RREscsˆˆS(N(RSR–((RSR–(RRE scsˆˆS(N(RS((RS(RRE!scsˆˆS(N(RS((RS(RRE"scsˆˆS(N(RS((RS(RRE$s(ilf1.0(RRARSRTR±RRKRdRØRMRORtmillisecR˜R–R²RXR#RF(	RRSR²RTR˜RXR±RR–((RSRXR–RRWās|
-))-)*-))))--""cCs}ddddddddf}|i|Œ}xHtD]@\}}}|i||ƒ}|i
|ƒ}|i||ƒq5WdS(	Niiiii;ii@i(
RfRRAR3R5R6R7R8R9R:R;R<R(RR8RfR<R:R6R7R3((RRg&scCs||idddddddƒ}ti|ƒ}ti|ƒ}|i|i	dƒ|i|i
dƒ|i|idƒdS(NiÓiiii0i%iŌĘ(RRARStpickleR9RpR;RTRR”R•R–(RRSRTRp((Rttest_more_pickling.s!cCszddddddddf}t|Œ}xHtD]@\}}}|i||ƒ}|i	|ƒ}|i||ƒq2WdS(	Niiiii;ii@i(
RfR	R3R5R6R7R8R9R:R;R<RR(RR8R7RfR<R:R6R3((Rttest_pickling_subclass_datetime6scCsEdddddddg}|i|Œ}|i|Œ}|i||jƒ|i||jƒ|i||jƒ|i||jƒ|i||jƒ|i||jƒ|it||ƒdƒ|it||ƒdƒx^tt	|ƒƒD]J}|}||d	||<|i|Œ}|i||jƒ|i||jƒ|i||jƒ|i||jƒ|i||jƒ|i||jƒ|i||jƒ|i||jƒ|i||jƒ|i||jƒ|i||jƒ|i||jƒ|it||ƒd
ƒ|it||ƒd	ƒqóWdS(NiŠiiii:ii>Biii’’’’(RfRRAR_R`R*RRGRØRdRXRņ(RRXRfR`R_Rņ((Rttest_more_compare>s<cCsˆ|i|i|iƒ|i|i|iƒ|i|i|i	ƒ|i|i
|iƒ|i|i|i
ƒ|i|i|iƒdS(N(RRRóRŚRōR”RŪR•RÜR–RŻR˜RŽR RßR”(RRóRō((Rtverify_field_equalitycscCsJdk}|iƒ}|i|ƒ}|ii|ƒ}|i||ƒdS(N(	R³Rµt	localtimeRóRRAR¶RōR(RRóRōRµR³((RR·ks
	cCsJdk}|iƒ}|i|ƒ}|ii|ƒ}|i||ƒdS(N(	R³RµtgmtimeRóRRAtutcfromtimestampRōR(RRóRōRµR³((Rttest_utcfromtimestampss
	cCs.x'dD]}|it|ii|ƒqWdS(Nf-9.9999999999999997e+199f9.9999999999999997e+199(f-9.9999999999999997e+199f9.9999999999999997e+199(RøRR#R¬RAR¶(RRø((RR¹{scCs.x'dD]}|it|ii|ƒqWdS(Nf-9.9999999999999997e+199f9.9999999999999997e+199(f-9.9999999999999997e+199f9.9999999999999997e+199(RøRR#R¬RAR(RRø((Rttest_insane_utcfromtimestamp„scCs“dk}tddƒ}xWtdƒD]I}|iiƒ}|ii	|iƒƒ}t||ƒ|joPq%q%W|it||ƒ|jƒdS(NRMii(
R³Rt	toleranceRØRŗRRAtutcnowtfrom_nowRtfrom_timestampRVR*(RRŗR!R³RR ((Rttest_utcnows	
	cCs–|iddddddƒ}|i|iƒdƒ|i|iƒ|i|i|i|i|i	|i
|iƒ|iƒt
|id
d
ƒiƒd
d	f	ƒ|iƒ}|i|i|iƒ|i|i|iƒ|i|i|iƒ|i|i|iƒ|i|i|i	ƒ|i|i|i
ƒ|i|i|iƒƒ|i|i|iƒt
|id
d
ƒiƒd
ƒ|i|id	ƒdS(NiŌiiiii!iini’’’’i(	iŌiiiii!iini’’’’(RRARĢRRŁR”R•R–R˜R R”R¾RœRtttRŚRŪRÜRŻRŽRßRąRįRā(RR#RĢ((Rttest_more_timetuple›s]6cCs;|iddddddƒ}|i|idƒdƒdS(	NiŌiiiii!s%m %d %y %S %M %H %js12 31 04 33 22 06 366(RRARĢRRŌ(RRĢ((Rttest_more_strftime±scCsl|idddddddƒ}|i|iƒtdddƒƒ|i|iƒtddddƒƒdS(NiŅiiii-iŅ(RRARRRR³(RR((Rttest_extract·s!"cCsUtdddƒ}tddddƒ}|idddddddƒ}|ii}|||ƒ}|i	||ƒ|d|d|ƒ}|i	||ƒ|i	||iƒƒ|i	||iƒƒ|i	|||iƒ|iƒƒƒ|i
t|ƒ|i
t||ƒ|i
t|||ƒ|i
t|||d	ƒ|i
t|ddƒdS(
NiŅiiii-iŅR³Ri(RRcR³RĢRRARótcombineRRR#RF(RRcRóR'RĢR((Rttest_combine¼s !%c
Csö|i}	dddddddg}|	|Œ}|i||iƒƒd}xxdddddddfD][\}}|}|||<|	|Œ}|ih||<}|i||ƒ|d7}qhW|	dddƒ}|i
t|id	dƒdS(NiiiiiiiiR”R•R–R˜R R”R¢iiŠiiŃ(syeari(smonthi(sdayi(shouri(sminutei(ssecondi(smicrosecondi(RRARķRfRļRRšRXRRńRņRóRōR#R¬(
RRRXRfRńRļRóRōRņRķ((RRõŃs	
cCsż|iiƒ}tddƒ}|it|iƒ|it|i||ƒ|it|i|ƒ|it	|i|ƒ|it	|id|ƒdt
fd„ƒY}|ƒ}|it	|i|ƒdt
fd„ƒY}|ƒ}|it	|i|ƒdS(Ni,RŃttztBoguscBstZd„Zd„ZRS(NcCsdS(N(R(RR((RRöscCs
tdƒS(Ni(R(RR((RR÷s(R	R
RR(((RR*õs	t	AlsoBoguscBstZd„Zd„ZRS(NcCs
tdƒS(Ni(R(RR((RRüscCsdS(N(R(RR((RRżs(R	R
RR(((RR+ūs	(RRAR-RRtfR#RFt
astimezoneR¬R R*tbogR+talsobog(RR,R/R+R*RR.((Rttest_astimezoneźs		csŠdˆif‡d†ƒY}d
}ˆi|Œ}||hd	d
<Ž}ˆi|i|ƒˆi|idƒˆi|i	d
ƒˆi|i
ƒ|i
ƒƒˆi|idƒ|i|i
|id
ƒdS(NRöcs#tZdZ‡d†Zd„ZRS(Ni*cs@|iƒ}|idƒ}ˆii|||Ž}||_|S(NR÷(RųRłRśRūR÷RRAR2RķRfRü(RķRfRųRśR÷Rü(R(RR2s
	cCs||i|i|iS(N(RżRR”R•R”(RRż((RRž
s(R	R
R’R2Rž((R(RRösiÓiiii
i)R÷ii*ił’’’(iÓiiii
i)(RRARöRfRRRRR’R÷RœRžR”R•R”(RRRfRRö((RRttest_subclass_datetimes
(R	R
RRAR^RRtRĪR
RRR®ReRWRgRRRRR·RR¹RR"R$R%R&R(RõR0R1(((RR
8s8	
							-		D				%														tSubclassTimecBstZdZRS(Ni(R	R
R’(((RR2stTestTimecBsžtZeZd„Zd„Zd„Zd„Zd„Zd„Z	d„Z
d„Zd	„Zd
„Z
d„Zd„Zd
„Zd„Zd„Zd„ZRS(NcCsb|iddƒ}|i|idƒ|i|idƒ|i|idƒ|i|idƒdS(Nii(RRARĢRR˜R R”R¢(RRĢ((RR^#s
cCsh|iddddƒ}|i|idƒ|i|idƒ|i|idƒ|i|idƒdS(Nii;i@(RRARĢRR˜R R”R¢(RRĢ((RR*s
cCs˜|iddddƒ}t|ƒ}|i|idƒƒ|d}t|ƒ}|i	||ƒ|i|i
|i|i|i
ƒ}|i	||ƒdS(Niiiis	datetime.i	(RRARĢRoRpR*RqRrR`RR˜R R”R¢(RR`RpRĢ((RRt3s
csmddddg}|i|Œ‰|i|Œ}|iˆ|jƒ|iˆ|jƒ|iˆ|jƒ|iˆ|jƒ|iˆ|jƒ|iˆ|jƒ|itˆ|ƒdƒ|it|ˆƒdƒx^tt	|ƒƒD]J}|}||d||<|i|Œ}|iˆ|jƒ|i|ˆjƒ|iˆ|jƒ|i|ˆjƒ|iˆ|jƒ|i|ˆjƒ|iˆ|jƒ|i|ˆjƒ|iˆ|jƒ|i|ˆjƒ|iˆ|jƒ|i|ˆjƒ|itˆ|ƒdƒ|it|ˆƒdƒqźWx.tD]&‰|iˆˆjtƒ|iˆˆjtƒ|iˆˆjtƒ|iˆˆjtƒ|it‡‡d†ƒ|it‡‡d†ƒ|it‡‡d	†ƒ|it‡‡d
†ƒ|it‡‡d†ƒ|it‡‡d†ƒ|it‡‡d
†ƒ|it‡‡d†ƒq?WdS(Niiiiii’’’’cs
ˆˆjS(N(R_Rh((RhR_(RREhscs
ˆˆjS(N(R_Rh((RhR_(RREiscs
ˆˆjS(N(R_Rh((RhR_(RREjscs
ˆˆjS(N(R_Rh((RhR_(RREkscs
ˆˆjS(N(RhR_((RhR_(RRElscs
ˆˆjS(N(RhR_((RhR_(RREmscs
ˆˆjS(N(RhR_((RhR_(RREnscs
ˆˆjS(N(RhR_((RhR_(RREos(RfRRAR_R`R*RRGRØRdRXRņRiRhRjRkR#RF(RRXRfR`RhR_Rņ((RhR_Rttest_comparingBsXcCsp|iddƒ|iddƒ|it|iddƒ|it|iddƒ|iddƒ|iddƒ|it|iddƒ|it|iddƒ|idddƒ|idddƒ|it|idddƒ|it|idddƒ|iddddƒ|iddddƒ|it|iddddƒ|it|iddddƒdS(	Niii’’’’ii;i<i?Bi@B(RRAR#R¬(R((RR®qs cCs^|idddƒ}|idddƒ}|i||ƒ|it|ƒt|ƒƒh|d<}d||<|it|ƒdƒ|i||dƒ|i||dƒ|idddƒ}|idddƒ}|i||ƒ|it|ƒt|ƒƒh|d<}d||<|it|ƒdƒ|i||dƒ|i||dƒdS(Niiiiiii(RRARcRÆRRbR°Rd(RRcR°RÆ((RRe‡s$

cCs$|iddddƒ}|i|iƒdƒ|i|iƒt|ƒƒ|iƒ}|i|iƒdƒ|i|iƒt|ƒƒ|iddƒ}|i|iƒdƒ|i|iƒt|ƒƒ|idd	ƒ}|i|iƒd
ƒ|i|iƒt|ƒƒ|iddƒ}|i|iƒdƒ|i|iƒt|ƒƒ|idd
ƒ}|i|iƒdƒ|i|iƒt|ƒƒ|iddƒ}|i|iƒdƒ|i|iƒt|ƒƒ|iddƒ}|i|iƒdƒ|i|iƒt|ƒƒdS(Niiii{s04:05:01.000123s00:00:00R¢s00:00:00.000001i
s00:00:00.000010ids00:00:00.000100ičs00:00:00.001000i's00:00:00.010000i †s00:00:00.100000(RRARĢRRĶRm(RRĢ((RRĪžs0cCsN|iddddƒ}|i|idƒdƒ|i|idƒdƒdS(	Niiiis%H %M %Ss01 02 03s	'%z' '%Z's'' ''(RRARĢRRŌ(RRĢ((RRÕæscCsĢ|it|iddddƒƒdƒ|it|iddddƒƒdƒ|it|id	ddd
ƒƒdƒ|it|idddd	ƒƒd
ƒ|it|iddd	d	ƒƒdƒdS(Niiiis01:02:03.000004i
i s10:02:03.004000ii€s00:02:03.400000is12:02:03iis23:15:00(RRRmRA(R((RRnÅs
((((cCsšd|ii}|it|iddddƒƒd|ƒ|it|iddddƒƒd	|ƒ|it|id
dddƒƒd|ƒ|it|id
ddd
ƒƒd|ƒ|it|iddd
d
ƒƒd|ƒdS(Ns	datetime.iiiis%s(1, 2, 3, 4)i
i s%s(10, 2, 3, 4000)ii€s%s(0, 2, 3, 400000)is%s(12, 2, 3)iis
%s(23, 15)(RRAR	RRRo(RR((Rt	test_reprĢs!!!!!cCs}|it|ii|iƒƒ|it|ii|iƒƒ|it|iitƒƒ|i|ii|iijƒdS(N(RRuR
RARvR"RwR(R((RRxŁscCstdddddf}|i|Œ}xHtD]@\}}}|i||ƒ}|i
|ƒ}|i||ƒq,WdS(Nii;ii@i(
RfRRAR3R5R6R7R8R9R:R;R<R(RR8RfR<R:R6R7R3((RRgßscCsqdddddf}t|Œ}xHtD]@\}}}|i||ƒ}|i	|ƒ}|i||ƒq)WdS(Nii;ii@i(
RfR2R3R5R6R7R8R9R:R;R<RR(RR8R7RfR<R:R6R3((Rttest_pickling_subclass_timeēscCs|i}|i|dƒƒ|i|ddƒƒ|i|dddƒƒ|i|ddddƒƒ|i|dƒƒ|i|ƒƒdS(Nii(RRARķR*(RRķ((RR‚ļs	c
Cs)|i}	ddddg}|	|Œ}|i||iƒƒd}xoddddfD][\}}|}|||<|	|Œ}|ih||<}|i||ƒ|d7}qVW|	dƒ}|i
t|iddƒ|i
t|iddƒ|i
t|id
dƒ|i
t|iddƒdS(NiiiiiR˜iR iR”iR¢iii’’’’idi@B(shouri(sminutei(ssecondi(smicrosecondi(RRARķRfRļRRšRXRRńRņRóRōR#R¬(
RRRXRfRńRļRóRōRņRķ((RRõųs$	
csÉdˆif‡d†ƒY}d
}ˆi|Œ}||hdd<Ž}ˆi|i|ƒˆi|idƒˆi|i	dƒˆi|i
ƒ|i
ƒƒˆi|id	ƒ|i|i
dƒdS(NRöcs#tZdZ‡d†Zd„ZRS(Ni*cs@|iƒ}|idƒ}ˆii|||Ž}||_|S(NR÷(RųRłRśRūR÷RRAR2RķRfRü(RķRfRųRśR÷Rü(R(RR2s
	cCs||i|iS(N(RżRR˜R”(RRż((RRžs(R	R
R’R2Rž((R(RRösiiiR÷ii*ił’’’(iii(RRARöRfRRRRR’R÷RĶRžR˜R”(RRRfRRö((RRttest_subclass_times
(R	R
R³RAR^RRtR4R®ReRĪRÕRnR5RxRgR6R‚RõR7(((RR3s"					/			!			
						t
TZInfoBasecBs5tZd„Zd„Zd„Zd„Zd„ZRS(NcCs½|i}dtfd„ƒY}|dddd|ƒƒ}|tjodpd}|i|i	ƒ|ƒt
d	|tjod
pdƒ}|i|iƒ|ƒ|i|iƒ|ƒdS(Nt
introspectivecBs tZd„Zd„ZeZRS(NcCs|odpdS(Ntrealtnone(R(RR((RR4scCstd|odpdƒS(NRi*iÖ’’’(RR(RR((RR5s(R	R
RRR(((RR93s		iiiR R;R:RiÖ’’’i*(
RRARķR R9tobjR³RóRRRRR(RR<R9RóRķ((Rttest_argument_passing0s	#cCs®|i}|it|dddddƒdtfd„ƒY}|it|dddd|ƒdtfd„ƒY}|ƒ}|dddd|ƒ}|i|i|jƒdS(NiR itNiceTrycBstZd„Zd„ZRS(NcCsdS(N((R((RRGscCsdS(N((RR((RRHs(R	R
RR(((RR>Fs	t	BetterTrycBstZd„Zd„ZRS(NcCsdS(N((R((RRLscCsdS(N((RR((RRMs(R	R
RR(((RR?Ks	(RRARķR#RFRéR>R R?RTRĢR*(RR?R>RTRĢRķ((Rttest_bad_tzinfo_classesBs		c
Csvdtfd„ƒY}|i}	xPdtfdtfdtfdtffD]$\}}|	t	jo"|	ddd	d
||ƒƒ}nJ|	tjo+|	dddddd	d
||ƒƒ}ndp
td
‚|o†t
|ƒ}t|dƒ\}}d|djodpd||f}t|tƒo|iƒ}n|it|ƒd|ƒqJ|itt|ƒqJWdS(NtEdgycBstZd„Zd„ZRS(NcCstd|ƒ|_dS(NR(RRR(RR((RRTscCs|iS(N(RR(RR((RRVs(R	R
RR(((RRASs	i`ś’’iaś’’iŸi iiiR iit
impossiblei<s%c%02d:%02dt-t+s01:02:03(R RARRARķRjRkRtlegitR³RĢRtAssertionErrorRVtaofstdivmodthRšttagR
ttimetzRRmR#R¬(
RRIRšRARGRĢRRJRERķ((Rttest_utc_offset_out_of_boundsRs"	+
"
+'cCsX|i}dtfd„ƒY}x•|dddƒ|dddddƒ|dddd|ƒƒfD]Q}|i|iƒdjƒ|i|i	ƒdjƒ|i|i
ƒdjƒqbWdtfd„ƒY}|dddd|ƒƒ}|i|iƒt
ddƒƒ|i|i	ƒt
dd	ƒƒ|i|i
ƒd
ƒdtfd„ƒY}|dddd|ƒƒ}|it|iƒ|it|i	ƒ|it|i
ƒd
tfd„ƒY}|dddd|ƒƒ}|it|iƒ|it|i	ƒdtfd„ƒY}|dddd|ƒƒ}|it|iƒ|it|i	ƒdS(NtC1cBs#tZd„Zd„Zd„ZRS(NcCsdS(N(R(RR((RRqscCsdS(N(R(RR((RRrscCsdS(N(R(RR((RRss(R	R
RRR(((RRMps		iR tC3cBs#tZd„Zd„Zd„ZRS(NcCs
tddƒS(NRiaś’’(R(RR((RR|scCs
tddƒS(NRiŸ(R(RR((RR}scCsdS(Ntaname((RR((RR~s(R	R
RRR(((RRN{s		Riaś’’iŸROtC4cBs#tZd„Zd„Zd„ZRS(NcCsdS(NRO((RR((RR†scCsdS(Ni((RR((RR‡scCsdS(Ni((RR((RRˆs(R	R
RRR(((RRP…s		tC6cBstZd„Zd„ZRS(NcCs
tddƒS(NRLič’’’(R(RR((RRscCs
tddƒS(NRLi(R(RR((RR‘s(R	R
RR(((RRQs	tC7cBstZd„Zd„ZRS(NcCs
tddƒS(NRMi=(R(RR((RR˜scCs
tddƒS(NROiÆ’’’(R(RR((RR™s(R	R
RR(((RRR—s	(RRARķR RMRRĢR*RRRRNRRRPR#RFRQR¬RR(RRNRĢRMRPRRRQRķ((Rttest_tzinfo_classesns2	CcCs(|i}dtfd„ƒY}
|dddd|
ƒƒ}|iddƒ}	|iddƒ}|idd	ƒ}xe|	||fD]T}xK|	||fD]:}t||ƒ}t|i|iƒ}|i||ƒq–Wq€W|tj	o?|iddd|
ƒƒ}	|iddd|
ƒƒ}|idd	d|
ƒƒ}xė|	||fD]Ö}xĶ|	||fD]¼}t||ƒ}||	jp
||jo$||	jp
||jo
d
}nZ||jo
|jno
d
}n2||jo
d}n||jpt‚d}|i||ƒq\WqFWndS(
NtOperandDependentOffsetcBstZd„ZRS(NcCs5|idjotd|iƒSntddƒSdS(Ni
Ri;(RĢR R(RRĢ((RR¤s(R	R
R(((RRT£sii	i
R R iiii’’’’i(RRARķR RTRļRštd0RÉR¤RYR™RGRōR RóRR³RF(RRÉR™RļRóRōRYRķR¤RURT((Rttest_aware_comparežs>		
4



(R	R
R=R@RLRSRV(((RR8.s
				0t
TestTimeTZcBsVtZeZd„Zd„Zd„Zd„Zd„Zd„Z	d„Z
d„ZRS(	NcCsr|iƒ}|i|idƒ|i|idƒ|i|idƒ|i|idƒ|i|i	djƒdS(Ni(RRARĢRR˜R R”R¢R*R R(RRĢ((Rt
test_emptyŃsc
s£tdddƒ}tdddƒ}tddd	ƒ}td
dd|ƒ}
td
dd|ƒ}tddd|ƒ}	tddƒ‰tddd|ƒ‰|i|
i|ƒ|i|i|ƒ|i|	i|ƒ|i
ˆidjƒ|iˆi|ƒ|i|
iƒtddƒƒ|i|iƒtddƒƒ|i|	iƒtddƒƒ|i
ˆiƒdjƒ|it|
idƒ|i|
iƒdƒ|i|iƒdƒ|i|	iƒdƒ|i
ˆiƒdjƒ|it|
idƒ|i|
iƒtddƒƒ|i|iƒtddƒƒ|i|	iƒtdd	ƒƒ|i
ˆiƒdjƒ|it|
idƒ|it|
ƒt|ƒƒ|it|
ƒt|	ƒƒ|it|ƒt|	ƒƒ|i|
|ƒ|i|
|	ƒ|i||	ƒ|it‡‡d†ƒ|it‡‡d†ƒ|it‡‡d†ƒ|it|
ƒdƒ|it|ƒdƒ|it|	ƒdƒ|itˆƒdƒ|itˆƒdƒ|i|
iƒdƒ|i|iƒdƒ|i|	iƒdƒ|iˆiƒdƒ|iˆiƒdƒd}|it|
ƒ|dƒ|it|ƒ|dƒ|it|	ƒ|dƒ|itˆƒ|dƒ|itˆƒ|d ƒ|i|
id!ƒd"ƒ|i|id#ƒd$ƒ|i|	id#ƒd%ƒtd&d'ƒ}td(d)d|ƒ}
|i|
id*ƒd+ƒd,tfd-„ƒY}td.d	d/d|ƒƒ}|i|id0ƒd1ƒ|it|id2ƒdS(3NiŌž’’tESTiitUTCiž’’’i<tMETiii/R ii
R¢i(Rsno argscs
ˆˆjS(N(RŠtt5((RŠR\(RREscs
ˆˆjS(N(RŠR\((RŠR\(RREscs
ˆˆjS(N(R\RŠ((RŠR\(RREss07:47:00-05:00s12:47:00+00:00s13:47:00+01:00s00:00:00.000040s00:00:00.000040+00:00s
datetime.times(7, 47, tzinfo=est)s(12, 47, tzinfo=utc)s(13, 47, tzinfo=met)s
(0, 0, 0, 40)s(0, 0, 0, 40, tzinfo=utc)s%H:%M:%S %%Z=%Z %%z=%zs07:47:00 %Z=EST %z=-0500s%H:%M:%S %Z %zs12:47:00 UTC +0000s13:47:00 MET +0100iaś’’s%z %Z %%z%%Zii;s%H:%M %%Z='%Z' %%z='%z's"23:59 %Z='%z %Z %%z%%Z' %z='-2359't	BadtznamecBstZd„ZRS(NcCsdS(Ni*((RR((RR%s(R	R
R(((RR]$siis%H:%M:%Ss02:03:04s%Z(RtesttutctmetR³R_R`R‰RŠR\RRR R*RRRR#RFRRRbRmRĶRcRoRŌtyuckR]RĢ(
RRaR^R`R_RcRŠR\R`R‰R_R]RĢ((RŠR\Rt
test_zonesŁs‚c	CsŲ|idddddtddƒƒ}|idddddtddƒƒ}|it|ƒt|ƒƒ|id	d
dddtd
dƒƒ}|id	ddddtddƒƒ}|it|ƒt|ƒƒdS(NiiiiR iŸRŃižii:iidiü’’i0iü’’(RRARR_R`RRb(RR`R_((Rttest_hash_edge_cases*s''''c	Cs7dddddf}|i|Œ}xHtD]@\}}}|i||ƒ}|i
|ƒ}|i||ƒq,Wt
ddƒ}|idd	d
d|ƒ}x–tD]Ž\}}}|i||ƒ}|i
|ƒ}|i||ƒ|it|it
ƒƒ|i|iƒtddƒƒ|i|iƒdƒq”WdS(
Nii;ii@iiŌž’’R>iiiR R(RfRRAR3R5R6R7R8R9R:R;R<RRttinfoR*R
R RRR(	RR8RfR<R:RdR6R7R3((RRg4s"csT|i}|ddtddƒƒ‰|iˆƒ|ddtddƒƒ‰|iˆƒ|ddtddƒƒ‰|iˆƒ|dddtdd	ddƒƒ‰|iˆƒ|ddtdd	ddƒƒ‰|iˆƒ|ddtd
d	dƒƒ‰|it‡d†ƒ|ddtdd	dƒƒ‰|it‡d
†ƒdS(NiR iŌž’’RŃii,ii;i<ics
tˆƒS(N(tboolRĢ((RĢ(RRE^sič’’’cs
tˆƒS(N(ReRĢ((RĢ(RREbs(RRARķRRĢR*R#R¬(RRĢRķ((RĢRttest_more_boolHs	

&#
cCsī|i}
tddƒ}ttddƒdƒ}dddd	|g}|
|Œ}|i	||i
ƒƒd
}xxddddd|ffD][\}}|}|||<|
|Œ}	|i
h||<}
|i	|	|
ƒ|d7}q‰W|i	|iƒdƒ|i
ddƒ}|i|idjƒ|i|iƒdjƒ|i
d|ƒ}|i	||ƒ|i|i|ijƒ|
dƒ}|it|i
ddƒ|it|i
d
dƒ|it|i
ddƒ|it|i
ddƒdS(Nids+100Ri8’’’s-200iiiiiR˜iR iR”iR¢iR ii’’’’i@B(shouri(sminutei(ssecondi(smicrosecondi(RRARķRtz100Rtzm200RfRļRRšRXRRńRņRóRōRRtbase2R*R tbase3R#R¬(RRjRRXRfRńRiRgRhRóRōRņRļRķ((RRõds6	
csrtdddƒ‰tdddƒ‰|iˆˆƒˆiddƒ‰|iˆˆƒˆidtddƒƒ‰|iˆˆƒˆidtddƒƒ‰|it	‡‡d†ƒdt
fd	„ƒY}|ƒ}ˆid|ƒ‰ˆid|ƒ‰|iˆi
ƒtd
dƒƒ|iˆi
ƒtd
dƒƒ|iˆˆƒˆid|ƒƒ‰|iˆˆjƒdS(
NiiiR RŃics
ˆˆjS(N(R_R`((R`R_(RRE”stVariescBstZd„Zd„ZRS(NcCstddƒ|_dS(NRi(RRR(R((RR˜scCs|itddƒ7_|iS(NRi(RRR(RRĢ((RRšs(R	R
RR(((RRk—s	Rii(R³R_R`RRRšRRR#RFR RktvRRR*(RRlR`R_Rk((R`R_RRė‹s$	csädˆif‡d†ƒY}ddddtddd	ƒf}ˆi|Œ}||hd
d<Ž}ˆi|i|ƒˆi|i	dƒˆi|i
dƒˆi|iƒ|iƒƒˆi|id
ƒ|i
|idƒdS(NRöcs#tZdZ‡d†Zd„ZRS(Ni*cs@|iƒ}|idƒ}ˆii|||Ž}||_|S(NR÷(RųRłRśRūR÷RRAR2RķRfRü(RķRfRųRśR÷Rü(R(RR2®s
	cCs||i|iS(N(RżRR˜R”(RRż((RRžµs(R	R
R’R2Rž((R(RRö«siiiiōiŌž’’RYiR÷ii*ił’’’(RRARöRRfRRRRR’R÷RRžR˜R”(RRöRfRR((RRttest_subclass_timetz©s
!(R	R
R³RARXRbRcRgRfRõRėRm(((RRWĪs		Q	
			'	tTestDateTimeTZcBsĀtZeZd„Zd„Zd„Zd„Zd„Zd„Z	d„Z
d„Zd	„Zd
„Z
d„Zd„Zd
„Zd„Zd„Zd„Zd„Zd„Zd„Zd„ZRS(NcCs½|idddddddƒ}|i|idƒ|i|idƒ|i|idƒ|i|idƒ|i|idƒ|i|i	dƒ|i|i
dƒ|i|idƒdS(Niiiiiii(
RRARRR”R•R–R˜R R”R¢R R(RR((Rttest_trivialÉs!csO|iddddtddƒƒ‰|itdddddd	dtd
dƒƒ‰|iˆˆjƒ|iˆˆjƒ|iˆˆjƒ|iˆˆjƒ|iˆˆjƒ|iddddddtddƒƒ‰|iddddd
dtddd
ddƒƒ‰|iˆˆƒ|iddddddtddƒƒ‰|iˆˆjƒ|iddddddtddƒƒ‰|iˆˆjƒ|iddddddtddƒddƒ‰|iˆˆjƒ|iddddddtddƒddƒ‰|iˆˆjƒ|ii‰|i	t
‡‡d†ƒ|iˆˆƒdtfd„ƒY}|idddd|ƒƒ‰|i	t
‡‡d†ƒ|iˆˆƒ|idddƒ‰|iˆˆƒdtfd„ƒY}|idddd|ƒƒ‰|iddddtddƒƒ‰|i	t‡‡d†ƒdS(NiR iŸRŃiiii;i?Biaś’’iii
i<iR”R¢cs
ˆˆjS(N(R_R`((R`R_(RRE’stNaivecBstZd„ZRS(NcCsdS(N(R(RR((RR	s(R	R
R(((RRp	siiics
ˆˆjS(N(R_R`((R`R_(RRE	sR*cBstZd„ZRS(NcCs
tddƒS(NRi (R(RR((RR	s(R	R
R(((RR*	scs
ˆˆjS(N(R_R`((R`R_(RRE	s(RRARR_RR`R*RRvR#RFR RpR*R¬(RR`R_R*Rp((R`R_Rttest_even_more_compareŌsD$*6**$$$c		Csgddddddddf}|i|Œ}xHtD]@\}}}|i||ƒ}|i
|ƒ}|i||ƒq5Wt
d	d
ƒ}|i|hd|<Ž}|iddddtdd
dƒƒ}x–tD]Ž\}}}|i||ƒ}|i
|ƒ}|i||ƒ|it|it
ƒƒ|i|iƒtdd	ƒƒ|i|iƒd
ƒqŃWdS(Niiiii;ii@iiŌž’’R>R iRŃR(RfRRAR3R5R6R7R8R9R:R;R<RRRdRR*R
R RRR(	RR8RfR<R:RdR6R7R3((RRg	s&'
cCs£|iddddtddƒƒ}t|ƒ|itdddddd	dtd
dƒƒ}t|ƒ|iddddtddƒƒ}|itt|ƒdS(
NiR iŸRŃiiii;i?Biaś’’ii`ś’’(RRARRĢRbRR#R¬(RRĢ((Rttest_extreme_hashes,	s$

$cCs}tddƒ}tddƒ}tddƒ}tddd	d
dd|ƒ}tddd	d
dd|ƒ}tddd	ddd|ƒ}|i	|i
|ƒ|i	|i
|ƒ|i	|i
|ƒ|i	|iƒtddƒƒ|i	|iƒtddƒƒ|i	|iƒtddƒƒ|i	|i
ƒdƒ|i	|i
ƒdƒ|i	|i
ƒdƒ|i	t|ƒt|ƒƒ|i	t|ƒt|ƒƒ|i	t|ƒt|ƒƒ|i	||ƒ|i	||ƒ|i	||ƒ|i	t|ƒdƒ|i	t|ƒdƒ|i	t|ƒdƒd}|i	t|ƒ|dƒ|i	t|ƒ|dƒ|i	t|ƒ|dƒdS(NiŌž’’RYiRZi<R[iŅiiii/R ii
Rs2002-03-19 07:47:00-05:00s2002-03-19 12:47:00+00:00s2002-03-19 13:47:00+01:00sdatetime.datetime(2002, 3, 19, s7, 47, tzinfo=est)s12, 47, tzinfo=utc)s13, 47, tzinfo=met)(RR^R_R`RR_R`R‰RRR RRRRbRmRcRo(RR_R^RcR`R‰R_R`((RRb:	s8cCs€tddƒ}tdddƒ}tddddd	|ƒ}ti||ƒ}|i
|tdddddddd	|ƒƒdS(
Ni<R[iŅiiii-iŅR (RR`RRcR³R)RR'RRR(RR)RcR`R((RR(X	s!c
Cs¬tddƒ}|idddddddd	|ƒ}|i|iƒtdddƒƒ|i|iƒtddddƒƒ|i|iƒtddddd	|ƒƒdS(
Ni<R[iŅiiii-iŅR (	RR`RRARRRR³RK(RR`R((RR&`	s
'"%csdk}|iiƒ‰tddƒ}ˆiƒid|ƒ}|ii	ˆi
ƒ|ƒ‰|iˆi
|jƒ|iˆiƒ|ƒ|it‡‡d†ƒ|it‡‡d†ƒ|it‡‡d†ƒ|it‡‡d†ƒ|it‡d†ƒ|iˆˆtd	ƒƒ|iˆˆtd	ƒƒtd
ddd
ddƒ‰ˆˆ‰|iˆi
|jƒˆˆ}|i|i
|jƒ|iˆ|ƒˆˆ}|i|i
|jƒ|iˆ|ƒ|it‡‡d†ƒ|iˆˆˆƒt|iddƒdƒ}	ˆid|	ƒ‰|iˆi
|	jƒˆˆ}ˆiƒˆiƒˆ}|i||ƒ|iddddtddƒƒ}|itd
ddddddtddƒƒ}||}|i||ii|iitdddƒƒdS(Ni¶ž’’s	west 5:30R csˆˆS(N(R-tnowaware((RsR-(RREr	scsˆˆS(N(RsR-((RsR-(RREs	scsˆˆS(N(R-Rs((RsR-(RREv	scsˆˆS(N(RsR-((RsR-(RREw	scsˆˆS(N(Rs((Rs(RREx	siRJiRiROi.csˆˆS(N(RŽtnowawareplus((RtRŽ(RRE‹	siaś’’i trandomtimezoneiŸRviii;i?BR"i( trandomRRAR-Rttz55R³Ršt	timeawareR'RRsR*R RRKR#RFRRŽRtt
nowawareplus2R±t	randrangettzrRōRRóRvRR"tmaxdiff(RR"RwRyRvRōRvR|RtR{RŽRóR±RsR-Rx((RtRŽRsR-Rttest_tz_aware_arithmeticg	sH	



$
cCs˜|ii}	|	ƒ}tddƒ}|	|ƒ}|	d|ƒ}|i	|i
|i
jƒ|i|iƒt
ddƒƒ|it|	dƒ|it|	ddƒ|it|	d|ƒ|it|	||ƒtt
dd	dd
ƒddƒ}tdd
dƒ}x’tdƒD]w}ti|ƒ}
|i	|
i
|jƒtiƒid|ƒ}|i|ƒ}t|
|ƒt
ddƒjoPqqW|idƒdS(Ni*t42R)RiR RdRLii:tweirdtziR_iRMis0utcnow(), now(tz), or astimezone() may be broken(RRAR-tmethRļRtoff42tanothertagainR*R RRRR#RFRR_RØRŗRRRšR-tnow2RVtfail(RRƒRR_RRŗRļR‚RR€R-R„((Rttest_tzinfo_now„	s,	!
 	cCs~dk}
|ii}|
iƒ}||ƒ}tddƒ}|||ƒ}	||d|ƒ}|i|	i|ijƒ|i
|	iƒtddƒƒ|it||dƒ|it||ddƒ|it||d|ƒ|it||||ƒ|it|ƒd}ti|ƒ}
td	d
ddƒ}t|ddƒ}|
|}ti||ƒ}|i
||iddƒƒdS(
Ni*R~R)RiR Rdiʚ;RLiń’’’i'i(R³RRAR¶R€RµRļRRR‚RƒR*R RRRR#RFt	timestampRRtutcdatetimeR)RóRōRšR(RRƒR)R‡RµRōRRļRR‚R³RóR€Rˆ((Rttest_tzinfo_fromtimestampÉ	s*	
cCsQ|ii}|ƒ}tddƒ}|it||ƒ|it|d|ƒdS(Ni*R~R (	RRARR€RļRRR#RF(RRļRR€((Rttest_tzinfo_utcnowģ	s
	cCsodk}|ii}|iƒ}||ƒ}tddƒ}|i	t
|||ƒ|i	t
||d|ƒdS(Ni*R~R (R³RRARR€RµRļRRR#RF(RRµRļRR³R€((Rttest_tzinfo_utcfromtimestampö	s	cCs
dtfd„ƒY}|i}xddddfD]ķ\}}|ddddd	d
dd||ƒƒ}|i	ƒ}|id|iƒ|id|i
ƒ|id|iƒ|id|iƒ|id	|iƒ|id
|iƒ|id|iƒ|id|iƒ|i||iƒq2W|it|dddd|d
ƒƒi	ƒ|i|dddd|dƒƒi	ƒidƒ|i|dddd|dƒƒi	ƒidƒ|it|dddd|dƒƒi	ƒ|it|dddd|dƒƒi	ƒdS(NtDSTcBstZd„Zd„ZRS(NcCs0t|tƒotd|ƒ}n||_dS(NR(R
tdstvalueRRR(RR((RR
scCs|iS(N(RR(RR((RR

s(R	R
RR(((RRŒ
s	iß’’’ii!ii’’’’i
iii(R RYiŸiaś’’i i`ś’’(iß’’’i(i!i(ii(Ni’’’’(R RŒRRARķRRtflagRcRŁRĢRRŚRŪRÜRŻRŽRßRąRįRāR#RFR¬(RRRcRŽRĢRŒRķ((Rttest_tzinfo_timetuple
s(	*+11+c	
s/dtfd„ƒY‰|i}|it|ddddˆdƒƒiƒdˆf‡d†ƒY}x$dD]}|dd
ddd
ddd|d|ƒƒ}|iƒ}|i|i|iƒ|i|i|iƒ|i|i|iƒ|id|iƒ|id|iƒ|i|i|iƒ|i|iƒ|iƒ|i|iƒtdddƒiƒd|iƒ|id|iƒqjW|tdddddd|dƒƒ}|iƒ}|i|itdƒ|i|idƒ|i|idƒ|i|idƒ|i|idƒ|i|idƒ|i|idƒ|i|idƒ|t!ddddddd|dƒƒ}|iƒ}|i|it!dƒ|i|idƒ|i|idƒ|i|idƒ|i|idƒ|i|idƒ|i|idƒ|i|idƒdS(NRŒcBstZd„Zd„ZRS(NcCs0t|tƒotd|ƒ}n||_dS(NR(R
RRRR(RR((RR(
scCs|iS(N(RR(RR((RR,
s(R	R
RR(((RRŒ'
s	iR itUOFScs tZd‡d†Zd„ZRS(Ncs&ˆi||ƒtd|ƒ|_dS(NR(RŒRRtdofsRtuofs(RR’R‘(RŒ(RR5
scCs|iS(N(RR’(RR((RR8
s(R	R
RRR((RŒ(RR4
siß’’’i!iii
iii(iĖ’’’ii
i%iŸiiinii;i?Biaś’’i:(iß’’’i!iN(#R RŒRRARķR#R$RRRRRctutctimetupleRĢRR”RŚR•RŪR–RÜRŻRŽR”RßR¾RąRœRRįRāRRyRthuge(	RRR”RcRyRĢRRŒRķ((RŒRttest_utctimetuple&
sN		"	-)
'*cCsbtddƒ}tddƒ}	tddƒ}tddƒ}|i}
d}xd||	||fD]ł}xšdD]č}|
d
ddd
dd|d|ƒ}d|odpd}|dj	o
|iƒpd}||}|iƒ}
|i|
|d|ƒ|i|
|idƒƒ|i|idƒ|d|ƒ|it|ƒ|d|ƒqnWqaWdS(Nis+00:00iÜs+03:40i’’’s-03:51RŃs
0001-02-03iyiiiiii;R s04:05:59s.987001RƒtkR(iiy(RRZtplustminusRtunknownRRARķtdatestrtofsR]RcttimestrRtofsstrttailstrRĶtisoRRm(RRžRcR™RœRR]R›RZR—RŸRšR˜Rķ((Rttest_tzinfo_isoformatf
s&	$ 
!c	Cs»|i}
tddƒ}ttddƒdƒ}dddd	d
dd|g}|
|Œ}|i	||i
ƒƒd
}xddddddd d|ffD][\}}|}|||<|
|Œ}	|i
h||<}
|i	|	|
ƒ|d7}q›W|i	|iƒdƒ|i
ddƒ}|i|idjƒ|i|iƒdjƒ|i
d|ƒ}|i	||ƒ|i|i|ijƒ|
dddƒ}|it|i
ddƒdS(!Nids+100Ri8’’’s-200iiiiiiiiR”R•R–R˜R R”R¢iR iŠiiŃ(syeari(smonthi(sdayi(shouri(sminutei(ssecondi(smicrosecondi(RRARķRRgRRhRfRļRRšRXRRńRņRóRōRRRiR*R RjR#R¬(RRjRRXRfRńRiRgRhRóRōRņRļRķ((RRõz
s0	%
cCsčtddƒ}tddƒ}ttddƒdƒ}|iid|ƒ}|i
|i|jƒ|it
|i|ƒ|it|idƒ|i|iƒ}|i
|i|jƒ|i|iƒ|iƒƒ|i|iƒ|iƒƒ|i|ƒ}|i
|i|jƒ|i|iƒtddƒƒ||iƒ}||i|ƒ7}|id	|ƒ}|i|iƒ|iƒƒ|i|iƒ|iƒƒ|i|iƒ|iƒƒ|i
|i|ijƒ|i||ƒdS(
NRi,t44RLitm300R)iū’’’R (RRtfnonetf44mRtfm5hRRAR-RR*R R#R¬R-RFRYRRR³RōRRóRšRK(RRōR„RYRóRR¤R£((Rttest_more_astimezone”
s,c
Csi|i}dtfd„ƒY}
|ddddddd	d
|
ƒƒ}|iddƒ}	|iddƒ}|iddƒ}xd|	||fD]S}xJ|	||fD]9}||}t
d
|i|iƒ}|i||ƒq¢WqŒW|ddddddd	ƒ}|iddd
|
ƒƒ}	|iddd
|
ƒƒ}|iddd
|
ƒƒ}x|	||fD]’}xö|	||fD]å}||}||	jp
||jo*||	jp
||jot
dƒ}n‚||jo
|jnot
dƒ}nT||jot
d
dddƒ}n,||jpt‚t
d
dddƒ}|i||ƒqxWqbWdS(NRTcBstZd„ZRS(NcCs5|idjotd|iƒSntddƒSdS(Ni
Ri;(RĢR R(RRĢ((RRĘ
s(R	R
R(((RRTÅ
sii	i
iii
iR R iRii;(RRARķR RTRļRšRURÉR¤RYR™RōRR RóRRF(RRÉR™RļRóRōRYRķR¤RURT((Rttest_aware_subtractĄ
s>		'

4
csŠtdddddddƒ‰tdddddddƒ‰|iˆˆƒˆiddƒ‰|iˆˆƒˆidtdd	ƒƒ‰|iˆˆƒˆidtd
d	ƒƒ‰|it	‡‡d†ƒdt
fd
„ƒY}|ƒ}ˆid|ƒ‰ˆid|ƒ‰|iˆi
ƒtddƒƒ|iˆi
ƒtddƒƒ|iˆˆƒˆid|ƒƒ‰|iˆˆjƒdS(NiiiiiiiR RŃics
ˆˆjS(N(R_R`((R`R_(RREõ
sRkcBstZd„Zd„ZRS(NcCstddƒ|_dS(NRi(RRR(R((RRł
scCs|itddƒ7_|iS(NRi(RRR(RRĢ((RRū
s(R	R
RR(((RRkų
s	Rii(RR_R`RRRšRRR#RFR RkRlRRR*(RR`RkRlR_((R`R_RRėģ
s$	csķdˆif‡d†ƒY}ddddddd	td
ddƒf}ˆi|Œ}||hd
d<Ž}ˆi|i|ƒˆi|i	dƒˆi|i
dƒˆi|iƒ|iƒƒˆi|idƒ|i
|idƒdS(NRöcs#tZdZ‡d†Zd„ZRS(Ni*cs@|iƒ}|idƒ}ˆii|||Ž}||_|S(NR÷(RųRłRśRūR÷RRAR2RķRfRü(RķRfRųRśR÷Rü(R(RR2s
	cCs||i|iS(N(RżRR˜R”(RRż((RRžs(R	R
R’R2Rž((R(RRösiŅiiiiiiōiŌž’’RYiR÷ii*ił’’’(RRARöRRfRRRRR’R÷RRžR˜R”(RRöRfRR((RRttest_subclass_datetimetz
s
*(R	R
RRARoRqRgRrRbR(R&R}R†R‰RŠR‹RR•R RõR¦R§RėRØ(((RRnĘs*		B						>	$	#	
		$	@		'		,	cCs/d|iƒ}|o|t|ƒ7}n|S(Ni(RR¾t
days_to_goR(RR©((Rtfirst_sunday_on_or_after&siRLiRKiit
USTimeZonecBs5tZd„Zd„Zd„Zd„Zd„ZRS(NcCs1td|ƒ|_||_||_||_dS(NRL(RRLRt	stdoffsettreprnametstdnametdstname(RRLR­R®RÆ((RR9s		cCs|iS(N(RR­(R((RR?scCs&|i|ƒo|iSn|iSdS(N(RRRRÆR®(RR((RRBscCs|i|i|ƒS(N(RR¬RR(RR((RRHscCs |djp|idjotSn|i|jpt‚ttid|i	ƒƒ}|iƒdjo |idjo|i
djpt‚ttid|i	ƒƒ}|iƒdjo |idjo|i
djpt‚||iddƒjo
|jnotSntSdS(NR”iiii
iR (RRR tZERORRFRŖtDSTSTARTRšR”RżR¾R•R–tDSTENDtendtHOUR(RRR³Rż((RRKs::*(R	R
RRRRR(((RR«7s
				iū’’’tEasternRYtEDTiś’’’tCentraltCSTtCDTił’’’tMountaintMSTtMDTių’’’tPacifictPSTtPDTRZiō’’’i<tUTCfaketTestTimezoneConversionscBswtZeddddƒZeddddƒZeZd„Zd	„Zd
„Zd„Z	d„Z
d
„Zd„ZRS(NiŅiiii
iic
Cs…|i|iƒtƒ|i|i|ƒ|ƒ|i|ƒ}|i|ƒ}|i
ƒ|i
ƒjo`|idjoP|i|t|ƒ|i|iƒt
ƒ|i|i|ƒ|i|ƒƒn|i||ƒ|t}|i|ƒ}	|i
ƒ|i
ƒjoe|idjoU|i|	|iddƒƒ|t7}|i|ƒ}	|i|	|iddƒƒn|i|	|tƒdS(NiiR˜i(RRRRR“R-R)R_tasutctthere_and_backRtdstonR˜R°tnexthour_utctnexthour_tztdstoffRš(
RRR)R_RÄRĒRĀRÅRĆRĘ((Rtcheckinsiders$
)

)
 cCsa|i|iƒtƒ|i|i|ƒ|ƒ|i|ƒ}|i|ƒ}|i||ƒdS(N(
RRRRR°R-R)R_RĀRĆ(RRR)R_RĀRĆ((Rtcheckoutside¦s
cCs’|iid|ƒ}|iid|ƒ}xĪtddƒtttddƒtddƒfD]œ}|i	|||||ƒx5||||fD]}|i	|||||ƒqW|i|||ƒx/||||fD]}|i|||ƒqŚWq[WdS(NR RJi
RiRO(RRÄRšR)RĒRtDAYR“RŽRČR_tduringRÉtoutside(RR)R_RÄRĒRĢRŽRĖ((Rtconvert_between_tz_and_utc±s1cCsd|ittƒ|ittƒ|ittƒ|ittƒ|ittƒ|ittƒdS(N(RRĶRµtutc_realR½tutc_fake(R((Rt	test_easyĒscCsé|itddƒ}tddddƒ}|id|ƒ}|iidd	ƒ}	|it	ƒiddƒ}
|i|	|
ƒ|iidd
dt
ƒ}|iiddƒ}	|it	ƒiddƒ}
|i|	|
ƒx	t
tfD]ū}
xņt	tfD]ä}|itddƒ}||idƒ8}||
idƒ}|id|
ƒ}xdD]…}|iid|ƒ}x]dD]U}|id|ƒ}	|id|ƒ}|i|ƒ}|i|iddƒ|	ƒqvW|t7}qTWqłWqęWdS(NRLii÷’’’i<s-0900iR R˜iiiiii;R (iiii(iii;(RRÄRtfourbackRtninewestRšRóR-RµRRōRRĪtsixutcRĻR_R½R)RĒtfirst_std_hourRRĀt	asutcbasettzhourtexpectedbaseR tastzR“(RRÕRŃRŌRÓR)R×RŲRŅRóRōRĀR R_RÖ((Rttest_trickyßs8

 cCstdtfd„ƒY}|iiƒidtƒ}|i|ƒƒd|fd„ƒY}|i	t
|i|ƒƒdS(NtokcBstZd„Zd„ZRS(NcCstS(N(R“(RR((RRscCstS(N(R“(RR((RRs(R	R
RR(((RRŚs	R tnotokcBstZd„ZRS(NcCsdS(N(R(RR((RRs(R	R
R(((RRŪs(R RŚRRAR-RšRĪR-RŪR#R¬(RRŚRŪR-((Rttest_bogus_dsts
c
Cs±|ittiƒtiƒidtƒ}|it
ti|ƒ|idtƒ}ti|ƒ}|i|i
tƒ|itti||ƒ|ittitiƒƒdtfd„ƒY}|ddddƒ}|iidd	dtƒ}|id|ƒ}xĪdD]Ę}|id|ƒ}	|d
jo|	tddƒ8}	nti|ƒ}|i|	|ƒ||i}	|i|ƒ}|i|	|ƒ|idtƒi|ƒ}|i|	|ƒ|t7}|t7}q	W|iidd	dtƒ}|id|ƒ}xŖdD]¢}|id|ƒ}	ti|ƒ}|i|	|ƒ||i}	|i|ƒ}|i|	|ƒ|idtƒi|ƒ}|i|	|ƒ|t7}|t7}qWdS(NR tFauxUSTimeZonecBstZd„ZRS(NcCs||iS(N(RRR¬(RR((Rtfromutc,s(R	R
RŽ(((RRŻ+siū’’’tFEasterntFESTtFEDTR˜iiiiiiRKi(iiiiii(iiiiii(RR#RFRµRŽRRRšRĪR-R¬tenowRR RR—R«RŻRßRÄRżtfstarttwallRóRRōR¬R-R“RĒ(
RRŻRćRżRäRāRōR-RßRó((Rttest_fromutc sP




(
R	R
RRÄRĒRARČRÉRĶRŠRŁRÜRå(((RRĮjs	4				3	tOddballscBstZd„ZRS(Ncstiƒ‰tiˆtƒƒ‰|iˆˆjƒ|iˆˆjƒ|iˆˆjƒ|iˆˆjƒ|i	t
‡‡d†ƒ|i	t
‡‡d†ƒ|i	t
‡‡d†ƒ|i	t
‡‡d†ƒ|i	t
‡‡d†ƒ|i	t
‡‡d†ƒ|i	t
‡‡d†ƒ|i	t
‡‡d†ƒ|iˆiˆƒƒˆid	d
d	}|iˆiˆid|ƒƒƒtˆiˆiˆiƒ}|iˆ|ƒ|i|ˆƒtˆiˆiˆidddƒ}|iˆ|ƒ|i|ˆƒdS(
Ncs
ˆˆjS(N(tas_datetas_datetime((RčRē(RREkscs
ˆˆjS(N(RčRē((RčRē(RRElscs
ˆˆjS(N(RēRč((RčRē(RREmscs
ˆˆjS(N(RčRē((RčRē(RREnscs
ˆˆjS(N(RēRč((RčRē(RREoscs
ˆˆjS(N(RčRē((RčRē(RREpscs
ˆˆjS(N(RēRč((RčRē(RREqscs
ˆˆjS(N(RčRē((RčRē(RRErsiiR–i(RR—RēRR'R³RčRRuR#RFt__eq__R–t
different_dayRšR‘R”R•tdate_scRR	tdatetime_sc(RRčRźRēRėRģ((RčRēRttest_bug_1028306bs0#(R	R
Rķ(((RRę`scCs[g}ttttttttt	t
tfD]}|t
i|dƒq,~}t
i|ƒS(Nttest(t_[1]RRRIRŒR“R
R3RWRnRĮRętklasstunittestt	makeSuitet	allsuitest	TestSuite(RļRšRó((Rt
test_suite‡sNcCsŻdk}dk}tƒ}d}xµto­ti|ƒPn|i	ƒ|i
otd|i
ƒ‚nt|dƒo\|i
ƒ}|iddIdI|I|o|idI||IJn|iJ|}q$q$WdS(Nis'gc.garbage not empty after test run: %rtgettotalrefcountt*i
stotal refs:sdelta:(tgctsysRõtthesuiteRtlastrcRkttest_supportt	run_suitetcollecttgarbagetSystemErrorRŸRötthisrctstderr(RśRRłRūRų((Rt	test_main˜s&			


t__main__(:t__doc__RłRtcPickleRńRīRüRRRRR R³RRļR6R7RØR8R5RdRFRitTestCaseRRRRR@RIRŒR‘R“R	R
R2R3R8RWRnRŖR°R“RŹR±R²R«RµR·RŗR½RĪRĻRĮRęRõRR	(3RüRŗRĻR«RńRRRŖRR6R5RRnR“R8RŹR7R±RR3RWRR²R R2RiRR·RR8RłR°RĮRR@RęRRĪRRŒRµR½R
RļRõR	RIR³R“RR‘((Rt?sn				



V"
A'’8!’’3’å’ ų’’b	*ö'		


Anon7 - 2021