+
    i)                        ^ RI Ht ^ RIHtHtHtHtHtHt ^ RI	H
t
Ht ^ RIHt ^ RIHtHt ^ RIHt ^ RIHtHt ^ RIHt ^ R	IHt ^ R
IHt ^RIHtHt ^RIH t  ^RI!H"t" ^RI#H$t$H%t% ^RI&H't' ^RI(H)t) ^RI*H+t+  ! R R]4      t, ! R R]4      t- ! R R]4      t. ! R R].4      t/ ! R R].4      t0 ! R R].4      t1R t2 ! R R ]4      t3R!# )"    )Serialisable)TypedBoolNoneSetIntegerSequenceAlias)
NestedTextNestedNoneSet)Relation)RelationshipRelationshipList)coordinate_to_tuple)	cm_to_EMUpixels_to_EMU)Image)SHEET_DRAWING_NS)	ChartBase)
XDRPoint2DXDRPositiveSize2D)Blip)Shape)
GroupShapeGraphicFrame)PresetGeometry2D)PictureFrame)ChartRelationc                   N   a  ] tR t^/t o ]! RR7      t]! RR7      tRR ltRtV t	R# )AnchorClientDataT)
allow_noneNc                    Wn         W n        R # NfLocksWithSheetfPrintsWithSheet)selfr$   r%   s   &&&k/Users/agent/.openclaw/workspace/.venv/lib/python3.14/site-packages/openpyxl/drawing/spreadsheet_drawing.py__init__AnchorClientData.__init__4   s      / 0    r#   NN)
__name__
__module____qualname____firstlineno__r   r$   r%   r(   __static_attributes____classdictcell____classdict__s   @r'   r   r   /   s$     d+Ot,1 1r*   r   c                   v   a  ] tR t^<t o Rt]! ]R7      t]! ]R7      t]! ]R7      t	]! ]R7      t
RR ltRtV tR# )AnchorMarkermarkerexpected_typec                6    Wn         W n        W0n        W@n        R # r"   colcolOffrowrowOff)r&   r;   r<   r=   r>   s   &&&&&r'   r(   AnchorMarker.__init__E   s     r*   r:   N)r   r   r   r   )r,   r-   r.   r/   tagnamer
   intr;   r<   r=   r>   r(   r0   r1   r2   s   @r'   r5   r5   <   s<     G
3
'Cc*F
3
'Cc*F	 	r*   r5   c                      a  ] tR t^Qt o ]! ]RR7      t]! R4      t]! ]	RR7      t
]! R4      t]! ]RR7      t]! ]RR7      t]! R4      t]! ]RR7      t]! 4       t]! ]R7      tR
tRR ltR	tV tR# )_AnchorBaseTr8   r    spgrpSpcxnSpr7   Nc                v    Vf   \        4       pWn        W n        W0n        W@n        WPn        W`n        Wpn        R # r"   )r   
clientDatarE   rF   graphicFramerG   piccontentPart)r&   rI   rE   rF   rJ   rG   rK   rL   s   &&&&&&&&r'   r(   _AnchorBase.__init__c   s7     )+J$
(
&r*   )rI   rL   rG   rJ   rF   rK   rE   )rE   rF   rJ   rG   rK   rL   rI   )NNNNNNN)r,   r-   r.   r/   r   r   rE   r	   shaper   rF   
groupShaper   rJ   rG   connectionShaper   rK   r   rL   r   rI   __elements__r(   r0   r1   r2   s   @r'   rC   rC   Q   s      
Ut	4B$KE
t<EwJ|EL$7EGnO
lt
<C*K%56JAL' 'r*   rC   c                   ,  a a ] tR t^wt oRt]! ]R7      t]! ]R7      t	]
P                  t]
P                  t]
P                  t]
P                  t]
P                  t]
P                   t]
P"                  tR]
P$                  ,           tRV 3R lltRtVtV ;t# )AbsoluteAnchorabsoluteAnchorr7   c                   < Vf   \        ^ ^ 4      pWn        Vf   \        ^ ^ 4      pW n        \        SV `  ! R/ VB  R # N )r   posr   extsuperr(   )r&   rX   rY   kw	__class__s   &&&,r'   r(   AbsoluteAnchor.__init__   sA    
 ;Q"C;#Aq)C2r*   )rY   rX   )rX   rY   r+   )r,   r-   r.   r/   r@   r   r   rX   r   rY   rC   rE   rF   rJ   rG   rK   rL   rI   rQ   r(   r0   r1   __classcell__r\   r3   s   @@r'   rS   rS   w   s     G
