Files
cpython/Doc/ref/ref2.doc

270 lines
62 KiB
Plaintext
Raw Normal View History

<MakerFile 5.0Y>

Aa<61>!<03>ff uvuwxxy<0E>HH $<04>@d H?^<5E>L<><00><><00><><00><>ff@<00><00><00><00><>
<EFBFBD>
<EFBFBD>
<EFBFBD><><><><01>
<EFBFBD><><><><>d<0F> <09>Footnote
TableFootnote*<2A><>*<2A><>.\t.\t/ - <20> <20>:;,.<2E>!?!
`& 
aHACA   EquationVariables <0C><05>PN <09><05> ,<04> '<04> (<04> )<04> -<04> .<04> 5<04> 6<04> 7<04><02><><EFBFBD> <<04><02> T <09> <05>r<><72> <09>!<05>0<><30> <09>"<05><04>$<24> <09>#<05>mR<6D> =$<04>z}<7D> <09>%<05><04><><EFBFBD> >&<04><02><><EFBFBD> ?'<04><02><>0 B(<04><02><>E C)<04>o<><6F> D*<04><02><><EFBFBD> E+<04><02><><EFBFBD> N,<04><0F>+ P-<04> Q.<04><02>] R/<04><02><>" U0<04><02><><EFBFBD>d1Z}<7D>X V2<04> Y3<04>
 Z4<04><02> [5<04> \6<04>  ]7<04>xx `8<04> a9<04>H:Y<04> b;<04> c<<04> d=<04> e><04> f?<04>^<5E> g@<04><00><> hA<04>ff iB<04> lC<04> mD<04> pE<04> qF<04> rG<04><02> sH<04><02> tI<04>
