+
    iR                        R t ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIH	t	H
t
HtHtHtHt ^ RIHt ^ RIHtHt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      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ]R]R]R]R ]R!] R"/t!]!PE                  4        U Uu/ uF  w  rWbK	  	  upp t# ! R# R$]4      t$R%# u upp i )&uD   Implementation of custom properties see § 22.3 in the specification)warn)Strict)Serialisable)Sequence)AliasStringIntegerFloatDateTimeBool)
NestedText)CUSTPROPS_NS	VTYPES_NSCPROPS_FMTID)NestedDateTimec                       ] tR t^ tRtRtR# )NestedBoolTextzP
Descriptor for handling nested elements with the value stored in the text part
 N)__name__
__module____qualname____firstlineno____doc____static_attributes__r       `/Users/agent/.openclaw/workspace/.venv/lib/python3.14/site-packages/openpyxl/packaging/custom.pyr   r       s     	r   r   c                     a a ] tR t^(t oRtRtRt]! RR7      t]	! ]
R]R7      t]	! ]R]R7      t]	! ]R]R7      t]! R]R7      t]! ]R]R7      t]! ]
RR7      t]! 4       t]! 4       tR^ ]R3R	 lt]R
 4       tRV 3R lltRtVtV ;t # )_CustomDocumentPropertyz
Low-level representation of a Custom Document Property.
Not used directly
Must always contain a child element, even if this is empty
propertyNT
allow_none)expected_typer    	namespace)r    r"   )r!   r    c                    W0n         W n        Wn        R V n        W@n        VP                  4        F  w  rg\        WV4       \        V RV4       K   	  V P                   F  pW9  g   K  \        WR 4       K  	  R # )N_typ)fmtidpidnamer$   
linkTargetitemssetattr__elements__)	selfr'   r&   r%   r(   kwkves	   &&&&&,   r   __init__ _CustomDocumentProperty.__init__=   sh     
		$HHJDADQD&!$  ""A{& #r   c                    V P                   e   V P                   # V P                   F  p\        W4      f   K  Vu # 	  V P                  e   R# R # )Nr(   )r$   r+   getattrr(   )r,   as   & r   type_CustomDocumentProperty.typeQ   sJ    99 99""At+ # ??& 'r   c                   < \        W P                  R 4      pVf   \        W P                  R4       \        SV `  R R R R7      # )N )tagnameidxr"   )r4   r$   r*   superto_tree)r,   r:   r;   r"   child	__class__s   &&&& r   r=   _CustomDocumentProperty.to_tree\   s;    ii.=D))R(wtFFr   )r$   r%   r(   r'   r&   NNN)!r   r   r   r   r   r:   r$   r   r'   r   strr   lpwstrinti4floatr8r   filetimer   boolr(   r%   r   r&   r   r1   r   r6   r=   r   __classdictcell____classcell__r?   __classdict__s   @@r   r   r   (   s      GDT"DcdiPF	#$)	LB	%DI	NBCHSDcd;JHE
)C # 	'(    G Gr   r   c                   r   a a ] tR t^dt oRtRt]! ]]R7      t	]
! R4      tR	R ltR tR
V 3R lltRtVtV ;t# )_CustomDocumentPropertyListz?
Parses and seriliases property lists but is not used directly

Properties)r!   r"   r   c                    Wn         R # Nr   )r,   r   s   &&r   r1   $_CustomDocumentPropertyList.__init__p   s     r   c                ,    \        V P                  4      # rR   )lenr   r,   s   &r   __len__#_CustomDocumentPropertyList.__len__t   s    4==!!r   c                   < \        V P                  ^4       F  w  r$W$n        K  	  \        SV `  WV4      pVP                  R\        4       V# )   xmlns)	enumerater   r&   r<   r=   setr   )r,   r:   r;   r"   ptreer?   s   &&&&  r   r=   #_CustomDocumentPropertyList.to_treex   sB    q1FCE 2wwY7,'r   rS   )r   rA   )r   r   r   r   r   r:   r   r   r   r   r   customPropsr1   rX   r=   r   rJ   rK   rL   s   @@r   rO   rO   d   s<      G&=VH
#K!" r   rO   c                   @   a  ] tR t^t o ]! 4       tR tR tR tRt	V t
R# )_TypedPropertyc                    Wn         W n        R # rR   r'   value)r,   r'   rg   s   &&&r   r1   _TypedProperty.__init__   s     	
r   c                v    V P                   VP                   8H  ;'       d    V P                  VP                  8H  # rR   rf   )r,   others   &&r   __eq___TypedProperty.__eq__   s*    yyEJJ&DD4::+DDr   c                f    V P                   P                   R V P                   RV P                   2# )z, name=z, value=)r?   r   r'   rg   rW   s   &r   __repr___TypedProperty.__repr__   s,    ..))*'$))HTZZLQQr   rf   N)r   r   r   r   r   r'   r1   rk   rn   r   rJ   rM   s   @r   rd   rd      s#     8DER Rr   rd   c                   $    ] tR t^t]! 4       tRtR# )IntPropertyr   N)r   r   r   r   r   rg   r   r   r   r   rr   rr      s	    IEr   rr   c                   $    ] tR t^t]! 4       tRtR# )FloatPropertyr   N)r   r   r   r   r	   rg   r   r   r   r   rt   rt      s	    GEr   rt   c                   (    ] tR t^t]! RR7      tRtR# )StringPropertyTr   r   Nr   r   r   r   r   rg   r   r   r   r   rv   rv      s    d#Er   rv   c                   $    ] tR t^t]! 4       tRtR# )DateTimePropertyr   N)r   r   r   r   r
   rg   r   r   r   r   ry   ry      s	    JEr   ry   c                   $    ] tR t^t]! 4       tRtR# )BoolPropertyr   N)r   r   r   r   r   rg   r   r   r   r   r{   r{      s	    FEr   r{   c                   $    ] tR t^t]! 4       tRtR# )LinkPropertyr   Nrw   r   r   r   r}   r}      s	    HEr   r}   rC   rE   rG   rH   rI   r(   c                      a  ] tR t^t o ]! ]R7      tR t]R 4       t	R t
