+
    i                        R t ^ RIHt ^ RIt^ RIHt ^RIHtHtH	t	H
t
HtHtHtHtHtHtHtHtHtHtHtHtHt ^RI5 ^ t]	]]]]]]]]
]/tRPt]R,          tRQt^P]^F]^2]^-]^(]^]^]^]/t. RROtR t RSR lt! ! R	 R
]"4      t# ! R R]]#4      t$R t%R t& ! R R]]#4      t'/ ^ Rb^Rb^Rb^Rb^Rb^Rb^Rb^Rb^Rb^	Rb^
Rb^Rb^Rb^Rb^Rb^R b^R!b/ ^R"b^R#b^R$b^R%b^R&b^R'b^%R(b^&R)b^'R*b^(R+b^)R,b^*R-b^+R.b^,R/b^-R0b^.R1b^/R2bC^0R3^1R4/Ct(^ ^ ]3^^]	3^^]3^^$]3^%^,]	3^-^/]3^0^0]	3^1^1]
3^2^:]3^;^>]	3^C^F]	3^G^Q]3.t)/ t*]) F#  w  t+t,t-].! ]+],^,           4       F  t/]-]*]/&   K
  	  K%  	  A+A,A-A/]0! R54      t1/ t2]1]1Pg                  4       ,            F  t4^]2]4&   K
  	  A4A1/ t5]0! R64       F  t4^]5]4&   K
  	  ]0! R4      ^]0! R74      ^]0! R84      ^/t6]0! R4      ^]0! R34      ^]0! R4      ^]0! R94      ^]0! R:4      ^]0! R44      ^/t7]Pp                  ! R;4      Pr                  t:R< t;]3R= lt<R> t=R? t>R@ t?RA t@RB tARC tBRD tCRE tD ! RF RG]]#4      tE ! RH RI]]#4      tF ! RJ RK]]#4      tG ! RL RM]]#4      tH ! RN RO]4      tIR# )Tz$
Module for formatting information.
)print_functionN)unpack)FDTFGEFNUFTXFUNXL_CELL_DATEXL_CELL_NUMBERXL_CELL_TEXT	XL_FORMAT
XL_FORMAT2
BaseObject	XLRDErrorfprintfunpack_stringunpack_unicodeupkbitsupkbitsL)*:N   Nc                    / V n         / V n        V P                  '       g   R # \        ^4       F  p\        V,          V P                   V&   K  	  \
        V P                  ,          p\        V4      p\        V4       F  pW!,          V P                   V^,           &   K!  	  R V P                   V^,           &   R V P                   V^,           ^,           &   R V P                   ^Q&   R V P                   R&   R # )N  )
colour_mapcolour_indexes_usedformatting_infoxrangeexcel_default_palette_b8default_palettebiff_versionlen)bookidpalndpals   &   X/Users/mibo/.openclaw/workspace/.venv-ak/lib/python3.14/site-packages/xlrd/formatting.pyinitialise_colour_mapr&   i   s    DO!DAY5a8  4,,-DIEE]#w!   $DOOE!G!%DOOE!GAI DOOD"DOOF    c                    Rp^ pV P                  4        FR  w  rVVf   K  ^ p\        W4       F!  w  rWxV	,
          W,
          ,          ,          pK#  	  Ws8  g   KE  TpTpV^ 8X  g   KR   M	   T# )z
General purpose function. Uses Euclidean distance.
So far used only for pre-BIFF8 ``WINDOW2`` record.
Doesn't have to be fast.
Doesn't have to be fancy.
i   )itemszipprint)
r   rgbdebugbest_metricbest_colourxcolourxcand_rgbmetricv1v2s
   &&&       r%   nearest_colour_indexr5      s}      KL'--/#(FBBw27++F ) K"L{ 0 	 r'   c                   0   a  ] tR t^t o RtR tR tRtV tR# )	EqNeAttrsz
This mixin class exists solely so that :class:`Format`, :class:`Font`, and
:class:`XF` objects can be compared by value of their attributes.
c                4    V P                   VP                   8H  # N__dict__selfothers   &&r%   __eq__EqNeAttrs.__eq__       }}..r'   c                4    V P                   VP                   8g  # r9   r:   r<   s   &&r%   __ne__EqNeAttrs.__ne__   rA   r'    N)	__name__
__module____qualname____firstlineno____doc__r?   rC   __static_attributes____classdictcell____classdict__s   @r%   r7   r7      s     
// /r'   r7   c                   b    ] tR t^tRt^ t^ t^ t^ t^ t	^ t
^ t^ t]! R4      t^ t^ t^ tRt^ t^ tRtR# )Fontz
An Excel "font" contains the details of not only what is normally
considered a font, but also several other display attributes.
Items correspond to those in the Excel UI's Format -> Cells -> Font tab.

