
    Mi~                     b    S SK JrJr  S SKJr  S SKJr  SSKJr   " S S\R                  5      r
g)	    )LiteralUnion)warn)Color   )	xmlwriterc                     ^  \ rS rSrSrSSU 4S jjjrS\4S jrSS jrSS\	SS4S	 jjr
S
\\\4   SS4S jrSS\SS4S jjrSS\SS4S jjrSS\S   SS4S jjrSS\SS4S jjrSS\S   SS4S jjrSS\SS4S jjrSS\SS4S jjrS\SS4S jrSS\SS4S jjrSS \SS4S! jjrS"\S#   SS4S$ jrSSS% jjrSS&\SS4S' jjrS(\	SS4S) jrSS*\	SS4S+ jjrSS,\SS4S- jjrSS.\SS4S/ jjr SS0\	SS4S1 jjr!S2\\\4   SS4S3 jr"S4\\\4   SS4S5 jr#SS6\	SS4S7 jjr$S8\\\4   SS4S9 jr%SS:\	SS4S; jjr&S<\\\4   SS4S= jr'SS>\S?   SS4S@ jjr(SSA\	SS4SB jjr)SC\\\4   SS4SD jr*SSE\	SS4SF jjr+SG\\\4   SS4SH jr,SSI\	SS4SJ jjr-SK\\\4   SS4SL jr.SM\\\4   SS4SN jr/SSO\	SS4SP jjr0SSQ\SS4SR jjr1SSS\SS4ST jjr2SSU\SS4SV jjr3SSW\SS4SX jjr4SY\	SS4SZ jr5S[\	SS4S\ jr6S]\	SS4S^ jr7S_\	SS4S` jr8Sa\	SS4Sb jr9Sc\	SS4Sd jr:SSe\	SS4Sf jjr;Sg\S#   SS4Sh jr<Si\	SS4Sj jr=Sk\	SS4Sl jr>Sm\	SS4Sn jr?So\	SS4Sp jr@Sq\	SS4Sr jrASs\	SS4St jrBSSu\SS4Sv jjrCSw\Sx   SS4Sy jrDSSz\SS4S{ jjrES|\SS4S} jrFS\	SS4S~ jrGS
\\\4   SS4S jrHS rIS rJS rKS rLS rMS rNS rOS rPS rQSrRU =rS$ )Format   z3
A class for writing the Excel XLSX Format file.


Nreturnc                    > Uc  0 n[         TU ]  5         X l        X0l        SU l        SU l        SU l        SU l        SU l        SU l	        SU l
        SU l        SU l        SU l        SU l        SU l        SU l        SU l        SU l        SU l        SU l        SU l        SU l        SU l        SU l        SU l        SU l        SU l        SU l        SU l        S	U l        SU l        SU l         SU l!        SU l"        SU l#        SU l$        SU l%        SU l&        SU l'        SU l(        SU l)        SU l*        SU l+        SU l,        SU l-        SU l.        SU l/        SU l0        SU l1        SU l2        SU l3        SU l4        SU l5        SU l6        SU l7        SU l8        SU l9        SU l:        SU l;        SU l<        SU l=        SU l>        SU l?        SU l@        SU lA        SU lB        UR                  5        H  u  pE[        U S
U-   5      " U5        M     SU lE        g)z
Constructor.

NGeneralr   FCalibri      minorr   set_)Fsuper__init__xf_format_indicesdxf_format_indicesxf_index	dxf_index
num_formatnum_format_index
font_indexhas_fonthas_dxf_fontbold	underlineitalic	font_name	font_size
font_colorfont_strikeoutfont_outlinefont_shadowfont_scriptfont_familyfont_charsetfont_schemefont_condensefont_extendtheme	hyperlinkxf_idhiddenlockedtext_h_align	text_wraptext_v_aligntext_justlastrotationfg_colorbg_colorpatternhas_fillhas_dxf_fill
fill_index
fill_countborder_index
has_borderhas_dxf_borderborder_countbottombottom_colordiag_border
diag_color	diag_typeleft
left_colorrightright_colortop	top_colorindentshrinkmerge_rangereading_orderjust_distribcolor_indexed	font_onlyquote_prefixcheckboxitemsgetattr_format_key)self
properties
xf_indicesdxf_indiceskeyvalue	__class__s         k/var/www/eduai.edurigo.com/storigo/production/storigo_env/lib/python3.13/site-packages/xlsxwriter/format.pyr   Format.__init__    s.   
 J!+"-# !!	""

