
    hv                     R    S SK Jr  S SKJr  SSKJr   " S S\R                  5      rg)    )warn)Color   )	xmlwriterc                   L  ^  \ rS rSrSrSKU 4S jjrS rS rSLS jrS r	SMS jr
SMS	 jrSNS
 jrSMS jrSNS jrSMS jrSMS jrS rSMS jrSMS jrS rSOS jrSMS jrS rSNS jrSMS jrSMS jrSNS jrS rS rSNS jrS rSNS jr S r!SNS  jr"SNS! jr#S" r$SNS# jr%S$ r&SNS% jr'S& r(S' r)SNS( jr*SMS) jr+SMS* jr,SMS+ jr-SMS, jr.S- r/S. r0S/ r1S0 r2S1 r3S2 r4SPS3 jr5S4 r6S5 r7S6 r8S7 r9S8 r:S9 r;S: r<SMS; jr=S< r>SMS= jr?S> r@S? rAS@ rBSA rCSB rDSC rESD rFSE rGSF rHSG rISH rJSI rKSJrLU =rM$ )QFormat   z3
A class for writing the Excel XLSX Format file.


c                    > 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         dC:\Users\julio\OneDrive\Documentos\Trabajo\Ideas Frescas\venv\Lib\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   r0   r2   r5   r6   r7   r/   r.   rW   s    r^   __repr__Format.__repr__z   s    
* +( )II; kk] #( )//* +//, - --. / --. / ' '||n %kk] #kk]!%	
r`   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   rW   r   s     r^   set_font_nameFormat.set_font_name   s	     #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    rW   r    s     r^   set_font_sizeFormat.set_font_size   	     #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!   rW   r!   s     r^   set_font_colorFormat.set_font_color         ++J7r`   c                     Xl         g)zl
Set the Format bold property.

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

Returns:
    Nothing.

N)r   )rW   r   s     r^   set_boldFormat.set_bold   	     	r`   c                     Xl         g)zp
Set the Format italic property.

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

Returns:
    Nothing.

N)r   )rW   r   s     r^   
set_italicFormat.set_italic   	     r`   c                     Xl         g)zr
Set the Format underline property.

Args:
    underline: Default is 1, single underline.

Returns:
    Nothing.

N)r   )rW   r   s     r^   set_underlineFormat.set_underline   rp   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"   )rW   r"   s     r^   set_font_strikeoutFormat.set_font_strikeout   s
     -r`   c                     Xl         g)zq
Set the Format font_script property.

Args:
    font_script: Default is 1, superscript.

Returns:
    Nothing.

N)r%   )rW   r%   s     r^   set_font_scriptFormat.set_font_script   
     '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#   )rW   r#   s     r^   set_font_outlineFormat.set_font_outline   
     )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$   )rW   r$   s     r^   set_font_shadowFormat.set_font_shadow  r   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   )rW   r   s     r^   set_num_formatFormat.set_num_format  	     %r`   c                     Xl         g)zp
Set the Format locked property.

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

Returns:
    Nothing.

N)r/   )rW   r/   s     r^   
set_lockedFormat.set_locked&  r   r`   c                     Xl         g)zp
Set the Format hidden property.

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

Returns:
    Nothing.

N)r.   )rW   r.   s     r^   
set_hiddenFormat.set_hidden3  r   r`   c                     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.
rE   r   centrer   centerrG      fill   justify   center_across   centre_acrossdistributed   justify_distributedrI   vcentrevcenterr@   vjustifyvdistributedN)lowerset_text_h_alignrO   set_text_v_align)rW   	alignments     r^   	set_alignFormat.set_align@  s    OO%	 !!!$ !!!$ !!!$!!!$!!!$	!!!!$'!!!$'!!!$%!!!$--!!!$-- !D !!!$	!!!!$	!!!!$ !!!$
"!!!$&!!!$ 'r`   c                 &    U R                  S5        g)z@
Set the Format center_across property.

