Files
intellecton/venv/lib/python3.12/site-packages/PIL/__pycache__/GifImagePlugin.cpython-312.pyc
T

281 lines
45 KiB
Plaintext
Raw Normal View History

Ë
߼j…ĄăóüddlmZddlZddlZddlZddlZddlmZddlm Z ddl
m Z m Z m
Z
ddlmZmZmZmZmZmZmZddlmZdd lmZdd
lmZdd lmZd Zerdd
l
mZm Z ddlm!Z!ddl"m#Z#Gdde«Z$e$jJZ&d/dZ'Gddej"«Z(ddddśZ)d0dZ*e+e,ze-e.zej(zZ/ d1dZ0 d2dZ1 d3dZ2Gdde «Z3 d4dZ4d5dZ5 d6 d7d „Z6d8d!„Z7 d9d"„Z8d5d#„Z9d Z:d:d$„Z;d;d%„Z<d<d&„Z=d=d'„Z> d>d(„Z?d?d)„Z@ d@d*„ZA dA dBd+„ZB dC dDd,„ZCeje(jŠe(e'«ee(jŠe6«ee(jŠe5«eje(jŠd-«eje(jŠd.«y)Eé)Ú annotationsN)ÚIntEnum)Úcached_property)ÚAnyÚ
NamedTupleÚcasté)ÚImageÚ
ImageChopsÚ ImageFileÚ ImageMathÚImageOpsÚ ImagePaletteÚ
ImageSequence)Úi16le)Úo8)Úo16le)Ú
DeferredErrorF)ÚIOÚLiteral)Ú_imaging)ÚBuffercóeZdZdZdZdZdZy)ÚLoadingStrategyz.. versionadded:: 9.1.0rr éN)Ú__name__Ú
__module__Ú __qualname__Ú__doc__ÚRGB_AFTER_FIRSTÚ RGB_AFTER_DIFFERENT_PALETTE_ONLYÚ
RGB_ALWAYS©óúU/home/antigravity/intellecton/venv/lib/python3.12/site-packages/PIL/GifImagePlugin.pyrr:sŮ€OŘ'(ĐJr$rcó$|jd«S)N)sGIF87asGIF89a)Ú
startswith)Úprefixs r%Ú_acceptr)IsŘ × Ń Đ 4r$cóŽeZdZdZdZdZdZddZddZddZ e
dd«Z e dd „«Z
dd
Zddd Zdfd Zdd
ZddZxZS)Ú GifImageFileÚGIFzCompuserve GIFFNcó |jJ|jjd«}|r#|dr|jj|d«Sy)Nr r)ÚfpÚread)ÚselfÚss r%ÚdatazGifImageFile.dataYsFŘŹw‰wĐ ŹG‰GŹL‰LOŮ 1Ř—77—<<  Ó r$cóŠtdt|«d«D]*}|dz||cxk(r||dzcxk(r
||dzk(rŚ'yyy)Nrér rTF)ÚrangeÚlen)r0Úis r%Ú_is_palette_neededzGifImageFile._is_palette_needed`sXÜqś#a&  Fa ™dÔ: a¨¨A©ˇhÔ:°!°A¸±E±(Óđđ đr$cób|jJ|jjd«}t|«s
d}t|«|dd|jd<t |d«t |d«f|_|d}|dzdz}|d zre|d
|jd <|jjd |z«}|j|«r$tjd
|«}|x|_
|_ |j|_ |jj«|_d|_|j!d«y)
znot a GIF fileéÚversionéé
ér é€é Ú
backgroundr4ÚRGBr)r.r/r)Ú SyntaxErrorÚinfoÚi16Ú_sizer9rÚrawÚglobal_paletteÚpaletteÚ_fpÚtellÚ_GifImageFile__rewindÚ _n_framesÚ_seek)r0r1ÚmsgÚflagsÚbitsr7rKs r%Ú_openzGifImageFile._openfs ŕŹw‰wĐ ŹG‰GŹL‰LÓ ÜqŚzŘ"    !uŹ ‰ ÜA“Y¤ A qŁ Đ)Ś
Ř"Ř Q‰ŕ 3Š;ŕ&'¨ˇeDŹI‰I  Q $™YÓ'×& &×*¨5°!Ó4Ř5<Đ<Ô# d¤lŕ—7‘7ŚŘźź Ś
Ř%)ŚŘ Ź
r$có|j€6|j«} |j|j«dzd«Ś$|jS#t$r|j«dz|_YnwxYw|j |«ŚE)Nr rOrMrPÚEOFErrorÚseek)r0Úcurrents r%Ún_frameszGifImageFile.n_framesswŕ Ź>‰>Đ —ii“k
Ř—J‘Jtźy™y›{¨Q™°Ôđ
Ź~‰~Đřôň
1Ř!%§ˇŁ¨qˇđ
1úŕ ŹI‰I řsž%AÁ!A3Á2A3cóĐ|j|jdk7S|j«}|ry |jdd«d}|j |«|S#t$rd}YŚ wxYw)Nr TFrV)r0rYÚ is_animateds r%r\zGifImageFile.is_animatedŤsnŕ Ź>‰>Đ —>>  —))“+Ů Řđ Ř ŹJ‰Jq Ř
Ź ‰ ŘĐřô ň ŘŠKđ ús°AÁ A%Á$A%cóT|j|«sy||jkrd|_|jd«|j} t |jdz|dz«D]}|j|«Śy#t
$r$}|j
|«d}t |«|d}~wwxYw)Nrr úno more images in GIF file)Ú _seek_checkÚ_GifImageFile__frameÚ_imrPr5rWrX)r0ÚframeÚ
last_frameÚerQs r%rXzGifImageFile.seekźŘ×Ń Ô Ř 4—< ŘDŚHŘ ŹJ‰JqŚMŕ—\\
đ4ź<™<¨!Ń+¨U°Q©YÓ
Ř
1•
ń
řäň ŹI‰I .3“-  &űđ 'úsÁ2A:Á: B'ÂB"Â"B'cóŘtjt«rjj|dk(r]d_d_d_jjj«d_ djvr,‰jd=njr|rj«|j dzk7rd|ť}t|«j_jrN‰jjj«j«r j«rŚd_jj!d«}|r|dk(r
d}t#|«d}i}d}d}d} |sjj!d«}|r|dk(rnÓ|dk(rP‰jj!d«}j«}
|dd k(r7|
5|
d} | dzr|
d
}t%|
d«d z|d <d
| z} | dz } | rÉ| _ nÁ|ddk(r9d}
|
r|
|
z
}
j«}
|
rŚd|vr|dxxd|
zz
cc<n|
|d<d}ŚŘ|ddk(rx|dk(rs|
q|
jj'«f|d<|
j)d«rA‰j«}
|
r/t+|
«d
k\r!|
ddk(rt%|
d«jd<j«j«rŚny|dk(rs‰jj!d«}t%|d«t%|d«}}|t%|d«z|t%|d«z}}|j,dkDs|j,dkDrX|rVt/|j,d«t/|j,d«f_t3j4j0«||||f} |d} | dzdk7}| dzrP| dzdz}jj!d
|z«}j7|«rt9j:d|«}nd}jj!d«d}jj'«_nd}Śů|
d }t#|«|_|syg_ j
r0‰j<j?j
j@«||n jB_"|_#|dk(r{‰jDr+tHtJjLk(r |d!nd_'nd"‰_'nd#‰_'|r |_(njBrdd$l)m)}|jB«_(nőd_(ní‰jTd"k(rŢtHtJjVk7s|rĹd%‰jvrw‰j<jYjd%d«j<j[d!t2j\j^«_d!‰_'jd%=n@d_'j<j[dt2j\j^«_d,fd&„ }d_| ‰_ j@r–‰jdk\r† jdk(rljj@\}}}}||z
||z
f}t3j4|«d"}jjad%|«}|jTd'vrBd!}||«d(z}n4‰jjad)d«}jTd'vr
d}||«}t2jbje|||«_n݉jf,‰jij<j@«_nw|u‰j@\}}}}||z
||z
f}t3j4|«d"}|}jTd'vr
d!}||«d(z}t2jbje|||«_|od}|<|dk(r'tHtJjLk7r |jd%<njTd'vr|}tmjnd*fj||f«g_ |jad«r|djd<d+D]5}||vr||j|<Ś|jvsŚ)‰j|=Ś7y#tj$rYŚÚwxYw)-Nré˙˙˙˙Úcommentr zcannot seek to frame ó;r^ó!éůr4r?Údurationéréţr$ó
é˙Ú extensionó NETSCAPE2.0Úloopóér<r>é@rAr@rDFzimage not found in GIF frameÚRGBAÚL)ÚcopyÚ transparencyc ójru|dzdztjj«kDrd}ttt
t
t
ft jj|dz|dzdz««S|||fS)Nr4r)Ú_frame_paletter6rKrÚtupleÚint)Úcolorr0s €r%Ú_rgbz GifImageFile._seek.<locals>._rgbasř€Ř×19q=¤3 t×':Ń':×'BŃ'BÓ#CŇÜś#śs¤C-×5°e¸a±iŔ%Č!Á)ČaÁ-Đđđ
u ,r$©rDrx)rrCÚgif)rlrq)rr€Úreturnztuple[int, int, int])8Ú
isinstancerLrÚexÚ_GifImageFile__offsetÚdisposer`rXrNÚdisposal_methodrFÚtileÚloadÚ
ValueErrorr.r2r/rWrGrMr'r6ÚsizeÚmaxrHr
Ú_decompression_bomb_checkr9rrIÚimÚpasteÚdispose_extentrJr~Ú_frame_transparencyÚLOADING_STRATEGYrr"Ú_moderKr{Úmoder!ÚputpalettealphaÚconvertÚDitherÚFLOYDSTEINBERGÚgetÚcoreÚfillraÚ_cropÚAttributeErrorr Ú_Tile)r0rbÚ update_imagerQr1rKrFÚframe_transparencyÚ interlaceÚframe_dispose_extentÚblockrRÚ dispose_bitsrhÚx0Úy0Úx1Úy1rSr7r{rÚ dispose_sizeÚ dispose_moderr|Úks` r%rPzGifImageFile._seekŻs$ř€Ü d—h‘h¤
Ô —(‘(—+‘+Đ Ř AŠ:ŕDŚMŘ8<DŚLŘDŚLŘ ŹH‰HŹM‰M$ź-™-Ô (Ř#$ ŘDźI™IŃ—I‘IŹyŠy™\Ř— ‘ ” ŕ D—L‘L 1Ń )¨%¨Đ1S“/Đ —(‘(ŚŘ Ź=Š=ŕ ŹG‰GŹL‰LźÔ —)‘)”+Řđ—)‘)•+ŕDŚMŕ ŹG‰GŹL‰L‹OŮA.3“-Đ ŕEIŕ!ŘŘ ŘŘŮŘ—G‘G—L‘L “OŮTš Ůŕd“đ—G‘G—L‘L “OŘź ™ ŘQ43; 5Đ#4đ" !™HqyŘ-2°1©XĐ*Ü'*¨5°!Ł}°rŃ'9DŃ$.°Ń#5LŘ#/°1Ń#4
0<ŐqTS" Ř (Ř $§ ˇ Ł ň đ! DŃY›¨5°7©?Ńŕ*1Y™ŘŘqTS[ U¨a˘Z°EĐ4Eđ).¨tŻw©wŻ|©|«~Đ(=DŃ×Ô7Ř $§ ˇ Ł Ů ¤S¨ŁZ°1˘_¸¸qąŔQşÜ03°E¸1ł
DźI™I fŃ—i‘i•kŘđ—i‘i—kđd“đ—G‘G—L‘L “Oô¤C¨¨1ŁIBŘśc ! Q›i™¨¬c°!°Q«i©BŘź 1™Ň¨dŻi©i¸©lŇ):Á Ü!$ R¨Ż©°1©Ó!6Ľ¸BŔÇ Á Č!Á Ó8MĐ!MD”JÜ×3°D·J±JÔ?Ř')¨2¨r°2 !™ŕ" R™Z¨AŃ- ŕ3! A™I¨™?źź  Q¨$ˇYÓ/×.¨qÔ1Ü".×"2Ń"2°5¸!Ó"<™ŕ"'đ—ww—|| A“ qŃ)Ř $§ˇ§ ˇ Ł
ŘŘAńsđv Đ Ř03“-РঠŮŘ ŕŚ ŕ Ź<Š<Ř ŹG‰GŹM‰M$ź,™,¨×(;Ń(;Ô <ŕ)0Đ)<™gŔ$×BUŃBUÔŘ#5Ô Ř AŠ:Ř××'AŃ'AŇAŘ+=Đ+IˇČuD•Jŕ!$D•Jŕ 
áŘ& Ř×# D×$7Ń$7Ó8 ŕ# ŕŹy‰yä×(XŃ(XŇ௩џ׷ ± ¸.Ń0IČ1ÔMŘ"&§'ˇ'§/ˇ/°&Ľ%ż,ą,×:UŃ:UÓ"VśŘ%+ś
Ř źI™I 5ŕ%*ś
Ř"&§'ˇ'§/ˇ/°%Ľżą×9TŃ9TÓ"UśőŚ Ř@TÔŘ × Ó  4×#7Ń#7¸1Ó#<đ*
Ř×'¨1Ň&*×%8Ń%8NBB Ř$&¨ˇG¨R°"©WĐ#5×3°LÔ$' źI™IźM™M¨.Đ:LÓMĐź9™9¨Ń7Ř+1LŮ$(¨ŁK°$Ń$6™Eŕ $§ ˇ §
ˇ
¨l¸AÓ >Řź9™9¨Ń7Ř+0LŮ$(¨ŁKEÜ#(§:ˇ:§?ˇ?°<ŔČuÓ#UD•Lđ—x+ŕ'+§zˇz°$·'±'¸4×;NŃ;NÓ'Oť Ř7Ř)-×)<Ń)<™B  BŘ(*¨R©°°b±Đ'9 ä×7¸ ÔEŘ'* Ř 2Řź9™9¨Ń7Ř+1LŮ$(Đ);Ó$<¸tŃ$CEÜ',§zˇz§ˇŘ(¨,¸ó(ś đ Đ ŘA'¬?×+EŃ+EŇEŘ4Fź ™  —YY 5Ř#5ŘŘĐ—M‘MŘ9 lĐđDŚIđ Ź8‰8 Ř#'¨ ˇ?DŹI‰I Ř !D‰yŘ# A™w— ‘ !’ Řd—ii’Ř—IIa !řô-
Ůđ
úsÚ Fcă c)ă(c)có8|jrdnd}d|_|jdk(rG|játj
j
||j|j«|_n¦|jdvr|j|_|jrttj
j
d|j|jxsd«|_|jjdg|jj«˘­Žnd|_ |jsŢ|jŇ|j|jjk7rŻtj
j
|jj|j«}|jr+|jdg|jj«˘­Ž|j|jd|jjz«||_||_d|_t|ŤA«y)NryrzrrrD©rr)r~Ú_prev_imr`r”r
r‘r—Ú
putpaletteÚgetdatararrÚsuperÚ load_prepare)r0Ú temp_modeÚ expanded_imÚ __class__s €r%zGifImageFile.load_prepare´sř€Ř×.‘C°C ŘŚ
Ř Ź<‰< Řן*™*ź/™/Řtźy™y¨$×*BŃ*BóđŹY‰Y
 źG™GDŚMŘן*™*ź/™/¨#¨tŻy©y¸$×:RŃ:RŇ:WĐVWÓXŘ"×" I¨4×+>Ń+>×+FŃ+FÓ+HÔŘŹ}Š} §ˇĐ!5¸$ż)ą)ŔtÇwÁwÇ|Á|Ň:SÜź*™*ź/™/¨$Ż'©'Ż,©,¸ż ą ÓB×& ×& M¨t×/BŃ/B×/JŃ/JÓ/LÓ × Ń dźg™g ·±· ± Ń'<Ô !DŚGŘŚ
Ř"Ôä
ŃŐr$cóD|jdk(r«|jdk(rttjk(r„|j
.|j j|j
d«d|_nd|_|j j|jtjj«|_y|jsy|j|jjk7rĺ|j
+tjj!d|j«}nftjj!d|j«}|j#dd|j j%««|jd«}|j'|jd|jjz«||_
|jJ|j
x|jdk(r'|j j)d|j
«}n]|j j|j
d«|j jd«}n|j jd«}|j*J|j-||j*«}|j|_|j j|_|jdvr(|j j'||j*|«y|j j'||j*«y) NrryrxrDrzÚLA)rx)r`r—r•rr"r”rrrr™r
rÚ
getpaletterÚconvert_transparentr“)r0Úframe_ims r%Úload_endzGifImageFile.load_endĎs:Ř Ź<‰< ŘŹy‰yÔ$4Ľ×8RŃ8RŇ$RŘ×—G‘G×+¨D×,DŃ,DŔaÔHŘ!'D•Jŕ!&D”JŘź'™'ź/™/¨$Ż)©)´U·\±\×5PŃ5PÓQŘ ŘŹ}Š}Ř Ř Ź9‰9ź
× ×#źj™jźo™o¨f°d·i±iÓ@‘ ä#źj™jźo™o¨c°4·9±9Ó= Ř×& u¨e°T·W±W×5GŃ5GÓ5IÔ)×1°%Ó8 Ř × Ń dźm™m¨V°d·m±m×6HŃ6HŃ-HÔ 'DŚMŘ—=  × Źy‰yŘź7™7×6°t¸T×=UŃ=UÓVŕ××(@Ń(@Ŕ!Ôź7™7ź?™?¨6Ó2‘ŕ—w‘w— -×—::×(;Ń(;Ó<ŕ—--ŚŘ—W‘W—\‘\Ś
Ř Ź=‰= ŹG‰GŹM‰M( D×$7Ń$7¸Ő ŹG‰GŹM‰M( D×$7Ń$7Ő 8r$có|jS©N)r`)r0s r%rMzGifImageFile.tellůs ŘŹ|‰|Đr$)r…z bytes | None)r7Úbytesr…Úbool)r…ÚNone)r…r€)r…)rbr€r…)T)rbr€r…)rrrÚformatÚformat_descriptionÚ!_close_exclusive_fp_after_loadingrJr2r9rTÚpropertyrZrr\rXrPrMÚ
__classcell__)r¸s@r%r+r+Rslř„Ř
€FŘŘ(-Đ€Nóóó đ6ň óđ đňóđó"'ô C!őJó6(9÷Tr$r+rzry)Ú1rzrycóđ|jtvr|j«|Stj|j«dk(r |j dtj j¬«}|jJ|jjdk(rL|jjD]3}|ddk(sŚ |jj||jd<|S|S|j d«S) a 
Takes an image (or frame), returns an image in a mode that is appropriate
for saving in a Gif.
It may return the original image, or it may return an image converted to
palette or 'L' mode.
:param im: Image object
:returns: Image object
rDry©rKrxr4rr|rz) r—ÚRAWMODErŚr
Ú getmodebaser™ÚPaletteÚADAPTIVErKÚcolorsrF)rÚrgbas r%Ú_normalize_moderŇđ
‡ww”'ŃŘ
ŹŚ Ř Ü ×ŃźÓ! UŇ
ŹZ‰Z¤U§]ˇ]×%;Ń%;
<ŘŹz‰zĐ
Ź:‰:Ź?‰? ź
×
Ř7a“<Ř.0Żj©j×.?Ń.?ŔŃ.EB—GGŘ đ 
đ Ř
Ź:‰:cr$cóHd}|rXt|tttf«rt|dd«}t|tj«rt|j
«}|j dk(r#|sZ|jd«}|Jt|«}n9|stdtd«D««}t jd|¬«|_|J|râg}|j
Jtdt|«d«D]O}t|||dz«}|j
jj|«}||vrd}|j|«ŚQt|«D],\}}|Ś tt|««D]
} | |vsŚ| ||<Ś,Ś.g}
|D]}|J|
j|«Ś|j|
«}n@t!||«} | 2|j| |«}d |vr | j#|d «|d <|S|S|j
J||j
_|S#t$$r|d =Y|SwxYw)
at
Normalizes the palette for image.
- Sets the palette to the incoming palette, if provided.
- Ensures that there's a palette for L mode images
- Optimizes the palette if necessary/desired.
:param im: Image object
:param palette: bytes object containing the source palette, or ....
:param info: encoderinfo
:returns: Image object
Niryc3ó&K|] }|dzŚ y­w)r4Nr#)Ú.0r8s r%ú <genexpr>z%_normalize_palette.<locals>.<genexpr>>sčř€Ň&B°! q¨AĄvŃ&BůsrDrr4r|)r†Ú bytearrayÚlistrrKr—r5r6rÚappendÚ enumerateÚ
remap_paletteÚ
_get_optimizeÚindexrŤ) rrKrFÚsource_paletteÚ
im_paletteÚused_palette_colorsr8Ú source_colorrÝÚdest_mapÚoptimized_palette_colorss r%Ú_normalize_paletterĺ!s`đ€NŮä ¤y´ & w¨t° 5 gś|× & ˇÓ7 ‡ww#‚~ŮŘź tÓ,Đ & 2‰NáÜ&Ń&B´u¸SłzÔ&BÓB!×.¨u¸MŚ
Ř Đ  Ř02ĐŘŹz‰zĐqś#-¨qÓ .  °°A¸±EĐ!:Ó;—J‘J×%×)¨,Ó7ĐŘ × &   "Đ"5Ó ‰HA‰}ÜśsĐ#6ÓĐ 3Ň3Ř12Đ+¨AŃńđ đ !Ř #Đ  ŹO‰O ×
Ń

'‰ä#0°°TÓ#:Đ Ř ×!Đ":¸K Ń-Ř+C×+IŃ+IŘ,DŃ
I2
Ź:‰:Đ  '€B‡JŘ
€Iřô
-úsÇHČ H!Č H!c ó\t|«}|jj«D]2\}}t|t«sŚ|j
j
||«Ś4t|||j
«}t||j
«D]}|j|«Śd}t|«r|dz}t||d|«dt|«f|_ tj||tjdd|j zdt"|j$«g«|jd«y)Nrrwr>r„ó)rFÚitemsr†ÚstrÚ encoderinfoÚ
setdefaultrĺÚ_get_global_headerÚwriteÚ
get_interlaceÚ_write_local_headerÚ
encoderconfigr Ú_saverˇr—)rr.rKÚim_outr®Úvr1rRs r%Ú_write_single_framerôhsô