!# 	
! %**,JCD&3,'. -      c                 x   SU R                   < SU R                   SU R                   SU R                   SU R                   SU R
                   SU R                  < SU R                   S	U R                   S
U R                   SU R                   SU R                   SU R                   SU R                   S3$ )z8
Return a string representation of the Format instance.
zFormat(font_name=z, font_size=z, bold=z	, italic=z, underline=z, font_color=z, num_format=z, text_h_align=z, text_v_align=z, fg_color=z, bg_color=z
, pattern=z	, locked=z	, hidden=))r"   r#   r   r!   r    r$   r   r3   r5   r8   r9   r:   r2   r1   rZ   s    ra   __repr__Format.__repr__{   s    
* +( )II; kk] #( )//* +//, - --. / --. / ' '||n %kk] #kk]!%	
rc   c                     Xl         g)z
Set the Format font_name property such as 'Time New Roman'. The
default Excel font is 'Calibri'.

Args:
    font_name: String with the font name. No default.

Returns:
    Nothing.

Nr"   rZ   r"   s     ra   set_font_nameFormat.set_font_name   s	     #rc   r#   c                     Xl         g)z
Set the Format font_size property. The default Excel font size is 11.

Args:
    font_size: Int with font size. No default.

Returns:
    Nothing.

Nr#   rZ   r#   s     ra   set_font_sizeFormat.set_font_size   	     #rc   r$   c                 :    [         R                  " U5      U l        g)z
Set the Format font_color property. The Excel default is black.

Args:
    font_color: String with the font color. No default.

Returns:
    Nothing.

Nr   _from_valuer$   rZ   r$   s     ra   set_font_colorFormat.set_font_color         ++J7rc   r   c                     Xl         g)zl
Set the Format bold property.

Args:
    bold: Default is True, turns property on.

Returns:
    Nothing.

N)r   )rZ   r   s     ra   set_boldFormat.set_bold   	     	rc   r!   c                     Xl         g)zp
Set the Format italic property.

Args:
    italic: Default is True, turns property on.

Returns:
    Nothing.

N)r!   )rZ   r!   s     ra   
set_italicFormat.set_italic   	     rc   r    )r   r   !   "   c                     Xl         g)zr
Set the Format underline property.

Args:
    underline: Default is 1, single underline.

Returns:
    Nothing.

N)r    )rZ   r    s     ra   set_underlineFormat.set_underline   rs   rc   r%   c                     Xl         g)z
Set the Format font_strikeout property.

Args:
    font_strikeout: Default is True, turns property on.

Returns:
    Nothing.

N)r%   )rZ   r%   s     ra   set_font_strikeoutFormat.set_font_strikeout   s
     -rc   r(   )r   r   c                     Xl         g)zq
Set the Format font_script property.

Args:
    font_script: Default is 1, superscript.

Returns:
    Nothing.

N)r(   )rZ   r(   s     ra   set_font_scriptFormat.set_font_script   
     'rc   r&   c                     Xl         g)z|
Set the Format font_outline property.

Args:
    font_outline: Default is True, turns property on.

Returns:
    Nothing.

N)r&   )rZ   r&   s     ra   set_font_outlineFormat.set_font_outline   
     )rc   r'   c                     Xl         g)zz
Set the Format font_shadow property.

Args:
    font_shadow: Default is True, turns property on.

Returns:
    Nothing.

N)r'   )rZ   r'   s     ra   set_font_shadowFormat.set_font_shadow  r   rc   r   c                     Xl         g)z
Set the Format num_format property such as '#,##0'.

Args:
    num_format: String representing the number format. No default.

Returns:
    Nothing.

N)r   )rZ   r   s     ra   set_num_formatFormat.set_num_format  	     %rc   r2   c                     Xl         g)zp
Set the Format locked property.

Args:
    locked: Default is True, turns property on.

Returns:
    Nothing.

N)r2   )rZ   r2   s     ra   
set_lockedFormat.set_locked'  r   rc   r1   c                     Xl         g)zp
Set the Format hidden property.

Args:
    hidden: Default is True, turns property on.

Returns:
    Nothing.

