+
      xi  c                  sv   € R t ^ RIHt ^ RIt^ RIHtHt ]'       d   ^ RIHt ^ RI	H
t
 R R lt ! R R	4      tR# )
z<Module that handles device information stored in PSKC files.)ÚannotationsN)ÚAnyÚTYPE_CHECKING)ÚPSKC©ÚKeyc               s$   € V ^8„  d   QhRRRRRR/# )é   ÚobjzKey | DeviceÚkwargsr   ÚreturnÚNone© ©Zformató   "Ú0/usr/lib/python3.14/site-packages/pskc/device.pyÚ__annotate__r   !   s!   € ÷ !ñ !˜<ð !°3ð !¸4ñ !ó    c                s  € VP                  4        Fl  w  r#RV9   d   VP                  R4      MVP                  R4      pT pVRR  F  p\        WV4      pK  	  \        WTR,          4       \        WTR,          V4       Kn  	  R# )z'Update object with provided properties.Z.Z__Niÿÿÿÿ)ZitemsZsplitZgetattrZsetattr)r   r   ZkZvZpartsZoZnames   &,     r   Úupdate_attributesr   !   sj   € à—‘–‰ˆØ # q¤—‘˜”¨a¯g©g°d«mˆØˆØ˜#˜2“JˆDÜ˜Ó ŠAñ ä˜•9ÔÜ˜•9˜aÖ ó r   c                  s2   € ] tR t^,tRtR R ltR R ltRtR# )ÚDevicead  Representation of a single key from a PSKC file.

Instances of this class provide the following properties:

  manufacturer: name of the organisation that made the device
  serial: serial number of the device
  model: device model description
  issue_no: issue number per serial number
  device_binding: device (class) identifier for the key to be loaded upon
  start_date: key should not be used before this date
  expiry_date: key or device may expire after this date
  device_userid: user distinguished name associated with the device
  crypto_module: id of module to which keys are provisioned within device
c               ó    € V ^8„  d   QhRRRR/# )r   Úpskcr   r	   r
   r   r   r   r   r   ÚDevice.__annotate__<   s   € ÷ "ñ "˜Tð " dñ "r   c                	sž   € Wn         R V n        R V n        R V n        R V n        R V n        R V n        R V n        R V n        R V n	        . V n
        R # )N)r   ÚmanufacturerÚserialÚmodelÚissue_noÚdevice_bindingÚ
start_dateÚexpiry_dateÚdevice_useridÚcrypto_moduleÚkeys)Úselfr   s   &&r   Ú__init__ZDevice.__init__<   sR   € àŒ	à(,ˆÔØ"&ˆŒØ!%ˆŒ
Ø*.ˆŒØ*.ˆÔØ48ˆŒØ59ˆÔØ)-ˆÔØ)-ˆÔà!ˆŽ	r   c               r   )r   r   z,str | bytes | int | datetime.datetime | Noner	   r   r   r   r   r   r   r   L   s   € ÷ ñ Ð Lð ÐQTñ r   c                sp   € ^ RI Hp V! V 4      pV P                  P                  V4       \	        V3/ VB  V# )a@  Create a new key instance for the device.

The new key is initialised with properties from the provided keyword
arguments if any.

The arguments may be any valid attribute of :class:`~pskc.key.Key` or
be of the special form `policy.attribute` or `policy__attribute` to set
any attribute of :class:`~pskc.policy.Policy`.
r   )Úpskc.keyr   r   Zappendr   )r    r   r   Zkeys   &,  r   Úadd_keyZDevice.add_keyL   s4   € õ 	!Ù$‹iˆØ	‰	×Ñ˜ÔÜ˜#Ñ( Ò(Øˆ
r   )r   r   r   r   r   r   r   r   r   r   r   N)Z__name__Z
__module__Z__qualname__Z__firstlineno__Ú__doc__r!   r#   Z__static_attributes__r   r   r   r   r   ,   s   † ñõ"÷ ñ r   r   )r$   Z
__future__r    ZdatetimeZtypingr   r   r   r   r"   r   r   r   r   r   r   Ú<module>r%      s,   ðñ* Cå "ã ß %çÝÝõ!÷.ó .r   