+
    Ĝix                         ^ RI Ht ^ RIHtHtHtHtHtHtH	t	H
t
 ^ RIHtHtHtHtHt ^ RIHt  ! R R]4      t]t ! R R]4      tR	# )
    )Serialisable)AliasTypedStringFloatIntegerBoolNoneSetSet)ExtensionList	HexBinaryGuidRelationBase64Binary)hash_passwordc                     a a ] tR t^t oRRuttR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]! R4      t]! RR7      t]! R	4      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]! RR7      tRtRR
 ltRR lt ]!R 4       t"]"PF                  R 4       t"RR lt$]!R 4       t%]%PF                  R 4       t%]&V 3R l4       t'Rt(Vt)V ;t*# )WorkbookProtectionN
workbookPrworkbookPasswordT
allow_nonerevisionsPasswordlockStructurelockWindowslockRevisionc                    Ve   Wn         W n        Ve   W0n        W@n        WPn        W`n        Wpn        Wn        Wn        Wn	        Wn
        Wn        Wn        Wn        Wn        R # Nr   workbookPasswordCharacterSetr   revisionsPasswordCharacterSetr   r   r   revisionsAlgorithmNamerevisionsHashValuerevisionsSaltValuerevisionsSpinCountworkbookAlgorithmNameworkbookHashValueworkbookSaltValueworkbookSpinCount)selfr   r   r   r    r   r   r   r!   r"   r#   r$   r%   r&   r'   r(   s   &&&&&&&&&&&&&&&&e/Users/mibo/.openclaw/workspace/.venv-ak/lib/python3.14/site-packages/openpyxl/workbook/protection.py__init__WorkbookProtection.__init__7   sj    " '$4!,H)(%6"-J**&(&<#"4"4"4%:"!2!2!2    c                8    V'       g   \        V4      pWn        R# )z Set a password on this workbook.N)r   _workbook_passwordr)   valuealready_hasheds   &&&r*   set_workbook_password(WorkbookProtection.set_workbook_passwordZ   s    !%(E"'r-   c                    V P                   # )z7Return the workbook password value, regardless of hash.)r/   r)   s   &r*   r   #WorkbookProtection.workbookPassword`   s     &&&r-   c                (    V P                  V4       R# )z6Set a workbook password directly, forcing a hash step.N)r3   r)   r1   s   &&r*   r   r7   e   s     	""5)r-   c                8    V'       g   \        V4      pWn        R# )z)Set a revision password on this workbook.N)r   _revisions_passwordr0   s   &&&r*   set_revisions_password)WorkbookProtection.set_revisions_passwordj   s    !%(E#( r-   c                    V P                   # )z8Return the revisions password value, regardless of hash.)r;   r6   s   &r*   r   $WorkbookProtection.revisionsPasswordp   s     '''r-   c                (    V P                  V4       R# )z7Set a revisions password directly, forcing a hash step.N)r<   r9   s   &&r*   r   r?   u   s     	##E*r-   c                   < \         SV `  V4      pVP                  '       d#   VP                  VP	                  R4      RR7       VP
                  '       d#   VP                  VP	                  R4      RR7       V# )z0Don't hash passwords when deserialising from XMLr   T)r2   r   )super	from_treer   r3   getr   r<   )clsnoder)   	__class__s   && r*   rC   WorkbookProtection.from_treez   sm     w &   &&txx0B'CTX&Y!!!''1D(EVZ'[r-   )r;   r/   r   r   r   r!   r"   r   r    r#   r$   r%   r&   r   r   r'   r(   r   )NNNNNNNNNNNNNNN) F)+__name__
__module____qualname____firstlineno__r/   r;   tagnamer   workbook_passwordr   r   revision_passwordr    r	   r   lock_structurer   lock_windowsr   lock_revisionr!   r   r"   r#   r   r$   r%   r&   r'   r(   	__attrs__r+   r3   propertyr   setterr<   r   classmethodrC   __static_attributes____classdictcell____classcell__)rG   __classdict__s   @@r*   r   r      sf    .2D++G01#)T#: 12$*d$;!D)M?+N$'K'L4(L.)M#t4%6%6 D1"d3$5$540;I!3F( ' ' * *) ( ( + +   r-   r   c                      a  ] tR t^t o 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RR ltRtV tR# )FileSharingfileSharingTr   Nc                Z    Wn         W n        W0n        W@n        WPn        W`n        Wpn        R # r   )readOnlyRecommendeduserNamereservationPasswordalgorithmName	hashValue	saltValue	spinCount)r)   r`   ra   rb   rc   rd   re   rf   s   &&&&&&&&r*   r+   FileSharing.__init__   s*     $7  #6 *"""r-   )rc   rd   r`   rb   re   rf   ra   )NNNNNNN)rJ   rK   rL   rM   rN   r	   r`   r   ra   r   rb   rc   r   rd   re   r   rf   r+   rX   rY   )r[   s   @r*   r]   r]      s\     G$/&H#t4d+M-I-I4(I# #r-   r]   N)!openpyxl.descriptors.serialisabler   openpyxl.descriptorsr   r   r   r   r   r	   r
   r   openpyxl.descriptors.excelr   r   r   r   r   openpyxl.utils.protectionr   r   DocumentSecurityr]    r-   r*   <module>rn      sK    ;	 	 	  4j jZ & #, #r-   