7  org/freertr/ip/ipRtr()V   org/freertr/rtr/rtrOspf4 segrouMaxI    segrouBase   bierLen   bierMax  fwdCoreLorg/freertr/ip/ipFwd;  udpCoreLorg/freertr/prt/prtUdp;org/freertr/tab/tabGen  " #$algosLorg/freertr/tab/tabGen; & '$ifaces ) *$areas,org/freertr/addr/addrIPv4 + / 01routerIDLorg/freertr/addr/addrIPv4; 3 41 traffEngID 6 7  distantExt 9 :  distantInt < =  distantSum ? @routerCreateComputed BCD EF&org/freertr/tab/tabRouteAttr$routeTypeospf4(Lorg/freertr/tab/tabRouteAttr$routeType; HIJ KLorg/freertr/ip/ipFwd routerAddB(Lorg/freertr/ip/ipRtr;Lorg/freertr/tab/tabRouteAttr$routeType;I)V NOP QRjava/lang/StringvalueOf&(Ljava/lang/Object;)Ljava/lang/String;T UVmakeConcatWithConstants&(Ljava/lang/String;)Ljava/lang/String; XYZ [\org/freertr/util/debugger rtrOspf4evntZ^ create table `ab cdorg/freertr/util/loggerdebug(Ljava/lang/String;)Vforg/freertr/tab/tabRoutehospf ej d l mnsize()I p qrget(I)Ljava/lang/Comparable;torg/freertr/rtr/rtrOspf4area vwx yz org/freertr/tab/tabRoute$addTypeecmp"Lorg/freertr/tab/tabRoute$addType; s| }~routesLorg/freertr/tab/tabRoute;org/freertr/tab/tabRouteAttr? e  mergeFrom@(Lorg/freertr/tab/tabRoute$addType;Lorg/freertr/tab/tabRoute;I)V   segrouLab [Lorg/freertr/tab/tabLabelEntry; s $ segrouUsd  org/freertr/tab/tabIndex mergeTable3(Lorg/freertr/tab/tabGen;Lorg/freertr/tab/tabGen;)I !(ILorg/freertr/addr/addrPrefix;)V  find.(Ljava/lang/Comparable;)Ljava/lang/Comparable;  #org/freertr/tab/tabLabelEntry$owner ospf4srgb%Lorg/freertr/tab/tabLabelEntry$owner;  org/freertr/tab/tabLabelEntry setFwdDrop((Lorg/freertr/tab/tabLabelEntry$owner;)V  bierLaborg/freertr/rtr/rtrOspf4iface brIndexorg/freertr/tab/tabLabelBier label num2bsl(I)I (II)V idx s bierResLorg/freertr/tab/tabLabelBier; !(Lorg/freertr/tab/tabLabelBier;)V  ospf4bier  setBierMpls\(Lorg/freertr/tab/tabLabelEntry$owner;Lorg/freertr/ip/ipFwd;Lorg/freertr/tab/tabLabelBier;)V  FrouterProtoTyp   routerProcNum e setProto,(Lorg/freertr/tab/tabRouteAttr$routeType;I)V  ~routerComputedU e  preserveTime(Lorg/freertr/tab/tabRoute;)Z  $routerComputedI  compareTables3(Lorg/freertr/tab/tabGen;Lorg/freertr/tab/tabGen;)Z  ~routerComputedMrx  ~routerComputedF H  routerChg(Lorg/freertr/ip/ipRtr;Z)Vorg/freertr/rtr/rtrAlgo s #Ljava/util/List;  qjava/util/List(I)Ljava/lang/Object;java/lang/Exception vrfLorg/freertr/rtr/rtrAlgoVrf;  org/freertr/rtr/rtrAlgoVrf update2ip(Lorg/freertr/tab/tabRoute;)V  genLsas(I)V  router-id specify router id  org/freertr/user/userHelpadd;(Ljava/util/List;ZI[ILjava/lang/String;Ljava/lang/String;)V router id traffeng-idspecify traffic engineering idte idsegrout segment routing parameters"$ maximum index&base( specify base* label base,bier.bier parameters0bitstring length2area4configure one area6 area number8enable:create this area<ha-mode> save state@ spf-bidirBspf bidir checkD spf-topologFspf topology loggingHnoappearJexclude node (dis)appearanceL noconnectNexclude link (dis)connectionP noforwardRexclude forward (un)willingnessT noreachableVexclude node (un)reachableXnometricZexclude link metric change\noprefix^exclude prefix change`spf-hopsbspf hops disallowdspf-ecmpfspf ecmp allowhspf-logj spf log sizelnumber of entriesn max-metricpconfigure as maximum metricrstubtconfigure as stubvnssaxconfigure as nssaztraffeng|!configure for traffic engineering~configure for segment routingconfigure for biersuppress-prefixdo not advertise interfaceshostnameadvertise hostnamedefault-originateadvertise default routeroute-map-fromprocess prefixes from this area name of route maproute-map-intoprocess prefixes into this arearoute-policy-from name of route policyroute-policy-intoprefix-list-fromfilter prefixes from this area name of prefix listprefix-list-intofilter prefixes into this areadistancespecify default distanceintra-area distanceinter-area distanceexternal distanceflexalgoflexalgo parameters algorithm id  vrf to use U8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;  (Ljava/lang/Object;)Z U'(Ljava/lang/String;I)Ljava/lang/String; U'(ILjava/lang/String;)Ljava/lang/String;  org/freertr/util/cmdscfgLineJ(Ljava/util/List;ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V U(II)Ljava/lang/String; s 2  U(I)Ljava/lang/String; s \haModeT s lastSpfLorg/freertr/spf/spfCalc;  org/freertr/spf/spfCalclogSizeLorg/freertr/util/syncInt;  UJ(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;  topoLog  qnorg/freertr/util/syncInt T  getTopoLogMode()Ljava/lang/String;  bidir T  hops T  y T s  \ maxMetricT s r\T s v\T s \traffEngT s \ segrouEnaT s \bierEnaT s \T s! "\ suppressAddrT s% &\ defOriginT s) *+ prflstFromLorg/freertr/tab/tabListing;TT s/ 0+ prflstIntoT s3 4+ roumapFromT s7 8+ roumapIntoT s; <+ roupolFromT s? @+ roupolIntoTC UD)(Ljava/lang/String;III)Ljava/lang/String; G Hword NJ Kequals +M NO fromString(Ljava/lang/String;)Z QRS TUorg/freertr/cfg/cfgAllifcFind-(Ljava/lang/String;I)Lorg/freertr/cfg/cfgIfc; WXY Z1org/freertr/cfg/cfgIfcaddr4 +\ ]^setAddr(Lorg/freertr/addr/addrType;)V `ab cdorg/freertr/util/bitsstr2num(Ljava/lang/String;)I Qf ghvrfFind-(Ljava/lang/String;Z)Lorg/freertr/cfg/cfgVrf;j no such vrf l mderror opq rorg/freertr/cfg/cfgVrffwd4 t uC(ILorg/freertr/ip/ipFwd;Lorg/freertr/tab/tabRouteAttr$routeType;I)V w  y z register2ip |}~ org/freertr/tab/tabLabelreleaseg([Lorg/freertr/tab/tabLabelEntry;Lorg/freertr/tab/tabLabelEntry$owner;)[Lorg/freertr/tab/tabLabelEntry; N nlength | allocateI(Lorg/freertr/tab/tabLabelEntry$owner;II)[Lorg/freertr/tab/tabLabelEntry;   normalizeBsl | H(Lorg/freertr/tab/tabLabelEntry$owner;I)[Lorg/freertr/tab/tabLabelEntry; s (Lorg/freertr/rtr/rtrOspf4;I)Varea already exists s startNow s  schedWorkarea not exists  set  setTopoLogMode(Lorg/freertr/util/cmds;)V Q prfxFind1(Ljava/lang/String;Z)Lorg/freertr/cfg/cfgPrfxlst;no such prefix list  +org/freertr/cfg/cfgPrfxlstprflst Q rtmpFind/(Ljava/lang/String;Z)Lorg/freertr/cfg/cfgRoump;no such route map  +org/freertr/cfg/cfgRoumproumap Q rtplFind0(Ljava/lang/String;Z)Lorg/freertr/cfg/cfgRouplc;no such route policy  +org/freertr/cfg/cfgRouplcrouplcno  del   unregister2ip s stopNow   restartTimer(Z)V   closeNeighbors  V(Lorg/freertr/rtr/rtrOspf4;Lorg/freertr/rtr/rtrOspf4area;Lorg/freertr/ip/ipFwdIface;)V y  ifaceLorg/freertr/ip/ipFwdIface;  closeUp(Lorg/freertr/ip/ipFwdIface;)V org/freertr/user/userFormat|area|routerid|state|uptime  '(Ljava/lang/String;Ljava/lang/String;)V,interface|area|address|routerid|state|uptime  $neighsorg/freertr/rtr/rtrOspf4neigh  2Lorg/freertr/rtr/rtrOspf4area;  1rtrID   status2string  upTimeJ ` timePast(J)Ljava/lang/String;  UK(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;  d   1peer! Uo(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;,interface|area|address|routerid|metric|delay  n getMetric  echoCalcLorg/freertr/tab/tabAverage;! U^(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;ILjava/lang/String;)Ljava/lang/String; typ|name|tx|rx|tx|rx|tx|rx|tx|rx2|2pack|2byte|2ago|2last  !9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V # $%msgStatsorg/freertr/util/counter; ' ( msgTyp2string *+, -.org/freertr/rtr/rtrBgpDump counter2stats.(Lorg/freertr/util/counter;)Ljava/lang/String;"0 U19(ILjava/lang/String;Ljava/lang/String;)Ljava/lang/String;3interface|neighbors# 6 78 listAlgorithm()Lorg/freertr/user/userFormat;:java/util/ArrayList 9 s= >$lsas@org/freertr/rtr/rtrOspf4lsa ? +C DE compareTo(Lorg/freertr/addr/addrType;)I ?G H1lsaIDJorg/freertr/pack/packHolder IL M(ZZ)V ?O PQ writeData"(Lorg/freertr/pack/packHolder;IZ)I IS TputSkip IV W merge2beg IY Z[getCopy()[B ]^_ `aorg/freertr/enc/enc7bitbuf2hex((Ljava/util/List;[BILjava/lang/String;)V cde fgorg/freertr/rtr/rtrOspfDumpdump4lsaM(Ljava/util/List;Lorg/freertr/pack/packHolder;Lorg/freertr/rtr/rtrOspf4lsa;)Vi%routerid|lsaid|sequence|type|len|timekempty m n8listStatistics p qr listTopologyQ(Lorg/freertr/addr/addrType;Lorg/freertr/util/cmds;)Lorg/freertr/user/userFormat; t u8 listUsages w xylistTree)(Lorg/freertr/util/cmds;)Ljava/util/List; { |} copyBytes()Lorg/freertr/spf/spfCalc;  doWork(Lorg/freertr/addr/addrType;)Z  y listGraphviz   listNhIncons>(Lorg/freertr/tab/tabIntMatcher;)Lorg/freertr/user/userFormat;   listMetIncons  8listNonRedundant  8 listHostnames  org/freertr/addr/addrIPtoIPv4()Lorg/freertr/addr/addrIPv4;  u(Lorg/freertr/rtr/rtrOspf4;Lorg/freertr/rtr/rtrOspf4area;Lorg/freertr/rtr/rtrOspf4iface;Lorg/freertr/addr/addrIPv4;)V  org/freertr/ip/ipFwdIfacelowerLorg/freertr/ip/ipIfc;  org/freertr/ip/ipIfcgetState!()Lorg/freertr/util/state$states;  org/freertr/util/state$statesupLorg/freertr/util/state$states;    fromIPv4addr(Lorg/freertr/addr/addrIPv4;)Vorg/freertr/tab/tabRouteEntry org/freertr/addr/addrPrefix  (Lorg/freertr/addr/addrType;I)V  prefixLorg/freertr/addr/addrPrefix; v zbetterorg/freertr/rtr/rtrBgpUtil  +routerAutoMesh e addUpdatedEntry(Lorg/freertr/tab/tabRoute$addType;Lorg/freertr/tab/tabRoute;IILorg/freertr/tab/tabRouteEntry;ZLorg/freertr/tab/tabListing;Lorg/freertr/tab/tabListing;Lorg/freertr/tab/tabListing;)Iorg/freertr/spf/spfLnkst  listLinkStates=(Lorg/freertr/tab/tabRoute;IIILorg/freertr/addr/addrIPv4;II)V   routerGetName$T s stateGet%(Ljava/util/List;Ljava/lang/String;)V s stateSet(Lorg/freertr/util/cmds;)ZprotoNum ConstantValueYverNumsizeHead Signature3Lorg/freertr/tab/tabGen;9Lorg/freertr/tab/tabGen;8Lorg/freertr/tab/tabGen;2(Lorg/freertr/ip/ipFwd;Lorg/freertr/prt/prtUdp;I)VCodeLineNumberTabletoString StackMapTablerouterRedistChangedrouterOthersChanged routerGetHelp(Lorg/freertr/user/userHelp;)VrouterGetConfig&(Ljava/util/List;Ljava/lang/String;I)V:(Ljava/util/List;Ljava/lang/String;I)VrouterConfigurerouterCloseNow addInterface<(Lorg/freertr/ip/ipFwdIface;)Lorg/freertr/rtr/rtrOspf4iface; delInterfaceamIabr()Z showNeighs (Z)Lorg/freertr/user/userFormat; showMetrics showStats:(Lorg/freertr/ip/ipFwdIface;)Lorg/freertr/user/userFormat; showIfacesshowAlgorithms (I)Lorg/freertr/user/userFormat; showDatabase*(ILorg/freertr/util/cmds;)Ljava/util/List;>(ILorg/freertr/util/cmds;)Ljava/util/List; showRoute(I)Lorg/freertr/tab/tabRoute;8(I)Lorg/freertr/tab/tabRoute; showSpfStat showSpfTopo7(ILorg/freertr/util/cmds;)Lorg/freertr/user/userFormat; showSpfLog showSpfTreeshowSpfOtherTreeshowSpfOtherTopo showSpfGraph showNhIncons?(ILorg/freertr/tab/tabIntMatcher;)Lorg/freertr/user/userFormat; showMetInconsshowNonRedundant showHostnamesfindPeer;(ILorg/freertr/addr/addrIP;)Lorg/freertr/rtr/rtrOspf4neigh;routerNeighCountrouterNeighList8(Lorg/freertr/tab/tabRoute;)VrouterIfaceCountrouterRecursionsrouterLinkStates:(Lorg/freertr/tab/tabRoute;IILorg/freertr/addr/addrIPv4;)VU(Lorg/freertr/tab/tabRoute;IILorg/freertr/addr/addrIPv4;)VrouterStateGet(Ljava/util/List;)V'(Ljava/util/List;)VrouterStateSet SourceFile rtrOspf4.javaBootstrapMethods' ospf on ) router-id +traffeng-id - base /1 3area  5enable7ha-mode9 spf-log ; spf-topolog= spf-bidir? spf-hopsA spf-ecmpC max-metricEstubGnssaI traffengKsegroutMbierO hostnameQsuppress-prefixSdefault-originateUprefix-list-fromWYprefix-list-into[route-map-from]route-map-into_route-policy-fromaroute-policy-intocdistance   e flexalgo g|||i |||||k||m|o q rst Uu$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 routeTypeaddTypeowner{org/freertr/util/statestates~%java/lang/invoke/MethodHandles$Lookupjava/lang/invoke/MethodHandlesLookup!   0141    7 : = #$'$*$(|*** ***+*,*Y !*Y %*Y (*+Y-.*+Y-2*n5*n8*n;*>**AGJJ OTY"-8CNY_eko{% *MS!@` gW]_eYgiLY M>*(k,*(os:+u{*e>*(k(*(os: ,W>*(,Y*2*>6*%k4*%o: > ƻY*2*:6*(k)*(os: 6**2*DŽ+**ζ+*ն>*,ߚ~>*+*+*eYi*,**6*!k*!o:meYgiL6*(kK*(os:/e:: +u+q%69*J *7<?MSZgty|$3AFISYfy"%69;>CFQW`f& es s   ! !!s "$ee'! !sSe "* eq+ YO   + YO + YO + YO + YO + YOYO!# + YO%' + YOYO!) + YO+- + YO!/ + YO!# + YO13 + YO!5 + YO79 + YO;= + YO?A + YOYOCE + YOYOGI + YOYOKM + YOYOOQ + YOYOSU + YOYOWY + YOYO[] + YO_a + YOce + YOgi + YO!k + YOmo + YOqs + YOuw + YOy{ + YO} + YO+ + YO + YO + YO + YO + YO + YO + YO + YO + YO + YO + YO + YO + YO + YO + YO + YO + YO! + YO! + YO! + YO + YO! + YO 8(< P!d"|#$%&'() * +4,H-`.x/0123456,7@8T9h:|;<=>?@ABC0DDEXFlGHIJKLMN O P4QHR\SpT+,*.MW+,*2MW:* * :+*,*+*,+**6*(k*(os:ٺ:+,W+ߚ,ȸ+,MW+,+,ȸ+,ȸ+,ȸ+, ȸ+ , ȸ+,ȸ+,ȸ+,ȸ+,ȸ+,ȸ+ ,#ȸ+$,'ȸ+(,,(M-+.,1.M-+2,52M-+6,96M-+:,=:M-+>,A>M-Є%+,*8*;*5BW6*!k"+,*!oMEWر&^_(`-a4bAdaefghijklm:n\o~pqrst u&vBw^xzyz{|}8~^fd}$1ANLNN^NNANNsNNNsNzNNsNeNNsN`NNsN`NNsNZNNsNZNNsNZNNsNZNNsNZNNsNZNNsNZNNsNZNNsNZNNsNZNNsNdNNsNdNNsNdNNsNdNNsNdNNsN* +FM, I4+FM*.,LW,PN--V*.-V[*,IS+F_>+Fe: +ikYn**ηs:*!vWx*,I*2+FLW*,I_*{W*+F_* +FM,,%I*+F_ ** **,+IH*ĸ{W*+F_*+F_***`d*l*,I&*+F_8*+F_;*+F_5,1IsY*+F_N+FM,7I**(-vs: +k--*(-sN- +k,;I -,gI-+F_W,CI -+,?I-W-,_I-W-,cI-W-,mI--,qI- --,uI- --,yI--,I--,+I--,I- -,I--,I-$-,I,+F: +k-(-,I++F: +k-.-,I,+F: +k-2-,I++F: +k-6-,I,+F: +k-:-,I++F: +k->-,öI+FM,I^+F_>+Fe: +ikYn**ηs:*!:*,I$*{W*** *,+I$*ĸ{W****,1I6sY*+F_N*(-sN- +k+FM,7I-*(-W*,;I -,gI-W,CI-W,?I-W-,_I-W-,cI-W-,mI--,qI- -,uI--,yI--,I--,+I--,I- -,I--,I-$-,I-(-,I-.-,I-2-,I-6-,I-:-,I->-*#'.9>@JR\ahj'2@Kejlv /1;CEO[`blx}     #(*49>@JO T!V#`$e%j&l(v)*+,./02345689:<=>?@BCDFGHI$J&L/M4N6P@QJROSVTXVaWgXiZs[}\]^`abdfgijklmnoqrstv wxz{(|-}2~7<>HSX]bgis '38:DPUWafkmw|',24>CHJTY_akpuwH9NW)o/$N,Css !!!!!! .o+**2s"u<*(k *(osM,,˄<*%k**%oM,,,,ӄ*{W*ĸ{WF    $*7CGJOSX^it"s |0~<=*(k!*(osN--ڱ"!"#$!%$')"/)sI+*(osM,Y*,+N*%-v:--,-6 235679#:0;5<8><?A@GAsi+Y*+M*%,M,,,ڶ,J KLMO$P*Q4*(kY@bYMYM>*%k*%o:6ko:f,,M9,ڸM MM vM,Fdeg#i0j=kBlEnUodpiqlsptvniz'  #,58YL=*%k|*%oN-c6-kT-o:8+-ڸM MMM+6 '+.=KPS"!4c+Y*+M*%,M,YN6,"#-&,"2)/-. !#4A[a)8FY2L=*%k,*%oN+-ڸM-k4+'>D 3Z$sY*M*(,sM,,5 s 9Y;NsY*:*(s:-+Y-:+Y-:,FLW,FLW6<k<o?:gABWFBG-M-WIYK:   NR U- Xȸ\- bu-f!&(1:DN^mru#(s(++#?CeYhMsY*N*(-sN-,6-<k--<o?:,M-,2 $(*9GLO]c*s!? `*sY*M*(,sM,eYji,{  %%sZ$sY*M*(,sM,,l  s  b,sY*N*(-sN--+Y-,o+ ,-.0s Z$sY*M*(,sM,,s: ;<=?s a+sY*N*(-sN- 9Y;-,vJ KLM"O"s MsY*N*(-sN- 9Y;-z:+Y-:,FLW~W,v& Z [\]"_+`4a>bFc"s NsY*N*(-sN--z:+Y-:,FLW~W+Y-,o& n opqs%t.u8v@wsa+sY*N*(-sN- 9Y;-, ""s[%sY*N*(-sN--, s[%sY*N*(-sN--, sZ$sY*M*(,sM,, sZ$sY*M*(,sM,, sisY*N*(-sN-6*%k?*%o:Y*-,::2  +9JY^agsAnc+<=*%k*%ok`<#) $) =*%k*%oN--ڴn6-k_-o:CY: Y:Y+*øW_J  25DRWZcmv !?n *%knn4sY*:*(s:+̱$ %&')3*s E*кM>*(k0*(os:ߚ +,Ԅ˱* 2 34$5)6,8497;>3D= Ns !"^(sY*+F_M*(,sM,,+جFGH I"K"s#$%%p&p(p*p,p.p0p2p4p6p8p:p<p>p@pBpDpFpHpJpLpNpPpRpTpVpXpZp\p^p`pbpdpfphpjplpnv*Bw@vex@y@z|@}