cehua_ZWJ
2019-01-30 6afaa4408f4e09e3e95dbd92f0d1cd5a1fb2942b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
ŒôXc    @sddZyddlZWnek
r/eZnXdfd„ƒYZyedƒWnek
rdnXyddlZeZ[WnKek
rËZeƒZe    eƒd dko²erÈej
de ƒnnXddl Z ddl Z ddlZddlZddlZdd    lmZmZmZyeed
ƒƒZd „ZWnek
r_d „ZnXd „Zd„Zd„ZddlmZmZdZ dZ!dZ"dZ#dZ$dZ%dZ&dZ'dZ(dZ)dZ*dZ+dZ!dZ,dZ-dZ.Z/dZ0Z1dZ!dZ,dZ2dZ3dZ4dZ5dZ6dZ7dZ8dZ9gZ:iZ;iZ<iZ=iZ>i
dddffd6dddffd6dddffd6dddffd6dddffd6dddddffd6ddddddffd 6dddddd!ffd"6ddd#d$d%d&ffd'6ddd%d(d)ffd*6Z?y ej@Z@WnHeAk
r›ddlBZBeBjCd+d,ƒddkr’d-Z@nd.Z@nXe@d.kr±d/ZDnd0ZDi
d1efd6d2efd6eDd3efd6eDd4efd6d2efd6d2dfd6d2dfd 6d2dfd"6d2dfd'6d2dfd*6ZEd5„ZFe?jGƒZHeHjIƒddd d"d'd6d7d8fZJd9„ZKd:„ZLd;„ZMd<„ZNdaOd=„ZPd>„ZQfd?„ZRfd@„ZSdAfdB„ƒYZTdC„ZUdDfdE„ƒYZVdFeVfdG„ƒYZWdHfdI„ƒYZXdJfdK„ƒYZYdL„ZZddM„Z[dNdO„Z\dNdP„Z]edQ„Z^i ddfddfd2f6ddRfddfdSf6dd6fddfdTf6dd8fddfdUf6ddVfddfdWf6ddXfddfdYf6ddZfddfd[f6dd\fddfd]f6dd^fddfd_f6dd`fddfdaf6ddfdddfd2f6d"d"fdddfd2f6Z_ddfe_ddfeDd3f<ddfe_ddfeDd4f<dbdc„Z`dd„Zade„Zbdf„Zcdg„Zdedh„Zedi„Zfdj„Zgdk„Zhdl„Ziedm„ZjdS(ns1.1.7iÿÿÿÿNt_imaging_not_installedcBseZd„ZRS(cCstdƒ‚dS(Ns&The _imaging C module is not installed(t ImportError(tselftid((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyt __getattr__$s(t__name__t
__module__R(((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyR"stFixTkisModule use of pythonscThe _imaging extension was built for another version of Python; most PIL functions will be disabled(tIntTypet
StringTypet    TupleTypetcCst|tƒpt|tƒS(N(t
isinstanceR    tUnicodeStringType(tt((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyt isStringTypeSscCs t|tƒS(N(R R    (R((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyRVscCs t|tƒS(N(R R
(R((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyt isTupleType\scCs t|dƒS(Ntim(thasattr(R((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyt isImageTypebscCst|ƒotjj|ƒS(N(Rtostpathtisdir(tf((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyt isDirectoryis(t isNumberTypetisSequenceTypeiiiiitLt1tItFtRGBtPtRtGtBtXtRGBXtAtRGBAtCtMtYtKtCMYKtCbtCrtYCbCrthttbigtlittlet<t>s|b1s|u1ti4tf4cCsX|jd|jdf}t|j\}}|dkrC||fS||f|fSdS(Nii(tsizet
_MODE_CONVtmodetNone(Rtshapettyptextra((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyt_conv_type_shapeÛs
 
sI;16sI;16LsI;16BcCstj|ƒjS(N(t    ImageModetgetmodetbasemode(R:((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyt getmodebaseôscCstj|ƒjS(N(R@RAtbasetype(R:((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyt getmodetypeÿscCstj|ƒjS(N(R@RAtbands(R:((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pytgetmodebandnames scCsttj|ƒjƒS(N(tlenR@RARF(R:((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyt getmodebandsscCsÎtdkrdSyddl}Wntk
r3nXyddl}Wntk
rWnXyddl}Wntk
r{nXyddl}Wntk
rŸnXyddl}Wntk
rÃnXdadS(s"Load standard file format drivers.iNiÿÿÿÿ(t _initializedtBmpImagePluginRtGifImagePlugintJpegImagePlugintPpmImagePlugintPngImagePlugin(RKRLRMRNRO((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pytpreinit"s.      cCsmtdkrdSi}tj}y|tjjtƒg}Wntk
rOnXxtt|ƒD]ï}tjj    |ƒ}|j
|ƒrq`nxµtj |ƒD]¤}|ddkrtjj |ƒ\}}yBtjj d|ƒzt|tƒtƒgƒWdtjd=XWqAtk
r=tr>dG|GdGtjGHq>qAXqqWd||<q`Wts_tridadSdS(    sLoad all file format drivers.iiiòÿÿÿsImagePlugin.pyNsImage: failed to importt:i(RJtsysRRtdirnamet__file__t    NameErrortfilterRtabspaththas_keytlistdirtsplitexttinsertt
__import__tglobalstlocalsRtDEBUGt    exc_valueR;tOPENtSAVE(tvisitedt directoriest    directorytfullpathtfileRte((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pytinitHs8        cCs„|dkrd}nt|ƒs-|f}ny/tt|dƒ}t||f||ƒSWn!tk
rtd|ƒ‚nXdS(Nt_decodersdecoder %s not available((R;RtgetattrtcoretapplytAttributeErrortIOError(R:t decoder_nametargsR>tdecoder((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyt _getdecoderss        cCs„|dkrd}nt|ƒs-|f}ny/tt|dƒ}t||f||ƒSWn!tk
rtd|ƒ‚nXdS(Nt_encodersencoder %s not available((R;RRkRlRmRnRo(R:t encoder_nameRqR>tencoder((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyt _getencoderƒs        t_EcBs,eZd„Zd„Zd„Zd„ZRS(cCs ||_dS(N(tdata(RRy((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyt__init__˜scCs|t|ƒfS(N(Rx(Rtother((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyt
__coerce__™scCst|jd|jfƒS(Nt__add__(RxRy(RR{((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyR}šscCst|jd|jfƒS(Nt__mul__(RxRy(RR{((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyR~›s(RRRzR|R}R~(((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyRx—s            c
Cs'dg}|t|ƒƒj}yo|\}}}||kr^|dkr^t|ƒr^|dfS||krŒ|dkrŒt|ƒrŒd|fSWntk
r nXyb|\\}}}}}||kr|dkrt|ƒr|dkrt|ƒr||fSWntk
rnXtdƒ‚dS(NtstubR~gR}gð?sillegal expression(RxRyRt    TypeErrort
ValueError(texprRRytatbtctdRh((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyt_getscaleoffsets$    $
$ $ tImagecBs-eZd6Zd6Zd„Zd„ZeZd„Zd6d6d„Z    d„Z
d„Z dd„Z dd    „Z dd
„Zd „Zd „Zd6d6d6ed d„Zd ddd6d„Zd„Zd6d„Zd„Zd6d„Zd„Zd„Zd„Zd d„Zd6d„Zd„Zd„Zd„Zd„Z d„Z!d6d6d„Z"d6d „Z#d6d6d!„Z$d6d"„Z%d#„Z&d$d%d&„Z'd'd(„Z(d)„Z)e*d*„Z+e*dd+„Z,d6d,„Z-d-„Z.d6d6d.„Z/d/„Z0d0„Z1e*d1„Z2d6e*d2d3„Z3e*d2d4„Z4d5„Z5RS(7cCsCd|_d|_d|_d|_i|_t|_d|_dS(NR i(ii(    R;RR:R8tpalettetinfotNORMALtcategorytreadonly(R((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyRzÁs                        cCsµtƒ}||_|j|_|j|_|j|_|jdkrWtjƒ|_ny|jjƒ|_WnAtk
r°i|_x(|jD]\}}||j|<qWnX|S(NR (    RˆRR:R8R‰t ImagePaletteRŠtcopyRn(RRtnewtktv((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyt_newÌs                cCs)|jƒ|jjƒ|_d|_dS(Ni(tloadRRR(R((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyt_copyßs
cCssddl}|s!|jƒ}n|jƒ| s>|dkrQ|jj|ƒn|d|}|j||ƒ|S(NiÿÿÿÿtPPMt.(ttempfiletmktempR”Rtsave_ppmtsave(RRgtformatR˜((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyt_dumpäs 
cCs=d|jj|jj|j|jd|jdt|ƒfS(Ns(<%s.%s image mode=%s size=%dx%d at 0x%X>ii(t    __class__RRR:R8R(R((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyt__repr__ðscCs\|dkrLi}t|ƒ\}}||d<||d<|jƒ|d<|St|ƒ‚dS(Nt__array_interface__R<ttypestrRy(R?ttostringRn(RtnameRR<R¡((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyR÷s 
 
trawc    Gst|ƒdkr/t|dƒr/|d}n|dkrS|dkrS|j}n|jƒt|j||ƒ}|j|jƒtd|jddƒ}g}x2|j    |ƒ\}}}|j
|ƒ|r¥Pq¥q¥|dkröt d|ƒ‚nt j |dƒS(    sReturn image as a binary stringiiR¤iisencoder error %d in tostringR ((RHRR:R”RwtsetimageRtmaxR8tencodetappendt RuntimeErrortstringtjoin(    RRuRqRhtbufsizeRytltsR†((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyR¢
s""  
  timagecCs||jƒ|jdkr(tdƒ‚n|jdƒ}tjd||jdfd||jdfd||d    gd
ƒS( sReturn image as an XBM bitmapRs not a bitmaptxbms#define %s_width %d
is#define %s_height %d
isstatic char %s_bits[] = {
s};R (R”R:RR¢RªR«R8(RR£Ry((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyttobitmap/s
cGsÉt|ƒdkr/t|dƒr/|d}n|dkrS|dkrS|j}nt|j||ƒ}|j|jƒ|j|ƒ}|ddkr¦tdƒ‚n|ddkrÅtdƒ‚ndS(s%Load data to image from binary stringiiR¤snot enough image datascannot decode image dataN((RHRR:RsR¥RtdecodeR(RRyRpRqR†R®((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyt
fromstringAs"  cCs¼|jrœ|jrœ|jjrœt|jj|jjƒƒd|j_d|j_d|j_|j    j
dƒrœ|jj |j    ddƒd|j_qœn|jr¸|jj |j ƒSdS(sExplicitly load pixel data.iRt transparencyR'N(RR‰tdirtyRmt
putpalettetgetdataR:R;trawmodeRŠRXtputpalettealphat pixel_accessR(R((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyR”^s       cCsdS(sVerify file contents.N((R((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pytverifytsicCsq|sM|jdkr@|jƒ|jr7|jj}qJd}qM|jƒSn|jƒ|rš|dkrxtdƒ‚n|jj||ƒ}|j|ƒS|dkrÑ|tkrÑ|jj    |ƒ}|j|ƒS|dkræt }ny|jj ||ƒ}Wnbtk
rcy1|jj t |jƒƒ}|j ||ƒ}Wqdtk
r_tdƒ‚qdXnX|j|ƒS(sConvert to other pixel formatR RRsillegal conversion(RsRGBN(R:R”R‰RRRtconvert_matrixR“tADAPTIVEtquantizeR;tFLOYDSTEINBERGtconvertRCtKeyError(RR:RytditherR‰tcolorsR((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyRÀ˜s6
         
          icCs²|jƒ|r|jƒ|jdkr8tdƒ‚n|jdkre|jdkretdƒ‚n|jjdd|jƒ}|j|ƒS|jj|||ƒ}|j|ƒS(NR sbad mode for palette imageRRs7only RGB or L mode images can be quantized to a palettei(R”R:RRRÀt    _makeselfR¾R“(RRÃtmethodtkmeansR‰R((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyR¾Äs    
 
  cCs&|jƒ|jjƒ}|j|ƒS(sCopy raster data(R”RRR“(RR((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyRäs
cCs-|jƒ|dkr |jƒSt||ƒS(sCrop region from imageN(R”R;Rt
_ImageCrop(Rtbox((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pytcropøs
 
cCsdS(sConfigure image decoderN((RR:R8((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pytdraftscCs>|dkr|}n|jƒ|j|jj||dƒƒS(Ni(R;R”R“Rtexpand(Rtxmargintymargin((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyt_expands     
cCsÉ|jƒt|ƒr"|ƒ}nt|dƒs@tdƒ‚n|jjdkrk|j|j|jƒƒSg}xEt|jjƒD]1}|j    |j|j|jj
|ƒƒƒƒq„Wt |j |ƒS(s!Apply environment filter to imageRVs>filter argument should be ImageFilter.Filter instance or classi( R”tcallableRR€RRFR“RVtrangeR¨tgetbandtmergeR:(RRVtimsR…((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyRV"s
  /cCstj|jƒjS(sGet band names(R@RAR:RF(R((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pytgetbands:scCs|jƒ|jjƒS(s:Get bounding box of actual data (non-zero pixels) in image(R”Rtgetbbox(R((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyRÕGs
cCs“|jƒ|jdkrƒ|jjƒ}g}x8tdƒD]*}||r;|j|||fƒq;q;Wt|ƒ|krdS|S|jj|ƒS(s(Get colors from image, up to given limitRRR i(RRR N(    R”R:Rt    histogramRÐR¨RHR;t    getcolors(Rt    maxcolorsR0toutti((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyR×Us
 
cCs-|jƒ|dk    r&|jj|ƒS|jS(s"Get image data as sequence object.N(R”R;RRÑ(Rtband((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyR·ts
 cCsu|jƒ|jjdkrhg}x9t|jjƒD]%}|j|jj|ƒjƒƒq5Wt|ƒS|jjƒS(sGet min/max valuei(R”RRFRÐR¨RÑt
getextremattuple(RtextremaRÚ((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyR܄s
#
cCs|jƒ|jjS(s.Get PyCObject pointer to internal image memory(R”Rtptr(R((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pytgetim”s
cCs=|jƒytt|jjƒƒSWntk
r8dSXdS(sGet palette contents.N(R”tmaptordRt
getpaletteRR;(R((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyRã¡s
 
 cCs|jƒ|jj|ƒS(sGet pixel value(R”Rtgetpixel(Rtxy((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyRä²s
cCs;|jƒ|jjƒ\}}tt|ƒtt|ƒfS(sGet projection to x and y axes(R”Rt getprojectionRáRâ(Rtxty((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyRæ¾s
cCsw|jƒ|r0|jƒ|jjd|jƒS|jdkrj|dkrZ|jƒ}n|jj|ƒS|jjƒS(sTake histogram of imageiRR(ii(RRN(R”RRÖR:R;RÜ(RtmaskRÞ((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyRÖØs
 
 cCs>trtjdtddƒnddl}|j|||ƒS(sA(deprecated) Offset image in horizontal and/or vertical directions7'offset' is deprecated; use 'ImageChops.offset' insteadt
stackleveliiÿÿÿÿN(twarningstwarntDeprecationWarningt
ImageChopstoffset(RtxoffsettyoffsetRî((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyRïòs  cCs¹t|ƒr'|dkr'|}d}n|dkrCd
|j}nt|ƒdkr¼t|ƒrm|j}n$t|ƒr…|j}n tdƒ‚||d|d|d|df}nt|ƒrìddl}|j||jƒ}njt|ƒrV|j    ƒ|j|jkrJ|jdks2|jd krJ|j
|jƒ}qJn|j }n|j    ƒ|j rv|j ƒn|r¢|j    ƒ|j j|||j ƒn|j j||ƒdS( sPaste other image into regioniis,cannot determine region size; use 4-item boxiiÿÿÿÿNRR'tRGBa(ii(sRGBARò(RR;R8RHRRt
ImageColortgetcolorR:R”RÀRRR•tpaste(RRRÈRéR8Ró((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyRõ#s:             +   
 
     
cCsË|jƒt|tƒr&|j|ƒSt|ƒs‘|jdkrot|ƒ\}}|j|jj    ||ƒƒSt
|t dƒƒ|jj }n|jdkr¯t dƒ‚n|j|jj||ƒƒS(sMap image through lookup tableRsI;16Ris+point operation not supported for this mode(RsI;16R(R”R tImagePointHandlertpointRR:R‡R“Rtpoint_transformRáRÐRFR(RtlutR:tscaleRï((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyR÷^s
  "cCs¹|jƒ|jr |jƒn|jd
krßy‡t|jƒd}y|jj|ƒWnJttfk
r¥|jj    |ƒ}|jd kr™t‚n||_nX|jj|_Wqßt
tfk
rÛtdƒ‚qßXn|jdkr÷d}nd}t |ƒrU|jd kr'tdƒ‚n|jƒ|jdkrŸ|j    dƒ}qŸnJy|jj ||ƒWn,ttfk
ršt d|j|ƒ}nXd    S|jj|j|ƒd    S( sSet alpha layertLAR'R&sillegal image modeiiRRN(RûsRGBA(RûsRGBA(RR(R”RR•R:RCRtsetmodeRnRRÀRÁRtfillbandRR8tputband(RtalphaR:RRÛ((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pytputalpha~s>
               
gð?gcCs:|jƒ|jr |jƒn|jj|||ƒdS(s.Put data from a sequence object into an image.N(R”RR•Rtputdata(RRyRúRï((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyR¸s
     RcCs½|jdkrtdƒ‚n|jƒt|tjƒrUtj|j|jƒ}n<t|ƒst    j
t t |ƒdƒ}ntj||ƒ}d|_||_d|j_|jƒdS(sPut palette data into an image.RR sillegal image modeR RN(RR ( R:RR”R RŽR¤R¸R‰RRªR«Rátchr(RRyR¸R‰((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyR¶Ìs
          cCs3|jƒ|jr |jƒn|jj||ƒS(sSet pixel value(R”RR•Rtputpixel(RRåtvalue((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyRìs
     cCs³|ttttfkr'tdƒ‚n|jƒ|jdkrIt}n|tkr‘y|jj||ƒ}Wq¦t    k
rtdƒ‚q¦Xn|jj
||ƒ}|j |ƒS(s Resize imagesunknown resampling filterRR sunsupported resampling filter(RR ( tNEARESTtBILINEARtBICUBICt    ANTIALIASRR”R:RtstretchRntresizeR“(RR8tresampleR((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyR
s
      c Cs|r³ddl}| |jd}|j|ƒ|j|ƒd|j|ƒ |j|ƒdg}|d„}|j\}}g}    g}
xad|df||fd|ffD];\} } || | ƒ\} } |    j| ƒ|
j| ƒq­Wt|jt|    ƒƒ|j    t
|    ƒƒƒ}t|jt|
ƒƒ|j    t
|
ƒƒƒ}||d|dƒ\} } |jdd| |d<|jd    d| |d
<|j ||ft ||ƒS|t ttfkr×td ƒ‚n|jƒ|jdkrùt }n|j|jj||ƒƒS(s8Rotate image.  Angle given as degrees counter-clockwise.iÿÿÿÿNi´gc    SsB|\}}}}}}||||||||||fS(N((    RçRèt.2RƒR„R…R†RhR((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyt    transform7sig@iiisunknown resampling filterRR (ii(RR (tmathtpitcostsinR8R¨tinttceilR¦tfloortminR tAFFINERRRRR”R:R“Rtrotate( RtangleR RËRtmatrixR twR0txxtyyRçRè((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyR-s2 " 1 ..
    c    Ks”t|ƒr|}n0t|dƒr?t|jƒr?|j}nd}|jƒ||_d|_tƒtjt    j
j |ƒdƒ}|sçyt |}Wqçt k
rãtƒyt |}Wqät k
rßt |ƒ‚qäXqçXnyttj|ƒ}Wn+t k
r+tƒttj|ƒ}nXt|ƒr_ddl}|j|dƒ}d}nd}z||||ƒWd|r|jƒnXdS(    sSave image to file or streamR£R iiÿÿÿÿNtwbi((RRR£R”t encoderinfot encoderconfigRPRªtlowerRRRZt    EXTENSIONRÁRiRbtuppert __builtin__topentclose(    RtfpRœtparamstfilenametextt save_handlerR#R%((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyR›rsB      
                 cCs|dkrt‚ndS(s$Seek to given frame in sequence fileiN(tEOFError(Rtframe((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pytseek³s cCst|d|d|ƒdS(s'Display image (for debug purposes only)ttitletcommandN(t_show(RR.R/((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pytshowÈscCs}|jjdkr$|jƒg}nOg}|jƒx<t|jjƒD](}|j|j|jj|ƒƒƒqGWt|ƒS(sSplit image into bandsi(    RRFRR”RÐR¨R“RÑRÝ(RRÓRÚ((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pytsplitÖs
&cCsdS(sReturn current frame numberi((R((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyttellèscCs4|j\}}||dkrGt||d|dƒ}|d}n||dkrt||d|dƒ}|d}n||f}||jkrždS|jd|ƒ|jƒy|j||ƒ}Wn5tk
r|tkrð‚n|j|tƒ}nX|j    |_    |j
|_
||_d|_ dS(s9Create thumbnail representation (modifies image in place)iiN( R8R¦RÊR;R”R
RRRRR:R(RR8R RçRèR((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyt    thumbnails,   
        ic    Csåt|tƒr+|j||d|d|ƒSt|dƒrO|jƒ\}}n|dkrjtdƒ‚nt|j|dƒ}|t    krÁxS|D](\}}|j
||t |||ƒq’Wn |j
d||||||ƒ|S(sTransform imageR tfillR·smissing method dataiN(ii( R tImageTransformHandlerR RR·R;RRR:tMESHt_Image__transformertQUAD(    RR8RÅRyR R5RRÈtquad((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyR ?s  # c
Csš|d|d}|d|d}|tkrc|d|d|d|d|d|df}nÁ|tkrÚ|\}    }
} } t| |    ƒ|} t| |
ƒ|}t}|    | d| d|
|dd|f}nJ|tkr'|d|d|d|d|d|d|d|df}ný|tkr|dd!}|dd!}|dd!}|dd    !}|\}    }
d
|}d
|}|    |d|    ||d|    ||d|d|d|    |||
|d|
||d|
||d|d|d|
||f}n td ƒ‚|tttfkrHtd ƒ‚n|j    ƒ|j    ƒ|j
dkrtt}n|j j ||j ||||ƒdS(Niiiiiiiiigð?sunknown transformation methodsunknown resampling filterRR (RR ( RtEXTENTtfloatt PERSPECTIVER9RRRRR”R:Rt
transform2(RRÈR¯RÅRyR R5RR0tx0ty0tx1ty1txstystnwtswtsetnetAstAt((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyt __transformerSsF  +   
 
!#!, 
 
    cCs)|jƒ|jj|ƒ}|j|ƒS(s3Transpose image (flip or rotate in 90 degree steps)(R”Rt    transposeR“(RRÅR((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyRL‰s
N(6RRR;Rœtformat_descriptionRzR“RÄR•RRŸRR¢R±R³R”R»tWEBRÀR¾RRÉRÊRÎRVRÔRÕR×R·RÜRàRãRäRæRÖRïRõR÷RRR¶RRR
RR›R-R1R2R3R4R R8RL(((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyRˆ¼sd                       %          $    +                                                 1;      :       )E A             95RÇcBseZd„Zd„ZRS(cCs‘tj|ƒ|\}}}}||kr4|}n||krI|}n|j|_||||f|_||||f|_|j|_dS(N(RˆRzR:R8t_ImageCrop__cropR(RRRÈR?R@RARB((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyRz•s            cCsM|jr-|jj|jƒ|_d|_n|jrI|jj|jƒSdS(N(RORRÉR;RºR(R((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyR”¦s
         (RRRzR”(((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyRǓs    RöcBseZRS((RR(((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyRö¶sR6cBseZRS((RR(((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyR6ºscCstƒjtjdƒƒS(s+Create greyscale wedge (for debugging only)R(RˆR“Rltwedge(((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyt_wedgeÄscCst|dkr(tƒjtj||ƒƒSt|ƒrUddl}|j||ƒ}ntƒjtj|||ƒƒS(sCreate a new imageiÿÿÿÿN(    R;RˆR“RlRRRóRôR5(R:R8tcolorRó((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyRÖs    R¤cGsvt|ƒdkr/t|dƒr/|d}n|dkrP|dkrP|}nt||ƒ}|j|||ƒ|S(sLoad image from stringiiR¤((RHRRR³(R:R8RyRpRqR((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyR³ús"     c    Gsät|ƒdkr/t|dƒr/|d}n|dkrÎ|dkrxtrftjdtddƒn|ddf}n|dtkrÎt|d    ƒ}|jtj    |||d
d|ƒƒ}d|_ |Snt |||||ƒS( s Load image from string or bufferiiR¤s“the frombuffer defaults may change in a future release; for portability, change the call to read:
  frombuffer(mode, size, data, 'raw', mode, 0, 1)Rêiiÿÿÿÿ((iiN( RHRRëRìtRuntimeWarningt    _MAPMODESRR“Rlt
map_bufferR;RR³(R:R8RyRpRqR((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyt
frombuffer)s "   !    c
Cs>|j}|d}t|ƒ}y|d}Wntk
rFd}nX|dkr¢y,d|d|df}t|\}}Wq¨tk
ržtdƒ‚q¨Xn|}|dkr½d}n|d krÒd }nd}||krótdƒ‚n|d|df}    |dk    r"|jƒ}nt||    |d|ddƒS(NR<tstridesiiR¡sCannot handle this data typeRRRR RRiisToo many dimensions.iR¤(ii(RRRR R(    R RHRÁR;t_fromarray_typemapR€RR¢RV(
tobjR:tarrR<tndimRWttypekeyR¸tndmaxR8((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyt    fromarrayPs2    
 
              sI;8s|i1s<i2s>i2sI;32s<i4sI;32Bs>i4sF;32Fs<f4sF;32BFs>f4sF;64Fs<f8sF;64BFs>f8trcCsd|dkrtdƒ‚nt|ƒrNddl}|}|j|dƒ}nd}|jdƒ}tƒxltD]d}yAt|\}}| s||ƒr·|jdƒ|||ƒSWqqt    t
t fk
rÔqqXqqWt ƒrTxotD]d}yAt|\}}| s||ƒr/|jdƒ|||ƒSWqét    t
t fk
rLqéXqéWnt d    ƒ‚dS(
s3Open an image file, without loading the raster dataR_sbad modeiÿÿÿÿNtrbR iiscannot identify image file(RRR#R$treadRPtIDRaR-t SyntaxErrort
IndexErrorR€RiRo(R&R:R#R(tprefixRÚtfactorytaccept((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyR$—s6            cCs6|jƒ|jƒ|jtj|j|j|ƒƒS(sInterpolate between images.(R”R“RltblendR(tim1tim2Rÿ((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyRhÓs
 
cCs#|jƒ}|j|d|ƒ|S(sCCreate composite image by blending images using a transparency maskN(RRõR;(timage1timage2RéR¯((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyt    compositeås cGs|j|dƒS(sEvaluate image expressioni(R÷(R¯Rq((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pytevaløscCsýt|ƒt|ƒks$d|kr3tdƒ‚nx[|dD]O}|jt|ƒkrhtdƒ‚n|j|djkr>tdƒ‚q>q>Wtj||djƒ}x?tt|ƒƒD]+}||j    ƒ|j
||j |ƒq½W|dj |ƒS(s=Merge a set of single band images into a new multiband image.t*swrong number of bandsis mode mismatchis size mismatch( RIRHRR:RER8RlRRÐR”RþRR“(R:RFRRÚ((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyRÒs$cCs0tj|ƒ}tj|ƒ||ft|<dS(N(RªR"RbR¨Ra(RRfRg((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyt register_open"s cCs|ttj|ƒ<dS(N(tMIMERªR"(Rtmimetype((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyt register_mime.scCs|ttj|ƒ<dS(N(RbRªR"(Rtdriver((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyt register_save8scCs tj|ƒttj|ƒ<dS(N(RªR"R!R (Rt    extension((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pytregister_extensionBscKstt|f|ƒdS(N(Rmt_showxv(R¯toptions((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyR0IscKs)ddl}t|j||f|ƒdS(Niÿÿÿÿ(t    ImageShowRmR1(R¯R.RyRz((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyRxMs (ktVERSIONRëRR;RR\t_imagingRlR’tstrRìRSR@RŽRRªRRttypesRR    R
ttypetunicodeR RRURRRtoperatorRRR_tNONEtFLIP_LEFT_RIGHTtFLIP_TOP_BOTTOMt    ROTATE_90t
ROTATE_180t
ROTATE_270RR;R=R9R7RRtLINEARRtCUBICRtORDEREDt    RASTERIZER¿RNR½R‹tSEQUENCEt    CONTAINERRbRaRqRbR!t    _MODEINFOt    byteorderRntstructtunpackt_ENDIANR9R?tkeystMODEStsortRTRCRERGRIRJRPRiRsRwRxR‡RˆRÇRöR6RQRR³RVR^RXR$RhRmRnRÒRpRsRuRwR0Rx(((sl.\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\CaptchaImage\VerificationCodePic\PIL\Image.pyt<module>s, 
        $               
 
       
                     
              
        &    +      ÿÿÿÿÛ#
     $ / '     <