܍~c 2dZdefZdZGddZdS) no_replacereplacec|D] }||vrdS dS)NTF)whatkeysks :/usr/lib/python3/dist-packages/cloudinit/mergers/m_dict.py_has_anyr s+  9944  5c&eZdZdZdZdZdZdS)Mergerc||_t|_tD]}||vr ||_nd|v|_t |dd|_d|v|_d|_dS)N recurse_str recurse_array recurse_list allow_deleteT) _mergerDEF_MERGE_TYPE_method MERGE_TYPES _recurse_strr _recurse_array _allow_delete _recurse_dict)selfmergeroptsms r __init__zMerger.__init__sw %   ADyy  *T1&t_nMM+t3!r cPd}||j|j|j|j|jfz}|S)NzWDictMerger: (method=%s,recurse_str=%s,recurse_dict=%s,recurse_array=%s,allow_delete=%s))rrrrr)rss r __str__zMerger.__str__%sB @   L           r cfd}|D]C\}}||vr5|jr||(||||||<>|||<D|S)Nchr|St|ttfr"jrj||St|t r"jrj||St|tr"j rj||S|S)N) isinstancelisttuplerrmergestrrdictr)old_vnew_v do_replacers r merge_same_keyz/Merger._do_dict_replace..merge_same_key4s  %$// 8D4G 8|))%777%%% 8$*; 8|))%777%$(( 8T-? 8|))%777Lr )itemsrpop)rvalue merge_withr-r.rvs` ` r _do_dict_replacezMerger._do_dict_replace3s      !&&((  FQEzz9!39IIaLLLL-~eAh::E!HHa r c"t|ts|S|jdkr%|t||d}nG|jdkr%|t||d}nt d|jz|S)NrTrFzUnknown merge type %s)r%r*rr4NotImplementedError)rr1r2mergeds r _on_dictzMerger._on_dictJs*t-- L <9 $ $**4;; DIIFF \\ ) )**4;; EJJFF%&=&NOO O r N)__name__ __module__ __qualname__rr"r4r8rr r r r sP " " "   .     r r N)rrr r rr r r<sZ  >>>>>>>>>>r