A  java/lang/Object()V   org/freertr/sec/secSshlowerLorg/freertr/pipe/pipeSide;  org/freertr/pipe/pipeSidesetTime(I)V  userPLorg/freertr/pipe/pipeLine;  org/freertr/pipe/pipeLinegetSide()Lorg/freertr/pipe/pipeSide;  userS " # userC % &'clientZ ) *+clntUserLjava/lang/String; - .+clntPass 0 12 clntPubkey[B 4 5 workerStart 7 89servAuthLorg/freertr/auth/authGeneric; ; <=keyrsaLorg/freertr/cry/cryKeyRSA; ? @AkeydsaLorg/freertr/cry/cryKeyDSA; C DEkeyecdsaLorg/freertr/cry/cryKeyECDSA; G HIkeymldsaLorg/freertr/cry/cryKeyMLDSA; KLM NOorg/freertr/util/logger startThread((Ljava/lang/Runnable;)Ljava/lang/Thread; Q R workerClient T U workerServerWjava/lang/Exception KY Z[ traceback(Ljava/lang/Throwable;)V ] ^_setClose()Z a ^ cde f'org/freertr/util/debugger secSshTrafh main stopped Kj kldebug(Ljava/lang/String;)V nop q+org/freertr/pack/packSshAuthmethodsorg/freertr/pack/packSshunone wxy z{java/lang/Stringequals(Ljava/lang/Object;)Z n} ~+username  org/freertr/auth/authGeneric authUserNone1(Ljava/lang/String;)Lorg/freertr/auth/authResult;  servUserLorg/freertr/auth/authResult;  org/freertr/auth/authResultresultIpassword n +  authUserPassC(Ljava/lang/String;Ljava/lang/String;)Lorg/freertr/auth/authResult; publickeyorg/freertr/pack/packSshInit (Lorg/freertr/pack/packSsh;)V  kexInitFillt(ZLorg/freertr/cry/cryKeyDSA;Lorg/freertr/cry/cryKeyRSA;Lorg/freertr/cry/cryKeyECDSA;Lorg/freertr/cry/cryKeyMLDSA;)V lsetupKeyVerifier n 2pkeySign getKeyVerifier!()Lorg/freertr/cry/cryKeyGeneric; n 2pkeyBlob  org/freertr/cry/cryKeyGeneric sshReader([B)Z  authUserPkeyP(Lorg/freertr/cry/cryKeyGeneric;Ljava/lang/String;)Lorg/freertr/auth/authResult; n authPkeyCreate r packSend   doPackRecv n _ authReqParse getKeyHashAlgo"()Lorg/freertr/cry/cryHashGeneric; getKeyHashAlgn()Ljava/lang/String; n getAuthen2signed()[B (Lorg/freertr/cry/cryKeyGeneric;Lorg/freertr/cry/cryHashGeneric;Ljava/lang/String;[BLjava/lang/String;[B)Lorg/freertr/auth/authResult;  _setReady r  copyBytes()Lorg/freertr/pack/packSsh;  pckRxLorg/freertr/pack/packSsh;  pckTxorg/freertr/sec/secSshRx (Lorg/freertr/sec/secSsh;)Vorg/freertr/sec/secSshTx  org/freertr/util/bitssleep  isClosed()I r packRecv r pckTyporg/freertr/pack/packSshChan _chanWindowParse  _extensInfoParse  _ chanDataParse  2buf    morePut([BII)I   chanBytes  _ chanOpenParse  chanRem  openFailCreate  _ chanReqParse  processChanReq;(Lorg/freertr/pack/packSsh;Lorg/freertr/pack/packSshChan;)Z  !' needReply  $ %chanFailCreate ' (chanSuccCreate r* + pipe - .getTime 0 1window 3 4chanWindowCreate 6 7  blockingGet 9 :  nonBlockGet < =chanDataCreate ? @+typeBxon-xoffDsignalF window-change rH IJpckDatLorg/freertr/pack/packHolder; LMN OPorg/freertr/pack/packHoldermsbGetD(I)I RST UVorg/freertr/pipe/pipeTerm setTermWdt(Lorg/freertr/pipe/pipeSide;I)V RX YV setTermLen[starting r ^ _exchangeVersionaorg/freertr/pack/packSshKex ` d e+ remoteVersion `g hlhashStr j kgetLocalVersion `m nhashSwap p qr kexInitCreate(Z)V `t uhashPck `w x hashMerge z {| kexInitParse(Z)Z ~  kexInitChoose?(Lorg/freertr/pack/packSshInit;Lorg/freertr/pack/packSshInit;)Z   getDHgroup ` keygenLorg/freertr/cry/cryKeyGeneric;   getDHhash ` hasher Lorg/freertr/cry/cryHashGeneric;   sshWriter ` 2cert ` hashInt ` hashBuf([B)V   keyMakeVal ` hashPay ` _ gexReqParse `  gexGroupFill ` gexGroupCreate `  hashParams ` _ gexInitParse   keyServInit   keyServCalc `  hashCalcDHG `  gexReplyFillT(Lorg/freertr/cry/cryHashGeneric;Ljava/lang/String;Lorg/freertr/cry/cryKeyGeneric;)V ` gexReplyCreate ` {_ ` kexReplyCreate  _newKeysExchange ` encSetup"(Lorg/freertr/pack/packSshInit;Z)V  'kexExts  extensInfoCreate n :(Lorg/freertr/pack/packSsh;Lorg/freertr/pack/packSshKex;)V n _ servReqParse n +service ssh-userauth n lservActpCreate   serverAuther;(Lorg/freertr/pack/packSsh;Lorg/freertr/pack/packSshAuth;)I  random(II)I n authFailCreateorg/freertr/pipe/pipeSetting   settingsPut(ILjava/lang/Object;)V n authSuccCreate  openDoneCreate  chanLoc shellexec subsystempty-req r  stringReadenv    workerThreads `  gexReqFill `  gexReqCreate ` _ gexGroupParse `  gexInitFill `  gexInitCreate ` _ gexReplyParse    keyClntCalc `" q `$ %_ kexReplyParse '() *+org/freertr/enc/encBase64 encodeBytes([B)Ljava/lang/String;- ./makeConcatWithConstants&(Ljava/lang/String;)Ljava/lang/String; 1 23byteComp ([BI[BII)I `5 62hashVal `8 92sign ; <= sshVerify9(Lorg/freertr/cry/cryHashGeneric;Ljava/lang/String;[B[B)Z n? @l servReqCreate nB C_ servAcptParseEssh-connection nG Hl authReqCreate nJ K_ authSuccParse M NchanOpenCreate P Q_ openDoneParse S TchanReqCreatePty V W_ chanSuccParse Y ZchanReqCreateShll\java/lang/RunnableportNum ConstantValue9(Lorg/freertr/pipe/pipeSide;Lorg/freertr/pipe/pipeLine;)VCodeLineNumberTablegetPipe startClient)([BLjava/lang/String;Ljava/lang/String;)V startServer(Lorg/freertr/auth/authGeneric;Lorg/freertr/cry/cryKeyRSA;Lorg/freertr/cry/cryKeyDSA;Lorg/freertr/cry/cryKeyECDSA;Lorg/freertr/cry/cryKeyMLDSA;)Vrun StackMapTablekorg/freertr/cry/cryHashGeneric workerStopworkerRxworkerTx2 SourceFile secSsh.javaBootstrapMethodstpubkey v wxy .z$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![ # &' 89<=@ADEHI12*+.+]^_`ar:**+* *,*,*,!*! * b&  '09ca*!bdeaE*$*,(*-,*+/*3b fgaY%*$*+6*,:*->*B*F*3b"  $5a"*JWb ha5*$ *P*SL+X*\W*`bgiVb. ")/4i BVar[,mtv***6,|**,mv.**6,|,**,mvYN--,,[-:,**6,|**,+*+,™-:-:-:,**6,,|,ѵ**b4 "$/13?RY[fhjvx     $ &CJLWYi-$ '  -    j w %  ax;*W*+׵*+׵߻Y*WY*W*b"!* 0!:"i*la0*`*\Wb+,-at++khhhU5hPh]DY+M,Y+N-b* 12L4U5\6]:f;m<pDsFi Kma/_Y*۷L*۶*۴D AAAPAZ}]9^R_Rb+*++W*Y +` x++=Y*߷L++*߶Y*۷L@+**+;+"Y*߷L+*"+#*߶Y*۷L+Y*߷L+*"+&*߶Y*۷L+b(O QRlUsVtXYZ\]_`abcdeghjklnopq rsu"v%x1y9z={D|P}SZ[^i _"/- -naY»Y*߷L*ߴ)*,* ++*"+* /+2*߶*Y +/d M*,5>*,,d866+`+}>++,3T+*"+;*߶Mbf '/7;BOU`dety|i BoaM,>Av,>Cv,>Ev#*+GKQ*+GKWb&  +:IKi,Uaeb ZirY\L+*)Y+M,]`Y+bN-,cf-if-l,*>*:*B*F,o-s+*+-l-s-v,y,,}-,-,,:------d*+-----+-*+-----,,-+8*+-----,,-+,ƙ-,,͙ ,+nY+-:*+֙ܶvܶ+6*+™7*+6+ `+**+*+Y+:*"*+*+*"*+&+>v&+>v&+>v&+~>v:+W*+GKQ*+GKW/&+#>v &+#+*+ b %)2:AEZ_cglptx  ',34;BFTX\cdjq u y   "#%'(* +,-.%/-0.273<4E5I7N8V9W;`<j=r>w?~CDEFJKLMQRSTXYZ[\]"^)b7c?dDeKiSjXk_ndoiG tr` K * 'n, &!!!D!Raatb ZirY\L+*)`Y+bMY+N-],if,-cf--o,s+*+,s,l-y--},-,-,d, ,,+*+,,,,+*+,,,l,,,,,v,@,,!+*+,#,,l,,,,,v,*/<b,&,i*/,*/,*/0-:,--,4,7:-ƙ,-ɻnY+,:ܶ>+*+A*(|*,DF+*+IY+:L*+*+O*"*"R+*+U*"X+*+U*+ birs uvw%x.y2z9{A|J}O~SW\`dlmvw   (,07=LYZopv $%.7<@EMNW\`emnsi/ `r` 7&# *n+)(pqrus{ |~