
    Vh
                    V    d dl mZ d dlmc mc mZ d dlmZ d dl	m
Z
  G d de
      Zy)    )annotationsN)get_file_content)BaseFactCollectorc                  &    e Zd ZdZ e       ZddZy)DnsFactCollectordnsNc                j   i }i |d<   t        dd      j                         D ]  }|j                  d      s$|j                  d      s|j                         dk(  r:|j	                         }t        |      dk(  rY|d   dk(  r1d|d   vrg |d   d<   |d	d  D ]  }|d   d   j                  |        |d   d
k(  rt        |      d	kD  s|d	   |d   d
<   |d   dk(  r*g |d   d<   |d	d  D ]  }|d   d   j                  |        |d   dk(  r+g |d   d<   |d	d  D ]  }|d   d   j                  |        |d   dk(  s$i |d   d<   t        |      d	kD  s<|d	d  D ]J  }	|	j	                  dd	      }
t        |
      dk(  r$t        |
      dk(  xr |
d	   xs d}||d   d   |
d   <   L  |S )Nr   z/etc/resolv.conf #;r   
nameservernameservers   domainsearchsortlistoptions:   T)r   
splitlines
startswithstripsplitlenappend)selfmodulecollected_facts	dns_factslinetokensr   suffixaddressoptionoption_tokensvals               U/home/dcms/DCMS/lib/python3.12/site-packages/ansible/module_utils/facts/system/dns.pycollectzDnsFactCollector.collect   s&   	 	%$%7<GGI 	LDs#ts';tzz|r?QZZ\F6{aayL( 	%(8868Ie$]3"(* GJe$]3:::FGh&v;?17Ie$X.h&-/	% *$QRj >Fe$X.55f=>j(/1	% ,%abz AGe$Z077@Ai'.0	% +v;?"(* L(.S!(<}-2$!-0A5J-:JRdHK	%(3M!4DEL3	L@     )NN)__name__
__module____qualname__nameset	_fact_idsr(    r)   r'   r   r      s    DI&r)   r   )
__future__r   "ansible.module_utils.compat.typingmodule_utilscompattypingt ansible.module_utils.facts.utilsr   $ansible.module_utils.facts.collectorr   r   r0   r)   r'   <module>r9      s#     # . . = B*( *r)   