
    ^hZ                    *    S SK Jr  S SKJrJr  SS jrg)    )annotations)AnyDictc                (   U R                  5        HY  u  p#[        U[        5      (       a2  X!;   a+  [        X   [        5      (       a  [        X   X   5        MH  MJ  ML  X!;   d  MS  X   X'   M[     UR                  5        H  u  p#X ;  d  M  X0U'   M     U $ )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)thisthatkeyvalues       W/home/james-whalen/.local/lib/python3.13/site-packages/traitlets/utils/nested_update.pyr
   r
      s    , jjl
eT""{z$)T::di3  ;{[	DI # jjl
?I # K    N)r   Dict[Any, Any]r   r   returnr   )
__future__r   typingr   r   r
    r   r   <module>r      s    # !r   