j
)C
/
0C	BE++LE
//C))K''J!K$<$<<L r*   rS   c                   ,  a a ] tR t^t oRt]! ]R7      t]! ]R7      t	]
P                  t]
P                  t]
P                  t]
P                  t]
P                  t]
P                   t]
P"                  tR]
P$                  ,           tRV 3R lltRtVtV ;t# )OneCellAnchoroneCellAnchorr7   c                |   < Vf   \        4       pWn        Vf   \        ^ ^ 4      pW n        \        SV `  ! R/ VB  R # rV   )r5   _fromr   rY   rZ   r(   )r&   rd   rY   r[   r\   s   &&&,r'   r(   OneCellAnchor.__init__   s<    
 = NE
;#Aq)C2r*   )rd   rY   r+   )r,   r-   r.   r/   r@   r   r5   rd   r   rY   rC   rE   rF   rJ   rG   rK   rL   rI   rQ   r(   r0   r1   r^   r_   s   @@r'   ra   ra      s     G-E
/
0C	BE++LE
//C))K''J#k&>&>>L r*   ra   c                   B  a a ] tR t^t oRt]! . ROR7      t]! ]R7      t	]! ]R7      t
]P                  t]P                  t]P                  t]P                  t]P                   t]P"                  t]P$                  tR]P&                  ,           tRV 3R lltRtVtV ;t# )	TwoCellAnchortwoCellAnchor)valuesr7   c                   < Wn         Vf   \        4       pW n        Vf   \        4       pW0n        \        SV `  ! R/ VB  R # rV   )editAsr5   rd   torZ   r(   )r&   rk   rd   rl   r[   r\   s   &&&&,r'   r(   TwoCellAnchor.__init__   s<     = NE
:B2r*   )rd   rk   rl   )twoCelloneCellabsolute)rd   rl   )NNN)r,   r-   r.   r/   r@   r   rk   r   r5   rd   rl   rC   rE   rF   rJ   rG   rK   rL   rI   rQ   r(   r0   r1   r^   r_   s   @@r'   rg   rg      s     G?AF-E	\	*B	BE++LE
//C))K''J"[%=%==L r*   rg   c                r   V P                   p\        V\        4      '       Eg   \        VP	                  4       4      w  r#\        4       pV^,
          VP                  n        V^,
          VP                  n        \        V \        4      '       dK   \        V P                  4      VP                  n        \        V P                  4      VP                  n        V# \        V \        4      '       dI   \        V P                  4      VP                  n        \        V P                  4      VP                  n        V# )zs
Check whether an object has an existing Anchor object
If not create a OneCellAnchor using the provided coordinate
)anchor
isinstancerC   r   upperra   rd   r=   r;   r   r   widthrY   heightr   r   )objrr   r=   r;   s   &   r'   _check_anchorrx      s    
 ZZFfk**&v||~666c9%%(3FJJ )#** 5FJJ M U##,SYY7FJJ -cjj 9FJJMr*   c                      a  ] tR t^t o RtRtRtR;ttRt	]
! ]RR7      t]
! ]RR7      t]
! ]RR7      tRtRR ltR	 tR
 tR tR tR tR t]R 4       t]R 4       t]R 4       tRtV tR# )SpreadsheetDrawingwsDrz9application/vnd.openxmlformats-officedocument.drawing+xmlzKhttp://schemas.openxmlformats.org/officeDocument/2006/relationships/drawingz/xl/drawings/drawing{0}.xmlNTrD   c                T    Wn         W n        W0n        . V n        . V n        . V n        R # r"   )rh   rb   rT   chartsimages_rels)r&   rh   rb   rT   s   &&&&r'   r(   SpreadsheetDrawing.__init__   s+    
 +*,
r*   c                    \        V 4      # )z!
Just need to check for identity
)idr&   s   &r'   __hash__SpreadsheetDrawing.__hash__  s     $xr*   c                f    \        V P                  4      ;'       g    \        V P                  4      # r"   )boolr}   r~   r   s   &r'   __bool__SpreadsheetDrawing.__bool__  s"    DKK 55D$55r*   c                ,   . p\        V P                  V P                  ,           ^4       EF5  w  r#\        V4      p\	        V\
        4      '       d/   \        RVP                  R7      pV P                  V4      Vn	        M\	        V\        4      '       d   \        RVP                  R7      pVP                  ;'       g+    VP                  ;'       d    VP                  P                  pV'       g   V P                  V4      Vn        M*RP                  V4      VP                  P                   n        VP%                  V4       V P&                  P%                  X4       EK8  	  V F  p\	        V\(        4      '       d   V P*                  P%                  V4       K6  \	        V\,        4      '       d   V P.                  P%                  V4       Ki  V P0                  P%                  V4       K  	  V P3                  4       pVP5                  R\6        4       V# )z-
