+
    nieo              	          R t ^ RIt^ RIt^ RIHtHtHtHtHtH	t	 ^ RI
t^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt ! R R]P.                  P0                  4      t ! R R]P.                  P0                  4      tR t]]P8                  P:                  ]P<                  P>                  R,          ]P<                  P>                  R,          ]R,          ] ]!] ]!3,          t"R t# ! R	 R
4      t$ ! R R]PJ                  PL                  4      t' ! R R]PJ                  PP                  4      t)RR]PT                  PV                  ]PT                  PV                  RRR]P<                  PX                  R3	R R llt-R# )z
DNS Zones.N)AnyIterableListSetTuplecastc                       ] tR t^&tRtRtR# )UnknownOriginzUnknown origin N__name__
__module____qualname____firstlineno____doc____static_attributes__r
       fC:\Users\petid\OneDrive\Desktop\Maestro\MAESTRO\maestro-backend\venv\Lib\site-packages\dns/zonefile.pyr	   r	   &   s    r   r	   c                       ] tR t^*tRtRtR# )CNAMEAndOtherDataz!A node has a CNAME and other datar
   Nr   r
   r   r   r   r   *   s    +r   r   c                    \         P                  P                  P                  V4      pV P	                  V4      pVf   R # VP                  4       pV\         P                  P                  P                  8X  d5   V\         P                  P                  P                  8X  d   \        R4      hV\         P                  P                  P                  8X  d7   V\         P                  P                  P                  8X  d   \        R4      hR # R # )Nz1rdataset type is not compatible with a CNAME nodez9CNAME rdataset is not compatible with a regular data node)	dnsnodeNodeKindclassify_rdatasetget_nodeclassifyCNAMEREGULARr   )txnnamerdatasetrdataset_kindr   	node_kinds   &&&   r   _check_cname_and_other_datar$   .   s    HH%%77AM<<D|ISXX&&,,,SXX..666 STTSXX&&...SXX..444G
 	
 5 	/r   c                 f    V P                  4       p V P                  R 4      '       g
   R V ,           p V # )$)upper
startswith)ss   &r   _upper_dollarizer*   Q   s*    		A<<!GHr   c                   v   a  ] tR t^Xt o RtRV 3R lR lltR tR tR tV 3R lR	 lt	R
 t