N)r1   )rZ   r1   s     ra   
set_hiddenFormat.set_hidden4  r   rc   	alignment)rH   centrecenterrJ   filljustifycenter_acrosscentre_acrossdistributedjustify_distributedr   rL   vcentrevcenterrC   vjustifyvdistributedc                     UR                  5       nUS:X  a  U R                  S5        US:X  a  U R                  S5        US:X  a  U R                  S5        US:X  a  U R                  S5        US:X  a  U R                  S	5        US
:X  a  U R                  S5        US:X  a  U R                  S5        US:X  a  U R                  S5        US:X  a  U R                  S5        US:X  a  U R                  S5        US:X  a  SU l        US:X  a  U R                  S5        US:X  a  U R                  S5        US:X  a  U R                  S5        US:X  a  U R                  S5        US:X  a  U R                  S	5        US:X  a  U R                  S5        gg)zx
Set the Format cell alignment.

Args:
    alignment: String representing alignment. No default.

Returns:
    Nothing.
rH   r   r   r   r   rJ      r      r      r      r   r      r   rL   r   r   rC   r   r   N)lowerset_text_h_alignrR   set_text_v_align)rZ   r   s     ra   	set_alignFormat.set_alignA  s   > OO%	 !!!$ !!!$ !!!$!!!$!!!$	!!!!$'!!!$'!!!$%!!!$--!!!$-- !D !!!$	!!!!$	!!!!$ !!!$
"!!!$&!!!$ 'rc   c                 &    U R                  S5        g)z@
Set the Format center_across property.

Returns:
    Nothing.

r   N)r   )rZ   
align_types     ra   set_center_acrossFormat.set_center_across  s     	a rc   r4   c                     Xl         g)zv
Set the Format text_wrap property.

Args:
    text_wrap: Default is True, turns property on.

Returns:
    Nothing.

N)r4   )rZ   r4   s     ra   set_text_wrapFormat.set_text_wrap  rs   rc   r7   c                     [        U5      nUS:X  a  SnO)SUs=::  a  S::  a  O  OUS:  a  U* S-   nO[        S5        gXl        g)zl
Set the Format rotation property.

Args:
    rotation: Rotation angle. No default.

Returns:
    Nothing.

i     iZ   r   z3Rotation rotation outside range: -90 <= angle <= 90N)intr   r7   )rZ   r7   s     ra   set_rotationFormat.set_rotation  sL     x= s?HH""!|$9r>FG rc   rN   c                     Xl         g)zs
Set the Format indent property.

Args:
    indent: Default is 1, first indentation level.

Returns:
    Nothing.

N)rN   )rZ   rN   s     ra   
set_indentFormat.set_indent  r   rc   rO   c                     Xl         g)zp
Set the Format shrink property.

Args:
    shrink: Default is True, turns property on.

Returns:
    Nothing.

N)rO   )rZ   rO   s     ra   
set_shrinkFormat.set_shrink  r   rc   r6   c                     Xl         g)z~
Set the Format text_justlast property.

Args:
    text_justlast: Default is True, turns property on.

Returns:
    Nothing.

N)r6   )rZ   r6   s     ra   set_text_justlastFormat.set_text_justlast  
     +rc   r:   c                     Xl         g)zh
Set the Format pattern property.

Args:
    pattern: Default is 1, solid fill.

Returns:
    Nothing.

N)r:   )rZ   r:   s     ra   set_patternFormat.set_pattern  s	     rc   r9   c                 :    [         R                  " U5      U l        g)zn
Set the Format bg_color property.

Args:
    bg_color: Background color. No default.

Returns:
    Nothing.

N)r   rv   r9   )rZ   r9   s     ra   set_bg_colorFormat.set_bg_color       ))(3rc   r8   c                 :    [         R                  " U5      U l        g)zn
Set the Format fg_color property.

Args:
    fg_color: Foreground color. No default.

Returns:
    Nothing.

N)r   rv   r8   )rZ   r8   s     ra   set_fg_colorFormat.set_fg_color  r   rc   stylec                     U R                  U5        U R                  U5        U R                  U5        U R                  U5        gzi
Set the Format bottom property.

Args:
    bottom: Default is 1, border type 1.

Returns:
    Nothing.

N)
set_bottomset_topset_left	set_right)rZ   r   s     ra   
set_borderFormat.set_border	  s4     	Ueurc   colorc                     U R                  U5        U R                  U5        U R                  U5        U R                  U5        g)ze
Set the Format bottom property.

