§
    eÒ³gtd  ã            	       ób  — d dl Z d dlmZ d dlmZmZmZmZmZm	Z	m
Z
mZmZmZ d dlmZ d dlmZ d dlmZ d dlmZmZmZmZmZmZmZ d dlmZmZ d d	l m!Z! d d
l"m#Z# ddl$m%Z% ddl&m'Z'm(Z(m)Z)m*Z* ddl+m,Z, ddl-m.Z.m/Z/ ddl0m1Z1m2Z2m3Z3m4Z4 ddl%m5Z5m6Z6m7Z7 ddl8m9Z9  e j:        d¦  «        Z; e<g d¢¦  «        Z=erddl>m?Z? ddl@mAZA ddddddœZBdeCdeDfd„ZEd eed!f         dee
eeeFeGf         d!f                  e
eD         f         fd"„ZHd edee
eeeFeGf         d!f                  e
eD         f         fd#„ZId$eeDef         deeDef         fd%„ZJ G d&„ d'e¦  «        ZKd8d(e'd)e(de'fd*„ZLd(e'd+e(de'fd,„ZM G d-„ d.e,¦  «        ZN G d/„ d0eN¦  «        ZOd1e'd2e'ddfd3„ZP G d4„ d5eO¦  «        ZQ G d6„ d7eO¦  «        ZRdS )9é    N)Ú	lru_cache)
ÚTYPE_CHECKINGÚAnyÚCallableÚDictÚ	GeneratorÚListÚOptionalÚPatternÚTupleÚUnion)Ú	normalize)Úwarn)ÚPDFPageAggregator)ÚLTCharÚLTComponentÚLTContainerÚLTCurveÚLTItemÚLTPageÚLTTextContainer)ÚPDFPageInterpreterÚ	PDFStackT)ÚPDFPage)Ú	PSLiteralé   )Úutils)ÚT_bboxÚT_numÚT_objÚ
T_obj_list)Ú	Container)ÚPDFStructTreeÚStructTreeMissing)ÚT_table_settingsÚTableÚTableFinderÚTableSettings)Údecode_textÚresolve_allÚresolve_and_decode)ÚTextMapz^LT)ÚadvÚheightÚ	linewidthÚptsÚsizeÚsrcsizeÚwidthÚx0Úx1Úy0Úy1ÚbitsÚmatrixÚuprightÚfontnameÚtextÚ	imagemaskÚ
colorspaceÚevenoddÚfillÚnon_stroking_colorÚstrokeÚstroking_colorÚstreamÚnameÚmcidÚtag)Ú	PageImage)ÚPDFzSimSun,RegularzSimHei,RegularzSimKai,RegularzSimFang,RegularzSimLi,Regular)s   ËÎÌås   ºÚÌås   ¿¬Ìå_GB2312s   ·ÂËÎ_GB2312s   Á¥Êér;   Úreturnc                 ó   — d| v r-|                       d¦  «        dz   }| d |…         | |d …         }}nd| }}t                               |t          |¦  «        dd…         ¦  «        }t          |¦  «        dd…         |z   S )Nó   +r   ó    é   éÿÿÿÿ)ÚindexÚCP936_FONTNAMESÚgetÚstr)r;   Úsplit_atÚprefixÚsuffixÚ
suffix_news        úM/var/www/html/mpstechhub/venv/lib/python3.11/site-packages/pdfplumber/page.pyÚfix_fontname_bytesrY   Z   s‡   € ØˆxÐÐØ—>’> $Ñ'Ô'¨!Ñ+ˆØ! ) 8 )Ô,¨h°x°y°yÔ.A�ˆˆà˜h�ˆå ×$Ò$ V­S°©[¬[¸¸2¸Ô->Ñ?Ô?€JÝˆv‰;Œ;�q˜�tÔ˜zÑ)Ð)rM   Úcolor.c                 óŒ   — t          | d         t          ¦  «        r&| d d…         pd t          | d         j        ¦  «        fS | d fS )NrO   )Ú
isinstancer   r)   rE   )rZ   s    rX   Úseparate_patternr]   e   sJ   € õ �%˜”)�YÑ'Ô'ð Ø�c�r�c”
Ð"˜d¥[°°r´´Ñ%@Ô%@Ð@Ð@à�dˆ{ÐrM   c                 ó¨   — | €dS t          | t          ¦  «        r| }n(t          | t          ¦  «        rt          | ¦  «        }n| f}t          |¦  «        S )N)NN)r\   ÚtupleÚlistr]   )rZ   Ú	tuplefieds     rX   Únormalize_colorrb   n   s[   € ð €}Øˆ|Ý	�E�5Ñ	!Ô	!ð Øˆ	ˆ	Ý	�E�4Ñ	 Ô	 ð Ý˜%‘L”Lˆ	ˆ	à�Hˆ	Ý˜IÑ&Ô&Ð&rM   Úkwargsc                 ó>   — d„ |                       ¦   «         D ¦   «         S )Nc                 ób   — i | ],\  }}|t          |t          ¦  «        rt          |¦  «        n|“Œ-S © )r\   r`   r_   )Ú.0ÚkeyÚvalues      rX   ú
<dictcomp>z'tuplify_list_kwargs.<locals>.<dictcomp>}   sG   € ð ð ð áˆC�ð 	�j¨µÑ5Ô5Ð@�e�E‰lŒlˆl¸5ðð ð rM   )Úitems)rc   s    rX   Útuplify_list_kwargsrl   |   s+   € ðð à Ÿ,š,™.œ.ðñ ô ð rM   c                   ó¨   ‡ — e Zd ZU dZdZee         ed<   dZee	         ed<   dde
dee         ddfd„Zdd	„Zdd
„Zdefˆ fd„Zdˆ fd„Zdˆ fd„Zˆ xZS )Ú"PDFPageAggregatorWithMarkedContentzZExtract layout from a specific page, adding marked-content IDs to
    objects where found.NÚcur_mcidÚcur_tagrG   ÚpropsrJ   c                 ó–   — t          |j        ¦  «        | _        t          |t          ¦  «        rd|v r|d         | _        dS d| _        dS )z5Handle beginning of tag, setting current MCID if any.ÚMCIDN)r)   rE   rp   r\   Údictro   )ÚselfrG   rq   s      rX   Ú	begin_tagz,PDFPageAggregatorWithMarkedContent.begin_tagŠ   sG   € å" 3¤8Ñ,Ô,ˆŒÝ�e�TÑ"Ô"ð 	! v°  Ø! &œMˆDŒMˆMˆMà ˆDŒMˆMˆMrM   c                 ó"   — d| _         d| _        dS )z/Handle beginning of tag, clearing current MCID.N)rp   ro   ©ru   s    rX   Úend_tagz*PDFPageAggregatorWithMarkedContent.end_tag’   s   € àˆŒØˆŒˆˆrM   c                 óv   — | j         j        r,| j         j        d         }| j        |_        | j        |_        dS dS )z^Add current MCID to what we hope to be the most recent object created
        by pdfminer.six.rO   N)Úcur_itemÚ_objsro   rF   rp   rG   )ru   Úcur_objs     rX   Útag_cur_itemz/PDFPageAggregatorWithMarkedContent.tag_cur_item—   s@   € ð Œ=Ôð 	'Ø”mÔ)¨"Ô-ˆGØœ=ˆGŒLØœ,ˆGŒKˆKˆKð	'ð 	'rM   c                 ób   •—  t          ¦   «         j        |i |¤Ž}|                      ¦   «          |S )z;Hook for rendering characters, adding the `mcid` attribute.)ÚsuperÚrender_charr~   )ru   Úargsrc   r-   Ú	__class__s       €rX   r�   z.PDFPageAggregatorWithMarkedContent.render_char¥   s5   ø€ à!�e‰gŒgÔ! 4Ð2¨6Ð2Ð2ˆØ×ÒÑÔÐØˆ