V 3R lR ltRtV tR# )Readerz(Read a DNS zone file into a transaction.Nc                  < V ^8  d   QhRS[ P                  P                  RS[ P                  P                  RS[ P
                  P                  RS[RS[S[S[	,          ,          RS[ P                  P                  R,          RS[R,          R	S[ P                  P                  R,          R
S[ P                  P                  R,          RS[R,          /
# )   tokrdclassr   allow_includeallow_directives
force_nameN	force_ttlforce_rdclassforce_rdtypedefault_ttl)r   	tokenizer	Tokenizer
rdataclass
RdataClasstransactionTransactionboolr   strr    Nameint	rdatatype	RdataType)format__classdict__s   "r   __annotate__Reader.__annotate__[   s     0A 0A]]$$0A **0A __((	0A
 0A #.0A HHMMD(0A :0A ~~00470A mm--40A 4Z0Ar   c                t   Wn         VP                  P                  4       w  V n        V n        pV P                  V n        ^ V n        RV n        Ve   Tp
V
f   ^ V n        RV n	        MWn        RV n	        V P
                  V n
        W n        W0n        . V n        RV n        V  VRJ d.   0 RmV n        V'       d   V P                  P!                  R4       M-VRJ d   \#        4       V n        M\#        R V 4       4      V n        W`n        Wpn        Wn        Wn        V P                  P-                  \.        4       R# )    FNT$INCLUDEc              3   8   "   T F  p\        V4      x  K  	  R # 5iN)r*   ).0ds   & r   	<genexpr>"Reader.__init__.<locals>.<genexpr>   s     )XGW!*:1*=*=GWs   >   $TTL$ORIGIN	$GENERATE)r/   managerorigin_informationzone_origin
relativizecurrent_originlast_ttllast_ttl_knownr7   default_ttl_known	last_namezone_rdclassr   saved_statecurrent_fileallowed_directivesaddsetr3   r4   r5   r6   check_put_rdatasetr$   )selfr/   r0   r   r1   r2   r3   r4   r5   r6   r7   _s   &&&&&&&&&&& r   __init__Reader.__init__[   s    141O1O1Q.	4?A"..# #K D%*D"*%)D",,#13(,t#&FD#''++J7& '*eD# '*)XGW)X&XD#$"*(##$?@r   c                l     V P                   P                  4       pVP                  4       '       g   K3  R# )   N)r/   getis_eol_or_eofrd   tokens   & r   	_eat_lineReader._eat_line   s&    HHLLNE""$$r   c                    V P                   P                  4       pVP                  4       '       g   \        P                  P
                  hV# rL   )r/   rj   is_identifierr   	exceptionSyntaxErrorrl   s   & r   _get_identifierReader._get_identifier   s5    ""$$--+++r   c           	        RpV P                   e   V P                   pEM]V P                  f   \        hV P                  P	                  RR7      pVP                  4       '       g,   V P                  P                  WP                  4      V n        MMV P                  P	                  4       pVP                  4       '       d   R# V P                  P                  V4       V P                  pVf    \        P                  P                  R4      hV P                  f   Q hVP                  V P                  4      '       g   V P                  4        R# V P                   '       d   VP!                  V P                  4      pV P"                  e   V P"                  pW0n        RV n        MKV P)                  4       pRp \        P*                  P-                  VP.                  4      pW0n        RV n        RpV P2                  e   V P2                  pMiV P)                  4       p \        P4                  P-                  VP.                  4      pY@P8                  8w  d    \        P                  P                  R4      hVfL   V P)                  4       pRp \        P*                  P-                  VP.                  4      pW0n        RV n        RpV P>                  e   V P>                  pM:V P)                  4       p \        P@                  P-                  VP.                  4      p \        PB                  P-                  VVV P                  V P                  V P                   V P                  4      pT P:                  '       g   T\        P@                  PJ                  8X  da   \M        \        PN                  PP                  PJ                  PJ                  T4      p	T	PR                  T n        RT n        Tf   T	PR                  pTf    \        P                  P                  R4      hT PT                  PW                  Y#T4       R#   \        P*                  P0                   d     T P                  P                  T4        ELi ; i  \        P                  P                   d    h \6         d,    T P8                  pT P                  P                  T4        ELi ; i  \        P*                  P0                   d]    T P:                  '       d   T P<                  pMT P&                  '       d   T P$                  pT P                  P                  T4        ELi ; i  \6         d/    \        P                  P                  RTP.                   R24      hi ; i  \        P                  P                   d    h \6         dW    \D        PF                  ! 4       R,          w  rx\        P                  P                  R	\I        T4       R
\I        T4       24      hi ; i)z&Process one line from a DNS zone file.NT)want_leadingzthe last used name is undefinedRR class is not zone's classunknown rdatatype ''Nr.   Ncaught exception : Missing default TTL value),r3   rX   r	   r/   rj   is_whitespaceas_namer\   rk   ungetr   rr   rs   rV   is_subdomainrn   rW   r4   rY   rZ   rt   ttl	from_textvalueBadTTLr5   r:   	Exceptionr]   r[   r7   r6   rB   rdatasysexc_infor?   SOAr   rdtypesANYminimumr   ra   )
rd   rm   r    r   r0   rdtyperdtyvasoa_rds
   &         r   _rr_lineReader._rr_line   s   ??&??D""*##HHLLdL3E&&((!%!1!1%9L9L!M&&((u%>>D|mm//0QRR##///$$T%5%566 t'7'78 >>%..CM"&D((*EC&gg''4 #&*#
 )((G((*E&..225;;? +++mm//0NOO;((*EC
&gg''4 #&*# (&&F((*EV00=	V$$##  B( %%%&CMM4E4E*E #++//--1126F%~~D%)D"{nn ;--++,GHHT#c 77>> &u%& ==,,  &++u%& 77>> &)))**C(((--Cu%&  Vmm//2Eekk]RS0TUUV }}(( 	 	V ||~b)HR--++.?By3r7),TUU	Vsh   78P6 )Q7 
8S .)U AV	 6:Q43Q47(S (SS0U
 U
'U
	U
9V	(X	2AX	c          	      H   < V ^8  d   QhRS[ RS[S[ S[ S[S[S[ 3,          /# )r.   sidereturn)r?   r   rA   )rD   rE   s   "r   rF   rG     s+     +0 +0# +0%S#sC0G*H +0r   c                   \         P                  ! R 4      p\         P                  ! R4      p\         P                  ! R4      pRpRpRpRpRp	VP                  V4      p
V
'       d   V
P                  4       w  rVrxp	VR8X  d   RpMqVP                  V4      pV'       d"   VP                  4       w  rVpVR8X  d   RpRpRp	M7VP                  V4      pV'       d   VP                  4       w  rVrxVR8X  d   RpRp	\	        V4      p\	        V4      pVR	9  d#   \
        P                  P                  RV 24      hV	R
9  d#   \
        P                  P                  RV	 24      hWVWV	3# )z"^.*\$({(\+|-?)(\d+),(\d+),(.)}).*$z^.*\$({(\+|-?)(\d+)}).*$z^.*\$({(\+|-?)(\d+),(\d+)}).*$ +0rN   zinvalid offset sign zinvalid type )r   -)rN   oxXnN)recompilematchgroupsrA   r   rr   rs   )rd   r   is_generate1is_generate2is_generate3modsignoffsetwidthbaseg1g2g3ioffsetiwidths   &&             r   _parse_modifyReader._parse_modify  sT    zz"GHzz"=>zz"CD %-/YY[*Cvdrz##D)B$&IIK!62:D!''-/1yy{,Cvrz"Df+Uz!--++.B4&,IJJ55--++mD6,BCC'4//r   c           
     @  a V P                   f   \        hV P                  P                  4       p \        P
                  P                  VP                  4      w  r#pV P                  P                  4       pVP                  4       '       g   \        P                  P                  h  TP                  pT P                  P                  4       pTP                  4       '       g   \        P                  P                  h  \        P                  P                  TP                  4      pY`n        RT n        T P                  P                  4       pTP                  4       '       g   \        P                  P                  h  \        P$                  P                  TP                  4      pT P                  P                  4       pTP                  4       '       g   \        P                  P                  h YpP&                  8w  d    \        P                  P                  R4      h \        P(                  P                  TP                  4      pT P                  P                  4       pTP                  4       '       g   \        P                  P                  h TP                  p	R R lp
R	 T3R
 lloT P+                  T4      w  rrpT P+                  T	4      w  ppppp\-        Y#^,           T4       EFu  pT
! TY4      pT
! TTT4      pS! TY4      pS! TTT4      pTP/                  RT 2T4      pT	P/                  RT 2T4      p\        P0                  P                  TT P                   T P                  P2                  4      T n        T P4                  pT P6                  f   Q hTP9                  T P6                  4      '       g   T P;                  4         R# T P<                  '       d   TP=                  T P6                  4      p \        P>                  P                  TTTT P                   T P<                  T P6                  4      pT PF                  PI                  TTT4       EKx  	  R#   \         d    \        P                  P                  hi ; i  \         d    \        P                  P                  hi ; i  \        P                  P                   d    T P                  '       g2   T P                   '       g    \        P                  P                  R4      hT P                   '       d   T P"                  p ELT P                  '       d   T P                  p EL\        P                  P                  R4      hi ; i  \        P                  P                   d    \        P                  P                  h\         d    T P&                  p ELi ; i  \         d/    \        P                  P                  RTP                   R24      hi ; i  \        P                  P                   d    h \         dX    \@        PB                  ! 4       R,          w  pp\        P                  P                  R\E        T4       R\E        T4       24      hi ; i)zHProcess one line containing the GENERATE statement from a DNS
zone file.NTr~   rx   ry   rz   c                H    V ^8  d   QhR\         R\        R\         R\         /# )r.   counteroffset_signr   r   rA   r?   )rD   s   "r   rF   +Reader._generate_line.<locals>.__annotate__  s(     	$ 	$c 	$ 	$S 	$S 	$r   c                2    VR8X  d
   VR,          pW,           # )z0Calculate the index from the counter and offset.r   r
   )r   r   r   s   &&&r   _calculate_index/Reader._generate_line.<locals>._calculate_index  s    c!"##r   c                H    V ^8  d   QhR\         R\        R\         R\        /# )r.   indexr   r   r   r   )rD   s   "r   rF   r     s(     	 	 	C 	 	 	r   c                   < VR9   d   \        W4      P                  V4      # S! V RV4      pRP                  VRRR1,          4      RV pVR8X  d   VP                  4       pV# )zJFormat the index with the given base, and zero-fill it
to the given width.r   .Nr   )rN   r   r   r   r   )rD   zfilljoinr'   )r   r   r   hexanibbles_format_indexs   &&&  r   r   ,Reader._generate_line.<locals>._format_index  sh     ++e*0077 !U3DhhtDbDz*6E2Gs{!--/Nr   r&   r{   r|   r}   )%rX   r	   r/   rj   r   granger   r   rq   rr   rs   r   r   rY   rZ   r   r[   r7   r:   r]   rB   r   rangereplacer    
idna_codecr\   rV   r   rn   rW   r   r   r   r?   r   ra   ) rd   rm   startstopsteplhsr   r0   r   rhsr   lmodlsignloffsetlwidthlbasermodrsignroffsetrwidthrbaseilindexrindexlzfindexrzfindexr    r   r   r   r   r   s    &                              @r   _generate_lineReader._generate_lineB  s+    &	, #

 4 4U[[ AEHHLLNE&&((mm/// )	,++CHHLLNE&&((mm/// )	M''##EKK0CM"&DHHLLNE&&((mm/// ) 	(nn..u{{;GHHLLNE&&((mm/// ) '''--++,JKK	R]],,U[[9FHHLLNE&&((mm/// ) kk	$	 	 /3.@.@.E+We.2.@.@.E+eWfeuQh-A &a8F%a8F$VU;H$VUF;H;;4&z84DKK!D6
H5E XX//d))488+>+>DN >>D##///$$T%5%566 t'7'78YY((''OO$$, HHLLsB'] .]  	,--+++	,  	,--+++	, ww~~ 	M'''4+A+A+Amm//0KLL%%%&&$$$mm
 mm//0KLL	M& }}(( 	,--+++ 	(''G	(  	R--++.A%++a,PQQ	Rv ==,,  	 <<>"-Rmm//'By3r7)< 	s   A6Q1 );R %R B S AV
 V
 'AW   W  AX1&R&S 0V4V0V7VVV' V
AWWW 9X(ZAZc                   < V ^8  d   QhRR/# )r.   r   Nr
   )rD   rE   s   "r   rF   rG     s     `2 `2d `2r   c           
          V P                   P                  RR4      pVP                  4       '       d   V P                  e   V P                  P	                  4        \        V P                  4      ^ 8  dO   V P                  P                  R4      w  V n         V n        V n	        V n        V n
        V n        V n        V n        K  R# VP                  4       '       d   K  VP                  4       '       d   V P                   P!                  4        EK  VP"                  ^ ,          R8X  Ed   \        V P$                  4      ^ 8  Edw   VP"                  P'                  4       pW P$                  9  d$   \(        P*                  P-                  RV R24      hVR8X  d   V P                   P                  4       pVP/                  4       '       g    \(        P*                  P-                  R4      h\(        P0                  P3                  VP"                  4      V n        RV n        V P                   P!                  4        EMVR8X  d   V P                   P5                  4       V n        V P                   P!                  4        V P6                  f   V P                  V n        V P8                  P;                  V P                  4       EMVR	8X  Ed   V P                   P                  4       pVP"                  pV P                   P                  4       pVP/                  4       '       de   \(        P<                  P3                  VP"                  V P                  V P                   P>                  4      pV P                   P!                  4        MAVPA                  4       '       g    \(        P*                  P-                  R
4      hV P                  pV P                  PC                  V P                   V P                  V P                  V P                  V P                  V P                  V P                  V P                  34       \E        VRR7      V n        \(        PF                  PI                  V P                  V4      V n         W@n        M;VR8X  d   V PK                  4        M#\(        P*                  P-                  RV R24      hEK  V P                   PM                  V4       V PO                  4        EK    \(        P*                  P,                   d}   pT P                   PQ                  4       w  r6Tf   Rp\(        P*                  P-                  T RT RT 24      p\R        PT                  ! 4       ^,          pTPW                  T4      RhRp?ii ; i)zRead a DNS zone file and build a zone object.

@raises dns.zone.NoSOA: No SOA RR was found at the zone origin
@raises dns.zone.NoNS: No NS RRset was found at the zone origin
TNr&   zzone file directive 'z' is not allowedrQ   zbad $TTLrR   rJ   zbad origin in $INCLUDEzutf-8)encodingrS   zUnknown zone file directive 'rz   zsyntax error:r}   r   ),r/   rj   is_eofr_   closelenr^   poprX   r\   rY   rZ   r7   r[   is_eol
is_commentget_eolr   r`   r'   r   rr   rs   rq   r   r   get_namerV   r   _set_originr    r   rk   appendopenr8   r9   r   r   r   wherer   r   with_traceback)	rd   rm   cfilename
new_origindetailline_numberextbs	   &        r   readReader.read  s   Y	2T40<<>>((4))//14++,q0 !,,004	 H / N - M / , 2 \\^^%%''HH$$&[[^s*s43J3J/Ka/O ))+A 7 77!mm773A36FG  F{ $$2244"%--";";J"GG+.77+<+<U[[+I(15.((*i.2hh.?.?.A+((*++3/3/B/BD,,,T-@-@Aj $#(;; $ ..00),);); %T-@-@$((BUBU*J !HH,,.!&!4!4!6!6"%--";";<T"UU)-)<)<J((// $ $ 3 3 $ $ 1 1 $ $ 3 3 $ 0 0 $ 6 6	 -1G,L)#&==#:#:4;L;Lh#W.8+k)++-!mm77;A3a@  u%}}(( 	2&*hhnn&6#X~'**hZqRx+PQB"B##B'T1	2sF   2S* BS* S* S* 5CS* 
ES* A9S* ES* *V	A7V  V)r`   r_   rX   r7   r[   r3   r5   r6   r4   r\   rY   rZ   rW   r^   r/   r   rV   r]   )FTNNNNN)r   r   r   r   r   rf   rn   rt   r   r   r   r   r   __classdictcell__rE   s   @r   r,   r,   X   sD     20A 0Adz$x+0 +0ZJ(X`2 `2r   r,   c                   t   a a ] tR tRt oV 3R ltR tR tR tR tR t	R t
R	 tR
 tR tR tR tRtVtV ;t# )RRsetsReaderTransactioni1  c                J   < V'       d   Q h\         SV `  WV4       / V n        R # rL   )superrf   	rdatasets)rd   rT   replacement	read_only	__class__s   &&&&r   rf    RRsetsReaderTransaction.__init__2  s!    }y9r   c                <    V P                   P                  WV34      # rL   )r  rj   rd   r    r   coverss   &&&&r   _get_rdataset%RRsetsReaderTransaction._get_rdataset7  s    ~~!!4"899r   c                    . pV P                   P                  4        F"  w  w  p rEW8X  g   K  VP                  V4       K$  	  \        V4      ^ 8X  d   R# \        P
                  P                  4       pW&n         V# rI   N)r  itemsr   r   r   r   Node)rd   r    r  rdataset_namere   r!   r   s   &&     r   	_get_node!RRsetsReaderTransaction._get_node:  sg    	/3~~/C/C/E+!]Aq$  * 0F y>Qxx}}"r   c                N    W P                   WP                  VP                  3&   R # rL   )r  r   r  )rd   r    r!   s   &&&r   _put_rdataset%RRsetsReaderTransaction._put_rdatasetE  s    CKoox?@r   c                    . pV P                    F$  pV^ ,          V8X  g   K  VP                  V4       K&  	  \        V4      ^ 8  d   V F  pV P                   V K  	  R# R# r  )r  r   r   )rd   r    removekeys   &&  r   _delete_name$RRsetsReaderTransaction._delete_nameH  sT    >>C1v~c" " v;?NN3'  r   c                J     V P                   WV3 R #   \         d     R # i ; irL   )r  KeyErrorr
  s   &&&&r   _delete_rdataset(RRsetsReaderTransaction._delete_rdatasetR  s*    	f56 		s    ""c                F    V P                    F  w  p pW!8X  g   K   R # 	  R# TFr  )rd   r    r   re   s   &&  r   _name_exists$RRsetsReaderTransaction._name_existsX  s#    ~~GAq!y & r   c                2    \        V P                  4      ^ 8  # )rI   )r   r  rd   s   &r   _changed RRsetsReaderTransaction._changed^  s    4>>"Q&&r   c                   V'       d   V P                  4       '       d   . pV P                  P                  4        Fj  w  w  p rE\        P                  P                  W5P                  VP                  VP                  4      pVP                  V4       VP                  V4       Kl  	  V P                  P                  V4       R # R # R # rL   )r(  r  r  r   rrsetRRsetr0   r   r  updater   rT   
set_rrsets)rd   commitrrsetsr    re   r!   r+  s   &&     r   _end_transaction(RRsetsReaderTransaction._end_transactiona  s    dmmooF*...*>*>*@&q!		**HOOX__ X&e$ +A LL##F+ &6r   c                    R # rL   r
   )rd   origins   &&r   r   #RRsetsReaderTransaction._set_originl  s    r   c                    \         hrL   NotImplementedErrorr'  s   &r   _iterate_rdatasets*RRsetsReaderTransaction._iterate_rdatasetso      !!r   c                    \         hrL   r7  r'  s   &r   _iterate_names&RRsetsReaderTransaction._iterate_namesr  r;  r   r#  )r   r   r   r   rf   r  r  r  r  r  r$  r(  r1  r   r9  r=  r   r   __classcell__)r  rE   s   @@r   r  r  1  sG     
:	L('	,"" "r   r  c                      a  ] tR tRt o ]P
                  P                  R]P                  P                  3V 3R lR llt	R t
RR ltR tR tV 3R	 lR
 ltRtV tR# )RRSetsReaderManageriv  Fc                   < V ^8  d   QhRS[ P                  P                  R,          RS[RS[ P                  P
                  /# )r.   r4  NrW   r0   )r   r    r@   r>   r:   r;   )rD   rE   s   "r   rF    RRSetsReaderManager.__annotate__w  s@     	0 	0$	0 	0 **		0r   c                8    Wn         W n        W0n        . V n        R # rL   )r4  rW   r0   r0  )rd   r4  rW   r0   s   &&&&r   rf   RRSetsReaderManager.__init__w  s     $-/r   c                    \         hrL   r7  r'  s   &r   readerRRSetsReaderManager.reader  r;  r   c                ,    VR J g   Q h\        V R R4      # r"  )r  )rd   r  s   &&r   writerRRSetsReaderManager.writer  s    d"""&tT599r   c                    V P                   # rL   )r0   r'  s   &r   	get_classRRSetsReaderManager.get_class  s    ||r   c                    V P                   '       d   \        P                  P                  pMV P                  pV P                  V P                   V3# rL   )rW   r   r    emptyr4  )rd   	effectives   & r   rU   &RRSetsReaderManager.origin_information  s6    ???IIT__i88r   c                \   < V ^8  d   QhRS[ S[P                  P                  ,          RR/# )r.   r0  r   N)r   r   r+  r,  )rD   rE   s   "r   rF   rC    s(      ciioo!6 4 r   c                    Wn         R # rL   )r0  )rd   r0  s   &&r   r.  RRSetsReaderManager.set_rrsets  s    r   )r4  r0   rW   r0  N)F)r   r   r   r   r   r    rootr:   INrf   rG  rJ  rM  rU   r.  r   r   r   s   @r   rA  rA  v  sJ      (+xx}} -0^^->->		0 	0":9 r   rA  Fc                   V ^8  d   QhR\         R\        P                  P                  \        ,          R,          R\
        R,          R\        P                  P                  \        ,          R,          R\        P                  P                  \        ,          R\        P                  P                  \        ,          R,          R\
        \        ,          R,          R	\        P                  P                  R,          R
\        P                  P                  \        ,          R,          R\        R\        \        P                  P                  ,          /# )r.   textr    Nr   r0   default_rdclassr   r7   r   r4  rW   r   )r   r   r    r@   r?   rA   r:   r;   rB   rC   	IDNACodecr>   r   r+  r,  )rD   s   "r   rF   rF     s    ] ]
]
((--#

$] 
t] ^^&&,t3	]
 ^^..4] MM##c)D0] sT!] ""T)] HHMMC$&] ] 
#))//]r   c
                .   \        V\        4      '       d:   \        P                  P	                  V\        P                  P
                  V4      p\        V\        4      '       d!   \        P                  P	                  WV4      p\        V\        4      '       d    \        P                  P	                  V4      p\        V\        4      '       d    \        P                  P	                  V4      pVe+   \        P                  P                  P                  V4      pMRp\        P                  P                  P                  V4      pVe+   \        P                  P                  P                  V4      pMRp\        WV4      p
V
P                  R4      ;_uu_ 4       p\        P                  P                  V RVR7      p\!        VVVRVVVVVR7	      pVP#                  4        RRR4       V
P$                  #   + '       g   i     T
P$                  # ; i)a  Read one or more rrsets from the specified text, possibly subject
to restrictions.

*text*, a file object or a string, is the input to process.

*name*, a string, ``dns.name.Name``, or ``None``, is the owner name of
the rrset.  If not ``None``, then the owner name is "forced", and the
input must not specify an owner name.  If ``None``, then any owner names
are allowed and must be present in the input.

*ttl*, an ``int``, string, or None.  If not ``None``, the the TTL is
forced to be the specified value and the input must not specify a TTL.
If ``None``, then a TTL may be specified in the input.  If it is not
specified, then the *default_ttl* will be used.

*rdclass*, a ``dns.rdataclass.RdataClass``, string, or ``None``.  If
not ``None``, then the class is forced to the specified value, and the
input must not specify a class.  If ``None``, then the input may specify
a class that matches *default_rdclass*.  Note that it is not possible to
return rrsets with differing classes; specifying ``None`` for the class
simply allows the user to optionally type a class as that may be convenient
when cutting and pasting.

*default_rdclass*, a ``dns.rdataclass.RdataClass`` or string.  The class
of the returned rrsets.

*rdtype*, a ``dns.rdatatype.RdataType``, string, or ``None``.  If not
``None``, then the type is forced to the specified value, and the
input must not specify a type.  If ``None``, then a type must be present
for each RR.

*default_ttl*, an ``int``, string, or ``None``.  If not ``None``, then if
the TTL is not forced and is not specified, then this value will be used.
if ``None``, then if the TTL is not forced an error will occur if the TTL
is not specified.

*idna_codec*, a ``dns.name.IDNACodec``, specifies the IDNA
encoder/decoder.  If ``None``, the default IDNA 2003 encoder/decoder
is used.  Note that codecs only apply to the owner name; dnspython does
not do IDNA for names in rdata, as there is no IDNA zonefile format.

*origin*, a string, ``dns.name.Name``, or ``None``, is the origin for any
relative names in the input, and also the origin to relativize to if
*relativize* is ``True``.

*relativize*, a bool.  If ``True``, names are relativized to the *origin*;
if ``False`` then any relative names in the input are made absolute by
appending the *origin*.
NTz<input>)r   F)r2   r3   r4   r5   r6   r7   )
isinstancer?   r   r    r   rV  r   r:   r;   makerB   rC   rA  rJ  r8   r9   r,   r   r0  )rY  r    r   r0   rZ  r   r7   r   r4  rW   rT   r   r/   rG  s   &&&&&&&&&&    r   read_rrsetsr_    s   z &###FCHHMM:F$xx!!$
;#sgg$+s##gg''4..++009nn//44_EO((--f5!&oFG			mm%%dI*%M"!#

 	 
 >> 
	 >>s   AG99H	).r   r   r   typingr   r   r   r   r   r   dns.exceptionr   
dns.grangedns.namedns.node	dns.rdatadns.rdataclassdns.rdatatypedns.rdtypes.ANY.SOA	dns.rrsetdns.tokenizerdns.transactiondns.ttlrr   DNSExceptionr	   r   r$   r8   r9   r    r@   rA   r>   SavedStateTyper*   r,   r<   r=   r  TransactionManagerrA  r:   rW  rV  r_  r
   r   r   <module>rp     sC  $  	 
 8 8            CMM.. ,22 ,
. MMHHMMDHHMMD$J
	V2 V2rB"coo99 B"J#//<< F (,69nn6G6G7:~~7H7H37$(,0),] ]r   