§
    ¦”jÏg  ã                  ó  — U d dl mZ d dlZd dlZd dlZd dlZd dlmZ d dl	Z	d dl	m
Z
 d dlmZmZ d dlmZ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mZ d dlmZ d d	lm Z m!Z!m"Z"m#Z#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/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZK d dlLmMZMmNZNmOZOmPZPmQZQmRZRmSZSmTZT d dlUmVZV d dlWmXZXmYZY  ejZ        e[¦  «        Z\i a]de^d<    ej_        dej`        eja        z  ¦  «        Zb G d„ dec¦  «        Zdd„ Zed f                    ¦   «          g                    ¦   «         Zheifd„Zjejejk        jl        jm        _j        ddiZnd„ Zod„ Zpd„ Zqd„ Zrd„ Zsddœd„Ztd%d „Zu	 	 	 	 d&d#„ZvevZwd$„ ZxexZydS )'é    )ÚannotationsN)ÚNode)Útreebuilders)Ú
FrameBreakÚNextPageTemplate)ÚKeepInFrameÚ	PageBreak)ÚBOOLÚBOXÚCOLORÚFILEÚFONTÚINTÚMUSTÚPOSÚSIZEÚSTRINGÚTAGS)ÚpisaTempFile)Ú	TableDataÚpisaTagTABLEÚ	pisaTagTDÚ	pisaTagTHÚ	pisaTagTR)&ÚpisaTagÚpisaTagAÚpisaTagBODYÚ	pisaTagBRÚpisaTagCANVASÚ
pisaTagDIVÚpisaTagFONTÚ	pisaTagH1Ú	pisaTagH2Ú	pisaTagH3Ú	pisaTagH4Ú	pisaTagH5Ú	pisaTagH6Ú	pisaTagHRÚ
pisaTagIMGÚpisaTagINPUTÚ	pisaTagLIÚpisaTagMETAÚ	pisaTagOLÚpisaTagPÚpisaTagPDFBARCODEÚpisaTagPDFFONTÚpisaTagPDFFRAMEÚpisaTagPDFLANGUAGEÚpisaTagPDFNEXTFRAMEÚpisaTagPDFNEXTPAGEÚpisaTagPDFNEXTTEMPLATEÚpisaTagPDFPAGECOUNTÚpisaTagPDFPAGENUMBERÚpisaTagPDFSPACERÚpisaTagPDFTEMPLATEÚpisaTagPDFTOCÚpisaTagSTYLEÚ
pisaTagSUBÚ
pisaTagSUPÚpisaTagTEXTAREAÚpisaTagTITLEÚ	pisaTagUL)ÚgetAlignÚgetBoolÚgetBoxÚgetColorÚgetPosÚgetSizeÚtoListÚtransform_attrs)ÚcssDOMElementInterface)ÚPmlLeftPageBreakÚPmlRightPageBreakzdict[str, dict]ÚCSSAttrCachezhttps?://[^/]+(.*)c                  ó   — e Zd Zd„ ZdS )ÚAttrContainerc                ój   — 	 t                                | |¦  «        S # t          $ r | |         cY S w xY w©N)ÚdictÚ__getattr__Ú	Exception)ÚselfÚnames     ú_/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/xhtml2pdf/parser.pyrR   zAttrContainer.__getattr__p   sH   € ð	Ý×#Ò# D¨$Ñ/Ô/Ð/øÝð 	ð 	ð 	Ø˜”:ÐÐÐð	øøøs   ‚ �2±2N)Ú__name__Ú
__module__Ú__qualname__rR   © ó    rV   rN   rN   o   s#   € € € € € ðð ð ð ð r[   rN   c           
     ó¬  — i }|ru|                      ¦   «         D ]`\  }}	 t          |¦  «        |t          |¦  «        <   Œ&# t          $ r.}t                               d|||d¬¦  «         |||<   Y d }~ŒYd }~ww xY wi }|t
          v �rÁt
          |         \  }}	t          |	d<   |	                      ¦   «         D �]‘\  }}d ||<   t          |t          ¦  «        rv|d         t          k    r8||vr4t           
                    |  
                    d|¦  «        ¦  «         d ||<   Œi|                     ||d         ¦  «        }
|d         }|d         }n|                     |d ¦  «        }
d }|
��àt          |t          ¦  «        rj|
                     ¦   «                              ¦   «         }
|
|vr>t           
                    |  
                    d|t          |¦  «        ¦  «        ¦  «         |}
�n\|t           k    r>|
                     ¦   «                              ¦   «         }
|
d	d
ddt          |¦  «        hv }
�n|t"          k    rO	 t%          |
¦  «        }
n÷# t          $ r1 t           
                    |  
                    d|¦  «        ¦  «         Y n½w xY w|t&          k    rt)          |
| j        ¦  «        }
n˜|t,          k    rt/          |
| j        ¦  «        }
nw|t0          k    rt3          |
¦  «        }
n\|t4          k    rt7          |
¦  «        }
nA|t8          k    r|                      |
¦  «        }
n |t<          k    r|                      |
¦  «        }
|
||<   �Œ“tA          |¦  «        S )Nz%%s during string conversion for %s=%sT©Úexc_infoÚidé   zAttribute '%s' must be set!r   z4Attribute '%s' of wrong value, allowed is one of: %sÚ1ÚyÚyesÚtruez#Attribute '%s' expects a size value)!ÚitemsÚstrrS   ÚlogÚdebugr   r   Ú
isinstanceÚtupler   ÚwarningÚgetÚlistÚstripÚlowerÚreprr
   r   rF   r   rC   ÚpageSizer   rE   r   Úintr   rD   r   ÚgetFiler   ÚgetFontNamerN   )ÚcÚtagÚ
attributesÚattrsÚkÚvÚeÚnattrsÚblockÚadefÚnvÚdfls               rV   ÚpisaGetAttributesr�   w   sR  € Ø€EØð 	Ø×$Ò$Ñ&Ô&ð 	ð 	‰DˆAˆqðå # A¡¤�•c˜!‘f”f‘�øÝð ð ð Ý—	’	Ø;¸QÀÀ1Ètð ñ ô ð ð ��a‘�����øøøøð	øøøð €FØ
�d€{�{Ý˜3”i‰ˆˆtÝˆˆT‰
à—J’J‘L”Lð :	ñ :	‰DˆAˆqØˆF�1‰Iõ ˜!�UÑ#Ô#ð 
Ø�Q”4�4’<�< A¨U N NÝ—K’K §	¢	Ð*GÈÑ KÔ KÑLÔLÐLØ $�F˜1‘IØØ—Y’Y˜q ! A¤$Ñ'Ô'�Ø˜”d�Ø�a”D��à—Y’Y˜q $Ñ'Ô'�Ø�à‰~Ý˜a¥Ñ&Ô&ð '+ØŸš™œ×)Ò)Ñ+Ô+�BØ �{�{åŸšØŸIšIØ VØ !Ý $ Q¡¤ñô ñô ð ð !˜ùà�$’Y�YØŸš™œ×)Ò)Ñ+Ô+�BØ  S¨%°½¸Q¹¼Ð@Ð@�B‘Bà�$’Y�YðYÝ$ R™[œ[˜˜øÝ$ð Yð Yð YÝŸš A§I¢IÐ.SÐUVÑ$WÔ$WÑXÔXÐXÐXÐXðYøøøð �#’X�XÝ  A¤JÑ/Ô/�B�Bà�#’X�XÝ  A¤JÑ/Ô/�B�Bà�#’X�XÝ˜R™œ�B�Bà�%’Z�ZÝ! "™œ�B�Bà�$’Y�YØŸš 2™œ�B�Bà�$’Y�YØŸš rÑ*Ô*�Bà��q‘	ùå˜Ñ Ô Ð s'   Ÿ?¿
A7Á	$A2Á2A7È9I	É	8JÊJaÅ  
    color
    font-family
    font-size
    font-weight
    font-style
    text-decoration
    line-height
    letter-spacing
    background-color
    display
    margin-left
    margin-right
    margin-top
    margin-bottom
    padding-left
    padding-right
    padding-top
    padding-bottom
    border-top-color
    border-top-style
    border-top-width
    border-bottom-color
    border-bottom-style
    border-bottom-width
    border-left-color
    border-left-style
    border-left-width
    border-right-color
    border-right-style
    border-right-width
    text-align
    vertical-align
    width
    height
    zoom
    page-break-after
    page-break-before
    list-style-type
    list-style-image
    white-space
    text-indent
    -pdf-page-break
    -pdf-frame-break
    -pdf-next-page
    -pdf-keep-with-next
    -pdf-outline
    -pdf-outline-level
    -pdf-outline-open
    -pdf-line-spacing
    -pdf-keep-in-frame-mode
    -pdf-word-wrap
    c                ó$  — || j         v r| j         |         S 	 |                     | j        ||¦  «        }n# t          $ r d }Y nw xY w	 | j        }nP# t
          $ rC |j                             | j                             ¦   «         pd¦  «        d         x}| _        Y nw xY w||v r||         }|dk    rRt          | j
        d¦  «        r| j
                             |||¦  «        }n|t          ur|S d|› d�}t          |¦  «        ‚|�
|| j         |<   |S )NÚ r   ÚinheritÚ
getCSSAttrz2Could not find inherited CSS attribute value for 'ú')ÚcssAttrsÚfindStyleForÚ
cssElementÚLookupErrorÚcssStylerS   ÚparserÚparseInlineÚgetStyleAttrÚhasattrÚ
parentNoder…   ÚNotImplemented)rT   Ú
cssCascadeÚattrNameÚdefaultÚresultÚstyleÚmsgs          rV   r…   r…   ÿ   sa  € Ø�4”=Ð Ð ØŒ}˜XÔ&Ð&ðØ×(Ò(¨¬¸(ÀGÑLÔLˆˆøÝð ð ð ØˆˆˆðøøøðØ”ˆˆøÝð ð ð Ø *Ô 1× =Ò =ØŒO×(Ò(Ñ*Ô*Ð0¨bñ!
ô !
à
ô!ð 	ˆ�”��ðøøøð �5ÐÐØ�x”ˆà�ÒÐÝ�4”? LÑ1Ô1ð 	Ø”_×/Ò/°
¸HÀgÑNÔNˆFˆFØ�NÐ*Ð*ØˆNØNÀ8ÐNÐNÐNˆÝ˜#ÑÔÐàÐØ"(ˆŒ�hÑØ€Ms"   ˜5 µAÁAÁA ÁA
BÂBÚbgcolorúbackground-colorc                ól   — t           D ]+}||v r%t           |         | vr||         | t           |         <   Œ,| S rP   )ÚnonStandardAttrNames)ru   Ú_nodeÚattrListÚattrs       rV   ÚmapNonStandardAttrsrŸ   '  sF   € Ý$ð ;ð ;ˆØ�8ÐÐÕ 4°TÔ :À!Ð CÐ CØ,4°T¬NˆAÕ" 4Ô(Ñ)øØ€Hr[   c           	     óò   — dx}x}}| j                              ¦   «         D ]\  }}|dk    r|}Œ|dk    r|}Œ|dk    r|}Œ t          | j        ¦  «        › d| j                             ¦   «         › d|› d|› d|› �	S )Nrƒ   Úclassr_   r–   ú#)rw   re   r_   r�   ÚtagNamero   )ÚnodeÚ_clÚ_idÚ_stry   rz   s         rV   ÚgetCSSAttrCacheKeyr¨   .  s¥   € ØÐ€CÐˆ#�Ø”×%Ò%Ñ'Ô'ð ð ‰ˆˆ1Ø�Š<ˆ<ØˆCˆCØ�$ŠYˆYØˆCˆCØ�'Š\ˆ\ØˆCøÝ�”Ñ!Ô!ÐLÐL D¤L×$6Ò$6Ñ$8Ô$8ÐLÐL¸3ÐLÐLÀÐLÐLÀsÐLÐLÐLr[   c                ó  — |j         rût          | ¦  «        }t          | j        d¦  «        rH| j        j                             ¦   «         dk    r&t                               |d ¦  «        }|�	|| _        |S t          j
        | ¦  «        | _        i | _        i }t          D ]V}	 |                      |j        |¦  «        ||<   Œ"# t          $ r(}t                                d||d¬¦  «         Y d }~ŒOd }~ww xY w| j        t          |<   | j        S )Nr£   Úhtmlz%r during CSS attr '%s'Tr]   )Úcssr¨   r�   r�   r£   ro   rL   rl   r‡   rI   ÚCSSDOMElementInterfacer‰   Ú	attrNamesr…   r’   rS   rg   rh   )r¤   ru   ÚkeyÚCachedCSSAttrÚ
cssAttrMapÚcssAttrNamer{   s          rV   Ú
CSSCollectr²   :  s,  € ð 	„uð *Ý  Ñ&Ô&ˆõ �D”O YÑ/Ô/ð	%à”Ô'×-Ò-Ñ/Ô/°6Ò9Ð9å(×,Ò,¨S°$Ñ7Ô7ˆMØÐ(Ø -�”Ø$Ð$å0ÔGÈÑMÔMˆŒØˆŒàˆ
Ý$ð 	Tð 	TˆKðTØ*.¯/ª/¸!¼,ÈÑ*TÔ*T�
˜;Ñ'Ð'øõ ð Tð Tð TÝ—	’	Ð3°Q¸Èd�	ÑSÔSÐSÐSÐSÐSÐSÐSøøøøðTøøøð !œM��SÑØŒ=Ðs   Â B?Â?
C1Ã	C,Ã,C1c                óˆ   — t          | t          ¦  «        r|                      ¦   «         S | d                              ¦   «         S )Nr   )ri   rf   ro   )Úsequences    rV   ro   ro   Z  s:   € Ý�(�CÑ Ô ð  Ø�~Š~ÑÔÐØ�AŒ;×ÒÑÔÐr[   c                ó  — d| j         v r%t          | j         d         d¦  «        | j        _        d| j         v r%t          | j         d         d¦  «        | j        _        d| j         v r*|                      | j         d         ¦  «        | j        _        d| j         v rVt          t          d 	                    | j         d         ¦  «        | j        j
        | j        ¦  «        d¦  «        | j        _
        d	| j         v rQd 	                    | j         d	         ¦  «        }t          || j        j
        ¦  «        | j        _        || j        _        n.t          | j        j        | j        j
        ¦  «        | j        _        d
| j         v r| j         d
         | j        _        d| j         v r7t          d 	                    | j         d         ¦  «        ¦  «        | j        _        d| j         v r7t!          | j         d         ¦  «        }|dv rd| j        _        nd| j        _        t%          | j                              dd¦  «        ¦  «        D ]>}d|v rd| j        _        d|v rd| j        _        d|v rd| j        _        d| j        _        Œ?d| j         v r7t!          | j         d         ¦  «        }|dv rd| j        _        nd| j        _        d| j         v r6t/          | j         d         ¦  «                             ¦   «         | j        _        d| j         v r$t3          | j         d         ¦  «        | j        _        d| j         v r| j         d         | j        _        d| j         v r 	 d 	                    t%          | j         d         ¦  «        ¦  «        | j        _        nM# t:          $ r@ d 	                    t%          | j         d         d         ¦  «        ¦  «        | j        _        Y nw xY w| j        j        dv rd | j        _        d| j         v r 	 d 	                    t%          | j         d         ¦  «        ¦  «        | j        _        nM# t:          $ r@ d 	                    t%          | j         d         d         ¦  «        ¦  «        | j        _        Y nw xY w| j        j        dv rd | j        _        d| j         v rud 	                    t%          | j         d         ¦  «        ¦  «        }|                     d¦  «        rtA          |d d…         ¦  «        dz  }tA          |¦  «        | j        _!        |�rMtE          | j        d | j         t          | j        j
        ¬!¦  «         d"| j         v rW|d"         | j        _#        |d"xx         t          | j         d"         | j        j
        ¦  «        z  cc<   |d"         | j        _$        d#| j         v rE|d#xx         t          | j         d#         | j        j
        ¦  «        z  cc<   |d#         | j        _%        d$| j         v r6t/          | j         d$         ¦  «                             ¦   «         | j        _&        d%| j         v r*|  '                    | j         d%         ¦  «        | j        _(        |r-tE          | j        d&| j         t          | j        j
        ¬!¦  «         |rmtE          | j        d'| j         t          | j        j
        ¬!¦  «         tE          | j        d(| j         d)„ ¦  «         tE          | j        d*| j         t          ¦  «         d S d S )+NÚcolorz#000000r™   z#ffffffzfont-familyz	font-sizerƒ   g      ð?zline-heightzletter-spacingz-pdf-line-spacingzfont-weight>   Ú500Ú600Ú700Ú800Ú900ÚboldÚbolderr`   r   ztext-decorationÚ	underlinezline-throughÚnonez