rM   c                 ób   •—  t          ¦   «         j        |i |¤Ž |                      ¦   «          dS )z7Hook for rendering images, adding the `mcid` attribute.N)r€   Úrender_imager~   ©ru   r‚   rc   rƒ   s      €rX   r…   z/PDFPageAggregatorWithMarkedContent.render_image«   s7   ø€ à�‰ŒÔ˜dÐ- fÐ-Ð-Ð-Ø×ÒÑÔÐÐÐrM   c                 ób   •—  t          ¦   «         j        |i |¤Ž |                      ¦   «          dS )zAHook for rendering lines and curves, adding the `mcid` attribute.N)r€   Ú
paint_pathr~   r†   s      €rX   rˆ   z-PDFPageAggregatorWithMarkedContent.paint_path°   s7   ø€ à�‰ŒÔ˜DÐ+ FÐ+Ð+Ð+Ø×ÒÑÔÐÐÐrM   ©N©rJ   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ro   r
   ÚintÚ__annotations__rp   rS   r   r   rv   ry   r~   Úfloatr�   r…   rˆ   Ú__classcell__©rƒ   s   @rX   rn   rn   ƒ   s  ø€ € € € € € ðð ð #€Hˆh�sŒmÐ"Ð"Ñ"Ø!€GˆX�cŒ]Ð!Ð!Ñ!ð!ð !˜Yð !¨x¸	Ô/Bð !Èdð !ð !ð !ð !ðð ð ð ð
'ð 'ð 'ð 'ð¨eð ð ð ð ð ð ðð ð ð ð ð ð
ð ð ð ð ð ð ð ð ð rM   rn   Úbox_rawÚrotationc                 ó¢   — t          | d         | d         f¦  «        \  }}t          | d         | d         f¦  «        \  }}|dv r||||fS ||||fS )Nr   rN   r   é   )éZ   i  )Úsorted)r”   r•   r4   r5   r6   r7   s         rX   Ú_normalize_boxrš   ¶   si   € õ
 �W˜Q”Z ¨¤Ð,Ñ-Ô-�F€BˆÝ�W˜Q”Z ¨¤Ð,Ñ-Ô-�F€BˆØ�9ÐÐØ�B˜˜BÐÐà�B˜˜BÐÐrM   Ú	mb_heightc                 ó(   — | \  }}}}|||z
  |||z
  fS r‰   rf   )r”   r›   r4   r6   r5   r7   s         rX   Ú_invert_boxr�   Æ   s&   € Ø�N€BˆˆB�Ø�	˜B‘  I°¡NÐ3Ð3rM   c                   ó  — e Zd ZU ej        dgz   Zee         ed<   dZe	ed<   dZ
	 dGddd	ed
edefd„ZdHd„Zedefd„¦   «         Zedefd„¦   «         Zedeeeef                  fd„¦   «         Zedefd„¦   «         Zedefd„¦   «         Zedefd„¦   «         Zedeeef         fd„¦   «         Zdeeef         deeef         fd„Zdedefd„Z dee!         de"eddf         fd„Z#deeef         fd„Z$	 dIde%e&         de'fd„Z(	 dIde%e&         dee)         fd„Z*	 dIde%e&         de%e)         fd „Z+	 dIde%e&         deeee%e                                    fd!„Z,	 dIde%e&         de%eee%e                                    fd"„Z-d#ede.fd$„Z/	 	 	 	 	 dJd%e0ee1e         f         d&e	d'e	d(ed)e	d*e	d#edeeeef                  fd+„Z2d#edefd,„Z3d#edefd-„Z4d#edefd.„Z5	 dKd/e	d)e	d#edefd0„Z6	 dLd2e7d3e	d4e	dd5fd6„Z8	 dLd2e7d3e	d4e	dd5fd7„Z9	 dLd2e7d3e	d4e	dd5fd8„Z:d9e;ege	f         dd:fd;„Z<d#edd:fd<„Z=	 	 	 	 	 dMd=e%e0ee>f                  d>e%e0ee>f                  d?e%e0ee>f                  d@e	dAe	ddBfdC„Z?dIdDe%ee                  deeef         fdE„Z@defdF„ZAdS )NÚPageÚ_layoutÚcached_propertiesTÚis_originalNr   ÚpdfrI   Úpage_objÚpage_numberÚinitial_doctopc                 ó"  ‡— || _         | | _        ‰| _        || _        || _        ddt
          dt          dt          fˆfd„} |dd¦  «        }|dz  | _        t           |d¦  «        | j        ¦  «        }|d	         |d
         z
  }t          ||¦  «        | _
        d‰j        v r2t          t           |d¦  «        | j        ¦  «        |¦  «        | _        n| j
        | _        | j
        | _         t          ¦   «         | j        ¦  «        | _        d S )Nrh   ÚdefaultrJ   c                 ó^   •— t          ‰j                             | ¦  «        ¦  «        }|€|n|S r‰   )r*   ÚattrsrR   )rh   r¨   ri   r¤   s      €rX   Úget_attrzPage.__init__.<locals>.get_attrÝ   s.   ø€ Ý ¤× 2Ò 2°3Ñ 7Ô 7Ñ8Ô8ˆEØ#˜m�7�7°Ð6rM   ÚRotater   ih  ÚMediaBoxr—   r   ÚCropBoxr‰   )r£   Ú	root_pager¤   r¥   r¦   rS   r   r•   rš   r�   Úmediaboxrª   ÚcropboxÚbboxr   Ú_get_textmapÚget_textmap)	ru   r£   r¤   r¥   r¦   r«   Ú	_rotationÚmb_rawr›   s	     `      rX   Ú__init__zPage.__init__Ð   s0  ø€ ð ˆŒØˆŒØ ˆŒØ&ˆÔØ,ˆÔð	7ð 	7�#ð 	7­ð 	7µsð 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð �H˜X qÑ)Ô)ˆ	Ø! C™ˆŒå  ¨Ñ 4Ô 4°d´mÑDÔDˆØ˜1”I  q¤	Ñ)ˆ	å# F¨IÑ6Ô6ˆŒà˜œÐ&Ð&Ý&Ý˜x˜x¨	Ñ2Ô2°D´MÑBÔBÀIñô ˆDŒLˆLð  œ=ˆDŒLð ”MˆŒ	ð '�9™;œ; tÔ'8Ñ9Ô9ˆÔÐÐrM   rJ   c                 ó`   — |                       ¦   «          | j                             ¦   «          d S r‰   )Úflush_cacher´   Úcache_clearrx   s    rX   Úclosez