Returns:
    Nothing.

r   N)r   )rW   
align_types     r^   set_center_acrossFormat.set_center_acrosss  s     	a r`   c                     Xl         g)zv
Set the Format text_wrap property.

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

Returns:
    Nothing.

N)r1   )rW   r1   s     r^   set_text_wrapFormat.set_text_wrap~  rp   r`   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   r4   )rW   r4   s     r^   set_rotationFormat.set_rotation  sL     x= s?HH""!|$9r>FG r`   c                     Xl         g)zs
Set the Format indent property.

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

Returns:
    Nothing.

N)rK   )rW   rK   s     r^   
set_indentFormat.set_indent  r   r`   c                     Xl         g)zp
Set the Format shrink property.

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

Returns:
    Nothing.

N)rL   )rW   rL   s     r^   
set_shrinkFormat.set_shrink  r   r`   c                     Xl         g)z~
Set the Format text_justlast property.

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

Returns:
    Nothing.

N)r3   )rW   r3   s     r^   set_text_justlastFormat.set_text_justlast  
     +r`   c                     Xl         g)zh
Set the Format pattern property.

Args:
    pattern: Default is 1, solid fill.

Returns:
    Nothing.

N)r7   )rW   r7   s     r^   set_patternFormat.set_pattern  s	     r`   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   rs   r6   )rW   r6   s     r^   set_bg_colorFormat.set_bg_color       ))(3r`   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   rs   r5   )rW   r5   s     r^   set_fg_colorFormat.set_fg_color  r   r`   c                     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)rW   styles     r^   
set_borderFormat.set_border  s4     	Ueur`   c                     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)rW   colors     r^   set_border_colorFormat.set_border_color  s<     	e$5!E"U#r`   c                     Xl         gr   )r@   )rW   r@   s     r^   r   Format.set_bottom  r   r`   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   rs   rA   )rW   rA   s     r^   r   Format.set_bottom_color!  s     "--l;r`   c                     Xl         g)zo
Set the Format diag_type property.

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

Returns:
    Nothing.

N)rD   )rW   rD   s     r^   set_diag_typeFormat.set_diag_type.  rp   r`   c                     Xl         g)ze
Set the Format left property.

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

Returns:
    Nothing.

N)rE   )rW   rE   s     r^   r   Format.set_left;  r{   r`   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   rs   rF   )rW   rF   s     r^   r   Format.set_left_colorH  rw   r`   c                     Xl         g)zg
Set the Format right property.

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

Returns:
    Nothing.

N)rG   )rW   rG   s     r^   r   Format.set_rightU  	     
r`   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   rs   rH   )rW   rH   s     r^   r   Format.set_right_colorb  s     !,,[9r`   c                     Xl         g)zc
Set the Format top property.

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

Returns:
    Nothing.

N)rI   )rW   rI   s     r^   r   Format.set_topo  s	     r`   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   rs   rJ   )rW   rJ   s     r^   r   Format.set_top_color|  s     **95r`   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   rs   rC   )rW   rC   s     r^   set_diag_colorFormat.set_diag_color  rw   r`   c                     Xl         g)zs
Set the Format diag_border property.

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

Returns:
    Nothing.

N)rB   )rW   rB   s     r^   set_diag_borderFormat.set_diag_border  r   r`   c                     Xl         g)z|
Set the Format quote prefix property.

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

Returns:
    Nothing.

N)rR   )rW   rR   s     r^   set_quote_prefixFormat.set_quote_prefix  r   r`   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)rS   )rW   rS   s     r^   set_checkboxFormat.set_checkbox  s	      !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   )rW   r   s     r^   set_has_fontFormat.set_has_font  	     !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)r8   )rW   r8   s     r^   set_has_fillFormat.set_has_fill  r  r`   c                     Xl         g)zk
Set the unique font index property.

Args:
    font_index: The unique font index.

