Warning: session_start(): Session cannot be started after headers have already been sent in /home/tvrreohg/public_html/manga.php on line 13
3 Neb—'ã@sâdZdZddlZddlZddlmZddlmZddlm Z m Z ddl m Z m Z gdfd d „Zd d d dœZddddœZd+dd„Zd,dd„Zd-dd„Zdd„Zdd„Zd.dd „Zd!d"„Zd#d$„Zd/d%d&„Zd'd(„ZGd)d*„d*ƒZdS)0z3.3.0ÚéN)ÚBytesIO)Ú rl_config)Ú ImageReaderÚ isUnicode)ÚasciiBase85EncodeÚasciiBase85Decodeé<cCs4x.tdt|ƒ|ƒD]}|j||||…ƒqW|S)Nr)ÚrangeÚlenÚappend)ÚsrcÚdstZ chunkSizeÚi©rú;/tmp/tmp4i9tl1d3/lib64/python/reportlab/pdfbase/pdfutils.pyÚ_chunkersrÚRGBÚCMYKÚG)rrÚLéééFc CsÂddl}t|ƒ}|dk r2|j|ƒ|r2|jƒr2dS|jƒ\}}|jƒ}g}|j} | dƒ| d||t|jfƒ| dƒt|ƒ||t |jksšt dƒ‚|j |ƒ} t | ƒ} t | |ƒ| dƒ|S)NrÚBIz(/W %s /H %s /BPC 8 /CS /%s /F [/A85 /Fl]ÚIDzWrong amount of data for imageÚEI)Úzlibrr Újpeg_fhÚgetSizeÚ getRGBDataÚ_mode2csÚmoder Ú _mode2bppÚAssertionErrorÚcompressrr) ÚfilenameÚIMGÚ detectJpegrÚimgÚimgwidthÚ imgheightÚrawÚcoder Ú compressedÚencodedrrrÚ makeA85Images&   "  r0c Csºddl}t|ƒ}|dk r2|j|ƒ|r2|jƒr2dS|jƒ\}}|jƒ}g}|j} | dƒ| d||t|jfƒ| dƒt|ƒ||t |jksšt dƒ‚|j |ƒ} t | |ƒ| dƒ|S)Nrrz#/W %s /H %s /BPC 8 /CS /%s /F [/Fl]rzWrong amount of data for imager) rrr rrr r!r"r r#r$r%r) r&r'r(rr)r*r+r,r-r r.rrrÚ makeRawImage9s$   "  r1cCsÆtjj|ƒdtjrdpd}||krft|ƒrXddlm}|rdtd||ƒj ƒj dƒƒSqÂt d|ƒ‚n\tjrxt ||ƒ}n t ||ƒ}|rŠ|St|dƒ}|jdj|ƒdƒ|jƒtjrÂtd |ƒdS) zHProcesses image as if for encoding, saves to a file with .a85 extension.rz.a85z.bin)Ú open_for_readNz zNo such cached image %sÚwbzcached image as %s)ÚosÚpathÚsplitextrÚuseA85ÚcachedImageExistsÚreportlab.lib.utilsr2ÚfilterÚreadÚsplitÚIOErrorr0r1ÚopenÚwriteÚjoinÚcloseÚverboseÚprint)r&ZreturnInMemoryr'Ú cachednamer2r-ÚfrrrÚcacheImageFileTs"    rFcCsXddl}t|tƒr|j|ƒ}n|}x0|D](}t|ƒrHtjrPtd|ƒq(t|ƒq(WdS)zòPreprocesses one or more image files. Accepts either a filespec ('C:\mydir\*.jpg') or a list of image filenames, crunches them all to save time. Run this to save huge amounts of time when repeatedly building image documents.rNz#cached version of %s already exists)ÚglobÚ isinstanceÚstrr8rrBrCrF)ÚspecrGÚfilelistr&rrrÚpreProcessImagesms   rLcCs`tjj|ƒdtjrdpd}tjj|ƒrXtj|ƒd}tj|ƒd}||krRdSdSndSdS)z­Determines if a cached image already exists for a given file. Determines if a cached image exists which has the same name and equal or newer date to the given file.rz.a85ÚbinérN)r4r5r6rr7ÚisfileÚstat)r&rDZ original_dateZ cached_daterrrr8„s r8ú úcCs$|jd|ƒjd|ƒjd|ƒj||ƒS)zzNormalizes different line end character(s). Ensures all instances of CR, LF and CRLF end up as the specified one.z ú Ú )Úreplace)ÚtextZdesiredZunlikelyrrrÚ_normalizeLineEndsœs rWcCs:t|ƒr|jdƒ}tƒ}|jtj|ƒƒ|jdƒ|jƒS)zÂEncodes input using ASCII-Hex coding. This is a verbose encoding used for binary data within a PDF file. One byte binary becomes two bytes of ASCII. Helper function used by images.zutf-8ó>)rÚencoderr?ÚbinasciiÚb2a_hexÚgetvalue)ÚinputÚoutputrrrÚ_AsciiHexEncode¨s   r_cs|t|ƒs|jdƒ}dj|jƒƒ‰ˆd dks4tdƒ‚ˆdd …‰tˆƒddksXtd ƒ‚dj‡fd d „tdtˆƒdƒDƒƒS)zeDecodes input using ASCII-Hex coding. Not used except to provide a test of the inverse function.zutf-8rrú>z'Invalid terminator for Ascii Hex StreamNérz(Ascii Hex stream has odd number of bytescs&g|]}ttˆ||d…dƒƒ‘qS)raé)ÚchrÚint)Ú.0r)Ústrippedrrú Ãsz#_AsciiHexDecode..éÿÿÿÿrh)rÚdecoder@r<r$r r )r]r)rfrÚ_AsciiHexDecode¶s  rjcCs’g}t|ƒ}d}||}x2||krJ|j||||…ƒ|d}||}qWt|dƒdkrˆ|ddd…|d d |d g|d d…<dj|ƒS) z>Wraps input at a given column size by inserting characters.rrraNz rhéþÿÿÿrhrkrhrhrk)r r r@)r]Úcolumnsr^ÚlengthrÚposrrrÚ_wrapÅs  ,roc Cs>ddl}ddlm}dddg}ddd d d d d dddg }dddddddddddg }d'}d}�xÞ|�s8|jd|jdƒƒ}|ddkr\|jd|jdƒƒ}|d|k�rD|jddƒ|jd|jdƒƒ}|dd krÒ|d!ƒ‚|jd"|jdƒƒ} | dd >| d} |jd"|jdƒƒ} | dd >| d} |jd|jdƒƒ} | d} | | | |fS|dd#k�rØ|jd"|jdƒƒ}|dd >|dd} |j| ƒ}|jd"|d$d%…ƒ} |jd"|d d$…ƒ}|dd >|d| dd >| df}q\|d|k�rø|d&|dƒ‚q\|d|kr\|jd"|jdƒƒ}|j|dd >|dddƒq\WdS)(z@Read width, height and number of components from open JPEG file.rN)ÚPDFErroréÀéÁéÂéÐéÑéÒéÓéÔéÕéÖé×éØréÃéÅéÆéÇéÈéÉéÊéËéÍéÎéÏéHÚBéÿrarNz#JPEG must have 8 bits per componentZBBéàé é z#JPEG Unsupported JPEG marker: %0.2x)rˆrˆ)ÚstructZreportlab.pdfbase.pdfdocrpÚunpackr;Úseek)ÚimagerŽrpZ validMarkersZnoParamMarkersZunsupportedMarkersZdpiÚdoneÚxÚyÚheightÚwidthZcolorÚnrrrÚ readJPEGInfoßsF        * r˜c@s4eZdZdd„Zdd„Zdd„Zdd„Zd d „Zd S) Ú_fusccCs.|s tdƒ‚||_t|ƒ|_t|ƒp&d|_dS)Nz'Argument k should be a non empty stringé)r$Ú_kr Ú_klenrdÚ_n)ÚselfÚkr—rrrÚ__init__s  z_fusc.__init__c Cs.|jtdjtt|jttt|ƒƒƒƒƒƒ|jƒS)Nr) Ú _fusc__rotaterr@ÚmaprcÚ _fusc__fuscÚlistÚordr�)ržÚsrrrÚencryptsz _fusc.encryptc Cs0djtt|jtttt|j||j ƒƒƒƒƒƒƒS)Nr) r@r¢rcr£r¤r¥rr¡r�)ržr¦rrrÚdecryptsz _fusc.decryptcCsFt|ƒ}|dkr||}||;}|s(|S|| d…|d||…S)Nr)r )ržr¦r—ÚlrrrZ__rotate!sz_fusc.__rotatec CsBt|ƒ}ttdd„|tttt||jƒd|jd|…ƒƒƒƒS)NcSs||AS)Nr)r“r”rrrÚ*sz_fusc.__fusc..r)r r¤r¢r¥rdrœr›)ržr¦ZslenrrrZ__fusc(sz _fusc.__fuscN)Ú__name__Ú __module__Ú __qualname__r r§r¨r¡r£rrrrr™s r™)NF)NF)rN)rQrR)r )Ú __version__Ú__doc__r4rZÚiorÚ reportlabrr9rrZreportlab.lib.rl_accelrrrr!r#r0r1rFrLr8rWr_rjror˜r™rrrrÚs*         5