Page.closeù   s/   € Ø×ÒÑÔÐØÔ×$Ò$Ñ&Ô&Ð&Ð&Ð&rM   c                 ó8   — | j         d         | j         d         z
  S )NrN   r   ©r²   rx   s    rX   r3   z
Page.widthý   ó   € àŒy˜Œ|˜dœi¨œlÑ*Ð*rM   c                 ó8   — | j         d         | j         d         z
  S )Nr—   r   r½   rx   s    rX   r.   zPage.height  r¾   rM   c                 óf   — 	 d„ t          | j        | ¦  «        D ¦   «         S # t          $ r g cY S w xY w)z-Return the structure tree for a page, if any.c                 ó6   — g | ]}|                      ¦   «         ‘ŒS rf   )Úto_dict)rg   Úelems     rX   ú
<listcomp>z'Page.structure_tree.<locals>.<listcomp>	  s    € ÐMÐMÐM t�D—L’L‘N”NÐMÐMÐMrM   )r#   r£   r$   rx   s    rX   Ústructure_treezPage.structure_tree  sK   € ð	ØMÐM­}¸T¼XÀtÑ/LÔ/LÐMÑMÔMÐMøÝ ð 	ð 	ð 	ØˆIˆIˆIð	øøøs   ‚! ¡0¯0c                 ó.  — t          | d¦  «        r| j        S t          | j        j        | j        | j        j        ¬¦  «        }t          | j        j        |¦  «        }|                     | j	        ¦  «         | 
                    ¦   «         | _        | j        S )Nr    )ÚpagenoÚlaparams)Úhasattrr    rn   r£   Úrsrcmgrr¥   rÈ   r   Úprocess_pager¤   Ú
get_result)ru   ÚdeviceÚinterpreters      rX   ÚlayoutzPage.layout  s�   € å�4˜Ñ#Ô#ð 	 Ø”<ÐÝ3ØŒHÔØÔ#Ø”XÔ&ð
ñ 
ô 
ˆõ
 )¨¬Ô)9¸6ÑBÔBˆØ× Ò  ¤Ñ/Ô/Ð/Ø%×0Ò0Ñ2Ô2ˆŒØŒ|ÐrM   c                 óv  ‡ ‡— dt           t          t          f         dt          dt           t          t          f         fˆ fd„Šdt          dt          fˆˆ fd„}t	          ‰ j        j        ¦  «        pg }t          t          ||¦  «        ¦  «        }t          ‰ t          ¦  «        r‰                      |¦  «        S |S )NÚptÚrrJ   c                 ó|   •— |dz  }t          |¦  «        D ]%}| \  }}||dz  k    r‰j        n‰j        }|||z
  f} Œ&| S )Nr˜   rN   )Úranger3   r.   )rÑ   rÒ   ÚturnsÚiÚxÚyÚcompru   s          €rX   Úrotate_pointz!Page.annots.<locals>.rotate_point  sW   ø€ Ø˜‘GˆEÝ˜5‘\”\ð %ð %�Ø‘��1Ø%&¨%°!©)¢^ ^�t”z�z¸¼�Ø˜$ ™(�_��ØˆIrM   Úannotc                 ó8  •— | d         \  }}}} ‰||f‰j         ¦  «        } ‰||f‰j         ¦  «        }‰j        j        }t          t	          g |¢|¢R ¦  «        |¦  «        \  }}	}
}|                      di ¦  «        }|                     d¦  «        |                      d¦  «        |                      d¦  «        dœ}|                     ¦   «         D ]~\  }}|�w	 |                     d¦  «        ||<   Œ!# t          $ rP 	 |                     d¦  «        ||<   n3# t          $ r& ‰j	        j
        r‚ t          d	|› d
|› d�¦  «         Y nw xY wY Œzw xY wŒ‰j        d|||z
  |
||	z
  ‰j        |	z   |	||