.. versionadded:: 0.6.1
   rE   N)rF   rG   rH   rI   rJ   boldcharacter_setcolour_index
escapementfamily
font_indexheightitalicUNICODE_LITERALname
struck_outunderline_type
underlinedweightoutlineshadowrK   rE   r'   r%   rP   rP      su     D0 M L J F J F F 2D J N J F G Fr'   rP   c                     V P                   '       g   R # \        RV4      ^ ,          V P                  R,          n        R # )N<H)r   r   	font_listrU   )r!   datas   &&r%   handle_efontrh     s.    &,T4&8&;DNN2#r'   c           	         V P                   '       g   R # V P                  '       g   V P                  4        \        ;'       g    V P                  ^8  pV P
                  p\        V P                  4      pV^8X  dE   \        4       p\        R4      Vn
        WEn        V P                  P                  V4       V^,          p\        4       pWEn        V P                  P                  V4       V^28  d   \        RVR,          4      w  Vn        qen        Vn        Vn        Vn        Vn        Vn        V^,          Vn        V^,          ^,	          Vn        V^,          ^,	          Vn        V^,          ^,	          Vn        V^,          ^,	          Vn        V^ ,          ^,	          Vn        V^P8  d   \7        V^^R7      Vn
        EM\9        V^V P                  ^R7      Vn
        EMV^8  d   \        RVR,          4      w  Vn        qen        V^,          Vn        V^,          ^,	          Vn        V^,          ^,	          Vn        V^,          ^,	          Vn        V^,          ^,	          Vn        V^ ,          ^,	          Vn        \9        V^V P                  ^R7      Vn
        RR.VP*                  ,          Vn        ^ Vn        VP.                  Vn        ^ Vn        ^Vn        M\        R	VR
,          4      w  Vn        pRVn        V^,          Vn        V^,          ^,	          Vn        V^,          ^,	          Vn        V^,          ^,	          Vn        ^ Vn        ^ Vn        \9        V^V P                  ^R7      Vn
        RR.VP*                  ,          Vn        ^ Vn        VP.                  Vn        ^ Vn        ^Vn        V'       d2   VP;                  V P<                  RVP                  ,          RR7       R # R # )Nz
