|
Server : Apache/2.2.17 (Unix) mod_ssl/2.2.17 OpenSSL/0.9.8e-fips-rhel5 DAV/2 PHP/5.2.17 System : Linux localhost 2.6.18-419.el5 #1 SMP Fri Feb 24 22:47:42 UTC 2017 x86_64 User : nobody ( 99) PHP Version : 5.2.17 Disable Function : NONE Directory : /proc/22697/root/usr/lib/python2.4/test/ |
Upload File : |
././@LongLink 0000000 0000000 0000000 00000000156 00000000000 011567 L ustar root root test/test/test/test/test/test/test/test/test/test/test/test/test/test/test/test/test/test/test/test/0-REGTYPE test/test/test/test/test/test/test/test/test/test/test/test/test/test/test/test/test/test/test/test/0000644 0000000 0000000 00000007265 10427623544 033053 0 ustar root root GIF87a\` νssscccRRR999))) , \` I8ͻ Z@UZJf*tmx<$` À@dKp`&zx4AX3~4h鈑b{u
OhA6 GZhΨʇ
@h
n0ɇDyESh``}[[Ȑ>& Mb\JcÏ Ǩ+l"a+H!cPʆj8QTgoJ4/&%/sN&4Tի
QhRU
#$Y8(Kb؞;4
SAUUYԗt;aP] [bx)"BA3~ITPhZ@c lC@[f/\"rɅ0 s ,]:B6%_mtW)@`'܇ˀO wK)pq`5B6a6UVhh[š['4#-!`WN`"@)HxdցyAX$G:dFd:0Tixed6uB`Օu0gd&m pBXMkƘD)ALTei
Bkh&ba@#vJ .LƤA^DU +Pp
hxj#pv!ΚҮj&(<ZRˎW9m^+Wek.h.)hbn&>IDj#5V"x*ՈH@}t8`xj|ȇ0ݩh!r1r?, LX /&^4fE2@h- oB 3;=]$8P A4@DZk56@v0f@zo_"]utWy(Ƴ
T&,M5;i4u TQ'P?j1$ܰ5g$*VF6iTۋ!V{xLj͋
y=3kв&S`Y)p>p_p! ){RZc;:B}!ީ 7!J{PʟXj` y[Mh<G$n~ XcL 5 yp:%x@X(`&Ч)v e
H8p?yxEb^2'85qBLxr*B/ BStyp|@ S )
aZ1Α~̅p'hȄ6Lrf?4Nj0i5iTj6t eֈmG$~HF"oԧ
,:
*-\ @FWc
)2\_fQ_&s0}@&upv7]e0td9 0 NLPJM.lK>LY D)ht #u4,G0LJ@--iq@"/p* "FgO
Ha>qLZC:gfE\,f&
D4Ut12
yLu:
jթt@F@,[)
xѠ
k 5!8 n el&T@pm`U"Z1N ~E9<RN&nK
Pm8
jWX㎚#
;l !wkvB@x*Cȇ2hZ?D+՞!3
Hh¬e W(Kg
<AR88-M1Xx8pxvWS*7цo0_lA9 :s*kJ//W$2G#6
R⧯TZޒձ**L_ZYyEJoY."\>-,m'hv˯ hPi>za&i0d}ܺɀv..0
T߲Xk4-k-fAMkezMP&IdŪ5r=>U`d"})!sG4 {6DkӍaW4Ea-"b:GQLȠժfvK,$W DN1O('g3 As.ôMPDqR0:ZFWg.D(gNE e5߹zP6P&l${ 9,x!oDV{e;蟏:[不5zRZ=VEkh2rbOVf]-zcH5o)q;-F_5z>ݮ}/Z rtߺ}M@&PM'>[Bgc?W+{T/R 1uWbttf
o4IU-UV
8 '`9`
>v
g( EsRq t:8Ua=c9KdVy$H0b 8A zg!mY#7sV"TM;fP&<X%X=H!J8,F`!&PecoWo # 00Ivh>mss'zV5&\Uq gw]={zgmUjRAHs=HwB@zvzf-dW?pbWl\v{sz6@q8{VvPsf߂ '0wZ0Eq (DtbH6dFdn2n(_L=kB0 |#:EgV=8tх>N9FC5#h/$ ;AHT\ђf0393 V}rN
R^5ztSg x(D4GJ)b^
^r^S:Im
]6ov8mPh
P&Ї]1cĖ4&>&B)ח~VreyӢ|8]jb1n&IpϦ(ۘ︙9gf%m7`yڈ?WٚY[R`v;oiNc9dbt FySP1) ')#E u|y%rH OkMҨ I빐Ԑ1&ٙYIbE F^-Z%,"zkZ!TkU!\j=j_:(a_Dy`Pư "X2ZFU3:*nQLस# # UZdAo _e&i5er$C5BҦaDt#"FJ!٧Ncp2O ~~ёrdQ!Oq*x3zP{3zgGrz4SЪi𪪚42! «]J8hrk KJjŪ62 ** 1*69* ך$J
O
aJ@暮 ; ././@LongLink 0000000 0000000 0000000 00000000146 00000000000 011566 L ustar root root 0-LONGNAME-0-LONGNAME-0-LONGNAME-0-LONGNAME-0-LONGNAME-0-LONGNAME-0-LONGNAME-0-LONGNAME-0-LONGNAME-0- 0-LONGNAME-0-LONGNAME-0-LONGNAME-0-LONGNAME-0-LONGNAME-0-LONGNAME-0-LONGNAME-0-LONGNAME-0-LONGNAME-00100644 0003720 0003720 00000007265 10427623544 025701 0 ustar tarfile tarfile GIF87a\` νssscccRRR999))) , \` I8ͻ Z@UZJf*tmx<$` À@dKp`&zx4AX3~4h鈑b{u
OhA6 GZhΨʇ
@h
n0ɇDyESh``}[[Ȑ>& Mb\JcÏ Ǩ+l"a+H!cPʆj8QTgoJ4/&%/sN&4Tի
QhRU
#$Y8(Kb؞;4
SAUUYԗt;aP] [bx)"BA3~ITPhZ@c lC@[f/\"rɅ0 s ,]:B6%_mtW)@`'܇ˀO wK)pq`5B6a6UVhh[š['4#-!`WN`"@)HxdցyAX$G:dFd:0Tixed6uB`Օu0gd&m pBXMkƘD)ALTei
Bkh&ba@#vJ .LƤA^DU +Pp
hxj#pv!ΚҮj&(<ZRˎW9m^+Wek.h.)hbn&>IDj#5V"x*ՈH@}t8`xj|ȇ0ݩh!r1r?, LX /&^4fE2@h- oB 3;=]$8P A4@DZk56@v0f@zo_"]utWy(Ƴ
T&,M5;i4u TQ'P?j1$ܰ5g$*VF6iTۋ!V{xLj͋
y=3kв&S`Y)p>p_p! ){RZc;:B}!ީ 7!J{PʟXj` y[Mh<G$n~ XcL 5 yp:%x@X(`&Ч)v e
H8p?yxEb^2'85qBLxr*B/ BStyp|@ S )
aZ1Α~̅p'hȄ6Lrf?4Nj0i5iTj6t eֈmG$~HF"oԧ
,:
*-\ @FWc
)2\_fQ_&s0}@&upv7]e0td9 0 NLPJM.lK>LY D)ht #u4,G0LJ@--iq@"/p* "FgO
Ha>qLZC:gfE\,f&
D4Ut12
yLu:
jթt@F@,[)
xѠ
k 5!8 n el&T@pm`U"Z1N ~E9<RN&nK
Pm8
jWX㎚#
;l !wkvB@x*Cȇ2hZ?D+՞!3
Hh¬e W(Kg
<AR88-M1Xx8pxvWS*7цo0_lA9 :s*kJ//W$2G#6
R⧯TZޒձ**L_ZYyEJoY."\>-,m'hv˯ hPi>za&i0d}ܺɀv..0
T߲Xk4-k-fAMkezMP&IdŪ5r=>U`d"})!sG4 {6DkӍaW4Ea-"b:GQLȠժfvK,$W DN1O('g3 As.ôMPDqR0:ZFWg.D(gNE e5߹zP6P&l${ 9,x!oDV{e;蟏:[不5zRZ=VEkh2rbOVf]-zcH5o)q;-F_5z>ݮ}/Z rtߺ}M@&PM'>[Bgc?W+{T/R 1uWbttf
o4IU-UV
8 '`9`
>v
g( EsRq t:8Ua=c9KdVy$H0b 8A zg!mY#7sV"TM;fP&<X%X=H!J8,F`!&PecoWo # 00Ivh>mss'zV5&\Uq gw]={zgmUjRAHs=HwB@zvzf-dW?pbWl\v{sz6@q8{VvPsf߂ '0wZ0Eq (DtbH6dFdn2n(_L=kB0 |#:EgV=8tх>N9FC5#h/$ ;AHT\ђf0393 V}rN
R^5ztSg x(D4GJ)b^
^r^S:Im
]6ov8mPh
P&Ї]1cĖ4&>&B)ח~VreyӢ|8]jb1n&IpϦ(ۘ︙9gf%m7`yڈ?WٚY[R`v;oiNc9dbt FySP1) ')#E u|y%rH OkMҨ I빐Ԑ1&ٙYIbE F^-Z%,"zkZ!TkU!\j=j_:(a_Dy`Pư "X2ZFU3:*nQLस# # UZdAo _e&i5er$C5BҦaDt#"FJ!٧Ncp2O ~~ёrdQ!Oq*x3zP{3zgGrz4SЪi𪪚42! «]J8hrk KJjŪ62 ** 1*69* ך$J
O
aJ@暮 ; 0-REGTYPE 0100644 0003720 0003720 00000007265 10427623544 012133 0 ustar tarfile tarfile GIF87a\` νssscccRRR999))) , \` I8ͻ Z@UZJf*tmx<$` À@dKp`&zx4AX3~4h鈑b{u
OhA6 GZhΨʇ
@h
n0ɇDyESh``}[[Ȑ>& Mb\JcÏ Ǩ+l"a+H!cPʆj8QTgoJ4/&%/sN&4Tի
QhRU
#$Y8(Kb؞;4
SAUUYԗt;aP] [bx)"BA3~ITPhZ@c lC@[f/\"rɅ0 s ,]:B6%_mtW)@`'܇ˀO wK)pq`5B6a6UVhh[š['4#-!`WN`"@)HxdցyAX$G:dFd:0Tixed6uB`Օu0gd&m pBXMkƘD)ALTei
Bkh&ba@#vJ .LƤA^DU +Pp
hxj#pv!ΚҮj&(<ZRˎW9m^+Wek.h.)hbn&>IDj#5V"x*ՈH@}t8`xj|ȇ0ݩh!r1r?, LX /&^4fE2@h- oB 3;=]$8P A4@DZk56@v0f@zo_"]utWy(Ƴ
T&,M5;i4u TQ'P?j1$ܰ5g$*VF6iTۋ!V{xLj͋
y=3kв&S`Y)p>p_p! ){RZc;:B}!ީ 7!J{PʟXj` y[Mh<G$n~ XcL 5 yp:%x@X(`&Ч)v e
H8p?yxEb^2'85qBLxr*B/ BStyp|@ S )
aZ1Α~̅p'hȄ6Lrf?4Nj0i5iTj6t eֈmG$~HF"oԧ
,:
*-\ @FWc
)2\_fQ_&s0}@&upv7]e0td9 0 NLPJM.lK>LY D)ht #u4,G0LJ@--iq@"/p* "FgO
Ha>qLZC:gfE\,f&
D4Ut12
yLu:
jթt@F@,[)
xѠ
k 5!8 n el&T@pm`U"Z1N ~E9<RN&nK
Pm8
jWX㎚#
;l !wkvB@x*Cȇ2hZ?D+՞!3
Hh¬e W(Kg
<AR88-M1Xx8pxvWS*7цo0_lA9 :s*kJ//W$2G#6
R⧯TZޒձ**L_ZYyEJoY."\>-,m'hv˯ hPi>za&i0d}ܺɀv..0
T߲Xk4-k-fAMkezMP&IdŪ5r=>U`d"})!sG4 {6DkӍaW4Ea-"b:GQLȠժfvK,$W DN1O('g3 As.ôMPDqR0:ZFWg.D(gNE e5߹zP6P&l${ 9,x!oDV{e;蟏:[不5zRZ=VEkh2rbOVf]-zcH5o)q;-F_5z>ݮ}/Z rtߺ}M@&PM'>[Bgc?W+{T/R 1uWbttf
o4IU-UV
8 '`9`
>v
g( EsRq t:8Ua=c9KdVy$H0b 8A zg!mY#7sV"TM;fP&<X%X=H!J8,F`!&PecoWo # 00Ivh>mss'zV5&\Uq gw]={zgmUjRAHs=HwB@zvzf-dW?pbWl\v{sz6@q8{VvPsf߂ '0wZ0Eq (DtbH6dFdn2n(_L=kB0 |#:EgV=8tх>N9FC5#h/$ ;AHT\ђf0393 V}rN
R^5ztSg x(D4GJ)b^
^r^S:Im
]6ov8mPh
P&Ї]1cĖ4&>&B)ח~VreyӢ|8]jb1n&IpϦ(ۘ︙9gf%m7`yڈ?WٚY[R`v;oiNc9dbt FySP1) ')#E u|y%rH OkMҨ I빐Ԑ1&ٙYIbE F^-Z%,"zkZ!TkU!\j=j_:(a_Dy`Pư "X2ZFU3:*nQLस# # UZdAo _e&i5er$C5BҦaDt#"FJ!٧Ncp2O ~~ёrdQ!Oq*x3zP{3zgGrz4SЪi𪪚42! «]J8hrk KJjŪ62 ** 1*69* ך$J
O
aJ@暮 ; 0-REGTYPE-TEXT 0100644 0003720 0003720 00000072524 10427623544 012715 0 ustar tarfile tarfile PEP: 0
Title: Index of Python Enhancement Proposals (PEPs)
Version: Revision
Last-Modified: Date
Author: David Goodger <goodger@python.org>,
Barry A. Warsaw <barry@python.org>
Status: Active
Type: Informational
Created: 13-Jul-2000
Post-History:
Introduction
The PEP contains the index of all Python Enhancement Proposals,
known as PEPs. PEP numbers are assigned by the PEP Editor, and
once assigned are never changed. The SVN history[1] of the PEP
texts represent their historical record.
The BDFL maintains his own Pronouncements page[2] at
http://www.python.org/doc/essays/pepparade.html which contains his
musings on the various outstanding PEPs.
Index by Category
num title owner
--- ----- -----
Meta-PEPs (PEPs about PEPs or Process)
I 0 Index of Python Enhancement Proposals Goodger, Warsaw
P 1 PEP Purpose and Guidelines Warsaw, Hylton, Goodger
I 2 Procedure for Adding New Modules Faassen
I 3 Guidelines for Handling Bug Reports Hylton
I 4 Deprecation of Standard Modules von Loewis
I 5 Guidelines for Language Evolution Prescod
P 6 Bug Fix Releases Aahz
I 7 Style Guide for C Code GvR
I 8 Style Guide for Python Code GvR, Warsaw
I 9 Sample Plaintext PEP Template Warsaw
I 10 Voting Guidelines Warsaw
I 11 Removing support for little used platforms von Loewis
I 12 Sample reStructuredText PEP Template Goodger, Warsaw
P 347 Migrating the Python CVS to Subversion von Löwis
P 3000 Python 3000 GvR
P 3001 Reviewing and improving stdlib modules Brandl
P 3002 Procedure for Backwards-Incompatible Changes Bethard
I 3099 Things that will Not Change in Python 3000 Brandl
Other Informational PEPs
I 20 The Zen of Python Peters
I 42 Feature Requests Hylton
I 101 Doing Python Releases 101 Warsaw, GvR
I 102 Doing Python Micro Releases Baxter, Warsaw, GvR
IF 247 API for Cryptographic Hash Functions Kuchling
IF 248 Python Database API Specification v1.0 Lemburg
IF 249 Python Database API Specification v2.0 Lemburg
I 257 Docstring Conventions Goodger, GvR
IF 272 API for Block Encryption Algorithms v1.0 Kuchling
I 290 Code Migration and Modernization Hettinger
I 291 Backward Compatibility for Standard Library Norwitz
I 306 How to Change Python's Grammar Hudson
I 333 Python Web Server Gateway Interface v1.0 Eby
I 339 Design of the CPython Compiler Cannon
I 356 Python 2.5 Release Schedule Norwitz, et al
I 3100 Python 3.0 Plans Kuchling, Cannon
Accepted PEPs (accepted; may not be implemented yet)
SA 328 Imports: Multi-Line and Absolute/Relative Aahz
Open PEPs (under consideration)
S 209 Adding Multidimensional Arrays Barrett, Oliphant
S 228 Reworking Python's Numeric Model Zadka, GvR
S 237 Unifying Long Integers and Integers Zadka, GvR
S 243 Module Repository Upload Mechanism Reifschneider
S 256 Docstring Processing System Framework Goodger
S 258 Docutils Design Specification Goodger
S 266 Optimizing Global Variable/Attribute Access Montanaro
S 267 Optimized Access to Module Namespaces Hylton
S 268 Extended HTTP functionality and WebDAV Stein
S 275 Switching on Multiple Values Lemburg
S 280 Optimizing access to globals GvR
S 286 Enhanced Argument Tuples von Loewis
I 287 reStructuredText Docstring Format Goodger
S 297 Support for System Upgrades Lemburg
S 298 The Locked Buffer Interface Heller
S 302 New Import Hooks JvR, Moore
S 304 Controlling Generation of Bytecode Files Montanaro
S 314 Metadata for Python Software Packages v1.1 Kuchling, Jones
S 321 Date/Time Parsing and Formatting Kuchling
S 323 Copyable Iterators Martelli
S 331 Locale-Independent Float/String Conversions Reis
S 334 Simple Coroutines via SuspendIteration Evans
S 335 Overloadable Boolean Operators Ewing
S 337 Logging Usage in the Standard Library Dubner
S 344 Exception Chaining and Embedded Tracebacks Yee
S 345 Metadata for Python Software Packages 1.2 Jones
I 350 Codetags Elliott
S 354 Enumerations in Python Finney
S 355 Path - Object oriented filesystem paths Lindqvist
S 358 The "bytes" Object Schemenauer
S 359 The "make" Statement Bethard
S 754 IEEE 754 Floating Point Special Values Warnes
Finished PEPs (done, implemented in Subversion)
SF 100 Python Unicode Integration Lemburg
IF 160 Python 1.6 Release Schedule Drake
IF 200 Python 2.0 Release Schedule Hylton
SF 201 Lockstep Iteration Warsaw
SF 202 List Comprehensions Warsaw
SF 203 Augmented Assignments Wouters
S 205 Weak References Drake
SF 207 Rich Comparisons GvR, Ascher
SF 208 Reworking the Coercion Model Schemenauer, Lemburg
SF 214 Extended Print Statement Warsaw
SF 217 Display Hook for Interactive Use Zadka
SF 218 Adding a Built-In Set Object Type Wilson, Hettinger
SF 221 Import As Wouters
SF 223 Change the Meaning of \x Escapes Peters
I 226 Python 2.1 Release Schedule Hylton
S 227 Statically Nested Scopes Hylton
SF 229 Using Distutils to Build Python Kuchling
SF 230 Warning Framework GvR
SF 232 Function Attributes Warsaw
SF 234 Iterators Yee, GvR
SF 235 Import on Case-Insensitive Platforms Peters
SF 236 Back to the __future__ Peters
SF 238 Changing the Division Operator Zadka, GvR
SF 241 Metadata for Python Software Packages Kuchling
SF 250 Using site-packages on Windows Moore
IF 251 Python 2.2 Release Schedule Warsaw, GvR
SF 252 Making Types Look More Like Classes GvR
SF 253 Subtyping Built-in Types GvR
SF 255 Simple Generators Schemenauer, et al
SF 260 Simplify xrange() GvR
SF 261 Support for "wide" Unicode characters Prescod
SF 263 Defining Python Source Code Encodings Lemburg
SF 264 Future statements in simulated shells Hudson
SF 273 Import Modules from Zip Archives Ahlstrom
SF 277 Unicode file name support for Windows NT Hodgson
SF 278 Universal Newline Support Jansen
SF 279 The enumerate() built-in function Hettinger
SF 282 A Logging System Sajip, Mick
IF 283 Python 2.3 Release Schedule GvR
SF 285 Adding a bool type GvR
SF 289 Generator Expressions Hettinger
SF 292 Simpler String Substitutions Warsaw
SF 293 Codec Error Handling Callbacks Dörwald
SF 301 Package Index and Metadata for Distutils Jones
SF 305 CSV File API Montanaro, et al
SF 307 Extensions to the pickle protocol GvR, Peters
SF 308 Conditional Expressions GvR, Hettinger
SF 309 Partial Function Application Harris
SF 311 Simplified GIL Acquisition for Extensions Hammond
SF 318 Decorators for Functions and Methods Smith, et al
IF 320 Python 2.4 Release Schedule Warsaw, et al
SF 322 Reverse Iteration Hettinger
SF 324 subprocess - New process module Astrand
SF 327 Decimal Data Type Batista
SF 338 Executing Modules as Scripts Coghlan
SF 341 Unifying try-except and try-finally Brandl
SF 342 Coroutines via Enhanced Generators GvR, Eby
SF 343 The "with" Statement GvR, Coghlan
SF 352 Required Superclass for Exceptions GvR, Cannon
SF 353 Using ssize_t as the index type von Loewis
SF 357 Allowing Any Object to be Used for Slicing Oliphant
Empty PEPs (or containing only an abstract)
SD 210 Decoupling the Interpreter Loop Ascher
ID 220 Coroutines, Generators, Continuations McMillan
Deferred, Abandoned, Withdrawn, and Rejected PEPs
SR 204 Range Literals Wouters
IR 206 Python Advanced Library Kuchling
SD 211 Adding A New Outer Product Operator Wilson
SD 212 Loop Counter Iteration Schneider-Kamp
SD 213 Attribute Access Handlers Prescod
SR 215 String Interpolation Yee
IR 216 Docstring Format Zadka
SD 219 Stackless Python McMillan
SD 222 Web Library Enhancements Kuchling
SR 224 Attribute Docstrings Lemburg
SD 225 Elementwise/Objectwise Operators Zhu, Lielens
SR 231 __findattr__() Warsaw
SD 233 Python Online Help Prescod
SR 239 Adding a Rational Type to Python Craig, Zadka
SR 240 Adding a Rational Literal to Python Craig, Zadka
SR 242 Numeric Kinds Dubois
SR 244 The `directive' Statement von Loewis
SR 245 Python Interface Syntax Pelletier
SR 246 Object Adaptation Evans
SR 254 Making Classes Look More Like Types GvR
SR 259 Omit printing newline after newline GvR
SD 262 Database of Installed Python Packages Kuchling
SR 265 Sorting Dictionaries by Value Griffin
SD 269 Pgen Module for Python Riehl
SR 270 uniq method for list objects Petrone
SR 271 Prefixing sys.path by command line option Giacometti
SR 274 Dict Comprehensions Warsaw
SR 276 Simple Iterator for ints Althoff
SR 281 Loop Counter Iteration with range and xrange Hetland
SR 284 Integer for-loops Eppstein, Ewing
SR 288 Generators Attributes and Exceptions Hettinger
SR 294 Type Names in the types Module Tirosh
SR 295 Interpretation of multiline string constants Koltsov
SR 296 Adding a bytes Object Type Gilbert
SR 299 Special __main__() function in modules Epler
SR 303 Extend divmod() for Multiple Divisors Bellman
SR 310 Reliable Acquisition/Release Pairs Hudson, Moore
SD 312 Simple Implicit Lambda Suzi, Martelli
SR 313 Adding Roman Numeral Literals to Python Meyer
SD 315 Enhanced While Loop Carroll, Hettinger
SD 316 Programming by Contract for Python Way
SR 317 Eliminate Implicit Exception Instantiation Taschuk
SR 319 Python Synchronize/Asynchronize Block Pelletier
SR 325 Resource-Release Support for Generators Pedroni
SR 326 A Case for Top and Bottom Values Carlson, Reedy
SR 329 Treating Builtins as Constants in the Standard Library Hettinger
SR 330 Python Bytecode Verification Pelletier
SR 332 Byte vectors and String/Unicode Unification Montanaro
SR 336 Make None Callable McClelland
SR 340 Anonymous Block Statements GvR
SR 346 User Defined ("with") Statements Coghlan
SR 348 Exception Reorganization for Python 3.0 Cannon
SD 349 Allow str() to return unicode strings Schemenauer
SR 351 The freeze protocol Warsaw
SR 666 Reject Foolish Indentation Creighton
Numerical Index
num title owner
--- ----- -----
I 0 Index of Python Enhancement Proposals Goodger, Warsaw
P 1 PEP Purpose and Guidelines Warsaw, Hylton, Goodger
I 2 Procedure for Adding New Modules Faassen
I 3 Guidelines for Handling Bug Reports Hylton
I 4 Deprecation of Standard Modules von Loewis
I 5 Guidelines for Language Evolution Prescod
P 6 Bug Fix Releases Aahz
I 7 Style Guide for C Code GvR
I 8 Style Guide for Python Code GvR, Warsaw
I 9 Sample Plaintext PEP Template Warsaw
I 10 Voting Guidelines Warsaw
I 11 Removing support for little used platforms von Loewis
I 12 Sample reStructuredText PEP Template Goodger, Warsaw
I 20 The Zen of Python Peters
I 42 Feature Requests Hylton
SF 100 Python Unicode Integration Lemburg
I 101 Doing Python Releases 101 Warsaw, GvR
I 102 Doing Python Micro Releases Baxter, Warsaw, GvR
IF 160 Python 1.6 Release Schedule Drake
IF 200 Python 2.0 Release Schedule Hylton
SF 201 Lockstep Iteration Warsaw
SF 202 List Comprehensions Warsaw
SF 203 Augmented Assignments Wouters
SR 204 Range Literals Wouters
S 205 Weak References Drake
IR 206 Python Advanced Library Kuchling
SF 207 Rich Comparisons GvR, Ascher
SF 208 Reworking the Coercion Model Schemenauer, Lemburg
S 209 Adding Multidimensional Arrays Barrett, Oliphant
SD 210 Decoupling the Interpreter Loop Ascher
SD 211 Adding A New Outer Product Operator Wilson
SD 212 Loop Counter Iteration Schneider-Kamp
SD 213 Attribute Access Handlers Prescod
SF 214 Extended Print Statement Warsaw
SR 215 String Interpolation Yee
IR 216 Docstring Format Zadka
SF 217 Display Hook for Interactive Use Zadka
SF 218 Adding a Built-In Set Object Type Wilson, Hettinger
SD 219 Stackless Python McMillan
ID 220 Coroutines, Generators, Continuations McMillan
SF 221 Import As Wouters
SD 222 Web Library Enhancements Kuchling
SF 223 Change the Meaning of \x Escapes Peters
SR 224 Attribute Docstrings Lemburg
SD 225 Elementwise/Objectwise Operators Zhu, Lielens
I 226 Python 2.1 Release Schedule Hylton
S 227 Statically Nested Scopes Hylton
S 228 Reworking Python's Numeric Model Zadka, GvR
SF 229 Using Distutils to Build Python Kuchling
SF 230 Warning Framework GvR
SR 231 __findattr__() Warsaw
SF 232 Function Attributes Warsaw
SD 233 Python Online Help Prescod
SF 234 Iterators Yee, GvR
SF 235 Import on Case-Insensitive Platforms Peters
SF 236 Back to the __future__ Peters
S 237 Unifying Long Integers and Integers Zadka, GvR
SF 238 Changing the Division Operator Zadka, GvR
SR 239 Adding a Rational Type to Python Craig, Zadka
SR 240 Adding a Rational Literal to Python Craig, Zadka
SF 241 Metadata for Python Software Packages Kuchling
SR 242 Numeric Kinds Dubois
S 243 Module Repository Upload Mechanism Reifschneider
SR 244 The `directive' Statement von Loewis
SR 245 Python Interface Syntax Pelletier
SR 246 Object Adaptation Evans
IF 247 API for Cryptographic Hash Functions Kuchling
IF 248 Python Database API Specification v1.0 Lemburg
IF 249 Python Database API Specification v2.0 Lemburg
SF 250 Using site-packages on Windows Moore
IF 251 Python 2.2 Release Schedule Warsaw, GvR
SF 252 Making Types Look More Like Classes GvR
SF 253 Subtyping Built-in Types GvR
SR 254 Making Classes Look More Like Types GvR
SF 255 Simple Generators Schemenauer, et al
S 256 Docstring Processing System Framework Goodger
I 257 Docstring Conventions Goodger, GvR
S 258 Docutils Design Specification Goodger
SR 259 Omit printing newline after newline GvR
SF 260 Simplify xrange() GvR
SF 261 Support for "wide" Unicode characters Prescod
SD 262 Database of Installed Python Packages Kuchling
SF 263 Defining Python Source Code Encodings Lemburg
SF 264 Future statements in simulated shells Hudson
SR 265 Sorting Dictionaries by Value Griffin
S 266 Optimizing Global Variable/Attribute Access Montanaro
S 267 Optimized Access to Module Namespaces Hylton
S 268 Extended HTTP functionality and WebDAV Stein
S 269 Pgen Module for Python Riehl
SR 270 uniq method for list objects Petrone
SR 271 Prefixing sys.path by command line option Giacometti
IF 272 API for Block Encryption Algorithms v1.0 Kuchling
SF 273 Import Modules from Zip Archives Ahlstrom
SR 274 Dict Comprehensions Warsaw
S 275 Switching on Multiple Values Lemburg
SR 276 Simple Iterator for ints Althoff
SF 277 Unicode file name support for Windows NT Hodgson
SF 278 Universal Newline Support Jansen
SF 279 The enumerate() built-in function Hettinger
S 280 Optimizing access to globals GvR
SR 281 Loop Counter Iteration with range and xrange Hetland
SF 282 A Logging System Sajip, Mick
IF 283 Python 2.3 Release Schedule GvR
SR 284 Integer for-loops Eppstein, Ewing
SF 285 Adding a bool type GvR
S 286 Enhanced Argument Tuples von Loewis
I 287 reStructuredText Docstring Format Goodger
SR 288 Generators Attributes and Exceptions Hettinger
SF 289 Generator Expressions Hettinger
I 290 Code Migration and Modernization Hettinger
I 291 Backward Compatibility for Standard Library Norwitz
SF 292 Simpler String Substitutions Warsaw
SF 293 Codec Error Handling Callbacks Dörwald
SR 294 Type Names in the types Module Tirosh
SR 295 Interpretation of multiline string constants Koltsov
SR 296 Adding a bytes Object Type Gilbert
S 297 Support for System Upgrades Lemburg
S 298 The Locked Buffer Interface Heller
SR 299 Special __main__() function in modules Epler
SF 301 Package Index and Metadata for Distutils Jones
S 302 New Import Hooks JvR, Moore
SR 303 Extend divmod() for Multiple Divisors Bellman
S 304 Controlling Generation of Bytecode Files Montanaro
SF 305 CSV File API Montanaro, et al
I 306 How to Change Python's Grammar Hudson
SF 307 Extensions to the pickle protocol GvR, Peters
SF 308 Conditional Expressions GvR, Hettinger
SF 309 Partial Function Application Harris
SR 310 Reliable Acquisition/Release Pairs Hudson, Moore
SF 311 Simplified GIL Acquisition for Extensions Hammond
SD 312 Simple Implicit Lambda Suzi, Martelli
SR 313 Adding Roman Numeral Literals to Python Meyer
S 314 Metadata for Python Software Packages v1.1 Kuchling, Jones
SD 315 Enhanced While Loop Carroll, Hettinger
SD 316 Programming by Contract for Python Way
SR 317 Eliminate Implicit Exception Instantiation Taschuk
SF 318 Decorators for Functions and Methods Smith, et al
SR 319 Python Synchronize/Asynchronize Block Pelletier
IF 320 Python 2.4 Release Schedule Warsaw, et al
S 321 Date/Time Parsing and Formatting Kuchling
SF 322 Reverse Iteration Hettinger
S 323 Copyable Iterators Martelli
SF 324 subprocess - New POSIX process module Astrand
SR 325 Resource-Release Support for Generators Pedroni
SR 326 A Case for Top and Bottom Values Carlson, Reedy
SF 327 Decimal Data Type Batista
SA 328 Imports: Multi-Line and Absolute/Relative Aahz
SR 329 Treating Builtins as Constants in the Standard Library Hettinger
SR 330 Python Bytecode Verification Pelletier
S 331 Locale-Independent Float/String Conversions Reis
SR 332 Byte vectors and String/Unicode Unification Montanaro
I 333 Python Web Server Gateway Interface v1.0 Eby
S 334 Simple Coroutines via SuspendIteration Evans
S 335 Overloadable Boolean Operators Ewing
SR 336 Make None Callable McClelland
S 337 Logging Usage in the Standard Library Dubner
SF 338 Executing Modules as Scripts Coghlan
I 339 Design of the CPython Compiler Cannon
SR 340 Anonymous Block Statements GvR
SF 341 Unifying try-except and try-finally Brandl
SF 342 Coroutines via Enhanced Generators GvR, Eby
SF 343 Anonymous Block Redux and Generator Enhancements GvR
S 344 Exception Chaining and Embedded Tracebacks Yee
S 345 Metadata for Python Software Packages 1.2 Jones
SR 346 User Defined ("with") Statements Coghlan
P 347 Migrating the Python CVS to Subversion von Löwis
SR 348 Exception Reorganization for Python 3.0 Cannon
SD 349 Allow str() to return unicode strings Schemenauer
I 350 Codetags Elliott
SR 351 The freeze protocol Warsaw
SF 352 Required Superclass for Exceptions GvR, Cannon
SA 353 Using ssize_t as the index type von Loewis
S 354 Enumerations in Python Finney
S 355 Path - Object oriented filesystem paths Lindqvist
I 356 Python 2.5 Release Schedule Norwitz, et al
SF 357 Allowing Any Object to be Used for Slicing Oliphant
S 358 The "bytes" Object Schemenauer
S 359 The "make" Statement Bethard
SR 666 Reject Foolish Indentation Creighton
S 754 IEEE 754 Floating Point Special Values Warnes
P 3000 Python 3000 GvR
P 3001 Reviewing and improving stdlib modules Brandl
P 3002 Procedure for Backwards-Incompatible Changes Bethard
I 3099 Things that will Not Change in Python 3000 Brandl
I 3100 Python 3.0 Plans Kuchling, Cannon
Key
S - Standards Track PEP
I - Informational PEP
P - Process PEP
A - Accepted proposal
R - Rejected proposal
D - Deferred proposal
F - Final proposal
Owners
name email address
---------------- -------------
Aahz aahz@pobox.com
Ahlstrom, James C. jim@interet.com
Althoff, Jim james_althoff@i2.com
Altis, Kevin altis@semi-retired.com
Ascher, David davida@activestate.com
Astrand, Peter astrand@lysator.liu.se
Barrett, Paul barrett@stsci.edu
Batista, Facundo facundo@taniquetil.com.ar
Baxter, Anthony anthony@interlink.com.au
Bellman, Thomas bellman+pep-divmod@lysator.liu.se
Bethard, Steven steven.bethard@gmail.com
Brandl, Georg g.brandl@gmx.net
Cannon, Brett brett@python.org
Carlson, Josiah jcarlson@uci.edu
Carroll, W Isaac icarroll@pobox.com
Coghlan, Nick ncoghlan@gmail.com
Cole, Dave djc@object-craft.com.au
Craig, Christopher python-pep@ccraig.org
Creighton, Laura lac@strakt.com
Dörwald, Walter
Drake, Fred fdrake@acm.org
Dubner, Michael P. dubnerm@mindless.com
Dubois, Paul F. paul@pfdubois.com
Eby, Phillip J. pje@telecommunity.com
Elliott, Micah mde at tracos.org
Epler, Jeff jepler@unpythonic.net
Eppstein, David eppstein@ics.uci.edu
Evans, Clark C. cce@clarkevans.com
Ewing, Greg greg@cosc.canterbury.ac.nz
Faassen, Martijn faassen@infrae.com
Finney, Ben ben+python@benfinney.id.au
Giacometti, Frédéric B. fred@arakne.com
Gilbert, Scott xscottg at yahoo.com
Goodger, David goodger@python.org
Griffin, Grant g2@iowegian.com
Hammond, Mark mhammond@skippinet.com.au
Harris, Peter scav@blueyonder.co.uk
Heller, Thomas theller@python.net
Hetland, Magnus Lie magnus@hetland.org
Hettinger, Raymond D. python@rcn.com
Hodgson, Neil neilh@scintilla.org
Hudson, Michael mwh@python.net
Hylton, Jeremy jeremy@zope.com
Jansen, Jack jack@cwi.nl
Jewett, Jim jimjjewett@users.sourceforge.net
Jones, Richard richard@mechanicalcat.net
Koltsov, Stepan yozh@mx1.ru
Kuchling, A.M. amk@amk.ca
Lemburg, Marc-Andre mal@lemburg.com
Lielens, Gregory gregory.lielens@fft.be
Lindqvist, Björn bjourne@gmail.com
von Loewis, Martin loewis@informatik.hu-berlin.de
Martelli, Alex aleax@aleax.it
McClelland, Andrew eternalsquire@comcast.net
McMillan, Gordon gmcm@hypernet.com
McNamara, Andrew andrewm@object-craft.com.au
Mick, Trent trentm@activestate.com
Meyer, Mike mwm@mired.org
Montanaro, Skip skip@pobox.com
Moore, Paul gustav@morpheus.demon.co.uk
Norwitz, Neal nnorwitz@gmail.com
Oliphant, Travis oliphant@ee.byu.edu
Pedroni, Samuele pedronis@python.org
Pelletier, Michel michel@users.sourceforge.net
Peters, Tim tim@zope.com
Petrone, Jason jp@demonseed.net
Prescod, Paul paul@prescod.net
Reedy, Terry tjreedy@udel.edu
Reifschneider, Sean jafo-pep@tummy.com
Reis, Christian R. kiko@async.com.br
Riehl, Jonathan jriehl@spaceship.com
van Rossum, Guido (GvR) guido@python.org
van Rossum, Just (JvR) just@letterror.com
Sajip, Vinay vinay_sajip@red-dove.com
Schemenauer, Neil nas@arctrix.com
Schneider-Kamp, Peter nowonder@nowonder.de
Smith, Kevin D. Kevin.Smith@theMorgue.org
Stein, Greg gstein@lyra.org
Suzi, Roman rnd@onego.ru
Taschuk, Steven staschuk@telusplanet.net
Tirosh, Oren oren at hishome.net
Warnes, Gregory R. warnes@users.sourceforge.net
Warsaw, Barry barry@python.org
Way, Terence terry@wayforward.net
Wells, Cliff LogiplexSoftware@earthlink.net
Wilson, Greg gvwilson@ddj.com
Wouters, Thomas thomas@xs4all.net
Yee, Ka-Ping ping@lfw.org
Zadka, Moshe moshez@zadka.site.co.il
Zhu, Huaiyu hzhu@users.sourceforge.net
References
[1] View PEP history online
http://svn.python.org/projects/peps/trunk/
[2] The Benevolent Dictator For Life's Parade of PEPs
http://www.python.org/doc/essays/pepparade.html
Local Variables:
mode: indented-text
indent-tabs-mode: nil
sentence-end-double-space: t
fill-column: 70
coding: utf-8
End:
1-LNKTYPE 0100644 0003720 0003720 00000000000 10427623544 013315 10-REGTYPE ustar tarfile tarfile ././@LongLink 0000000 0000000 0000000 00000000146 00000000000 011565 K ustar root root 0-LONGNAME-0-LONGNAME-0-LONGNAME-0-LONGNAME-0-LONGNAME-0-LONGNAME-0-LONGNAME-0-LONGNAME-0-LONGNAME-0- ././@LongLink 0000000 0000000 0000000 00000000146 00000000000 011566 L ustar root root 1-LONGLINK-1-LONGLINK-1-LONGLINK-1-LONGLINK-1-LONGLINK-1-LONGLINK-1-LONGLINK-1-LONGLINK-1-LONGLINK-1- 1-LONGLINK-1-LONGLINK-1-LONGLINK-1-LONGLINK-1-LONGLINK-1-LONGLINK-1-LONGLINK-1-LONGLINK-1-LONGLINK-10100644 0003720 0003720 00000000000 10427623544 043020 10-LONGNAME-0-LONGNAME-0-LONGNAME-0-LONGNAME-0-LONGNAME-0-LONGNAME-0-LONGNAME-0-LONGNAME-0-LONGNAME-0ustar tarfile tarfile 2-SYMTYPE 0120777 0003720 0003720 00000000000 10427623544 015042 2testtar/0-REGTYPE ustar tarfile tarfile 3-CHRTYPE 0020644 0003720 0003720 00000000000 10427623544 013361 3 ustar tarfile tarfile 0000001 0000003 5-DIRTYPE/ 0040755 0003720 0003720 00000000000 10427623544 012207 5 ustar tarfile tarfile 6-FIFOTYPE 0010644 0003720 0003720 00000000000 10427623544 012231 6 ustar tarfile tarfile S-SPARSE 0100644 0003720 0003720 00000060000 10427623543 023352 S ustar tarfile tarfile 00000010000 00000020000 00000050000 00000010000 00000070000 00000010000 00000110000 00000010000 00000140000 00000130000 00000010000 0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEFS-SPARSE-WITH-NULLS 0100644 0003720 0003720 00000140000 10427623543 013500 0 ustar tarfile tarfile 0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF 0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF 0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF 0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF 0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF7-STAR 0000644 0001750 0000144 00000015543 07606136617 0015427 0 ustar 00lars users 0000000 0000000 10721754101 10721754231 tar Foreword for "Programming Python" (1st ed.)
As Python's creator, I'd like to say a few words about its origins, adding a
bit of personal philosophy.
Over six years ago, in December 1989, I was looking for a "hobby" programming
project that would keep me occupied during the week around Christmas. My office
(a government-run research lab in Amsterdam) would be closed, but I had a home
computer, and not much else on my hands. I decided to write an interpreter for
the new scripting language I had been thinking about lately: a descendant of
ABC that would appeal to Unix/C hackers. I chose Python as a working title for
the project, being in a slightly irreverent mood (and a big fan of Monty
Python's Flying Circus).
Today, I can safely say that Python has changed my life. I have moved to a
different continent. I spend my working days developing large systems in
Python, when I'm not hacking on Python or answering Python-related email. There
are Python T-shirts, workshops, mailing lists, a newsgroup, and now a book.
Frankly, my only unfulfilled wish is to have my picture on the front page of
the New York Times. But before I get carried away daydreaming, here are a few
tidbits from Python's past.
It all started with ABC, a wonderful teaching language that I had helped create
in the early eighties. It was an incredibly elegant and powerful language,
aimed at non-professional programmers. Despite all its elegance and power and
the availability of a free implementation, ABC never became popular in the
Unix/C world. I can only speculate about the reasons, but here's a likely one:
the difficulty of adding new "primitive" operations to ABC. It was a
monolithic, "closed system", with only the most basic I/O operations: read a
string from the console, write a string to the console. I decided not repeat
this mistake in Python.
Besides this intention, I had a number of other ideas for improvement over ABC,
and was eager to try them out. For instance, ABC's powerful data types turned
out to be less efficient than we hoped. There was too much emphasis on
theoretically optimal algorithms, and not enough tuning for common cases. I
also felt that some of ABC's features, aimed at novice programmers, were less
desirable for the (then!) intended audience of experienced Unix/C programmers.
For instance: ABC's ideosyncratic syntax (all uppercase keywords!); some
terminology (e.g. "how-to" instead of "procedure"); and the integrated
structured editor, which its users almost universally hated. Python would rely
more on the Unix infrastructure and conventions, without being Unix-bound. And
in fact, the first implementation was done on a Mac.
As it turned out, Python is remarkably free from many of the hang-ups of
conventional programming languages. This is perhaps due to my choice of
examples: besides ABC, my main influence was Modula-3. This is another language
with remarkable elegance and power, designed by a small, strong-willed team
(most of whom I had met during a summer internship at DEC's Systems Research
Center in Palo Alto). Imagine what Python would have looked like if I had
modelled it after the Unix shell and C instead! (Yes, I borrowed from C too,
but only its least controversial features, in my desire to please the Unix/C
audience.)
Any individual creation has its ideosyncracies, and occasionally its creator
has to justify these. Perhaps Python's most controversial feature is its use of
indentation for statement grouping, which derives directly from ABC. It is one
of the language's features that is dearest to my heart. It makes Python code
more readable in two ways. First, the use of indentation reduces visual clutter
and makes programs shorter, thus reducing the attention span needed to take in
a basic unit of code. Second, it allows the programmer less freedom in
formatting, thereby enabling a more uniform style, which makes it easier to
read someone else's code. (Compare, for instance, the three or four different
conventions for the placement of braces in C, each with strong proponents.)
This emphasis on readability is no accident. As an object-oriented language,
Python aims to encourage the creation of reusable code. Even if we all wrote
perfect documentation all of the time, code can hardly be considered reusable
if it's not readable. Many of Python's features, in addition to its use of
indentation, conspire to make Python code highly readable. This reflects the
philosophy of ABC, which was intended to teach programming in its purest form,
and therefore placed a high value on clarity.
Readability is often enhanced by reducing unnecessary variability. When
possible, there's a single, obvious way to code a particular construct. This
reduces the number of choices facing the programmer who is writing the code,
and increases the chance that will appear familiar to a second programmer
reading it. Yet another contribution to Python's readability is the choice to
use punctuation mostly in a conservative, conventional manner. Most operator
symbols are familiar to anyone with even a vague recollection of high school
math, and no new meanings have to be learned for comic strip curse characters
like @&$!.
I will gladly admit that Python is not the fastest running scripting language.
It is a good runner-up though. With ever-increasing hardware speed, the
accumulated running time of a program during its lifetime is often negligible
compared to the programmer time needed to write and debug it. This, of course,
is where the real savings can be made. While this is hard to assess
objectively, Python is considered a winner in coding time by most who have
tried it. In addition, many consider using Python a pleasure -- a better
recommendation is hard to imagine.
I am solely responsible for Python's strengths and shortcomings, even when some
of the code has been written by others. However, its success is the product of
a community, starting with the early adopters who picked it up when I first
published Python on the net, and who spread the word about it in their own
environment. They sent me their praise, criticism, feature requests, code
contributions, and personal revelations via email. They were willing to discuss
every aspect of Python in the mailing list that I soon set up, and educate me
or nudge me in the right direction where my initial intuition failed me. There
have been too many contributors to thank individually. I'll make one exception,
however: this book's author was one of Python's early adopters and evangelists.
With its publication, his longstanding wish (and mine!) of having a more
accessible description of Python than the standard set of manuals, is
fulfilled.
But enough rambling. I highly recommend this book to anyone interested in
learning Python, whether for personal improvement or as a career enhancement.
Take it away, Eric, the orchestra leader! (If you don't understand this last
sentence, you haven't watched enough Monty Python reruns.)
Guido van Rossum
Reston, VA, May 1996