�
�f
� � � G d � d� Z y)c �: � e Zd ZdZdZd� Zdeddfd�Zdeddfd �Z y)
�CloudInitPickleMixina� Scaffolding for versioning of pickles.
This class implements ``__getstate__`` and ``__setstate__`` to provide
lightweight versioning of the pickles that are generated for classes which
use it. Versioning is done at the class level.
The current version of a class's pickle should be set in the class variable
``_ci_pkl_version``, as an int. If not overridden, it will default to 0.
On unpickle, the object's state will be restored and then
``self._unpickle`` is called with the version of the stored pickle as the
only argument: this is where classes should implement any deserialization
fixes they require. (If the stored pickle has no version, 0 is passed.)
� c �j � | j j � }t | � j |d< |