|z
  ||	z
  dœ}|                     |¦  «         d| v r‰| d<   | |d<   |S )NÚRectÚAÚURIÚTÚContents)ÚuriÚtitleÚcontentszutf-8zutf-16zCould not decode z of annotation. z will be missing.rÛ   )r¥   Úobject_typer4   r6   r5   r7   ÚdoctopÚtopÚbottomr3   r.   ÚPÚdata)r•   r¯   r.   r�   rš   rR   rk   ÚdecodeÚUnicodeDecodeErrorr£   Úraise_unicode_errorsr   r¥   r¦   Úupdate)rÛ   Ú_aÚ_bÚ_cÚ_dÚpt0Úpt1Úrhr4   rç   r5   rè   ÚaÚextrasÚkÚvÚparsedrÚ   ru   s                    €€rX   ÚparsezPage.annots.<locals>.parse%  s$  ø€ Ø" 6œ]‰NˆB��B˜Ø�,  B˜x¨¬Ñ7Ô7ˆCØ�,  B˜x¨¬Ñ7Ô7ˆCØ”Ô&ˆBÝ"-­n¸\¸s¸\ÀS¸\¸\Ñ.JÔ.JÈBÑ"OÔ"OÑˆB��R˜à—	’	˜#˜rÑ"Ô"ˆAà—u’u˜U‘|”|ØŸš 3™œØ!ŸIšI jÑ1Ô1ðð ˆFð
 Ÿš™œð ð ‘��1Ø�=ðØ$%§H¢H¨WÑ$5Ô$5˜˜q™	˜	øÝ-ð 	ð 	ð 	ðØ()¯ª°Ñ(:Ô(:˜F 1™I˜IøÝ1ð ð ð Ø#œxÔ<ð &Ø %Ý ð!9°Að !9ð !9Ø$%ð!9ð !9ð !9ñô ð ð ð ðøøøøøð	øøøð !ð  $Ô/Ø&ØØ˜6‘kØØ˜3‘hØÔ-°Ñ3ØØ Ø˜b™Ø  3™,ðð ˆFð �MŠM˜&Ñ!Ô!Ð!ð �eˆ|ˆ|Ø!��c‘
Ø"ˆF�6‰NØˆMs6   ÃC2Ã2
EÃ=DÄEÄ-EÅEÅEÅEÅE)r   r‘   r�   r    r*   r¤   Úannotsr`   Úmapr\   ÚCroppedPageÚ_crop_fn)ru   rû   Úrawrú   rÚ   s   `   @rX   rü   zPage.annots  sÒ   øø€ ð	�U¥5­% <Ô0ð 	µSð 	½UÅ5Í%À<Ô=Pð 	ð 	ð 	ð 	ð 	ð 	ð/	�ð /	¥5ð /	ð /	ð /	ð /	ð /	ð /	ð /	õb ˜$œ-Ô.Ñ/Ô/Ð5°2ˆÝ•c˜% ‘o”oÑ&Ô&ˆÝ�d�KÑ(Ô(ð 	Ø—=’= Ñ(Ô(Ð(àˆMrM   c                 ó$   — d„ | j         D ¦   «         S )Nc                 ó"   — g | ]}|d          ®
|‘ŒS )râ   rf   )rg   rö   s     rX   rÄ   z#Page.hyperlinks.<locals>.<listcomp>_  s!   € Ð?Ð?Ð?�a¨!¨E¬(Ð*>�Ð*>Ð*>Ð*>rM   )rü   rx   s    rX   Ú
hyperlinkszPage.hyperlinks]  s   € à?Ð?˜4œ;Ð?Ñ?Ô?Ð?rM   c                 óp   — t          | d¦  «        r| j        S |                      ¦   «         | _        | j        S )NÚ_objects)rÉ   r  Úparse_objectsrx   s    rX   ÚobjectszPage.objectsa  s7   € å�4˜Ñ$Ô$ð 	!Ø”=Ð Ø/3×/AÒ/AÑ/CÔ/CˆŒØŒ}ÐrM   rÑ   c                 ój   — | j         d         |d         z   | j         d         | j        z   |d         z
  fS )Nr   r   )r°   r.   )ru   rÑ   s     rX   Úpoint2coordzPage.point2coordh  s4   € à”˜aÔ  2 a¤5Ñ(¨$¬-¸Ô*:¸T¼[Ñ*HÈ2ÈaÌ5Ñ*PÐQÐQrM   Úobjc           
      óä  ‡ — t          j        t          d|j        j        ¦  «                             ¦   «         }dt          t          t          f         dt          t          t          t          f                  fd„}t          t          d t          ||j                             ¦   «         ¦  «        ¦  «        ¦  «        }||d<   ‰ j        |d<   dD ]7}t!          ||¦  «        r%t#          t%          ||¦  «        j        ¦  «        ||<   Œ8dD ]'\  }}||v rt)          ||         ¦  «        \  ||<   ||<   Œ(t+          |t,          t.          f¦  «        r?|                     ¦   «         }‰ j        j        �t7          ‰ j        j        |¦  «        n||d	<   t+          |t,          ¦  «        ru|j        }	t)          |	j        ¦  «        \  |d
<   |d<   t)          |	j        ¦  «        \  |d<   |d<   t+          |d         t>          ¦  «        rtA          |d         ¦  «        |d<   nat+          |tB          f¦  «        rKtE          t          ‰ j#        |d         ¦  «        ¦  «        |d<   ˆ fd„|j$        D ¦   «         |d<   |j%        |d<   ‰ j&        d d…         \  }
}d|v r?‰ j'        |d         z
  |z   |d<   ‰ j'        |d         z
  |z   |d<   ‰ j(        |d         z   |d<   d|v r"|
dk    r|d         |
z   |d<   |d         |
z   |d<   |S )NÚ ÚitemrJ   c                 óH   — | \  }}|t           v rt          |¦  «        }||fS d S r‰   )Ú	ALL_ATTRSr*   )r  rø   rù   Úress       rX   Úprocess_attrz)Page.process_object.<locals>.process_attro  s-   € Ø‰DˆAˆqØ•Iˆ~ˆ~Ý! !‘n”n�Ø˜3�x�à�trM   rå   r¥   )ÚncsÚscs))rC   Ústroking_pattern)rA   Únon_stroking_patternr<   rC   r  rA   r  r;   r0   c                 óF   •— g | ]^}}|gt          ‰j        |¦  «        ¢R ‘ŒS rf   )rý   r	  )rg   Úcmdr0   ru   s      €rX   rÄ   z'Page.process_object.<locals>.<listcomp>©  s5   ø€ ÐbÐbÐbÀ9À3È˜SÐ>¥3 tÔ'7¸Ñ#=Ô#=Ð>Ð>ÐbÐbÐbrM   ÚpathÚdashrN   r6   r7   rç   rè   ræ   r4   r   r5   ))ÚreÚsubÚlt_patrƒ   r‹   Úlowerr   rS   r   r
   rt   Úfilterrý   Ú__dict__rk   r¥   rÉ   r+   ÚgetattrrE   rb   r\   r   r   Úget_textr£   Úunicode_normÚnormalize_unicodeÚgraphicstateÚscolorÚncolorÚbytesrY   r   r`   r	  Úoriginal_pathÚdashing_styler°   r.   r¦   )ru   r
  Úkindr  ÚattrÚcsÚ
color_attrÚpattern_attrr<   ÚgsÚmb_x0Úmb_tops   `           rX   Úprocess_objectzPage.process_objectl  s.  ø€ ÝŒv•f˜b #¤-Ô"8Ñ9Ô9×?Ò?ÑAÔAˆð	�u¥S­# Xœð 	µ8½EÅ#ÅsÀ(¼OÔ3Lð 	ð 	ð 	ð 	õ •F˜4¥ \°3´<×3EÒ3EÑ3GÔ3GÑ!HÔ!HÑIÔIÑJÔJˆà"ˆˆ]ÑØ"Ô.ˆˆ]Ñà ð 	Eð 	EˆBõ �s˜BÑÔð EÝ-­g°c¸2Ñ.>Ô.>Ô.CÑDÔD��R‘øð)
ð 	Yð 	YÑ$ˆJ˜ð ˜TÐ!Ð!Ý7FÀtÈJÔGWÑ7XÔ7XÑ4��ZÑ  $ |Ñ"4øå�c�F¥OÐ4Ñ5Ô5ð 	Ø—<’<‘>”>ˆDð ”8Ô(Ð4õ " $¤(Ô"7¸Ñ>Ô>Ð>àð �‰Lõ �c�6Ñ"Ô"ð 	-ð Ô!ˆBÝ?NØ”	ñ@ô @Ñ<ˆDÐ!Ñ" DÐ);Ñ$<õ HWØ”	ñHô HÑDˆDÐ%Ñ&¨Ð-CÑ(Dõ
 ˜$˜zÔ*­EÑ2Ô2ð HÝ#5°d¸:Ô6FÑ#GÔ#G��ZÑ øå˜�g˜ZÑ(Ô(ð 	-Ý�s 4Ô#3°T¸%´[ÑAÔAÑBÔBˆD�‰Kð cÐbÐbÐbÐPSÔPaÐbÑbÔbˆD�‰LàÔ,ˆD�‰Lð
 œ b q bÔ)‰ˆˆvà�4ˆ<ˆ<Øœ;¨¨d¬Ñ3°vÑ=ˆD�‰KØ"œk¨D°¬JÑ6¸&Ñ@ˆD�‰NØ!Ô0°4¸´;Ñ>ˆD�‰Nà�4ˆ<ˆ<˜E QšJ˜JØ˜dœ eÑ+ˆD�‰JØ˜dœ eÑ+ˆD�‰JàˆrM   Úlayout_objectsc              #   óô   K  — |D ]r}t          |t          ¦  «        rD| j        j        �|                      |¦  «        V — |                      |j        ¦  «        E d {V —† Œ[|                      |¦  «        V — Œsd S r‰   )r\   r   r£   rÈ   r2  Úiter_layout_objectsr|   )ru   r3  r
  s      rX   r5  zPage.iter_layout_objects½  s    è è € ð "ð 		/ð 		/ˆCå˜#�{Ñ+Ô+ð /à”8Ô$Ð0Ø×-Ò-¨cÑ2Ô2Ð2Ð2Ð2à×3Ò3°C´IÑ>Ô>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>à×)Ò)¨#Ñ.Ô.Ð.Ð.Ð.Ð.ð		/ð 		/rM   c                 óÒ   — i }|                       | j        j        ¦  «        D ]D}|d         }|dv rŒ|                     |¦  «        €g ||<   ||                              |¦  «         ŒE|S )Nrå   )Úanno)r5  rÏ   r|   rR   Úappend)ru   r  r
  r*  s       rX   r  zPage.parse_objectsË  s|   € Ø)+ˆØ×+Ò+¨D¬KÔ,=Ñ>Ô>ð 	&ð 	&ˆCØ�}Ô%ˆDØ�xÐÐØØ�{Š{˜4Ñ Ô Ð(Ø "�˜‘Ø�DŒM× Ò  Ñ%Ô%Ð%Ð%ØˆrM   Útable_settingsc                 óJ   — t          j        |¦  «        }t          | |¦  «        S r‰   )r(   Úresolver'   ©ru   r9  Útsets      rX   Údebug_tablefinderzPage.debug_tablefinderÖ  s$   € õ Ô$ ^Ñ4Ô4ˆÝ˜4 Ñ&Ô&Ð&rM   c                 óT   — t          j        |¦  «        }t          | |¦  «        j        S r‰   )r(   r;  r'   Útablesr<  s      rX   Úfind_tableszPage.find_tablesÜ  s'   € õ Ô$ ^Ñ4Ô4ˆÝ˜4 Ñ&Ô&Ô-Ð-rM   c                 ó  — t          j        |¦  «        }|                      |¦  «        }t          |¦  «        dk    rd S dt          dt
          t          t          t          f         fd„}t          t          ||¬¦  «        ¦  «        d         }|S )Nr   r×   rJ   c                 ó^   — t          | j        ¦  «         | j        d         | j        d         fS )Nr   r   )ÚlenÚcellsr²   ©r×   s    rX   ÚsorterzPage.find_table.<locals>.sorterì  s%   € Ý˜œ‘\”\�M 1¤6¨!¤9¨a¬f°Q¬iÐ8Ð8rM   )rh   )