Dummy Fontz	<HHHHHBBB:       Nlenlenz<HHH:rj      NrR   i  z<HH:rj      Nr   z--- handle_font: font[%d] ---z-------------------headerfooter)r   encodingderive_encodingDEBUG	verbosityr   r    rf   rP   r[   r\   rX   appendr   rY   rU   r`   rV   r^   rW   rT   rS   rZ   r_   r]   ra   rb   r   r   dumplogfile)r!   rg   blahbvkfoption_flagss   &&     r%   handle_fontr     s(   ===''DNNa'D			BDNNAAvF .a 	QALNN!	Rx
 ;T
+		
HlNAHL!*AHO! 1$*$q(Q.$q(Q.!B&1,	 2%!+8#D"Q7AF"4T]]1EAF	r17S	1J.,! 1$*$q(Q.$q(Q.!B&1,	 2%!+tQa@:aff%<<!'tCy!9,! 1$*$q(Q.$q(Q.	tQa@:aff%<<	LL2Q\\A( 	 	
 r'   c                   B   a  ] tR tRt o Rt^ t]t]! R4      t	R t
RtV tR# )FormatiO  zP
"Number format" information from a ``FORMAT`` record.

.. versionadded:: 0.6.1
rQ   c                *    Wn         W n        W0n        R # r9   )
format_keytype
format_str)r=   r   tyr   s   &&&&r%   __init__Format.__init__g  s    $	$r'   )r   r   r   N)rF   rG   rH   rI   rJ   r   r   r   r[   r   r   rK   rL   rM   s   @r%   r   r   O  s.      J D !$J% %r'   r   General0z0.00z#,##0z#,##0.00z$#,##0_);($#,##0)z$#,##0_);[Red]($#,##0)z$#,##0.00_);($#,##0.00)z$#,##0.00_);[Red]($#,##0.00)z0%z0.00%z0.00E+00z# ?/?z# ??/??zm/d/yyzd-mmm-yyzd-mmmzmmm-yyz
h:mm AM/PMzh:mm:ss AM/PMzh:mmzh:mm:sszm/d/yy h:mmz#,##0_);(#,##0)z#,##0_);[Red](#,##0)z#,##0.00_);(#,##0.00)z#,##0.00_);[Red](#,##0.00)z'_(* #,##0_);_(* (#,##0);_(* "-"_);_(@_)z*_($* #,##0_);_($* (#,##0);_($* "-"_);_(@_)z/_(* #,##0.00_);_(* (#,##0.00);_(* "-"??_);_(@_)z2_($* #,##0.00_);_($* (#,##0.00);_($* "-"??_);_(@_)zmm:ssz	[h]:mm:sszmm:ss.0z##0.0E+0@ymdhsz$-+/(): #?GENERALgeneralz	\[[^]]*\]c                    ^ pRpV F|  pV^ 8X  d<   V\        R4      8X  d   ^pMKV\        R4      9   d   ^pM8V\        9   d   M,W4,          pM#V^8X  d   V\        R4      8X  d   ^ pM	V^8X  d   ^ p^ Tu;8:  d   ^8:  d   Ky  Q h Q h	  V P                  ^8  d(   \        R\	        V4      ,          V P
                  R7       \        RV4      pV\        9   d   R# ^ pRp^ p^ ;rxV FO  pV\        9   d   V\        V,          ,          pK$  V\        9   d   V\        V,          ,          pKE  WE8X  g   KM  ^pKQ  	  V'       d   V'       g   R# V'       d   V'       g   R# V'       d/   V P                  '       d   \        V P
                  R	WxV4       Wx8  # V'       g*   V P                  '       d   \        V P
                  R
V4       Wx8  # )rj   rQ   "z\_*z+is_date_format_string: reduced format is %sfileF;Tz7WARNING *** is_date_format: ambiguous d=%d n=%d fmt=%r
z/WARNING *** format %r produces constant result
)r[   skip_char_dictrv   r+   REPRry   fmt_bracketed_subnon_date_formatsdate_char_dictnum_char_dictr   )	r!   fmtstatesc	separatorgot_sep
date_count	num_counts	   &&       r%   is_date_format_stringr     s    E
AA:OC((of--n$aZOC((aZEEQ! " ~~;d1gEDLLY"a AEIGJ.++J-q))I^G  )>>>DLLJs, !! >>>DLLB !!r'   c                 ~   ^ pV P                   pV\        8X  d   \        V^4      pV P                  '       g   V P	                  4        ^pV^28  d   \        RVR,          4      ^ ,          pMV P                  pV^8:  d   ^ pV ;P                  ^,          un        V^P8  d   \        V^4      pM\        WV P                  ^R7      pT;'       g    V P                  ^8  pV'       d$   \        V P                  RV P                  WfV4       V P                  V4      p	\        \        .V	,          p
V^8  gv   V^28  go   \        P!                  V\"        4      pV\        8H  pV P                  '       d:   ^ Tu;8  d   ^28  d+   M M'W,          '       d   ^p\        V P                  RWg4       V^8X  d   \        V P                  RV
XW4       \%        WjV4      pV'       d7   VP'                  V P                  RV P                  ^,
          3,          R7       WP(                  V&   V P*                  P-                  V4       R	# )
rj   rd   :rj      Nrl   z)FORMAT: count=%d fmtkey=0x%04x (%d) s=%r
zHWARNING *** Conflict between std format key %d and its format string %r
z2ty: %d; is_date_c: %r; is_date_s: %r; fmt_strg: %rz--- handle_format [%d] ---)rq   N)r   r   minrs   rt   r   actualfmtcountr   r   rv   r   ry   r   r   r   std_format_code_typesgetr   r   rx   
format_mapformat_listrw   )r=   rg   rectyperu   r{   strposfmtkeyunistrgrz   	is_date_sr   std_ty	is_date_cfmtobjs   &&&           r%   handle_formatr     s   E			B*R[===F	Rxd3i(+$$8F1	Rx q)dmmAF''DNNa'D8	: **73I
sI	BC<27 '**637cM	>>>a&o2o93H3HEDLL?! z@	9	/ F(FDLL/43F3Fq3H2KK 	 	M$OOFF#r'   c                    V P                   '       g   R # \        ;'       g    V P                  ^8  p\        RVR,          4      w  pR	V P                  ^28  ,          p\        '       g   V P                  ^8  d   W48w  d   \        V P                  RWC4       MV'       d   \        V P                  RV4       RV,          p^V,          ^,           p\        V4      p^pYgu;8:  d   Wh,           8:  g   M \        RWg3,          4      h\        WQR V 4      p	V P                  . 8X  g   Q h\        V4       F  p
W,          pV^,          pV^,	          ^,          pV^,	          ^,          pV P                  ^V
,           ,          pWV3pV P                  P                  V4       VV P                  ^V
,           &   V'       g   K  VV8w  g   K  \        RWV3,          V P                  R7       K  	  R # )
Nrd   :Nr   Nz9NOTE *** Expected %d colours in PALETTE record, found %d
zPALETTE record with %d colours
z<xx%diz0PALETTE record: expected size %d, actual size %dz%2d: %r -> %rr   )r   8   )r   ru   rv   r   r   r   ry   r    r   palette_recordr   r   rw   r+   )r!   rg   rz   	n_coloursexpected_n_coloursr   expected_sizeactual_size	tolerancecoloursr"   r   redgreenblueold_rgbnew_rgbs   &&               r%   handle_paletter   A  s   ''DNNa'Dd2h'JI!$"3"3r"9:1$)*IH	+ 
.		;
Y
C	MA%Md)KID=+DDJmMiijjS~./G"$$$ IJDqD bD //!A#&t$""7+&!4'!oW(==DLLQ r'   c                 >   V P                    F  pVP                  ^8X  d   K  VP                  pVR8X  d   K+  W P                  9   d   ^V P                  V&   KL  V P
                  '       g   K`  \        R\        V P                  4      V P                  R7       \        V P                  RVP                  VP                  V4       K  	  V P
                  ^8  dD   \        V P                  P                  4       4      p\        RV,          V P                  R7       R# R# )ro   r   zSize of colour table:r   z2*** Font #%d (%r): colour index 0x%04x is unknown
z
Colour indexes used:
%r
N)rf   rX   rU   r   r   rv   r+   r    ry   r   r\   sortedkeys)r!   fontcxuseds   &   r%   palette_epiloguer   e  s     ??a< +,D$$R(^^^)3t+?dllSDLL"WB0  ~~d..3356,t3$,,G r'   c           	      h   V P                   '       g   R # \        ;'       g    V P                  ^8  pV P                  p\	        RVR,          4      w  rEpVR,          pVR8X  d   RV P
                  9  d   ^p^ p^ pRp	^pMVR,          '       d<   ^p\        V,          p	^Tu;8:  d   ^8:  d   M MwV	\        V^,           4      ,          p	M]^ p^ p^ pV^P8  d    \        V^^R7      p	M\        V^V P                  ^R7      p	V'       d    V	'       g   \        RV P                  R	7       W3V P
                  V	&   V'       d   \        V P                  RWWVV	4       R # R #   \         dK    \        RYYV3,          T P                  R	7       \        R
