Ë
    ¡ëiÅC  ã                   ó\  — d Z dZdZddlmZ ddlmZmZmZm	Z	 ddl
mZ ddlmZmZmZmZmZmZmZmZmZmZ m!Z"m#Z$m%Z&  eedd«      Z' eedd«      Z( eedd«      Z) G d	„ d
«      Z* G d„ de*«      Z+ e,eeeee	¬«      fd„Z- G d„ de*«      Z. G d„ de*«      Z/ e0«       Z1 G d„ d«      Z2d„ Z3d„ Z4y)z3.3.0a›  Classes for ParagraphStyle and similar things.

A style is a collection of attributes, but with some extra features
to allow 'inheritance' from a parent, and to ensure nobody makes
changes after construction.

ParagraphStyle shows all the attributes available for formatting
paragraphs.

getSampleStyleSheet()  returns a stylesheet you can use for initial
development, with a few basic heading and text styles.
)ÚPropertySetÚParagraphStyleÚstr2alignmentÚ	LineStyleÚ	ListStyleÚStyleSheet1ÚgetSampleStyleSheeté    )Úblack)ÚTA_LEFTÚ	TA_CENTERÚTA_RIGHTÚ
TA_JUSTIFY)Útt2ps)Úcanvas_basefontnameÚunderlineWidthÚunderlineOffsetÚunderlineGapÚstrikeWidthÚstrikeOffsetÚ	strikeGapÚspaceShrinkageÚplatypus_link_underlineÚhyphenationLangÚhyphenationMinWordLengthÚuriWasteReduceÚembeddedHyphenationé   c                   ó:   — e Zd Zi Zdd„Zd„ Zd„ Zd„ Zd	d„Zdd„Z	y)
r   Nc                 ó¢  — d| j                   vsJ d«       ‚d| j                   vsJ d«       ‚|rN|j                  | j                  k(  s5J d|j                  j                  ›d| j                  j                  ›�«       ‚|| _        || _        | j
                  j                  | j                   «       | j                  «         | j                  di |¤Ž y)	zÎWhen initialized, it copies the class defaults;
        then takes a copy of the attributes of the parent
        if any.  All the work is done in init - styles
        should cost little to use at runtime.Únamez1Class Defaults may not contain a 'name' attributeÚparentz3Class Defaults may not contain a 'parent' attributezParent style z# must have same class as new style N© )	ÚdefaultsÚ	__class__Ú__name__r    r!   Ú__dict__ÚupdateÚrefreshÚ_setKwds)Úselfr    r!   Úkws       úT/var/www/html/chat/reports/venv/lib/python3.12/site-packages/reportlab/lib/styles.pyÚ__init__zPropertySet.__init__6   sâ   € ð ˜TŸ]™]Ñ*Ð_Ð,_Ó_Ð*Ø˜tŸ}™}Ñ,ÐcÐ.cÓcÐ,ÙØ×#Ñ# t§~¡~Ò5ñ  dÐqw÷  rBñ  rB÷  rKó  rKð  LP÷  LZñ  LZ÷  Lcò  Lcð  8dó  dÐ5ð ˆŒ	ØˆŒØ�‰×Ñ˜TŸ]™]Ô+ð
 	�‰ŒØˆ�‰Ñ˜Óó    c                 óR   — |j                  «       D ]  \  }}|| j                  |<   Œ y ©N)Úitemsr&   )r*   r+   ÚkeyÚvalues       r,   r)   zPropertySet._setKwdsL   s)   € àŸ(™(›*ò 	(‰JˆC�Ø"'ˆT�]‰]˜3Òñ	(r.   c                 óP   — d| j                   j                  ›d| j                  ›d�S )Nú<z 'z'>)r$   r%   r    ©r*   s    r,   Ú__repr__zPropertySet.__repr__Q   s   � Ø"Ÿn™n×5Ó5°t·y³yÐAÐAr.   c                 óž   — | j                   rA| j                   j                  j                  «       D ]  \  }}|dvsŒ|| j                  |<   Œ yy)zƒre-fetches attributes from the parent on demand;
        use if you have been hacking the styles.  This is
        used by __init__)r    r!   N)r!   r&   r1   )r*   r2   r3   s      r,   r(   zPropertySet.refreshT   sM   € ð �;Š;Ø"Ÿk™k×2Ñ2×8Ñ8Ó:ò /‘
��UØÐ0Ò0Ø).�D—M‘M #Ò&ñ/ð r.   c                 ó~  — t        |dz   | j                  «       t        |dz   | j                  «       t        | j                  j                  «       «      }|j                  «        |j                  d«       |j                  d«       |D ]1  }| j                  j                  |d «      }t        ||›d|›�z   «       Œ3 y )Nzname =zparent =r    r!   z = )	Úprintr    r!   Úlistr&   ÚkeysÚsortÚremoveÚget)r*   ÚindentÚkeylistr2   r3   s        r,   Ú	listAttrszPropertySet.listAttrs]   s—   € Üˆf�xÑ §¡Ô+Üˆf�zÑ! 4§;¡;Ô/Ü�t—}‘}×)Ñ)Ó+Ó,ˆØ�‰ŒØ�‰�vÔØ�‰�xÔ Øò 	5ˆCØ—M‘M×%Ñ% c¨4Ó0ˆEÜ�&ª©UÐ3Ñ3Õ4ñ	5r.   c                 ó¼   — | j                  ||«      }| j                  j                  «       |_        ||_        |d u xr | xs ||_         |j
                  di |¤Ž |S )Nr"   )r$   r&   Úcopyr    r!   r)   )r*   r    r!   ÚkwdsÚrs        r,   ÚclonezPropertySet.cloneh   sX   € Ø�N‰N˜4 Ó'ˆØ—]‘]×'Ñ'Ó)ˆŒ