Args:
    color: Color string. No default.

Returns:
    Nothing.

N)set_bottom_colorset_top_colorset_left_colorset_right_color)rZ   r   s     ra   set_border_colorFormat.set_border_color  s<     	e$5!E"U#rc   rC   c                     Xl         gr   )rC   )rZ   rC   s     ra   r   Format.set_bottom*  r   rc   rD   c                 :    [         R                  " U5      U l        g)zr
Set the Format bottom_color property.

Args:
    bottom_color: Color string. No default.

Returns:
    Nothing.

N)r   rv   rD   )rZ   rD   s     ra   r   Format.set_bottom_color7  s     "--l;rc   rG   )r   r   r   c                     Xl         g)zo
Set the Format diag_type property.

Args:
    diag_type: Default is 1, border type 1.

Returns:
    Nothing.

N)rG   )rZ   rG   s     ra   set_diag_typeFormat.set_diag_typeD  rs   rc   rH   c                     Xl         g)ze
Set the Format left property.

Args:
    left: Default is 1, border type 1.

Returns:
    Nothing.

N)rH   )rZ   rH   s     ra   r   Format.set_leftQ  r~   rc   rI   c                 :    [         R                  " U5      U l        g)zn
Set the Format left_color property.

Args:
    left_color: Color string. No default.

Returns:
    Nothing.

N)r   rv   rI   )rZ   rI   s     ra   r   Format.set_left_color^  rz   rc   rJ   c                     Xl         g)zg
Set the Format right property.

Args:
    right: Default is 1, border type 1.

Returns:
    Nothing.

N)rJ   )rZ   rJ   s     ra   r   Format.set_rightk  	     
rc   rK   c                 :    [         R                  " U5      U l        g)zp
Set the Format right_color property.

Args:
    right_color: Color string. No default.

Returns:
    Nothing.

N)r   rv   rK   )rZ   rK   s     ra   r   Format.set_right_colorx  s     !,,[9rc   rL   c                     Xl         g)zc
Set the Format top property.

Args:
    top: Default is 1, border type 1.

Returns:
    Nothing.

N)rL   )rZ   rL   s     ra   r   Format.set_top  s	     rc   rM   c                 :    [         R                  " U5      U l        g)zl
Set the Format top_color property.

Args:
    top_color: Color string. No default.

Returns:
    Nothing.

N)r   rv   rM   )rZ   rM   s     ra   r   Format.set_top_color  s     **95rc   rF   c                 :    [         R                  " U5      U l        g)zn
Set the Format diag_color property.

Args:
    diag_color: Color string. No default.

Returns:
    Nothing.

N)r   rv   rF   )rZ   rF   s     ra   set_diag_colorFormat.set_diag_color  rz   rc   rE   c                     Xl         g)zs
Set the Format diag_border property.

Args:
    diag_border: Default is 1, border type 1.

Returns:
    Nothing.

N)rE   )rZ   rE   s     ra   set_diag_borderFormat.set_diag_border  r   rc   rU   c                     Xl         g)z|
Set the Format quote prefix property.

Args:
    quote_prefix: Default is True, turns property on.

Returns:
    Nothing.

N)rU   )rZ   rU   s     ra   set_quote_prefixFormat.set_quote_prefix  r   rc   rV   c                     Xl         g)a{  
Set the Format property to show a checkbox in a cell.

This format property can be used with a cell that contains a boolean
value to display it as a checkbox. This property isn't required very
often and it is generally easier to create a checkbox using the
``worksheet.insert_checkbox()`` method.

Args:
    checkbox: Default is True, turns property on.

Returns:
    Nothing.

N)rV   )rZ   rV   s     ra   set_checkboxFormat.set_checkbox  s	      !rc   r   c                     Xl         g)z
Set the property to indicate the format has a font.

Args:
    has_font: Default is True, turns property on.

Returns:
    Nothing.

N)r   )rZ   r   s     ra   set_has_fontFormat.set_has_font  	     !rc   r;   c                     Xl         g)z
Set the property to indicate the format has a fill.

Args:
    has_fill: Default is True, turns property on.

Returns:
    Nothing.