\        TR,          4      T P                  R	7       h i ; i)Nz<HBB:Nro   N  s       Normali   rl   z6STYLE: built_in=%d xf_index=%d built_in_id=%d level=%dr   z
raw bytes::r   NNz7WARNING *** A user-defined style has a zero-length namez?STYLE: built_in=%d xf_index=%d built_in_id=%d level=%d name=%r
)r   ru   rv   r   r   style_name_mapbuilt_in_style_namesstrr   UnicodeDecodeErrorr+   ry   reprr   rs   r   )
r!   rg   rz   r{   flag_and_xfxbuilt_in_idlevelxf_indexbuilt_inr\   s
   &&        r%   handle_styler   y  s   ''DNNa'D			B'-fd2h'?$Luf$H{xt/B/BB 			#K0 q C	N"D 8%dAa8 !q$--BDKRVR^R^_!) 4D`D	:  & N;>?EI\\SlDbNF	s   E AF1c                    \        VP                  P                  4       4      pV F  w  rE\        VR 4      '       d   \	        WV4       K%  VP                  R4      ^ 8  g   K=  WPP                  9   d   ^V P                  V&   K^  VP                  P                  p\        RW&WE3,          V P                  R7       K  	  R# )rx   rU   z&*** xf #%d : %s.%s =  0x%04x (unknown)r   N)r   r;   r)   hasattrcheck_colour_indexes_in_objfindr   r   	__class__rF   r+   ry   )r!   obj
orig_indexalistattrnobjonames   &&&    r%   r   r     s    3<<%%'(E
4  'J?YY~&!+&12((.MM**E:d128<F r'   c                     \         P                  4        FQ  pWP                  9  g   K  \         V,          p\        P	                  V4      p\        WV4      pW@P                  V&   KS  	  R # r9   )r   r   r   std_format_stringsr   r   )r!   xr   fmt_strr   s   &    r%   fill_in_standard_formatsr     sS    "'')OO#&q)B ),,Q/GA7+F!'OOA *r'   c                 6   \         ;'       g    V P                  ^8  pV P                  p\        4       p\	        4       Vn        ^ VP
                  n        ^ VP
                  n        ^ VP
                  n        \        4       Vn
        ^ VP                  n        ^ VP                  n        ^ VP                  n        ^ VP                  n        \        4       Vn        \#        4       Vn        V^28  d   V P&                  '       g   \)        V 4       V^P8  Ed(   Rp\+        WQR,          4      w
  Vn        Vn        pqtP
                  n        prr\3        VP$                  VR4       \3        WFR4       \3        VP
                  VR4       \3        VP
                  VR4       V	^,	          p. ROpV F0  pRV,           R,           p\5        VVV^,          4       V^,          pK2  	  \7        VP                  V
R4       \3        VP                  VR4       \7        VP                   VR4       \3        VP                   VR4       EMzV^28  Ed   Rp\+        WQR,          4      w  Vn        Vn        pppr\3        VP$                  VR4       \3        WFR4       \3        VP
                  VR4       V^,          p. ROV,          VP
                  n        V^,	          p. ROpV F0  pRV,           R,           p\5        VVV^,          4       V^,          pK2  	  \7        VP                   V
R4       \7        VP                  V
R 4       \3        VP                  VR!4       EMfV^(8  d   Rp\+        WQR,          4      w  Vn        Vn        ppp	pp\3        VP$                  VR4       \3        WFR4       \3        VP
                  VR"4       V^,          ^,	          p. ROV,          VP
                  n        V	^,	          p. ROpV F0  pRV,           R,           p\5        VVV^,          4       V^,          pK2  	  \3        VP                   VR#4       \7        VP                  VR$4       EMbV^8X  Ed   R	p\+        WQR,          4      w  Vn        Vn        pp	ppp\3        VP$                  VR4       \3        VVR%4       \3        VP
                  VR&4       \3        VVR'4       V	^,	          p. ROpV F0  pRV,           R,           p\5        VVV^,          4       V^,          pK2  	  \3        VP                   VR#4       \7        VP                  VR$4       ^VP
                  n        ^ VP
                  n        EMWV^8X  Ed>   \+        R
V4      w  Vn        ppV^?,          Vn        \3        VP$                  VR(4       \3        VP
                  VR)4       R* FZ  w  ppVV,          '       d   ^^ppM^ ^ pp\5        VP                  VR,           V4       \5        VP                  VR,           V4       K\  	  VP                   pV^,          '       d	   ^Vn        M^ Vn        ^	Vn        ^Vn        ^ Vn         ^VP
                  n        ^ VP
                  n        . ROpV F   pRV,           R,           p\5        VV^4       K"  	  M\C        RV,          4      h\E        V PF                  4      Vn$        V PF                  PK                  V4       V ;P&                  ^,          un        V'       d0   VPM                  V PN                  RVPH                  ,          RR7        V PP                  VP.                  ,          p\R        VPT                  ,          p V V PZ                  VPH                  &   V P\                  '       dz   V P                  '       dR   VP^                  '       d@   VP@                  R8w  d/   Rp!\a        V PN                  V!VPH                  VP@                  4       \c        WVPH                  4       VP.                  V PP                  9  dU   Rp!V P                  '       d8   \a        V PN                  V!VPH                  VP.                  VP.                  4       ^ Vn        R# R#   \V         d    \X        p  EL)i ; i)+   z<HHHBBBBIiH:rj      N__flagz<HHHBBIi:rj   r   Nz<BBHBBHI:rj      Nz<BBBBHHIz<BxBB_colour_index_line_stylezprogrammer stuff-up: bv=%dz--- handle_xf: xf[%d] --- rp   r   zNWARNING *** XF[%d] is a style XF but parent_style_index is 0x%04x, not 0x0fff
z9WARNING *** XF[%d] unknown (raw) format key (%d, 0x%04x)
N))rj      cell_locked)r   r   formula_hidden)r   ro   is_styler      lotus_123_prefixro   i  parent_style_index)rj      	hor_alignr   r   text_wrapped)ro   p   
vert_align))rj      indent_level)ro   r   shrink_to_fit)rn      text_direction)formatr   	alignmentborder
background
protection))rj   r  left_line_style)ro      right_line_style)r   i   top_line_style)r   i   bottom_line_styler   i   left_colour_index   i  ?right_colour_index)   i   @	diag_down)   l        diag_up))rj      top_colour_index)r   ?  bottom_colour_index)   i  diag_colour_index)   i  diag_line_style))   l      x fill_pattern)rj   r  pattern_colour_indexr   r  background_colour_index)rj      Z      )r&  r(  )r   i  ? r%  ))   i  r  )   l      | r  )rj   r   r  )r   r   r  )rn   i  r  )	   i   r  r  r  )r   r   )ro   0   r  ))rj   ?   r%  )rn   i  r'  )      r)  )r/  )r      r  )r   i   r  )r3  r4  r  )r   i   r  )   i   r  )   i   r  )   l      p r  )r   r   )r   r   )r   ))rn   @   r   )r      r   )r   ))r   left)r   right)    top)r9  bottom)2ru   rv   r   XFXFAlignmentr
  r  r  r  XFBorderr  r  r  r!  r#  XFBackgroundr  XFProtectionr  xfcountr   r   rX   r   rotationr   setattrr   r  r%  r)  r'  r   r   r    xf_listr   rw   rx   ry   r   _cellty_from_fmttyr   KeyErrorr
   _xf_index_to_xl_type_mapr   r   r   r   )"r=   rg   rz   r{   xf
