7  java/lang/Object()V   org/freertr/serv/servDnsDoerparentLorg/freertr/serv/servDns;  pipeLorg/freertr/pipe/pipeSide;  connLorg/freertr/prt/prtGenConn;java/lang/Thread  (Ljava/lang/Runnable;)V  start  !"org/freertr/util/debugger servDnsTrafZ $%& '(java/lang/StringvalueOf&(Ljava/lang/Object;)Ljava/lang/String;* +,makeConcatWithConstants&(Ljava/lang/String;)Ljava/lang/String; ./0 12org/freertr/util/loggerdebug(Ljava/lang/String;)V4org/freertr/pack/packHolder 36 7(ZZ)V 39 :clear <=> ?@org/freertr/pack/packDns createHeader (Lorg/freertr/pack/packHolder;)V 3B C merge2beg EFG HIorg/freertr/pipe/pipeSide isBlockMode()Z 3K LMdataSize()I 3O PQpipeSend!(Lorg/freertr/pipe/pipeSide;III)ISorg/freertr/pack/packSize RU V"(Lorg/freertr/pipe/pipeSide;IZII)V RX YZ sendPacket (Lorg/freertr/pack/packHolder;)Z \]^ _`org/freertr/pack/packDnsZonefindUser2(Ljava/lang/String;I)Lorg/freertr/pack/packDnsRec; <b cdanswersLjava/util/List; fgh ijjava/util/Listadd(Ljava/lang/Object;)Zlorg/freertr/clnt/clntDns k opq rsorg/freertr/serv/servDnsResolvproxyLorg/freertr/cfg/cfgProxy; ku vscurPrx ox ydaddr k{ |} doResolvList'(Ljava/util/List;Ljava/lang/String;ZI)Iorg/freertr/pack/packDnsRec k  getAnswers(Ljava/util/List;)I k  findAnswer (I)Lorg/freertr/pack/packDnsRec; ~  copyBytes()Lorg/freertr/pack/packDnsRec; ~ nameLjava/lang/String; k  doRecursiveC(Ljava/util/List;Ljava/lang/String;I)Lorg/freertr/pack/packDnsZone; ~ resLorg/freertr/tab/tabGen;  Morg/freertr/tab/tabGensize  org/freertr/util/bitsrandom(II)I get(I)Ljava/lang/Comparable;org/freertr/pack/packDnsRes target  org/freertr/serv/servDnszones \ 2 find.(Ljava/lang/Comparable;)Ljava/lang/Comparable; resolvs o rcrsvia  doSlavesF(Lorg/freertr/serv/servDnsResolv;Ljava/util/List;ILjava/lang/String;)Z  doSlaver. $ indexOf(Ljava/lang/String;)I $  substring(II)Ljava/lang/String; $ Mlength  "recurse  recurs6to4Lorg/freertr/addr/addrIP;  dorg/freertr/cfg/cfgAllnameServerAddr y  org/freertr/addr/addrIPgetBytes()[Borg/freertr/addr/addrIPv4 byteFill([BIII)V setOr9(Lorg/freertr/addr/addrType;Lorg/freertr/addr/addrType;)V ~ typI* \ +8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;* \ findWildD(Ljava/lang/String;Ljava/lang/String;I)Lorg/freertr/pack/packDnsRec; < E  readPacket (Z)Lorg/freertr/pack/packHolder; R  recvPacket()Lorg/freertr/pack/packHolder; <  Z parseHeader got bad packet . 2info*  " recursEna   recursAclLorg/freertr/sec/secInfoCfg;org/freertr/sec/secInfoCls  srvVrfLorg/freertr/cfg/cfgVrf;  !" #org/freertr/prt/prtGenConnpeerAddr %&' ()org/freertr/cfg/cfgVrfgetFwd1(Lorg/freertr/addr/addrIP;)Lorg/freertr/ip/ipFwd;+org/freertr/prt/prtTcp  - ./ifaceLorg/freertr/ip/ipFwdIface; 12org/freertr/ip/ipFwdIface 4 5(Lorg/freertr/pipe/pipeSide;Lorg/freertr/prt/prtGenConn;Lorg/freertr/ip/ipPrt;Lorg/freertr/ip/ipFwd;Lorg/freertr/addr/addrIP;ILorg/freertr/addr/addrIP;)V7org/freertr/sec/secInfoWrk 69 :;(Lorg/freertr/sec/secInfoCfg;Lorg/freertr/sec/secInfoCls;)V 6< =>doWork(Z)Z 6@ AI need2drop <C Dopcode <F Gresult <I J"response <L M"recAvail O PQ sendReply(Lorg/freertr/pack/packDns;)V <S Tdqueries f <W Xdaddition f9 <[ \dservers f^ _(I)Ljava/lang/Object; a b"logging \e f"axfr \ Ei jMisClosed \l ~n op compareTo (Lorg/freertr/pack/packDnsRec;)I r st doResolve&(Ljava/util/List;ILjava/lang/String;)Z <v w" authoritative y z{ addAnswerN(Lorg/freertr/pack/packDns;Lorg/freertr/pack/packDnsZone;Ljava/lang/String;I)V E} ~ wait4ready(I)Z  Idoerjava/lang/Exception .  traceback(Ljava/lang/Throwable;)V E IsetClosejava/lang/RunnableT(Lorg/freertr/serv/servDns;Lorg/freertr/pipe/pipeSide;Lorg/freertr/prt/prtGenConn;)VCodeLineNumberTable StackMapTable Signaturee(Lorg/freertr/serv/servDnsResolv;Ljava/util/List;ILjava/lang/String;)ZE(Ljava/util/List;ILjava/lang/String;)Zrun SourceFile servDns.javaBootstrapMethodstx .*.rx   queried   +$java/lang/invoke/StringConcatFactory(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; InnerClasses%java/lang/invoke/MethodHandles$Lookupjava/lang/invoke/MethodHandlesLookup  "K**+*, *-Y* PQ\+#)-3Y5M,8+,;,A* D,* ,JNWRY* TN-,WW.  %)3EU[ 23z{R,-[:+aeW ~\kYm:+nt+wz ,W::,eW: "$+24<ACJQZ$k~kYm:+nt+w:[:Q[:,eW[:,eW,eWJ  %'16@EGPr w y  'k\~1 st *\Y-\:*oY-o:*oY-o:-::*+W*+W-Ƕ6  - :- `-ѶN -:N*\Y-\:*oY-o:*oY-o: ^,*+W*+W*Ԛ* kYm:  zW  +W :   :  + eW*kYm:  z :   : 6   5  :     *׶   + eWў :N[:  [:  :  :  -[:  :  -[:  :  [:  + eWjZ.EHLQVachs u"}#$%'(*+,-.012346 78:!;#=2>4@=AJBQCXDZFbGgHnIuJ~KMNPQSTUWXY[\]^_\a bcdf'g0i=jGkLlVn[ooqtrtuwxz{}~ZL f$\oo$$%L%k%~  >%~ I L,B,E,H,*ԵK *,N,RU *,N,E,VY,aY,ZY,R]~:*`*##c*\Y\: *,Nd *,N[: *,N,E,RY,aY,aeW*,N>gE* h8k:m,aY,aeW*,N,aY,aeW*,N*\Y\:;Ƕ>,*\Y`Ѷͷ\: ,*,aqu*,N*,x*,x*,x*, x*,x*,!x*,x*,x*,x,u,E*,N,*,aqu,aU *,N,E6,aU6,ad]~:1*,aqW,aU*,Nk  059;CIKQ]hy (7AXx&27=FRWYty %2@NSX]_u    Q 3<o&O~&\~)~W\!) (*q&* '|W*L+* W" %  B&