ó
    /j-jZ:  ã                   óè  • % S r SSKrSSKJr  SSKJrJrJrJrJ	r	J
r
JrJrJr  SSKJr  SSKJrJr  SSKJrJrJrJrJrJrJrJrJr  SSKJr  SS	KJ r J!r!J"r"J#r#  SS
K$J%r%J&r&J'r'J(r(J)r)  \(       a  SSK*J+r+  SSK,J-r-  \R\                  " \/5      r0\" S5      r1\" S5      r2\" S5      r3\" S5      r4\" S5      r5\" S5      r6\" S5      r7\" S5      r8\" S5      r9\ " S S5      5       r:\ " S S\:5      5       r;\ " S S\:5      5       r<\ " S S\:5      5       r=\ " S S\:5      5       r>\1\;\2\:\3\<\4\=\5\>\6\:\7\<\8\=0r?\\\\:   4   \@S '   \ " S! S"5      5       rA " S# S$\S%   5      rB\ " S& S%\S%   5      5       rCg)'z?
Lazy interface to PDF document outline (PDF 1.7 sect 12.3.3).
é    N)Ú	dataclass)	ÚTYPE_CHECKINGÚClassVarÚDictÚIterableÚIteratorÚListÚSequenceÚTypeÚUnion)ÚPDFSyntaxError)Ú	PDFObjectÚ	PSLiteral)	ÚLITÚObjRefÚPointÚRectÚ
dict_valueÚ	num_valueÚpoint_valueÚ
rect_valueÚresolve1)ÚElement)Úapply_matrix_ptÚdecode_textÚnormalize_rectÚtransform_bbox)ÚDocumentRefÚPageRefÚ_deref_pageÚ_deref_documentÚ_ref_document)ÚDocument)ÚPageÚXYZÚFitÚFitHÚFitVÚFitRÚFitBÚFitBHÚFitBVÚGoToc                   ó~  • \ rS rSr% Sr\\S'   \\S4   \S'   \	\
   \S'   Sr\\   \S'   \S	\\\\4   S