unpack_fmtpkd_type_par
pkd_align1
pkd_align2pkd_usedpkd_brdbkg1pkd_brdbkg2pkd_brdbkg3reg
attr_stems	attr_stemr   pkd_orient_usedorientationpkd_align_orient
pkd_bkg_34
pkd_brd_34pkd_type_protpkd_align_par
format_etc
halign_etcmasksiderU   
line_stylebgr   celltymsgs"   &&                                r%   	handle_xfrg    s    ''DNNa'D			B	B=BL !BLL!"BLL"#BLL
BIBIIBII"#BII !BII NBM NBM	Rx &	Rx"

 :Dz*		
M2=,-z;| .
 	 	 #
 	 	j +
 	
 	j +
 	
 !m

 $I?W,DBcAg&AIC $ 	K 	*
 		 			; )
 	 	 .
 	 	{ -
 	 
r

 :Dz*		
M2=,| .
 	 	 #
 	
 	j +
 	
 &, 1+ >"

 $I?W,DBcAg&AIC $ 	 .
 	
 	K *
 	 			; )
 	 
r

 :Dz*		
M2=,h
| .
 	 	 #
 	
 	. 1
 	
 ($.14 1+ >!m

 $I?W,DBcAg&AIC $ 	z ,
 	
 	J 	)
 		 
