JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrJFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr E,biOg >SrSrSSKrSSKrSSKrSSKJr Sr Sr Sr Sr S r/S QrS /rSr\SSHr\R'\5 \\- rM CCS rS rSrSrSr\"S5r\"S5r\"S5rSr/SQr/SQrSrSDSjr SESjr!Sr"Sr#Sr$Sr%/SQr&Sr'S r(S!r)S"r*S#r+S$r,S%r-S&r.S'r/"S(S)5r0\0"S*5\0l1\0"S+S,S-S-S.S/9\0l2\0"SS09\0l3"S1S25r4\4r5\4"SSS5\4l1\4"SS3S45\4l2\0"SS59\4l3"S6S75r6"S8S9\75r8\8r9C8\6r:"S:S;5r\r;\"SSS5\l1\"S,S-S-S.5\l2\0"SS09\l3"S<S=\45r<\<"SSS5\r="S?S@\65r>\>R\0"S55=r@\>lA\>R\0"S,S-SA9*5\>l1\>R\0"S,S-SA95\>l2\<"SBSS\>RSC9rBg)FzConcrete date/time and related types. See http://www.iana.org/time-zones/repository/tz-link.html for time zone and DST data sources. ) datedatetimetime timedeltatimezonetzinfoMINYEARMAXYEARUTCN)indexc"X:XaS$X:aS$S$)Nr )xys 2/opt/alt/python313/lib64/python3.13/_pydatetime.py_cmprs1.A.B.c@URRnUS:XagU$)N _pydatetimer) __class__ __module__)self module_names r_get_class_modulers"..++Km#rri'i۹7) rrrrrrrrrrrcNUS-S:H=(a US-S:g=(d US-S:H$)zyear -> 1 if leap year, else 0.r dr)years r_is_leapr%1s* !8q= AdSjAo@qArc:US- nUS-US--US-- US--$)z2year -> number of days before January 1st of year.rmr!r"r#r)r$rs r_days_before_yearr(5s/ qA S51a4 number of days in that month in that year.)r%_DAYS_IN_MONTHr$months r_days_in_monthr/:s! zhtnn %  rcD[UUS:=(a [U5-$)zCyear, month -> number of days in year preceding first day of month.r*)_DAYS_BEFORE_MONTHr%r-s r_days_before_monthr2As! e $ (Dhtn EErcL[X5n[U5[X5-U-$)z>year, month, day -> ordinal, considering 01-Jan-0001 as day 1.)r/r(r2r$r.daydims r_ymd2ordr7Fs0  %C d # t + ,  riecUS-n[U[5upUS-S-n[U[5up0[U[5up@[US5upPX#S-US--U-- nUS:XdUS:XaUS- SS4$US:H=(a US :g=(d US:HnUS -S - n[UUS :=(a U-nX:a US-nU[ UUS :H=(a U--nX-nX'US-4$) z@ordinal -> (year, month, day), considering 01-Jan-0001 as day 1.rr#r'r"r! r2r9r*)divmod_DI400Y_DI100Y_DI4Yr1r,) nn400r$n100n4n1leapyearr. precedings r_ord2ymdrJ_s.FAQ GD #:>DQ GD 1e EB 1cNEB3Ja " $$D Qw$!)Avr2~Qw2B"H1 H VME"5)UQY-C8DI}  ^E*eqj.EXFF NA ! r) NJanFebMarAprMayJunJulAugSepOctNovDec)NMonTueWedThuFriSatSunc x[XU5S-S-n[X5U-n[R"XX#XEXxU4 5$)N)r7r2_time struct_time) rmdhhmmssdstflagwdaydnums r_build_struct_timerksC Q1  !Q &D a #a 'D   aA24wG HHrcSSSSSS.nUS:Xa U(aSOS nO US :XaUS -nXTnURXX#5$![a [S 5ef=f) Nz{:02d}z {:02d}:{:02d}z{:02d}:{:02d}:{:02d}z{:02d}:{:02d}:{:02d}.{:03d}z{:02d}:{:02d}:{:02d}.{:06d})hoursminutesseconds milliseconds microsecondsautorqrorpzUnknown timespec value)formatKeyError ValueError)rerfrgustimespecspecsfmts r _format_timer{sx")55  E6%'>Y ^ # t *ozz"")) 31223s =AcDSnUbURS:aSnU*nOSn[U[SS95upE[U[SS95upVUSX4X4-- nU(dUR(a6US XR4-- nUR(aUS UR-- nU$) Nr -+rrmrnz %s%02d%s%02dz%s%02d.%06d)daysr?rrqro)offsepssignrerfrgs r_format_offsetrs A  88a<D$CDYQ/0Ia01 ^t1 11  S**-- -AWr.. HrcSnSnSnSn/nURnS[U5pX:GaXn U S- n U S:XGacX:GaTXn U S- n U S:Xa&UcS[USS5-nURU5 GO0U S:XaAUc,[US5(a[ UR 5S S 9nOS nURU5 OU S :XanX:ahXn U S- n U S:XaAUc,[US5(a[ UR 5S S 9nOS nURU5 OU"S5 U"U 5 U"U 5 OuU S :XaMUc8S n[US 5(a%UR 5n U bU RSS5nURU5 O"U"S5 U"U 5 OU"S5 OU"U 5 X:aGMS RU5n[R"Xr5$)Nr r%fz%06d microsecondz utcoffsetr}r:Ztznamez%%) appendlengetattrhasattrrrrreplacejoinrastrftime)objectrt timetuplefreplacezreplace colonzreplaceZreplace newformatpushirCchch2rs r_wrap_strftimersHHMHI   D c&kq % Y Q 9uYQ9'#)GF4A1-F$F$$X.3Y'"6;77'5f6F6F6Hb'QH')H$$X.3Yu$iQ#:,4#*6;#?#?4B6CSCSCU[^4_M46M%,,]; I H I3Y'#%"6844 & A }+,99S$+?$$X.IHS Hg %h "I >>) //rc US;$)N 0123456789r)cs r_is_ascii_digitrs rct[U5nUS:XagSnSnUSU:XaWUSU:XaMUS:a [S5eUS:a5USU:Xa,US:Xa [S5eUS :a[US 5(agg gg USU:Xa9SnXA:a[X5(dO US - nXA:aMUS:aU$US -S :Xaggg) Nr`r~Wr!r9zInvalid ISO string rr*r )rrvr)dtstr len_dtstrdate_separatorweek_indicatoridxs r"_find_isoformat_datetime_separatorrsE IA~NN Qx>! 8~ %1} !5661}q^!;>$%9::r>oeBi&@&@ 8~ %C/&uz22q/ Qw Qw!|rc[USS5nUSS:HnSU-nXUS-S:XamUS- n[XUS-5nUS- nSn[U5U:a-XUS-S:HU:wa [S5eX2- n[XUS-5n[[ XU55$[XUS-5nUS- nXUS-S:HU:wa [S5eX2- n[XUS-5nXU/$)Nr r!r~rrr*z"Inconsistent use of dash separator)intrrvlist_isoweek_to_gregorian)rr$has_sepposweeknodaynor.r5s r_parse_isoformat_daterOs" uQqz?DAh#oG g+C qS  qUsQw'( q u: #'"c)g5 !EFF NC#'*+E)$>??EcAg&' q cAg # %' 1AB B %C!G$%S!!r)ii'rsr"rc.[U5n/SQnSn[SS5HmnX- S:a [S5e[XUS-5X$'US- nXUS-nUS:XaUS:HnU(aUS:a O#W(aUS:wa[SU-5eX6- nMo X1:aXS ;a [S 5eUS- n[ [ [ XS55(d [S 5eX- nUS :aS nOUn[XX8-5US'US :aUS==[US- -ss'U$) N)r r r r r r<r*zIncomplete time componentrrzInvalid time separator: %cz.,zInvalid microsecond componentzNon-digit values in fractionr_)rrangervrallmapr_FRACTION_CORRECTION) tstrlen_str time_compsrcomp next_charr len_remainderto_parses r_parse_hh_mm_ss_ffrvs@$iGJ Ca  MQ 89 9tA/  qSUO 193&GDAI  yC'9IEF F %( } 9D <= = 1HCs?DJ788 !?@@#MM!(#, 89JqM!|1 !5hqj!AA rc[U5nUS:a [S5eURS5S-=(d/ URS5S-=(d URS5S-nUS:aUSUS- OUn[U5nSnX!:XaUSS:Xa[R nOUS:aXSn[U5S ;a [S 5e[U5n[ S U55(a[R nO4XS- S:XaSOSn[USUSUSUS S 9n [ X-5nURU5 U$)Nr*zIsoformat time too shortr~rrrr r)r rr<zMalformed time zone stringc3*# UH oS:Hv M g7f)r Nr).0rs r (_parse_isoformat_time..s(x!Avxsr<rmrnrorq) rrvfindrrutcrrr) rrtz_postimestrrtzitzstrtz_compstzsigntds r_parse_isoformat_timers>$iG{344iinq LDIIcNQ$6L$))C.1:LF!'!d9F1HoG#G,J C T"X_ll !W  u: "9: :%e, (x( ( (,,C +s2RF!hqk#+A;Xa[JB6;'Cc rc[Us=::a [::dO [SU35eSUs=:aS:dMO SnUS:Xa.[USS5S-nUS:XdUS:Xa[ U5(aS nU(a[S U35eSUs=:aS :dO [S US 35eUS- S-US- -n[ U5nXe-n[ U5$)NzYear is out of range: r 5Trr`r!r<FzInvalid week: rzInvalid weekday: z (range is [1, 7]))rr rvr7r%_isoweek1mondayrJ)r$weekr5 out_of_range first_weekday day_offsetday_1ord_days rrrs d %g %1$899 t=b= 2:%T1a014M"}'9'/~~$ ~dV45 5 s;Q;,SE1CDEE(a37+J D !E G G rcdUb-[U[5(d[S[U5-5egg)Nz4tzinfo.tzname() must return None or string, not '%s') isinstancestr TypeErrortype)names r _check_tznamers:  4 5 5#%)$Z01 1!6rcUcg[U[5(d[SU<S[U5<S35e[S5*Us=:a[S5:dO [ U<SU<S35eg)Nztzinfo.z'() must return None or timedelta, not ''rz()=zG, must be strictly between -timedelta(hours=24) and timedelta(hours=24))rrrrrv)roffsets r_check_utc_offsetrsh ~ fi ( (48$v,HI I aL=6 0IaL 0() ) 1rc4[U5n[U5n[U5n[Us=::a [::dO [S[[4-U5eSUs=::aS::dO [SU5e[ X5nSUs=::aU::dO [SU-U5eXU4$)Nzyear must be in %d..%drr;zmonth must be in 1..12zday must be in 1..%d)_indexrr rvr/r4s r_check_date_fieldsr s $,>> ? KK /5"nn99"iio/ /rc[URS5up[US5up1SX1U4-nUR(aSnSU"UR5-U-nUR(aUSUR--nU$)Nr z %d:%02d:%02dcFU[U5S:g=(a S=(d S4$)Nrrr})r)rCs rplural!timedelta.__str__..plurals#a&A+-#333rz %d day%s, r)r?rrr)rrfrgrerr,s r__str__timedelta.__str__sv r*B bb\ ) :: 4tzz 22a7A   Gd0000Arc`URS-UR-S-UR-S- $)zTotal seconds in the duration.r r)rrorqrs r total_secondstimedelta.total_secondss7U"T\\1U:!!"%*+ +rcUR$rrr1s rrtimedelta.dayszzrcUR$ro)rr1s rrotimedelta.secondss}}rcUR$rq)rr1s rrqtimedelta.microsecondss!!!rc[U[5(aR[URUR-URUR-URUR-5$[ $NrrrrrNotImplementedrothers r__add__timedelta.__add__[ eY ' 'TZZ%++5!]]U^^;!//%2E2EEG Grc[U[5(aR[URUR- URUR- URUR- 5$[ $r@rArCs r__sub__timedelta.__sub__rGrcD[U[5(aU*U-$[$r@)rrrBrCs r__rsub__timedelta.__rsub__s! eY ' '55= rc^[UR*UR*UR*5$r@)rrrrr1s r__neg__timedelta.__neg__s.$**--,,,. .rcU$r@rr1s r__pos__timedelta.__pos__ s rc,URS:aU*$U$Nr r6r1s r__abs__timedelta.__abs__s ::>5LKrc@[U[5(a4[URU-URU-UR U-5$[U[ 5(a;UR5nUR5up4[SS[X#-U55$[$rU) rrrrrrr_to_microsecondsas_integer_ratiorrBrrDusecrrs r__mul__timedelta.__mul__s eS ! !TZZ%/!]]U2!//%79 9 eU # #((*D))+DAQ#4TXq#AB BrcZURS-UR-S-UR-$)Nr rrrrr1s rrYtimedelta._to_microseconds$s/w'$--77B""# $rc[U[[45(d[$UR 5n[U[5(aX!R 5-$[U[5(a[SSX!-5$grU)rrrrBrY)rrDr\s r __floordiv__timedelta.__floordiv__(sj%#y!122! !$$& eY ' '1133 3 eS ! !Q4=1 1 "rc[U[[[45(d[$UR 5n[U[5(aX!R 5- $[U[5(a[SS[ X!55$[U[5(a+UR5up4[SS[ XB-U55$grU)rrrrrBrYrrZr[s r __truediv__timedelta.__truediv__1s%#ui!899! !$$& eY ' '0022 2 eS ! !Q#4T#AB B eU # #))+DAQ#4QXq#AB B $rc[U[5(a.UR5UR5-n[SSU5$[$rU)rrrYrB)rrDrs r__mod__timedelta.__mod__=s@ eY ' '%%'%*@*@*BBAQ1% %rc[U[5(a9[UR5UR55up#U[SSU54$[$rU)rrr?rYrB)rrDrrs r __divmod__timedelta.__divmod__CsL eY ' '$//10024DAi1a(( (rc`[U[5(aURU5S:H$[$rUrrrrBrCs r__eq__timedelta.__eq__L) eY ' '99U#q( (! !rc`[U[5(aURU5S:*$[$rUrorCs r__le__timedelta.__le__Rrrrc`[U[5(aURU5S:$[$rUrorCs r__lt__timedelta.__lt__X) eY ' '99U#a' '! !rc`[U[5(aURU5S:$[$rUrorCs r__ge__timedelta.__ge__^rrrc`[U[5(aURU5S:$[$rUrorCs r__gt__timedelta.__gt__dryrcR[UR5UR55$r@)r _getstaterCs rrtimedelta._cmpjsDNN$eoo&788rcvURS:Xa[UR55UlUR$)Nrr hashrr1s r__hash__timedelta.__hash__ns+ >>R !$.."23DN~~rcxURS:g=(d% URS:g=(d URS:g$rUr`r1s r__bool__timedelta.__bool__ss6 a( "(""a' )rcHURURUR4$r@r`r1s rrtimedelta._getstatezs DMM4+=+=>>rc:URUR54$r@rrr1s r __reduce__timedelta.__reduce__} 011r)rr rrN)r r r r r r r )'__name__rr&__firstlineno____doc__ __slots__rr(r.r2propertyrrorqrE__radd__rIrLrOrRrVr]__rmul__rYrcrfrirlrprtrwr{r~rrrrr__static_attributes__rrrrrBs&BI56:;cJ / + ""H . H$2 C " " " " " 9 )?2rri6errrr)rrmrnrorqr=c@\rSrSrSrSrS&Sjr\S5r\S5r \S5r \S 5r \S 5r S r S rS rSrSr\r\S5r\S5r\S5rSrSrS'Sjr\rSrSrSrSrSrSr Sr!Sr"\"r#Sr$Sr%S r&S!r'S"r(S#r)S$r*S%r+g)(riatConcrete date type. Constructors: __new__() fromtimestamp() today() fromordinal() Operators: __repr__, __str__ __eq__, __le__, __lt__, __ge__, __gt__, __hash__ __add__, __radd__, __sub__ (add/radd only with timedelta arg) Methods: timetuple() toordinal() weekday() isoweekday(), isocalendar(), isoformat() ctime() strftime() Properties (readonly): year, month, day )_year_month_dayr NcUc[U[[45(a[U5S:XarS[ USS5s=::aS::aYO OV[U[5(aUR S5n[RU5nURU5 SUl U$[XU5upn[RU5nXl X$lX4lSUl U$![ a [S5ef=f) z>Constructor. Arguments: year, month, day (required, base 1) r!rr*r<r;latin1znFailed to encode latin1 string when unpickling a date object. pickle.load(data, encoding='latin1') is assumed.r)rbytesrrordencodeUnicodeEncodeErrorrvrr_date__setstater rrrr)rr$r.r5rs rr date.__new__s M teS\ * *s4yA~ T!AY %2 %$$$L;;x0D>>#&D OOD !DNK-d3?S~~c"    !*L$KLLLs CC5c hUc [S5e[R"U5u p#pEpgpn U"X#U5$)z;Construct a date from a POSIX timestamp (like time.time()).z5'NoneType' object cannot be interpreted as an integer)rra localtime) rtrrcrdrerfrgweekdayjdaydsts r fromtimestampdate.fromtimestamps: 9ST T27//!2D/aRWC1|rcN[R"5nURU5$)z"Construct a date from time.time().rarr)rrs rtoday date.todays  JJL  ##rc0[U5up#nU"X#U5$)zConstruct a date from a proleptic Gregorian ordinal. January 1 of year 1 is day 1. Only the year, month and day are non-zero in the result. )rJ)rrCrrcrds r fromordinaldate.fromordinals1+a1|rc[U[5(d [S5e[U5S;a[ SU<35eU"[ U56$![ a [ SU<35ef=f)z2Construct a date from a string in ISO 8601 format.#fromisoformat: argument must be str)r`rrInvalid isoformat string: )rrrrrvr Exception)r date_strings r fromisoformatdate.fromisoformatsx+s++AB B { : -9+IJ J K-k:; ; K9+IJ J Ks AA(c U"[XU56$)ztConstruct a date from the ISO year, week number and weekday. This is the inverse of the date.isocalendar() function)r)rr$rr5s rfromisocalendardate.fromisocalendars )$c:;;rcS[U5URRURURUR 4-$)zhConvert to formal string, for repr(). >>> d = date(2010, 1, 1) >>> repr(d) 'datetime.date(2010, 1, 1)' z%s.%s(%d, %d, %d))rrr&rrrr1s rr( date.__repr__s@#&7&=&*nn&A&A&*jj&*kk&*ii &11 1rcUR5S-=(d SnS[U[URURUR 4-$)Return ctime() style string.r`z%s %s %2d 00:00:00 %04d) toordinal _DAYNAMES _MONTHNAMESrrrrrs rctime date.ctimesK.."Q&+!( g   $ IItzz,## #rc6[XUR55$)z9 Format using strftime(). Example: "%d/%m/%Y, %H:%M:%S" )rr)rrts rr date.strftimes dDNN,<==rc[U[5(d![S[U5R-5e[ U5S:waUR U5$[U5$Nzmust be str, not %sr rrrrrrrrrzs r __format__date.__format__N#s##1DI4F4FFG G s8q===% %4yrcNSURURUR4-$)zReturn the date formatted according to ISO. This is 'YYYY-MM-DD'. References: - https://www.w3.org/TR/NOTE-datetime - https://www.cl.cam.ac.uk/~mgk25/iso-time.html z%04d-%02d-%02d)rrrr1s r isoformatdate.isoformats" 4::t{{DII"FFFrcUR$)z year (1-9999))rr1s rr$ date.year+r8rcUR$)z month (1-12))rr1s rr. date.month0s{{rcUR$)z day (1-31))rr1s rr5date.day5syyrc `[URURURSSSS5$)9Return local time tuple compatible with time.localtime().r r)rkrrrr1s rrdate.timetuple=s*!$**dkk499"#Q2/ /rcX[URURUR5$)zReturn proleptic Gregorian ordinal for the year, month and day. January 1 of year 1 is day 1. Only the year, month and day values contribute to the result. )r7rrrr1s rrdate.toordinalBs  DKK;;rcUc URnUc URnUc URn[U5"XU5$)z;Return a new date with new values for the specified fields.)rrrr)rr$r.r5s rr date.replaceJs= <::D =KKE ;))CDz$s++rc[U[5(a)[U[5(dURU5S:H$[$rUrrrrrBrCs rrp date.__eq__X5 eT " ":eX+F+F99U#q( (rc[U[5(a)[U[5(dURU5S:*$[$rUrrCs rrt date.__le__]rrc[U[5(a)[U[5(dURU5S:$[$rUrrCs rrw date.__lt__b5 eT " ":eX+F+F99U#a' 'rc[U[5(a)[U[5(dURU5S:$[$rUrrCs rr{ date.__ge__grrc[U[5(a)[U[5(dURU5S:$[$rUrrCs rr~ date.__gt__lrrcURURURpCnURURURpvn[X#U4XVU45$r@)rrrr)rrDrrcrdy2m2d2s rr date._cmpqsG**dkk499a[[%,, Q1I|,,rcvURS:Xa[UR55UlUR$)Hash.rrr1s rr date.__hash__xs+ >>R !$.."23DN~~rc[U[5(aVUR5UR-nSUs=:a [::aO O[ U5R U5$[S5e[$)zAdd a date to a timedelta.r result out of range) rrrr _MAXORDINALrrrrB)rrDos rrE date.__add__sX eY ' ' 5::-A1# #Dz--a00 56 6rc[U[5(aU[UR*5-$[U[5(a-UR 5nUR 5n[X#- 5$[ $)z.Subtract two dates, or a date and a timedelta.)rrrrrrB)rrDdays1days2s rrI date.__sub__s] eY ' ')UZZK00 0 eT " "NN$EOO%EU]+ +rc.UR5S-S-$)z:Return day of the week, where Monday == 0 ... Sunday == 6.r_r`rr1s rr date.weekdays 1$))rc:UR5S-=(d S$)z:Return day of the week, where Monday == 1 ... Sunday == 7.r`rr1s r isoweekdaydate.isoweekdays~~!#(q(rcVURn[U5n[URURUR5n[ X2- S5upEUS:a!US-n[U5n[ X2- S5upEOUS:aU[US-5:aUS- nSn[ XS-US-5$)agReturn a named tuple containing ISO year, week number, and weekday. The first ISO week of the year is the (Mon-Sun) week containing the year's first Thursday; everything else derives from that. The first week is 1; Monday is 1 ... Sunday is 7. ISO calendar algorithm taken from https://www.phys.uu.nl/~vgent/calendar/isocalendar.htm (used with permission) r`r r4)rrr7rrr?_IsoCalendarDate)rr$ week1mondayrrr5s r isocalendardate.isocalendarszz%d+ T[[$))<5.2  !8 AID)$/Ku2A6ID# RZQ// 1fc!e44rcx[URS5up[XURUR/54$N)r?rrrr)ryhiylos rrdate._getstates1$**c*c TYY7899rc>Uup#UlUlUS-U-Ulgr )rrr)rstringrrs r __setstatedate.__setstates!+1($+ty3Y_ rc:URUR54$r@rr1s rrdate.__reduce__rr)rr rr)NN)NNN),rrr&rrrr classmethodrrrrrr(rrrrr.rr$r.r5rrr __replace__rprtrwr{r~rrrErrIrrr rrrrrrrrrs?67ID$$  K K<< 1$#> GG/ <,K     -H* ) 5<:%2rrr;rr5c:\rSrSrSrSrSrSrSrSr Sr Sr g ) rizwAbstract base class for time zone info classes. Subclasses must override the tzname(), utcoffset() and dst() methods. rc[S5e)z%datetime -> string name of time zone.z&tzinfo subclass must override tzname()NotImplementedErrorrdts rr tzinfo.tznames!"JKKrc[S5e)zIdatetime -> timedelta, positive for east of UTC, negative for west of UTCz)tzinfo subclass must override utcoffset()rrs rrtzinfo.utcoffsets!"MNNrc[S5e)zdatetime -> DST offset as timedelta, positive for east of UTC. Return 0 if DST not in effect. utcoffset() must include the DST offset. z#tzinfo subclass must override dst()rrs rr tzinfo.dsts ""GHHrcP[U[5(d [S5eURULa [ S5eUR 5nUc [ S5eUR 5nUc [ S5eX#- nU(a"X- nUR 5nUc [ S5eX-$)z*datetime in UTC -> datetime in local time.z&fromutc() requires a datetime argumentzdt.tzinfo is not selfz0fromutc() requires a non-None utcoffset() resultz*fromutc() requires a non-None dst() resultz;fromutc(): dt.dst gave inconsistent results; cannot convert)rrrrrvrr)rrdtoffdtdstdeltas rfromutctzinfo.fromutcs"h''DE E 99D 45 5  =&' '  =IJ J   KBFFHE} ";<<zrcv[USS5nU(aU"5nOSnURX R54$)N__getinitargs__r)rr __getstate__)r getinitargsr's rrtzinfo.__reduce__s8d$5t< =DD&7&7&9::rN) rrr&rrrrrrr)rrrrrrrs*ILOI:;rrcd^\rSrSrU4Sjr\S5r\S5r\S5rSr Sr Sr U=r $) IsoCalendarDatei c&>[TU]XX#45$r@)superr)rr$rrrs rrIsoCalendarDate.__new__sws4$9::rc US$rUrr1s rr$IsoCalendarDate.year Awrc US$)Nrrr1s rrIsoCalendarDate.weekr7rc US$Nr*rr1s rrIsoCalendarDate.weekdayr7rc&[[U544$r@)tupler1s rrIsoCalendarDate.__reduce__sd ~&&rcXURRSUSSUSSUSS3$)Nz(year=r z, week=rz , weekday=r*r%)rrr1s rr(IsoCalendarDate.__repr__#s?>>**+a a DG9AG Hrr) rrr&rrrr$rrrr(r __classcell__)rs@rr1r1 sU;' HHrr1c:\rSrSrSrSrS$SS.Sjjr\S5r\S 5r \S 5r \S 5r \S 5r \S 5r SrSrSrSrSrS%SjrSrSrSrS&Sjr\r\S5rSrSrSrSrSrS'SS.Sjjr \ r!S(Sjr"S r#S!r$S"r%S#r&g))ri,aTime with time zone. Constructors: __new__() Operators: __repr__, __str__ __eq__, __le__, __lt__, __ge__, __gt__, __hash__ Methods: strftime() isoformat() utcoffset() tzname() dst() Properties (readonly): hour, minute, second, microsecond, tzinfo, fold )_hour_minute_second _microsecond_tzinfor _foldr Nrc,[U[[45(a[U5S:Xat[ USS5S-S:a_[U[5(aUR S5n[RU5nURX=(d S5 S Ul U$[XX4U5upp4n[U5 [RU5nXlX'lX7lXGlXWlS Ul XglU$![ a [S5ef=f) zConstructor. Arguments: hour, minute (required) second, microsecond (default to zero) tzinfo (default to None) fold (keyword only, default to zero) r_r rr=rznFailed to encode latin1 string when unpickling a time object. pickle.load(data, encoding='latin1') is assumed.Nr)rrrrrrrrvrr_time__setstater rrrDrErFrGrHrI)rrrrrrrrs rr time.__new__Es teS\ * *s4yA~ Qq N4 " $$$$L;;x0D>>#&D OOD.D 1DNK2D &t35/f4&!~~c"   '   +*L$KLLLs C==DcUR$z hour (0-23)rDr1s rr time.hourmr8rcUR$z minute (0-59)rEr1s rr time.minuter||rcUR$z second (0-59)rFr1s rr time.secondwrWrcUR$zmicrosecond (0-999999)rGr1s rrtime.microsecond|   rcUR$ztimezone info objectrHr1s rr time.tzinforWrcUR$r@rIr1s rr time.fold zzrc^[U[5(aURUSS9S:H$[$NT) allow_mixedr rrrrBrCs rrp time.__eq__s- eT " "99U95: :! !rc`[U[5(aURU5S:*$[$rUrlrCs rrt time.__le__) eT " "99U#q( (! !rc`[U[5(aURU5S:$[$rUrlrCs rrw time.__lt__) eT " "99U#a' '! !rc`[U[5(aURU5S:$[$rUrlrCs rr{ time.__ge__rprc`[U[5(aURU5S:$[$rUrlrCs rr~ time.__gt__rsrcURnURnS=pVX4LaSnO$UR5nUR5nXV:HnU(ad[URURUR UR 4URURUR UR 45$UbUcU(ag[S5eURS-UR-U[SS9-- nURS-UR-U[SS9-- n [XR UR 4XR UR 45$)NTr*z$cannot compare naive and aware timesr rr) rHrrrDrErFrGrr) rrDrkmytzottzmyoffotoff base_comparemyhhmmothhmms rr time._cmps0||}} <LNN$EOO%E >L T\\4<<**,emmU]]++-. . =EM FGGb4<</%19M2MMr!EMM1E9Q;O4OOV\\4+<+<=]]E,>,>?A ArcnURS:XGaUR(aURSS9nOUnUR5nU(d-[ UR 5S5UlUR$[ [URURS9U- [SS95up4U[SS9-nSUs=::aS:a>O O;[ [X4URUR55UlUR$[ X4URUR45UlUR$) rrr rJrmrnrrrr=) r rrrrrr?rrrrrr)rrtzoffhrcs rr time.__hash__s >>R yyLLaL(KKME!%akkmA&6!7~~idiiMPUU'a02i**;B;%)$qT[[$BRBR*S%TDN~~&*1d>N>N*O%PDN~~rc8UR5n[U5$)z=Return formatted timezone offset (+xx:xx) or an empty string.)rr)rrs r_tzstr time._tzstrsnnc""rcURS:waSURUR4-nO"URS:waSUR-nOSnS[U5URRUR UR U4-nURbUSSSUR--S -nUR(aUSSS -nU$) %Convert to formal string, for repr().r z, %d, %dz, %dr}z%s.%s(%d, %d%s)Nr , tzinfo=%rr% , fold=1)) rGrFrrr&rDrErHrIrrs rr( time.__repr__s    !dllD,=,=>>A \\Q %AA  1$ 7 $ ; ; $ DLL! = = << ##255;A ::#2$Arc[URURURURU5nUR 5nU(aX#- nU$)a[Return the time formatted according to ISO. The full format is 'HH:MM:SS.mmmmmm+zz:zz'. By default, the fractional part is omitted if self.microsecond == 0. The optional argument timespec specifies the number of additional terms of the time to include. Valid options are 'auto', 'hours', 'minutes', 'seconds', 'milliseconds' and 'microseconds'. )r{rDrErFrGr)rrxrrs rrtime.isoformatsE T\\4<<++X 7 [[] GArc[U[5(d [S5eURS5nU"[ U56$![ a [ SU<35ef=f)z>Construct a time from a string in one of the ISO 8601 formats.rTr)rrr removeprefixrrrv)r time_strings rrtime.fromisoformat sj+s++AB B "..s3  K-k:; ; K9+IJ J Ks AAc lSSSURURURSSS4 n[XU5$)zkFormat using strftime(). The date part of the timestamp passed to underlying strftime should not be used. ilrr r)rDrErFr)rrtrs rr time.strftimes; 1aZZt||2 dI66rc[U[5(d![S[U5R-5e[ U5S:waUR U5$[U5$rrrs rrtime.__format__%rrcpURcgURRS5n[SU5 U$)zUReturn the timezone offset as timedelta, positive east of UTC (negative west of UTC).NrrHrrrrs rrtime.utcoffset.4 << ''-+v. rcnURcgURRS5n[U5 U$zReturn the timezone name. Note that the name is 100% informational -- there's no requirement that it mean anything in particular. For example, "GMT", "UTC", "-500", "-5:00", "EDT", "US/Eastern", "America/New York" are all valid replies. NrHrrrrs rr time.tzname72 << ||""4(d rcpURcgURRS5n[SU5 U$aAReturn 0 if DST is not in effect, or the DST offset (as timedelta positive eastward) if DST is in effect. This is purely informational; the DST offset has already been added to the UTC offset returned by utcoffset() if applicable, so there's no need to consult dst() unless you're interested in displaying the DST info. NrrHrrrs rrtime.dstD4 << !!$'%( rc Uc URnUc URnUc URnUc URnUSLa URnUc UR n[ U5"XX4XVS9$)z;Return a new time with new values for the specified fields.TrJ)rrrrrrIr)rrrrrrrs rr time.replaceSsp <99D >[[F >[[F  **K T>[[F <::DDz$VOOrc[URS5up#[US5upBURnUR(a US:aUS- n[ XPR UR XBU/5nURcU4$X`R4$Nrr<)r?rGrDrIrrErFrH)rprotocolus2us3us1r basestates rrtime._getstatehs$++S1#s# JJ ::(Q, HA1llDLLS*+ << < ||, ,rcUb [U[5(d [S5eUuo0lUlpEnUS:aSUlUS- UlO SUlX0lUS-U-S-U-UlX lg)Nbad tzinfo state argrLrrr r) r _tzinfo_classrrErFrIrDrGrH)rrrrrrrs rrtime.__setstateusw  j&G&G23 37=4<s s7DJSDJDJJ"ax3.14; rc<URURU54$r@rrrs r __reduce_ex__time.__reduce_ex__x 899rc$URS5$r;rr1s rrtime.__reduce__!!!$$r)rIr rDrGrErFrHr r r r NFrr)NNNNTr<)'rrr&rrrrrrrrrrrrprtrwr{r~rrrr(rr.rrrrrrrrrrrMrrrrrrrr,s0,_I%UV%P!!" " " " " A8.# &"G K K 7  HLP%)P"K - :%rrc\rSrSrSr\R rS4SS.Sjjr\S5r \S5r \S 5r \S 5r \S 5r \S 5r\S 5r\S5Sj5r\S5r\S5Sj5r\S5r\S6Sj5r\S5rSrSrSrSrSrSrSrS7SS.Sjjr\rSrS5Sjr Sr!S8Sjr"S r#S!r$\S"5r%S#r&S$r'S%r(S&r)S'r*S(r+S)r,S*r-S9S+jr.S,r/\/r0S-r1S.r2S:S/jr3S0r4S1r5S2r6S3r7g);rizdatetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]]) The year, month and day arguments are required. tzinfo may be None, or an instance of a tzinfo subclass. The remaining arguments may be ints. Nr rJc f[U[[45(a[U5S:XapS[ USS5S-s=::aS::aTO OQ[U[5(a [US5n[RU5n U RX5 S U l U $[XU5upn[XEXgU 5upEpgn [U5 [RU5n XlX*lX:lXJlXZlXjlXzlXlS U l XlU $![ a [ S5ef=f) Nrrr*r<rLr;rzrFailed to encode latin1 string when unpickling a datetime object. pickle.load(data, encoding='latin1') is assumed.r)rrrrrrrvrr_datetime__setstater rrrrrrrDrErFrGrHrI) rr$r.r5rrrrrrrs rrdatetime.__new__s! teS\ * *s4yB T!AY$ * *$$$L x0D>>#&D OOD (DNK-d3?S2D &t35/f4&!~~c"      '   3*L$KLLLs DD0cUR$rPrQr1s rr datetime.hourr8rcUR$rTrUr1s rrdatetime.minuterWrcUR$rYrZr1s rrdatetime.secondrWrcUR$r]r^r1s rrdatetime.microsecondr`rcUR$rbrcr1s rrdatetime.tzinforWrcUR$r@rfr1s rr datetime.foldrhrc [R"U5upA[US-5nUS:a US- nUS-nOUS:a US-nUS- nU(a[RO[R nU"U5u pxpppn[ U S5n U"XxXXXS5nUcU(dSnUU:a&[RRS5(aU$U"UU- 5SS upxppU"XxXXXS5nUU- [SU5- nURS:a7U"UU[SS5--5SS upxppU"XxXXXS5nUU:XaSUl U$UbURU5nU$) rConstruct a datetime from a POSIX timestamp (like time.time()). A timezone info object may be passed in as well. rrrr rNr winr_)rrrragmtimerminsysplatform startswithrrrIr))rrrrfracrw converterrrcrdrerfrgrrrresultmax_fold_secondsprobe1transprobe2s r_fromtimestampdatetime._fromtimestamps} **Q- 4#:  = FA 'MB !V FA 'MB$'ELLU__ 2;A,/aRWC R[Q1""1 :c )  ## (?(?(F(F "+A0@,@"A"1"E A!qbb5FVOi3C&DDEzzA~&/EYq!_4L0L&Mbq&Q#aRQ1""9V##$FL ^ZZ'F rc@[U5 URXSLU5$)rN)rr)r timestamprs rrdatetime.fromtimestamps# "!!)t^R@@rcZSSKnURS[SS9 URUSS5$)z6Construct a naive UTC datetime from a POSIX timestamp.r Nzdatetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(t, datetime.UTC).r* stacklevelT)warningswarnDeprecationWarningr)rrrs rutcfromtimestampdatetime.utcfromtimestamps=  J)!"  $ !!!T400rcN[R"5nURX!5$)zBConstruct a datetime from time.time() and optional time zone info.r)rrrs rnow datetime.nows  JJL  ''rcSSKnURS[SS9 [R"5nUR USS5$)z*Construct a UTC datetime from time.time().r Nzdatetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).r*rT)rrrrarr)rrrs rutcnowdatetime.utcnow sG  =)!"  $ JJL!!!T400rc ^[U[5(d [S5e[U[5(d [S5eUSLa URnU"UR UR URURURURURX2RS9 $)z8Construct a datetime from a given date and a given time.z%date argument must be a date instancez%time argument must be a time instanceTrJ) r _date_classr _time_classrr$r.r5rrrrr)rrrrs rcombinedatetime.combine-s$ ,,CD D$ ,,CD D T>[[F499djj$((99dkk4;;8H8H + +rcz[U[5(d [S5e[U5S:a[ SU<35e[ U5nUSUnXS-Sn[ U5nU(a [U5nO/SQnU"XV-6$![a [ SU<35Sef=f![a [ SU<35Sef=f)zBConstruct a datetime from a string in one of the ISO 8601 formats.rr`rr rNr)rrrrrvrrr)rrseparator_locationdstrrdate_componentstime_componentss rrdatetime.fromisoformat:s+s++AB B { a 9+IJ J H!CK!P q!34D1 467D3D9O  L"7"= 1O_688 H,[O<>CG H H L 0@BGKL Ls"B* BBB:c UR5nUcSnO U(aSnOSn[URURURUR UR URU5$)rrrr )rrkr$r.r5rrr)rrs rrdatetime.timetupleYsYhhj ;C CC!$))TZZ"&))T[[$++"%' 'rcR^ [SSS5m SnUT - [SS5-nU 4SjnU"U5U- nX$- nU"U5nXb:Xa'XQ*U4UR-nU"U5U- nXH:XaU$OXe- nX(- nU"U5n X:XaU$Xb:XaU$[[4UR"XW5$)zReturn integer POSIX timestamp.rr r cx>[R"U5SSupp4pV[XX4XV5T- [SS5-$)Nr_r r)rarrr)urrcrdrerfrgepochs rlocaldatetime._mktime..localks>"'//!"4Ra"8 A!Q1"1E9i1oM Mr)rrrmaxr) rrrr ru1t1u2rt2r s @r_mktimedatetime._mktimefsq!$$ E\i1o - N !HqL U 2Y 7(*:;DIIFFBb BAv A U 2Y 7I 7ISz$))$R,,rcURc!UR5nXRS- -$U[- R 5$)zReturn POSIX timestamp as floatr)rHrr_EPOCHr2rs rrdatetime.timestamps> <<  A''#-- -6M002 2rc UR5nU(aX-nURURURpCnURUR UR pvn[X#XEXgS5$)z4Return UTC time tuple compatible with time.gmtime().r )rr$r.r5rrrrk)rrrrcrdrerfrgs r utctimetupledatetime.utctimetuplesW!  ND))TZZaYY T[[!!rq99rcX[URURUR5$)zReturn the date part.)rrrrr1s rr datetime.datesDJJ TYY77rc[URURURURUR S9$)z'Return the time part, with tzinfo None.rJ)rrrrrrr1s rr datetime.times.DIIt{{DKK9I9IPTPYPYZZrc [URURURURUR UR S9$)z'Return the time part, with same tzinfo.rJ)rrrrrrHrr1s rtimetzdatetime.timetzs6DIIt{{DKK9I9ILLtyy2 2rc  :Uc URnUc URnUc URnUc URnUc URnUc UR nUc UR nUSLa URnU c URn [U5"XX4XVXxU S9 $)z?Return a new datetime with new values for the specified fields.TrJ) r$r.r5rrrrrrr) rr$r.r5rrrrrrs rrdatetime.replaces <99D =JJE ;((C <99D >[[F >[[F  **K T>[[F <99DDz$s&%D: :rcURcTUR5nURSUR- S9R5nX!:waX!:UR:XaUnOU[- [ SS9-n[ R"U5n[USS6nURnURn[[ US9U5$)NrrJr:r_) rrrrrrrarr tm_gmtofftm_zoner)rtsts2localtmr gmtoffzones r_local_timezonedatetime._local_timezones ;; B,,AdiiK,088:CyH*B-Ia$88B//"%'"1+&"" &1488rcUcUR5nO [U[5(d [S5eURnUc"UR5nUR U5nOBUR U5nUc.UR SS9R5nUR U5nXLaU$X- R US9nUR U5$)Nz)tz argument must be an instance of tzinfor)r*rrrrrr))rrrymyoffsetrs r astimezonedatetime.astimezones :%%'BB''GH H{{ <'')D~~d+H~~d+H||4|0@@B>>$/ :K''r'2zz#rcUR5S-=(d SnS[U[URURUR UR URUR4-$)rr`z%s %s %2d %02d:%02d:%02d %04d) rrrrrrDrErFrrs rrdatetime.ctimes_.."Q&+!. g   $ II JJ dll JJ 2 rcSURURURU4-[URUR UR URU5-nUR5n[U5nU(aX5- nU$)a5Return the time formatted according to ISO. The full format looks like 'YYYY-MM-DD HH:MM:SS.mmmmmm'. By default, the fractional part is omitted if self.microsecond == 0. If self.tzinfo is not None, the UTC offset is also attached, giving a full format of 'YYYY-MM-DD HH:MM:SS.mmmmmm+HH:MM'. Optional argument sep specifies the separator between date and time, default 'T'. The optional argument timespec specifies the number of additional terms of the time to include. Valid options are 'auto', 'hours', 'minutes', 'seconds', 'milliseconds' and 'microseconds'. z%04d-%02d-%02d%c) rrrr{rDrErFrGrr)rrrxrrrs rrdatetime.isoformatst  4::t{{DIIs"K K $**dllDLL++X77nn C  GArc URURURURURUR UR /nUSS:XaUS USS:XaUS [U5<SURR<SSR[[U55<S3nURbUSSSUR--S-nUR(aUSSS -nU$) rrr r"r#r$r%Nrr)rrrrDrErFrGrrr&rrrrHrI)rLrs rr(datetime.__repr__s ZZdii ZZt||T5F5F H R5A:" R5A:",T2>>6699Sa[1 3 << ##255;A ::#2$Arc URSS9$)zConvert to string, for str(). r)rr1s rr.datetime.__str__&s~~#~&&rc.SSKnURXU5$)zKstring, format -> new datetime parsed from a string (like time.strptime()).r N) _strptime_strptime_datetime)rrrtr<s rstrptimedatetime.strptime*s ++CfEErcpURcgURRU5n[SU5 U$)zTReturn the timezone offset as timedelta positive east of UTC (negative west of UTC).Nrrrs rrdatetime.utcoffset0rrcnURcgURRU5n[U5 U$rrrs rrdatetime.tzname9rrcpURcgURRU5n[SU5 U$rrrs rr datetime.dstFrrc^[U[5(aURUSS9S:H$[$rjrrrrBrCs rrpdatetime.__eq__Ws- eX & &99U95: :! !rc`[U[5(aURU5S:*$[$rUrGrCs rrtdatetime.__le__]) eX & &99U#q( (! !rc`[U[5(aURU5S:$[$rUrGrCs rrwdatetime.__lt__c) eX & &99U#a' '! !rc`[U[5(aURU5S:$[$rUrGrCs rr{datetime.__ge__irKrc`[U[5(aURU5S:$[$rUrGrCs rr~datetime.__gt__orNrc :URnURnS=pVX4LaSnOUR5nUR5nU(a`XPRUR(+S9R5:wagXaRUR(+S9R5:wagXV:HnU(a[ UR UR URURURURUR4UR UR URURURURUR45$UbUcU(ag[S5eX- nURS:agU=(a S=(d S$)NTrJr*z(cannot compare naive and aware datetimesr rr)rHrrrrrrrrDrErFrGrr) rrDrkryrzr{r|r}diffs rr datetime._cmpusG||}} <LNN$EOO%ELL$))mL<FFHHMM5::~M>HHJJ >L T[[$))T\\4<<**,ellEJJemmU]]++-. . =EM JKK| 99q=zQrc [U[5(d[$[UR5URUR UR URS9nX!- n[URS5up4[US5upVSURs=:a [::aYO OV[U5R[RUR5[!X5UUR"UR$S95$['S5e)zAdd a datetime and a timedelta.rr r r r-r)rrrBrrDrErFrGr?rorrrrrrrrqrHr)rrDr(rremrrs rrEdatetime.__add__s%++! !$..* $ "&,,"&,,'+'8'8 : 5==$/ R uzz ([ (:%%d&6&6uzz&B&*4+0+=+=26,,'@A A122rc`[U[5(d [U[5(aX*-$[$UR 5nUR 5nUR UR S--URS--nUR UR S--URS--n[X#- XE- URUR- 5nURURLaU$UR5nUR5nXx:XaU$UbUc [S5eXh-U- $)z6Subtract two datetimes, or a datetime and a timedelta.r r z(cannot mix naive and timezone-aware time) rrrrBrrFrErDrGrHrr) rrDrrsecs1secs2baser{r|s rrIdatetime.__sub__s%**%++f}$! ! ! t||b004::3DD   22U[[45GG**U-?-??A <<5== (K ! >K =EMFG G|e##rcURS:XaUR(aURSS9nOUnUR5nUc-[ UR 5S5UlUR$[ URURUR5nURS-URS--UR-n[ [X4UR5U- 5UlUR$)Nrr rJr r )r rrrrrr7r$r.r5rrrrr)rrrrros rrdatetime.__hash__s >>R yyLLaL(KKME}!%akkmA&6!7 ~~  4::txx@))d*T[[2-== K!%it?O?O&PSX&X!Y~~rc |[URS5up#[URS5upE[US5updURnUR(a US:aUS- n[ X#XpR URURURXdU/ 5nURcU4$XR4$r) r?rrGrrIrrrDrErFrH) rrrrrrrrcrs rrdatetime._getstates$**c*$++S1#s# KK ::(Q, HA3Q ::t||T\\S*+  << < ||, ,rc Ub [U[5(d [S5eUu p4oPlUlUlUlpgnUS:aSUlUS- UlO SUlXPlUS-U-Ul US-U-S-U-Ul X l g)NrrLrrr rr) rrrrrDrErFrIrrrGrH) rrrrrrcrrrs rrdatetime.__setstates  j&G&G23 36< 41i t|Ss s7DJc'DKDJK3Y_ "ax3.14; rc<URURU54$r@rrs rrdatetime.__reduce_ex__rrc$URS5$r;rr1s rrdatetime.__reduce__rr) rrIr rDrGrErrFrHr)NNr r r r Nr@)T)NNNNNNNT)rrrrr)8rrr&rrrrrrrrrrrrrrrrrrrrrrrrrrrrr*r/rrr(r.r>rrrrprtrwr{r~rrErrIrrrrrrrrrrrs IJK&*!45!H!!))VAA 1 1((  1 1 + +99< ' -F3:8[2 =ACG::2K9"66&'FF   "" " " " " #J3&H$0 " - :%rrcPSn[USS5nUS-S-nX#- nX1:aUS- nU$)Nr<rr_r`)r7)r$THURSDAYfirstday firstweekdayr s rrr sAHa#HqLA%L)Kq rc\rSrSrSr\"5r\4SjrSr\ SSj5r Sr Sr S r S rS rS rS rSrSr\"SSS9r\*r\S5rSrg)ri )_offset_namecH[U[5(d [S5eX RLaU(d UR$SnO [U[ 5(d [S5eUR Us=::aUR::d O [S5eURX5$)Nzoffset must be a timedeltazname must be a stringzYoffset must be a timedelta strictly between -timedelta(hours=24) and timedelta(hours=24).) rrr_Omittedrr _minoffset _maxoffsetrv_create)rrrs rrtimezone.__new__ s&),,89 9 << wwDD#&&34 4~~93>>945 5{{6((rc[S5e)Nz7type 'datetime.timezone' is not an acceptable base type)r)rs r__init_subclass__timezone.__init_subclass__! sQRRrNcH[RU5nXlX#lU$r@)rrrmrn)rrrrs rrstimezone._create$ s~~c"   rcfURc UR4$URUR4$)zpickle supportrnrmr1s rr,timezone.__getinitargs__+ s+ :: LL? " djj))rcj[U[5(aURUR:H$[$r@)rrrmrBrCs rrptimezone.__eq__1 s( eX & &<<5==0 0rc,[UR5$r@)rrmr1s rrtimezone.__hash__6 sDLL!!rc*XRLagURc5[U5<SURR<SUR <S3$[U5<SURR<SUR <SUR<S3$)zConvert to formal string, for repr(). >>> tz = timezone.utc >>> repr(tz) 'datetime.timezone.utc' >>> tz = timezone(timedelta(hours=-5), 'EST') >>> repr(tz) "datetime.timezone(datetime.timedelta(-1, 68400), 'EST')" zdatetime.timezone.utcr"r#r%r$)rrnrrr&rmr1s rr(timezone.__repr__9 so 88 * :: "3D"9"&.."="="&,,0 0#4D"9"&.."="="&,, < r1rrrrrrrsr rrrrrrs  ( $/   FT !" Cc"3JC B* !F  C  C  A <~? C I ** &@0F6r!"H6-^,^B1 ) 3"P (|2|2| *% yB'-/  a0 B2B2H  1a= b" #:;:;zHeH6# Z%Z%x  1a= BF #+k %tk %\1a  b"b"b&9 Q/u5vu5n%%il33hl R!@ @A  B ?@ $1X\\ 2r