fddlZddlmZmZddlmZeGddejjZ dedefdZ y) N)AnyCallable) immutablec peZdZdefdededegejjffdZ dZ dZ dZ d Zy ) DictF dictionaryno_copy map_factoryc|r3t|tjjr||_d|_y||_|jj |d|_y)aMake an immutable dictionary from the specified dictionary. If *no_copy* is `True`, then *dictionary* will be wrapped instead of copied. Only set this if you are sure there will be no external references to the dictionary. N) isinstance collectionsabcMutableMapping_odictupdate_hash)selfrr r s V/var/lib/jenkins/workspace/mettalog/venv/lib/python3.12/site-packages/dns/immutable.py__init__z Dict.__init__ sN z*koo.L.LM$DK &-DK KK  z * c8|jj|SN)r __getitem__)rkeys rrzDict.__getitem__s{{&&s++rc|jOd}t|jjD]}|t |z}t j |d||jS)Nrr)rsortedrkeyshashobject __setattr__)rhrs r__hash__z Dict.__hash__!sV :: Adkk..01T#Y2   tWa 0zzrc,t|jSr)lenrrs r__len__z Dict.__len__*s4;;rc,t|jSr)iterrr%s r__iter__z Dict.__iter__-sDKK  rN)__name__ __module__ __qualname__dictrboolrr rrrrr"r&r)rrrr sS DH b+//"@"@@A &, !rroreturnct|tr t|St|tr t ||St|t rtd|DSt|trzconstify..<s43#4c32K|]}t|ywrr4r6s rr9zconstify..>s0sXc]0r:T) r bytearraybytestupler Exceptionlistr-itemsr5r)r0cdictkvs rr5r51s!YQx!U 5 GH!T0a000!TGGIDAq{E!HE4  H 54!44 4 5s B**CC) collections.abcr typingrrdns._immutable_ctxrrMappingrr5r/rrrIsI ( $!;?? " "$! $!N   r