r

 :Dz*		
M2=-m
} /
 	 	M $
 	 	m .
 	 	M $
 	 !m

 $I?W,DBcAg&AIC $ 	z ,
 	
 	J 	)
 		 #$ !	r
 39$2G/
J"T)z ,
 	 	j +
 	 ]JD$D  +,ajj+,ajBIIto5|DBIItm3Z@ ] ]] BOBO%&""# !"# !

 $I?W,DBa  $ 4r9::dll#BKLLLLAL
LL.< 	 	

 oobmm,#CHH- 28D!!"++. >>>bkkkb.C.Cv.McCDLL#r{{B4I4IJ#Dbkk:	}}DOO+J>>>DLL#R]]BMM; ,    s   :4b bbc                 	   ^V n         \        V P                  4      p\        ;'       g    V P                  ^8  p\        ;'       g    V P                  ^8  pV'       d   \        V P                  R4       R p\        V4       EFX  pV P                  V,          p V P                  VP                  ,          p\        VP                  ,          pWP                  VP                  &   V P                   '       g   Kx  VP"                  '       d   K  ^ VP$                  u;8:  d   V8  gI   M V'       d8   \        V P                  RVP                  VP"                  VP$                  4       ^ Vn        V P&                  ^8  g   EK  V'       d   VP$                  VP                  8X  d.   \        V P                  RVP                  VP$                  4       MYV P                  VP$                  ,          P"                  '       g-   \        V P                  RVP                  VP$                  4       V'       dH   VP$                  VP                  8  d-   \        V P                  RVP                  VP$                  4       V P                  VP$                  ,          p	VP(                  '       g%   V	P(                  '       g   V'       d   V! WV	R4       VP*                  '       g%   V	P*                  '       g   V'       d   V! WV	R4       VP,                  '       g%   V	P,                  '       g   V'       d   V! WV	R	4       VP.                  '       g%   V	P.                  '       g   V'       d   V! WV	R
