+
    Ĝi                     v   ^ RI HtHtHtHtHtHtHt ^ RIH	t	 ^ RI
Ht ^RIHtHt ^ RIHtHt ^ RIHt RtRtR	tR
tRtRtRtRtRtRtRtRtRt Rt!Rt"Rt#Rt$Rt%Rt&]]]]]]]]]]]] ]!]"]#]$]%]&3t' ! R R]	4      t( ! R R](4      t)])! 4       t*])! RR7      t+ ! R R ]	4      t,R! t- ! R" R#]4      t. ! R$ R%](4      t/R&# )'    )FloatSetAliasNoneSetSequenceIntegerMinMax)Serialisable)safe_string)ColorDescriptorColor)Element	localname)SHEET_MAIN_NSnonesoliddarkDowndarkGraydarkGriddarkHorizontaldarkTrellisdarkUpdarkVerticalgray0625gray125	lightDown	lightGray	lightGridlightHorizontallightTrellislightUplightVertical
mediumGrayc                   D   a a ] tR t^3t oRtRt]V 3R l4       tRtVt	V ;t
# )Fillz
Base classfillc                   < V Uu. uF  q"NK  	  ppV'       g   R # V^ ,          pRVP                   9   d   \        P                  V4      # \        \        \
        `  V4      # u upi )NpatternFill)tagPatternFill
_from_treesuperr%   GradientFill	from_tree)clselcchildrenchild	__class__s   &&   ^/Users/mibo/.openclaw/workspace/.venv-ak/lib/python3.14/site-packages/openpyxl/styles/fills.pyr.   Fill.from_tree9   sX    !?r!Ar?EII%))%00T<2599 #s   
A" )__name__
__module____qualname____firstlineno____doc__tagnameclassmethodr.   __static_attributes____classdictcell____classcell__r4   __classdict__s   @@r5   r%   r%   3   s$     G: : :    r%   c                      a  ] tR t^Dt o RtRtRt]! ]R7      t	]
! R4      t]! 4       t]
! R4      t]! 4       t]
! R4      tR]! 4       ]! 4       RRR3R lt]R	 4       tRR
 ltRtV tR# )r*   zxArea fill patterns for use in styles.
Caution: if you do not specify a fill_type, other attributes will have
no effect !r(   fgColorbgColorvaluespatternTypeNc                N    Ve   TpWn         Ve   TpW n        Ve   TpW0n        R # N)rJ   rF   rG   )selfrJ   rF   rG   	fill_typestart_color	end_colors   &&&&&&&r5   __init__PatternFill.__init__T   s3     #K&"!G GrD   c                    \        VP                  4      pV F&  p\        V4      p\        P                  ! V4      W$&   K(  	  V ! R/ VB # )Nr7   )dictattribr   r   r.   )r/   r0   rU   r3   descs   &&   r5   r+   PatternFill._from_tree`   sA    biiEU#D ??51FL  }V}rD   c                Z   \        R 4      p\        V P                  4      pV P                  e   VP                  RV P                  4       V P                   F?  p\        W4      pV\        4       8w  g   K  VP                  VP                  V4      4       KA  	  VP                  V4       V# )r&   rJ   )	r   r=   rJ   set__elements__getattrr   appendto_tree)rM   r=   idxparentr0   r1   values   &&&    r5   r]   PatternFill.to_treei   s    T\\"'FF=$"2"23""AD$E		%--*+ # 	brD   )rG   rF   rJ   )rF   rG   )NN)r8   r9   r:   r;   r<   r=   rZ   r   fillsrJ   r   rN   r   rF   rO   rG   rP   r   rQ   r>   r+   r]   r?   r@   rC   s   @r5   r*   r*   D   s      G)L'Km$IG	"KGi I#'%'TT
  
 
rD   r*   )rJ   c                   L   a  ] tR t^zt o Rt]! ^ ^R7      t]! 4       tR t	Rt
V tR# )Stopstop)minmaxc                    W n         Wn        R # rL   )positioncolor)rM   rk   rj   s   &&&r5   rQ   Stop.__init__   s     
rD   )rk   rj   N)r8   r9   r:   r;   r=   r	   rj   r   rk   rQ   r?   r@   rc   s   @r5   re   re   z   s(     G!#HE rD   re   c           	        \        V 4      p\        R V  4       4      pV^ 8X  dI   ^pV^8  d   ^V^,
          ,          p\        V 4       UUu. uF  w  rE\        WTV,          4      NK  	  p ppMW!8  d   \	        R4      h\        4       pV  FS  pVP                  V9   d%   \	        RP                  VP                  4      4      hVP                  VP                  4       KU  	  V # u uppi )zp
Automatically assign positions if a list of colours is provided.

It is not permitted to mix colours and stops
c              3   B   "   T F  p\        V\        4      x  K  	  R # 5irL   )
isinstancere   ).0r`   s   & r5   	<genexpr>#_assign_position.<locals>.<genexpr>   s     >ve*UD))vs   z8Cannot interpret mix of Stops and Colors in GradientFillzDuplicate position {0})	lensum	enumeratere   
ValueErrorrY   rj   formatadd)rI   n_valuesn_stopsintervalir`   posrf   s   &       r5   _assign_positionr~      s     6{H>v>>G!|a<HqL)H"+F"35"3ha u(l+"3 	 5 
	STT