r(   r;  rA  rD  r&   r   r�   r   r`   r™   )ru   r9  r=  r@  rG  Úlargests         rX   Ú
find_tablezPage.find_tableâ  s‘   € õ Ô$ ^Ñ4Ô4ˆØ×!Ò! $Ñ'Ô'ˆåˆv‰;Œ;˜!ÒÐØ�4ð	9•eð 	9¥¥c­5µ%Ð&7Ô 8ð 	9ð 	9ð 	9ð 	9õ •v˜f¨&Ð1Ñ1Ô1Ñ2Ô2°1Ô5ˆàˆrM   c                 ór   ‡— t          j        |¦  «        Š|                      ‰¦  «        }ˆfd„|D ¦   «         S )Nc                 ó8   •— g | ]} |j         d i ‰j        pi ¤Ž‘ŒS )rf   )ÚextractÚtext_settings)rg   Útabler=  s     €rX   rÄ   z'Page.extract_tables.<locals>.<listcomp>ø  s3   ø€ ÐPÐPÐPÀ��”Ð;Ð; Ô!3Ð!9°rÐ;Ð;ÐPÐPÐPrM   )r(   r;  rA  )ru   r9  r@  r=  s      @rX   Úextract_tableszPage.extract_tablesó  sB   ø€ õ Ô$ ^Ñ4Ô4ˆØ×!Ò! $Ñ'Ô'ˆØPÐPÐPÐPÈÐPÑPÔPÐPrM   c                 ó„   — t          j        |¦  «        }|                      |¦  «        }|€d S  |j        di |j        pi ¤ŽS ©Nrf   )r(   r;  rI  rL  rM  )ru   r9  r=  rN  s       rX   Úextract_tablezPage.extract_tableú  sO   € õ Ô$ ^Ñ4Ô4ˆØ—’ Ñ%Ô%ˆØˆ=Ø�4à �5”=Ð>Ð> DÔ$6Ð$<¸"Ð>Ð>Ð>rM   rc   c                 óæ   — t          | j        ¬¦  «        }d|vr|                     d| j        i¦  «         d|vr|                     d| j        i¦  «         i |¥|¥}t          j        | j        fi |¤ŽS )N)Úlayout_bboxÚlayout_width_charsÚlayout_widthÚlayout_height_charsÚlayout_height)rt   r²   rî   r3   r.   r   Úchars_to_textmapÚchars)ru   rc   ÚdefaultsÚfull_kwargss       rX   r³   zPage._get_textmap  s�   € Ý#'Øœ	ð$
ñ $
ô $
ˆð   vÐ-Ð-Ø�OŠO˜^¨T¬ZÐ8Ñ9Ô9Ð9Ø ¨Ð.Ð.Ø�OŠO˜_¨d¬kÐ:Ñ;Ô;Ð;Ø&<¨Ð&<°VÐ&<ˆÝÔ% d¤jÐ@Ð@°KÐ@Ð@Ð@rM   ÚpatternÚregexÚcaseÚ
main_groupÚreturn_charsÚreturn_groupsc                 ól   —  | j         di t          |¦  «        ¤Ž}|                     ||||||¬¦  «        S )N)r^  r_  r`  ra  rb  rf   )r´   rl   Úsearch)	ru   r]  r^  r_  r`  ra  rb  rc   Útextmaps	            rX   rd  zPage.search  sR   € ð #�$Ô"ÐAÐAÕ%8¸Ñ%@Ô%@ÐAÐAˆØ�~Š~ØØØØ!Ø%Ø'ð ñ 
ô 
ð 	
rM   c                 ó@   —  | j         di t          |¦  «        ¤Žj        S rQ  )r´   rl   Ú	as_string©ru   rc   s     rX   Úextract_textzPage.extract_text#  s'   € ØˆtÔÐ>Ð>Õ"5°fÑ"=Ô"=Ð>Ð>ÔHÐHrM   c                 ó0   — t          j        | j        fi |¤ŽS r‰   )r   Úextract_text_simplerZ  rh  s     rX   rk  zPage.extract_text_simple&  s   € ÝÔ(¨¬Ð>Ð>°vÐ>Ð>Ð>rM   c                 ó0   — t          j        | j        fi |¤ŽS r‰   )r   Úextract_wordsrZ  rh  s     rX   rm  zPage.extract_words)  s   € ÝÔ" 4¤:Ð8Ð8°Ð8Ð8Ð8rM   Ústripc                 ó`   —  | j         di t          |¦  «        ¤Ž                     ||¬¦  «        S )N)rn  ra  rf   )r´   rl   Úextract_text_lines)ru   rn  ra  rc   s       rX   rp  zPage.extract_text_lines,  sC   € ð  ˆtÔÐ>Ð>Õ"5°fÑ"=Ô"=Ð>Ð>×QÒQØ lð Rñ 
ô 
ð 	
rM   Fr²   ÚrelativeÚstrictrþ   c                 ó(   — t          | |||¬¦  «        S )N)rq  rr  )rþ   ©ru   r²   rq  rr  s       rX   Úcropz	Page.crop3  s   € õ ˜4 °ÀÐHÑHÔHÐHrM   c                 ó>   — t          | |||t          j        ¬¦  «        S ©zS
        Same as .crop, except only includes objects fully within the bbox
        )rq  rr  Úcrop_fn)rþ   r   Úwithin_bboxrt  s       rX   ry  zPage.within_bbox8  s)   € õ Ø�$ °&Å%ÔBSð
