+
    ~viT                    *    ^ RI Ht ^ RIHt R R ltR# )    )annotations)Anyc               $    V ^8  d   QhRRRRRR/# )   thiszdict[Any, Any]thatreturn )formats   "?/usr/lib/python3/dist-packages/traitlets/utils/nested_update.py__annotate__r      s!     ! ! !n ! !    c                R   V P                  4        Fm  w  r#\        V\        4      '       dA   W!9   d9   \        W,          \        4      '       d   \        W,          W,          4       KW  KY  K[  W!9   g   Kc  W,          W&   Ko  	  VP                  4        F  w  r#W 9  g   K  W0V&   K  	  V # )a  Merge two nested dictionaries.

Effectively a recursive ``dict.update``.

Examples
--------
Merge two flat dictionaries:
>>> nested_update(
...     {'a': 1, 'b': 2},
...     {'b': 3, 'c': 4}
... )
{'a': 1, 'b': 3, 'c': 4}

Merge two nested dictionaries:
>>> nested_update(
...     {'x': {'a': 1, 'b': 2}, 'y': 5, 'z': 6},
...     {'x': {'b': 3, 'c': 4}, 'z': 7, '0': 8},
... )
{'x': {'a': 1, 'b': 3, 'c': 4}, 'y': 5, 'z': 7, '0': 8}

)items
isinstancedictnested_update)r   r   keyvalues   &&  r   r   r      s    , jjl
eT""{z$)T::di3  ;{[	DI # jjl
?I # Kr   N)
__future__r   typingr   r   r
   r   r   <module>r      s    # !r   