%C==C5<<T]]KLL 
 M5s   C#c                   6   a a ] tR t^t o]tV 3R ltRtVtV ;t	# )StopListc                <   < \        V4      p\        SV `	  W4       R # rL   )r~   r,   __set__)rM   objrI   r4   s   &&&r5   r   StopList.__set__   s    !&)$rD   r7   )
r8   r9   r:   r;   re   expected_typer   r?   r@   rA   rB   s   @@r5   r   r      s     M% %rD   r   c                      a a ] tR t^t oRtRt]! R	R7      t]! R4      t	]
! 4       t]
! 4       t]
! 4       t]
! 4       t]
! 4       t]! 4       tR
R ltR tRV 3R lltRtVtV ;t# )r-   a  Fill areas with gradient

Two types of gradient fill are supported:

    - A type='linear' gradient interpolates colours between
      a set of specified Stops, across the length of an area.
      The gradient is left-to-right by default, but this
      orientation can be modified with the degree
      attribute.  A list of Colors can be provided instead
      and they will be positioned with equal distance between them.

    - A type='path' gradient applies a linear gradient from each
      edge of the area. Attributes top, right, bottom, left specify
      the extent of fill from the respective borders. Thus top="0.2"
      will fill the top 20% of the cell.

gradientFillrH   typec                Z    W n         W0n        W@n        WPn        W`n        Wpn        Wn        R # rL   )degreeleftrighttopbottomrf   r   )rM   r   r   r   r   r   r   rf   s   &&&&&&&&r5   rQ   GradientFill.__init__   s%    	
		rD   c              #  |   "   V P                    F'  p\        W4      pV'       g   K  V\        V4      3x  K)  	  R # 5irL   )	__attrs__r[   r   )rM   attrr`   s   &  r5   __iter__GradientFill.__iter__   s2     NNDD'EuK... #s    <<c                \   < \        R 4      p\        SV `	  4       pVP                  V4       V# )r&   )r   r,   r]   r\   )rM   r=   	namespacer^   r_   r0   r4   s   &&&&  r5   r]   GradientFill.to_tree   s)    W_brD   )r   r   r   r   rf   r   r   )linearpath)r   r   r   r   r   r   r7   )NNN)r8   r9   r:   r;   r<   r=   r   r   r   rN   r   r   r   r   r   r   r   rf   rQ   r   r]   r?   r@   rA   rB   s   @@r5   r-   r-      sc     $ G()DfIWF7DGE
'CWF:D/ rD   r-   N)0openpyxl.descriptorsr   r   r   r   r   r   r	   !openpyxl.descriptors.serialisabler
   openpyxl.compatr   colorsr   r   openpyxl.xml.functionsr   r   openpyxl.xml.constantsr   	FILL_NONE
FILL_SOLIDFILL_PATTERN_DARKDOWNFILL_PATTERN_DARKGRAYFILL_PATTERN_DARKGRIDFILL_PATTERN_DARKHORIZONTALFILL_PATTERN_DARKTRELLISFILL_PATTERN_DARKUPFILL_PATTERN_DARKVERTICALFILL_PATTERN_GRAY0625FILL_PATTERN_GRAY125FILL_PATTERN_LIGHTDOWNFILL_PATTERN_LIGHTGRAYFILL_PATTERN_LIGHTGRIDFILL_PATTERN_LIGHTHORIZONTALFILL_PATTERN_LIGHTTRELLISFILL_PATTERN_LIGHTUPFILL_PATTERN_LIGHTVERTICALFILL_PATTERN_MEDIUMGRAYrb   r%   r*   DEFAULT_EMPTY_FILLDEFAULT_GRAY_FILLre   r~   r   r-   r7   rD   r5   <module>r      s+     ; ' * 5 0 	
" " " . (  * "   $ $ $ 0 *   , & 	*,A	 ;=U	79N	57M	!=	"$8:T	 	":< :"/$ /d !] I6 	< 	8%x %54 5rD   