ñ 
ô 
ð 	
rM   c                 ó>   — t          | |||t          j        ¬¦  «        S rw  )rþ   r   Úoutside_bboxrt  s       rX   r{  zPage.outside_bboxB  s)   € õ Ø�$ °&Å%ÔBTð
ñ 
ô 
ð 	
rM   Útest_functionÚFilteredPagec                 ó"   — t          | |¦  «        S r‰   )r}  )ru   r|  s     rX   r  zPage.filterL  s   € Ý˜D -Ñ0Ô0Ð0rM   c                 ó¶   — t          | d„ ¦  «        }d„ | j                             ¦   «         D ¦   «         |_        t	          j        | j        fi |¤Ž|j        d<   |S )uê   
        Removes duplicate chars â€”Â those sharing the same text and positioning
        (within `tolerance`) as other characters in the set. Adjust extra_args
        to be more/less restrictive with the properties checked.
        c                 ó   — dS )NTrf   rF  s    rX   ú<lambda>z#Page.dedupe_chars.<locals>.<lambda>U  s   € ¨€ rM   c                 ó   — i | ]\  }}||“Œ	S rf   rf   )rg   r*  Úobjss      rX   rj   z%Page.dedupe_chars.<locals>.<dictcomp>V  s   € ÐHÐHÐH¡Z T¨4�d˜DÐHÐHÐHrM   Úchar)r}  r  rk   r  r   Údedupe_charsrZ  )ru   rc   Úps      rX   r…  zPage.dedupe_charsO  s^   € õ ˜˜~˜~Ñ.Ô.ˆØHÐH°4´<×3EÒ3EÑ3GÔ3GÐHÑHÔHˆŒ
Ý"Ô/°´
ÐEÐE¸fÐEÐEˆŒ
�6ÑØˆrM   Ú
resolutionr3   r.   Ú	antialiasÚforce_mediaboxrH   c                 óÚ   — ddl m}m} t          d„ |||fD ¦   «         ¦  «        }|dk    rt	          d|› �¦  «        ‚|�d|z  | j        z  }n|�d|z  | j        z  } || |p|||¬¦  «        S )zò
        You can pass a maximum of 1 of the following:
        - resolution: The desired number pixels per inch. Defaults to 72.
        - width: The desired image width in pixels.
        - height: The desired image width in pixels.
        r   )ÚDEFAULT_RESOLUTIONrH   c              3   ó   K  — | ]}|d uV — Œ	d S r‰   rf   )rg   r×   s     rX   ú	<genexpr>z Page.to_image.<locals>.<genexpr>j  s&   è è € ÐKÐK¨!˜ ˜ÐKÐKÐKÐKÐKÐKrM   zUOnly one of these arguments can be provided: resolution, width, height. You provided NéH   )r‡  rˆ  r‰  )Údisplayr‹  rH   ÚsumÚ
