Warning: session_start(): Session cannot be started after headers have already been sent in /home/tvrreohg/public_html/manga.php on line 13
3 j @s dZdZddlZddlZddlmZddlmZmZm Z m Z m Z m Z m Z mZddlmZmZmZmZmZmZmZmZmZddlmZmZdd lmZdd lmZdd lmZ dd lm!Z"dd lm#Z$ddl%m&Z&m'Z'm(Z(ddl)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1ddlm2Z2m3Z3ej4e5Z6dZ7ej8dZ9Gddde:e0Z;GdddeeddddZ?Gddde=Z@Gdd d e@ZAGd!d"d"e@ZBGd#d$d$eAZCd,eee deDe eDeeEeDffe e0eEeDeCfd%d&d'ZFGd(d)d)e>ZGGd*d+d+e>ZHdS)-zMathieu Fenniakzbiziqe@mathieu.fenniak.netN)BytesIO)AnyDictIterableListOptionalTupleUnioncast) WHITESPACES StreamTypeb_deprecate_with_replacementhex_strlogger_warningread_non_whitespaceread_until_regexskip_over_comment)CheckboxRadioButtonAttributesFieldDictionaryAttributes) FilterTypes)OutlineFontFlag)StreamAttributes) TypArguments)TypFitArguments)STREAM_TRUNCATED_PREMATURELY PdfReadErrorPdfStreamError) BooleanObject FloatObjectIndirectObject NameObject NullObject NumberObject PdfObjectTextStringObject)read_hex_string_from_streamread_string_from_streams+-s[+-]?(\d+)\s+(\d+)\s+R[^a-zA-Z]c @seZdZeedddZeedee fddddZ eedee fdddd Z e deeedee eeeeffdd d d Ze eedd ddZdS) ArrayObject)returncCst|S)zS Emulate DictionaryObject.items for a list (index, object) ) enumerate)selfr.A/tmp/pip-build-vnmlutbd/PyPDF2/PyPDF2/generic/_data_structures.pyitemsLszArrayObject.itemsN)streamencryption_keyr+cCs<|jdx"|D]}|jd|j||qW|jddS)N[ s ])writewrite_to_stream)r-r1r2datar.r.r/r6Ss    zArrayObject.write_to_streamcCstdd|j||dS)N writeToStreamr6)rr6)r-r1r2r.r.r/r8\s zArrayObject.writeToStream)r1pdfforced_encodingr+cCst}|jd}|dkr tdxd|jd}x|jrB|jd}q.W|jdd|jd}|dkrdP|jdd|jt|||q"W|S)Nrr3zCould not read array]r<)r*readrisspaceseekappend read_object)r1r9r:ZarrtmptokZ peekaheadr.r.r/read_from_streambs      zArrayObject.read_from_stream)r1r9r+cCstddtj||S)NreadFromStreamrD)rr*rD)r1r9r.r.r/rE{s zArrayObject.readFromStream)N)__name__ __module__ __qualname__rrr0r r strbytesr6r8 staticmethodrrintrDrEr.r.r.r/r*Ks r*c @seZdZeedddZeeedddZdeeeeddd Zeedd d Z e eed d dZ eed ddZ e eed ddZ eedeefddddZeedeefddddZedeeedeeeeeeffddddZeeeddddZdS) DictionaryObject)keyr+cCs tj||S)N)dict __getitem__)r-rNr.r.r/raw_getszDictionaryObject.raw_get)rNvaluer+cCs2t|tstdt|ts$tdtj|||S)Nzkey must be PdfObjectzvalue must be PdfObject) isinstancer& ValueErrorrO __setitem__)r-rNrRr.r.r/rUs   zDictionaryObject.__setitem__NcCs2t|tstdt|ts$tdtj|||S)Nzkey must be PdfObjectzvalue must be PdfObject)rSr&rTrO setdefault)r-rNrRr.r.r/rVs   zDictionaryObject.setdefaultcCstj||jS)N)rOrP get_object)r-rNr.r.r/rPszDictionaryObject.__getitem__)r+cCsNddlm}|jdd}|dkr$dS|j}t||sJ||}||td<|S)a Retrieve XMP (Extensible Metadata Platform) data relevant to the this object, if available. Stability: Added in v1.12, will exist for all future v1.x releases. @return Returns a {@link #xmp.XmpInformation XmlInformation} instance that can be used to access XMP metadata from the document. Can also return None if no metadata was found on the document root. r )XmpInformationz /MetadataN)xmprXgetrWrSr#)r-rXmetadatar.r.r/ xmp_metadatas    zDictionaryObject.xmp_metadatacCstdd|jS)zW .. deprecated:: 1.28.3 Use :meth:`xmp_metadata` instead. getXmpMetadatar\)rr\)r-r.r.r/r]s zDictionaryObject.getXmpMetadatacCstdd|jS)zW .. deprecated:: 1.28.3 Use :meth:`xmp_metadata` instead. xmpMetadatar\)rr\)r-r.r.r/r^s zDictionaryObject.xmpMetadata)r1r2r+cCs^|jdxDt|jD]4\}}|j|||jd|j|||jdqW|jddS)Ns<< r4 s>>)r5listr0r6)r-r1r2rNrRr.r.r/r6s    z DictionaryObject.write_to_streamcCstdd|j||dS)Nr8r6)rr6)r-r1r2r.r.r/r8s zDictionaryObject.writeToStream)r1r9r:r+csttttttdfdd tttdfdd }|jd}|dkr^td t|jd i}xBt |}|d krzqfn|d kr|j d#d t |qf|st t |dkr|jd P|j d$d y.t||}t |}|j d%d t|||}Wn^tk rP} z@|dk r$|jr$t| jt| jtt} | j|| Sd} ~ XnX|j|sh|||<qfdt|jd|} |dk r|jrt| t| tqfW|j} t |} | dkrJ|jddkrJ|jd }x|dkr|jd }qW|d&kr t d|dkr0|jd dkr0|j d'd tj|krDt d|tj}t|trx|j}|j|}|j |d|j}|j||d<t |}|jd}||dkrV|j} |j d(d |jd}|dkr|ddd)|d<n\|js|j |d||||d<|j} n0|j | dtdt|jd |d!|d"n |j | dd|krjtj|St} | j|| SdS)*N)pp1rem_gensr9r+csf|j|d}x,|D]$}|||kr|||kr||}qWt|dkrL|S|||dd|SdS)Nrr)xreflen)rarbrcr9lo)get_next_obj_posr.r/rhs   z;DictionaryObject.read_from_stream..get_next_obj_pos)r1r9r+csz|jd t|j|d}|j}|j||j}|jd}|dkrXtd|d|j||d|d|dS) Nr rs endstreamrz6Unable to find 'endstream' marker for obj starting at . l)tellr`rdr=findrr?)r1r9Zeoncurrrwra)rhr.r/read_unsized_from_steams zBDictionaryObject.read_from_stream..read_unsized_from_steamr s<z+Multiple definitions in dictionary at byte z for key sstreamr4r_ z)Stream data must be followed by a newlinezStream length not definedr__streamdata__s endstream rkz7Unable to find 'endstream' marker after stream at byte z (nd='z', end='z').r<r<r<)r_rvr<ir<)rLrrr rJr=rrrlrr?rrrrA Exceptionstrict__repr__rrFrMupdaterZSALENGTHrSr"rW StreamObjectinitialize_from_dictionary)r1r9r:rprBr7rCrNrRexcretvalmsgposseollengthtZpstarteZndstreamendr.)rhr/rDs                             $    z!DictionaryObject.read_from_stream)r1r9r+cCstddtj||S)NrErD)rrMrD)r1r9r.r.r/rE]s zDictionaryObject.readFromStream)N)N)rFrGrHrrQrUrrVr&rPpropertyr\r]r^r r rIrJr6r8rKrrrLrDrEr.r.r.r/rMs(    rMc@seZdZddddZedddZedddZedd d Ze edd d Z eedd ddZ eedd ddZ eddddZ eeeeddddZeddddZddddZddddZddddZdS) TreeObjectN)r+cCstj|dS)N)rM__init__)r-r.r.r/rfszTreeObject.__init__cCstddd|jS)N hasChildren has_childrenz4.0.0)rr)r-r.r.r/ris zTreeObject.hasChildrencCsd|kS)Nz/Firstr.)r-r.r.r/rmszTreeObject.has_childrencCs|jS)N)children)r-r.r.r/__iter__pszTreeObject.__iter__ccsf|js dS|td}|j}x@|V||tdkrtj|krt}nt}|d|_|d=|tj=|j||S)Nrw)r~FILTERrrrrr})r7rr.r.r/rEs   z'StreamObject.initialize_from_dictionarycCstdd|jS)N flateEncode flate_encode)rr)r-r.r.r/rTs zStreamObject.flateEncodecCsddlm}tj|krb|tj}t|tr>|jdttj qjt}|j td|j ||}ntd}t }||ttj<|j |j |_ |S)Nr ) FlateDecoderz /FlateDecode)filtersrr~rrSr*insertr#FTZ FLATE_DECODEr@rencoder)r-rfZnewfrr.r.r/rXs     zStreamObject.flate_encode)rr)rr)rFrGrHrrJrrrrsetterrrr r rIr6rKrrrrr __classcell__r.r.)rr/rs(    rc@sHeZdZedddZeedddZedddZed dd d Zd S) r)r+cCs|jS)N)r)r-r.r.r/get_datamszDecodedStreamObject.get_data)r7r+cCs ||_dS)N)r)r-r7r.r.r/set_datapszDecodedStreamObject.set_datacCstdd|jS)NgetDatar)rr)r-r.r.r/rss zDecodedStreamObject.getDataNcCstdd|j|dS)NsetDatar)rr)r-r7r.r.r/rws zDecodedStreamObject.setData)rFrGrHrrrrrr.r.r.r/rlsrc@seZdZddddZeeddddZejeddd dZe de e fdd d Z e de e fdd d Z eddddZeddddZdS)rN)r+cCs d|_dS)N)r)r-r.r.r/r}szEncodedStreamObject.__init__rcCstdd|jS)Nrr)rr)r-r.r.r/rs zEncodedStreamObject.decodedSelf)rRr+cCstdd||_dS)Nrr)rr)r-rRr.r.r/rs cCsvddlm}|jdk r |jjSt}|||_x4t|jD]$\}}|tj tj tj fkr>|||<q>W||_|jSdS)Nr )decode_stream_data) rrrrrrr`r0r~rrZ DECODE_PARMS)r-rdecodedrNrRr.r.r/rs     zEncodedStreamObject.get_datacCstdd|jS)Nrr)rr)r-r.r.r/rs zEncodedStreamObject.getData)r7r+cCs tddS)Nz7Creating EncodedStreamObject is not currently supported)r)r-r7r.r.r/rszEncodedStreamObject.set_datacCstdd|j|S)Nrr)rr)r-r7r.r.r/rs zEncodedStreamObject.setData)rFrGrHrrrrrrr rIrJrrrrrr.r.r.r/r|src @seZdZdeeedeeeeeeffddddZ e ddddZ e eeefddd Z e ed d d Zejeeefdd dd ZdS) ContentStreamN)r1r9r:r+c Cs||_g|_|j}t|trnd}x@|D]8}|t|jj7}t|dksX|ddkr(|d7}q(Wt|}n$|j}|dk st t|}t|}||_ |j |dS)Nrrr_r<) r9 operationsrWrSr*rrrerrr:$_ContentStream__parse_content_stream) r-r1r9r:r7rZ stream_bytesZ stream_dataZstream_data_bytesr.r.r/rs      zContentStream.__init__)r1r+cCs|jddg}xt|}|dks*|dkr,P|jd d|jsH|d krt|tjd}|dkr|gksjt|j|}|jj |dfq|jj ||fg}q|d krx,|dkr|j d}qWq|j t |d|j qWdS)Nrrr'"TsBIs INLINE IMAGErrrvr_r<)rr)rvr_) r?risalpharr#Zdelimiter_patternr_read_inline_imagerr@r=rAr:)r-r1operandspeekoperatoriir.r.r/Z__parse_content_streams&     z$ContentStream.__parse_content_streamcCst}xVt|}|jd d|dkr&Pt||j}t|}|jddt||j}|||<qW|jd}|dddks|tt}x|jd}|std|j d} | dkr|j |q|j |d | |j| t |d|jd}|jd} | dkr|| d| t kr|jd} || } d } x&| t krPd } | | 7} |jd} q,W| rh|jddPn|jdd|j | q|jdd|j |qW||j d S)NrIr sIDi zUnexpected end of streamErFT)settingsr7r<r<r<r<r<r<)rMrr?rAr9r=rrrrmr5rer getvalue)r-r1rrCrNrRrBr7buflocZtok2Ztok3infoZhas_q_whitespacer.r.r/rsR                  z ContentStream._read_inline_image)r+cCst}x|jD]\}}|dkrx|jdt}|dj|d|j|jdd |jd|j|d|jdn2x"|D]}|j|d|jdq~W|jt||jd qW|jS) Ns INLINE IMAGEsBIrr sID r7sEIr4r_)rrr5r6rr)r-newdatarrZdicttextopr.r.r/r!s      zContentStream._data)rRr+cCs|jtt|dS)N)rrr)r-rRr.r.r/r5s)N)rFrGrHrr rIrrrLrr rrrrJrrr.r.r.r/rs <r)r1r9r:r+cCs|jd}|jdd|dkr*tj||S|dkrl|jd}|jdd|dkr^tj|||St||Sn\|dkrtj|||S|dks|dkrtj|S|d krt||S|d kr|jd d kr|jddt S|d krt j|S|dkrFx0|dkr$|jd}t |dkrt dqWt |}|jddt |||S|dkr|jd}|jt | dtj|dk rtj||Stj|Sn4|jddtd|d|jd|jdjdS)Nr/` N)r7r+c CsVtj|tjtj}x6|D].}y|||t|<Wq tk rLYq Xq WdS)N)rMrr attributesrr#KeyError)r-r7Zfield_attributesattrr.r.r/rys   zField.__init__)r+cCs |jtjS)z4Read-only property accessing the type of this field.)rZrr)r-r.r.r/ field_typeszField.field_typecCstdd|jS)zX .. deprecated:: 1.28.3 Use :py:attr:`field_type` instead. fieldTyper)rr)r-r.r.r/rs zField.fieldTypecCs |jtjS)z6Read-only property accessing the parent of this field.)rZrZParent)r-r.r.r/parentsz Field.parentcCs |jtjS)z4Read-only property accessing the kids of this field.)rZrZKids)r-r.r.r/kidssz Field.kidscCs |jtjS)z4Read-only property accessing the name of this field.)rZrT)r-r.r.r/namesz Field.namecCs |jtjS)z>Read-only property accessing the alternate name of this field.)rZrZTU)r-r.r.r/alternate_nameszField.alternate_namecCstdd|jS)z\ .. deprecated:: 1.28.3 Use :py:attr:`alternate_name` instead. altNamer)rr)r-r.r.r/rs z Field.altNamecCs |jtjS)z Read-only property accessing the mapping name of this field. This name is used by PyPDF2 as a key in the dictionary returned by :meth:`get_fields()` )rZrZTM)r-r.r.r/ mapping_nameszField.mapping_namecCstdd|jS)zZ .. deprecated:: 1.28.3 Use :py:attr:`mapping_name` instead. mappingNamer)rr)r-r.r.r/rs zField.mappingNamecCs |jtjS)z Read-only property accessing the field flags, specifying various characteristics of the field (see Table 8.70 of the PDF 1.7 reference). )rZrZFf)r-r.r.r/flagssz Field.flagscCs |jtjS)zr Read-only property accessing the value of this field. Format varies based on field type. )rZrV)r-r.r.r/rRsz Field.valuecCs |jtjS)z=Read-only property accessing the default value of this field.)rZrZDV)r-r.r.r/ default_valueszField.default_valuecCstdd|jS)z[ .. deprecated:: 1.28.3 Use :py:attr:`default_value` instead. defaultValuer)rr)r-r.r.r/rs zField.defaultValuecCs |jtjS)z Read-only property accessing the additional actions dictionary. This dictionary defines the field's behavior in response to trigger events. See Section 8.5.2 of the PDF 1.7 reference. )rZrZAA)r-r.r.r/additional_actionsszField.additional_actionscCstdd|jS)z` .. deprecated:: 1.28.3 Use :py:attr:`additional_actions` instead. additionalActionsr)rr)r-r.r.r/rs zField.additionalActions)rFrGrH__doc__rrIrrrrr#rrrMrr*rrrrrrrLrrRrrrrr.r.r.r/rqs@     rc@sheZdZdZeeeeee feeefe ddddZ e e dddZe dd d Zeedeefdd d d Ze eedddZe eedddZe eedddZe eedddZe eedddZe eedddZe eedddZe eedddZe ee dddZe eedd d!Z e eedd"d#Z!dS)$ Destinationa A class representing a destination within a PDF file. See section 8.2.1 of the PDF 1.6 reference. :param str title: Title of this destination. :param IndirectObject page: Reference to the page of this destination. Should be an instance of :class:`IndirectObject`. :param str typ: How the destination is displayed. :param args: Additional arguments may be necessary depending on the type. :raises PdfReadError: If destination type is invalid. .. list-table:: Valid ``typ`` arguments (see PDF spec for details) :widths: 50 50 * - /Fit - No additional arguments * - /XYZ - [left] [top] [zoomFactor] * - /FitH - [top] * - /FitV - [left] * - /FitR - [left] [bottom] [right] [top] * - /FitB - No additional arguments * - /FitBH - [top] * - /FitBV - [left] N)titlepagetypargsr+c Gsftj|t||td<||td<||td<|dkrd|\|ttj<|ttj<|td<n|tjkr|\|ttj<|ttj <|ttj <|ttj<n|tj tj gkry|\|ttj<Wn$t k rt|ttj<YnXnr|tjtjgkr@y|\|ttj<Wn&t k r<t|ttj<YnXn"|tjtjgkrTntd|dS)Nz/Titlez/Pagez/Typez/XYZz/ZoomzUnknown Destination Type: )rMrr'r#TALEFTZTOPTFZFIT_RZBOTTOMRIGHTZFIT_HZFIT_BHrzr$ZFIT_VZFIT_BVZFITZFIT_Br)r-rrrrr.r.r/rs*   * 6zDestination.__init__)r+cs(tjddgfddd DS) Nz/Pagez/Typecsg|]}|kr|qSr.r.).0x)r-r.r/ Hsz*Destination.dest_array../Left/Bottom/Right/Top/Zoom)rrrrr )r*rQ)r-r.)r-r/ dest_arrayCs zDestination.dest_arraycCstdd|jS)zX .. deprecated:: 1.28.3 Use :py:attr:`dest_array` instead. getDestArrayr )rr )r-r.r.r/r Ns zDestination.getDestArray)r1r2r+cCs|jdtd}|j|||jd|j}|j||td}|j|||jdtd}|j|||jd|jddS)Ns<< z/Dr4z/Sz/GoTor_s>>)r5r#r6r )r-r1r2rNrRZvalue_sr.r.r/r6Ws        zDestination.write_to_streamcCs |jdS)z3Read-only property accessing the destination title.z/Title)rZ)r-r.r.r/rjszDestination.titlecCs |jdS)z9Read-only property accessing the destination page number.z/Page)rZ)r-r.r.r/roszDestination.pagecCs |jdS)z2Read-only property accessing the destination type.z/Type)rZ)r-r.r.r/rtszDestination.typcCs |jddS)z-Read-only property accessing the zoom factor.z/ZoomN)rZ)r-r.r.r/zoomyszDestination.zoomcCs |jddS)zsD (,      (   8c# X+ 3