create required structure and the serialise
chart)typeTargetimagerId{0}xmlns)	enumerater}   r~   rx   rs   r   r   path_chart_framerJ   r   rK   rO   _picture_frameformatblipFillblipembedappendr   ra   rb   rg   rh   rT   to_treesetr   )	r&   anchorsidxrw   rr   relchildatrees	   &        r'   _writeSpreadsheetDrawing._write  s}    !$++";Q?HC"3'F#y))"A&*&7&7&<#C''"A

QQf&7&7&Q&QF<M<M<Q<Q!%!4!4S!9FJ080DENN''-NN6"JJc" @  A!]++""))!,A}--""))!,##**1-  ||~*+r*   c                    \        R V 24      p\        4       pVP                  P                  pWn        RP                  V4      Vn        W#P                  P                  n	        V# )rIdz	Chart {0})
r   r   nvGraphicFramePrcNvPrr   r   namegraphicgraphicDatar   )r&   r   	chart_relframenvs   &&   r'   r   SpreadsheetDrawing._chart_frame5  sV    !Cu+.	##))$$S)*3!!'r*   c                   \        4       pR VP                  P                  n        WP                  P                  n        RP                  V4      VP                  P                  n        \        4       VP                  n	        RP                  V4      VP                  P                  n
        RVP                  P                  n        \        RR7      VP                  n        RVP                  n        V# )Picturez	Image {0}r   printrect)prstN)r   nvPicPrr   descrr   r   r   r   r   r   r   cstater   spPrprstGeomln)r&   r   rK   s   && r'   r   !SpreadsheetDrawing._picture_frame?  s    n"+"!,!3!3C!8 F"*//#"6#* ,&9
r*   c                ~    \        4       pV P                   F  pVP                  V4       K  	  VP                  4       # r"   )r   r   r   r   )r&   relsrs   &  r'   _write_relsSpreadsheetDrawing._write_relsN  s/    !AKKN ||~r*   c                L    V P                   P                  V P                  4      # r"   )_pathr   _idr   s   &r'   r   SpreadsheetDrawing.pathU  s    zz  **r*   c                L   . pV P                   V P                  ,           V P                  ,           pV Fm  pVP                  f   K  VP                  P                  pVP
                  P                  pVf   KE  W5n        RVP                  n        VP                  V4       Ko  	  V# )zC
Get relationship information for each chart and bind anchor to it
N)	rT   rb   rh   rJ   r   r   r   rr   r   )r&   r   r   rr   r   r   s   &     r'   _chart_relsSpreadsheetDrawing._chart_relsZ  s    
 %%(:(::T=O=OOF"". --55))//?!'J.2CJJ+KK$  r*   c                   . pV P                   V P                  ,           V P                  ,           pV F  pVP                  ;'       g+    VP                  ;'       d    VP                  P                  pV'       g   KK  VP
                  '       g   K_  VP
                  P                  pVf   K{  VP                  '       g   K  W5n        VP                  V4       K  	  V# )z
Get relationship information for each blip and bind anchor to it

Images that are not part of the XLSX package will be ignored.
)
rT   rb   rh   rK   rO   r   r   r   rr   r   )r&   r   r   rr   r   r   s   &     r'   
_blip_relsSpreadsheetDrawing._blip_relsl  s     %%(:(::T=O=OOFJJMM&"3"3"M"M8I8I8M8MEunn))?syyy!'JKK$  r*   )r   rT   r}   r~   rb   rh   )rh   rb   rT   )rW   rW   rW   )r,   r-   r.   r/   r@   	mime_type	_rel_typer   PartNamer   r   rg   rh   ra   rb   rS   rT   rQ   r(   r   r   r   r   r   r   propertyr   r   r   r0   r1   r2   s   @r'   rz   rz      s     GKI]I22EH
C=TJM=TJMNtLNGL
6
D + +  "  r*   rz   N)4!openpyxl.descriptors.serialisabler   openpyxl.descriptorsr   r   r   r   r   r	   openpyxl.descriptors.nestedr
   r   openpyxl.descriptors.excelr   openpyxl.packaging.relationshipr   r   openpyxl.utilsr   openpyxl.utils.unitsr   r   openpyxl.drawing.imager   openpyxl.xml.constantsr   openpyxl.chart._chartr   xdrr   r   fillr   	connectorr   r   r   r   geometryr   picturer   relationr   r   r5   rC   rS   ra   rg   rx   rz   rW   r*   r'   <module>r      s    ;  0 / ) 3 +   ' ! #
1| 
1< *#', #'L[ >K @K D(R Rr*   