7xorg/freertr/prt/prtTcp  org/freertr/prt/prtGen()V  fwdCoreLorg/freertr/ip/ipFwd;  org/freertr/ip/ipFwdprotoAddM(Lorg/freertr/ip/ipPrt;Lorg/freertr/ip/ipFwdIface;Lorg/freertr/addr/addrIP;)Zfin  org/freertr/util/bitsbit2str((IILjava/lang/String;)Ljava/lang/String;synrst ack"psh$urg&ece(cwr*ns, -.makeConcatWithConstants(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;0org/freertr/enc/encTlv /2 3(IIIIIIIIIIZ)V 567 89org/freertr/pack/packHoldergetByte(I)I /; <=valTypI /? @=valSiz 5B CDgetSkip(I)V /F GHgetBytes (Lorg/freertr/pack/packHolder;)Z 5J KLdataSize()I N OP getTCPoption7(Lorg/freertr/pack/packHolder;)Lorg/freertr/enc/encTlv; RST UVorg/freertr/util/debugger prtTcpTrafZX -Y(I)Ljava/lang/String; [\] ^_org/freertr/util/loggerdebug(Ljava/lang/String;)V /a bcvalDat[B e fgmsbGetW([BI)I 5i j=TCPmss 5l m=TCPwsc o pgmsbGetD 5r s=TCPtsV 5u v=TCPtsE 5x y=TCPaut 5{ |}putByte(II)V 5 DputSkip  msbPutW([BII)V / putThis (Lorg/freertr/pack/packHolder;)V  =org/freertr/cfg/cfgAll tcpSegmentMin = tcpSegmentMax 5 f9 5 =UDPsrc 5 =UDPtrg 5 =TCPflg 5 =UDPsiz   parseTCPports 5 IPsrcLorg/freertr/addr/addrIP;  java/lang/StringvalueOf&(Ljava/lang/Object;)Ljava/lang/String; -&(Ljava/lang/String;)Ljava/lang/String; [ _info V tcpChecksumRx 5 9 pseudoIPsum 5 getIPsum(III)I 5 p9 5 =TCPseq 5 =TCPack 5 =TCPwin 5 =TCPurg  Y decodeFlags -+(IILjava/lang/String;III)Ljava/lang/String;  parseTCPoptions!(Lorg/freertr/pack/packHolder;I)Z 5 D setBytesLeft 5 D unMergeBytes  replaceMSSoption 5 putFill(III)V 5 LheadSize 5 } V tcpChecksumTx 5 putIPsum 5 }lsbPutW 5  merge2beg  org/freertr/addr/addrIPisIPv4()Zorg/freertr/addr/addrIPv4 toIPv4()Lorg/freertr/addr/addrIPv4;  toBuffer([BI)Vorg/freertr/addr/addrIPv6    toIPv6()Lorg/freertr/addr/addrIPv6;   org/freertr/cry/cryHashGenericupdate([B)V  hashOneAddress<(Lorg/freertr/cry/cryHashGeneric;Lorg/freertr/addr/addrIP;)V 5 IPtrg  msbPutDorg/freertr/cry/cryHashHmac org/freertr/cry/cryHashSha1  # G$()[B & '%(Lorg/freertr/cry/cryHashGeneric;[B)V ) *init , D.TCP-AO  1 2$finish4org/freertr/cry/cryHashMd5 3 3) 8 9: hashPseudoHdr@(Lorg/freertr/cry/cryHashGeneric;Lorg/freertr/pack/packHolder;)V 5< =>hashHead%(Lorg/freertr/cry/cryHashGeneric;II)V 5@ A>hashData 3 31 E FGbyteCopy ([BI[BII)V 5I J=IPprtL -M=(IILjava/lang/String;IIILjava/lang/String;)Ljava/lang/String; /O PQputBytes$(Lorg/freertr/pack/packHolder;II[B)V 5S } U VWgetTCPpassword6(Lorg/freertr/pack/packHolder;ILjava/lang/String;[B)[B 5Y Z[putCopy([BIII)V 5] ^(ZZ)V 5` aclear c desetAddr(Lorg/freertr/addr/addrType;)V 5g hVIPdf 5j k=IPfrg 5m n=IPalrt 5p q=IPttl 5s t=IPtos 5v w=IPid y z{createTCPheader5(Lorg/freertr/pack/packHolder;ILjava/lang/String;[B)V } ~ protoPackT(Lorg/freertr/ip/ipFwdIface;Lorg/freertr/addr/addrIP;Lorg/freertr/pack/packHolder;)V  org/freertr/prt/prtGenConnprotoDatLjava/lang/Object;org/freertr/prt/prtTcpConn  lck  =netOut   pipeNetworkLorg/freertr/pipe/pipeSide;  org/freertr/pipe/pipeSidenonDestructiveGet([BII)I  =portLoc  =portRem  =seqLoc  =seqRem  L freeAtServer  = tcpWinScale  =tmstmpTx  =tmstmpRx  getTime()J  ifaceLorg/freertr/ip/ipFwdIface;  org/freertr/ip/ipFwdIfaceaddr  peerAddr  =sendTTL  =sendTOS  VecnTx  VecnRx  VecnRe  =sendDFN  =sendFLW  =keyId  passwdLjava/lang/String;  ctrfKtx  = tcpRangeMin  = tcpRangeMax  random(II)Istart  =sendPRT   =netMax  = tcpTimeSyn  =timeout  = tcpTimeWork  = workInterval  = tcpTimeNow   activWaitJ   V activFrcd   LrandomD  V tcpTimStmp  staTim  =state  = tcpTimeOpen   getTCPkdfRngM(Lorg/freertr/addr/addrIP;Lorg/freertr/addr/addrIP;IIILjava/lang/String;II)[B  ctrfKrx ! "ctrfKfx $ %9 regulateMss ' (=segSiz * +VtcpEcn - ./ sendResetBack;(Lorg/freertr/pack/packHolder;Lorg/freertr/ip/ipFwdIface;)V1refuse3close 5 6 pipeClient 8 9setClose ; <Lready2rx > ?= tcpTimeClose A BLready2tx 5D EFpipeSend!(Lorg/freertr/pipe/pipeSide;III)I@Iresumed K LsetReady  5Q R[getCopy T UVbyteComp ([BI[BII)I   [ \= tcpTimeLater`accepted b cd spoofCheck(I)Zi got reset k l setClosing n odeleteImmediately r s9 nonBlockSkipwopenedygot future sequence number{got data with fin  VseenFingot old data again  H send2serverupper don't need dataclosing  = tcpTimeFin   sendMyPacket!(Lorg/freertr/prt/prtGenConn;II)I   error2server\(Lorg/freertr/pack/packHolder;Lorg/freertr/addr/addrIP;Lorg/freertr/util/counter$reasons;I)V  LisClosed  = tcpTimeAlive   flush2net(Lorg/freertr/prt/prtGenConn;)Z   activLast  = tcpTimeMax  V tcpKeepalive  cntrLorg/freertr/util/counter;  org/freertr/util/counterrx  HparseTCPheader   org/freertr/util/counter$reasonsbadHdr"Lorg/freertr/util/counter$reasons;  dropB(Lorg/freertr/pack/packHolder;Lorg/freertr/util/counter$reasons;)V -  connectionSimpleWork;(Lorg/freertr/ip/ipFwdIface;Lorg/freertr/pack/packHolder;)V   reason2string6(Lorg/freertr/util/counter$reasons;)Ljava/lang/String; -:(Ljava/lang/String;IILjava/lang/String;)Ljava/lang/String;  connectionSimpleErrorv(Lorg/freertr/util/counter$reasons;Lorg/freertr/addr/addrIP;Lorg/freertr/ip/ipFwdIface;Lorg/freertr/pack/packHolder;)V  connectionSimpleState=(Lorg/freertr/ip/ipFwdIface;Lorg/freertr/util/state$states;)Vsize ConstantValueprotoNumflagFINflagSYNflagRSTflagPSHflagACKflagURG flagECE@flagCWRflagNS flagSynAck flagFinAck flagRstAck flagPshAck flagSynFinRstflagSynFinRstAck flagSynFin flagSynRst flagFinRst winSizMin winSizMax maxSegMax pshNetOut@(Lorg/freertr/ip/ipFwd;)VCodeLineNumberTable StackMapTableupdateTCPheader%(Lorg/freertr/pack/packHolder;IIIII)Vcjava/lang/Objectjava/lang/ThrowabletoString()Ljava/lang/String; getProtoNumtestPortNumbergetRandomPortNumconnectionStart=(Lorg/freertr/prt/prtGenConn;Lorg/freertr/pack/packHolder;Z)ZconnectionRefuseconnectionClose(Lorg/freertr/prt/prtGenConn;)VconnectionBytes(Lorg/freertr/prt/prtGenConn;)IconnectionSend<(Lorg/freertr/prt/prtGenConn;Lorg/freertr/pack/packHolder;)ZconnectionRcvd<(Lorg/freertr/prt/prtGenConn;Lorg/freertr/pack/packHolder;)VconnectionErrorx(Lorg/freertr/prt/prtGenConn;Lorg/freertr/pack/packHolder;Lorg/freertr/addr/addrIP;Lorg/freertr/util/counter$reasons;I)VconnectionWorkrecvPack alertPack;(Lorg/freertr/ip/ipFwdIface;Lorg/freertr/pack/packHolder;)Z errorPacksetState SourceFile prtTcp.javaBootstrapMethods-        /option 1got too small from 3got truncated from 5got bad checksum from 7rx  ->   seq= data= ack=9$tx  ->   seq= data= ack= pwd=;tcp on =got missing authentication ?"got invalid authentication state A!got invalid authentication size C!got invalid authentication hash Egot unwanted authentication Ggot both syn fin Igot unwanted synack K"bad acknowkedge number in synack Mgot far sequence number Ogot far acknowledge number Qgot rst with other controls Sgot future acknowledge number Unet buffer underflow Wgot data with control flags Ygot data while not open [got unwanted syn ]got fin while not open _got invalid flags ainvalid state c rec  ->  e   ->  g hij -k$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; InnerClassesreasonsoorg/freertr/util/state$statesqorg/freertr/util/statestatest%java/lang/invoke/MethodHandles$Lookupvjava/lang/invoke/MethodHandlesLookup!=======================u=#6**+ +* W !*  Yu M! #@%')+*;L OP ^/Y1L*+*4=-+:+>*A +*E+2 $@EJORZ\ /! C*I*MM,Q,:WZ,:BDGVg*,`dh*,`3~kr*,`nq*,`ntW**Id,>`wEBR &lnq}  /E l*ML+b+:S"0*A*z*~*h+`d+`*h+*+*B ,128=@O[`chk  /  %9J;;   c7****** **~ |*Y~    *6 Hz*****I*,**I<**I**********A*d<Q(*****Id*źZ*I=*d>*dr )8:!@"I#X$g%i(r)|*,-./010346789 ._   **~6@*h*~**I6*A**~*d6*td~***** ****9*`*I`6*`6**I6*d*`*`~*#GH IJKL M$N*O0P8Q>RGSQUUV[W`YdZj[o]s^z_abcefghijlmno QB z/+M+N-,M+N-, *, * st uvwxy#z)|.}  9:V*+*++M,,+I+`M,+I+`,*, . %6;IPU 6   YY!"%:(+-"/*+:    /  /  /++0:  Z #(.9?EJQX_gnv}  VW[:3Y5:6*7*;**I?,"BC-YY!-%:(/*7***wd;++ /***wd`*wd;**I?0::TT Dj !,5;?ARW_eu{ ; z{}:*HQ'*****I*,KZ*h#M:`*h*`N*qC*z*z*~M:`*q`*t*`N*k-M:`*kT*`N*z*~,KM:,*z*z*~*`N*w*`N*w*`6*******¶R**ŶR* *~ x**ȶ***˶3**I`6*6**I6*d*~**,**t~**,-T:*dX3**I`6*6**I6*d*~*C  -07=JW^djou$(1:CMakr|      $/59  0&F06/1 5./f+~5Y\N-_-h-k-t-q-+-+-+ŵ-+µ----+b-+b-f-i-l-o-r-u+~ -Y`+~ -Y`-x* ,-|z' ( *+,-".'/,041<2D3L4R5Y6^7i8t9y:~;<=>?@BCEFG  5 +:5Y\:Y:_I`:+`d>ìX~hk++`Yd>+ d666|t`q+b+bfil+o+ĵrǙJr rr~rʙY@͙Y+f+ӵu~YdhkY`ç :++ݸx* +|RS:J KLM"N&O1PIQNRSTaUgVlXrYxZ[\]^_`acdeghjklmnpq+r1s7t=uFvOwWx_ye{u|}} nS5  N 1T#M55 5,5 % * LdC  L" o Q Z+Y:+++   `,I+++++++d++++++,++++++d,¸++++++,d ,q ,h#&&),@~,`,~*,+,$ #)07@FNT^fjnt{}4;AMWqw + Q2k5 @Q 0Z*,+,   Y+MQ 2Z+47W+7W+:,,,+=,,2 $8=DKSX /E+4@== D,I>,+4C  @ cd8G  @  < +N-Y:-,~ñQ HZ-,ŵ-,µ-++++++---++++++---,h#&--&----+JW++.,w$-6,~-+Mñ-[-++++++,-d-++++++-d,¸ ,,tA,,,,t~,,++-T:+Nñ,,wtd4`+Oñ:,,wtPS+Wñ,w+Xñ,-d6-,d6,I6d6,~6 - -,q-ǙG-Y,~~-Y,r~-,@~ ~+Yñ --Z+]ñ-Z+^ñ-,`Q _Z,t--),@~-,h#&--- ---+JW+ña+eñ ~a+fñ ~9 ~+gñQ hZ-+jW+mWñ ~+:+ ~ -Y`+p-Z6d+q6  +tñ-Y `-Y d---Y-&`-u -u-5Q vZ----+JW+Q xZ-Zñ, ~Q zZ6  ~+| ~-Z-+jW+mWñ+}-,-Y`-~ñ+jW+mWñññQ Zñ,A+,Q Zñ-Y`-ñ '-+ñ-- ñ ~-~-BQ Z+jW-----Y`+ñ-)--Y`*+W+jW+mWñ-ñ+ñ+ç :  %&qrHI34bcpqtuCDqr}~2"#$%"&&(,)2+:,B-l./012345689:;<?@2A^CgDoExFGHIJLMNPQRSTVXYZ]#^._4`;aDbKcSeZfsghjklnopqrtuvwyz {}~5@FNU]bgnrz  #(39EIT_fkx&+04@HMX_chmqu{     "*/9@DLQ[dinrz ~"#%&' I?& ._G "4: 5  5  5  5  5 R 5 & T 5 ? $%!% %#   2- 5 !"3,,A+,-345+M+:>,JE+ ,Q Z+,,,,6,6,,Z6,d6,,d66,& ,&66,@6*+6  *+W'89:;&<.=0?6@<BCCKDPEUF\G^IaJhKkMpNxP|QRSTVWXZ[]^`abdefgi  0 !  !  #MP+MB,*+ ,!,!,e,,Yi, ,,!,,)Hfi,Ǚ*+RW*+W)*+W*+W*+W!,ek,c*+W!,eL,D*+W,,&,!+mW++jW+mW'rs tuv"w#z8{9}E~QY^c!).169EJO G#6   $}?*,,*,Q,,,κZ*+,Ʊ"!8> %&'d3Q!+κZ*+,-ѱ )2 )(#*+,ձ )*+f,f.f0f2f4f6f8f:f<f>f@fBfDfFfHfJfLfNfPfRfTfVfXfZf\f^f`fbfdlm@npr@suw