4       VP0                  '       g   V	P0                  '       g   V'       d   VP                  V	P                  8w  d   \        V P                  RVP                  VP                  V	P                  V	P                  V P                  VP                  ,          P2                  V P                  V	P                  ,          P2                  4       VP4                  '       d   EK  V	P4                  '       d   EK  V'       g   EK  VP6                  V	P6                  8w  g   EK  \        V P                  RVP                  VP6                  V	P                  V	P6                  4       EK[  	  R#   \         d    \        p EL'i ; i)r   zxf_epilogue called ...
c                     \        W4      \        W#4      8w  d0   \        V P                  R VP                  VP                  V4       R# R# )z(NOTE !!! XF[%d] parent[%d] %s different
N)getattrr   ry   r   )book_argxf_arg
parent_argr   s   &&&&r%   
check_samexf_epilogue.<locals>.check_same  s=    6 GJ$==H$$;!4!4d< >r'   z:WARNING *** XF[%d]: is_style=%d but parent_style_index=%d
z/NOTE !!! XF[%d]: parent_style_index is also %d
z>NOTE !!! XF[%d]: parent_style_index is %d; style flag not set
z9NOTE !!! XF[%d]: parent_style_index is %d; out of order?
r
  r  r  r  z4NOTE !!! XF[%d] fmtk=%d, parent[%d] fmtk=%r
%r / %r
z.NOTE !!! XF[%d] fontx=%d, parent[%d] fontx=%r
N)_xf_epilogue_doner    rH  ru   rv   r   ry   r   r   r   rI  r   rJ  r   rK  r   r   r   r   r   _alignment_flag_background_flag_border_flag_protection_flag_format_flagr   
_font_flagrX   )
r=   num_xfsrz   blah1rn  xfxrL  r   re  parents
   &         r%   xf_epiloguer{    sd   D$,,G''DNNa'D((T^^q(E89< g\\#	"//"--0C'1F 6<%%bkk2###;;;B))3G3QKKb.C.CE %&B!"((BKK7DLLJR%:%:< b&;&;<EEEDLLYR%:%:< ..<PKK!6!68 \\""7"78F%%%f.D.D.D*Tv{C&&&v/F/F/F*Tv|D???6+>+>+>*Tvx@&&&v/F/F/F*Tv|D???6+>+>+>R]]f.?.??DLLPR]]FOOVEVEV6AA(9(9:EE	G
 ===):):):5R]]f.?.??DLLIR]]FOOVEVEVXk   	"!F	"s   4S""S76S7c           	          \        V 4       ^ V n        \        \        \        \
        \        \        \        \        \        3	pV F$  p\        V P                  VP                  V4       K&  	  R# )rj   N)r&   rp  r   rh   r   r   r   r   r   rg  r{  rG  r   rF   )r!   methodsmethods   &  r%   initialise_bookr  A  sT    $D
G 8 r'   c                   J    ] tR tRtRt^ t^ t^ t^ t^ t	^ t
^ t^ t^ t^ t^ t^ tRtR# )rB  iR  a  
A collection of the border-related attributes of an ``XF`` record.
Items correspond to those in the Excel UI's Format -> Cells -> Border tab.

An explanations of "colour index" is given in :ref:`palette`.

There are five line style attributes; possible values and the
associated meanings are::

  0 = No line,
  1 = Thin,
  2 = Medium,
  3 = Dashed,
  4 = Dotted,
  5 = Thick,
  6 = Double,
  7 = Hair,
  8 = Medium dashed,
  9 = Thin dash-dotted,
  10 = Medium dash-dotted,
  11 = Thin dash-dot-dotted,
  12 = Medium dash-dot-dotted,
  13 = Slanted medium dash-dotted.

The line styles 8 to 13 appear in BIFF8 files (Excel 97 and later) only.
For pictures of the line styles, refer to OOo docs s3.10 (p22)
"Line Styles for Cell Borders (BIFF3-BIFF8)".</p>

.. versionadded:: 0.6.1
rE   N)rF   rG   rH   rI   rJ   r  r  r  r  r!  r  r  r  r  r#  r  r  rK   rE   r'   r%   rB  rB  R  sa    @     N  O  O I Gr'   rB  c                   &    ] tR tRtRt^ t^ t^ tRtR# )rC  i  z
A collection of the background-related attributes of an ``XF`` record.
Items correspond to those in the Excel UI's Format -> Cells -> Patterns tab.

An explanations of "colour index" is given in :ref:`palette`.