ØˆŒØ˜T�>Ò* dÒ4¨fˆŒØˆ�
‰
Ñ�TÒØˆr.   r0   )Ú )
r%   Ú
__module__Ú__qualname__r#   r-   r)   r7   r(   rB   rG   r"   r.   r,   r   r   3   s&   „ Ø€Hóò,(ò
Bò/ó	5ôr.   r   c            	       óô   — e Zd Zi de“dd“dd“dd“dd“d	d“d
e“dd“dd“de“dd“dd“de“dd“dd“dd“dd“i dd“dd“dd“dd“dd“dd“dd“dd“de“d d!“d"d“d#d“d$e“d%e“d&e	“d'e
“d(e“¥eeddeeed)œ¥Zy)*r   ÚfontNameÚfontSizeé
   Úleadingé   Ú
leftIndentr	   ÚrightIndentÚfirstLineIndentÚ	alignmentÚspaceBeforeÚ
spaceAfterÚbulletFontNameÚbulletFontSizeÚbulletIndentÚ	textColorÚ	backColorNÚwordWrapÚshapingÚborderWidthÚborderPaddingÚborderColorÚborderRadiusÚallowWidowsr   ÚallowOrphansÚtextTransformÚendDotsÚsplitLongWordsr   ÚbulletAnchorÚstartÚjustifyLastLineÚjustifyBreaksr   r   r   r   r   )r   ÚlinkUnderlineÚunderlineColorÚstrikeColorr   r   r   )r%   rI   rJ   Ú_baseFontNamer   r
   Ú_baseUnderlineWidthÚ_spaceShrinkageÚ_baseStrikeWidthÚ_baseUnderlineOffsetÚ_baseUnderlineGapÚ_baseStrikeOffsetÚ_baseStrikeGapÚ_platypus_link_underlineÚ_hyphenationLangÚ_embeddedHyphenationÚ_uriWasteReducer#   r"   r.   r,   r   r   p   sÒ  „ ð1
Ø�=ð1
à�2ð1
ð 	�"ð1
ð 	�Qð	1
ð
 	�að1