N)r;   )rZ   r;   s     ra   set_has_fillFormat.set_has_fill  r  rc   r   c                     Xl         g)zk
Set the unique font index property.

Args:
    font_index: The unique font index.

Returns:
    Nothing.

N)r   )rZ   r   s     ra   set_font_indexFormat.set_font_index  r   rc   r   c                     Xl         g)zs
Set the unique format index property.

Args:
    xf_index: The unique Excel format index.

Returns:
    Nothing.

N)r   )rZ   r   s     ra   set_xf_indexFormat.set_xf_index  r  rc   r   c                     Xl         g)z
Set the unique conditional format index property.

Args:
    dxf_index: The unique Excel conditional format index.

Returns:
    Nothing.

N)r   )rZ   r   s     ra   set_dxf_indexFormat.set_dxf_index  rs   rc   r   c                     Xl         g)z|
Set the number format_index property.

Args:
    num_format_index: The unique number format index.

Returns:
    Nothing.

N)r   )rZ   r   s     ra   set_num_format_indexFormat.set_num_format_index   s
     !1rc   r3   c                     Xl         g)zy
Set the horizontal text alignment property.

Args:
    text_h_align: Horizontal text alignment.

Returns:
    Nothing.

N)r3   )rZ   r3   s     ra   r   Format.set_text_h_align-  r   rc   r5   c                     Xl         g)zu
Set the vertical text alignment property.

Args:
    text_h_align: Vertical text alignment.

Returns:
    Nothing.

N)r5   )rZ   r5   s     ra   r   Format.set_text_v_align:  r   rc   	directionc                     Xl         g)zl
Set the reading order property.

Args:
    direction: Default is 0, left to right.

Returns:
    Nothing.

N)rQ   )rZ   r!  s     ra   set_reading_orderFormat.set_reading_orderG  s
     'rc   alignc                 &    U R                  U5        g)z
Set vertical cell alignment property.

This is required by the constructor properties dict to differentiate
between the vertical and horizontal properties.

Args:
    align: Alignment property.

Returns:
    Nothing.

N)r   )rZ   r%  s     ra   
set_valignFormat.set_valignU  s    L 	urc   r)   c                     Xl         g)zc
Set the font family property.

Args:
    font_family: Font family number.

Returns:
    Nothing.

N)r)   )rZ   r)   s     ra   set_font_familyFormat.set_font_family}  r   rc   r*   c                     Xl         g)zv
Set the font character set property.

Args:
    font_charset: The font character set number.

Returns:
    Nothing.