.. versionadded:: 0.6.1
rE   N)	rF   rG   rH   rI   rJ   r%  r)  r'  rK   rE   r'   r%   rC  rC    s     L   r'   rC  c                   6    ] tR tRtRt^ t^ t^ t^ t^ t	^ t
^ tRtR# )rA  i  z
A collection of the alignment and similar attributes of an ``XF`` record.
Items correspond to those in the Excel UI's Format -> Cells -> Alignment tab.

.. versionadded:: 0.6.1
rE   N)rF   rG   rH   rI   rJ   r   r  rF  r  r  r  r  rK   rE   r'   r%   rA  rA    s8     I J H L L M Nr'   rA  c                   "    ] tR tRtRt^ t^ tRtR# )rD  i  aH  
A collection of the protection-related attributes of an ``XF`` record.
Items correspond to those in the Excel UI's Format -> Cells -> Protection tab.
Note the OOo docs include the "cell or style" bit in this bundle of
attributes. This is incorrect; the bit is used in determining which bundles
to use.

.. versionadded:: 0.6.1
rE   N)rF   rG   rH   rI   rJ   r   r   rK   rE   r'   r%   rD  rD    s     K Nr'   rD  c                   V    ] tR tRtRt^ t^ t^ t^ t^ t	^ t
^ t^ t^ t^ t^ tRtRtRtRtRtR# )r@  i  a  
eXtended Formatting information for cells, rows, columns and styles.

Each of the 6 flags below describes the validity of
a specific group of attributes.

In cell XFs:

- ``flag==0`` means the attributes of the parent style ``XF`` are
  used, (but only if the attributes are valid there);

- ``flag==1`` means the attributes of this ``XF`` are used.

In style XFs:

- ``flag==0`` means the attribute setting is valid;
- ``flag==1`` means the attribute should be ignored.

.. note::
  the API provides both "raw" XFs and "computed" XFs. In the latter case,
  cell XFs have had the above inheritance mechanism applied.

.. versionadded:: 0.6.1
NrE   )rF   rG   rH   rI   rJ   r   r   ru  rv  rq  rs  rr  rt  r   rX   r   r  r  r
  r  rK   rE   r'   r%   r@  r@    sq    4 H
  L J O L  H J J J J I Fr'   r@  )8rj   rj   rj   r*  r*  r*  r*  rj   rj   rj   r*  rj   rj   rj   r*  r*  r*  rj   r*  rj   r*  rj   r*  r*  r:  rj   rj   rj   r:  rj   rj   rj   r:  r:  r:  rj   r:  rj   r:  rj   r:  r:  r  r  r  r:  r:  r:     r  r*  r  3   f   r*  r*     r  r*  r*  r  rj   r  r*  r:  r:  rj   r  r  r  r  r*  r  r  r  r  r  r  r  r  rj   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  rj   r*  r  rj   r*  r  rj   r*  r  rj   r  r  r     r  r  rj   r  r  r  r  r  rj   r  rj   r  r  rj   r  r  rj   r  r  r  r  r  r  r  )8r  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  r  r  r  r  r  r  r  r  r  )
r   	RowLevel_	ColLevel_CommaCurrencyPercentz	Comma [0]zCurrency [0]	HyperlinkzFollowed Hyperlink)rj   )JrJ   
__future__r   restructr   biffhr   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   timemachineru   rI  excel_default_palette_b5excel_default_palette_b2r   r   r   r&   r5   objectr7   rP   rh   r   r   r   fmt_code_rangesr   lohir   r   r   r[   
date_charsr   upper_cr   r   r   compilesubr   r   r   r   r   r   r   r   rg  r{  r  rB  rC  rA  rD  r@  rE   r'   r%   <module>r     s   & 	     
 	   " 4C8  $         	* #02
/ 
/Y:y Yv<
E
R%Z %:( 	)	(
 	#( 	&( 	'( 	*( 	
( 	
"( 	
#( 	
(( 	$( 	'( 	*(  	'!(" 	)#($ 	(%(& 	*'(( 	')(* 	(+(, 	,-(. 	//(0 	&1(2 	)3(4 	-5(6 	
7(8 	
 9(: 	
!;(< 	
&=(> 	
5?(@ 	
8A(B 	
=C(D 	
@E(F 	'G(H 	+I(J 	)K(L 	*#O( Z !SMSMSMSMSMSMSMSMSMSMSMSM$  !JBBB1#%a   " BW%

z'')
)
)BN2 *

*
%BN2 & C!C!C! JJIIIC  JJ|,00 ="~ '0 0$h"RHH():VF	(zx	GXR9"Az9 AF:y ( *i  D:y &N Nr'   