§
    ¦”jC™  ã                  ó¦  — d dl mZ d dlZd dlZd dlZd dlmZ d dl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 d d	lmZ d d
lmZ d dlmZ d dlmZ 	 d dlmZ n# e$ r	 d dlmZ Y nw xY wd dl m!Z!m"Z"m#Z# d dl$m%Z%m&Z& d dl'm(Z(m)Z)m*Z* d dl+m,Z, d dl-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8 d dl9m:Z: d dl;m<Z<m=Z=m>Z>m?Z?m@Z@ erd dlAmBZB d dl;mCZC d e_D         ejE        eF¦  «        ZGdZHdZIdZJdZKd,d„ZLeLe!_L        d,d„ZMd-d„ZN G d „ d!e:jO        ¦  «        ZP G d"„ d#e:jQ        ¦  «        ZR G d$„ d%¦  «        ZS G d&„ d'¦  «        ZTd.d)„ZU G d*„ d+¦  «        ZVdS )/é    )ÚannotationsN)ÚPath)ÚTYPE_CHECKINGÚCallable)Úrl_settings)ÚTA_LEFT)Ú
addMapping)ÚA4)ÚParagraphStyle)Ú
pdfmetrics)ÚTTFont)ÚFrame)ÚShowBoundaryValue)ÚParaFragÚps2ttÚtt2ps)ÚdefaultÚparser)ÚB64InlineURIÚgetFileÚpisaFileObject)Ú	TableData)Úarabic_formatÚ
copy_attrsÚfrag_text_language_checkÚget_default_asian_fontÚgetColorÚ	getCoordsÚgetFloatÚgetFrameDimensionsÚgetSizeÚset_asian_fontsÚ	set_value)Úcss)ÚPmlPageCountÚPmlPageTemplateÚPmlParagraphÚPmlParagraphAndImageÚPmlTableOfContents)ÚFlowable)ÚPmlImageé   gš™™™™™Ù?õ   Â Úreturnr   c                ó€   — t          di | j        ¤Ž}|r#|j        }|                     |¦  «         d|v r|d= d |_        |S )NÚcbDefn© )r   Ú__dict__ÚupdateÚ
bulletText)ÚselfÚkwargsÚnÚds       ú`/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/xhtml2pdf/context.pyÚcloner:   P   sT   € ÝÐ!Ð!�4”=Ð!Ð!€AØð ØŒJˆØ	�Š�ÑÔÐà�qˆ=ˆ=Ø�(�Ø€A„LØ€Hó    c                ó®  — t          ¦   «         }t          |dd¦  «         t          |dd ¦  «         t          |dd¦  «         d|_        d|_        t	          | j        ¦  «        \  |_        |_        |_        | j        |_        | j        |_        d|_	        d	|_
        t          |_        d
|_        |j        |_        |j        |_        |j        |_        |j        |_        |j        |_        |j        |_        |j        |_        |j        |_        |j        |_        |j        |_        |j        |_        |j        |_        d|_        d|_        d|_        |S )N)ÚsubÚsuperÚriseÚ	underlineÚstrikeÚgreekÚleadingÚleadingSpaceÚspaceBeforeÚ
spaceAfterÚ
leftIndentÚrightIndentÚfirstLineIndentÚborderPaddingÚpaddingLeftÚpaddingRightÚ
paddingTopÚpaddingBottomÚbulletIndentÚinsideStaticFrameÚoutlineLevelr   )Ú	backColorÚvAlignÚlinkÚborderStyleÚborderColorÚlistStyleTypeÚlistStyleImageÚwordWrapÚheightÚwidthr4   )Ú
pageNumberÚ	pageCountÚoutlineÚoutlineOpenÚkeepWithNextÚrtlFÚ zTimes-RomanÚnormalz150%é   Ú	Helveticag      ð?)r   r#   ÚtextÚfontNamer   ÚboldÚitalicÚfontSizeÚ	textColorÚletterSpacingÚleadingSourcer   Ú	alignmentÚborderWidthÚborderLeftWidthrV   ÚborderLeftColorrU   ÚborderLeftStyleÚborderRightWidthÚborderRightColorÚborderRightStyleÚborderTopWidthÚborderTopColorÚborderTopStyleÚborderBottomWidthÚborderBottomColorÚborderBottomStyleÚ
whiteSpaceÚbulletFontNameÚzoom)ÚstyleÚfrags     r9   ÚgetParaFragr�   _   sf  € Ý‘Z”Z€DåØð	
ð. 	
ñ3ô ð õ8 Øð	
ð 	ñô ð õ" ØØTØñô ð ð €D„IØ!€D„MÝ,1°%´.Ñ,AÔ,AÑ)€D„M�4”9˜dœkØ”N€D„MØ”_€D„Nð "€DÔØ€DÔÝ€D„NØ€DÔàÔ+€DÔØÔ+€DÔØÔ+€DÔØ Ô,€DÔØ Ô,€DÔØ Ô,€DÔØÔ*€DÔØÔ*€DÔØÔ*€DÔØ!Ô-€DÔØ!Ô-€DÔØ!Ô-€DÔà€D„OØ%€DÔØ€D„Ià€Kr;   Ústrc                ó¢   — t          j         | ¦  «        }|j        r| S t          t          | ¦  «        j                             ¦   «         ¦  «        S ©N)ÚurlparseÚschemer‚   r   ÚparentÚresolve)ÚpathÚpartss     r9   Ú
getDirNamer‹   µ   sD   € ÝÔ˜dÑ#Ô#€EØ„|ð ØˆÝ�t�D‰zŒzÔ ×(Ò(Ñ*Ô*Ñ+Ô+Ð+r;   c                  óv   — e Zd ZU ded<   dd„Zdddd	œdd„Zedd d„¦   «         Zed!d„¦   «         Zd"d„Z	d#d„Z
dS )$ÚpisaCSSBuilderÚpisaContextÚcr.   útuple[dict, dict]c                ór  — |                       |                      d¦  «        g|¦  «        }t          t          |d                              ¦   «         ¦  «        ¦  «        }d|vri i fS |d         }t          |                     dd¦  «        ¦  «                             ¦   «         }|dv }|s9|dk    r3t           	                    | j
         	                    d|¦  «        ¦  «         t          |                     d	d
¦  «        ¦  «                             ¦   «         dv }t          |d         t          ¦  «        rd„ |d         D ¦   «         }n	|d         g}|D ]a}	| j
                             |	| j
        j        j        ¬¦  «        }
|
r2|
                     ¦   «         s| j
                             ||
||¬¦  «         Œbi i fS )zEmbed fonts.Ú*r   Úsrczfont-familyzfont-weightrc   >   Ú500Ú600Ú700Ú800Ú900rh   Úbolderz)@fontface, unknown value font-weight '%s'z
font-stylerb   >   ri   Úobliquec                ó<   — g | ]}t          |t          ¦  «        ¯|‘ŒS r1   )Ú
isinstancer‚   )Ú.0Úparts     r9   ú
<listcomp>z-pisaCSSBuilder.atFontFace.<locals>.<listcomp>Ö   s'   € ÐKÐKÐK˜dµZÀÅcÑ5JÔ5JÐK�TÐKÐKÐKr;   ©Úrelative)rh   ri   )ÚrulesetÚselectorÚnextÚiterÚvaluesr‚   ÚgetÚlowerÚlogÚwarningr�   rœ   Úlistr   Ú	cssParserÚrootPathÚnotFoundÚloadFont)r5   ÚdeclarationsÚresultÚdataÚnamesÚfweightrh   ri   ÚfontsÚfontr“   s              r9   Ú
atFontFacezpisaCSSBuilder.atFontFace¿   s±  € à—’˜tŸ}š}¨SÑ1Ô1Ð2°LÑAÔAˆÝ•D˜ œ×)Ò)Ñ+Ô+Ñ,Ô,Ñ-Ô-ˆØ˜ÐÐà�r�6ˆMØ�]Ô#ˆõ �d—h’h˜}¨hÑ7Ô7Ñ8Ô8×>Ò>Ñ@Ô@ˆØÐOÐOˆØð 	˜ 8Ò+Ð+Ý�KŠKØ”—’ÐJÈGÑTÔTñô ð õ
 �T—X’X˜l¨BÑ/Ô/Ñ0Ô0×6Ò6Ñ8Ô8Ð<QÐQˆõ �d˜5”k¥4Ñ(Ô(ð 	"ØKÐK d¨5¤kÐKÑKÔKˆEˆEà˜%”[�MˆEàð 	Fð 	FˆDØ”&—.’. °´Ô0@Ô0I�.ÑJÔJˆCØð F˜3Ÿ<š<™>œ>ð FØ”—’  s°¸f�ÑEÔEÐEøØ�2ˆvˆr;   FN)r   r   ©ÚfirstÚborderÚsizeÚnamer‚   r²   Údictr¹   Úboolr»   útuple[float, float]úDtuple[str, str | None, str | None, float, float, float, float, dict]c               óv  — | j         }|sd|                     ¦   «         z  }|                     dd¦  «        r|d         |d         f}t          ||d         |d         ¦  «        \  }}}	}
|r|d |                     d|¦  «        |||	|
|fS ||                     dd ¦  «        |                     d|¦  «        |||	|
|fS )Nz-pdf-frame-%dÚis_landscapeFrd   r   z-pdf-frame-borderz-pdf-frame-content)r�   ÚUIDr§   r    )r5   r¼   r²   r¹   rº   r»   r�   ÚxÚyÚwÚhs              r9   Ú_pisaAddFramezpisaCSSBuilder._pisaAddFrameà   sâ   € ð ŒFˆØð 	-Ø" Q§U¢U¡W¤WÑ,ˆDØ�8Š8�N EÑ*Ô*ð 	&Ø˜”G˜T !œWÐ%ˆDÝ'¨¨d°1¬g°t¸A´wÑ?Ô?‰
ˆˆ1ˆa�ð ð 	WØ˜˜tŸxšxÐ(;¸VÑDÔDÀaÈÈAÈqÐRVÐVÐVð Ø�HŠHÐ)¨4Ñ0Ô0Ø�HŠHÐ(¨&Ñ1Ô1ØØØØØð	
ð 		
r;   ÚfuncúCallable | Nonec                ó°   — |sd„ }t          |t          t          f¦  «        r|D ]}|| v r || |         ¦  «        n|c S d S || v r || |         ¦  «        n|S )Nc                ó   — | S r„   r1   )rÄ   s    r9   rÉ   z)pisaCSSBuilder._getFromData.<locals>.func  s   € Ø�r;   )rœ   r«   Útuple)r²   Úattrr   rÉ   Úas        r9   Ú_getFromDatazpisaCSSBuilder._getFromData   sŠ   € àð 	ðð ð õ �d�T¥5˜MÑ*Ô*ð 	Øð ?ð ?�Ø()¨T¨	¨	�t�t˜D œG‘}”}�}°wÐ>Ð>Ð>Ø�4Ø#'¨4 < <ˆtˆt�D˜”JÑÔÐ°WÐ<r;   c                óÎ  — |                       d¦  «        }|                       d¦  «        }|                       d¦  «        }|                       d¦  «        }dt          |                       dd¦  «        ¦  «        i}|r-t          |d         ¦  «        t          |d         ¦  «        g|d	<   |rt          |¦  «        |d
<   |rt          |¦  «        |d<   |rt          |¦  «        |d<   |S )Nzbackground-object-positionzbackground-heightzbackground-widthzbackground-opacityÚstepzbackground-page-steprd   r   Úobject_positionrZ   r[   Úopacity)r§   r   r!   )r²   rÓ   rZ   r[   rÔ   Údevs         r9   Úget_background_contextz%pisaCSSBuilder.get_background_context  sî   € àŸ(š(Ð#?Ñ@Ô@ˆØ—’Ð-Ñ.Ô.ˆØ—’Ð+Ñ,Ô,ˆØ—(’(Ð/Ñ0Ô0ˆØ�X d§h¢hÐ/EÀqÑ&IÔ&IÑJÔJÐKˆØð 	å˜¨Ô*Ñ+Ô+Ý˜¨Ô*Ñ+Ô+ð&ˆCÐ!Ñ"ð ð 	,Ý# F™OœOˆC�‰MØð 	*Ý" 5™>œ>ˆC�‰LØð 	/Ý% gÑ.Ô.ˆC�	‰NØˆ
r;   Ú
pseudopageú
str | NoneÚisLandscapec               óÚ	  — | j         }|pd}||j        v r3t                               | j                              d|¦  «        ¦  «         |                      |ddt
          ¦  «        }|                      |ddt
          ¦  «        }|                      |ddt
          ¦  «        }	|                      |ddt
          ¦  «        }
|                      |dd t          ¦  «        }|                      |d	dt
          ¦  «        }d
D ]?}||v r9|j                             |  	                    ||d||j
        ¬¦  «        ¦  «          nŒ@g }g }|j        D �]ê\  }}}}}}}}|                      |d|t
          ¦  «        }|                      |d|t
          ¦  «        }|                      |d|	t
          ¦  «        }|                      |d|
t
          ¦  «        }|                      |d|t          ¦  «        }|                      |d	|t
          ¦  «        }|s|rt          t          |¦  «        ¬¦  «        }nt          ||¬¦  «        }|r,t          ||j
        d         |j
        d         ¦  «        \  }}}}t          |||||j
        ¦  «        \  }}}}|dk    s|dk    r2t                               | j                              d¦  «        ¦  «         t          ||||||||||¬¦
  «
        }|rDg |_        |g|j                             |g ¦  «        ¢|j        |<   |                     |¦  «         �ŒÕ|                     |¦  «         �Œì|                     dd ¦  «        } |                      |¦  «        }!| r+| j                              | | j         j        j        ¬¦  «        } |sût                               |                     d¦  «        ¦  «         |  	                    ||d||j
        ¬¦  «        \  }}}}}}}}t          |||||j
        ¦  «        \  }}}}|dk    s|dk    r-t                               |                     d¦  «        ¦  «         |s|rt          ¦   «         }nt          ||¬¦  «        }|                     t          |||||||	|
||¬¦
  «
        ¦  «         t/          |||j
        ¬¦  «        }"||"_        | |"_        |j        |"_        |!|"_        |r|"j        |"_        |"|j        |<   d |_        g |_        g |_        i i fS )NÚbodyz&template '%s' has already been definedzpadding-topr   zpadding-leftzpadding-rightzpadding-bottom)zborder-top-colorzborder-bottom-colorzborder-left-colorzborder-right-color)zborder-top-widthzborder-bottom-widthzborder-left-widthzborder-right-width)
ú
margin-topúmargin-leftúmargin-rightúmargin-bottomÚtopÚleftÚrightÚbottomr[   rZ   Tr¸   )r[   )Úcolorr[   rd   z<Negative width or height of frame. Check @frame definitions.)ÚidÚleftPaddingÚrightPaddingÚbottomPaddingÚ
topPaddingÚshowBoundaryzbackground-imager    zCmissing explicit frame definition for content or just static framesz;Negative width or height of frame. Check @page definitions.)rå   ÚframesÚpagesize) r�   ÚtemplateListr©   rª   rÐ   r!   r   Ú	frameListÚappendrÈ   ÚpageSizer   Úintr    r   r   ÚpisaStaticStoryÚframeStaticr§   rÖ   r   r¬   r­   r&   ÚpisaStaticListÚpisaBackgroundÚpisaBackgroundListÚbackgroundContextÚ	LANDSCAPEÚpageorientationÚtemplateÚframeStaticList)#r5   r¼   r×   r²   rÙ   Ú
pageBorderr�   Úpadding_topÚpadding_leftÚpadding_rightÚpadding_bottomÚborder_colorÚborder_widthÚproprî   Ú
staticListÚfnameÚstaticrº   rÄ   rÅ   rÆ   rÇ   ÚfdataÚfpadding_topÚfpadding_leftÚfpadding_rightÚfpadding_bottomÚfborder_colorÚfborder_widthÚframe_borderÚframeÚ
backgroundÚbackground_contextÚpts#                                      r9   ÚatPagezpisaCSSBuilder.atPage!  sÓ  € ð ŒFˆØˆ~�vˆà�1”>Ð!Ð!Ý�KŠK˜œŸšÐ'OÐQUÑVÔVÑWÔWÐWà×'Ò'¨¨m¸QÅÑHÔHˆØ×(Ò(¨¨~¸qÅ'ÑJÔJˆØ×)Ò)¨$°ÀÅGÑLÔLˆØ×*Ò*¨4Ð1AÀ1ÅgÑNÔNˆØ×(Ò(Øðð Ýñ

ô 

ˆð ×(Ò(Øðð Ýñ

ô 

ˆð
ð 	ð 	ˆDð �tˆ|ˆ|Ø”×"Ò"Ø×&Ò&Ø˜d¨$°zÈÌ
ð 'ñ ô ñô ð ð
 �ð ð ˆ	Øˆ
Ø89¼ð I	(ñ I	(Ñ4ˆE�6˜6 1 a¨¨A¨uØ×,Ò,¨U°MÀ;ÕPWÑXÔXˆLØ ×-Ò-Ø�~ |µWñô ˆMð "×.Ò.Ø�¨µwñô ˆNð #×/Ò/ØÐ'¨½ñô ˆOð !×-Ò-Øðð Ýñ
ô 
ˆMð !×-Ò-Øðð Ýñ
ô 
ˆMð ð ˜ð Ý0Ý˜f™+œ+ð ñ  ô  ��õ
  1Ø'¨}ð ñ  ô  �ð
 ð UÝ/°°q´zÀ!´}ÀaÄjÐQRÄmÑTÔT‘
��1�a˜Ý" 1 a¨¨A¨q¬zÑ:Ô:‰JˆAˆq�!�QØ�AŠvˆv˜˜aš˜Ý—’Ø”F—N’NØVñô ñô ð õ ØØØØØØ)Ø+Ø-Ø'Ø)ðñ ô ˆEð ð (Ø(*�Ô%Ø).Ð(O°´×1BÒ1BÀ6È2Ñ1NÔ1NÐ(O�”˜fÑ%Ø×!Ò! %Ñ(Ô(Ð(Ñ(à× Ò  Ñ'Ô'Ð'Ñ'à—X’XÐ0°$Ñ7Ô7ˆ
Ø!×8Ò8¸Ñ>Ô>ÐØð 	XàœŸš¨
¸T¼VÔ=MÔ=V˜ÑWÔWˆJàð $	Ý�KŠKØ—	’	ðñô ñô ð ð 7;×6HÒ6HØ�d $¨zÀÄ
ð 7Iñ 7ô 7Ñ3ˆE�6˜6 1 a¨¨A¨tõ # 1 a¨¨A¨q¬zÑ:Ô:‰JˆAˆq�!�QØ�AŠvˆv˜˜aš˜Ý—’Ø—I’IØUñô ñô ð ð ð Y˜ð YÝ0Ñ2Ô2��å0°|È<ÐXÑXÔX�à×ÒÝØØØØØØ ,Ø!.Ø"0Ø*Ø!-ðñ ô ñô ð õ  ¨YÀÄÐLÑLÔLˆØ&ˆÔØ&ˆÔØ !Ô 4ˆÔØ1ˆÔàð 	.Ø!#¤ˆBÔà!ˆŒ�tÑØˆŒ
ØˆŒØˆÔà�2ˆvˆr;   c                ó€  — |r¹|                       |                      d¦  «        g|¦  «        }|d         }|r…	 |                     ¦   «         d         }n*# t          $ r |                     ¦   «         d         }Y nw xY w| j        j                             |                      ||| j        j	        ¬¦  «        ¦  «         i i fS )Nr’   r   rd   )r»   )
r¢   r£   r¦   Ú	ExceptionÚpopitemr�   rî   rï   rÈ   rð   )r5   r¼   r°   r±   r²   s        r9   ÚatFramezpisaCSSBuilder.atFrameé  sÍ   € Øð 	Ø—\’\ 4§=¢=°Ñ#5Ô#5Ð"6¸ÑEÔEˆFð ˜!”9ˆDØð ð-ØŸ;š;™=œ=¨Ô+�D�DøÝ ð -ð -ð -ØŸ<š<™>œ>¨!Ô,�D�D�Dð-øøøà”Ô ×'Ò'Ø×&Ò& t¨T¸¼¼Ð&ÑHÔHñô ð ð �2ˆvˆs   ¸A Á$A:Á9A:)r.   r�   )
r¼   r‚   r²   r½   r¹   r¾   r»   r¿   r.   rÀ   )NN)rÉ   rÊ   )r²   r½   r.   r½   )
r¼   r‚   r×   rØ   r²   r½   rÙ   r¾   r.   r�   )r¼   r‚   r.   r�   )Ú__name__Ú
__module__Ú__qualname__Ú__annotations__r·   rÈ   ÚstaticmethodrÐ   rÖ   r  r  r1   r;   r9   r�   r�   ¼   sÐ   € € € € € € Ø€N€N�Nðð ð ð ðL ØØ$*ð
ð 
ð 
ð 
ð 
ð 
ð@ ð
=ð 
=ð 
=ð 
=ñ „\ð
=ð ðð ð ñ „\ðð&Fð Fð Fð FðPð ð ð ð ð r;   r�   c                  ó   — e Zd Zd„ ZdS )ÚpisaCSSParserc                óÒ  — d }| j         }| j                             || j         ¬¦  «        }|sd S | j         r>t          j        | j         ¦  «        j        r t          j        | j         |¦  «        | _         nt          |j        ¦  «        | _         	 |                      | 	                    ¦   «         ¦  «        }|| _         n*# t          $ r t                               d¦  «         Y nw xY w|S )Nr    zError while parsing CSS file)r­   r�   r   r…   r†   Úurljoinr‹   ÚuriÚparseÚgetDatar  r©   Ú	exception)r5   ÚcssResourceNamer±   ÚoldRootPathÚcssFiles        r9   ÚparseExternalzpisaCSSParser.parseExternalü  sà   € ØˆØ”mˆØ”&—.’. ¸4¼=�.ÑIÔIˆØð 	Ø�4ØŒ=ð 	4�XÔ.¨t¬}Ñ=Ô=ÔDð 	4Ý$Ô,¨T¬]¸OÑLÔLˆDŒMˆMå& w¤{Ñ3Ô3ˆDŒMð	:Ø—Z’Z §¢Ñ 1Ô 1Ñ2Ô2ˆFØ'ˆDŒMˆMøÝð 	:ð 	:ð 	:Ý�MŠMÐ8Ñ9Ô9Ð9Ð9Ð9ð	:øøøàˆs   Â.B= Â=$C$Ã#C$N)r  r  r  r(  r1   r;   r9   r  r  û  s#   € € € € € ðð ð ð ð r;   r  c                  ó>   — e Zd Zdd„Zdd„Zdd	„Zdd„Zdd„Zdd„ZdS )ÚPageNumberTextr.   ÚNonec                ó   — d| _         d S ©Nrb   ©r²   ©r5   Úargsr6   s      r9   Ú__init__zPageNumberText.__init__  ó   € ØˆŒ	ˆ	ˆ	r;   r¾   c                óZ   — | j         j        �t          | j         j        ¦  «        | _        dS ©NF)ÚflowableÚpager‚   r²   ©r5   Úkeys     r9   Ú__contains__zPageNumberText.__contains__  s&   € ØŒ=ÔÐ)Ý˜DœMÔ.Ñ/Ô/ˆDŒIØˆur;   rf   r‚   ú	list[str]c                ó   — | j         gS r„   r.  ©r5   rf   s     r9   ÚsplitzPageNumberText.split  ó   € Ø”	ˆ{Ðr;   Úindexrñ   c                ó8   — | j         r| j         |         n| j         S r„   r.  ©r5   r?  s     r9   Ú__getitem__zPageNumberText.__getitem__  s   € Ø#'¤9Ð;ˆtŒy˜ÔÐ°$´)Ð;r;   r5  r*   c                ó   — || _         d S r„   ©r5  ©r5   r5  s     r9   ÚsetFlowablezPageNumberText.setFlowable  ó   € Ø ˆŒˆˆr;   c                ó   — | j         S r„   r.  ©r5   s    r9   Ú__str__zPageNumberText.__str__   ó
   € ØŒyÐr;   N©r.   r+  ©r.   r¾   ©rf   r‚   r.   r:  ©r?  rñ   r.   r‚   ©r5  r*   r.   r+  ©r.   r‚   )	r  r  r  r1  r9  r=  rB  rF  rJ  r1   r;   r9   r*  r*    sŒ   € € € € € ðð ð ð ðð ð ð ð
ð ð ð ð<ð <ð <ð <ð!ð !ð !ð !ðð ð ð ð ð r;   r*  c                  ó>   — e Zd Zdd„Zdd„Zdd„Zdd
„Zdd„Zdd„ZdS )ÚPageCountTextr.   r+  c                ó   — d| _         d S r-  r.  r/  s      r9   r1  zPageCountText.__init__%  r2  r;   r‚   c                ó   — | j         S r„   r.  rI  s    r9   rJ  zPageCountText.__str__(  rK  r;   r¾   c                óZ   — | j         j        �t          | j         j        ¦  «        | _        dS r4  )r5  Ú	pagecountr‚   r²   r7  s     r9   r9  zPageCountText.__contains__+  s&   € ØŒ=Ô"Ð.Ý˜DœMÔ3Ñ4Ô4ˆDŒIØˆur;   rf   r:  c                ó   — | j         gS r„   r.  r<  s     r9   r=  zPageCountText.split0  r>  r;   r?  rñ   c                ó8   — | j         s| j         n| j         |         S r„   r.  rA  s     r9   rB  zPageCountText.__getitem__3  s   € Ø $¤	Ð?ˆtŒyˆy¨t¬y¸Ô/?Ð?r;   r5  r*   c                ó   — || _         d S r„   rD  rE  s     r9   rF  zPageCountText.setFlowable6  rG  r;   NrL  rQ  rM  rN  rO  rP  )	r  r  r  r1  rJ  r9  r=  rB  rF  r1   r;   r9   rS  rS  $  s�   € € € € € ðð ð ð ðð ð ð ðð ð ð ð
ð ð ð ð@ð @ð @ð @ð!ð !ð !ð !ð !ð !r;   rS  Úsentencec                ó†   — |                       d¦  «        }d                     t          |¦  «        ¦  «        }|d d d…         S )Nú éÿÿÿÿ)r=  ÚjoinÚreversed)r[  ÚwordsÚreverse_sentences      r9   rb  rb  :  s<   € Ø�NŠN˜3ÑÔ€EØ—x’x¥¨¡¤Ñ0Ô0ÐØ˜D˜D˜b˜DÔ!Ð!r;   c                  ó<  — e Zd ZdZd9d:d„Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d;d„Zd<d„Zd=d„Zd=d„Zed>d„¦   «         Zed„ ¦   «         Zed„ ¦   «         Zdd œd?d#„Zd=d$„Zd%„ Zd&„ Zd=d'„Zd@d(„Zd=d)„Zd=d*„ZdAd,„ZedBd-„¦   «         ZdCd/„Zd0„ Zd1„ Zd;dDd3„Z dEd5„Z!d;d6„Z"dFd8„Z#dS )GrŽ   zZ
    Helper class for creation of reportlab story and container for
    various data.
    rb   r   r^  r‰   r‚   Údebugrñ   Úcapacityr.   r+  c                óÚ  — t          j         t          j        ¦  «        | _        t          j         t	          ¦   «         ¦  «        | _        g | _        g | _        g | _        g | _	        g | _
        g | _        g | _        g | _        g | _        g | _        g | _        g | _        g | _        d | _        d | _        d | _        d | _        d | _        t1          ¦   «         | _        d| _        d| _        d| _        d| _        d| _        d| _        d| _         d| _!        d| _"        i | _#        i | _$        i | _%        || _&        tO          ¦   «         | _(        d| _)        tT          | _+        tY          d¦  «        | _-        t]          t_          d|  0                    ¦   «         › �¦  «        ¦  «        | _1        | j1        | _2        d| _3        d| _4        d| _5        d | _6        |pd	| _7        tq          j8        | j7        ¦  «        }|j9        sJtu          tw          | j7        ¦  «         <                    ¦   «          =                    ¦   «         ¦  «        | _7        t}          | j7        ¦  «        | _?        ddddtT          d
œ| _@        d S )Nr   g        rb   FÚ12ptr   TÚltrÚ	__dummy__)ÚauthorÚtitleÚsubjectÚkeywordsrì   )AÚcopyr   ÚDEFAULT_FONTÚfontListr   ÚasianFontListÚ
anchorFragÚ
anchorNameÚ
fragAnchorÚfragListÚ	fragStackrî   rû   ÚframeStatioundListr©   r‰   rö   Úselect_optionsÚstoryÚimageÚindexing_storyÚkeepInFrameIndexÚnoderú   r   Ú	tableDataÚerrrj   ÚlistCounterÚuidctrÚwarnÚcssDefaultTextÚcssTextÚlanguagerf   ró   Ú	imageDatarí   re  r)   ÚtocÚ
multiBuildr
   rð   r!   ÚbaseFontSizer�   r   rÃ   r€   Ú	fragBlockÚ	fragStripÚforceÚdirÚpathCallbackÚpathDocumentr…   r†   r‚   r   Úabsoluterˆ   r‹   ÚpathDirectoryÚmeta)r5   r‰   rd  re  rŠ   s        r9   r1  zpisaContext.__init__F  s,  € Ý(,¬	µ'Ô2FÑ(GÔ(GˆŒÝ-1¬YÕ7MÑ7OÔ7OÑ-PÔ-PˆÔØ "ˆŒØ "ˆŒØ "ˆŒØ ˆŒØ!ˆŒØ!ˆŒØ%'ˆÔØ(*ˆÔØˆŒØˆŒ	Ø(*ˆÔØ)+ˆÔØˆŒ
Ø&*ˆŒ
Ø37ˆÔØ $ˆÔØˆŒ	ØˆŒÝ$-¡K¤KˆŒØˆŒØ"ˆŒØ !ˆÔØˆŒØˆŒ	Ø#%ˆÔØˆŒØˆŒØˆŒ	Ø!#ˆÔØ!ˆŒØ"$ˆÔØ%ˆŒÝ'9Ñ';Ô';ˆŒØ %ˆŒÝ-/ˆŒÝ#*¨6¡?¤?ˆÔÝ)­.Ð9OÀ4Ç8Â8Á:Ä:Ð9OÐ9OÑ*PÔ*PÑQÔQˆŒ	Ø#'¤9ˆŒØ#ˆŒØ ˆŒ
ØˆŒð !ˆÔð "&Ð!4¨ˆÔÝÔ! $Ô"3Ñ4Ô4ˆØŒ|ð 	RÝ #¥D¨Ô):Ñ$;Ô$;×$DÒ$DÑ$FÔ$F×$NÒ$NÑ$PÔ$PÑ QÔ QˆDÔÝ",¨TÔ->Ñ"?Ô"?ˆÔð ØØØÝð;
ð ;
ˆŒ	ˆ	ˆ	r;   c                ó8   — |dk    rd| j         _        || _        d S )Nra   T)r€   ra   r�  )r5   Ú	directions     r9   ÚsetDirzpisaContext.setDir…  s!   € Ø˜ÒÐØ ˆDŒIŒMØˆŒˆˆr;   c                ó0   — | xj         dz  c_         | j         S )Nrd   )r�  rI  s    r9   rÃ   zpisaContext.UIDŠ  s   € ØˆŒ�qÑˆŒØŒ{Ðr;   c                óô   — |                      ¦   «         }|                     d¦  «        r
|dd…         }|                     d¦  «        r
|dd…         }| xj        |                      ¦   «         dz   z  c_        d S ©Nz	<![CDATA[é	   éýÿÿÿz<!--é   ú
)ÚstripÚ
startswithr„  ©r5   Úvalues     r9   ÚaddCSSzpisaContext.addCSS�  sv   € Ø—’‘”ˆØ×Ò˜KÑ(Ô(ð 	 Ø˜!˜B˜$”KˆEØ×Ò˜FÑ#Ô#ð 	 Ø˜!˜B˜$”KˆEØˆŒ˜Ÿš™œ¨Ñ,Ñ,ˆŒˆˆr;   c                óô   — |                      ¦   «         }|                     d¦  «        r
|dd…         }|                     d¦  «        r
|dd…         }| xj        |                      ¦   «         dz   z  c_        d S r˜  )r�  rž  rƒ  rŸ  s     r9   ÚaddDefaultCSSzpisaContext.addDefaultCSS˜  s|   € Ø—’‘”ˆØ×Ò˜KÑ(Ô(ð 	 Ø˜!˜B˜$”KˆEØ×Ò˜FÑ#Ô#ð 	 Ø˜!˜B˜$”KˆEØÐÔ˜uŸ{š{™}œ}¨tÑ3Ñ3ÐÔÐÐr;   c                óp  — dd l }t          g d¢¬¦  «        | _        |                     | ¦  «        | j        _        t          d„ ¦  «        t          _        t          | j        ¦  «        | _        | j	        | j        _
        |                     | ¦  «        | j        _        t          d„ ¦  «        t          _        | j                             | j        ¦  «        | _        | j                             | j        ¦  «        | _        t          j        | j        | j        ¬¦  «        | _        | j        | j        _        d S )Nr   )ÚallÚprintÚpdf)Ú	mediumSetc                ó*   — |                       ¦   «         S r„   ©Ú_crI  s    r9   ú<lambda>z&pisaContext.parseCSS.<locals>.<lambda>ª  s   € °·²±´€ r;   c                ó*   — |                       ¦   «         S r„   rª  rI  s    r9   r¬  z&pisaContext.parseCSS.<locals>.<lambda>°  s   € °·²±	´	€ r;   )Ú	userAgentÚuser)Úweakrefr�   Ú
cssBuilderÚrefr«  Úpropertyr�   r  r¬   r‘  r­   r"  r„  r$   rƒ  Ú
cssDefaultÚCSSCascadeStrategyÚ
cssCascader   )r5   r°  s     r9   ÚparseCSSzpisaContext.parseCSS   s   € ð
 	ˆˆˆå(Ð3JÐ3JÐ3JÐKÑKÔKˆŒà$Ÿ[š[¨Ñ.Ô.ˆŒÔÝ#Ð$:Ð$:Ñ;Ô;�Ôå& t¤Ñ7Ô7ˆŒØ"&Ô"4ˆŒÔà#ŸKšK¨Ñ-Ô-ˆŒÔÝ"Ð#9Ð#9Ñ:Ô:�Œà”>×'Ò'¨¬Ñ5Ô5ˆŒØœ.×.Ò.¨tÔ/BÑCÔCˆŒÝÔ0Ø”o¨D¬Hð
ñ 
ô 
ˆŒð "&¤ˆŒÔÐÐr;   c                ó:   — | j                              |¦  «         d S r„   )ry  rï   )r5   r²   s     r9   ÚaddStoryzpisaContext.addStoryº  s   € ØŒ
×Ò˜$ÑÔÐÐÐr;   Nc                óx   — |�|ng }t          j         |¦  «        t          j         | j        ¦  «        c| _        }|S r„   )rn  ry  )r5   ry  s     r9   Ú	swapStoryzpisaContext.swapStory½  s9   € ØÐ*��°ˆÝ œI eÑ,Ô,­d¬i¸¼
Ñ.CÔ.CÐˆŒ
�EØˆr;   r   c                ó*  — t          d|                      ¦   «         z  |j        ¬¦  «        }t          ||d¦  «         t	          |j        |j        z   |j        dz  ¦  «        |_        |j        p|j	        |_        |j        |_
        |j        €|j        r|j        |_        |j        €|j        r|j        |_        |j        €|j        r|j        |_        |j        €|j        r|j        |_        t)          |j	        |j        |j        ¦  «        |_	        |S )Nz	default%d)r`   )rg   rj   rl   rR   rE   rF   rG   rH   rI   rk   rn   rO   rY   rx   rv   rw   r{   ry   rz   rr   rp   rq   ru   rs   rt   rM   rN   rK   rL   rJ   g      ô?)r   rÃ   r`   r   ÚmaxrC   rD   rj   r}   rg   ÚbulletFontSizerw   rv   rk   rz   ry   rq   rp   rt   rs   r   rh   ri   )r5   r¹   r   s      r9   ÚtoParagraphStylezpisaContext.toParagraphStyleÂ  s  € ÝØ˜$Ÿ(š(™*œ*Ñ$°5Ô3Eð
ñ 
ô 
ˆõ 	ØØðñ#	
ô #	
ð #	
õJ ˜EœM¨EÔ,>Ñ>ÀÄÐQUÑ@UÑVÔVˆŒØ$Ô3ÐE°u´~ˆÔØ$œ~ˆÔð Ô Ð(¨eÔ.BÐ(Ø#(¤?ˆEÔ ØÔ#Ð+°Ô1HÐ+Ø&+¤oˆEÔ#ØÔ!Ð)¨uÔ/DÐ)Ø$)¤OˆEÔ!ØÔ"Ð*°Ô0FÐ*Ø%*¤_ˆEÔ"å˜uœ~¨u¬z¸5¼<ÑHÔHˆŒàˆr;   c           	     ó’  — | j         sd S g }t          d¦  «        D ]~}d|z  | j         j        d<   t          j        | j         | ¦  «        | _        t          j        | dddddœd¬¦  «         |                      | j        ¦  «        }| 	                    |¦  «         Œ|| j
        _        |                      | j
        ¦  «         d | _        d S )Né   zpdftoclevel%dÚclassr   )rÜ   rß   rÝ   rÞ   T)ÚisBlock)r}  ÚrangeÚ
attributesr   Ú
CSSCollectÚcssAttrÚCSS2Fragr¿  r€   rï   r‡  ÚlevelStylesr¹  r{  )r5   ÚstylesÚiÚpstyles       r9   ÚaddTOCzpisaContext.addTOC  sä   € ØŒyð 	ØˆFàˆÝ�r‘”ð 	"ð 	"ˆAØ,;¸aÑ,?ˆDŒIÔ  Ñ)Ý!Ô,¨T¬Y¸Ñ=Ô=ˆDŒLÝŒOØà"#Ø%&Ø#$Ø$%ð	ð ð ð	ñ 	ô 	ð 	ð ×*Ò*¨4¬9Ñ5Ô5ˆFØ�MŠM˜&Ñ!Ô!Ð!Ð!à%ˆŒÔØ�Š�d”hÑÔÐØ"ˆÔÐÐr;   c                óL   — | j         st          ¦   «         | _        d| _         d S d S )NT)rˆ  r%   r{  rI  s    r9   ÚaddPageCountzpisaContext.addPageCount  s-   € ØŒð 	#Ý".¡.¤.ˆDÔØ"ˆDŒOˆOˆOð	#ð 	#r;   Úflowr*   rS  c                óL   — t          ¦   «         }|                     | ¦  «         |S r„   )rS  rF  )rÐ  Úpcs     r9   ÚgetPageCountzpisaContext.getPageCount"  s"   € å‰_Œ_ˆØ
�Š�tÑÔÐØˆ	r;   c                óL   — t          ¦   «         }|                     | ¦  «         |S r„   )r*  rF  )rÐ  Úpgnumbers     r9   ÚaddPageNumberzpisaContext.addPageNumber(  s&   € å!Ñ#Ô#ˆØ×Ò˜TÑ"Ô"Ð"Øˆr;   c                ó   — d S r„   r1   )Ú_fragsÚ_styles     r9   ÚdumpParazpisaContext.dumpPara.  s   € àˆr;   F)rŒ  rŒ  r¾   c               óö  — |p| j         }d| _         t          | j        ¦  «         d}| j        D ]I}t          |j        |j        ¦  «        |j        z   }t          ||j        |j        z   |¦  «        }||_        ŒJ|s"| j	         
                    ¦   «         �rC| j        �r;| j        }|                      |¦  «        }|j        r||_        n't          |j        |j        ¦  «        |j        z   |_        t          j        |j        ¦  «        }d |_        |s!t          | j        | j        z   ¦  «        dk    �r˜| j        r<| j                             | j        d                              ddd¬¦  «        ¦  «         nA| j                             ¦   «         }d|_        d|_	        | j                             |¦  «         |                      | j        | j        z   |¦  «         t-          | d¦  «        r3|                      d¦  «        }	t1          | j	        |	¦  «        }
|
�|
| _	        t3          | j	        || j        | j        z   || j        ¬¦  «        }|j        |_        |j        |_        |j        |_        |j        |_        d	|_        | j         r0tC          || j         | j"         #                    d
d¦  «        ¬¦  «        }|  $                    |¦  «         g | _        d |_        d | _         i | _"        |  %                    ¦   «          d S )NFr   r^  rb   )rf   r\   r]   re   r…  )Úfragsr4   r�  r½  Úalignrá   )Úside)&rŒ  r`  ru  r!   rm   rj   rD   r½  rC   rf   r�  rŠ  r¿  rn  r4   Úlenrt  rï   r:   r€   rg   rÚ  ÚhasattrÚ__getattribute__r   r'   r�  r^   rQ   r_   r`   ÚautoLeadingrz  r(   r†  r§   r¹  Ú	clearFrag)r5   rŒ  Ú
maxLeadingr€   rC   r¹   r   r4   Úblankr…  Údetect_language_resultÚparas               r9   ÚaddParazpisaContext.addPara2  s  € ØÐ#˜œˆØˆŒ
õ 	�”ÑÔÐð ˆ
à”Mð 	#ð 	#ˆDÝ˜dÔ0°$´-Ñ@Ô@À4ÔCTÑTˆGÝ˜W d¤m°dÔ6GÑ&GÈÑTÔTˆJØ"ˆDŒLˆLàð =	$�T”Y—_’_Ñ&Ô&ñ =	$¨4¬=ñ =	$à”NˆEØ×)Ò)¨%Ñ0Ô0ˆEàÔ!ð Ø *�”�õ ˜EÔ/°´Ñ@Ô@À5ÔCUÑUð ”õ œ 5Ô#3Ñ4Ô4ˆJØ#ˆEÔð ð *$�˜DœO¨d¬mÑ;Ñ<Ô<¸qÒ@Ñ@ð ”=ð 0à”M×(Ò(Øœ bÔ)×/Ò/Ø!#°Àð 0ñ ô ñô ð ð ð !œIŸOšOÑ-Ô-�EØ%0�E”NØ!#�E”JØ”M×(Ò(¨Ñ/Ô/Ð/à—’˜dœo°´Ñ=¸uÑEÔEÐEÝ˜4 Ñ,Ô,ð ;Ø#×4Ò4°ZÑ@Ô@�HÝ-:¸4¼9ÀhÑ-OÔ-OÐ*Ø-Ð9Ø$:˜œ	å#Ø”IØØœ/¨D¬MÑ9Ø)Øœðñ ô �ð  %œ}�”Ø$)Ô$6�Ô!Ø#(Ô#4�Ô Ø$)Ô$6�Ô!Ø#(�Ô à”:ð Ý/Ø˜dœj¨t¬~×/AÒ/AÀ'È6Ñ/RÔ/Rðñ ô �Dð —’˜dÑ#Ô#Ð#à ˆDŒOØ#ˆEÔð ˆŒ
ØˆŒà�ŠÑÔÐÐÐr;   c                ó0   — g | _         d| _        d| _        d S )NTrb   )ru  r‹  rf   rI  s    r9   rã  zpisaContext.clearFragˆ  s   € ØˆŒØˆŒØˆŒ	ˆ	ˆ	r;   c                ó&   —  | j         j        di |¤ŽS ©Nr1   ©r€   r:   ©r5   Úkws     r9   ÚcopyFragzpisaContext.copyFrag�  s   € ØˆtŒyŒÐ$Ð$ Ð$Ð$Ð$r;   c                ó>   —  | j         j        di |¤Ž| _         | j         S rë  rì  rí  s     r9   ÚnewFragzpisaContext.newFrag�  s%   € Ø#�D”I”OÐ)Ð) bÐ)Ð)ˆŒ	ØŒyÐr;   c                óÎ   — |j         rC|j                              d¦  «        r)| j                             ||j         dd …         f¦  «         | j                             |¦  «         d S )Nú#rd   )rT   rž  rr  rï   ru  )r5   r€   s     r9   Ú_appendFragzpisaContext._appendFrag”  sd   € ØŒ9ð 	:˜œ×-Ò-¨cÑ2Ô2ð 	:ØŒO×"Ò" D¨$¬)°A°B°B¬-Ð#8Ñ9Ô9Ð9ØŒ×Ò˜TÑ"Ô"Ð"Ð"Ð"r;   c                óü  — | j                              ¦   «         x}}|j        dk    r|j        dk    rd|_        d|_        |j        r8|j         t
          z  |_        t          |j        t          z
  d¦  «        |_        n=|j        r6|j        t          z  |_        t          |j        t          z
  d¦  «        |_        t          |j        |j        |j        ¦  «        x|_        |_        t          |t           t"          f¦  «        r||_        |                      |¦  «         d S |                     dd¦  «                             dt*          ¦  «                             dt*          ¦  «        }|j        dk    rÕt/          j        d	|¦  «        D ]½}| xj        |z  c_        d