ValueErrorr3   r.   )	ru   r‡  r3   r.   rˆ  r‰  r‹  rH   Ú	num_specss	            rX   Úto_imagezPage.to_imageZ  sÁ   € ð 	;Ð:Ð:Ð:Ð:Ð:Ð:Ð:åÐKÐK°
¸EÀ6Ð/JÐKÑKÔKÑKÔKˆ	Ø�qŠ=ˆ=ÝØsÐhqÐsÐsñô ð ð ÐØ˜e™ d¤jÑ0ˆJˆJØÐØ˜f™ t¤{Ñ2ˆJàˆyØØ!Ð7Ð%7ØØ)ð	
ñ 
ô 
ð 	
rM   Úobject_typesc           	      ó  — |€+t          | j                             ¦   «         ¦  «        dgz   }n|}| j        | j        | j        | j        | j        | j        | j	        | j
        dœ}|D ]}t          | |dz   ¦  «        ||dz   <   Œ|S )NrÛ   )r¥   r¦   r•   r±   r°   r²   r3   r.   Ús)r`   r  Úkeysr¥   r¦   r•   r±   r°   r²   r3   r.   r   )ru   r”  Ú_object_typesÚdÚts        rX   rÂ   zPage.to_dict{  sš   € ØÐÝ  ¤×!2Ò!2Ñ!4Ô!4Ñ5Ô5¸¸	ÑAˆMˆMà(ˆMàÔ+Ø"Ô1ØœØ”|ØœØ”IØ”ZØ”kð	
ð 	
ˆð ð 	0ð 	0ˆAÝ   q¨3¡wÑ/Ô/ˆAˆa�#‰g‰JˆJØˆrM   c                 ó   — d| j         › d�S )Nz<Page:ú>)r¥   rx   s    rX   Ú__repr__zPage.__repr__Ž  s   € Ø+˜Ô(Ð+Ð+Ð+Ð+rM   ©r   rŠ   r‰   )TTr   TT)TT)FT)NNNFF)Br‹   rŒ   r�   r"   r¡   r	   rS   r�   r¢   ÚboolÚpagesr   r�   r   r·   r»   Úpropertyr3   r.   r   r   rÅ   r   rÏ   r!   rü   r  r  r   r	  r   r    r2  r   r   r5  r  r
   r%   r'   r>  r&   rA  rI  rO  rR  r,   r³   r   r   rd  ri  rk  rm  rp  r   ru  ry  r{  r   r  r…  r‘   r“  rÂ   r�  rf   rM   rX   rŸ   rŸ   Ë   s)  € € € € € € Ø#,Ô#>À)ÀÑ#LÐ�t˜C”yÐLÐLÑLØ€K�ÐÐÑØ€Eð !"ð':ð ':àð':ð ð':ð ð	':ð
 ð':ð ':ð ':ð ':ðR'ð 'ð 'ð 'ð ð+�uð +ð +ð +ñ „Xð+ð ð+˜ð +ð +ð +ñ „Xð+ð ð  T¨#¨s¨(¤^Ô 4ð ð ð ñ „Xðð ð˜ð ð ð ñ „Xðð ð?˜
ð ?ð ?ð ?ñ „Xð?ðB ð@˜Jð @ð @ð @ñ „Xð@ð ð˜˜c :˜oÔ.ð ð ð ñ „XððR˜e E¨5 LÔ1ð R°e¸EÀ5¸LÔ6Ið Rð Rð Rð RðO &ð O¨Uð Oð Oð Oð Oðb/Ø" ;Ô/ð/à	�5˜$ Ð$Ô	%ð/ð /ð /ð /ð	˜t C¨ OÔ4ð 	ð 	ð 	ð 	ð <@ð'ð 'Ø&Ð'7Ô8ð'à	ð'ð 'ð 'ð 'ð <@ð.ð .Ø&Ð'7Ô8ð.à	ˆeŒð.ð .ð .ð .ð <@ðð Ø&Ð'7Ô8ðà	�%Œðð ð ð ð$ <@ðQð QØ&Ð'7Ô8ðQà	ˆd�4˜ œÔ&Ô'Ô	(ðQð Qð Qð Qð <@ð?ð ?Ø&Ð'7Ô8ð?à	�$�t˜H SœMÔ*Ô+Ô	,ð?ð ?ð ?ð ?ð	A Sð 	A¨Wð 	Að 	Að 	Að 	Að ØØØ!Ø"ð
ð 
à�s˜G CœLÐ(Ô)ð
ð ð
ð ð	
ð
 ð
ð ð
ð ð
ð ð
ð 
ˆd�3˜�8ŒnÔ	ð
ð 
ð 
ð 
ð(I Sð I¨Sð Ið Ið Ið Ið?¨Cð ?°Cð ?ð ?ð ?ð ?ð9 cð 9¨jð 9ð 9ð 9ð 9ð 8<ð
ð 
Øð
Ø04ð
ØGJð
à	ð
ð 
ð 
ð 
ð DHðIð IØðIØ&*ðIØ<@ðIà	ðIð Ið Ið Ið DHð
ð 
Øð
Ø&*ð
Ø<@ð
à	ð
ð 
ð 
ð 
ð DHð
ð 
Øð
Ø&*ð
Ø<@ð
à	ð
ð 
ð 
ð 
ð1 H¨e¨W°d¨]Ô$;ð 1Àð 1ð 1ð 1ð 1ð	 Sð 	¨^ð 	ð 	ð 	ð 	ð 37Ø-1Ø.2ØØ$ð
ð 
à˜U 3¨ :Ô.Ô/ð
ð ˜˜c 5˜jÔ)Ô*ð
ð ˜˜s E˜zÔ*Ô+ð	
ð
 ð
ð ð
ð 
ð
ð 
ð 
ð 
ðBð  H¨T°#¬YÔ$7ð À4ÈÈSÈÄ>ð ð ð ð ð&,˜#ð ,ð ,ð ,ð ,ð ,ð ,rM   rŸ   c                   ó*   — e Zd ZU dZeed<   defd„ZdS )ÚDerivedPageFr¢   Úparent_pagec                 óT  — || _         |j        | _        |j        | _        |j        | _        |j        | _        |j        | _        |j        | _        |j        | _        |j        | _        |  	                    t          j        ¦  «          t          ¦   «         | j        ¦  «        | _        d S r‰   )r¤  r¯   r£   r¤   r¥   r¦   r•   r°   r±   r¹   r"   r¡   r   r³   r´   )ru   r¤  s     rX   r·   zDerivedPage.__init__•  s‘   € Ø&ˆÔØ$Ô.ˆŒØ”?ˆŒØ#Ô,ˆŒØ&Ô2ˆÔØ)Ô8ˆÔØ#Ô,ˆŒØ#Ô,ˆŒØ"Ô*ˆŒØ×Ò�Ô4Ñ5Ô5Ð5Ø&�9™;œ; tÔ'8Ñ9Ô9ˆÔÐÐrM   N)r‹   rŒ   r�   r¢   rŸ  r�   rŸ   r·   rf   rM   rX   r£  r£  ’  sA   € € € € € € Ø€K�ÐÐÑð: Dð :ð :ð :ð :ð :ð :rM   r£  r²   Úparent_bboxc                 ó  — t          j        | ¦  «        }|dk    rt          d| › d�¦  «        ‚t          j        | |¦  «        }|€t          d| › d|› �¦  «        ‚t          j        |¦  «        }||k     rt          d| › d|› �¦  «        ‚d S )Nr   zBounding box z has an area of zero.z. is entirely outside parent page bounding box z. is not fully within parent page bounding box )r   Úcalculate_arear‘  Úget_bbox_overlap)r²   r¦  Ú	bbox_areaÚoverlapÚoverlap_areas        rX   Útest_proposed_bboxr­  £  sÑ   € ÝÔ$ TÑ*Ô*€IØ�A‚~€~ÝÐD¨ÐDÐDÐDÑEÔEÐEåÔ$ T¨;Ñ7Ô7€GØ€Ýð6˜Dð 6ð 6Ø(3ð6ð 6ñ
ô 
ð 	
õ
 Ô'¨Ñ0Ô0€LØ�iÒÐÝð6˜Dð 6ð 6Ø(3ð6ð 6ñ
ô 
ð 	
ð  ÐrM   c                   ó†   ‡ — e Zd Zej        ddfdededeeegef         de	de	f
ˆ fd„Z
ed	eeef         fd
„¦   «         Zˆ xZS )rþ   FTr¤  Ú	crop_bboxrx  rq  rr  c                 óH  •‡‡— |r%|j         \  }}}}‰\  }	}
}}|	|z   |
|z   ||z   ||z   fŠ|rt          ‰|j         ¦  «         dt          dt          fˆˆfd„}t          ¦   «                              |¦  «         || _        ‰t          j        u r|j         | _         d S ‰| _         d S )Nrƒ  rJ   c                 ó   •—  ‰| ‰¦  «        S r‰   rf   )rƒ  r¯  rx  s    €€rX   rÿ   z&CroppedPage.__init__.<locals>._crop_fnÈ  s   ø€ Ø�7˜4 Ñ+Ô+Ð+rM   )r²   r­  r!   r€   r·   rÿ   r   r{  )ru   r¤  r¯  rx  rq  rr  Úo_x0Úo_topÚ_r4   rç   r5   rè   rÿ   rƒ   s     ``          €rX   r·   zCroppedPage.__init__¸  sã   øøø€ ð ð 	LØ +Ô 0ÑˆD�%˜˜AØ"+ÑˆB��R˜Ø˜d™ C¨%¡K°°d±¸FÀU¹NÐKˆIàð 	<Ý˜y¨+Ô*:Ñ;Ô;Ð;ð	,�:ð 	,­*ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,õ 	‰Œ×Ò˜Ñ%Ô%Ð%à ˆŒð •eÔ(Ð(Ð(Ø#Ô(ˆDŒIˆIˆIà!ˆDŒIˆIˆIrM   rJ   c                 óž   ‡ — t          ‰ d¦  «        r‰ j        S ˆ fd„‰ j        j                             ¦   «         D ¦   «         ‰ _        ‰ j        S )Nr  c                 óB   •— i | ]\  }}|‰                      |¦  «        “ŒS rf   )rÿ   ©rg   rø   rù   ru   s      €rX   rj   z'CroppedPage.objects.<locals>.<dictcomp>Ù  s8   ø€ ð 0
ð 0
ð 0
Ù$( A qˆAˆt�}Š}˜QÑÔð0
ð 0
ð 0
rM   ©rÉ   r  r¤  r  rk   rx   s   `rX   r  zCroppedPage.objectsÕ  sc   ø€ å�4˜Ñ$Ô$ð 	!Ø”=Ð ð0
ð 0
ð 0
ð 0
Ø,0Ô,<Ô,D×,JÒ,JÑ,LÔ,Lð0
ñ 0
ô 0
ˆŒð Œ}ÐrM   )r‹   rŒ   r�   r   Úcrop_to_bboxrŸ   r   r   r!   rŸ  r·   r¡  r   rS   r  r’   r“   s   @rX   rþ   rþ   ·  sÀ   ø€ € € € € ð
 ?DÔ>PØØð"ð "àð"ð ð"ð ˜: vÐ.°