R tR t]R 4       tR tR	 tR
 tR tRtV tR# )CustomPropertyList)r!   c                    . V n         R # rR   propsrW   s   &r   r1   CustomPropertyList.__init__   s	    
r   c                   \         P                  V4      p. pVP                   F  pVP                  p\        P                  VR4      pV'       g   \        RVP                   24       KG  \        WE4      pVP                  pVe   \        pVP                  pV! VP                  VR7      p	VP                  V	4       K  	  V ! 4       p
W:n        V
# )z 
Create list from OOXML element
NzUnknown type for rf   )rO   	from_treer   r6   XML_MAPPINGgetr   r'   r4   r(   r}   appendr   )clsr`   	prop_listr   propattrtyprg   linknew_propnew_prop_lists   &&         r   r   CustomPropertyList.from_tree   s    
 099$?	&&D99D//$-C(45D'E??D"		7HLL" '  #r   c                    VP                   V P                  9   d   \        R VP                    R24      hV P                  P	                  V4       R# )Property with name z already existsN)r'   names
ValueErrorr   r   )r,   r   s   &&r   r   CustomPropertyList.append   s=    99

"2499+_MNN

$r   c                j   . pV P                    F  p\        P                  VP                  R 4      pV'       g   \	        R4      h\        RRVP                  /W2P                  /B p\        V\        4      '       d   RVn
        VP                  V4       K  	  \        VR7      pVP                  4       # )NzUnknown adapter for {p}r'   rC   rS   r   )r   CLASS_MAPPINGr   r?   	TypeErrorr   r'   rg   
isinstancer}   r$   r   rO   r=   )r,   r   r_   r   npr   s   &     r   r=   CustomPropertyList.to_tree   s    A $$Q[[$7D 9::(GaffGggGB!\**"LL  0?	  ""r   c                ,    \        V P                  4      # rR   )rV   r   rW   s   &r   rX   CustomPropertyList.__len__   s    4::r   c                V    V P                    Uu. uF  qP                  NK  	  up# u upi )zList of property names)r   r'   )r,   r_   s   & r   r   CustomPropertyList.names  s"     !%

+
1
+++s   &c                p    V P                    F  pVP                  V8X  g   K  Vu # 	  \        RV R24      h)z
Get property by name
r   
 not found)r   r'   KeyError)r,   r'   r_   s   && r   __getitem__CustomPropertyList.__getitem__  s9     Avv~  ,TF*=>>r   c                    \        V P                  4       F4  w  r#VP                  V8X  g   K  V P                  P                  V4        R# 	  \	        RV R24      h)z
Delete a propery by name
Nr   r   )r]   r   r'   popr   )r,   r'   r;   r_   s   &&  r   __delitem__CustomPropertyList.__delitem__  sN      

+FCvv~

s# , ,TF*=>>r   c                L    V P                   P                   R V P                   2# )z containing )r?   r   r   rW   s   &r   rn   CustomPropertyList.__repr__  s"    ..))*,tzzlCCr   c                ,    \        V P                  4      # rR   )iterr   rW   s   &r   __iter__CustomPropertyList.__iter__   s    DJJr   r   N)r   r   r   r   r   rd   r   r1   classmethodr   r   r=   rX   r   r   r   r   rn   r   r   rJ   rp   s   @r   r   r      sg      >2E  8 #" , ,
??D   r   r   N)%r   warningsr   openpyxl.descriptorsr   !openpyxl.descriptors.serialisabler   openpyxl.descriptors.sequencer   r   r   r   r	   r
   r   openpyxl.descriptors.nestedr   openpyxl.xml.constantsr   r   r   corer   r   r   rO   rd   rr   rt   rv   ry   r{   r}   r   r)   r   r   )r.   r/   s   00r   <module>r      s   K  ' : 2   !	T: 	9Gl 9Gx, :RV R&. 
N 
$^ $
~ 
> 
>  H4j&, ,11343sqqs34b  b  5s   C/