|v sd|v r8|                     ¦   «         }d|_        d|_        |                      |¦  «         ŒR|                     dd¦  «        }t/          j        d|¦  «        D ]?}|                     ¦   «         }|dk    rt*          }||_        |                      |¦  «         Œ@Œ¾d S t/          j        dt*          z   dz   |¦  «        D �]}|                     ¦   «         }|t*          k    r9d| _        t*          |_        | xj        |z  c_        |                      |¦  «         Œ[d                     d|z   dz                        ¦   «         ¦  «        dd…         |_        t9          | |j        ¦  «        }|r||_        | j        r,|j                             ¦   «         |_        |j        rd| _        | xj        |j        z  c_        |                      |¦  «         �Œd S )Nrd   r   é   õ   Â­rb   u   Ã‚Â r-   Úprez(\r\n|\n|\r)rœ  úú	z        z(\ )r]  ú(ú)TrÄ   r^  F)r€   r:   r=   r>   rj   ÚsubFractionr?   r½  Ú	sizeDeltaÚsuperFractionr   rg   rh   ri   r}   rœ   r*  rS  rf   rô  ÚreplaceÚNBSPr|   Úrer=  Ú	lineBreakrŒ  r_  r   r‹  Úlstrip)r5   rf   r€   ÚbaseFragÚlanguage_checks        r9   ÚaddFragzpisaContext.addFragš  s\  € Øœ)Ÿ/š/Ñ+Ô+Ð+ˆˆxð Œ8�qŠ=ˆ=˜TœZ¨1š_˜_ØˆDŒHØˆDŒJð Œ8ð 	>Øœ˜­Ñ4ˆDŒIÝ ¤µ	Ñ 9¸1Ñ=Ô=ˆDŒMˆMØŒZð 	>Øœ­Ñ5ˆDŒIÝ ¤µ	Ñ 9¸1Ñ=Ô=ˆDŒMõ /4ØŒM˜4œ9 d¤kñ/
ô /
ð 	
ˆŒ˜Ô+õ �d�^­]Ð;Ñ<Ô<ð 	ØˆDŒIà×Ò˜TÑ"Ô"Ð"ØˆFð �|Š|˜F BÑ'Ô'×/Ò/°
½DÑAÔA×IÒIÈ&ÕRVÑWÔWˆàŒ?˜eÒ#Ð#åœ °$Ñ7Ô7ð /ð /�à�	”	˜TÑ!�	”	Ø˜D�L�L d¨d l là#Ÿ>š>Ñ+Ô+�DØ "�D”IØ%&�D”NØ×$Ò$ TÑ*Ô*Ð*Ð*ð  Ÿ<š<¨¨gÑ6Ô6�Dõ !#¤¨°$Ñ 7Ô 7ð /ð /˜Ø'Ÿ~š~Ñ/Ô/˜Ø 3š;˜;Ý#'˜DØ$(˜œ	Ø×(Ò(¨Ñ.Ô.Ð.Ð.ð/ð/ð /õ* œ ¥t¡¨cÑ!1°4Ñ8Ô8ð +ñ +�Ø—~’~Ñ'Ô'�Ø�4’<�<Ø!%�D”JÝ $�D”IØ�I”I Ñ%�I”IØ×$Ò$ TÑ*Ô*Ð*Ð*à #§¢¨#°©*°sÑ*:×)AÒ)AÑ)CÔ)CÑ DÔ DÀQÀrÀTÔ J�D”IÝ%=¸dÀDÄIÑ%NÔ%N�NØ%ð 3Ø$2˜œ	Ø”~ð 3Ø$(¤I×$4Ò$4Ñ$6Ô$6˜œ	Øœ9ð 3Ø-2˜DœNØ�I”I ¤Ñ*�I”IØ×$Ò$ TÑ*Ô*Ð*Ñ*ð#+ð +r;   c                ól   — | j                              | j        ¦  «         |                      ¦   «          d S r„   )rv  rï   r€   rñ  rI  s    r9   ÚpushFragzpisaContext.pushFragâ  s+   € ØŒ×Ò˜dœiÑ(Ô(Ð(Ø�Š‰Œˆˆˆr;   c                óB   — | j                              ¦   «         | _        d S r„   )rv  Úpopr€   rI  s    r9   ÚpullFragzpisaContext.pullFragæ  s   € Ø”N×&Ò&Ñ(Ô(ˆŒ	ˆ	ˆ	r;   rÁ  c                óÌ   — 	 t          d                     | j                             ¦   «                              ¦   «         d |…         ¦  «        ¦  «        S # t
          $ r Y dS w xY w)Nr]  rb   )Úreprr_  r}  Útoxmlr=  r  )r5   Úlines     r9   Ú_getFragmentzpisaContext._getFragmentê  sd   € ð	Ý˜Ÿš ¤§¢Ñ!2Ô!2×!8Ò!8Ñ!:Ô!:¸5¸D¸5Ô!AÑBÔBÑCÔCÐCøÝð 	ð 	ð 	Ø�2�2ð	øøøs   ‚AA Á