Ð:Ô;ð	"ð
 ð"ð ð"ð "ð "ð "ð "ð "ð: ð˜˜c :˜oÔ.ð ð ð ñ „Xðð ð ð ð rM   rþ   c                   óf   ‡ — e Zd Zdedeegef         fˆ fd„Zede	e
ef         fd„¦   «         Zˆ xZS )r}  r¤  Ú	filter_fnc                 óp   •— |j         | _         || _        t          ¦   «                              |¦  «         d S r‰   )r²   r»  r€   r·   )ru   r¤  r»  rƒ   s      €rX   r·   zFilteredPage.__init__à  s2   ø€ ØÔ$ˆŒ	Ø"ˆŒÝ‰Œ×Ò˜Ñ%Ô%Ð%Ð%Ð%rM   rJ   c                 óž   ‡ — t          ‰ d¦  «        r‰ j        S ˆ fd„‰ j        j                             ¦   «         D ¦   «         ‰ _        ‰ j        S )Nr  c           	      ó\   •— i | ](\  }}|t          t          ‰j        |¦  «        ¦  «        “Œ)S rf   )r`   r  r»  r·  s      €rX   rj   z(FilteredPage.objects.<locals>.<dictcomp>é  sC   ø€ ð 0
ð 0
ð 0
á��1ð �t•F˜4œ>¨1Ñ-Ô-Ñ.Ô.ð0
ð 0
ð 0
rM   r¸  rx   s   `rX   r  zFilteredPage.objectså  sc   ø€ å�4˜Ñ$Ô$ð 	!Ø”=Ð ð0
ð 0
ð 0
ð 0
àÔ(Ô0×6Ò6Ñ8Ô8ð0
ñ 0
ô 0
ˆŒð Œ}ÐrM   )r‹   rŒ   r�   rŸ   r   r    rŸ  r·   r¡  r   rS   r!   r  r’   r“   s   @rX   r}  r}  ß  s†   ø€ € € € € ð& Dð &°X¸u¸gÀt¸mÔ5Lð &ð &ð &ð &ð &ð &ð
 ð˜˜c :˜oÔ.ð ð ð ñ „Xðð ð ð ð rM   r}  rž  )Sr  Ú	functoolsr   Útypingr   r   r   r   r   r	   r
   r   r   r   Úunicodedatar   r#  Úwarningsr   Úpdfminer.converterr   Úpdfminer.layoutr   r   r   r   r   r   r   Úpdfminer.pdfinterpr   r   Úpdfminer.pdfpager   Úpdfminer.psparserr   r  r   Ú_typingr   r   r    r!   Ú	containerr"   Ú	structurer#   r$   rN  r%   r&   r'   r(   r)   r*   r+   Ú
utils.textr,   Úcompiler  Úsetr  r�  rH   r£   rI   rQ   r'  rS   rY   r‘   r�   r]   rb   rl   rn   rš   r�   rŸ   r£  r­  rþ   r}  rf   rM   rX   ú<module>rÎ     sñ  ðØ 	€	€	€	Ø Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð 7Ð 6Ð 6Ð 6Ð 6Ð 6Ø Ð Ð Ð Ð Ð à 0Ð 0Ð 0Ð 0Ð 0Ð 0ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð =Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ø $Ð $Ð $Ð $Ð $Ð $Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'à Ð Ð Ð Ð Ð Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø  Ð  Ð  Ð  Ð  Ð  Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FØ ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ø Ð Ð Ð Ð Ð à	ˆŒ�FÑ	Ô	€àˆCðð ð ñô €	ðB ð Ø"Ð"Ð"Ð"Ð"Ð"ØÐÐÐÐÐð
 *Ø)Ø 0Ø 1Ø(ðð €ð* ð *¨3ð *ð *ð *ð *ðØ��c�Œ?ðà
ˆ8�E˜%  s 
Ô+¨SÐ0Ô1Ô2°H¸S´MÐAÔBðð ð ð ð'Øð'à
ˆ8�E˜%  s 
Ô+¨SÐ0Ô1Ô2°H¸S´MÐAÔBð'ð 'ð 'ð 'ð  S¨# X¤ð °4¸¸S¸´>ð ð ð ð ð0ð 0ð 0ð 0ð 0Ð):ñ 0ô 0ð 0ðf
 ð 
 ˜Fð 
 ¨eð 
 ¸Fð 
 ð 
 ð 
 ð 
 ð 4˜ð 4¨Eð 4°fð 4ð 4ð 4ð 4ð
D,ð D,ð D,ð D,ð D,ˆ9ñ D,ô D,ð D,ðN:ð :ð :ð :ð :�$ñ :ô :ð :ð"
˜Vð 
°&ð 
¸Tð 
ð 
ð 
ð 
ð(%ð %ð %ð %ð %�+ñ %ô %ð %ðPð ð ð ð �;ñ ô ð ð ð rM   