SSS 4S j5       r\S
SS	\SS 4S j5       r\SS j5       r\SS j5       r\S\4S j5       r\S\\S4   4S j5       r\S\\S4   4S j5       r\S\4S j5       r\S\4S j5       r\S\\S4   4S j5       rSr g)ÚDestinationé:   z&PDF destinations (PDF 1.7 sect 12.3.2)Ú_pagerefNÚdisplayÚcoordsr   ÚncoordsÚdestÚdocr#   Úreturnc                 óº   • [        U[        [        45      (       a  UR                  U   $ [        U[        5      (       a  U R                  X!5      $ [        SU5      e)NzUnknown destination type: %r)Ú
isinstanceÚbytesr   ÚdestinationsÚlistÚ	from_listÚ	TypeError)Úclsr5   r6   s      ÚJ/home/mande/repo/quber/.venv/lib/python3.13/site-packages/playa/outline.pyÚ	from_destÚDestination.from_destC   sQ   € ô �dœU¤IÐ.×/Ñ/Ø×#Ñ# DÑ)Ð)Ü˜œd×#Ñ#Ø—=‘= Ó+Ð+äÐ:¸DÓAÐAó    c                 ó  • Utp4n[         R                  X@5      n UR                  S   n[        U[        5      (       a  UR                  US-
     nOR[        U[
        5      (       a'   UR                  R                  UR                  5      nO[        R                  SU5        [        U[        5      (       d  [        R                  SU5        S nU " UR                  UUS9$ ! [         a    [        R                  SU5         Naf = f)Nr   é   z&Invalid page object in destination: %rz+Unrecognized page in destination object: %rzUnknown display type: %r)r1   r2   r3   )ÚDEST_CLASSESÚgetÚpagesr9   Úintr   Úby_idÚobjidÚKeyErrorÚLOGÚwarningr   Úpageref)r?   r6   r5   Úpageobjr2   r3   Úpages          r@   r=   ÚDestination.from_listN   sß   € à$(Ð!ˆ˜6Ü×Ñ˜wÓ,ˆØ�y‰y˜‰|ˆÜ�gœs×#Ñ#à—9‘9˜W q™[Ñ)‰DÜ˜¤×(Ñ(ðOØ—y‘y—‘ w§}¡}Ó5‘ô �K‰KÐEÀwÔOÜ˜'¤9×-Ñ-Ü�K‰KÐ2°GÔ<ØˆGÙØ—\‘\ØØñ
ð 	
øô ó OÜ—‘ÐDÀgÖNðOús   Á'%C" Ã" DÄDc                 ó,   • [        U R                  5      $ )z$The page target of this destination.)r    r1   ©Úselfs    r@   rQ   ÚDestination.pagef   s   € ô ˜4Ÿ=™=Ó)Ð)rC   c                 ó4   • U R                   u  p[        U5      $ )z)The document containing this destination.)r1   r!   )rU   ÚdocrefÚ_s      r@   r6   ÚDestination.dock   s   € ð —M‘M‰	ˆÜ˜vÓ&Ð&rC   c                 ó.   • U R                   R                  $ )N)rQ   Úpage_idxrT   s    r@   r\   ÚDestination.page_idxq   s   € à�y‰y×!Ñ!Ð!rC   c                 ó   • g)ú9Top position for this destination, or None for unchanged.N© rT   s    r@   ÚtopÚDestination.topu   ó   € ð rC   c                 ó   • g)ú:Left position for this destination, or None for unchanged.Nr`   rT   s    r@   ÚleftÚDestination.leftz   rc   rC   c                 ón   • [        U R                  R                  SU R                  R                  45      $ ©ú�Position of this destination in device space.

In the case where a coordinate is None (for "unchanged") it
will default to the left or top edge of the page.
r   )r   rQ   ÚctmÚheightrT   s    r@   ÚposÚDestination.pos   s(   € ô ˜tŸy™yŸ}™}¨q°$·)±)×2BÑ2BÐ.CÓDÐDrC   c                 ó¨   • U R                   u  p[        U R                  R                  U R                  R                  S45      u  p4[        XX445      $ ©zžRectangle in device space to zoom to for this destination.

In the case where a coordinate is None (for "unchanged") it
will default to the edge of the page.
r   )rm   r   rQ   rk   Úwidthr   )rU   rf   ra   ÚrightÚbottoms        r@   ÚbboxÚDestination.bboxˆ   sB   € ð —H‘H‰	ˆÜ'¨¯	©	¯©¸¿	¹	¿¹ÈÐ7KÓL‰ˆÜ˜t¨%Ð8Ó9Ð9rC   c                 ó   • g)ú7Zoom factor of this destination, or None for unchanged.Nr`   rT   s    r@   ÚzoomÚDestination.zoom“   rc   rC   r`   )r7   r$   ©r7   r#   )!Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   Ú__annotations__r   r   r	   r   r4   r   rI   Úclassmethodr:   r<   rA   r
   r=   ÚpropertyrQ   r6   r\   Úfloatra   rf   r   rm   r   rt   rx   Ú__static_attributes__r`   rC   r@   r/   r/   :   s~  ‡ á0àÓØ�9˜d�?Ñ#Ó#Ø�‰OÓØ€GˆX�c‰]ÓàðBØ˜ E¨4Ð/Ñ0ðBØ7AðBà	óBó ðBð ð
˜Jð 
¨hð 
¸=ó 
ó ð
ð. ó*ó ð*ð ó'ó ð'ð
 ð"˜#ó "ó ð"ð ð�U˜5 $˜;Ñ'ó ó ðð ð�e˜E 4˜KÑ(ó ó ðð ðE�Uó Eó ðEð ð:�dó :ó ð:ð ð�e˜E 4˜KÑ(ó ó órC   r/   c                   ó¬   • \ rS rSr% SrSr\\   \S'   \	S\
\S4   4S j5       r\	S\
\S4   4S j5       r\	S\4S	 j5       r\	S\
\S4   4S
 j5       rSrg)ÚDestinationXYZé™   zFDestination of type XYZ, with a (left, top) position and a zoom level.é   r4   r7   Nc                 ó†   • U R                   S   nUc  g[        U R                  R                  S[	        U5      45      u  p#U$ )r_   rE   Nr   ©r3   r   rQ   rk   r   ©rU   ra   rY   Úys       r@   ra   ÚDestinationXYZ.topŸ   ó=   € ð �k‰k˜!‰nˆØ‰;ØÜ˜tŸy™yŸ}™}¨q´)¸C³.Ð.AÓB‰ˆØˆrC   c                 ó†   • U R                   S   nUc  g[        U R                  R                  [	        U5      S45      u  p#U$ ©re   r   NrŠ   ©rU   rf   ÚxrY   s       r@   rf   ÚDestinationXYZ.left¨   s=   € ð �{‰{˜1‰~ˆØ‰<ØÜ˜tŸy™yŸ}™}¬y¸«ÀÐ.BÓC‰ˆØˆrC   c                 ó´   • U R                   SS u  pUc  SnUc  U R                  R                  n[        U R                  R                  [        X/5      5      $ )rj   r   é   ©r3   rQ   rl   r   rk   r   ©rU   rf   ra   s      r@   rm   ÚDestinationXYZ.pos±   sP   € ð —K‘K  !Ð$‰	ˆà‰<ØˆDØ‰;Ø—)‘)×"Ñ"ˆCÜ˜tŸy™yŸ}™}¬k¸4¸+Ó.FÓGÐGrC   c                 ó\   • U R                   S   (       d  g[        U R                   S   5      $ )rw   r•   N)r3   r   rT   s    r@   rx   ÚDestinationXYZ.zoomÀ   s%   € ð �{‰{˜1�~ØÜ˜Ÿ™ Q™Ó(Ð(rC   r`   )r{   r|   r}   r~   r   r4   r   rI   r€   r‚   r   rƒ   ra   rf   r   rm   rx   r„   r`   rC   r@   r†   r†   ™   s›   ‡ áPà€GˆX�c‰]Óàð�U˜5 $˜;Ñ'ó ó ðð ð�e˜E 4˜KÑ(ó ó ðð ðH�Uó Hó ðHð ð)�e˜E 4˜KÑ(ó )ó ó)rC   r†   c                   óŠ   • \ rS rSr% SrSr\\   \S'   \	S\
\S4   4S j5       r\	S\
\S4   4S j5       r\	S\4S	 j5       rS
rg)ÚDestinationFitHéÈ   z7Destination of type FitH or FitBH, with a top position.rE   r4   r7   Nc                 ó†   • U R                   S   nUc  g[        U R                  R                  S[	        U5      45      u  p#U$ )r_   r   NrŠ   r‹   s       r@   ra   ÚDestinationFitH.topÎ   rŽ   rC   c                 ó   • g)z<Left position for this destination (always None, unchanged).Nr`   rT   s    r@   rf   ÚDestinationFitH.left×   rc   rC   c                 óª   • U R                   S   nSnUc  U R                  R                  n[        U R                  R                  [        X!/5      5      $ ri   r–   )rU   ra   rf   s      r@   rm   ÚDestinationFitH.posÜ   sF   € ð �k‰k˜!‰nˆØˆØ‰;Ø—)‘)×"Ñ"ˆCÜ˜tŸy™yŸ}™}¬k¸4¸+Ó.FÓGÐGrC   r`   ©r{   r|   r}   r~   r   r4   r   rI   r€   r‚   r   rƒ   ra   rf   r   rm   r„   r`   rC   r@   rœ   rœ   È   sw   ‡ áAà€GˆX�c‰]Óàð�U˜5 $˜;Ñ'ó ó ðð ð�e˜E 4˜KÑ(ó ó ðð ð
H�Uó 
Hó ó
HrC   rœ   c                   óŠ   • \ rS rSr% SrSr\\   \S'   \	S\
\S4   4S j5       r\	S\
\S4   4S j5       r\	S\4S	 j5       rS
rg)ÚDestinationFitVéê   z8Destination of type FitV or FitBV, with a left position.rE   r4   r7   Nc                 ó   • g)z;Top position for this destination (always None, unchanged).Nr`   rT   s    r@   ra   ÚDestinationFitV.topð   rc   rC   c                 ó®   • U R                   S   nUc  g[        U R                  R                  [	        U5      U R                  R
                  45      u  p#U$ r�   )r3   r   rQ   rk   r   rl   r‘   s       r@   rf   ÚDestinationFitV.leftõ   sG   € ð �{‰{˜1‰~ˆØ‰<ØÜ˜tŸy™yŸ}™}¬y¸«ÀÇ	Á	×@PÑ@PÐ.QÓR‰ˆØˆrC   c                 óª   • U R                   S   nU R                  R                  nUc  Sn[        U R                  R                  [        X/5      5      $ ri   r–   r—   s      r@   rm   ÚDestinationFitV.posþ   sF   € ð �{‰{˜1‰~ˆØ�i‰i×ÑˆØ‰<ØˆDÜ˜tŸy™yŸ}™}¬k¸4¸+Ó.FÓGÐGrC   r`   r¤   r`   rC   r@   r¦   r¦   ê   sw   ‡ áBà€GˆX�c‰]Óàð�U˜5 $˜;Ñ'ó ó ðð ð�e˜E 4˜KÑ(ó ó ðð ð
H�Uó 
Hó ó
HrC   r¦   c                   ó¢   • \ rS rSr% SrSr\\   \S'   \	S\
\S4   4S j5       r\	S\
\S4   4S j5       r\	S\4S	 j5       r\	S\4S
 j5       rSrg)ÚDestinationFitRi  z.Destination of type FitR, with a bounding box.é   r4   r7   Nc                 óH   • U R                   S   nUc  gU R                  u  p#U$ )r_   rˆ   N©r3   rm   r‹   s       r@   ra   ÚDestinationFitR.top  s)   € ð �k‰k˜!‰nˆØ‰;ØØ�x‰x‰ˆØˆrC   c                 óH   • U R                   S   nUc  gU R                  u  p#U$ r�   r²   r‘   s       r@   rf   ÚDestinationFitR.left  s)   € ð �{‰{˜1‰~ˆØ‰<ØØ�x‰x‰ˆØˆrC   c                 ó²   • U R                   u  n  p#Uc  SnUc  U R                  R                  n[        U R                  R                  [        X/5      5      $ ri   r–   )rU   rf   rY   ra   s       r@   rm   ÚDestinationFitR.pos$  sM   € ð Ÿ+™+‰ˆˆa�à‰<ØˆDØ‰;Ø—)‘)×"Ñ"ˆCÜ˜tŸy™yŸ}™}¬k¸4¸+Ó.FÓGÐGrC   c           	      óî   • U R                   u  pp4Uc  SnUc  SnUc  U R                  R                  nUc  U R                  R                  n[	        U R                  R
                  [        XX4/5      5      $ rp   )r3   rQ   rq   rl   r   rk   r   )rU   rf   rs   rr   ra   s        r@   rt   ÚDestinationFitR.bbox3  sk   € ð $(§;¡;Ñ ˆ�eØ‰<ØˆDØ‰>ØˆFØ‰=Ø—I‘I—O‘OˆEØ‰;Ø—)‘)×"Ñ"ˆCÜ˜dŸi™iŸm™m¬Z¸ÀuÐ8RÓ-SÓTÐTrC   r`   )r{   r|   r}   r~   r   r4   r   rI   r€   r‚   r   rƒ   ra   rf   r   rm   r   rt   r„   r`   rC   r@   r¯   r¯     s•   ‡ á8à€GˆX�c‰]Óàð�U˜5 $˜;Ñ'ó ó ðð ð�e˜E 4˜KÑ(ó ó ðð ðH�Uó Hó ðHð ðU�dó Uó óUrC   r¯   rF   c                   ó„   • \ rS rSr% Sr\\S'   \\\	4   \S'   \
S\	SSSS 4S	 j5       r\S\4S
 j5       r\SS j5       rSrg)ÚActioniR  zPDF actions (PDF 1.7 sect 12.6)Ú_docrefÚpropsÚobjr6   r#   r7   c                 ó¨   • [        U5      nUR                  S5      nUb  [        U[        5      (       d  [	        SU< 35      eU " [        U5      US9$ )NÚSzInvalid action subtype ©r¼   r½   )r   rG   r9   r   r   r"   )r?   r¾   r6   r½   Úsubtypes        r@   Ú	from_dictÚAction.from_dictY  sI   € ä˜3“ˆØ—)‘)˜C“.ˆØ‰?¤*¨W´i×"@Ñ"@Ý ÂÐ!IÓJÐJÙœ=¨Ó-°UÑ;Ð;rC   c                 óh   • [        U R                  S   [        5      (       d   eU R                  S   $ )NrÀ   )r9   r½   r   rT   s    r@   ÚtypeÚAction.typea  s+   € ä˜$Ÿ*™* S™/¬9×5Ñ5Ð5Ð5Ø�z‰z˜#‰ÐrC   c                 ó,   • [        U R                  5      $ ©z%Get associated document if it exists.©r!   r¼   rT   s    r@   r6   Ú
Action.docf  ó   € ô ˜tŸ|™|Ó,Ð,rC   r`   Nrz   )r{   r|   r}   r~   r   r   r€   r   Ústrr   r�   rÃ   r‚   r   rÆ   r6   r„   r`   rC   r@   r»   r»   R  sp   ‡ á)àÓØ��Y�ÑÓàð<˜Ið <¨Jð <¸8ó <ó ð<ð ð�ió ó ðð ó-ó ó-rC   r»   c                   ój   • \ rS rSr% Sr\\S'   \\\	4   \S'   SS jr
S\S   4S	 jr\SS
 j5       rSrg)ÚTreeil  z*PDF document outline (PDF 1.7 sect 12.3.3)r¼   r½   r7   Nc                 ó^   • [        U5      U l        [        UR                  S   5      U l        g )NÚOutlines)r"   r¼   r   Úcatalogr½   )rU   r6   s     r@   Ú__init__ÚTree.__init__r  s#   € Ü$ SÓ)ˆŒÜ §¡¨JÑ 7Ó8ˆ�
rC   ÚItemc              #   ót  #   • SU R                   ;   a¤  SU R                   ;   a“  U R                   S   nUb€  [        U[        5      (       d  [        R	                  SU5        g [        U R                  [        U5      S9nUR                   R                  S5      nUv •  XR                   S   L a  g Ub  M  g g g g 7f©NÚFirstÚLastz$Not an indirect object reference: %rrÁ   ÚNext©	r½   r9   r   rM   rN   rÕ   r¼   r   rG   ©rU   ÚrefÚouts      r@   Ú__iter__ÚTree.__iter__v  óš   é € Ø�d—j‘jÓ  V¨t¯z©zÓ%9Ø—*‘*˜WÑ%ˆCØ‘/Ü! #¤v×.Ñ.Ü—K‘KÐ FÈÔLØÜ 4§<¡<´zÀ#³ÑG�Ø—i‘i—m‘m FÓ+�Ø’	ØŸ*™* VÑ,Ò,Øð •/ð &:Ð ùó   ‚B0B8Â4B8c                 ó,   • [        U R                  5      $ rÉ   rÊ   rT   s    r@   r6   ÚTree.docƒ  rÌ   rC   rÁ   )r6   r#   r7   Nrz   )r{   r|   r}   r~   r   r   r€   r   rÍ   r   rÓ   r   rß   r‚   r6   r„   r`   rC   r@   rÏ   rÏ   l  sD   ‡ Ù4àÓØ��Y�ÑÓô9ð˜( 6Ñ*ô ð ó-ó ó-rC   rÏ   rÕ   c                   óü   • \ rS rSr% Sr\\S'   \\\	4   \S'   S\
S    4S jr\SS j5       r\S\4S j5       r\S\\S	4   4S
 j5       r\S\\S	4   4S j5       r\S\\S	4   4S j5       r\S\S   4S j5       rSrg	)rÕ   i‰  z/PDF document outline item (PDF 1.7 sect 12.3.3)r¼   r½   r7   c              #   ót  #   • SU R                   ;   a¤  SU R                   ;   a“  U R                   S   nUb€  [        U[        5      (       d  [        R	                  SU5        g [        U R                  [        U5      S9nUR                   R                  S5      nUv •  XR                   S   L a  g Ub  M  g g g g 7fr×   rÛ   rÜ   s      r@   rß   ÚItem.__iter__�  rá   râ   c                 ó,   • [        U R                  5      $ rÉ   rÊ   rT   s    r@   r6   ÚItem.doc�  rÌ   rC   c                 óà   • [        U R                  R                  S5      5      nUc  [        SU R                  < 35      e[	        U[
        5      (       d  [        SU< 35      e[        U5      $ )NÚTitlezOutline item has no title: z$Outline item title is not a string: )r   r½   rG   r   r9   r:   r   )rU   Úraws     r@   ÚtitleÚ
