Ë
    ¸~ÞeX  ã                   óV   — d dl mZ d dl mZ d dl mZ d dl mZ d dl mZ  G d„ de«      Zy)	é    )ÚAny)ÚBytes)ÚConstant)ÚFloat)ÚKeyDictc                   ó.   ‡ — e Zd ZdZdˆ fd„	Zˆ fd„Zˆ xZS )ÚMessagea
  
    Like L{KeyDict}, but with three predefined keys: C{type}, C{api},
    and C{timestamp}. Of these, C{api} and C{timestamp} are optional.


    @param type: The type of the message. The C{type} key will need to
        match this as a constant.
    @param schema: A dict of additional schema in a format L{KeyDict}
        will accept.
    @param optional: An optional list of keys that should be optional.
    @param api: The server API version needed to send this message,
        if C{None} any version is fine.
    c                 óî   •— || _         || _        t        «       |d<   t        t	        «       t        d «      «      |d<   t        |«      |d<   ||j                  ddg«       nddg}t        ‰| !  ||¬«       y )NÚ	timestampÚapiÚtype)Úoptional)	r   r   r   r   r   r   ÚextendÚsuperÚ__init__)Úselfr   Úschemar   r   Ú	__class__s        €úC/usr/lib/python3/dist-packages/landscape/message_schemas/message.pyr   zMessage.__init__   ss   ø€ ØˆŒ	ØˆŒÜ#›gˆˆ{ÑÜœE›G¤X¨d£^Ó4ˆˆu‰Ü! $›ˆˆv‰ØÐØO‰O˜[¨%Ð0Õ1à# UÐ+ˆHÜ‰Ñ˜¨(ÐÕ3ó    c                 óž   •— t        |j                  «       «      D ]"  }|| j                  vsŒ|j                  |«       Œ$ t        ‰|   |«      S )N)ÚlistÚkeysr   Úpopr   Úcoerce)r   ÚvalueÚkr   s      €r   r   zMessage.coerce#   sG   ø€ Üe—j‘j“lÓ#ò 	ˆAØ˜Ÿ™Ò#ð
 —	‘	˜!•ð	ô ‰w‰~˜eÓ$Ð$r   )NN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   Ú__classcell__)r   s   @r   r	   r	      s   ø„ ñõ
4÷%ð %r   r	   N)Úlandscape.lib.schemar   r   r   r   r   r	   © r   r   ú<module>r%      s    ðÝ $Ý &Ý )Ý &Ý (ô#%ˆgõ #%r   