This is a read-only snapshot of the ComputerCraft forums, taken in April 2020.
NomNuggetNom's profile picture

Downloading & Displaying An Image

Started by NomNuggetNom, 25 September 2013 - 05:13 PM
NomNuggetNom #1
Posted 25 September 2013 - 07:13 PM
Hey folks! I'm taking a dive into some new APIs today, and I'm having a little bit of trouble. Here is my goal in the program:
  1. Download an image from a URL (in this example, cobblestone: http://i.imgur.com/hNFQzKp.png)
  2. Load the image using paintutils
  3. Display the image using paintutils
And here's my code..

downloadImage = http.get("http://i.imgur.com/hNFQzKp.png")
loadImage = paintutils.loadImage("downloadImage")
paintutils.drawImage(loadImage, 1, 1)

Currently that's returning the following error:

paintutils:92: attempt to get length of nil

Which I assume means it's not downloading the image correctly, but I have no way of testing. I'm on a multiplayer server and don't have access to the file system. Any help is appreciated :)/>
PixelToast #2
Posted 25 September 2013 - 07:20 PM
because you cant display images -_-/>
your doing it all wrong
jay5476 #3
Posted 25 September 2013 - 07:28 PM
http.get returns a handle(?) but you have to do
 downloadImage.readAll() --# to get actual data
downloadImage.close() --# dont forget to close 
NomNuggetNom #4
Posted 25 September 2013 - 07:39 PM
http.get returns a handle(?) but you have to do
 downloadImage.readAll() --# to get actual data
downloadImage.close() --# dont forget to close 
Okay, so should my code look like this?

downloadImage = http.get("http://i.imgur.com/hNFQzKp.png")
downloadImage.readAll()
loadImage = paintutils.loadImage("downloadImage")
paintutils.drawImage(loadImage, 1, 1)
downloadImage.close()

Or do I need to assign downloadImage.readAll() to a variable, like this:

downloadImage = http.get("http://i.imgur.com/hNFQzKp.png")
readImage = downloadImage.readAll()
loadImage = paintutils.loadImage("readImage")
paintutils.drawImage(loadImage, 1, 1)
downloadImage.close()
Lyqyd #5
Posted 25 September 2013 - 08:00 PM
You can't directly display a PNG with the paintutils API. It will only work with the text-based image format ComputerCraft uses. You would need to write a program to convert and palettize the image data from the PNG into the ComputerCraft format.
NomNuggetNom #6
Posted 25 September 2013 - 08:21 PM
You can't directly display a PNG with the paintutils API. It will only work with the text-based image format ComputerCraft uses. You would need to write a program to convert and palettize the image data from the PNG into the ComputerCraft format.
Oh… darn… Has anyone written a program that does that? That is WAAAAAY out of my league.

EDIT: Also, I should add, I'm using OpenPerihperal Terminal Glasses, which can display more than 16bit.
Lyqyd #7
Posted 25 September 2013 - 08:31 PM
Sigh. ComputerCraft displays aren't "16 bit". I've no idea where that nonsense comes from. Paintutils couldn't draw to the terminal glasses anyway, without a terminal redirect of some sort.

There is a program somewhere on the forums that does this, though I'm not sure whether it is for .jpg or .png. Search for "image converter" and you should be able to find it.
NomNuggetNom #8
Posted 25 September 2013 - 08:34 PM
Sigh. ComputerCraft displays aren't "16 bit". I've no idea where that nonsense comes from.

There is a program somewhere on the forums that does this, though I'm not sure whether it is for .jpg or .png. Search for "image converter" and you should be able to find it.
Haha sorry. I found an applet that let me convert, and the quality looked like 16bit, so I just assumed… Should I be converting to NFP?
Lyqyd #9
Posted 25 September 2013 - 08:35 PM
Yeah, nfp is the correct format.
NomNuggetNom #10
Posted 25 September 2013 - 08:47 PM
Okay, cool, I'll work on that. Thanks!

EDIT: I found this program, but.. I'm not sure, it's giving me trouble. I don't know what the best way to go about this is: I was hoping to be able to automatically create sprites for blocks in the game, but I'm not sure that's possible.
Dave-ee Jones #11
Posted 26 September 2013 - 02:50 AM
Also another problem, you do not need speech/quotation marks to load the image, as the image you have downloaded is in the variable 'download'. You just do:


paintutils.loadImage(download)

instead of


paintutils.loadImage("download")
immibis #12
Posted 26 September 2013 - 03:04 AM
paintutils.loadImage loads an image from a file. You then pass the file name to it - not the actual image data. You have to save the downloaded image to a file before you load it.
Zudo #13
Posted 26 September 2013 - 12:13 PM
Spoiler‰PNG  IHDR––<qâ IDATxíÝǯeGõ/ðKÎ97ÁmB“c#ŒF0€ž0cŒô{žÃ&frac14;õÓ7~oðü0##@ú1Bâwmr0ÉD“sŽ¯>Ç|Û«ËUµÏõí6Ýí^RyÏ&sup3;kõŠßZU»Î&sup1;탃kt-— ÷»2¯:‘ÏzÖ&sup3;Î&frac14;å-oy×K_úÒÿúÃþpÛ¯~õ«[¯:'/&sup2;C÷&sup1;ÈÒ®*qõŠ×&frac14;æì“ÿüäÓõ±ÿøLJÿþô§Ï}Ë[ßú`}~íþÎ\֝±8wêô©3oxÃÎ>ñ‰O<Ý׿þõà_ÿú×ù>7ÿøÇ?Zå:øÁxø&sup1;Ï}Îü~ðƒk» B×€U@8qâ‚ õ÷¿ÿÝà\êOúSupð‹_üâðÓÿÿü5€•¨\V æSÿúô3/ùËÏ>ÛùÏ>ݨG=êà>÷&sup1;0,õË_þÒàw¿ÛÝ]úKUíÇ?ÿùÁ&frac34;ð…s­’ÝË+ø…L”Î%W€zÉK^rÖq{üù u¿ÛÝÏà1yì€YÒ¨º^àÇyí:ìþ°{%°F€ªsÉAzðÁ3žñŒƒ?þñ·ß~ÛÁ?ÿùÏú}|MæÁCҐƒÏ~÷»þÓÿ/È÷¡íÏô~øÃ>wË-·üË*ø&frac12; XÛêiO{ú©HÛÛßlÒú›à®Jð=ðüIµ&frac34;Ûn»m0€jKê®âmßùÎwßÝÎwß«v¯Ö _øâ3¯{ÝËζ&frac12;ÒÉQu€Ûþ÷&frac34;ÏyÎsú&sup2;<Œ¿OÛ?í*U;zøñžÏ,7ùË_ùÈG–'wþ’ñío~Óð&frac12;Ï}Ï&sup1;¶ñ¿ê+øU ,€zÓ›þtÖÉOún%&sup1;ípsWaf{øÃ~ðøwÛ,ü¿ùíovcì·ðÝÏÿƒÇ?þñ}ìcwË~+jˆ ›ÿºŒ¶êvøþ÷¿ÿªøU ¬Ö‡wæío~Óù€ÓÛ86øþ÷&frac34;·»ÖÝ@qÝõ×Ï{ñð€Ý’€õ<Ž'ÈxÈCºcßhí ìð#ùÈUyðzU þúÖ·žm 8_¡Œ9ù„àø˜×ÝñOúÓÝþôÛ#YÎȯÝËÓgWx´T(ìÒÉMÒsüªâÏÿÛÝx|ª ·L&frac14;¥ßÛfª˜“üO~Ò“Wà® `5 íõ€µô.£å?Ö>?ÛùÏvðFד¥ªU `D–Dõ xF4ª]#l@¢kFí°Ö¦ùÁÏ•ÒüŠ@Ýpà gÿô¤'íõ°‡=ì Š<úñþå_õøÉO~&sup2;« T–.í&frac12;}SÛÏøTÏ¡º¨X'Ožü„{±ßþÖ·»J”¤âKåê&sup3;\=';&amp;€ôR¡S°5<àùǵIpøùÏ~Öü• °+XÏ|æ3Ï&frac14;êU¯:¨$5WK·3or£=–ªÓà?øàßøæù%.c]Ã OxâGµß=&sup1;ŠJ5¢ `F6cnÿQä50~ñ‹_&frac14;"7ùW°êõ¯~õy@%&sup1;Iàô=”ä:‡J%à§:hæê··&sup2;J5‰¬\ñˆGì*\Öe‘™%Mõñ€ñeÿ¤&sup1;ˆ9UΞìºË®Ûí&frac12;øaüÈG?:_ñêjL«ªWü[ä¬vhy浯}íù§<å)Ã=”äH®„Œ,goOà –M@€i3•'€êùìd[bÛOqv€êÛùå •–À°ÒøÛþ÷&frac34;síË¢Ë~vY«ž” ´í±ÝI º„,þä€Kàøt'ùªŠñ©>x&frac14;í9m·Ç*Û-Kä `æX*ªžæ>Öä&amp;:&frac14;e>ÿùÏ?¿÷Ó¬]þ<UN&frac34;Yêí£¯ê—êÛÖ^‡úð‡ÎµeÒ&sup2;øe ¬ ¨Š÷ @”å¨ÇIÿ7Á$£ÒH˜¥¦-­;@õ>÷}Ë­·Î@6Ó`äP&frac12; àŽÖ«Ó) È®GU?&frac12;¡’19€ùª¨ùzùì&sup2;Ö P‚®lËI[wõÁþ¤O*~g‰¯àJ'˪‚e@rfeŒª#‘’®µåg×f3¦'&sup2;í£ø«&sup1;÷,ävecÏíµ‚GåíÛ«{}xøRÝ€Rÿs°O}êS—õ9øe¬”3/{ùË.øùJȪ2ø›¨2uô'Iæ s–| ”ª&amp;øx” 8ù#žµê°Xà£Ïü¯¥úÛ$0õä°>{zêso&sup3;&frac34;2êr^ùrøú~–sÃ`ÿøä'εÉð¯`w=-Œ•÷൝?yå+^ñ®–ðw´·&sup1;‚Y*ÁY$Ýgo}•ðK’a-I!ÿí&sup3;ìp±—ª{,Ïô§*BG­`ôÒiÿ˜úñ×êÿ ®±&sup3;úÁ–T)Ç úÈ ±×Ó42TR×Û*UŽþê'à·g'ú~ñm^vŠß··–ÿø}üiy<¸®õ~|¶íN÷ê$GP-Y*@ .^ ¢ùŠZ}hÓn–W"Ï[—åPr$&sup3;':ZõP-{$ñ&amp;ÿÛßþÖt$‘¥B›&frac34;~<Ïñ6*HôÓ«ú‰…Ý¨RÒí×U€>ª‚~pÈ7ùÿ‰_´þ9mxs‰©íú3¯|å+ßõ~žÒŽ°}0%àlÖ\“`ÎI"TrjõÁ— <È1C­.äJT&frac34;€–ü^‡$ÁQÁÈÏ«$à: úzàGn*XßÏ&sup3;&frac34;€ŽMõFvÛ¬J±ÃÝJyÝìßcN´8&frac14;­µ3í§Û›?÷X»G*@=ÏyÏV¨€H2º'UËþäìM"*ys&sup2;äÈLWYT€Tñ*IŠêh©c°ôäÝ×þäËü™Xåc[øT=ñ£iWyøå&frac34;‘~|æ&sup1;æ&frac34;'q쒐lõ¬RÉa{ƒ<×ÎË.ùì®™¬–Óþ[^;ø|× ^ð‚ݪÿ• 4ð˜‘=yfÉŒ&frac34;ª„W"Te’ü&frac34;ºH˜gYí÷`äxfÓ/±æ÷ºÈ _õàÛ'ÿ_©¢æVM~–g/|àU Iðƒ!<‘—Öñ2þ÷‘*&sup1;{­—õbpâäÉ“ok/AgŠ&frac12;·7^&sup2; vWÈÇ“c\gÇ‚¢dsúìËHe¢ŠøKõ<‚¥‘%Á}ðÈí«&frac34;%K°+‘oHñUÛÝÛ_åín´@’Èÿhæ¨&sup2;ÖhŽlºÉ  ßìP0ÁÉϨR{žøÿ%3Ã\ùÈoà&sup1;{ðþÓl;üêW&frac34;r®-Ë&frac12;‚]ôŠõâ¿øìÛßþÖwµ*õŽæä ŽU2“haÖ÷$Š*ff÷33€ª‰ª2È•x&sup2;u”°ÏHŽ~Û+WLb+Ç7zŒÉ Òǁ,`Ò&amp;ªßdÈuÈ÷`__‰ùæwøª _Û8ñA¦˜»&sup2;§§¶Œhß&frac14;í¯DŠ··êñ*øE©Xõþmƒ&sup3;í‹õ þÒT ›d hUlW꬐֤]€ñh5‚efÛˆ'˜£$ ^ ê—üäJ®%S«2È@ 3»O’åXô\¥ê'yä™DAõ“Ò<'§Ö&sup3;_u£ƒ,È>©’‰&amp;®)¶õÒªÿ&frac12;|&sup2;äO4rúXµJ~øÈ\Ëù±+ø±€å&frac14;äz&frac34;ÈE/:íð&sup2;7”3‚(‚^A£É“,3ÏõӐdÇ<«ÿùaY£ÇB¿‰§×Œùml–;´ßñ_ sFEŽM> V–lÎ%tTð&sup3;•Ž>©>[ÖTj~~ÉK_º‹ ÛÈÇ>÷&sup1;»äÝË_¿ °"ÿ,1êä?•­×¯9þÈ1‹xô~ÏÏ6qvßEÇËλ,€êOê%–QøhV‘#(Û.ßñ_3:Ó¤—!`9€ UêW6àP~Ž\!2íl(™Cf¨&frac14;ù´3·Ý[cú]MKTÿ˜ð°ÓXºª&frac12;_pÎfü—¿üåà&frac14;T=!ñawFþ,XE_¥€/€&sup2;Ï ÉSì&frac12;ü‰G•ñrqø|ànÝŠâHàjIøÝ|¥ô=H ±’eɤñþ¿eäþou"2ð˜%’Ã&frac12;Hmzõ6VPE` „ fÿ4c–­ôô6°[&sup2;ô›ìžVñw“­Ï®ø'&frac12; tªæâ`;ñËà ¶&amp;˜J:#¿ÝÒÝjo~fÓ?zQ"m~2Ýž÷&frac14;ÇH&sup1;°êõ¯Ý¿‡R1&frac14;‚Kžùi6ø‹$@®f#€&sup1;—ÁQ©Bæ‡&sup2;O 1XŒ4&amp;”àK€Ûñþ0ÈD€b“`…øwÒäÉàøæÒBä’¡ñX´$I¿%ü¶ÖeuÿüÈâ¶]ø rl‘~rù»È¯€Žà @YVù&sup2;'Ó€£…äYõ0ÏMù äOc‹1ž‡ŽÒ‡·wf)£»k›qÿۍo|Ãÿi˵K`%™C&frac14;jþºìõ ÒÏ)ÖÈK&sup2;ô!Ž‚dKz•~ú€I-ÁR‹Ç›i|Z/CUÉŽæ…ÈhA·"£úÉ8m&frac34;ùK^oƒêjY–Hà‘q@a™íÃb쇓m"ø|W2i<~ôä&amp;&sup1;"K¿Û€*&frac14;âg&frac14;Çr §¿É?ñbݶfÇÃúRÝßy>ºþ ÇQo{ÖþñŒÿ×ù/Š,q® S~í3bÇì%U`$($|Œå‹£^TR^Ï%àÛßÿþùå àN“–)ªŒDˆŒ4¶±;Ãñ“/yüä@ºñ%~KP¿ß2‰€ˆ ä9!:=•˜j¢ù¬µú˯ۍ,}–ddDü“»äX±SŒÃKË_ÒmÈpôñ6Ó»k«Œ7µ=âÿªüÝݝkBßÓ}f&frac14;&amp;PÝÏ|`Ë^àV‚1 HI„Ï5Yø$‚&sup3;ôpDð+ €àªt@% ±ÇPÒ¿•Î»ìþ‘Ý’àGN*[%¢·_lË ÿ*™Pä«@’#f•ä ä(Ë^í'l|@!&amp;±;|É=6útÁqe«x°£¿Óø¬µÿ>ÖË©*6mSÏ7—â‡ô3-ÇϧT‡p„qÃí@ÈVqô3F_ÎtGìd h’$ µeÖ›%ŒæËI&sup2;Éì“t3<x‘{`ñ¯&frac14;CR%‰>º$JsÏù±ÁxUhS±j°ú{&frac34;ñÃ6!Ë5ÇLbD7ßâ]æ±&sup3;úclêf s%ÛøøÛÛ`[ñÒ•O\åO*';Ó&sup2;ÉAä!}ª @¬ñ„Zn[.?”Ï£Ëþ«,h”K’&sup3;‘úꎗÁŒâgדä’cfr<N…/ ðÏðPB*y®&sup2; ’ m@9ùÖ#àøõ¯~u—ä>ð±nìúJ9««„f·×w2+™&amp;–ÉÇ–‘&amp;K&amp;+¿+I*ßù3ª^x'WeÛžŒÓe<ù&amp;{{â‹*åüÇ¡íŠõÖ0T¬$"J%Š1@æùíì°$¸JŠ €Ç8ÏŒàŠøª 0ñ Ld ŽDYÃ_gàž{OÉôÈ'ÛõþL¥%73;~ήlR•€‡ÿùǐI>{øËnzM4crc{lÒù8 ñ+ÛÓ݃Î?øMLõψâ'ààc&sup3;˜°¤¿wv&amp;F‰±&frac34;þ–æ{ør~&frac14;ŠE å5É”õäPMåjÿêËyƒÃÇ8Á%O$&frac12;'ŽjEV¤—Óþ *Ko%ÃÈír-€’bð˜ÝYv{ÖfŠåðd«v3€ùì­ä6õS&sup3;”QO@à?ÛULL*±ù8&sup2;üϪøìþþÈs“°*þm툄|¶lí¡Èg‡øÖ&sup2;ªüü_XsÓtpå¤fÖ­ˆÒTIÁ‱AŽä ^äxøñ4ü@Ã&sup3;@¨VN­&sup3; {žêC'‚lðY£Gua/° åm‹ €Á&sup3;e8ÃËm¨`>ä‡ìijìbcLVÏT{÷ùðË4֏ü'¦>&sup3;-&sup2;}¶QiµøAGV¶@±ƒßÖ&frac14;®ô“9"þàùLuüþàê 0þuf ^… h=¯ÏD[÷+{KŒ„‘cÝÏ«\–9G'[u©Ãù@v!@f6p…ð«`’*Áù)pú]nvHŽdTvr%à%&sup1;ÁK ÈIbÓÇê/=â`BT"&sup2;M*zä¥?SÝøBŽg•Èô&frac14;AŠ0à&sup2;"ñú·:äX"AŠ™¡õIÿ@ ˆà˜™…‚/ Š{ˇêÓDP-Mø&frac12;q%9dI–ùäÏñõê"¸€£&sup1;%'S&sup2;Ïq/A*0T0$©È^&frac34;‘™þ:Ãù”7æøZˆ×ÒH®jÈU(£ `øžñxø…Èe;øÿXÛLÿÏ@å»>×WÉ8&sup1;ŒµÏ(÷Fo0’ÓŒÉg@Xb¿#9ŒÇ;¢”TNŠ¥¬ÒŠù*Ç%!A‹,úSâÉÁ|ªQxR]$Wb©ú@É÷÷µ¯}í‚ÏvIpñWÇÓ“‰lÈ'ÿŒ¿*1}õÎê 8k hÉÏùÁ§ÛÝ»¨äÈ04€Ó6(®+’G1'&sup3;ú&sup3;&sup3;êÛ|+l›Ë3-§]P[«“g* ƒ$âìíL‹â Ãd&frac14;d‘C‡à©\ž…€€%5„'Î5UQRñ‘Weð/ùlvfE&amp;þ&frac34;ø/)lÏ^ÛÛQŠe‰tVlTyø $ú€-vÒ] Œ®–&amp;¶!|`xž±;‡Öv‘|ðONHõ(Ë^”êgŒÉj‚ð‰“øy®xµfËaÓqùV¸ ¬æø™”ÓŒÇ&frac14;àS°Šà„9äþ<'§>èà§Éà ä‡$™&sup1;ì‘€kv Nô &frac14;äÒ,l¯dLNê%⸞  9’ð9×¯âìY'Žþìûâ?UUú3üù{V[ÝÇ/€‹~ÏÝ{&amp;|UU4zô%Fxd‰‡ÛÒþñ{!°ð%'Éoþoks)Œ0WF’í&sup2;Y) 3â«1LàzÃê8àô$K&frac14;J(H’¦RŠü€õ˜ª‹&frac12; J&frac12;ù)Á!õJ"$ψÈ3Ë]­àà›ñ¸§&frac14;PànùõÏÇ !üb TlìÇÃ##rÈæpêC9aƒ&frac34;P®+Ò/têMõg5.}GVIŒ*Éf¯@ôõ &frac14;’Áa úŒO&sup2;4‰#Ûð$ Pµ-øm XŽ*ñ£j¤â© VAæV¨*ú&frac34;äv°QÒ|&amp;¿ú$ŠddBxôgr¨&frac34;ŽKLñaˆ<-É$/qàÉWiUH~¯ÈxÃj<Fül¦»N&frac34;ßÖ&sup3;»¬e¤@{Ó’H­9|‚Vˆ3â'ù&amp;ù@â´Œª‰oM &sup3;ÖsàW¡ªMx-i*þ€ :¶®doæ§:ìS…Ý!q°i·ù\Ýuh&frac34;ÇT»­T:æ¨~¸üW`ñc?€rU¡Èàcdåæþ*l71›[øÇÇVS&amp;É TÁŠìð&sup1; >ê™Ãà¡ù{y»FdÖ©l–ºñVà&sup2; x>Ó,ÃÉ0+56‘± {G?°»&frac34;Ý&sup3;Ý@`ÖRÎ*ä>ËQ@%>&amp;IÛ»Ë]å°ñ›5›5±R åí+"?ñåÛŠô«Öâ3#}&amp;uV…_žXµäGH®”ÇH€ðàðäJŽf6ÉŒ&amp;@T!zþ 0 â_¤:hžõÇñ'a’TA™>W€&sup2;±>ù`gþä3?Y&frac12;ßX•]Ï0K}Ví¥C5‘üú&frac14;êp|ª|–ß­ÉbŒåxFtÉ×:)güy>Ïh8º+Ç”vAT Fä``Œd¬!`ÖR’ ìH¦‘‰o0ÉcS–÷’t=’Ï>AùW•å;ôŽ%ÈRGNH51&sup1;TRú{€…ov¥Ëw­',o¡«åŽ,6‰íl¨úðn_U'ñ¡Û( "ÛÈà2Hpí Að:JŽgà€8< &sup2;ñù£ÁÿUrÈ–<¤ Ýuf[ €°R€È0~d3æ‘kRŒ¥jðŒ*Ûøtr´*'q±É¶[ÒÛí2ù~ê#©uläÇJÿ>{(üâJ7þ”*~T0U™›àJI­ƒrÿ*bÏù«2íHMf %à8fÖKˆY8"úìkð˜ÛÿÈæx©0ìñìÛT–}dil&sup2;&sup2;=€ŠMñ…~M&frac14;jâøÉ×È(±C®ž©TæþÏ|æ3»J¥ÿþñe¢Ò·Uí* 1n‹ø»¢ð3nŒµô¶«„øzD@kÉ/,»€›Ý’,ªæŒ8(È,9 ¤ú¨êTùr_U›Èª c€=Ýx|t©&frac34;$¨ŽwOÎì}â—3¸Qb,yÿøÇw_¶÷&sup2;ËÇj$£Ò&sup1;g+àÎlæ›Gqñ_É„íc6…‰0g.ÖUÖ/5"Η 28Fxí2É–ð•Ãà…\f 3MÒùK®*P—BÖÿ@åÎj d*;Œ!ƒí&frac12;-ž±—Œø žUɧ“=båËa×Oðo oõ7’K¿ø¨æþfù4#>Ï£·Žß X XΏô&sup2;d3â£q ‰ËyõKB–…&frac34;¿~æŒ&amp;æìH?€IBUø%åÒi‰±$ù±#ä^…&sup2;)·ÿ-EøÈ"¯÷Ïs?ÓÉ2ªŠ÷¤O•R WD_&sup2; Hðˆø@õÖôüì¨-€fŒ‰µ/Ïù1&sup1;9ê•s–Ç$g5–Àuæ¯æ¬ú2{€\°É‘eÛ>MÓÓe{àà:ììI8y–É×~ð&frac14;µÒ5à®Aâ%2÷b°ªFª=[øEÿ«±3+üªÝìGcõ‘Y[ âƒê©i&sup3;b­ 0Fúw&sup2;Aìy–}à Ö,¨x’È$q¤[5િq /€žl¯ÖþDêoº£’*€yþ<ࣱ&sup1; ªLüW}V@ù[¢™otªì[à‹®þ¦<¯Wºå£_º+Ï&frac34;÷›àâ µX@êL­ ô)Ë`vÏ(ÓÏñhôWàø<£ðI¸åef£¥í£ÝÈÎô&frac14;݃&amp;»+ŒWmìÉücÿíÝÝì)&sup1;ä…ü«D–ÿìø&frac34;BÁ'—LW@Žõ$1‡|¶›+⧪nJlñhìX@í&sup3;‡"S«q™ÉÝ–hSž 턘™ùϺ–Ž-#ɦWB-]>ÈÒ¦™å&sup3;— Ãì}L…jÿðÎ]ÖPdøß“°ÏdÉ+{Lrñµÿ >&sup3;ÁøTž‘íž‘P&sup3; QÇñ&frac34;UìÈ â7–J*güø"&sup2;z?WcÖVp,{ÛùFR!›9F®ZªWeñrÈ~I&sup2;€ ߌ06°5Áíù&frac12;||ìcÛUˆÖÇí&amp;ðÎæü– ˜ùgið<ÓYËä°Ò'Aì¤Ó&frac34;ìUe›‹]YêzÛêgñ +újßÈžt¯(€âÊRÉä2þ¯økß‘€•Œ·ì <å3 àR€%dD‚ 8&amp;Q&sup3;TF¦6"ì¢s«êæGx6ñô z%ÒɱôºÏ— Ïøå&sup1; §¢¬ˆ¯â'Q[‰%‡G©+Ý&amp;‰&sup1;<:å"&sup1;•Ç£Òÿ–4›ñºH@kÖí @Ç;›Áä`IVÓWI ÉÒ𬒭í’øà…¸øìõQuÖy®rJYÎ-ÿ®3ù±˜¶€þ}®l¢s•#rŠb…¿ÿ<&frac12;.9âÛqhXêºYmæÎ*ƒK¢÷ø–Áq^"fõ+2°,O&sup3;€T€­*>‰,>õ>Ë·äñÛþ·n»JWþl@?™[ä?6Xݯæ¨þþúg1ùÒõ÷&sup3;QìVñ˘M`aì+Ûj™â`ÈÒ>E8qäìD[­Óq8AÿÉí~%Û´™LrôÝ>#G 9)WgdŒ­âV5 V‰>PyÖ_Hžä äÏ|$‹_tÛQlüÒ¥Žß X`àÃà•1ê®XÛì’J¦6"ÁÒG7&frac12;&sup3;@€å&frac34;ùlU•L>ËŒ"Oü£´+^2øÉw/#3Ýñ%Q+p‡/6H°ìÈ$ô¿:Ò16€ú&sup2;^ÖÉÏ x#{æVŽ¸ÿÝŒa–Y%9ÓzžÓæ‘XrìYȵ&frac34;oL’·"(W›ñìÖ&sup2;„ÏGþ¨,;|þ"þJ”ËŒôKÈ>Iå'Ûù¸Ò¯_&frac34;f>æv‰/&sup1;w—ΰ¢ 4Fd“&frac34;z•8ôª:8GrQf QQf4Ɉ_0µ•}æñÃ!*`&sup3;wΑŽìæõ&frac34;I[VTeìêW`Ë-™úê•<mDú€Î¡¯Šú X&amp;x#eŒðe ˜Q&amp; *ølFWô­[õx+#æO^ú"»ŽÏ&frac12;I¢¶Mú ,ÛÈ"3&sup3;ÿêC¦˜3#¶&sup3;¿bnLlÉÇà(ü+2^ÎL®ÁÃ3f»° ˜_…qô’&amp;ˆ23T&sup1;¶lNþ°&sup2;ê©÷‚ˆ‚&sup3;*ÓdÉÓ&amp;`+â y™ #^:µ7` Îì·È T©ñ“™ø®@…—ÿ[@¡×-Ýøâù3ê–bÖß?ßX˜&sup2; Á Fúr•°$me4ø·Öv›©+yd-U6ü捈møV@-!þÎT¥õf×&sup1;“`‚»/ ’ü™OìgÖ&frac14;øVàc#äa‹&frac14;->ÝÛøÝË92°P^5 ‰Ã&frac12;`ÿ0A¶´ìJ¨àfÝ_úìwi¿¤âíÖa‘%©+Û·~±L÷Œ¸V¶ÉU.2f bÝ[ð?‹Y7@ùYËjÉcy[z«ì»{ùìôIDAT·€eŒDþõBÿ€Û”s~VåÈâ4 àBõ´<Îfl’‹‡ìñŒ÷ŒN¿, {åKo@Yzí-+¨z>ÿ¦oäÃ;å?»ÃCÏ/FlVåW@ebì€EÿJ® —6%à-É#=Ó,‚13Š¡äh¦âìFŽeßlù#O0?âs0KŠ%‚ÎT¨‘|¡“?±•žñc’ìs^e<þ´‘&frac14;<o ^@‰ ì&amp;ÿñäˆå,Îñ!YÒù¸úæìÃ&sup1;›à"(àJðcP&frac12;`ø)˜E 'ì ‰‘ð%&sup1;äh&sup3;™äyþÝ+Kåì&frac14;‰ Kz+µù_2Qú@&amp;*›&frac12;þy.ñ[ ÉÇ®øù T&sup3;¸Fìªø’&frac34;zå ™ŽVzÉÃPåŒÎÇ™p&amp; 9Ç‘ÏzÒLµQ$pU¦3KÈ°QñG&amp; °&sup1;Žˆm˜·MùI þ°ê‰ñø`©“°‘ß“Dª$‹F3{~þÒí ðtŒˆ.>Ïâ“1ìÇ&frac34;-Œ[ñDn&frac12;Î ¬ 2 }eoÃMn–3 “Düà3"2-S#€&sup3;€„æI‰›U&amp;úüOEaCÿsÑ t’;KŠÇ@=#cùaìdd¬„ÝV•à¿ÏžGüüX@.Ïê2"úø0‹oÃþ £‚ê˜#Ë $˜äùÈÎÈ×€ €f,ŠJ6«ˆæ Œÿ]`ùsÿàðùcZUsd[µCà{XŠù&sup1;/‘ËìŒ[ ˜ÈùPäj[ °2¬ª"?ÈËvæÇùž‹íÖŒôÎc#Y3ºÛàŠ@&sup3;ä ðì–æ€þ¢´YS•Œs)×ñW¯€­þì°êÃà$߬VQT´I">xi`Ç (dÎ&sup3;ù–ø}*Eþ\åj‹ðh+PɧW #säO%6b8[…ðÁ'ÛÈX€™µf„íê9Èp3<›âs3F…~à¢?;fÒ¸UäU%ð§àÇ;GºkE’êÏ•.ÃêätõÁí(6ŒâZLjÝ*¤ÛY<È3ɶþlñ”Xˆ¯ømñ‘e‡ Èì|å,÷gVþ-)¨–ðq8c°¶ €äppæC‡€§råŒWY–={:Iª¡ež}Û’øCÏŠTNÛ@±\Qüžù“±øä˜]g„ 42àžðP}ÿêÓ‘%q– °\ì¦j`þÎð˜‘&sup3;ž™Ë õaFx%[ b–6fVÁÖ™}ôÁ‡ù&sup2;€dôg ˆÛêÖae&sup1;’ÎF ^‘~•]ìåfæGd®&amp;1Òj…ZÉžõ#>Ã.ÏX&sup2;ií[8kVaÖX+€IpÖz‘àÝrË-»MùȏP3F‚M€­&frac12;’ä™&frac12;«„DæÈŠYm¶•ô,V‘ Pâænñå oìæ¿><µEW59,Ë€zú–@'F¤OÒ@€gA3>›|¿¡ÿ-?‚(H2Éüàðõ/¦WåŠå6 dÓm%êø V¤2ñxWºõÁ™UøÈËìOUúù„ày£øE–«XêG^DVßvˆß,wUæ&amp;°EPfQ\Ï0K@j£äŠ“'Á ‘±*—äqàFõ c§ Ò;›t&amp;ð’± 8ª‹%·OÛù6Ó1þà«{¨™>±7q^JL$]å6zõñ-vâ#v#J_5âÉ3yâÇVm‹6c8/A#â×ÏÁF|ŒO&sup1; ÿÛÇ<&frac14;©9ðŒ‰ñøæÎàŒôõ1xTdÿ+@­’o&frac14;q|Ór|3"OUfÓŠUwæðñ”­‰XŠ¿±3âÛ–Ýø&frac12;• dFˆCøêh}&frac34;¡ßßù å ”ƒNKŠ&frac12;ìì8ÃXAcø»Yt­l à¶Öô‰þ´*¸µ,&sup3;›<zWÖÉÃWüÛ [mÁËË®ùä¬&frac14;&sup1;ß'~ÁíõÈàê@Aά&frac34;ä¨ "øεªêúÎNҍ“<Ë‹à(í&sup3;J‡—ÎÈ]%/Ö&sup2;±J þžä‚h*€b3~4K˜ÇøøÁ¦•íⶪb;Eí?ìRiÉ^Š¬­Š™«Ë&amp;°8¥í‚ Xq|æÃ< æàj ê’¥gÒ°%L Qt5žøÛÓŠõ)¡–¨- ”’In@5âåmËŒå‡x­(;>Ï䊥 ­ªL×LFµc/`Ia[¿g-WZ5(÷d¥&frac14;øåêZ÷‘•«ä­>Á¥Ó(“”ôË“P{|&frac14;t’ËŠô¨FߊøÒÛ3âÎì‹V`Á‹7pt‹¶r[Ço+ìqˆ!Ώ¢$2êõxA—õÁÇQà<KrW:õ‘£Ò˜3[G$‘dê_%žLÖåü5“]'&sup1;&sup3;—&frac14;± ü¯ˆÎø&frac14;â3iÿì3[=7q]WUmË&frac34;þ¦&frac12;• 2E1>}&sup3;«d«$#"Ç›ÿ* ÏÝfà&sup1;j#g=0IíYÏ,¸«ϪҐ©kVÃTÉ]‘¸eŒ|Èø䊍ÛÝ«&frac14;°/y%“Œø&sup2;’7“±¿å„8-0’¸*·þÖì ›no’#â„_zÛ&sup3;ÏYít@Q&frac34;m´Síz™ìÒÏ|ˆNàfÓˆ$Ž~/ ΈŽ’HÒÈe“¥g* b“I´(oɪ.»V&frac14;#FÏäH¬ø·ê•~“håÇH~ÿlX&amp;p3Ç $N feU&sup1;÷ŠkÖ¯f€@ª`€–µ±ËfSU’¬™˜à’EÎ`ø$\Ã7Ó[m!Ç(Ë“%jUÉC\$Ç!~õ&frac12;àÈwÒÉä ÏäŠñÉÝ–äí,§x…b&sup3;A“É^,‰“ì™LÏÝB@åÈù2€ùå¨í¶ä&amp;gô ÛfK&sup3; _odf2Éÿ$5&frac14;« HŠª&frac34;¢‘o#~vÈL4“~ ,äàK G:Ë&sup3;M`…9ŽÇf3IR ÿÁ+€q<õ«O\tºJ‡¶ˆ}–PK€æˆ0 e£=ÝlÉ£[#à¨ø3[RøC¦8HäŠ×U Œ'‡&frac14;õw¢øøÇ®~f&frac34;›°&amp;ðψ<þŠàG¡&frac12;¡ªÝä¬~+ø*h5øV&frac14;±au àðð#0Ö êª"€ìŠø€ê TøäQrg€žL‰$Ö˜È&amp;5[Óôõ«>ßt¬*6~ºÉô¶ªY•ÿÛ#Ë@QìÁÖƒ&frac34;Y ¸[ gâˆFÖ*01|ÿ+‘E'&sup1;#Ò`øø8Íí3vK¨ñÎgD¶„jô­@¯B˜&frac14;[±Sà›ÉŠ-ñok€ÿ¬•‘&sup1;ºn+AB ì’gæÛtÏ&amp;Éf)£•êù,H’È6æÎ$º:9ìD¶ úª¯êu[“ôùX6˜„bi¢­È~ "s,•Nìåh¶$Çæº4®t§oæGú÷&sup1;nKBü¿íj_þŽHàìU,)Œå»˜Ç–£…ìWz&sup1;ŒÃCÖ „u Û$xG$A&amp;€&amp;y3&frac12;KoÖU£@ËÿùXeˆÿ¸àliäoâÓê{R|–;&frac34; |yô‰Ý Œ£q[Ïäb~ü&amp;° `X~Y°JH&amp;˜–Èàj’s@úÇ3'È_P§Òô&frac14;’Rpø÷Ç3_T&sup3;°ÉžêÒ¦INàíÇ-âà©Ö+þjfCæêO,F«Gøäàcož®älÉí¸}ùâ¿°â,)Ζ.I_&frac12;ê7K+àj&frac12;0&frac14;–({µùfÖsÿìdí0oŒì˜U€1YTZU(g€¥JìøŽ(±”¬-àI›ÉõŒŒlþù»¢}&frac12;®G¥µ i£qh6ƒ0¥~ÏF¤ŠhÖ~º<[6ì©úCT§ä«Ó-V™ÈŠÉµD˜ ;GÖ­ž‘íŽ}*Tâfì,nñ%¡[<âð‰¶h (ô–ŒUÿ&amp;°Mñ,1žÃ‘ä•Sp­‚\ädÿ•MlÏ„Jd©µ°±Ïk=ðXæg¿o’pzµ™Î^ùÛ*É_å(Ò·&frac12;&amp;8Tw¯Éñ–þð­ôlËfü¶ÖS—Iÿ 5s4[U&amp; &frac14;ªä,ð€j™ä·:Œ àT æ?"}ôª‡Îqø2£ø”‰0â£GL$wEð‘%6#ÒŒÏ[I bÃl©É=£O›åµŽ¡›þÈ®}ÝÝ&amp;° `&frac14;„HŒ_ ¬’b¶K¢ i3ƒ-i@ä­©7ÎÇŒ ŠUN«¸ŠÁúü/Ãl®}}BÿìF&sup2;z@”¶zVÖæ×êuEúUgzù4£™/=?9ì&sup3;/Ã-¢{_ùdmK,LC’8›­Œæ+[F£U'3af<\mF˜I<&sup3;Ãå‹M»¥t5 0‰øP@e슗,•xÃø@å>1‘8« ø÷9&sup2;¨•}t¤ú’©…Ž¬4€ŒU`0<3›Éø$Zà•Ãà…Ç…ê9Ó/&sup1;Ž(ôÏŽ(ø€Y–&frac12;!ÛLÿì99ùC­xð‰0›’5&sup3;ßs•ŒüU…(|&amp;‡ÓyEÉÝŠ‡Nà‹þ£‚ŠìM`­„R,@’"‘&sup3;Jâa‰\QúhDÃ9®©H[Ó"@f3žmþäìRkÖLJìj±«Yåí«c <T*-ù#b¯¸[9.&frac12;‚@íä®|ì˜M`eD!ðŒH@&sup3;4 ä,y˜%à›Š63„•£˜Y+挈’FÖìÃ0Ó;z›U!õafÿȇ™ŒÈUuVo¸øê¶!à›Éd_ø 0+úPb+‡°°EÃ,t£TfC8,Î^‘`‡rLºñ#É3Ýà¢q<AÉfy–G2›HRŒ•ù%GÖÓ`õÃ}¦‡ÿlZ=l7ñg“Çx|b€ÇÝjRê&sup3;BÈ_fìb:ËÇhü^àê@æƒÿ“¨"'GäH3|e >N9ð$Ï1'z ìfK‰3©`ôj&sup3;àJ$ðð?Û#Y:*à,‘Û{ñ*Ylcƒ¥w‹ädÇÈ⻉ÇæP+ÛŒO uK¯ÏHàê`˝߱«N9µN_&frac12;` &sup3;ÿêþ©Ò¸ ?oΐHâTN jcV{&sup3;ŒNÿžË®»nZ 3n+Y|0ñVõ„, âÃ:ŠDñÇ x· &frac34;-^Ý&sup3;ªÝT&amp;Hžåº ¬ˆÉ¯Û8 Hâg匁#HŒŠìs`Q‘øñL!OµÉFÛ˜¥Œ{ÃcÏl°ˆ™|þ¨âl_-Éú5“l‹jVi3@&sup2;Ï="Ïõdí›ñj26?¦˜ˆ&frac14;»®;Éù÷µ-ÿÝÖ67· j&sup3;Û…–ä«\ž °Ï&frac12;QŠ ‰vÿ™£¿Ï'€KGOdx3&sup2;„®–3Àðÿ𠀑gìŒø¤êVàÝÖ&frac34;±O?_S%ȬU(õAl&sup3; &frac14;±<ñÓ,ÒÈJŒ¢W?>Ç"t“×O&frac34;:>6d&frac14;kÏì&amp;ª þz&sup1;JÎð{Fo{~øbpc‹õÿõ|E›Ëà¶ì}Pk¿*8Ó’s¶=:=*ðÒF”€Z‡&frac14;bæoO%lÃÝoMVæήdh9KŠ-qt;dõ¯øž&sup3;Eâø1ӍG‚ädEäzb°ú·âÛ÷M4vå:&sup2;!“+&frac34;x<¨¦s-·ŒñôÏ÷V` ùgú+ùù6ۇÌ àíH¿Ë1ogQg[æ‘Áðo§ŒUà2nË 8 Î `€€õê4“@¥Šìø<Ç»u®%&amp;–æ^õ˜ùxbµ”-ÿcs›ô‡í ú\Óþ€êø#+ƒ W°¶ñ=Û6ÛK€IŠ Î@„ÖvÛ4Ëì&frac34;\0<[ßÓeìÖU24U6_+æøô•×äàÇñCÃ÷Œô›HYBg|ž&sup3;ðŒYíÁ0-y+¨¶o&frac12;[€Šü»¬ àZ%;sêô©&sup3;­Š ¦2—䬀 ’€Ž–=ºð’ ‘*þlùˆ®[ f2ù&sup1;5ë\÷¦õ}IÏÃ7&sup2;ù¶¢ªåvÇ'àÏ*”XP+™±o&amp;'cÛ„=l?¦<׎UŽ\¡"#×c+BúúÛA­mwk{§!à8&amp;¸‚&amp;`úŒ ¿„ìf6°`Ök‚<P@ ¬3à&sup2;EeÒ¶’€—Œ->¶Û£e?9ÛÈõÏ&frac14;׊äF3fæ¯ñ&amp; }b&frac34;¢‹ ¨È&sup1;(àŠ°ì&amp;ÿ…/|Áù¶&frac14; &amp;€þø8\7æ‘“kà ðeúꐪ4Yf'+­êÈÏUÿÈÈÁÃsÿ¬P–v€ZñÒ0»_J?°ä®^g>Ã_àþ°êÛßþÖ&sup1;¶:v…ŠÎ\/*°"4›ü¬g 0cK™%íú?"4Óìb¶àì>l•¤‘žù&sup3;$Ò(€âþŒÉΑê¬ßs2Öñ€ðÒ}E—Pñ;Îdzy àúÿ¥âLÛ?ÿm›æ!àT6ËWÛÁ àp¶·ú&frac12;käiæÎhõ·o…"¯Fß 0&amp;IìŠùä9@‰™&sup3;¥ÿM&sup1;cƒÖ&amp;zñ+ù•æ¯%•Ë˜÷mtk;X»©í­nno^§Z0Oô€ªTJ¶ ZT$ÁR¡P|hƒ¯o•gŒ%_HàU倃žÈO–¿ìÁ,%•ZRêǝílwâMkVI3ˆ>6E&frac34;ÇõFÿùPù"ô6â ñmrñ-2ù\Çð·=Ó–wcÛ+¨w¶&frac34;[3þR^Ï`偬혛[ðNµDŒð`…ÒW8 T ñàúêõ />WˆüÈËU¿äjx’0ÝXì(Ç$äõÖEž+Y€™µ&frac34; âw@‰&frac14; ’ð‰—&frac12;[Túª_-ΡŒ”ßc€Š—t)Œ’þŠc Ç` @g[€‡K¤àù‚ø!¢Ï$GA&amp;[â$B“¨Š¬ª[Us6Džª°"@ðk€•lË ¢ø42€‘,IÖ¶ €“ì™ídˆþ-¨v |®M¤K&frac34;äíl&sup1;G+VoD[ÎnmÉ»©GÝüxªlWÁ$L2{|à¤>ÁàT¬º<JHà‘±ùüËñùXÇdfÿÇ&sup3;£ c&amp; Éà PôDWdV °Dfo‹É„ǁ°å‘lmDíþÃÖ‡"7¶*õΦÇYÒFvxÖ©X&frac12;1í× ôZðÎ\ÝõÓƒVK€WxÉ‘tà9.ˆ=z&sup1;àU—å&frac34;ßÇjôWÿ¥âåZÛê&frac12; äËsKþŠêI&sup1;•`åwOÖ]àŠÃX Ò™n¸Ál êp‰0Û›£¬VŽÈ˯)ù&sup3;êñÓÇsæôj”&frac34;þêÖ-ùì PWKßå¨øÛ] cDm{ [¿Öµ¯Ýô–É›€vKä¨:I¨eÓŒÖ_“ð/…t—¤gr­$‘©\’«JUª6Ë»å czG^•™±%ÿ-»PEˆú[|Û Ýmù{§íDæ_N×ËX PÛhÏÖÖ 7·=ô©¢Ý,Ý&sup1;Jr;3Û&frac12;õ €õàâ#Aà«IÓâc&sup1;EÁ!3€Ò6XŒ/r݇*H&sup2;ô‘K°diÏ÷lX6o&frac12;õÖÛÿÝ&sup2;ôyßrs%\W­þô!›|U¬Ee©I@°¤fÃ_—2ÉÖVàà (×ðD&amp;=ôùx{ ¨Óùõ;BÝ~êÛKÃ%Ûê%z/Öõ&sup2;®X&frac12;&sup3;9ËAk­`ŽB%A@Aà‘øT¦º¬A¿z+Kõ¢«þÛL*F¯>:*hR±øÛú“r6„Šm»%¯Ý¯ßùl&sup1;,—&frac14;øú_¯(`åøà*°ðVàä*ÁªI¢ŒäÕü°új`©tæ‹ñ¡ª#Ïb“±ì© Ýå¤&frac14;Ý&frac12;&sup3;Ý_Q€ŠÿÓ/æâq\-‘í°õl;W:ÿ©º¤*pÁoºÃ/QU" í“Wsväüª™•Gõ `-ÁUgtQ@°!ÃËæ Œ‡­Ëv‘Ýÿ&frac34;^‘«Š Ö6ø75àì&frac34;*jõÉD*Vxí4›a›YÓ_¯€¢ ¥B ù ˜Zc|_±&sup2;qW¥¬€*@µ¯]nlÇ-÷øW/ì¸tUT¬>0mC~æùÏ~Ö­*–Ãõd[&frac34;ú’&sup3;ÛÁažÇª?@ ð\U1•õU1«‚¶V0ÃRô—Žs ¨—íÁ&amp;».]•àJ`r’ßuz,àA*¿Î®ËRVäõ·DÏz`©JþÓvi¿4Öå|°_{&frac12;*–âYl|[Eº©ææ&sup2;S­’?«Ë˜&frac12;jÃËiUEÓ_ßðÈàJYní¥€2€ p&frac14;žômíÏÒ.ǃíø~üËU ¬àú+Ûù“ü¶×:Q…O¥ñf©â¤êä9=°ÈFÏ-qZ`µåÓ9ôq°_{&frac12;W+AêI&frac34;¯Šú[䩶‘?_Á«&frac12;‘íXF&sup3;ôLÖE–J–·æZ¥z`5þ]…ºN꣋u&frac12;W+A°¯~õ«T° ,|ª·GËàW«|;@e ´ùÈŒ °ªÉæÖÿg&frac14;ì¿za÷¥ «zÓ&frac34;oàNž<&sup1;ÛM~۝?S•üü¸’Ï#+9r¨«õ¶jx®í·®º·&frac14;ê÷>÷×€U¢ôþ¢{÷oS´%ðôQ€õ6Ï‡í¯®êcƒž#Ý^Ö \Öìg>ÓlÛÿI¯`øúŠõþ8a÷W/mÉ»×W¨>Œ×€õG¤|ί)Ò‡·–·&frac14;vÎuYÝb&sup3;˜}íÖJ‰€&frac12;Á oøÿ&frac12;ÈEÿÃ@®»¯ùy-W]þ?•â ¶ùüÎúIEND®B`‚
[/spoiler]

paintutils can't read that. :D/>