font-style>   ÚitalicÚobliquezwhite-spacez
text-alignzvertical-alignÚheight>   ÚautoÚwidthÚzoomú%éÿÿÿÿg      Y@))ÚspaceBeforeú
margin-top)Ú
spaceAfterúmargin-bottom)ÚfirstLineIndentztext-indent)Úextrasúmargin-leftúmargin-rightzlist-style-typezlist-style-image))Ú
paddingTopzpadding-top)ÚpaddingBottomzpadding-bottom)ÚpaddingLeftzpadding-left)ÚpaddingRightzpadding-right))ÚborderTopWidthzborder-top-width)ÚborderBottomWidthzborder-bottom-width)ÚborderLeftWidthzborder-left-width)ÚborderRightWidthzborder-right-width))ÚborderTopStylezborder-top-style)ÚborderBottomStylezborder-bottom-style)ÚborderLeftStylezborder-left-style)ÚborderRightStylezborder-right-stylec                ó   — | S rP   rZ   )Úxs    rV   ú<lambda>zCSS2Frag.<locals>.<lambda>ï  s   € �a€ r[   ))ÚborderTopColorzborder-top-color)ÚborderBottomColorzborder-bottom-color)ÚborderLeftColorzborder-left-color)ÚborderRightColorzborder-right-color))ÚcssAttrrD   ÚfragÚ	textColorÚ	backColorrt   ÚfontNameÚmaxrF   ÚjoinÚfontSizeÚbaseFontSizeÚleadingÚleadingSourceÚletterSpacingÚleadingSpacero   r¼   rG   rl   r¾   ÚstrikerÀ   rf   Ú
whiteSpacerA   Ú	alignmentÚvAlignrÂ   Ú	TypeErrorrÄ   ÚendswithÚfloatrÅ   rH   ÚbulletIndentÚ
leftIndentÚrightIndentÚlistStyleTypers   ÚlistStyleImage)ru   ÚkwÚisBlockrì   ÚvaluerÅ   s         rV   ÚCSS2Fragrÿ   `  s¬  € à�!”)ÐÐÝ# A¤I¨gÔ$6¸	ÑBÔBˆŒÔØ˜QœYÐ&Ð&Ý# A¤IÐ.@Ô$AÀ9ÑMÔMˆŒÔà˜œ	Ð!Ð!ØŸ-š-¨¬	°-Ô(@ÑAÔAˆŒŒØ�a”iÐÐåÝ�B—G’G˜AœI kÔ2Ñ3Ô3°Q´V´_ÀaÄnÑUÔUØñ
ô 
ˆŒŒð ˜œ	Ð!Ð!Ø—'’'˜!œ) MÔ2Ñ3Ô3ˆÝ  ¨!¬&¬/Ñ:Ô:ˆŒŒØ&ˆŒÔÐå  ¤Ô!5°q´v´ÑGÔGˆŒŒØ˜1œ9Ð$Ð$Ø œyÐ)9Ô:ˆŒÔØ˜aœiÐ'Ð'Ý% b§g¢g¨a¬iÐ8KÔ.LÑ&MÔ&MÑNÔNˆŒÔà˜œ	Ð!Ð!Ý�a”i Ô.Ñ/Ô/ˆØÐIÐIÐIØˆAŒFŒKˆKàˆAŒFŒKÝ˜œ	ŸšÐ&7¸Ñ<Ô<Ñ=Ô=ð ð ˆØ˜%ÐÐØ ˆAŒFÔØ˜UÐ"Ð"ØˆAŒFŒMØ�Uˆ?ˆ?Ø ˆAŒFÔØˆAŒFŒMøØ�q”yÐ Ð Ý�a”i Ô-Ñ.Ô.ˆØÐ)Ð)Ð)ØˆAŒFŒMˆMàˆAŒFŒMØ˜œ	Ð!Ð!å ¤	¨-Ô 8Ñ9Ô9×?Ò?ÑAÔAˆŒÔà�q”yÐ Ð Ý# A¤I¨lÔ$;Ñ<Ô<ˆŒÔØ˜1œ9Ð$Ð$Øœ	Ð"2Ô3ˆŒŒà�1”9ÐÐð	DàŸGšG¥F¨1¬9°XÔ+>Ñ$?Ô$?Ñ@Ô@ˆAŒFŒMˆMøÝð 	Dð 	Dð 	DàŸGšG¥F¨1¬9°XÔ+>¸qÔ+AÑ$BÔ$BÑCÔCˆAŒFŒMˆMˆMð	Døøøð Œ6Œ=˜HÐ$Ð$Ø ˆAŒFŒMØ�!”)ÐÐð	BàŸ7š7¥6¨!¬)°GÔ*<Ñ#=Ô#=Ñ>Ô>ˆAŒFŒLˆLøÝð 	Bð 	Bð 	BØŸ7š7¥6¨!¬)°GÔ*<¸QÔ*?Ñ#@Ô#@ÑAÔAˆAŒFŒLˆLˆLð	BøøøàŒ6Œ<˜8Ð#Ð#ØˆAŒFŒLà�”ÐÐà�wŠw•v˜aœi¨Ô/Ñ0Ô0Ñ1Ô1ˆØ�=Š=˜ÑÔð 	,Ý˜˜c˜r˜cœÑ#Ô# eÑ+ˆDÝ˜D‘k”kˆŒŒàñ MÝØŒFðð
 ŒIÝØ”6”?ð
	
ñ 
	
ô 
	
ð 
	
ð ˜AœIÐ%Ð%Ø"$ ]Ô"3ˆAŒFÔØˆ}ÐÐÔ¥¨¬°=Ô)AÀ1Ä6Ä?Ñ!SÔ!SÑSÐÐÑØ " =Ô 1ˆAŒFÔØ˜QœYÐ&Ð&Øˆ~ÐÐÔ¥'¨!¬)°NÔ*CÀQÄVÄ_Ñ"UÔ"UÑUÐÐÑØ!# NÔ!3ˆAŒFÔà ¤	Ð)Ð)Ý#& q¤yÐ1BÔ'CÑ#DÔ#D×#JÒ#JÑ#LÔ#LˆAŒFÔ Ø ¤Ð*Ð*Ø$%§I¢I¨a¬iÐ8JÔ.KÑ$LÔ$LˆAŒFÔ!àð 
ÝØŒFðð ŒIÝØ”6”?ð	
ñ 	
ô 	
ð 	
ð ð #
ÝØŒFðð ŒIÝØ”6”?ð	
ñ 	
ô 	
ð 	
õ 	ØŒFðð ŒIØˆKñ
	
ô 
	
ð 
	
õ 	ØŒFðð ŒIÝñ
	
ô 
	
ð 
	
ð 
	
ð 
	
ð3#
ð #
s&   Í7N ÎAOÏOÏ=7P5 Ð5AQ?Ñ>Q?F©Úcollectc               óN  — d}| j         t          j        k    r|r	| j        }�n_| j         t          j        k    �rI| j                             ¦   «         }|dv �r+t          ||| j        ¦  «        }d„ |j	                             ¦   «          
                    d¦  «        D ¦   «         }|                     dd¦  «                             ¦   «         dv rµ|rd|v sd|v sd	|v r§|d
k    r6| j        D ]} |t          | |d¬¦  «        z  }Œ|                     |¦  «         dS |dk    re|j        r^|j                             ¦   «         dk    rA|                     d                     |j        d                     |¦  «        ¦  «        ¦  «         | j        D ]} t          | ||¬¦  «        }|r||z  }Œ|S )zCollect all CSS definitions.rƒ   >   Úlinkr–   c                ó^   — g | ]*}|                      ¦   «         ¯|                      ¦   «         ‘Œ+S rZ   )rn   )Ú.0rÝ   s     rV   ú
<listcomp>zpisaPreLoop.<locals>.<listcomp>
  s-   € ÐSÐSÐS 1ÈÏÊÉÌÐS�Q—W’W‘Y”YÐSÐSÐSr[   ú,Útype>   útext/cssrƒ   ÚallÚprintÚpdfr–   Tr   r  Ú
stylesheetz
@import "{}" {};)ÚnodeTyper   Ú	TEXT_NODEÚdataÚELEMENT_NODEr£   ro   r�   rw   ÚmediaÚsplitrl   Ú
childNodesÚpisaPreLoopÚaddCSSÚhrefÚrelÚformatré   )r¤   Úcontextr  r  rU   rž   r  r•   s           rV   r  r  ÿ  sÅ  € à€DØ„}�œÒ&Ð&¨7Ð&ØŒyˆ‰à	Œ�$Ô+Ò	+Ñ	+ØŒ|×!Ò!Ñ#Ô#ˆàÐ$Ð$Ñ$Ý$ W¨d°D´OÑDÔDˆDØSÐS¨¬
×(8Ò(8Ñ(:Ô(:×(@Ò(@ÀÑ(EÔ(EÐSÑSÔSˆEà�xŠx˜ Ñ#Ô#×)Ò)Ñ+Ô+Ð/?Ð?Ð?Øð @Ø" e˜^˜^¨w¸%Ð/?Ð/?À5ÈEÀ>À>à˜7’?�?Ø $¤ð Ið I˜Ø¥¨D°'À4Ð HÑ HÔ HÑH˜˜Ø—N’N 4Ñ(Ô(Ð(Ø˜2à˜6’>�> d¤i�>°D´H·N²NÑ4DÔ4DÈÒ4TÐ4Tà—N’NØ,×3Ò3°D´I¸s¿xºxÈ¹¼ÑOÔOñô ð ð ”ð ð ˆÝ˜T 7°GÐ<Ñ<Ô<ˆØð 	Ø�F‰NˆDøà€Kr[   c                óN  — |€g }|sdddddœ}nt          j         |¦  «        }| j        t          j        k    r|                     | j        ¦  «         d S | j        t          j        k    �r"| j                             dd¦  «         	                    ¦   «         | _        | j        dv rd S g t          j         |¦  «        ¢| j        ‘}t          || j        | j        ¦  «        }t          | |¦  «        |_        t          |j        | |¦  «        |_        | |_        d}d}d}d	}d	}	t          |j                             d
d¦  «        ¦  «        }
|
dk    }|�r|                     ¦   «          d|j        v r:|                     t'          t)          |j        d         ¦  «        ¦  «        ¦  «         d|j        v rQt)          |j        d         ¦  «         	                    ¦   «         dk    r!|                     t+          ¦   «         ¦  «         d|j        v rƒt)          |j        d         ¦  «         	                    ¦   «         dk    r!|                     t-          ¦   «         ¦  «         t)          |j        d         ¦  «         	                    ¦   «         dk    rd}	d|j        v �r5t)          |j        d         ¦  «         	                    ¦   «         dk    r!|                     t+          ¦   «         ¦  «         t)          |j        d         ¦  «         	                    ¦   «         dk    rB|                     t+          ¦   «         ¦  «         |                     t/          ¦   «         ¦  «         t)          |j        d         ¦  «         	                    ¦   «         dk    rB|                     t+          ¦   «         ¦  «         |                     t1          ¦   «         ¦  «         d|j        v r–t)          |j        d         ¦  «         	                    ¦   «         dk    r|}t)          |j        d         ¦  «         	                    ¦   «         dk    r|}t)          |j        d         ¦  «         	                    ¦   «         dk    r|}|
dk    rd S |                     ¦   «          t5          |||¬¦  «         t7          |j        d|j        t:          ¦  «         d|j        v r$t=          |j        d         ¦  «        |j        _        d|j        v r|j        d         |j        _         d }d}d}d|j        v rGt)          |j        d         ¦  «         !                    ¦   «          	                    ¦   «         }|dv r|}nd}d |j        v r-tE          d #                    |j        d          ¦  «        ¦  «        }d!|j        v r-tE          d #                    |j        d!         ¦  «        ¦  «        }|d uo|j$        d u }|rtK          |j&        ¦  «        |_$        tO          ¦   «                              d"| j                             dd¦  «         (                    ¦   «         z  d ¦  «        }d }|                     d#d ¦  «        }|j)                             |d ¦  «        }|r)|j        xj*        dz  c_*        | +                    ¦   «         }|�! || |¦  «        }| ,                    |¦  «         t          j         |j        ¦  «        x|_-        }| j.        D ]}t_          |||fi |¤Ž Œ||_-        |r| 0                    |¦  «         |r¨|                     ¦   «          |ro|                     t+          ¦   «         ¦  «         ||k    r!|                     t/          ¦   «         ¦  «         ||k    r!|                     t1          ¦   «         ¦  «         |	r!|                     t-          ¦   «         ¦  «         |r_|j&        |j$        d …         }|j&        d |j$        …         |_&        |j&         1                    te          ||||¬$¦  «        ¦  «         d |_$        |rO|                     ¦   «          |D ]}|j&        |_3        Œ| +                    |¦  «         |j        xj*        dz  c_*        | 4                    ¦   «          d S | j.        D ]} t_          | ||fi |¤Ž Œd S )%Nr   )rÉ   rË   rÎ   rÏ   ú:rƒ   >   r–   Úscriptr`   é   é   FÚdisplayÚinliner}   z-pdf-next-pagez-pdf-page-breakÚbeforez-pdf-frame-breakÚafterTzpage-break-beforeÚalwaysÚrightÚleftzpage-break-afterr¿   )rý   ))ÚkeepWithNextz-pdf-keep-with-next)Úoutlinez-pdf-outlinez-pdf-outline-levelz-pdf-word-wrapz-pdf-keep-in-frame-mode>   ÚerrorÚshrinkÚoverflowÚtruncater*  z-pdf-keep-in-frame-max-widthz-pdf-keep-in-frame-max-heightz	pisaTag%sr_   )ÚcontentÚmaxWidthÚ	maxHeightÚmode)5Úcopyr  r   r  ÚaddFragr  r  r£   Úreplacero   r�   rw   r²   rã   rŸ   r¤   rl   ÚaddParaÚaddStoryr   rf   r	   r   rK   rJ   ÚpushFragrÿ   rH   rä   rB   rr   ÚoutlineLevelÚwordWraprn   rF   ré   ÚkeepInFrameIndexÚlenÚstoryÚglobalsÚupperÚframeStaticÚinsideStaticFrameÚ	swapStoryÚstartÚ	fragBlockr  ÚpisaLoopÚendÚappendr   ÚpisaStaticStoryÚpullFrag)r¤   r  Úpathrü   rž   Ú
PAGE_BREAKÚPAGE_BREAK_RIGHTÚPAGE_BREAK_LEFTÚpageBreakAfterÚframeBreakAfterr   rý   ÚkeepInFrameModeÚkeepInFrameMaxWidthÚkeepInFrameMaxHeightrþ   ÚkeepInFrameÚklassÚobjÚ	elementIdÚstaticFrameÚoldStoryrB  ÚnnodeÚsubstoryÚframes                             rV   rC  rC  #  sÀ  € Ø€|Øˆð ð Ø°À!ÐUVÐWÐWˆˆåŒY�r‰]Œ]ˆð
 „}�œÒ&Ð&à�Š˜œ	Ñ"Ô"Ð"Ð"Ð"ð 