€FŘ ×,‰ Ő Ř ŹN‰N× % a¨Ő   ¨°·±Ó
@€Fä
 ¨Ż©Ó
Ř
ŹŤ đđ
€EÜŘ
ܨԜ}¨RÓ1€FÔÜ
‡O”Y—__ U¨F°R·W±WŃ,<¸ČĎÉŃAUÓđ‡HHU…Or$có2||fDŹcgc]/}|jrt|jj«ndŚ1}}|d|dk7r"|jd«}|jd«}tj||«}||j d¬«fScc}w)Nr$rr rxF)Ú
alpha_only)rKr™r Úsubtract_moduloÚgetbbox)Úbase_imÚim_framerÚ
palette_bytesÚdeltas r%Ú_getbboxrýđELČXĐCVöŘ=? R§Z˘ZŚbŹj‰j× Ń Ô!°SŃ€MđđŃ×# +Ř—// )Ü × & Ó 9€EŘ %—--¨5 1ůňs‡4Bcó,eZdZUded<ded<ded<y)Ú_Frameú Image.Imagerz tuple[int, int, int, int] | NoneÚbboxúdict[str, Any]ręN)rrrÚ__annotations__r#r$r%sŘ
Ôr$c ó |jjd«}|jjd|jjd««}g}d}d}d}tj|g|jjdg««D} t j | «D}
t|
j««}
|dk(rU|
jj«D]8\} } | dk(rŚ t| t«sŚ|jj| | «Ś:|jj«}
d|
jvr|
jd|
jd«t|
||
«}
t|ttf«r |||
d<n"|€ d|
jvr|
jd|
d<t|ttf«r|||
d<|dz
}d}|r|r~t!||
«\}}|s0|
jd«r|djdxx|
dz
cc<Śx|djjd«dk(rÁ|jjd|jjd««}|y|€ft#|
|«}t%j&d |
j(|«}|dj*j,}|J|j/||j0«t!||
«d}nnd
|
j(z}n]|
jd «rK|
j0d k7r;d|
vr-|
j,J |
j,j3|
«|
d<d|
vr|
j«}t%j&d |j(|
d«}|j0d
k(r1|j7«\}}}}t9j:d||||¬«}nh|j0d k(rAt%j&d|j(«}|j=|j?««|}t9j:d|¬«}|jA|tCjD|«¬«nd}|
}|jGtI|xs|
||
««ŚŰŚ÷tK|«dk(r.d|jvr|djd|jd<y|D]¸}|j*}
|jLs/tO|
|j«D]}|jQ|«Śd
}nW|sd|jd<|jLd
|
j(zk7r|
jS|jL«}
|jLdd}tU||
||j«Śşy#t4$rYŚ8wxYw)NrlÚdisposalrÚ
append_imagesr|r rgrryÚoptimizerÉrxc ót|d|d|d|d|d|d«|d«|d«dzd«S) Nr™Úarpr#©Úargss r%ú<lambda>z(_write_multiple_frames.<locals>.<lambda>ásd¨_¨T°)©_Ř$/ ˇKŘ(3¨¨U© Ř,7¨D°©K¸¸Są Ŕ4ČÁ9Ó,MČtĐTWÉyó)*đ)-¨S© ó %&đ '*ń
%*đ%(ó ."€r$)r r
r r rzcó&|d|ddzd«S)Nr™rrpr#r
s r%rz(_write_multiple_frames.<locals>.<lambda>÷s¨_¨T°)©_¸TŔ$ąZČ#Ń=MČsÓ-S€r$)r)ÚmaskFTÚinclude_color_table)+ręrFÚ itertoolsÚchainrÚIteratorrŇr{r†rÚ_get_backgroundr
ÚnewrŽrrKr˛r—Ú_new_color_indexrŤÚsplitr
Ú lambda_evalÚputdataÚget_flattened_datarrÚinvertrŮr6rÚcropÚ_write_frame_data)rr.rKrlrÚ im_framesÚ previous_imÚ frame_countÚ
background_imÚ
imSequencerúÚ
diff_framerürrrCÚ
first_paletteržr r
r r rÚdelta_lÚ
frame_datar1Úoffsets r%Ú_write_multiple_framesr*s#đŹ~‰~×! *Ó-€HŘŹ~‰~×! *¨bŻg©gŻk©k¸*Ó.EÓF€Hŕ €IŘ&*€KŘ€KŘ€MÜ—oo r d¨BŻN©N×,>Ń,>¸ĐPRÓ,SÓ]P
Ü%×.¨zÓ\ P& x§}ˇ}ŁÓ7Ř$źM™M×8DA Ü! !¤SŐź×1°!°QŐ ź.™.×/ §ˇŃ×& ~°x·}±}Ŕ^Ń7TÔ)¨(°G¸I(¤T¬5 2Ř*2°;Ń*? Đ! j°H·M±MŃ&AŘ*2Ż-©-¸
Ń*C (¤T¬5 2Ř*2°;Ń*?   š[ä& {°HÓ= ŕ"— ! "™
×1°*ÓČZŃAXŃŘR‘=×ÓŇźN™Nׯ©Ż © °NÓ(CóĐ0Ü)8¸Ŕ5Ó)IJÜ,1ŻI©I°c¸8ż=ą=Č*Ó,UMŘ,5°a©LŻO©O×,CŃ,CMŘ#0Đ#<Đ<Đ#<Ř)×4°]ŔM×DVŃDVÔ
°xÓŃŕŻ
©
ŃŘ —_‘_ ZŐ0°X·]±]ŔcÓ5IŘ%¨[Ń'×!ŕ (× 0Ń 0× AŃ AŔ(Ó KđŃ
Ň4ŕ%-§]ˇ]Ł_
Ü$źy™y¨¨eŻj©j¸+ŔnŃ:UÓVŘ ź:™:¨Ň/Ř).Ż©«™JAq ! QÜ#,×#8Ń#8ń !"đ#$Ř"#Ř"#Ř"#ô$™Dđ" %źz™z¨SŇ0ä*/Ż)©)°C¸żąÓ*D Ř '§ˇ°×0HŃ0HÓ0JÔ KŘ(/ Ü#,×#8Ń#8Ů SŘ#(ô$#×´H·O±OŔDÓ4IĐŘ" × Ń śV JŇ$:°(¸DŔ+Ó Oňy\ Pđ]Pô~ 9~ŇŘ źŃ 'ŕ)2°1©×)AŃ)AŔ*Ń)MBŹN‰N ŕňH
Ř—=‘=ŘŹŠä°*×2HŃ2HÓ
Ř đ
ŕ‰FńŘ@D
×&Đ'<ŃŹ &¨8Ż=©=Ń"8Ň#ź=™=¨Ż©Ó9Ř—__ R ("°
×0FŃ0FŐHđ řô} đ!úsĚ2U<Ő< V ÖV có"t|||d¬«y)NT)Úsave_all))rr.Úfilenames r%Ú _save_allr.sÜ "b( *r$cóxd|jvsd|jvr6|jjd|jjd««}nd}|jjdd«|r
t |||«s
t |||«|j
d«t|d«r|j«yy)NrKrTriÚflush) ręrFr*Úhasattrr0)rr.r-r,rKs r%s•đB—N" i°2·7±7Ń&:Ř—.$ ·±· ± ¸IÓ0FÓG‰ŕŘ
Ź×! *¨dÔ Ô1°"°b¸B  ‡HHT„NärŘ
ŹŤ
đr$cór|jjdd«}t|j«dkrd}|S)Nr¤r ér)ÚminrŽ)rs r%0s5Ř×" Ó2€Iô 2Ź7‰7|Ř ŕ Đr$cóš |jd}d|jvrt|jddz «}nd}t|jjdd««}||dk7s|rk|dnd}||dzz}|j dt d «zt d
«zt |«zt
|«zt |xsd«zt d«z«|jjd «}|r"t|«} t| «}