pytz-2012c/0000775000175000017500000000000011742722012011325 5ustar stubstubpytz-2012c/pytz/0000775000175000017500000000000011742722012012333 5ustar stubstubpytz-2012c/pytz/exceptions.py0000644000175000017500000000246511742721477015111 0ustar stubstub''' Custom exceptions raised by pytz. ''' __all__ = [ 'UnknownTimeZoneError', 'InvalidTimeError', 'AmbiguousTimeError', 'NonExistentTimeError', ] class UnknownTimeZoneError(KeyError): '''Exception raised when pytz is passed an unknown timezone. >>> isinstance(UnknownTimeZoneError(), LookupError) True This class is actually a subclass of KeyError to provide backwards compatibility with code relying on the undocumented behavior of earlier pytz releases. >>> isinstance(UnknownTimeZoneError(), KeyError) True ''' pass class InvalidTimeError(Exception): '''Base class for invalid time exceptions.''' class AmbiguousTimeError(InvalidTimeError): '''Exception raised when attempting to create an ambiguous wallclock time. At the end of a DST transition period, a particular wallclock time will occur twice (once before the clocks are set back, once after). Both possibilities may be correct, unless further information is supplied. See DstTzInfo.normalize() for more info ''' class NonExistentTimeError(InvalidTimeError): '''Exception raised when attempting to create a wallclock time that cannot exist. At the start of a DST transition period, the wallclock time jumps forward. The instants jumped over never occur. ''' pytz-2012c/pytz/zoneinfo/0000775000175000017500000000000011742722012014162 5ustar stubstubpytz-2012c/pytz/zoneinfo/CST6CDT0000644000175000017500000000436611742721476015203 0ustar stubstubTZif2,ppˈ#pa gII++ wq pa Pp@0p' p p ٰ uttyViVY8I89)"7pppp܀p v!p"U#j$5%J&'*'р) c)޳*E+,bp-w.Dp/~Y0&p1gv2sp3GX4Rp5':62p7889:;۬<=>ހ?p@oApBOCdopD/EDQpEG-mGәI OI{J1KLNpM|yN0pO\[PpQ<=RupSTUpTV5pVXXYZ[ޘ\]z^d_\`M€aypb-cg[pd eG=pehg'pgJipi,jpkIlmv+noV pq5rostOtv8pvπxpxyhpz{Jp|~u},p~^Wp CDTCSTCWTCPTTZif2,ppˈ#pa gII++ wq pa Pp@0p' p p ٰ uttyViVY8I89)"7pppp܀p v!p"U#j$5%J&'*'р) c)޳*E+,bp-w.Dp/~Y0&p1gv2sp3GX4Rp5':62p7889:;۬<=>ހ?p@oApBOCdopD/EDQpEG-mGәI OI{J1KLNpM|yN0pO\[PpQ<=RupSTUpTV5pVXXYZ[ޘ\]z^d_\`M€aypb-cg[pd eG=pehg'pgJipi,jpkIlmv+noV pq5rostOtv8pvπxpxyhpz{Jp|~u},p~^Wp CDTCSTCWTCPT CST6CDT,M3.2.0,M11.1.0 pytz-2012c/pytz/zoneinfo/CET0000644000175000017500000000406611742721476014541 0ustar stubstubTZif2 `ٮ qKͩ΢Cϒ4Ђ%rN@ cEt6d'TMD3#ܐ͐㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[ \]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y  CESTCETTZif2 `ٮ qKͩ΢Cϒ4Ђ%rN@ cEt6d'TMD3#ܐ͐㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[ \]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y  CESTCET CET-1CEST,M3.5.0,M10.5.0/3 pytz-2012c/pytz/zoneinfo/PRC0000644000175000017500000000062511742721476014547 0ustar stubstubTZif2 \'pZ6ip ~h!Iap"^J#)Cp$Gg%_&'I&A(+(#q~pLMTCDTCSTTZif2 \'pZ6ip ~h!Iap"^J#)Cp$Gg%_&'I&A(+(#q~pLMTCDTCST CST-8 pytz-2012c/pytz/zoneinfo/Mideast/0000775000175000017500000000000011742722012015550 5ustar stubstubpytz-2012c/pytz/zoneinfo/Mideast/Riyadh870000644000175000017500000002075511742721476017116 0ustar stubstubTZif2P/0g$u <  jn   _9  f S ' H O  =w   2)  G & x`  y m ! # $a %& ' (V0 ) *: -? 5: 8(5 9y :+ < =n! > @ Ab B Dt EV F` G IKL J K3 M? N O Q3 Rm S U(O Vy W, Y Zn [z ] ^bW _ a4 bV c d fJ gZ h j?7 k l n3 o p] r' sy: tʦ v wm x ze {a |B ~ V  Jr Y > ; 3" ' x k  mW C a 4  V* J    b %  W/ > K M @\ ‘ p 4 Ɔ  ) {" ̱ ; o T  dm ӵ  Y ת . M ۟G B` ߓ y 7 ㈒ ! + }: N q g  f{  [ ( O < DF U 8!_!-d!~!sn! i!!_!P!U!!EK!!;!?Ч!A"!Bs!C!ER!Fg!G*!I !J\!Ki!L!NPA!O!P!RD!S!TS!V8!W+!Xۗ!Z-![~o!\!^!B!_r!`!b!cf!dc!f !g[;!h!i!kO!l!mf!oC!pH!q!s8*!t!u!w,!x}!yi!{ !|rU!}!A!f!2! ![#!!!!D!!-!~!#!!!s-!ķ!?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnoponmlkjihgfeqrstuvw^]\[Zxyz{|}T~KIHEBBCDEHJK|Wy[`bqgjnܽpjsv]y}SQ++******k*R*9* *)))))))q)])I):)&))(((((((((((((((((((((()) ))+)5)D)S)b)))))))* **/*>*f*u*******+++)+=+L+[+o+~++++++++,,,,(,7,A,K,U,_,i,s,},,,,,,,,,,,n,d,Z,P,F,<,2+++++++++y+j+`+Q+G+8+.++********z*p*a*\*W***+$+3+B+t++++,,-,,,,--,-@-T-m-------..&.:.I.].q........///%///>/H/W/a/k/u////////////z/p/f/M/ //....v.b.0.-----|-c-E-'-,,,x,++3zzzTZif2P/0g$u <  jn   _9  f S ' H O  =w   2)  G & x`  y m ! # $a %& ' (V0 ) *: -? 5: 8(5 9y :+ < =n! > @ Ab B Dt EV F` G IKL J K3 M? N O Q3 Rm S U(O Vy W, Y Zn [z ] ^bW _ a4 bV c d fJ gZ h j?7 k l n3 o p] r' sy: tʦ v wm x ze {a |B ~ V  Jr Y > ; 3" ' x k  mW C a 4  V* J    b %  W/ > K M @\ ‘ p 4 Ɔ  ) {" ̱ ; o T  dm ӵ  Y ת . M ۟G B` ߓ y 7 ㈒ ! + }: N q g  f{  [ ( O < DF U 8!_!-d!~!sn! i!!_!P!U!!EK!!<!9!-!ܣ! .!!!"!$"{!%s!&b!(!)hI!*!, +!-\!. !/~!1P!2`!3!5E=!6!7!99!:!;^!=-!>;!?Ч!A"!Bs!C!ER!Fg!G*!I !J\!Ki!L!NPA!O!P!RD!S!TS!V8!W+!Xۗ!Z-![~o!\!^!B!_r!`!b!cf!dc!f !g[;!h!i!kO!l!mf!oC!pH!q!s8*!t!u!w,!x}!yi!{ !|rU!}!A!f!2! ![#!!!!D!!-!~!#!!!s-!ķ!<!g!P! !\i!!!Q!!/!E!R!!:u! !ݝ!/6!!^!#!u!)!!j[!! !_&!!]!S!å!2!H!ǚn! !=!ˏH!!2!τ"!!'^!x!ʕ!3!m!ؿo! !ڹ  !"#$%&'&%$#"( )*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnoponmlkjihgfeqrstuvw^]\[Zxyz{|}T~KIHEBBCDEHJK|Wy[`bqgjnܽpjsv]y}SQ++******k*R*9* *)))))))q)])I):)&))(((((((((((((((((((((()) ))+)5)D)S)b)))))))* **/*>*f*u*******+++)+=+L+[+o+~++++++++,,,,(,7,A,K,U,_,i,s,},,,,,,,,,,,n,d,Z,P,F,<,2+++++++++y+j+`+Q+G+8+.++********z*p*a*\*W***+$+3+B+t++++,,-,,,,--,-@-T-m-------..&.:.I.].q........///%///>/H/W/a/k/u////////////z/p/f/M/ //....v.b.0.-----|-c-E-'-,,,x,++3zzz zzz-3:07:04 pytz-2012c/pytz/zoneinfo/Mideast/Riyadh890000644000175000017500000002053311742721476017112 0ustar stubstubTZif2Q##9]##ܔ#.-##_#"#t#/##i\#ͺ# #^#ѯ#E#R#դm##G#ٙ##$$$&$'`$($*d$+T$,<$-$/I$0$1$3=b$4$5?$71$8$9ԍ$;%$Z%@*%A|F%Bͼ%D2%Ep%F(%H%Ie%J%MY%QN %R%V%W%Y7%Z%[(%]+%^}7%_%a K%bq%c_%e%ffx%g%i %j[%%k%lH%nO%op%p%rD%s,%t%v9T%w%x܆%z.%{%|L%~"%t%%%iS%% %^(%%d%R%%9%G%u%%<%O%%1%)%%&`%w%ɜ%r\  !"#$%&'&%$#"( )*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklkjihgmedcbanopqrstZuXWVvwxyRQPz{|}L~JIFECBAABE~M{zSwvZsqobehlϼҴ֬idnqtVTRPNI++*****z*a*C***))))))){)g)S)?)0)!) ((((((((((((((((|(((((((()))N)])l)))))))***%*9*M*\*p*****++$+3+G+V+j+y++++++++,, ,,#,2,<,F,P,Z,d,n,x,},,,,,,,,,,,i,_,U,K,A,7,-,++++++~+t+e+L+=++ ********u*k*f*W*R****+)+8+[+++,,,,- --6-J-^-r------...0.?.S.g.{......./// /*/9/H/R/\/f/p/z/////////////u/k/a//.....l.:.!. ------m-O-,,,+`+B+$zzzTZif2Q##9]##ܔ#.-##_#"#t#/##i\#ͺ# #^#ѯ#E#R#դm##G#ٙ##$$$&$'`$($*d$+T$,<$-$/I$0$1$3=b$4$5?$71$8$9ԍ$;%$Z%@*%A|F%Bͼ%D2%Ep%F(%H%Ie%J%MY%QN %R%V%W%Y7%Z%[(%]+%^}7%_%a K%bq%c_%e%ffx%g%i %j[%%k%lH%nO%op%p%rD%s,%t%v9T%w%x܆%z.%{%|L%~"%t%%%iS%% %^(%%d%R%%9%G%u%%<%O%%1%)%%&`%w%ɜ%r\  !"#$%&'&%$#"( )*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklkjihgmedcbanopqrstZuXWVvwxyRQPz{|}L~JIFECBAABE~M{zSwvZsqobehlϼҴ֬idnqtVTRPNI++*****z*a*C***))))))){)g)S)?)0)!) ((((((((((((((((|(((((((()))N)])l)))))))***%*9*M*\*p*****++$+3+G+V+j+y++++++++,, ,,#,2,<,F,P,Z,d,n,x,},,,,,,,,,,,i,_,U,K,A,7,-,++++++~+t+e+L+=++ ********u*k*f*W*R****+)+8+[+++,,,,- --6-J-^-r------...0.?.S.g.{......./// /*/9/H/R/\/f/p/z/////////////u/k/a//.....l.:.!. ------m-O-,,,+`+B+$zzz zzz-3:07:04 pytz-2012c/pytz/zoneinfo/Mideast/Riyadh880000644000175000017500000002053311742721476017111 0ustar stubstubTZif2Q!b!ܴD!!W!!!LP!!!A!蒴!M!5!z!!*!|6!!^!p!!!e!3!!ZQ!!j"N"~""C"""8+" " 5" ,"Ͽ""["0""P&"""!D"""#"%8"&o"'")-V"*~"+B"-!".s)"/Ě"1 "2g|"3"5 ^"6["7@"8":P"";"<">Dp"?"@M"B8"C*"Dۖ"F-"G~s"H"J!P"Kr"L("N"Og"Pq"R "S[N"T"U+"WO"X"Yy"[C"\V"]"_83"`"a"c,"d}"eh"g "hrJ"i"k1"lf"m"o "pZ"qu"r"tOa"u"vR"xC"y>"z"|8/"}"~%","~"ϖ"!" "P""D" ""9*""4"-"C"""R"s"f""hu"" "]"","Q"E""F^""w";"""/"8""$Q"u"j""j"ļ" "_+"Ȱ"D"S"̥X""Hq"Й""="Ԏ""1"؃2"Է"&A"w"K""lU""_"`"i"">i"d"2""'U"x"F""m7"#(#a###U#q## JX# # ?# >#!##3#t##'Q#x#.##m #w##aO##!,#"U###$p#&I#'C#(#*>#+#,#.2Z#/#02#2x#4q#6#7lD#8#:#;`#<#>[#?T#@3#A#CI #Dw#E#G=T#H#I1#K1#L#Mz#O%#Pw\#Q#S>#Tk#U #W#X`#Yx#[#\Td#]#^P#`H#a<#b#d=-#e#f##h1#i#jԔ#mw#r#u`#x#yU(#z#{2#}I#~F##>Z##s#2###'#y>##a#m###b#E##Wr# ##L8##o#A##?#5#v##*#|K###q #¾#\#e## 6#Z#r##O#L##D#!#>  !"#$%&'&%$#("! )*+,-./0123456789 :;< =>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghgfedcbai`j^]klZYXWVmnopqrPOstuvwxyz{G|}E~CBA@>>@BCD}|zyxOqSnV\jaeʽ϶ӯ֪٤d_kVt{|++******p*W*>*%* )))))))v)b)N)?)+)) (((((((((((((((((((((())&)5)D)S)q)))))*****M*a*****++$+8+G+[+j+y++++++++,,,,(,2,A,K,U,_,i,n,x,,,,,,,,,,,,},d,Z,,,+++++++++~+o+`+V+=+.+ *******z*u*k*f*\*R****+++L++++,<,P,,,,--'-;-O-c-|------. .!.5.I.X.l......../// ///9/H/R/\/k/p/z//////////f/M/C/4/%/.....{.g.N.-----h-J-1-,,,F, +++t+zzzTZif2Q!b!ܴD!!W!!!LP!!!A!蒴!M!5!z!!*!|6!!^!p!!!e!3!!ZQ!!j"N"~""C"""8+" " 5" ,"Ͽ""["0""P&"""!D"""#"%8"&o"'")-V"*~"+B"-!".s)"/Ě"1 "2g|"3"5 ^"6["7@"8":P"";"<">Dp"?"@M"B8"C*"Dۖ"F-"G~s"H"J!P"Kr"L("N"Og"Pq"R "S[N"T"U+"WO"X"Yy"[C"\V"]"_83"`"a"c,"d}"eh"g "hrJ"i"k1"lf"m"o "pZ"qu"r"tOa"u"vR"xC"y>"z"|8/"}"~%","~"ϖ"!" "P""D" ""9*""4"-"C"""R"s"f""hu"" "]"","Q"E""F^""w";"""/"8""$Q"u"j""j"ļ" "_+"Ȱ"D"S"̥X""Hq"Й""="Ԏ""1"؃2"Է"&A"w"K""lU""_"`"i"">i"d"2""'U"x"F""m7"#(#a###U#q## JX# # ?# >#!##3#t##'Q#x#.##m #w##aO##!,#"U###$p#&I#'C#(#*>#+#,#.2Z#/#02#2&#3x#4q#6#7lD#8#:#;`#<#>[#?T#@3#A#CI #Dw#E#G=T#H#I1#K1#L#Mz#O%#Pw\#Q#S>#Tk#U #W#X`#Yx#[#\Td#]#^P#`H#a<#b#d=-#e#f##h1#i#jԔ#mw#r#u`#x#yU(#z#{2#}I#~F##>Z##s#2###'#y>##a#m###b#E##Wr# ##L8##o#A##?#5#v##*#|K###q #¾#\#e## 6#Z#r##O#L##D#!#>  !"#$%&'&%$#("! )*+,-./0123456789 :;< =>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghgfedcbai`j^]klZYXWVmnopqrPOstuvwxyz{G|}E~CBA@>>@BCD}|zyxOqSnV\jaeʽ϶ӯ֪٤d_kVt{|++******p*W*>*%* )))))))v)b)N)?)+)) (((((((((((((((((((((())&)5)D)S)q)))))*****M*a*****++$+8+G+[+j+y++++++++,,,,(,2,A,K,U,_,i,n,x,,,,,,,,,,,,},d,Z,,,+++++++++~+o+`+V+=+.+ *******z*u*k*f*\*R****+++L++++,<,P,,,,--'-;-O-c-|------. .!.5.I.X.l......../// ///9/H/R/\/k/p/z//////////f/M/C/4/%/.....{.g.N.-----h-J-1-,,,F, +++t+zzz zzz-3:07:04 pytz-2012c/pytz/zoneinfo/zone.tab0000444000175000017500000004673511742721477015656 0ustar stubstub#
# @(#)zone.tab	8.55
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
#
# TZ zone descriptions
#
# From Paul Eggert (1996-08-05):
#
# This file contains a table with the following columns:
# 1.  ISO 3166 2-character country code.  See the file `iso3166.tab'.
# 2.  Latitude and longitude of the zone's principal location
#     in ISO 6709 sign-degrees-minutes-seconds format,
#     either +-DDMM+-DDDMM or +-DDMMSS+-DDDMMSS,
#     first latitude (+ is north), then longitude (+ is east).
# 3.  Zone name used in value of TZ environment variable.
# 4.  Comments; present if and only if the country has multiple rows.
#
# Columns are separated by a single tab.
# The table is sorted first by country, then an order within the country that
# (1) makes some geographical sense, and
# (2) puts the most populous zones first, where that does not contradict (1).
#
# Lines beginning with `#' are comments.
#
#country-
#code	coordinates	TZ			comments
AD	+4230+00131	Europe/Andorra
AE	+2518+05518	Asia/Dubai
AF	+3431+06912	Asia/Kabul
AG	+1703-06148	America/Antigua
AI	+1812-06304	America/Anguilla
AL	+4120+01950	Europe/Tirane
AM	+4011+04430	Asia/Yerevan
AO	-0848+01314	Africa/Luanda
AQ	-7750+16636	Antarctica/McMurdo	McMurdo Station, Ross Island
AQ	-9000+00000	Antarctica/South_Pole	Amundsen-Scott Station, South Pole
AQ	-6734-06808	Antarctica/Rothera	Rothera Station, Adelaide Island
AQ	-6448-06406	Antarctica/Palmer	Palmer Station, Anvers Island
AQ	-6736+06253	Antarctica/Mawson	Mawson Station, Holme Bay
AQ	-6835+07758	Antarctica/Davis	Davis Station, Vestfold Hills
AQ	-6617+11031	Antarctica/Casey	Casey Station, Bailey Peninsula
AQ	-7824+10654	Antarctica/Vostok	Vostok Station, Lake Vostok
AQ	-6640+14001	Antarctica/DumontDUrville	Dumont-d'Urville Station, Terre Adelie
AQ	-690022+0393524	Antarctica/Syowa	Syowa Station, E Ongul I
AQ	-5430+15857	Antarctica/Macquarie	Macquarie Island Station, Macquarie Island
AR	-3436-05827	America/Argentina/Buenos_Aires	Buenos Aires (BA, CF)
AR	-3124-06411	America/Argentina/Cordoba	most locations (CB, CC, CN, ER, FM, MN, SE, SF)
AR	-2447-06525	America/Argentina/Salta	(SA, LP, NQ, RN)
AR	-2411-06518	America/Argentina/Jujuy	Jujuy (JY)
AR	-2649-06513	America/Argentina/Tucuman	Tucuman (TM)
AR	-2828-06547	America/Argentina/Catamarca	Catamarca (CT), Chubut (CH)
AR	-2926-06651	America/Argentina/La_Rioja	La Rioja (LR)
AR	-3132-06831	America/Argentina/San_Juan	San Juan (SJ)
AR	-3253-06849	America/Argentina/Mendoza	Mendoza (MZ)
AR	-3319-06621	America/Argentina/San_Luis	San Luis (SL)
AR	-5138-06913	America/Argentina/Rio_Gallegos	Santa Cruz (SC)
AR	-5448-06818	America/Argentina/Ushuaia	Tierra del Fuego (TF)
AS	-1416-17042	Pacific/Pago_Pago
AT	+4813+01620	Europe/Vienna
AU	-3133+15905	Australia/Lord_Howe	Lord Howe Island
AU	-4253+14719	Australia/Hobart	Tasmania - most locations
AU	-3956+14352	Australia/Currie	Tasmania - King Island
AU	-3749+14458	Australia/Melbourne	Victoria
AU	-3352+15113	Australia/Sydney	New South Wales - most locations
AU	-3157+14127	Australia/Broken_Hill	New South Wales - Yancowinna
AU	-2728+15302	Australia/Brisbane	Queensland - most locations
AU	-2016+14900	Australia/Lindeman	Queensland - Holiday Islands
AU	-3455+13835	Australia/Adelaide	South Australia
AU	-1228+13050	Australia/Darwin	Northern Territory
AU	-3157+11551	Australia/Perth	Western Australia - most locations
AU	-3143+12852	Australia/Eucla	Western Australia - Eucla area
AW	+1230-06958	America/Aruba
AX	+6006+01957	Europe/Mariehamn
AZ	+4023+04951	Asia/Baku
BA	+4352+01825	Europe/Sarajevo
BB	+1306-05937	America/Barbados
BD	+2343+09025	Asia/Dhaka
BE	+5050+00420	Europe/Brussels
BF	+1222-00131	Africa/Ouagadougou
BG	+4241+02319	Europe/Sofia
BH	+2623+05035	Asia/Bahrain
BI	-0323+02922	Africa/Bujumbura
BJ	+0629+00237	Africa/Porto-Novo
BL	+1753-06251	America/St_Barthelemy
BM	+3217-06446	Atlantic/Bermuda
BN	+0456+11455	Asia/Brunei
BO	-1630-06809	America/La_Paz
BQ	+120903-0681636	America/Kralendijk
BR	-0351-03225	America/Noronha	Atlantic islands
BR	-0127-04829	America/Belem	Amapa, E Para
BR	-0343-03830	America/Fortaleza	NE Brazil (MA, PI, CE, RN, PB)
BR	-0803-03454	America/Recife	Pernambuco
BR	-0712-04812	America/Araguaina	Tocantins
BR	-0940-03543	America/Maceio	Alagoas, Sergipe
BR	-1259-03831	America/Bahia	Bahia
BR	-2332-04637	America/Sao_Paulo	S & SE Brazil (GO, DF, MG, ES, RJ, SP, PR, SC, RS)
BR	-2027-05437	America/Campo_Grande	Mato Grosso do Sul
BR	-1535-05605	America/Cuiaba	Mato Grosso
BR	-0226-05452	America/Santarem	W Para
BR	-0846-06354	America/Porto_Velho	Rondonia
BR	+0249-06040	America/Boa_Vista	Roraima
BR	-0308-06001	America/Manaus	E Amazonas
BR	-0640-06952	America/Eirunepe	W Amazonas
BR	-0958-06748	America/Rio_Branco	Acre
BS	+2505-07721	America/Nassau
BT	+2728+08939	Asia/Thimphu
BW	-2439+02555	Africa/Gaborone
BY	+5354+02734	Europe/Minsk
BZ	+1730-08812	America/Belize
CA	+4734-05243	America/St_Johns	Newfoundland Time, including SE Labrador
CA	+4439-06336	America/Halifax	Atlantic Time - Nova Scotia (most places), PEI
CA	+4612-05957	America/Glace_Bay	Atlantic Time - Nova Scotia - places that did not observe DST 1966-1971
CA	+4606-06447	America/Moncton	Atlantic Time - New Brunswick
CA	+5320-06025	America/Goose_Bay	Atlantic Time - Labrador - most locations
CA	+5125-05707	America/Blanc-Sablon	Atlantic Standard Time - Quebec - Lower North Shore
CA	+4531-07334	America/Montreal	Eastern Time - Quebec - most locations
CA	+4339-07923	America/Toronto	Eastern Time - Ontario - most locations
CA	+4901-08816	America/Nipigon	Eastern Time - Ontario & Quebec - places that did not observe DST 1967-1973
CA	+4823-08915	America/Thunder_Bay	Eastern Time - Thunder Bay, Ontario
CA	+6344-06828	America/Iqaluit	Eastern Time - east Nunavut - most locations
CA	+6608-06544	America/Pangnirtung	Eastern Time - Pangnirtung, Nunavut
CA	+744144-0944945	America/Resolute	Central Standard Time - Resolute, Nunavut
CA	+484531-0913718	America/Atikokan	Eastern Standard Time - Atikokan, Ontario and Southampton I, Nunavut
CA	+624900-0920459	America/Rankin_Inlet	Central Time - central Nunavut
CA	+4953-09709	America/Winnipeg	Central Time - Manitoba & west Ontario
CA	+4843-09434	America/Rainy_River	Central Time - Rainy River & Fort Frances, Ontario
CA	+5024-10439	America/Regina	Central Standard Time - Saskatchewan - most locations
CA	+5017-10750	America/Swift_Current	Central Standard Time - Saskatchewan - midwest
CA	+5333-11328	America/Edmonton	Mountain Time - Alberta, east British Columbia & west Saskatchewan
CA	+690650-1050310	America/Cambridge_Bay	Mountain Time - west Nunavut
CA	+6227-11421	America/Yellowknife	Mountain Time - central Northwest Territories
CA	+682059-1334300	America/Inuvik	Mountain Time - west Northwest Territories
CA	+4906-11631	America/Creston	Mountain Standard Time - Creston, British Columbia
CA	+5946-12014	America/Dawson_Creek	Mountain Standard Time - Dawson Creek & Fort Saint John, British Columbia
CA	+4916-12307	America/Vancouver	Pacific Time - west British Columbia
CA	+6043-13503	America/Whitehorse	Pacific Time - south Yukon
CA	+6404-13925	America/Dawson	Pacific Time - north Yukon
CC	-1210+09655	Indian/Cocos
CD	-0418+01518	Africa/Kinshasa	west Dem. Rep. of Congo
CD	-1140+02728	Africa/Lubumbashi	east Dem. Rep. of Congo
CF	+0422+01835	Africa/Bangui
CG	-0416+01517	Africa/Brazzaville
CH	+4723+00832	Europe/Zurich
CI	+0519-00402	Africa/Abidjan
CK	-2114-15946	Pacific/Rarotonga
CL	-3327-07040	America/Santiago	most locations
CL	-2709-10926	Pacific/Easter	Easter Island & Sala y Gomez
CM	+0403+00942	Africa/Douala
CN	+3114+12128	Asia/Shanghai	east China - Beijing, Guangdong, Shanghai, etc.
CN	+4545+12641	Asia/Harbin	Heilongjiang (except Mohe), Jilin
CN	+2934+10635	Asia/Chongqing	central China - Sichuan, Yunnan, Guangxi, Shaanxi, Guizhou, etc.
CN	+4348+08735	Asia/Urumqi	most of Tibet & Xinjiang
CN	+3929+07559	Asia/Kashgar	west Tibet & Xinjiang
CO	+0436-07405	America/Bogota
CR	+0956-08405	America/Costa_Rica
CU	+2308-08222	America/Havana
CV	+1455-02331	Atlantic/Cape_Verde
CW	+1211-06900	America/Curacao
CX	-1025+10543	Indian/Christmas
CY	+3510+03322	Asia/Nicosia
CZ	+5005+01426	Europe/Prague
DE	+5230+01322	Europe/Berlin
DJ	+1136+04309	Africa/Djibouti
DK	+5540+01235	Europe/Copenhagen
DM	+1518-06124	America/Dominica
DO	+1828-06954	America/Santo_Domingo
DZ	+3647+00303	Africa/Algiers
EC	-0210-07950	America/Guayaquil	mainland
EC	-0054-08936	Pacific/Galapagos	Galapagos Islands
EE	+5925+02445	Europe/Tallinn
EG	+3003+03115	Africa/Cairo
EH	+2709-01312	Africa/El_Aaiun
ER	+1520+03853	Africa/Asmara
ES	+4024-00341	Europe/Madrid	mainland
ES	+3553-00519	Africa/Ceuta	Ceuta & Melilla
ES	+2806-01524	Atlantic/Canary	Canary Islands
ET	+0902+03842	Africa/Addis_Ababa
FI	+6010+02458	Europe/Helsinki
FJ	-1808+17825	Pacific/Fiji
FK	-5142-05751	Atlantic/Stanley
FM	+0725+15147	Pacific/Chuuk	Chuuk (Truk) and Yap
FM	+0658+15813	Pacific/Pohnpei	Pohnpei (Ponape)
FM	+0519+16259	Pacific/Kosrae	Kosrae
FO	+6201-00646	Atlantic/Faroe
FR	+4852+00220	Europe/Paris
GA	+0023+00927	Africa/Libreville
GB	+513030-0000731	Europe/London
GD	+1203-06145	America/Grenada
GE	+4143+04449	Asia/Tbilisi
GF	+0456-05220	America/Cayenne
GG	+4927-00232	Europe/Guernsey
GH	+0533-00013	Africa/Accra
GI	+3608-00521	Europe/Gibraltar
GL	+6411-05144	America/Godthab	most locations
GL	+7646-01840	America/Danmarkshavn	east coast, north of Scoresbysund
GL	+7029-02158	America/Scoresbysund	Scoresbysund / Ittoqqortoormiit
GL	+7634-06847	America/Thule	Thule / Pituffik
GM	+1328-01639	Africa/Banjul
GN	+0931-01343	Africa/Conakry
GP	+1614-06132	America/Guadeloupe
GQ	+0345+00847	Africa/Malabo
GR	+3758+02343	Europe/Athens
GS	-5416-03632	Atlantic/South_Georgia
GT	+1438-09031	America/Guatemala
GU	+1328+14445	Pacific/Guam
GW	+1151-01535	Africa/Bissau
GY	+0648-05810	America/Guyana
HK	+2217+11409	Asia/Hong_Kong
HN	+1406-08713	America/Tegucigalpa
HR	+4548+01558	Europe/Zagreb
HT	+1832-07220	America/Port-au-Prince
HU	+4730+01905	Europe/Budapest
ID	-0610+10648	Asia/Jakarta	Java & Sumatra
ID	-0002+10920	Asia/Pontianak	west & central Borneo
ID	-0507+11924	Asia/Makassar	east & south Borneo, Sulawesi (Celebes), Bali, Nusa Tengarra, west Timor
ID	-0232+14042	Asia/Jayapura	west New Guinea (Irian Jaya) & Malukus (Moluccas)
IE	+5320-00615	Europe/Dublin
IL	+3146+03514	Asia/Jerusalem
IM	+5409-00428	Europe/Isle_of_Man
IN	+2232+08822	Asia/Kolkata
IO	-0720+07225	Indian/Chagos
IQ	+3321+04425	Asia/Baghdad
IR	+3540+05126	Asia/Tehran
IS	+6409-02151	Atlantic/Reykjavik
IT	+4154+01229	Europe/Rome
JE	+4912-00207	Europe/Jersey
JM	+1800-07648	America/Jamaica
JO	+3157+03556	Asia/Amman
JP	+353916+1394441	Asia/Tokyo
KE	-0117+03649	Africa/Nairobi
KG	+4254+07436	Asia/Bishkek
KH	+1133+10455	Asia/Phnom_Penh
KI	+0125+17300	Pacific/Tarawa	Gilbert Islands
KI	-0308-17105	Pacific/Enderbury	Phoenix Islands
KI	+0152-15720	Pacific/Kiritimati	Line Islands
KM	-1141+04316	Indian/Comoro
KN	+1718-06243	America/St_Kitts
KP	+3901+12545	Asia/Pyongyang
KR	+3733+12658	Asia/Seoul
KW	+2920+04759	Asia/Kuwait
KY	+1918-08123	America/Cayman
KZ	+4315+07657	Asia/Almaty	most locations
KZ	+4448+06528	Asia/Qyzylorda	Qyzylorda (Kyzylorda, Kzyl-Orda)
KZ	+5017+05710	Asia/Aqtobe	Aqtobe (Aktobe)
KZ	+4431+05016	Asia/Aqtau	Atyrau (Atirau, Gur'yev), Mangghystau (Mankistau)
KZ	+5113+05121	Asia/Oral	West Kazakhstan
LA	+1758+10236	Asia/Vientiane
LB	+3353+03530	Asia/Beirut
LC	+1401-06100	America/St_Lucia
LI	+4709+00931	Europe/Vaduz
LK	+0656+07951	Asia/Colombo
LR	+0618-01047	Africa/Monrovia
LS	-2928+02730	Africa/Maseru
LT	+5441+02519	Europe/Vilnius
LU	+4936+00609	Europe/Luxembourg
LV	+5657+02406	Europe/Riga
LY	+3254+01311	Africa/Tripoli
MA	+3339-00735	Africa/Casablanca
MC	+4342+00723	Europe/Monaco
MD	+4700+02850	Europe/Chisinau
ME	+4226+01916	Europe/Podgorica
MF	+1804-06305	America/Marigot
MG	-1855+04731	Indian/Antananarivo
MH	+0709+17112	Pacific/Majuro	most locations
MH	+0905+16720	Pacific/Kwajalein	Kwajalein
MK	+4159+02126	Europe/Skopje
ML	+1239-00800	Africa/Bamako
MM	+1647+09610	Asia/Rangoon
MN	+4755+10653	Asia/Ulaanbaatar	most locations
MN	+4801+09139	Asia/Hovd	Bayan-Olgiy, Govi-Altai, Hovd, Uvs, Zavkhan
MN	+4804+11430	Asia/Choibalsan	Dornod, Sukhbaatar
MO	+2214+11335	Asia/Macau
MP	+1512+14545	Pacific/Saipan
MQ	+1436-06105	America/Martinique
MR	+1806-01557	Africa/Nouakchott
MS	+1643-06213	America/Montserrat
MT	+3554+01431	Europe/Malta
MU	-2010+05730	Indian/Mauritius
MV	+0410+07330	Indian/Maldives
MW	-1547+03500	Africa/Blantyre
MX	+1924-09909	America/Mexico_City	Central Time - most locations
MX	+2105-08646	America/Cancun	Central Time - Quintana Roo
MX	+2058-08937	America/Merida	Central Time - Campeche, Yucatan
MX	+2540-10019	America/Monterrey	Mexican Central Time - Coahuila, Durango, Nuevo Leon, Tamaulipas away from US border
MX	+2550-09730	America/Matamoros	US Central Time - Coahuila, Durango, Nuevo Leon, Tamaulipas near US border
MX	+2313-10625	America/Mazatlan	Mountain Time - S Baja, Nayarit, Sinaloa
MX	+2838-10605	America/Chihuahua	Mexican Mountain Time - Chihuahua away from US border
MX	+2934-10425	America/Ojinaga	US Mountain Time - Chihuahua near US border
MX	+2904-11058	America/Hermosillo	Mountain Standard Time - Sonora
MX	+3232-11701	America/Tijuana	US Pacific Time - Baja California near US border
MX	+3018-11452	America/Santa_Isabel	Mexican Pacific Time - Baja California away from US border
MX	+2048-10515	America/Bahia_Banderas	Mexican Central Time - Bahia de Banderas
MY	+0310+10142	Asia/Kuala_Lumpur	peninsular Malaysia
MY	+0133+11020	Asia/Kuching	Sabah & Sarawak
MZ	-2558+03235	Africa/Maputo
NA	-2234+01706	Africa/Windhoek
NC	-2216+16627	Pacific/Noumea
NE	+1331+00207	Africa/Niamey
NF	-2903+16758	Pacific/Norfolk
NG	+0627+00324	Africa/Lagos
NI	+1209-08617	America/Managua
NL	+5222+00454	Europe/Amsterdam
NO	+5955+01045	Europe/Oslo
NP	+2743+08519	Asia/Kathmandu
NR	-0031+16655	Pacific/Nauru
NU	-1901-16955	Pacific/Niue
NZ	-3652+17446	Pacific/Auckland	most locations
NZ	-4357-17633	Pacific/Chatham	Chatham Islands
OM	+2336+05835	Asia/Muscat
PA	+0858-07932	America/Panama
PE	-1203-07703	America/Lima
PF	-1732-14934	Pacific/Tahiti	Society Islands
PF	-0900-13930	Pacific/Marquesas	Marquesas Islands
PF	-2308-13457	Pacific/Gambier	Gambier Islands
PG	-0930+14710	Pacific/Port_Moresby
PH	+1435+12100	Asia/Manila
PK	+2452+06703	Asia/Karachi
PL	+5215+02100	Europe/Warsaw
PM	+4703-05620	America/Miquelon
PN	-2504-13005	Pacific/Pitcairn
PR	+182806-0660622	America/Puerto_Rico
PS	+3130+03428	Asia/Gaza	Gaza Strip
PS	+313200+0350542	Asia/Hebron	West Bank
PT	+3843-00908	Europe/Lisbon	mainland
PT	+3238-01654	Atlantic/Madeira	Madeira Islands
PT	+3744-02540	Atlantic/Azores	Azores
PW	+0720+13429	Pacific/Palau
PY	-2516-05740	America/Asuncion
QA	+2517+05132	Asia/Qatar
RE	-2052+05528	Indian/Reunion
RO	+4426+02606	Europe/Bucharest
RS	+4450+02030	Europe/Belgrade
RU	+5443+02030	Europe/Kaliningrad	Moscow-01 - Kaliningrad
RU	+5545+03735	Europe/Moscow	Moscow+00 - west Russia
RU	+4844+04425	Europe/Volgograd	Moscow+00 - Caspian Sea
RU	+5312+05009	Europe/Samara	Moscow+00 - Samara, Udmurtia
RU	+5651+06036	Asia/Yekaterinburg	Moscow+02 - Urals
RU	+5500+07324	Asia/Omsk	Moscow+03 - west Siberia
RU	+5502+08255	Asia/Novosibirsk	Moscow+03 - Novosibirsk
RU	+5345+08707	Asia/Novokuznetsk	Moscow+03 - Novokuznetsk
RU	+5601+09250	Asia/Krasnoyarsk	Moscow+04 - Yenisei River
RU	+5216+10420	Asia/Irkutsk	Moscow+05 - Lake Baikal
RU	+6200+12940	Asia/Yakutsk	Moscow+06 - Lena River
RU	+4310+13156	Asia/Vladivostok	Moscow+07 - Amur River
RU	+4658+14242	Asia/Sakhalin	Moscow+07 - Sakhalin Island
RU	+5934+15048	Asia/Magadan	Moscow+08 - Magadan
RU	+5301+15839	Asia/Kamchatka	Moscow+08 - Kamchatka
RU	+6445+17729	Asia/Anadyr	Moscow+08 - Bering Sea
RW	-0157+03004	Africa/Kigali
SA	+2438+04643	Asia/Riyadh
SB	-0932+16012	Pacific/Guadalcanal
SC	-0440+05528	Indian/Mahe
SD	+1536+03232	Africa/Khartoum
SE	+5920+01803	Europe/Stockholm
SG	+0117+10351	Asia/Singapore
SH	-1555-00542	Atlantic/St_Helena
SI	+4603+01431	Europe/Ljubljana
SJ	+7800+01600	Arctic/Longyearbyen
SK	+4809+01707	Europe/Bratislava
SL	+0830-01315	Africa/Freetown
SM	+4355+01228	Europe/San_Marino
SN	+1440-01726	Africa/Dakar
SO	+0204+04522	Africa/Mogadishu
SR	+0550-05510	America/Paramaribo
SS	+0451+03136	Africa/Juba
ST	+0020+00644	Africa/Sao_Tome
SV	+1342-08912	America/El_Salvador
SX	+180305-0630250	America/Lower_Princes
SY	+3330+03618	Asia/Damascus
SZ	-2618+03106	Africa/Mbabane
TC	+2128-07108	America/Grand_Turk
TD	+1207+01503	Africa/Ndjamena
TF	-492110+0701303	Indian/Kerguelen
TG	+0608+00113	Africa/Lome
TH	+1345+10031	Asia/Bangkok
TJ	+3835+06848	Asia/Dushanbe
TK	-0922-17114	Pacific/Fakaofo
TL	-0833+12535	Asia/Dili
TM	+3757+05823	Asia/Ashgabat
TN	+3648+01011	Africa/Tunis
TO	-2110-17510	Pacific/Tongatapu
TR	+4101+02858	Europe/Istanbul
TT	+1039-06131	America/Port_of_Spain
TV	-0831+17913	Pacific/Funafuti
TW	+2503+12130	Asia/Taipei
TZ	-0648+03917	Africa/Dar_es_Salaam
UA	+5026+03031	Europe/Kiev	most locations
UA	+4837+02218	Europe/Uzhgorod	Ruthenia
UA	+4750+03510	Europe/Zaporozhye	Zaporozh'ye, E Lugansk / Zaporizhia, E Luhansk
UA	+4457+03406	Europe/Simferopol	central Crimea
UG	+0019+03225	Africa/Kampala
UM	+1645-16931	Pacific/Johnston	Johnston Atoll
UM	+2813-17722	Pacific/Midway	Midway Islands
UM	+1917+16637	Pacific/Wake	Wake Island
US	+404251-0740023	America/New_York	Eastern Time
US	+421953-0830245	America/Detroit	Eastern Time - Michigan - most locations
US	+381515-0854534	America/Kentucky/Louisville	Eastern Time - Kentucky - Louisville area
US	+364947-0845057	America/Kentucky/Monticello	Eastern Time - Kentucky - Wayne County
US	+394606-0860929	America/Indiana/Indianapolis	Eastern Time - Indiana - most locations
US	+384038-0873143	America/Indiana/Vincennes	Eastern Time - Indiana - Daviess, Dubois, Knox & Martin Counties
US	+410305-0863611	America/Indiana/Winamac	Eastern Time - Indiana - Pulaski County
US	+382232-0862041	America/Indiana/Marengo	Eastern Time - Indiana - Crawford County
US	+382931-0871643	America/Indiana/Petersburg	Eastern Time - Indiana - Pike County
US	+384452-0850402	America/Indiana/Vevay	Eastern Time - Indiana - Switzerland County
US	+415100-0873900	America/Chicago	Central Time
US	+375711-0864541	America/Indiana/Tell_City	Central Time - Indiana - Perry County
US	+411745-0863730	America/Indiana/Knox	Central Time - Indiana - Starke County
US	+450628-0873651	America/Menominee	Central Time - Michigan - Dickinson, Gogebic, Iron & Menominee Counties
US	+470659-1011757	America/North_Dakota/Center	Central Time - North Dakota - Oliver County
US	+465042-1012439	America/North_Dakota/New_Salem	Central Time - North Dakota - Morton County (except Mandan area)
US	+471551-1014640	America/North_Dakota/Beulah	Central Time - North Dakota - Mercer County
US	+394421-1045903	America/Denver	Mountain Time
US	+433649-1161209	America/Boise	Mountain Time - south Idaho & east Oregon
US	+364708-1084111	America/Shiprock	Mountain Time - Navajo
US	+332654-1120424	America/Phoenix	Mountain Standard Time - Arizona
US	+340308-1181434	America/Los_Angeles	Pacific Time
US	+611305-1495401	America/Anchorage	Alaska Time
US	+581807-1342511	America/Juneau	Alaska Time - Alaska panhandle
US	+571035-1351807	America/Sitka	Alaska Time - southeast Alaska panhandle
US	+593249-1394338	America/Yakutat	Alaska Time - Alaska panhandle neck
US	+643004-1652423	America/Nome	Alaska Time - west Alaska
US	+515248-1763929	America/Adak	Aleutian Islands
US	+550737-1313435	America/Metlakatla	Metlakatla Time - Annette Island
US	+211825-1575130	Pacific/Honolulu	Hawaii
UY	-3453-05611	America/Montevideo
UZ	+3940+06648	Asia/Samarkand	west Uzbekistan
UZ	+4120+06918	Asia/Tashkent	east Uzbekistan
VA	+415408+0122711	Europe/Vatican
VC	+1309-06114	America/St_Vincent
VE	+1030-06656	America/Caracas
VG	+1827-06437	America/Tortola
VI	+1821-06456	America/St_Thomas
VN	+1045+10640	Asia/Ho_Chi_Minh
VU	-1740+16825	Pacific/Efate
WF	-1318-17610	Pacific/Wallis
WS	-1350-17144	Pacific/Apia
YE	+1245+04512	Asia/Aden
YT	-1247+04514	Indian/Mayotte
ZA	-2615+02800	Africa/Johannesburg
ZM	-1525+02817	Africa/Lusaka
ZW	-1750+03103	Africa/Harare
pytz-2012c/pytz/zoneinfo/Indian/0000775000175000017500000000000011742722012015364 5ustar  stubstubpytz-2012c/pytz/zoneinfo/Indian/Cocos0000644000175000017500000000021711742721476016370 0ustar  stubstubTZif2[hCCTTZif2|U&Z[hLMTCCT
CCT-6:30
pytz-2012c/pytz/zoneinfo/Indian/Kerguelen0000644000175000017500000000023511742721476017243 0ustar  stubstubTZif2abFPzzzTFTTZif2abFPzzzTFT
TFT-5
pytz-2012c/pytz/zoneinfo/Indian/Reunion0000644000175000017500000000023511742721476016741 0ustar  stubstubTZif2948@LMTRETTZif2948@LMTRET
RET-4
pytz-2012c/pytz/zoneinfo/Indian/Antananarivo0000644000175000017500000000034311742721476017743 0ustar  stubstubTZif2
3⫹@,*08@*0LMTEATEASTTZif2
3⫹@,*08@*0LMTEATEAST
EAT-3
pytz-2012c/pytz/zoneinfo/Indian/Mayotte0000644000175000017500000000023511742721476016744 0ustar  stubstubTZif2*h*0LMTEATTZif2*h*0LMTEAT
EAT-3
pytz-2012c/pytz/zoneinfo/Indian/Comoro0000644000175000017500000000023511742721476016560 0ustar  stubstubTZif2(*0LMTEATTZif2(*0LMTEAT
EAT-3
pytz-2012c/pytz/zoneinfo/Indian/Chagos0000644000175000017500000000027311742721476016530 0ustar  stubstubTZif2~0ݰCFPT`LMTIOTTZif2~0ݰCFPT`LMTIOT
IOT-6
pytz-2012c/pytz/zoneinfo/Indian/Christmas0000644000175000017500000000021411742721476017254 0ustar  stubstubTZif2bpCXTTZif2scbpLMTCXT
CXT-7
pytz-2012c/pytz/zoneinfo/Indian/Mahe0000644000175000017500000000023511742721476016174 0ustar  stubstubTZif2d38@LMTSCTTZif2d38@LMTSCT
SCT-4
pytz-2012c/pytz/zoneinfo/Indian/Maldives0000644000175000017500000000026211742721476017066 0ustar  stubstubTZif2/ØDFPMMTMVTTZif2V/ØDDFPLMTMMTMVT
MVT-5
pytz-2012c/pytz/zoneinfo/Indian/Mauritius0000644000175000017500000000035711742721476017311 0ustar  stubstubTZif2
@r0IIΏ5FP8@	LMTMUSTMUTTZif2
@r0IIΏ5FP8@	LMTMUSTMUT
MUT-4
pytz-2012c/pytz/zoneinfo/UCT0000644000175000017500000000016611742721476014556 0ustar  stubstubTZif2UCTTZif2UCT
UCT0
pytz-2012c/pytz/zoneinfo/Zulu0000644000175000017500000000016611742721476015062 0ustar  stubstubTZif2UTCTZif2UTC
UTC0
pytz-2012c/pytz/zoneinfo/Japan0000644000175000017500000000051311742721476015150 0ustar  stubstubTZif2	΅p>۫ڀ݋~~CJTJDTJSTTZif2e¤ptp΅p>۫ڀ݋~~~LMTJSTCJTJDT
JST-9
pytz-2012c/pytz/zoneinfo/localtime0000644000175000017500000000016611742721476016074 0ustar  stubstubTZif2GMTTZif2GMT
GMT0
pytz-2012c/pytz/zoneinfo/Pacific/0000775000175000017500000000000011742722012015520 5ustar  stubstubpytz-2012c/pytz/zoneinfo/Pacific/Pago_Pago0000644000175000017500000000044211742721476017312 0ustar  stubstubTZif2b8U+00_^HeP	eP
ePLMTSAMTNSTBSTSSTTZif2Ub8U+00x_^HeP	eP
ePLMTSAMTNSTBSTSST
SST11
pytz-2012c/pytz/zoneinfo/Pacific/Wake0000644000175000017500000000022011742721476016337 0ustar  stubstubTZif2WAKTTZif2	~64LMTWAKT
WAKT-12
pytz-2012c/pytz/zoneinfo/Pacific/Majuro0000644000175000017500000000025311742721476016713 0ustar  stubstubTZif2PMHTTZif2~6PLMTMHT
MHT-12
pytz-2012c/pytz/zoneinfo/Pacific/Kosrae0000644000175000017500000000031411742721476016700 0ustar  stubstubTZif2P6g@KOSTTZif2	~64P6g@LMTKOST
KOST-11
pytz-2012c/pytz/zoneinfo/Pacific/Enderbury0000644000175000017500000000031411742721476017413 0ustar  stubstubTZif2V/0W@ePPHOTTZif2	~7UdV/0_W@ePLMTPHOT
PHOT-13
pytz-2012c/pytz/zoneinfo/Pacific/Palau0000644000175000017500000000021411742721476016515 0ustar  stubstubTZif2~PWTTZif2~66~~LMTPWT
PWT-9
pytz-2012c/pytz/zoneinfo/Pacific/Norfolk0000644000175000017500000000026611742721476017074 0ustar  stubstubTZif2ANMTNFTTZif2~6AxLMTNMTNFT
NFT-11:30
pytz-2012c/pytz/zoneinfo/Pacific/Pitcairn0000644000175000017500000000026111742721476017226 0ustar  stubstubTZif25DBxPNTPSTTZif2~7.5DBxLMTPNTPST
PST8
pytz-2012c/pytz/zoneinfo/Pacific/Efate0000644000175000017500000000072011742721476016501 0ustar  stubstubTZif2
´fP{P k@![P"K@#;P$+@%~P&a@&`P'C@(|)Q@*H+a3@	LMTVUSTVUTTZif2
´fP{P k@![P"K@#;P$+@%~P&a@&`P'C@(|)Q@*H+a3@	LMTVUSTVUT
VUT-11
pytz-2012c/pytz/zoneinfo/Pacific/Rarotonga0000644000175000017500000000104411742721476017411 0ustar  stubstubTZif2
(?y Yc y9E 蕘"awCY%;h G!ˠ"1#j $%J %'* 'lXs`zhCKTCKHSTTZif2~7J(?y Yc y9E 蕘"awCY%;h G!ˠ"1#j $%J %'* 'j8lXs`zhLMTCKTCKHST
CKT10
pytz-2012c/pytz/zoneinfo/Pacific/Ponape0000644000175000017500000000022011742721476016672 0ustar  stubstubTZif2PONTTZif2	~6 TLMTPONT
PONT-11
pytz-2012c/pytz/zoneinfo/Pacific/Tongatapu0000644000175000017500000000047111742721476017422 0ustar  stubstubTZif2	sB7G8}:P:r@;PxgXIf8+`!H`e`*`G``)``g`` F`!`"0	#i$%.`&B'
`'$(`)*ͧ`+#`,`-`.k`/j`0mM`1J`2Vi3*`46K5
`6-678Ӌ9:m;`s1?~`@\N`A^`B<0`C>`D`Ex`E`FZ`GH<`IgJ`KIL`M+N}`Ow
PfQ`*`RFS@`T&U`VV`WX߲`YhZ`[`\]g`^_oI``htaO+`bHVc/
`d(8e`fU`fg7`hi`jk`lm`nwop`p``qYr@`s9t t`uvV`vw8`xcy`zE{6|b`}~D`h\L
L
LMTCHADTCHASTTZif2		
`
~^>xgXIf8+`!H`e`*`G``)``g`` F`!`"0	#i$%.`&B'
`'$(`)*ͧ`+#`,`-`.k`/j`0mM`1J`2Vi3*`46K5
`6-678Ӌ9:m;`s1?~`@\N`A^`B<0`C>`D`Ex`E`FZ`GH<`IgJ`KIL`M+N}`Ow
PfQ`*`RFS@`T&U`VV`WX߲`YhZ`[`\]g`^_oI``htaO+`bHVc/
`d(8e`fU`fg7`hi`jk`lm`nwop`p``qYr@`s9t t`uvV`vw8`xcy`zE{6|b`}~D`h\L
L
LMTCHADTCHAST
CHAST-12:45CHADT,M9.5.0/2:45,M4.1.0/3:45
pytz-2012c/pytz/zoneinfo/Pacific/Midway0000644000175000017500000000041411742721476016707 0ustar  stubstubTZif2uu U+00ePs`ePePNSTNDTBSTSSTTZif2~7[Huu U+00YePs`ePePLMTNSTNDTBSTSST
SST11
pytz-2012c/pytz/zoneinfo/Pacific/Saipan0000644000175000017500000000034511742721476016673 0ustar  stubstubTZif2	7p:C^`~MPTChSTTZif2
~6,\7p:C^`7$~LMTMPTChST
ChST-10
pytz-2012c/pytz/zoneinfo/Pacific/Tahiti0000644000175000017500000000024011742721476016674 0ustar  stubstubTZif2	PUss`LMTTAHTTZif2	PUss`LMTTAHT
TAHT10
pytz-2012c/pytz/zoneinfo/Pacific/Tarawa0000644000175000017500000000022011742721476016667 0ustar  stubstubTZif2GILTTZif2	~64LMTGILT
GILT-12
pytz-2012c/pytz/zoneinfo/Pacific/Guam0000644000175000017500000000030711742721476016347 0ustar  stubstubTZif2	:C^`GSTChSTTZif2
~6-L:C^`64LMTGSTChST
ChST-10
pytz-2012c/pytz/zoneinfo/Pacific/Kiritimati0000644000175000017500000000031411742721476017562 0ustar  stubstubTZif2U/} js`LINTTZif2	~7HU/} ljs`LMTLINT
LINT-14
pytz-2012c/pytz/zoneinfo/Pacific/Apia0000644000175000017500000000052711742721476016334 0ustar  stubstubTZif2b8L'M+N}`NOw
_^HeP	s`

	LMTSAMTWSTWSDTTZif2Ub8L'M+N}`NOw
_^HeP	s`

	LMTSAMTWSTWSDT
WST-13
pytz-2012c/pytz/zoneinfo/Pacific/Nauru0000644000175000017500000000036011742721476016547 0ustar  stubstubTZif2+˴HBPp|~LMTNRTJSTTZif2+˴HBPp|~LMTNRTJST
NRT-12
pytz-2012c/pytz/zoneinfo/Pacific/Funafuti0000644000175000017500000000021511742721476017235 0ustar  stubstubTZif2TVTTZif2~6LMTTVT
TVT-12
pytz-2012c/pytz/zoneinfo/Pacific/Galapagos0000644000175000017500000000030511742721476017352 0ustar  stubstubTZif2
LPLMTECTGALTTZif2
LPLMTECTGALT
GALT6
pytz-2012c/pytz/zoneinfo/Pacific/Kwajalein0000644000175000017500000000032311742721476017361 0ustar  stubstubTZif2	P,tW@MHTKWATTZif2
~6 P,tW@LMTMHTKWAT
MHT-12
pytz-2012c/pytz/zoneinfo/Pacific/Pohnpei0000644000175000017500000000000011742721476026140 1pytz-2012c/pytz/zoneinfo/Pacific/Ponapeustar  stubstubpytz-2012c/pytz/zoneinfo/Pacific/Auckland0000644000175000017500000000460211742721476017202 0ustar  stubstubTZif2QXxhC`Xh#`8h`hmḩOh཮࿎nƒNcp.~L``,o`}hښ@		
`
~^>xgXIf8+`!H`e`*`G``)``g`` F`!`"0	#i$%.`&B'
`'$(`)*ͧ`+#`,`-`.k`/j`0mM`1J`2Vi3*`46K5
`6-678Ӌ9:m;`s1?~`@\N`A^`B<0`C>`D`Ex`E`FZ`GH<`IgJ`KIL`M+N}`Ow
PfQ`*`RFS@`T&U`VV`WX߲`YhZ`[`\]g`^_oI``htaO+`bHVc/
`d(8e`fU`fg7`hi`jk`lm`nwop`p``qYr@`s9t t`uvV`vw8`xcy`zE{6|b`}~D`h
NZSTNZMTNZDTTZif2ALQXxhC`Xh#`8h`hmḩOhnƒNcp.~L``,o`}hښ@		
`
~^>xgXIf8+`!H`e`*`G``)``g`` F`!`"0	#i$%.`&B'
`'$(`)*ͧ`+#`,`-`.k`/j`0mM`1J`2Vi3*`46K5
`6-678Ӌ9:m;`s1?~`@\N`A^`B<0`C>`D`Ex`E`FZ`GH<`IgJ`KIL`M+N}`Ow
PfQ`*`RFS@`T&U`VV`WX߲`YhZ`[`\]g`^_oI``htaO+`bHVc/
`d(8e`fU`fg7`hi`jk`lm`nwop`p``qYr@`s9t t`uvV`vw8`xcy`zE{6|b`}~D`h	LMTNZSTNZMTNZDT
NZST-12NZDT,M9.5.0,M4.1.0/3
pytz-2012c/pytz/zoneinfo/Pacific/Port_Moresby0000644000175000017500000000024311742721476020101 0ustar  stubstubTZif2PGTTZif2
VZr	LMTPMMTPGT
PGT-10
pytz-2012c/pytz/zoneinfo/Pacific/Yap0000644000175000017500000000022011742721476016201 0ustar  stubstubTZif2CHUTTZif2	~6&LLMTCHUT
CHUT-10
pytz-2012c/pytz/zoneinfo/Pacific/Chuuk0000644000175000017500000000000011742721476025124 1pytz-2012c/pytz/zoneinfo/Pacific/Yapustar  stubstubpytz-2012c/pytz/zoneinfo/Pacific/Truk0000644000175000017500000000000011742721476024772 1pytz-2012c/pytz/zoneinfo/Pacific/Yapustar  stubstubpytz-2012c/pytz/zoneinfo/Pacific/Noumea0000644000175000017500000000045411742721476016705 0ustar  stubstubTZif2
tPVƜP7@2K3Dp		LMTNCSTNCTTZif2
tPVƜP7@2K3Dp		LMTNCSTNCT
NCT-11
pytz-2012c/pytz/zoneinfo/Pacific/Fakaofo0000644000175000017500000000025311742721476017024 0ustar  stubstubTZif2Ns`TKTTZif2~7UN_xs`LMTTKT
TKT-14
pytz-2012c/pytz/zoneinfo/Pacific/Niue0000644000175000017500000000031011742721476016350 0ustar  stubstubTZif2C5`t8`^HePNUTTZif2~7TLC5`t8``^HePLMTNUT
NUT11
pytz-2012c/pytz/zoneinfo/Pacific/Fiji0000644000175000017500000000050411742721476016336 0ustar  stubstubTZif2
<6;6`8$4`8`K,K`L`MrAN`OD	LMTFJSTFJTTZif2
<6;6`8$4`8`K,K`L`MrAN`OD	LMTFJSTFJT
FJT-12
pytz-2012c/pytz/zoneinfo/Pacific/Samoa0000644000175000017500000000000011742721476026210 1pytz-2012c/pytz/zoneinfo/Pacific/Pago_Pagoustar  stubstubpytz-2012c/pytz/zoneinfo/Pacific/Guadalcanal0000644000175000017500000000023611742721476017653 0ustar  stubstubTZif2O3LMTSBTTZif2O3LMTSBT
SBT-11
pytz-2012c/pytz/zoneinfo/Pacific/Johnston0000644000175000017500000000016711742721476017264 0ustar  stubstubTZif2s`HSTTZif2s`HST
HST10
pytz-2012c/pytz/zoneinfo/Pacific/Wallis0000644000175000017500000000021511742721476016707 0ustar  stubstubTZif2WFTTZif2~6XLMTWFT
WFT-12
pytz-2012c/pytz/zoneinfo/Pacific/Marquesas0000644000175000017500000000024211742721476017415 0ustar  stubstubTZif2	PLH}8zhLMTMARTTZif2	PLH}8zhLMTMART
MART9:30
pytz-2012c/pytz/zoneinfo/Pacific/Honolulu0000644000175000017500000000037211742721476017265 0ustar  stubstubTZif2CH!qXˉ=aI8ՍsHlXzhs`HSTHDTTZif2tpCH!qXˉ=aI8ՍsHllXzhs`LMTHSTHDT
HST10
pytz-2012c/pytz/zoneinfo/Pacific/Easter0000644000175000017500000002145711742721476016712 0ustar  stubstubTZif2@n@lɰ<@rܰuP@IU2 +>O@
@@	Ѱ
@0@
0@h0H0f(v0F&{t]V?8\@>@p @ 0!o@"90#E$0%8&&'١0()½*צ+,-.j/bc0@1BE2`i@3=04@K@5D06
@7հ8@809+:0;
<0=>j0?@SʰAhB3CHDE1@EpG@G0Hv@Io0JX@KL:@M0NPOPBQ;0RZS0T9UVVװWXĹY@Z[¿@\}]@^m0_@`M|0abe@b-^0cBG@d
@0e+ce"0gEg0h'i j	klmun@oUưps@q5rS@st3@t0v@vމ0wr@xk0y܎zM0{p|~/0}R~gK|4x			EMTEASTEASSTTZif2iB@n@lɰ<@rܰuP@IU2 +>O@
@@	Ѱ
@0@
0@h0H0f(v0F&{t]V?8\@>@p @ 0!o@"90#E$0%8&&'١0()½*צ+,-.j/bc0@1BE2`i@3=04@K@5D06
@7հ8@809+:0;
<0=>j0?@SʰAhB3CHDE1@EpG@G0Hv@Io0JX@KL:@M0NPOPBQ;0RZS0T9UVVװWXĹY@Z[¿@\}]@^m0_@`M|0abe@b-^0cBG@d
@0e+ce"0gEg0h'i j	klmun@oUưps@q5rS@st3@t0v@vމ0wr@xk0y܎zM0{p|~/0}R~gK|4G-\';%@Ӱ@Ƶ@0Ļ@0@o0Ox0m/Z0M}v-_X
A:#@@"@w@`0u@@0U@ 0>00g0ފleNiGk@I)gM@)G/@(0'@
0@0@00q0Zo:Oyr8@Tx@6Z@S0<@ɣ50ʸ@˃0̘@b0΁B0`"0@ٰ 뻰˝@ثɣ@ڋa۩@kC݉g@T`0iI@4B0I+@$02G0)0|Ȱ쑱\z@<Z@n:@0t@m0V@O08@10T06d0Nb-B
հ"@͙@{˟@	0
@vz0c@
V\0t6>0Ta 04C<%@~İ@^|@G0\@ '0!<@"0#%#i0%%K0&n'-0(P)I*2+p+,-P
.n1@//0N@1Ѱ2-@204
@405@607͛@809:xv0;At?V]@!VA6?B8C\@CD>@EF @G0H@I0J@Ki0L~@MI0NgO)0PGQ	0R'RTTҁUjVcWЇ@XEYi@Zr'[K@\R	]p-@^;&0_P@`0a/@a0c
c0de0fgʰhijkclxwmCpna@o#RpAv@q4r!X@rQ0t:@t30u@v0w8x0yzk0{|T}i~4װI)@}@_҃@|0e@}^0G@]@0{c="0[E0;'0	ư@@e@N0c@.0Cr@k0#T@M0p/0R04-wVu@6ӰT@4@@ߴ0@0@x0a@Z0}_<0}_?0]A(:=#"@@ŧ°@ǐ0ȥ@p0ʅ@P0e@00Ng0.I0leNԹG0֙)׷M@yٗ/@Xw@8ϰV@!06@0@00ߵt0濗犐yjr[JT_=*6HZ@
(<@@0@0@0r0R0p;P0ha@Cg@%I@B0+@	d$0
y
@D0b)
#0B0!0Ȱ@ln@LPjt@5m0JV@O0*8@10!
@!0"6#0$%0&'}()]հ*r+=,[@-.;@.{0@001@2z03c@4\05E@6>07a8f 09C:F0;d%?#?A
@AİB@CD@EF@Gw0H@IW0Jlp@K7i0LUMK0N5nN-0PPPIQ2R+ST
UVW@X_ѰY}@Z?[]@\(0]=@^0_@_0aav0bcX0d{etf]gqVh?iQ8jf!k1lO>@mn/ @nްp@pq@r0s@t0u@vy0wxY0ywz9e0{W|"}7j~cLE.'K@	-@@k0@J0_@*0H
0(0r0wpYsRv@S4qX@3Q:@301@0@0@00{0dyDY$}B@_"@Ae@^0G@@0)@"0@m0'L0k	,0J*ư
ը@Ӯ@Õlij@uNƓr@^k0sT@>M0S6@/0N	G0)/@@ϰ@q0@Q0f@	10
F@0/t0V0yr[T=z6Z@Zx<@9X@#08@0@0@½0 !0"#0$%k&'K(`h)+a*I@+C,)g@,%.	I@./+@0$01
@203@4s056S07q8309Q:Ȱ;1;==܌>u?n@ڒ@APBt@hx


LMTEMTEASTEASST

pytz-2012c/pytz/zoneinfo/Portugal0000644000175000017500000000655711742721476015732 0ustar  stubstubTZif2KmpǀpɃprp_TppApnop#Opɧ#Opkp"prpPp2Lppppȷ𽸨_pxlh]XN?p80:Xpp/p pb˵R̀Kܢ͕4K`rſpuϬgRХpTьI2f҅pYI9 )  	   ܹY ݲޢuߒfWrHb9R*B2!)          z j cSC3#sdUF*
7t(dTC3#ܐ͐㽠ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
p		 
 	LMTWESTWETWEMTCETCESTTZif2KmpǀpɃprp_TppApnop#Opɧ#Opkp"prpPp2Lppppȷ_pxlh]XN?p80:Xpp/p pb˵R̀Kܢ͕4K`rſpuϬgRХpTьI2f҅pYI9 )  	   ܹY ݲޢuߒfWrHb9R*B2!)          z j cSC3#sdUF*
7t(dTC3#ܐ͐㽠ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
p		 
 	LMTWESTWETWEMTCETCEST
WET0WEST,M3.5.0/1,M10.5.0
pytz-2012c/pytz/zoneinfo/Factory0000644000175000017500000000037711742721476015536 0ustar  stubstubTZif21Local time zone must be set--see zic manual pageTZif21Local time zone must be set--see zic manual page
0
pytz-2012c/pytz/zoneinfo/NZ-CHAT0000644000175000017500000000000011742721476024367 1pytz-2012c/pytz/zoneinfo/Pacific/Chathamustar  stubstubpytz-2012c/pytz/zoneinfo/Libya0000644000175000017500000000112711742721476015161 0ustar  stubstubTZif2$ݻ#`xe/?pNB`p+*_`̯`zp` pJp!a~"Rp#D$4%%7`&@2N`3D6p45j\ 	 
LMTCESTCETEETTZif2$ݻ#`xe/?pNB`p+*_`̯`zp` pJp!a~"Rp#D$4%%7`&@2N`3D6p45j\ 	 
LMTCESTCETEET
EET-2
pytz-2012c/pytz/zoneinfo/UTC0000644000175000017500000000000011742721476022012 1pytz-2012c/pytz/zoneinfo/Zuluustar  stubstubpytz-2012c/pytz/zoneinfo/Australia/0000775000175000017500000000000011742722012016107 5ustar  stubstubpytz-2012c/pytz/zoneinfo/Australia/LHI0000644000175000017500000000343511742721476016466 0ustar  stubstubTZif2r	f8@h!]xlh?xNh!x0hxyp Ypp!x"B#i$"n%I%')'Ͻ)	)*k+p,҈x-xp.jx/Xp0Lx1]Lp2r.x3=.p4Rx5p61x6p88p9x:p;<=>?@eAxBExCcxD.pECwxFfcpg[xgEph=xi'pjxk	plxmpnxopppiqYrIs9t)uv	vwxqyizS{x|pp}hx~RprJxESTLHSTTZif2s
swf8@h!]xlh?xNh!x0hxyp Ypp!x"B#i$"n%I%')'Ͻ)	)*k+p,҈x-xp.jx/Xp0Lx1]Lp2r.x3=.p4Rx5p61x6p88p9x:p;<=>?@eAxBExCcxD.pECwxF<G#YxGHIuJmKWLOM9N1OwPpNxQ`8pRP0xS@pT0xUpVxVpWxXpYϸxZp[\]^_x`haXzbHdc8\d(Fe>fcpg[xgEph=xi'pjxk	plxmpnxopppiqYrIs9t)uv	vwxqyizS{x|pp}hx~RprJx$LMTESTLHST
LHST-10:30LHST-11,M10.1.0,M4.1.0
pytz-2012c/pytz/zoneinfo/Australia/Tasmania0000644000175000017500000000436711742721476017614 0ustar  stubstubTZif2x TWp̷Vͧ9pΠsχp~Yv;V?p9
P8/	߀	

~^>xXf8HO!d1Fc(E
g' Y~!΀"B#i$"}%I&_')'()Ԙ*À+z,-\./t>0mi1]Z2V3=<46h56J67,89:Ā;*<=>?~@eA^ЀBEC>D.EFKGGHIׄJuKfLWMHN9Ow*PpUQ`FRP7S@(T0U 
VVW݀X΀YϿZ[\]^_x`haXbHsc8dd(UeFfqgbgShDi5j&klmnopۀpjqYrIs9t)uv	vwxـyqzb{|~}o~`rQESTTZif2t.x TWp̷Vͧ9pΠsχp~Yv;V?p9
P8/	߀	

~^>xXf8HO!d1Fc(E
g' Y~!΀"B#i$"}%I&_')'()Ԙ*À+z,-\./t>0mi1]Z2V3=<46h56J67,89:Ā;*<=>?~@eA^ЀBEC>D.EFKGGHIׄJuKfLWMHN9Ow*PpUQ`FRP7S@(T0U 
VVW݀X΀YϿZ[\]^_x`haXbHsc8dd(UeFfqgbgShDi5j&klmnopۀpjqYrIs9t)uv	vwxـyqzb{|~}o~`rQLMTEST
EST-10EST,M10.1.0,M4.1.0/3
pytz-2012c/pytz/zoneinfo/Australia/Broken_Hill0000644000175000017500000000427511742721476020245 0ustar  stubstubTZif2N'T^x̷]ͧ@xΠzχ"xp@
#P"?0!		
Ȉ 
^>xXm8O!kLjMj/Ly Y!Ո"B#i$"%I%')')	)*z+ш,Җ-x.x/X0Z1]a2r<3=C4R5%62688l89:ˈ;<=>?@eABECcD.ECFRG#gGHI׋J|KmL^MON@Ow1Pp\Q`MRP>S@/T0 U VVWXՈYƈZ[\]^_x`haXbHzc8kd(\eMfxgigZhKixXm8O!kLjMj/Ly Y!Ո"B#i$"%I%')')	)*z+ш,Җ-x.x/X0Z1]a2r<3=C4R5%62688l89:ˈ;<=>?@eABECcD.ECFRG#gGHI׋J|KmL^MON@Ow1Pp\Q`MRP>S@/T0 U VVWXՈYƈZ[\]^_x`haXbHzc8kd(\eMfxgigZhKi<j-klmnoppjqYrIs9t)uv	vwxهyxzi{|}v~grX~LMTESTCST
CST-9:30CST,M10.1.0,M4.1.0/3
pytz-2012c/pytz/zoneinfo/Australia/North0000644000175000017500000000044011742721476017135 0ustar  stubstubTZif2N'T^x̷]ͧ@xΠzχ"xCSTTZif2
sX{pN'T^x̷]ͧ@xΠzχ"xz~LMTCST
CST-9:30
pytz-2012c/pytz/zoneinfo/Australia/Yancowinna0000644000175000017500000000000011742721476030570 1pytz-2012c/pytz/zoneinfo/Australia/Broken_Hillustar  stubstubpytz-2012c/pytz/zoneinfo/Australia/Sydney0000644000175000017500000000420711742721476017323 0ustar  stubstubTZif2N TWp̷Vͧ9pΠsχpp9
P8/	߀	

~^>xXf8H!dǁFc(E
y Y~!΀"B#i$"}%I%')')	)*s+ʀ,ҏ-x.q/X0S1]Z2r53=<4R5616889:Ā;<=>?@eABECcD.EC~FKG#`GHIׄJuKfLWMHN9Ow*PpUQ`FRP7S@(T0U 
VVW݀X΀YϿZ[\]^_x`haXbHsc8dd(UeFfqgbgShDi5j&klmnopۀpjqYrIs9t)uv	vwxـyqzb{|~}o~`rQESTTZif2sxXf8H!dǁFc(E
y Y~!΀"B#i$"}%I%')')	)*s+ʀ,ҏ-x.q/X0S1]Z2r53=<4R5616889:Ā;<=>?@eABECcD.EC~FKG#`GHIׄJuKfLWMHN9Ow*PpUQ`FRP7S@(T0U 
VVW݀X΀YϿZ[\]^_x`haXbHsc8dd(UeFfqgbgShDi5j&klmnopۀpjqYrIs9t)uv	vwxـyqzb{|~}o~`rQLMTEST
EST-10EST,M10.1.0,M4.1.0/3
pytz-2012c/pytz/zoneinfo/Australia/NSW0000644000175000017500000000000011742721476026214 1pytz-2012c/pytz/zoneinfo/Australia/Sydneyustar  stubstubpytz-2012c/pytz/zoneinfo/Australia/Lord_Howe0000644000175000017500000000000011742721476026570 1pytz-2012c/pytz/zoneinfo/Australia/LHIustar  stubstubpytz-2012c/pytz/zoneinfo/Australia/Perth0000644000175000017500000000067011742721476017132 0ustar  stubstubTZif2N¼=T s̷rͧU		b)%\) Eq Fg G#|GI^Ie~p~pWSTTZif2tN¼=T s̷rͧU		b)%\) Eq Fg G#|GI^Iel~p~pLMTWST
WST-8
pytz-2012c/pytz/zoneinfo/Australia/South0000644000175000017500000000423211742721476017150 0ustar  stubstubTZif2N'T^x̷]ͧ@xΠzχ"xp@
#P"?0!		
Ȉ 
^>xXm8O禈!kLjMj/Ly Y!Ո"B#i$"%I&f')')	)d*z+ш,Җ-(.x/tE0Z1]a2r<3=C4R5%626889:ˈ;<=>?@eABECcD.ECFRG#gGHI׋J|KmL^MON@Ow1Pp\Q`MRP>S@/T0 U VVWXՈYƈZ[\]^_x`haXbHzc8kd(\eMfxgigZhKixXm8O禈!kLjMj/Ly Y!Ո"B#i$"%I&f')')	)d*z+ш,Җ-(.x/tE0Z1]a2r<3=C4R5%626889:ˈ;<=>?@eABECcD.ECFRG#gGHI׋J|KmL^MON@Ow1Pp\Q`MRP>S@/T0 U VVWXՈYƈZ[\]^_x`haXbHzc8kd(\eMfxgigZhKi<j-klmnoppjqYrIs9t)uv	vwxهyxzi{|}v~grX~LMTCST
CST-9:30CST,M10.1.0,M4.1.0/3
pytz-2012c/pytz/zoneinfo/Australia/Brisbane0000644000175000017500000000063511742721476017576 0ustar  stubstubTZif2N TWp̷Vͧ9pΠsχpp9
%I%')')	)ESTTZif2rN TWp̷Vͧ9pΠsχpp9
%I%')')	)xLMTEST
EST-10
pytz-2012c/pytz/zoneinfo/Australia/Currie0000644000175000017500000000420711742721476017301 0ustar  stubstubTZif2x TWp̷Vͧ9pΠsχpp9
P8/	߀	

~^>xXf8HO!d1Fc(E
g' Y~!΀"B#i$"}%I&_')'()Ԙ*À+z,-\./t>0mi1]Z2V3=<46h56J67,89:Ā;*<=>?~@eA^ЀBEC>D.EFKGGHIׄJuKfLWMHN9Ow*PpUQ`FRP7S@(T0U 
VVW݀X΀YϿZ[\]^_x`haXbHsc8dd(UeFfqgbgShDi5j&klmnopۀpjqYrIs9t)uv	vwxـyqzb{|~}o~`rQESTTZif2t. x TWp̷Vͧ9pΠsχpp9
P8/	߀	

~^>xXf8HO!d1Fc(E
g' Y~!΀"B#i$"}%I&_')'()Ԙ*À+z,-\./t>0mi1]Z2V3=<46h56J67,89:Ā;*<=>?~@eA^ЀBEC>D.EFKGGHIׄJuKfLWMHN9Ow*PpUQ`FRP7S@(T0U 
VVW݀X΀YϿZ[\]^_x`haXbHsc8dd(UeFfqgbgShDi5j&klmnopۀpjqYrIs9t)uv	vwxـyqzb{|~}o~`rQLMTEST
EST-10EST,M10.1.0,M4.1.0/3
pytz-2012c/pytz/zoneinfo/Australia/Canberra0000644000175000017500000000000011742721476027262 1pytz-2012c/pytz/zoneinfo/Australia/Sydneyustar  stubstubpytz-2012c/pytz/zoneinfo/Australia/Queensland0000644000175000017500000000000011742721476030116 1pytz-2012c/pytz/zoneinfo/Australia/Brisbaneustar  stubstubpytz-2012c/pytz/zoneinfo/Australia/West0000644000175000017500000000000011742721476026276 1pytz-2012c/pytz/zoneinfo/Australia/Perthustar  stubstubpytz-2012c/pytz/zoneinfo/Australia/Eucla0000644000175000017500000000067611742721476017107 0ustar  stubstubTZif2N02TĔi̷hͧK		Xu)%R)EqF\G#rGyITI[{{CWSTTZif2	t
N02TĔi̷hͧK		Xu)%R)EqF\G#rGyITI[x{{LMTCWST
CWST-8:45
pytz-2012c/pytz/zoneinfo/Australia/Lindeman0000644000175000017500000000074311742721476017600 0ustar  stubstubTZif2N TWp̷Vͧ9pΠsχpp9
%I%')')	)*Ph*s+ʀ,ҏ-xESTTZif2rN TWp̷Vͧ9pΠsχpp9
%I%')')	)*Ph*s+ʀ,ҏ-xLMTEST
EST-10
pytz-2012c/pytz/zoneinfo/Australia/Darwin0000644000175000017500000000000011742721476026610 1pytz-2012c/pytz/zoneinfo/Australia/Northustar  stubstubpytz-2012c/pytz/zoneinfo/Australia/Adelaide0000644000175000017500000000000011742721476027064 1pytz-2012c/pytz/zoneinfo/Australia/Southustar  stubstubpytz-2012c/pytz/zoneinfo/Australia/ACT0000644000175000017500000000000011742721476026154 1pytz-2012c/pytz/zoneinfo/Australia/Sydneyustar  stubstubpytz-2012c/pytz/zoneinfo/Australia/Hobart0000644000175000017500000000000011742721476027246 1pytz-2012c/pytz/zoneinfo/Australia/Tasmaniaustar  stubstubpytz-2012c/pytz/zoneinfo/Australia/Melbourne0000644000175000017500000000420711742721476020000 0ustar  stubstubTZif2N TWp̷Vͧ9pΠsχpp9
P8/	߀	

~^>xXf8H矀!dǁFc(E
y Y~!w"B#i$"}%I&_')')	)*s+ʀ,ҏ-x.q/t>0S1]Z2r53=<4R5616889:Ā;<=>?@eABECcD.EC~FKG#`GHIׄJuKfLWMHN9Ow*PpUQ`FRP7S@(T0U 
VVW݀X΀YϿZ[\]^_x`haXbHsc8dd(UeFfqgbgShDi5j&klmnopۀpjqYrIs9t)uv	vwxـyqzb{|~}o~`rQESTTZif2sN TWp̷Vͧ9pΠsχpp9
P8/	߀	

~^>xXf8H矀!dǁFc(E
y Y~!w"B#i$"}%I&_')')	)*s+ʀ,ҏ-x.q/t>0S1]Z2r53=<4R5616889:Ā;<=>?@eABECcD.EC~FKG#`GHIׄJuKfLWMHN9Ow*PpUQ`FRP7S@(T0U 
VVW݀X΀YϿZ[\]^_x`haXbHsc8dd(UeFfqgbgShDi5j&klmnopۀpjqYrIs9t)uv	vwxـyqzb{|~}o~`rQLMTEST
EST-10EST,M10.1.0,M4.1.0/3
pytz-2012c/pytz/zoneinfo/Australia/Victoria0000644000175000017500000000000011742721476030002 1pytz-2012c/pytz/zoneinfo/Australia/Melbourneustar  stubstubpytz-2012c/pytz/zoneinfo/GB-Eire0000644000175000017500000000711511742721476015276 0ustar  stubstubTZif2
& 0à ve {ȠN? %` ' *, Ӡ  l  N y0 РpLrP.IZ 02vXԠ  W    x z Xy Q8[ : X֠	&ʗYw;ͱ`Xϐn^r2i c)I !BN .  p   ޴߮ ̠rHkt R*T2= ) T q  S   g} aI_ Jf _A !
?#  Ѡ {ǻpp )X P 	: 0  	l 	 
N 0 
 qޠ.Qy1X#8Ɛ͐㯐Ñk lr!M"LT#a/$,6%JK&'*-'4)
)*+,Ӑ-ڐ./t00$1]2r3=4R562x688a9v:C;X<_=:>A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y BSTGMTBDSTTZif2]	& 0à ve {ȠN? %` ' *, Ӡ  l  N y0 РpLrP.IZ 02vXԠ  W    x z Xy Q8[ : X֠	&ʗYw;ͱ`Xϐn^r2i c)I !BN .  p   ޴߮ ̠rHkt R*T2= ) T q  S   g} aI_ Jf _A !
?#  Ѡ {ǻpp )X P 	: 0  	l 	 
N 0 
 qޠ.Qy1X#8Ɛ͐㯐Ñk lr!M"LT#a/$,6%JK&'*-'4)
)*+,Ӑ-ڐ./t00$1]2r3=4R562x688a9v:C;X<_=:>A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y LMTBSTGMTBDST
GMT0BST,M3.5.0/1,M10.5.0
pytz-2012c/pytz/zoneinfo/ROK0000644000175000017500000000061411742721476014554 0ustar  stubstubTZif2~x𸄴xO)ᒀ	5x
 Dp!n=`"&p#N`w~~p~KSTKDTTZif2
idx~xxO)ᒀ	5x
 Dp!n=`"&p#N`ww~~p~LMTKSTKDT
KST-9
pytz-2012c/pytz/zoneinfo/HST0000644000175000017500000000016711742721476014562 0ustar  stubstubTZif2s`HSTTZif2s`HST
HST10
pytz-2012c/pytz/zoneinfo/Israel0000644000175000017500000000424511742721476015344 0ustar  stubstubTZif20EYPͬϏfЩyф`ҊpekZ`/pF۴4ܹ ޴΀ߤvV}J`64tҀ'O|	`
3``P `!I"]M`#$Z0`%?P&&'(P)`*+e,-G._P/{)0H1H2p?|@s6pAP`BLCHOpD,qEFSFcG5HpIJKL	MNpOtP^BQTـR+S4T'ApUUVWzpXݜYpZ~[\`] p^}B_o`]$a=4bF@c8pd&"emfgghlpiȀjklpmnxponpNqNrJKps.mtpuOu_vkwpxMy^pz/{|}p~vWp *0 8@*0JMTIDTISTIDDTTZif2V0EYPͬϏfЩyф`ҊpekZ`/pF۴4ܹ ޴΀ߤvV}J`64tҀ'O|	`
3``P `!I"]M`#$Z0`%?P&&'(P)`*+e,-G._P/{)0H1H2p?|@s6pAP`BLCHOpD,qEFSFcG5HpIJKL	MNpOtP^BQTـR+S4T'ApUUVWzpXݜYpZ~[\`] p^}B_o`]$a=4bF@c8pd&"emfgghlpiȀjklpmnxponpNqNrJKps.mtpuOu_vkwpxMy^pz/{|}p~vWp! *0 8@*0LMTJMTIDTISTIDDT

pytz-2012c/pytz/zoneinfo/posixrules0000644000175000017500000000667711742721476016355 0ustar  stubstubTZif2p`p`epjp5`S`3އpiRK௳4~-౜QpgJ`|3pG,`\p'`;p`p`ƴ`Ĺ𿏲o„}Ovd_/XM|p:-^pW`
@p9`ˈp#p`u@U 5peމpݩ`޾kp߉d`MpiF`~/pI(`^pW.G-7'ֶƵ`p`p`op_y`Oxp?[`/Zp(wp?b@opA`BOpCda`D/vpEDC`EG-_GӊI
AIlJ#KpL@`M|kpN"`O\MpP`Qp?b@opA`BOpCda`D/vpEDC`EG-_GӊI
AIlJ#KpL@`M|kpN"`O\MpP`Q?@oܠABOCdD/EDmFG$OG I1I؁ JKLjM|NLO\wP.Q?@oܠABOCdD/EDmFG$OG I1I؁ JKLjM|NLO\wP.Q?@oΐABOCd}D/ED_FtG$AGI#IsJKUL"M7NOxPQa5RlSATLU V,WېXXཐYZ[l\]N^_0`ia~MbIbc^/d)De>f`ggBhi$jݷklӀmnoqʐpqZrfys:tF[uv/xvxZxoy<zQ{|m}~O<LMTMSTCSTPSTMDTTZif2]pnfV`C`6`q`ؑp1g2s3Gf4R5'H62ڀ7*889:;<
=>?@oΐABOCd}D/ED_FtG$AGI#IsJKUL"M7NOxPQa5RlSATLU V,WېXXཐYZ[l\]N^_0`ia~MbIbc^/d)De>f`ggBhi$jݷklӀmnoqʐpqZrfys:tF[uv/xvxZxoy<zQ{|m}~O<LMTMSTCSTPSTMDT
MST7MDT,M4.1.0,M10.5.0
pytz-2012c/pytz/zoneinfo/Mexico/General0000644000175000017500000000310411742721476016717 0ustar  stubstubTZif2bpnfV`C`6`ް`Ɨ4PUPϷVPڙv1gv2sp3GX4Rp5':62p7889:;<=>ހ?p@oApBOCdopD/EDQpFfG$3pGIpIeJpKGLM)NOxPQa'RlSA	TLU V,}ẀXpXீY|pZ[^p\]@p^_"p`ira~>bITc^ d)6e>fRgg4hijݨklpmڀnpoqppqZrfkps:tFMpuv/ivxKxay-zC{|_}~ALMTMSTCSTCDTCWTTZif2bpnfV`C`6`ް`Ɨ4PUPϷVPڙv1gv2sp3GX4Rp5':62p7889:;<=>ހ?p@oApBOCdopD/EDQpFfG$3pGIpIeJpKGLM)NOxPQa'RlSA	TLU V,}ẀXpXீY|pZ[^p\]@p^_"p`ira~>bITc^ d)6e>fRgg4hijݨklpmڀnpoqppqZrfkps:tFMpuv/ivxKxay-zC{|_}~ALMTMSTCSTCDTCWT
CST6CDT,M4.1.0,M10.5.0
pytz-2012c/pytz/zoneinfo/Egypt0000644000175000017500000000355511742721476015220 0ustar  stubstubTZif2z	ȓ{ˮ`)ͬϏfЩyф`ҊP6c`-P``mﰳpy%ZYsp;Up6Ep9۾p%gYpIap+CՀ$Ep	
x
<
1pdt(pU\np7OPHp{<pp4g p!a"z\p#D $b'p%%S&^`?sWP@zA\sBq\CEPF1 FjPHHIJPK`LaLXLP*0 *0 EESTEETTZif2{
}Mȓ{ˮ`)ͬϏfЩyф`ҊP6c`-P``mﰳpy%ZYsp;Up6Ep9۾p%gYpIap+CՀ$Ep	
x
<
1pdt(pU\np7OPHp{<pp4g p!a"z\p#D $b'p%%S&^`?sWP@zA\sBq\CEPF1 FjPHHIJPK`LaLXLPL*0 	*0 	LMTEESTEET

pytz-2012c/pytz/zoneinfo/GB0000644000175000017500000000000011742721476022062 1pytz-2012c/pytz/zoneinfo/GB-Eireustar  stubstubpytz-2012c/pytz/zoneinfo/Eire0000644000175000017500000000671511742721476015015 0ustar  stubstubTZif2


&0à ve {ȠN? ?%` ' *, Ӡ  l  N y0 РpLrP.IZ 02vXԠ  W    x z Xy Q8[ : X֠	I!N,( .  p   ޴߮ ̠rHkt R*T2= ) T q  S   g} aI_ Jf _A !
?#  Ѡ {ǻpp )X P 	: 0  	l 	 
N 0 
 qޠ.Qy1X#8Ɛ͐㯐Ñk lr!M"LT#a/$,6%JK&'*-'4)
)*+,Ӑ-ڐ./t00$1]2r3=4R562x688a9v:C;X<_=:>A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y																																																										DMTISTBSTGMTTZif2W
&0à ve {ȠN? ?%` ' *, Ӡ  l  N y0 РpLrP.IZ 02vXԠ  W    x z Xy Q8[ : X֠	I!N,( .  p   ޴߮ ̠rHkt R*T2= ) T q  S   g} aI_ Jf _A !
?#  Ѡ {ǻpp )X P 	: 0  	l 	 
N 0 
 qޠ.Qy1X#8Ɛ͐㯐Ñk lr!M"LT#a/$,6%JK&'*-'4)
)*+,Ӑ-ڐ./t00$1]2r3=4R562x688a9v:C;X<_=:>A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
$LMTDMTISTBSTGMT
GMT0IST,M3.5.0/1,M10.5.0
pytz-2012c/pytz/zoneinfo/Europe/0000775000175000017500000000000011742722012015421 5ustar  stubstubpytz-2012c/pytz/zoneinfo/Europe/Vienna0000644000175000017500000000424311742721476016602 0ustar  stubstubTZif2	`ٮppD[	qKͩ΢Cϒ4Ђ%rE4cI9),	M'3`#ܐ͐㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y   CESTCETTZif2
o_0`ٮppD[	qKͩ΢Cϒ4Ђ%rE4cI9),	M'3`#ܐ͐㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~yP 	 	 	LMTCESTCET
CET-1CEST,M3.5.0,M10.5.0/3
pytz-2012c/pytz/zoneinfo/Europe/Madrid0000644000175000017500000000504111742721476016557 0ustar  stubstubTZif2pp*p^pp_ɧ#Opkp"prpPp¨pXN9p80:!Mp`̖`K`΢ϣ-`Ѝ`у``pb`AF
p	`
tp
9`ltpd'TMD3#ܐ͐㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y 	  WESTWETWEMTCESTCETTZif2			~6tpp*p^pp_ɧ#Opkp"prpPp¨pXN9p80:!Mp`̖`K`΢ϣ-`Ѝ`у``pb`AF
p	`
tp
9`ltpd'TMD3#ܐ͐㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y	 
  LMTWESTWETWEMTCESTCET
CET-1CEST,M3.5.0,M10.5.0/3
pytz-2012c/pytz/zoneinfo/Europe/Guernsey0000644000175000017500000000000011742721476024632 1pytz-2012c/pytz/zoneinfo/GB-Eireustar  stubstubpytz-2012c/pytz/zoneinfo/Europe/Zagreb0000644000175000017500000000361311742721476016574 0ustar  stubstubTZif2x	5Kͩ΢Cϒ4Ђ%pѡN@E_p㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y   CETCESTTZif2y
^A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y8   LMTCETCEST
CET-1CEST,M3.5.0,M10.5.0/3
pytz-2012c/pytz/zoneinfo/Europe/Athens0000644000175000017500000000430511742721476016603 0ustar  stubstubTZif2			!|ƯcPKͪL΢ϓip`߷
P	^``ͮ
U]7jd{RF`3P#ܐ͐㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y<*0 	
 *0 	*0 	AMTEESTEETCETCESTTZif2


t?D!|ƯcPKͪL΢ϓip`߷
P	^``ͮ
U]7jd{RF`3P#ܐ͐㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y																																																									<<*0 
 *0 
*0 
LMTAMTEESTEETCETCEST
EET-2EEST,M3.5.0/3,M10.5.0/4
pytz-2012c/pytz/zoneinfo/Europe/Volgograd0000644000175000017500000000232211742721476017302 0ustar  stubstubTZif2@Fܫ؆PPL@'0@50̅te|V lG!\8"L)#<$,%
&''p'p)`*ij0+p,p-p.p/tp0dp1]2r3=4Ry562[6b8xp8D9Zp:&;%p?p@fpABEpCcD%pECFpG#GIIΫJKḶpMo		
																		)*0*0	8@	FP8@8@FP8@*0*08@LMTTSATSTATVOLSTVOLTTZif2@F؆PPL@'0@50̅te|V lG!\8"L)#<$,%
&''p'p)`*ij0+p,p-p.p/tp0dp1]2r3=4Ry562[6b8xp8D9Zp:&;%p?p@fpABEpCcD%pECFpG#GIIΫJKḶpMo		
																		)*0*0	8@	FP8@8@FP8@*0*08@LMTTSATSTATVOLSTVOLT
VOLT-4
pytz-2012c/pytz/zoneinfo/Europe/San_Marino0000644000175000017500000000513411742721476017410 0ustar  stubstubTZif2	7𝵼pp`~p\7pL(pl5Kͩ΢Cϒ4_`nBprL>1Ip)뀐	3pp`Ųb`ZpBwpv+npgE:I
.Wp
99p
ptppSpΗMD3#ܐ͐㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y   CESTCETTZif2=p7pp`~p\7pL(pl5Kͩ΢Cϒ4_`nBprL>1Ip)뀐	3pp`Ųb`ZpBwpv+npgE:I
.Wp
99p
ptppSpΗMD3#ܐ͐㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y 
 
 
LMTRMTCESTCET
CET-1CEST,M3.5.0,M10.5.0/3
pytz-2012c/pytz/zoneinfo/Europe/London0000644000175000017500000000000011742721476024262 1pytz-2012c/pytz/zoneinfo/GB-Eireustar  stubstubpytz-2012c/pytz/zoneinfo/Europe/Oslo0000644000175000017500000000426111742721476016276 0ustar  stubstubTZif2	'{`ȷM`Kͩ΢Cϒ4Ђ%rb L=.xhXG7'/ҐΗMD3#ܐ͐㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y   CESTCETTZif2
r$l'{`ȷM`Kͩ΢Cϒ4Ђ%rb L=.xhXG7'/ҐΗMD3#ܐ͐㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y
 		  	LMTCESTCET
CET-1CEST,M3.5.0,M10.5.0/3
pytz-2012c/pytz/zoneinfo/Europe/Warsaw0000644000175000017500000000516711742721476016634 0ustar  stubstubTZif2


*Л`ٮe}|`vKͩ΢Cϒ4Ѐ`ЄѕpҊ`bpK#^),	xT᥀і캳Zzw<ZY:;}:
*p
U7t(dT
M63#݀΀㡀ӒÃ|s ld!\U!"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y																																																		 	 	*0
   	WMTCESTCETEESTEETTZif2VP*`ٮe}|`vKͩ΢Cϒ4Ѐ`ЄѕpҊ`bpK#^),	xT᥀і캳Zzw<ZY:;}:
*p
U7t(dT
M63#݀΀㡀ӒÃ|s ld!\U!"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
 
 
*0   
LMTWMTCESTCETEESTEET
CET-1CEST,M3.5.0,M10.5.0/3
pytz-2012c/pytz/zoneinfo/Europe/Skopje0000644000175000017500000000000011742721476025563 1pytz-2012c/pytz/zoneinfo/Europe/Zagrebustar  stubstubpytz-2012c/pytz/zoneinfo/Europe/Lisbon0000644000175000017500000000000011742721476024702 1pytz-2012c/pytz/zoneinfo/Portugalustar  stubstubpytz-2012c/pytz/zoneinfo/Europe/Vilnius0000644000175000017500000000417511742721476017017 0ustar  stubstubTZif2y"OPJ0fx`ȬpY*Kͩ΢Cϒ40='@PC@̓s|d lU!\F"L7#<($,%
&''p'p()*+,ۀ-̀./t0d1]2r3=4R4`562x68>`>A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y	
	
	
	
	
	
	

h *0  8@*08@*0   *0WMTKMTCETEETMSKCESTMSDEESTTZif2z&VDOPJ0fx`ȬpY*Kͩ΢Cϒ40='@PC@̓s|d lU!\F"L7#<($,%
&''p'p()*+,ۀ-̀./t0d1]2r3=4R4`562x68>`>A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y				













h *0  8@*08@*0!   *0!LMTWMTKMTCETEETMSKCESTMSDEEST
EET-2EEST,M3.5.0/3,M10.5.0/4
pytz-2012c/pytz/zoneinfo/Europe/Brussels0000644000175000017500000000560011742721476017162 0ustar  stubstubTZif2


DI%pٮ0`~p.zL5^#p%5'*}4p_PAɧ#OpkpLrP.IZ 02v㠹Ԡ֋      x h Xy ?/8[ : X֠	J Kͩ΢Cϒ4[`n^rN@ӑ@K#
*p
cEt6d'TMD3#ܐ͐㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y																																																													  
 WETCETCESTWESTTZif2VmlDI%pٮ0`~p.zL5^#p%5'*}4p_PAɧ#OpkpLrP.IZ 02vԠ֋      x h Xy ?/8[ : X֠	J Kͩ΢Cϒ4[`n^rN@ӑ@K#
*p
cEt6d'TMD3#ܐ͐㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y	




























































   LMTBMTWETCETCESTWEST
CET-1CEST,M3.5.0,M10.5.0/3
pytz-2012c/pytz/zoneinfo/Europe/Bratislava0000644000175000017500000000430611742721476017452 0ustar  stubstubTZif2	`ٮ	qKͩ΢Cϒ4n^yҡOӀIL8),	pxdpd'TMD3#ܐ͐㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y   CESTCETTZif2Il`ٮ	qKͩ΢Cϒ4n^yҡOӀIL8),	pxdpd'TMD3#ܐ͐㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y

 
 
 
LMTPMTCESTCET
CET-1CEST,M3.5.0,M10.5.0/3
pytz-2012c/pytz/zoneinfo/Europe/Kaliningrad0000644000175000017500000000272611742721476017611 0ustar  stubstubTZif2M`ٮ	qKͩ΢Cϒ4Ђ%pѕ`ҊP&'@PC@̓s|d lU!\F"L7#<($,%
&''p'p()P*@+,ۀ-̀./t0d1]2r3=4R562j6q88S9h:5;J3?@fA+BECd
D%ـECFG#GIIκJKḺM~						


















  *0 8@	*0
*0
8@	*0 *0 *0CESTCETMSDMSKEESTEETFETTZif2N"o[H`ٮ	qKͩ΢Cϒ4Ђ%pѕ`ҊP&'@PC@̓s|d lU!\F"L7#<($,%
&''p'p()P*@+,ۀ-̀./t0d1]2r3=4R562j6q88S9h:5;J3?@fA+BECd
D%ـECFG#GIIκJKḺM~	
	
	
	
	
	
	
8 	 	*0 	8@
*0*08@
*0 *0 *0LMTCESTCETMSDMSKEESTEETFET
FET-3
pytz-2012c/pytz/zoneinfo/Europe/Minsk0000644000175000017500000000246011742721476016442 0ustar  stubstubTZif2D"8`^pKͩ΢Cϒ4
`'@PC@̓s|d lU!\F"L7#<($,%
%sP'p()`*`+,ۀ-̀./t0d1]2r3=4R562j6q88S9h:5;J3?@fA+BECd
D%ـECFG#GIIκJKḺM~	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
 *0  8@*08@*0 *0MMTEETMSKCETCESTMSDEESTFETTZif2

E
&V(8`^pKͩ΢Cϒ4
`'@PC@̓s|d lU!\F"L7#<($,%
%sP'p()`*`+,ۀ-̀./t0d1]2r3=4R562j6q88S9h:5;J3?@fA+BECd
D%ـECFG#GIIκJKḺM~					



















 *0  8@*08@*0 *0"LMTMMTEETMSKCETCESTMSDEESTFET
FET-3
pytz-2012c/pytz/zoneinfo/Europe/Stockholm0000644000175000017500000000354411742721476017330 0ustar  stubstubTZif2v	`MD3#ܐ͐㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y  CETCESTTZif2xT՟|Usb`MD3#ܐ͐㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y  LMTSETCETCEST
CET-1CEST,M3.5.0,M10.5.0/3
pytz-2012c/pytz/zoneinfo/Europe/Zurich0000644000175000017500000000354411742721476016631 0ustar  stubstubTZif2v	jqLS#ܐ͐㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y  CESTCETTZif2xqjqLS#ܐ͐㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y 
 
LMTBMTCESTCET
CET-1CEST,M3.5.0,M10.5.0/3
pytz-2012c/pytz/zoneinfo/Europe/Moscow0000644000175000017500000000267011742721476016633 0ustar  stubstubTZif2L_؝>*9Xm(<@m=2h=EP`'@PC@̓s|d lU!\F"L7#<($,%
&''p'p()x)@*ij0+p,p-p.p/tp0dp1]2r3=4Ry562[6b8xp8D9Zp:&;%p?p@fpABEpCcD%pECFpG#GIIΫJKḶpMo						
																		#(1h#X?x*0
8@FP *0
8@*0 8@
8@MMTMSTMDSTMSKMSDEETEESTTZif2M"V_>*9Xm(<@m=2h=EP`'@PC@̓s|d lU!\F"L7#<($,%
&''p'p()x)@*ij0+p,p-p.p/tp0dp1]2r3=4Ry562[6b8xp8D9Zp:&;%p?p@fpABEpCcD%pECFpG#GIIΫJKḶpMo	
	
	
	
	
	
		
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
#<#(1h#X?x*08@FP *08@*0 8@8@LMTMMTMSTMDSTMSKMSDEETEEST
MSK-4
pytz-2012c/pytz/zoneinfo/Europe/Berlin0000644000175000017500000000440511742721476016575 0ustar  stubstubTZif2`ٮ	qKͩ΢Cϒ4Ђ%rѶXҡO4cK#9 gըs),	xΗMD3#ܐ͐㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y  *0	*0	 CESTCETCEMTTZif2			oa`ٮ	qKͩ΢Cϒ4Ђ%rѶXҡO4cK#9 gըs),	xΗMD3#ܐ͐㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y 	 	*0
*0
 	LMTCESTCETCEMT
CET-1CEST,M3.5.0,M10.5.0/3
pytz-2012c/pytz/zoneinfo/Europe/Rome0000644000175000017500000000000011742721476026046 1pytz-2012c/pytz/zoneinfo/Europe/San_Marinoustar  stubstubpytz-2012c/pytz/zoneinfo/Europe/Dublin0000644000175000017500000000000011742721476023760 1pytz-2012c/pytz/zoneinfo/Eireustar  stubstubpytz-2012c/pytz/zoneinfo/Europe/Malta0000644000175000017500000000505311742721476016420 0ustar  stubstubTZif2	7𝵼pp`~p\7pL(pl5Kͩ΢Cϒ4Ђ%rL>1Ip)뀐	3pp`Ųb`ZpBwpv+3p
$pp4p	


ؐрavAE[*#ܐ͐㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y   CESTCETTZif2
pd7pp`~p\7pL(pl5Kͩ΢Cϒ4Ђ%rL>1Ip)뀐	3pp`Ųb`ZpBwpv+3p
$pp4p	


ؐрavAE[*#ܐ͐㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y
 	 	 	LMTCESTCET
CET-1CEST,M3.5.0,M10.5.0/3
pytz-2012c/pytz/zoneinfo/Europe/Tallinn0000644000175000017500000000417711742721476016771 0ustar  stubstubTZif2|Y-̞+psoLȰƗPKͩ΢Cϒ4t'@PC@̓s|d lU!\F"L7#<($,%&
'5'&()*+,ۀ-̀./t0d1]2r3=4R56P62x688<_=:>A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y				














































4 		 
*0 8@*08@*0 
 
*0*0TMTCESTCETEETMSKMSDEESTTZif2}"VY-+psoLȰƗPKͩ΢Cϒ4t'@PC@̓s|d lU!\F"L7#<($,%&
'5'&()*+,ۀ-̀./t0d1]2r3=4R56P62x688<_=:>A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y	
	
	
	
	





































44 

 *0 8@*08@*0  *0*0LMTTMTCESTCETEETMSKMSDEEST
EET-2EEST,M3.5.0/3,M10.5.0/4
pytz-2012c/pytz/zoneinfo/Europe/Vaduz0000644000175000017500000000340711742721476016454 0ustar  stubstubTZif2r	#ܐ͐㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y CETCESTTZif2s
q#ܐ͐㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y LMTCETCEST
CET-1CEST,M3.5.0,M10.5.0/3
pytz-2012c/pytz/zoneinfo/Europe/Luxembourg0000644000175000017500000000562011742721476017513 0ustar  stubstubTZif2`pp`~堢.zi5^?%5'*4pnآpPɧ2Opkp0rpP.IZ 02v㠹Ԡ֋      x h Xy ?/8[ : X֠	B0 Kͩ΢Cϒ4orN@ӑ@K#
*p
cEt6d'TMD3#ܐ͐㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y	
	





























































 	 	

 
 
 	LMTCESTCETWESTWETTZif2`pp`~.zi5^?%5'*4pnآpPɧ2Opkp0rpP.IZ 02vԠ֋      x h Xy ?/8[ : X֠	B0 Kͩ΢Cϒ4orN@ӑ@K#
*p
cEt6d'TMD3#ܐ͐㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y	
	





























































 	 	

 
 
 	LMTCESTCETWESTWET
CET-1CEST,M3.5.0,M10.5.0/3
pytz-2012c/pytz/zoneinfo/Europe/Jersey0000644000175000017500000000000011742721476024272 1pytz-2012c/pytz/zoneinfo/GB-Eireustar  stubstubpytz-2012c/pytz/zoneinfo/Europe/Simferopol0000644000175000017500000000410111742721476017472 0ustar  stubstubTZif2{ `Kͩ΢Cϒ4ϟ8'@PC@̓s|d lU!\F"L7#<($,%
%sP&.)`*P+`,P-`-.@/tP0dg@1]1]2r2~3=4R562x688a9v:C;X<_=:>A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y			








































 *0  8@*08@*0*0 SMTEETMSKCETCESTMSDEESTTZif2

|
"V `Kͩ΢Cϒ4ϟ8'@PC@̓s|d lU!\F"L7#<($,%
%sP&.)`*P+`,P-`-.@/tP0dg@1]1]2r2~3=4R562x688a9v:C;X<_=:>A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y					


	 *0  8@*08@*0*0 LMTSMTEETMSKCETCESTMSDEEST
EET-2EEST,M3.5.0/3,M10.5.0/4
pytz-2012c/pytz/zoneinfo/Europe/Tiraspol0000644000175000017500000000454711742721476017166 0ustar  stubstubTZif2"k>``ߍ`~`ȩླྀྨ࿘|mx^hOX@H18"(ȼ`w}PKͩ΢Cϒ4N`'@PC@̓s|d lU!\F"L7#<($,%
%sP&C>'&()``)`*P+`,P-`.P/t`0duP1]2r{3=4R562x688a9v:C;X<_=:>A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y
	
	
	
	









































x*0 
 
*0  8@*0*08@*0 
CMTBMTEESTEETCETCESTMSDMSKTZif2&Vk>``ߍ`~`ȩ|mx^hOX@H18"(ȼ`w}PKͩ΢Cϒ4N`'@PC@̓s|d lU!\F"L7#<($,%
%sP&C>'&()``)`*P+`,P-`.P/t`0duP1]2r{3=4R562x688a9v:C;X<_=:>A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y	








x*0  *0  8@*0"*0"8@*0 LMTCMTBMTEESTEETCETCESTMSDMSK
EET-2EEST,M3.5.0/3,M10.5.0/4
pytz-2012c/pytz/zoneinfo/Europe/Ljubljana0000644000175000017500000000000011742721476026232 1pytz-2012c/pytz/zoneinfo/Europe/Zagrebustar  stubstubpytz-2012c/pytz/zoneinfo/Europe/Budapest0000644000175000017500000000454711742721476017140 0ustar  stubstubTZif2	`ٮ0Xp) dyp( ZA?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y   CESTCETTZif2
j`ٮ0Xp) dyp( ZA?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y 	 		 LMTCESTCET
CET-1CEST,M3.5.0,M10.5.0/3
pytz-2012c/pytz/zoneinfo/Europe/Zaporozhye0000644000175000017500000000404511742721476017534 0ustar  stubstubTZif2y0`ʪKͩ΢Cνp'@PC@̓s|d lU!\F"L7#<($,%
&''p'p(P)`*P+`,P-`.P/t0d1]2r3=4R562x688a9v:C;X<_=:>A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y				










































  *0  8@*08@*0*0 CUTEETMSKCETCESTMSDEESTTZif2

z
"V0`ʪKͩ΢Cνp'@PC@̓s|d lU!\F"L7#<($,%
&''p'p(P)`*P+`,P-`.P/t0d1]2r3=4R562x688a9v:C;X<_=:>A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y						



   *0  8@*08@*0*0 LMTCUTEETMSKCETCESTMSDEEST
EET-2EEST,M3.5.0/3,M10.5.0/4
pytz-2012c/pytz/zoneinfo/Europe/Helsinki0000644000175000017500000000353311742721476017131 0ustar  stubstubTZif2u
soQ`̿#݀΀㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~yh*0 	*0 	HMTEESTEETTZif2vS&soQ`̿#݀΀㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~yhh*0 
*0 
LMTHMTEESTEET
EET-2EEST,M3.5.0/3,M10.5.0/4
pytz-2012c/pytz/zoneinfo/Europe/Bucharest0000644000175000017500000000422311742721476017300 0ustar  stubstubTZif2
>``ߍ`~`ȩླྀྨ࿘|mx^hOX@H18"(`SPM3`#݀΀㡀ӒÃ|s ld!\U"LF#<7$,(%&
'5''
`(`)`*`+`,`-$-`.P/t`0duP1]2r{3=4R562x688a9v:C;X<_=:>A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~yx*0 	*0 	*0 	BMTEESTEETTZif2l>``ߍ`~`ȩ|mx^hOX@H18"(`SPM3`#݀΀㡀ӒÃ|s ld!\U"LF#<7$,(%&
'5''
`(`)`*`+`,`-$-`.P/t`0duP1]2r{3=4R562x688a9v:C;X<_=:>A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~yxx*0 
*0 
*0 
LMTBMTEESTEET
EET-2EEST,M3.5.0/3,M10.5.0/4
pytz-2012c/pytz/zoneinfo/Europe/Prague0000644000175000017500000000000011742721476026431 1pytz-2012c/pytz/zoneinfo/Europe/Bratislavaustar  stubstubpytz-2012c/pytz/zoneinfo/Europe/Nicosia0000644000175000017500000000372211742721476016750 0ustar  stubstubTZif2
w	
ݒdP
9``uOc`SPM3P#`P`P`hPg`fe|H lG!\*"L)#<$,%&'P'
`(P)`*P+`,P-`.P/t`0duP1]2M3=4-s5r62x688a9v:C;X<_=:>A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~yH*0 	 	*0LMTEESTEETTZif2
w	
ݒdP
9``uOc`SPM3P#`P`P`hPg`fe|H lG!\*"L)#<$,%&'P'
`(P)`*P+`,P-`.P/t`0duP1]2M3=4-s5r62x688a9v:C;X<_=:>A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~yH*0 	 	*0LMTEESTEET
EET-2EEST,M3.5.0/3,M10.5.0/4
pytz-2012c/pytz/zoneinfo/Europe/Vatican0000644000175000017500000000000011742721476026531 1pytz-2012c/pytz/zoneinfo/Europe/San_Marinoustar  stubstubpytz-2012c/pytz/zoneinfo/Europe/Sofia0000644000175000017500000000407011742721476016421 0ustar  stubstubTZif2		~	Kͩ΢Cϒ4Ђ%pr$ cPU?M5!,p㡀ӒÃ|s ld!\U"LF#<7$,(%&
'5''
`(P)`*P+`,P-`.P/t`0duP1]2r{3=4R562x688a9v:C;X<_=:>A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y  *0
 *0
*0
 EETCETCESTEESTTZif2V$rKͩ΢Cϒ4Ђ%pr$ cPU?M5!,p㡀ӒÃ|s ld!\U"LF#<7$,(%&
'5''
`(P)`*P+`,P-`.P/t`0duP1]2r{3=4R562x688a9v:C;X<_=:>A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
h  *0 *0*0 LMTIMTEETCETCESTEEST
EET-2EEST,M3.5.0/3,M10.5.0/4
pytz-2012c/pytz/zoneinfo/Europe/Sarajevo0000644000175000017500000000000011742721476026102 1pytz-2012c/pytz/zoneinfo/Europe/Zagrebustar  stubstubpytz-2012c/pytz/zoneinfo/Europe/Uzhgorod0000644000175000017500000000403511742721476017162 0ustar  stubstubTZif2y	qKͩ΢Cϒ4Ѐ`С'@PC@̓s|d lU!\F"L7#<($,%
%sP&.'B)`*P+`,P-`.P/t0d1]2r3=4R562x688a9v:C;X<_=:>A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y			










































  8@	*0
*0
8@	 *0*0 CETCESTMSDMSKEETEESTTZif2

z
j	qKͩ΢Cϒ4Ѐ`С'@PC@̓s|d lU!\F"L7#<($,%
%sP&.'B)`*P+`,P-`.P/t0d1]2r3=4R562x688a9v:C;X<_=:>A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y	
	
	
	  8@
*0*08@
 *0*0 LMTCETCESTMSDMSKEETEEST
EET-2EEST,M3.5.0/3,M10.5.0/4
pytz-2012c/pytz/zoneinfo/Europe/Andorra0000644000175000017500000000327511742721476016754 0ustar  stubstubTZif2k
A| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y WETCETCESTTZif2l~6A| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~yl LMTWETCETCEST
CET-1CEST,M3.5.0,M10.5.0/3
pytz-2012c/pytz/zoneinfo/Europe/Monaco0000644000175000017500000000555711742721476016607 0ustar  stubstubTZif2


`POGx,ppHp*`.zL5^#p%5'X&p}4p_PAɧ#Opkp"prpPpI//p2Lpppp`ȷ𽸨_pxlh]XN?p80:Xp	[T˭iKͩ΢Cϒ4ЉrN@9
cEt6d'TMD3#ܐ͐㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y																																																													1	 
	  PMTWESTWETWEMTCESTCETTZif2kE`POGx,ppHp*`.zL5^#p%5'X&p}4p_PAɧ#Opkp"prpPpI//p2Lpppp`ȷ_pxlh]XN?p80:Xp	[T˭iKͩ΢Cϒ4ЉrN@9
cEt6d'TMD3#ܐ͐㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
1
 
  LMTPMTWESTWETWEMTCESTCET
CET-1CEST,M3.5.0,M10.5.0/3
pytz-2012c/pytz/zoneinfo/Europe/Belgrade0000644000175000017500000000000011742721476026035 1pytz-2012c/pytz/zoneinfo/Europe/Zagrebustar  stubstubpytz-2012c/pytz/zoneinfo/Europe/Chisinau0000644000175000017500000000000011742721476026456 1pytz-2012c/pytz/zoneinfo/Europe/Tiraspolustar  stubstubpytz-2012c/pytz/zoneinfo/Europe/Kiev0000644000175000017500000000401111742721476016251 0ustar  stubstubTZif2wd`.Kͩ΢Cͨp'@PC@̓s|d lU!\F"L7#<($,%
%sP&.)`*P+`,P-`.P/t0d1]2r3=4R562x688a9v:C;X<_=:>A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y			










































 *0  8@*08@*0*0 KMTEETMSKCETCESTMSDEESTTZif2

x
"Vdd`.Kͩ΢Cͨp'@PC@̓s|d lU!\F"L7#<($,%
%sP&.)`*P+`,P-`.P/t0d1]2r3=4R562x688a9v:C;X<_=:>A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y					


 *0  8@*08@*0*0 LMTKMTEETMSKCETCESTMSDEEST
EET-2EEST,M3.5.0/3,M10.5.0/4
pytz-2012c/pytz/zoneinfo/Europe/Gibraltar0000644000175000017500000000573311742721476017276 0ustar  stubstubTZif2& 0à ve {ȠN? %` ' *, Ӡ  l  N y0 РpLrP.IZ 02vXԠ  W    x z Xy Q8[ : X֠	&ʗYw;ͱ`Xϐn^r2i c)I !BN .  p   ޴߮ ̠rHkt R*T2= ) T͐㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y 
 
BSTGMTBDSTCETCESTTZif2W
& 0à ve {ȠN? %` ' *, Ӡ  l  N y0 РpLrP.IZ 02vXԠ  W    x z Xy Q8[ : X֠	&ʗYw;ͱ`Xϐn^r2i c)I !BN .  p   ޴߮ ̠rHkt R*T2= ) T͐㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y  LMTBSTGMTBDSTCETCEST
CET-1CEST,M3.5.0,M10.5.0/3
pytz-2012c/pytz/zoneinfo/Europe/Riga0000644000175000017500000000424111742721476016242 0ustar  stubstubTZif2"F˃ȯd`bePKͩ΢Cϒ4Ђ%Аp'@PC@̓s|d lU!\F"L7#<($,%&
'5'&()*+,ۀ-̀./t0d1]2M23=4R562x688:C;X<_=:>A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y				















































$ *0  8@*08@*0 *0 RMTLSTEETMSKCETCESTMSDEESTTZif2&VhF˃ȯd`bePKͩ΢Cϒ4Ђ%Аp'@PC@̓s|d lU!\F"L7#<($,%&
'5'&()*+,ۀ-̀./t0d1]2M23=4R562x688:C;X<_=:>A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y	
	
	
	
	







































$ *0  8@*08@*0! *0! LMTRMTLSTEETMSKCETCESTMSDEEST
EET-2EEST,M3.5.0/3,M10.5.0/4
pytz-2012c/pytz/zoneinfo/Europe/Mariehamn0000644000175000017500000000000011742721476026565 1pytz-2012c/pytz/zoneinfo/Europe/Helsinkiustar  stubstubpytz-2012c/pytz/zoneinfo/Europe/Istanbul0000644000175000017500000000524111742721476017142 0ustar  stubstubTZif2			`վТec{PN`?Ц%''Ъ((`Ы1P`J`΀Pˮ`Pqk	PӢ9`CPL
){+	]`?`\P`ݳ`dh`8kKi`4Pnp9u		:
`$P
9`P`sPgM6Gz#݀'\>PܔP|s ld!\U"LF#<7$,(%&
'5'p(	p)p*p+p,p-p.p/tp0dp1]2r3=4Ry562[6b8xp8D9Zp:&;%p?p@fpABEpCcD%pECE2FɐG#GIIJKL̿MݐNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~yh*0 	8@
*0*0 	*0 	IMTEESTEETTRSTTRTTZif2


V`վec{PN`?%''((`1P`J`΀Pˮ`Pqk	PӢ9`CPL
){+	]`?`\P`ݳ`dh`8kKi`4Pnp9u		:
`$P
9`P`sPgM6Gz#݀'\>PܔP|s ld!\U"LF#<7$,(%&
'5'p(	p)p*p+p,p-p.p/tp0dp1]2r3=4Ry562[6b8xp8D9Zp:&;%p?p@fpABEpCcD%pECE2FɐG#GIIJKL̿MݐNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y																															(h*0 
8@*0*0 
*0 
LMTIMTEESTEETTRSTTRT
EET-2EEST,M3.5.0/3,M10.5.0/4
pytz-2012c/pytz/zoneinfo/Europe/Belfast0000644000175000017500000000000011742721476024411 1pytz-2012c/pytz/zoneinfo/GB-Eireustar  stubstubpytz-2012c/pytz/zoneinfo/Europe/Tirane0000644000175000017500000000404411742721476016603 0ustar  stubstubTZif2
4hmpKͩ͸(9>`
x
qOpH`
k*`pt`pS`pp;`Hp`1p_`̯| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y  LMTCETCESTTZif2
4hmpKͩ͸(9>`
x
qOpH`
k*`pt`pS`pp;`Hp`1p_`̯| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y  LMTCETCEST
CET-1CEST,M3.5.0,M10.5.0/3
pytz-2012c/pytz/zoneinfo/Europe/Samara0000644000175000017500000000246211742721476016567 0ustar  stubstubTZif2A&PL&'0@50̅te|V lG!\8"L)#<$,%
&''p'p())0*ĥ +`,`-`.`/t`0d`1]2r3=4Rk5r62M6T8j`869L`:;.`<5`=`>`?`@e`ABE`CcD%`ECF`G#GIIΝJxKḶpMo	

















/*08@FP	8@8@FP	8@	*0*0	 FPFP8@8@*08@LMTSAMTKUYSTKUYTSAMSTTZif2A&PL&'0@50̅te|V lG!\8"L)#<$,%
&''p'p())0*ĥ +`,`-`.`/t`0d`1]2r3=4Rk5r62M6T8j`869L`:;.`<5`=`>`?`@e`ABE`CcD%`ECF`G#GIIΝJxKḶpMo	

















/*08@FP	8@8@FP	8@	*0*0	 FPFP8@8@*08@LMTSAMTKUYSTKUYTSAMST
SAMT-4
pytz-2012c/pytz/zoneinfo/Europe/Paris0000644000175000017500000000560111742721476016437 0ustar  stubstubTZif2`PGx,ppHp*`.zL5^#p%5'X&p}4p_PAɧ#Opkp"prpPpI//p2Lpppp`ȷ𽸨_pxlh]XN?p80:Xp	l'Kͩ΢Cϒ4OЉrN@9
cEt6d'TMD3#ܐ͐㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y		




























































1		
   
 
PMTWESTWETCETCESTWEMTTZif2


kJ`PGx,ppHp*`.zL5^#p%5'X&p}4p_PAɧ#Opkp"prpPpI//p2Lpppp`ȷ_pxlh]XN?p80:Xp	l'Kͩ΢Cϒ4OЉrN@9
cEt6d'TMD3#ܐ͐㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y		

11

    LMTPMTWESTWETCETCESTWEMT
CET-1CEST,M3.5.0,M10.5.0/3
pytz-2012c/pytz/zoneinfo/Europe/Isle_of_Man0000644000175000017500000000000011742721476025204 1pytz-2012c/pytz/zoneinfo/GB-Eireustar  stubstubpytz-2012c/pytz/zoneinfo/Europe/Podgorica0000644000175000017500000000000011742721476026237 1pytz-2012c/pytz/zoneinfo/Europe/Zagrebustar  stubstubpytz-2012c/pytz/zoneinfo/Europe/Amsterdam0000644000175000017500000000554511742721476017305 0ustar  stubstubTZif2


.\ٸ%Avp#VP6%['^㌩Z煌'gfIΙ+pHRP*s0T@xq쌼Ό،]x§ˌ]\Xtpp8Vp`!rDPKͩ΢Cϒ4Ђ%rN@
*p
cEt6d'TMD3#ܐ͐㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y	




























































   NSTAMTNETNESTCETCESTTZif2Ql.\ٸ%Avp#VP6%['^Z煌'gfIΙ+pHRP*s0T@xqΌ،]x§ˌ]\Xtpp8Vp`!rDPKͩ΢Cϒ4Ђ%rN@
*p
cEt6d'TMD3#ܐ͐㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y
			
   LMTNSTAMTNETNESTCETCEST
CET-1CEST,M3.5.0,M10.5.0/3
pytz-2012c/pytz/zoneinfo/Europe/Copenhagen0000644000175000017500000000412611742721476017431 0ustar  stubstubTZif2	`վCWpKͩ΢Cϒ4Ђ%r$y^Gɐ׿ΗMD3#ܐ͐㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y   CESTCETTZif2iϴq4`վCWpKͩ΢Cϒ4Ђ%r$y^Gɐ׿ΗMD3#ܐ͐㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y 

  
LMTCMTCESTCET
CET-1CEST,M3.5.0,M10.5.0/3
pytz-2012c/pytz/zoneinfo/America/0000775000175000017500000000000011742722012015523 5ustar  stubstubpytz-2012c/pytz/zoneinfo/America/Mexico_City0000644000175000017500000000000011742721476026776 1pytz-2012c/pytz/zoneinfo/Mexico/Generalustar  stubstubpytz-2012c/pytz/zoneinfo/America/Puerto_Rico0000644000175000017500000000034511742721476017715 0ustar  stubstubTZif22#p`ASTAPTAWTTZif2z敹2#p`LMTASTAPTAWT
AST4
pytz-2012c/pytz/zoneinfo/America/Pangnirtung0000644000175000017500000000405611742721476017762 0ustar  stubstubTZif2z)Rˈ`#p`/0@([i9YI8("PP`P`P`P u!P"U#j$5%J&'*e'`)
G)ޗ`*)+y`,FP-[`.(P/~=`0`1gg2r`3GI4R`5'+62`7
889:;۞p?b@opA`BOpCda`D/vpEDC`EG-_GӊI
AIlJ#KpL@`M|kpN"`O\MpP`Qp?b@opA`BOpCda`D/vpEDC`EG-_GӊI
AIlJ#KpL@`M|kpN"`O\MpP`QN	LMTBRSTBRTTZif21
t0I@40t 800ܹY 0ޛ ݚ0T3 ^ d0Q,0 
Ұ0}Ɏ0xנ5 3Ϡ!i0"Ƞ#X#p %7% 0y01M2W 3j 48T04 6 06h7ư8 90:,;N	LMTBRSTBRT
BRT3
pytz-2012c/pytz/zoneinfo/America/Dawson0000644000175000017500000000402311742721476016713 0ustar  stubstubTZif2~˰#Ҁˉ(#pa4 /v(0ir YUIT 97)6 "S	 54ې v+ !"V
 #j$5 %J& '*')
)Ϡ*b+,~-.`/~u0B1g 2s$3Gt 4S5'V 6278 88 9: ;<=>?@oܠABOCdD/EDmE G-Gӵ I
lI JNKLjM|NLO\wP.Q?@oܠABOCdD/EDmE G-Gӵ I
lI JNKLjM|NLO\wP.QPQoP1QP)a *KP+C2PBXC?iPDTnEY`MMTCSTESTCDTTZif2i,d-HCt`	>PQoP1QP)a *KP+C2PBXC?iPDTnEY`LMTMMTCSTESTCDT
CST6
pytz-2012c/pytz/zoneinfo/America/Santa_Isabel0000644000175000017500000000444611742721476020016 0ustar  stubstubTZif2yOp|fdp
ꍀ#pҙpYؑ~YIR^;)4GX Q': 3   ௠
  ysir YUIT 97)6 "S	 54ې v+ !"V
 #j$5 %J& '*')
)Ϡ*b+,~-.`/~u0B1g 2s$3Gt 4S5'V 6278 88 9: ;<=>?@oܠABOCdD/EDmFG$OG I1I؁ JKc L0ME NOx' PQaCRlSA%TLU!V,WXXˠYZ[z\ ]\^ _>`i a~[bIp c^=d)R e>fnggPhi2jklmnÐoqؠpqZ rfs: tFiu v/v xhx} yJz_ {,|{}~]PLMTMSTPSTPDTPWTPPTTZif2yOp|fdp
ꍀ#pҙpYؑ~YIR^;)4GX Q': 3   ௠
  ysir YUIT 97)6 "S	 54ې v+ !"V
 #j$5 %J& '*')
)Ϡ*b+,~-.`/~u0B1g 2s$3Gt 4S5'V 6278 88 9: ;<=>?@oܠABOCdD/EDmFG$OG I1I؁ JKc L0ME NOx' PQaCRlSA%TLU!V,WXXˠYZ[z\ ]\^ _>`i a~[bIp c^=d)R e>fnggPhi2jklmnÐoqؠpqZ rfs: tFiu v/v xhx} yJz_ {,|{}~]PLMTMSTPSTPDTPWTPPT
PST8PDT,M4.1.0,M10.5.0
pytz-2012c/pytz/zoneinfo/America/Montreal0000644000175000017500000000662511742721476017253 0ustar  stubstubTZif2dp`X袔
_s>S-ގpp܍pR诼SP~5Pg.@|PG@[P&@;P@$й@лнĝпox„aOZdC/p?b@opA`BOpCda`D/vpEDC`EG-_GӊI
AIlJ#KpL@`M|kpN"`O\MpP`QS-ގpp܍pRSP~5Pg.@|PG@[P&@;P@$@ĝox„aOZdC/p?b@opA`BOpCda`D/vpEDC`EG-_GӊI
AIlJ#KpL@`M|kpN"`O\MpP`QP(iiGY*I)9)")``
p`p`p` v!`"U#j$5%J&'*s'p)
U)ޥp*7+p,T`-ip.6`/~Kp0`1gg2r`3GI4R`5'+62`7
889:;۞p?b@opA`BOpCda`D/vpEDC`EG-_GӊI
AIlJ#KpL@`M|kpN"`O\MpP`QP(iiGY*I)9)")``
p`p`p` v!`"U#j$5%J&'*s'p)
U)ޥp*7+p,T`-ip.6`/~Kp0`1gg2r`3GI4R`5'+62`7
889:;۞p?b@opA`BOpCda`D/vpEDC`EG-_GӊI
AIlJ#KpL@`M|kpN"`O\MpP`Q?@oΐABOCd}D/ED_FtG$AGI#IsJKL\M|N>O\iP Q?@oΐABOCd}D/ED_FtG$AGI#IsJKL\M|N>O\iP Q?0@oAŰBOCdD/EDE@G-0G@I
0I@Jj0KLֆM|NhO\PJQ?0@oAŰBOCdD/EDE@G-0G@I
0I@Jj0KLֆM|NhO\PJQA?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~yh
LMTCGTCGSTEGTEGSTTZif2uLMn@4$#ܐ͐㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~yh
LMTCGTCGSTEGTEGST
EGT1EGST,M3.5.0/0,M10.5.0/1
pytz-2012c/pytz/zoneinfo/America/Argentina/0000775000175000017500000000000011742722012017433 5ustar  stubstubpytz-2012c/pytz/zoneinfo/America/Argentina/San_Juan0000644000175000017500000000213511742721476021070 0ustar  stubstubTZif2=0{R@ɰ@p0}@0x
@Z@;0~`@*0A70ȁ@MM0ΰ)5Cd=0l02@柰C0w@65S0R@504@J$o#$%7%v'!0'͵(&&@)0):*0+W 7ư8*@A0@Gw	G 
CMTARTARSTWARTTZif2>r0{R@ɰ@p0}@0x
@Z@;0~`@*0A70ȁ@MM0ΰ)5Cd=0l02@柰C0w@65S0R@504@J$o#$%7%v'!0'͵(&&@)0):*0+W 7ư8*@A0@Gw	G LMTCMTARTARSTWART
ART3
pytz-2012c/pytz/zoneinfo/America/Argentina/La_Rioja0000644000175000017500000000213511742721476021052 0ustar  stubstubTZif2=0{R@ɰ@p0}@0x
@Z@;0~`@*0A70ȁ@MM0ΰ)5Cd=0l02@柰C0w@65S0R@504@J$o#$%7%v'!0'͵(&&@)0):*0+W 7ư8*@0@Gw	G 
CMTARTARSTWARTTZif2>r,0{R@ɰ@p0}@0x
@Z@;0~`@*0A70ȁ@MM0ΰ)5Cd=0l02@柰C0w@65S0R@504@J$o#$%7%v'!0'͵(&&@)0):*0+W 7ư8*@0@Gw	G TLMTCMTARTARSTWART
ART3
pytz-2012c/pytz/zoneinfo/America/Argentina/Salta0000644000175000017500000000206311742721476020436 0ustar  stubstubTZif2:0{R@ɰ@p0}@0x
@Z@;0~`@*0A70ȁ@MM0ΰ)5Cd=0l02@柰C0w@65S0R@504@J$o#$%7%v'!0'X)@):*0+W 7ư8*Gw	G 
CMTARTARSTWARTTZif2;r0{R@ɰ@p0}@0x
@Z@;0~`@*0A70ȁ@MM0ΰ)5Cd=0l02@柰C0w@65S0R@504@J$o#$%7%v'!0'X)@):*0+W 7ư8*Gw	G ¬LMTCMTARTARSTWART
ART3
pytz-2012c/pytz/zoneinfo/America/Argentina/Tucuman0000644000175000017500000000215311742721476021006 0ustar  stubstubTZif2>0{R@ɰ@p0}@0x
@Z@;0~`@*0A70ȁ@MM0ΰ)5Cd=0l02@柰C0w@65S0R@504@J$o#$%7%v'!0'X)@):*0+W 7ư8*@0@@Gw	G HIa 
CMTARTARSTWARTTZif2?r0{R@ɰ@p0}@0x
@Z@;0~`@*0A70ȁ@MM0ΰ)5Cd=0l02@柰C0w@65S0R@504@J$o#$%7%v'!0'X)@):*0+W 7ư8*@0@@Gw	G HIa LMTCMTARTARSTWART
ART3
pytz-2012c/pytz/zoneinfo/America/Argentina/Buenos_Aires0000644000175000017500000000000011742721476032166 1pytz-2012c/pytz/zoneinfo/America/Buenos_Airesustar  stubstubpytz-2012c/pytz/zoneinfo/America/Argentina/ComodRivadavia0000644000175000017500000000211711742721476022262 0ustar  stubstubTZif2<0{R@ɰ@p0}@0x
@Z@;0~`@*0A70ȁ@MM0ΰ)5Cd=0l02@柰C0w@65S0R@504@J$o#$%7%v'!0'X)@):*0+W 7ư8*@0@Gw	G 
CMTARTARSTWARTTZif2=r,0{R@ɰ@p0}@0x
@Z@;0~`@*0A70ȁ@MM0ΰ)5Cd=0l02@柰C0w@65S0R@504@J$o#$%7%v'!0'X)@):*0+W 7ư8*@0@Gw	G TLMTCMTARTARSTWART
ART3
pytz-2012c/pytz/zoneinfo/America/Argentina/Catamarca0000644000175000017500000000000011742721476033706 1pytz-2012c/pytz/zoneinfo/America/Argentina/ComodRivadaviaustar  stubstubpytz-2012c/pytz/zoneinfo/America/Argentina/San_Luis0000644000175000017500000000214511742721476021110 0ustar  stubstubTZif2=0{R@ɰ@p0}@0x
@Z@;0~`@*0A70ȁ@MM0ΰ)5Cd=0l02@柰C0w@65S0R@504@J$o#$%7%'4@'ð(G7ư8*@A0@Gw	GGRHv@I4JX@
CMTARTARSTWARTWARSTTZif2>r0{R@ɰ@p0}@0x
@Z@;0~`@*0A70ȁ@MM0ΰ)5Cd=0l02@柰C0w@65S0R@504@J$o#$%7%'4@'ð(G7ư8*@A0@Gw	GGRHv@I4JX@LMTCMTARTARSTWARTWARST

pytz-2012c/pytz/zoneinfo/America/Argentina/Ushuaia0000644000175000017500000000211711742721476020771 0ustar  stubstubTZif2<0{R@ɰ@p0}@0x
@Z@;0~`@*0A70ȁ@MM0ΰ)5Cd=0l02@柰C0w@65S0R@504@J$o#$%7%v'!0'X)0):*0+W 7ư8*@N0@Gw	G 
CMTARTARSTWARTTZif2=r0{R@ɰ@p0}@0x
@Z@;0~`@*0A70ȁ@MM0ΰ)5Cd=0l02@柰C0w@65S0R@504@J$o#$%7%v'!0'X)0):*0+W 7ư8*@N0@Gw	G LMTCMTARTARSTWART
ART3
pytz-2012c/pytz/zoneinfo/America/Argentina/Jujuy0000644000175000017500000000213711742721476020502 0ustar  stubstubTZif2		:	0{R@ɰ@p0}@0x
@Z@;0~`@*0A70ȁ@MM0ΰ)5Cd=0l02@柰C0w@65S0R@504@J$o#$%7%v'*W'۰(@):*0+W 7ư8*Gw	G 
CMTARTARSTWARTWARSTTZif2

;
r0{R@ɰ@p0}@0x
@Z@;0~`@*0A70ȁ@MM0ΰ)5Cd=0l02@柰C0w@65S0R@504@J$o#$%7%v'*W'۰(@):*0+W 7ư8*Gw	G LMTCMTARTARSTWARTWARST
ART3
pytz-2012c/pytz/zoneinfo/America/Argentina/Rio_Gallegos0000644000175000017500000000211711742721476021740 0ustar  stubstubTZif2<0{R@ɰ@p0}@0x
@Z@;0~`@*0A70ȁ@MM0ΰ)5Cd=0l02@柰C0w@65S0R@504@J$o#$%7%v'!0'X)0):*0+W 7ư8*@0@Gw	G 
CMTARTARSTWARTTZif2=rd0{R@ɰ@p0}@0x
@Z@;0~`@*0A70ȁ@MM0ΰ)5Cd=0l02@柰C0w@65S0R@504@J$o#$%7%v'!0'X)0):*0+W 7ư8*@0@Gw	G LMTCMTARTARSTWART
ART3
pytz-2012c/pytz/zoneinfo/America/Argentina/Mendoza0000644000175000017500000000217311742721476020771 0ustar  stubstubTZif2		<	0{R@ɰ@p0}@0x
@Z@;0~`@*0A70ȁ@MM0ΰ)5Cd=0l02@柰C0w@65S0R@504@J$o#$%7%v'4@'ð(g)H*@+W 7ư8*@AV>Gw	G 
CMTARTARSTWARTWARSTTZif2

=
r0{R@ɰ@p0}@0x
@Z@;0~`@*0A70ȁ@MM0ΰ)5Cd=0l02@柰C0w@65S0R@504@J$o#$%7%v'4@'ð(g)H*@+W 7ư8*@AV>Gw	G |LMTCMTARTARSTWARTWARST
ART3
pytz-2012c/pytz/zoneinfo/America/Argentina/Cordoba0000644000175000017500000000211711742721476020743 0ustar  stubstubTZif2<0{R@ɰ@p0}@0x
@Z@;0~`@*0A70ȁ@MM0ΰ)5Cd=0l02@柰C0w@65S0R@504@J$o#$%7%v'!0'X)@):*0+W 7ư8*Gw	G HIa 
CMTARTARSTWARTTZif2=r0{R@ɰ@p0}@0x
@Z@;0~`@*0A70ȁ@MM0ΰ)5Cd=0l02@柰C0w@65S0R@504@J$o#$%7%v'!0'X)@):*0+W 7ư8*Gw	G HIa LMTCMTARTARSTWART
ART3
pytz-2012c/pytz/zoneinfo/America/Grenada0000644000175000017500000000023411742721476017021 0ustar  stubstubTZif24dLMTASTTZif24dLMTAST
AST4
pytz-2012c/pytz/zoneinfo/America/St_Kitts0000644000175000017500000000023411742721476017224 0ustar  stubstubTZif2744LMTASTTZif2744LMTAST
AST4
pytz-2012c/pytz/zoneinfo/America/Bogota0000644000175000017500000000034711742721476016700 0ustar  stubstubTZif2
XUt*sP+]@	BMTCOSTCOTTZif2^4XUt*sP+]@
LMTBMTCOSTCOT
COT5
pytz-2012c/pytz/zoneinfo/America/Creston0000644000175000017500000000031711742721476017077 0ustar  stubstubTZif2Kp;MSTPSTTZif2^=pKp;LMTMSTPST
MST7
pytz-2012c/pytz/zoneinfo/America/Rosario0000644000175000017500000000000011742721476030221 1pytz-2012c/pytz/zoneinfo/America/Argentina/Cordobaustar  stubstubpytz-2012c/pytz/zoneinfo/America/Virgin0000644000175000017500000000023411742721476016716 0ustar  stubstubTZif27` LMTASTTZif27` LMTAST
AST4
pytz-2012c/pytz/zoneinfo/America/Caracas0000644000175000017500000000036011742721476017015 0ustar  stubstubTZif2,ހ?p@oApBOCdopD/EDQpEG-mGәI
OI{J1KLNpM|yN0pO\[PpQ<=RupSTUpTV5pVXXYZ[ޘ\]z^d_\`M€aypb-cg[pd
eG=pehg'pgJipi,jpkIlmv+noV
pq5rostOtv8pvπxpxyhpz{Jp|~u},p~^WpCDTCSTESTCWTCPTTZif2^,pptEҀcSp3ޕwaYC~;_gXp|AG:p\#'p<pppZހ?p@oApBOCdopD/EDQpEG-mGәI
OI{J1KLNpM|yN0pO\[PpQ<=RupSTUpTV5pVXXYZ[ޘ\]z^d_\`M€aypb-cg[pd
eG=pehg'pgJipi,jpkIlmv+noV
pq5rostOtv8pvπxpxyhpz{Jp|~u},p~^WpLMTCDTCSTESTCWTCPT
CST6CDT,M3.2.0,M11.1.0
pytz-2012c/pytz/zoneinfo/America/Recife0000644000175000017500000000131211742721476016653 0ustar  stubstubTZif2'
gI@40t 800ܹY 0ޛ ݚ0T3 ^ d0Q,0 
Ұ0}Ɏ0xנ5 3Ϡ!i0"Ƞ#X#p %7% 7ư8 909;ހ?p@oApBOCdopD/EDQpFfG$3pGIpIeJpKGLM)NOxPQa'RlSA	TLU V,}ẀXpXீY|pZ[^p\]@p^_"p`ira~>bITc^ d)6e>fRgg4hijݨklpmڀnpoqppqZrfkps:tFMpuv/ivxKxay-zC{|_}~ALMTCSTESTCDTTZif2W``LKP1gv2sp3GX4Rp5':62p7889:;<=>ހ?p@oApBOCdopD/EDQpFfG$3pGIpIeJpKGLM)NOxPQa'RlSA	TLU V,}ẀXpXீY|pZ[^p\]@p^_"p`ira~>bITc^ d)6e>fRgg4hijݨklpmڀnpoqppqZrfkps:tFMpuv/ivxKxay-zC{|_}~ALMTCSTESTCDT
CST6CDT,M4.1.0,M10.5.0
pytz-2012c/pytz/zoneinfo/America/Noronha0000644000175000017500000000131211742721476017062 0ustar  stubstubTZif2'
ed;и2& f8  ӠܹK ޛ݌ T%PV Q Ƿ
Ġ oɀ xɐ' 3![ "#X#b%7%Թ78w9 9;?@oΐABOCd}D/ED_EG-|GӧI
^IJ@KL\M|N>O\iP Q?@oΐABOCd}D/ED_EG-|GӧI
^IJ@KL\M|N>O\iP QO@
@@	Ѱ
@0@
0@h0H0f(v0F&{t]V?8\@>@p @ 0!o@"90#E$0%8&&'١0()½*צ+,-.j/bc0@1BE2`i@3=04@K@5D06
@7հ8@809+:0;
<0=>j0?@SʰAhB3CHDE1@EpG@G0Hv@Io0JX@KL:@M0NPOPBQ;0RZS0T9UVVװWXĹY@Z[¿@\}]@^m0_@`M|0abe@b-^0cBG@d
@0e+ce"0gEg0h'i j	klmun@oUưps@q5rS@st3@t0v@vމ0wr@xk0y܎zM0{p|~/0}R~gK|4SMTCLTCLSTTZif2			i$i\PqFq^ww=@AXp"4P9@gP\ Pn@lɰvP<@rܰuP@IU2 +>O@
@@	Ѱ
@0@
0@h0H0f(v0F&{t]V?8\@>@p @ 0!o@"90#E$0%8&&'١0()½*צ+,-.j/bc0@1BE2`i@3=04@K@5D06
@7հ8@809+:0;
<0=>j0?@SʰAhB3CHDE1@EpG@G0Hv@Io0JX@KL:@M0NPOPBQ;0RZS0T9UVVװWXĹY@Z[¿@\}]@^m0_@`M|0abe@b-^0cBG@d
@0e+ce"0gEg0h'i j	klmun@oUưps@q5rS@st3@t0v@vމ0wr@xk0y܎zM0{p|~/0}R~gK|4G-\';%@Ӱ@Ƶ@0Ļ@0@o0Ox0m/Z0M}v-_X
A:#@@"@w@`0u@@0U@ 0>00g0ފleNiGk@I)gM@)G/@(0'@
0@0@00q0Zo:Oyr8@Tx@6Z@S0<@ɣ50ʸ@˃0̘@b0΁B0`"0@ٰ 뻰˝@ثɣ@ڋa۩@kC݉g@T`0iI@4B0I+@$02G0)0|Ȱ쑱\z@<Z@n:@0t@m0V@O08@10T06d0Nb-B
հ"@͙@{˟@	0
@vz0c@
V\0t6>0Ta 04C<%@~İ@^|@G0\@ '0!<@"0#%#i0%%K0&n'-0(P)I*2+p+,-P
.n1@//0N@1Ѱ2-@204
@405@607͛@809:xv0;At?V]@!VA6?B8C\@CD>@EF @G0H@I0J@Ki0L~@MI0NgO)0PGQ	0R'RTTҁUjVcWЇ@XEYi@Zr'[K@\R	]p-@^;&0_P@`0a/@a0c
c0de0fgʰhijkclxwmCpna@o#RpAv@q4r!X@rQ0t:@t30u@v0w8x0yzk0{|T}i~4װI)@}@_҃@|0e@}^0G@]@0{c="0[E0;'0	ư@@e@N0c@.0Cr@k0#T@M0p/0R04-wVu@6ӰT@4@@ߴ0@0@x0a@Z0}_<0}_?0]A(:=#"@@ŧ°@ǐ0ȥ@p0ʅ@P0e@00Ng0.I0leNԹG0֙)׷M@yٗ/@Xw@8ϰV@!06@0@00ߵt0濗犐yjr[JT_=*6HZ@
(<@@0@0@0r0R0p;P0ha@Cg@%I@B0+@	d$0
y
@D0b)
#0B0!0Ȱ@ln@LPjt@5m0JV@O0*8@10!
@!0"6#0$%0&'}()]հ*r+=,[@-.;@.{0@001@2z03c@4\05E@6>07a8f 09C:F0;d%?#?A
@AİB@CD@EF@Gw0H@IW0Jlp@K7i0LUMK0N5nN-0PPPIQ2R+ST
UVW@X_ѰY}@Z?[]@\(0]=@^0_@_0aav0bcX0d{etf]gqVh?iQ8jf!k1lO>@mn/ @nްp@pq@r0s@t0u@vy0wxY0ywz9e0{W|"}7j~cLE.'K@	-@@k0@J0_@*0H
0(0r0wpYsRv@S4qX@3Q:@301@0@0@00{0dyDY$}B@_"@Ae@^0G@@0)@"0@m0'L0k	,0J*ư
ը@Ӯ@Õlij@uNƓr@^k0sT@>M0S6@/0N	G0)/@@ϰ@q0@Q0f@	10
F@0/t0V0yr[T=z6Z@Zx<@9X@#08@0@0@½0 !0"#0$%k&'K(`h)+a*I@+C,)g@,%.	I@./+@0$01
@203@4s056S07q8309Q:Ȱ;1;==܌>u?n@ڒ@APBt@LMTSMTCLTCLST

pytz-2012c/pytz/zoneinfo/America/Barbados0000644000175000017500000000051211742721476017174 0ustar  stubstubTZif2
y$丅ctnvTP_`0>PLMTBMTADTASTTZif2
y$ctnvTP_`0>PLMTBMTADTAST
AST4
pytz-2012c/pytz/zoneinfo/America/Eirunepe0000644000175000017500000000120011742721476017226 0ustar  stubstubTZif2 f\PPސ@8PPܹu@1Pޛ@ݶPTO@z@P:QHP@
"PɪPxQ 3!P",P-f@H`P	
LMTACSTACTAMTTZif2 f\PPސ@8PPܹu@1Pޛ@ݶPTO@z@P:QHP@
"PɪPxQ 3!P",P-f@H`P	
LMTACSTACTAMT
AMT4
pytz-2012c/pytz/zoneinfo/America/Menominee0000644000175000017500000000432111742721476017375 0ustar  stubstubTZif2,ppˈ#pa	u@Jg+@p0p'	p	
pٰ
uttyViVY8I89)"7pppp܀p v!p"U#j$5%J&'*'р)
c)޳*E+,bp-w.Dp/~Y0&p1gv2sp3GX4Rp5':62p7889:;۬<=>ހ?p@oApBOCdopD/EDQpEG-mGәI
OI{J1KLNpM|yN0pO\[PpQ<=RupSTUpTV5pVXXYZ[ޘ\]z^d_\`M€aypb-cg[pd
eG=pehg'pgJipi,jpkIlmv+noV
pq5rostOtv8pvπxpxyhpz{Jp|~u},p~^WpCDTCSTCWTCPTESTTZif2awIc,ppˈ#pa	u@Jg+@p0p'	p	
pٰ
uttyViVY8I89)"7pppp܀p v!p"U#j$5%J&'*'р)
c)޳*E+,bp-w.Dp/~Y0&p1gv2sp3GX4Rp5':62p7889:;۬<=>ހ?p@oApBOCdopD/EDQpEG-mGәI
OI{J1KLNpM|yN0pO\[PpQ<=RupSTUpTV5pVXXYZ[ޘ\]z^d_\`M€aypb-cg[pd
eG=pehg'pgJipi,jpkIlmv+noV
pq5rostOtv8pvπxpxyhpz{Jp|~u},p~^WpLMTCDTCSTCWTCPTEST
CST6CDT,M3.2.0,M11.1.0
pytz-2012c/pytz/zoneinfo/America/Cayman0000644000175000017500000000026111742721476016670 0ustar  stubstubTZif2KMTESTTZif2i'LMTKMTEST
EST5
pytz-2012c/pytz/zoneinfo/America/Whitehorse0000644000175000017500000000402311742721476017601 0ustar  stubstubTZif2~˰#Ҁˉ(#pa4 /v(iir YUIT 97)6 "S	 54ې v+ !"V
 #j$5 %J& '*')
)Ϡ*b+,~-.`/~u0B1g 2s$3Gt 4S5'V 6278 88 9: ;<=>?@oܠABOCdD/EDmE G-Gӵ I
lI JNKLjM|NLO\wP.Q?@oܠABOCdD/EDmE G-Gӵ I
lI JNKLjM|NLO\wP.Q|?8@o|AUlBOj|Cd7lD/L|EDlEG-QG|I
3I^JK{`L2PM|]`NPO\?`PPQ|?8@o|AUlBOj|Cd7lD/L|EDlEG-QG|I
3I^JK{`L2PM|]`NPO\?`PPQ?@oΐABOCd}D/ED_EG-|GӧI
^IJ@KL\M|N>O\iP Q?@oΐABOCd}D/ED_EG-|GӧI
^IJ@KL\M|N>O\iP Qp?b@opA`BOpCda`D/vpEDC`EG-_GӊI
AIlJ#KpL@`M|kpN"`O\MpP`Qp?b@opA`BOpCda`D/vpEDC`EG-_GӊI
AIlJ#KpL@`M|kpN"`O\MpP`Qp?b@opA`BOpCda`D/vpEDC`EG-_GӊI
AIlJ#KpL@`M|kpN"`O\MpP`Qp?b@opA`BOpCda`D/vpEDC`EG-_GӊI
AIlJ#KpL@`M|kpN"`O\MpP`Q?@oΐABOCd}D/ED_EG-|GӧI
^IJ@KL\M|yN0pO\[PpQ<=RupSTUpTV5pVXXYZ[ޘ\]z^d_\`M€aypb-cg[pd
eG=pehg'pgJipi,jpkIlmv+noV
pq5rostOtv8pvπxpxyhpz{Jp|~u},p~^WpMDTMSTMWTMPTCDTCSTTZif2^:ˉ#pauXW:9wqaP@0ހ5		
ࡐٿ
yeidYGIF9))("E	
'&	̀ v!"U#j$5%J&'*'ߐ)
r)*T+,p-.R/~g041g2s3Gf4R5'H62ڀ7*889:;ۻ<
=>?@oΐABOCd}D/ED_EG-|GӧI
^IJ@KL\M|yN0pO\[PpQ<=RupSTUpTV5pVXXYZ[ޘ\]z^d_\`M€aypb-cg[pd
eG=pehg'pgJipi,jpkIlmv+noV
pq5rostOtv8pvπxpxyhpz{Jp|~u},p~^WpLMTMDTMSTMWTMPTCDTCST
CST6CDT,M3.2.0,M11.1.0
pytz-2012c/pytz/zoneinfo/America/North_Dakota/New_Salem0000644000175000017500000000447311742721476021720 0ustar  stubstubTZif2:ˉ#pauXW:9wqaP@0ހ5		
ࡐٿ
yeidYGIF9))("E	
'&	̀ v!"U#j$5%J&'*'ߐ)
r)*T+,p-.R/~g041g2s3Gf4R5'H62ڀ7*889:;ۻ<
=>?@oApBOCdopD/EDQpEG-mGәI
OI{J1KLNpM|yN0pO\[PpQ<=RupSTUpTV5pVXXYZ[ޘ\]z^d_\`M€aypb-cg[pd
eG=pehg'pgJipi,jpkIlmv+noV
pq5rostOtv8pvπxpxyhpz{Jp|~u},p~^WpMDTMSTMWTMPTCDTCSTTZif2^:ˉ#pauXW:9wqaP@0ހ5		
ࡐٿ
yeidYGIF9))("E	
'&	̀ v!"U#j$5%J&'*'ߐ)
r)*T+,p-.R/~g041g2s3Gf4R5'H62ڀ7*889:;ۻ<
=>?@oApBOCdopD/EDQpEG-mGәI
OI{J1KLNpM|yN0pO\[PpQ<=RupSTUpTV5pVXXYZ[ޘ\]z^d_\`M€aypb-cg[pd
eG=pehg'pgJipi,jpkIlmv+noV
pq5rostOtv8pvπxpxyhpz{Jp|~u},p~^WpLMTMDTMSTMWTMPTCDTCST
CST6CDT,M3.2.0,M11.1.0
pytz-2012c/pytz/zoneinfo/America/North_Dakota/Center0000644000175000017500000000447311742721476021266 0ustar  stubstubTZif2:ˉ#pauXW:9wqaP@0ހ5		
ࡐٿ
yeidYGIF9))("E	
'&	̀ v!"U#j$5%J&'*'ߐ)
r)*T+,bp-w.Dp/~Y0&p1gv2sp3GX4Rp5':62p7889:;۬<=>ހ?p@oApBOCdopD/EDQpEG-mGәI
OI{J1KLNpM|yN0pO\[PpQ<=RupSTUpTV5pVXXYZ[ޘ\]z^d_\`M€aypb-cg[pd
eG=pehg'pgJipi,jpkIlmv+noV
pq5rostOtv8pvπxpxyhpz{Jp|~u},p~^WpMDTMSTMWTMPTCDTCSTTZif2^:ˉ#pauXW:9wqaP@0ހ5		
ࡐٿ
yeidYGIF9))("E	
'&	̀ v!"U#j$5%J&'*'ߐ)
r)*T+,bp-w.Dp/~Y0&p1gv2sp3GX4Rp5':62p7889:;۬<=>ހ?p@oApBOCdopD/EDQpEG-mGәI
OI{J1KLNpM|yN0pO\[PpQ<=RupSTUpTV5pVXXYZ[ޘ\]z^d_\`M€aypb-cg[pd
eG=pehg'pgJipi,jpkIlmv+noV
pq5rostOtv8pvπxpxyhpz{Jp|~u},p~^WpLMTMDTMSTMWTMPTCDTCST
CST6CDT,M3.2.0,M11.1.0
pytz-2012c/pytz/zoneinfo/America/Montserrat0000644000175000017500000000023411742721476017616 0ustar  stubstubTZif25ŬLMTASTTZif25ŬLMTAST
AST4
pytz-2012c/pytz/zoneinfo/America/Rankin_Inlet0000644000175000017500000000357411742721476020047 0ustar  stubstubTZif2wn/L`(wiVY8I89)"7pppp܀p v!p"U#j$5%J&'*'р)
c)޳*E+,bp-w.Dp/~Y0&p1gv2sp3GX4Rp5':62p7889:;۬<=>ހ?p@oApBOCdopD/EDQpEG-mGәI
OI{J1KLNpM|yN0pO\[PpQ<=RupSTUpTV5pVXXYZ[ޘ\]z^d_\`M€aypb-cg[pd
eG=pehg'pgJipi,jpkIlmv+noV
pq5rostOtv8pvπxpxyhpz{Jp|~u},p~^Wp	
	zzzCDDTCSTCDTESTTZif2wn/L`(wiVY8I89)"7pppp܀p v!p"U#j$5%J&'*'р)
c)޳*E+,bp-w.Dp/~Y0&p1gv2sp3GX4Rp5':62p7889:;۬<=>ހ?p@oApBOCdopD/EDQpEG-mGәI
OI{J1KLNpM|yN0pO\[PpQ<=RupSTUpTV5pVXXYZ[ޘ\]z^d_\`M€aypb-cg[pd
eG=pehg'pgJipi,jpkIlmv+noV
pq5rostOtv8pvπxpxyhpz{Jp|~u},p~^Wp	
	zzzCDDTCSTCDTEST
CST6CDT,M3.2.0,M11.1.0
pytz-2012c/pytz/zoneinfo/America/El_Salvador0000644000175000017500000000035411742721476017656 0ustar  stubstubTZif2զ  !\P"z#<}P`LMTCDTCSTTZif2զ  !\P"z#<}P`LMTCDTCST
CST6
pytz-2012c/pytz/zoneinfo/America/Indianapolis0000644000175000017500000000316111742721476020074 0ustar  stubstubTZif2b,ppW"Gpˈ#pa	u@U 5sޗݩp޾y߉rp[iTp~=I6p^D/vpEDC`EG-_GӊI
AIlJ#KpL@`M|kpN"`O\MpP`QNNHOI Pe0Q 9RcG0STC)0T8 V#0V X0X Y0Z [\h ]Ͱ^H _`1akbcKsc e+Uedgr0gFhT0ic j60kzE l0mZ' n0o:	 p}q r\r t<ڰtٯ vvˠwx y܀z{ŝ0|bq}0~K a0	LMTBRSTBRTTZif2r
kI@40t 800ܹY 0ޛ ݚ0T3 ^ d0Q,0 
Ұ0}Ɏ0xנ5 3Ϡ!i0"Ƞ#X#p %7% '!0')0) *
+k2,0-f .0/F 0y01M2W 3j 48T04 6 06h7ư8 90:,;NNHOI Pe0Q 9RcG0STC)0T8 V#0V X0X Y0Z [\h ]Ͱ^H _`1akbcKsc e+Uedgr0gFhT0ic j60kzE l0mZ' n0o:	 p}q r\r t<ڰtٯ vvˠwx y܀z{ŝ0|bq}0~K a0+p eC0	LMTBRSTBRT
BRT3BRST,M10.3.0/0,M2.3.0/0
pytz-2012c/pytz/zoneinfo/America/Monterrey0000644000175000017500000000257211742721476017453 0ustar  stubstubTZif2W`"U#j1gv2sp3GX4Rp5':62p7889:;<=>ހ?p@oApBOCdopD/EDQpFfG$3pGIpIeJpKGLM)NOxPQa'RlSA	TLU V,}ẀXpXீY|pZ[^p\]@p^_"p`ira~>bITc^ d)6e>fRgg4hijݨklpmڀnpoqppqZrfkps:tFMpuv/ivxKxay-zC{|_}~ALMTCSTCDTTZif2W`"U#j1gv2sp3GX4Rp5':62p7889:;<=>ހ?p@oApBOCdopD/EDQpFfG$3pGIpIeJpKGLM)NOxPQa'RlSA	TLU V,}ẀXpXீY|pZ[^p\]@p^_"p`ira~>bITc^ d)6e>fRgg4hijݨklpmڀnpoqppqZrfkps:tFMpuv/ivxKxay-zC{|_}~ALMTCSTCDT
CST6CDT,M4.1.0,M10.5.0
pytz-2012c/pytz/zoneinfo/America/Mazatlan0000644000175000017500000000000011742721476026303 1pytz-2012c/pytz/zoneinfo/Mexico/BajaSurustar  stubstubpytz-2012c/pytz/zoneinfo/America/Martinique0000644000175000017500000000034711742721476017603 0ustar  stubstubTZif2
DMn@4Ƽ	FFMTASTADTTZif2iDMn@4ƼƼ	
LMTFFMTASTADT
AST4
pytz-2012c/pytz/zoneinfo/America/Vancouver0000644000175000017500000000547311742721476017442 0ustar  stubstubTZif2ˉ#pa&v S}U  5  Ѡ޳ݩ޾߉wip~YIR^;)4GX Q': 3   qޠo_O?/(f fe HG *) x q(a'Q
A	0 	ΐ
͠
௠
  ysir YUIT 97)6 "S	 54ې v+ !"V
 #j$5 %J& '*')
)Ϡ*b+,~-.`/~u0B1g 2s$3Gt 4S5'V 6278 88 9: ;<=>?@oܠABOCdD/EDmE G-Gӵ I
lI JNKLjM|NLO\wP.Q?@oܠABOCdD/EDmE G-Gӵ I
lI JNKLjM|NLO\wP.Qp?b@opA`BOpCda`D/vpEDC`EG-_GӊI
AIlJ#KpL@`M|kpN"`O\MpP`Qp?b@opA`BOpCda`D/vpEDC`EG-_GӊI
AIlJ#KpL@`M|kpN"`O\MpP`Qހ?p@oApBOCdopD/EDQpFfG$3pGIpIeJpKGLM)NOxPQa'RlSA	TLU V,}ẀXpXீY|pZ[^p\]@p^_"p`ira~>bITc^ d)6e>fRgg4hijݨklpmڀnpoqppqZrfkps:tFMpuv/ivxKxay-zC{|_}~ALMTCSTEDTESTCDTTZif2W``1gg2r`3GI4R`5'+5`62p7889:;<=>ހ?p@oApBOCdopD/EDQpFfG$3pGIpIeJpKGLM)NOxPQa'RlSA	TLU V,}ẀXpXீY|pZ[^p\]@p^_"p`ira~>bITc^ d)6e>fRgg4hijݨklpmڀnpoqppqZrfkps:tFMpuv/ivxKxay-zC{|_}~ALMTCSTEDTESTCDT
CST6CDT,M4.1.0,M10.5.0
pytz-2012c/pytz/zoneinfo/America/Dawson_Creek0000644000175000017500000000201111742721476020017 0ustar  stubstubTZif29ˉ#pa&U  5  Ѡ޳ݩ޾߉wip~YIR^;)4GX Q': 3   qޠo_O?/(f fe HG *) x q(a'PDTPSTPWTPPTMSTTZif2:^=t8ˉ#pa&U  5  Ѡ޳ݩ޾߉wip~YIR^;)4GX Q': 3   qޠo_O?/(f fe HG *) x q(a'HLMTPDTPSTPWTPPTMST
MST7
pytz-2012c/pytz/zoneinfo/America/Montevideo0000644000175000017500000000412611742721476017575 0ustar  stubstubTZif2%Y8C0Ìvԗyy8_[}x8?=]Z8=<8<080ʋ8UM8͕_ . EJ r T	s 6ꦠ>0bqؖ(0ɨX0Ǡ	ZG(ݠ0 U0nG!T0";>#$ %Jg%v'!0'X)
+):*0+AL0BF/CHDEKPE~GgG`HIIBJ+K_@L
M|A@NO\#@PqPQ<@RPPS@T0PT@VPVWPXYvPZ[\]t^dm_yV`M@aY8b-l@c9d
N@ee0@gPg@hPi@jPklPmunPoUpjq5rJst*t@v
cvޗ@wExy@y'z[@{DP|~=@}&P~^@sPT


MMTUYHSTUYTUYSTTZif2			y},%Y8C0Ìvԗyy8_[}x8?=]Z8=<8<080ʋ8UM8͕_ . EJ r T	s 6ꦠ>0bqؖ(0ɨX0Ǡ	ZG(ݠ0 U0nG!T0";>#$ %Jg%v'!0'X)
+):*0+AL0BF/CHDEKPE~GgG`HIIBJ+K_@L
M|A@NO\#@PqPQ<@RPPS@T0PT@VPVWPXYvPZ[\]t^dm_yV`M@aY8b-l@c9d
N@ee0@gPg@hPi@jPklPmunPoUpjq5rJst*t@v
cvޗ@wExy@y'z[@{DP|~=@}&P~^@sPTTLMTMMTUYHSTUYTUYST
UYT3UYST,M10.1.0,M3.2.0
pytz-2012c/pytz/zoneinfo/America/St_Lucia0000644000175000017500000000026111742721476017163 0ustar  stubstubTZif2ǰCMTASTTZif2iǰLMTCMTAST
AST4
pytz-2012c/pytz/zoneinfo/America/Godthab0000644000175000017500000002015011742721476017027 0ustar  stubstubTZif2u
hM|P3#ܐ͐㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~yπLMTWGTWGSTTZif2C
hM|P3#ܐ͐㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~yYw9hW~J7`gBI$+
"aJ_Ȑ*ϐ?
(ꓐumtOsV1S8qM3Q/1Րܐ{[yDYz$9\c"xEZ'<C%mLj,ːJ*
լɵӣ˕p̳uRΓg^nsI>PS+23
*ؽؐڦۻ܆ݛf߄ΐFd&}D_$t{V]8?U!7oX l8L,ېר՟lc`juE@L^b .>D&-	

hʐHf1F&pwYo;QX3z:Zn 9!X"#7#%א%ސ&'(כ)*+,-bf.|/BH0`^1+e2@@3G4 "4)6	>67 89:	;S͐?h@3AQBC1CsEEܐFkGrHMITJiK|6LKM\Nz-OE4PZQ%R9STӐTڐVVļWXY´Z[\m]x^M_k`-aaKvb
Cc+Xc%e:eAfg#hijkulmUɐnso>pSqr3rttތuvnw܃xPyezl{G|gN}|)~G0eF'E(%
İ̐oO{m8Mry-T[q=S5au@^ >ِɤah~iJ`I,gB2IG$+'
ȐzϐZo:Onu8Wm9OV1ǣ8ȸɃʡ/b́B`+@Րܐ 뾐ˠ֫ɘ؋d٩ztۉ\Tci>4ERZ'2<	Đ|ː\z<Z%:ipKRg4I+n2
Nb-L
ؐ+˔v	v}
V_tt
6ATV]48?!7~ǐg|G\'E !%!l##Ј$c%j&E'L(')p.*D+P,n&-/.N/0-02
2345ʐ6789:a;vp!Y??o@;AQAB3C:DEFGHIiJKILgאM)NGOP'PR}R҄STfU|VHW^X{eY@Z[G[p"\;)]P^_9 _aabcdƐe͐fghicjkCslam#UnAkorp!MpTr/r6stu-vwxkyzT{iӐ|4ڐ}I~2ԀxZ}a<]C{X=%[:;#ɐeNc.Cgn,Pe2GN)0wVu
6֐T4߷ݮ{]rhy}TH[]6(==&5ñŐƥpȎِPn0Nj.ahCҹJ`ԙ,շByח$b+wB
V!6Ȑߪ㪱俌劓nju舋JWhm*9HOV(18rՐ[ܐp;P9dzF\c>E d'<	D	
b#B

!ĐːᦐlqUji5pJKR3g4I +!2"
πLMTWGTWGST

pytz-2012c/pytz/zoneinfo/America/Porto_Velho0000644000175000017500000000107611742721476017725 0ustar  stubstubTZif2
WNB@ނ08@@ܹg0#@ޛ0ݨ@TA0
l0r@,Q:@0
@ɜ@xC 3ݰ!w@"ְ	LMTAMSTAMTTZif2
WNB@ނ08@@ܹg0#@ޛ0ݨ@TA0
l0r@,Q:@0
@ɜ@xC 3ݰ!w@"ְ	LMTAMSTAMT
AMT4
pytz-2012c/pytz/zoneinfo/America/Glace_Bay0000644000175000017500000000422011742721476017265 0ustar  stubstubTZif24`Pˈ`#p`?`i8P``PP@`0P `	P
`
xPw`ٔ
Y`vuXWy:i9YI8("PP`P`P`P u!P"U#j$5%J&'*e'`)
G)ޗ`*)+y`,FP-[`.(P/~=`0
P1gY2rP3G;4RP5'62P7889:;ې<`=r>`?T@o`AqPBO`CdSPD/h`ED5PEG-QG|I
3I^JK{`L2PM|]`NPO\?`PPQ`?T@o`AqPBO`CdSPD/h`ED5PEG-QG|I
3I^JK{`L2PM|]`NPO\?`PPQ? @oABO̰CdD/ED{E0G- G0I
z I0J\ KLxM|NZO\P? @oABO̰CdD/ED{E0G- G0I
z I0J\ KLxM|NZO\P<QN?0@.ҠA0B CQ0C EMSEG0G HIw JڄKLfM`uNHOI Pe0Q 9RcG0STC)0T8 V#0V X0X Y0Z [\h ]Ͱ^H _`1akbcKsc e+Uedgr0gFhT0ic j60kzE l0mZ' n0o:	 p}q r\r t<ڰtٯ vvˠwx y܀z{ŝ0|bq}0~K a0L	LMTBRSTBRTTZif2
rI@40t 800ܹY 0ޛ ݚ0T3 Z	0^ d0Q,0 
Ұ0}Ɏ0xנ5 3Ϡ!i0"Ƞ#X#p %7% '!0')0) *
+k2,0-f .0/F 0y01M2W 3j 48T04 6 06h7ư8 90:,;N?0@.ҠA0B CQ0C EMSEG0G HIw JڄKLfM`uNHOI Pe0Q 9RcG0STC)0T8 V#0V X0X Y0Z [\h ]Ͱ^H _`1akbcKsc e+Uedgr0gFhT0ic j60kzE l0mZ' n0o:	 p}q r\r t<ڰtٯ vvˠwx y܀z{ŝ0|bq}0~K a0+p eC0L	LMTBRSTBRT
BRT3BRST,M10.3.0/0,M2.3.0/0
pytz-2012c/pytz/zoneinfo/America/Inuvik0000644000175000017500000000357211742721476016735 0ustar  stubstubTZif2xN/h( idYGIF9))("E	
'&	̀ v!"U#j$5%J&'*'ߐ)
r)*T+,p-.R/~g041g2s3Gf4R5'H62ڀ7*889:;ۻ<
=>?@oΐABOCd}D/ED_EG-|GӧI
^IJ@KL\M|N>O\iP Q?@oΐABOCd}D/ED_EG-|GӧI
^IJ@KL\M|N>O\iP Qހ?p@oApBOCdopD/EDQpFfG$3pGIpIeJpKLNpM|yN0pO\[PpQ<=RupSTUpTV5pVXXYZ[ޘ\]z^d_\`M€aypb-cg[pd
eG=pehg'pgJipi,jpkIlmv+noV
pq5rostOtv8pvπxpxyhpz{Jp|~u},p~^Wp@LMTCSTCDTTZif2W`"U#j1gv2sp3GX4Rp5':62p7889:;<=>ހ?p@oApBOCdopD/EDQpFfG$3pGIpIeJpKLNpM|yN0pO\[PpQ<=RupSTUpTV5pVXXYZ[ޘ\]z^d_\`M€aypb-cg[pd
eG=pehg'pgJipi,jpkIlmv+noV
pq5rostOtv8pvπxpxyhpz{Jp|~u},p~^Wp@LMTCSTCDT
CST6CDT,M3.2.0,M11.1.0
pytz-2012c/pytz/zoneinfo/America/Boa_Vista0000644000175000017500000000116611742721476017334 0ustar  stubstubTZif2!
WNB@ނ08@@ܹg0#@ޛ0ݨ@TA0
l0r@,Q:@0
@ɜ@xC 3ݰ!w@"ְ7809@9 	LMTAMSTAMTTZif2!
WNB@ނ08@@ܹg0#@ޛ0ݨ@TA0
l0r@,Q:@0
@ɜ@xC 3ݰ!w@"ְ7809@9 	LMTAMSTAMT
AMT4
pytz-2012c/pytz/zoneinfo/America/Belize0000644000175000017500000000170211742721476016673 0ustar  stubstubTZif27^ٰ;EQء.nX^PX>2X'`X`X`جǤ`vخ`Vذh`6زpشPf|ض0HߙX*฿{Xຟ]X)`?X`_!X`?Xx`(X`8`!ɧsːXUpXb`Paq`7PP	
LMTCHDTCSTCDTTZif27^ٰ;EQ.nX^PX>2X'`X`X`Ǥ`v`Vh`6pPf|0HߙX*{X]X)`?X`_!X`?Xx`(X`8`!ɧsːXUpXb`Paq`7PP	
LMTCHDTCSTCDT
CST6
pytz-2012c/pytz/zoneinfo/America/Manaus0000644000175000017500000000113211742721476016702 0ustar  stubstubTZif2
DWNB@ނ08@@ܹg0#@ޛ0ݨ@TA0
l0r@,Q:@0
@ɜ@xC 3ݰ!w@"ְ,@-f0Ǽ	LMTAMSTAMTTZif2
DWNB@ނ08@@ܹg0#@ޛ0ݨ@TA0
l0r@,Q:@0
@ɜ@xC 3ݰ!w@"ְ,@-f0Ǽ	LMTAMSTAMT
AMT4
pytz-2012c/pytz/zoneinfo/America/Costa_Rica0000644000175000017500000000047311742721476017474 0ustar  stubstubTZif2	
T6I`nP+`PP'`(n)w`),	SJMTCDTCSTTZif2
i*TT6I`nP+`PP'`(n)w`),,	
LMTSJMTCDTCST
CST6
pytz-2012c/pytz/zoneinfo/America/Guayaquil0000644000175000017500000000026111742721476017421 0ustar  stubstubTZif2BhQMTECTTZif2i&XB(hLMTQMTECT
ECT5
pytz-2012c/pytz/zoneinfo/America/Phoenix0000644000175000017500000000050711742721476017075 0ustar  stubstubTZif2
:ˉϏЁuXMDTMSTMWTTZif2^:ˉϏЁuXLMTMDTMSTMWT
MST7
pytz-2012c/pytz/zoneinfo/America/Guyana0000644000175000017500000000040011742721476016677 0ustar  stubstubTZif2
y9>
}<'0xDD			LMTGBGTGYTTZif2
y9>
}<'0xDD			LMTGBGTGYT
GYT4
pytz-2012c/pytz/zoneinfo/America/Metlakatla0000644000175000017500000000131511742721476017540 0ustar  stubstubTZif2!ˉ#pa&G *) x q(a'Q
A	0C	ΐ	 
௠
  ysir YUIT 97)6 "S	 5PSTPWTPPTPDTMeSTTZif2#?}0ˉ#pa&G *) x q(a'Q
A	0C	ΐ	 
௠
  ysir YUIT 97)6 "S	 5&LMTPSTPWTPPTPDTMeST
MeST8
pytz-2012c/pytz/zoneinfo/America/Dominica0000644000175000017500000000023411742721476017203 0ustar  stubstubTZif24LpLMTASTTZif24LpLMTAST
AST4
pytz-2012c/pytz/zoneinfo/America/Lima0000644000175000017500000000061311742721476016343 0ustar  stubstubTZif2
t@JPE@/J-,P]@ p%&|-%P-@	LMTPESTPETTZif2
i#t@JPE@/J-,P]@ p%&|-%P-@	LMTPESTPET
PET5
pytz-2012c/pytz/zoneinfo/America/Havana0000644000175000017500000000455311742721476016666 0ustar  stubstubTZif2b€ӔPt]@[fQ@;Hʼm$eP̜OP;ӣP`}@=DS;@ũh@wp@`P5@PH@ P{
P
j@iPن
KPhP}@Qf1F[&{;d]F?(\@
>@zSP @ Z5P!o@"CQ#N@$#3%.@&''P()މP*״+kP,-MP.x/~/P0wZ1gK2W<3G-4@YP5P62P6P889:Ƶ;ېP?T@oPED5PEG$PGܩPIPIPJPKmPLMNNOwPQ<PRlSPTLTPV,aVX~PXY`PZ[BP\]$P^d{_P`MPa~"b-zPc^d
\Pe=e>Pgg PhiPj݌klƩPmvnPoUpmPq5rfOPstF1PtPv/MvޥPx/xPyziP{|~KP}~^-PHMTCDTCSTTZif2i(b€ӔPt]@[fQ@;Hʼm$eP̜OP;ӣP`}@=DS;@ũh@wp@`P5@PH@ P{
P
j@iPن
KPhP}@Qf1F[&{;d]F?(\@
>@zSP @ Z5P!o@"CQ#N@$#3%.@&''P()މP*״+kP,-MP.x/~/P0wZ1gK2W<3G-4@YP5P62P6P889:Ƶ;ېP?T@oPED5PEG$PGܩPIPIPJPKmPLMNNOwPQ<PRlSPTLTPV,aVX~PXY`PZ[BP\]$P^d{_P`MPa~"b-zPc^d
\Pe=e>Pgg PhiPj݌klƩPmvnPoUpmPq5rfOPstF1PtPv/MvޥPx/xPyziP{|~KP}~^-PLMTHMTCDTCST
CST5CDT,M3.2.0/0,M10.5.0/1
pytz-2012c/pytz/zoneinfo/America/Aruba0000644000175000017500000000030211742721476016506 0ustar  stubstubTZif2/8HHLMTANTASTTZif2/8HHLMTANTAST
AST4
pytz-2012c/pytz/zoneinfo/America/Thunder_Bay0000644000175000017500000000421111742721476017663 0ustar  stubstubTZif2${ˈp#p`wp``pP` p	`
p
`p٢
gpfeyHiGY*I)9)")``
p`p`p` v!`"U#j$5%J&'*s'p)
U)ޥp*7+p,T`-ip.6`/~Kp0`1gg2r`3GI4R`5'+62`7
889:;۞p?b@opA`BOpCda`D/vpEDC`EG-_GӊI
AIlJ#KpL@`M|kpN"`O\MpP`Qp?b@opA`BOpCda`D/vpEDC`EG-_GӊI
AIlJ#KpL@`M|kpN"`O\MpP`QNA@B0CQ@C0EMaEG@G0HI0JڒKLtM`NVOI0Ps@Q GRcU@S)TC7@TF0V#@V(0X@X
0Y@Z0[\h0]^H0_`1̰akbcKc0e+cerg@gThb@iq0jD@kzS0l&@mZ50n@o:0p}$q0r]r0tNA@B0CQ@C0EMaEG@G0HI0JڒKLtM`NVOI0Ps@Q GRcU@S)TC7@TF0V#@V(0X@X
0Y@Z0[\h0]^H0_`1̰akbcKc0e+cerg@gThb@iq0jD@kzS0l&@mZ50n@o:0p}$q0r]r0t<tٽ0vvٰwx0y܎z{ū@|b}@~K0o@+~0eQ@l	LMTAMSTAMT
AMT4AMST,M10.3.0/0,M2.3.0/0
pytz-2012c/pytz/zoneinfo/America/Regina0000644000175000017500000000172411742721476016672 0ustar  stubstubTZif25eO0HE1*%0pp`raQ8`1!p
`p`ˉ#pacSoU 5Ðޥݩ޾߉iib~KID^-)&GJC',%LMTMDTMSTMWTMPTCSTTZif25eO0HE1*%0pp`raQ8`1!p
`p`ˉ#pacSoU 5Ðޥݩ޾߉iib~KID^-)&GJC',%LMTMDTMSTMWTMPTCST
CST6
pytz-2012c/pytz/zoneinfo/America/Catamarca0000644000175000017500000000000011742721476031776 1pytz-2012c/pytz/zoneinfo/America/Argentina/ComodRivadaviaustar  stubstubpytz-2012c/pytz/zoneinfo/America/Fortaleza0000644000175000017500000000131211742721476017405 0ustar  stubstubTZif2'
kI@40t 800ܹY 0ޛ ݚ0T3 ^ d0Q,0 
Ұ0}Ɏ0xנ5 3Ϡ!i0"Ƞ#X#p %7% 7ư8 909J ;p?b@opA`BOpCda`D/vpEDC`EG-_GӊI
AIlJ#KpL@`M|kpN"`O\MpP`Qp?b@opA`BOpCda`D/vpEDC`EG-_GӊI
AIlJ#KpL@`M|kpN"`O\MpP`Qp?b@opA`BOpCda`D/vpEDC`EG-_GӊI
AIlJ#KpL@`M|kpN"`O\MpP`Qp?b@opA`BOpCda`D/vpEDC`EG-_GӊI
AIlJ#KpL@`M|kpN"`O\MpP`QN?@@.A@B0CQ@C0EMaEG@G0HI0JڒKLtM`NVOI0Ps@Q GRcU@S)TC7@TF0V#@V(0X@X
0Y@Z0[\h0]^H0_`1̰akbcKc0e+cerg@gThb@iq0jD@kzS0l&@mZ50n@o:0p}$q0r]r0tN?@@.A@B0CQ@C0EMaEG@G0HI0JڒKLtM`NVOI0Ps@Q GRcU@S)TC7@TF0V#@V(0X@X
0Y@Z0[\h0]^H0_`1̰akbcKc0e+cerg@gThb@iq0jD@kzS0l&@mZ50n@o:0p}$q0r]r0t<tٽ0vvٰwx0y܎z{ū@|b}@~K0o@+~0eQ@	LMTAMSTAMT
AMT4AMST,M10.3.0/0,M2.3.0/0
pytz-2012c/pytz/zoneinfo/America/St_Johns0000644000175000017500000000706611742721476017221 0ustar  stubstubTZif2b~|ܡ8L\Lt\dL^ܧDL=ܩ$LܫLܬfLݟܮ̯͂ܰḏ\F̳\m(̵fb\M
̷FD\,̹&&\	LBܻL$ܽLMl18y˜8YѨw89a@( ո(#p`ӈDJHh&)HH	H'HXtXݩmH޾VX߉OH8Xi1H~XIH]X(HG&챷ƠHﯽXHXHoX_dHOcX?FH/EX(b'XDC&%wpH`XPH@X0H X	H
X
qHpXٍ
RXonQPy3i2YI8("HHXHXHXH u!bd"U#jp$5%J`&u'*B't)
$)tt*+Vt,#d-8t.d/~t0d1g62rd3G4Rd5&62d7889:Ơ;mt?1@otANdBOctCd0dD/EtEDdEwG-.GYI
I;JKXtLdM|:tN
HO\8XPHQ<XRuHSXTUHTXV5HVXXYZ[u\]W^d_9`MXaVHb-Xcg8Hd
cXeGHeEXg&Hg'XiHi	XjHk%lmvnoUpq5rostOdtXv8HvެXxcHxXyEHzpX{'H|~RX}	H~^4XHܤΔNDTNSTNPTNWTNDDTTZif2			^=4b~|8L\Lt\dL^DL=$LLfLݟ͂d\F\m(fb\M
FD\,&&\	LBL$LMl18y˜8YѨw89a@( ո(#p`ӈDJHh&)HH	H'HXtXݩmH޾VX߉OH8Xi1H~XIH]X(HG&챷ƠHﯽXHXHoX_dHOcX?FH/EX(b'XDC&%wpH`XPH@X0H X	H
X
qHpXٍ
RXonQPy3i2YI8("HHXHXHXH u!bd"U#jp$5%J`&u'*B't)
$)tt*+Vt,#d-8t.d/~t0d1g62rd3G4Rd5&62d7889:Ơ;mt?1@otANdBOctCd0dD/EtEDdEwG-.GYI
I;JKXtLdM|:tN
HO\8XPHQ<XRuHSXTUHTXV5HVXXYZ[u\]W^d_9`MXaVHb-Xcg8Hd
cXeGHeEXg&Hg'XiHi	XjHk%lmvnoUpq5rostOdtXv8HvެXxcHxXyEHzpX{'H|~RX}	H~^4XHΔܤΔLMTNDTNSTNPTNWTNDDT
NST3:30NDT,M3.2.0,M11.1.0
pytz-2012c/pytz/zoneinfo/America/Porto_Acre0000644000175000017500000000000011742721476027374 1pytz-2012c/pytz/zoneinfo/America/Rio_Brancoustar  stubstubpytz-2012c/pytz/zoneinfo/America/Panama0000644000175000017500000000026111742721476016655 0ustar  stubstubTZif2aCMTESTTZif2i&apLMTCMTEST
EST5
pytz-2012c/pytz/zoneinfo/America/Halifax0000644000175000017500000000654011742721476017042 0ustar  stubstubTZif2񫠚0`P@00zV@0SR<@4@:0@0@0E@U0@Kp~@$0n`@NB@$0]@1@0^G0@P0mp@00r<@b06n~P`ˈ`#p`u@U 5|u{`ݩtP޾]`߉VP?`i8P~!`IPG'챾`Po`_kPOj`?MP/L`(i.`KJ-,wpP``PP@`0P `	P
`
xPw`ٔ
Y`vuXWy:i9YI8("PP`P`P`P u!P"U#j$5%J&'*e'`)
G)ޗ`*)+y`,FP-[`.(P/~=`0
P1gY2rP3G;4RP5'62P7889:;ې<`=r>`?T@o`AqPBO`CdSPD/h`ED5PEG-QG|I
3I^JK{`L2PM|]`NPO\?`PPQ`?T@o`AqPBO`CdSPD/h`ED5PEG-QG|I
3I^JK{`L2PM|]`NPO\?`PPQ? @oABO̰CdD/ED{E0G- G0I
z I0J\ KLxM|NZO\P? @oABO̰CdD/ED{E0G- G0I
z I0J\ KLxM|NZO\P<Qހ?@oABOCd}CoD/EDQpEG-mGәI
OI{J1KLNpM|yN0pO\[PpQ<=RupSTUpTV5pVXXYZ[ޘ\]z^d_\`M€aypb-cg[pd
eG=pehg'pgJipi,jpkIlmv+noV
pq5rostOtv8pvπxpxyhpz{Jp|~u},p~^WpCDTCSTCWTCPTTZif2d䰔úPp ;Oˈ#pa	ӈhS`U 5\ޗݩp޾y߉rp[iTp~=I6p^)pG<4'o1bJvgXI:+
wqaP@0ހ π	

ٿ
utyeiVYGI89))"E'	܀̀ v!"U#j$5%J&'*'р)
r)޳*T+,p-w.R/~Y041gv2s3GX4R5':62ڀ7889:;ۻ<=>ހ?@oABOCd}CoD/EDQpEG-mGәI
OI{J1KLNpM|yN0pO\[PpQ<=RupSTUpTV5pVXXYZ[ޘ\]z^d_\`M€aypb-cg[pd
eG=pehg'pgJipi,jpkIlmv+noV
pq5rostOtv8pvπxpxyhpz{Jp|~u},p~^WpLMTCDTCSTCWTCPT
CST6CDT,M3.2.0,M11.1.0
pytz-2012c/pytz/zoneinfo/America/Blanc-Sablon0000644000175000017500000000043111742721476017712 0ustar  stubstubTZif2`Pˈ`#p`ADTASTAWTAPTTZif2^=9`Pˈ`#p`tLMTADTASTAWTAPT
AST4
pytz-2012c/pytz/zoneinfo/America/Detroit0000644000175000017500000000423211742721476017074 0ustar  stubstubTZif2"[<ˈp#p`53p;@p0`p	`
p
`p٢
gpfeyHiGY*I)9)")``
p`p`p` v!`"U#j$5%J&'*s'p)
U)ޥp*7+p,T`-ip.6`/~Kp0`1gg2r`3GI4R`5'+62`7
889:;۞p?b@opA`BOpCda`D/vpEDC`EG-_GӊI
AIlJ#KpL@`M|kpN"`O\MpP`Qp?b@opA`BOpCda`D/vpEDC`EG-_GӊI
AIlJ#KpL@`M|kpN"`O\MpP`Q?@oΐABOCd}D/ED_EG-|GӧI
^IJ@KL\M|N>O\iP Q?@oΐABOCd}D/ED_EG-|GӧI
^IJ@KL\M|N>O\iP Q|?8@o|AUlBOj|Cd7lD/L|EDlE~G-5G`I
IBJK_|LlM|A|NPO\?`PPQ|?8@o|AUlBOj|Cd7lD/L|EDlE~G-5G`I
IBJK_|LlM|A|NPO\?`PPQP?F@oPAc@BOxPCdE@D/ZPED'@EG-CGnI
%IPJKmPL$@M|OPN@O\1PP@Q<PRu@SPTU@TPV5@VXXYZ[n\]P^d{_2`MPaO@b-zPcg1@d
\PeG@e>Pg&@g Pi@iPj@klmvnoUpq5ro{stO]tPv8z@vޥPx\@xPy>@ziP{ @|~KP}@~^-P@X
LMTASTPMSTPMDTTZif2h8nc u!w@"U#j$5%Ju&'*W'P)
9)މP*+kP,8@-MP.@/~/P0@1gK2r@3G-4R@5'62@7889:Ƶ;ۂP?F@oPAc@BOxPCdE@D/ZPED'@EG-CGnI
%IPJKmPL$@M|OPN@O\1PP@Q<PRu@SPTU@TPV5@VXXYZ[n\]P^d{_2`MPaO@b-zPcg1@d
\PeG@e>Pg&@g Pi@iPj@klmvnoUpq5ro{stO]tPv8z@vޥPx\@xPy>@ziP{ @|~KP}@~^-P@X
LMTASTPMSTPMDT
PMST3PMDT,M3.2.0,M11.1.0
pytz-2012c/pytz/zoneinfo/America/Bahia_Banderas0000644000175000017500000000304611742721476020267 0ustar  stubstubTZif2]pnfV`C`6`q`ؑp1g2s3Gf4R5'H62ڀ7*889:;<
=>?@oΐABOCd}D/ED_FtG$AGI#IsJKULM)NOxPQa'RlSA	TLU V,}ẀXpXீY|pZ[^p\]@p^_"p`ira~>bITc^ d)6e>fRgg4hijݨklpmڀnpoqppqZrfkps:tFMpuv/ivxKxay-zC{|_}~ATLMTMSTCSTPSTMDTCDTTZif2]pnfV`C`6`q`ؑp1g2s3Gf4R5'H62ڀ7*889:;<
=>?@oΐABOCd}D/ED_FtG$AGI#IsJKULM)NOxPQa'RlSA	TLU V,}ẀXpXீY|pZ[^p\]@p^_"p`ira~>bITc^ d)6e>fRgg4hijݨklpmڀnpoqppqZrfkps:tFMpuv/ivxKxay-zC{|_}~ATLMTMSTCSTPSTMDTCDT
CST6CDT,M4.1.0,M10.5.0
pytz-2012c/pytz/zoneinfo/America/Toronto0000644000175000017500000000662511742721476017136 0ustar  stubstubTZif2p`.ȡ@U@](x`f?NF!0pM`p/`܍p`op~-౜QpgJ`|3pG,`\p'`;p`%`Ĺ𿏲o„}Ovd_/XM|p:-^pˈp#p`u@U 5n3v@pt`މpݩ`޾kp߉d`MpiF`~/pI(`^p)
`G-&'ֶƵ`p`p`op_y`Oxp?[`/Zp(wp?b@opA`BOpCda`D/vpEDC`EG-_GӊI
AIlJ#KpL@`M|kpN"`O\MpP`Qp?b@opA`BOpCda`D/vpEDC`EG-_GӊI
AIlJ#KpL@`M|kpN"`O\MpP`Q?@oܠABOCdD/EDmE G-Gӵ I
lI JNKLjM|NLO\wP.Q?@oܠABOCdD/EDmE G-Gӵ I
lI JNKLjM|NLO\wP.Q?@oΐABOCd}D/ED_EG-|GӧI
^IJ@KL\M|N>O\iP Q?@oΐABOCd}D/ED_EG-|GӧI
^IJ@KL\M|N>O\iP Q0?Z@@oz0Aq@B3CQ@DE1@EpGGRHI4JڒK;0LM0NO0Pp@QjRP@SIT0@U)߰V@W	W@X飰Yh@ZɅ[\0]f^0_yH`rf0aY*bRH0c9d2*0efFg@g(h@i
j@kl@mΰn@ozpjqc0rJsC0t*su#0v
Uws0w7xU0yz70{6@|S}@~5r@AMTPYTPYSTTZif2i+@
tʰ
x0-@Z1t`dCU@FȰ8@'0L	/@c0۳08l@O0 p!a@"S#DX@$4;0%A;@&n'@'0(@)H*Ͻ+	0,@-p./O0n@16h02W.347406678Ͱ9ֶ:;@<0=q>0?Z@@oz0Aq@B3CQ@DE1@EpGGRHI4JڒK;0LM0NO0Pp@QjRP@SIT0@U)߰V@W	W@X飰Yh@ZɅ[\0]f^0_yH`rf0aY*bRH0c9d2*0efFg@g(h@i
j@kl@mΰn@ozpjqc0rJsC0t*su#0v
Uws0w7xU0yz70{6@|S}@~5r@LMTAMTPYTPYST
PYT4PYST,M10.1.0/0,M4.2.0/0
pytz-2012c/pytz/zoneinfo/America/Curacao0000644000175000017500000000000011742721476027452 1pytz-2012c/pytz/zoneinfo/America/Lower_Princesustar  stubstubpytz-2012c/pytz/zoneinfo/America/Mendoza0000644000175000017500000000000011742721476030224 1pytz-2012c/pytz/zoneinfo/America/Argentina/Mendozaustar  stubstubpytz-2012c/pytz/zoneinfo/America/Resolute0000644000175000017500000000357411742721476017274 0ustar  stubstubTZif2w/L`(wiVY8I89)"7pppp܀p v!p"U#j$5%J&'*'р)
c)޳*E+,bp-w.Dp/~Y0&p1gv2sp3GX4Rp5':62p7889:;۬<=>ހ?p@oApBOCdopD/EDQpEG-mGәI
OI{J1KLNpM|yN0pO\[PpQ<=RupSTUpTV5pVXXYZ[ޘ\]z^d_\`M€aypb-cg[pd
eG=pehg'pgJipi,jpkIlmv+noV
pq5rostOtv8pvπxpxyhpz{Jp|~u},p~^Wp	
	zzzCDDTCSTCDTESTTZif2w/L`(wiVY8I89)"7pppp܀p v!p"U#j$5%J&'*'р)
c)޳*E+,bp-w.Dp/~Y0&p1gv2sp3GX4Rp5':62p7889:;۬<=>ހ?p@oApBOCdopD/EDQpEG-mGәI
OI{J1KLNpM|yN0pO\[PpQ<=RupSTUpTV5pVXXYZ[ޘ\]z^d_\`M€aypb-cg[pd
eG=pehg'pgJipi,jpkIlmv+noV
pq5rostOtv8pvπxpxyhpz{Jp|~u},p~^Wp	
	zzzCDDTCSTCDTEST
CST6CDT,M3.2.0,M11.1.0
pytz-2012c/pytz/zoneinfo/America/Shiprock0000644000175000017500000000000011742721476026327 1pytz-2012c/pytz/zoneinfo/America/Denverustar  stubstubpytz-2012c/pytz/zoneinfo/America/Sitka0000644000175000017500000000442411742721476016540 0ustar  stubstubTZif2ˉ#pa&G *) x q(a'Q
A	0C	ΐ	 
௠
  ysir YUIT 97)6 "S	 5+B%$ v90!ˠ"V0#j $50%J &0'* ')
 )ݰ*p +,ӌ-.n/~0P1g02s23G04S5'd0627F08 8(09 :
0; <&= >? @oABO̰CdD/ED{E0G- G0I
z I0J\ KLxM|NZO\P? @oABO̰CdD/ED{E0G- G0I
z I0J\ KLxM|NZO\P<Qހ?p@oApBOCdopD/EDQpEG-mGәI
OI{J1KLNpM|yN0pO\[PpQ<=RupSTUpTV5pVXXYZ[ޘ\]z^d_\`M€aypb-cg[pd
eG=pehg'pgJipi,jpkIlmv+noV
pq5rostOtv8pvπxpxyhpz{Jp|~u},p~^WpCDTCSTCWTCPTTZif2r(pW`ˈ#pa	 π	p

pٰ
uttyViVY8I89)"7pppp܀p v!p"U#j$5%J&'*'р)
c)޳*E+,bp-w.Dp/~Y0&p1gv2sp3GX4Rp5':62p7889:;۬<=>ހ?p@oApBOCdopD/EDQpEG-mGәI
OI{J1KLNpM|yN0pO\[PpQ<=RupSTUpTV5pVXXYZ[ޘ\]z^d_\`M€aypb-cg[pd
eG=pehg'pgJipi,jpkIlmv+noV
pq5rostOtv8pvπxpxyhpz{Jp|~u},p~^WpXLMTCDTCSTCWTCPT
CST6CDT,M3.2.0,M11.1.0
pytz-2012c/pytz/zoneinfo/America/Anchorage0000644000175000017500000000446611742721476017362 0ustar  stubstubTZif2&ˉ6#paB0Gc@F0E@(0x'@qDaCQ&A%1_		@
̰0
0@0@y0i@Yq0Ip@9S0)R@"o	4@Q+B%$ v90!ˠ"V0#j $50%J &0'* ')
 )ݰ*p +,ӌ-.n/~0P1g02s23G04S5'd0627F08 8(09 :
0; <&= >? @oABO̰CdD/ED{E0G- G0I
z I0J\ KLxM|NZO\P? @oABO̰CdD/ED{E0G- G0I
z I0J\ KLxM|NZO\P<Q?@oΐABOCd}D/ED_EG-|GӧI
^IJ@KL\M|N>O\iP Q?@oΐABOCd}D/ED_EG-|GӧI
^IJ@KL\M|N>O\iP Q? @oABO̰CdD/ED{E0G- G0I
z I0J\ KLxM|NZO\P? @oABO̰CdD/ED{E0G- G0I
z I0J\ KLxM|NZO\P<Q?@oΐABOCd}D/ED_FtG$AGI#IsJKUL"M7NOxPQa5RlSATLU V,WېXXཐYZ[l\]N^_0`ia~MbIbc^/d)De>f`ggBhi$jݷklӀmnoqʐpqZrfys:tF[uv/xvxZxoy<zQ{|m}~OLMTMSTCSTCDTMDTTZif2ZpnfV`C`6`1gv2sp3GX4Rp5'H62ڀ7*889:;<
=>?@oΐABOCd}D/ED_FtG$AGI#IsJKUL"M7NOxPQa5RlSATLU V,WېXXཐYZ[l\]N^_0`ia~MbIbc^/d)De>f`ggBhi$jݷklӀmnoqʐpqZrfys:tF[uv/xvxZxoy<zQ{|m}~OLMTMSTCSTCDTMDT
MST7MDT,M4.1.0,M10.5.0
pytz-2012c/pytz/zoneinfo/America/Indiana/0000775000175000017500000000000011742722012017066 5ustar  stubstubpytz-2012c/pytz/zoneinfo/America/Indiana/Vevay0000644000175000017500000000256511742721476020126 0ustar  stubstubTZif2P,ppˈ#pa	~=wp``pP`D/vpEDC`EG-_GӊI
AIlJ#KpL@`M|kpN"`O\MpP`Q`?T@o`AqPBO`CdSPD/h`ED5PEG-QG|I
3I^JK{`L2PM|]`NPO\?`PPQ`?T@o`AqPBO`CdSPD/h`ED5PEG-QG|I
3I^JK{`L2PM|]`NPO\?`PPQA?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y*0 EESTEETTZif2z	
cEt6d'TMD3#ܐ͐㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y*0 EESTEET
EET-2EEST,M3.5.0/3,M10.5.0/4
pytz-2012c/pytz/zoneinfo/GMT00000644000175000017500000000000011742721476023100 1pytz-2012c/pytz/zoneinfo/localtimeustar  stubstubpytz-2012c/pytz/zoneinfo/Iceland0000644000175000017500000000216511742721476015463 0ustar  stubstubTZif2@`шrQMf&C& %ˬB ͌$μ lМ K҅+ʠe9 Eq %S p w ܹY 4 ޢu߮ W b9m BM !6ؠ   ~ ` Bj _ S_A 3?# d F (E l		
RMTISSTISTGMTTZif2A"`шrQMf&C& %ˬB ͌$μ lМ K҅+ʠe9 Eq %S p w ܹY 4 ޢu߮ W b9m BM !6ؠ   ~ ` Bj _ S_A 3?# d F (E l

LMTRMTISSTISTGMT
GMT0
pytz-2012c/pytz/zoneinfo/Kwajalein0000644000175000017500000000000011742721476025570 1pytz-2012c/pytz/zoneinfo/Pacific/Kwajaleinustar  stubstubpytz-2012c/pytz/zoneinfo/Poland0000644000175000017500000000000011742721476024340 1pytz-2012c/pytz/zoneinfo/Europe/Warsawustar  stubstubpytz-2012c/pytz/zoneinfo/Atlantic/0000775000175000017500000000000011742722012015721 5ustar  stubstubpytz-2012c/pytz/zoneinfo/Atlantic/Azores0000644000175000017500000000660611742721476017132 0ustar  stubstubTZif2XK㠜	ɟ_pAn#)O@k"p>rP 2h䐸ՐƐ{
xhzXk?!8M:XȐK<˵òh͕ܿQgrېu3ϬRХUьf2҅YI9@)@@	@@@ܹu@ݲޢߒsrdbURFB72("E@6@'@@	@@@@@@z@j@cSC3#qb
)Et6d'T&D	4#̠۠˰Ӯß    |  l !\q "Lb #A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y	












































(




HMTAZOSTAZOTAZOMTWETTZif2


^=XK	ɟ_pAn#)O@k"p>rP 2hՐƐ{
xhzXk?!8M:XȐK<˵òh͕ܿQgrېu3ϬRХUьf2҅YI9@)@@	@@@ܹu@ݲޢߒsrdbURFB72("E@6@'@@	@@@@@@z@j@cSC3#qb
)Et6d'T&D	4#̠۠˰Ӯß    |  l !\q "Lb #A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y	
(LMTHMTAZOSTAZOTAZOMTWET
AZOT1AZOST,M3.5.0/0,M10.5.0/1
pytz-2012c/pytz/zoneinfo/Atlantic/Canary0000644000175000017500000000355311742721476017102 0ustar  stubstubTZif2v\A M63#ܐ͐㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y	
	
LMTCANTWETWESTTZif2v\A M63#ܐ͐㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y	
	
LMTCANTWETWEST
WET0WEST,M3.5.0/1,M10.5.0
pytz-2012c/pytz/zoneinfo/Atlantic/Jan_Mayen0000644000175000017500000000000011742721476026173 1pytz-2012c/pytz/zoneinfo/Europe/Osloustar  stubstubpytz-2012c/pytz/zoneinfo/Atlantic/St_Helena0000644000175000017500000000026111742721476017520 0ustar  stubstubTZif2BXJMTGMTTZif2iBXLMTJMTGMT
GMT0
pytz-2012c/pytz/zoneinfo/Atlantic/Cape_Verde0000644000175000017500000000036011742721476017653 0ustar  stubstubTZif2
Q̕ t|@LMTCVTCVSTTZif2
Q̕ t|@LMTCVTCVST
CVT1
pytz-2012c/pytz/zoneinfo/Atlantic/South_Georgia0000644000175000017500000000021311742721476020412 0ustar  stubstubTZif2GSTTZif2iLMTGST
GST2
pytz-2012c/pytz/zoneinfo/Atlantic/Faeroe0000644000175000017500000000342711742721476017066 0ustar  stubstubTZif2s
mX#ܐ͐㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~yLMTWETWESTTZif2s
mX#ܐ͐㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~yLMTWETWEST
WET0WEST,M3.5.0/1,M10.5.0
pytz-2012c/pytz/zoneinfo/Atlantic/Madeira0000644000175000017500000000657411742721476017235 0ustar  stubstubTZif2XK{Րɑ_bA瀣n}#Oɶ2]zp0rP2Zրǀ︀mx{hlX]?8?:X=.q˵àYܱ͕CYpr̀u%ϬuRХUьW2t҅YI90)00	000ܹg0ݲޢߒterVbGR8B)2"70(00
0000000z0j0cSC3#rcT
7t(dTC3#ܐ͐㽠ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	(

FMTMADSTMADTMADMTWESTWETTZif2"^=XXK{Րɑ_bAn}#Oɶ2]zp0rP2Zրǀ︀mx{hlX]?8?:X=.q˵àYܱ͕CYpr̀u%ϬuRХUьW2t҅YI90)00	000ܹg0ݲޢߒterVbGR8B)2"70(00
0000000z0j0cSC3#rcT
7t(dTC3#ܐ͐㽠ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y	






















































((LMTFMTMADSTMADTMADMTWESTWET
WET0WEST,M3.5.0/1,M10.5.0
pytz-2012c/pytz/zoneinfo/Atlantic/Stanley0000644000175000017500000000230411742721476017275 0ustar  stubstubTZif2E
D_)P?Z`@PA:`BaPC`DAPDo`F!PFQ`H
HmIJOKʑL1		SMTFKSTFKTTZif2FiD_)P?Z`@PA:`BaPC`DAPDo`F!PFQ`H
HmIJOKʑL1

LMTSMTFKSTFKT
FKST3
pytz-2012c/pytz/zoneinfo/Atlantic/Bermuda0000644000175000017500000000370611742721476017244 0ustar  stubstubTZif2 `	P
`
xPw`ٔ
Y`vuXWy:i9YI8("PP`P`P`P u!P"U#j$5%J&'*e'`)
G)ޗ`*)+y`,FP-[`.(P/~=`0
P1gY2rP3G;4RP5'62P7889:;ې<`=r>`?T@o`AqPBO`CdSPD/h`ED5PEG-QG|I
3I^JK{`L2PM|]`NPO\?`PPQ`?T@o`AqPBO`CdSPD/h`ED5PEG-QG|I
3I^JK{`L2PM|]`NPO\?`PPQ?@oΐABOCd}D/ED_EG-|GӧI
^IJ@KL\M|N>O\iP Q?@oΐABOCd}D/ED_EG-|GӧI
^IJ@KL\M|N>O\iP QA?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y  MESTMETTZif2	`ٮ	qKͩ΢Cϒ4Ђ%rN@
cEt6d'TMD3#ܐ͐㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y  MESTMET
MET-1MEST,M3.5.0,M10.5.0/3
pytz-2012c/pytz/zoneinfo/Africa/0000775000175000017500000000000011742722012015347 5ustar  stubstubpytz-2012c/pytz/zoneinfo/Africa/Luanda0000644000175000017500000000026211742721476016511 0ustar  stubstubTZif2xL4AOTWATTZif2mI6xLh4LMTAOTWAT
WAT-1
pytz-2012c/pytz/zoneinfo/Africa/Conakry0000644000175000017500000000034011742721476016710 0ustar  stubstubTZif2\0$LMTGMTWATTZif2\0$LMTGMTWAT
GMT0
pytz-2012c/pytz/zoneinfo/Africa/Niamey0000644000175000017500000000034111742721476016525 0ustar  stubstubTZif2挄Ɛ0LMTWATGMTTZif2挄Ɛ0LMTWATGMT
WAT-1
pytz-2012c/pytz/zoneinfo/Africa/Lagos0000644000175000017500000000023511742721476016352 0ustar  stubstubTZif2QP0LMTWATTZif2QP0LMTWAT
WAT-1
pytz-2012c/pytz/zoneinfo/Africa/El_Aaiun0000644000175000017500000000030211742721476016755 0ustar  stubstubTZif2HѰLMTWATWETTZif2HѰLMTWATWET
WET0
pytz-2012c/pytz/zoneinfo/Africa/Banjul0000644000175000017500000000035011742721476016516 0ustar  stubstubTZif2*'6ddLMTBMTWATGMTTZif2*'6ddLMTBMTWATGMT
GMT0
pytz-2012c/pytz/zoneinfo/Africa/Sao_Tome0000644000175000017500000000025511742721476017015 0ustar  stubstubTZif2pLMTGMTTZif2^<0PpLMTGMT
GMT0
pytz-2012c/pytz/zoneinfo/Africa/Dakar0000644000175000017500000000030211742721476016322 0ustar  stubstubTZif2;LMTWATGMTTZif2;LMTWATGMT
GMT0
pytz-2012c/pytz/zoneinfo/Africa/Nouakchott0000644000175000017500000000034011742721476017421 0ustar  stubstubTZif2tȐLMTGMTWATTZif2tȐLMTGMTWAT
GMT0
pytz-2012c/pytz/zoneinfo/Africa/Ouagadougou0000644000175000017500000000023411742721476017563 0ustar  stubstubTZif2LMTGMTTZif2LMTGMT
GMT0
pytz-2012c/pytz/zoneinfo/Africa/Tunis0000644000175000017500000000125411742721476016411 0ustar  stubstubTZif2!
`PO:X`"T˭iK̰ͩ΢5ϒ4ЉrN`
pdtp":#<($,%
&n?Z@oPA:eBO2CGD/D)FFGH'IJ	KրLMNb͐OwPBQ`R"S@TU {UW]WrX?YTZ![6\=]k^_T4`ia4bHcd(ŀdڐffӼghiѦjkl|mjn\oqLpn?Z@oPA:eBO2CGD/D)FFGH'IJ	KրLMNb͐OwPBQ`R"S@TU {UW]WrX?YTZ![6\=]k^_T4`ia4bHcd(ŀdڐffӼghiѦjkl|mjn\oqLpA?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y	 
	WETWESTCETCESTTZif2~6upn`p_ɧ#Opkp"pᑀ%r@pkmaG
?pQ'p| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~y
 
LMTWETWESTCETCEST
CET-1CEST,M3.5.0,M10.5.0/3
pytz-2012c/pytz/zoneinfo/Africa/Blantyre0000644000175000017500000000023511742721476017065 0ustar  stubstubTZif2Fð  LMTCATTZif2Fð  LMTCAT
CAT-2
pytz-2012c/pytz/zoneinfo/Africa/Kampala0000644000175000017500000000041511742721476016653 0ustar  stubstubTZif2š֝GTd*0#(&
*0LMTEATBEATBEAUTTZif2š֝GTd*0#(&
*0LMTEATBEATBEAUT
EAT-3
pytz-2012c/pytz/zoneinfo/EST0000644000175000017500000000016611742721476014556 0ustar  stubstubTZif2ESTTZif2EST
EST5
pytz-2012c/pytz/zoneinfo/Asia/0000775000175000017500000000000011742722012015037 5ustar  stubstubpytz-2012c/pytz/zoneinfo/Asia/Dubai0000644000175000017500000000023511742721476016021 0ustar  stubstubTZif238@LMTGSTTZif238@LMTGST
GST-4
pytz-2012c/pytz/zoneinfo/Asia/Kashgar0000644000175000017500000000064311742721476016360 0ustar  stubstubTZif2DǑm06ip ~h!Iap"^J#)Cp$Gg%_&'I&A(+(#G<MXFP~	p
LMTKASTCDTCSTTZif2DǑm06ip ~h!Iap"^J#)Cp$Gg%_&'I&A(+(#G<MXFP~	p
LMTKASTCDTCST
CST-8
pytz-2012c/pytz/zoneinfo/Asia/Thimphu0000644000175000017500000000030311742721476016407 0ustar  stubstubTZif2t!aMTMXT`LMTISTBTTTZif2t!aMTMXT`LMTISTBTT
BTT-6
pytz-2012c/pytz/zoneinfo/Asia/Vientiane0000644000175000017500000000037711742721476016726 0ustar  stubstubTZif2oFP_ГA`0cbppbpLMTSMTICTTZif2oFP_A`0cbppbpLMTSMTICT
ICT-7
pytz-2012c/pytz/zoneinfo/Asia/Irkutsk0000644000175000017500000000226311742721476016434 0ustar  stubstubTZif2

@
'apȀMZK<-| l!\"K#;$+Ӡ%Ġ&' ' (0)xy0)ԉ*l+ , -x .i /tZ 0dK 1]v2rQ3=X4R35:62682 89 :; < = > ? @e A֠BE CcD% ECFg G#|GI^IeJ@KGL] M)abp~	pp~	p	bp~~	IMTIRKTIRKSTTZif2AV0'apȀMZK<-| l!\"K#;$+Ӡ%Ġ&' ' (0)xy0)ԉ*l+ , -x .i /tZ 0dK 1]v2rQ3=X4R35:62682 89 :; < = > ? @e A֠BE CcD% ECFg G#|GI^IeJ@KGL] M)	aabp~
pp~
p
bp~~
LMTIMTIRKTIRKST
IRKT-9
pytz-2012c/pytz/zoneinfo/Asia/Kuwait0000644000175000017500000000023511742721476016241 0ustar  stubstubTZif2a5,*0LMTASTTZif2a5,*0LMTAST
AST-3
pytz-2012c/pytz/zoneinfo/Asia/Kamchatka0000644000175000017500000000221711742721476016663 0ustar  stubstubTZif2		@	Rĵ')@]\0@İ@"````{` k`![`"K`#;`$+`%`&}`''()x@)Q*4+],N-?.0/t!0d1]>`2r`3= `4Q`5`61`6`88`9:`;ڽ<=>?@eA`BEjCc`D%LECb`F.G#D`GK`I&`I-`J`K`L2Mp			LMTPETTPETSTTZif2		@	R')@]\0@İ@"````{` k`![`"K`#;`$+`%`&}`''()x@)Q*4+],N-?.0/t!0d1]>`2r`3= `4Q`5`61`6`88`9:`;ڽ<=>?@eA`BEjCc`D%LECb`F.G#D`GK`I&`I-`J`K`L2Mp			LMTPETTPETST
PETT-12
pytz-2012c/pytz/zoneinfo/Asia/Hebron0000644000175000017500000000306611742721476016217 0ustar  stubstubTZif2`YPͬϏfЩyф`Ҋpek6c`-P``mﰳpy%ZYsp;Up6Ep9'BP|	`
3``P `!I"]M`#$Z0`%?P&&'(P)`*+e,-G._P/{)0H01dF`2A`3D(`4!`5$
`6`67a`8DP8}9`:_;B#?@A\B^CAD-`EPFFopG^HPIJJpK.LaM\N5PN\NOt`Pd*0 *0*0	 
 EETEESTIDTISTTZif2a}JYPͬϏfЩyф`Ҋpek6c`-P``mﰳpy%ZYsp;Up6Ep9'BP|	`
3``P `!I"]M`#$Z0`%?P&&'(P)`*+e,-G._P/{)0H01dF`2A`3D(`4!`5$
`6`67a`8DP8}9`:_;B#?@A\B^CAD-`EPFFopG^HPIJJpK.LaM\N5PN\NOt`Pd *0 *0*0
  LMTEETEESTIDTIST
EET-2
pytz-2012c/pytz/zoneinfo/Asia/Hovd0000644000175000017500000000150211742721476015673 0ustar  stubstubTZif2.֐[>= | l!["K#;ƀ$+Ő%&''()Ԧ*ĉ+,k-j.M/tL0d/1]h2MK3=J4--5,6
:;<=>?t~@d}AT`BD_C4BD$AE_ UT`p	bpLMTHOVTHOVSTTZif2.֐[>= | l!["K#;ƀ$+Ő%&''()Ԧ*ĉ+,k-j.M/tL0d/1]h2MK3=J4--5,6
:;<=>?t~@d}AT`BD_C4BD$AE_ UT`p	bpLMTHOVTHOVST
HOVT-7
pytz-2012c/pytz/zoneinfo/Asia/Kabul0000644000175000017500000000025511742721476016035 0ustar  stubstubTZif2@8@?HAFTTZif2i@@8@?HLMTAFT
AFT-4:30
pytz-2012c/pytz/zoneinfo/Asia/Tbilisi0000644000175000017500000000213411742721476016374 0ustar  stubstubTZif2

5
P'0@50̅te|V lG!\8"L)#<$,%&'`'
`((	p)`P)P*@+P,@-P.@/tv@0dY01]3=f4RA5V62#688@089"0:;0<@=0>@?0@e@@ǰABEp			









**0FP
8@8@FP
8@
*08@*0FP8@8@TBMTTBITTBISTGETGESTTZif26VP'0@50̅te|V lG!\8"L)#<$,%&'`'
`((	p)`P)P*@+P,@-P.@/tv@0dY01]3=f4RA5V62#688@089"0:;0<@=0>@?0@e@@ǰABEp	
	
	
		***0	FP8@	8@	FP8@*08@*0FP8@8@LMTTBMTTBITTBISTGETGEST
GET-4
pytz-2012c/pytz/zoneinfo/Asia/Amman0000644000175000017500000002047011742721476016031 0ustar  stubstubTZif2w
ryP$7`
j
Pu
#``r`	`P r`!bP"R`#K$d`%+&7o`'(s(JP)`*f+e,H-G.x/d`0X1dF`2A`3D(`4!`5$
`6`7z`78|9ӿ`:^;`<`=`>t`?O`@cV`AnBLrCt`?O`@cV`AnBLrC`}`H `\`(`F`%ş`p`Pjn`9`Nb`i`.D`K`&`-`B`$+
avA_`!?````ʔ`o`v`Q`X`mj:`OSVh138H'`ɲ`˛`̰`{`ΐ`[`p|`;`Ye`9zG`\c>E ڤ'۹܄	ݢ`c߂`M`a`,`A``!``
̐`r`ʇ땎iupKURj-54SJ`3,````````}`]`{=`[&;v}X_:AW`	#
9`@``
o"``O`c`.`C``,`̃ewl`WNud` 70!UF`" M`#5(`$/`%
`%`&`'`()`*+,-h.}/H0]1(2F`3y4&`4[6q`6x`7S`8Z`95`:<`;`Q`?o@:ANBC.CEEFGH׺`IJ`K`L~`Mb`Nw``OBg`PWB`Q"I`R@^S+`T @T
`V"V)WXYZ[\j]`^J_h``3`aH`b`c(`c`em`et`fgV`hki8`jMk|Tl/m\6nqo<pPqr:`rt`t`u`v`wٶ`x`y`z`{z`|d`}~Dc`bx-BZ
a"<C%;```v``U`j`5`J``3`ުgnI~Pf`^2|H`>\*`'1`<```````oOdt/{DV]-s`?
U`!7`>`` ``x``W`u7`U 5cǠjȾ`ɀLʞb`ii`~D`IK`^&`)-`>`	`'$``ֱؑ٦qۆQo`1wO``/o`v`Q`X`3`:`O`1y`cwBW"7 ``˿```|``^`ke`@`KG`i\+)`I>E) '		``	s
`\`q`
<`Q``1k`r`T`ipKR-4e,`Dc`$B` 
`!"`!`#`#ͻ`$`%`&˲'`()v*v+V},kX-6_.K:/A0+0#29`23`4"`5`6`7`8~`9`:^`;|<>`=\>`?<@AABeClDGENFd`G0HF`IpM`J(`KP/`Le
`M0`ND`O`P.P`R
RϷ`STUͮVWXxYrZXy[v`\8[]Vq`^!x`_6S``Z`a5`a<`b`c`d`e`fg`hiij~kIl^m)n>o	ppr`rhs~`t`u``vg`wB`xrI`y$`zR+`{g`|2
`}P"~`0Ϫ`z`Zux`C`Xm`#t`8O`V`1`8`M`/6kKi`+I`)``	`ԟ`z``\`c`xtE`Z]ar<=CR%2``````e`z`E`c%p`CR`#gnIP+î2
ŎƬ*`mȌ`W`k`6`K``+``֛`Ҷ}`Ԓԟմt{הV_]t8??]U`!=7`>`` `````伿``g`腽Pe0E%cj`Lb`.D`K`&`y-``Y`m`8`W`6֎`w`aYo`	Jv`
_Q`*X`?3`
:```1`rRg2P`0``|`ۃ` ^`!e`"@`#G`$\%{)`&>'[`(y )D'*Y+$	,8-..0`0ï1`2`3`4`5`!*0 	 	*0LMTEESTEET

pytz-2012c/pytz/zoneinfo/Asia/Gaza0000644000175000017500000000303211742721476015655 0ustar  stubstubTZif2^YPͬϏfЩyф`Ҋpek6c`-P``mﰳpy%ZYsp;Up6Ep9'BP|	`
3``P `!I"]M`#$Z0`%?P&&'(P)`*+e,-G._P/{)0H01dF`2A`3D(`4!`5$
`6`67a`8DP8}9`:_;B#?@A\B^CAD-`EPFFopG^HIJJpK.LaMN5POt`PdP*0 *0*0	 
 EETEESTIDTISTTZif2_}JYPͬϏfЩyф`Ҋpek6c`-P``mﰳpy%ZYsp;Up6Ep9'BP|	`
3``P `!I"]M`#$Z0`%?P&&'(P)`*+e,-G._P/{)0H01dF`2A`3D(`4!`5$
`6`67a`8DP8}9`:_;B#?@A\B^CAD-`EPFFopG^HIJJpK.LaMN5POt`PdP P*0 *0*0
  LMTEETEESTIDTIST
EET-2
pytz-2012c/pytz/zoneinfo/Asia/Dili0000644000175000017500000000044511742721476015661 0ustar  stubstubTZif2˙2Vp0p9Ùup~~p~LMTTLTJSTCITTZif2˙2Vp0p9Ùup~~p~LMTTLTJSTCIT
TLT-9
pytz-2012c/pytz/zoneinfo/Asia/Yekaterinburg0000644000175000017500000000234411742721476017613 0ustar  stubstubTZif2

@
@' 0' wufW|H l9!\*"L#<$+%&'P'P(`)x`)Դ *ė+P,P-P.P/tP0duP1]2r{3=4R]5d62?6F8\P8(9>P:
; P<'P=P>	P?P@ePABEPCcD%PECFPG#GIIΏJjKqL̇PMS	

















88@T`	FPFPT`	FP	8@T`FPT`FPT`LMTSVETSVESTYEKSTYEKTTZif2

@
@' 0' wufW|H l9!\*"L#<$+%&'P'P(`)x`)Դ *ė+P,P-P.P/tP0duP1]2r{3=4R]5d62?6F8\P8(9>P:
; P<'P=P>	P?P@ePABEPCcD%PECFPG#GIIΏJjKqL̇PMS	

















88@T`	FPFPT`	FP	8@T`FPT`FPT`LMTSVETSVESTYEKSTYEKT
YEKT-6
pytz-2012c/pytz/zoneinfo/Asia/Shanghai0000644000175000017500000000000011742721476023443 1pytz-2012c/pytz/zoneinfo/PRCustar  stubstubpytz-2012c/pytz/zoneinfo/Asia/Qatar0000644000175000017500000000030311742721476016041 0ustar  stubstubTZif200P8@*0LMTGSTASTTZif200P8@*0LMTGSTAST
AST-3
pytz-2012c/pytz/zoneinfo/Asia/Anadyr0000644000175000017500000000223711742721476016217 0ustar  stubstubTZif2

@
'0ON0@İ@"````{` k`![`"K`#;`$+`%`&}`''()x@)Q*4+],N-?.0/t!0d1]>`2r`3= `4Q`5`61`6`88`9:`;ڽ<=>?@eA`BEjCc`D%LECb`F.G#D`GK`I&`I-`J`K`L2Mpd				LMTANATANASTTZif2

@
'0ON0@İ@"````{` k`![`"K`#;`$+`%`&}`''()x@)Q*4+],N-?.0/t!0d1]>`2r`3= `4Q`5`61`6`88`9:`;ڽ<=>?@eA`BEjCc`D%LECb`F.G#D`GK`I&`I-`J`K`L2Mpd				LMTANATANAST
ANAT-12
pytz-2012c/pytz/zoneinfo/Asia/Riyadh870000644000175000017500000000000011742721476025661 1pytz-2012c/pytz/zoneinfo/Mideast/Riyadh87ustar  stubstubpytz-2012c/pytz/zoneinfo/Asia/Ho_Chi_Minh0000644000175000017500000000037711742721476017110 0ustar  stubstubTZif2oB_ГAdcbppbpLMTSMTICTTZif2oB_AdcbppbpLMTSMTICT
ICT-7
pytz-2012c/pytz/zoneinfo/Asia/Baghdad0000644000175000017500000000170211742721476016307 0ustar  stubstubTZif250<0hPPC@̓@Pte|V lG!\8"L)#<$,%&'`'x(纀)*?+0,s-d./|0m1_2P_3@P415!6778<9~:o;<=>ր?z@k[A\BLC=рD-€EFG8)*08@*08@BMTASTADTTZif26i0<0hPPC@̓@Pte|V lG!\8"L)#<$,%&'`'x(纀)*?+0,s-d./|0m1_2P_3@P415!6778<9~:o;<=>ր?z@k[A\BLC=рD-€EFG8))*08@*08@LMTBMTASTADT
AST-3
pytz-2012c/pytz/zoneinfo/Asia/Yerevan0000644000175000017500000000235711742721476016415 0ustar  stubstubTZif2@HP'0@50̅te|V lG!\8"L)#<$,%&'`'
`(@(	p)@*ij0+p,p-p.p/tp0dp2p3=4Rk5r62M6T8j`869L`:;.`<5`=`>`?`@e`ABE`CcD%`ECF`G#GIIΝJxKL̕`MaNw`	



)*0FP	8@8@FP	8@	*08@*08@8@FP8@LMTYERTYERSTAMTAMSTTZif2@HP'0@50̅te|V lG!\8"L)#<$,%&'`'
`(@(	p)@*ij0+p,p-p.p/tp0dp2p3=4Rk5r62M6T8j`869L`:;.`<5`=`>`?`@e`ABE`CcD%`ECF`G#GIIΝJxKL̕`MaNw`	



)*0FP	8@8@FP	8@	*08@*08@8@FP8@LMTYERTYERSTAMTAMST
AMT-4
pytz-2012c/pytz/zoneinfo/Asia/Calcutta0000644000175000017500000000041111742721476016531 0ustar  stubstubTZif2
ۆq̕2tR[hMX	[h	HMTBURTISTTZif2V(ۆq̕2tRR[hMX
[h
LMTHMTBURTIST
IST-5:30
pytz-2012c/pytz/zoneinfo/Asia/Ulan_Bator0000644000175000017500000000150211742721476017021 0ustar  stubstubTZif2.LܐȀM0p/p{p k![p"KՀ#;p$+%p&''()Ԙ*z+z,\-\.>/t>0d 1]Z2M=p3=<4-p56
p:鳠;<=>?tp@doATRBDQC44D$3EQd4bp~	pLMTULATULASTTZif2.LܐȀM0p/p{p k![p"KՀ#;p$+%p&''()Ԙ*z+z,\-\.>/t>0d 1]Z2M=p3=<4-p56
p:鳠;<=>?tp@doATRBDQC44D$3EQd4bp~	pLMTULATULAST
ULAT-8
pytz-2012c/pytz/zoneinfo/Asia/Damascus0000644000175000017500000000440211742721476016535 0ustar  stubstubTZif2
x/^pa>p@ap Հ}R[ps(;~pUT66Hptp4gpgIa+C p$S

.pp
?kYsLpmpJpU#p Gz!"`41hP5`677P89TP:S`;<=P>`?y@k?`A\sBLrC=PD-`EPF6G*>PGS`IqIJPK`LPM`NPOt`PPQT`RiPS4`TRU`V2Vc`XjXYLZa[.\C]^}%_-P`]a{Pbp@ap Հ}R[ps(;~pUT66Hptp4gpgIa+C p$S

.pp
?kYsLpmpJpU#p Gz!"`41hP5`677P89TP:S`;<=P>`?y@k?`A\sBLrC=PD-`EPF6G*>PGS`IqIJPK`LPM`NPOt`PPQT`RiPS4`TRU`V2Vc`XjXYLZa[.\C]^}%_-P`]a{Pb<cZPd&`e:Pf`gPg`iiŬ`jk`lÕmnwonpYqNnrc;s.PtLXPu2v,:PvxPx1`yPz`{P|`}~v`"*0 	LMTEESTEET
EET-2EEST,M3.5.5/0,M10.5.5/0
pytz-2012c/pytz/zoneinfo/Asia/Qyzylorda0000644000175000017500000000205411742721476016774 0ustar  stubstubTZif24@'  ' wufW|H l9!\*"L#<$+%&'P')K0)xP)Ԧ*ĉ+@,@-@.@/tv@0dg@1]2rm3=t4RO5V621688N@890@:;@<@=@>@?@@e@AB5 		











	=`8@FPT`	T`FPT`	FPbpT`bpT`LMTKIZTKIZSTQYZTQYZSTTZif24@'  ' wufW|H l9!\*"L#<$+%&'P')K0)xP)Ԧ*ĉ+@,@-@.@/tv@0dg@1]2rm3=t4RO5V621688N@890@:;@<@=@>@?@@e@AB5 		











	=`8@FPT`	T`FPT`	FPbpT`bpT`LMTKIZTKIZSTQYZTQYZST
QYZT-6
pytz-2012c/pytz/zoneinfo/Asia/Rangoon0000644000175000017500000000040311742721476016375 0ustar  stubstubTZif2s\њgZ$[h~	[h
RMTBURTJSTMMTTZif2Vs\њgZ(Z$[h~
[hLMTRMTBURTJSTMMT
MMT-6:30
pytz-2012c/pytz/zoneinfo/Asia/Karachi0000644000175000017500000000060511742721476016340 0ustar  stubstubTZif2~̕2tݨO0MX[hFPT`
FPLMTISTKARTPKSTPKTTZif2~̕2tݨO0MX[hFPT`
FPLMTISTKARTPKSTPKT
PKT-5
pytz-2012c/pytz/zoneinfo/Asia/Kuala_Lumpur0000644000175000017500000000056411742721476017403 0ustar  stubstubTZif2gN
`ʳ`ˑ_Hma]bpg 	g ix~pSMTMALTMALSTJSTMYTTZif2~6UgN
`ʳ`ˑ_Hm_Va]bpg 
g ix~pLMTSMTMALTMALSTJSTMYT
MYT-8
pytz-2012c/pytz/zoneinfo/Asia/Katmandu0000644000175000017500000000030611742721476016540 0ustar  stubstubTZif2}0OMXPLMTISTNPTTZif2}0OMXPLMTISTNPT
NPT-5:45
pytz-2012c/pytz/zoneinfo/Asia/Kuching0000644000175000017500000000077111742721476016372 0ustar  stubstubTZif2gG{'P]ՠP>ö ŘPGy:[ö ŘPGy:[P:
; P<'P=P>	P?P@ePAB50	
	
	
	
	
	
	
	
	
	
	
	
58@FPT`	T`FPT`	T`FPT`FPLMTAKTTAKTSTAQTSTAQTTTZif23h@'  ' wufW|H l9!\*"L#<$+%&'P')K0)Դ *ė+P,P-P.P/tP0duP1]2r{3=4R]5d62?6F8\P8(9>P:
; P<'P=P>	P?P@ePAB50	
	
	
	
	
	
	
	
	
	
	
	
58@FPT`	T`FPT`	T`FPT`FPLMTAKTTAKTSTAQTSTAQTT
AQTT-5
pytz-2012c/pytz/zoneinfo/Asia/Novokuznetsk0000644000175000017500000000230411742721476017514 0ustar  stubstubTZif2@@ 'o׀֐[hYJ;|, l!\"K#;$+%Ұ&ð'0'0(@)x@)Ԙ*z+0,0-0.w0/th00dY01]2r_3=f4RA5H62#6*8@089"0:;0<0=0>0?0@e0ABE0CcưD%0ECFu0G#GIlIsJNKULy@ME	
QT`p	bpbpp	bp	T`bpT`bpNMTKRATKRASTNOVSTNOVTTZif2@@ 'o׀֐[hYJ;|, l!\"K#;$+%Ұ&ð'0'0(@)x@)Ԙ*z+0,0-0.w0/th00dY01]2r_3=f4RA5H62#6*8@089"0:;0<0=0>0?0@e0ABE0CcưD%0ECFu0G#GIlIsJNKULy@ME	
QT`p	bpbpp	bp	T`bpT`bpNMTKRATKRASTNOVSTNOVT
NOVT-7
pytz-2012c/pytz/zoneinfo/Asia/Jayapura0000644000175000017500000000034111742721476016547 0ustar  stubstubTZif2Xh~~LMTEITCSTTZif2Xh~~LMTEITCST
EIT-9
pytz-2012c/pytz/zoneinfo/Asia/Macao0000644000175000017500000000141511742721476016016 0ustar  stubstubTZif2*$wѸN(W0(7dh( 8G(c'`8C(B8_^A@#"~n]M=p-&	(	8
(֩8ƌ(
8n(<vo;p_:Op8]j|~p	p
LMTMOSTMOTCSTTZif2*$wѸN(W0(7dh( 8G(c'`8C(B8_^A@#"~n]M=p-&	(	8
(֩8ƌ(
8n(<vo;p_:Op8]j|~p	p
LMTMOSTMOTCST
CST-8
pytz-2012c/pytz/zoneinfo/Asia/Chongqing0000644000175000017500000000060511742721476016713 0ustar  stubstubTZif2m6ip ~h!Iap"^J#)Cp$Gg%_&'I&A(+(#cbp~	p
LMTLONTCDTCSTTZif2m6ip ~h!Iap"^J#)Cp$Gg%_&'I&A(+(#cbp~	p
LMTLONTCDTCST
CST-8
pytz-2012c/pytz/zoneinfo/Asia/Beirut0000644000175000017500000000414511742721476016233 0ustar  stubstubTZif2	ec{PN`?Ц%''Ш)P*-P``추PqPﰥ`zL^`+wCP$7`
j
PP
#``r.ќb`P `!u7P",#WP$g_`%8&<`'#P((V*m*	+`,P-`.P/t`0duP1]2M3=4-s5r6
U6T8\P869>P:; P<5`=P>`?P@e`ABE`CcD%`ECF`G#GIIΝJjKL̇PMaNiPOnCPKPQW``Rl-PS7B`TLPU$`V+PV`X
X`YZ`[\]^_`_a}Pb?c]Pdne=vPf`gXPgm`h:PiO`jPk1`l8m`nog`pqQres0tEuv.PvxPxЙyPz{{΃P|`}eP~yz`GP*0 EESTEETTZif2
V¸ec{PN`?%'')P*-P``추PqPﰥ`zL^`+wCP$7`
j
PP
#``r.ќb`P `!u7P",#WP$g_`%8&<`'#P((V*m*	+`,P-`.P/t`0duP1]2M3=4-s5r6
U6T8\P869>P:; P<5`=P>`?P@e`ABE`CcD%`ECF`G#GIIΝJjKL̇PMaNiPOnCPKPQW``Rl-PS7B`TLPU$`V+PV`X
X`YZ`[\]^_`_a}Pb?c]Pdne=vPf`gXPgm`h:PiO`jPk1`l8m`nog`pqQres0tEuv.PvxPxЙyPz{{΃P|`}eP~yz`GP!H*0 	LMTEESTEET
EET-2EEST,M3.5.0/0,M10.5.0/0
pytz-2012c/pytz/zoneinfo/Asia/Samarkand0000644000175000017500000000124511742721476016700 0ustar  stubstubTZif2


`@'  ' wufW|H l9!\*"L#<$+%&'P'P( (P)`0	>8@FPT`	T`FPT`	FPT`FPLMTSAMTSAMSTTASTUZTUZSTTZif2


`@'  ' wufW|H l9!\*"L#<$+%&'P'P( (P)`0	>8@FPT`	T`FPT`	FPT`FPLMTSAMTSAMSTTASTUZTUZST
UZT-5
pytz-2012c/pytz/zoneinfo/Asia/Almaty0000644000175000017500000000163211742721476016226 0ustar  stubstubTZif22{ܵ0'} ivgXI|: l+!\"L
#;$+%&'@'|)Ԧ*ĉ+@,@-@.@/tv@0dg@1]2rm3=t4RO5V621688N@890@:;@<@=@>@?@@e@AB5 H$FPbp	T`T`bp	LMTALMTALMSTTZif22{0'} ivgXI|: l+!\"L
#;$+%&'@'|)Ԧ*ĉ+@,@-@.@/tv@0dg@1]2rm3=t4RO5V621688N@890@:;@<@=@>@?@@e@AB5 H$FPbp	T`T`bp	LMTALMTALMST
ALMT-6
pytz-2012c/pytz/zoneinfo/Asia/Tokyo0000644000175000017500000000000011742721476023433 1pytz-2012c/pytz/zoneinfo/Japanustar  stubstubpytz-2012c/pytz/zoneinfo/Asia/Nicosia0000644000175000017500000000000011742721476025506 1pytz-2012c/pytz/zoneinfo/Europe/Nicosiaustar  stubstubpytz-2012c/pytz/zoneinfo/Asia/Ashkhabad0000644000175000017500000000122111742721476016637 0ustar  stubstubTZif2


D@' 0' wufW|H l9!\*"L#<$+%&'P'P(`)	@)x`	68@T`	FPFPT`	FP	8@8@FPLMTASHTASHSTTMTTZif2


D@' 0' wufW|H l9!\*"L#<$+%&'P'P(`)	@)x`	68@T`	FPFPT`	FP	8@8@FPLMTASHTASHSTTMT
TMT-5
pytz-2012c/pytz/zoneinfo/Asia/Bangkok0000644000175000017500000000026211742721476016351 0ustar  stubstubTZif2jg^<bpBMTICTTZif2Vjg^<^<bpLMTBMTICT
ICT-7
pytz-2012c/pytz/zoneinfo/Asia/Vladivostok0000644000175000017500000000225511742721476017306 0ustar  stubstubTZif2

@
YGP'E`yxP`1`>/ | k!["KՀ#;ƀ$+%&''()x])m*P+z,k-\.M/t>0d/1]Z2r53=<4R5616889:Ā;<=>?@eABECcD%iEC~FKG#`GgIBIIJ$K+LAM
{~		~		LMTVLATVLASTVLASSTTZif2

@
YGP'E`yxP`1`>/ | k!["KՀ#;ƀ$+%&''()x])m*P+z,k-\.M/t>0d/1]Z2r53=<4R5616889:Ā;<=>?@eABECcD%iEC~FKG#`GgIBIIJ$K+LAM
{~		~		LMTVLATVLASTVLASST
VLAT-11
pytz-2012c/pytz/zoneinfo/Asia/Krasnoyarsk0000644000175000017500000000223611742721476017307 0ustar  stubstubTZif2

@

 'o׀֐[hYJ;|, l!\"K#;$+%Ұ&ð'0'0(@)x@)Ԙ*z+0,0-0.w0/th00dY01]2r_3=f4RA5H62#6*8@089"0:;0<0=0>0?0@e0ABE0CcưD%0ECFu0G#GIlIsJNKULk0M7WT`p	bpbpp	bp	T`pp	LMTKRATKRASTTZif2

@

 'o׀֐[hYJ;|, l!\"K#;$+%Ұ&ð'0'0(@)x@)Ԙ*z+0,0-0.w0/th00dY01]2r_3=f4RA5H62#6*8@089"0:;0<0=0>0?0@e0ABE0CcưD%0ECFu0G#GIlIsJNKULk0M7WT`p	bpbpp	bp	T`pp	LMTKRATKRAST
KRAT-8
pytz-2012c/pytz/zoneinfo/Asia/Riyadh890000644000175000017500000000000011742721476025665 1pytz-2012c/pytz/zoneinfo/Mideast/Riyadh89ustar  stubstubpytz-2012c/pytz/zoneinfo/Asia/Kathmandu0000644000175000017500000000000011742721476025632 1pytz-2012c/pytz/zoneinfo/Asia/Katmanduustar  stubstubpytz-2012c/pytz/zoneinfo/Asia/Riyadh880000644000175000017500000000000011742721476025663 1pytz-2012c/pytz/zoneinfo/Mideast/Riyadh88ustar  stubstubpytz-2012c/pytz/zoneinfo/Asia/Ulaanbaatar0000644000175000017500000000000011742721476026413 1pytz-2012c/pytz/zoneinfo/Asia/Ulan_Batorustar  stubstubpytz-2012c/pytz/zoneinfo/Asia/Riyadh0000644000175000017500000000023511742721476016215 0ustar  stubstubTZif2a6+*0LMTASTTZif2a6+*0LMTAST
AST-3
pytz-2012c/pytz/zoneinfo/Asia/Dhaka0000644000175000017500000000055411742721476016011 0ustar  stubstubTZif2ۆq̕2ݨҘO J;KA.$9ܸʨޢ8߬[(8(Oi8v(/K8_Ǩ-8?I+m
Ol(wѸN(W0(@8h( 8G(%~8a(`8C(B8_^A@#"~n]MG(78&(=8	(	8
(֩8ƌ(98olk~p	~
p	LMTHKSTHKTJSTTZif2EiZW:KxLbpj8ԓJB8֚>A.$9ܸʨޢ8߬[(8(Oi8v(/K8_Ǩ-8?I+m
Ol(wѸN(W0(@8h( 8G(%~8a(`8C(B8_^A@#"~n]MG(78&(=8	(	8
(֩8ƌ(98olk~p	~
p	LMTHKSTHKTJST
HKT-8
pytz-2012c/pytz/zoneinfo/Asia/Pyongyang0000644000175000017500000000040211742721476016744 0ustar  stubstubTZif2~x𸄴xO)5xw~p~KSTTZif2ie~xxO)5xuw~p~LMTKST
KST-9
pytz-2012c/pytz/zoneinfo/Asia/Makassar0000644000175000017500000000040711742721476016540 0ustar  stubstubTZif2]ՐˈVpoop~pLMTMMTCITJSTTZif2]ՐˈVpoop~pLMTMMTCITJST
CIT-8
pytz-2012c/pytz/zoneinfo/Asia/Dacca0000644000175000017500000000000011742721476024155 1pytz-2012c/pytz/zoneinfo/Asia/Dhakaustar  stubstubpytz-2012c/pytz/zoneinfo/Asia/Bahrain0000644000175000017500000000030311742721476016335 0ustar  stubstubTZif2/l8@*0LMTGSTASTTZif2/l8@*0LMTGSTAST
AST-3
pytz-2012c/pytz/zoneinfo/Asia/Tashkent0000644000175000017500000000123311742721476016555 0ustar  stubstubTZif2


0'} ivgXI|: l+!\"L
#;$+%&'@'@( (P)`0	@FPbp	T`T`bp	T`	FPT`FPLMTTASTTASSTUZTUZSTTZif2


0'} ivgXI|: l+!\"L
#;$+%&'@'@( (P)`0	@FPbp	T`T`bp	T`	FPT`FPLMTTASTTASSTUZTUZST
UZT-5
pytz-2012c/pytz/zoneinfo/Asia/Kolkata0000644000175000017500000000000011742721476025300 1pytz-2012c/pytz/zoneinfo/Asia/Calcuttaustar  stubstubpytz-2012c/pytz/zoneinfo/Asia/Istanbul0000644000175000017500000000000011742721476026076 1pytz-2012c/pytz/zoneinfo/Europe/Istanbulustar  stubstubpytz-2012c/pytz/zoneinfo/Asia/Brunei0000644000175000017500000000027311742721476016223 0ustar  stubstubTZif2DgGkixpLMTBNTTZif2DgGkixpLMTBNT
BNT-8
pytz-2012c/pytz/zoneinfo/Asia/Choibalsan0000644000175000017500000000157211742721476017045 0ustar  stubstubTZif2/(ܐȀ?p"`!p`p{` kp![`"Kp#;`$+p%`&p''()ԉ*l+k,N-M.0/t/0d1]Lp2M/`3=.p4-`5p6`:饐;<=>?tb@daATDBDCC4&D$%ECGkXbpp~	p	LMTULATCHOTCHOSTTZif2/(ܐȀ?p"`!p`p{` kp![`"Kp#;`$+p%`&p''()ԉ*l+k,N-M.0/t/0d1]Lp2M/`3=.p4-`5p6`:饐;<=>?tb@daATDBDCC4&D$%ECGkXbpp~	p	LMTULATCHOTCHOST
CHOT-8
pytz-2012c/pytz/zoneinfo/Asia/Aqtau0000644000175000017500000000215011742721476016046 0ustar  stubstubTZif23ൣ@Ԯ00 ' wufW|H l9!\*"L#<$+%&'P')K0)Դ *ė+P,P-P.P/tP0d`1]2r3=4Rk5r62M6T8j`869L`:;.`<5`=`>`?`@e`AB5@		











	/ 8@FPFP	T`	T`FP	T`T`FPT`FPFP8@8@FPLMTFORTSHETSHESTAQTSTAQTTTZif23@Ԯ00 ' wufW|H l9!\*"L#<$+%&'P')K0)Դ *ė+P,P-P.P/tP0d`1]2r3=4Rk5r62M6T8j`869L`:;.`<5`=`>`?`@e`AB5@		











	/ 8@FPFP	T`	T`FP	T`T`FPT`FPFP8@8@FPLMTFORTSHETSHESTAQTSTAQTT
AQTT-5
pytz-2012c/pytz/zoneinfo/Asia/Oral0000644000175000017500000000207611742721476015677 0ustar  stubstubTZif23ܵ@'  ' wufW|H l9!\*"L#<$+%&'`')K@)0*ĥ +`,`-`.`/t`0d`1]2r3=4Rk5r62M6T8j`869L`:;.`<5`=`>`?`@e`AB5@
	

0$8@FPT`	T`FPT`	FP	8@FP8@FP8@FPLMTURATURASTORASTORATTZif23@'  ' wufW|H l9!\*"L#<$+%&'`')K@)0*ĥ +`,`-`.`/t`0d`1]2r3=4Rk5r62M6T8j`869L`:;.`<5`=`>`?`@e`AB5@
	

0$8@FPT`	T`FPT`	FP	8@FP8@FP8@FPLMTURATURASTORASTORAT
ORAT-5
pytz-2012c/pytz/zoneinfo/Asia/Seoul0000644000175000017500000000000011742721476023017 1pytz-2012c/pytz/zoneinfo/ROKustar  stubstubpytz-2012c/pytz/zoneinfo/Asia/Manila0000644000175000017500000000051711742721476016201 0ustar  stubstubTZif2
0pЩ%pl9բuFfz~p~	pPHSTPHTJSTTZif2
{?0pЩ%pl9բuFfzqp~p	~
p	LMTPHSTPHTJST
PHT-8
pytz-2012c/pytz/zoneinfo/Asia/Omsk0000644000175000017500000000223611742721476015711 0ustar  stubstubTZif2

@
@0'} ivgXI|: l+!\"L
#;$+%&'@'@(P)xP)Ԧ*ĉ+@,@-@.@/tv@0dg@1]2rm3=t4RO5V621688N@890@:;@<@=@>@?@@e@ABE@CcD%@ECF@G#GIzI΁J\KcLy@MEDFPbp	T`T`bp	T`	FPbpbp	LMTOMSTOMSSTTZif2

@
@0'} ivgXI|: l+!\"L
#;$+%&'@'@(P)xP)Ԧ*ĉ+@,@-@.@/tv@0dg@1]2rm3=t4RO5V621688N@890@:;@<@=@>@?@@e@ABE@CcD%@ECF@G#GIzI΁J\KcLy@MEDFPbp	T`T`bp	T`	FPbpbp	LMTOMSTOMSST
OMST-7
pytz-2012c/pytz/zoneinfo/Asia/Bishkek0000644000175000017500000000202711742721476016356 0ustar  stubstubTZif24~0'} ivgXI|: l+!\"L
#;$+%&'@'@()70*ĥ +0, -0.i /00dK 1f02Mg3=4RV5k6286M8UH8/97H:;H<.X=H>X?H@eXABEXB 									
EFPbp	T`T`bp	T`	T`FPT`T`LMTFRUTFRUSTKGSTKGTTZif24~0'} ivgXI|: l+!\"L
#;$+%&'@'@()70*ĥ +0, -0.i /00dK 1f02Mg3=4RV5k6286M8UH8/97H:;H<.X=H>X?H@eXABEXB 									
EFPbp	T`T`bp	T`	T`FPT`T`LMTFRUTFRUSTKGSTKGT
KGT-6
pytz-2012c/pytz/zoneinfo/Asia/Baku0000644000175000017500000000362611742721476015666 0ustar  stubstubTZif2

p
DP'0@50̅te|V lG!\8"L)#<$,%&'`'
`(R@(	p)@*ij01]2r2p3=4R562j6q88S9h:5;J3?@fA+BECd
D%ـECFG#GIIκJKḺM~NOn`PuQW|RlWS7^TL9U@V,V"X8XYZ[\]^_`_a}܀b?c]de=fgg艀hdikjFkMlcm/nEohp'qQ.rf	s1tEuv/vxxжyˀz{έ|}~yq	
																																										.*0FP	8@8@FP	8@	*08@8@FP8@FPLMTBAKTBAKSTAZTAZSTTZif2

p
DP'0@50̅te|V lG!\8"L)#<$,%&'`'
`(R@(	p)@*ij01]2r2p3=4R562j6q88S9h:5;J3?@fA+BECd
D%ـECFG#GIIκJKḺM~NOn`PuQW|RlWS7^TL9U@V,V"X8XYZ[\]^_`_a}܀b?c]de=fgg艀hdikjFkMlcm/nEohp'qQ.rf	s1tEuv/vxxжyˀz{έ|}~yq	
																																										.*0FP	8@8@FP	8@	*08@8@FP8@FPLMTBAKTBAKSTAZTAZST
AZT-4AZST,M3.5.0/4,M10.5.0/5
pytz-2012c/pytz/zoneinfo/Asia/Phnom_Penh0000644000175000017500000000037711742721476017037 0ustar  stubstubTZif2oD$_ГAb\cbppbpLMTSMTICTTZif2oD$_Ab\cbppbpLMTSMTICT
ICT-7
pytz-2012c/pytz/zoneinfo/Asia/Aden0000644000175000017500000000023511742721476015644 0ustar  stubstubTZif2a8 *`*0LMTASTTZif2a8 *`*0LMTAST
AST-3
pytz-2012c/pytz/zoneinfo/Asia/Tel_Aviv0000644000175000017500000000000011742721476024225 1pytz-2012c/pytz/zoneinfo/Israelustar  stubstubpytz-2012c/pytz/zoneinfo/Asia/Taipei0000644000175000017500000000132411742721476016210 0ustar  stubstubTZif2(їazpyBZ:#p<fp&pYݪrsߵdp|ᖗ]wp>0 p!qpp?/ypVp	݉
νPS~pCDTCSTTZif2)tїazpyBZ:#p<fp&pYݪrsߵdp|ᖗ]wp>0 p!qpp?/ypVp	݉
νPSq~pLMTCDTCST
CST-8
pytz-2012c/pytz/zoneinfo/Asia/Ujung_Pandang0000644000175000017500000000000011742721476026434 1pytz-2012c/pytz/zoneinfo/Asia/Makassarustar  stubstubpytz-2012c/pytz/zoneinfo/Asia/Singapore0000644000175000017500000000062211742721476016724 0ustar  stubstubTZif2gN
`ʳ`ˑ_HmMa]bpg 	g ix~ixpSMTMALTMALSTJSTSGTTZif2				~6SgN
`ʳ`ˑ_HmMa]a]bpg 
g ix~ixpLMTSMTMALTMALSTJSTSGT
SGT-8
pytz-2012c/pytz/zoneinfo/Asia/Jerusalem0000644000175000017500000000000011742721476024443 1pytz-2012c/pytz/zoneinfo/Israelustar  stubstubpytz-2012c/pytz/zoneinfo/Asia/Jakarta0000644000175000017500000000053011742721476016350 0ustar  stubstubTZif2x`˿Vp<&d g ix	~
p	bp	JMTJAVTWITJSTTZif2?fI`x`˿Vp<&d d g ix
~p
bp
LMTJMTJAVTWITJST
WIT-7
pytz-2012c/pytz/zoneinfo/Asia/Novosibirsk0000644000175000017500000000225411742721476017310 0ustar  stubstubTZif2

A
$ 'o׀֐[hYJ;|, l!\"K#;$+%Ұ&ð'0'0(@)x@)Ԙ*z+0+N,@-@.@/tv@0dg@1]2rm3=t4RO5V621688N@890@:;@<@=@>@?@@e@ABE@CcD%@ECF@G#GIzI΁J\KcLy@MEMT`p	bpbpp	bp	T`bp	bpLMTNOVTNOVSTTZif2

A
$ 'o׀֐[hYJ;|, l!\"K#;$+%Ұ&ð'0'0(@)x@)Ԙ*z+0+N,@-@.@/tv@0dg@1]2rm3=t4RO5V621688N@890@:;@<@=@>@?@@e@ABE@CcD%@ECF@G#GIzI΁J\KcLy@MEMT`p	bpbpp	bp	T`bp	bpLMTNOVTNOVST
NOVT-7
pytz-2012c/pytz/zoneinfo/Asia/Harbin0000644000175000017500000000071711742721476016205 0ustar  stubstubTZif2xǐm6ip ~h!Iap"^J#)Cp$Gg%_&'I&A(+(#vwp	~~
p	LMTCHATCSTCDTTZif2xǐm6ip ~h!Iap"^J#)Cp$Gg%_&'I&A(+(#vwp	~~
p	LMTCHATCSTCDT
CST-8
pytz-2012c/pytz/zoneinfo/Asia/Muscat0000644000175000017500000000023511742721476016231 0ustar  stubstubTZif268@LMTGSTTZif268@LMTGST
GST-4
pytz-2012c/pytz/zoneinfo/Asia/Colombo0000644000175000017500000000055311742721476016372 0ustar  stubstubTZif2Z(̕+u81(2q D?(JMXT`[h[h
T`
MXMMTISTIHSTLKTTZif2V$Z(̕+u81(2q D?(JJMXT`[h[hT`MXLMTMMTISTIHSTLKT
IST-5:30
pytz-2012c/pytz/zoneinfo/Asia/Yakutsk0000644000175000017500000000223711742721476016434 0ustar  stubstubTZif2

@
p'Sp`p?pL=.| l!["K#;Ԑ$+Ő%&''( )xk ){*^+,y-j.[/tL0d=1]h2rC3=J4R%5,6268$89:Ґ;<=>?@eAȐBECcD%wECFYG#nGuIPIWJ2K9LOMyp	~~	~	p	LMTYAKTYAKSTTZif2

@
p'Sp`p?pL=.| l!["K#;Ԑ$+Ő%&''( )xk ){*^+,y-j.[/tL0d=1]h2rC3=J4R%5,6268$89:Ґ;<=>?@eAȐBECcD%wECFYG#nGuIPIWJ2K9LOMyp	~~	~	p	LMTYAKTYAKST
YAKT-10
pytz-2012c/pytz/zoneinfo/Asia/Sakhalin0000644000175000017500000000227511742721476016535 0ustar  stubstubTZif2

A
͸΅p0'7Pkj@P#P0p!ppp{p kp![p"Kp#;p$+p%p&p''()xO)_*B+k,\-M.>/t/0d 1]Lp2r'p3=.p4R5616889:Ā;<=>?@eABECcD%iEC~FKG#`GgIBIIJ$K+LAM
~~LMTCJTJSTSAKSTSAKTTZif2

A
͸΅p0'7Pkj@P#P0p!ppp{p kp![p"Kp#;p$+p%p&p''()xO)_*B+k,\-M.>/t/0d 1]Lp2r'p3=.p4R5616889:Ā;<=>?@eABECcD%iEC~FKG#`GgIBIIJ$K+LAM
~~LMTCJTJSTSAKSTSAKT
SAKT-11
pytz-2012c/pytz/zoneinfo/Asia/Ashgabat0000644000175000017500000000000011742721476025532 1pytz-2012c/pytz/zoneinfo/Asia/Ashkhabadustar  stubstubpytz-2012c/pytz/zoneinfo/Asia/Tehran0000644000175000017500000000314611742721476016222 0ustar  stubstubTZif2dl}Ht-@@0:@UgEJ7-( v(۝)˜*"+H,V8-./o7H0a81Pj2B324%u5#H686V7ܸ8֊H98:H;8{vH?m8@\AO/B?.C1GHHO8INHJ8KLMHNz;8OhP[nQKmR=S,HT'8U
VZVHW8XэHY8Z[F\H]z8^u'_g`WaJ2b8Hc+f8deeGHf8gHhR8ijk3Hl8mfnsobHpU 8qEHr78s&RtظuHu8vw?x>yĸzrH{8|}+~nHa_8080818FP
8@?H
18LMTTMTIRSTIRDTTZif2dl}Ht-@@0:@UgEJ7-( v(۝)˜*"+H,V8-./o7H0a81Pj2B324%u5#H686V7ܸ8֊H98:H;8{vH?m8@\AO/B?.C1GHHO8INHJ8KLMHNz;8OhP[nQKmR=S,HT'8U
VZVHW8XэHY8Z[F\H]z8^u'_g`WaJ2b8Hc+f8deeGHf8gHhR8ijk3Hl8mfnsobHpU 8qEHr78s&RtظuHu8vw?x>yĸzrH{8|}+~nHa_8080818FP
8@?H
18LMTTMTIRSTIRDT

pytz-2012c/pytz/zoneinfo/Asia/Magadan0000644000175000017500000000223711742721476016331 0ustar  stubstubTZif2

@
6'7Pkj@P#P0p!ppp{p kp![p"Kp#;p$+p%p&p''()xO)_*B+k,\-M.>/t/0d 1]Lp2r'p3=.p4R	p5p61p6p88p9:p;<=>?@eApBExCcpD%ZECppF/t/0d 1]Lp2r'p3=.p4R	p5p61p6p88p9:p;<=>?@eApBExCcpD%ZECppF<G#RpGYpI4pI;pJpKpL2Mp`				LMTMAGTMAGST
MAGT-12
pytz-2012c/pytz/zoneinfo/Asia/Chungking0000644000175000017500000000000011742721476026004 1pytz-2012c/pytz/zoneinfo/Asia/Chongqingustar  stubstubpytz-2012c/pytz/zoneinfo/NZ0000644000175000017500000000000011742721476024027 1pytz-2012c/pytz/zoneinfo/Pacific/Aucklandustar  stubstubpytz-2012c/pytz/zoneinfo/W-SU0000644000175000017500000000000011742721476023661 1pytz-2012c/pytz/zoneinfo/Europe/Moscowustar  stubstubpytz-2012c/pytz/zoneinfo/Turkey0000644000175000017500000000000011742721476024723 1pytz-2012c/pytz/zoneinfo/Europe/Istanbulustar  stubstubpytz-2012c/pytz/zoneinfo/Cuba0000644000175000017500000000000011742721476024031 1pytz-2012c/pytz/zoneinfo/America/Havanaustar  stubstubpytz-2012c/pytz/zoneinfo/Brazil/0000775000175000017500000000000011742722012015405 5ustar  stubstubpytz-2012c/pytz/zoneinfo/Brazil/East0000644000175000017500000000000011742721476025762 1pytz-2012c/pytz/zoneinfo/America/Sao_Pauloustar  stubstubpytz-2012c/pytz/zoneinfo/Brazil/West0000644000175000017500000000000011742721476025352 1pytz-2012c/pytz/zoneinfo/America/Manausustar  stubstubpytz-2012c/pytz/zoneinfo/Brazil/DeNoronha0000644000175000017500000000000011742721476026465 1pytz-2012c/pytz/zoneinfo/America/Noronhaustar  stubstubpytz-2012c/pytz/zoneinfo/Brazil/Acre0000644000175000017500000000000011742721476026073 1pytz-2012c/pytz/zoneinfo/America/Rio_Brancoustar  stubstubpytz-2012c/pytz/zoneinfo/US/0000775000175000017500000000000011742722012014511 5ustar  stubstubpytz-2012c/pytz/zoneinfo/US/Hawaii0000644000175000017500000000000011742721476025314 1pytz-2012c/pytz/zoneinfo/Pacific/Honoluluustar  stubstubpytz-2012c/pytz/zoneinfo/US/Pacific0000644000175000017500000000000011742721476026041 1pytz-2012c/pytz/zoneinfo/America/Los_Angelesustar  stubstubpytz-2012c/pytz/zoneinfo/US/Pacific-New0000644000175000017500000000000011742721476026570 1pytz-2012c/pytz/zoneinfo/America/Los_Angelesustar  stubstubpytz-2012c/pytz/zoneinfo/US/East-Indiana0000644000175000017500000000000011742721476027157 1pytz-2012c/pytz/zoneinfo/America/Indianapolisustar  stubstubpytz-2012c/pytz/zoneinfo/US/Michigan0000644000175000017500000000000011742721476025441 1pytz-2012c/pytz/zoneinfo/America/Detroitustar  stubstubpytz-2012c/pytz/zoneinfo/US/Arizona0000644000175000017500000000000011742721476025325 1pytz-2012c/pytz/zoneinfo/America/Phoenixustar  stubstubpytz-2012c/pytz/zoneinfo/US/Indiana-Starke0000644000175000017500000000000011742721476026407 1pytz-2012c/pytz/zoneinfo/America/Knox_INustar  stubstubpytz-2012c/pytz/zoneinfo/US/Aleutian0000644000175000017500000000000011742721476024732 1pytz-2012c/pytz/zoneinfo/America/Atkaustar  stubstubpytz-2012c/pytz/zoneinfo/US/Eastern0000644000175000017500000000000011742721476024565 1pytz-2012c/pytz/zoneinfo/posixrulesustar  stubstubpytz-2012c/pytz/zoneinfo/US/Mountain0000644000175000017500000000000011742721476025325 1pytz-2012c/pytz/zoneinfo/America/Denverustar  stubstubpytz-2012c/pytz/zoneinfo/US/Samoa0000644000175000017500000000000011742721476025201 1pytz-2012c/pytz/zoneinfo/Pacific/Pago_Pagoustar  stubstubpytz-2012c/pytz/zoneinfo/US/Alaska0000644000175000017500000000000011742721476025373 1pytz-2012c/pytz/zoneinfo/America/Anchorageustar  stubstubpytz-2012c/pytz/zoneinfo/US/Central0000644000175000017500000000000011742721476025235 1pytz-2012c/pytz/zoneinfo/America/Chicagoustar  stubstubpytz-2012c/pytz/zoneinfo/PST8PDT0000644000175000017500000000436611742721476015237 0ustar  stubstubTZif2H*ˉ#pa& fe HG *) x q(a'Q
A	0C	ΐ	 
௠
  ysir YUIT 97)6 "S	 54ې v+ !"V
 #j$5 %J& '*')
)Ϡ*b+,~-.`/~u0B1g 2s$3Gt 4S5'V 6278 88 9: ;<=>?@oܠABOCdD/EDmE G-Gӵ I
lI JNKLjM|NLO\wP.Q?@oܠABOCdD/EDmE G-Gӵ I
lI JNKLjM|NLO\wP.Q
# @(#)iso3166.tab	8.11
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
# ISO 3166 alpha-2 country codes
#
# From Paul Eggert (2006-09-27):
#
# This file contains a table with the following columns:
# 1.  ISO 3166-1 alpha-2 country code, current as of
#     ISO 3166-1 Newsletter VI-1 (2007-09-21).  See:
#     
#     ISO 3166 Maintenance agency (ISO 3166/MA)
#     .
# 2.  The usual English name for the country,
#     chosen so that alphabetic sorting of subsets produces helpful lists.
#     This is not the same as the English name in the ISO 3166 tables.
#
# Columns are separated by a single tab.
# The table is sorted by country code.
#
# Lines beginning with `#' are comments.
#
# From Arthur David Olson (2011-08-17):
# Resynchronized today with the ISO 3166 site (adding SS for South Sudan).
#
#country-
#code	country name
AD	Andorra
AE	United Arab Emirates
AF	Afghanistan
AG	Antigua & Barbuda
AI	Anguilla
AL	Albania
AM	Armenia
AO	Angola
AQ	Antarctica
AR	Argentina
AS	Samoa (American)
AT	Austria
AU	Australia
AW	Aruba
AX	Aaland Islands
AZ	Azerbaijan
BA	Bosnia & Herzegovina
BB	Barbados
BD	Bangladesh
BE	Belgium
BF	Burkina Faso
BG	Bulgaria
BH	Bahrain
BI	Burundi
BJ	Benin
BL	St Barthelemy
BM	Bermuda
BN	Brunei
BO	Bolivia
BQ	Bonaire Sint Eustatius & Saba
BR	Brazil
BS	Bahamas
BT	Bhutan
BV	Bouvet Island
BW	Botswana
BY	Belarus
BZ	Belize
CA	Canada
CC	Cocos (Keeling) Islands
CD	Congo (Dem. Rep.)
CF	Central African Rep.
CG	Congo (Rep.)
CH	Switzerland
CI	Cote d'Ivoire
CK	Cook Islands
CL	Chile
CM	Cameroon
CN	China
CO	Colombia
CR	Costa Rica
CU	Cuba
CV	Cape Verde
CW	Curacao
CX	Christmas Island
CY	Cyprus
CZ	Czech Republic
DE	Germany
DJ	Djibouti
DK	Denmark
DM	Dominica
DO	Dominican Republic
DZ	Algeria
EC	Ecuador
EE	Estonia
EG	Egypt
EH	Western Sahara
ER	Eritrea
ES	Spain
ET	Ethiopia
FI	Finland
FJ	Fiji
FK	Falkland Islands
FM	Micronesia
FO	Faroe Islands
FR	France
GA	Gabon
GB	Britain (UK)
GD	Grenada
GE	Georgia
GF	French Guiana
GG	Guernsey
GH	Ghana
GI	Gibraltar
GL	Greenland
GM	Gambia
GN	Guinea
GP	Guadeloupe
GQ	Equatorial Guinea
GR	Greece
GS	South Georgia & the South Sandwich Islands
GT	Guatemala
GU	Guam
GW	Guinea-Bissau
GY	Guyana
HK	Hong Kong
HM	Heard Island & McDonald Islands
HN	Honduras
HR	Croatia
HT	Haiti
HU	Hungary
ID	Indonesia
IE	Ireland
IL	Israel
IM	Isle of Man
IN	India
IO	British Indian Ocean Territory
IQ	Iraq
IR	Iran
IS	Iceland
IT	Italy
JE	Jersey
JM	Jamaica
JO	Jordan
JP	Japan
KE	Kenya
KG	Kyrgyzstan
KH	Cambodia
KI	Kiribati
KM	Comoros
KN	St Kitts & Nevis
KP	Korea (North)
KR	Korea (South)
KW	Kuwait
KY	Cayman Islands
KZ	Kazakhstan
LA	Laos
LB	Lebanon
LC	St Lucia
LI	Liechtenstein
LK	Sri Lanka
LR	Liberia
LS	Lesotho
LT	Lithuania
LU	Luxembourg
LV	Latvia
LY	Libya
MA	Morocco
MC	Monaco
MD	Moldova
ME	Montenegro
MF	St Martin (French part)
MG	Madagascar
MH	Marshall Islands
MK	Macedonia
ML	Mali
MM	Myanmar (Burma)
MN	Mongolia
MO	Macau
MP	Northern Mariana Islands
MQ	Martinique
MR	Mauritania
MS	Montserrat
MT	Malta
MU	Mauritius
MV	Maldives
MW	Malawi
MX	Mexico
MY	Malaysia
MZ	Mozambique
NA	Namibia
NC	New Caledonia
NE	Niger
NF	Norfolk Island
NG	Nigeria
NI	Nicaragua
NL	Netherlands
NO	Norway
NP	Nepal
NR	Nauru
NU	Niue
NZ	New Zealand
OM	Oman
PA	Panama
PE	Peru
PF	French Polynesia
PG	Papua New Guinea
PH	Philippines
PK	Pakistan
PL	Poland
PM	St Pierre & Miquelon
PN	Pitcairn
PR	Puerto Rico
PS	Palestine
PT	Portugal
PW	Palau
PY	Paraguay
QA	Qatar
RE	Reunion
RO	Romania
RS	Serbia
RU	Russia
RW	Rwanda
SA	Saudi Arabia
SB	Solomon Islands
SC	Seychelles
SD	Sudan
SE	Sweden
SG	Singapore
SH	St Helena
SI	Slovenia
SJ	Svalbard & Jan Mayen
SK	Slovakia
SL	Sierra Leone
SM	San Marino
SN	Senegal
SO	Somalia
SR	Suriname
SS	South Sudan
ST	Sao Tome & Principe
SV	El Salvador
SX	Sint Maarten
SY	Syria
SZ	Swaziland
TC	Turks & Caicos Is
TD	Chad
TF	French Southern & Antarctic Lands
TG	Togo
TH	Thailand
TJ	Tajikistan
TK	Tokelau
TL	East Timor
TM	Turkmenistan
TN	Tunisia
TO	Tonga
TR	Turkey
TT	Trinidad & Tobago
TV	Tuvalu
TW	Taiwan
TZ	Tanzania
UA	Ukraine
UG	Uganda
UM	US minor outlying islands
US	United States
UY	Uruguay
UZ	Uzbekistan
VA	Vatican City
VC	St Vincent
VE	Venezuela
VG	Virgin Islands (UK)
VI	Virgin Islands (US)
VN	Vietnam
VU	Vanuatu
WF	Wallis & Futuna
WS	Samoa (western)
YE	Yemen
YT	Mayotte
ZA	South Africa
ZM	Zambia
ZW	Zimbabwe
pytz-2012c/pytz/zoneinfo/Greenwich0000644000175000017500000000000011742721476024304 1pytz-2012c/pytz/zoneinfo/localtimeustar  stubstubpytz-2012c/pytz/zoneinfo/Jamaica0000644000175000017500000000000011742721476024633 1pytz-2012c/pytz/zoneinfo/America/Jamaicaustar  stubstubpytz-2012c/pytz/zoneinfo/Arctic/0000775000175000017500000000000011742722012015367 5ustar  stubstubpytz-2012c/pytz/zoneinfo/Arctic/Longyearbyen0000644000175000017500000000000011742721476026436 1pytz-2012c/pytz/zoneinfo/Europe/Osloustar  stubstubpytz-2012c/pytz/zoneinfo/GMT0000644000175000017500000000000011742721476023020 1pytz-2012c/pytz/zoneinfo/localtimeustar  stubstubpytz-2012c/pytz/zoneinfo/GMT+00000644000175000017500000000000011742721476023153 1pytz-2012c/pytz/zoneinfo/localtimeustar  stubstubpytz-2012c/pytz/zoneinfo/Etc/0000775000175000017500000000000011742722012014675 5ustar  stubstubpytz-2012c/pytz/zoneinfo/Etc/GMT-90000644000175000017500000000017711742721476015435 0ustar  stubstubTZif2~GMT-9TZif2~GMT-9
-9
pytz-2012c/pytz/zoneinfo/Etc/GMT-10000644000175000017500000000017711742721476015425 0ustar  stubstubTZif2GMT-1TZif2GMT-1
-1
pytz-2012c/pytz/zoneinfo/Etc/UCT0000644000175000017500000000000011742721476022221 1pytz-2012c/pytz/zoneinfo/UCTustar  stubstubpytz-2012c/pytz/zoneinfo/Etc/Zulu0000644000175000017500000000000011742721476023031 1pytz-2012c/pytz/zoneinfo/Zuluustar  stubstubpytz-2012c/pytz/zoneinfo/Etc/GMT-50000644000175000017500000000017711742721476015431 0ustar  stubstubTZif2FPGMT-5TZif2FPGMT-5
-5
pytz-2012c/pytz/zoneinfo/Etc/GMT+110000644000175000017500000000020211742721476015471 0ustar  stubstubTZif2ePGMT+11TZif2ePGMT+11
11
pytz-2012c/pytz/zoneinfo/Etc/GMT+60000644000175000017500000000017611742721476015427 0ustar  stubstubTZif2GMT+6TZif2GMT+6
6
pytz-2012c/pytz/zoneinfo/Etc/GMT+50000644000175000017500000000017611742721476015426 0ustar  stubstubTZif2GMT+5TZif2GMT+5
5
pytz-2012c/pytz/zoneinfo/Etc/GMT+30000644000175000017500000000017611742721476015424 0ustar  stubstubTZif2GMT+3TZif2GMT+3
3
pytz-2012c/pytz/zoneinfo/Etc/GMT+20000644000175000017500000000017611742721476015423 0ustar  stubstubTZif2GMT+2TZif2GMT+2
2
pytz-2012c/pytz/zoneinfo/Etc/GMT-80000644000175000017500000000017711742721476015434 0ustar  stubstubTZif2pGMT-8TZif2pGMT-8
-8
pytz-2012c/pytz/zoneinfo/Etc/UTC0000644000175000017500000000000011742721476022525 1pytz-2012c/pytz/zoneinfo/Zuluustar  stubstubpytz-2012c/pytz/zoneinfo/Etc/GMT-40000644000175000017500000000017711742721476015430 0ustar  stubstubTZif28@GMT-4TZif28@GMT-4
-4
pytz-2012c/pytz/zoneinfo/Etc/GMT+40000644000175000017500000000017611742721476015425 0ustar  stubstubTZif2GMT+4TZif2GMT+4
4
pytz-2012c/pytz/zoneinfo/Etc/GMT-20000644000175000017500000000017711742721476015426 0ustar  stubstubTZif2 GMT-2TZif2 GMT-2
-2
pytz-2012c/pytz/zoneinfo/Etc/GMT-60000644000175000017500000000017711742721476015432 0ustar  stubstubTZif2T`GMT-6TZif2T`GMT-6
-6
pytz-2012c/pytz/zoneinfo/Etc/GMT-120000644000175000017500000000020311742721476015475 0ustar  stubstubTZif2GMT-12TZif2GMT-12
-12
pytz-2012c/pytz/zoneinfo/Etc/GMT-70000644000175000017500000000017711742721476015433 0ustar  stubstubTZif2bpGMT-7TZif2bpGMT-7
-7
pytz-2012c/pytz/zoneinfo/Etc/GMT00000644000175000017500000000000011742721476023613 1pytz-2012c/pytz/zoneinfo/localtimeustar  stubstubpytz-2012c/pytz/zoneinfo/Etc/GMT+120000644000175000017500000000020211742721476015472 0ustar  stubstubTZif2W@GMT+12TZif2W@GMT+12
12
pytz-2012c/pytz/zoneinfo/Etc/GMT-130000644000175000017500000000020311742721476015476 0ustar  stubstubTZif2GMT-13TZif2GMT-13
-13
pytz-2012c/pytz/zoneinfo/Etc/Universal0000644000175000017500000000000011742721476024042 1pytz-2012c/pytz/zoneinfo/Zuluustar  stubstubpytz-2012c/pytz/zoneinfo/Etc/GMT-30000644000175000017500000000017711742721476015427 0ustar  stubstubTZif2*0GMT-3TZif2*0GMT-3
-3
pytz-2012c/pytz/zoneinfo/Etc/GMT-110000644000175000017500000000020311742721476015474 0ustar  stubstubTZif2GMT-11TZif2GMT-11
-11
pytz-2012c/pytz/zoneinfo/Etc/GMT+10000644000175000017500000000017611742721476015422 0ustar  stubstubTZif2GMT+1TZif2GMT+1
1
pytz-2012c/pytz/zoneinfo/Etc/Greenwich0000644000175000017500000000000011742721476025017 1pytz-2012c/pytz/zoneinfo/localtimeustar  stubstubpytz-2012c/pytz/zoneinfo/Etc/GMT-140000644000175000017500000000020311742721476015477 0ustar  stubstubTZif2GMT-14TZif2GMT-14
-14
pytz-2012c/pytz/zoneinfo/Etc/GMT+100000644000175000017500000000020211742721476015470 0ustar  stubstubTZif2s`GMT+10TZif2s`GMT+10
10
pytz-2012c/pytz/zoneinfo/Etc/GMT0000644000175000017500000000000011742721476023533 1pytz-2012c/pytz/zoneinfo/localtimeustar  stubstubpytz-2012c/pytz/zoneinfo/Etc/GMT+00000644000175000017500000000000011742721476023666 1pytz-2012c/pytz/zoneinfo/localtimeustar  stubstubpytz-2012c/pytz/zoneinfo/Etc/GMT+90000644000175000017500000000017611742721476015432 0ustar  stubstubTZif2pGMT+9TZif2pGMT+9
9
pytz-2012c/pytz/zoneinfo/Etc/GMT-100000644000175000017500000000020311742721476015473 0ustar  stubstubTZif2GMT-10TZif2GMT-10
-10
pytz-2012c/pytz/zoneinfo/Etc/GMT+80000644000175000017500000000017611742721476015431 0ustar  stubstubTZif2GMT+8TZif2GMT+8
8
pytz-2012c/pytz/zoneinfo/Etc/GMT+70000644000175000017500000000017611742721476015430 0ustar  stubstubTZif2GMT+7TZif2GMT+7
7
pytz-2012c/pytz/zoneinfo/Etc/GMT-00000644000175000017500000000000011742721476023670 1pytz-2012c/pytz/zoneinfo/localtimeustar  stubstubpytz-2012c/pytz/zoneinfo/Hongkong0000644000175000017500000000000011742721476024720 1pytz-2012c/pytz/zoneinfo/Asia/Hong_Kongustar  stubstubpytz-2012c/pytz/zoneinfo/Singapore0000644000175000017500000000000011742721476025153 1pytz-2012c/pytz/zoneinfo/Asia/Singaporeustar  stubstubpytz-2012c/pytz/zoneinfo/EST5EDT0000644000175000017500000000436611742721476015206 0ustar  stubstubTZif2p`p`ˈp#p`X;:wp``pP`@p0`p	`	
`p٢
gpfeyHiGY*I)9)")``
p`p`p` v!`"U#j$5%J&'*s'p)
U)ޥp*7+p,T`-ip.6`/~Kp0`1gg2r`3GI4R`5'+62`7
889:;۞p?b@opA`BOpCda`D/vpEDC`EG-_GӊI
AIlJ#KpL@`M|kpN"`O\MpP`Qp?b@opA`BOpCda`D/vpEDC`EG-_GӊI
AIlJ#KpL@`M|kpN"`O\MpP`QxXf8HO!d1Fc(E
g' Y~!΀"B#i$"}%I&_')'()Ԙ*À+z,-\./t>0mi1]Z2V3=<46h56J67,89:Ā;*<=>?~@eA^ЀBEC>D.EFKGGHIׄJuKfzzzESTMISTTZif2_
[x TWp̷Vͧ9pΠsχp~Yv;V?p9
P8/	߀	

~^>xXf8HO!d1Fc(E
g' Y~!΀"B#i$"}%I&_')'()Ԙ*À+z,-\./t>0mi1]Z2V3=<46h56J67,89:Ā;*<=>?~@eA^ЀBEC>D.EFKGGHIׄJuKfzzzESTMIST
MIST-11
pytz-2012c/pytz/zoneinfo/Antarctica/South_Pole0000644000175000017500000000372111742721476020255 0ustar  stubstubTZif2		
`
~^>xgXIf8+`!H`e`*`G``)``g`` F`!`"0	#i$%.`&B'
`'$(`)*ͧ`+#`,`-`.k`/j`0mM`1J`2Vi3*`46K5
`6-678Ӌ9:m;`s1?~`@\N`A^`B<0`C>`D`Ex`E`FZ`GH<`IgJ`KIL`M+N}`Ow
PfQ`*`RFS@`T&U`VV`WX߲`YhZ`[`\]g`^_oI``htaO+`bHVc/
`d(8e`fU`fg7`hi`jk`lm`nwop`p``qYr@`s9t t`uvV`vw8`xcy`zE{6|b`}~D`h		zzzNZDTNZSTTZif2		
`
~^>xgXIf8+`!H`e`*`G``)``g`` F`!`"0	#i$%.`&B'
`'$(`)*ͧ`+#`,`-`.k`/j`0mM`1J`2Vi3*`46K5
`6-678Ӌ9:m;`s1?~`@\N`A^`B<0`C>`D`Ex`E`FZ`GH<`IgJ`KIL`M+N}`Ow
PfQ`*`RFS@`T&U`VV`WX߲`YhZ`[`\]g`^_oI``htaO+`bHVc/
`d(8e`fU`fg7`hi`jk`lm`nwop`p``qYr@`s9t t`uvV`vw8`xcy`zE{6|b`}~D`h		zzzNZDTNZST
NZST-12NZDT,M9.5.0,M4.1.0/3
pytz-2012c/pytz/zoneinfo/Antarctica/Mawson0000644000175000017500000000027611742721476017442 0ustar  stubstubTZif2	 2J"@T`FPzzzMAWTTZif2	 2J"@T`FPzzzMAWT
MAWT-5
pytz-2012c/pytz/zoneinfo/Antarctica/Palmer0000644000175000017500000002111411742721476017410 0ustar  stubstubTZif2}柰C0w@65S0R@504@J$o0]V?8\@>@p @ 0!o@"90#E$0%8&&'١0()½*צ+,-.j/bc0@1BE2`i@3=04@K@5D06
@7հ8@809+:0;
<0=>j0?@SʰAhB3CHDE1@EpG@G0Hv@Io0JX@KL:@M0NPOPBQ;0RZS0T9UVVװWXĹY@Z[¿@\}]@^m0_@`M|0abe@b-^0cBG@d
@0e+ce"0gEg0h'i j	klmun@oUưps@q5rS@st3@t0v@vމ0wr@xk0y܎zM0{p|~/0}R~gK|4
zzzARTARSTCLSTCLTTZif2m柰C0w@65S0R@504@J$o0]V?8\@>@p @ 0!o@"90#E$0%8&&'١0()½*צ+,-.j/bc0@1BE2`i@3=04@K@5D06
@7հ8@809+:0;
<0=>j0?@SʰAhB3CHDE1@EpG@G0Hv@Io0JX@KL:@M0NPOPBQ;0RZS0T9UVVװWXĹY@Z[¿@\}]@^m0_@`M|0abe@b-^0cBG@d
@0e+ce"0gEg0h'i j	klmun@oUưps@q5rS@st3@t0v@vމ0wr@xk0y܎zM0{p|~/0}R~gK|4G-\';%@Ӱ@Ƶ@0Ļ@0@o0Ox0m/Z0M}v-_X
A:#@@"@w@`0u@@0U@ 0>00g0ފleNiGk@I)gM@)G/@(0'@
0@0@00q0Zo:Oyr8@Tx@6Z@S0<@ɣ50ʸ@˃0̘@b0΁B0`"0@ٰ 뻰˝@ثɣ@ڋa۩@kC݉g@T`0iI@4B0I+@$02G0)0|Ȱ쑱\z@<Z@n:@0t@m0V@O08@10T06d0Nb-B
հ"@͙@{˟@	0
@vz0c@
V\0t6>0Ta 04C<%@~İ@^|@G0\@ '0!<@"0#%#i0%%K0&n'-0(P)I*2+p+,-P
.n1@//0N@1Ѱ2-@204
@405@607͛@809:xv0;At?V]@!VA6?B8C\@CD>@EF @G0H@I0J@Ki0L~@MI0NgO)0PGQ	0R'RTTҁUjVcWЇ@XEYi@Zr'[K@\R	]p-@^;&0_P@`0a/@a0c
c0de0fgʰhijkclxwmCpna@o#RpAv@q4r!X@rQ0t:@t30u@v0w8x0yzk0{|T}i~4װI)@}@_҃@|0e@}^0G@]@0{c="0[E0;'0	ư@@e@N0c@.0Cr@k0#T@M0p/0R04-wVu@6ӰT@4@@ߴ0@0@x0a@Z0}_<0}_?0]A(:=#"@@ŧ°@ǐ0ȥ@p0ʅ@P0e@00Ng0.I0leNԹG0֙)׷M@yٗ/@Xw@8ϰV@!06@0@00ߵt0濗犐yjr[JT_=*6HZ@
(<@@0@0@0r0R0p;P0ha@Cg@%I@B0+@	d$0
y
@D0b)
#0B0!0Ȱ@ln@LPjt@5m0JV@O0*8@10!
@!0"6#0$%0&'}()]հ*r+=,[@-.;@.{0@001@2z03c@4\05E@6>07a8f 09C:F0;d%?#?A
@AİB@CD@EF@Gw0H@IW0Jlp@K7i0LUMK0N5nN-0PPPIQ2R+ST
UVW@X_ѰY}@Z?[]@\(0]=@^0_@_0aav0bcX0d{etf]gqVh?iQ8jf!k1lO>@mn/ @nްp@pq@r0s@t0u@vy0wxY0ywz9e0{W|"}7j~cLE.'K@	-@@k0@J0_@*0H
0(0r0wpYsRv@S4qX@3Q:@301@0@0@00{0dyDY$}B@_"@Ae@^0G@@0)@"0@m0'L0k	,0J*ư
ը@Ӯ@Õlij@uNƓr@^k0sT@>M0S6@/0N	G0)/@@ϰ@q0@Q0f@	10
F@0/t0V0yr[T=z6Z@Zx<@9X@#08@0@0@½0 !0"#0$%k&'K(`h)+a*I@+C,)g@,%.	I@./+@0$01
@203@4s056S07q8309Q:Ȱ;1;==܌>u?n@ڒ@APBt@
zzzARTARSTCLSTCLT

pytz-2012c/pytz/zoneinfo/Antarctica/Syowa0000644000175000017500000000024011742721476017267 0ustar  stubstubTZif2	X*0zzzSYOTTZif2	X*0zzzSYOT
SYOT-3
pytz-2012c/pytz/zoneinfo/Antarctica/McMurdo0000644000175000017500000000000011742721476030171 1pytz-2012c/pytz/zoneinfo/Antarctica/South_Poleustar  stubstubpytz-2012c/pytz/zoneinfo/Iran0000644000175000017500000000000011742721476023407 1pytz-2012c/pytz/zoneinfo/Asia/Tehranustar  stubstubpytz-2012c/pytz/zoneinfo/Canada/0000775000175000017500000000000011742722012015331 5ustar  stubstubpytz-2012c/pytz/zoneinfo/Canada/Saskatchewan0000644000175000017500000000000011742721476026751 1pytz-2012c/pytz/zoneinfo/America/Reginaustar  stubstubpytz-2012c/pytz/zoneinfo/Canada/Pacific0000644000175000017500000000000011742721476026436 1pytz-2012c/pytz/zoneinfo/America/Vancouverustar  stubstubpytz-2012c/pytz/zoneinfo/Canada/Newfoundland0000644000175000017500000000000011742721476027303 1pytz-2012c/pytz/zoneinfo/America/St_Johnsustar  stubstubpytz-2012c/pytz/zoneinfo/Canada/East-Saskatchewan0000644000175000017500000000000011742721476027643 1pytz-2012c/pytz/zoneinfo/America/Reginaustar  stubstubpytz-2012c/pytz/zoneinfo/Canada/Atlantic0000644000175000017500000000000011742721476026243 1pytz-2012c/pytz/zoneinfo/America/Halifaxustar  stubstubpytz-2012c/pytz/zoneinfo/Canada/Yukon0000644000175000017500000000000011742721476026356 1pytz-2012c/pytz/zoneinfo/America/Whitehorseustar  stubstubpytz-2012c/pytz/zoneinfo/Canada/Eastern0000644000175000017500000000000011742721476026175 1pytz-2012c/pytz/zoneinfo/America/Torontoustar  stubstubpytz-2012c/pytz/zoneinfo/Canada/Mountain0000644000175000017500000000000011742721476026505 1pytz-2012c/pytz/zoneinfo/America/Edmontonustar  stubstubpytz-2012c/pytz/zoneinfo/Canada/Central0000644000175000017500000000000011742721476026300 1pytz-2012c/pytz/zoneinfo/America/Winnipegustar  stubstubpytz-2012c/pytz/zoneinfo/Chile/0000775000175000017500000000000011742722012015206 5ustar  stubstubpytz-2012c/pytz/zoneinfo/Chile/Continental0000644000175000017500000000000011742721476027030 1pytz-2012c/pytz/zoneinfo/America/Santiagoustar  stubstubpytz-2012c/pytz/zoneinfo/Chile/EasterIsland0000644000175000017500000000000011742721476026603 1pytz-2012c/pytz/zoneinfo/Pacific/Easterustar  stubstubpytz-2012c/pytz/zoneinfo/MST0000644000175000017500000000016611742721476014566 0ustar  stubstubTZif2MSTTZif2MST
MST7
pytz-2012c/pytz/zoneinfo/ROC0000644000175000017500000000000011742721476023133 1pytz-2012c/pytz/zoneinfo/Asia/Taipeiustar  stubstubpytz-2012c/pytz/zoneinfo/WET0000644000175000017500000000352111742721476014560 0ustar  stubstubTZif2z	
cEt6d'TMD3#ܐ͐㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~yWESTWETTZif2z	
cEt6d'TMD3#ܐ͐㯐ӠÑ| lr!\c"LT#A?@f#A9BFCdD%ECFɐG#GIIJKL̿MNOnnPQWRleS7lTLGUNV,)V0XFXY(Z[
\]^_`_a}b?c]̐de=fgg藐hriyjTk[lqm=nSohp5qQ<rfs1tEuv/vxxyِz{λ|}~yWESTWET
WET0WEST,M3.5.0/1,M10.5.0
pytz-2012c/pytz/zoneinfo/GMT-00000644000175000017500000000000011742721476023155 1pytz-2012c/pytz/zoneinfo/localtimeustar  stubstubpytz-2012c/pytz/tests/0000775000175000017500000000000011742722012013475 5ustar  stubstubpytz-2012c/pytz/tests/test_tzinfo.py0000644000175000017500000006675011742721477016451 0ustar  stubstub# -*- coding: ascii -*-

import sys, os, os.path
import unittest, doctest
try:
    import cPickle as pickle
except ImportError:
    import pickle
from datetime import datetime, time, timedelta, tzinfo
import warnings

if __name__ == '__main__':
    # Only munge path if invoked as a script. Testrunners should have setup
    # the paths already
    sys.path.insert(0, os.path.abspath(os.path.join(os.pardir, os.pardir)))

import pytz
from pytz import reference
from pytz.tzfile import _byte_string
from pytz.tzinfo import DstTzInfo, StaticTzInfo

# I test for expected version to ensure the correct version of pytz is
# actually being tested.
EXPECTED_VERSION='2012c'

fmt = '%Y-%m-%d %H:%M:%S %Z%z'

NOTIME = timedelta(0)

# GMT is a tzinfo.StaticTzInfo--the class we primarily want to test--while
# UTC is reference implementation.  They both have the same timezone meaning.
UTC = pytz.timezone('UTC')
GMT = pytz.timezone('GMT')
assert isinstance(GMT, StaticTzInfo), 'GMT is no longer a StaticTzInfo'

def prettydt(dt):
    """datetime as a string using a known format.

    We don't use strftime as it doesn't handle years earlier than 1900
    per http://bugs.python.org/issue1777412
    """
    if dt.utcoffset() >= timedelta(0):
        offset = '+%s' % (dt.utcoffset(),)
    else:
        offset = '-%s' % (-1 * dt.utcoffset(),)
    return '%04d-%02d-%02d %02d:%02d:%02d %s %s' % (
        dt.year, dt.month, dt.day,
        dt.hour, dt.minute, dt.second,
        dt.tzname(), offset)


try:
    unicode
except NameError:
    # Python 3.x doesn't have unicode(), making writing code
    # for Python 2.3 and Python 3.x a pain.
    unicode = str


class BasicTest(unittest.TestCase):

    def testVersion(self):
        # Ensuring the correct version of pytz has been loaded
        self.assertEqual(EXPECTED_VERSION, pytz.__version__,
                'Incorrect pytz version loaded. Import path is stuffed '
                'or this test needs updating. (Wanted %s, got %s)'
                % (EXPECTED_VERSION, pytz.__version__)
                )

    def testGMT(self):
        now = datetime.now(tz=GMT)
        self.assertTrue(now.utcoffset() == NOTIME)
        self.assertTrue(now.dst() == NOTIME)
        self.assertTrue(now.timetuple() == now.utctimetuple())
        self.assertTrue(now==now.replace(tzinfo=UTC))

    def testReferenceUTC(self):
        now = datetime.now(tz=UTC)
        self.assertTrue(now.utcoffset() == NOTIME)
        self.assertTrue(now.dst() == NOTIME)
        self.assertTrue(now.timetuple() == now.utctimetuple())

    def testUnknownOffsets(self):
        # This tzinfo behavior is required to make
        # datetime.time.{utcoffset, dst, tzname} work as documented.

        dst_tz = pytz.timezone('US/Eastern')

        # This information is not known when we don't have a date,
        # so return None per API.
        self.assertTrue(dst_tz.utcoffset(None) is None)
        self.assertTrue(dst_tz.dst(None) is None)
        # We don't know the abbreviation, but this is still a valid
        # tzname per the Python documentation.
        self.assertEqual(dst_tz.tzname(None), 'US/Eastern')

    def clearCache(self):
        pytz._tzinfo_cache.clear()

    def testUnicodeTimezone(self):
        # We need to ensure that cold lookups work for both Unicode
        # and traditional strings, and that the desired singleton is
        # returned.
        self.clearCache()
        eastern = pytz.timezone(unicode('US/Eastern'))
        self.assertTrue(eastern is pytz.timezone('US/Eastern'))

        self.clearCache()
        eastern = pytz.timezone('US/Eastern')
        self.assertTrue(eastern is pytz.timezone(unicode('US/Eastern')))


class PicklingTest(unittest.TestCase):

    def _roundtrip_tzinfo(self, tz):
        p = pickle.dumps(tz)
        unpickled_tz = pickle.loads(p)
        self.assertTrue(tz is unpickled_tz, '%s did not roundtrip' % tz.zone)

    def _roundtrip_datetime(self, dt):
        # Ensure that the tzinfo attached to a datetime instance
        # is identical to the one returned. This is important for
        # DST timezones, as some state is stored in the tzinfo.
        tz = dt.tzinfo
        p = pickle.dumps(dt)
        unpickled_dt = pickle.loads(p)
        unpickled_tz = unpickled_dt.tzinfo
        self.assertTrue(tz is unpickled_tz, '%s did not roundtrip' % tz.zone)

    def testDst(self):
        tz = pytz.timezone('Europe/Amsterdam')
        dt = datetime(2004, 2, 1, 0, 0, 0)

        for localized_tz in tz._tzinfos.values():
            self._roundtrip_tzinfo(localized_tz)
            self._roundtrip_datetime(dt.replace(tzinfo=localized_tz))

    def testRoundtrip(self):
        dt = datetime(2004, 2, 1, 0, 0, 0)
        for zone in pytz.all_timezones:
            tz = pytz.timezone(zone)
            self._roundtrip_tzinfo(tz)

    def testDatabaseFixes(self):
        # Hack the pickle to make it refer to a timezone abbreviation
        # that does not match anything. The unpickler should be able
        # to repair this case
        tz = pytz.timezone('Australia/Melbourne')
        p = pickle.dumps(tz)
        tzname = tz._tzname
        hacked_p = p.replace(_byte_string(tzname), _byte_string('???'))
        self.assertNotEqual(p, hacked_p)
        unpickled_tz = pickle.loads(hacked_p)
        self.assertTrue(tz is unpickled_tz)

        # Simulate a database correction. In this case, the incorrect
        # data will continue to be used.
        p = pickle.dumps(tz)
        new_utcoffset = tz._utcoffset.seconds + 42

        # Python 3 introduced a new pickle protocol where numbers are stored in
        # hexadecimal representation. Here we extract the pickle
        # representation of the number for the current Python version.
        old_pickle_pattern = pickle.dumps(tz._utcoffset.seconds)[3:-1]
        new_pickle_pattern = pickle.dumps(new_utcoffset)[3:-1]
        hacked_p = p.replace(old_pickle_pattern, new_pickle_pattern)

        self.assertNotEqual(p, hacked_p)
        unpickled_tz = pickle.loads(hacked_p)
        self.assertEqual(unpickled_tz._utcoffset.seconds, new_utcoffset)
        self.assertTrue(tz is not unpickled_tz)

    def testOldPickles(self):
        # Ensure that applications serializing pytz instances as pickles
        # have no troubles upgrading to a new pytz release. These pickles
        # where created with pytz2006j
        east1 = pickle.loads(_byte_string(
            "cpytz\n_p\np1\n(S'US/Eastern'\np2\nI-18000\n"
            "I0\nS'EST'\np3\ntRp4\n."
            ))
        east2 = pytz.timezone('US/Eastern')
        self.assertTrue(east1 is east2)

        # Confirm changes in name munging between 2006j and 2007c cause
        # no problems.
        pap1 = pickle.loads(_byte_string(
            "cpytz\n_p\np1\n(S'America/Port_minus_au_minus_Prince'"
            "\np2\nI-17340\nI0\nS'PPMT'\np3\ntRp4\n."))
        pap2 = pytz.timezone('America/Port-au-Prince')
        self.assertTrue(pap1 is pap2)

        gmt1 = pickle.loads(_byte_string(
            "cpytz\n_p\np1\n(S'Etc/GMT_plus_10'\np2\ntRp3\n."))
        gmt2 = pytz.timezone('Etc/GMT+10')
        self.assertTrue(gmt1 is gmt2)


class USEasternDSTStartTestCase(unittest.TestCase):
    tzinfo = pytz.timezone('US/Eastern')

    # 24 hours before DST changeover
    transition_time = datetime(2002, 4, 7, 7, 0, 0, tzinfo=UTC)

    # Increase for 'flexible' DST transitions due to 1 minute granularity
    # of Python's datetime library
    instant = timedelta(seconds=1)

    # before transition
    before = {
        'tzname': 'EST',
        'utcoffset': timedelta(hours = -5),
        'dst': timedelta(hours = 0),
        }

    # after transition
    after = {
        'tzname': 'EDT',
        'utcoffset': timedelta(hours = -4),
        'dst': timedelta(hours = 1),
        }

    def _test_tzname(self, utc_dt, wanted):
        tzname = wanted['tzname']
        dt = utc_dt.astimezone(self.tzinfo)
        self.assertEqual(dt.tzname(), tzname,
            'Expected %s as tzname for %s. Got %s' % (
                tzname, str(utc_dt), dt.tzname()
                )
            )

    def _test_utcoffset(self, utc_dt, wanted):
        utcoffset = wanted['utcoffset']
        dt = utc_dt.astimezone(self.tzinfo)
        self.assertEqual(
                dt.utcoffset(), wanted['utcoffset'],
                'Expected %s as utcoffset for %s. Got %s' % (
                    utcoffset, utc_dt, dt.utcoffset()
                    )
                )

    def _test_dst(self, utc_dt, wanted):
        dst = wanted['dst']
        dt = utc_dt.astimezone(self.tzinfo)
        self.assertEqual(dt.dst(),dst,
            'Expected %s as dst for %s. Got %s' % (
                dst, utc_dt, dt.dst()
                )
            )

    def test_arithmetic(self):
        utc_dt = self.transition_time

        for days in range(-420, 720, 20):
            delta = timedelta(days=days)

            # Make sure we can get back where we started
            dt = utc_dt.astimezone(self.tzinfo)
            dt2 = dt + delta
            dt2 = dt2 - delta
            self.assertEqual(dt, dt2)

            # Make sure arithmetic crossing DST boundaries ends
            # up in the correct timezone after normalization
            utc_plus_delta = (utc_dt + delta).astimezone(self.tzinfo)
            local_plus_delta = self.tzinfo.normalize(dt + delta)
            self.assertEqual(
                    prettydt(utc_plus_delta),
                    prettydt(local_plus_delta),
                    'Incorrect result for delta==%d days.  Wanted %r. Got %r'%(
                        days,
                        prettydt(utc_plus_delta),
                        prettydt(local_plus_delta),
                        )
                    )

    def _test_all(self, utc_dt, wanted):
        self._test_utcoffset(utc_dt, wanted)
        self._test_tzname(utc_dt, wanted)
        self._test_dst(utc_dt, wanted)

    def testDayBefore(self):
        self._test_all(
                self.transition_time - timedelta(days=1), self.before
                )

    def testTwoHoursBefore(self):
        self._test_all(
                self.transition_time - timedelta(hours=2), self.before
                )

    def testHourBefore(self):
        self._test_all(
                self.transition_time - timedelta(hours=1), self.before
                )

    def testInstantBefore(self):
        self._test_all(
                self.transition_time - self.instant, self.before
                )

    def testTransition(self):
        self._test_all(
                self.transition_time, self.after
                )

    def testInstantAfter(self):
        self._test_all(
                self.transition_time + self.instant, self.after
                )

    def testHourAfter(self):
        self._test_all(
                self.transition_time + timedelta(hours=1), self.after
                )

    def testTwoHoursAfter(self):
        self._test_all(
                self.transition_time + timedelta(hours=1), self.after
                )

    def testDayAfter(self):
        self._test_all(
                self.transition_time + timedelta(days=1), self.after
                )


class USEasternDSTEndTestCase(USEasternDSTStartTestCase):
    tzinfo = pytz.timezone('US/Eastern')
    transition_time = datetime(2002, 10, 27, 6, 0, 0, tzinfo=UTC)
    before = {
        'tzname': 'EDT',
        'utcoffset': timedelta(hours = -4),
        'dst': timedelta(hours = 1),
        }
    after = {
        'tzname': 'EST',
        'utcoffset': timedelta(hours = -5),
        'dst': timedelta(hours = 0),
        }


class USEasternEPTStartTestCase(USEasternDSTStartTestCase):
    transition_time = datetime(1945, 8, 14, 23, 0, 0, tzinfo=UTC)
    before = {
        'tzname': 'EWT',
        'utcoffset': timedelta(hours = -4),
        'dst': timedelta(hours = 1),
        }
    after = {
        'tzname': 'EPT',
        'utcoffset': timedelta(hours = -4),
        'dst': timedelta(hours = 1),
        }


class USEasternEPTEndTestCase(USEasternDSTStartTestCase):
    transition_time = datetime(1945, 9, 30, 6, 0, 0, tzinfo=UTC)
    before = {
        'tzname': 'EPT',
        'utcoffset': timedelta(hours = -4),
        'dst': timedelta(hours = 1),
        }
    after = {
        'tzname': 'EST',
        'utcoffset': timedelta(hours = -5),
        'dst': timedelta(hours = 0),
        }


class WarsawWMTEndTestCase(USEasternDSTStartTestCase):
    # In 1915, Warsaw changed from Warsaw to Central European time.
    # This involved the clocks being set backwards, causing a end-of-DST
    # like situation without DST being involved.
    tzinfo = pytz.timezone('Europe/Warsaw')
    transition_time = datetime(1915, 8, 4, 22, 36, 0, tzinfo=UTC)
    before = {
        'tzname': 'WMT',
        'utcoffset': timedelta(hours=1, minutes=24),
        'dst': timedelta(0),
        }
    after = {
        'tzname': 'CET',
        'utcoffset': timedelta(hours=1),
        'dst': timedelta(0),
        }


class VilniusWMTEndTestCase(USEasternDSTStartTestCase):
    # At the end of 1916, Vilnius changed timezones putting its clock
    # forward by 11 minutes 35 seconds. Neither timezone was in DST mode.
    tzinfo = pytz.timezone('Europe/Vilnius')
    instant = timedelta(seconds=31)
    transition_time = datetime(1916, 12, 31, 22, 36, 00, tzinfo=UTC)
    before = {
        'tzname': 'WMT',
        'utcoffset': timedelta(hours=1, minutes=24),
        'dst': timedelta(0),
        }
    after = {
        'tzname': 'KMT',
        'utcoffset': timedelta(hours=1, minutes=36), # Really 1:35:36
        'dst': timedelta(0),
        }


class VilniusCESTStartTestCase(USEasternDSTStartTestCase):
    # In 1941, Vilnius changed from MSG to CEST, switching to summer
    # time while simultaneously reducing its UTC offset by two hours,
    # causing the clocks to go backwards for this summer time
    # switchover.
    tzinfo = pytz.timezone('Europe/Vilnius')
    transition_time = datetime(1941, 6, 23, 21, 00, 00, tzinfo=UTC)
    before = {
        'tzname': 'MSK',
        'utcoffset': timedelta(hours=3),
        'dst': timedelta(0),
        }
    after = {
        'tzname': 'CEST',
        'utcoffset': timedelta(hours=2),
        'dst': timedelta(hours=1),
        }


class LondonHistoryStartTestCase(USEasternDSTStartTestCase):
    # The first known timezone transition in London was in 1847 when
    # clocks where synchronized to GMT. However, we currently only
    # understand v1 format tzfile(5) files which does handle years
    # this far in the past, so our earliest known transition is in
    # 1916.
    tzinfo = pytz.timezone('Europe/London')
    # transition_time = datetime(1847, 12, 1, 1, 15, 00, tzinfo=UTC)
    # before = {
    #     'tzname': 'LMT',
    #     'utcoffset': timedelta(minutes=-75),
    #     'dst': timedelta(0),
    #     }
    # after = {
    #     'tzname': 'GMT',
    #     'utcoffset': timedelta(0),
    #     'dst': timedelta(0),
    #     }
    transition_time = datetime(1916, 5, 21, 2, 00, 00, tzinfo=UTC)
    before = {
        'tzname': 'GMT',
        'utcoffset': timedelta(0),
        'dst': timedelta(0),
        }
    after = {
        'tzname': 'BST',
        'utcoffset': timedelta(hours=1),
        'dst': timedelta(hours=1),
        }


class LondonHistoryEndTestCase(USEasternDSTStartTestCase):
    # Timezone switchovers are projected into the future, even
    # though no official statements exist or could be believed even
    # if they did exist. We currently only check the last known
    # transition in 2037, as we are still using v1 format tzfile(5)
    # files.
    tzinfo = pytz.timezone('Europe/London')
    # transition_time = datetime(2499, 10, 25, 1, 0, 0, tzinfo=UTC)
    transition_time = datetime(2037, 10, 25, 1, 0, 0, tzinfo=UTC)
    before = {
        'tzname': 'BST',
        'utcoffset': timedelta(hours=1),
        'dst': timedelta(hours=1),
        }
    after = {
        'tzname': 'GMT',
        'utcoffset': timedelta(0),
        'dst': timedelta(0),
        }


class NoumeaHistoryStartTestCase(USEasternDSTStartTestCase):
    # Noumea adopted a whole hour offset in 1912. Previously
    # it was 11 hours, 5 minutes and 48 seconds off UTC. However,
    # due to limitations of the Python datetime library, we need
    # to round that to 11 hours 6 minutes.
    tzinfo = pytz.timezone('Pacific/Noumea')
    transition_time = datetime(1912, 1, 12, 12, 54, 12, tzinfo=UTC)
    before = {
        'tzname': 'LMT',
        'utcoffset': timedelta(hours=11, minutes=6),
        'dst': timedelta(0),
        }
    after = {
        'tzname': 'NCT',
        'utcoffset': timedelta(hours=11),
        'dst': timedelta(0),
        }


class NoumeaDSTEndTestCase(USEasternDSTStartTestCase):
    # Noumea dropped DST in 1997.
    tzinfo = pytz.timezone('Pacific/Noumea')
    transition_time = datetime(1997, 3, 1, 15, 00, 00, tzinfo=UTC)
    before = {
        'tzname': 'NCST',
        'utcoffset': timedelta(hours=12),
        'dst': timedelta(hours=1),
        }
    after = {
        'tzname': 'NCT',
        'utcoffset': timedelta(hours=11),
        'dst': timedelta(0),
        }


class NoumeaNoMoreDSTTestCase(NoumeaDSTEndTestCase):
    # Noumea dropped DST in 1997. Here we test that it stops occuring.
    transition_time = (
        NoumeaDSTEndTestCase.transition_time + timedelta(days=365*10))
    before = NoumeaDSTEndTestCase.after
    after = NoumeaDSTEndTestCase.after


class TahitiTestCase(USEasternDSTStartTestCase):
    # Tahiti has had a single transition in its history.
    tzinfo = pytz.timezone('Pacific/Tahiti')
    transition_time = datetime(1912, 10, 1, 9, 58, 16, tzinfo=UTC)
    before = {
        'tzname': 'LMT',
        'utcoffset': timedelta(hours=-9, minutes=-58),
        'dst': timedelta(0),
        }
    after = {
        'tzname': 'TAHT',
        'utcoffset': timedelta(hours=-10),
        'dst': timedelta(0),
        }


class SamoaInternationalDateLineChange(USEasternDSTStartTestCase):
    # At the end of 2011, Samoa will switch from being east of the
    # international dateline to the west. There will be no Dec 30th
    # 2011 and it will switch from UTC-10 to UTC+14.
    tzinfo = pytz.timezone('Pacific/Apia')
    transition_time = datetime(2011, 12, 30, 10, 0, 0, tzinfo=UTC)
    before = {
        'tzname': 'WSDT',
        'utcoffset': timedelta(hours=-10),
        'dst': timedelta(hours=1),
        }
    after = {
        'tzname': 'WSDT',
        'utcoffset': timedelta(hours=14),
        'dst': timedelta(hours=1),
        }


class ReferenceUSEasternDSTStartTestCase(USEasternDSTStartTestCase):
    tzinfo = reference.Eastern
    def test_arithmetic(self):
        # Reference implementation cannot handle this
        pass


class ReferenceUSEasternDSTEndTestCase(USEasternDSTEndTestCase):
    tzinfo = reference.Eastern

    def testHourBefore(self):
        # Python's datetime library has a bug, where the hour before
        # a daylight savings transition is one hour out. For example,
        # at the end of US/Eastern daylight savings time, 01:00 EST
        # occurs twice (once at 05:00 UTC and once at 06:00 UTC),
        # whereas the first should actually be 01:00 EDT.
        # Note that this bug is by design - by accepting this ambiguity
        # for one hour one hour per year, an is_dst flag on datetime.time
        # became unnecessary.
        self._test_all(
                self.transition_time - timedelta(hours=1), self.after
                )

    def testInstantBefore(self):
        self._test_all(
                self.transition_time - timedelta(seconds=1), self.after
                )

    def test_arithmetic(self):
        # Reference implementation cannot handle this
        pass


class LocalTestCase(unittest.TestCase):
    def testLocalize(self):
        loc_tz = pytz.timezone('Europe/Amsterdam')

        loc_time = loc_tz.localize(datetime(1930, 5, 10, 0, 0, 0))
        # Actually +00:19:32, but Python datetime rounds this
        self.assertEqual(loc_time.strftime('%Z%z'), 'AMT+0020')

        loc_time = loc_tz.localize(datetime(1930, 5, 20, 0, 0, 0))
        # Actually +00:19:32, but Python datetime rounds this
        self.assertEqual(loc_time.strftime('%Z%z'), 'NST+0120')

        loc_time = loc_tz.localize(datetime(1940, 5, 10, 0, 0, 0))
        self.assertEqual(loc_time.strftime('%Z%z'), 'NET+0020')

        loc_time = loc_tz.localize(datetime(1940, 5, 20, 0, 0, 0))
        self.assertEqual(loc_time.strftime('%Z%z'), 'CEST+0200')

        loc_time = loc_tz.localize(datetime(2004, 2, 1, 0, 0, 0))
        self.assertEqual(loc_time.strftime('%Z%z'), 'CET+0100')

        loc_time = loc_tz.localize(datetime(2004, 4, 1, 0, 0, 0))
        self.assertEqual(loc_time.strftime('%Z%z'), 'CEST+0200')

        tz = pytz.timezone('Europe/Amsterdam')
        loc_time = loc_tz.localize(datetime(1943, 3, 29, 1, 59, 59))
        self.assertEqual(loc_time.strftime('%Z%z'), 'CET+0100')


        # Switch to US
        loc_tz = pytz.timezone('US/Eastern')

        # End of DST ambiguity check
        loc_time = loc_tz.localize(datetime(1918, 10, 27, 1, 59, 59), is_dst=1)
        self.assertEqual(loc_time.strftime('%Z%z'), 'EDT-0400')

        loc_time = loc_tz.localize(datetime(1918, 10, 27, 1, 59, 59), is_dst=0)
        self.assertEqual(loc_time.strftime('%Z%z'), 'EST-0500')

        self.assertRaises(pytz.AmbiguousTimeError,
            loc_tz.localize, datetime(1918, 10, 27, 1, 59, 59), is_dst=None
            )

        # Start of DST non-existent times
        loc_time = loc_tz.localize(datetime(1918, 3, 31, 2, 0, 0), is_dst=0)
        self.assertEqual(loc_time.strftime('%Z%z'), 'EST-0500')

        loc_time = loc_tz.localize(datetime(1918, 3, 31, 2, 0, 0), is_dst=1)
        self.assertEqual(loc_time.strftime('%Z%z'), 'EDT-0400')

        self.assertRaises(pytz.NonExistentTimeError,
            loc_tz.localize, datetime(1918, 3, 31, 2, 0, 0), is_dst=None
            )

        # Weird changes - war time and peace time both is_dst==True

        loc_time = loc_tz.localize(datetime(1942, 2, 9, 3, 0, 0))
        self.assertEqual(loc_time.strftime('%Z%z'), 'EWT-0400')

        loc_time = loc_tz.localize(datetime(1945, 8, 14, 19, 0, 0))
        self.assertEqual(loc_time.strftime('%Z%z'), 'EPT-0400')

        loc_time = loc_tz.localize(datetime(1945, 9, 30, 1, 0, 0), is_dst=1)
        self.assertEqual(loc_time.strftime('%Z%z'), 'EPT-0400')

        loc_time = loc_tz.localize(datetime(1945, 9, 30, 1, 0, 0), is_dst=0)
        self.assertEqual(loc_time.strftime('%Z%z'), 'EST-0500')

    def testNormalize(self):
        tz = pytz.timezone('US/Eastern')
        dt = datetime(2004, 4, 4, 7, 0, 0, tzinfo=UTC).astimezone(tz)
        dt2 = dt - timedelta(minutes=10)
        self.assertEqual(
                dt2.strftime('%Y-%m-%d %H:%M:%S %Z%z'),
                '2004-04-04 02:50:00 EDT-0400'
                )

        dt2 = tz.normalize(dt2)
        self.assertEqual(
                dt2.strftime('%Y-%m-%d %H:%M:%S %Z%z'),
                '2004-04-04 01:50:00 EST-0500'
                )

    def testPartialMinuteOffsets(self):
        # utcoffset in Amsterdam was not a whole minute until 1937
        # However, we fudge this by rounding them, as the Python
        # datetime library 
        tz = pytz.timezone('Europe/Amsterdam')
        utc_dt = datetime(1914, 1, 1, 13, 40, 28, tzinfo=UTC) # correct
        utc_dt = utc_dt.replace(second=0) # But we need to fudge it
        loc_dt = utc_dt.astimezone(tz)
        self.assertEqual(
                loc_dt.strftime('%Y-%m-%d %H:%M:%S %Z%z'),
                '1914-01-01 14:00:00 AMT+0020'
                )

        # And get back...
        utc_dt = loc_dt.astimezone(UTC)
        self.assertEqual(
                utc_dt.strftime('%Y-%m-%d %H:%M:%S %Z%z'),
                '1914-01-01 13:40:00 UTC+0000'
                )

    def no_testCreateLocaltime(self):
        # It would be nice if this worked, but it doesn't.
        tz = pytz.timezone('Europe/Amsterdam')
        dt = datetime(2004, 10, 31, 2, 0, 0, tzinfo=tz)
        self.assertEqual(
                dt.strftime(fmt),
                '2004-10-31 02:00:00 CET+0100'
                )


class CommonTimezonesTestCase(unittest.TestCase):
    def test_bratislava(self):
        # Bratislava is the default timezone for Slovakia, but our
        # heuristics where not adding it to common_timezones. Ideally,
        # common_timezones should be populated from zone.tab at runtime,
        # but I'm hesitant to pay the startup cost as loading the list
        # on demand whilst remaining backwards compatible seems
        # difficult.
        self.assertTrue('Europe/Bratislava' in pytz.common_timezones)
        self.assertTrue('Europe/Bratislava' in pytz.common_timezones_set)

    def test_us_eastern(self):
        self.assertTrue('US/Eastern' in pytz.common_timezones)
        self.assertTrue('US/Eastern' in pytz.common_timezones_set)

    def test_belfast(self):
        # Belfast uses London time.
        self.assertTrue('Europe/Belfast' in pytz.all_timezones_set)
        self.assertFalse('Europe/Belfast' in pytz.common_timezones)
        self.assertFalse('Europe/Belfast' in pytz.common_timezones_set)


class BaseTzInfoTestCase:
    '''Ensure UTC, StaticTzInfo and DstTzInfo work consistently.

    These tests are run for each type of tzinfo.
    '''
    tz = None  # override
    tz_class = None  # override

    def test_expectedclass(self):
        self.assertTrue(isinstance(self.tz, self.tz_class))

    def test_fromutc(self):
        # naive datetime.
        dt1 = datetime(2011, 10, 31)

        # localized datetime, same timezone.
        dt2 = self.tz.localize(dt1)

        # Both should give the same results. Note that the standard
        # Python tzinfo.fromutc() only supports the second.
        for dt in [dt1, dt2]:
            loc_dt = self.tz.fromutc(dt)
            loc_dt2 = pytz.utc.localize(dt1).astimezone(self.tz)
            self.assertEqual(loc_dt, loc_dt2)

        # localized datetime, different timezone.
        new_tz = pytz.timezone('Europe/Paris')
        self.assertTrue(self.tz is not new_tz)
        dt3 = new_tz.localize(dt1)
        self.assertRaises(ValueError, self.tz.fromutc, dt3)

    def test_normalize(self):
        other_tz = pytz.timezone('Europe/Paris')
        self.assertTrue(self.tz is not other_tz)

        dt = datetime(2012, 3, 26, 12, 0)
        other_dt = other_tz.localize(dt)

        local_dt = self.tz.normalize(other_dt)

        self.assertTrue(local_dt.tzinfo is not other_dt.tzinfo)
        self.assertNotEqual(
            local_dt.replace(tzinfo=None), other_dt.replace(tzinfo=None))

    def test_astimezone(self):
        other_tz = pytz.timezone('Europe/Paris')
        self.assertTrue(self.tz is not other_tz)

        dt = datetime(2012, 3, 26, 12, 0)
        other_dt = other_tz.localize(dt)

        local_dt = other_dt.astimezone(self.tz)

        self.assertTrue(local_dt.tzinfo is not other_dt.tzinfo)
        self.assertNotEqual(
            local_dt.replace(tzinfo=None), other_dt.replace(tzinfo=None))


class OptimizedUTCTestCase(unittest.TestCase, BaseTzInfoTestCase):
    tz = pytz.utc
    tz_class = tz.__class__


class LegacyUTCTestCase(unittest.TestCase, BaseTzInfoTestCase):
    # Deprecated timezone, but useful for comparison tests.
    tz = pytz.timezone('Etc/UTC')
    tz_class = StaticTzInfo


class StaticTzInfoTestCase(unittest.TestCase, BaseTzInfoTestCase):
    tz = pytz.timezone('GMT')
    tz_class = StaticTzInfo


class DstTzInfoTestCase(unittest.TestCase, BaseTzInfoTestCase):
    tz = pytz.timezone('Australia/Melbourne')
    tz_class = DstTzInfo


def test_suite():
    suite = unittest.TestSuite()
    suite.addTest(doctest.DocTestSuite('pytz'))
    suite.addTest(doctest.DocTestSuite('pytz.tzinfo'))
    import test_tzinfo
    suite.addTest(unittest.defaultTestLoader.loadTestsFromModule(test_tzinfo))
    return suite


if __name__ == '__main__':
    warnings.simplefilter("error") # Warnings should be fatal in tests.
    unittest.main(defaultTest='test_suite')

pytz-2012c/pytz/tests/test_docs.py0000644000175000017500000000153011742721477016051 0ustar  stubstub# -*- coding: ascii -*-

from doctest import DocTestSuite
import unittest, os, os.path, sys
import warnings

# We test the documentation this way instead of using DocFileSuite so
# we can run the tests under Python 2.3
def test_README():
    pass

this_dir = os.path.dirname(__file__)
locs = [
    os.path.join(this_dir, os.pardir, 'README.txt'),
    os.path.join(this_dir, os.pardir, os.pardir, 'README.txt'),
    ]
for loc in locs:
    if os.path.exists(loc):
        test_README.__doc__ = open(loc).read()
        break
if test_README.__doc__ is None:
    raise RuntimeError('README.txt not found')


def test_suite():
    "For the Z3 test runner"
    return DocTestSuite()


if __name__ == '__main__':
    sys.path.insert(0, os.path.abspath(os.path.join(
        this_dir, os.pardir, os.pardir
        )))
    unittest.main(defaultTest='test_suite')


pytz-2012c/pytz/tzinfo.py0000644000175000017500000004541311742721477014241 0ustar  stubstub'''Base classes and helpers for building zone specific tzinfo classes'''

from datetime import datetime, timedelta, tzinfo
from bisect import bisect_right
try:
    set
except NameError:
    from sets import Set as set

import pytz
from pytz.exceptions import AmbiguousTimeError, NonExistentTimeError

__all__ = []

_timedelta_cache = {}
def memorized_timedelta(seconds):
    '''Create only one instance of each distinct timedelta'''
    try:
        return _timedelta_cache[seconds]
    except KeyError:
        delta = timedelta(seconds=seconds)
        _timedelta_cache[seconds] = delta
        return delta

_epoch = datetime.utcfromtimestamp(0)
_datetime_cache = {0: _epoch}
def memorized_datetime(seconds):
    '''Create only one instance of each distinct datetime'''
    try:
        return _datetime_cache[seconds]
    except KeyError:
        # NB. We can't just do datetime.utcfromtimestamp(seconds) as this
        # fails with negative values under Windows (Bug #90096)
        dt = _epoch + timedelta(seconds=seconds)
        _datetime_cache[seconds] = dt
        return dt

_ttinfo_cache = {}
def memorized_ttinfo(*args):
    '''Create only one instance of each distinct tuple'''
    try:
        return _ttinfo_cache[args]
    except KeyError:
        ttinfo = (
                memorized_timedelta(args[0]),
                memorized_timedelta(args[1]),
                args[2]
                )
        _ttinfo_cache[args] = ttinfo
        return ttinfo

_notime = memorized_timedelta(0)

def _to_seconds(td):
    '''Convert a timedelta to seconds'''
    return td.seconds + td.days * 24 * 60 * 60


class BaseTzInfo(tzinfo):
    # Overridden in subclass
    _utcoffset = None
    _tzname = None
    zone = None

    def __str__(self):
        return self.zone


class StaticTzInfo(BaseTzInfo):
    '''A timezone that has a constant offset from UTC

    These timezones are rare, as most locations have changed their
    offset at some point in their history
    '''
    def fromutc(self, dt):
        '''See datetime.tzinfo.fromutc'''
        if dt.tzinfo is not None and dt.tzinfo is not self:
            raise ValueError('fromutc: dt.tzinfo is not self')
        return (dt + self._utcoffset).replace(tzinfo=self)

    def utcoffset(self, dt, is_dst=None):
        '''See datetime.tzinfo.utcoffset

        is_dst is ignored for StaticTzInfo, and exists only to
        retain compatibility with DstTzInfo.
        '''
        return self._utcoffset

    def dst(self, dt, is_dst=None):
        '''See datetime.tzinfo.dst

        is_dst is ignored for StaticTzInfo, and exists only to
        retain compatibility with DstTzInfo.
        '''
        return _notime

    def tzname(self, dt, is_dst=None):
        '''See datetime.tzinfo.tzname

        is_dst is ignored for StaticTzInfo, and exists only to
        retain compatibility with DstTzInfo.
        '''
        return self._tzname

    def localize(self, dt, is_dst=False):
        '''Convert naive time to local time'''
        if dt.tzinfo is not None:
            raise ValueError('Not naive datetime (tzinfo is already set)')
        return dt.replace(tzinfo=self)

    def normalize(self, dt, is_dst=False):
        '''Correct the timezone information on the given datetime.

        This is normally a no-op, as StaticTzInfo timezones never have
        ambiguous cases to correct:

        >>> from pytz import timezone
        >>> gmt = timezone('GMT')
        >>> isinstance(gmt, StaticTzInfo)
        True
        >>> dt = datetime(2011, 5, 8, 1, 2, 3, tzinfo=gmt)
        >>> gmt.normalize(dt) is dt
        True

        The supported method of converting between timezones is to use
        datetime.astimezone(). Currently normalize() also works:

        >>> la = timezone('America/Los_Angeles')
        >>> dt = la.localize(datetime(2011, 5, 7, 1, 2, 3))
        >>> fmt = '%Y-%m-%d %H:%M:%S %Z (%z)'
        >>> gmt.normalize(dt).strftime(fmt)
        '2011-05-07 08:02:03 GMT (+0000)'
        '''
        if dt.tzinfo is self:
            return dt
        if dt.tzinfo is None:
            raise ValueError('Naive time - no tzinfo set')
        return dt.astimezone(self)

    def __repr__(self):
        return '' % (self.zone,)

    def __reduce__(self):
        # Special pickle to zone remains a singleton and to cope with
        # database changes. 
        return pytz._p, (self.zone,)


class DstTzInfo(BaseTzInfo):
    '''A timezone that has a variable offset from UTC

    The offset might change if daylight savings time comes into effect,
    or at a point in history when the region decides to change their
    timezone definition.
    '''
    # Overridden in subclass
    _utc_transition_times = None # Sorted list of DST transition times in UTC
    _transition_info = None # [(utcoffset, dstoffset, tzname)] corresponding
                            # to _utc_transition_times entries
    zone = None

    # Set in __init__
    _tzinfos = None
    _dst = None # DST offset

    def __init__(self, _inf=None, _tzinfos=None):
        if _inf:
            self._tzinfos = _tzinfos
            self._utcoffset, self._dst, self._tzname = _inf
        else:
            _tzinfos = {}
            self._tzinfos = _tzinfos
            self._utcoffset, self._dst, self._tzname = self._transition_info[0]
            _tzinfos[self._transition_info[0]] = self
            for inf in self._transition_info[1:]:
                if inf not in _tzinfos:
                    _tzinfos[inf] = self.__class__(inf, _tzinfos)

    def fromutc(self, dt):
        '''See datetime.tzinfo.fromutc'''
        if (dt.tzinfo is not None
            and getattr(dt.tzinfo, '_tzinfos', None) is not self._tzinfos):
            raise ValueError('fromutc: dt.tzinfo is not self')
        dt = dt.replace(tzinfo=None)
        idx = max(0, bisect_right(self._utc_transition_times, dt) - 1)
        inf = self._transition_info[idx]
        return (dt + inf[0]).replace(tzinfo=self._tzinfos[inf])

    def normalize(self, dt):
        '''Correct the timezone information on the given datetime

        If date arithmetic crosses DST boundaries, the tzinfo
        is not magically adjusted. This method normalizes the
        tzinfo to the correct one.

        To test, first we need to do some setup

        >>> from pytz import timezone
        >>> utc = timezone('UTC')
        >>> eastern = timezone('US/Eastern')
        >>> fmt = '%Y-%m-%d %H:%M:%S %Z (%z)'

        We next create a datetime right on an end-of-DST transition point,
        the instant when the wallclocks are wound back one hour.

        >>> utc_dt = datetime(2002, 10, 27, 6, 0, 0, tzinfo=utc)
        >>> loc_dt = utc_dt.astimezone(eastern)
        >>> loc_dt.strftime(fmt)
        '2002-10-27 01:00:00 EST (-0500)'

        Now, if we subtract a few minutes from it, note that the timezone
        information has not changed.

        >>> before = loc_dt - timedelta(minutes=10)
        >>> before.strftime(fmt)
        '2002-10-27 00:50:00 EST (-0500)'

        But we can fix that by calling the normalize method

        >>> before = eastern.normalize(before)
        >>> before.strftime(fmt)
        '2002-10-27 01:50:00 EDT (-0400)'

        The supported method of converting between timezones is to use
        datetime.astimezone(). Currently, normalize() also works:

        >>> th = timezone('Asia/Bangkok')
        >>> am = timezone('Europe/Amsterdam')
        >>> dt = th.localize(datetime(2011, 5, 7, 1, 2, 3))
        >>> fmt = '%Y-%m-%d %H:%M:%S %Z (%z)'
        >>> am.normalize(dt).strftime(fmt)
        '2011-05-06 20:02:03 CEST (+0200)'
        '''
        if dt.tzinfo is None:
            raise ValueError('Naive time - no tzinfo set')

        # Convert dt in localtime to UTC
        offset = dt.tzinfo._utcoffset
        dt = dt.replace(tzinfo=None)
        dt = dt - offset
        # convert it back, and return it
        return self.fromutc(dt)

    def localize(self, dt, is_dst=False):
        '''Convert naive time to local time.

        This method should be used to construct localtimes, rather
        than passing a tzinfo argument to a datetime constructor.

        is_dst is used to determine the correct timezone in the ambigous
        period at the end of daylight savings time.

        >>> from pytz import timezone
        >>> fmt = '%Y-%m-%d %H:%M:%S %Z (%z)'
        >>> amdam = timezone('Europe/Amsterdam')
        >>> dt  = datetime(2004, 10, 31, 2, 0, 0)
        >>> loc_dt1 = amdam.localize(dt, is_dst=True)
        >>> loc_dt2 = amdam.localize(dt, is_dst=False)
        >>> loc_dt1.strftime(fmt)
        '2004-10-31 02:00:00 CEST (+0200)'
        >>> loc_dt2.strftime(fmt)
        '2004-10-31 02:00:00 CET (+0100)'
        >>> str(loc_dt2 - loc_dt1)
        '1:00:00'

        Use is_dst=None to raise an AmbiguousTimeError for ambiguous
        times at the end of daylight savings

        >>> try:
        ...     loc_dt1 = amdam.localize(dt, is_dst=None)
        ... except AmbiguousTimeError:
        ...     print('Ambiguous')
        Ambiguous

        is_dst defaults to False

        >>> amdam.localize(dt) == amdam.localize(dt, False)
        True

        is_dst is also used to determine the correct timezone in the
        wallclock times jumped over at the start of daylight savings time.

        >>> pacific = timezone('US/Pacific')
        >>> dt = datetime(2008, 3, 9, 2, 0, 0)
        >>> ploc_dt1 = pacific.localize(dt, is_dst=True)
        >>> ploc_dt2 = pacific.localize(dt, is_dst=False)
        >>> ploc_dt1.strftime(fmt)
        '2008-03-09 02:00:00 PDT (-0700)'
        >>> ploc_dt2.strftime(fmt)
        '2008-03-09 02:00:00 PST (-0800)'
        >>> str(ploc_dt2 - ploc_dt1)
        '1:00:00'

        Use is_dst=None to raise a NonExistentTimeError for these skipped
        times.

        >>> try:
        ...     loc_dt1 = pacific.localize(dt, is_dst=None)
        ... except NonExistentTimeError:
        ...     print('Non-existent')
        Non-existent
        '''
        if dt.tzinfo is not None:
            raise ValueError('Not naive datetime (tzinfo is already set)')

        # Find the two best possibilities.
        possible_loc_dt = set()
        for delta in [timedelta(days=-1), timedelta(days=1)]:
            loc_dt = dt + delta
            idx = max(0, bisect_right(
                self._utc_transition_times, loc_dt) - 1)
            inf = self._transition_info[idx]
            tzinfo = self._tzinfos[inf]
            loc_dt = tzinfo.normalize(dt.replace(tzinfo=tzinfo))
            if loc_dt.replace(tzinfo=None) == dt:
                possible_loc_dt.add(loc_dt)

        if len(possible_loc_dt) == 1:
            return possible_loc_dt.pop()

        # If there are no possibly correct timezones, we are attempting
        # to convert a time that never happened - the time period jumped
        # during the start-of-DST transition period.
        if len(possible_loc_dt) == 0:
            # If we refuse to guess, raise an exception.
            if is_dst is None:
                raise NonExistentTimeError(dt)

            # If we are forcing the pre-DST side of the DST transition, we
            # obtain the correct timezone by winding the clock forward a few
            # hours.
            elif is_dst:
                return self.localize(
                    dt + timedelta(hours=6), is_dst=True) - timedelta(hours=6)

            # If we are forcing the post-DST side of the DST transition, we
            # obtain the correct timezone by winding the clock back.
            else:
                return self.localize(
                    dt - timedelta(hours=6), is_dst=False) + timedelta(hours=6)


        # If we get this far, we have multiple possible timezones - this
        # is an ambiguous case occuring during the end-of-DST transition.

        # If told to be strict, raise an exception since we have an
        # ambiguous case
        if is_dst is None:
            raise AmbiguousTimeError(dt)

        # Filter out the possiblilities that don't match the requested
        # is_dst
        filtered_possible_loc_dt = [
            p for p in possible_loc_dt
                if bool(p.tzinfo._dst) == is_dst
            ]

        # Hopefully we only have one possibility left. Return it.
        if len(filtered_possible_loc_dt) == 1:
            return filtered_possible_loc_dt[0]

        if len(filtered_possible_loc_dt) == 0:
            filtered_possible_loc_dt = list(possible_loc_dt)

        # If we get this far, we have in a wierd timezone transition
        # where the clocks have been wound back but is_dst is the same
        # in both (eg. Europe/Warsaw 1915 when they switched to CET).
        # At this point, we just have to guess unless we allow more
        # hints to be passed in (such as the UTC offset or abbreviation),
        # but that is just getting silly.
        #
        # Choose the earliest (by UTC) applicable timezone.
        sorting_keys = {}
        for local_dt in filtered_possible_loc_dt:
            key = local_dt.replace(tzinfo=None) - local_dt.tzinfo._utcoffset
            sorting_keys[key] = local_dt
        first_key = sorted(sorting_keys)[0]
        return sorting_keys[first_key]

    def utcoffset(self, dt, is_dst=None):
        '''See datetime.tzinfo.utcoffset

        The is_dst parameter may be used to remove ambiguity during DST
        transitions.

        >>> from pytz import timezone
        >>> tz = timezone('America/St_Johns')
        >>> ambiguous = datetime(2009, 10, 31, 23, 30)

        >>> tz.utcoffset(ambiguous, is_dst=False)
        datetime.timedelta(-1, 73800)

        >>> tz.utcoffset(ambiguous, is_dst=True)
        datetime.timedelta(-1, 77400)

        >>> try:
        ...     tz.utcoffset(ambiguous)
        ... except AmbiguousTimeError:
        ...     print('Ambiguous')
        Ambiguous

        '''
        if dt is None:
            return None
        elif dt.tzinfo is not self:
            dt = self.localize(dt, is_dst)
            return dt.tzinfo._utcoffset
        else:
            return self._utcoffset

    def dst(self, dt, is_dst=None):
        '''See datetime.tzinfo.dst

        The is_dst parameter may be used to remove ambiguity during DST
        transitions.

        >>> from pytz import timezone
        >>> tz = timezone('America/St_Johns')

        >>> normal = datetime(2009, 9, 1)

        >>> tz.dst(normal)
        datetime.timedelta(0, 3600)
        >>> tz.dst(normal, is_dst=False)
        datetime.timedelta(0, 3600)
        >>> tz.dst(normal, is_dst=True)
        datetime.timedelta(0, 3600)

        >>> ambiguous = datetime(2009, 10, 31, 23, 30)

        >>> tz.dst(ambiguous, is_dst=False)
        datetime.timedelta(0)
        >>> tz.dst(ambiguous, is_dst=True)
        datetime.timedelta(0, 3600)
        >>> try:
        ...     tz.dst(ambiguous)
        ... except AmbiguousTimeError:
        ...     print('Ambiguous')
        Ambiguous

        '''
        if dt is None:
            return None
        elif dt.tzinfo is not self:
            dt = self.localize(dt, is_dst)
            return dt.tzinfo._dst
        else:
            return self._dst

    def tzname(self, dt, is_dst=None):
        '''See datetime.tzinfo.tzname

        The is_dst parameter may be used to remove ambiguity during DST
        transitions.

        >>> from pytz import timezone
        >>> tz = timezone('America/St_Johns')

        >>> normal = datetime(2009, 9, 1)

        >>> tz.tzname(normal)
        'NDT'
        >>> tz.tzname(normal, is_dst=False)
        'NDT'
        >>> tz.tzname(normal, is_dst=True)
        'NDT'

        >>> ambiguous = datetime(2009, 10, 31, 23, 30)

        >>> tz.tzname(ambiguous, is_dst=False)
        'NST'
        >>> tz.tzname(ambiguous, is_dst=True)
        'NDT'
        >>> try:
        ...     tz.tzname(ambiguous)
        ... except AmbiguousTimeError:
        ...     print('Ambiguous')
        Ambiguous
        '''
        if dt is None:
            return self.zone
        elif dt.tzinfo is not self:
            dt = self.localize(dt, is_dst)
            return dt.tzinfo._tzname
        else:
            return self._tzname

    def __repr__(self):
        if self._dst:
            dst = 'DST'
        else:
            dst = 'STD'
        if self._utcoffset > _notime:
            return '' % (
                    self.zone, self._tzname, self._utcoffset, dst
                )
        else:
            return '' % (
                    self.zone, self._tzname, self._utcoffset, dst
                )

    def __reduce__(self):
        # Special pickle to zone remains a singleton and to cope with
        # database changes.
        return pytz._p, (
                self.zone,
                _to_seconds(self._utcoffset),
                _to_seconds(self._dst),
                self._tzname
                )



def unpickler(zone, utcoffset=None, dstoffset=None, tzname=None):
    """Factory function for unpickling pytz tzinfo instances.

    This is shared for both StaticTzInfo and DstTzInfo instances, because
    database changes could cause a zones implementation to switch between
    these two base classes and we can't break pickles on a pytz version
    upgrade.
    """
    # Raises a KeyError if zone no longer exists, which should never happen
    # and would be a bug.
    tz = pytz.timezone(zone)

    # A StaticTzInfo - just return it
    if utcoffset is None:
        return tz

    # This pickle was created from a DstTzInfo. We need to
    # determine which of the list of tzinfo instances for this zone
    # to use in order to restore the state of any datetime instances using
    # it correctly.
    utcoffset = memorized_timedelta(utcoffset)
    dstoffset = memorized_timedelta(dstoffset)
    try:
        return tz._tzinfos[(utcoffset, dstoffset, tzname)]
    except KeyError:
        # The particular state requested in this timezone no longer exists.
        # This indicates a corrupt pickle, or the timezone database has been
        # corrected violently enough to make this particular
        # (utcoffset,dstoffset) no longer exist in the zone, or the
        # abbreviation has been changed.
        pass

    # See if we can find an entry differing only by tzname. Abbreviations
    # get changed from the initial guess by the database maintainers to
    # match reality when this information is discovered.
    for localized_tz in tz._tzinfos.values():
        if (localized_tz._utcoffset == utcoffset
                and localized_tz._dst == dstoffset):
            return localized_tz

    # This (utcoffset, dstoffset) information has been removed from the
    # zone. Add it back. This might occur when the database maintainers have
    # corrected incorrect information. datetime instances using this
    # incorrect information will continue to do so, exactly as they were
    # before being pickled. This is purely an overly paranoid safety net - I
    # doubt this will ever been needed in real life.
    inf = (utcoffset, dstoffset, tzname)
    tz._tzinfos[inf] = tz.__class__(inf, tz._tzinfos)
    return tz._tzinfos[inf]

pytz-2012c/pytz/tzfile.py0000644000175000017500000001140511742721477014217 0ustar  stubstub#!/usr/bin/env python
'''
$Id: tzfile.py,v 1.8 2004/06/03 00:15:24 zenzen Exp $
'''

try:
    from cStringIO import StringIO
except ImportError:
    from io import StringIO
from datetime import datetime, timedelta
from struct import unpack, calcsize

from pytz.tzinfo import StaticTzInfo, DstTzInfo, memorized_ttinfo
from pytz.tzinfo import memorized_datetime, memorized_timedelta

def _byte_string(s):
    """Cast a string or byte string to an ASCII byte string."""
    return s.encode('US-ASCII')

_NULL = _byte_string('\0')

def _std_string(s):
    """Cast a string or byte string to an ASCII string."""
    return str(s.decode('US-ASCII'))

def build_tzinfo(zone, fp):
    head_fmt = '>4s c 15x 6l'
    head_size = calcsize(head_fmt)
    (magic, format, ttisgmtcnt, ttisstdcnt,leapcnt, timecnt,
        typecnt, charcnt) =  unpack(head_fmt, fp.read(head_size))

    # Make sure it is a tzfile(5) file
    assert magic == _byte_string('TZif'), 'Got magic %s' % repr(magic)

    # Read out the transition times, localtime indices and ttinfo structures.
    data_fmt = '>%(timecnt)dl %(timecnt)dB %(ttinfo)s %(charcnt)ds' % dict(
        timecnt=timecnt, ttinfo='lBB'*typecnt, charcnt=charcnt)
    data_size = calcsize(data_fmt)
    data = unpack(data_fmt, fp.read(data_size))

    # make sure we unpacked the right number of values
    assert len(data) == 2 * timecnt + 3 * typecnt + 1
    transitions = [memorized_datetime(trans)
                   for trans in data[:timecnt]]
    lindexes = list(data[timecnt:2 * timecnt])
    ttinfo_raw = data[2 * timecnt:-1]
    tznames_raw = data[-1]
    del data

    # Process ttinfo into separate structs
    ttinfo = []
    tznames = {}
    i = 0
    while i < len(ttinfo_raw):
        # have we looked up this timezone name yet?
        tzname_offset = ttinfo_raw[i+2]
        if tzname_offset not in tznames:
            nul = tznames_raw.find(_NULL, tzname_offset)
            if nul < 0:
                nul = len(tznames_raw)
            tznames[tzname_offset] = _std_string(
                tznames_raw[tzname_offset:nul])
        ttinfo.append((ttinfo_raw[i],
                       bool(ttinfo_raw[i+1]),
                       tznames[tzname_offset]))
        i += 3

    # Now build the timezone object
    if len(transitions) == 0:
        ttinfo[0][0], ttinfo[0][2]
        cls = type(zone, (StaticTzInfo,), dict(
            zone=zone,
            _utcoffset=memorized_timedelta(ttinfo[0][0]),
            _tzname=ttinfo[0][2]))
    else:
        # Early dates use the first standard time ttinfo
        i = 0
        while ttinfo[i][1]:
            i += 1
        if ttinfo[i] == ttinfo[lindexes[0]]:
            transitions[0] = datetime.min
        else:
            transitions.insert(0, datetime.min)
            lindexes.insert(0, i)

        # calculate transition info
        transition_info = []
        for i in range(len(transitions)):
            inf = ttinfo[lindexes[i]]
            utcoffset = inf[0]
            if not inf[1]:
                dst = 0
            else:
                for j in range(i-1, -1, -1):
                    prev_inf = ttinfo[lindexes[j]]
                    if not prev_inf[1]:
                        break
                dst = inf[0] - prev_inf[0] # dst offset

                # Bad dst? Look further. DST > 24 hours happens when
                # a timzone has moved across the international dateline.
                if dst <= 0 or dst > 3600*3:
                    for j in range(i+1, len(transitions)):
                        stdinf = ttinfo[lindexes[j]]
                        if not stdinf[1]:
                            dst = inf[0] - stdinf[0]
                            if dst > 0:
                                break # Found a useful std time.

            tzname = inf[2]

            # Round utcoffset and dst to the nearest minute or the
            # datetime library will complain. Conversions to these timezones
            # might be up to plus or minus 30 seconds out, but it is
            # the best we can do.
            utcoffset = int((utcoffset + 30) // 60) * 60
            dst = int((dst + 30) // 60) * 60
            transition_info.append(memorized_ttinfo(utcoffset, dst, tzname))

        cls = type(zone, (DstTzInfo,), dict(
            zone=zone,
            _utc_transition_times=transitions,
            _transition_info=transition_info))

    return cls()

if __name__ == '__main__':
    import os.path
    from pprint import pprint
    base = os.path.join(os.path.dirname(__file__), 'zoneinfo')
    tz = build_tzinfo('Australia/Melbourne',
                      open(os.path.join(base,'Australia','Melbourne'), 'rb'))
    tz = build_tzinfo('US/Eastern',
                      open(os.path.join(base,'US','Eastern'), 'rb'))
    pprint(tz._utc_transition_times)
    #print tz.asPython(4)
    #print tz.transitions_mapping
pytz-2012c/pytz/reference.py0000644000175000017500000000710111742721477014656 0ustar  stubstub'''
Reference tzinfo implementations from the Python docs.
Used for testing against as they are only correct for the years
1987 to 2006. Do not use these for real code.
'''

from datetime import tzinfo, timedelta, datetime
from pytz import utc, UTC, HOUR, ZERO

# A class building tzinfo objects for fixed-offset time zones.
# Note that FixedOffset(0, "UTC") is a different way to build a
# UTC tzinfo object.

class FixedOffset(tzinfo):
    """Fixed offset in minutes east from UTC."""

    def __init__(self, offset, name):
        self.__offset = timedelta(minutes = offset)
        self.__name = name

    def utcoffset(self, dt):
        return self.__offset

    def tzname(self, dt):
        return self.__name

    def dst(self, dt):
        return ZERO

# A class capturing the platform's idea of local time.

import time as _time

STDOFFSET = timedelta(seconds = -_time.timezone)
if _time.daylight:
    DSTOFFSET = timedelta(seconds = -_time.altzone)
else:
    DSTOFFSET = STDOFFSET

DSTDIFF = DSTOFFSET - STDOFFSET

class LocalTimezone(tzinfo):

    def utcoffset(self, dt):
        if self._isdst(dt):
            return DSTOFFSET
        else:
            return STDOFFSET

    def dst(self, dt):
        if self._isdst(dt):
            return DSTDIFF
        else:
            return ZERO

    def tzname(self, dt):
        return _time.tzname[self._isdst(dt)]

    def _isdst(self, dt):
        tt = (dt.year, dt.month, dt.day,
              dt.hour, dt.minute, dt.second,
              dt.weekday(), 0, -1)
        stamp = _time.mktime(tt)
        tt = _time.localtime(stamp)
        return tt.tm_isdst > 0

Local = LocalTimezone()

# A complete implementation of current DST rules for major US time zones.

def first_sunday_on_or_after(dt):
    days_to_go = 6 - dt.weekday()
    if days_to_go:
        dt += timedelta(days_to_go)
    return dt

# In the US, DST starts at 2am (standard time) on the first Sunday in April.
DSTSTART = datetime(1, 4, 1, 2)
# and ends at 2am (DST time; 1am standard time) on the last Sunday of Oct.
# which is the first Sunday on or after Oct 25.
DSTEND = datetime(1, 10, 25, 1)

class USTimeZone(tzinfo):

    def __init__(self, hours, reprname, stdname, dstname):
        self.stdoffset = timedelta(hours=hours)
        self.reprname = reprname
        self.stdname = stdname
        self.dstname = dstname

    def __repr__(self):
        return self.reprname

    def tzname(self, dt):
        if self.dst(dt):
            return self.dstname
        else:
            return self.stdname

    def utcoffset(self, dt):
        return self.stdoffset + self.dst(dt)

    def dst(self, dt):
        if dt is None or dt.tzinfo is None:
            # An exception may be sensible here, in one or both cases.
            # It depends on how you want to treat them.  The default
            # fromutc() implementation (called by the default astimezone()
            # implementation) passes a datetime with dt.tzinfo is self.
            return ZERO
        assert dt.tzinfo is self

        # Find first Sunday in April & the last in October.
        start = first_sunday_on_or_after(DSTSTART.replace(year=dt.year))
        end = first_sunday_on_or_after(DSTEND.replace(year=dt.year))

        # Can't compare naive to aware objects, so strip the timezone from
        # dt first.
        if start <= dt.replace(tzinfo=None) < end:
            return HOUR
        else:
            return ZERO

Eastern  = USTimeZone(-5, "Eastern",  "EST", "EDT")
Central  = USTimeZone(-6, "Central",  "CST", "CDT")
Mountain = USTimeZone(-7, "Mountain", "MST", "MDT")
Pacific  = USTimeZone(-8, "Pacific",  "PST", "PDT")

pytz-2012c/pytz/__init__.py0000644000175000017500000010341711742721477014466 0ustar  stubstub'''
datetime.tzinfo timezone definitions generated from the
Olson timezone database:

    ftp://elsie.nci.nih.gov/pub/tz*.tar.gz

See the datetime section of the Python Library Reference for information
on how to use these modules.
'''

# The Olson database is updated several times a year.
OLSON_VERSION = '2012c'
VERSION = OLSON_VERSION
# Version format for a patch release - only one so far.
#VERSION = OLSON_VERSION + '.2'
__version__ = OLSON_VERSION

OLSEN_VERSION = OLSON_VERSION # Old releases had this misspelling

__all__ = [
    'timezone', 'utc', 'country_timezones', 'country_names',
    'AmbiguousTimeError', 'InvalidTimeError',
    'NonExistentTimeError', 'UnknownTimeZoneError',
    'all_timezones', 'all_timezones_set',
    'common_timezones', 'common_timezones_set',
    ]

import sys, datetime, os.path, gettext
try:
    from UserDict import DictMixin
except ImportError:
    from collections import Mapping as DictMixin

try:
    from pkg_resources import resource_stream
except ImportError:
    resource_stream = None

from pytz.exceptions import AmbiguousTimeError
from pytz.exceptions import InvalidTimeError
from pytz.exceptions import NonExistentTimeError
from pytz.exceptions import UnknownTimeZoneError
from pytz.tzinfo import unpickler
from pytz.tzfile import build_tzinfo, _byte_string


try:
    unicode

except NameError: # Python 3.x

    # Python 3.x doesn't have unicode(), making writing code
    # for Python 2.3 and Python 3.x a pain.
    unicode = str

    def ascii(s):
        r"""
        >>> ascii('Hello')
        'Hello'
        >>> ascii('\N{TRADE MARK SIGN}') #doctest: +IGNORE_EXCEPTION_DETAIL
        Traceback (most recent call last):
            ...
        UnicodeEncodeError: ...
        """
        s.encode('US-ASCII') # Raise an exception if not ASCII
        return s # But return the original string - not a byte string.

else: # Python 2.x

    def ascii(s):
        r"""
        >>> ascii('Hello')
        'Hello'
        >>> ascii(u'Hello')
        'Hello'
        >>> ascii(u'\N{TRADE MARK SIGN}') #doctest: +IGNORE_EXCEPTION_DETAIL
        Traceback (most recent call last):
            ...
        UnicodeEncodeError: ...
        """
        return s.encode('US-ASCII')


def open_resource(name):
    """Open a resource from the zoneinfo subdir for reading.

    Uses the pkg_resources module if available and no standard file
    found at the calculated location.
    """
    name_parts = name.lstrip('/').split('/')
    for part in name_parts:
        if part == os.path.pardir or os.path.sep in part:
            raise ValueError('Bad path segment: %r' % part)
    filename = os.path.join(os.path.dirname(__file__),
                            'zoneinfo', *name_parts)
    if not os.path.exists(filename) and resource_stream is not None:
        # http://bugs.launchpad.net/bugs/383171 - we avoid using this
        # unless absolutely necessary to help when a broken version of
        # pkg_resources is installed.
        return resource_stream(__name__, 'zoneinfo/' + name)
    return open(filename, 'rb')


def resource_exists(name):
    """Return true if the given resource exists"""
    try:
        open_resource(name).close()
        return True
    except IOError:
        return False


# Enable this when we get some translations?
# We want an i18n API that is useful to programs using Python's gettext
# module, as well as the Zope3 i18n package. Perhaps we should just provide
# the POT file and translations, and leave it up to callers to make use
# of them.
# 
# t = gettext.translation(
#         'pytz', os.path.join(os.path.dirname(__file__), 'locales'),
#         fallback=True
#         )
# def _(timezone_name):
#     """Translate a timezone name using the current locale, returning Unicode"""
#     return t.ugettext(timezone_name)


_tzinfo_cache = {}

def timezone(zone):
    r''' Return a datetime.tzinfo implementation for the given timezone 

    >>> from datetime import datetime, timedelta
    >>> utc = timezone('UTC')
    >>> eastern = timezone('US/Eastern')
    >>> eastern.zone
    'US/Eastern'
    >>> timezone(unicode('US/Eastern')) is eastern
    True
    >>> utc_dt = datetime(2002, 10, 27, 6, 0, 0, tzinfo=utc)
    >>> loc_dt = utc_dt.astimezone(eastern)
    >>> fmt = '%Y-%m-%d %H:%M:%S %Z (%z)'
    >>> loc_dt.strftime(fmt)
    '2002-10-27 01:00:00 EST (-0500)'
    >>> (loc_dt - timedelta(minutes=10)).strftime(fmt)
    '2002-10-27 00:50:00 EST (-0500)'
    >>> eastern.normalize(loc_dt - timedelta(minutes=10)).strftime(fmt)
    '2002-10-27 01:50:00 EDT (-0400)'
    >>> (loc_dt + timedelta(minutes=10)).strftime(fmt)
    '2002-10-27 01:10:00 EST (-0500)'

    Raises UnknownTimeZoneError if passed an unknown zone.

    >>> try:
    ...     timezone('Asia/Shangri-La')
    ... except UnknownTimeZoneError:
    ...     print('Unknown')
    Unknown

    >>> try:
    ...     timezone(unicode('\N{TRADE MARK SIGN}'))
    ... except UnknownTimeZoneError:
    ...     print('Unknown')
    Unknown

    '''
    if zone.upper() == 'UTC':
        return utc

    try:
        zone = ascii(zone)
    except UnicodeEncodeError:
        # All valid timezones are ASCII
        raise UnknownTimeZoneError(zone)

    zone = _unmunge_zone(zone)
    if zone not in _tzinfo_cache:
        if zone in all_timezones_set:
            fp = open_resource(zone)
            try:
                _tzinfo_cache[zone] = build_tzinfo(zone, fp)
            finally:
                fp.close()
        else:
            raise UnknownTimeZoneError(zone)

    return _tzinfo_cache[zone]


def _unmunge_zone(zone):
    """Undo the time zone name munging done by older versions of pytz."""
    return zone.replace('_plus_', '+').replace('_minus_', '-')


ZERO = datetime.timedelta(0)
HOUR = datetime.timedelta(hours=1)


class UTC(datetime.tzinfo):
    """UTC

    Optimized UTC implementation. It unpickles using the single module global
    instance defined beneath this class declaration.
    """
    zone = "UTC"

    _utcoffset = ZERO
    _dst = ZERO
    _tzname = zone

    def fromutc(self, dt):
        if dt.tzinfo is None:
            return self.localize(dt)
        return super(utc.__class__, self).fromutc(dt)

    def utcoffset(self, dt):
        return ZERO

    def tzname(self, dt):
        return "UTC"

    def dst(self, dt):
        return ZERO

    def __reduce__(self):
        return _UTC, ()

    def localize(self, dt, is_dst=False):
        '''Convert naive time to local time'''
        if dt.tzinfo is not None:
            raise ValueError('Not naive datetime (tzinfo is already set)')
        return dt.replace(tzinfo=self)

    def normalize(self, dt, is_dst=False):
        '''Correct the timezone information on the given datetime'''
        if dt.tzinfo is self:
            return dt
        if dt.tzinfo is None:
            raise ValueError('Naive time - no tzinfo set')
        return dt.astimezone(self)

    def __repr__(self):
        return ""

    def __str__(self):
        return "UTC"


UTC = utc = UTC() # UTC is a singleton


def _UTC():
    """Factory function for utc unpickling.

    Makes sure that unpickling a utc instance always returns the same 
    module global.

    These examples belong in the UTC class above, but it is obscured; or in
    the README.txt, but we are not depending on Python 2.4 so integrating
    the README.txt examples with the unit tests is not trivial.

    >>> import datetime, pickle
    >>> dt = datetime.datetime(2005, 3, 1, 14, 13, 21, tzinfo=utc)
    >>> naive = dt.replace(tzinfo=None)
    >>> p = pickle.dumps(dt, 1)
    >>> naive_p = pickle.dumps(naive, 1)
    >>> len(p) - len(naive_p)
    17
    >>> new = pickle.loads(p)
    >>> new == dt
    True
    >>> new is dt
    False
    >>> new.tzinfo is dt.tzinfo
    True
    >>> utc is UTC is timezone('UTC')
    True
    >>> utc is timezone('GMT')
    False
    """
    return utc
_UTC.__safe_for_unpickling__ = True


def _p(*args):
    """Factory function for unpickling pytz tzinfo instances.

    Just a wrapper around tzinfo.unpickler to save a few bytes in each pickle
    by shortening the path.
    """
    return unpickler(*args)
_p.__safe_for_unpickling__ = True


class _LazyDict(DictMixin):
    """Dictionary populated on first use."""
    data = None
    def __getitem__(self, key):
        if self.data is None:
            self._fill()
        return self.data[key.upper()]

    def __contains__(self, key):
        if self.data is None:
            self._fill()
        return key in self.data

    def __iter__(self):
        if self.data is None:
            self._fill()
        return iter(self.data)

    def __len__(self):
        if self.data is None:
            self._fill()
        return len(self.data)

    def keys(self):
        if self.data is None:
            self._fill()
        return self.data.keys()


class _CountryTimezoneDict(_LazyDict):
    """Map ISO 3166 country code to a list of timezone names commonly used
    in that country.

    iso3166_code is the two letter code used to identify the country.

    >>> def print_list(list_of_strings):
    ...     'We use a helper so doctests work under Python 2.3 -> 3.x'
    ...     for s in list_of_strings:
    ...         print(s)

    >>> print_list(country_timezones['nz'])
    Pacific/Auckland
    Pacific/Chatham
    >>> print_list(country_timezones['ch'])
    Europe/Zurich
    >>> print_list(country_timezones['CH'])
    Europe/Zurich
    >>> print_list(country_timezones[unicode('ch')])
    Europe/Zurich
    >>> print_list(country_timezones['XXX'])
    Traceback (most recent call last):
    ...
    KeyError: 'XXX'

    Previously, this information was exposed as a function rather than a
    dictionary. This is still supported::

    >>> print_list(country_timezones('nz'))
    Pacific/Auckland
    Pacific/Chatham
    """
    def __call__(self, iso3166_code):
        """Backwards compatibility."""
        return self[iso3166_code]

    def _fill(self):
        data = {}
        zone_tab = open_resource('zone.tab')
        try:
            for line in zone_tab:
                line = line.decode('US-ASCII')
                if line.startswith('#'):
                    continue
                code, coordinates, zone = line.split(None, 4)[:3]
                if zone not in all_timezones_set:
                    continue
                try:
                    data[code].append(zone)
                except KeyError:
                    data[code] = [zone]
            self.data = data
        finally:
            zone_tab.close()

country_timezones = _CountryTimezoneDict()


class _CountryNameDict(_LazyDict):
    '''Dictionary proving ISO3166 code -> English name.

    >>> print(country_names['au'])
    Australia
    '''
    def _fill(self):
        data = {}
        zone_tab = open_resource('iso3166.tab')
        try:
            for line in zone_tab.readlines():
                line = line.decode('US-ASCII')
                if line.startswith('#'):
                    continue
                code, name = line.split(None, 1)
                data[code] = name.strip()
            self.data = data
        finally:
            zone_tab.close()

country_names = _CountryNameDict()


# Time-zone info based solely on fixed offsets

class _FixedOffset(datetime.tzinfo):

    zone = None # to match the standard pytz API

    def __init__(self, minutes):
        if abs(minutes) >= 1440:
            raise ValueError("absolute offset is too large", minutes)
        self._minutes = minutes
        self._offset = datetime.timedelta(minutes=minutes)

    def utcoffset(self, dt):
        return self._offset

    def __reduce__(self):
        return FixedOffset, (self._minutes, )

    def dst(self, dt):
        return ZERO

    def tzname(self, dt):
        return None

    def __repr__(self):
        return 'pytz.FixedOffset(%d)' % self._minutes

    def localize(self, dt, is_dst=False):
        '''Convert naive time to local time'''
        if dt.tzinfo is not None:
            raise ValueError('Not naive datetime (tzinfo is already set)')
        return dt.replace(tzinfo=self)

    def normalize(self, dt, is_dst=False):
        '''Correct the timezone information on the given datetime'''
        if dt.tzinfo is None:
            raise ValueError('Naive time - no tzinfo set')
        return dt.replace(tzinfo=self)


def FixedOffset(offset, _tzinfos = {}):
    """return a fixed-offset timezone based off a number of minutes.

        >>> one = FixedOffset(-330)
        >>> one
        pytz.FixedOffset(-330)
        >>> one.utcoffset(datetime.datetime.now())
        datetime.timedelta(-1, 66600)
        >>> one.dst(datetime.datetime.now())
        datetime.timedelta(0)

        >>> two = FixedOffset(1380)
        >>> two
        pytz.FixedOffset(1380)
        >>> two.utcoffset(datetime.datetime.now())
        datetime.timedelta(0, 82800)
        >>> two.dst(datetime.datetime.now())
        datetime.timedelta(0)

    The datetime.timedelta must be between the range of -1 and 1 day,
    non-inclusive.

        >>> FixedOffset(1440)
        Traceback (most recent call last):
        ...
        ValueError: ('absolute offset is too large', 1440)

        >>> FixedOffset(-1440)
        Traceback (most recent call last):
        ...
        ValueError: ('absolute offset is too large', -1440)

    An offset of 0 is special-cased to return UTC.

        >>> FixedOffset(0) is UTC
        True

    There should always be only one instance of a FixedOffset per timedelta.
    This should be true for multiple creation calls.

        >>> FixedOffset(-330) is one
        True
        >>> FixedOffset(1380) is two
        True

    It should also be true for pickling.

        >>> import pickle
        >>> pickle.loads(pickle.dumps(one)) is one
        True
        >>> pickle.loads(pickle.dumps(two)) is two
        True
    """
    if offset == 0:
        return UTC

    info = _tzinfos.get(offset)
    if info is None:
        # We haven't seen this one before. we need to save it.

        # Use setdefault to avoid a race condition and make sure we have
        # only one
        info = _tzinfos.setdefault(offset, _FixedOffset(offset))

    return info

FixedOffset.__safe_for_unpickling__ = True


def _test():
    import doctest, os, sys
    sys.path.insert(0, os.pardir)
    import pytz
    return doctest.testmod(pytz)

if __name__ == '__main__':
    _test()

all_timezones = \
['Africa/Abidjan',
 'Africa/Accra',
 'Africa/Addis_Ababa',
 'Africa/Algiers',
 'Africa/Asmara',
 'Africa/Asmera',
 'Africa/Bamako',
 'Africa/Bangui',
 'Africa/Banjul',
 'Africa/Bissau',
 'Africa/Blantyre',
 'Africa/Brazzaville',
 'Africa/Bujumbura',
 'Africa/Cairo',
 'Africa/Casablanca',
 'Africa/Ceuta',
 'Africa/Conakry',
 'Africa/Dakar',
 'Africa/Dar_es_Salaam',
 'Africa/Djibouti',
 'Africa/Douala',
 'Africa/El_Aaiun',
 'Africa/Freetown',
 'Africa/Gaborone',
 'Africa/Harare',
 'Africa/Johannesburg',
 'Africa/Juba',
 'Africa/Kampala',
 'Africa/Khartoum',
 'Africa/Kigali',
 'Africa/Kinshasa',
 'Africa/Lagos',
 'Africa/Libreville',
 'Africa/Lome',
 'Africa/Luanda',
 'Africa/Lubumbashi',
 'Africa/Lusaka',
 'Africa/Malabo',
 'Africa/Maputo',
 'Africa/Maseru',
 'Africa/Mbabane',
 'Africa/Mogadishu',
 'Africa/Monrovia',
 'Africa/Nairobi',
 'Africa/Ndjamena',
 'Africa/Niamey',
 'Africa/Nouakchott',
 'Africa/Ouagadougou',
 'Africa/Porto-Novo',
 'Africa/Sao_Tome',
 'Africa/Timbuktu',
 'Africa/Tripoli',
 'Africa/Tunis',
 'Africa/Windhoek',
 'America/Adak',
 'America/Anchorage',
 'America/Anguilla',
 'America/Antigua',
 'America/Araguaina',
 'America/Argentina/Buenos_Aires',
 'America/Argentina/Catamarca',
 'America/Argentina/ComodRivadavia',
 'America/Argentina/Cordoba',
 'America/Argentina/Jujuy',
 'America/Argentina/La_Rioja',
 'America/Argentina/Mendoza',
 'America/Argentina/Rio_Gallegos',
 'America/Argentina/Salta',
 'America/Argentina/San_Juan',
 'America/Argentina/San_Luis',
 'America/Argentina/Tucuman',
 'America/Argentina/Ushuaia',
 'America/Aruba',
 'America/Asuncion',
 'America/Atikokan',
 'America/Atka',
 'America/Bahia',
 'America/Bahia_Banderas',
 'America/Barbados',
 'America/Belem',
 'America/Belize',
 'America/Blanc-Sablon',
 'America/Boa_Vista',
 'America/Bogota',
 'America/Boise',
 'America/Buenos_Aires',
 'America/Cambridge_Bay',
 'America/Campo_Grande',
 'America/Cancun',
 'America/Caracas',
 'America/Catamarca',
 'America/Cayenne',
 'America/Cayman',
 'America/Chicago',
 'America/Chihuahua',
 'America/Coral_Harbour',
 'America/Cordoba',
 'America/Costa_Rica',
 'America/Creston',
 'America/Cuiaba',
 'America/Curacao',
 'America/Danmarkshavn',
 'America/Dawson',
 'America/Dawson_Creek',
 'America/Denver',
 'America/Detroit',
 'America/Dominica',
 'America/Edmonton',
 'America/Eirunepe',
 'America/El_Salvador',
 'America/Ensenada',
 'America/Fort_Wayne',
 'America/Fortaleza',
 'America/Glace_Bay',
 'America/Godthab',
 'America/Goose_Bay',
 'America/Grand_Turk',
 'America/Grenada',
 'America/Guadeloupe',
 'America/Guatemala',
 'America/Guayaquil',
 'America/Guyana',
 'America/Halifax',
 'America/Havana',
 'America/Hermosillo',
 'America/Indiana/Indianapolis',
 'America/Indiana/Knox',
 'America/Indiana/Marengo',
 'America/Indiana/Petersburg',
 'America/Indiana/Tell_City',
 'America/Indiana/Vevay',
 'America/Indiana/Vincennes',
 'America/Indiana/Winamac',
 'America/Indianapolis',
 'America/Inuvik',
 'America/Iqaluit',
 'America/Jamaica',
 'America/Jujuy',
 'America/Juneau',
 'America/Kentucky/Louisville',
 'America/Kentucky/Monticello',
 'America/Knox_IN',
 'America/Kralendijk',
 'America/La_Paz',
 'America/Lima',
 'America/Los_Angeles',
 'America/Louisville',
 'America/Lower_Princes',
 'America/Maceio',
 'America/Managua',
 'America/Manaus',
 'America/Marigot',
 'America/Martinique',
 'America/Matamoros',
 'America/Mazatlan',
 'America/Mendoza',
 'America/Menominee',
 'America/Merida',
 'America/Metlakatla',
 'America/Mexico_City',
 'America/Miquelon',
 'America/Moncton',
 'America/Monterrey',
 'America/Montevideo',
 'America/Montreal',
 'America/Montserrat',
 'America/Nassau',
 'America/New_York',
 'America/Nipigon',
 'America/Nome',
 'America/Noronha',
 'America/North_Dakota/Beulah',
 'America/North_Dakota/Center',
 'America/North_Dakota/New_Salem',
 'America/Ojinaga',
 'America/Panama',
 'America/Pangnirtung',
 'America/Paramaribo',
 'America/Phoenix',
 'America/Port-au-Prince',
 'America/Port_of_Spain',
 'America/Porto_Acre',
 'America/Porto_Velho',
 'America/Puerto_Rico',
 'America/Rainy_River',
 'America/Rankin_Inlet',
 'America/Recife',
 'America/Regina',
 'America/Resolute',
 'America/Rio_Branco',
 'America/Rosario',
 'America/Santa_Isabel',
 'America/Santarem',
 'America/Santiago',
 'America/Santo_Domingo',
 'America/Sao_Paulo',
 'America/Scoresbysund',
 'America/Shiprock',
 'America/Sitka',
 'America/St_Barthelemy',
 'America/St_Johns',
 'America/St_Kitts',
 'America/St_Lucia',
 'America/St_Thomas',
 'America/St_Vincent',
 'America/Swift_Current',
 'America/Tegucigalpa',
 'America/Thule',
 'America/Thunder_Bay',
 'America/Tijuana',
 'America/Toronto',
 'America/Tortola',
 'America/Vancouver',
 'America/Virgin',
 'America/Whitehorse',
 'America/Winnipeg',
 'America/Yakutat',
 'America/Yellowknife',
 'Antarctica/Casey',
 'Antarctica/Davis',
 'Antarctica/DumontDUrville',
 'Antarctica/Macquarie',
 'Antarctica/Mawson',
 'Antarctica/McMurdo',
 'Antarctica/Palmer',
 'Antarctica/Rothera',
 'Antarctica/South_Pole',
 'Antarctica/Syowa',
 'Antarctica/Vostok',
 'Arctic/Longyearbyen',
 'Asia/Aden',
 'Asia/Almaty',
 'Asia/Amman',
 'Asia/Anadyr',
 'Asia/Aqtau',
 'Asia/Aqtobe',
 'Asia/Ashgabat',
 'Asia/Ashkhabad',
 'Asia/Baghdad',
 'Asia/Bahrain',
 'Asia/Baku',
 'Asia/Bangkok',
 'Asia/Beirut',
 'Asia/Bishkek',
 'Asia/Brunei',
 'Asia/Calcutta',
 'Asia/Choibalsan',
 'Asia/Chongqing',
 'Asia/Chungking',
 'Asia/Colombo',
 'Asia/Dacca',
 'Asia/Damascus',
 'Asia/Dhaka',
 'Asia/Dili',
 'Asia/Dubai',
 'Asia/Dushanbe',
 'Asia/Gaza',
 'Asia/Harbin',
 'Asia/Hebron',
 'Asia/Ho_Chi_Minh',
 'Asia/Hong_Kong',
 'Asia/Hovd',
 'Asia/Irkutsk',
 'Asia/Istanbul',
 'Asia/Jakarta',
 'Asia/Jayapura',
 'Asia/Jerusalem',
 'Asia/Kabul',
 'Asia/Kamchatka',
 'Asia/Karachi',
 'Asia/Kashgar',
 'Asia/Kathmandu',
 'Asia/Katmandu',
 'Asia/Kolkata',
 'Asia/Krasnoyarsk',
 'Asia/Kuala_Lumpur',
 'Asia/Kuching',
 'Asia/Kuwait',
 'Asia/Macao',
 'Asia/Macau',
 'Asia/Magadan',
 'Asia/Makassar',
 'Asia/Manila',
 'Asia/Muscat',
 'Asia/Nicosia',
 'Asia/Novokuznetsk',
 'Asia/Novosibirsk',
 'Asia/Omsk',
 'Asia/Oral',
 'Asia/Phnom_Penh',
 'Asia/Pontianak',
 'Asia/Pyongyang',
 'Asia/Qatar',
 'Asia/Qyzylorda',
 'Asia/Rangoon',
 'Asia/Riyadh',
 'Asia/Saigon',
 'Asia/Sakhalin',
 'Asia/Samarkand',
 'Asia/Seoul',
 'Asia/Shanghai',
 'Asia/Singapore',
 'Asia/Taipei',
 'Asia/Tashkent',
 'Asia/Tbilisi',
 'Asia/Tehran',
 'Asia/Tel_Aviv',
 'Asia/Thimbu',
 'Asia/Thimphu',
 'Asia/Tokyo',
 'Asia/Ujung_Pandang',
 'Asia/Ulaanbaatar',
 'Asia/Ulan_Bator',
 'Asia/Urumqi',
 'Asia/Vientiane',
 'Asia/Vladivostok',
 'Asia/Yakutsk',
 'Asia/Yekaterinburg',
 'Asia/Yerevan',
 'Atlantic/Azores',
 'Atlantic/Bermuda',
 'Atlantic/Canary',
 'Atlantic/Cape_Verde',
 'Atlantic/Faeroe',
 'Atlantic/Faroe',
 'Atlantic/Jan_Mayen',
 'Atlantic/Madeira',
 'Atlantic/Reykjavik',
 'Atlantic/South_Georgia',
 'Atlantic/St_Helena',
 'Atlantic/Stanley',
 'Australia/ACT',
 'Australia/Adelaide',
 'Australia/Brisbane',
 'Australia/Broken_Hill',
 'Australia/Canberra',
 'Australia/Currie',
 'Australia/Darwin',
 'Australia/Eucla',
 'Australia/Hobart',
 'Australia/LHI',
 'Australia/Lindeman',
 'Australia/Lord_Howe',
 'Australia/Melbourne',
 'Australia/NSW',
 'Australia/North',
 'Australia/Perth',
 'Australia/Queensland',
 'Australia/South',
 'Australia/Sydney',
 'Australia/Tasmania',
 'Australia/Victoria',
 'Australia/West',
 'Australia/Yancowinna',
 'Brazil/Acre',
 'Brazil/DeNoronha',
 'Brazil/East',
 'Brazil/West',
 'CET',
 'CST6CDT',
 'Canada/Atlantic',
 'Canada/Central',
 'Canada/East-Saskatchewan',
 'Canada/Eastern',
 'Canada/Mountain',
 'Canada/Newfoundland',
 'Canada/Pacific',
 'Canada/Saskatchewan',
 'Canada/Yukon',
 'Chile/Continental',
 'Chile/EasterIsland',
 'Cuba',
 'EET',
 'EST',
 'EST5EDT',
 'Egypt',
 'Eire',
 'Etc/GMT',
 'Etc/GMT+0',
 'Etc/GMT+1',
 'Etc/GMT+10',
 'Etc/GMT+11',
 'Etc/GMT+12',
 'Etc/GMT+2',
 'Etc/GMT+3',
 'Etc/GMT+4',
 'Etc/GMT+5',
 'Etc/GMT+6',
 'Etc/GMT+7',
 'Etc/GMT+8',
 'Etc/GMT+9',
 'Etc/GMT-0',
 'Etc/GMT-1',
 'Etc/GMT-10',
 'Etc/GMT-11',
 'Etc/GMT-12',
 'Etc/GMT-13',
 'Etc/GMT-14',
 'Etc/GMT-2',
 'Etc/GMT-3',
 'Etc/GMT-4',
 'Etc/GMT-5',
 'Etc/GMT-6',
 'Etc/GMT-7',
 'Etc/GMT-8',
 'Etc/GMT-9',
 'Etc/GMT0',
 'Etc/Greenwich',
 'Etc/UCT',
 'Etc/UTC',
 'Etc/Universal',
 'Etc/Zulu',
 'Europe/Amsterdam',
 'Europe/Andorra',
 'Europe/Athens',
 'Europe/Belfast',
 'Europe/Belgrade',
 'Europe/Berlin',
 'Europe/Bratislava',
 'Europe/Brussels',
 'Europe/Bucharest',
 'Europe/Budapest',
 'Europe/Chisinau',
 'Europe/Copenhagen',
 'Europe/Dublin',
 'Europe/Gibraltar',
 'Europe/Guernsey',
 'Europe/Helsinki',
 'Europe/Isle_of_Man',
 'Europe/Istanbul',
 'Europe/Jersey',
 'Europe/Kaliningrad',
 'Europe/Kiev',
 'Europe/Lisbon',
 'Europe/Ljubljana',
 'Europe/London',
 'Europe/Luxembourg',
 'Europe/Madrid',
 'Europe/Malta',
 'Europe/Mariehamn',
 'Europe/Minsk',
 'Europe/Monaco',
 'Europe/Moscow',
 'Europe/Nicosia',
 'Europe/Oslo',
 'Europe/Paris',
 'Europe/Podgorica',
 'Europe/Prague',
 'Europe/Riga',
 'Europe/Rome',
 'Europe/Samara',
 'Europe/San_Marino',
 'Europe/Sarajevo',
 'Europe/Simferopol',
 'Europe/Skopje',
 'Europe/Sofia',
 'Europe/Stockholm',
 'Europe/Tallinn',
 'Europe/Tirane',
 'Europe/Tiraspol',
 'Europe/Uzhgorod',
 'Europe/Vaduz',
 'Europe/Vatican',
 'Europe/Vienna',
 'Europe/Vilnius',
 'Europe/Volgograd',
 'Europe/Warsaw',
 'Europe/Zagreb',
 'Europe/Zaporozhye',
 'Europe/Zurich',
 'GB',
 'GB-Eire',
 'GMT',
 'GMT+0',
 'GMT-0',
 'GMT0',
 'Greenwich',
 'HST',
 'Hongkong',
 'Iceland',
 'Indian/Antananarivo',
 'Indian/Chagos',
 'Indian/Christmas',
 'Indian/Cocos',
 'Indian/Comoro',
 'Indian/Kerguelen',
 'Indian/Mahe',
 'Indian/Maldives',
 'Indian/Mauritius',
 'Indian/Mayotte',
 'Indian/Reunion',
 'Iran',
 'Israel',
 'Jamaica',
 'Japan',
 'Kwajalein',
 'Libya',
 'MET',
 'MST',
 'MST7MDT',
 'Mexico/BajaNorte',
 'Mexico/BajaSur',
 'Mexico/General',
 'NZ',
 'NZ-CHAT',
 'Navajo',
 'PRC',
 'PST8PDT',
 'Pacific/Apia',
 'Pacific/Auckland',
 'Pacific/Chatham',
 'Pacific/Chuuk',
 'Pacific/Easter',
 'Pacific/Efate',
 'Pacific/Enderbury',
 'Pacific/Fakaofo',
 'Pacific/Fiji',
 'Pacific/Funafuti',
 'Pacific/Galapagos',
 'Pacific/Gambier',
 'Pacific/Guadalcanal',
 'Pacific/Guam',
 'Pacific/Honolulu',
 'Pacific/Johnston',
 'Pacific/Kiritimati',
 'Pacific/Kosrae',
 'Pacific/Kwajalein',
 'Pacific/Majuro',
 'Pacific/Marquesas',
 'Pacific/Midway',
 'Pacific/Nauru',
 'Pacific/Niue',
 'Pacific/Norfolk',
 'Pacific/Noumea',
 'Pacific/Pago_Pago',
 'Pacific/Palau',
 'Pacific/Pitcairn',
 'Pacific/Pohnpei',
 'Pacific/Ponape',
 'Pacific/Port_Moresby',
 'Pacific/Rarotonga',
 'Pacific/Saipan',
 'Pacific/Samoa',
 'Pacific/Tahiti',
 'Pacific/Tarawa',
 'Pacific/Tongatapu',
 'Pacific/Truk',
 'Pacific/Wake',
 'Pacific/Wallis',
 'Pacific/Yap',
 'Poland',
 'Portugal',
 'ROC',
 'ROK',
 'Singapore',
 'Turkey',
 'UCT',
 'US/Alaska',
 'US/Aleutian',
 'US/Arizona',
 'US/Central',
 'US/East-Indiana',
 'US/Eastern',
 'US/Hawaii',
 'US/Indiana-Starke',
 'US/Michigan',
 'US/Mountain',
 'US/Pacific',
 'US/Pacific-New',
 'US/Samoa',
 'UTC',
 'Universal',
 'W-SU',
 'WET',
 'Zulu']
all_timezones = [
        tz for tz in all_timezones if resource_exists(tz)]
        
all_timezones_set = set(all_timezones)
common_timezones = \
['Africa/Abidjan',
 'Africa/Accra',
 'Africa/Addis_Ababa',
 'Africa/Algiers',
 'Africa/Asmara',
 'Africa/Bamako',
 'Africa/Bangui',
 'Africa/Banjul',
 'Africa/Bissau',
 'Africa/Blantyre',
 'Africa/Brazzaville',
 'Africa/Bujumbura',
 'Africa/Cairo',
 'Africa/Casablanca',
 'Africa/Ceuta',
 'Africa/Conakry',
 'Africa/Dakar',
 'Africa/Dar_es_Salaam',
 'Africa/Djibouti',
 'Africa/Douala',
 'Africa/El_Aaiun',
 'Africa/Freetown',
 'Africa/Gaborone',
 'Africa/Harare',
 'Africa/Johannesburg',
 'Africa/Juba',
 'Africa/Kampala',
 'Africa/Khartoum',
 'Africa/Kigali',
 'Africa/Kinshasa',
 'Africa/Lagos',
 'Africa/Libreville',
 'Africa/Lome',
 'Africa/Luanda',
 'Africa/Lubumbashi',
 'Africa/Lusaka',
 'Africa/Malabo',
 'Africa/Maputo',
 'Africa/Maseru',
 'Africa/Mbabane',
 'Africa/Mogadishu',
 'Africa/Monrovia',
 'Africa/Nairobi',
 'Africa/Ndjamena',
 'Africa/Niamey',
 'Africa/Nouakchott',
 'Africa/Ouagadougou',
 'Africa/Porto-Novo',
 'Africa/Sao_Tome',
 'Africa/Tripoli',
 'Africa/Tunis',
 'Africa/Windhoek',
 'America/Adak',
 'America/Anchorage',
 'America/Anguilla',
 'America/Antigua',
 'America/Araguaina',
 'America/Argentina/Buenos_Aires',
 'America/Argentina/Catamarca',
 'America/Argentina/Cordoba',
 'America/Argentina/Jujuy',
 'America/Argentina/La_Rioja',
 'America/Argentina/Mendoza',
 'America/Argentina/Rio_Gallegos',
 'America/Argentina/Salta',
 'America/Argentina/San_Juan',
 'America/Argentina/San_Luis',
 'America/Argentina/Tucuman',
 'America/Argentina/Ushuaia',
 'America/Aruba',
 'America/Asuncion',
 'America/Atikokan',
 'America/Bahia',
 'America/Bahia_Banderas',
 'America/Barbados',
 'America/Belem',
 'America/Belize',
 'America/Blanc-Sablon',
 'America/Boa_Vista',
 'America/Bogota',
 'America/Boise',
 'America/Cambridge_Bay',
 'America/Campo_Grande',
 'America/Cancun',
 'America/Caracas',
 'America/Cayenne',
 'America/Cayman',
 'America/Chicago',
 'America/Chihuahua',
 'America/Costa_Rica',
 'America/Creston',
 'America/Cuiaba',
 'America/Curacao',
 'America/Danmarkshavn',
 'America/Dawson',
 'America/Dawson_Creek',
 'America/Denver',
 'America/Detroit',
 'America/Dominica',
 'America/Edmonton',
 'America/Eirunepe',
 'America/El_Salvador',
 'America/Fortaleza',
 'America/Glace_Bay',
 'America/Godthab',
 'America/Goose_Bay',
 'America/Grand_Turk',
 'America/Grenada',
 'America/Guadeloupe',
 'America/Guatemala',
 'America/Guayaquil',
 'America/Guyana',
 'America/Halifax',
 'America/Havana',
 'America/Hermosillo',
 'America/Indiana/Indianapolis',
 'America/Indiana/Knox',
 'America/Indiana/Marengo',
 'America/Indiana/Petersburg',
 'America/Indiana/Tell_City',
 'America/Indiana/Vevay',
 'America/Indiana/Vincennes',
 'America/Indiana/Winamac',
 'America/Inuvik',
 'America/Iqaluit',
 'America/Jamaica',
 'America/Juneau',
 'America/Kentucky/Louisville',
 'America/Kentucky/Monticello',
 'America/Kralendijk',
 'America/La_Paz',
 'America/Lima',
 'America/Los_Angeles',
 'America/Lower_Princes',
 'America/Maceio',
 'America/Managua',
 'America/Manaus',
 'America/Marigot',
 'America/Martinique',
 'America/Matamoros',
 'America/Mazatlan',
 'America/Menominee',
 'America/Merida',
 'America/Metlakatla',
 'America/Mexico_City',
 'America/Miquelon',
 'America/Moncton',
 'America/Monterrey',
 'America/Montevideo',
 'America/Montreal',
 'America/Montserrat',
 'America/Nassau',
 'America/New_York',
 'America/Nipigon',
 'America/Nome',
 'America/Noronha',
 'America/North_Dakota/Beulah',
 'America/North_Dakota/Center',
 'America/North_Dakota/New_Salem',
 'America/Ojinaga',
 'America/Panama',
 'America/Pangnirtung',
 'America/Paramaribo',
 'America/Phoenix',
 'America/Port-au-Prince',
 'America/Port_of_Spain',
 'America/Porto_Velho',
 'America/Puerto_Rico',
 'America/Rainy_River',
 'America/Rankin_Inlet',
 'America/Recife',
 'America/Regina',
 'America/Resolute',
 'America/Rio_Branco',
 'America/Santa_Isabel',
 'America/Santarem',
 'America/Santiago',
 'America/Santo_Domingo',
 'America/Sao_Paulo',
 'America/Scoresbysund',
 'America/Shiprock',
 'America/Sitka',
 'America/St_Barthelemy',
 'America/St_Johns',
 'America/St_Kitts',
 'America/St_Lucia',
 'America/St_Thomas',
 'America/St_Vincent',
 'America/Swift_Current',
 'America/Tegucigalpa',
 'America/Thule',
 'America/Thunder_Bay',
 'America/Tijuana',
 'America/Toronto',
 'America/Tortola',
 'America/Vancouver',
 'America/Whitehorse',
 'America/Winnipeg',
 'America/Yakutat',
 'America/Yellowknife',
 'Antarctica/Casey',
 'Antarctica/Davis',
 'Antarctica/DumontDUrville',
 'Antarctica/Macquarie',
 'Antarctica/Mawson',
 'Antarctica/McMurdo',
 'Antarctica/Palmer',
 'Antarctica/Rothera',
 'Antarctica/South_Pole',
 'Antarctica/Syowa',
 'Antarctica/Vostok',
 'Arctic/Longyearbyen',
 'Asia/Aden',
 'Asia/Almaty',
 'Asia/Amman',
 'Asia/Anadyr',
 'Asia/Aqtau',
 'Asia/Aqtobe',
 'Asia/Ashgabat',
 'Asia/Baghdad',
 'Asia/Bahrain',
 'Asia/Baku',
 'Asia/Bangkok',
 'Asia/Beirut',
 'Asia/Bishkek',
 'Asia/Brunei',
 'Asia/Choibalsan',
 'Asia/Chongqing',
 'Asia/Colombo',
 'Asia/Damascus',
 'Asia/Dhaka',
 'Asia/Dili',
 'Asia/Dubai',
 'Asia/Dushanbe',
 'Asia/Gaza',
 'Asia/Harbin',
 'Asia/Hebron',
 'Asia/Ho_Chi_Minh',
 'Asia/Hong_Kong',
 'Asia/Hovd',
 'Asia/Irkutsk',
 'Asia/Jakarta',
 'Asia/Jayapura',
 'Asia/Jerusalem',
 'Asia/Kabul',
 'Asia/Kamchatka',
 'Asia/Karachi',
 'Asia/Kashgar',
 'Asia/Kathmandu',
 'Asia/Kolkata',
 'Asia/Krasnoyarsk',
 'Asia/Kuala_Lumpur',
 'Asia/Kuching',
 'Asia/Kuwait',
 'Asia/Macau',
 'Asia/Magadan',
 'Asia/Makassar',
 'Asia/Manila',
 'Asia/Muscat',
 'Asia/Nicosia',
 'Asia/Novokuznetsk',
 'Asia/Novosibirsk',
 'Asia/Omsk',
 'Asia/Oral',
 'Asia/Phnom_Penh',
 'Asia/Pontianak',
 'Asia/Pyongyang',
 'Asia/Qatar',
 'Asia/Qyzylorda',
 'Asia/Rangoon',
 'Asia/Riyadh',
 'Asia/Sakhalin',
 'Asia/Samarkand',
 'Asia/Seoul',
 'Asia/Shanghai',
 'Asia/Singapore',
 'Asia/Taipei',
 'Asia/Tashkent',
 'Asia/Tbilisi',
 'Asia/Tehran',
 'Asia/Thimphu',
 'Asia/Tokyo',
 'Asia/Ulaanbaatar',
 'Asia/Urumqi',
 'Asia/Vientiane',
 'Asia/Vladivostok',
 'Asia/Yakutsk',
 'Asia/Yekaterinburg',
 'Asia/Yerevan',
 'Atlantic/Azores',
 'Atlantic/Bermuda',
 'Atlantic/Canary',
 'Atlantic/Cape_Verde',
 'Atlantic/Faroe',
 'Atlantic/Madeira',
 'Atlantic/Reykjavik',
 'Atlantic/South_Georgia',
 'Atlantic/St_Helena',
 'Atlantic/Stanley',
 'Australia/Adelaide',
 'Australia/Brisbane',
 'Australia/Broken_Hill',
 'Australia/Currie',
 'Australia/Darwin',
 'Australia/Eucla',
 'Australia/Hobart',
 'Australia/Lindeman',
 'Australia/Lord_Howe',
 'Australia/Melbourne',
 'Australia/Perth',
 'Australia/Sydney',
 'Canada/Atlantic',
 'Canada/Central',
 'Canada/Eastern',
 'Canada/Mountain',
 'Canada/Newfoundland',
 'Canada/Pacific',
 'Europe/Amsterdam',
 'Europe/Andorra',
 'Europe/Athens',
 'Europe/Belgrade',
 'Europe/Berlin',
 'Europe/Bratislava',
 'Europe/Brussels',
 'Europe/Bucharest',
 'Europe/Budapest',
 'Europe/Chisinau',
 'Europe/Copenhagen',
 'Europe/Dublin',
 'Europe/Gibraltar',
 'Europe/Guernsey',
 'Europe/Helsinki',
 'Europe/Isle_of_Man',
 'Europe/Istanbul',
 'Europe/Jersey',
 'Europe/Kaliningrad',
 'Europe/Kiev',
 'Europe/Lisbon',
 'Europe/Ljubljana',
 'Europe/London',
 'Europe/Luxembourg',
 'Europe/Madrid',
 'Europe/Malta',
 'Europe/Mariehamn',
 'Europe/Minsk',
 'Europe/Monaco',
 'Europe/Moscow',
 'Europe/Oslo',
 'Europe/Paris',
 'Europe/Podgorica',
 'Europe/Prague',
 'Europe/Riga',
 'Europe/Rome',
 'Europe/Samara',
 'Europe/San_Marino',
 'Europe/Sarajevo',
 'Europe/Simferopol',
 'Europe/Skopje',
 'Europe/Sofia',
 'Europe/Stockholm',
 'Europe/Tallinn',
 'Europe/Tirane',
 'Europe/Uzhgorod',
 'Europe/Vaduz',
 'Europe/Vatican',
 'Europe/Vienna',
 'Europe/Vilnius',
 'Europe/Volgograd',
 'Europe/Warsaw',
 'Europe/Zagreb',
 'Europe/Zaporozhye',
 'Europe/Zurich',
 'GMT',
 'Indian/Antananarivo',
 'Indian/Chagos',
 'Indian/Christmas',
 'Indian/Cocos',
 'Indian/Comoro',
 'Indian/Kerguelen',
 'Indian/Mahe',
 'Indian/Maldives',
 'Indian/Mauritius',
 'Indian/Mayotte',
 'Indian/Reunion',
 'Pacific/Apia',
 'Pacific/Auckland',
 'Pacific/Chatham',
 'Pacific/Chuuk',
 'Pacific/Easter',
 'Pacific/Efate',
 'Pacific/Enderbury',
 'Pacific/Fakaofo',
 'Pacific/Fiji',
 'Pacific/Funafuti',
 'Pacific/Galapagos',
 'Pacific/Gambier',
 'Pacific/Guadalcanal',
 'Pacific/Guam',
 'Pacific/Honolulu',
 'Pacific/Johnston',
 'Pacific/Kiritimati',
 'Pacific/Kosrae',
 'Pacific/Kwajalein',
 'Pacific/Majuro',
 'Pacific/Marquesas',
 'Pacific/Midway',
 'Pacific/Nauru',
 'Pacific/Niue',
 'Pacific/Norfolk',
 'Pacific/Noumea',
 'Pacific/Pago_Pago',
 'Pacific/Palau',
 'Pacific/Pitcairn',
 'Pacific/Pohnpei',
 'Pacific/Port_Moresby',
 'Pacific/Rarotonga',
 'Pacific/Saipan',
 'Pacific/Tahiti',
 'Pacific/Tarawa',
 'Pacific/Tongatapu',
 'Pacific/Wake',
 'Pacific/Wallis',
 'US/Alaska',
 'US/Arizona',
 'US/Central',
 'US/Eastern',
 'US/Hawaii',
 'US/Mountain',
 'US/Pacific',
 'UTC']
common_timezones = [
        tz for tz in common_timezones if tz in all_timezones]
        
common_timezones_set = set(common_timezones)
pytz-2012c/LICENSE.txt0000644000175000017500000000210011742721477013155 0ustar  stubstubCopyright (c) 2003-2009 Stuart Bishop 

Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
pytz-2012c/PKG-INFO0000664000175000017500000005541511742722012012434 0ustar  stubstubMetadata-Version: 1.0
Name: pytz
Version: 2012c
Summary: World timezone definitions, modern and historical
Home-page: http://pytz.sourceforge.net
Author: Stuart Bishop
Author-email: stuart@stuartbishop.net
License: MIT
Download-URL: http://pypi.python.org/pypi/pytz
Description: pytz - World Timezone Definitions for Python
        ============================================
        
        :Author: Stuart Bishop 
        
        Introduction
        ~~~~~~~~~~~~
        
        pytz brings the Olson tz database into Python. This library allows
        accurate and cross platform timezone calculations using Python 2.4
        or higher. It also solves the issue of ambiguous times at the end
        of daylight savings, which you can read more about in the Python
        Library Reference (``datetime.tzinfo``).
        
        Amost all of the Olson timezones are supported.
        
        Note that this library differs from the documented Python API for
        tzinfo implementations; if you want to create local wallclock
        times you need to use the ``localize()`` method documented in this
        document. In addition, if you perform date arithmetic on local
        times that cross DST boundaries, the results may be in an incorrect
        timezone (ie. subtract 1 minute from 2002-10-27 1:00 EST and you get
        2002-10-27 0:59 EST instead of the correct 2002-10-27 1:59 EDT). A
        ``normalize()`` method is provided to correct this. Unfortunatly these
        issues cannot be resolved without modifying the Python datetime
        implementation.
        
        
        Installation
        ~~~~~~~~~~~~
        
        This package can either be installed from a .egg file using setuptools,
        or from the tarball using the standard Python distutils.
        
        If you are installing from a tarball, run the following command as an
        administrative user::
        
            python setup.py install
        
        If you are installing using setuptools, you don't even need to download
        anything as the latest version will be downloaded for you
        from the Python package index::
        
            easy_install --upgrade pytz
        
        If you already have the .egg file, you can use that too::
        
            easy_install pytz-2008g-py2.6.egg
        
        
        Example & Usage
        ~~~~~~~~~~~~~~~
        
        Localized times and date arithmetic
        -----------------------------------
        
        >>> from datetime import datetime, timedelta
        >>> from pytz import timezone
        >>> import pytz
        >>> utc = pytz.utc
        >>> utc.zone
        'UTC'
        >>> eastern = timezone('US/Eastern')
        >>> eastern.zone
        'US/Eastern'
        >>> amsterdam = timezone('Europe/Amsterdam')
        >>> fmt = '%Y-%m-%d %H:%M:%S %Z%z'
        
        This library only supports two ways of building a localized time. The
        first is to use the ``localize()`` method provided by the pytz library.
        This is used to localize a naive datetime (datetime with no timezone
        information):
        
        >>> loc_dt = eastern.localize(datetime(2002, 10, 27, 6, 0, 0))
        >>> print(loc_dt.strftime(fmt))
        2002-10-27 06:00:00 EST-0500
        
        The second way of building a localized time is by converting an existing
        localized time using the standard ``astimezone()`` method:
        
        >>> ams_dt = loc_dt.astimezone(amsterdam)
        >>> ams_dt.strftime(fmt)
        '2002-10-27 12:00:00 CET+0100'
        
        Unfortunately using the tzinfo argument of the standard datetime
        constructors ''does not work'' with pytz for many timezones.
        
        >>> datetime(2002, 10, 27, 12, 0, 0, tzinfo=amsterdam).strftime(fmt)
        '2002-10-27 12:00:00 AMT+0020'
        
        It is safe for timezones without daylight savings trasitions though, such
        as UTC:
        
        >>> datetime(2002, 10, 27, 12, 0, 0, tzinfo=pytz.utc).strftime(fmt)
        '2002-10-27 12:00:00 UTC+0000'
        
        The preferred way of dealing with times is to always work in UTC,
        converting to localtime only when generating output to be read
        by humans.
        
        >>> utc_dt = datetime(2002, 10, 27, 6, 0, 0, tzinfo=utc)
        >>> loc_dt = utc_dt.astimezone(eastern)
        >>> loc_dt.strftime(fmt)
        '2002-10-27 01:00:00 EST-0500'
        
        This library also allows you to do date arithmetic using local
        times, although it is more complicated than working in UTC as you
        need to use the ``normalize()`` method to handle daylight savings time
        and other timezone transitions. In this example, ``loc_dt`` is set
        to the instant when daylight savings time ends in the US/Eastern
        timezone.
        
        >>> before = loc_dt - timedelta(minutes=10)
        >>> before.strftime(fmt)
        '2002-10-27 00:50:00 EST-0500'
        >>> eastern.normalize(before).strftime(fmt)
        '2002-10-27 01:50:00 EDT-0400'
        >>> after = eastern.normalize(before + timedelta(minutes=20))
        >>> after.strftime(fmt)
        '2002-10-27 01:10:00 EST-0500'
        
        Creating localtimes is also tricky, and the reason why working with
        local times is not recommended. Unfortunately, you cannot just pass
        a ``tzinfo`` argument when constructing a datetime (see the next
        section for more details)
        
        >>> dt = datetime(2002, 10, 27, 1, 30, 0)
        >>> dt1 = eastern.localize(dt, is_dst=True)
        >>> dt1.strftime(fmt)
        '2002-10-27 01:30:00 EDT-0400'
        >>> dt2 = eastern.localize(dt, is_dst=False)
        >>> dt2.strftime(fmt)
        '2002-10-27 01:30:00 EST-0500'
        
        Converting between timezones also needs special attention. This also
        needs to use the ``normalize()`` method to ensure the conversion is
        correct.
        
        >>> utc_dt = utc.localize(datetime.utcfromtimestamp(1143408899))
        >>> utc_dt.strftime(fmt)
        '2006-03-26 21:34:59 UTC+0000'
        >>> au_tz = timezone('Australia/Sydney')
        >>> au_dt = au_tz.normalize(utc_dt.astimezone(au_tz))
        >>> au_dt.strftime(fmt)
        '2006-03-27 08:34:59 EST+1100'
        >>> utc_dt2 = utc.normalize(au_dt.astimezone(utc))
        >>> utc_dt2.strftime(fmt)
        '2006-03-26 21:34:59 UTC+0000'
        
        You can take shortcuts when dealing with the UTC side of timezone
        conversions. ``normalize()`` and ``localize()`` are not really
        necessary when there are no daylight savings time transitions to
        deal with.
        
        >>> utc_dt = datetime.utcfromtimestamp(1143408899).replace(tzinfo=utc)
        >>> utc_dt.strftime(fmt)
        '2006-03-26 21:34:59 UTC+0000'
        >>> au_tz = timezone('Australia/Sydney')
        >>> au_dt = au_tz.normalize(utc_dt.astimezone(au_tz))
        >>> au_dt.strftime(fmt)
        '2006-03-27 08:34:59 EST+1100'
        >>> utc_dt2 = au_dt.astimezone(utc)
        >>> utc_dt2.strftime(fmt)
        '2006-03-26 21:34:59 UTC+0000'
        
        
        ``tzinfo`` API
        --------------
        
        The ``tzinfo`` instances returned by the ``timezone()`` function have
        been extended to cope with ambiguous times by adding an ``is_dst``
        parameter to the ``utcoffset()``, ``dst()`` && ``tzname()`` methods.
        
        >>> tz = timezone('America/St_Johns')
        
        >>> normal = datetime(2009, 9, 1)
        >>> ambiguous = datetime(2009, 10, 31, 23, 30)
        
        The ``is_dst`` parameter is ignored for most timestamps. It is only used
        during DST transition ambiguous periods to resulve that ambiguity.
        
        >>> tz.utcoffset(normal, is_dst=True)
        datetime.timedelta(-1, 77400)
        >>> tz.dst(normal, is_dst=True)
        datetime.timedelta(0, 3600)
        >>> tz.tzname(normal, is_dst=True)
        'NDT'
        
        >>> tz.utcoffset(ambiguous, is_dst=True)
        datetime.timedelta(-1, 77400)
        >>> tz.dst(ambiguous, is_dst=True)
        datetime.timedelta(0, 3600)
        >>> tz.tzname(ambiguous, is_dst=True)
        'NDT'
        
        >>> tz.utcoffset(normal, is_dst=False)
        datetime.timedelta(-1, 77400)
        >>> tz.dst(normal, is_dst=False)
        datetime.timedelta(0, 3600)
        >>> tz.tzname(normal, is_dst=False)
        'NDT'
        
        >>> tz.utcoffset(ambiguous, is_dst=False)
        datetime.timedelta(-1, 73800)
        >>> tz.dst(ambiguous, is_dst=False)
        datetime.timedelta(0)
        >>> tz.tzname(ambiguous, is_dst=False)
        'NST'
        
        If ``is_dst`` is not specified, ambiguous timestamps will raise
        an ``pytz.exceptions.AmbiguousTimeError`` exception.
        
        >>> tz.utcoffset(normal)
        datetime.timedelta(-1, 77400)
        >>> tz.dst(normal)
        datetime.timedelta(0, 3600)
        >>> tz.tzname(normal)
        'NDT'
        
        >>> import pytz.exceptions
        >>> try:
        ...     tz.utcoffset(ambiguous)
        ... except pytz.exceptions.AmbiguousTimeError:
        ...     print('pytz.exceptions.AmbiguousTimeError: %s' % ambiguous)
        pytz.exceptions.AmbiguousTimeError: 2009-10-31 23:30:00
        >>> try:
        ...     tz.dst(ambiguous)
        ... except pytz.exceptions.AmbiguousTimeError:
        ...     print('pytz.exceptions.AmbiguousTimeError: %s' % ambiguous)
        pytz.exceptions.AmbiguousTimeError: 2009-10-31 23:30:00
        >>> try:
        ...     tz.tzname(ambiguous)
        ... except pytz.exceptions.AmbiguousTimeError:
        ...     print('pytz.exceptions.AmbiguousTimeError: %s' % ambiguous)
        pytz.exceptions.AmbiguousTimeError: 2009-10-31 23:30:00
        
        
        Problems with Localtime
        ~~~~~~~~~~~~~~~~~~~~~~~
        
        The major problem we have to deal with is that certain datetimes
        may occur twice in a year. For example, in the US/Eastern timezone
        on the last Sunday morning in October, the following sequence
        happens:
        
            - 01:00 EDT occurs
            - 1 hour later, instead of 2:00am the clock is turned back 1 hour
              and 01:00 happens again (this time 01:00 EST)
        
        In fact, every instant between 01:00 and 02:00 occurs twice. This means
        that if you try and create a time in the 'US/Eastern' timezone using
        the standard datetime syntax, there is no way to specify if you meant
        before of after the end-of-daylight-savings-time transition.
        
        >>> loc_dt = datetime(2002, 10, 27, 1, 30, 00, tzinfo=eastern)
        >>> loc_dt.strftime(fmt)
        '2002-10-27 01:30:00 EST-0500'
        
        As you can see, the system has chosen one for you and there is a 50%
        chance of it being out by one hour. For some applications, this does
        not matter. However, if you are trying to schedule meetings with people
        in different timezones or analyze log files it is not acceptable. 
        
        The best and simplest solution is to stick with using UTC.  The pytz
        package encourages using UTC for internal timezone representation by
        including a special UTC implementation based on the standard Python
        reference implementation in the Python documentation.
        
        The UTC timezone unpickles to be the same instance, and pickles to a
        smaller size than other pytz tzinfo instances.  The UTC implementation
        can be obtained as pytz.utc, pytz.UTC, or pytz.timezone('UTC').
        
        >>> import pickle, pytz
        >>> dt = datetime(2005, 3, 1, 14, 13, 21, tzinfo=utc)
        >>> naive = dt.replace(tzinfo=None)
        >>> p = pickle.dumps(dt, 1)
        >>> naive_p = pickle.dumps(naive, 1)
        >>> len(p) - len(naive_p)
        17
        >>> new = pickle.loads(p)
        >>> new == dt
        True
        >>> new is dt
        False
        >>> new.tzinfo is dt.tzinfo
        True
        >>> pytz.utc is pytz.UTC is pytz.timezone('UTC')
        True
        
        Note that this instance is not the same instance (or implementation) as
        other timezones with the same meaning (GMT, Greenwich, Universal, etc.).
        
        >>> utc is pytz.timezone('GMT')
        False
        
        If you insist on working with local times, this library provides a
        facility for constructing them unambiguously:
        
        >>> loc_dt = datetime(2002, 10, 27, 1, 30, 00)
        >>> est_dt = eastern.localize(loc_dt, is_dst=True)
        >>> edt_dt = eastern.localize(loc_dt, is_dst=False)
        >>> print(est_dt.strftime(fmt) + ' / ' + edt_dt.strftime(fmt))
        2002-10-27 01:30:00 EDT-0400 / 2002-10-27 01:30:00 EST-0500
        
        If you pass None as the is_dst flag to localize(), pytz will refuse to
        guess and raise exceptions if you try to build ambiguous or non-existent
        times.
        
        For example, 1:30am on 27th Oct 2002 happened twice in the US/Eastern
        timezone when the clocks where put back at the end of Daylight Savings
        Time:
        
        >>> dt = datetime(2002, 10, 27, 1, 30, 00)
        >>> try:
        ...     eastern.localize(dt, is_dst=None)
        ... except pytz.exceptions.AmbiguousTimeError:
        ...     print('pytz.exceptions.AmbiguousTimeError: %s' % dt)
        pytz.exceptions.AmbiguousTimeError: 2002-10-27 01:30:00
        
        Similarly, 2:30am on 7th April 2002 never happened at all in the
        US/Eastern timezone, as the clocks where put forward at 2:00am skipping
        the entire hour:
        
        >>> dt = datetime(2002, 4, 7, 2, 30, 00)
        >>> try:
        ...     eastern.localize(dt, is_dst=None)
        ... except pytz.exceptions.NonExistentTimeError:
        ...     print('pytz.exceptions.NonExistentTimeError: %s' % dt)
        pytz.exceptions.NonExistentTimeError: 2002-04-07 02:30:00
        
        Both of these exceptions share a common base class to make error handling
        easier:
        
        >>> isinstance(pytz.AmbiguousTimeError(), pytz.InvalidTimeError)
        True
        >>> isinstance(pytz.NonExistentTimeError(), pytz.InvalidTimeError)
        True
        
        Although ``localize()`` handles many cases, it is still not possible
        to handle all. In cases where countries change their timezone definitions,
        cases like the end-of-daylight-savings-time occur with no way of resolving
        the ambiguity. For example, in 1915 Warsaw switched from Warsaw time to
        Central European time. So at the stroke of midnight on August 5th 1915
        the clocks were wound back 24 minutes creating an ambiguous time period
        that cannot be specified without referring to the timezone abbreviation
        or the actual UTC offset. In this case midnight happened twice, neither
        time during a daylight savings time period:
        
        >>> warsaw = pytz.timezone('Europe/Warsaw')
        >>> loc_dt1 = warsaw.localize(datetime(1915, 8, 4, 23, 59, 59), is_dst=False)
        >>> loc_dt1.strftime(fmt)
        '1915-08-04 23:59:59 WMT+0124'
        >>> loc_dt2 = warsaw.localize(datetime(1915, 8, 5, 00, 00, 00), is_dst=False)
        >>> loc_dt2.strftime(fmt)
        '1915-08-05 00:00:00 CET+0100'
        >>> str(loc_dt2 - loc_dt1)
        '0:24:01'
        
        The only way of creating a time during the missing 24 minutes is
        converting from another timezone - because neither of the timezones
        involved where in daylight savings mode the API simply provides no way
        to express it:
        
        >>> utc_dt = datetime(1915, 8, 4, 22, 36, tzinfo=pytz.utc)
        >>> utc_dt.astimezone(warsaw).strftime(fmt)
        '1915-08-04 23:36:00 CET+0100'
        
        The standard Python way of handling all these ambiguities is not to
        handle them, such as demonstrated in this example using the US/Eastern
        timezone definition from the Python documentation (Note that this
        implementation only works for dates between 1987 and 2006 - it is
        included for tests only!):
        
        >>> from pytz.reference import Eastern # pytz.reference only for tests
        >>> dt = datetime(2002, 10, 27, 0, 30, tzinfo=Eastern)
        >>> str(dt)
        '2002-10-27 00:30:00-04:00'
        >>> str(dt + timedelta(hours=1))
        '2002-10-27 01:30:00-05:00'
        >>> str(dt + timedelta(hours=2))
        '2002-10-27 02:30:00-05:00'
        >>> str(dt + timedelta(hours=3))
        '2002-10-27 03:30:00-05:00'
        
        Notice the first two results? At first glance you might think they are
        correct, but taking the UTC offset into account you find that they are
        actually two hours appart instead of the 1 hour we asked for.
        
        >>> from pytz.reference import UTC # pytz.reference only for tests
        >>> str(dt.astimezone(UTC))
        '2002-10-27 04:30:00+00:00'
        >>> str((dt + timedelta(hours=1)).astimezone(UTC))
        '2002-10-27 06:30:00+00:00'
        
        
        Country Information
        ~~~~~~~~~~~~~~~~~~~
        
        A mechanism is provided to access the timezones commonly in use
        for a particular country, looked up using the ISO 3166 country code.
        It returns a list of strings that can be used to retrieve the relevant
        tzinfo instance using ``pytz.timezone()``:
        
        >>> print(' '.join(pytz.country_timezones['nz']))
        Pacific/Auckland Pacific/Chatham
        
        The Olson database comes with a ISO 3166 country code to English country
        name mapping that pytz exposes as a dictionary:
        
        >>> print(pytz.country_names['nz'])
        New Zealand
        
        
        What is UTC
        ~~~~~~~~~~~
        
        'UTC' is Universal Time, also known as Greenwich Mean Time or GMT
        in the United Kingdom. All other timezones are given as offsets from
        UTC. No daylight savings time occurs in UTC, making it a useful timezone
        to perform date arithmetic without worrying about the confusion and
        ambiguities caused by daylight savings time transitions, your country
        changing its timezone, or mobile computers that move roam through
        multiple timezones.
        
        
        Helpers
        ~~~~~~~
        
        There are two lists of timezones provided.
        
        ``all_timezones`` is the exhaustive list of the timezone names that can
        be used.
        
        >>> from pytz import all_timezones
        >>> len(all_timezones) >= 500
        True
        >>> 'Etc/Greenwich' in all_timezones
        True
        
        ``common_timezones`` is a list of useful, current timezones. It doesn't
        contain deprecated zones or historical zones, except for a few I've
        deemed in common usage, such as US/Eastern (open a bug report if you
        think other timezones are deserving of being included here). It is also
        a sequence of strings.
        
        >>> from pytz import common_timezones
        >>> len(common_timezones) < len(all_timezones)
        True
        >>> 'Etc/Greenwich' in common_timezones
        False
        >>> 'Australia/Melbourne' in common_timezones
        True
        >>> 'US/Eastern' in common_timezones
        True
        >>> 'Canada/Eastern' in common_timezones
        True
        >>> 'US/Pacific-New' in all_timezones
        True
        >>> 'US/Pacific-New' in common_timezones
        False
        
        Both ``common_timezones`` and ``all_timezones`` are alphabetically
        sorted:
        
        >>> common_timezones_dupe = common_timezones[:]
        >>> common_timezones_dupe.sort()
        >>> common_timezones == common_timezones_dupe
        True
        >>> all_timezones_dupe = all_timezones[:]
        >>> all_timezones_dupe.sort()
        >>> all_timezones == all_timezones_dupe
        True
        
        ``all_timezones`` and ``common_timezones`` are also available as sets.
        
        >>> from pytz import all_timezones_set, common_timezones_set
        >>> 'US/Eastern' in all_timezones_set
        True
        >>> 'US/Eastern' in common_timezones_set
        True
        >>> 'Australia/Victoria' in common_timezones_set
        False
        
        You can also retrieve lists of timezones used by particular countries
        using the ``country_timezones()`` function. It requires an ISO-3166
        two letter country code.
        
        >>> from pytz import country_timezones
        >>> print(' '.join(country_timezones('ch')))
        Europe/Zurich
        >>> print(' '.join(country_timezones('CH')))
        Europe/Zurich
        
        
        License
        ~~~~~~~
        
        MIT license.
        
        This code is also available as part of Zope 3 under the Zope Public
        License,  Version 2.1 (ZPL).
        
        I'm happy to relicense this code if necessary for inclusion in other
        open source projects.
        
        
        Latest Versions
        ~~~~~~~~~~~~~~~
        
        This package will be updated after releases of the Olson timezone
        database.  The latest version can be downloaded from the `Python Package
        Index `_.  The code that is used
        to generate this distribution is hosted on launchpad.net and available
        using the `Bazaar version control system `_
        using::
        
            bzr branch lp:pytz
        
        
        Bugs, Feature Requests & Patches
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        
        Bugs can be reported using `Launchpad `_.
        
        
        Issues & Limitations
        ~~~~~~~~~~~~~~~~~~~~
        
        - Offsets from UTC are rounded to the nearest whole minute, so timezones
          such as Europe/Amsterdam pre 1937 will be up to 30 seconds out. This
          is a limitation of the Python datetime library.
        
        - If you think a timezone definition is incorrect, I probably can't fix
          it. pytz is a direct translation of the Olson timezone database, and
          changes to the timezone definitions need to be made to this source.
          If you find errors they should be reported to the time zone mailing
          list, linked from http://www.twinsun.com/tz/tz-link.htm
        
        
        Further Reading
        ~~~~~~~~~~~~~~~
        
        More info than you want to know about timezones:
        http://www.twinsun.com/tz/tz-link.htm
        
        
        Contact
        ~~~~~~~
        
        Stuart Bishop 
        
        
        
Keywords: timezone,tzinfo,datetime,olson,time
Platform: Independant
Classifier: Development Status :: 6 - Mature
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Software Development :: Libraries :: Python Modules
pytz-2012c/CHANGES.txt0000644000175000017500000000275611742721477013164 0ustar  stubstub2004-07-25
    
    - Improved localtime handling, and added a localize() method enabling
      correct creation of local times.

2005-02-16

    - Made available under the Zope Public Licence 2.1 (ZPL) and checked
      into the Zope3 project. pytz may now be used and redistributed
      under either the original MIT license or the ZPL 2.1.

2005-05-13

    - Move UTC into the top level pytz module and provide special
      case pickle support for this singleton.

2005-08-14

    - Ensure all tzinfo instances are efficiently picklable.

2005-12-31

    - Add fixed offset timezone classes required by Zope 3
    - Generate and distribute a PO template file listing all timezone
      names. Translations are not yet available.

2007-03-03

    - Import work by James Henstridge, making pytz load timezone
      information from zic compiled binaries at runtime rather than
      processing them into Python classes.

2007-03-26

    - Update database to version 2007d
    - Fix windows incompatibilities, working around limitations on that
      platform.
    - Fix 2.3 incompatibilities. Installation now requires distutils.
    - Passing an invalid timezone name to timezone() now raises an
      UnknownTimezoneError, which is a KeyError subclass for backwards
      compatibility.

2007-03-27

    - Ensure API can accept Unicode strings (Bug #96957)

2009-09-29

    - Fix test_zdump tests and bugs the fixed tests picked up, including
      the fix for Bug #427444.

2011-02-08

    - Python 3.1 support.
pytz-2012c/setup.cfg0000664000175000017500000000007311742722012013146 0ustar  stubstub[egg_info]
tag_build = 
tag_date = 0
tag_svn_revision = 0

pytz-2012c/setup.py0000644000175000017500000000310011742721477013045 0ustar  stubstub'''
pytz setup script
'''

import pytz, sys, os, os.path

try:
    from setuptools import setup
except ImportError:
    from distutils.core import setup

me = 'Stuart Bishop'
memail = 'stuart@stuartbishop.net'
packages = ['pytz']
resources = ['zone.tab', 'locales/pytz.pot']
for dirpath, dirnames, filenames in os.walk(os.path.join('pytz', 'zoneinfo')):
    # remove the 'pytz' part of the path
    basepath = dirpath.split(os.path.sep, 1)[1]
    resources.extend([os.path.join(basepath, filename)
                     for filename in filenames])
package_data = {'pytz': resources}

assert len(resources) > 10, 'zoneinfo files not found!'

setup (
    name='pytz',
    version=pytz.VERSION,
    zip_safe=True,
    description='World timezone definitions, modern and historical',
    long_description=open('README.txt','r').read(),
    author=me,
    author_email=memail,
    maintainer=me,
    maintainer_email=memail,
    url='http://pytz.sourceforge.net',
    license='MIT',
    keywords=['timezone','tzinfo', 'datetime', 'olson', 'time'],
    packages=packages,
    package_data=package_data,
    download_url='http://pypi.python.org/pypi/pytz',
    platforms=['Independant'],
    classifiers = [
        'Development Status :: 6 - Mature',
        'Intended Audience :: Developers',
        'License :: OSI Approved :: MIT License',
        'Natural Language :: English',
        'Operating System :: OS Independent',
        'Programming Language :: Python',
        'Programming Language :: Python :: 3',
        'Topic :: Software Development :: Libraries :: Python Modules',
        ],
    )
pytz-2012c/MANIFEST.in0000644000175000017500000000017211742721477013077 0ustar  stubstubinclude *.txt setup.py
recursive-include pytz *.py
recursive-include pytz *.pot
graft pytz/zoneinfo
exclude test_zdump.py
pytz-2012c/README.txt0000644000175000017500000004335211742721477013046 0ustar  stubstubpytz - World Timezone Definitions for Python
============================================

:Author: Stuart Bishop 

Introduction
~~~~~~~~~~~~

pytz brings the Olson tz database into Python. This library allows
accurate and cross platform timezone calculations using Python 2.4
or higher. It also solves the issue of ambiguous times at the end
of daylight savings, which you can read more about in the Python
Library Reference (``datetime.tzinfo``).

Amost all of the Olson timezones are supported.

Note that this library differs from the documented Python API for
tzinfo implementations; if you want to create local wallclock
times you need to use the ``localize()`` method documented in this
document. In addition, if you perform date arithmetic on local
times that cross DST boundaries, the results may be in an incorrect
timezone (ie. subtract 1 minute from 2002-10-27 1:00 EST and you get
2002-10-27 0:59 EST instead of the correct 2002-10-27 1:59 EDT). A
``normalize()`` method is provided to correct this. Unfortunatly these
issues cannot be resolved without modifying the Python datetime
implementation.


Installation
~~~~~~~~~~~~

This package can either be installed from a .egg file using setuptools,
or from the tarball using the standard Python distutils.

If you are installing from a tarball, run the following command as an
administrative user::

    python setup.py install

If you are installing using setuptools, you don't even need to download
anything as the latest version will be downloaded for you
from the Python package index::

    easy_install --upgrade pytz

If you already have the .egg file, you can use that too::

    easy_install pytz-2008g-py2.6.egg


Example & Usage
~~~~~~~~~~~~~~~

Localized times and date arithmetic
-----------------------------------

>>> from datetime import datetime, timedelta
>>> from pytz import timezone
>>> import pytz
>>> utc = pytz.utc
>>> utc.zone
'UTC'
>>> eastern = timezone('US/Eastern')
>>> eastern.zone
'US/Eastern'
>>> amsterdam = timezone('Europe/Amsterdam')
>>> fmt = '%Y-%m-%d %H:%M:%S %Z%z'

This library only supports two ways of building a localized time. The
first is to use the ``localize()`` method provided by the pytz library.
This is used to localize a naive datetime (datetime with no timezone
information):

>>> loc_dt = eastern.localize(datetime(2002, 10, 27, 6, 0, 0))
>>> print(loc_dt.strftime(fmt))
2002-10-27 06:00:00 EST-0500

The second way of building a localized time is by converting an existing
localized time using the standard ``astimezone()`` method:

>>> ams_dt = loc_dt.astimezone(amsterdam)
>>> ams_dt.strftime(fmt)
'2002-10-27 12:00:00 CET+0100'

Unfortunately using the tzinfo argument of the standard datetime
constructors ''does not work'' with pytz for many timezones.

>>> datetime(2002, 10, 27, 12, 0, 0, tzinfo=amsterdam).strftime(fmt)
'2002-10-27 12:00:00 AMT+0020'

It is safe for timezones without daylight savings trasitions though, such
as UTC:

>>> datetime(2002, 10, 27, 12, 0, 0, tzinfo=pytz.utc).strftime(fmt)
'2002-10-27 12:00:00 UTC+0000'

The preferred way of dealing with times is to always work in UTC,
converting to localtime only when generating output to be read
by humans.

>>> utc_dt = datetime(2002, 10, 27, 6, 0, 0, tzinfo=utc)
>>> loc_dt = utc_dt.astimezone(eastern)
>>> loc_dt.strftime(fmt)
'2002-10-27 01:00:00 EST-0500'

This library also allows you to do date arithmetic using local
times, although it is more complicated than working in UTC as you
need to use the ``normalize()`` method to handle daylight savings time
and other timezone transitions. In this example, ``loc_dt`` is set
to the instant when daylight savings time ends in the US/Eastern
timezone.

>>> before = loc_dt - timedelta(minutes=10)
>>> before.strftime(fmt)
'2002-10-27 00:50:00 EST-0500'
>>> eastern.normalize(before).strftime(fmt)
'2002-10-27 01:50:00 EDT-0400'
>>> after = eastern.normalize(before + timedelta(minutes=20))
>>> after.strftime(fmt)
'2002-10-27 01:10:00 EST-0500'

Creating localtimes is also tricky, and the reason why working with
local times is not recommended. Unfortunately, you cannot just pass
a ``tzinfo`` argument when constructing a datetime (see the next
section for more details)

>>> dt = datetime(2002, 10, 27, 1, 30, 0)
>>> dt1 = eastern.localize(dt, is_dst=True)
>>> dt1.strftime(fmt)
'2002-10-27 01:30:00 EDT-0400'
>>> dt2 = eastern.localize(dt, is_dst=False)
>>> dt2.strftime(fmt)
'2002-10-27 01:30:00 EST-0500'

Converting between timezones also needs special attention. This also
needs to use the ``normalize()`` method to ensure the conversion is
correct.

>>> utc_dt = utc.localize(datetime.utcfromtimestamp(1143408899))
>>> utc_dt.strftime(fmt)
'2006-03-26 21:34:59 UTC+0000'
>>> au_tz = timezone('Australia/Sydney')
>>> au_dt = au_tz.normalize(utc_dt.astimezone(au_tz))
>>> au_dt.strftime(fmt)
'2006-03-27 08:34:59 EST+1100'
>>> utc_dt2 = utc.normalize(au_dt.astimezone(utc))
>>> utc_dt2.strftime(fmt)
'2006-03-26 21:34:59 UTC+0000'

You can take shortcuts when dealing with the UTC side of timezone
conversions. ``normalize()`` and ``localize()`` are not really
necessary when there are no daylight savings time transitions to
deal with.

>>> utc_dt = datetime.utcfromtimestamp(1143408899).replace(tzinfo=utc)
>>> utc_dt.strftime(fmt)
'2006-03-26 21:34:59 UTC+0000'
>>> au_tz = timezone('Australia/Sydney')
>>> au_dt = au_tz.normalize(utc_dt.astimezone(au_tz))
>>> au_dt.strftime(fmt)
'2006-03-27 08:34:59 EST+1100'
>>> utc_dt2 = au_dt.astimezone(utc)
>>> utc_dt2.strftime(fmt)
'2006-03-26 21:34:59 UTC+0000'


``tzinfo`` API
--------------

The ``tzinfo`` instances returned by the ``timezone()`` function have
been extended to cope with ambiguous times by adding an ``is_dst``
parameter to the ``utcoffset()``, ``dst()`` && ``tzname()`` methods.

>>> tz = timezone('America/St_Johns')

>>> normal = datetime(2009, 9, 1)
>>> ambiguous = datetime(2009, 10, 31, 23, 30)

The ``is_dst`` parameter is ignored for most timestamps. It is only used
during DST transition ambiguous periods to resulve that ambiguity.

>>> tz.utcoffset(normal, is_dst=True)
datetime.timedelta(-1, 77400)
>>> tz.dst(normal, is_dst=True)
datetime.timedelta(0, 3600)
>>> tz.tzname(normal, is_dst=True)
'NDT'

>>> tz.utcoffset(ambiguous, is_dst=True)
datetime.timedelta(-1, 77400)
>>> tz.dst(ambiguous, is_dst=True)
datetime.timedelta(0, 3600)
>>> tz.tzname(ambiguous, is_dst=True)
'NDT'

>>> tz.utcoffset(normal, is_dst=False)
datetime.timedelta(-1, 77400)
>>> tz.dst(normal, is_dst=False)
datetime.timedelta(0, 3600)
>>> tz.tzname(normal, is_dst=False)
'NDT'

>>> tz.utcoffset(ambiguous, is_dst=False)
datetime.timedelta(-1, 73800)
>>> tz.dst(ambiguous, is_dst=False)
datetime.timedelta(0)
>>> tz.tzname(ambiguous, is_dst=False)
'NST'

If ``is_dst`` is not specified, ambiguous timestamps will raise
an ``pytz.exceptions.AmbiguousTimeError`` exception.

>>> tz.utcoffset(normal)
datetime.timedelta(-1, 77400)
>>> tz.dst(normal)
datetime.timedelta(0, 3600)
>>> tz.tzname(normal)
'NDT'

>>> import pytz.exceptions
>>> try:
...     tz.utcoffset(ambiguous)
... except pytz.exceptions.AmbiguousTimeError:
...     print('pytz.exceptions.AmbiguousTimeError: %s' % ambiguous)
pytz.exceptions.AmbiguousTimeError: 2009-10-31 23:30:00
>>> try:
...     tz.dst(ambiguous)
... except pytz.exceptions.AmbiguousTimeError:
...     print('pytz.exceptions.AmbiguousTimeError: %s' % ambiguous)
pytz.exceptions.AmbiguousTimeError: 2009-10-31 23:30:00
>>> try:
...     tz.tzname(ambiguous)
... except pytz.exceptions.AmbiguousTimeError:
...     print('pytz.exceptions.AmbiguousTimeError: %s' % ambiguous)
pytz.exceptions.AmbiguousTimeError: 2009-10-31 23:30:00


Problems with Localtime
~~~~~~~~~~~~~~~~~~~~~~~

The major problem we have to deal with is that certain datetimes
may occur twice in a year. For example, in the US/Eastern timezone
on the last Sunday morning in October, the following sequence
happens:

    - 01:00 EDT occurs
    - 1 hour later, instead of 2:00am the clock is turned back 1 hour
      and 01:00 happens again (this time 01:00 EST)

In fact, every instant between 01:00 and 02:00 occurs twice. This means
that if you try and create a time in the 'US/Eastern' timezone using
the standard datetime syntax, there is no way to specify if you meant
before of after the end-of-daylight-savings-time transition.

>>> loc_dt = datetime(2002, 10, 27, 1, 30, 00, tzinfo=eastern)
>>> loc_dt.strftime(fmt)
'2002-10-27 01:30:00 EST-0500'

As you can see, the system has chosen one for you and there is a 50%
chance of it being out by one hour. For some applications, this does
not matter. However, if you are trying to schedule meetings with people
in different timezones or analyze log files it is not acceptable. 

The best and simplest solution is to stick with using UTC.  The pytz
package encourages using UTC for internal timezone representation by
including a special UTC implementation based on the standard Python
reference implementation in the Python documentation.

The UTC timezone unpickles to be the same instance, and pickles to a
smaller size than other pytz tzinfo instances.  The UTC implementation
can be obtained as pytz.utc, pytz.UTC, or pytz.timezone('UTC').

>>> import pickle, pytz
>>> dt = datetime(2005, 3, 1, 14, 13, 21, tzinfo=utc)
>>> naive = dt.replace(tzinfo=None)
>>> p = pickle.dumps(dt, 1)
>>> naive_p = pickle.dumps(naive, 1)
>>> len(p) - len(naive_p)
17
>>> new = pickle.loads(p)
>>> new == dt
True
>>> new is dt
False
>>> new.tzinfo is dt.tzinfo
True
>>> pytz.utc is pytz.UTC is pytz.timezone('UTC')
True

Note that this instance is not the same instance (or implementation) as
other timezones with the same meaning (GMT, Greenwich, Universal, etc.).

>>> utc is pytz.timezone('GMT')
False

If you insist on working with local times, this library provides a
facility for constructing them unambiguously:

>>> loc_dt = datetime(2002, 10, 27, 1, 30, 00)
>>> est_dt = eastern.localize(loc_dt, is_dst=True)
>>> edt_dt = eastern.localize(loc_dt, is_dst=False)
>>> print(est_dt.strftime(fmt) + ' / ' + edt_dt.strftime(fmt))
2002-10-27 01:30:00 EDT-0400 / 2002-10-27 01:30:00 EST-0500

If you pass None as the is_dst flag to localize(), pytz will refuse to
guess and raise exceptions if you try to build ambiguous or non-existent
times.

For example, 1:30am on 27th Oct 2002 happened twice in the US/Eastern
timezone when the clocks where put back at the end of Daylight Savings
Time:

>>> dt = datetime(2002, 10, 27, 1, 30, 00)
>>> try:
...     eastern.localize(dt, is_dst=None)
... except pytz.exceptions.AmbiguousTimeError:
...     print('pytz.exceptions.AmbiguousTimeError: %s' % dt)
pytz.exceptions.AmbiguousTimeError: 2002-10-27 01:30:00

Similarly, 2:30am on 7th April 2002 never happened at all in the
US/Eastern timezone, as the clocks where put forward at 2:00am skipping
the entire hour:

>>> dt = datetime(2002, 4, 7, 2, 30, 00)
>>> try:
...     eastern.localize(dt, is_dst=None)
... except pytz.exceptions.NonExistentTimeError:
...     print('pytz.exceptions.NonExistentTimeError: %s' % dt)
pytz.exceptions.NonExistentTimeError: 2002-04-07 02:30:00

Both of these exceptions share a common base class to make error handling
easier:

>>> isinstance(pytz.AmbiguousTimeError(), pytz.InvalidTimeError)
True
>>> isinstance(pytz.NonExistentTimeError(), pytz.InvalidTimeError)
True

Although ``localize()`` handles many cases, it is still not possible
to handle all. In cases where countries change their timezone definitions,
cases like the end-of-daylight-savings-time occur with no way of resolving
the ambiguity. For example, in 1915 Warsaw switched from Warsaw time to
Central European time. So at the stroke of midnight on August 5th 1915
the clocks were wound back 24 minutes creating an ambiguous time period
that cannot be specified without referring to the timezone abbreviation
or the actual UTC offset. In this case midnight happened twice, neither
time during a daylight savings time period:

>>> warsaw = pytz.timezone('Europe/Warsaw')
>>> loc_dt1 = warsaw.localize(datetime(1915, 8, 4, 23, 59, 59), is_dst=False)
>>> loc_dt1.strftime(fmt)
'1915-08-04 23:59:59 WMT+0124'
>>> loc_dt2 = warsaw.localize(datetime(1915, 8, 5, 00, 00, 00), is_dst=False)
>>> loc_dt2.strftime(fmt)
'1915-08-05 00:00:00 CET+0100'
>>> str(loc_dt2 - loc_dt1)
'0:24:01'

The only way of creating a time during the missing 24 minutes is
converting from another timezone - because neither of the timezones
involved where in daylight savings mode the API simply provides no way
to express it:

>>> utc_dt = datetime(1915, 8, 4, 22, 36, tzinfo=pytz.utc)
>>> utc_dt.astimezone(warsaw).strftime(fmt)
'1915-08-04 23:36:00 CET+0100'

The standard Python way of handling all these ambiguities is not to
handle them, such as demonstrated in this example using the US/Eastern
timezone definition from the Python documentation (Note that this
implementation only works for dates between 1987 and 2006 - it is
included for tests only!):

>>> from pytz.reference import Eastern # pytz.reference only for tests
>>> dt = datetime(2002, 10, 27, 0, 30, tzinfo=Eastern)
>>> str(dt)
'2002-10-27 00:30:00-04:00'
>>> str(dt + timedelta(hours=1))
'2002-10-27 01:30:00-05:00'
>>> str(dt + timedelta(hours=2))
'2002-10-27 02:30:00-05:00'
>>> str(dt + timedelta(hours=3))
'2002-10-27 03:30:00-05:00'

Notice the first two results? At first glance you might think they are
correct, but taking the UTC offset into account you find that they are
actually two hours appart instead of the 1 hour we asked for.

>>> from pytz.reference import UTC # pytz.reference only for tests
>>> str(dt.astimezone(UTC))
'2002-10-27 04:30:00+00:00'
>>> str((dt + timedelta(hours=1)).astimezone(UTC))
'2002-10-27 06:30:00+00:00'


Country Information
~~~~~~~~~~~~~~~~~~~

A mechanism is provided to access the timezones commonly in use
for a particular country, looked up using the ISO 3166 country code.
It returns a list of strings that can be used to retrieve the relevant
tzinfo instance using ``pytz.timezone()``:

>>> print(' '.join(pytz.country_timezones['nz']))
Pacific/Auckland Pacific/Chatham

The Olson database comes with a ISO 3166 country code to English country
name mapping that pytz exposes as a dictionary:

>>> print(pytz.country_names['nz'])
New Zealand


What is UTC
~~~~~~~~~~~

'UTC' is Universal Time, also known as Greenwich Mean Time or GMT
in the United Kingdom. All other timezones are given as offsets from
UTC. No daylight savings time occurs in UTC, making it a useful timezone
to perform date arithmetic without worrying about the confusion and
ambiguities caused by daylight savings time transitions, your country
changing its timezone, or mobile computers that move roam through
multiple timezones.


Helpers
~~~~~~~

There are two lists of timezones provided.

``all_timezones`` is the exhaustive list of the timezone names that can
be used.

>>> from pytz import all_timezones
>>> len(all_timezones) >= 500
True
>>> 'Etc/Greenwich' in all_timezones
True

``common_timezones`` is a list of useful, current timezones. It doesn't
contain deprecated zones or historical zones, except for a few I've
deemed in common usage, such as US/Eastern (open a bug report if you
think other timezones are deserving of being included here). It is also
a sequence of strings.

>>> from pytz import common_timezones
>>> len(common_timezones) < len(all_timezones)
True
>>> 'Etc/Greenwich' in common_timezones
False
>>> 'Australia/Melbourne' in common_timezones
True
>>> 'US/Eastern' in common_timezones
True
>>> 'Canada/Eastern' in common_timezones
True
>>> 'US/Pacific-New' in all_timezones
True
>>> 'US/Pacific-New' in common_timezones
False

Both ``common_timezones`` and ``all_timezones`` are alphabetically
sorted:

>>> common_timezones_dupe = common_timezones[:]
>>> common_timezones_dupe.sort()
>>> common_timezones == common_timezones_dupe
True
>>> all_timezones_dupe = all_timezones[:]
>>> all_timezones_dupe.sort()
>>> all_timezones == all_timezones_dupe
True

``all_timezones`` and ``common_timezones`` are also available as sets.

>>> from pytz import all_timezones_set, common_timezones_set
>>> 'US/Eastern' in all_timezones_set
True
>>> 'US/Eastern' in common_timezones_set
True
>>> 'Australia/Victoria' in common_timezones_set
False

You can also retrieve lists of timezones used by particular countries
using the ``country_timezones()`` function. It requires an ISO-3166
two letter country code.

>>> from pytz import country_timezones
>>> print(' '.join(country_timezones('ch')))
Europe/Zurich
>>> print(' '.join(country_timezones('CH')))
Europe/Zurich


License
~~~~~~~

MIT license.

This code is also available as part of Zope 3 under the Zope Public
License,  Version 2.1 (ZPL).

I'm happy to relicense this code if necessary for inclusion in other
open source projects.


Latest Versions
~~~~~~~~~~~~~~~

This package will be updated after releases of the Olson timezone
database.  The latest version can be downloaded from the `Python Package
Index `_.  The code that is used
to generate this distribution is hosted on launchpad.net and available
using the `Bazaar version control system `_
using::

    bzr branch lp:pytz


Bugs, Feature Requests & Patches
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Bugs can be reported using `Launchpad `_.


Issues & Limitations
~~~~~~~~~~~~~~~~~~~~

- Offsets from UTC are rounded to the nearest whole minute, so timezones
  such as Europe/Amsterdam pre 1937 will be up to 30 seconds out. This
  is a limitation of the Python datetime library.

- If you think a timezone definition is incorrect, I probably can't fix
  it. pytz is a direct translation of the Olson timezone database, and
  changes to the timezone definitions need to be made to this source.
  If you find errors they should be reported to the time zone mailing
  list, linked from http://www.twinsun.com/tz/tz-link.htm


Further Reading
~~~~~~~~~~~~~~~

More info than you want to know about timezones:
http://www.twinsun.com/tz/tz-link.htm


Contact
~~~~~~~

Stuart Bishop 


pytz-2012c/pytz.egg-info/0000775000175000017500000000000011742722012014025 5ustar  stubstubpytz-2012c/pytz.egg-info/dependency_links.txt0000664000175000017500000000000111742722006020076 0ustar  stubstub
pytz-2012c/pytz.egg-info/PKG-INFO0000664000175000017500000005541511742722006015137 0ustar  stubstubMetadata-Version: 1.0
Name: pytz
Version: 2012c
Summary: World timezone definitions, modern and historical
Home-page: http://pytz.sourceforge.net
Author: Stuart Bishop
Author-email: stuart@stuartbishop.net
License: MIT
Download-URL: http://pypi.python.org/pypi/pytz
Description: pytz - World Timezone Definitions for Python
        ============================================
        
        :Author: Stuart Bishop 
        
        Introduction
        ~~~~~~~~~~~~
        
        pytz brings the Olson tz database into Python. This library allows
        accurate and cross platform timezone calculations using Python 2.4
        or higher. It also solves the issue of ambiguous times at the end
        of daylight savings, which you can read more about in the Python
        Library Reference (``datetime.tzinfo``).
        
        Amost all of the Olson timezones are supported.
        
        Note that this library differs from the documented Python API for
        tzinfo implementations; if you want to create local wallclock
        times you need to use the ``localize()`` method documented in this
        document. In addition, if you perform date arithmetic on local
        times that cross DST boundaries, the results may be in an incorrect
        timezone (ie. subtract 1 minute from 2002-10-27 1:00 EST and you get
        2002-10-27 0:59 EST instead of the correct 2002-10-27 1:59 EDT). A
        ``normalize()`` method is provided to correct this. Unfortunatly these
        issues cannot be resolved without modifying the Python datetime
        implementation.
        
        
        Installation
        ~~~~~~~~~~~~
        
        This package can either be installed from a .egg file using setuptools,
        or from the tarball using the standard Python distutils.
        
        If you are installing from a tarball, run the following command as an
        administrative user::
        
            python setup.py install
        
        If you are installing using setuptools, you don't even need to download
        anything as the latest version will be downloaded for you
        from the Python package index::
        
            easy_install --upgrade pytz
        
        If you already have the .egg file, you can use that too::
        
            easy_install pytz-2008g-py2.6.egg
        
        
        Example & Usage
        ~~~~~~~~~~~~~~~
        
        Localized times and date arithmetic
        -----------------------------------
        
        >>> from datetime import datetime, timedelta
        >>> from pytz import timezone
        >>> import pytz
        >>> utc = pytz.utc
        >>> utc.zone
        'UTC'
        >>> eastern = timezone('US/Eastern')
        >>> eastern.zone
        'US/Eastern'
        >>> amsterdam = timezone('Europe/Amsterdam')
        >>> fmt = '%Y-%m-%d %H:%M:%S %Z%z'
        
        This library only supports two ways of building a localized time. The
        first is to use the ``localize()`` method provided by the pytz library.
        This is used to localize a naive datetime (datetime with no timezone
        information):
        
        >>> loc_dt = eastern.localize(datetime(2002, 10, 27, 6, 0, 0))
        >>> print(loc_dt.strftime(fmt))
        2002-10-27 06:00:00 EST-0500
        
        The second way of building a localized time is by converting an existing
        localized time using the standard ``astimezone()`` method:
        
        >>> ams_dt = loc_dt.astimezone(amsterdam)
        >>> ams_dt.strftime(fmt)
        '2002-10-27 12:00:00 CET+0100'
        
        Unfortunately using the tzinfo argument of the standard datetime
        constructors ''does not work'' with pytz for many timezones.
        
        >>> datetime(2002, 10, 27, 12, 0, 0, tzinfo=amsterdam).strftime(fmt)
        '2002-10-27 12:00:00 AMT+0020'
        
        It is safe for timezones without daylight savings trasitions though, such
        as UTC:
        
        >>> datetime(2002, 10, 27, 12, 0, 0, tzinfo=pytz.utc).strftime(fmt)
        '2002-10-27 12:00:00 UTC+0000'
        
        The preferred way of dealing with times is to always work in UTC,
        converting to localtime only when generating output to be read
        by humans.
        
        >>> utc_dt = datetime(2002, 10, 27, 6, 0, 0, tzinfo=utc)
        >>> loc_dt = utc_dt.astimezone(eastern)
        >>> loc_dt.strftime(fmt)
        '2002-10-27 01:00:00 EST-0500'
        
        This library also allows you to do date arithmetic using local
        times, although it is more complicated than working in UTC as you
        need to use the ``normalize()`` method to handle daylight savings time
        and other timezone transitions. In this example, ``loc_dt`` is set
        to the instant when daylight savings time ends in the US/Eastern
        timezone.
        
        >>> before = loc_dt - timedelta(minutes=10)
        >>> before.strftime(fmt)
        '2002-10-27 00:50:00 EST-0500'
        >>> eastern.normalize(before).strftime(fmt)
        '2002-10-27 01:50:00 EDT-0400'
        >>> after = eastern.normalize(before + timedelta(minutes=20))
        >>> after.strftime(fmt)
        '2002-10-27 01:10:00 EST-0500'
        
        Creating localtimes is also tricky, and the reason why working with
        local times is not recommended. Unfortunately, you cannot just pass
        a ``tzinfo`` argument when constructing a datetime (see the next
        section for more details)
        
        >>> dt = datetime(2002, 10, 27, 1, 30, 0)
        >>> dt1 = eastern.localize(dt, is_dst=True)
        >>> dt1.strftime(fmt)
        '2002-10-27 01:30:00 EDT-0400'
        >>> dt2 = eastern.localize(dt, is_dst=False)
        >>> dt2.strftime(fmt)
        '2002-10-27 01:30:00 EST-0500'
        
        Converting between timezones also needs special attention. This also
        needs to use the ``normalize()`` method to ensure the conversion is
        correct.
        
        >>> utc_dt = utc.localize(datetime.utcfromtimestamp(1143408899))
        >>> utc_dt.strftime(fmt)
        '2006-03-26 21:34:59 UTC+0000'
        >>> au_tz = timezone('Australia/Sydney')
        >>> au_dt = au_tz.normalize(utc_dt.astimezone(au_tz))
        >>> au_dt.strftime(fmt)
        '2006-03-27 08:34:59 EST+1100'
        >>> utc_dt2 = utc.normalize(au_dt.astimezone(utc))
        >>> utc_dt2.strftime(fmt)
        '2006-03-26 21:34:59 UTC+0000'
        
        You can take shortcuts when dealing with the UTC side of timezone
        conversions. ``normalize()`` and ``localize()`` are not really
        necessary when there are no daylight savings time transitions to
        deal with.
        
        >>> utc_dt = datetime.utcfromtimestamp(1143408899).replace(tzinfo=utc)
        >>> utc_dt.strftime(fmt)
        '2006-03-26 21:34:59 UTC+0000'
        >>> au_tz = timezone('Australia/Sydney')
        >>> au_dt = au_tz.normalize(utc_dt.astimezone(au_tz))
        >>> au_dt.strftime(fmt)
        '2006-03-27 08:34:59 EST+1100'
        >>> utc_dt2 = au_dt.astimezone(utc)
        >>> utc_dt2.strftime(fmt)
        '2006-03-26 21:34:59 UTC+0000'
        
        
        ``tzinfo`` API
        --------------
        
        The ``tzinfo`` instances returned by the ``timezone()`` function have
        been extended to cope with ambiguous times by adding an ``is_dst``
        parameter to the ``utcoffset()``, ``dst()`` && ``tzname()`` methods.
        
        >>> tz = timezone('America/St_Johns')
        
        >>> normal = datetime(2009, 9, 1)
        >>> ambiguous = datetime(2009, 10, 31, 23, 30)
        
        The ``is_dst`` parameter is ignored for most timestamps. It is only used
        during DST transition ambiguous periods to resulve that ambiguity.
        
        >>> tz.utcoffset(normal, is_dst=True)
        datetime.timedelta(-1, 77400)
        >>> tz.dst(normal, is_dst=True)
        datetime.timedelta(0, 3600)
        >>> tz.tzname(normal, is_dst=True)
        'NDT'
        
        >>> tz.utcoffset(ambiguous, is_dst=True)
        datetime.timedelta(-1, 77400)
        >>> tz.dst(ambiguous, is_dst=True)
        datetime.timedelta(0, 3600)
        >>> tz.tzname(ambiguous, is_dst=True)
        'NDT'
        
        >>> tz.utcoffset(normal, is_dst=False)
        datetime.timedelta(-1, 77400)
        >>> tz.dst(normal, is_dst=False)
        datetime.timedelta(0, 3600)
        >>> tz.tzname(normal, is_dst=False)
        'NDT'
        
        >>> tz.utcoffset(ambiguous, is_dst=False)
        datetime.timedelta(-1, 73800)
        >>> tz.dst(ambiguous, is_dst=False)
        datetime.timedelta(0)
        >>> tz.tzname(ambiguous, is_dst=False)
        'NST'
        
        If ``is_dst`` is not specified, ambiguous timestamps will raise
        an ``pytz.exceptions.AmbiguousTimeError`` exception.
        
        >>> tz.utcoffset(normal)
        datetime.timedelta(-1, 77400)
        >>> tz.dst(normal)
        datetime.timedelta(0, 3600)
        >>> tz.tzname(normal)
        'NDT'
        
        >>> import pytz.exceptions
        >>> try:
        ...     tz.utcoffset(ambiguous)
        ... except pytz.exceptions.AmbiguousTimeError:
        ...     print('pytz.exceptions.AmbiguousTimeError: %s' % ambiguous)
        pytz.exceptions.AmbiguousTimeError: 2009-10-31 23:30:00
        >>> try:
        ...     tz.dst(ambiguous)
        ... except pytz.exceptions.AmbiguousTimeError:
        ...     print('pytz.exceptions.AmbiguousTimeError: %s' % ambiguous)
        pytz.exceptions.AmbiguousTimeError: 2009-10-31 23:30:00
        >>> try:
        ...     tz.tzname(ambiguous)
        ... except pytz.exceptions.AmbiguousTimeError:
        ...     print('pytz.exceptions.AmbiguousTimeError: %s' % ambiguous)
        pytz.exceptions.AmbiguousTimeError: 2009-10-31 23:30:00
        
        
        Problems with Localtime
        ~~~~~~~~~~~~~~~~~~~~~~~
        
        The major problem we have to deal with is that certain datetimes
        may occur twice in a year. For example, in the US/Eastern timezone
        on the last Sunday morning in October, the following sequence
        happens:
        
            - 01:00 EDT occurs
            - 1 hour later, instead of 2:00am the clock is turned back 1 hour
              and 01:00 happens again (this time 01:00 EST)
        
        In fact, every instant between 01:00 and 02:00 occurs twice. This means
        that if you try and create a time in the 'US/Eastern' timezone using
        the standard datetime syntax, there is no way to specify if you meant
        before of after the end-of-daylight-savings-time transition.
        
        >>> loc_dt = datetime(2002, 10, 27, 1, 30, 00, tzinfo=eastern)
        >>> loc_dt.strftime(fmt)
        '2002-10-27 01:30:00 EST-0500'
        
        As you can see, the system has chosen one for you and there is a 50%
        chance of it being out by one hour. For some applications, this does
        not matter. However, if you are trying to schedule meetings with people
        in different timezones or analyze log files it is not acceptable. 
        
        The best and simplest solution is to stick with using UTC.  The pytz
        package encourages using UTC for internal timezone representation by
        including a special UTC implementation based on the standard Python
        reference implementation in the Python documentation.
        
        The UTC timezone unpickles to be the same instance, and pickles to a
        smaller size than other pytz tzinfo instances.  The UTC implementation
        can be obtained as pytz.utc, pytz.UTC, or pytz.timezone('UTC').
        
        >>> import pickle, pytz
        >>> dt = datetime(2005, 3, 1, 14, 13, 21, tzinfo=utc)
        >>> naive = dt.replace(tzinfo=None)
        >>> p = pickle.dumps(dt, 1)
        >>> naive_p = pickle.dumps(naive, 1)
        >>> len(p) - len(naive_p)
        17
        >>> new = pickle.loads(p)
        >>> new == dt
        True
        >>> new is dt
        False
        >>> new.tzinfo is dt.tzinfo
        True
        >>> pytz.utc is pytz.UTC is pytz.timezone('UTC')
        True
        
        Note that this instance is not the same instance (or implementation) as
        other timezones with the same meaning (GMT, Greenwich, Universal, etc.).
        
        >>> utc is pytz.timezone('GMT')
        False
        
        If you insist on working with local times, this library provides a
        facility for constructing them unambiguously:
        
        >>> loc_dt = datetime(2002, 10, 27, 1, 30, 00)
        >>> est_dt = eastern.localize(loc_dt, is_dst=True)
        >>> edt_dt = eastern.localize(loc_dt, is_dst=False)
        >>> print(est_dt.strftime(fmt) + ' / ' + edt_dt.strftime(fmt))
        2002-10-27 01:30:00 EDT-0400 / 2002-10-27 01:30:00 EST-0500
        
        If you pass None as the is_dst flag to localize(), pytz will refuse to
        guess and raise exceptions if you try to build ambiguous or non-existent
        times.
        
        For example, 1:30am on 27th Oct 2002 happened twice in the US/Eastern
        timezone when the clocks where put back at the end of Daylight Savings
        Time:
        
        >>> dt = datetime(2002, 10, 27, 1, 30, 00)
        >>> try:
        ...     eastern.localize(dt, is_dst=None)
        ... except pytz.exceptions.AmbiguousTimeError:
        ...     print('pytz.exceptions.AmbiguousTimeError: %s' % dt)
        pytz.exceptions.AmbiguousTimeError: 2002-10-27 01:30:00
        
        Similarly, 2:30am on 7th April 2002 never happened at all in the
        US/Eastern timezone, as the clocks where put forward at 2:00am skipping
        the entire hour:
        
        >>> dt = datetime(2002, 4, 7, 2, 30, 00)
        >>> try:
        ...     eastern.localize(dt, is_dst=None)
        ... except pytz.exceptions.NonExistentTimeError:
        ...     print('pytz.exceptions.NonExistentTimeError: %s' % dt)
        pytz.exceptions.NonExistentTimeError: 2002-04-07 02:30:00
        
        Both of these exceptions share a common base class to make error handling
        easier:
        
        >>> isinstance(pytz.AmbiguousTimeError(), pytz.InvalidTimeError)
        True
        >>> isinstance(pytz.NonExistentTimeError(), pytz.InvalidTimeError)
        True
        
        Although ``localize()`` handles many cases, it is still not possible
        to handle all. In cases where countries change their timezone definitions,
        cases like the end-of-daylight-savings-time occur with no way of resolving
        the ambiguity. For example, in 1915 Warsaw switched from Warsaw time to
        Central European time. So at the stroke of midnight on August 5th 1915
        the clocks were wound back 24 minutes creating an ambiguous time period
        that cannot be specified without referring to the timezone abbreviation
        or the actual UTC offset. In this case midnight happened twice, neither
        time during a daylight savings time period:
        
        >>> warsaw = pytz.timezone('Europe/Warsaw')
        >>> loc_dt1 = warsaw.localize(datetime(1915, 8, 4, 23, 59, 59), is_dst=False)
        >>> loc_dt1.strftime(fmt)
        '1915-08-04 23:59:59 WMT+0124'
        >>> loc_dt2 = warsaw.localize(datetime(1915, 8, 5, 00, 00, 00), is_dst=False)
        >>> loc_dt2.strftime(fmt)
        '1915-08-05 00:00:00 CET+0100'
        >>> str(loc_dt2 - loc_dt1)
        '0:24:01'
        
        The only way of creating a time during the missing 24 minutes is
        converting from another timezone - because neither of the timezones
        involved where in daylight savings mode the API simply provides no way
        to express it:
        
        >>> utc_dt = datetime(1915, 8, 4, 22, 36, tzinfo=pytz.utc)
        >>> utc_dt.astimezone(warsaw).strftime(fmt)
        '1915-08-04 23:36:00 CET+0100'
        
        The standard Python way of handling all these ambiguities is not to
        handle them, such as demonstrated in this example using the US/Eastern
        timezone definition from the Python documentation (Note that this
        implementation only works for dates between 1987 and 2006 - it is
        included for tests only!):
        
        >>> from pytz.reference import Eastern # pytz.reference only for tests
        >>> dt = datetime(2002, 10, 27, 0, 30, tzinfo=Eastern)
        >>> str(dt)
        '2002-10-27 00:30:00-04:00'
        >>> str(dt + timedelta(hours=1))
        '2002-10-27 01:30:00-05:00'
        >>> str(dt + timedelta(hours=2))
        '2002-10-27 02:30:00-05:00'
        >>> str(dt + timedelta(hours=3))
        '2002-10-27 03:30:00-05:00'
        
        Notice the first two results? At first glance you might think they are
        correct, but taking the UTC offset into account you find that they are
        actually two hours appart instead of the 1 hour we asked for.
        
        >>> from pytz.reference import UTC # pytz.reference only for tests
        >>> str(dt.astimezone(UTC))
        '2002-10-27 04:30:00+00:00'
        >>> str((dt + timedelta(hours=1)).astimezone(UTC))
        '2002-10-27 06:30:00+00:00'
        
        
        Country Information
        ~~~~~~~~~~~~~~~~~~~
        
        A mechanism is provided to access the timezones commonly in use
        for a particular country, looked up using the ISO 3166 country code.
        It returns a list of strings that can be used to retrieve the relevant
        tzinfo instance using ``pytz.timezone()``:
        
        >>> print(' '.join(pytz.country_timezones['nz']))
        Pacific/Auckland Pacific/Chatham
        
        The Olson database comes with a ISO 3166 country code to English country
        name mapping that pytz exposes as a dictionary:
        
        >>> print(pytz.country_names['nz'])
        New Zealand
        
        
        What is UTC
        ~~~~~~~~~~~
        
        'UTC' is Universal Time, also known as Greenwich Mean Time or GMT
        in the United Kingdom. All other timezones are given as offsets from
        UTC. No daylight savings time occurs in UTC, making it a useful timezone
        to perform date arithmetic without worrying about the confusion and
        ambiguities caused by daylight savings time transitions, your country
        changing its timezone, or mobile computers that move roam through
        multiple timezones.
        
        
        Helpers
        ~~~~~~~
        
        There are two lists of timezones provided.
        
        ``all_timezones`` is the exhaustive list of the timezone names that can
        be used.
        
        >>> from pytz import all_timezones
        >>> len(all_timezones) >= 500
        True
        >>> 'Etc/Greenwich' in all_timezones
        True
        
        ``common_timezones`` is a list of useful, current timezones. It doesn't
        contain deprecated zones or historical zones, except for a few I've
        deemed in common usage, such as US/Eastern (open a bug report if you
        think other timezones are deserving of being included here). It is also
        a sequence of strings.
        
        >>> from pytz import common_timezones
        >>> len(common_timezones) < len(all_timezones)
        True
        >>> 'Etc/Greenwich' in common_timezones
        False
        >>> 'Australia/Melbourne' in common_timezones
        True
        >>> 'US/Eastern' in common_timezones
        True
        >>> 'Canada/Eastern' in common_timezones
        True
        >>> 'US/Pacific-New' in all_timezones
        True
        >>> 'US/Pacific-New' in common_timezones
        False
        
        Both ``common_timezones`` and ``all_timezones`` are alphabetically
        sorted:
        
        >>> common_timezones_dupe = common_timezones[:]
        >>> common_timezones_dupe.sort()
        >>> common_timezones == common_timezones_dupe
        True
        >>> all_timezones_dupe = all_timezones[:]
        >>> all_timezones_dupe.sort()
        >>> all_timezones == all_timezones_dupe
        True
        
        ``all_timezones`` and ``common_timezones`` are also available as sets.
        
        >>> from pytz import all_timezones_set, common_timezones_set
        >>> 'US/Eastern' in all_timezones_set
        True
        >>> 'US/Eastern' in common_timezones_set
        True
        >>> 'Australia/Victoria' in common_timezones_set
        False
        
        You can also retrieve lists of timezones used by particular countries
        using the ``country_timezones()`` function. It requires an ISO-3166
        two letter country code.
        
        >>> from pytz import country_timezones
        >>> print(' '.join(country_timezones('ch')))
        Europe/Zurich
        >>> print(' '.join(country_timezones('CH')))
        Europe/Zurich
        
        
        License
        ~~~~~~~
        
        MIT license.
        
        This code is also available as part of Zope 3 under the Zope Public
        License,  Version 2.1 (ZPL).
        
        I'm happy to relicense this code if necessary for inclusion in other
        open source projects.
        
        
        Latest Versions
        ~~~~~~~~~~~~~~~
        
        This package will be updated after releases of the Olson timezone
        database.  The latest version can be downloaded from the `Python Package
        Index `_.  The code that is used
        to generate this distribution is hosted on launchpad.net and available
        using the `Bazaar version control system `_
        using::
        
            bzr branch lp:pytz
        
        
        Bugs, Feature Requests & Patches
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        
        Bugs can be reported using `Launchpad `_.
        
        
        Issues & Limitations
        ~~~~~~~~~~~~~~~~~~~~
        
        - Offsets from UTC are rounded to the nearest whole minute, so timezones
          such as Europe/Amsterdam pre 1937 will be up to 30 seconds out. This
          is a limitation of the Python datetime library.
        
        - If you think a timezone definition is incorrect, I probably can't fix
          it. pytz is a direct translation of the Olson timezone database, and
          changes to the timezone definitions need to be made to this source.
          If you find errors they should be reported to the time zone mailing
          list, linked from http://www.twinsun.com/tz/tz-link.htm
        
        
        Further Reading
        ~~~~~~~~~~~~~~~
        
        More info than you want to know about timezones:
        http://www.twinsun.com/tz/tz-link.htm
        
        
        Contact
        ~~~~~~~
        
        Stuart Bishop 
        
        
        
Keywords: timezone,tzinfo,datetime,olson,time
Platform: Independant
Classifier: Development Status :: 6 - Mature
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Software Development :: Libraries :: Python Modules
pytz-2012c/pytz.egg-info/zip-safe0000664000175000017500000000000111742721506015464 0ustar  stubstub
pytz-2012c/pytz.egg-info/SOURCES.txt0000664000175000017500000004203111742722006015714 0ustar  stubstubCHANGES.txt
LICENSE.txt
MANIFEST.in
README.txt
setup.py
pytz/__init__.py
pytz/exceptions.py
pytz/reference.py
pytz/tzfile.py
pytz/tzinfo.py
pytz.egg-info/PKG-INFO
pytz.egg-info/SOURCES.txt
pytz.egg-info/dependency_links.txt
pytz.egg-info/top_level.txt
pytz.egg-info/zip-safe
pytz/tests/test_docs.py
pytz/tests/test_tzinfo.py
pytz/zoneinfo/CET
pytz/zoneinfo/CST6CDT
pytz/zoneinfo/Cuba
pytz/zoneinfo/EET
pytz/zoneinfo/EST
pytz/zoneinfo/EST5EDT
pytz/zoneinfo/Egypt
pytz/zoneinfo/Eire
pytz/zoneinfo/Factory
pytz/zoneinfo/GB
pytz/zoneinfo/GB-Eire
pytz/zoneinfo/GMT
pytz/zoneinfo/GMT+0
pytz/zoneinfo/GMT-0
pytz/zoneinfo/GMT0
pytz/zoneinfo/Greenwich
pytz/zoneinfo/HST
pytz/zoneinfo/Hongkong
pytz/zoneinfo/Iceland
pytz/zoneinfo/Iran
pytz/zoneinfo/Israel
pytz/zoneinfo/Jamaica
pytz/zoneinfo/Japan
pytz/zoneinfo/Kwajalein
pytz/zoneinfo/Libya
pytz/zoneinfo/MET
pytz/zoneinfo/MST
pytz/zoneinfo/MST7MDT
pytz/zoneinfo/NZ
pytz/zoneinfo/NZ-CHAT
pytz/zoneinfo/Navajo
pytz/zoneinfo/PRC
pytz/zoneinfo/PST8PDT
pytz/zoneinfo/Poland
pytz/zoneinfo/Portugal
pytz/zoneinfo/ROC
pytz/zoneinfo/ROK
pytz/zoneinfo/Singapore
pytz/zoneinfo/Turkey
pytz/zoneinfo/UCT
pytz/zoneinfo/UTC
pytz/zoneinfo/Universal
pytz/zoneinfo/W-SU
pytz/zoneinfo/WET
pytz/zoneinfo/Zulu
pytz/zoneinfo/iso3166.tab
pytz/zoneinfo/localtime
pytz/zoneinfo/posixrules
pytz/zoneinfo/zone.tab
pytz/zoneinfo/Africa/Abidjan
pytz/zoneinfo/Africa/Accra
pytz/zoneinfo/Africa/Addis_Ababa
pytz/zoneinfo/Africa/Algiers
pytz/zoneinfo/Africa/Asmara
pytz/zoneinfo/Africa/Asmera
pytz/zoneinfo/Africa/Bamako
pytz/zoneinfo/Africa/Bangui
pytz/zoneinfo/Africa/Banjul
pytz/zoneinfo/Africa/Bissau
pytz/zoneinfo/Africa/Blantyre
pytz/zoneinfo/Africa/Brazzaville
pytz/zoneinfo/Africa/Bujumbura
pytz/zoneinfo/Africa/Cairo
pytz/zoneinfo/Africa/Casablanca
pytz/zoneinfo/Africa/Ceuta
pytz/zoneinfo/Africa/Conakry
pytz/zoneinfo/Africa/Dakar
pytz/zoneinfo/Africa/Dar_es_Salaam
pytz/zoneinfo/Africa/Djibouti
pytz/zoneinfo/Africa/Douala
pytz/zoneinfo/Africa/El_Aaiun
pytz/zoneinfo/Africa/Freetown
pytz/zoneinfo/Africa/Gaborone
pytz/zoneinfo/Africa/Harare
pytz/zoneinfo/Africa/Johannesburg
pytz/zoneinfo/Africa/Juba
pytz/zoneinfo/Africa/Kampala
pytz/zoneinfo/Africa/Khartoum
pytz/zoneinfo/Africa/Kigali
pytz/zoneinfo/Africa/Kinshasa
pytz/zoneinfo/Africa/Lagos
pytz/zoneinfo/Africa/Libreville
pytz/zoneinfo/Africa/Lome
pytz/zoneinfo/Africa/Luanda
pytz/zoneinfo/Africa/Lubumbashi
pytz/zoneinfo/Africa/Lusaka
pytz/zoneinfo/Africa/Malabo
pytz/zoneinfo/Africa/Maputo
pytz/zoneinfo/Africa/Maseru
pytz/zoneinfo/Africa/Mbabane
pytz/zoneinfo/Africa/Mogadishu
pytz/zoneinfo/Africa/Monrovia
pytz/zoneinfo/Africa/Nairobi
pytz/zoneinfo/Africa/Ndjamena
pytz/zoneinfo/Africa/Niamey
pytz/zoneinfo/Africa/Nouakchott
pytz/zoneinfo/Africa/Ouagadougou
pytz/zoneinfo/Africa/Porto-Novo
pytz/zoneinfo/Africa/Sao_Tome
pytz/zoneinfo/Africa/Timbuktu
pytz/zoneinfo/Africa/Tripoli
pytz/zoneinfo/Africa/Tunis
pytz/zoneinfo/Africa/Windhoek
pytz/zoneinfo/America/Adak
pytz/zoneinfo/America/Anchorage
pytz/zoneinfo/America/Anguilla
pytz/zoneinfo/America/Antigua
pytz/zoneinfo/America/Araguaina
pytz/zoneinfo/America/Aruba
pytz/zoneinfo/America/Asuncion
pytz/zoneinfo/America/Atikokan
pytz/zoneinfo/America/Atka
pytz/zoneinfo/America/Bahia
pytz/zoneinfo/America/Bahia_Banderas
pytz/zoneinfo/America/Barbados
pytz/zoneinfo/America/Belem
pytz/zoneinfo/America/Belize
pytz/zoneinfo/America/Blanc-Sablon
pytz/zoneinfo/America/Boa_Vista
pytz/zoneinfo/America/Bogota
pytz/zoneinfo/America/Boise
pytz/zoneinfo/America/Buenos_Aires
pytz/zoneinfo/America/Cambridge_Bay
pytz/zoneinfo/America/Campo_Grande
pytz/zoneinfo/America/Cancun
pytz/zoneinfo/America/Caracas
pytz/zoneinfo/America/Catamarca
pytz/zoneinfo/America/Cayenne
pytz/zoneinfo/America/Cayman
pytz/zoneinfo/America/Chicago
pytz/zoneinfo/America/Chihuahua
pytz/zoneinfo/America/Coral_Harbour
pytz/zoneinfo/America/Cordoba
pytz/zoneinfo/America/Costa_Rica
pytz/zoneinfo/America/Creston
pytz/zoneinfo/America/Cuiaba
pytz/zoneinfo/America/Curacao
pytz/zoneinfo/America/Danmarkshavn
pytz/zoneinfo/America/Dawson
pytz/zoneinfo/America/Dawson_Creek
pytz/zoneinfo/America/Denver
pytz/zoneinfo/America/Detroit
pytz/zoneinfo/America/Dominica
pytz/zoneinfo/America/Edmonton
pytz/zoneinfo/America/Eirunepe
pytz/zoneinfo/America/El_Salvador
pytz/zoneinfo/America/Ensenada
pytz/zoneinfo/America/Fort_Wayne
pytz/zoneinfo/America/Fortaleza
pytz/zoneinfo/America/Glace_Bay
pytz/zoneinfo/America/Godthab
pytz/zoneinfo/America/Goose_Bay
pytz/zoneinfo/America/Grand_Turk
pytz/zoneinfo/America/Grenada
pytz/zoneinfo/America/Guadeloupe
pytz/zoneinfo/America/Guatemala
pytz/zoneinfo/America/Guayaquil
pytz/zoneinfo/America/Guyana
pytz/zoneinfo/America/Halifax
pytz/zoneinfo/America/Havana
pytz/zoneinfo/America/Hermosillo
pytz/zoneinfo/America/Indianapolis
pytz/zoneinfo/America/Inuvik
pytz/zoneinfo/America/Iqaluit
pytz/zoneinfo/America/Jamaica
pytz/zoneinfo/America/Jujuy
pytz/zoneinfo/America/Juneau
pytz/zoneinfo/America/Knox_IN
pytz/zoneinfo/America/Kralendijk
pytz/zoneinfo/America/La_Paz
pytz/zoneinfo/America/Lima
pytz/zoneinfo/America/Los_Angeles
pytz/zoneinfo/America/Louisville
pytz/zoneinfo/America/Lower_Princes
pytz/zoneinfo/America/Maceio
pytz/zoneinfo/America/Managua
pytz/zoneinfo/America/Manaus
pytz/zoneinfo/America/Marigot
pytz/zoneinfo/America/Martinique
pytz/zoneinfo/America/Matamoros
pytz/zoneinfo/America/Mazatlan
pytz/zoneinfo/America/Mendoza
pytz/zoneinfo/America/Menominee
pytz/zoneinfo/America/Merida
pytz/zoneinfo/America/Metlakatla
pytz/zoneinfo/America/Mexico_City
pytz/zoneinfo/America/Miquelon
pytz/zoneinfo/America/Moncton
pytz/zoneinfo/America/Monterrey
pytz/zoneinfo/America/Montevideo
pytz/zoneinfo/America/Montreal
pytz/zoneinfo/America/Montserrat
pytz/zoneinfo/America/Nassau
pytz/zoneinfo/America/New_York
pytz/zoneinfo/America/Nipigon
pytz/zoneinfo/America/Nome
pytz/zoneinfo/America/Noronha
pytz/zoneinfo/America/Ojinaga
pytz/zoneinfo/America/Panama
pytz/zoneinfo/America/Pangnirtung
pytz/zoneinfo/America/Paramaribo
pytz/zoneinfo/America/Phoenix
pytz/zoneinfo/America/Port-au-Prince
pytz/zoneinfo/America/Port_of_Spain
pytz/zoneinfo/America/Porto_Acre
pytz/zoneinfo/America/Porto_Velho
pytz/zoneinfo/America/Puerto_Rico
pytz/zoneinfo/America/Rainy_River
pytz/zoneinfo/America/Rankin_Inlet
pytz/zoneinfo/America/Recife
pytz/zoneinfo/America/Regina
pytz/zoneinfo/America/Resolute
pytz/zoneinfo/America/Rio_Branco
pytz/zoneinfo/America/Rosario
pytz/zoneinfo/America/Santa_Isabel
pytz/zoneinfo/America/Santarem
pytz/zoneinfo/America/Santiago
pytz/zoneinfo/America/Santo_Domingo
pytz/zoneinfo/America/Sao_Paulo
pytz/zoneinfo/America/Scoresbysund
pytz/zoneinfo/America/Shiprock
pytz/zoneinfo/America/Sitka
pytz/zoneinfo/America/St_Barthelemy
pytz/zoneinfo/America/St_Johns
pytz/zoneinfo/America/St_Kitts
pytz/zoneinfo/America/St_Lucia
pytz/zoneinfo/America/St_Thomas
pytz/zoneinfo/America/St_Vincent
pytz/zoneinfo/America/Swift_Current
pytz/zoneinfo/America/Tegucigalpa
pytz/zoneinfo/America/Thule
pytz/zoneinfo/America/Thunder_Bay
pytz/zoneinfo/America/Tijuana
pytz/zoneinfo/America/Toronto
pytz/zoneinfo/America/Tortola
pytz/zoneinfo/America/Vancouver
pytz/zoneinfo/America/Virgin
pytz/zoneinfo/America/Whitehorse
pytz/zoneinfo/America/Winnipeg
pytz/zoneinfo/America/Yakutat
pytz/zoneinfo/America/Yellowknife
pytz/zoneinfo/America/Argentina/Buenos_Aires
pytz/zoneinfo/America/Argentina/Catamarca
pytz/zoneinfo/America/Argentina/ComodRivadavia
pytz/zoneinfo/America/Argentina/Cordoba
pytz/zoneinfo/America/Argentina/Jujuy
pytz/zoneinfo/America/Argentina/La_Rioja
pytz/zoneinfo/America/Argentina/Mendoza
pytz/zoneinfo/America/Argentina/Rio_Gallegos
pytz/zoneinfo/America/Argentina/Salta
pytz/zoneinfo/America/Argentina/San_Juan
pytz/zoneinfo/America/Argentina/San_Luis
pytz/zoneinfo/America/Argentina/Tucuman
pytz/zoneinfo/America/Argentina/Ushuaia
pytz/zoneinfo/America/Indiana/Indianapolis
pytz/zoneinfo/America/Indiana/Knox
pytz/zoneinfo/America/Indiana/Marengo
pytz/zoneinfo/America/Indiana/Petersburg
pytz/zoneinfo/America/Indiana/Tell_City
pytz/zoneinfo/America/Indiana/Vevay
pytz/zoneinfo/America/Indiana/Vincennes
pytz/zoneinfo/America/Indiana/Winamac
pytz/zoneinfo/America/Kentucky/Louisville
pytz/zoneinfo/America/Kentucky/Monticello
pytz/zoneinfo/America/North_Dakota/Beulah
pytz/zoneinfo/America/North_Dakota/Center
pytz/zoneinfo/America/North_Dakota/New_Salem
pytz/zoneinfo/Antarctica/Casey
pytz/zoneinfo/Antarctica/Davis
pytz/zoneinfo/Antarctica/DumontDUrville
pytz/zoneinfo/Antarctica/Macquarie
pytz/zoneinfo/Antarctica/Mawson
pytz/zoneinfo/Antarctica/McMurdo
pytz/zoneinfo/Antarctica/Palmer
pytz/zoneinfo/Antarctica/Rothera
pytz/zoneinfo/Antarctica/South_Pole
pytz/zoneinfo/Antarctica/Syowa
pytz/zoneinfo/Antarctica/Vostok
pytz/zoneinfo/Arctic/Longyearbyen
pytz/zoneinfo/Asia/Aden
pytz/zoneinfo/Asia/Almaty
pytz/zoneinfo/Asia/Amman
pytz/zoneinfo/Asia/Anadyr
pytz/zoneinfo/Asia/Aqtau
pytz/zoneinfo/Asia/Aqtobe
pytz/zoneinfo/Asia/Ashgabat
pytz/zoneinfo/Asia/Ashkhabad
pytz/zoneinfo/Asia/Baghdad
pytz/zoneinfo/Asia/Bahrain
pytz/zoneinfo/Asia/Baku
pytz/zoneinfo/Asia/Bangkok
pytz/zoneinfo/Asia/Beirut
pytz/zoneinfo/Asia/Bishkek
pytz/zoneinfo/Asia/Brunei
pytz/zoneinfo/Asia/Calcutta
pytz/zoneinfo/Asia/Choibalsan
pytz/zoneinfo/Asia/Chongqing
pytz/zoneinfo/Asia/Chungking
pytz/zoneinfo/Asia/Colombo
pytz/zoneinfo/Asia/Dacca
pytz/zoneinfo/Asia/Damascus
pytz/zoneinfo/Asia/Dhaka
pytz/zoneinfo/Asia/Dili
pytz/zoneinfo/Asia/Dubai
pytz/zoneinfo/Asia/Dushanbe
pytz/zoneinfo/Asia/Gaza
pytz/zoneinfo/Asia/Harbin
pytz/zoneinfo/Asia/Hebron
pytz/zoneinfo/Asia/Ho_Chi_Minh
pytz/zoneinfo/Asia/Hong_Kong
pytz/zoneinfo/Asia/Hovd
pytz/zoneinfo/Asia/Irkutsk
pytz/zoneinfo/Asia/Istanbul
pytz/zoneinfo/Asia/Jakarta
pytz/zoneinfo/Asia/Jayapura
pytz/zoneinfo/Asia/Jerusalem
pytz/zoneinfo/Asia/Kabul
pytz/zoneinfo/Asia/Kamchatka
pytz/zoneinfo/Asia/Karachi
pytz/zoneinfo/Asia/Kashgar
pytz/zoneinfo/Asia/Kathmandu
pytz/zoneinfo/Asia/Katmandu
pytz/zoneinfo/Asia/Kolkata
pytz/zoneinfo/Asia/Krasnoyarsk
pytz/zoneinfo/Asia/Kuala_Lumpur
pytz/zoneinfo/Asia/Kuching
pytz/zoneinfo/Asia/Kuwait
pytz/zoneinfo/Asia/Macao
pytz/zoneinfo/Asia/Macau
pytz/zoneinfo/Asia/Magadan
pytz/zoneinfo/Asia/Makassar
pytz/zoneinfo/Asia/Manila
pytz/zoneinfo/Asia/Muscat
pytz/zoneinfo/Asia/Nicosia
pytz/zoneinfo/Asia/Novokuznetsk
pytz/zoneinfo/Asia/Novosibirsk
pytz/zoneinfo/Asia/Omsk
pytz/zoneinfo/Asia/Oral
pytz/zoneinfo/Asia/Phnom_Penh
pytz/zoneinfo/Asia/Pontianak
pytz/zoneinfo/Asia/Pyongyang
pytz/zoneinfo/Asia/Qatar
pytz/zoneinfo/Asia/Qyzylorda
pytz/zoneinfo/Asia/Rangoon
pytz/zoneinfo/Asia/Riyadh
pytz/zoneinfo/Asia/Riyadh87
pytz/zoneinfo/Asia/Riyadh88
pytz/zoneinfo/Asia/Riyadh89
pytz/zoneinfo/Asia/Saigon
pytz/zoneinfo/Asia/Sakhalin
pytz/zoneinfo/Asia/Samarkand
pytz/zoneinfo/Asia/Seoul
pytz/zoneinfo/Asia/Shanghai
pytz/zoneinfo/Asia/Singapore
pytz/zoneinfo/Asia/Taipei
pytz/zoneinfo/Asia/Tashkent
pytz/zoneinfo/Asia/Tbilisi
pytz/zoneinfo/Asia/Tehran
pytz/zoneinfo/Asia/Tel_Aviv
pytz/zoneinfo/Asia/Thimbu
pytz/zoneinfo/Asia/Thimphu
pytz/zoneinfo/Asia/Tokyo
pytz/zoneinfo/Asia/Ujung_Pandang
pytz/zoneinfo/Asia/Ulaanbaatar
pytz/zoneinfo/Asia/Ulan_Bator
pytz/zoneinfo/Asia/Urumqi
pytz/zoneinfo/Asia/Vientiane
pytz/zoneinfo/Asia/Vladivostok
pytz/zoneinfo/Asia/Yakutsk
pytz/zoneinfo/Asia/Yekaterinburg
pytz/zoneinfo/Asia/Yerevan
pytz/zoneinfo/Atlantic/Azores
pytz/zoneinfo/Atlantic/Bermuda
pytz/zoneinfo/Atlantic/Canary
pytz/zoneinfo/Atlantic/Cape_Verde
pytz/zoneinfo/Atlantic/Faeroe
pytz/zoneinfo/Atlantic/Faroe
pytz/zoneinfo/Atlantic/Jan_Mayen
pytz/zoneinfo/Atlantic/Madeira
pytz/zoneinfo/Atlantic/Reykjavik
pytz/zoneinfo/Atlantic/South_Georgia
pytz/zoneinfo/Atlantic/St_Helena
pytz/zoneinfo/Atlantic/Stanley
pytz/zoneinfo/Australia/ACT
pytz/zoneinfo/Australia/Adelaide
pytz/zoneinfo/Australia/Brisbane
pytz/zoneinfo/Australia/Broken_Hill
pytz/zoneinfo/Australia/Canberra
pytz/zoneinfo/Australia/Currie
pytz/zoneinfo/Australia/Darwin
pytz/zoneinfo/Australia/Eucla
pytz/zoneinfo/Australia/Hobart
pytz/zoneinfo/Australia/LHI
pytz/zoneinfo/Australia/Lindeman
pytz/zoneinfo/Australia/Lord_Howe
pytz/zoneinfo/Australia/Melbourne
pytz/zoneinfo/Australia/NSW
pytz/zoneinfo/Australia/North
pytz/zoneinfo/Australia/Perth
pytz/zoneinfo/Australia/Queensland
pytz/zoneinfo/Australia/South
pytz/zoneinfo/Australia/Sydney
pytz/zoneinfo/Australia/Tasmania
pytz/zoneinfo/Australia/Victoria
pytz/zoneinfo/Australia/West
pytz/zoneinfo/Australia/Yancowinna
pytz/zoneinfo/Brazil/Acre
pytz/zoneinfo/Brazil/DeNoronha
pytz/zoneinfo/Brazil/East
pytz/zoneinfo/Brazil/West
pytz/zoneinfo/Canada/Atlantic
pytz/zoneinfo/Canada/Central
pytz/zoneinfo/Canada/East-Saskatchewan
pytz/zoneinfo/Canada/Eastern
pytz/zoneinfo/Canada/Mountain
pytz/zoneinfo/Canada/Newfoundland
pytz/zoneinfo/Canada/Pacific
pytz/zoneinfo/Canada/Saskatchewan
pytz/zoneinfo/Canada/Yukon
pytz/zoneinfo/Chile/Continental
pytz/zoneinfo/Chile/EasterIsland
pytz/zoneinfo/Etc/GMT
pytz/zoneinfo/Etc/GMT+0
pytz/zoneinfo/Etc/GMT+1
pytz/zoneinfo/Etc/GMT+10
pytz/zoneinfo/Etc/GMT+11
pytz/zoneinfo/Etc/GMT+12
pytz/zoneinfo/Etc/GMT+2
pytz/zoneinfo/Etc/GMT+3
pytz/zoneinfo/Etc/GMT+4
pytz/zoneinfo/Etc/GMT+5
pytz/zoneinfo/Etc/GMT+6
pytz/zoneinfo/Etc/GMT+7
pytz/zoneinfo/Etc/GMT+8
pytz/zoneinfo/Etc/GMT+9
pytz/zoneinfo/Etc/GMT-0
pytz/zoneinfo/Etc/GMT-1
pytz/zoneinfo/Etc/GMT-10
pytz/zoneinfo/Etc/GMT-11
pytz/zoneinfo/Etc/GMT-12
pytz/zoneinfo/Etc/GMT-13
pytz/zoneinfo/Etc/GMT-14
pytz/zoneinfo/Etc/GMT-2
pytz/zoneinfo/Etc/GMT-3
pytz/zoneinfo/Etc/GMT-4
pytz/zoneinfo/Etc/GMT-5
pytz/zoneinfo/Etc/GMT-6
pytz/zoneinfo/Etc/GMT-7
pytz/zoneinfo/Etc/GMT-8
pytz/zoneinfo/Etc/GMT-9
pytz/zoneinfo/Etc/GMT0
pytz/zoneinfo/Etc/Greenwich
pytz/zoneinfo/Etc/UCT
pytz/zoneinfo/Etc/UTC
pytz/zoneinfo/Etc/Universal
pytz/zoneinfo/Etc/Zulu
pytz/zoneinfo/Europe/Amsterdam
pytz/zoneinfo/Europe/Andorra
pytz/zoneinfo/Europe/Athens
pytz/zoneinfo/Europe/Belfast
pytz/zoneinfo/Europe/Belgrade
pytz/zoneinfo/Europe/Berlin
pytz/zoneinfo/Europe/Bratislava
pytz/zoneinfo/Europe/Brussels
pytz/zoneinfo/Europe/Bucharest
pytz/zoneinfo/Europe/Budapest
pytz/zoneinfo/Europe/Chisinau
pytz/zoneinfo/Europe/Copenhagen
pytz/zoneinfo/Europe/Dublin
pytz/zoneinfo/Europe/Gibraltar
pytz/zoneinfo/Europe/Guernsey
pytz/zoneinfo/Europe/Helsinki
pytz/zoneinfo/Europe/Isle_of_Man
pytz/zoneinfo/Europe/Istanbul
pytz/zoneinfo/Europe/Jersey
pytz/zoneinfo/Europe/Kaliningrad
pytz/zoneinfo/Europe/Kiev
pytz/zoneinfo/Europe/Lisbon
pytz/zoneinfo/Europe/Ljubljana
pytz/zoneinfo/Europe/London
pytz/zoneinfo/Europe/Luxembourg
pytz/zoneinfo/Europe/Madrid
pytz/zoneinfo/Europe/Malta
pytz/zoneinfo/Europe/Mariehamn
pytz/zoneinfo/Europe/Minsk
pytz/zoneinfo/Europe/Monaco
pytz/zoneinfo/Europe/Moscow
pytz/zoneinfo/Europe/Nicosia
pytz/zoneinfo/Europe/Oslo
pytz/zoneinfo/Europe/Paris
pytz/zoneinfo/Europe/Podgorica
pytz/zoneinfo/Europe/Prague
pytz/zoneinfo/Europe/Riga
pytz/zoneinfo/Europe/Rome
pytz/zoneinfo/Europe/Samara
pytz/zoneinfo/Europe/San_Marino
pytz/zoneinfo/Europe/Sarajevo
pytz/zoneinfo/Europe/Simferopol
pytz/zoneinfo/Europe/Skopje
pytz/zoneinfo/Europe/Sofia
pytz/zoneinfo/Europe/Stockholm
pytz/zoneinfo/Europe/Tallinn
pytz/zoneinfo/Europe/Tirane
pytz/zoneinfo/Europe/Tiraspol
pytz/zoneinfo/Europe/Uzhgorod
pytz/zoneinfo/Europe/Vaduz
pytz/zoneinfo/Europe/Vatican
pytz/zoneinfo/Europe/Vienna
pytz/zoneinfo/Europe/Vilnius
pytz/zoneinfo/Europe/Volgograd
pytz/zoneinfo/Europe/Warsaw
pytz/zoneinfo/Europe/Zagreb
pytz/zoneinfo/Europe/Zaporozhye
pytz/zoneinfo/Europe/Zurich
pytz/zoneinfo/Indian/Antananarivo
pytz/zoneinfo/Indian/Chagos
pytz/zoneinfo/Indian/Christmas
pytz/zoneinfo/Indian/Cocos
pytz/zoneinfo/Indian/Comoro
pytz/zoneinfo/Indian/Kerguelen
pytz/zoneinfo/Indian/Mahe
pytz/zoneinfo/Indian/Maldives
pytz/zoneinfo/Indian/Mauritius
pytz/zoneinfo/Indian/Mayotte
pytz/zoneinfo/Indian/Reunion
pytz/zoneinfo/Mexico/BajaNorte
pytz/zoneinfo/Mexico/BajaSur
pytz/zoneinfo/Mexico/General
pytz/zoneinfo/Mideast/Riyadh87
pytz/zoneinfo/Mideast/Riyadh88
pytz/zoneinfo/Mideast/Riyadh89
pytz/zoneinfo/Pacific/Apia
pytz/zoneinfo/Pacific/Auckland
pytz/zoneinfo/Pacific/Chatham
pytz/zoneinfo/Pacific/Chuuk
pytz/zoneinfo/Pacific/Easter
pytz/zoneinfo/Pacific/Efate
pytz/zoneinfo/Pacific/Enderbury
pytz/zoneinfo/Pacific/Fakaofo
pytz/zoneinfo/Pacific/Fiji
pytz/zoneinfo/Pacific/Funafuti
pytz/zoneinfo/Pacific/Galapagos
pytz/zoneinfo/Pacific/Gambier
pytz/zoneinfo/Pacific/Guadalcanal
pytz/zoneinfo/Pacific/Guam
pytz/zoneinfo/Pacific/Honolulu
pytz/zoneinfo/Pacific/Johnston
pytz/zoneinfo/Pacific/Kiritimati
pytz/zoneinfo/Pacific/Kosrae
pytz/zoneinfo/Pacific/Kwajalein
pytz/zoneinfo/Pacific/Majuro
pytz/zoneinfo/Pacific/Marquesas
pytz/zoneinfo/Pacific/Midway
pytz/zoneinfo/Pacific/Nauru
pytz/zoneinfo/Pacific/Niue
pytz/zoneinfo/Pacific/Norfolk
pytz/zoneinfo/Pacific/Noumea
pytz/zoneinfo/Pacific/Pago_Pago
pytz/zoneinfo/Pacific/Palau
pytz/zoneinfo/Pacific/Pitcairn
pytz/zoneinfo/Pacific/Pohnpei
pytz/zoneinfo/Pacific/Ponape
pytz/zoneinfo/Pacific/Port_Moresby
pytz/zoneinfo/Pacific/Rarotonga
pytz/zoneinfo/Pacific/Saipan
pytz/zoneinfo/Pacific/Samoa
pytz/zoneinfo/Pacific/Tahiti
pytz/zoneinfo/Pacific/Tarawa
pytz/zoneinfo/Pacific/Tongatapu
pytz/zoneinfo/Pacific/Truk
pytz/zoneinfo/Pacific/Wake
pytz/zoneinfo/Pacific/Wallis
pytz/zoneinfo/Pacific/Yap
pytz/zoneinfo/US/Alaska
pytz/zoneinfo/US/Aleutian
pytz/zoneinfo/US/Arizona
pytz/zoneinfo/US/Central
pytz/zoneinfo/US/East-Indiana
pytz/zoneinfo/US/Eastern
pytz/zoneinfo/US/Hawaii
pytz/zoneinfo/US/Indiana-Starke
pytz/zoneinfo/US/Michigan
pytz/zoneinfo/US/Mountain
pytz/zoneinfo/US/Pacific
pytz/zoneinfo/US/Pacific-New
pytz/zoneinfo/US/Samoapytz-2012c/pytz.egg-info/top_level.txt0000664000175000017500000000000511742722006016555 0ustar  stubstubpytz