A#Á"A#c                 ó   — dS )Nr   r1   r1   r;   r9   Ú_getLineNumberzpisaContext._getLineNumberð  s   € àˆqr;   Úmsgc                ó6   — |›d|                       d¦  «        › �S )Nrœ  é2   )r  )r5   r  s     r9   ÚcontextzpisaContext.contextô  s$   € ØÐ2Ð2˜4×,Ò,¨RÑ0Ô0Ð2Ð2Ð2r;   c                óR  — | xj         dz  c_         | j                             t          j        |                      ¦   «         t          |¦  «        |                      d¦  «        f¦  «         	 |                      ||z  ¦  «        S # t          $ r |                      |¦  «        cY S w xY w©Nrd   r  )
r‚  r©   rï   r   ÚPML_WARNINGr  r‚   r  r  r  ©r5   r  r0  s      r9   rª   zpisaContext.warning÷  s«   € Øˆ	Œ	�Q‰ˆ	Œ	ØŒ�ŠåÔ#Ø×#Ò#Ñ%Ô%Ý�C‘”Ø×!Ò! "Ñ%Ô%ð	ñ	
ô 	
ð 	
ð	%Ø—<’<  d¡
Ñ+Ô+Ð+øÝð 	%ð 	%ð 	%Ø—<’< Ñ$Ô$Ð$Ð$Ð$ð	%øøøó   Á,B ÂB&Â%B&c                óR  — | xj         dz  c_         | j                             t          j        |                      ¦   «         t          |¦  «        |                      d¦  «        f¦  «         	 |                      ||z  ¦  «        S # t          $ r |                      |¦  «        cY S w xY wr  )
r  r©   rï   r   Ú	PML_ERRORr  r‚   r  r  r  r  s      r9   ÚerrorzpisaContext.error  s§   € ØˆŒ�A‰ˆŒØŒ�ŠÝÔ × 3Ò 3Ñ 5Ô 5µs¸3±x´xÀ×ARÒARÐSUÑAVÔAVÐWñ	
ô 	
ð 	
ð	%Ø—<’<  d¡
Ñ+Ô+Ð+øÝð 	%ð 	%ð 	%Ø—<’< Ñ$Ô$Ð$Ð$Ð$ð	%øøør  úpisaFileObject | Nonec                óF   — |€dS t          ||p| j        | j        ¬¦  «        S )zReturns a file name or None.N)Úcallback)r   r‘  rŽ  )r5   r¼   r¡   s      r9   r   zpisaContext.getFile  s,   € àˆ<Ø�4Ý�t˜XÐ;¨Ô);ÀdÔFWÐXÑXÔXÐXr;   Ú	helveticac                óì  — t          |t          ¦  «        s6t          |¦  «        }|                     ¦   «                              d¦  «        }|D ]Œ}t          |¦  «        }|                     ¦   «                              ¦   «         }|| j        v r+| j                             |d¦  «        }t          |¦  «         n| j	                             |d¦  «        }|�|c S Œ�| j	                             |d¦  «        S )zName of a font.ú,N)
rœ   r«   r‚   r�  r=  r¨   rq  r§   r"   rp  )r5   r³   r   r¼   r¶   s        r9   ÚgetFontNamezpisaContext.getFontName  sé   € õ ˜%¥Ñ&Ô&ð 	-Ý˜‘J”JˆEØ—K’K‘M”M×'Ò'¨Ñ,Ô,ˆEØð 		ð 		ˆDÝ�t‘9”9ˆDØ—:’:‘<”<×%Ò%Ñ'Ô'ˆDØ�tÔ)Ð)Ð)ØÔ)×-Ò-¨d°DÑ9Ô9�Ý Ñ%Ô%Ð%Ð%à”}×(Ò(¨¨tÑ4Ô4�ØÐØ���ð  àŒ}× Ò  ¨$Ñ/Ô/Ð/r;   c                óÐ   — |�|ng }t          |¦  «        | j        t          |¦  «                             ¦   «         <   |D ]&}t          |¦  «        | j        t          |¦  «        <   Œ'd S r„   )r‚   rp  r¨   )r5   ÚfontnameÚaliasrÏ   s       r9   ÚregisterFontzpisaContext.registerFont(  sh   € ØÐ*��°ˆÝ/2°8©}¬}ˆŒ•c˜(‘m”m×)Ò)Ñ+Ô+Ñ,Øð 	2ð 	2ˆAÝ$'¨¡M¤MˆDŒM�#˜a™&œ&Ñ!Ð!ð	2ð 	2r;   ÚWinAnsiEncodingc                ód  — |�rª|�r©|}|j         }t                               d|¦  «         t          |t          ¦  «        r*|                     d¦  «        r|                     d¦  «        }t          |t          ¦  «        r|}nd„ |                     d¦  «        D ¦   «         }d„ |D ¦   «         }|d         }d }	t          |j	        t          ¦  «        r|                     ¦   «         dk    rd}	n[|                     d	¦  «        }
d	                     |
d d
…         ¦  «        |
d
         }}|                     ¦   «         }|dv rd}	n|dv r|}	|	dk    rÀd|||fz  }|| j        v r0t                               |                      d|¦  «        ¦  «         d S |                     ¦   «         }t#          ||¦  «        }t%          j        |¦  «         dD ](}dD ]#}d|||fz  | j        vrt)          ||||¦  «         Œ$Œ)|                      |g |¢|‘¦  «         d S |	dv �rm|	dk    rB|                     ¦   «         }t+          |dz   |j        ¬¦  «        }|                     ¦   «         }nA|                     ¦   «         }t+          |dz   |j        ¬¦  «        }|                     ¦   «         }d|||fz  }|| j        v r0t                               |                      d|¦  «        ¦  «         d S t%          j        ||¦  «        }|j        }t%          j        |¦  «         t%          j        |||¦  «        }t%          j        |¦  «         dD ](}dD ]#}d|||fz  | j        vrt)          ||||¦  «         Œ$Œ)|                      |g |¢|‘|‘¦  «         d S t                               |                      d¦  «        ¦  «         d S d S d S )NzLoad font %rró  c              3  óf   K  — | ],}|¯|                      ¦   «                              ¦   «         V — Œ-d S r„   )r¨   r�  ©r�   rÄ   s     r9   ú	<genexpr>z'pisaContext.loadFont.<locals>.<genexpr>;  s9   è è € ÐNÐN°1ÈAÐN˜QŸWšW™YœYŸ_š_Ñ.Ô.ÐNÐNÐNÐNÐNÐNr;   r%  c                ó,   — g | ]}t          |¦  «        ‘ŒS r1   )r‚   r.  s     r9   rŸ   z(pisaContext.loadFont.<locals>.<listcomp>>  s   € Ð3Ð3Ð3 A�˜Q™œÐ3Ð3Ð3r;   r   zfont/ttfÚttfú.r^  )r1  Úttc)ÚafmÚpfbz%s_%d%dz+Repeated font embed for %s, skip new embed )r   rd   )r4  rb   r4  z.pfb)Úbasepathz.afmz*Repeated font embed for %s, skip new embedzwrong attributes for <pdf:font>)r!  r©   rd  rœ   r‚   rž  r�  r«   r=  Úinstancer   ÚgetMimeTyper_  r¨   rp  rª   ÚgetNamedFiler   r   r*  r	   r   r6  ÚEmbeddedType1Facer¼   ÚregisterTypeFaceÚFont)r5   r³   r“   Úencodingrh   ri   ÚfileÚ	fontAliasrg   Ú	font_typerŠ   ÚbaseNameÚsuffixÚfullFontNameÚfilenamer4  Útfiler5  ÚfaceÚfontNameOriginalÚjustFonts                        r9   r¯   zpisaContext.loadFont/  s‹  € àñ c	M�Sñ c	MØˆDØ”(ˆCå�IŠI�n cÑ*Ô*Ð*Ý˜%¥Ñ%Ô%ð )¨%×*:Ò*:¸3Ñ*?Ô*?ð )ØŸš CÑ(Ô(�Ý˜%¥Ñ&Ô&ð OØ!�	�	àNÐN¸¿ºÀCÑ8HÔ8HÐNÑNÔN�	ð 4Ð3¨Ð3Ñ3Ô3ˆIØ  ”|ˆHàˆIÝ˜$œ-­Ñ6Ô6ð 
