+
    ni                     4    R t ^ RIHt ^ RIt ! R R]4      tR# )zDNS name dictionary)MutableMappingNc                   n   a a ] tR t^$t oRt. ROtV 3R ltR tR tR t	R t
R tR tR	 tR
 tRtVtV ;t# )NameDictzA dictionary whose keys are dns.name.Name objects.

In addition to being like a regular Python dictionary, this
dictionary can also get the deepest match for a given key.
c                   < \         SV `  4        \        4       V n        ^ V n        ^ V n        V P                  \        V/ VB 4       R# )    N)super__init__dict_NameDict__store	max_depthmax_depth_itemsupdate)selfargskwargs	__class__s   &*,fC:\Users\petid\OneDrive\Desktop\Maestro\MAESTRO\maestro-backend\venv\Lib\site-packages\dns/namedict.pyr   NameDict.__init__-   s<    v D$)&)*    c                    \        V4      V P                  8X  d   V P                  ^,           V n        R# \        V4      V P                  8  d   \        V4      V n        ^V n        R# R#    N)lenr   r   r   keys   &&r   __update_max_depthNameDict.__update_max_depth6   sM    s8t~~%#'#7#7!#;D X& XDN#$D  'r   c                (    V P                   V,          # Nr
   r   s   &&r   __getitem__NameDict.__getitem__=   s    ||C  r   c                    \        V\        P                  P                  4      '       g   \	        R 4      hW P
                  V&   V P                  V4       R# )zNameDict key must be a nameN)
isinstancednsnameName
ValueErrorr
   _NameDict__update_max_depth)r   r   values   &&&r   __setitem__NameDict.__setitem__@   s=    #sxx}}--:;;!S$r   c                   V P                   P                  V4       \        V4      V P                  8X  d   V P                  ^,
          V n        V P                  ^ 8X  d.   ^ V n        V P                    F  pV P                  V4       K  	  R# R# r   )r
   popr   r   r   r(   )r   r   ks   && r   __delitem__NameDict.__delitem__F   sm    s8t~~%#'#7#7!#;D 1$DN\\''* " %r   c                ,    \        V P                  4      # r   )iterr
   r   s   &r   __iter__NameDict.__iter__O   s    DLL!!r   c                ,    \        V P                  4      # r   )r   r
   r3   s   &r   __len__NameDict.__len__R   s    4<<  r   c                    WP                   9   # r   r   r   s   &&r   has_keyNameDict.has_keyU   s    ll""r   c                X   \        V4      pW P                  8  d   V P                  p\        V) ^ 4       F6  p\        P                  P                  WR 4      pW@9   g   K,  W@V,          3u # 	  V \        P                  P                  ,          p\        P                  P                  V3# )as  Find the deepest match to *name* in the dictionary.

The deepest match is the longest name in the dictionary which is
a superdomain of *name*.  Note that *superdomain* includes matching
*name* itself.

*name*, a ``dns.name.Name``, the name to find.

Returns a ``(key, value)`` where *key* is the deepest
``dns.name.Name``, and *value* is the value associated with *key*.
N)r   r   ranger$   r%   r&   empty)r   r%   depthinvs   &&    r   get_deepest_matchNameDict.get_deepest_matchX   s     D	>>!NNEvq!Ad2h'Ay7|# "  ""r   )__storer   r   )r   r   rE   )__name__
__module____qualname____firstlineno____doc__	__slots__r   r(   r    r*   r/   r4   r7   r:   rC   __static_attributes____classdictcell____classcell__)r   __classdict__s   @@r   r   r   $   sC      <I+%!%+"!## #r   r   )rJ   collections.abcr   dns.namer$   r    r   r   <module>rS      s    8  + I#~ I#r   