Returns:
    Nothing.

N)r   )rW   r   s     r^   set_font_indexFormat.set_font_index  r   r`   c                     Xl         g)zs
Set the unique format index property.

Args:
    xf_index: The unique Excel format index.

Returns:
    Nothing.

N)r   )rW   r   s     r^   set_xf_indexFormat.set_xf_index  r  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   )rW   r   s     r^   set_dxf_indexFormat.set_dxf_index  rp   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   )rW   r   s     r^   set_num_format_indexFormat.set_num_format_index
  s
     !1r`   c                     Xl         g)zy
Set the horizontal text alignment property.

Args:
    text_h_align: Horizontal text alignment.

Returns:
    Nothing.

N)r0   )rW   r0   s     r^   r   Format.set_text_h_align  r   r`   c                     Xl         g)zu
Set the vertical text alignment property.

Args:
    text_h_align: Vertical text alignment.

Returns:
    Nothing.

N)r2   )rW   r2   s     r^   r   Format.set_text_v_align$  r   r`   c                     Xl         g)zl
Set the reading order property.

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

Returns:
    Nothing.

N)rN   )rW   	directions     r^   set_reading_orderFormat.set_reading_order1  s
     'r`   c                 &    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   )rW   aligns     r^   
set_valignFormat.set_valign?  s    " 	ur`   c                     Xl         g)zc
Set the font family property.

Args:
    font_family: Font family number.

Returns:
    Nothing.

N)r&   )rW   r&   s     r^   set_font_familyFormat.set_font_familyR  r   r`   c                     Xl         g)zv
Set the font character set property.

Args:
    font_charset: The font character set number.

Returns:
    Nothing.

N)r'   )rW   r'   s     r^   set_font_charsetFormat.set_font_charset_  r   r`   c                     Xl         g)z`
Set the font scheme property.

Args:
    font_scheme: The font scheme.

Returns:
    Nothing.

N)r(   )rW   r(   s     r^   set_font_schemeFormat.set_font_schemel  r   r`   c                     Xl         g)zo
Set the font condense property.

Args:
    font_condense: The font condense property.

Returns:
    Nothing.

N)r)   )rW   r)   s     r^   set_font_condenseFormat.set_font_condensey  r   r`   c                     Xl         g)zi
Set the font extend property.

Args:
    font_extend: The font extend property.

Returns:
    Nothing.

N)r*   )rW   r*   s     r^   set_font_extendFormat.set_font_extend  r   r`   c                     Xl         g)zQ
Set the theme property.

Args:
    theme: Format theme.

Returns:
    Nothing.

N)r+   )rW   r+   s     r^   	set_themeFormat.set_theme  r   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)r-   r   r4  r,   )rW   r,   s     r^   set_hyperlinkFormat.set_hyperlink  s*     
1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)rP   )rW   color_indexs     r^   set_color_indexedFormat.set_color_indexed  s
     )r`   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)rQ   )rW   rQ   s     r^   set_font_onlyFormat.set_font_only  rp   r`   c                     Xl         g)z(Deprecated: Use set_font_name() instead.Nrg   rh   s     r^   set_fontFormat.set_font      "r`   c                     Xl         g)z(Deprecated: Use set_font_size() instead.Nrl   rm   s     r^   set_sizeFormat.set_size  rD  r`   c                 :    [         R                  " U5      U l        g)z)Deprecated: Use set_font_color() instead.Nrr   rt   s     r^   	set_colorFormat.set_color  s    ++J7r`   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)
horizontalrE   r   )rM  r   )rM  rG   )rM  r   )rM  r   r   rM  )rM  r   )justifyLastLiner   )verticalrI   )rO  r   )rO  r   )rO  r   textRotationrK   )wrapTextr   )shrinkToFitr   )readingOrderr   )rS  r   )	r0   r2   rK   r4   r1   rL   rN   rO   append)rW   changedr!  
continuouss       r^   _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,-~r`   c                     / nU R                   (       d  UR                  S5        U R                  (       a  UR                  S5        U$ )N)r/   r   )r.   r   )r/   rT  r.   )rW   
attributess     r^   _get_protection_properties!Format._get_protection_propertiesA  s7    
{{m,;;m,r`   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     r^   	<genexpr>)Format._get_format_key.<locals>.<genexpr>O  s!      (
A A
   )rV   join_get_font_key_get_border_key_get_fill_key_get_alignment_keyr   r/   rS   rR   r.   rc   s    r^   _get_format_keyFormat._get_format_keyL  s    #"xx ( &&(((*&&(++-OOKKMM%%KK
(  D r`   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$ )Nr^  c              3   8   #    U  H  n[        U5      v   M     g 7fr`  ra  rc  s     r^   rf  'Format._get_font_key.<locals>.<genexpr>b  s!      
 FFrh  )ri  r   r!   r'   r&   r#   r%   r$   r"   r   r   r    r   r+   rW   r[   s     r^   rj  Format._get_font_key`  s    hh 
 		!!  !!    ##


 