'Ø×#Ò#Ñ%Ô%¨Ò3Ð3Ø %�IøàŸ	š	 #™œ�Ø#&§8¢8¨E°#°2°#¬JÑ#7Ô#7¸¸r¼˜&�ØŸš™œ�Ø˜^Ð+Ð+Ø %�I�IØ˜~Ð-Ð-Ø &�Ià˜EÒ!Ð!à(¨H°d¸FÐ+CÑC�ð   4¤=Ð0Ð0Ý—K’KØŸšØIÈ<ñô ñô ð ð ð ð  $×0Ò0Ñ2Ô2�HÝ! ,°Ñ9Ô9�DÝÔ+¨DÑ1Ô1Ð1ð !'ð Qð Q˜Ø&,ð Qð Q˜Fà )¨X°t¸VÐ,DÑ DØ%)¤]ð 3ð  3õ !+¨8°T¸6À<Ñ PÔ PÐ Pøð	Qð ×%Ò% hÐ0J°)Ð0J¸\Ð0JÑKÔKÐKÐKÐKà˜kÐ)Ñ)Ø Ò%Ð%Ø×+Ò+Ñ-Ô-�CÝ*¨8°fÑ+<ÀtÄ}ÐUÑUÔU�EØ×,Ò,Ñ.Ô.�C�Cà×+Ò+Ñ-Ô-�CÝ*¨8°fÑ+<ÀtÄ}ÐUÑUÔU�EØ×,Ò,Ñ.Ô.�Cð  )¨H°d¸FÐ+CÑC�ð   4¤=Ð0Ð0Ý—K’KØŸšØHÈ(ñô ñô ð ð ð õ &Ô7¸¸SÑAÔA�DØ'+¤yÐ$ÝÔ/°Ñ5Ô5Ð5å)œ¨|Ð=MÈxÑXÔX�HÝÔ+¨HÑ5Ô5Ð5ð !'ð Uð U˜Ø&,ð Uð U˜Fà )¨X°t¸VÐ,DÑ DØ%)¤]ð 3ð  3õ !+¨8°T¸6ÐCSÑ TÔ TÐ Tøð	Uð ×%Ò%Ø Ð"N IÐ"N¨|Ð"NÐ=MÐ"Nñô ð ð ð õ —’˜DŸLšLÐ)JÑKÔKÑLÔLÐLÐLÐLðGc	Mð c	Mð c	Mð c	Mr;   )rb   r   r^  )r‰   r‚   rd  rñ   re  rñ   r.   r+  r„   )r.   r   rL  )rÐ  r*   r.   rS  )rŒ  r¾   r.   r+  )rb   N)rÁ  )r.   rñ   )r  r‚   r.   r‚   )r.   r   )r#  )r+  r   r   )$r  r  r  Ú__doc__r1  r•  rÃ   r¡  r£  r·  r¹  r»  r¿  rÍ  rÏ  r  rÓ  rÖ  rÚ  rè  rã  rï  rñ  rô  r  r	  r  r  r  r  rª   r  r   r&  r*  r¯   r1   r;   r9   rŽ   rŽ   @  sº  € € € € € ðð ð
=
ð =
ð =
ð =
ð =
ð~ð ð ð
ð ð ð
-ð -ð -ð4ð 4ð 4ð0ð 0ð 0ð4 ð  ð  ðð ð ð ð
@ð @ð @ð @ðD#ð #ð #ð #ð2#ð #ð #ð #ð
 ðð ð ñ „\ðð
 ðð ñ „\ðð
 ðð ñ „\ðð (-ð Sð Sð Sð Sð Sð Sðlð ð ð ð
%ð %ð %ðð ð ð#ð #ð #ð #ðF+ð F+ð F+ð F+ðPð ð ð ð)ð )ð )ð )ðð ð ð ð ðð ð ñ „\ðð3ð 3ð 3ð 3ð%ð %ð %ð%ð %ð %ðYð Yð Yð Yð Yð0ð 0ð 0ð 0ð$2ð 2ð 2ð 2ðeMð eMð eMð eMð eMð eMr;   rŽ   )r.   r   rQ  )r[  r‚   r.   r‚   )WÚ
__future__r   rn  Úloggingr  Úurllib.parser"  r…   Úpathlibr   Útypingr   r   Ú	reportlabr   Úreportlab.lib.enumsr   Úreportlab.lib.fontsr	   Úreportlab.lib.pagesizesr
   Úreportlab.lib.stylesr   Úreportlab.pdfbaser   Úreportlab.pdfbase.ttfontsr   Úreportlab.platypus.framesr   Úreportlab.pdfgen.canvasr   ÚImportErrorÚreportlab.platypus.paraparserr   r   r   Ú	xhtml2pdfr   r   Úxhtml2pdf.filesr   r   r   Úxhtml2pdf.tablesr   Úxhtml2pdf.utilr   r   r   r   r   r   r   r    r!   r"   r#   Úxhtml2pdf.w3cr$   Úxhtml2pdf.xhtml2pdf_reportlabr%   r&   r'   r(   r)   Úreportlab.platypus.flowablesr*   r+   ÚwarnOnMissingFontGlyphsÚ	getLoggerr  r©   rþ  rý  rÿ  r  r:   r�   r‹   Ú
CSSBuilderr�   Ú	CSSParserr  r*  rS  rb  rŽ   r1   r;   r9   ú<module>re     sE  ðð #Ð "Ð "Ð "Ð "Ð "à €€€Ø €€€Ø 	€	€	€	Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø *Ð *Ð *Ð *Ð *Ð *Ð *Ð *à !Ð !Ð !Ð !Ð !Ð !Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø *Ð *Ð *Ð *Ð *Ð *Ø &Ð &Ð &Ð &Ð &Ð &Ø /Ð /Ð /Ð /Ð /Ð /Ø (Ð (Ð (Ð (Ð (Ð (Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø +Ð +Ð +Ð +Ð +Ð +ð<Ø9Ð9Ð9Ð9Ð9Ð9Ð9øØð <ð <ð <à;Ð;Ð;Ð;Ð;Ð;Ð;Ð;ð<øøøð AÐ @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @à %Ð %Ð %Ð %Ð %Ð %Ð %Ð %Ø AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AØ &Ð &Ð &Ð &Ð &Ð &ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð 7Ø5Ð5Ð5Ð5Ð5Ð5à6Ð6Ð6Ð6Ð6Ð6ð '(€Ô #Ø€gÔ˜Ñ!Ô!€à€	Ø€Ø€à€ð	ð 	ð 	ð 	ð €„ðSð Sð Sð Sðl,ð ,ð ,ð ,ð|ð |ð |ð |ð |�S”^ñ |ô |ð |ð~	ð ð ð ð �C”Mñ ô ð ð&ð ð ð ð ñ ô ð ð,!ð !ð !ð !ð !ñ !ô !ð !ð,"ð "ð "ð "ðT	Mð T	Mð T	Mð T	Mð T	Mñ T	Mô T	Mð T	Mð T	Mð T	Ms   ÁA ÁA-Á,A-