Item.title¢  s`   € ä�t—z‘z—~‘~ gÓ.Ó/ˆØ‰;Ü Ð#>¸t¿z¹z¹nÐ!MÓNÐNÜ˜#œu×%Ñ%Ü Ð#GÈÁwÐ!OÓPÐPÜ˜3ÓÐrC   Nc                 óR  • [        U R                  R                  S5      5      nUbA   [        U[        [
        [        45      (       a  [        R                  XR                  5      $  U R                  nUb  UR                  [        La  g UR                  S   n[        U[        [
        [        45      (       a  [        R                  XR                  5      $  g! [         a    [        R                  SU5         N–f = f! [         a    [        R                  SU5         gf = f)a*  Destination for this outline item.

Note: Special case of `GoTo` actions.
    Since internal `GoTo` actions (PDF 1.7 sect 12.6.4.2) in
    outlines and links are entirely equivalent to
    destinations, if one exists, it will be returned here as
    well.

Returns:
    destination, if one exists.
ÚDestNzUnknown named destination: %rÚD)r   r½   rG   r9   r   r:   r<   r/   rA   r6   rL   rM   rN   ÚactionrÆ   ÚACTION_GOTO)rU   r5   rò   s      r@   ÚdestinationÚItem.destination«  sý   € ô ˜Ÿ
™
Ÿ™ vÓ.Ó/ˆØÑðCÜ˜d¤Y´´tÐ$<×=Ñ=Ü&×0Ñ0°·x±xÓ@Ð@ð >ð
 —‘ˆØ‰>˜VŸ[™[´Ò;Øð	?Ø—<‘< Ñ$ˆDÜ˜$¤¬E´4Ð 8×9Ñ9Ü"×,Ñ,¨T·8±8Ó<Ð<ð :ð øô ó CÜ—‘Ð;¸TÖBðCûô ó 	?Ü�K‰KÐ7¸Õ>Øð	?ús$   ©>C ÂAD Ã D Ã?D Ä D&Ä%D&c                 óˆ   •  [        U R                  [        U R                  S   5      5      $ ! [        [
        4 a     g f = f)NÚA)r»   r¼   r   r½   rL   r>   rT   s    r@   rò   ÚItem.actionË  s<   € ð	Ü˜$Ÿ,™,¬
°4·:±:¸c±?Ó(CÓDÐDøÜœ)Ð$ó 	Ùð	ús   ‚+. ®AÁ Ac                 óž   •  [         R                  " U R                  [        U R                  S   5      5      $ ! [
        [        4 a     gf = f)zqThe structure element associated with this outline item, if
any.

Returns:
    structure element, if one exists.
ÚSEN)r   rÃ   r6   r   r½   rL   r>   rT   s    r@   ÚelementÚItem.elementÒ  sC   € ð	Ü×$Ò$ T§X¡X¬z¸$¿*¹*ÀTÑ:JÓ/KÓLÐLøÜœ)Ð$ó 	Ùð	ús   ‚69 ¹AÁA)rÕ   rÏ   c                 óþ   • U R                   S   n[        U[        5      (       d  [        SU< 35      e[	        U5      nSU;  a$  U R
                  R                  nUc  [        S5      e[        U R                  U5      $ )NÚParentz)Parent is not indirect object reference: z%Document apparently has no outline?!?)
r½   r9   r   r   r   r6   ÚoutlineÚ
ValueErrorrÕ   r¼   )rU   rÝ   r½   Útrees       r@   ÚparentÚItem.parentß  sr   € à�j‰j˜Ñ"ˆÜ˜#œv×&Ñ&Ü Ð#LÈSÉGÐ!TÓUÐUÜ˜3“ˆØ˜5Ó Ø—8‘8×#Ñ#ˆDØ‰|Ü Ð!HÓIÐIÜ�D—L‘L %Ó(Ð(rC   r`   rz   )r{   r|   r}   r~   r   r   r€   r   rÍ   r   r   rß   r‚   r6   rí   r   r/   rô   r»   rò   r   rû   r  r„   r`   rC   r@   rÕ   rÕ   ‰  sç   ‡ á9àÓØ��Y�ÑÓð˜( 6Ñ*ô ð ó-ó ð-ð ð �só  ó ð ð ð˜U ;°Ð#4Ñ5ó ó ðð> ð˜˜f d˜lÑ+ó ó ðð ð
˜˜w¨˜}Ñ-ó 
ó ð
ð ð	)˜˜nÑ-ó 	)ó ó	)rC   )Dr   ÚloggingÚdataclassesr   Útypingr   r   r   r   r   r	   r
   r   r   Úplaya.exceptionsr   Úplaya.parserr   r   Úplaya.pdftypesr   r   r   r   r   r   r   r   r   Úplaya.structurer   Úplaya.utilsr   r   r   r   Úplaya.workerr   r   r    r!   r"   Úplaya.documentr#   Ú
playa.pager$   Ú	getLoggerr{   rM   ÚDISPLAY_XYZÚDISPLAY_FITÚDISPLAY_FITHÚDISPLAY_FITVÚDISPLAY_FITRÚDISPLAY_FITBÚDISPLAY_FITBHÚDISPLAY_FITBVró   r/   r†   rœ   r¦   r¯   rF   r€   r»   rÏ   rÕ   r`   rC   r@   Ú<module>r     sã  ðòó Ý !÷
÷ 
õ 
õ ,ß -÷
÷ 
õ 
õ $ß TÓ T÷õ ö Ý'Ýà×Ò˜Ó!€Ù�%‹j€Ù�%‹j€Ù�6‹{€Ù�6‹{€Ù�6‹{€Ù�6‹{€Ù�G“€Ù�G“€Ù�&‹k€ð ÷[ð [ó ð[ð| ô+)�[ó +)ó ð+)ð\ ôH�kó Hó ðHðB ôH�kó Hó ðHðB ô6U�kó 6Uó ð6Uðt �Ø�Ø�/Ø�/Ø�/Ø�+Ø�?Ø�?ð	4€ˆd�9˜d ;Ñ/Ð/Ñ0ó 	ð ÷-ð -ó ð-ô2-ˆ8�FÑô -ð: ô_)ˆ8�FÑó _)ó ñ_)rC   