ð 	˜!ð1
ð 	�Gð1
ð 	�að1
ð 	�Qð1
ð 	˜ð1
ð 	˜ð1
ð 	�qð1
ð 	�Uð1
ð 	�Dð1
ð  	�4ð!1
ð( 	�1ð)1
ð* 	�qñ+1
ð, 	˜ð-1
ð. 	�tð/1
ð0 	˜ð11
ð2 	�qð31
ð4 	˜ð51
ð6 	˜ð71
ð8 	�$ð91
ð> 	˜ð?1
ð@ 	Ð-ðA1
ðB 	˜ðC1
ðD 	˜1ðE1
ðF 	˜ðG1
ðH 	˜/ðI1
ðJ 	Ð'ðK1
ðL 	Ð/ðM1
ðN 	Ð)ðO1
ðP 	Ð)ñQ1
ðR $Ø1Ø ØØ+à3Ø)òa1
�Hr.   r   )ÚcentreÚcenterÚleftÚrightÚjustifyc                 óf   — |j                  | j                  «       d «      }|€t        | ›d�«      ‚|S )Nz is illegal value for alignment)r?   ÚlowerÚ
ValueError)ÚvÚ__map__Ú_s      r,   r   r   ¤   s6   € ð
 	�‰�A—G‘G“I˜dÓ#€AØ€yœ
 a UÐ*IÐ#JÓKÐKØ€Hr.   c                   ó   — e Zd ZdedœZd„ Zy)r   r   )ÚwidthÚcolorc                 ó&   — |j                  d«       y)zKYou can ask a LineStyle to set up the canvas for drawing
        the lines.r   N)ÚsetLineWidth)r*   Úcanvass     r,   ÚprepareCanvaszLineStyle.prepareCanvas²   s   € ð 	×Ñ˜AÕr.   N)r%   rI   rJ   r
   r#   r‹   r"   r.   r,   r   r   ­   s   „ àØñ
€Hór.   r   c                   ó4   — e Zd Z eddddedddddd	d	¬
«      Zy	)r   é   r	   r|   Ú1Ú	HelveticarP   ÚautoÚltrN)rQ   rR   ÚbulletAlignÚ
bulletTypeÚbulletColorrW   rX   ÚbulletOffsetYÚbulletDedentÚ	bulletDirÚbulletFormatrh   )r%   rI   rJ   Údictr
   r#   r"   r.   r,   r   r   ¸   s0   „ ÙØØØ"ØØ!Ø*Ø!ØØ#ØØ!Øô�Hr.   r   c                   óF   — e Zd ZdZd„ Zd„ Zefd„Zd„ Zd„ Z	dd„Z