wJ<04><02> zK<04> {L<04> |M<04> N<04> <0C>O<04>tno <0C>Q<04>Foo <0C>R<04><02><> <0C>S<04> <0C>T<04>\t <0C>U<04> - <0C>V<04>.<2E>! <0C>W<04>
<0C>X<04> <0C>Y<04>
a <0C>Z<04> <0C>[<04> <0C>\<04> <0C>]<04> <0C>^<04> <0C>_<04> <0C>`<04> <0C>a<04> <0C>b<04> <0C>c<04><04>a<04>F<04>
lines:logicalaon<04>eparser<04>token<04><02>lexical analysis<04>
NEWLINE token(<04><04>)lines:physical<04><02>line structure 6<04>comment<6E><04><02>hash character;#<04><02>line:joining;line:continuation}<7D><04>$<02>backslash character'<04>&B logical line<04>'Dend-of-line characterN<04><04>(Pline:physical:split across<00>"<04>)<02>line joining:implicit<69><04>*<02> curly brace<63><04>+<02>square bracket ]<04>,x indentation<04>-
NEWLINE tokenb<04><04>.cstring:triple-quoted<04>/line:blank;blank line<6E> h<04>0f Indentation<04>2INDENT token;DEDENT tokenq<04><04>3rleading whitespace t<04>4
whitespace z<04>5statement grouping<04>6<02>space<63><04><04>7<02>tabF<04>8<02>UNIX<04>9formfeed character- <04>;<02> space count
<04><<02>stack<63><04><04>=<02>lexical analyzer<04>><02>parser<04><04>?<02>indentation errors <0C><04>@Ktoken:identifier;token:keyword;token:literal;token:operator;token:delimiter<04>Arname<04>Bo
Identifier<02><04>Cakeywords<04>D
reserved word(<04><04>E)identifier:special meaningli<04>Fcimport<04>Go
name:mangling<6E>ha<04>HaLiteral<61><04>Iiconstant<04>Jtstring literal<02><04>Kl backslashe<04>LBtriple-quoted stringsDen<04>Mnquotes:single;quotes:doublee<04>N:ASCIIcss<04>O)escape sequenceg<04>Q<02>C*<04>RuASCIIc<04>S<02>unrecognized escape sequencesnnt<04>Tstring literal:concatenation<04>Utnumeric literald<04>Vnumbernk<04>Wlinteger<65><04>Xn integer:long<04>YNlinteger literal;plain integer literal;long integer literal;hexadecimal literal;octal literal;decimal literal<04>Z6floating point literalta<04>[8!imaginary literal;complex literalaer<04>\;complex number<04>]<02>sign<04>^=operator<04>_zcomparison operator<04>`<02> delimiteroer<04>a<02>ASCIIto<04>b n40553: 1Heading: 2.4 Literalsr;t<04>cefromy<05>zy<05><00><01>Ar|<05><00><01>Bo}<05><00>ier<00><00><00>or<00><$lastpagenum><00><$monthname> <$daynum>, <$year>ang<00>"<$monthnum>/<$daynum>/<$shortyear><00>;<$monthname> <$daynum>, <$year> <$hour>:<$minute00> <$ampm>tal<00>"<$monthnum>/<$daynum>/<$shortyear><00><$monthname> <$daynum>, <$year>ne;<00>"<$monthnum>/<$daynum>/<$shortyear><00> <$fullfilename>Q<02><00>
<$filename>SIc<00> <$paratext[Title]><00> <$paratext[Chapter]>st<00>
<$curpagenum>a<00>
<$paratext[2Heading]>d<00>
<$marker2><00> (Continued)X<00>+ (Sheet <$tblsheetnum> of <$tblsheetcount>) te<00>Heading & Page <20><$paratext><3E> on page<$pagenum><00>Pagepage<$pagenum>Z<00>See Heading & Page%See <20><$paratext><3E> on page<$pagenum>.px <00> Table All\7Table<$paranumonly>, <20><$paratext>,<2C> on page<$pagenum>r<00>Table Number & Pagea'Table<$paranumonly> on page<$pagenum>S<03><03><03> 40<03><0E><0E><03><03>Aer<03>Aapa<03>4Adnu<03>==<03>??<03>AAAe> <03>CC<03>u<03><00> <03>/um
<03>a<03>n$d<03>ee; <03>o>/<03>$ea<03>7fi<03><04> <03>7S <03>ele<03>7te!<03>><03>7g%<03>a[2<03>7
)<03> #<03>7)-<03> he'<03>7$et1<03>eHe+<03>7ear5<03>ppa/<03>79<03>nZ3<03>7e& =<03><ex7<03>nuh<03>e ;<03>nuz<03>pt>f<03><ump<03>ambj<03>E'<$t<03>>gen<03>7S <09><03>?0r<03>7<04> O<03>9 <09><03>9 <0C><03> <09><03>@r <0C><03> <09><03> Table 2:  <0C><03>u <09><03>9=<03>D Chapter 2: <09><03>D<03><03>9> <03><03>9C <0C><03>99<00><03><03>B/2.1<02><03>F<02><03>Cd2.1.1e;/<03>Fo>/~<03>C$2.1.2|<03>F<04>1<03>C2.1.3;<03>F=<03>C2.1.4G<03>F7I<03>EK<03>E7M<03>EO<03>E7Q<03>9S<03>C72.1.5U<03>Fe7W<03>ErY<03>Ea7[<03>E]<03>EZ7 <0C><03> a<03>Cx2.1.6nue<03>Fe g<03>C2.1.7p{<03>Ff<<01><03>9pa<02><03>9j'<01><03>9t><01><03>9nS<01><03>F<04>0}<03>r<04><03>O<00><03><04><00><03><04><00><03><04>r<00><03><04><00><03><04><00><03> <00><03>u<00><03>=<00><03>Ch<00><03>9<00><03>E9<00><03>E 9<00><03>EC9<00><03>E<04>B<00><03>E<00><03>E<00><03>Ed<00><03>9;Fg<03>C/2.1.8e<03>9F<00><03>B<04>2.2<00><03>F;<00><03>B2.3<00><03>F.<00><03>E7<00><03>E<00><03>E7<00><03>E<00><03>E7<00><03>9U<03>C72.3.1<00><03>Fe7<00><03>r <0C><03>99a7 <0C><03>99 <0C><03>EEZ7 <0C><03>99 v<03>Cx2.3.2nuu<03>9e ]9<00>Bp2.4<00>F9<00>C92.4.19<00>F>9<03>ESF<00>E0<00>E<04><00>E<00> E<00>
E<00> Er<00> E<03>
9<00>9<03>99>9h9<03>>2.4.1.1<00><03>9<00><03>E<00><03>E<00><03>E<00>+9<00>C2.4.2/FC,>2.4.2.1F<03>9<04>1E<04>3E<04>5E<00>7E<00>9 E<00>;!E<00>="E<00>?#E<00>A$9<00>C%9UD&92.C'E<04>eE(E<04>r.)><04>2.4.2.29G*9EI+E79K,ECM-E2O.E9Q/E9S0EBU19FW2EC23>2.4.2.3>Y49<04>S<03>5E<04>069<04><04>7E<04>89<04><03>9B<04>2.5_:Fra;Ec<Ee=Eg>9i?B2.69m@F9>oAE4.qBE<04>wC9<04><03>D9<04><03>EE<04><03>F9+JGE <09>H. Table 1: FC <09>ID, <0C>J1 <09>K?9 <09>L@E <09>M9E <09>NAE<02><0E>I`d <09><0E>=E<0E>Cv<00>?d <09><0E>=9w2.Cc<00><><EFBFBD>g<><0E>>5<0E>)<00>><04>c<00><><EFBFBD>g<>9*:<02>`<03>hEscape Sequence ʀ<00><><EFBFBD>Ӏ!<0E>><0E><0E>)<00>Qʀ<00><><EFBFBD>ӀE*:<02>U`<03>hWMeaning c<00><><EFBFBD>g<>%<0E>><0E><0E>)<00>Y9c<00><><EFBFBD>g<><04>*:<02>9`<03>zE
\{newline ʀ<00><><EFBFBD>Ӏ'<0E>><0E><0E>)<00>_ʀ<00><><EFBFBD>ӀE*:<02>c`<03>he Ignored c<00><><EFBFBD>g<>+<0E>><0E><0E>)<00>6c<00><><EFBFBD>g<>>*:<02>`<03>z\\ wʀ<00><><EFBFBD>Ӏ-<0E>><0E><0E>)<00>E<04>ʀ<00><><EFBFBD>Ӏ*:<02>GE`<03>h. Backslash (z\h) Ic<00><><EFBFBD>g<>1<0E>><0E><0E>)<00>9c<00><><EFBFBD>g<>*:<02>E`<03>z\<5C> <0B>Iʀ<00><><EFBFBD>Ӏ3<0E>><0E><0E>)<00>Eʀ<00><><EFBFBD>Ӏ*:<02>?`<03>h <09> Single quote (z<1B>h) c <0C><>g<>7<0E>><0E><0E>)<00>c <0C><>g<><10>>*:<02><00><><EFBFBD><01>`<03>z<02>\" ʀ <0C><>Ӏ9<0E>><0E><0E>)<00><00><>ʀ <0C><>Ӏ<0E>*:<02><00>Q`<03>h Double quote (z"h) c"<22><>g<>=<0E>><0E><0E>)<00>%c"<22><>g<>9*:<02>g<>`<03>z\a ʀ"<22><>Ӏ?<0E>><0E><0E>)<00>ʀ"<22><>Ӏ*:<02>ʀ<01><>h<03>h: hRASCII Bell (BEL) c8<><38>g<>C<0E>><0E><0E>)<00>><0E>c8<><38>g<><10><>*:<02>>`<03>z\b ʀ8<><38>ӀE<0E>><0E><0E>)<00>><0E>ʀ8<><38>Ӏ<10><>*:<02>`<03>h ASCII Backspace (BS) cN<><4E>g<>I<0E>><0E><0E>)<00>1>cN<><4E>g<>*:<02>`<03>z\f ʀN<><4E>ӀK<0E>><0E><0E>)<00>3>ʀN<><4E>Ӏ<10>*:<02>`<03>h ASCII Formfeed (FF) Scd<><64>g<>O<0E>><0E><0E>)<00>7cd<><64>g<>*:<02>g<>`<03>z<><7A>\n ʀd<><64>ӀQ<0E>><0E><0E>)<00>9ʀd<><64>Ӏ<10><>*:<02>Ӏ`<03>h<> ASCII Linefeed (LF) cz<><7A>g<>U<0E>><0E><0E>)<00>cz<><7A>g<><10>*:<02>"<22><><01>`<03>z<02>\r ʀz<><7A>ӀW<0E>><0E><0E>)<00>ʀz<><7A>Ӏ<10>*:<02>"<22><><01>`<03>h<02> ASCII Carriage Return (CR) c<01><><EFBFBD>g<>[<0E>><0E><0E>)<00>Cc<01><><EFBFBD>g<><0E>*:<02>g<>`<03>z\t ʀ<01><><EFBFBD>Ӏ]<0E>><0E><0E>)<00>Eʀ<01><><EFBFBD>Ӏ<0E>*:<02>Ӏ`<03>h ASCII Horizontal Tab (TAB) IIc<01><><EFBFBD>g<>a<0E>><0E><0E>)<00>><0E>c<01><><EFBFBD>g<><10><>*:<02>`<03>z\v ʀ<01><><EFBFBD>Ӏc<0E>><0E><0E>)<00>><0E>ʀ<01><><EFBFBD>Ӏ<10><>*:<02><01>`<03>h ASCII Vertical Tab (VT) rc<01><><EFBFBD>g<>g<0E>><0E><0E>)<00><>c<01><><EFBFBD>g<><10>*:<02>:`<03>z \{ooo <0B>ʀ<01><><EFBFBD>Ӏi<0E>><0E><0E>)<00>ʀ<01><><EFBFBD>Ӏ*:<02>*:<02>`<03>h* ASCII character with octal value {ooo c<01><><EFBFBD>g<>m<0E>><0E><0E>)<00><><00>c<01><><EFBFBD>g<><10><>*:<02>`<03>z<>z\x{xx... Wʀ<01><><EFBFBD>Ӏo<0E>><0E>)<00><00>ʀ<01><><EFBFBD>Ӏ*:<02>h<02> A`<03>hrn* ASCII character with hex value {xx... H,<2C><>Hs<0E>>7<0E>&<00><><00>H,<2C><>H'1<02>ʀ<01><>`<03>h>Form <00>,<2C><><00>u<0E>><0E><0E>&<00><><00><00>,<2C><><00>'1<02>Horon`<03>hMeaning HF<><46>Hy<0E>><0E><0E>&<00>HF<><46>H<13><>'1<02><03> <0C><><06><>UU`<03>s<><73> _* <00>F<><46><00>{<0E>><0E><0E>&<00><00>F<><46><00><10>'1<02><03>h<03>hcaENot hFimported by |cfrom} module |importh |* H\<5C><>H<0E>><0E><0E>&<00><>H\<5C><>H<10>'1<02>i>`<03>z __*__ <0B><00>\<5C><><00><00><0E>><0E><0E>&<00><><00>\<5C><><00>h '1<02>ue {`<03>hSystem-defined name Hr<><72>H<00><0E>><0E><0E>&<00>Hr<><72>H'1<02>x..W`<03>z
<EFBFBD><EFBFBD> name UTUT<03><>e<03>k<> cH<01><02> <09>@<0E>cH<01><02>l <0E><><03><00>cH<01><02> <09>><0E> IcH<01><02>
<EFBFBD><EFBFBD>s-gling sUTUT<03><>e<03>k d <09>=<00><>HxH<17>m3R<33> <19> <09>@  H<17>m3R<33> <19>H RH RlFootnoteHr<19>@ <19> <09> @
 <0B>Hr<19>@ <19>Hz<><7A>Hz<><7A>l Single Line<6E>H'<00><0E><> <09>
>    Footnote 
<00> <09> A
 
<00> mul 
<00>
H<00><19>D<> <19> <09> B

 H<00><19>D<> <19>H<00><><EFBFBD>H<00><><EFBFBD>l Double LineHH<00><><EFBFBD><01>  <09>
> E Double Line<6E><01> <09>C
<01> <01><01> <09>C
<01><01>d=y <09>>cH<01><02><00>> -cH<01><02><02><><EFBFBD>in%%UT%
<EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>UUh<03>r <09>Lexical analysis
<EFBFBD>/USUT<03><>(<03>k<00>A Python program is read by a parserk. Input to the parser is a stream of tokensk, generated by the lex<UQUT<03><>@<03> <0B>^ical analyzerk. This chapter describes how the lexical analyzer breaks a file into tokens.
UUOUT<03><> <03>k hPython uses the 7-bit ASCII character set for program text and string literals. 8-bit characters may be
bUMUT<03><><03>k<>gused in string literals and comments but their interpretation is platform dependent; the proper way to oUKUT<03><>@<03>k^insert 8-bit characters in string literals is by using octal or hexadecimal escape sequences.
<00>UIUT<03><> <03>keThe run-time character set depends on the I/O devices connected to the program but is generally a su<00>UGUT<03><>@<03>kperset of ASCII.
<00>UEUT<03><> <03>ehFuture compatibility note: kIt may be tempting to assume that the character set for 8-bit characters <00>UCUT<03><><03>kcis ISO Latin-1 (an ASCII superset that covers most western languages that use the Latin alphabet), n p<00>UAUT<03><><03>ka gbut it is possible that in the future Unicode text editors will become common. These generally use the UT<00>U?UT<03><><03>k aeUTF-8 encoding, which is also an ASCII superset, but with very different use for the characters with <20><00>U=UT<03><><03>kthgordinals 128-255. While there is no consensus on this subject yet, it is unwise to assume either Latin-<03><00>U;UT<03><><03>kngf1 or UTF-8, even though the current implementation appears to favor Latin-1. This applies both to the <00>U9UT<03><>@<03>k-b5source character set and the run-time character set.
eU7 UT<04><>`<03>ieqLine structure
<03><>0U5UT<03><>h<03>ktiRA Python program is divided in a number of logical linesk.k
I<><49>`<03>l<><6C>Logical lines
]U3UT<03><>(<03>kUTjThe end of each logical line is represented by the token kNEWLINE. Statements cannot cross logical jU1UT<03><><03>kUT^line boundaries except where NEWLINE is allowed by the syntax (e.g. between statements in comwU/UT<03><><03>k pupound statements). A logical line is constructed from one or more physical linesk by following the exe<01>U-UT<03><>
@<03>k<><6B>3plicit or implicit line joiningk rules.
rse<01><><EFBFBD>
`<03>lifPhysical lines
e c<01>U+UT<03><>
<03>kU=fA physical line ends in whatever the current platform<72>s convention is for terminating lines. On UNIX, <01>U)UT<03><><03>k<03>bthis is the ASCII LF (linefeed) character. On DOS/Windows, it is the ASCII sequence CR LF (return <01>U'UT<03><>@<03>ko Lfollowed by linefeed). On Macintosh, it is the ASCII CR (return) character.
e<01><><EFBFBD>
h<03>leq
Comments
e<01>U%UT<03><>
(<03>k<03>xA comment starts with a khash character (<00>#k) that is not part of a string literal, and ends at the end of s
U#UT<03><>
<03>kUTjthe physical line. A comment signifies the end of the logical line unless the implicit line joining rules U!UT<03><>
@<03>kUTHare invoked. Comments are ignored by the syntax<61><78>; they are not tokens.
ee+<2B><>
h<03>lmExplicit lline joining
?UUT<03><>
(<03>k lxTwo or more physical lines may be joined into logical lines using k$backslash characters (<00>\k), as follows: plLUUT<03><><03>kinlwhen a physical line ends in a backslash that is not part of a string literal or comment, it is joined with evYUUT<03><><03>ktfwthe following forming a single k&logical line, deleting the backslash and the followingk' end-of-line charOS/fUUT<03><>@<03>k Aacter. For example:
etx<>m<06><>UU`<03>s<03>.if 1900 < year < 2100 and 1 <= month <= 12 \
<02><>l<06><>UU`<03>sur, and 1 <= day <= 31 and 0 <= hour < 24 \
encH<01><02>@wh cH<01><02>l <0E><>"<03>rind<01> =T<00><>""ze. cHH<01><02><00>!> enlHH<01><02>x<><78>jo&&
@<03>kUT" C&<06><><06><>UU`<03>s sK and 0 <= minute < 60 and 0 <= second < 60: # Looks like a valid date
oin<12><><06><>UU`<03>s<03> return 1
+URUT<03><> <03>ke eA line ending in a backslash cannot carry a comment. A backslash does not continue a comment. A back<06>8UPUT<03><><03>kcatslash does not continue a token except for string literals (i.e., tokens other than string literals cannot be split thEUNUT<03><>H<03>kg wacross physical k(lines using a backslash). A backslash is illegal elsewhere on a line outside a string literal.
ac^<5E><>h<03>letImplicit l)line joining
rULUT<03><>(<03>k<=zExpressions in parentheses, k+square brackets or k*curly braces can be split over more than one physical line UJUT<03><>@<03>k(without using backslashes. For example:
<00><><EFBFBD><06><>UU`<03>sEmonth_names = [<5B>Januari<72>, <20>Februari<72>, <20>Maart<72>, # These are the
<00><><EFBFBD><06><>UU`<03>s<00>C <20>April<69>, <20>Mei<65>, <20>Juni<6E>, # Dutch names
&<00><><EFBFBD><06><>UU`<03>sE <20>Juli<6C>, <20>Augustus<75>, <20>September<65>, # for the months
n<00><><EFBFBD><06><>UU`<03>sliC <20>Oktober<65>, <20>November<65>, <20>December<65>] # of the year
<03><><00>UDUT<03><>(<03>kndsImplicitly continued lines can carry comments. The k,indentation of the continuation lines is not important. sh <00>UBUT<03><><03>ka pBlank continuation lines are allowed. There is no k-NEWLINE token between implicit continuation lines. Imac<00>U@UT<03><><03>kwplicit continued lines can also occur within k.triple-quoted strings (see below); in that case they cannot carry Im<00>U>UT<03><>@<03>ke
comments.
<0E><>h<03>lEx/Blank lines
th"U<UT<03><> <03>krelA logical line that contains only spaces, tabs, formfeeds, and possibly a comment, is ignored (i.e., no NEWus/U:UT<03><><03>kormLINE token is generated), except that during interactive input of statements, an entirely blank logical line <20><U8UT<03><>@<03>k Z(i.e. one containing not even whitespace or a comment) terminates a multi-line statement.
U<><55>h<03>l 0Indentation
mbiU6UT<03><>(<03>knt<00>3Leading k4whitespace (k6spaces and k7tabs) at the beginning of a logical line is used to compute the indentation d lvU4UT<03><>H<03>kmeVlevel of the line, which in turn is used to determine the grouping of 5statements.
<01>U2UT<03><> <03>kntqFirst, tabs are replaced (from left to right) by one to eight spaces such that the total number of characters up <20><01>U0UT<03><><03>konpto there is a multiple of eight (this is intended to be the same rule as used by 8UNIX). The total number of U><01>U.UT<03><><03>kcomspaces preceding the first non-blank character then determines the line<6E>s indentation. Indentation cannot be <01>U,UT<03><><03>kndnsplit over multiple physical lines using backslashes; the whitespace up to the first backslash determines the <01>U*UT<03><>@<03>kut
indentation.
<01>U(UT<03><> <03>elomCross-platform compatibility note:k because of the nature of text editors on non-UNIX platforms, it is une<01>U&UT<03><>@<03>kVwise to use a mixture of spaces and tabs for the indentation in a single source file.
U$UT<03><>(<03>kkuA k9formfeed character may be present at the start of the line; formfeed characters occurring elsewhere in the lU"UT<03><>H<03>k<19>lleading whitespace have an undefined effect (for instance, they may reset the k;space count to zero).
to(U UT<03><>(<03>keikThe indentation levels of consecutive lines are used to generate k2INDENT and DEDENT tokens, using a (t5UUT<03><>@<03>k bstack, as follows.
d NUUT<03><>(<03>ktowBefore the first line of the file is read, a single zero is pushed on the k<stack; this will never be popped off on.[UUT<03><><03>kt kagain. The numbers pushed on the stack will always be strictly increasing from bottom to top. At the begint bhUUT<03><><03>ks rning of each logical line, the line<6E>s indentation level is compared to the top of the stack. If it is equal, nothuUUT<03><><03>ktoqing happens. If it is larger, it is pushed on the stack, and one INDENT token is generated. If it is smaller, it iHH<01><02><01>"> <13>kHH<01><02>l<0E><>%!!<03> thd<01>#=he %%{<19>lecH<01><02><00>$># f icH<01><02><02><><EFBFBD>t **to zero)%<00><>*UTUT<03><><03>lekmustk be one of the numbers occurring on the stack; all numbers on the stack that are larger are popped k bURUT<03><><03>ks.boff, and for each number popped off a DEDENT token is generated. At the end of the file, a DEDENT !UPUT<03><>@<03>ks Utoken is generated for each number remaining on the stack that is larger than zero.
k4UNUT<03><>`<03>kriVHere is an example of a correctly (though confusingly) indented piece of Python code:
F<><46><06><>UU`<03>sindef perm(l):
R<><52><06><>UU`<03>sto5 # Compute the list of all permutations of l
<EFBFBD>^<5E><><06><>UU`<03>sen if len(l) <= 1:
ij<><6A><06><>UU`<03>sac return [l]
v<><76><06><>UU`<03>sll r = []
<00><><EFBFBD><06><>UU`<03>s> for i in range(len(l)):
<00><><EFBFBD><06><>UU`<03>s" s = l[:i] + l[i+1:]
<00><><EFBFBD><06><>UU`<03>s<01> p = perm(s)
<00><><EFBFBD><06><>UU`<03>s for x in p:
<00><><EFBFBD><06><>UU`<03>s& r.append(l[i:i+1] + x)
<00><><EFBFBD><06><>UU`<03>s z return r
<00>UAUT<03><>h<03>kUT@The following example shows various k?indentation errors:
k;<06><>UU`<03>se F def perm(l): # error: first line indented
<00><><EFBFBD><06><>UU`<03>sof? for i in range(len(l)): # error: not indented
!UP<01><><06><>UU`<03>sto s = l[:i] + l[i+1:]
r
<EFBFBD><EFBFBD><06><>UU`<03>sstD p = perm(l[:i] + l[i+1:]) # error: unexpected indent
le<19><><06><>UU`<03>sho for x in p:
i%<25><><06><>UU`<03>s:
, r.append(l[i:i+1] + x)
UU1<><31><06><>UU`<03>s# F return r # error: inconsistent dedent
JU8UT<03><>(<03>k<><6B>}(Actually, the first three errors are detected by the k>parser; only the last error is found by the k=lexical annWU6UT<03><>@<03>kUU[alyzer <20> the indentation of <00>return rk does not match a level popped off the stack.)
<EFBFBD><EFBFBD><EFBFBD>p<><70>`<03>l<19>Whitespace between tokens
<01>U4UT<03><> <03>k jExcept at the beginning of a logical line or in string literals, the whitespace characters space, tab and <01>U2UT<03><><03>kouaformfeed can be used interchangeably to separate tokens. Whitespace is needed between two tokens o<01>U0UT<03><><03>kntponly if their concatenation could otherwise be interpreted as a different token (e.g., <00>abk is one token, <01>U.UT<03><>@<03>kl[(but <00>ak <00>bk is two tokens).
p <01>U, UT<04><>`<03>i+1
Other tokens
u<01>U*UT<03><>(<03>klekBesides NEWLINE, INDENT and DEDENT, the following categories of tokens exist: k@identifiersk, x)<01>U(UT<03><><03><03><00>keywordsk, literalsk, operatorsk, and delimitersk. Whitespace characters (other than line terminators, disre <01>U&UT<03><><03>kkgcussed earlier) are not tokens, but serve to delimit tokens. Where ambiguity exists, a token comprises den U$UT<03><>@<03>krnSthe longest possible string that forms a legal token when read from left to right.
ace'U" UT<04><>h<03>iU4BIdentifiers and keywords
@U UT<03><>h<03>kichIdentifiers (also referred to as Anamesk) are described by the following lexical definitions:
bR<>t<06><>UU`<03>sab2identifier: (letter|"_") (letter|digit|"_")*
^<5E>s<06><>UU`<03>sUT'letter: lowercase | uppercase
coj<>r<06><>UU`<03>sntlowercase: "a"..."z"
(ev<>q<06><>UU`<03>s ouppercase: "A"..."Z"
kl[<02><>p<06><>UU`<03>s<>digit: "0"..."9"
UTcH<01><02><01>%@#<13>lecH<01><02>l <0E><>"($$<03>s od<01>&=,x)((|orHH<01><02><00>'>& dHH<01><02>y<><79>span line 7<0E>(isUTUT<03><>`<03>kcu:Identifiers are unlimited in length. Case is significant.
<20><>`<03>lst Keywords
c4URUT<03><>(<03>kUT}The following identifiers are used as kDreserved words, or Ckeywordsk of the language, and cannot be used as dAUPUT<03><>@<03>korDordinary identifiers. They must be spelled exactly as written here:
esS<><53><06><>UU`<03>sd 2and del for is raise
_<><5F><06><>UU`<03>ser2assert elif from lambda return
k<><6B><06><>UU`<03>s 2break else global not try
w<><77><06><>UU`<03>s"a2class except if or while
<00><><EFBFBD><06><>UU`<03>s<><73>2continue exec import pass
<00><><EFBFBD><06><>UU`Js@2def finally in print
<00><><EFBFBD>`<03>l( Reserved classes of identifiers
<01><00><><EFBFBD>@h<03>k,dCertain classes of kEidentifiers (besides keywords) have special meanings. These are:p1
<EFBFBD><EFBFBD>VUHUT<03><>`k$(XXX need section references here.)
qUF UT<04><>hicuHibLiterals
i<01>UDUT<03><>hke FLiterals are notations for Iconstant values of some built-in types
<01><><EFBFBD>hlfiJString literals
D<01>UBUT<03><>`k DString literals are described by the following lexical definitions:
<EFBFBD><EFBFBD>ɪ<><06><>UU`s i8stringliteral: [rawprefix] (shortstring | longstring)
esժ<><06><>UU`<03>sd rawprefix: "r" | "R"
<06><>UU`s
Fshortstring: "<22>" shortstringitem* "<22>" | <20>"<22> shortstringitem* <20>"<22>
<01><><EFBFBD><06><>UU`s Klongstring: "<22><><EFBFBD>" longstringitem* "<22><><EFBFBD>" | <20>"""<22> longstringitem* <20>"""<22>
ss <01><><EFBFBD><06><>UU`s .shortstringitem: shortstringchar | escapeseq
<05><><06><>UU` sim-longstringitem: longstringchar | escapeseq
@<11><><06><>UU`
sy Kshortstringchar: <any ASCII character except "\" or newline or the quote>
nti<1D><><06><>UU` s3longstringchar: <any ASCII character except "\">
ide)<29><><06><>UUh spe4escapeseq: "\" <any ASCII character> sN
BU7UT<03><>(
kn rIn plain English: String literals can be enclosed in single Mquotes (<28>) or double quotes ("). They can also be OU5UT<03><>
kf |enclosed in groups of three single or double quotes (these are generally referred to as Ltriple-quoted stringsk). lo\U3UT<03><>
kitpThe Kbackslash (\) character is used to escape characters that otherwise have a special meaning, such as newreiU1UT<03><>
kR"pline, backslash itself, or the quote character. String literals may optionally be prefixed with a letter <20>r<EFBFBD> or vU/UT<03><>@
k "i<>R<EFBFBD>; such strings are called raw stringsk and use different rules for backslash escape sequences.
iHH<01><02><01>(>&ostHH<01><02>l<0E><>%+''<03>Kshd<01>)=" o++}ti<00><>cH<01><02><00>*>) IchcH<01><02>F<><46>decapeseq:5<0E>+y UTUT<03><> keIn <20>long strings<67> (strings surrounded by sets of three quotes), unescaped newlines and quotes are albURUT<03><>ky glowed (and are retained), except that three unescaped quotes in a row terminate the string. (A <20>quote<74> y r!UPUT<03><>@kOis the character used to open the string, i.e. either <00><1B>k or <00>"k.)
cte:UNUT<03><>(ke kOUnless an <20>r<EFBFBD> or <20>R<EFBFBD> prefix is present, escape sequences in strings are interpreted according to rules orGULUT<03><>@HkerRsimilar to those used by Standard QC. The recognized escape sequences are::
<01>UJUT<03><> krihIn strict compatibility with Standard C, up to three octal digits are accepted, but an unlimited number <01>UHUT<03><>khof hex digits is taken to be part of the hex escape (and then the lower 8 bits of the resulting hex num<01>UFUT<03><>@k2ber are used in all current implementations...).
<01>UDUT<03><>(k InUnlike Standard C, all Sunrecognized escape sequences are left in the string unchanged, i.e., the back<01>UBUT<03><>gsmslash is left in the string.k (This behavior is useful when debugging: if an escape sequence is mistyped, eU@UT<03><>@k t;the resulting output is more easily recognized as broken.)
<EFBFBD>quU>UT<03><> <03>k<><6B>rWhen an <20>r<EFBFBD> or <20>R<EFBFBD> prefix is present, all backslashes are left in the string.k For example, the string lit)U<UT<03><><03>k <20>meral <00>r"\n"k consists of two characters: a backslash and a lowercase <20>n<EFBFBD>. String quotes can be escaped i6U:UT<03><><03>kd pwith a backslash, but the backslash remains in the string; for example, <00>r"\""k is a valid string literal ndCU8UT<03><>@<03>k o>consisting of two characters: a backslash and a double quote.
cH<01><02><01>+@) tcH<01><02>l <0E><>(.**<03> nud<01>,=lcu..~
UDL<>H<01><02><00>->, SnrL<>H<01><02><02><><EFBFBD>nc((g unchan.t(UTUT<03><>`ngsString literal concatenation
URUT<03><>(kismMultiple adjacent kTstring literals (delimited by whitespace), possibly using different quoting convene-UPUT<03><>ks ptions, are allowed, and their meaning is the same as their concatenation. Thus, <00>"hello"k <00><1B>world<6C>k .:UNUT<03><>khedis equivalent to <00>"helloworld"k. This feature can be used to reduce the number of backslashes erGULUT<03><>kuobneeded, to split long strings conveniently across long lines, or even to add comments to parts of TUJUT<03><>@kr"strings, for example:
f<><66><06><>UU`sUT7regex.compile("[A-Za-z_]" # letter or underscore
nd r<><72><06><>UU`s> "[A-Za-z0-9_]*" # letter, digit or underscore
~<7E><><06><>UU`s )
<EFBFBD><00>UEUT<03><> khNote that this feature is defined at the syntactical level, but implemented at compile time. The <20>+<2B> op S<00>UCUT<03><>kherator must be used to concatenate string expressions at run time. Also note that literal concatenation te<00>UAUT<03><>@k<><6B>5can use different quoting styles for each component.
l<00><><EFBFBD>hlceUNumeric literals
r<00>U?UT<03><> keeThere are four types of numeric literals: plain integers, long integers, floating point numbers, and <00>U=UT<03><>Hk<>wimaginary kVnumbers.
kheU;UT<03><>hn .WInteger andnX long integer literals
U9UT<03><>hk o[Integer and long integer literals are described by the following lexical definitions: Y
lin,<2C><><06><>UU`s c#longinteger: integer ("l"|"L")
kr"8<><38><06><>UU`smp:integer: decimalinteger | octinteger | hexinteger
D<><44><06><>UU`sre+decimalinteger: nonzerodigit digit* | "0"
a-zP<><50><06><>UU`s, octinteger: "0" octdigit+
`\<5C><><06><>UU` s ))hexinteger: "0" ("x"|"X") hexdigit+
ah<><68><06><>UU`!s tnonzerodigit: "1"..."9"
lemt<><74><06><>UU`"simoctdigit: "0"..."7"
<01><><EFBFBD><06><>UU`#sbe+hexdigit: digit|"a"..."f"|"A"..."F"
n t<01>U/UT<03><> $kt hAlthough both lower case <20>l<EFBFBD> and upper case <20>L<EFBFBD> are allowed as suffix for long integers, it is strongly <01>U-UT<03><>@$kNuXrecommended to always use <20>L<EFBFBD>, since the letter <20>l<EFBFBD> looks too much like the digit <20>1<EFBFBD>.
ge<01>U+UT<03><> %k<><6B>hPlain integer decimal literals must be at most 2147483647 (i.e., the largest positive integer, using 32-In<01>U)UT<03><>%klogbit arithmetic). Plain octal and hexadecimal literals may be as large as 4294967295, but values larger g l<01>U'UT<03><>%k: cthan 2147483647 are converted to a negative value by subtracting 4294967296. There is no limit for <01>U%UT<03><>@%k oJlong integer literals apart from what can be stored in available memory.
<01>U#UT<03><>`&k<><6B>2Some examples of plain and long integer literals:
<11>w<06><>UU`'s )<7 2147483647 0177 0x80000000
t<1D>v<06><>UU`(s"1>3L 79228162514264337593543950336L 0377L 0x100000000L
3UUT<03><>`)nbeFloating point literals
".LUUT<03><>h*k tPZFloating point literals are described by the following lexical definitions:
as^<5E>q<06><>UU`+snt,floatnumber: pointfloat | exponentfloat
rej<>p<06><>UU`,ss 2pointfloat: [intpart] fraction | intpart "."
v<>o<06><>UU`-sU+1exponentfloat: (intpart | pointfloat) exponent
s<02><>n<06><>UU`.s83*intpart: nonzerodigit digit* | "0"
L<>H<01><02><01>.@,c PL<>H<01><02>l<0E><>+1--<03>729d<03>/= th11d acH<01><02><00>0>/ TrecH<01><02><><7F>U%##nteger l1fr#<06><><06><>UU`/svafraction: "." digit+
&<12><><06><>UU`0ss ,exponent: ("e"|"E") ["+"|"-"] digit+
UU+URUT<03><> 1k47eNote that the integer part of a floating point number cannot look like an octal integer. The allowed 98UPUT<03><>1k0xerange of floating point literals is implementation-dependent. Some examples of floating point litertEUNUT<03><>@1kd als:
fW<><57><06><>UU`2sef*3.14 10. .001 1e100 3.14e-10
mUKUT<03><>`3n eImaginary literals
<06><><00>UIUT<03><>h4ktfK[Imaginary literals are described by the following lexical definitions:
at:<00><><EFBFBD><06><>UU`5sfl2imagnumber: (floatnumber | intpart) ("j"|"J")
<00>UFUT<03><>(6kitiAn imaginary literals yields a complex number with a real part of 0.0. k\Complex numbers are repre1<00>UDUT<03><>6kfsented as a pair of floating point numbers and have the same restrictions on their range. To create a <00>UBUT<03><>6kicomplex number with a nonzero real part, add a floating point number to it, e.g. <00>(3+4j).k Some ex <00>U@UT<03><>@6k&amples of imaginary literals:
<06><>UU`7s+"33.14j 10.j 10 j .001j 1e100j 3.14e-10j
nteU=UT<03><>(8ktivNote that numeric literals do not include a k]sign; a phrase like <00>-1k is actually an expression composed U;UT<03><>@8kep=of the unary operator <20><00>-k<1B> and the literal <00>1k.
1+U9 UT<04><>`9i<><69>
Operators
DU7UT<03><>h:k.0(The following tokens are ^operators:
eV<><56><06><>UU`;sls++ - * ** / %
alsb<><62><06><>UU`<sth+<< >> & | ^ ~
UUn<><6E><06><>UU`=ser4< > <= >= == != <>
6<01>U2UT<03><>(>k l}The k_comparison operators <00><>k and <00>!=k are alternate spellings of the same operator; != is the preferred a<01>U0UT<03><>@>kntspelling, <> is obsolescent.
<01>U. UT<04><>`?ian Delimiters
a <01>U,UT<03><>h@k=The following tokens serve as `delimiters in the grammar:
ڪ<><06><>UU`As +( ) [ ] { }
am<01><><06><>UU`Bsli+, : . <20> = ;
10<01>U(UT<03><> Ck0jfThe period can also occur in floating-point and imaginary literals. A sequence of three periods has a  U&UT<03><>@Cks 'special meaning as ellipses in slices.
<03><>%U$UT<03><> DknabThe following printing ASCII characters have special meaning as part of other tokens or are other2U"UT<03><>@Dkg *wise significant to the lexical analyzer:
D<>v<06><>UU`Es <1B> " # \
als]UUT<03><>(FkthlThe following printing kaASCII characters are not used in Python. Their occurrence outside string lit!=jUUT<03><>@FkUT.erals and comments is an unconditional error:
|<7C>q<06><>UU`Gs!=@ $ ? ellcH<01><02><03>1@/r acH<01><02>l <0E><>.400<03><04><>d<03>2=Th44<0E>s `L<>H<01><02><00>3>2 A L<>H<01><02> <01><><06><>4, L<>H<01><02><03>4@2T<00><>L<>H<01><02>l<0E><>133<03>ginc<00><><EFBFBD>; <09>5><0E>)<00>aa c<00><><EFBFBD>; sp*:<02>ninas`<03>gs.Escape Sequences Dʀ<00><><EFBFBD>; <09>6>)<00>rhaʀ<00><><EFBFBD>; pa*:<02>er kee<03>gU" TH<1A><>D <09>7><0E>&<00>aanH<1A><>D E'1<02> " `Hgls Special Meanings of Identifiers g <00><1A><>D <09>8>&<00>- i<00><1A><>D en'1<02>e sineIg<><67> Fd <09><=lrr=Au@ L<>$<01>  <09>=>?<@L<>$<01> l<0E><>>><03><0E><>L<>$<01>  <09>>>< =L<>$<01>  L<>H=<00>`Kp<> <0B>L<><02><01>  <09>?>=A<<13>L<><02><01> l<0E><>@@<03>TL<><02><01>  <09>@>< L<><02><01>  <09><><0E>)?<06><><06><>UUhLu<02>
10  L<>H<01><02> <09>A@?<L<>H<01><02>l<0E><>BB<03><02>L<>H<01><02> <09>B>< L<>H<01><02>
<EFBFBD><EFBFBD> EA" UTUT<03><>eMkia eIH
<EFBFBD><01><>Z <09>C@<0E> <09>z<01><>
<EFBFBD>l <0E><>DD<03>inIH
<EFBFBD><01><>Z <09>D><0E> <09>z<01><>
<EFBFBD> rr@ ChNq@#Lexical analysis% H<00><><EFBFBD><01>
 <09>E>
GFF Single LineL<65><01> <09>FCE<00><01><00><01>HZ<00><05><> <09>G>EH>A
TableFootnoteE<><45>Gx<47>R<><52> <19> <09>H>G E<><45>Gx<47>R<><52> <19>E<><45>PwE<><45>Pwl
TableFootnoteu<0E><0E> duv<<0E>Leftdvuw<0E>UURight
dwv<0E>FirstAdx Referencedyzdzy{ <09>d{z|#<00><>d|{}&Ed}|~)UT<00><>d~},<00> <09>d~<0E>/><00>d<0E>2<00>ED<00>@s
<0F>
$ NH eln s<00> <00> <00><00> ><00>   DF h <01>e n<01> <01> Code. <00>@s 
1997-05-08 23:39:12 +00:00
<0F>
<EFBFBD><EFBFBD>$<00> <20>H<00> >l <00> <20><00><00> <20><00>w <20><00> a n D  h <01>< <20><01>t <01> Code. gh<00>f<19>gT <0F> 
TableTitleT:Table <n+>: . <00>f<19>h <0F> CellHeading>. <00>f<19>h <0F>CellBody. <00>f<19>h <0F> CellFooting. <00>f<19>7z <0F>CellBody. <00><>&f9k  <0F>t Body. - <00>@>nC <0F> -l t3HeadingC:<n>.<n>.<n>.<+>\t. <00>@?p <0F><00> <01> Header. <00>@@u
<0F><00> <01> <20>Footer. ff<00>@Aq <0F>  Bullet2<03>\tz. $ <00>@BiC<0F> $ 1Heading C:<n>.<+>\t. - <00>@ClC <0F> n- 2HeadingC:<n>.<n>.<+>\t. c$<00>@D~C<0F> c Chapter InitialCapsC:Chapter <+>:\t. <00>@Es
<0F>
$ H l <00> <00> <00> <00><00> o  D  fh <01> <01> <01> Code. <00>@Fk <0F>$ FirstBody. $ <00>@GC<0F> $ 1Heading C:<n>.<+>\t. 
<00>@H<0F> <1C><> 1Heading*. ff<00>@IS <0F><+ff 1StepS:<1>.\t. +33<1C><><00>@JU <0F>+33 1StepLev2U:<1>.\t. H9<><39><00>@KV <0F>H 1StepLev3V:<1>.\t. 9<><39>9<><39>9<><39>
<00>@L <0F>ff Abstract. <00>f<19>M <0F> CellBodyC. - <00>@NC <0F> - 2HeadingC:<n>.<n>.<+>\t.  <00>@O<0F> @$ 2Heading*. - <00>@PC <0F> <01>- 3HeadingC:<n>.<n>.<n>.<+>\t. <00>@Q <0F> +33 3Heading*. +33 <00>@RH <0F> +33 4HeadingH:<n>.<n>.<n>.<+>\t. <00>@S <0F> 2ff 4Heading*. +33 <00>@TH <0F> 2ff 5HeadingH:<n>.<n>.<n>.<n>.<+>\t.  <00>@U <0F> H 5Heading*. $$$<00>@V <0F>ff Author. <00><>&fW  <0F> Body. ff<00>@X <0F>ff Bullet<03>\tS. ff<00>@Y <0F>  Bullet2<03>\t. +33<1C><><00>@Z <0F>+33
BulletLev2<03>\t. H9<><39><00>@[ <0F>H
BulletLev3<03>\t. $$<00>@\ <0F><00> f CBlockIndent. 66<00>@] <0F><00>
CBlockIndent2. $$<00>@^ <0F>@<00>
CBlockIndent3. ffff<00>@_ <0F>@<00> CBullet. +33+33<00>@` <0F><00> CBullet2. HH<00>@a <0F><01><00> CBullet3. <00>@b <0F><00> Center. c$<00>@cC<0F> c Chapter InitialCapsC:Chapter <+>:\t. $$$<00>@d<0F> 
$ H l <00> <00> <00> <00>   D hB e<01> <01> 3<01> Chapter*. <00>@e
<0F>
$ H l <00> <00> <00> <00>   D h <01> <01> <01>B eCode. ffff<00>@f <0F>H e<00> <00>    h <01> <01> CStep.
<00>@g <0F>H <00> <00>   h <01> <01> Equation. <00>@h <0F> eH <00> 3<00>  e h <01> <01> ETable. 9<><39>9<><39>9<><39><00>@i <0F>$ Extract. <00>@jF <0F> $ FigureF:Figure <+> . <00>@k <0F>$ FirstBody. <00>@l <0F>$ FlushL. $<00>@m <0F>$ FlushR. v<> <00>@n
<0F><16> Footnote. $<00>@o <0F>$
HangIndent. 6$<00>@p <0F>6 HangIndentLev2. Z6<00>@q  <0F>Z HangIndentLev3. H<00>@rP<0F> H Part P:PART <+>\t. <00>@s<0F> ff Part*. ff<00>@tS <0F><01>ff StepS:<+>.\t. +33<1C><><00>@uU <0F>+33 StepLev2U:<+>.\t. H9<><39><00>@vV <0F>@H StepLev3V:<+>.\t. - <00>@w <0F> -
SubHeading. <00>@xT <0F> Table
T:Table <+> . HHH<00>@y<0F> Title. $<00>@z <0F>$ HangIndentCont. e<00>f )<1A><>e<0F> Strong )<1A><>g<0F>  <00>ڝ<EFBFBD>h<0F><13>[i<0F> 
<00>3<EFBFBD><00>`fj<0F>  CodeInput <00>ڝ<EFBFBD>k<0F> <13>[l<0F> <00><00>mCode <13>[n<0F> <00>o Emphasis <00>ڝ<EFBFBD>p<0F> yc<79>>q<0F><13>[r<0F> 
i_mFs<0F><00>t EquationVariables
<00>ڝ<EFBFBD>u<0F>#<23>v<0F>  InitialCaps i_mFz<0F> tu <0C>{<0F> i_mF|<0F>Code tu <0C>}<0F>Emphasis<13>[~<0F>  InitialCaps tu <0C><0F>Emphasis i_mF<00><0F> i_mF<00><0F>Code <00>3<EFBFBD>)<1A><><00><0F> Strong=m?=><00>@<0F><00>A<0F><00>B<0F>C<0F>-=2<00>-<0F>Thin.<0F>qMedium<00>/<0F>Double[0<0F>Thick@1<0F>s Very Thin!1#!"<01><01><01>ri <01>---------/<0F><0F><0F>HCHHHHFormat A <01>---------/<0F><0F><0F>HHhHHHFormat A <01>-.-----.<0F><0F><0F>HHHHeHFormat BYi[;,Y<01>:<02><02>g<>ӀD,BZ<01>1<02><02>H<00><02><02><02>c<00><><EFBFBD>;<03><02>Y<02><02>*!<0E><02>!<0E><02>c<00><><EFBFBD>;<03><02>Y<02><02>*m!<0E><02><0F>!<0E><02>[c<00><><EFBFBD>;<03><02>Y<02><02>*<02>!<0E><02>!!<0E><02>c<00><><EFBFBD>;<03><02>Y<02><02>*!<0E><02>!<0E><02>c <0C><>;<03><02>Y<02><02>*!<0E><02>H!<0E><02>Hc"<22><>;<03><02>Y<02><02>*!<0E><02>A!<0E><02>c8<><38>;<03><02>Y<02><02>*--!<0E><02>!<0E><02>cN<><4E>;<03><02>Y<02><02>*!<0E><02>H!<0E><02>matcd<><64>;<03><02>Y<02><02>*!<0E><02>--!<0E><02><01>cz<><7A>;<03><02>Y<02><02>*!<0E><02>!<0E><02>c<01><><EFBFBD>;<03><02>Y<02><02>*!<0E><02>!<0E><02>g<>c<01><><EFBFBD>;<03><02>Y<02><02>*1<02>!<0E><02>!<0E><02><01>c<01><><EFBFBD>;<03><02>Y<02><02>*<02>!<0E><02>!<0E><02>c<01><><EFBFBD>;<03><02>Y<02>*<02>!<0E><02>!<0E><02><0F>H,<2C><>D<03><02>Z<02><02>'<02>!<0E><02>!<0E><02>!HF<><46>D<03><02>Z<02><02>'<02>!<0E><02>!<0E><02>H\<5C><>D<03><02>Z<02><02>'<02>!<0E><02>!<0E><02>HHr<><72>D<03><02>Z<02>'<02>!<0E><02>!<0E><02>Ac<00><><EFBFBD>; <03><02>Y<04><02>*<02>"5<02>-"6<02>H<1A><>D <03><02>Z<04><02>'<02>"7<02>"8<02>H<01><01><01><0F>CommentM]M<05><05><05> <09><05>y!"<0E> <09><05>| <03><> <09><05>}#%<0F><0F><0F>d<0F>Black<63>T!<0F>WhiteddA<0F>Reddd<08><0F>Greendd <0F>Blue<02>d<0F>Cyand<0F>Magenta*d <0F>YellowCourier<65>
Times-Bold Times-Roman<61>Helvetica-Bold Helvetica Courier-Bold Times-ItalicCourierTimes<65> Helvetica
RegularRegular BoldRegular'ItalicK\<5C><03><>% <20><><EFBFBD><EFBFBD>h<EFBFBD>d5Ҽ<35><D2BC><EFBFBD> T)<29>(Ax7L<37>rr<72><72><EFBFBD>wi2z<32><7A><EFBFBD><EFBFBD>0<EFBFBD><30><EFBFBD>ܲ<>^<5E><>5W5<57><01>Ho<48><6F><EFBFBD>mR<6D>Rq<52>u<EFBFBD><1A><03>z}<7D><><EFBFBD>;<14>u[<5B><><EFBFBD><EFBFBD><EFBFBD>(Z<><5A><EFBFBD><EFBFBD>W[<5B><><EFBFBD> ^<5E>,<2C>5m:<3A><>0=0<>n<EFBFBD><6E>>k<><6B><EFBFBD><EFBFBD>"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ï#<23><><EFBFBD>@[<5B>_<EFBFBD>*<2A><>D`<60><><EFBFBD><EFBFBD>M<EFBFBD><4D><EFBFBD>R<><52><EFBFBD><EFBFBD>RR<52>|<7C>3Jg<4A><67><EFBFBD> <09>Ymj<6D>d
<EFBFBD>N<EFBFBD>I'<27>Q<EFBFBD><51><EFBFBD><13><><EFBFBD>ѩ<EFBFBD><D1A9>T<16><>o<EFBFBD>Q<17>2<><32><EFBFBD><EFBFBD><15><><EFBFBD><EFBFBD><00>:<3A>ဌz<03>[<5B><>"<22>l