N)r*   )rZ   r*   s     ra   set_font_charsetFormat.set_font_charset  r   rc   r+   c                     Xl         g)z`
Set the font scheme property.

Args:
    font_scheme: The font scheme.

Returns:
    Nothing.

N)r+   )rZ   r+   s     ra   set_font_schemeFormat.set_font_scheme  r   rc   r,   c                     Xl         g)zo
Set the font condense property.

Args:
    font_condense: The font condense property.

Returns:
    Nothing.

N)r,   )rZ   r,   s     ra   set_font_condenseFormat.set_font_condense  r   rc   r-   c                     Xl         g)zi
Set the font extend property.

Args:
    font_extend: The font extend property.

Returns:
    Nothing.

N)r-   )rZ   r-   s     ra   set_font_extendFormat.set_font_extend  r   rc   r.   c                     Xl         g)zQ
Set the theme property.

Args:
    theme: Format theme.

Returns:
    Nothing.

N)r.   )rZ   r.   s     ra   	set_themeFormat.set_theme  r   rc   r/   c                 b    SU l         U R                  S5        U R                  S5        Xl        g)z
Set the properties for the hyperlink style.

Args:
    hyperlink: Default is True, turns property on.

Returns:
    Nothing.

r   
   N)r0   r   r9  r/   )rZ   r/   s     ra   set_hyperlinkFormat.set_hyperlink  s*     
1r"rc   color_index)r   r   c                     Xl         g)z
Set the color index property. Some fundamental format properties use an
indexed color instead of a rbg or theme color.

Args:
    color_index: Generally 0 or 1.

Returns:
    Nothing.

N)rS   )rZ   r?  s     ra   set_color_indexedFormat.set_color_indexed  s
     )rc   rT   c                     Xl         g)z
Set property to indicate that the format is used for fonts only.

Args:
    font_only: Default is True, turns property on.

Returns:
    Nothing.

N)rT   )rZ   rT   s     ra   set_font_onlyFormat.set_font_only  rs   rc   r"   c                     Xl         g)z(Deprecated: Use set_font_name() instead.Nrj   rk   s     ra   set_fontFormat.set_font      "rc   c                     Xl         g)z(Deprecated: Use set_font_size() instead.Nro   rp   s     ra   set_sizeFormat.set_size  rI  rc   c                 :    [         R                  " U5      U l        g)z)Deprecated: Use set_font_color() instead.Nru   rw   s     ra   	set_colorFormat.set_color  s    ++J7rc   c                    Sn/ nU R                   (       df  U R                  (       dU  U R                  (       dD  U R                  (       d3  U R                  (       d"  U R
                  (       d  U R                  (       a  SnOX4$ U R                  (       ag  U R                   S:w  aW  U R                   S:w  aG  U R                   S:w  a7  U R                  S:w  a'  U R                  S:w  a  U R                  S:w  a  SU l         U R                  (       a  SU l        U R                   S:X  a  SU l        U R                   S:X  a  SU l        U R                   S:X  a  SU l        U R                   S:w  a  SU l        U R                  (       a  SU l        SnU R                   S:X  a  UR                  S5        U R                   S	:X  a  UR                  S
5        U R                   S:X  a  UR                  S5        U R                   S:X  a  UR                  S5        U R                   S:X  a  UR                  S5        U R                   S:X  a  UR                  SU45        U R                   S:X  a  UR                  S5        U R                  (       a  UR                  S5        U R                  S:X  a  UR                  S5        U R                  S	:X  a  UR                  S5        U R                  S:X  a  UR                  S5        U R                  S:X  a  UR                  S5        U R                  (       a  UR                  SU R                  45        U R                  (       a  UR                  SU R                  45        U R                  (       a  UR                  S5        U R
                  (       a  UR                  S5        U R                  S:X  a  UR                  S5        U R                  S	:X  a  UR                  S5        X4$ )Nr   r   r   r   r   r   centerContinuous)
horizontalrH   r   )rR  r   )rR  rJ   )rR  r   )rR  r   r   rR  )rR  r   )justifyLastLiner   )verticalrL   )rT  r   )rT  r   )rT  r   textRotationrN   )wrapTextr   )shrinkToFitr   )readingOrderr   )rX  r   )	r3   r5   rN   r7   r4   rO   rQ   rR   append)rZ   changedr%  
continuouss       ra   _get_align_propertiesFormat._get_align_properties  s       {{}}~~{{!!G>! KK!!Q&!!Q&!!Q&!!Q&!!Q&!!Q& !D >>DK!DK!DK!DK! !D;; !D'
!LL/0!LL12!LL01!LL/0!LL23!LL,
34!LL67LL/0 !LL,-!LL/0!LL01!LL45==LL.$--89;;LL(DKK01>>LL);;LL+,"LL,-"LL,-~rc   c                     / nU R                   (       d  UR                  S5        U R                  (       a  UR                  S5        U$ )N)r2   r   )r1   r   )r2   rY  r1   )rZ   
attributess     ra   _get_protection_properties!Format._get_protection_propertiesl  s7    
{{m,;;m,rc   c                 T   U R                   c  SR                  S U R                  5       U R                  5       U R	                  5       U R                  5       U R                  U R                  U R                  U R                  U R                  4	 5       5      U l         U R                   $ )N:c              3   8   #    U  H  n[        U5      v   M     g 7fNstr.0xs     ra   	<genexpr>)Format._get_format_key.<locals>.<genexpr>z  s!      (
A A
   )rY   join_get_font_key_get_border_key_get_fill_key_get_alignment_keyr   r2   rV   rU   r1   rf   s    ra   _get_format_keyFormat._get_format_keyw  s    #"xx ( &&(((*&&(++-OOKKMM%%KK
(  D rc   c                 T   SR                  S U R                  U R                  U R                  U R                  U R
                  U R                  U R                  U R                  U R                  U R                  U R                  U R                  U R                  4 5       5      nU$ )Nrc  c              3   8   #    U  H  n[        U5      v   M     g 7fre  rf  rh  s     ra   rk  'Format._get_font_key.<locals>.<genexpr>  s!      
 FFrm  )rn  r   r$   r*   r)   r&   r(   r'   r%   r"   r!   r#   r    r.   rZ   r^   s     ra   ro  Format._get_font_key  s    hh 
 		!!  !!    ##


 
& 
rc   c                 (   SR                  S U R                  U R                  U R                  U R                  U R
                  U R                  U R                  U R                  U R                  U R                  U R                  4 5       5      nU$ )Nrc  c              3   8   #    U  H  n[        U5      v   M     g 7fre  rf  rh  s     ra   rk  )Format._get_border_key.<locals>.<genexpr>  s!      
 FFrm  )rn  rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rx  s     ra   rp  Format._get_border_key  s{    hh 
 !!  		

  
 
" 
rc   c                 x    SR                  S U R                  U R                  U R                  4 5       5      nU$ )Nrc  c              3   8   #    U  H  n[        U5      v   M     g 7fre  rf  rh  s     ra   rk  'Format._get_fill_key.<locals>.<genexpr>  s     T'S!s1vv'Srm  )rn  r:   r9   r8   rx  s     ra   rq  Format._get_fill_key  s.    hhTdmmT]]'STT
rc   c           
          SR                  S U R                  U R                  U R                  U R                  U R
                  U R                  U R                  4 5       5      nU$ )Nrc  c              3   8   #    U  H  n[        U5      v   M     g 7fre  rf  rh  s     ra   rk  ,Format._get_alignment_key.<locals>.<genexpr>  s!      
 FFrm  )rn  r3   r5   rN   r7   r4   rO   rQ   rx  s     ra   rr  Format._get_alignment_key  sa     hh 
 !!!!""
 
 
rc   c                     U R                   b  U R                   $ U R                  5       nXR                  ;   a  U R                  U   $ S[        U R                  5      -   nX R                  U'   X l         U$ )Nr   )r   rs  r   lenrZ   r^   indexs      ra   _get_xf_indexFormat._get_xf_index  sr    ==$==  ""$((())#.. C..//&+s#rc   c                     U R                   b  U R                   $ U R                  5       nXR                  ;   a  U R                  U   $ [        U R                  5      nX R                  U'   X l         U$ re  )r   rs  r   r  r  s      ra   _get_dxf_indexFormat._get_dxf_index  sm    >>%>>! ""$)))**3// D++,',$rc   )BrY   r9   r   rB   r?   rC   rD   rV   rS   rE   rF   rG   r   r   r8   r>   r=   r*   r$   r,   r-   r)   r   r"   rT   r&   r+   r(   r'   r#   r%   r@   rA   r<   r   r;   r   r1   r/   rN   r!   rR   rH   rI   r2   rP   r   r   r:   rU   rQ   rJ   rK   r7   rO   r3   r6   r5   r4   r.   rL   rM   r    r   r0   r   )NNN)r   N)r   )T)r   re  )r   Nr   N)r   )T__name__
__module____qualname____firstlineno____doc__r   rg  rg   rl   r   rq   r   r   rx   boolr|   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   r   r  r  r  r  r  r  r  r  r  r   r   r#  r'  r*  r-  r0  r3  r6  r9  r=  rA  rD  rG  rK  rN  r\  r`  rs  ro  rp  rq  rr  r  r  __static_attributes____classcell__)r`   s   @ra   r
   r
      s:   Y  Y v
# 
8##s #D #8sEz): 8t 8T T   #w|'< #T #- - -'74= ' ')T )T )'4 '4 '% % %    F%
F%* 
+F%P	!#t #t #!S !T !2 T   +t +t +3 t 4U3:%6 44 44U3:%6 44 4 D "$eCJ&7 $D $  T <U3:-> <4 <#ww'7 # #S  8sEz): 8t 8s 4 :5e+< : :3 t 6uS%Z'8 6T 68sEz): 8t 8'3 't ')T )T )!T !T !2!T !T !!T !T !% % %!S !T !#s #t #1S 1T 1)S )T ))S )T )'3 't '&
&* 
+&P'3 '4 ')S )T )'3 '4 '+s +t +'3 '4 's t #t #t # )WT] )t )#t #t #"## #$ ### #$ #8E%*$5 8$ 8^@	 (.*$( rc   r
   N)typingr   r   warningsr   xlsxwriter.colorr    r   	XMLwriterr
    rc   ra   <module>r     s'    "  " aY   arc   