d	„ Zd
„ Zy)r   aG  
    This may or may not be used.  The idea is to:
    
    1. slightly simplify construction of stylesheets;
    
    2. enforce rules to validate styles when added
       (e.g. we may choose to disallow having both
       'heading1' and 'Heading1' - actual rules are
       open to discussion);
       
    3. allow aliases and alternate style lookup
       mechanisms
       
    4. Have a place to hang style-manipulation
       methods (save, load, maybe support a GUI
       editor)
   
    Access is via getitem, so they can be
    compatible with plain old dictionaries.
    c                 ó    — i | _         i | _        y r0   )ÚbyNameÚbyAliasr6   s    r,   r-   zStyleSheet1.__init__à   s   € ØˆŒØˆ�r.   c                 ó–   — 	 | j                   |   S # t        $ r. 	 | j                  |   cY S # t        $ r t        d|z  «      ‚w xY ww xY w)Nz"Style '%s' not found in stylesheet)r�   ÚKeyErrorrœ   ©r*   r2   s     r,   Ú__getitem__zStyleSheet1.__getitem__ä   s_   € ð	KØ—<‘< Ñ$Ð$øÜò 	KðKØ—{‘{ 3Ñ'Ò'øÜò KÜÐCÀcÑIÓJÐJðKúð	Kús   ‚ ‘	A›,©A¬AÁAc                 óD   — 	 | |   S # t         $ r |t        k7  r|cY S ‚ w xY wr0   )rŸ   Ú_stylesheet1_undefined)r*   r2   Údefaults      r,   r?   zStyleSheet1.getí   s0   € ð	Ø˜‘9ÐøÜò 	ØÔ.Ò.°w²Øð	ús   ‚ ‡�c                 ó>   — || j                   v xs || j                  v S r0   )r�   rœ   r    s     r,   Ú__contains__zStyleSheet1.__contains__ô   s   € Ø�d—l‘lÐ"Ò8 c¨T¯[©[Ð&8Ð8r.   c                 ó
   — || v S r0   r"   r    s     r,   Úhas_keyzStyleSheet1.has_key÷   s   € Ø�dˆ{Ðr.   Nc                 óB  — |j                   }|| j                  v rt        d|z  «      ‚|| j                  v rt        d|z  «      ‚|r8|| j                  v rt        d|z  «      ‚|| j                  v rt        d|z  «      ‚|| j                  |<   |r|| j                  |<   y y )Nz(Style '%s' already defined in stylesheetz1Style name '%s' is already an alias in stylesheetz1Alias name '%s' is already an alias in stylesheet)r    rœ   rŸ   r�   )r*   ÚstyleÚaliasr2   s       r,   ÚaddzStyleSheet1.addú   s¨   € Ø�j‰jˆØ�$—+‘+ÑÜÐEÈÑKÓLÐLØ�$—,‘,ÑÜÐNÐQTÑTÓUÐUáØ˜Ÿ™Ñ#ÜÐIÈEÑQÓRÐRØ˜Ÿ™Ñ$ÜÐRÐUZÑZÓ[Ð[à ˆ�‰�CÑÙØ"'ˆD�L‰L˜Òð r.   c                 ót   — || v r| j                  |«      S t        | j                  j                  › d|›�«      ‚)Nz instance has no attribute )r?   ÚAttributeErrorr$   r%   )r*   Úas     r,   Ú__getattr__zStyleSheet1.__getattr__  s:   € Ø�‰9˜TŸX™X a›[Ð(Ü §¡× 7Ñ 7Ð8Ð8SÐTUÐSXÐYÓZÐZr.   c                 óT  — t        | j                  j                  «       «      }|j                  «        i }t        | j                  j                  «       «      D ]
  \  }}|||<   Œ |D ]>  \  }}|j                  |d «      }t        ||«       |j                  d«       t        «        Œ@ y )Nz    )r;   rœ   r1   r=   r�   r?   r:   rB   )r*   ÚstylesÚaliir«   rª   r    s         r,   r;   zStyleSheet1.list  s“   € Ü�d—k‘k×'Ñ'Ó)Ó*ˆØ�‰ŒØˆÜ" 4§<¡<×#5Ñ#5Ó#7Ó8ò 	 ‰NˆU�EØˆD�ŠKð	 à#ò 	‰MˆT�5Ø—H‘H˜U DÓ)ˆEÜ�$˜ÔØ�O‰O˜FÔ#Ü�Gñ		r.   r0   )r%   rI   rJ   Ú__doc__r-   r¡   r£   r?   r¦   r¨   r¬   r°   r;   r"   r.   r,   r   r   Ê   s6   „ ñò*òKð 4ó ò9òó(ò"[ó
r.   r   c                  óÎ   — t        dd «      } t        | _        d| _        d| _        | j                  «        t        «        t        d| «      }d|_        |j                  «        | |fS )NÚNormalrP   gÍÌÌÌÌÌ,@ÚLiteralÚCourier)r   rn   rL   rM   rO   rB   r:   )ÚpNormalÚpPres     r,   Ú
testStylesr»     s]   € Ü˜X dÓ+€GÜ$€GÔØ€GÔØ€G„Oà×ÑÔÜ	„GÜ˜) WÓ-€DØ€D„MØ‡N�NÔØ�Dˆ=Ðr.   c                  óÔ  — t        «       } | j                  t        dt        dd¬«      «       | j                  t        d| d   d¬«      «       | j                  t        d| d   t        ¬	«      «       | j                  t        d
| d   t
        ddd¬«      d¬«       | j                  t        d| d   t
        ddt        d¬«      d¬«       | j                  t        d| d   t
        dddd¬«      d¬«       | j                  t        d| d   t        dddd¬«      d¬«       | j                  t        d| d   t        dddd¬«      d¬«       | j                  t        d| d   t
        dddd¬«      d ¬«       | j                  t        d!| d   t
        d"d#dd$¬«      d%¬«       | j                  t        d&| d   d'd(¬)«      d*¬«       | j                  t        d+| d   d'd,d'dt        ¬-«      d.¬«       | j                  t        d/| d   d0dd1d'd,d2¬3«      «       | j                  t        d4d5dd'd6d7t        d8dd'd9d:d5d5¬;«      d<¬«       | j                  t        d=d5dd'd6d7t        d8dd'd9d:d5d5¬;«      d>¬«       | S )?zReturns a stylesheet objectr¶   rN   rP   )r    rL   rM   rO   ÚBodyTexté   )r    r!   rU   ÚItalic)r    r!   rL   ÚHeading1r�   é   )r    r!   rL   rM   rO   rV   Úh1)r«   ÚTitle)r    r!   rL   rM   rO   rT   rV   ÚtitleÚHeading2é   )r    r!   rL   rM   rO   rU   rV   Úh2ÚHeading3Úh3ÚHeading4é   Úh4ÚHeading5é	   gš™™™™™%@é   Úh5ÚHeading6é   gÍÌÌÌÌÌ @é   Úh6ÚBulletr	   é   )r    r!   rS   rU   ÚbuÚ