Œ�$Ô+Ò	+Ñ	+Ø”|×+Ò+¨C°Ñ4Ô4×:Ò:Ñ<Ô<ˆŒàŒ<Ð.Ð.Ð.ØˆFà/•”˜4‘”Ð/ $¤,Ð/ˆõ ! ¨$¬,¸¼ÑHÔHˆõ
 % T¨7Ñ3Ô3ˆŒÝ-¨g¬o¸tÀTÑJÔJˆŒØˆŒð ˆ
ØÐØˆàˆØˆÝ˜œ×+Ò+¨I°xÑ@Ô@ÑAÔAˆð ˜WÒ$ˆàñ !	5Ø�OŠOÑÔÐð   7¤?Ð2Ð2Ø× Ò Ý$¥S¨¬Ð9IÔ)JÑ%KÔ%KÑLÔLñô ð ð " W¤_Ð4Ð4Ý˜œÐ(9Ô:Ñ;Ô;×AÒAÑCÔCÀxÒOÐOà× Ò ¥¡¤Ñ-Ô-Ð-Ø! W¤_Ð4Ð4Ý�w”Ð'9Ô:Ñ;Ô;×AÒAÑCÔCÀxÒOÐOØ×$Ò$¥Z¡\¤\Ñ2Ô2Ð2Ý�w”Ð'9Ô:Ñ;Ô;×AÒAÑCÔCÀwÒNÐNØ&*�OØ" g¤oÐ5Ñ5Ý�w”Ð':Ô;Ñ<Ô<×BÒBÑDÔDÈÒPÐPØ×$Ò$¥Y¡[¤[Ñ1Ô1Ð1Ý�w”Ð':Ô;Ñ<Ô<×BÒBÑDÔDÈÒOÐOØ×$Ò$¥Y¡[¤[Ñ1Ô1Ð1Ø×$Ò$Õ%6Ñ%8Ô%8Ñ9Ô9Ð9Ý�w”Ð':Ô;Ñ<Ô<×BÒBÑDÔDÈÒNÐNØ×$Ò$¥Y¡[¤[Ñ1Ô1Ð1Ø×$Ò$Õ%5Ñ%7Ô%7Ñ8Ô8Ð8Ø! W¤_Ð4Ð4Ý�w”Ð'9Ô:Ñ;Ô;×AÒAÑCÔCÀxÒOÐOØ%/�NÝ�w”Ð'9Ô:Ñ;Ô;×AÒAÑCÔCÀwÒNÐNØ%5�NÝ�w”Ð'9Ô:Ñ;Ô;×AÒAÑCÔCÀvÒMÐMØ%4�Nà�fÒÐàˆFð
 	×ÒÑÔÐõ 	�˜" gÐ.Ñ.Ô.Ð.õ 	ØŒLðð
 ŒOÝñ		
ô 		
ð 		
ð   7¤?Ð2Ð2Ý(+¨G¬OÐ<PÔ,QÑ(RÔ(RˆGŒLÔ%à˜wœÐ.Ð.Ø$+¤OÐ4DÔ$EˆGŒLÔ!ð ˆØÐØ ÐØ$¨¬Ð7Ð7Ý˜œÐ(AÔBÑCÔC×IÒIÑKÔK×QÒQÑSÔSˆEØÐCÐCÐCØ"'��à"*�ð *¨W¬_Ð<Ð<Ý")Ø—’˜œÐ(FÔGÑHÔHñ#ô #Ðð +¨g¬oÐ=Ð=Ý#*Ø—’˜œÐ(GÔHÑIÔIñ$ô $Ð ð
 &¨TÐ1ÐV°gÔ6NÐRVÐ6VˆØð 	:õ (+¨7¬=Ñ'9Ô'9ˆGÔ$õ ‘	”	—’˜k¨D¬L×,@Ò,@ÀÀbÑ,IÔ,I×,OÒ,OÑ,QÔ,QÑQÐSWÑXÔXˆØˆð —H’H˜T 4Ñ(Ô(ˆ	ØÔ)×-Ò-¨i¸Ñ>Ô>ˆØð 	+ØŒLÐ*Ô*¨aÑ/Ð*Ô*Ø×(Ò(Ñ*Ô*ˆHð ÐØ�%˜˜dÑ#Ô#ˆCØ�IŠI�gÑÔÐõ )-¬	°'´,Ñ(?Ô(?Ð?ˆÔ˜IØ”_ð 	1ð 	1ˆEÝ�U˜G TÐ0Ð0¨RÐ0Ð0Ð0Ð0Ø%ˆÔð ð 	Ø�GŠG�GÑÔÐð ð 	/Ø�OŠOÑÔÐð
 ð 9Ø× Ò ¥¡¤Ñ-Ô-Ð-Ø!Ð%5Ò5Ð5Ø×$Ò$Õ%6Ñ%8Ô%8Ñ9Ô9Ð9Ø! _Ò4Ð4Ø×$Ò$Õ%5Ñ%7Ô%7Ñ8Ô8Ð8Øð /Ø× Ò ¥¡¤Ñ.Ô.Ð.àð 	,ð ”} WÔ%=Ð%?Ð%?Ô@ˆHØ#œMÐ*D¨GÔ,DÐ*DÔEˆGŒMØŒM× Ò ÝØ$Ø0Ø2Ø(ð	ñ ô ñô ð ð (,ˆGÔ$ð ð 	0Ø�OŠOÑÔÐØ$ð 6ð 6�Ø(/¬�Ô%Ð%Ø×Ò˜hÑ'Ô'Ð'ØŒLÐ*Ô*¨aÑ/Ð*Ô*ð
 	×ÒÑÔÐÐÐð ”Oð 	0ð 	0ˆDÝ�T˜7 DÐ/Ð/¨BÐ/Ð/Ð/Ð/ð	0ð 	0r[   rƒ   Úutf8c                ó~  — i a |rBt                               d¦  «         t          j        t          j        d¦  «        ¬¦  «        }n't          j        t          j        d¦  «        ¬¦  «        }i }t          | t          ¦  «        r4|sd}|  
                    |¦  «        } t          | |j        ¬¦  «        } ||d<    |j        | fi |¤Ž}|r)|                     |                     |¬¦  «        ¦  «         |r|                     |¦  «         t#          ||¦  «         |                     ¦   «          t'          ||¦  «         |S )z¼
    - Parse HTML and get miniDOM
    - Extract CSS information, add default CSS, parse CSS
    - Handle the document DOM itself and build reportlab story
    - Return Context object.
    z5xhtml parameter will be removed on next release 0.2.8Údom)Útreezutf-8)ÚcapacityÚtransport_encoding)Úencoding)rL   rg   rk   Úhtml5libÚXHTMLParserr   ÚgetTreeBuilderÚ
HTMLParserri   rf   Úencoder   r^  ÚparseÚwriteÚtoprettyxmlÚaddDefaultCSSr  ÚparseCSSrC  )	Úsrcr  Údefault_cssÚxhtmlr`  Ú
xml_outputrŒ   Úparser_kwargsÚdocuments	            rV   Ú
pisaParserrq    sV  € ð €Làð NÝ�ŠÐKÑLÔLÐLåÔ%­<Ô+FÀuÑ+MÔ+MÐNÑNÔNˆˆåÔ$­,Ô*EÀeÑ*LÔ*LÐMÑMÔMˆØ€MÝ�#•sÑÔð 7àð 	ØˆHØ�jŠj˜Ñ"Ô"ˆÝ˜3¨Ô)9Ð:Ñ:Ô:ˆð /7ˆÐ*Ñ+ð ˆvŒ|˜CÐ1Ð1 =Ð1Ð1€Hàð BØ×Ò˜×-Ò-°xÐ-Ñ@Ô@ÑAÔAÐAàð +Ø×Ò˜kÑ*Ô*Ð*å�˜'Ñ"Ô"Ð"Ø×ÒÑÔÐÝˆX�wÑÔÐØ€Nr[   c                 ó$   — d|d<   t          | i |¤ŽS )NTrm  )ÚHTML2PDF)Úarü   s     rV   Ú	XHTML2PDFru  A  s   € Ø€B€w�KÝ�QÐ˜"ÐÐÐr[   rP   )rƒ   FrZ  N)zÚ
__future__r   r1  ÚloggingÚreÚxml.dom.minidomÚxmlÚxml.domr   ra  r   Úreportlab.platypus.doctemplater   r   Úreportlab.platypus.flowablesr   r	   Úxhtml2pdf.defaultr
   r   r   r   r   r   r   r   r   r   r   Úxhtml2pdf.filesr   Úxhtml2pdf.tablesr   r   r   r   r   Úxhtml2pdf.tagsr   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   Úxhtml2pdf.utilrA   rB   rC   rD   rE   rF   rG   rH   Úxhtml2pdf.w3crI   Úxhtml2pdf.xhtml2pdf_reportlabrJ   rK   Ú	getLoggerrW   rg   rL   Ú__annotations__ÚcompileÚMÚIÚrxhttpstriprQ   rN   r�   rn   r  r­   r‘   r…   r\  ÚminidomÚElementr›   rŸ   r¨   r²   ro   rÿ   r  rC  rq  rs  ru  ÚXML2PDFrZ   r[   rV   ú<module>rŽ     sB  ðð #Ð "Ð "Ð "Ð "Ð "Ð "à €€€Ø €€€Ø 	€	€	€	Ø Ð Ð Ð Ø Ð Ð Ð Ð Ð à €€€Ø !Ð !Ð !Ð !Ð !Ð !Ø GÐ GÐ GÐ GÐ GÐ GÐ GÐ GØ ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð )Ð (Ð (Ð (Ð (Ð (ðð ð ð ð ð ð ð ð ð ð ð ð ð ð'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ðP	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 1Ð 0Ð 0Ð 0Ð 0Ð 0Ø MÐ MÐ MÐ MÐ MÐ MÐ MÐ Mà€gÔ˜Ñ!Ô!€à "€Ð "Ð "Ð "Ñ "àˆbŒjÐ-¨r¬t°b´d©{Ñ;Ô;€ðð ð ð ð �Dñ ô ð ðN!ð N!ð N!ðb4÷h 	Š‰Œ—’‘”ði 
ðn 4Bð ð ð ð ðB &0€„„Ô Ô "ð "Ð#5Ð6Ð ðð ð ð	Mð 	Mð 	Mðð ð ð@ð ð ð\
ð \
ð \
ð~ +0ð !ð !ð !ð !ð !ðH[0ð [0ð [0ð [0ðB Ø
ØØð8ð 8ð 8ð 8ðz €ðð ð ð
 €€€r[   