& 
r`   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$ )Nr^  c              3   8   #    U  H  n[        U5      v   M     g 7fr`  ra  rc  s     r^   rf  )Format._get_border_key.<locals>.<genexpr>y  s!      
 FFrh  )ri  r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rs  s     r^   rk  Format._get_border_keyw  s{    hh 
 !!  		

  
 
" 
r`   c                 x    SR                  S U R                  U R                  U R                  4 5       5      nU$ )Nr^  c              3   8   #    U  H  n[        U5      v   M     g 7fr`  ra  rc  s     r^   rf  'Format._get_fill_key.<locals>.<genexpr>  s     T'S!s1vv'Srh  )ri  r7   r6   r5   rs  s     r^   rl  Format._get_fill_key  s.    hhTdmmT]]'STT
r`   c           
          SR                  S U R                  U R                  U R                  U R                  U R
                  U R                  U R                  4 5       5      nU$ )Nr^  c              3   8   #    U  H  n[        U5      v   M     g 7fr`  ra  rc  s     r^   rf  ,Format._get_alignment_key.<locals>.<genexpr>  s!      
 FFrh  )ri  r0   r2   rK   r4   r1   rL   rN   rs  s     r^   rm  Format._get_alignment_key  sa     hh 
 !!!!""
 
 
r`   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   rn  r   lenrW   r[   indexs      r^   _get_xf_indexFormat._get_xf_index  sr    ==$==  ""$((())#.. C..//&+s#r`   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$ r`  )r   rn  r   r  r  s      r^   _get_dxf_indexFormat._get_dxf_index  sm    >>%>>! ""$)))**3// D++,',$r`   )BrV   r6   r   r?   r<   r@   rA   rS   rP   rB   rC   rD   r   r   r5   r;   r:   r'   r!   r)   r*   r&   r   r   rQ   r#   r(   r%   r$   r    r"   r=   r>   r9   r   r8   r   r.   r,   rK   r   rO   rE   rF   r/   rM   r   r   r7   rR   rN   rG   rH   r4   rL   r0   r3   r2   r1   r+   rI   rJ   r   r   r-   r   )NNN)r   )T)r   r`  )r   )N__name__
__module____qualname____firstlineno____doc__r   rd   ri   rn   ru   ry   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+  r.  r1  r4  r8  r<  r?  rB  rF  rI  rW  r[  rn  rj  rk  rl  rm  r  r  __static_attributes____classcell__)r]   s   @r^   r   r      su   Y v
8##8#-')'%1%f	!#!2+44"$ <#8:68')!2!!%!#1))'&')'+'# )#"##8^@	 (.*$( r`   r   N)warningsr   xlsxwriter.colorr    r   	XMLwriterr    r`   r^   <module>r     s$     " wY   wr`   