Definitioné$   )r    r!   rS   rQ   rY   rU   rW   ÚdfÚCoder¸   gš™™™™™!@rH   )r    r!   rL   rM   rO   rS   rQ   r   ÚUnorderedListNr|   rŽ   r�   r�   r‘   )r    r!   rQ   rR   r’   r“   r”   rW   rX   r•   r–   r—   r˜   rh   ÚulÚOrderedListÚol)
r   r¬   r   rn   Ú_baseFontNameIÚ_baseFontNameBr   Ú_baseFontNameBIr   r
   )Ú
stylesheets    r,   r   r   (  s!  € ä“€Jà‡N�N”> xÜ+8Ø+-Ø*,ô.ô ð ‡N�N”> zØ)3°HÑ)=Ø./ô1ô ð ‡N�N”> xØ)3°JÑ)?Ü-;ô=ô ð
 ‡N�N”> zØ)3°HÑ)=Ü-;Ø+-Ø*,Ø-.ô0ð ð ô ð ‡N�N”> wØ)3°HÑ)=Ü-;Ø+-Ø*,Ü,5Ø-.ô0ð !ð ô "ð ‡N�N”> zØ)3°HÑ)=Ü-;Ø+-Ø*,Ø.0Ø-.ô0ð ð ô ð ‡N�N”> zØ)3°HÑ)=Ü-<Ø+-Ø*,Ø.0Ø-.ô0ð ð ô ð ‡N�N”> zØ)3°HÑ)=Ü-<Ø+-Ø*,Ø.0Ø-.ô0ð ð ô ð ‡N�N”> zØ)3°HÑ)=Ü-;Ø+,Ø*.Ø./Ø-.ô0ð ð ô ð ‡N�N”> zØ)3°HÑ)=Ü-;Ø+,Ø*-Ø./Ø-.ô0ð ð ô ð ‡N�N”> xØ)3°HÑ)=Ø23Ø./ô1ð ð	 ô ð ‡N�N”> |Ø)3°HÑ)=Ø23Ø-/Ø/0Ø./Ü1@ôBð ð ô ð ‡N�N”> vØ)3°HÑ)=Ø+4Ø+,Ø*-Ø23Ø-/Ø24ô6ô 7ð ‡N�N”9 /Ø'+Ø+-Ø,-Ø,2Ø+.Ü,1Ø/:Ø/1Ø./Ø-3Ø*/Ø-1à&*ôð  ð! ô ð$ ‡N�N”9 -Ø'+Ø+-Ø,-Ø,2Ø+.Ü,1Ø/:Ø/1Ø./Ø-3Ø*/Ø-1à&*ôð  ð! ô ð" Ðr.   N)5Ú__version__r´   Ú__all__Úreportlab.lib.colorsr
   Úreportlab.lib.enumsr   r   r   r   Úreportlab.lib.fontsr   Úreportlab.rl_configr   rn   r   ro   r   rr   r   rs   r   rq   r   rt   r   ru   r   rp   r   rv   r   rw   r   Ú_hyphenationMinWordLengthr   ry   r   rx   rá   rà   râ   r   r   r™   r   r   r   Úobjectr£   r   r»   r   r"   r.   r,   ú<module>rì      sÛ   ðð €ð	€ð	
€õ 'ß HÓ HÝ %÷L÷ L÷ Lõ Lñ �} Q qÓ)€Ù�} Q qÓ)€Ù˜ a¨Ó*€÷;ñ ;ôz2
�[ô 2
ñh !Ø&Ø&Ø"¨Ø(ô	*ó ô�ô ô�ô ñ   ›Ð ÷Oñ OòbóLr.   