7  java/lang/Object()Vorg/freertr/tab/tabRoute lrn   (Ljava/lang/String;)V  org/freertr/rtr/rtrPvrpNeighlearnedLorg/freertr/tab/tabRoute;adv  advertedorg/freertr/tab/tabAverage  (II)V  !echoCalcLorg/freertr/tab/tabAverage;#org/freertr/util/notifier " & '(notifLorg/freertr/util/notifier; * +,lowerLorg/freertr/rtr/rtrPvrp; . /0ifaceLorg/freertr/rtr/rtrPvrpIface; 234 56org/freertr/addr/addrIPv4 copyBytes()Lorg/freertr/addr/addrIPv4; 8 9:rtrIdLorg/freertr/addr/addrIPv4; <=> 5?org/freertr/addr/addrIP()Lorg/freertr/addr/addrIP; A BCpeerLorg/freertr/addr/addrIP; EFG HIorg/freertr/util/bitsgetTime()J K LM lastHeardJ O PQsentMetI S TUsentMedZ W XQ sentSegrou Z [QsentBier ] ^Q gotMetric ` aU gotMeasure <c de compareTo(Lorg/freertr/addr/addrType;)I ghi jkjava/lang/StringvalueOf&(Ljava/lang/Object;)Ljava/lang/String;m nomakeConcatWithConstants&(Ljava/lang/String;)Ljava/lang/String; q rstopWork tuv wUorg/freertr/util/debugger rtrPvrpEvnty nz8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; |}~  org/freertr/util/loggerdebug  Uneed2run  MupTimejava/lang/Thread (Ljava/lang/Runnable;)V starty  connLorg/freertr/pipe/pipeSide;  org/freertr/pipe/pipeSidesetClose()Z  clear  org/freertr/rtr/rtrPvrpIfaceneighsLorg/freertr/tab/tabGen;  org/freertr/tab/tabGendel.(Ljava/lang/Comparable;)Ljava/lang/Comparable; &org/freertr/rtr/rtrPvrp " wakeup /Lorg/freertr/ip/ipFwdIface;  org/freertr/ip/ipFwdIfacebfdDel8(Lorg/freertr/addr/addrIP;Lorg/freertr/rtr/rtrBfdClnt;)Z  doRunjava/lang/Exception |  traceback(Ljava/lang/Throwable;)V UldpSync fwdCoreLorg/freertr/ip/ipFwd;  org/freertr/ip/ipFwd ldpNeighFind9(Lorg/freertr/addr/addrIP;Z)Lorg/freertr/rtr/rtrLdpNeigh; QmetricIn U acceptMetric Q dynamicMetric   getResult(I)I  QseqRx isClosed()I lineGet(I)Ljava/lang/String; g trim()Ljava/lang/String; t U rtrPvrpTrafy dumpFileLorg/freertr/util/logFil; |  getTimestamp nJ(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;  org/freertr/util/logFiladdorg/freertr/util/cmdsrx  '(Ljava/lang/String;Ljava/lang/String;)V  signRxLjava/lang/String;    msgStatRx    org/freertr/util/keywordupdate-(Lorg/freertr/tab/tabGen;Ljava/lang/String;)V  wordsigned g equals(Ljava/lang/Object;)Z missingSign   sendErr java/util/ArrayList  #$% java/util/List' n ) * getRemaining ,-. /0org/freertr/user/userUpgrade calcTextHash$(Ljava/util/List;)Ljava/lang/String;2badSign 4 5QseqTx 7 8 msgStatTx : ;signTxyy @ A linePut y |D E info m H I sendLn y mMorg/freertr/rtr/rtrBgpUtil OPQ RSorg/freertr/tab/tabListingmatches"(IILorg/freertr/addr/addrPrefix;)Z EU VWrandom(II)I EY Z[sleep(I)V ] ^Caddr maorg/freertr/prt/prtAccept c detcpCoreLorg/freertr/prt/prtTcp;gorg/freertr/pipe/pipeLine fj k(IZ)Vmpvrp o pQ sendingTtl r sQ sendingTos `u v(Lorg/freertr/prt/prtGen;Lorg/freertr/pipe/pipeLine;Lorg/freertr/ip/ipFwdIface;ILorg/freertr/addr/addrIP;ILjava/lang/String;ILjava/lang/String;II)V `x y[ wait4conn `{ |}getConn(Z)Lorg/freertr/pipe/pipeSide;m  org/freertr/prt/prtTcp streamConnect(Lorg/freertr/pipe/pipeLine;Lorg/freertr/ip/ipFwdIface;ILorg/freertr/addr/addrIP;ILjava/lang/String;ILjava/lang/String;II)Lorg/freertr/pipe/pipeSide;  Q deadTimer  [setTime   org/freertr/pipe/pipeSide$modTyp modeCRtryLF"Lorg/freertr/pipe/pipeSide$modTyp;  lineRx  modeCRLF  lineTx   wait4ready(I)Z   ipInfoCfgLorg/freertr/sec/secInfoCfg;org/freertr/sec/secInfoCls  (Lorg/freertr/pipe/pipeSide;Lorg/freertr/prt/prtGenConn;Lorg/freertr/ip/ipPrt;Lorg/freertr/ip/ipFwd;Lorg/freertr/addr/addrIP;ILorg/freertr/addr/addrIP;)Vorg/freertr/sec/secInfoWrk  ;(Lorg/freertr/sec/secInfoCfg;Lorg/freertr/sec/secInfoCls;)V   ipInfoResLorg/freertr/sec/secInfoWrk;  doWork(Z)Z   need2drop notPingable notNeeded  QencryptionMethod  org/freertr/serv/servGeneric proto2stringm  recvLn()Lorg/freertr/util/cmds; startEncryptstartEncryptRequiredm  org/freertr/sec/secClientopenSec_(Lorg/freertr/pipe/pipeSide;I[BLjava/lang/String;Ljava/lang/String;)Lorg/freertr/pipe/pipeSide;morg/freertr/auth/authConstant  (Z)V  keyRsaLorg/freertr/cfg/cfgKey;  org/freertr/cfg/cfgKeykeyLorg/freertr/cry/cryKeyGeneric;org/freertr/cry/cryKeyRSA  keyDsaorg/freertr/cry/cryKeyDSA  keyEcDsaorg/freertr/cry/cryKeyECDSA  keyMlDsaorg/freertr/cry/cryKeyMLDSA  certRsaLorg/freertr/cfg/cfgCert;  org/freertr/cfg/cfgCertcert Lorg/freertr/cry/cryCertificate;  certDsa   certEcDsa   certMlDsa     org/freertr/sec/secServerb(Lorg/freertr/pipe/pipeSide;ILorg/freertr/pipe/pipeLine;Lorg/freertr/auth/authGeneric;Lorg/freertr/cry/cryKeyRSA;Lorg/freertr/cry/cryKeyDSA;Lorg/freertr/cry/cryKeyECDSA;Lorg/freertr/cry/cryKeyMLDSA;Lorg/freertr/cry/cryCertificate;Lorg/freertr/cry/cryCertificate;Lorg/freertr/cry/cryCertificate;Lorg/freertr/cry/cryCertificate;)Lorg/freertr/pipe/pipeSide;  U authenDisable  authentication E randomB  org/freertr/enc/encBase64 encodeBytes([B)Ljava/lang/String;mpassword-request!passReqRequired g# $length& passTooSmallm)password-reply+passRepRequired- badPassword 0 1:routerID 3 4Qmtu 6 7Q bfdTrigger 9:; <org/freertr/cfg/cfgAllhostName> n?L(Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;)Ljava/lang/String;AopenC openRequiredE? G Hname J KinamMrtrid gO PQ startsWith(Ljava/lang/String;)Z/ gT UV substring(II)Ljava/lang/String;H4 EZ [\str2num(Ljava/lang/String;)I^bfdmm b cdbfdAddJ(Lorg/freertr/addr/addrIP;Lorg/freertr/rtr/rtrBfdClnt;Ljava/lang/String;)Z f ghbfdWait(Lorg/freertr/addr/addrIP;I)ZjbfdFaily |m n warnp org/freertr/rtr/rtrPvrpNeighRcvr or s!(Lorg/freertr/rtr/rtrPvrpNeigh;)V ou v startWork x yQ helloTimer "{ |misleep ~ MechoTime  Q echoTimer  ! echoParam   updateFrom(Lorg/freertr/tab/tabAverage;)V E randomD  QechoData'org/freertr/clnt/clntPing   !meas  fwd  src  Ctrg  org/freertr/clnt/clntEcho    udpCoreLorg/freertr/prt/prtUdp;  udp   org/freertr/clnt/clntTwamp      '  ready2tx  doAdverty |  error   getMetric'  U dynamicForbid n(Z)Ljava/lang/String;   segrouLab [Lorg/freertr/tab/tabLabelEntry;  Qorg/freertr/tab/tabLabelEntrylabel  Q segrouMax nV  bierLab  QbierLen  QbierMax n(III)Ljava/lang/String;  size  get"(I)Lorg/freertr/tab/tabRouteEntry;  need2adv  find@(Lorg/freertr/tab/tabRouteEntry;)Lorg/freertr/tab/tabRouteEntry;   sendUpdate#(Lorg/freertr/tab/tabRouteEntry;Z)V   org/freertr/tab/tabRoute$addTypenotyet"Lorg/freertr/tab/tabRoute$addType;  org/freertr/tab/tabRouteEntrydiffersD(Lorg/freertr/tab/tabRoute$addType;Lorg/freertr/tab/tabRouteEntry;)Inomorewithdraw   "(Lorg/freertr/tab/tabRouteEntry;)Z  reachable  always  F(Lorg/freertr/tab/tabRoute$addType;Lorg/freertr/tab/tabRouteEntry;ZZ)V  Ulabels  bestLorg/freertr/tab/tabRouteAttr;   org/freertr/tab/tabRouteAttrlabelLocLorg/freertr/tab/tabLabelEntry; " #UlabelPop % &  commonLabel(org/freertr/ip/ipMpls ' + ,-labelOutLorg/freertr/tab/tabListing; / 01prefixLorg/freertr/addr/addrPrefix; 3 45 checkPrefix<(Lorg/freertr/tab/tabListing;Lorg/freertr/addr/addrPrefix;)Z 7 8Q segrouIdx!: n;'(Ljava/lang/String;I)Ljava/lang/String; = >QbierIdx": A BQbierSub#: EFG HIorg/freertr/addr/addrPrefixip2str1(Lorg/freertr/addr/addrPrefix;)Ljava/lang/String; K LQmetric N OQ metricOut Q RQtag T UQrouSrc W XY clustListLjava/util/List; [\] ^0org/freertr/tab/tabRouteUtil dumpAddrList$` naq(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IIZLjava/lang/String;Ljava/lang/String;)Ljava/lang/String; c dd!(Lorg/freertr/rtr/rtrPvrpNeigh;)Ifjava/lang/Runnablehorg/freertr/rtr/rtrBfdClntjjava/lang/Comparable Signature5Lorg/freertr/tab/tabRoute; gotSegrouBeg gotSegrouMax gotBierBeg gotBierLen gotBierMaxn(Lorg/freertr/rtr/rtrPvrp;Lorg/freertr/rtr/rtrPvrpIface;Lorg/freertr/addr/addrIPv4;Lorg/freertr/addr/addrIP;)VCodeLineNumberTabletoString bfdPeerDown StackMapTablerunsendWrn(Lorg/freertr/tab/tabListing;Lorg/freertr/addr/addrPrefix;)Z|[B>(Lorg/freertr/tab/tabRouteEntry;Z)V(Ljava/lang/Object;)IMethodParametersxLjava/lang/Object;Ljava/lang/Runnable;Lorg/freertr/rtr/rtrBfdClnt;Ljava/lang/Comparable; SourceFilertrPvrpNeigh.javaBootstrapMethods pvrp with starting peer  ()stopping peer  () rx   rx  signed   tx   tx sent error () to error sent warning () to  warning  accepting  connecting startEncrypt secure client secure server password-request password-reply 'open rtrid= mtu= bfd= iface= name=mtu mismatch with bfd mismatch with neighbor  () upecho  keepalive neighbor  () downmetric measme  segrou   bier    label=  segrou=  bieri=  biers=/ prefix= metric= tag= external= path=    n$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; InnerClassesmodTypaddType%java/lang/invoke/MethodHandles$Lookupjava/lang/invoke/MethodHandlesLookup!egi BCHK9:klkl^QaUmQnQoQpQqQMQ !LM'(+,/0MPQTUXQ[Q;Q5QUrsw**Y *Y *Y*"Y$%*+)*,-*-17*;@*DJ*N*R*V*Y*\*_tFJO+6;@HQX]bglqvdds$ *@+@btus% *@fltvs!*pt vst;s*7f*@fx{*DJ**DY*t#(/:wrsus*7f*@f{*<** *W***-*W*)*-*@*W*%t:!&-5<CGS]mtwxsj* *L+*pt"    w  Bsd*-*)*@ͬ*-<*-љ*\*\*\<*_*-*׬t.  '@E!L"N$Y%['w % s*Y`*ޙ*L+L*@f+{*-*-*@f+Y+M**-+ ,,L+ *,LY!N-*"W-*ۺ&"W-,("W-*"W+-+ *1*-,( ,tr0 124 5%6+7;9E:_<j=q>|?~ABCDFGHIJKLMNPQw$g#Q#$I s*Y3`3+L*-6+ *9DY!M,*9"W,*3&"W,+"W,*9"W,++<L*@f+={*-*-*@f+>*+?tBZ [\]!^)_4`DaLbWcbehfxhiklwb# sC+*@fBC*+FG*pttuvwy s;+*@fJC*+KGt45sB++,Ntw @kzs * *W**TX*@*-\bgs*@f_{`Y*)bfYhi*- *@l*-n*-qtL+u0w*+zSs*@f~{**)bfYhi*-*@ l*-n*-q***-h****-*-SY*)*@*-\L*Y*-+*W* ** **-Z**-G*L+YȷL+M,ʶ *̶*@*-\b4s*@f{***-ȸϵs*@f{***-fYhiY*-۴*-*-*-*-*-*-*- ***-h****-W* **-z*-pL=++T+M*,G*N-YȷN-: * -:" *%Y!:"W,"W*-"W"W,"W*+'G*N-YȷN-:( **Y!:,"W"W*-"W,"W"W+:- *,*,*-.**-,.9* ***)/f*-2*-5*-f8=G*L+YȷL+@ *B*DF*DI=>+:"LNRN*"SIWN*"SFXN"SY=]N"SY>nk*-2*@f_C*-5*@f`C* *A*-56*-*@*laW*-*@*-e *i* ****F*@fkloY*qt*)*-5*-*@*laW 7*q*%*-wzWD7*}*-a**-*-Ԫ4o***GY:**)õ*-*@vY:  * *) *- *@ ;Y:  * *) *- *@ * e}*-wa**-G e7*ޙ***p*F*@ft)=CR ./9[nw (.="*17<FKO]cnuv|  &5>HO [ b c v " #$&$'')2*B+E-P._/b1m2|35679:;=>@ABDEF G'H(K/L6M7O>PEQXRcSmTwUWYZ\]^_`bcdfgh%i1j:k?lBnKoTp`qlruszt}vwxyz{~ w8BN:5Y3g(2{%gggb#X%Gg BR X::7& szp*<*N*N**NG*R*-ǟ#**-ǵR**RG<*)*)2<*V*V**)ֺG<*)*)2<*Y *Y**)*)G=<*A*N-+*--**-<*-H*-N-/-*-**- *Gt- -8MOYfns +/2DGTU[^dhow<d$    s 0N*+ W N*+:*)X+N+6*-!*)ô$6):**-*+.2:*)+6+69:*)-+<#+<?:+@C:*-+.D+J*-M`+P+S~*)/f+VZ_GtR%*>Jfir/wZgCg#30ggggggggggk}Ad~s! *+bt,k%@@